/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  background:
    radial-gradient(ellipse 120% 80% at 100% -20%,rgba(45,106,79,.08) 0%,transparent 55%),
    radial-gradient(ellipse 80% 50% at -10% 60%,rgba(160,103,44,.07) 0%,transparent 45%),
    #FAF7F2;
  color:#1C1208;font-family:'Inter',sans-serif;font-weight:400;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{cursor:pointer;border:none;outline:none;font-family:inherit}
::selection{background:#2D6A4F;color:#fff}

/* ── TOKENS ── */
:root{
  --white:#FFFFFF;--bg:#FAF7F2;--bg-alt:#F2EBE0;--bg-card:#FFFFFF;
  --primary:#2D6A4F;--primary-hover:#1B4332;--primary-dark:#14261A;--primary-light:#52B788;
  --accent:#A0672C;--accent-light:#C4956A;--accent-dark:#7B4F20;
  --text:#1C1208;--text-mid:#4A3120;--text-muted:#8B6E55;
  --border:#A8CDB8;--border-light:#CBE8D8;
  --shadow-sm:0 1px 4px rgba(45,106,79,.08),0 1px 2px rgba(28,18,8,.05);
  --shadow-md:0 6px 24px rgba(45,106,79,.12),0 2px 8px rgba(28,18,8,.06);
  --shadow-lg:0 24px 64px rgba(45,106,79,.16),0 6px 20px rgba(28,18,8,.08);
  --radius:12px;--radius-lg:20px;
  --ease:cubic-bezier(0.16,1,0.3,1);
}

/* ── UTILITY ── */
.container{max-width:1180px;margin:0 auto;padding:0 2rem}
.label{font-family:'Space Grotesk',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.label-green{color:var(--primary)}
.label-accent{color:var(--accent)}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.16s}
.reveal-d3{transition-delay:.24s}.reveal-d4{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal.in{opacity:1;transform:none;transition:none}
  .hero-badge,.hero-h1,.hero-sub,.hero-actions,.hero-note{animation:none}
  .hero-video-wrap .hero-card{animation:none}
  .vs-bg-row{animation:none!important;transform:none!important}
}

/* ══════════════════════════════
   NAV
══════════════════════════════ */
#nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:1.25rem 0;transition:background .3s,box-shadow .3s,padding .3s}
#nav.scrolled{background:rgba(250,247,242,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 var(--border-light),0 4px 16px rgba(28,18,8,.06);padding:.9rem 0}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.nav-logo{font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:700;color:var(--primary);letter-spacing:-.01em;display:flex;align-items:center;gap:.5rem}
.nav-logo-text{color:var(--primary)}.nav-logo-text span{color:var(--accent)}
.nav-logo-mark{width:32px;height:32px;border-radius:8px;display:block;flex-shrink:0}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none}
.nav-links a{font-family:'Space Grotesk',sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.04em;color:var(--text-mid);transition:color .2s}
.nav-links a:hover{color:var(--primary)}
.nav-right{display:flex;align-items:center;gap:1rem}
.btn-nav-cta{font-family:'Space Grotesk',sans-serif;font-size:.8rem;font-weight:600;background:var(--primary);color:#fff;padding:.6rem 1.4rem;border-radius:6px;box-shadow:0 2px 8px rgba(45,106,79,.25);transition:background .2s,transform .2s,box-shadow .2s}
.btn-nav-cta:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 14px rgba(45,106,79,.3)}

/* ══════════════════════════════
   HERO
══════════════════════════════ */
#hero{
  min-height:0;
  display:flex;align-items:stretch;justify-content:center;
  padding:0;
  padding-top:max(6.5rem, calc(4.5rem + env(safe-area-inset-top,0px)));
  padding-bottom:6rem;
  background:var(--bg);
  position:relative;overflow:hidden;
}
#hero > .container{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(1.5rem,3vw,2.35rem);
  align-items:center;
  width:100%;min-height:0;
}
#hero::before{
  content:'';position:absolute;
  top:-10%;left:-5%;width:60%;height:80%;
  background:radial-gradient(ellipse at 30% 40%,rgba(45,106,79,.07) 0%,transparent 70%);
  pointer-events:none;
}
.hero-left{
  padding:0;position:relative;z-index:2;
  width:100%;min-width:0;
  display:flex;flex-direction:column;justify-content:center;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:.6rem;
  background:#fff;border:1.5px solid var(--border);
  border-radius:100px;padding:.4rem 1rem .4rem .5rem;
  margin-bottom:1.35rem;
  box-shadow:var(--shadow-sm);
  animation:fadeUp .6s var(--ease) .1s both;
  width:fit-content;
}
.hero-badge-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--accent);flex-shrink:0;
}
.hero-badge span{font-family:'Space Grotesk',sans-serif;font-size:.72rem;font-weight:500;color:var(--text-mid)}
.hero-h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(3rem,5.5vw,5.5rem);
  font-weight:700;line-height:1.04;
  letter-spacing:-.02em;
  color:var(--text);
  margin-bottom:1.2rem;
  animation:fadeUp .8s var(--ease) .25s both;
}
.hero-h1 em{font-style:italic;color:var(--primary)}
.hero-h1 .underline-accent{position:relative;display:inline-block;color:var(--accent)}
.hero-sub{
  font-size:1.05rem;color:var(--text-muted);
  max-width:460px;line-height:1.72;
  margin-bottom:1.65rem;
  animation:fadeUp .8s var(--ease) .4s both;
}
.hero-actions{
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  animation:fadeUp .8s var(--ease) .55s both;
}
.btn-primary{
  font-family:'Space Grotesk',sans-serif;font-size:.9rem;font-weight:600;
  background:linear-gradient(135deg,#1B4332 0%,#2D6A4F 40%,#40916C 80%,#52B788 100%);color:#fff;
  padding:.9rem 2.2rem;border-radius:8px;
  box-shadow:0 4px 20px rgba(45,106,79,.35);
  display:inline-flex;align-items:center;gap:.6rem;
  transition:filter .2s,transform .25s var(--ease),box-shadow .25s;
  border:none;cursor:pointer;
}
.btn-primary:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 8px 28px rgba(45,106,79,.42)}
.btn-primary svg{width:16px;height:16px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2}
.btn-secondary{
  font-family:'Space Grotesk',sans-serif;font-size:.9rem;font-weight:500;
  color:var(--text-mid);display:inline-flex;align-items:center;gap:.6rem;
  transition:color .2s;background:none;border:none;cursor:pointer;
}
.btn-secondary:hover{color:var(--primary)}
.play-circle{
  width:40px;height:40px;border-radius:50%;
  background:#fff;border:1.5px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .2s,transform .2s;
  flex-shrink:0;
}
.btn-secondary:hover .play-circle{box-shadow:var(--shadow-md);transform:scale(1.06)}
.hero-note{
  margin-top:1.65rem;max-width:28rem;
  font-size:.9rem;line-height:1.55;color:var(--text-mid);font-weight:500;
  animation:fadeUp .8s var(--ease) .7s both;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* Hero right — video */
.hero-right{
  position:relative;width:100%;min-width:0;
  display:flex;align-items:center;justify-content:center;
  overflow:visible;
}
.hero-video-wrap{
  position:relative;
  width:100%;max-width:100%;
  min-height:min(650px,58vh);
  max-height:min(700px,68vh);
  height:min(min(650px,58vh),min(700px,68vh));
  margin:0;overflow:hidden;
  container-name:hero-vid;container-type:size;
  border-radius:calc(var(--radius-lg) + 6px);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:
    0 2px 0 rgba(255,255,255,.55) inset,
    0 24px 60px rgba(45,106,79,.18),
    0 10px 36px rgba(0,0,0,.12);
}
.hero-video-wrap::after{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(to right,rgba(245,240,232,.14) 0%,transparent 38%),
             linear-gradient(to top,rgba(45,106,79,.12) 0%,transparent 48%);
  pointer-events:none;
}
#hero-video{
  position:absolute;left:50%;top:50%;z-index:0;
  transform:translate(-50%,-50%) scale(1.04);
  border:0;pointer-events:none;max-width:none;
  width:100%;height:100%;object-fit:cover;
}
.hero-video-wrap .hero-card{
  position:absolute;z-index:2;pointer-events:none;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1.5px solid rgba(255,255,255,.9);border-radius:var(--radius);
  box-shadow:0 8px 28px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);
  padding:.85rem 1.1rem;
  animation:float 6s ease-in-out infinite;
}
.hero-card-1{bottom:10%;left:5%;animation-delay:0s;min-width:min(180px,42%)}
.hero-card-2{top:14%;right:6%;animation-delay:2.5s;min-width:min(160px,38%)}
@keyframes float{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-10px) rotate(.5deg)}}
.hc-label{font-family:'Space Grotesk',sans-serif;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:.4rem}
.hc-val{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:700;color:var(--primary);line-height:1}
.hc-sub{font-size:.72rem;color:var(--text-muted);margin-top:.25rem}
.hc-row{display:flex;align-items:center;gap:.5rem}
.hc-dot{width:8px;height:8px;border-radius:50%;background:#40916C;flex-shrink:0;box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.hc-dot-val{font-family:'Space Grotesk',sans-serif;font-size:.78rem;font-weight:600;color:#2D6A4F}

/* ══════════════════════════════
   3D IMAGE SHOWCASE
══════════════════════════════ */
.video-showcase{
  position:relative;height:62vh;min-height:480px;max-height:680px;
  overflow:hidden;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#2D6A4F 0%,#1B4332 50%,#2D6A4F 100%);
}
.vs-bg-collage{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.vs-bg-collage-inner{position:absolute;inset:-12% -8%;opacity:.35;display:flex;flex-direction:column;gap:clamp(10px,1.8vw,18px);filter:saturate(.75) contrast(.90) brightness(.95)}
.vs-bg-row{display:flex;width:max-content;gap:clamp(10px,1.8vw,18px);will-change:transform}
.vs-bg-row--a{animation:vsCollageL 85s linear infinite}
.vs-bg-row--b{animation:vsCollageR 100s linear infinite;margin-left:-15%}
.vs-bg-row--c{animation:vsCollageL 120s linear infinite;opacity:.88}
.vs-bg-half{display:flex;gap:clamp(10px,1.8vw,18px);flex-shrink:0}
.vs-bg-tile{flex:0 0 auto;width:clamp(200px,22vw,340px);height:clamp(130px,16vw,220px);border-radius:18px;overflow:hidden;box-shadow:0 12px 36px rgba(0,0,0,.12),0 4px 12px rgba(0,0,0,.06);border:1px solid rgba(255,255,255,.35)}
.vs-bg-tile img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes vsCollageL{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes vsCollageR{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}
.hc-wrap{position:absolute;z-index:1;pointer-events:none;user-select:none}
.hc-float{border-radius:20px;overflow:hidden;animation:hcFloat var(--dur,6s) ease-in-out infinite;animation-delay:var(--delay,0s);animation-fill-mode:both}
.hc-float img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(0.84) brightness(1.03)}
.hc-depth-far .hc-float{box-shadow:0 6px 20px rgba(0,0,0,.09),0 2px 6px rgba(0,0,0,.05)}
.hc-depth-mid .hc-float{box-shadow:0 14px 40px rgba(0,0,0,.13),0 4px 12px rgba(0,0,0,.07)}
.hc-depth-close .hc-float{box-shadow:0 30px 68px rgba(0,0,0,.18),0 8px 24px rgba(0,0,0,.09)}
@keyframes hcFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(var(--lift,-12px))}}
.vs-overlay{
  position:absolute;inset:0;z-index:2;
  background:radial-gradient(ellipse 70% 60% at 50% 48%,transparent 0%,rgba(27,67,50,.25) 60%,rgba(27,67,50,.55) 100%),linear-gradient(to bottom,rgba(27,67,50,.82) 0%,rgba(27,67,50,.18) 28%,transparent 48%,transparent 52%,rgba(27,67,50,.18) 72%,rgba(27,67,50,.82) 100%);
  pointer-events:none;
}
.vs-content{
  position:relative;z-index:3;text-align:center;padding:2.65rem 2.6rem;max-width:680px;width:88%;
  background:rgba(250,247,242,.88);backdrop-filter:blur(28px) saturate(1.4);-webkit-backdrop-filter:blur(28px) saturate(1.4);
  border:1px solid rgba(255,255,255,.75);border-radius:22px;
  box-shadow:0 2px 0 rgba(255,255,255,.80) inset,0 20px 64px rgba(28,18,8,.30),0 4px 16px rgba(0,0,0,.12);
}
.vs-content::before{content:'';position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:48px;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:0 0 3px 3px}
.vs-label{display:inline-flex;align-items:center;gap:.6rem;background:rgba(45,106,79,.1);border:1px solid rgba(45,106,79,.2);border-radius:100px;padding:.45rem 1.2rem;margin-bottom:1.35rem;font-family:'Space Grotesk',sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--primary)}
.vs-label .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;box-shadow:0 0 0 3px rgba(150,98,46,.22)}
.vs-title{font-family:'Playfair Display',serif;font-size:clamp(2.35rem,5.2vw,4.35rem);font-weight:700;line-height:1.05;letter-spacing:-.03em;color:#0A0A08;margin-bottom:1.15rem}
.vs-title em{font-style:italic;color:var(--primary);letter-spacing:-.02em}
.vs-sub{font-size:1.05rem;color:#353530;line-height:1.75;max-width:540px;margin:0 auto 2rem}
.vs-cta{display:inline-flex;align-items:center;gap:.6rem;font-family:'Space Grotesk',sans-serif;font-size:.875rem;font-weight:600;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 60%,#1B4332 100%);color:#fff;padding:.85rem 2rem;border-radius:8px;box-shadow:0 4px 20px rgba(45,106,79,.32);transition:filter .2s,transform .25s var(--ease),box-shadow .25s;cursor:pointer;border:none}
.vs-cta:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 8px 28px rgba(45,106,79,.40)}
.vs-cta svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2}
.vs-stats{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:0 .5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(45,106,79,.12)}
.vs-stat{display:flex;flex-direction:column;align-items:center;flex:1 1 0;min-width:0;padding:0 .35rem;border-right:1px solid rgba(45,106,79,.14)}
.vs-stat:last-child{border-right:none}
.vs-stat-n{font-family:'Space Grotesk',sans-serif;font-size:clamp(.92rem,2vw,1.05rem);font-weight:700;color:var(--primary);line-height:1.1;text-align:center}
.vs-stat-l{font-size:.68rem;color:#5C615A;margin-top:.35rem;line-height:1.4;text-align:center}

/* ══════════════════════════════
   SERVICES BENTO
══════════════════════════════ */
.services-section{background:linear-gradient(180deg,#FAF7F2 0%,#F5EEE4 100%);padding:4rem 0}
.section-heading{margin-bottom:2rem}
.section-heading .label{display:inline-block;margin-bottom:.5rem}
.section-heading h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.75vw,3.5rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--text);margin-top:.4rem}
.section-heading h2 em{font-style:italic;color:var(--primary)}
.section-heading p{font-size:1rem;color:var(--text-muted);max-width:520px;line-height:1.8;margin-top:1rem}
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.bento-card{background:#fff;border:1.5px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem;position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%;transition:box-shadow .3s var(--ease),transform .3s var(--ease),border-color .3s}
.bento-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--border)}
.bento-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#1B4332,#2D6A4F,#52B788,#96622E);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.bento-card:hover::before{transform:scaleX(1)}
.bc-icon{width:44px;height:44px;background:linear-gradient(135deg,#EDE4D5,#C8E6D9);border:1.5px solid #9DC8B4;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;color:var(--primary);transition:background .3s}
.bento-card:hover .bc-icon{background:linear-gradient(135deg,#2D6A4F,#1B4332);color:#fff;border-color:#1B4332}
.bc-icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.75}
.bc-num{font-family:'Space Grotesk',sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.15em;color:var(--text-muted);text-transform:uppercase;margin-bottom:.75rem}
.bc-title{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:600;color:var(--text);margin-bottom:.65rem;line-height:1.25}
.bc-desc{font-size:.875rem;color:var(--text-muted);line-height:1.65;flex:1}
.bc-tag{display:inline-block;margin-top:1rem;font-family:'Space Grotesk',sans-serif;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;background:#EDE4D5;color:var(--primary);border:1px solid #9DC8B4;padding:.3rem .75rem;border-radius:100px}

/* ══════════════════════════════
   PLATFORM STRIP
══════════════════════════════ */
.platform-strip{background:#fff;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);padding:1.5rem 0 1.35rem}
.platform-strip-head{text-align:center;margin-bottom:1.1rem}
.platform-marquee-outer{overflow:hidden;width:100%;display:flex;justify-content:center;padding:.25rem 0}
.platform-marquee-track{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:4.5rem;width:max-content;max-width:100%;margin:0 auto;padding:0 .5rem;animation:platformSway 5.5s ease-in-out infinite alternate}
.platform-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .22s var(--ease),filter .22s;filter:drop-shadow(0 2px 4px rgba(0,0,0,.07))}
.platform-icon:hover{transform:scale(1.08);filter:drop-shadow(0 4px 8px rgba(0,0,0,.12))}
.platform-icon svg{width:34px;height:34px;display:block}
@keyframes platformSway{0%{transform:translateX(-20px)}100%{transform:translateX(20px)}}
@media(prefers-reduced-motion:reduce){.platform-marquee-track{animation:none;flex-wrap:wrap;justify-content:center;gap:3rem}}

/* ══════════════════════════════
   HOW IT WORKS
══════════════════════════════ */
.process-section{background:linear-gradient(180deg,#FFFFFF 0%,#FDFAF6 100%);padding:5rem 0}
.process-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);gap:2rem 3rem;align-items:stretch}
.process-section .section-heading{margin-bottom:0}
.process-steps{display:flex;flex-direction:column;gap:0}
.process-step{display:flex;gap:1.5rem;padding:1.25rem 0;border-bottom:1px solid var(--border-light)}
.process-step:last-child{border-bottom:none;padding-bottom:0}
.ps-num{font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:700;color:var(--border);line-height:1;flex-shrink:0;width:3rem;transition:color .3s}
.process-step:hover .ps-num{color:var(--primary)}
.ps-title{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:600;color:var(--text);margin-bottom:.5rem}
.ps-desc{font-size:.875rem;color:var(--text-muted);line-height:1.75}
.process-visual{background:var(--bg-alt);border-radius:var(--radius-lg);border:1.5px solid var(--border-light);overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:var(--shadow-md)}
.pv-inner{padding:2rem 1.75rem;width:100%;display:flex;justify-content:center;align-items:center;height:100%}
.pv-mock{position:relative;width:100%;max-width:360px;margin:0 auto}
.pv-phone{background:#fff;border-radius:calc(var(--radius) + 2px);border:1.5px solid var(--border);box-shadow:var(--shadow-md);padding:1.25rem;width:100%}
.pv-phone-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;font-family:'Space Grotesk',sans-serif;font-size:.82rem;font-weight:600;color:var(--text-muted)}
.pv-phone-avatar{width:34px;height:34px;border-radius:50%;background:var(--primary);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;color:#fff;font-family:'Space Grotesk',sans-serif}
.pv-post{border-radius:10px;height:210px;margin-bottom:.85rem;overflow:hidden;position:relative;border:1px solid rgba(45,106,79,.08)}
.pv-post img{width:100%;height:100%;object-fit:cover;display:block}
.pv-post-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(28,18,8,.92),rgba(45,106,79,.35) 60%,transparent);padding:.85rem .8rem .55rem}
.pv-post-title{font-family:'Playfair Display',serif;font-size:.9rem;font-weight:600;color:#fff;line-height:1.3}
.pv-stats{display:flex;justify-content:space-between;margin-top:.85rem;gap:.5rem}
.pv-stat{text-align:center;flex:1;min-width:0}
.pv-stat-n{font-family:'Space Grotesk',sans-serif;font-size:.95rem;font-weight:700;color:var(--primary)}
.pv-stat-l{font-size:.65rem;color:var(--text-muted);line-height:1.3}
.metric-pill{background:#fff;border:1.5px solid var(--border);border-radius:100px;padding:.38rem .85rem;font-family:'Space Grotesk',sans-serif;font-size:.72rem;font-weight:600;color:var(--text);box-shadow:var(--shadow-sm);white-space:nowrap;display:inline-flex;align-items:center;gap:.35rem}
.mp1{display:flex;justify-content:flex-end;margin-bottom:.65rem}
.mp2{display:flex;justify-content:flex-start;margin-top:.65rem}

/* ══════════════════════════════
   TESTIMONIALS
══════════════════════════════ */
/* ══════════════════════════════
   OUR EXPERTISE
══════════════════════════════ */
.expertise-section{background:linear-gradient(160deg,#EEE6D9 0%,#E6DDD0 50%,#EEE6D9 100%);padding:5rem 0;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}
.expertise-sub{font-size:1.05rem;color:var(--text-mid);line-height:1.75;max-width:660px;margin:1rem auto 0;text-align:center}
.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.exp-card{background:#fff;border:1.5px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:box-shadow .35s,transform .35s,border-color .35s;position:relative;overflow:hidden}
.exp-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(45,106,79,.03) 0%,transparent 60%);pointer-events:none;transition:opacity .35s}
.exp-card:hover{box-shadow:0 16px 48px rgba(45,106,79,.13),0 4px 16px rgba(0,0,0,.06);transform:translateY(-6px);border-color:rgba(45,106,79,.22)}
.exp-card:hover::before{opacity:3}
.exp-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#EDE4D5 0%,#C8E6D9 100%);border:1.5px solid #9DC8B4;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;transition:background .3s,transform .3s}
.exp-card:hover .exp-icon{background:linear-gradient(135deg,#2D6A4F 0%,#1B4332 100%);border-color:#1B4332}
.exp-card:hover .exp-icon svg{color:#fff!important}
.exp-card h3{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;font-weight:700;color:var(--text);line-height:1.35;margin:0}
.exp-card p{font-size:.9rem;color:var(--text-mid);line-height:1.65;margin:0;flex:1}
.exp-card-arrow{display:inline-flex;align-items:center;gap:.35rem;font-family:'Space Grotesk',sans-serif;font-size:.78rem;font-weight:600;color:var(--primary);text-decoration:none;margin-top:.5rem;transition:gap .25s}
.exp-card:hover .exp-card-arrow{gap:.6rem}
.exp-card-arrow svg{width:14px;height:14px;stroke:var(--primary);stroke-width:2.2;fill:none}

/* ══════════════════════════════
   PRICING
══════════════════════════════ */
.pricing-section{background:linear-gradient(180deg,#FDFAF6 0%,#FFFFFF 100%);padding:clamp(3.75rem,8vw,5.75rem) 0}
.pricing-section .container{display:flex;flex-direction:column;align-items:center}
.pricing-section-head{text-align:center;max-width:38rem;margin:0 auto 2.75rem;padding:0 1rem;width:100%}
.pricing-section-head.section-heading{margin-bottom:0}
.pricing-section-head .label{margin-bottom:.55rem}
.pricing-section-head h2{margin-top:.35rem}
.pricing-section-head p{margin:1.1rem auto 0;max-width:34rem;line-height:1.75}
.pricing-billing-wrap{display:flex;flex-direction:column;align-items:center;gap:.85rem;margin:.65rem auto 2.5rem;text-align:center;width:100%;max-width:36rem;padding:0 1rem}
.pricing-billing-tabs{display:inline-flex;align-items:center;gap:.2rem;padding:.4rem .45rem;background:var(--bg-alt);border-radius:100px;border:1.5px solid var(--border-light);box-shadow:var(--shadow-sm)}
.pricing-billing-tab{font-family:'Space Grotesk',sans-serif;font-size:.8rem;font-weight:600;padding:.55rem 1.25rem;border-radius:100px;border:none;background:transparent;color:var(--text-mid);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.pricing-billing-tab:hover{color:var(--primary)}
.pricing-billing-tab[aria-selected="true"]{background:#fff;color:var(--primary);box-shadow:0 2px 8px rgba(45,106,79,.12)}
.pricing-billing-pill{display:inline-block;margin-left:.35rem;font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:.15rem .45rem;border-radius:100px;background:rgba(160,103,44,.15);color:var(--accent-dark)}
.pricing-billing-tab[aria-selected="true"] .pricing-billing-pill{background:rgba(45,106,79,.12);color:var(--primary)}
.pricing-billing-note{font-family:'Space Grotesk',sans-serif;font-size:.72rem;color:var(--text-muted);max-width:26rem;line-height:1.5;margin:0;padding:0 .25rem}
.pricing-billing-note strong{color:var(--accent-dark);font-weight:600}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(0,1fr);gap:1.35rem;align-items:stretch;width:100%;max-width:1100px;margin:0 auto;justify-content:center}
.pricing-card{border:1.5px solid var(--border-light);border-radius:var(--radius-lg);padding:0;display:flex;flex-direction:column;height:100%;min-height:100%;transition:box-shadow .3s,transform .3s;background:#fff;overflow:hidden}
.pricing-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.pricing-card.featured{background:linear-gradient(160deg,#2E1B0E 0%,#2D6A4F 60%,#1B4332 100%);border-color:transparent;box-shadow:0 12px 48px rgba(45,106,79,.45),0 4px 16px rgba(45,106,79,.25)}
.pricing-card-content{padding:2.1rem 1.85rem 2.15rem;display:flex;flex-direction:column;flex:1;min-height:0}
.pricing-card.featured .pricing-card-content{padding:1.65rem 1.95rem 2.25rem}
.pc-badge-slot{flex-shrink:0}
.pricing-card:not(.featured) .pc-badge-slot:empty{min-height:3.05rem}
.pricing-card.featured .pc-badge-slot{display:flex;flex-direction:column;min-height:0}
.pc-badge{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;font-family:'Space Grotesk',sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;background:linear-gradient(135deg,#8B5A24 0%,#A0672C 45%,#B07B3E 100%);color:#fff;padding:.7rem 1rem;margin:0;border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0;min-height:3.05rem;border-bottom:1px solid rgba(255,255,255,.12)}
.pc-name{font-family:'Space Grotesk',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.75rem}
.pricing-card.featured .pc-name{color:rgba(255,255,255,.6)}
.pc-price{font-family:'Playfair Display',serif;font-size:3rem;font-weight:700;line-height:1.02;color:var(--text);margin-bottom:.6rem}
.pricing-card.featured .pc-price{color:#fff}
.pc-price sup{font-size:1.2rem;vertical-align:super;font-family:'Space Grotesk',sans-serif;font-weight:600}
.pc-period{font-size:.8rem;color:var(--text-muted);margin-bottom:1.5rem;line-height:1.4}
.pricing-card.featured .pc-period{color:rgba(255,255,255,.5)}
.pc-divider{height:1px;background:var(--border-light);margin:0 0 1.65rem}
.pricing-card.featured .pc-divider{background:rgba(255,255,255,.15)}
.pc-features{list-style:none;display:flex;flex-direction:column;gap:1rem;flex:1;margin-bottom:1.75rem;padding:0}
.pc-features li{display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;color:var(--text-mid);line-height:1.55}
.pricing-card.featured .pc-features li{color:rgba(255,255,255,.8)}
.pc-features li::before{content:'';width:16px;height:16px;flex-shrink:0;margin-top:.2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7' fill='%232D6A4F' fill-opacity='.12'/%3E%3Cpath d='M5 8l2 2 4-4' stroke='%232D6A4F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-size:contain}
.pricing-card.featured .pc-features li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7' fill='%23ffffff' fill-opacity='.2'/%3E%3Cpath d='M5 8l2 2 4-4' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E")}
.btn-plan{display:block;text-align:center;font-family:'Space Grotesk',sans-serif;font-size:.85rem;font-weight:600;padding:1rem 1.25rem;border-radius:8px;border:1.5px solid var(--primary);color:var(--primary);background:transparent;cursor:pointer;transition:background .2s,color .2s;margin-top:auto}
.btn-plan:hover{background:var(--primary);color:#fff}
.pricing-card.featured .btn-plan{background:#fff;color:var(--primary);border-color:#fff}
.pricing-card.featured .btn-plan:hover{background:var(--bg-alt);border-color:var(--bg-alt)}

/* ══════════════════════════════
   CHECKOUT MODAL
══════════════════════════════ */
.co-overlay{
  position:fixed;inset:0;z-index:9000;
  display:flex;align-items:center;justify-content:center;
  padding:1rem;
  background:rgba(28,18,8,.55);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  opacity:0;pointer-events:none;
  transition:opacity .35s var(--ease);
}
.co-overlay.open{opacity:1;pointer-events:all}
.co-box{
  width:100%;max-width:540px;max-height:92vh;overflow-y:auto;
  background:#fff;border-radius:24px;
  box-shadow:0 32px 80px rgba(28,18,8,.18),0 8px 24px rgba(45,106,79,.12);
  transform:translateY(24px) scale(.97);
  transition:transform .4s var(--ease);
  position:relative;scrollbar-width:thin;scrollbar-color:var(--border-light) transparent;
}
.co-overlay.open .co-box{transform:none}
.co-box::-webkit-scrollbar{width:4px}
.co-box::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}

/* header */
.co-header{
  padding:1.6rem 1.75rem 1.25rem;
  border-bottom:1px solid var(--border-light);
  display:flex;align-items:flex-start;gap:1rem;
  position:sticky;top:0;background:#fff;z-index:10;
  border-radius:24px 24px 0 0;
}
.co-header-text{flex:1;min-width:0}
.co-header-title{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--text);line-height:1.2}
.co-header-sub{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}
.co-close{
  width:34px;height:34px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:var(--bg-alt);border:none;cursor:pointer;
  transition:background .2s;
}
.co-close:hover{background:var(--border-light)}
.co-close svg{width:14px;height:14px;stroke:var(--text-mid);stroke-width:2;fill:none}

/* plan badge */
.co-plan-badge{
  margin:1.15rem 1.75rem .25rem;
  padding:.65rem 1rem;
  background:linear-gradient(135deg,rgba(45,106,79,.07) 0%,rgba(160,103,44,.07) 100%);
  border:1.5px solid var(--border-light);
  border-radius:12px;
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
}
.co-plan-name{font-family:'Space Grotesk',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary)}
.co-plan-price{font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:700;color:var(--text);line-height:1}
.co-plan-price span{font-family:'Space Grotesk',sans-serif;font-size:.72rem;font-weight:500;color:var(--text-muted);vertical-align:middle;margin-left:.2rem}
.co-plan-badge.featured-badge{background:linear-gradient(135deg,rgba(45,106,79,.12) 0%,rgba(160,103,44,.1) 100%);border-color:var(--primary-light)}

/* progress */
.co-progress{
  display:flex;align-items:center;justify-content:center;
  gap:0;padding:.9rem 1.75rem .45rem;
}
.co-step-dot{
  display:flex;flex-direction:column;align-items:center;gap:.3rem;flex:1;
  position:relative;
}
.co-step-dot::after{
  content:'';position:absolute;top:12px;left:calc(50% + 14px);right:calc(-50% + 14px);
  height:2px;background:var(--border-light);transition:background .3s;
}
.co-step-dot:last-child::after{display:none}
.co-step-dot.done::after{background:var(--primary-light)}
.co-step-circle{
  width:24px;height:24px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Space Grotesk',sans-serif;font-size:.7rem;font-weight:700;
  border:2px solid var(--border-light);
  background:#fff;color:var(--text-muted);
  transition:background .3s,border-color .3s,color .3s;
  position:relative;z-index:1;
}
.co-step-dot.active .co-step-circle{background:var(--primary);border-color:var(--primary);color:#fff}
.co-step-dot.done .co-step-circle{background:var(--primary-light);border-color:var(--primary-light);color:#fff;font-size:0}
.co-step-dot.done .co-step-circle::after{content:'✓';font-size:.65rem}
.co-step-label{font-family:'Space Grotesk',sans-serif;font-size:.62rem;font-weight:600;letter-spacing:.04em;color:var(--text-muted);text-align:center;white-space:nowrap}
.co-step-dot.active .co-step-label{color:var(--primary)}
.co-step-dot.done .co-step-label{color:var(--primary-light)}

/* body / steps */
.co-body{padding:1.25rem 1.75rem 0}
.co-step{display:none;flex-direction:column;gap:1rem}
.co-step.active{display:flex}
.co-step-title{font-family:'Space Grotesk',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin-bottom:-.25rem}

/* form fields */
.co-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.co-group{display:flex;flex-direction:column;gap:.35rem}
.co-group.full{grid-column:1/-1}
.co-label{font-family:'Space Grotesk',sans-serif;font-size:.73rem;font-weight:600;color:var(--text-mid)}
.co-label span{color:var(--accent);margin-left:.1rem}
.co-input{
  width:100%;padding:.7rem .9rem;
  border:1.5px solid var(--border-light);border-radius:9px;
  font-family:'Inter',sans-serif;font-size:.875rem;color:var(--text);
  background:#FDFAF6;transition:border-color .2s,box-shadow .2s;outline:none;
}
.co-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(45,106,79,.1);background:#fff}
.co-input.error{border-color:#e53e3e;box-shadow:0 0 0 3px rgba(229,62,62,.08)}
.co-input::placeholder{color:var(--text-muted);font-size:.82rem}
select.co-input{cursor:pointer}

/* social rows */
.co-social-row{
  display:flex;align-items:center;gap:.6rem;
  padding:.6rem .85rem;
  border:1.5px solid var(--border-light);border-radius:9px;
  background:#FDFAF6;transition:border-color .2s,box-shadow .2s;
}
.co-social-row:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(45,106,79,.1);background:#fff}
.co-social-icon{width:28px;height:28px;flex-shrink:0;border-radius:6px;display:flex;align-items:center;justify-content:center}
.co-social-icon svg{width:16px;height:16px}
.co-social-label{font-family:'Space Grotesk',sans-serif;font-size:.75rem;font-weight:600;color:var(--text-mid);width:68px;flex-shrink:0}
.co-social-input{flex:1;border:none;background:transparent;font-family:'Inter',sans-serif;font-size:.82rem;color:var(--text);outline:none;min-width:0}
.co-social-input::placeholder{color:var(--text-muted);font-size:.79rem}
.co-social-note{font-size:.72rem;color:var(--text-muted);margin-top:-.3rem}
.co-social-optional{font-family:'Space Grotesk',sans-serif;font-size:.62rem;font-weight:600;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;padding:.35rem .65rem;border-radius:100px;background:var(--bg-alt);margin-bottom:.1rem;display:inline-block}

/* order summary */
.co-summary-card{
  background:linear-gradient(135deg,#f8fdf9 0%,#fdfaf6 100%);
  border:1.5px solid var(--border-light);border-radius:14px;padding:1.35rem 1.3rem;
}
.co-summary-plan-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}
.co-summary-plan-name{font-family:'Space Grotesk',sans-serif;font-size:.9rem;font-weight:700;color:var(--text)}
.co-summary-plan-chip{font-family:'Space Grotesk',sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .6rem;border-radius:100px;background:rgba(45,106,79,.12);color:var(--primary)}
.co-summary-divider{height:1px;background:var(--border-light);margin:.85rem 0}
.co-summary-line{display:flex;align-items:center;justify-content:space-between;font-size:.83rem;margin-bottom:.55rem}
.co-summary-line:last-child{margin-bottom:0}
.co-summary-key{color:var(--text-muted)}
.co-summary-val{font-weight:600;color:var(--text)}
.co-summary-total{font-size:1rem;font-weight:700;color:var(--primary)}
.co-summary-muted{font-weight:500;font-size:.78rem;color:var(--text-muted);line-height:1.35}
.co-summary-detail{margin-top:-.35rem;margin-bottom:.35rem}
.co-summary-detail .co-summary-val{text-align:right}
.co-recurring-box{
  margin-top:.25rem;padding:1rem 1.1rem;
  border:1.5px solid var(--border-light);border-radius:12px;background:#fff;
}
.co-recurring-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;margin:0}
.co-recurring-label input[type=checkbox]{
  width:18px;height:18px;margin-top:.2rem;flex-shrink:0;accent-color:var(--primary);cursor:pointer
}
.co-recurring-text{display:flex;flex-direction:column;gap:.2rem}
.co-recurring-text strong{font-family:'Space Grotesk',sans-serif;font-size:.82rem;font-weight:700;color:var(--text)}
.co-recurring-text span{font-size:.76rem;color:var(--text-muted);line-height:1.45}
.co-summary-features{margin-top:.85rem;display:flex;flex-direction:column;gap:.5rem}
.co-summary-feature{display:flex;align-items:center;gap:.55rem;font-size:.8rem;color:var(--text-mid)}
.co-summary-feature::before{content:'✓';width:16px;height:16px;border-radius:50%;background:rgba(45,106,79,.12);color:var(--primary);font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.co-payment-note{
  display:flex;align-items:flex-start;gap:.6rem;padding:.8rem 1rem;
  background:rgba(160,103,44,.07);border:1px solid rgba(160,103,44,.18);
  border-radius:9px;font-size:.78rem;color:var(--text-mid);line-height:1.5;
}
.co-payment-note svg{flex-shrink:0;margin-top:.1rem;width:15px;height:15px;stroke:var(--accent);stroke-width:2;fill:none}
.co-secure-row{display:flex;align-items:center;justify-content:center;gap:.65rem;font-size:.72rem;color:var(--text-muted);padding:.65rem 0}
.co-secure-row svg{width:13px;height:13px;fill:var(--text-muted)}

/* footer nav */
.co-footer{
  padding:1.2rem 1.75rem 1.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:.85rem;
  border-top:1px solid var(--border-light);margin-top:1.5rem;
  position:sticky;bottom:0;background:#fff;
  border-radius:0 0 24px 24px;
}
.co-btn-back{
  font-family:'Space Grotesk',sans-serif;font-size:.8rem;font-weight:600;
  color:var(--text-muted);background:none;border:1.5px solid var(--border-light);
  padding:.65rem 1.25rem;border-radius:8px;cursor:pointer;
  transition:color .2s,border-color .2s;
}
.co-btn-back:hover{color:var(--text-mid);border-color:var(--border)}
.co-btn-back[hidden]{display:none}
.co-btn-next{
  flex:1;font-family:'Space Grotesk',sans-serif;font-size:.875rem;font-weight:700;
  background:var(--primary);color:#fff;
  padding:.75rem 1.5rem;border-radius:9px;border:none;cursor:pointer;
  box-shadow:0 4px 14px rgba(45,106,79,.28);
  transition:background .2s,transform .15s,box-shadow .2s;
  display:flex;align-items:center;justify-content:center;gap:.5rem;
}
.co-btn-next:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 20px rgba(45,106,79,.34)}
.co-btn-next:active{transform:translateY(0)}
.co-btn-next svg{width:16px;height:16px;stroke:#fff;stroke-width:2.2;fill:none}
.co-btn-pay{
  flex:1;font-family:'Space Grotesk',sans-serif;font-size:.875rem;font-weight:700;
  background:linear-gradient(135deg,#2D6A4F 0%,#1B4332 100%);color:#fff;
  padding:.75rem 1.5rem;border-radius:9px;border:none;cursor:pointer;
  box-shadow:0 4px 16px rgba(45,106,79,.35);
  transition:opacity .2s,transform .15s,box-shadow .2s;
  display:flex;align-items:center;justify-content:center;gap:.5rem;
}
.co-btn-pay:hover{opacity:.93;transform:translateY(-1px);box-shadow:0 8px 24px rgba(45,106,79,.4)}
.co-btn-pay svg{width:16px;height:16px;stroke:#fff;stroke-width:2.2;fill:none}
.co-err-msg{font-size:.74rem;color:#e53e3e;margin-top:.1rem;display:none}
.co-err-msg.show{display:block}

/* social icon colors */
.si-fb{background:rgba(24,119,242,.12)}.si-fb svg{color:#1877F2}
.si-ig{background:rgba(225,48,108,.12)}.si-ig svg{color:#E1306C}
.si-tw{background:rgba(28,28,28,.1)}.si-tw svg{color:#1C1C1C}
.si-li{background:rgba(10,102,194,.12)}.si-li svg{color:#0A66C2}
.si-tt{background:rgba(0,0,0,.08)}.si-tt svg{color:#000}
.si-yt{background:rgba(255,0,0,.1)}.si-yt svg{color:#FF0000}

/* ── Pay button loading state ── */
.co-btn-pay.loading{opacity:.75;pointer-events:none;cursor:not-allowed}
.co-btn-pay .co-pay-spinner{
  display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;border-radius:50%;
  animation:co-spin .7s linear infinite;flex-shrink:0;
}
.co-btn-pay.loading .co-pay-spinner{display:block}
.co-btn-pay.loading .co-pay-icon{display:none}
.co-btn-pay.loading .co-pay-text::after{content:'…'}
@keyframes co-spin{to{transform:rotate(360deg)}}

/* ── Redirect confirmation overlay (inside modal) ── */
.co-redirect-overlay{
  position:absolute;inset:0;z-index:20;
  background:rgba(255,255,255,.97);
  border-radius:24px;
  display:none;flex-direction:column;align-items:center;justify-content:center;
  gap:1.25rem;padding:2.5rem;text-align:center;
}
.co-redirect-overlay.show{display:flex}
.co-redirect-icon{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,rgba(45,106,79,.12),rgba(45,106,79,.06));
  display:flex;align-items:center;justify-content:center;
  border:2px solid rgba(45,106,79,.2);
  animation:co-pulse 1.8s ease-in-out infinite;
}
.co-redirect-icon svg{width:30px;height:30px;stroke:var(--primary);stroke-width:2;fill:none}
@keyframes co-pulse{0%,100%{box-shadow:0 0 0 0 rgba(45,106,79,.18)}50%{box-shadow:0 0 0 12px rgba(45,106,79,0)}}
.co-redirect-title{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--text)}
.co-redirect-sub{font-size:.85rem;color:var(--text-muted);line-height:1.6;max-width:280px}
.co-redirect-link{
  font-family:'Space Grotesk',sans-serif;font-size:.75rem;font-weight:600;
  color:var(--primary);text-decoration:underline;text-underline-offset:3px;cursor:pointer;
  background:none;border:none;
}

@media(max-width:540px){
  .co-box{border-radius:20px 20px 0 0;max-height:96vh;margin-top:auto;align-self:flex-end}
  .co-overlay{align-items:flex-end;padding:0}
  .co-row{grid-template-columns:1fr}
  .co-header{padding:1.25rem 1.35rem 1rem}
  .co-plan-badge{margin:1rem 1.35rem .2rem}
  .co-body{padding:1.1rem 1.35rem 0}
  .co-footer{padding:1rem 1.35rem 1.25rem}
  .co-progress{padding:.8rem 1.35rem .35rem}
  .co-step-label{font-size:.55rem}
}

/* ══════════════════════════════
   CTA FORM
══════════════════════════════ */
.cta-section{background:linear-gradient(135deg,#1C1208 0%,#2E1B0E 40%,#3D2A1A 70%,#1C1208 100%);padding:5rem 0;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 20% 50%,rgba(45,106,79,.12) 0%,transparent 55%),radial-gradient(ellipse 50% 60% at 80% 20%,rgba(150,98,46,.10) 0%,transparent 50%);pointer-events:none}
.cta-section .cta-left h2{color:#fff}
.cta-section .cta-left h2 em{color:var(--accent-light)}
.cta-section .cta-left p{color:rgba(255,255,255,.72)}
.cta-section .cta-trust-item{color:rgba(255,255,255,.80)}
.cta-section .label{color:var(--accent-light)}
.cta-section .cta-check{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}
.cta-section .cta-check svg{stroke:var(--accent-light)}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.cta-left h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,3.25rem);font-weight:700;line-height:1.1;color:var(--text);margin-top:.75rem;margin-bottom:1.25rem}
.cta-left h2 em{font-style:italic;color:var(--primary)}
.cta-left p{font-size:1rem;color:var(--text-muted);line-height:1.8;margin-bottom:2rem}
.cta-trust-items{display:flex;flex-direction:column;gap:.75rem}
.cta-trust-item{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--text-mid)}
.cta-check{width:20px;height:20px;border-radius:50%;background:rgba(45,106,79,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cta-check svg{width:10px;height:10px;stroke:var(--primary);stroke-width:2.5;fill:none}
.cta-form-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-lg)}
.form-title{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:600;color:var(--text);margin-bottom:.4rem}
.form-sub{font-size:.85rem;color:var(--text-muted);margin-bottom:1.75rem}
.form-group{margin-bottom:1.1rem}
.form-label{display:block;font-family:'Space Grotesk',sans-serif;font-size:.75rem;font-weight:500;color:var(--text-mid);margin-bottom:.45rem}
.form-input{width:100%;padding:.75rem 1rem;border:1.5px solid var(--border);border-radius:8px;font-family:'Inter',sans-serif;font-size:.9rem;color:var(--text);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(45,106,79,.1)}
.form-input::placeholder{color:var(--text-muted)}
select.form-input{cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7068' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
.btn-submit{width:100%;padding:.9rem;font-family:'Space Grotesk',sans-serif;font-size:.9rem;font-weight:700;background:linear-gradient(135deg,#7B5234 0%,#96622E 40%,#B07B3E 75%,#C4956A 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;box-shadow:0 4px 20px rgba(150,98,46,.45),0 1px 0 rgba(255,255,255,.25) inset;transition:filter .2s,transform .25s var(--ease),box-shadow .25s}
.btn-submit:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 10px 30px rgba(150,98,46,.55)}
.form-note{text-align:center;font-size:.72rem;color:var(--text-muted);margin-top:.85rem;line-height:1.6}

/* ══════════════════════════════
   FAQ
══════════════════════════════ */
.faq-section{background:radial-gradient(ellipse 60% 55% at 96% 8%,rgba(150,98,46,.10) 0%,transparent 50%),radial-gradient(ellipse 40% 40% at 4% 92%,rgba(150,98,46,.06) 0%,transparent 48%),#FFFFFF;padding:4.5rem 0 4rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border-light)}
.faq-grid{display:grid;grid-template-columns:1fr 1.55fr;gap:2.5rem 3.5rem;align-items:start}
.faq-section .section-heading{margin-bottom:0}
.faq-list{display:flex;flex-direction:column;gap:0;margin-top:.25rem}
.faq-item{border-bottom:1px solid rgba(45,106,79,.12)}
.faq-item:first-child{border-top:1px solid rgba(45,106,79,.12)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.4rem 0;cursor:pointer;gap:1.25rem;font-family:'Space Grotesk',sans-serif;font-size:.9rem;font-weight:500;color:var(--text);transition:color .2s;user-select:none}
.faq-q:hover{color:var(--primary)}
.faq-icon{width:24px;height:24px;border:1.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,border-color .2s,transform .3s}
.faq-item.open .faq-icon{background:var(--primary);border-color:var(--primary);transform:rotate(45deg)}
.faq-icon svg{width:10px;height:10px;stroke:#6B7068;stroke-width:2.5;fill:none;transition:stroke .2s}
.faq-item.open .faq-icon svg{stroke:#fff}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease),padding .4s;font-size:.875rem;color:var(--text-muted);line-height:1.8}
.faq-item.open .faq-a{max-height:320px;padding-bottom:1.4rem;padding-top:.15rem}
.btn-amber{display:inline-flex;align-items:center;gap:.65rem;font-family:'Space Grotesk',sans-serif;font-size:.875rem;font-weight:600;background:linear-gradient(135deg,#7B5234 0%,#96622E 40%,#B07B3E 75%,#C4956A 100%);color:#fff;padding:.85rem 2rem;border-radius:8px;border:none;cursor:pointer;box-shadow:0 4px 20px rgba(150,98,46,.45),0 1px 0 rgba(255,255,255,.25) inset;transition:filter .2s,transform .25s var(--ease),box-shadow .25s;text-decoration:none}
.btn-amber:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 10px 30px rgba(150,98,46,.55)}
.btn-amber svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2;flex-shrink:0}
/* legacy alias */
.btn-faq-call{margin-top:2rem}

/* ══════════════════════════════
   FOOTER
══════════════════════════════ */
footer{background:linear-gradient(160deg,#1C1208 0%,#2E1B0E 40%,#3D2A1A 70%,#1C1208 100%);padding:3.5rem 0 2rem}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:1.5rem}
.footer-logo{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:#2D6A4F;display:inline-flex;align-items:center;gap:.55rem;margin-bottom:.9rem;line-height:1}
.footer-logo-mark{width:34px;height:34px;border-radius:8px;display:block;flex-shrink:0}
.footer-logo-wordmark{white-space:nowrap}
.footer-logo-wordmark span{color:var(--accent-light)}
.footer-tagline{font-size:.85rem;color:rgba(255,255,255,.45);line-height:1.75;max-width:250px}
.footer-col-title{font-family:'Space Grotesk',sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:1.25rem}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.65rem}
.footer-links a{font-size:.85rem;color:rgba(255,255,255,.5);transition:color .2s}
.footer-links a:hover{color:#fff}
.footer-links a.footer-cta-call{display:inline-flex;align-items:center;gap:.5rem;margin-top:.25rem;font-family:'Space Grotesk',sans-serif;font-size:.78rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#7B5234 0%,#96622E 40%,#B07B3E 100%);padding:.4rem .9rem;border-radius:6px;box-shadow:0 2px 10px rgba(150,98,46,.35);transition:filter .2s,transform .2s}
.footer-links a.footer-cta-call:hover{filter:brightness(1.1);transform:translateY(-1px);color:#fff}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.footer-copy{font-size:.75rem;color:rgba(255,255,255,.3)}
.footer-social{display:flex;gap:.65rem}
.social-btn{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-size:.6rem;font-weight:600;color:rgba(255,255,255,.4);transition:border-color .2s,color .2s;text-decoration:none}
.social-btn:hover{border-color:rgba(255,255,255,.4);color:#fff}

/* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */
@media(max-width:1024px){
  #hero > .container{grid-template-columns:1fr}
  .hero-right{display:none}
  .bento{grid-template-columns:1fr 1fr}
  .process-split{grid-template-columns:1fr;gap:3rem}
  .expertise-grid{grid-template-columns:1fr 1fr;gap:1.1rem}
  .pricing-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto;gap:1.2rem}
  .pricing-section-head{margin-bottom:2.5rem}
  .pricing-billing-wrap{margin:.5rem auto 2.35rem}
  .pricing-card-content{padding:1.9rem 1.6rem 2rem}
  .pricing-card.featured .pricing-card-content{padding:1.45rem 1.7rem 2rem}
  .pricing-card:not(.featured) .pc-badge-slot:empty{min-height:2.95rem}
  .pc-badge{min-height:2.95rem;font-size:.78rem;padding:.62rem .85rem}
  .cta-grid{grid-template-columns:1fr;gap:3rem}
  .faq-grid{grid-template-columns:1fr;gap:2.75rem}
  .footer-top{grid-template-columns:1fr 1fr;gap:2.5rem}
  .nav-links{display:none}
}
@media(max-width:768px){
  .bento{grid-template-columns:1fr}
  .vs-content{padding:1.95rem 1.35rem}
  .vs-title{font-size:clamp(1.95rem,7vw,2.85rem)}
  .vs-stats{gap:0 .3rem}
  .vs-stat-n{font-size:.82rem}
  .vs-stat-l{font-size:.58rem}
  #hero{padding-top:5rem;padding-bottom:4rem}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .platform-marquee-track{animation:none;flex-wrap:wrap;justify-content:center;gap:2rem}
  .footer-top{grid-template-columns:1fr}
  .hero-h1{font-size:2.6rem}
  .pricing-section-head{margin-bottom:2.2rem}
  .pricing-billing-wrap{margin:.5rem auto 2rem;gap:.75rem}
}
@media(max-width:480px){
  .container{padding:0 1.25rem}
  .pricing-grid{max-width:100%;gap:1.1rem}
  .pricing-card-content{padding:1.75rem 1.35rem 1.9rem}
  .pricing-card.featured .pricing-card-content{padding:1.3rem 1.35rem 1.9rem}
  .pricing-card:not(.featured) .pc-badge-slot:empty{min-height:2.85rem}
  .pc-badge{min-height:2.85rem;font-size:.74rem;padding:.58rem .75rem}
  .expertise-grid{grid-template-columns:1fr}
  .pricing-billing-tabs{max-width:100%;justify-content:center}
  .pricing-billing-tab{padding:.5rem 1rem;font-size:.75rem}
  .pricing-section-head{margin-bottom:1.85rem;padding:0}
  .pricing-billing-wrap{padding:0;margin:.45rem auto 1.85rem}
}
