*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --sage:#4a7c59;--sage2:#3a6347;--sage3:#2a4a35;
  --sage-l:#edf5f0;--sage-m:#b5d9c2;
  --sand:#f5f0e8;--sand2:#ede5d4;--sand3:#ddd0b8;
  --stone:#faf9f7;--white:#ffffff;
  --ink:#1a1a1a;--ink2:#4a4a4a;--ink3:#8a8a8a;
  --coral:#e85d3a;--coral-l:#fdf0ec;
  --gold:#c9972a;--gold-l:#fdf6e3;
  --border:rgba(0,0,0,0.07);--border2:rgba(0,0,0,0.12);
  --r:8px;--r-lg:14px;--r-xl:20px;--r-2xl:28px;
  --shadow:0 2px 20px rgba(0,0,0,0.05);--shadow-lg:0 12px 60px rgba(0,0,0,0.08);
}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--stone);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65;}
h1,h2,h3,h4{font-family:'DM Serif Display',serif;line-height:1.12;}
a{color:inherit;text-decoration:none;}
button{font-family:'DM Sans',sans-serif;cursor:pointer;}

/* — NAV — */
nav{position:sticky;top:0;z-index:100;background:rgba(250,249,247,0.93);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);}
.nw{max-width:1200px;margin:0 auto;display:flex;align-items:center;height:64px;padding:0 2.5rem;gap:2rem;}
.logo{display:flex;align-items:center;gap:10px;font-family:'DM Serif Display',serif;font-size:1.35rem;color:var(--ink);}
.logo-leaf{width:30px;height:30px;background:var(--sage);border-radius:50% 50% 50% 8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.logo-leaf svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.logo em{font-style:italic;color:var(--sage);}
.nav-links{display:flex;gap:2rem;margin-left:1rem;}
.nav-links a{font-size:.875rem;color:var(--ink2);font-weight:400;letter-spacing:.01em;transition:color .15s;}
.nav-links a:hover{color:var(--sage);}
.nr{margin-left:auto;display:flex;gap:.75rem;align-items:center;}
.b-ghost{font-size:.875rem;font-weight:500;color:var(--ink2);padding:.4rem .9rem;border-radius:var(--r);transition:background .15s,color .15s;}
.b-ghost:hover{background:var(--sand);color:var(--ink);}
.b-sage{background:var(--sage);color:#fff;font-size:.875rem;font-weight:600;padding:.5rem 1.3rem;border-radius:var(--r);border:none;transition:background .15s,transform .1s;letter-spacing:.01em;}
.b-sage:hover{background:var(--sage2);}
.b-sage:active{transform:scale(.98);}
.b-sage-lg{font-size:1rem;padding:.78rem 2.1rem;border-radius:var(--r-lg);}
.b-outline-lg{font-size:1rem;font-weight:500;padding:.75rem 2rem;border-radius:var(--r-lg);border:1.5px solid var(--border2);background:transparent;color:var(--ink2);transition:border-color .15s,color .15s;}
.b-outline-lg:hover{border-color:var(--sage);color:var(--sage);}

/* — PROMO BANNER — */
.banner{background:var(--sage3);color:#fff;text-align:center;padding:.5rem 1rem;font-size:.8rem;font-weight:400;}
.banner strong{font-weight:600;color:var(--sage-m);}
.banner a{color:var(--sage-m);text-decoration:underline;margin-left:.4rem;}

/* ———————————————————————————————
   HERO — full-bleed editorial
   ——————————————————————————————— */
.hero{background:var(--sand);border-bottom:1px solid var(--border);overflow:hidden;position:relative;}
.hero-bg-text{position:absolute;font-family:'DM Serif Display',serif;font-size:22vw;font-weight:400;color:rgba(0,0,0,0.04);line-height:1;bottom:-.1em;left:-.02em;pointer-events:none;white-space:nowrap;user-select:none;letter-spacing:-.04em;}
.hero-inner{max-width:1200px;margin:0 auto;padding:5rem 2.5rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;z-index:1;}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr;}.nav-links{display:none;}.hero-bg-text{display:none;}.hero-visual-wrap{display:none;}}
.hero-kicker{display:flex;align-items:center;gap:.6rem;font-size:.72rem;font-weight:600;color:var(--sage);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.75rem;}
.hero-kicker-line{width:24px;height:2px;background:var(--sage);}
.hero h1{font-size:clamp(3rem,5.5vw,4.8rem);letter-spacing:-.025em;color:var(--ink);margin-bottom:1.25rem;line-height:1.02;}
.hero h1 em{font-style:italic;color:var(--sage);}
.hero-desc{font-size:1.05rem;color:var(--ink2);max-width:460px;margin-bottom:2.25rem;line-height:1.8;font-weight:300;}
.hero-actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-bottom:2.75rem;}
.hero-proof{display:flex;gap:2.5rem;flex-wrap:wrap;}
.hp{border-left:2px solid var(--sand3);padding-left:1rem;}
.hp-num{font-family:'DM Serif Display',serif;font-size:1.6rem;color:var(--ink);line-height:1;}
.hp-lbl{font-size:.75rem;color:var(--ink3);margin-top:.1rem;}

/* — HERO PHONE MOCKUP — */
.hero-visual-wrap{position:relative;display:flex;justify-content:center;align-items:center;}
.phone-outer{width:280px;background:var(--ink);border-radius:40px;padding:8px;box-shadow:0 30px 80px rgba(0,0,0,0.22);position:relative;z-index:2;}
.phone-inner{background:var(--stone);border-radius:32px;overflow:hidden;min-height:560px;}
.phone-notch{width:90px;height:26px;background:var(--ink);border-radius:0 0 16px 16px;margin:0 auto;}
.phone-screen{padding:1rem;}
/* Employee portal screen */
.ep-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.ep-logo{font-family:'DM Serif Display',serif;font-size:.95rem;color:var(--ink);}
.ep-logo span{color:var(--sage);}
.ep-avatar{width:28px;height:28px;border-radius:50%;background:var(--sage-l);border:2px solid var(--sage-m);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:var(--sage2);}
.ep-greeting{margin-bottom:1rem;}
.ep-greeting .gd{font-size:.65rem;color:var(--ink3);margin-bottom:.1rem;}
.ep-greeting .gn{font-family:'DM Serif Display',serif;font-size:1.05rem;color:var(--ink);}
/* pay card */
.pay-card-phone{background:var(--sage);border-radius:14px;padding:1rem;margin-bottom:.75rem;color:#fff;}
.pcp-label{font-size:.6rem;font-weight:600;opacity:.65;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.2rem;}
.pcp-amount{font-family:'DM Serif Display',serif;font-size:2rem;letter-spacing:-.02em;line-height:1;margin-bottom:.65rem;}
.pcp-row{display:flex;justify-content:space-between;font-size:.62rem;opacity:.7;border-top:1px solid rgba(255,255,255,.2);padding-top:.5rem;}
/* doc list */
.doc-label{font-size:.62rem;font-weight:600;color:var(--ink3);letter-spacing:.07em;text-transform:uppercase;margin-bottom:.5rem;}
.doc-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .65rem;background:var(--white);border-radius:9px;border:1px solid var(--border);margin-bottom:.4rem;}
.doc-icon{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.di-green{background:var(--sage-l);}
.di-gold{background:var(--gold-l);}
.doc-info{flex:1;}
.doc-name{font-size:.72rem;font-weight:600;color:var(--ink);line-height:1.2;}
.doc-meta{font-size:.62rem;color:var(--ink3);}
.doc-dl{font-size:.6rem;font-weight:700;color:var(--sage);padding:.18rem .45rem;background:var(--sage-l);border-radius:4px;}
/* upcoming */
.up-label{font-size:.62rem;font-weight:600;color:var(--ink3);letter-spacing:.07em;text-transform:uppercase;margin-top:.75rem;margin-bottom:.5rem;}
.up-card{background:var(--sand);border-radius:9px;padding:.6rem .75rem;display:flex;align-items:center;justify-content:space-between;}
.up-left{font-size:.65rem;color:var(--ink2);}
.up-left strong{display:block;font-size:.72rem;font-weight:600;color:var(--ink);}
.up-pill{font-size:.6rem;font-weight:700;background:var(--sage-l);color:var(--sage2);padding:.18rem .5rem;border-radius:99px;}

/* floating cards outside phone */
.float-a{position:absolute;top:40px;right:-80px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:.75rem 1rem;box-shadow:var(--shadow-lg);font-size:.75rem;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:.6rem;white-space:nowrap;z-index:3;}
.float-b{position:absolute;bottom:60px;left:-90px;background:var(--sage);border-radius:14px;padding:.75rem 1rem;box-shadow:var(--shadow-lg);font-size:.75rem;font-weight:600;color:#fff;display:flex;align-items:center;gap:.6rem;white-space:nowrap;z-index:3;}
.f-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.f-green{background:#22c55e;}
.f-white{background:rgba(255,255,255,.6);}

/* — LOGOS — */
.logos{background:var(--sand2);border-bottom:1px solid var(--border);padding:1.6rem 2.5rem;}
.lw{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:2.5rem;flex-wrap:nowrap;}
.ll{font-size:.68rem;font-weight:600;color:var(--ink3);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;}
/* lr replaced by marquee */
.lco{font-size:.9rem;font-weight:700;color:var(--sand3);letter-spacing:-.01em;}

/* — SECTIONS — */
section{padding:5.5rem 2.5rem;}
.sw{max-width:1200px;margin:0 auto;}
.eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);margin-bottom:.75rem;display:flex;align-items:center;gap:.55rem;}
.eyebrow::before{content:'';width:18px;height:2px;background:var(--sage);display:inline-block;}
h2.sh{font-size:clamp(2.1rem,3.2vw,2.9rem);color:var(--ink);margin-bottom:.9rem;letter-spacing:-.02em;}
h2.sh em{font-style:italic;color:var(--sage);}
.ss{font-size:.975rem;color:var(--ink2);max-width:500px;line-height:1.8;font-weight:300;}

/* ———————————————————————————————
   EMPLOYEE PORTAL SECTION
   ——————————————————————————————— */
.portal-section{background:var(--white);border-top:1px solid var(--border);}
.portal-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;}
@media(max-width:760px){.portal-layout,.white-label-layout,.cta-layout,.faq-layout{grid-template-columns:1fr!important;gap:2.5rem!important;}.feat-grid,.price-grid,.testi-grid{grid-template-columns:1fr!important;}}
.portal-bullets{display:flex;flex-direction:column;gap:.85rem;margin-top:1.75rem;}
.pb{display:flex;align-items:flex-start;gap:.85rem;}
.pb-icon{width:36px;height:36px;border-radius:10px;background:var(--sage-l);border:1px solid var(--sage-m);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pb-icon svg{width:18px;height:18px;stroke:var(--sage);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.pb h4{font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:600;color:var(--ink);margin-bottom:.25rem;}
.pb p{font-size:.845rem;color:var(--ink2);line-height:1.65;}

/* Employee portal desktop mockup */
.portal-mockup{background:var(--stone);border-radius:var(--r-2xl);border:1px solid var(--border);box-shadow:var(--shadow-lg);overflow:hidden;}
.pm-topbar{background:var(--white);border-bottom:1px solid var(--border);padding:.75rem 1.25rem;display:flex;align-items:center;gap:.6rem;}
.pm-dots{display:flex;gap:.35rem;}
.pm-dot{width:10px;height:10px;border-radius:50%;}
.pm-title{font-size:.75rem;font-weight:600;color:var(--ink2);margin-left:.5rem;}
.pm-body{padding:1.25rem;}
.pm-welcome{display:flex;align-items:center;gap:.85rem;margin-bottom:1.25rem;}
.pm-av{width:38px;height:38px;border-radius:50%;background:var(--sage-l);border:2px solid var(--sage-m);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--sage2);flex-shrink:0;}
.pm-name{font-family:'DM Serif Display',serif;font-size:1.05rem;color:var(--ink);}
.pm-dept{font-size:.72rem;color:var(--ink3);}
.pm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-bottom:1.25rem;}
.pm-stat{background:var(--white);border-radius:10px;border:1px solid var(--border);padding:.75rem;}
.pm-stat-l{font-size:.62rem;font-weight:600;color:var(--ink3);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.2rem;}
.pm-stat-v{font-size:1rem;font-weight:700;color:var(--ink);letter-spacing:-.02em;}
.pm-stat-v.sage{color:var(--sage);}
.pm-section-label{font-size:.65rem;font-weight:600;color:var(--ink3);letter-spacing:.07em;text-transform:uppercase;margin-bottom:.6rem;}
.pm-doc-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .8rem;background:var(--white);border-radius:10px;border:1px solid var(--border);margin-bottom:.45rem;transition:border-color .15s;}
.pm-doc-row:hover{border-color:var(--sage-m);}
.pm-doc-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;flex-shrink:0;}
.pm-di-g{background:var(--sage-l);color:var(--sage2);}
.pm-di-gold{background:var(--gold-l);color:var(--gold);}
.pm-di-blue{background:#eff6ff;color:#1d4ed8;}
.pm-doc-name{flex:1;font-size:.8rem;font-weight:600;color:var(--ink);}
.pm-doc-date{font-size:.7rem;color:var(--ink3);}
.pm-dl-btn{font-size:.7rem;font-weight:600;color:var(--sage);background:var(--sage-l);border:1px solid var(--sage-m);padding:.22rem .65rem;border-radius:6px;display:flex;align-items:center;gap:.3rem;white-space:nowrap;}
.pm-dl-btn svg{width:12px;height:12px;stroke:var(--sage);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

/* ———————————————————————————————
   WHITE LABEL SECTION
   ——————————————————————————————— */
.wl-section{background:var(--sand);border-top:1px solid var(--border);}
.white-label-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;}
.wl-features{display:flex;flex-direction:column;gap:.75rem;margin-top:1.75rem;}
.wl-feat{display:flex;align-items:flex-start;gap:.85rem;padding:1rem 1.1rem;background:var(--white);border-radius:var(--r-lg);border:1px solid var(--border);}
.wl-feat-icon{width:36px;height:36px;border-radius:10px;background:var(--sage-l);border:1px solid var(--sage-m);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.wl-feat-icon svg{width:17px;height:17px;stroke:var(--sage);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.wl-feat h4{font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:600;color:var(--ink);margin-bottom:.2rem;}
.wl-feat p{font-size:.82rem;color:var(--ink2);line-height:1.6;}

/* Brand switcher mockup */
.brand-mockup{display:flex;flex-direction:column;gap:.85rem;}
.brand-card{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--border);}
.bc-header{padding:.85rem 1.1rem;display:flex;align-items:center;justify-content:space-between;}
.bc-logo{font-family:'DM Serif Display',serif;font-size:.95rem;}
.bc-nav-dots{display:flex;gap:.35rem;}
.bc-nd{width:6px;height:6px;border-radius:50%;background:rgba(0,0,0,.12);}
.bc-body{padding:.85rem 1.1rem;background:var(--stone);}
.bc-label{font-size:.6rem;font-weight:600;color:var(--ink3);letter-spacing:.07em;text-transform:uppercase;margin-bottom:.4rem;}
.bc-doc-mini{display:flex;align-items:center;gap:.5rem;padding:.4rem .55rem;background:var(--white);border-radius:7px;border:1px solid var(--border);margin-bottom:.3rem;}
.bc-doc-name{font-size:.68rem;font-weight:600;color:var(--ink);flex:1;}
.bc-dl{font-size:.58rem;font-weight:700;padding:.12rem .4rem;border-radius:4px;}
/* brand variants */
.bc1 .bc-header{background:#2d5a8e;}
.bc1 .bc-logo{color:#fff;}
.bc1 .bc-nd{background:rgba(255,255,255,.3);}
.bc1 .bc-dl{background:#dbeafe;color:#1e40af;}
.bc2 .bc-header{background:#1a1a1a;}
.bc2 .bc-logo{color:#fff;}
.bc2 .bc-nd{background:rgba(255,255,255,.3);}
.bc2 .bc-dl{background:#f1f5f9;color:#334155;}
.bc3 .bc-header{background:var(--sage);}
.bc3 .bc-logo{color:#fff;}
.bc3 .bc-nd{background:rgba(255,255,255,.3);}
.bc3 .bc-dl{background:var(--sage-l);color:var(--sage2);}
.wl-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--sage-l);color:var(--sage2);font-size:.72rem;font-weight:600;padding:.3rem .8rem;border-radius:99px;margin-top:1.5rem;border:1px solid var(--sage-m);}

/* ———————————————————————————————
   FEATURES GRID
   ——————————————————————————————— */
.features{background:var(--white);}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem;}
.fc{background:var(--stone);border-radius:var(--r-xl);border:1px solid var(--border);padding:1.75rem;transition:border-color .2s,box-shadow .2s,transform .2s;}
.fc:hover{border-color:var(--sage-m);box-shadow:var(--shadow);transform:translateY(-3px);}
.fc-icon{width:42px;height:42px;border-radius:11px;background:var(--sage-l);border:1px solid var(--sage-m);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;}
.fc-icon svg{width:20px;height:20px;stroke:var(--sage);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.fc h3{font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:600;color:var(--ink);margin-bottom:.4rem;}
.fc p{font-size:.845rem;color:var(--ink2);line-height:1.7;}

/* — STATS STRIP — */
.stats-strip{background:var(--sage3);padding:3.5rem 2.5rem;}
.stats-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.si{padding:1.5rem 2rem;border-right:1px solid rgba(255,255,255,.1);}
.si:last-child{border-right:none;}
.si-num{font-family:'DM Serif Display',serif;font-size:2.4rem;color:#fff;letter-spacing:-.02em;line-height:1;margin-bottom:.3rem;}
.si-num span{color:var(--sage-m);}
.si-lbl{font-size:.78rem;color:rgba(255,255,255,.45);}

/* — PRICING — */
.pricing{background:var(--stone);}
.ptog-row{display:flex;align-items:center;gap:.75rem;margin-top:1.25rem;}
.ptog-lbl{font-size:.875rem;color:var(--ink2);}
.ptog{width:42px;height:22px;background:var(--sage);border-radius:99px;position:relative;border:none;transition:background .2s;flex-shrink:0;}
.ptog::after{content:'';position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:3px;right:3px;transition:right .2s;}
.ptog.off{background:var(--sand3);}
.ptog.off::after{right:22px;}
.save-tag{font-size:.7rem;font-weight:600;background:var(--gold-l);color:#7a5a0a;padding:.2rem .6rem;border-radius:99px;border:1px solid #f0d080;}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem;}
.pc{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-2xl);padding:2.25rem;position:relative;transition:box-shadow .2s;}
.pc:hover{box-shadow:var(--shadow-lg);}
.pc.feat{background:var(--sage3);border-color:var(--sage3);}
.pc-hot{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--coral);color:#fff;font-size:.68rem;font-weight:700;padding:.22rem .85rem;border-radius:99px;white-space:nowrap;}
.pc-tier{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:.9rem;}
.pc.feat .pc-tier{color:rgba(255,255,255,.45);}
.pc-price{font-family:'DM Serif Display',serif;font-size:3rem;color:var(--ink);letter-spacing:-.03em;line-height:1;margin-bottom:.3rem;}
.pc.feat .pc-price{color:#fff;}
.pc-price sup{font-size:1.3rem;vertical-align:top;margin-top:.55rem;}
.pc-per{font-size:.78rem;color:var(--ink3);margin-bottom:1.5rem;}
.pc.feat .pc-per{color:rgba(255,255,255,.4);}
.pc-line{height:1px;background:var(--border);margin-bottom:1.4rem;}
.pc.feat .pc-line{background:rgba(255,255,255,.12);}
.pc-feats{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.75rem;}
.pc-feats li{font-size:.875rem;color:var(--ink2);display:flex;gap:.55rem;align-items:flex-start;}
.pc.feat .pc-feats li{color:rgba(255,255,255,.75);}
.pc-feats li::before{content:'✓';font-weight:700;color:var(--sage);flex-shrink:0;}
.pc.feat .pc-feats li::before{color:var(--sage-m);}
.btn-pc{width:100%;padding:.7rem;border-radius:var(--r-lg);font-size:.875rem;font-weight:600;letter-spacing:.01em;transition:all .15s;}
.btn-po{background:transparent;border:1.5px solid var(--border2);color:var(--ink2);font-family:'DM Sans',sans-serif;}
.btn-po:hover{border-color:var(--sage);color:var(--sage);}
.btn-pw{background:#fff;border:none;color:var(--sage3);font-family:'DM Sans',sans-serif;}
.btn-pw:hover{background:var(--sage-l);}

/* — TESTIMONIALS — */
.testi{background:var(--sand);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem;}
.tc{background:var(--white);border-radius:var(--r-xl);border:1px solid var(--border);padding:1.75rem;transition:box-shadow .2s;}
.tc:hover{box-shadow:var(--shadow);}
.tc-stars{display:flex;gap:3px;margin-bottom:.85rem;}
/* tc-star replaced by SVG */
.tc-q{font-family:'DM Serif Display',serif;font-size:1rem;font-style:italic;color:var(--ink);line-height:1.65;margin-bottom:1.35rem;}
.tc-foot{display:flex;align-items:center;gap:.75rem;border-top:1px solid var(--border);padding-top:.85rem;}
.tc-av{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;flex-shrink:0;}
.ta1{background:#dbeafe;color:#1e40af;}
.ta2{background:#fce7f3;color:#9d174d;}
.ta3{background:#d1fae5;color:#065f46;}
.tc-name{font-size:.875rem;font-weight:600;color:var(--ink);}
.tc-role{font-size:.73rem;color:var(--ink3);}

/* — FAQ — */
.faq{background:var(--white);}
.faq-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:5rem;align-items:start;}
.faq-list{display:flex;flex-direction:column;}
.faq-row{border-bottom:1px solid var(--border);}
.faq-btn{width:100%;text-align:left;background:none;border:none;font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:500;color:var(--ink2);padding:1.1rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:color .15s;}
.faq-btn:hover,.faq-btn.open{color:var(--ink);}
.faq-ic{width:22px;height:22px;border-radius:50%;background:var(--sand);display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--ink3);flex-shrink:0;transition:background .2s,transform .2s,color .2s;}
.faq-btn.open .faq-ic{background:var(--sage-l);color:var(--sage);transform:rotate(45deg);}
.faq-ans{font-size:.875rem;color:var(--ink2);line-height:1.8;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s;}
.faq-ans.open{max-height:300px;padding-bottom:1rem;}

/* — CTA — */
.cta-section{background:var(--sage3);padding:5.5rem 2.5rem;}
.cta-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;max-width:1200px;margin:0 auto;}
.cta-left h2{font-size:clamp(2.2rem,3.8vw,3.4rem);color:#fff;margin-bottom:1rem;line-height:1.08;letter-spacing:-.02em;}
.cta-left h2 em{font-style:italic;color:var(--sage-m);}
.cta-left p{font-size:.975rem;color:rgba(255,255,255,.6);line-height:1.8;margin-bottom:1.75rem;font-weight:300;}
.cta-left .fine{font-size:.75rem;color:rgba(255,255,255,.3);margin-top:.65rem;}
.btn-white-cta{background:#fff;color:var(--sage3);font-size:1rem;font-weight:700;padding:.78rem 2.1rem;border-radius:var(--r-lg);border:none;transition:opacity .15s;}
.btn-white-cta:hover{opacity:.9;}
.cta-right{display:flex;flex-direction:column;gap:1rem;}
.cta-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:var(--r-xl);padding:1.15rem 1.4rem;display:flex;align-items:flex-start;gap:.9rem;}
.cca-icon{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cca-icon svg{width:17px;height:17px;stroke:var(--sage-m);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.cca h4{font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:600;color:#fff;margin-bottom:.15rem;}
.cca p{font-size:.8rem;color:rgba(255,255,255,.5);}

/* — FOOTER — */
footer{background:var(--ink);padding:4rem 2.5rem 2rem;}
.fw{max-width:1200px;margin:0 auto;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:3rem;}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;gap:2rem;}}
.foot-logo{display:flex;align-items:center;gap:8px;margin-bottom:.85rem;}
.fl-leaf{width:26px;height:26px;background:var(--sage);border-radius:50% 50% 50% 6px;display:flex;align-items:center;justify-content:center;}
.fl-leaf svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;}
.fl-name{font-family:'DM Serif Display',serif;font-size:1.1rem;color:#fff;}
.fl-name em{font-style:italic;color:var(--sage-m);}
.foot-tag{font-size:.845rem;color:rgba(255,255,255,.3);max-width:250px;line-height:1.65;margin-bottom:1.1rem;}
.foot-contact{font-size:.8rem;color:rgba(255,255,255,.3);}
.foot-contact strong{color:rgba(255,255,255,.5);display:block;margin-bottom:.15rem;}
.foot-col h5{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:.85rem;}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;}
.foot-col a{font-size:.845rem;color:rgba(255,255,255,.38);transition:color .15s;}
.foot-col a:hover{color:rgba(255,255,255,.8);}
.foot-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:1.5rem;display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.18);flex-wrap:wrap;gap:.5rem;}

/* — SCROLL REVEAL — */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.1s;}
.reveal-delay-2{transition-delay:.2s;}
.reveal-delay-3{transition-delay:.3s;}
.reveal-delay-4{transition-delay:.4s;}
.reveal-delay-5{transition-delay:.5s;}

/* — HERO PHONE BOB ANIMATION — */
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.phone-outer{animation:float 5s ease-in-out infinite;}

/* — HERO GRADIENT BACKGROUND — */
.hero{background:linear-gradient(145deg,#f5f0e8 0%,#eee8d8 40%,#f0ece3 100%);}

/* — PHOTO STRIP HOVER — */
.ps-card{position:relative;flex:0 0 170px;height:230px;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.10);transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;}
.ps-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 16px 40px rgba(0,0,0,0.16);}
.ps-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.ps-card:hover img{transform:scale(1.06);}
.ps-card-caption{position:absolute;bottom:0;left:0;right:0;padding:.75rem .85rem;background:linear-gradient(to top,rgba(26,26,26,.78) 0%,transparent 100%);}
.ps-card-name{font-size:.75rem;font-weight:600;color:#fff;line-height:1.2;}
.ps-card-role{font-size:.65rem;color:rgba(255,255,255,.72);}

/* — TRUST BADGES — */
.trust-badges{background:#fff;border-bottom:1px solid var(--border);padding:1.25rem 2.5rem;}
.tb-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:3rem;flex-wrap:wrap;}
.tb-item{display:flex;align-items:center;gap:.55rem;font-size:.78rem;font-weight:600;color:var(--ink3);}
.tb-icon{width:28px;height:28px;border-radius:7px;background:var(--sage-l);border:1px solid var(--sage-m);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tb-icon svg{width:14px;height:14px;stroke:var(--sage);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

/* — STAR RATINGS — */
.tc-stars{display:flex;gap:3px;margin-bottom:.9rem;}
.tc-stars svg{width:14px;height:14px;fill:var(--gold);stroke:none;}

/* — TESTIMONIALS PHOTO BANNER — */
.testi-photo-banner{border-radius:20px;overflow:hidden;height:240px;margin-bottom:3rem;position:relative;box-shadow:0 8px 32px rgba(0,0,0,0.09);}
.testi-photo-banner img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.testi-photo-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(42,74,53,.7) 0%,transparent 60%);display:flex;align-items:center;padding:2.5rem 3rem;}
.tpo-text h3{font-family:'DM Serif Display',serif;font-size:1.8rem;color:#fff;line-height:1.15;margin-bottom:.5rem;}
.tpo-text p{font-size:.875rem;color:rgba(255,255,255,.75);}

/* — PRICING HIGHLIGHT — */
.pc.feat{box-shadow:0 0 0 3px var(--sage-m),0 16px 48px rgba(42,74,53,.18);}

/* — FAQ FIRST OPEN — */
/* handled in JS */

/* — FEATURES LAYOUT IMPROVEMENT — */
.feat-intro-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-bottom:3.5rem;}
@media(max-width:760px){.feat-intro-layout{grid-template-columns:1fr;gap:2rem;}}
.feat-intro-photo{border-radius:20px;overflow:hidden;height:340px;box-shadow:0 8px 32px rgba(0,0,0,0.09);}
.feat-intro-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%;}

/* — STICKY MOBILE BAR — */
.mobile-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:#fff;border-top:1px solid var(--border);padding:.85rem 1.5rem;box-shadow:0 -4px 20px rgba(0,0,0,0.08);}
@media(max-width:640px){.mobile-cta-bar{display:flex;gap:.75rem;align-items:center;}}
.mcb-text{flex:1;font-size:.82rem;color:var(--ink2);font-weight:500;}
.mcb-text strong{display:block;color:var(--ink);font-size:.875rem;}
.mcb-btn{background:var(--sage);color:#fff;font-size:.875rem;font-weight:700;padding:.6rem 1.25rem;border-radius:var(--r-lg);border:none;white-space:nowrap;font-family:'DM Sans',sans-serif;}

/* — NEWSLETTER IN FOOTER — */
.foot-newsletter{margin-top:1rem;}
.foot-nl-label{font-size:.72rem;font-weight:600;color:rgba(255,255,255,.35);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem;}
.foot-nl-form{display:flex;gap:.5rem;}
.foot-nl-input{flex:1;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:.5rem .8rem;font-size:.82rem;color:#fff;outline:none;font-family:'DM Sans',sans-serif;min-width:0;}
.foot-nl-input::placeholder{color:rgba(255,255,255,.3);}
.foot-nl-input:focus{border-color:var(--sage-m);}
.foot-nl-btn{background:var(--sage);color:#fff;font-size:.8rem;font-weight:700;padding:.5rem .9rem;border-radius:var(--r);border:none;white-space:nowrap;font-family:'DM Sans',sans-serif;cursor:pointer;transition:background .15s;}
.foot-nl-btn:hover{background:var(--sage2);}

/* — SOCIAL ICONS IN FOOTER — */
.foot-socials{display:flex;gap:.75rem;margin-top:1rem;}
.foot-social{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:background .15s;}
.foot-social:hover{background:rgba(255,255,255,.14);}
.foot-social svg{width:15px;height:15px;fill:rgba(255,255,255,.5);}

/* ————— DESIGN ELEVATION PACK ————— */

/* Scroll progress bar */
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--sage),var(--gold));z-index:300;width:0%;transition:width .1s linear;}

/* Hero: layered glow atmosphere */
.hero{background:
  radial-gradient(ellipse 700px 480px at 82% 18%, rgba(74,124,89,0.14) 0%, transparent 60%),
  radial-gradient(ellipse 560px 420px at 8% 85%, rgba(201,151,42,0.10) 0%, transparent 60%),
  linear-gradient(150deg,#f7f2e9 0%,#f1ead9 45%,#f4efe5 100%);}
.hero::before{content:'';position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(74,124,89,.13) 0%,transparent 70%);top:-140px;right:-100px;pointer-events:none;animation:drift 14s ease-in-out infinite alternate;}
@keyframes drift{0%{transform:translate(0,0) scale(1);}100%{transform:translate(-50px,45px) scale(1.12);}}

/* Hero entrance sequence */
@keyframes riseIn{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}
.hero-kicker{animation:riseIn .7s cubic-bezier(.16,1,.3,1) both .05s;}
.hero h1{animation:riseIn .8s cubic-bezier(.16,1,.3,1) both .15s;}
.hero-desc{animation:riseIn .8s cubic-bezier(.16,1,.3,1) both .28s;}
.hero-actions{animation:riseIn .8s cubic-bezier(.16,1,.3,1) both .4s;}
.hero-proof{animation:riseIn .8s cubic-bezier(.16,1,.3,1) both .52s;}
.hero-visual-wrap{animation:riseIn 1s cubic-bezier(.16,1,.3,1) both .35s;}

/* Offer pill with heartbeat */
.hero-offer-pill{display:inline-flex;align-items:center;gap:.6rem;background:linear-gradient(135deg,var(--sage) 0%,var(--sage2) 100%);color:#fff;font-size:.78rem;font-weight:600;padding:.45rem 1.1rem .45rem .55rem;border-radius:99px;margin-bottom:1.6rem;box-shadow:0 6px 24px rgba(74,124,89,.35);cursor:pointer;transition:transform .2s,box-shadow .2s;animation:riseIn .7s cubic-bezier(.16,1,.3,1) both 0s;}
.hero-offer-pill:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(74,124,89,.45);}
.hop-tag{background:rgba(255,255,255,.92);color:var(--sage2);font-size:.68rem;font-weight:800;padding:.2rem .6rem;border-radius:99px;letter-spacing:.03em;animation:pulse-tag 2.2s ease-in-out infinite;}
@keyframes pulse-tag{0%,100%{transform:scale(1);}50%{transform:scale(1.06);}}

/* Primary CTA: gradient, shine sweep, arrow slide */
.b-sage{background:linear-gradient(135deg,#5a8f69 0%,var(--sage) 45%,var(--sage2) 100%);position:relative;overflow:hidden;}
.b-sage::after{content:'';position:absolute;top:0;left:-80%;width:60%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .55s ease;}
.b-sage:hover::after{left:130%;}
.b-sage-lg{box-shadow:0 8px 28px rgba(74,124,89,.35);}
.b-sage-lg:hover{box-shadow:0 12px 36px rgba(74,124,89,.48);transform:translateY(-2px);}
.cta-arrow{display:inline-block;transition:transform .25s ease;margin-left:.35rem;}
.b-sage-lg:hover .cta-arrow{transform:translateX(4px);}

/* Phone: perspective tilt + halo */
.hero-visual-wrap::before{content:'';position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(74,124,89,.22) 0%,rgba(201,151,42,.08) 45%,transparent 70%);z-index:0;filter:blur(12px);animation:halo 6s ease-in-out infinite alternate;}
@keyframes halo{from{transform:scale(.95);opacity:.8;}to{transform:scale(1.1);opacity:1;}}
.phone-outer{transform:rotate(2.5deg);transition:transform .5s cubic-bezier(.16,1,.3,1);}
.hero-visual-wrap:hover .phone-outer{transform:rotate(0deg) scale(1.02);}

/* Floating cards drift in */
@keyframes floatCardA{from{opacity:0;transform:translateX(24px);}to{opacity:1;transform:translateX(0);}}
@keyframes floatCardB{from{opacity:0;transform:translateX(-24px);}to{opacity:1;transform:translateX(0);}}
.float-a{animation:floatCardA .7s cubic-bezier(.16,1,.3,1) both 1s;}
.float-b{animation:floatCardB .7s cubic-bezier(.16,1,.3,1) both 1.3s;}

/* Pay amount pop */
@keyframes amountPop{0%{transform:scale(.92);opacity:.4;}60%{transform:scale(1.04);}100%{transform:scale(1);opacity:1;}}
.pcp-amount.counted{animation:amountPop .5s ease both;}

/* Nav: active section highlight */
.nav-links a{position:relative;padding-bottom:2px;}
.nav-links a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--sage);border-radius:2px;transition:width .25s ease;}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-links a.active{color:var(--sage);font-weight:600;}

/* Banner dismiss */
.banner{position:relative;}
.banner-close{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.55);font-size:1rem;cursor:pointer;padding:.2rem .45rem;line-height:1;transition:color .15s;}
.banner-close:hover{color:#fff;}

/* Feature cards: glow lift */
.fc{position:relative;}
.fc:hover{border-color:var(--sage-m);box-shadow:0 12px 40px rgba(74,124,89,.14),0 2px 10px rgba(0,0,0,.05);transform:translateY(-5px);}
.fc:hover .fc-icon{background:var(--sage);border-color:var(--sage);}
.fc:hover .fc-icon svg{stroke:#fff;}
.fc-icon{transition:background .25s,border-color .25s;}
.fc-icon svg{transition:stroke .25s;}

/* Stats: count-up ready + gradient wash */
.stats-strip{background:
  radial-gradient(ellipse 600px 300px at 15% 0%, rgba(255,255,255,.06) 0%, transparent 60%),
  linear-gradient(135deg,#2a4a35 0%,#1f3a29 100%);}

/* Pricing featured: shimmer border */
.pc.feat{position:relative;}
.pc.feat::before{content:'';position:absolute;inset:-2px;border-radius:calc(var(--r-2xl) + 2px);background:linear-gradient(120deg,var(--sage-m),var(--gold),var(--sage-m),var(--sage));background-size:300% 300%;z-index:-1;animation:shimmerB 5s linear infinite;}
@keyframes shimmerB{0%{background-position:0% 50%;}100%{background-position:300% 50%;}}

/* Testimonial: featured quote treatment */
.tc-featured{grid-column:1 / -1;background:linear-gradient(135deg,var(--sage3) 0%,#1f3a29 100%);border:none;display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:center;padding:2.5rem 3rem;}
@media(max-width:760px){.tc-featured{grid-template-columns:1fr;padding:1.75rem;}}
.tc-featured .tcf-quote{font-family:'DM Serif Display',serif;font-style:italic;font-size:1.5rem;color:#fff;line-height:1.5;}
.tc-featured .tcf-author{font-size:.875rem;color:rgba(255,255,255,.6);margin-top:1rem;}
.tc-featured .tcf-author strong{color:#fff;font-weight:600;}
.tcf-mark{font-family:'DM Serif Display',serif;font-size:5rem;color:var(--sage-m);line-height:.7;opacity:.5;}

/* CTA: aurora gradient */
.cta-section{background:
  radial-gradient(ellipse 800px 500px at 85% 10%, rgba(181,217,194,.14) 0%, transparent 55%),
  radial-gradient(ellipse 600px 400px at 5% 90%, rgba(201,151,42,.12) 0%, transparent 55%),
  linear-gradient(140deg,#2a4a35 0%,#1c3524 55%,#243f2e 100%);position:relative;overflow:hidden;}
.cta-section::before{content:'';position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(181,217,194,.09) 0%,transparent 70%);bottom:-260px;right:-160px;animation:drift 16s ease-in-out infinite alternate-reverse;pointer-events:none;}
.btn-white-cta{box-shadow:0 10px 36px rgba(0,0,0,.3);transition:transform .2s,box-shadow .2s,opacity .15s;}
.btn-white-cta:hover{transform:translateY(-2px);box-shadow:0 16px 44px rgba(0,0,0,.4);opacity:1;}

/* How-it-works: mobile fix + connector line */
.hiw-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;position:relative;}
@media(max-width:900px){.hiw-grid-4{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.hiw-grid-4{grid-template-columns:1fr;}}
.hiw-num-circle{transition:transform .25s,box-shadow .25s;}
.hiw-step-card:hover .hiw-num-circle{transform:scale(1.12);box-shadow:0 8px 24px rgba(74,124,89,.35);}

/* Trust badge hover */
.tb-item{transition:color .2s;}
.tb-item:hover{color:var(--sage2);}
.tb-item:hover .tb-icon{background:var(--sage);border-color:var(--sage);}
.tb-item:hover .tb-icon svg{stroke:#fff;}
.tb-icon{transition:background .2s,border-color .2s;}
.tb-icon svg{transition:stroke .2s;}

/* Photo strip caption slide */
.ps-card-caption{transform:translateY(4px);transition:transform .3s ease;}
.ps-card:hover .ps-card-caption{transform:translateY(0);}


/* — HAMBURGER — */
.hamburger{display:none;background:none;border:none;width:38px;height:38px;border-radius:8px;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;transition:background .15s;}
.hamburger:hover{background:var(--sand);}
.hamburger span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .25s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:900px){.hamburger{display:flex;}}
.mobile-menu{display:none;position:fixed;top:64px;left:0;right:0;background:var(--stone);border-bottom:1px solid var(--border);z-index:99;padding:1rem 2rem 1.5rem;box-shadow:0 16px 40px rgba(0,0,0,.1);}
.mobile-menu.open{display:block;animation:riseIn .3s ease both;}
.mobile-menu a{display:block;padding:.85rem 0;font-size:1rem;font-weight:500;color:var(--ink2);border-bottom:1px solid var(--border);}
.mobile-menu a:last-of-type{border-bottom:none;}
.mobile-menu .b-sage{width:100%;margin-top:1rem;padding:.75rem;font-size:.95rem;}

/* — SIGNUP MODAL — */
.modal-overlay{position:fixed;inset:0;background:rgba(26,26,26,.55);backdrop-filter:blur(6px);z-index:400;display:none;align-items:center;justify-content:center;padding:1.5rem;}
.modal-overlay.open{display:flex;animation:fadeIn .25s ease both;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.modal{background:var(--stone);border-radius:24px;max-width:440px;width:100%;padding:2.5rem;position:relative;box-shadow:0 32px 80px rgba(0,0,0,.3);animation:modalIn .35s cubic-bezier(.16,1,.3,1) both;}
@keyframes modalIn{from{opacity:0;transform:translateY(24px) scale(.97);}to{opacity:1;transform:translateY(0) scale(1);}}
.modal-close{position:absolute;top:1.1rem;right:1.1rem;width:32px;height:32px;border-radius:50%;background:var(--sand);border:none;color:var(--ink3);font-size:.95rem;cursor:pointer;transition:background .15s,color .15s;}
.modal-close:hover{background:var(--sand3);color:var(--ink);}
.modal h3{font-size:1.6rem;color:var(--ink);margin-bottom:.4rem;}
.modal h3 em{font-style:italic;color:var(--sage);}
.modal .m-sub{font-size:.875rem;color:var(--ink2);margin-bottom:1.5rem;line-height:1.65;}
.m-field{margin-bottom:.85rem;}
.m-field label{display:block;font-size:.75rem;font-weight:600;color:var(--ink2);margin-bottom:.3rem;letter-spacing:.02em;}
.m-field input{width:100%;background:#fff;border:1.5px solid var(--border2);border-radius:10px;padding:.65rem .85rem;font-size:.9rem;font-family:'DM Sans',sans-serif;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s;}
.m-field input:focus{border-color:var(--sage);box-shadow:0 0 0 3px var(--sage-l);}
.m-submit{width:100%;margin-top:.5rem;padding:.8rem;font-size:.95rem;border-radius:12px;}
.m-fine{font-size:.7rem;color:var(--ink3);text-align:center;margin-top:.85rem;}
.m-success{text-align:center;padding:1rem 0;}
.m-success-icon{width:64px;height:64px;border-radius:50%;background:var(--sage-l);border:2px solid var(--sage-m);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;font-size:1.6rem;color:var(--sage);}

/* — PRICE CALCULATOR — */
.calc-card{background:#fff;border:1.5px solid var(--sage-m);border-radius:20px;padding:1.75rem 2rem;margin-top:2.5rem;display:grid;grid-template-columns:1fr auto;gap:2.5rem;align-items:center;box-shadow:0 8px 32px rgba(74,124,89,.1);}
@media(max-width:760px){.calc-card{grid-template-columns:1fr;gap:1.5rem;}}
.calc-label{font-size:.72rem;font-weight:700;color:var(--sage);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;}
.calc-question{font-family:'DM Serif Display',serif;font-size:1.3rem;color:var(--ink);margin-bottom:1.1rem;}
.calc-question strong{color:var(--sage);}
.calc-slider{width:100%;-webkit-appearance:none;appearance:none;height:8px;border-radius:99px;background:linear-gradient(to right,var(--sage) 0%,var(--sage) var(--fill,28%),var(--sand2) var(--fill,28%),var(--sand2) 100%);outline:none;cursor:pointer;}
.calc-slider::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--sage);box-shadow:0 2px 10px rgba(74,124,89,.35);cursor:grab;}
.calc-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--sage);box-shadow:0 2px 10px rgba(74,124,89,.35);cursor:grab;}
.calc-result{text-align:center;min-width:200px;}
.calc-price{font-family:'DM Serif Display',serif;font-size:3rem;color:var(--sage2);letter-spacing:-.03em;line-height:1;}
.calc-price sup{font-size:1.2rem;}
.calc-per{font-size:.75rem;color:var(--ink3);margin-top:.3rem;}
.calc-plan{display:inline-block;margin-top:.65rem;font-size:.7rem;font-weight:700;background:var(--sage-l);color:var(--sage2);border:1px solid var(--sage-m);padding:.25rem .75rem;border-radius:99px;}

/* ————— WOW PACK ————— */

/* Nav shrink on scroll */
.nw{transition:height .25s ease;}
body.scrolled nav{box-shadow:0 4px 24px rgba(0,0,0,.07);}
body.scrolled .nw{height:54px;}

/* — MEGA MENU — */
.nav-item{position:relative;}
.nav-top{background:none;border:none;font-size:.875rem;color:var(--ink2);display:flex;align-items:center;gap:.35rem;padding:.4rem 0;font-family:'DM Sans',sans-serif;cursor:pointer;transition:color .15s;font-weight:400;letter-spacing:.01em;}
.nav-item:hover .nav-top,.nav-item:focus-within .nav-top{color:var(--sage);}
.nav-chev{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s;}
.nav-item:hover .nav-chev,.nav-item:focus-within .nav-chev{transform:rotate(180deg);}
.dd{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);padding-top:14px;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .28s cubic-bezier(.16,1,.3,1);z-index:150;}
.nav-item:hover .dd,.nav-item:focus-within .dd{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.dd-card{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.13),0 4px 16px rgba(0,0,0,.05);padding:.6rem;min-width:310px;}
.nav-links .dd-item{display:flex;gap:.8rem;align-items:flex-start;padding:.72rem .8rem;border-radius:11px;transition:background .15s;padding-bottom:.72rem;}
.nav-links .dd-item::after{display:none!important;}
.dd-item:hover{background:var(--sage-l);}
.dd-ic{width:34px;height:34px;border-radius:9px;background:var(--sage-l);border:1px solid var(--sage-m);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,border-color .2s;}
.dd-ic svg{width:16px;height:16px;stroke:var(--sage);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s;}
.dd-item:hover .dd-ic{background:var(--sage);border-color:var(--sage);}
.dd-item:hover .dd-ic svg{stroke:#fff;}
.dd-item strong{display:block;font-size:.845rem;font-weight:600;color:var(--ink);line-height:1.3;}
.dd-item em{display:block;font-style:normal;font-size:.72rem;color:var(--ink3);margin-top:.12rem;line-height:1.45;}
.dd-item:hover strong{color:var(--sage2);}
.mm-label{font-size:.65rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);padding:.9rem 0 .3rem;}
.mobile-menu .mm-label{border-bottom:none;}

/* — LOGO MARQUEE — */
.marquee{overflow:hidden;flex:1;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);}
.marquee-track{display:flex;width:max-content;animation:marquee 26s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.m-set{display:flex;gap:3.5rem;padding-right:3.5rem;align-items:center;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* — HEADING BLUR-IN — */
@keyframes blurIn{from{opacity:0;filter:blur(10px);transform:translateY(14px);}to{opacity:1;filter:blur(0);transform:translateY(0);}}
.reveal.visible h2.sh{animation:blurIn .9s cubic-bezier(.16,1,.3,1) both;}

/* — CURSOR SPOTLIGHT — */
.spotlight{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s ease;background:radial-gradient(550px circle at var(--mx,50%) var(--my,30%),rgba(74,124,89,.1),transparent 60%);}
.hero:hover .spotlight{opacity:1;}
.cta-section .spotlight{background:radial-gradient(650px circle at var(--mx,50%) var(--my,50%),rgba(181,217,194,.14),transparent 60%);}
.cta-section:hover .spotlight{opacity:1;}

/* — 3D TILT CARDS — */
.fc,.pc,.tc{will-change:transform;}
.fc:hover{transform:none;}

/* — MAGNETIC BUTTONS — */
.b-sage-lg,.btn-white-cta{will-change:transform;}



/* ——— FINAL POLISH ——— */
.skip-link{position:absolute;top:-48px;left:1rem;background:var(--sage);color:#fff;font-size:.8rem;font-weight:700;padding:.55rem 1rem;border-radius:0 0 10px 10px;z-index:500;transition:top .2s;}
.skip-link:focus{top:0;}

/* FAQ filter chips */
.faq-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem;}
.chip{background:var(--sand);border:1px solid var(--border);border-radius:99px;padding:.4rem 1rem;font-size:.78rem;font-weight:600;color:var(--ink2);transition:all .15s;}
.chip:hover{border-color:var(--sage-m);color:var(--sage2);}
.chip.active{background:var(--sage);border-color:var(--sage);color:#fff;}
.faq-row.hide{display:none;}



/* Reduced motion */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important;}}
