/* ============================================================
   AION SOCIETY — Global Stylesheet
   "Clinical Trust" palette — light-first, medical-professional.
   Deep-navy header/hero/footer; clean white body; blue + teal accents.
   ============================================================ */

/* --- Self-hosted fonts (Lora + Poppins, latin subset) ---
   Served locally from /assets/fonts to remove the render-blocking
   third-party Google Fonts request and the privacy/GDPR hit of
   calling fonts.gstatic.com. font-display:swap keeps text visible. */
@font-face{font-family:'Lora';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/lora-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/lora-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/lora-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Lora';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/lora-latin-400-italic.woff2') format('woff2')}
@font-face{font-family:'Lora';font-style:italic;font-weight:500;font-display:swap;src:url('../fonts/lora-latin-500-italic.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/poppins-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/poppins-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/poppins-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/poppins-latin-600-normal.woff2') format('woff2')}

/* --- Breadcrumbs (shared, used on key pages + articles) --- */
.crumbs{font-family:var(--sans);font-size:12.5px;letter-spacing:.04em;color:var(--muted-2);margin-bottom:20px}
.crumbs a{color:var(--teal-dark);text-decoration:none}
.crumbs a:hover{text-decoration:underline}

:root{
  /* core */
  --clinic:#F7FAFB;        /* page background */
  --surface:#FFFFFF;        /* white panels */
  --ink:#102A3A;            /* primary text on light */
  --navy:#0E2A3B;           /* deep sections / header */
  --navy-deep:#0A2230;
  --navy-2:#12384C;
  --blue:#2D6E8E;           /* medical trust blue */
  --teal:#2FA39A;           /* primary accent */
  --teal-dark:#1F7A73;
  --sage:#DCEAE6;
  --sage-soft:#EAF3EF;      /* soft section background */
  --ivory:#EEF5F8;          /* text on dark */
  --muted-dark:#A7C0CB;     /* secondary text on dark */
  --muted-2:#566873;        /* secondary text on light */

  /* legacy var names kept so inline refs flip to the new accents */
  --midnight:#0E2A3B; --midnight-deep:#0A2230; --midnight-2:#12384C; --midnight-3:#16415a;
  --gold:#1F7A73;           /* repurposed -> teal-dark accent */
  --gold-light:#2FA39A;     /* repurposed -> teal accent */

  --hair:rgba(16,42,58,0.12);
  --hair-strong:rgba(16,42,58,0.20);
  --hair-soft:rgba(255,255,255,0.14);

  --serif:'Lora',Georgia,'Times New Roman',serif;
  --sans:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

  --maxw:1180px;
  --ease:cubic-bezier(0.22,1,0.36,1);
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
html.lenis{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }

body{
  font-family:var(--sans);
  background:var(--clinic);
  color:var(--ink);
  font-size:17px;
  line-height:1.65;
  font-weight:300;
  overflow-x:hidden;
}

::selection{ background:var(--teal); color:#fff; }

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }

/* ---------- Layout ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 28px; }
.section{ padding:118px 0; position:relative; }
.section.tight{ padding:80px 0; }
.section--light{ background:var(--surface); color:var(--ink); }
.section--sage{ background:var(--sage-soft); color:var(--ink); }
.section--deep{ background:linear-gradient(165deg,var(--navy-2) 0%,var(--navy) 55%,var(--navy-deep) 100%); color:var(--ivory); }
.center{ text-align:center; }
.mx-auto{ margin-left:auto; margin-right:auto; }

/* ---------- Typography ---------- */
.eyebrow{ font-size:12px; letter-spacing:0.36em; text-transform:uppercase; color:var(--teal-dark); font-weight:600; margin-bottom:22px; display:inline-block; }
h1,h2,h3,h4{ font-family:var(--serif); font-weight:600; line-height:1.1; letter-spacing:-0.01em; color:var(--ink); }
.display{ font-size:clamp(2.6rem,6.2vw,4.9rem); line-height:1.03; font-weight:600; }
h1{ font-size:clamp(2.3rem,5vw,3.7rem); }
h2{ font-size:clamp(1.9rem,3.6vw,2.8rem); }
h3{ font-size:clamp(1.25rem,2vw,1.55rem); }
.serif-italic{ font-family:var(--serif); font-style:italic; }

p{ margin-bottom:1.1rem; }
.lead{ font-size:clamp(1.05rem,1.5vw,1.26rem); line-height:1.6; color:var(--muted-2); font-weight:300; }
.muted{ color:var(--muted-2); }
.gold{ color:var(--teal-dark); }
.measure{ max-width:62ch; }
.measure-sm{ max-width:48ch; }

.goldline{ width:54px; height:2px; background:var(--teal); border:0; margin:26px 0; }
.center .goldline{ margin-left:auto; margin-right:auto; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--sans); font-size:13px; font-weight:500;
  letter-spacing:0.14em; text-transform:uppercase;
  padding:16px 32px; border-radius:4px; cursor:pointer;
  border:1px solid var(--teal); position:relative; will-change:transform;
  transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
}
.btn--primary{ background:var(--teal); color:#fff; }
.btn--primary:hover{ background:var(--teal-dark); border-color:var(--teal-dark); }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--hair-strong); }
.btn--ghost:hover{ border-color:var(--teal); color:var(--teal-dark); }
.btn .arrow{ transition:transform .35s var(--ease); }
.btn:hover .arrow{ transform:translateX(4px); }

.textlink{ font-size:13px; letter-spacing:0.14em; text-transform:uppercase; font-weight:500; color:var(--teal-dark); border-bottom:1px solid rgba(47,163,154,0.4); padding-bottom:4px; transition:border-color .3s; }
.textlink:hover{ border-color:var(--teal); }

/* ---------- Dark-context overrides (nav / hero / deep / cta / footer) ---------- */
.hero, .section--deep, .cta-band, .footer{ color:var(--ivory); }
.hero h1,.hero h2,.hero h3,.section--deep h1,.section--deep h2,.section--deep h3,.cta-band h1,.cta-band h2{ color:var(--ivory); }
.hero .lead,.section--deep .lead,.cta-band .lead{ color:var(--muted-dark); }
.hero .muted,.section--deep .muted,.cta-band .muted,.footer .muted{ color:var(--muted-dark); }
.hero .eyebrow,.section--deep .eyebrow,.cta-band .eyebrow{ color:var(--teal); }
.hero .btn--ghost,.cta-band .btn--ghost,.section--deep .btn--ghost{ color:var(--ivory); border-color:rgba(238,245,248,0.34); }
.hero .btn--ghost:hover,.cta-band .btn--ghost:hover,.section--deep .btn--ghost:hover{ color:var(--teal); border-color:var(--teal); }
.section--deep .textlink{ color:var(--teal); border-color:rgba(47,163,154,0.5); }

/* ---------- Header / Nav (solid navy bar) ---------- */
.nav{ position:fixed; top:0; left:0; right:0; z-index:1000; padding:18px 0; background:var(--navy); border-bottom:1px solid var(--hair-soft); transition:padding .4s var(--ease), box-shadow .4s; }
.nav.scrolled{ padding:11px 0; box-shadow:0 6px 24px rgba(10,34,48,0.28); }
.nav .wrap{ display:flex; align-items:center; justify-content:space-between; }
.nav__logo img{ height:40px; transition:height .4s var(--ease); }
.nav.scrolled .nav__logo img{ height:33px; }
.nav__links{ display:flex; align-items:center; gap:30px; list-style:none; }
.nav__links a{ font-size:13px; letter-spacing:0.08em; text-transform:uppercase; font-weight:400; color:var(--ivory); opacity:.82; transition:opacity .3s,color .3s; }
.nav__links a:hover{ opacity:1; color:var(--teal); }
.nav__links a.active{ color:var(--teal); opacity:1; }
.nav__cta{ padding:11px 22px; font-size:12px; }
.nav__toggle{ display:none; background:none; border:0; cursor:pointer; flex-direction:column; gap:5px; padding:6px; }
.nav__toggle span{ width:26px; height:2px; background:var(--ivory); transition:.3s; }

.mobile-menu{ position:fixed; inset:0; z-index:999; background:var(--navy-deep); display:flex; flex-direction:column; justify-content:center; align-items:center; gap:18px; transform:translateY(-100%); transition:transform .55s var(--ease); padding:80px 28px; }
.mobile-menu.open{ transform:translateY(0); }
.mobile-menu a{ font-family:var(--serif); font-size:1.8rem; color:var(--ivory); }
.mobile-menu a:hover{ color:var(--teal); }

/* ---------- Hero (home) ---------- */
.hero{ position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; background:linear-gradient(165deg,var(--navy-2) 0%,var(--navy) 50%,var(--navy-deep) 100%); }
.hero__canvas{ position:absolute; inset:0; z-index:0; }
.hero::after{ content:""; position:absolute; inset:0; z-index:1;
  background:radial-gradient(120% 90% at 75% 0%, rgba(47,163,154,0.12), rgba(14,42,59,0) 50%),
             linear-gradient(180deg, rgba(10,34,48,0.45) 0%, rgba(14,42,59,0.30) 40%, rgba(10,34,48,0.92) 100%);
  pointer-events:none; }
.hero__inner{ position:relative; z-index:2; width:100%; }
.hero__sub{ font-size:clamp(1rem,1.4vw,1.2rem); color:var(--muted-dark); margin:26px 0 8px; }
.hero__tag{ font-family:var(--serif); font-style:italic; color:var(--teal); font-size:clamp(1.05rem,1.6vw,1.35rem); margin-bottom:34px; }
.hero__cta{ display:flex; gap:16px; flex-wrap:wrap; }
.scrollcue{ position:absolute; bottom:34px; left:50%; transform:translateX(-50%); z-index:3; font-size:10px; letter-spacing:0.3em; text-transform:uppercase; color:var(--muted-dark); display:flex; flex-direction:column; align-items:center; gap:10px; }
.scrollcue .line{ width:1px; height:46px; background:linear-gradient(var(--teal),transparent); animation:cue 2.2s var(--ease) infinite; transform-origin:top; }
@keyframes cue{ 0%{transform:scaleY(0);} 40%{transform:scaleY(1);} 100%{transform:scaleY(0); transform-origin:bottom;} }

/* ---------- Trust strip ---------- */
.trust{ border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); background:var(--surface); }
.trust .wrap{ display:flex; justify-content:center; gap:46px; flex-wrap:wrap; padding-top:24px; padding-bottom:24px; }
.trust span{ font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted-2); display:flex; align-items:center; gap:10px; }
.trust span::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--teal); }

/* ---------- Steps ---------- */
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.step{ position:relative; padding:36px 28px; border:1px solid var(--hair); border-radius:8px; background:var(--surface); transition:transform .45s var(--ease), border-color .45s, box-shadow .45s; }
.step:hover{ transform:translateY(-5px); border-color:var(--teal); box-shadow:0 14px 34px rgba(16,42,58,0.08); }
.step__n{ font-family:var(--serif); font-size:2.5rem; color:var(--teal); line-height:1; margin-bottom:16px; }
.step h3{ margin-bottom:12px; }
.step p{ color:var(--muted-2); font-size:15px; margin:0; }
.section--deep .step{ background:rgba(255,255,255,0.05); border-color:var(--hair-soft); }
.section--deep .step h3{ color:var(--ivory); }
.section--deep .step p{ color:var(--muted-dark); }

/* ---------- Feature / split / cards ---------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:66px; align-items:center; }
.split--narrow{ gap:52px; }
.cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.card{ padding:32px 30px; border:1px solid var(--hair); border-radius:8px; background:var(--surface); }
.section--deep .card{ background:rgba(255,255,255,0.05); border-color:var(--hair-soft); }
.card .ch{ font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--teal-dark); font-weight:600; margin-bottom:14px; }
.section--deep .card .ch{ color:var(--teal); }
.card h3{ margin-bottom:12px; }
.section--deep .card h3{ color:var(--ivory); }
.card p{ color:var(--muted-2); font-size:15px; margin:0; }
.section--deep .card p{ color:var(--muted-dark); }

ul.ticks{ list-style:none; }
ul.ticks li{ position:relative; padding:0 0 14px 30px; color:var(--muted-2); }
ul.ticks li::before{ content:""; position:absolute; left:0; top:9px; width:8px; height:8px; border-radius:50%; background:var(--teal); }
ul.ticks li b{ color:var(--ink); font-weight:500; }
.section--deep ul.ticks li{ color:var(--muted-dark); }
.section--deep ul.ticks li b{ color:var(--ivory); }

/* ---------- Stat row ---------- */
.stats{ display:grid; grid-template-columns:repeat(3,auto); gap:34px; justify-content:space-between; align-items:start; text-align:center; }
.stat .num{ font-family:var(--serif); font-size:clamp(1.5rem,2.4vw,2.1rem); color:var(--teal-dark); line-height:1.05; white-space:nowrap; }
.section--deep .stat .num{ color:var(--teal); }
.stat .lab{ font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted-2); margin-top:12px; }
.section--deep .stat .lab{ color:var(--muted-dark); }

/* ---------- Pull quote ---------- */
.pullquote{ font-family:var(--serif); font-style:italic; font-size:clamp(1.5rem,3vw,2.3rem); line-height:1.4; color:var(--ink); }
.section--deep .pullquote{ color:var(--ivory); }
.pullquote .gold{ color:var(--teal-dark); }
.section--deep .pullquote .gold{ color:var(--teal); }

/* ---------- Accordion (FAQ) ---------- */
.acc{ border-top:1px solid var(--hair); }
.acc__item{ border-bottom:1px solid var(--hair); }
.acc__head{ width:100%; text-align:left; background:none; border:0; cursor:pointer; color:inherit; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 4px; font-family:var(--serif); font-size:1.16rem; font-weight:600; }
.acc__head .ic{ flex:0 0 auto; width:22px; height:22px; position:relative; }
.acc__head .ic::before,.acc__head .ic::after{ content:""; position:absolute; background:var(--teal); transition:transform .35s var(--ease); }
.acc__head .ic::before{ top:10px; left:0; width:22px; height:2px; }
.acc__head .ic::after{ top:0; left:10px; width:2px; height:22px; }
.acc__item.open .ic::after{ transform:scaleY(0); }
.acc__body{ max-height:0; overflow:hidden; transition:max-height .45s var(--ease); }
.acc__body .inner{ padding:0 4px 26px; color:var(--muted-2); max-width:72ch; }

/* ---------- Forms ---------- */
.form{ max-width:560px; }
.field{ margin-bottom:22px; }
.field label{ display:block; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted-2); margin-bottom:9px; }
.field input,.field select,.field textarea{ width:100%; background:var(--surface); border:1px solid var(--hair-strong); color:var(--ink); font-family:var(--sans); font-size:16px; padding:14px 16px; border-radius:4px; transition:border-color .3s; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--teal); }
.checkrow{ display:flex; gap:12px; align-items:flex-start; font-size:14px; color:var(--muted-2); }
.checkrow input{ width:auto; margin-top:5px; }

/* ---------- Quiz ---------- */
.quiz{ max-width:680px; margin:0 auto; }
.quiz__bar{ height:4px; background:var(--sage); border-radius:4px; overflow:hidden; margin-bottom:44px; }
.quiz__bar i{ display:block; height:100%; width:0; background:var(--teal); transition:width .5s var(--ease); }
.quiz__step{ display:none; }
.quiz__step.active{ display:block; animation:fadeUp .5s var(--ease); }
.quiz__q{ font-family:var(--serif); font-size:clamp(1.5rem,3vw,2rem); margin-bottom:26px; }
.opts{ display:grid; gap:13px; }
.opt{ display:block; width:100%; text-align:left; cursor:pointer; padding:19px 22px; border:1px solid var(--hair-strong); border-radius:6px; background:var(--surface); color:var(--ink); font-size:16px; transition:border-color .3s, background .3s; }
.opt:hover{ border-color:var(--teal); background:var(--sage-soft); }
.opt.sel{ border-color:var(--teal); background:rgba(47,163,154,0.10); }
.quiz__nav{ display:flex; justify-content:space-between; margin-top:32px; }
@keyframes fadeUp{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;} }

/* ---------- CTA band ---------- */
.cta-band{ background:radial-gradient(100% 120% at 50% 0%, rgba(47,163,154,0.16), rgba(14,42,59,0) 55%), linear-gradient(165deg,var(--navy-2),var(--navy-deep)); text-align:center; }

/* ---------- Footer ---------- */
.footer{ background:var(--navy-deep); border-top:1px solid var(--hair-soft); padding:70px 0 32px; }
.footer__top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:46px; border-bottom:1px solid var(--hair-soft); }
.footer__brand img{ height:60px; margin-bottom:18px; }
.footer__brand p{ color:var(--muted-dark); font-size:14px; max-width:30ch; }
.footer h4{ font-family:var(--sans); font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:var(--teal); margin-bottom:18px; font-weight:600; }
.footer ul{ list-style:none; }
.footer ul li{ margin-bottom:11px; }
.footer ul a{ color:var(--muted-dark); font-size:14px; transition:color .3s; }
.footer ul a:hover{ color:var(--ivory); }
.footer__bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; padding-top:26px; color:var(--muted-dark); font-size:12.5px; }
.footer__bottom .disc{ max-width:62ch; line-height:1.6; }

/* ---------- Reveal animation ---------- */
.reveal{ transition:opacity .9s var(--ease), transform .9s var(--ease); }
html.js .reveal{ opacity:0; transform:translateY(28px); }
html.js .reveal.in{ opacity:1 !important; transform:none !important; }
.reveal[data-d="1"]{ transition-delay:.1s; }
.reveal[data-d="2"]{ transition-delay:.2s; }
.reveal[data-d="3"]{ transition-delay:.3s; }
.reveal[data-d="4"]{ transition-delay:.4s; }

/* ---------- Page hero (interior) — light & clinical ---------- */
.phero{ padding:185px 0 84px; position:relative; overflow:hidden; background:var(--clinic); }
.phero::before{ content:""; position:absolute; inset:0; background:radial-gradient(80% 80% at 82% -10%, rgba(47,163,154,0.10), rgba(247,250,251,0) 60%); pointer-events:none; }
.phero .wrap{ position:relative; z-index:1; }

/* ---------- Custom cursor (desktop) ---------- */
.cursor{ position:fixed; top:0; left:0; width:32px; height:32px; border:1px solid var(--teal); border-radius:50%; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:width .3s,height .3s,background .3s,opacity .3s; }
.cursor.hover{ width:52px; height:52px; background:rgba(47,163,154,0.14); }
@media (hover:none){ .cursor{ display:none; } }

/* ---------- Badges / notes ---------- */
.note{ display:inline-flex; align-items:center; gap:9px; font-size:12.5px; letter-spacing:.06em; padding:8px 16px; border-radius:30px; border:1px solid var(--hair-strong); color:var(--muted-2); }
.note.amber{ border-color:rgba(47,163,154,0.5); color:var(--teal-dark); background:var(--sage-soft); }
.section--deep .note.amber{ color:var(--teal); background:rgba(47,163,154,0.10); }

/* ---------- Team / governance ---------- */
.team{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.member{ border:1px solid var(--hair); border-radius:8px; background:var(--surface); overflow:hidden; transition:transform .45s var(--ease), box-shadow .45s; }
.member:hover{ transform:translateY(-5px); box-shadow:0 14px 34px rgba(16,42,58,0.08); }
.member__ph{ height:188px; background:linear-gradient(160deg,var(--sage) 0%,var(--sage-soft) 100%); display:flex; align-items:center; justify-content:center; border-bottom:1px solid var(--hair); }
.member__ph .seal{ width:62px; opacity:.5; }
.member__ph--photo{ position:relative; height:248px; padding:0; background:var(--sage-soft); }
.member__ph--photo img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block; }
.member__disc{ font-size:12px; color:var(--muted-2); margin:10px 0 0; }
.member__b{ padding:24px 24px 28px; }
.member__role{ font-family:var(--serif); font-size:1.2rem; color:var(--ink); margin-bottom:4px; }
.member__tag{ font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--teal-dark); font-weight:600; margin-bottom:12px; }
.member__b p{ color:var(--muted-2); font-size:14px; margin:0; }

/* ---------- Scroll progress ---------- */
.progress{ position:fixed; top:0; left:0; height:3px; width:0; background:linear-gradient(90deg,var(--teal),var(--blue)); z-index:1100; transition:width .1s linear; }

/* ---------- Sticky conversion bar ---------- */
.sticky-cta{ position:fixed; left:0; right:0; bottom:0; z-index:990; background:rgba(14,42,59,0.96); backdrop-filter:blur(10px); border-top:1px solid var(--hair-soft); transform:translateY(110%); transition:transform .5s var(--ease); }
.sticky-cta.show{ transform:translateY(0); }
.sticky-cta .wrap{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:13px; padding-bottom:13px; }
.sticky-cta .msg{ color:var(--ivory); font-size:14.5px; }
.sticky-cta .msg b{ color:var(--teal); font-weight:500; }
.sticky-cta .right{ display:flex; align-items:center; gap:14px; }
.sticky-cta .x{ background:none; border:0; color:var(--muted-dark); cursor:pointer; font-size:20px; line-height:1; padding:4px; }
.sticky-cta .x:hover{ color:var(--ivory); }
@media (max-width:680px){ .sticky-cta .msg{ display:none; } .sticky-cta .wrap{ justify-content:center; } }

/* ---------- Quiz starter (hero) ---------- */
.qstarter{ background:rgba(255,255,255,0.05); border:1px solid var(--hair-soft); border-radius:12px; padding:26px 26px 22px; backdrop-filter:blur(6px); }
.qstarter .qk{ font-size:11px; letter-spacing:0.24em; text-transform:uppercase; color:var(--teal); font-weight:600; margin-bottom:14px; display:flex; align-items:center; gap:9px; }
.qstarter .qk::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--teal); display:inline-block; }
.qstarter h3{ color:var(--ivory); font-size:1.32rem; margin-bottom:18px; }
.qstarter .qopt{ display:block; width:100%; text-align:left; cursor:pointer; padding:14px 18px; margin-bottom:10px; border:1px solid var(--hair-soft); border-radius:8px; background:rgba(255,255,255,0.03); color:var(--ivory); font-family:var(--sans); font-size:15px; transition:border-color .3s, background .3s, transform .3s; }
.qstarter .qopt:hover{ border-color:var(--teal); background:rgba(47,163,154,0.14); transform:translateX(4px); }
.qstarter .qfoot{ font-size:12px; color:var(--muted-dark); margin-top:6px; text-align:center; }
.hero--split .hero__grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:54px; align-items:center; }
@media (max-width:920px){ .hero--split .hero__grid{ grid-template-columns:1fr; gap:40px; } .qstarter{ margin-top:6px; } }

/* ---------- Credibility band ---------- */
.cred{ background:var(--surface); border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); }
.cred .wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding-top:40px; padding-bottom:40px; }
.cred .item{ text-align:center; }
.cred .v{ font-family:var(--serif); font-size:clamp(1.7rem,3vw,2.3rem); color:var(--teal-dark); line-height:1; }
.cred .l{ font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted-2); margin-top:10px; }
@media (max-width:680px){ .cred .wrap{ grid-template-columns:1fr 1fr; gap:30px 16px; } }

/* ---------- Lead magnet ---------- */
.leadmag{ background:var(--sage-soft); }
.leadmag .box{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:50px; align-items:center; background:var(--surface); border:1px solid var(--hair); border-radius:14px; padding:46px 48px; }
.leadmag .badge{ display:inline-block; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--teal-dark); font-weight:600; margin-bottom:14px; }
.leadmag form{ display:flex; flex-direction:column; gap:12px; }
.leadmag .row{ display:flex; gap:10px; }
.leadmag input{ flex:1; background:var(--clinic); border:1px solid var(--hair-strong); color:var(--ink); font-family:var(--sans); font-size:15px; padding:14px 16px; border-radius:6px; }
.leadmag input:focus{ outline:none; border-color:var(--teal); }
.leadmag .ok{ color:var(--teal-dark); font-weight:500; }
@media (max-width:820px){ .leadmag .box{ grid-template-columns:1fr; gap:30px; padding:34px 26px; } .leadmag .row{ flex-direction:column; } }

/* ---------- Modal (exit intent) ---------- */
.modal{ position:fixed; inset:0; z-index:1200; background:rgba(8,19,28,0.7); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; visibility:hidden; transition:opacity .4s, visibility .4s; }
.modal.show{ opacity:1; visibility:visible; }
.modal__card{ position:relative; max-width:480px; width:100%; background:var(--surface); border-radius:14px; padding:44px 40px; text-align:center; transform:translateY(16px) scale(0.98); transition:transform .45s var(--ease); }
.modal.show .modal__card{ transform:none; }
.modal__card .seal{ width:48px; margin:0 auto 18px; opacity:.85; }
.modal__card h3{ font-size:1.6rem; margin-bottom:12px; }
.modal__card p{ color:var(--muted-2); font-size:15px; margin-bottom:22px; }
.modal__x{ position:absolute; top:14px; right:16px; background:none; border:0; font-size:24px; line-height:1; color:var(--muted-2); cursor:pointer; }
.modal__x:hover{ color:var(--ink); }

/* ---------- Newsletter (footer) ---------- */
.nl{ grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; padding:24px 0 4px; }
.nl .t{ font-family:var(--serif); color:var(--ivory); font-size:1.2rem; }
.nl form{ display:flex; gap:10px; }
.nl input{ background:rgba(255,255,255,0.06); border:1px solid var(--hair-soft); color:var(--ivory); font-family:var(--sans); font-size:14px; padding:12px 15px; border-radius:6px; min-width:240px; }
.nl input:focus{ outline:none; border-color:var(--teal); }
.nl .ok{ color:var(--teal); font-size:14px; }

/* ---------- Nav underline indicator ---------- */
.nav__links a{ position:relative; }
.nav__links a::after{ content:""; position:absolute; left:0; bottom:-7px; height:2px; width:0; background:var(--teal); transition:width .32s var(--ease); }
.nav__links a:hover::after,.nav__links a.active::after{ width:100%; }

/* ---------- Accessibility: focus-visible ---------- */
a:focus-visible, button:focus-visible, .btn:focus-visible, .opt:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{ outline:2px solid var(--teal); outline-offset:3px; border-radius:3px; }

/* ---------- Back to top ---------- */
.totop{ position:fixed; right:22px; bottom:90px; z-index:980; width:46px; height:46px; border-radius:50%; background:var(--navy); color:var(--ivory); border:1px solid var(--hair-soft); display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .4s var(--ease), transform .4s var(--ease), background .3s; box-shadow:0 8px 22px rgba(10,34,48,0.22); }
.totop.show{ opacity:1; visibility:visible; transform:none; }
.totop:hover{ background:var(--teal); color:#fff; }
.totop svg{ width:18px; height:18px; }
@media (max-width:680px){ .totop{ bottom:78px; right:16px; } }

/* ---------- Section divider motif ---------- */
.divider{ height:1px; background:linear-gradient(90deg,transparent,var(--hair) 30%,var(--hair) 70%,transparent); border:0; margin:0; }
.kicker{ display:flex; align-items:center; gap:14px; justify-content:center; margin-bottom:18px; }
.kicker::before,.kicker::after{ content:""; height:1px; width:42px; background:var(--hair); }
.section--deep .kicker::before,.section--deep .kicker::after{ background:var(--hair-soft); }

/* ---------- Related reading ---------- */
.relgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.relcard{ display:block; border:1px solid var(--hair); border-radius:10px; background:var(--surface); padding:24px 24px 22px; transition:transform .4s var(--ease), box-shadow .4s, border-color .4s; }
.relcard:hover{ transform:translateY(-5px); box-shadow:0 14px 32px rgba(16,42,58,0.08); border-color:var(--teal); }
.relcard .rk{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--teal-dark); font-weight:600; margin-bottom:11px; }
.relcard h4{ font-family:var(--serif); font-size:1.12rem; color:var(--ink); margin:0 0 8px; line-height:1.25; }
.relcard p{ color:var(--muted-2); font-size:13.5px; margin:0 0 14px; }
.relcard .go{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--teal-dark); font-weight:500; }
@media (max-width:760px){ .relgrid{ grid-template-columns:1fr; } }

/* ---------- Hover micro-polish ---------- */
.textlink{ transition:border-color .3s, color .3s; }
.card,.step,.member,.icard,.relcard{ will-change:transform; }

/* ---------- Explainer video (AI Concierge) ---------- */
.explainer .wrap{ display:grid; grid-template-columns:0.92fr 1.08fr; gap:64px; align-items:center; }
.explainer .videowrap{ display:flex; justify-content:center; }
.videoframe{ position:relative; width:100%; max-width:330px; border-radius:20px; overflow:hidden;
  background:var(--navy-deep); box-shadow:0 26px 60px -24px rgba(14,42,59,0.55); border:1px solid var(--hair-soft); }
.videoframe video{ display:block; width:100%; height:auto; aspect-ratio:9/16; object-fit:cover; background:var(--navy-deep); }
.ai-badge{ position:absolute; top:14px; left:14px; z-index:2; display:inline-flex; align-items:center; gap:7px;
  padding:7px 13px; border-radius:999px; background:rgba(14,34,48,0.82); backdrop-filter:blur(6px);
  color:var(--ivory); font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; }
.ai-badge::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--teal); }
.videocap{ margin:16px 0 0; font-size:12.5px; letter-spacing:0.04em; color:var(--muted-2); text-align:center; }
.videocap b{ color:var(--ink); font-weight:600; }
.explainer .ai-note{ font-size:12.5px; color:var(--muted-2); margin-top:22px; max-width:54ch; }

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .explainer .wrap{ grid-template-columns:1fr; gap:40px; }
  .explainer .videowrap{ order:-1; }
}
@media (max-width:980px){
  .split{ grid-template-columns:1fr; gap:44px; }
  .steps{ grid-template-columns:1fr; }
  .team{ grid-template-columns:1fr; }
  .footer__top{ grid-template-columns:1fr 1fr; }
}
@media (max-width:760px){
  .section{ padding:82px 0; }
  .nav__links{ display:none; }
  .nav__toggle{ display:flex; }
  .nav__cta.desktop{ display:none; }
  .cards{ grid-template-columns:1fr; }
  .stats{ grid-template-columns:1fr; gap:40px; }
  .footer__top{ grid-template-columns:1fr; }
  .trust .wrap{ gap:20px; }
}

/* GHL embed slots (booking calendar, etc.) */
.ghl-embed:empty{display:none}
.ghl-embed iframe{width:100%;min-height:680px;border:0;border-radius:12px;background:#fff}

/* ============================================================
   MOBILE / UX REFINEMENTS (added pass — desktop unchanged)
   ============================================================ */

/* Tablet & down: stop the full-height hero from vertically centring
   (which pushed the headline up under the fixed nav and clipped it). */
@media (max-width:920px){
  .hero{ min-height:auto; align-items:flex-start; padding:118px 0 66px; }
  .hero--split .hero__grid{ gap:34px; }
  .scrollcue{ display:none; }              /* redundant on a non-full-height hero */
  .phero{ padding:150px 0 64px; }
}

/* Phones */
@media (max-width:640px){
  .wrap{ padding:0 20px; }
  .section{ padding:66px 0; }
  .section.tight{ padding:52px 0; }
  .hero{ padding:108px 0 56px; }
  .hero__sub{ margin:20px 0 6px; }
  .hero__tag{ margin-bottom:26px; }

  /* Full-width, equal, tappable CTAs */
  .hero__cta{ flex-direction:column; align-items:stretch; gap:12px; width:100%; }
  .hero__cta .btn{ width:100%; justify-content:center; }
  .btn{ padding:15px 24px; }              /* keeps a comfortable ~48px tap height */

  /* Tighten oversized display type on small screens */
  .display{ font-size:clamp(2.15rem,9vw,2.7rem); line-height:1.07; }
  h1{ font-size:clamp(1.95rem,7.6vw,2.4rem); }
  .lead{ font-size:1.06rem; }

  /* Cards / quiz / forms breathing room */
  .step{ padding:28px 22px; }
  .card{ padding:26px 22px; }
  .leadmag .box{ padding:30px 22px; }
  .opt{ padding:17px 18px; }
  .quiz__nav .btn{ flex:1; justify-content:center; }

  /* Footer: tidy stacked layout */
  .footer__top{ gap:30px; }
  .footer__bottom{ flex-direction:column; gap:12px; }
  .nl{ flex-direction:column; align-items:flex-start; gap:14px; }
  .nl form{ width:100%; }
  .nl input{ flex:1; min-width:0; }

  /* Mobile menu: comfortable spacing + tap targets */
  .mobile-menu{ gap:22px; }
  .mobile-menu a{ font-size:1.6rem; padding:4px 0; }
}

/* Very small phones */
@media (max-width:380px){
  .display{ font-size:2rem; }
  .wrap{ padding:0 16px; }
}
