/* ============================================================
   EXECUTIVE FRAME — site.css
   Shared flagship design system. Per-page accent via --accent.
   ============================================================ */
:root{
  --navy:#15212D; --navy-2:#1B2935; --navy-3:#111B24;
  --cream:#F6F1E8; --cream-2:#EEE6D8; --cream-tint:#EFE7D8;
  --ink:#27333D; --ink-soft:#5A6670;
  --white:#FFFFFF; --slate:#8B95A1; --slate-light:#A8B1BB; --slate-muted:#5F6B77;
  --line-cream:#DCD3C4; --line-navy:rgba(255,255,255,.12);
  --accent:#6E9E86;            /* overridden per page */
  --accent-ink:#0E1A14;        /* text on accent buttons */
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--navy);color:var(--white);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.65}
.wrap{max-width:1080px;margin:0 auto;padding:0 40px}
section{padding:88px 0}
.navy{background:var(--navy);color:#fff}
.cream{background:var(--cream);color:var(--ink)}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(21,33,45,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-navy)}
.nav .bar{max-width:1240px;margin:0 auto;padding:0 32px;height:64px;display:flex;align-items:center;gap:28px}
.nav .brand{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:22px;color:#fff;text-decoration:none;white-space:nowrap}
.nav .brand sup{font-size:.5em} .nav .brand .tg{font-family:'Cormorant Garamond';font-style:italic;font-size:13px;color:var(--slate);margin-left:8px}
.nav .links{display:flex;align-items:center;gap:22px;margin-left:auto}
.nav a.l{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--slate-light);text-decoration:none;transition:color .2s}
.nav a.l:hover{color:#fff}
.nav .intake{border:1px solid var(--accent);color:#fff;border-radius:3px;padding:9px 16px}
.nav .dd{position:relative}
.nav .dd-menu{position:absolute;top:34px;left:-12px;background:var(--navy-2);border:1px solid var(--line-navy);border-radius:4px;padding:8px;min-width:230px;display:none;flex-direction:column;gap:2px}
.nav .dd:hover .dd-menu{display:flex}
.nav .dd-menu a{font-size:13px;letter-spacing:.02em;text-transform:none;color:var(--slate-light);padding:8px 12px;border-radius:3px}
.nav .dd-menu a:hover{background:rgba(255,255,255,.05);color:#fff}
.nav .dd-menu .sub{padding-left:26px;color:var(--slate)}
@media(max-width:980px){.nav .links{display:none}}

/* type */
.eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:24px;display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:30px;height:1.5px;background:var(--accent)}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:600;line-height:1.08;letter-spacing:-.005em}
h2{font-size:clamp(32px,4.6vw,52px)} h2 em{font-style:italic;font-weight:500;color:var(--accent)}
.lead{font-size:17px;line-height:1.75;max-width:700px;margin-top:22px}
.navy .lead{color:var(--slate-light)} .cream .lead{color:var(--ink-soft)}
p.body{font-size:15.5px;line-height:1.72;margin-top:16px} .navy p.body{color:var(--slate-light)} .cream p.body{color:var(--ink-soft)}

/* buttons */
a.btn{display:inline-block;text-decoration:none;font-size:12.5px;font-weight:600;letter-spacing:.04em;padding:15px 30px;border-radius:2px;transition:all .25s}
a.btn.solid{background:var(--accent);color:var(--accent-ink)} a.btn.solid:hover{filter:brightness(1.08)}
a.btn.line{border:1px solid var(--line-navy);color:#fff} a.btn.line:hover{border-color:var(--slate);background:var(--navy-2)}
.cream a.btn.line{border-color:var(--line-cream);color:var(--ink)} .cream a.btn.line:hover{background:var(--cream-2)}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}

/* hero */
.hero{padding-top:74px;padding-bottom:90px}
.hero .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.wordmark{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(56px,9vw,108px);line-height:.94;letter-spacing:-.01em;margin:6px 0 22px}
.wordmark .accent{font-style:italic;color:var(--accent)}
.hero h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(32px,4.4vw,52px);line-height:1.07;max-width:760px}
.hero h1 em{font-style:italic;color:var(--accent)}
.hero .sub{font-size:14.5px;color:var(--slate);margin-top:22px;max-width:640px}
.chips{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:30px;color:var(--slate)}
.chip{border:1px solid var(--line-navy);border-radius:3px;padding:8px 16px;font-family:'Cormorant Garamond',serif;font-size:17px;color:var(--accent);border-color:rgba(255,255,255,.18)}
.tag{display:inline-block;margin-top:26px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:3px;padding:9px 16px;opacity:.85}
.loop-wrap{display:flex;justify-content:center}
svg.loop{width:100%;max-width:300px}

/* two-col rows */
.quote-band{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(21px,2.5vw,27px);line-height:1.45;border-left:3px solid var(--accent);padding-left:26px;margin:46px 0 6px;max-width:840px}
.cream .quote-band{color:var(--ink)} .navy .quote-band{color:#fff}
.rowhead{display:grid;grid-template-columns:1fr 1fr;gap:46px;padding:18px 0;border-bottom:1px solid var(--line-cream);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:46px;padding:28px 0;border-bottom:1px solid var(--line-cream)}
.row2 .l h4{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:22px;color:var(--ink);line-height:1.2}
.row2 .l .src{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13.5px;color:var(--accent);margin-top:10px}
.row2 .r{font-size:14px;color:var(--ink-soft);line-height:1.7}

/* science cards */
.sci-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center;margin-top:26px}
.sci-cards{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border:1px solid var(--line-navy);border-radius:3px;overflow:hidden}
.cream .sci-cards{border-color:var(--line-cream)}
.sci-card{padding:30px 26px;border-right:1px solid var(--line-navy)} .cream .sci-card{border-right-color:var(--line-cream)}
.sci-card:last-child{border-right:none}
.sci-card .n{font-family:'Cormorant Garamond',serif;font-size:28px;color:var(--slate);margin-bottom:4px}
.sci-card .t{font-family:'Cormorant Garamond',serif;font-size:26px;margin-bottom:12px}
.cream .sci-card .t{color:var(--ink)}
.sci-card .d{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.sci-card .q{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px} .navy .sci-card .q{color:var(--slate-light)} .cream .sci-card .q{color:var(--ink-soft)}

/* cards grid (tools / outcomes / generic) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{border-radius:4px;padding:28px 26px}
.navy .card{background:var(--navy-2);border:1px solid var(--line-navy)}
.cream .card{background:#fff;border:1px solid var(--line-cream)}
.card .ce{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.card h3{font-size:23px;margin-bottom:8px} .cream .card h3{color:var(--ink)}
.card p{font-size:14px;line-height:1.62} .navy .card p{color:var(--slate-light)} .cream .card p{color:var(--ink-soft)}
.card .rule{height:2px;background:var(--accent);width:100%;margin-top:18px;opacity:.8}

/* narrow / tunnel list */
.narrow{margin-top:28px;display:grid;gap:14px;max-width:780px}
.narrow .row{padding-left:20px;border-left:2px solid var(--accent);font-size:15px;line-height:1.6}
.navy .narrow .row{color:var(--slate-light)} .cream .narrow .row{color:var(--ink-soft)}

/* tables */
table{width:100%;border-collapse:collapse;margin-top:26px}
.cream th{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);text-align:left;padding:14px 16px;border-bottom:2px solid var(--ink)}
.cream td{padding:17px 16px;border-bottom:1px solid var(--line-cream);font-size:14px;color:var(--ink-soft);vertical-align:top}
.cream td.k{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--ink)}
.cream td.it{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--accent)}
.cream td.ph{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.navy th{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);text-align:left;padding:14px 16px;border-bottom:2px solid var(--slate)}
.navy td{padding:17px 16px;border-bottom:1px solid var(--line-navy);font-size:14px;color:var(--slate-light);vertical-align:top}
.navy td.num{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--accent)}
.navy td.k{color:#fff;font-weight:500} .navy td.it{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--slate-light)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:56px;border-top:1px solid var(--line-navy);padding-top:42px}
.cream .stats{border-top-color:var(--line-cream)}
.stat .big{font-family:'Cormorant Garamond',serif;font-size:60px;line-height:1;color:var(--accent)}
.stat .lbl{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:12px 0 8px} .navy .stat .lbl{color:var(--slate)} .cream .stat .lbl{color:var(--ink-soft)}
.stat .sd{font-size:13px;line-height:1.55} .navy .stat .sd{color:var(--slate-light)} .cream .stat .sd{color:var(--ink-soft)}

/* module cards */
.mods{margin-top:40px;display:grid;gap:20px}
.mod{display:grid;grid-template-columns:60px 1fr;background:#fff;border:1px solid var(--line-cream);border-radius:4px;overflow:hidden}
.mod .tab{background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:center;padding-top:26px;gap:16px}
.mod .tab .mn{font-family:'Cormorant Garamond',serif;font-size:24px}
.mod .tab .ph{writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;letter-spacing:.2em;color:var(--slate)}
.mod .b{padding:26px 28px}
.mod .me{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.mod h3{font-size:25px;color:var(--ink)} .mod .msub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14.5px;color:var(--ink-soft);margin-top:4px}
.mod .mq{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15.5px;color:var(--accent);border-left:2px solid var(--accent);padding-left:14px;margin:14px 0}
.mod .mbody{font-size:13.5px;color:var(--ink-soft);line-height:1.62}
.mod .inst{background:var(--cream-tint);border-radius:3px;padding:14px 16px;margin-top:16px;font-size:12.5px;color:var(--ink-soft);line-height:1.55}
.mod .inst b{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:5px}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pill{font-size:12px;color:var(--ink-soft);border:1px solid var(--line-cream);border-radius:40px;padding:6px 13px}

/* clinician / quote */
.clin{display:grid;grid-template-columns:1.3fr 1fr;gap:44px;margin-top:36px}
.clin .box{border:1px solid var(--line-navy);border-radius:4px;padding:24px 26px}
.clin .box .lbl{font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.clin .box p,.clin .box a{font-size:14px;color:var(--slate-light);line-height:1.8;text-decoration:none}
.bigquote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(23px,3vw,32px);line-height:1.4;margin-top:50px;border-top:1px solid var(--line-navy);padding-top:42px;max-width:900px}
.bigquote .who{display:block;font-style:normal;font-family:'Inter';font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-top:20px}

/* close */
.close{text-align:center}
.close h2{max-width:760px;margin:0 auto} .close .lead{margin:22px auto 0;text-align:center}
.close .cta-row{justify-content:center}
.tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:var(--slate-light);margin-top:46px}

/* form (intake) */
.formwrap{margin-top:30px;background:#FFFFFF;border:1px solid var(--line-cream);border-radius:8px;padding:26px 26px;box-shadow:0 24px 60px -34px rgba(0,0,0,.55)}
.formwrap iframe{width:100%;min-height:560px;border:0;background:transparent;display:block}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.steps3 .s .n{font-family:'Cormorant Garamond',serif;font-size:40px;color:var(--accent)}
.steps3 .s h4{font-family:'Cormorant Garamond',serif;font-size:21px;margin:6px 0 8px}
.steps3 .s p{font-size:14px;color:var(--slate-light);line-height:1.6}

/* footer */
footer{background:var(--navy-3);padding:54px 0 40px;border-top:1px solid var(--line-navy)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.foot h4{font-family:'Cormorant Garamond',serif;font-size:22px;margin-bottom:12px}
.foot p,.foot a{font-size:13px;color:var(--slate);line-height:1.7;text-decoration:none} .foot a:hover{color:#fff}
.foot .fl{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--slate-muted);margin-bottom:12px}
.copyright{margin-top:38px;padding-top:22px;border-top:1px solid var(--line-navy);font-size:12px;color:var(--slate-muted)}

@media(max-width:840px){
  .hero .grid,.sci-grid,.clin{grid-template-columns:1fr;gap:30px}
  .loop-wrap{order:-1;max-width:260px}
  .rowhead,.row2{grid-template-columns:1fr;gap:8px} .rowhead span:last-child{display:none}
  .sci-cards,.cards,.cards.two,.stats,.steps3,.foot-grid{grid-template-columns:1fr;gap:18px}
  .sci-card{border-right:none;border-bottom:1px solid var(--line-navy)}
  section{padding:58px 0} .wrap{padding:0 24px}
}

/* ============================================================
   SPINE — editorial, all-navy (What · Why · How · About · Library · Intake · utility)
   ============================================================ */
.gridbg{background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:92px 92px}
.s-hero{padding:92px 0 96px}
.s-eyebrow{font-size:12px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--slate);display:flex;align-items:center;gap:16px;margin-bottom:46px}
.s-eyebrow::before{content:"";width:44px;height:1px;background:var(--slate);opacity:.55}
.s-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:center}
.s-display{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(50px,8.6vw,118px);line-height:.96;letter-spacing:-.012em;color:#F4F2EC}
.s-display em{font-style:italic;font-weight:500;color:#AEB6BE;display:block}
.s-body{font-family:'Cormorant Garamond',serif;font-size:clamp(18px,2vw,23px);line-height:1.5;color:var(--slate-light);max-width:600px;margin-top:38px}
.s-cta{display:flex;gap:0;margin-top:46px;flex-wrap:wrap}
.s-btn{display:inline-block;text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:22px 42px;transition:background .2s}
.s-btn.solid{background:#fff;color:var(--navy)} .s-btn.solid:hover{background:#ECE8E0}
.s-btn.line{border:1px solid rgba(255,255,255,.22);color:#fff;border-left:none} .s-btn.line:hover{background:rgba(255,255,255,.05)}
.s-fig{display:flex;justify-content:center}
.s-sub{padding:74px 0;border-top:1px solid var(--line-navy)}
.s-sub .s-display{font-size:clamp(32px,5vw,58px)}
.s-sub .s-body{margin-top:22px}
.s-theorist{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:var(--slate);margin-top:12px}
.s-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.s-cols.two{grid-template-columns:repeat(2,1fr)}
.s-card{border:1px solid var(--line-navy);border-radius:4px;padding:28px 28px}
.s-card .ce{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin-bottom:12px}
.s-card h3{font-family:'Cormorant Garamond',serif;font-size:26px;color:#F4F2EC;margin-bottom:8px}
.s-card p{font-size:14px;color:var(--slate-light);line-height:1.62}
.s-card .li{font-size:14.5px;color:var(--slate-light);line-height:2;font-family:'Cormorant Garamond';font-size:17px}
.s-portrait{width:100%;aspect-ratio:4/5;border-radius:4px;overflow:hidden;background:linear-gradient(155deg,#273947,#15212D);border:1px solid var(--line-navy);box-shadow:0 24px 60px rgba(8,14,20,.45)}.s-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block}
.nav a.l.on{color:#E8A06A}
@media(max-width:840px){.s-grid{grid-template-columns:1fr;gap:30px}.s-fig{order:-1;max-width:260px}.s-btn.line{border-left:1px solid rgba(255,255,255,.22)}.s-cols,.s-cols.two{grid-template-columns:1fr}}

/* ============================================================
   ELEVATION LAYER — atmosphere, motion, signature gradient
   ============================================================ */
:root{--sig:linear-gradient(90deg,#416460 0%,#796775 38%,#736960 66%,#4B677F 100%)}
body{position:relative}
nav,main,footer{position:relative;z-index:2}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* atmospheric depth behind heroes */
.s-hero,.hero{position:relative;overflow:hidden}
.s-hero::before,.hero::before{content:"";position:absolute;top:-20%;right:-8%;width:62%;height:140%;
  background:radial-gradient(circle at 68% 42%,rgba(75,103,127,.20),rgba(121,103,117,.06) 42%,transparent 64%);
  pointer-events:none;z-index:0;filter:blur(6px)}
.s-hero>.wrap,.hero>.wrap{position:relative;z-index:1}

/* eyebrow rule becomes the signature four-stop gradient */
.s-eyebrow::before,.eyebrow::before{background:var(--sig)!important;height:2px!important;opacity:1!important;width:56px!important;border-radius:2px}

/* nav refines on scroll */
.nav{transition:background .35s ease,box-shadow .35s ease}
.nav.scrolled{background:rgba(15,23,32,.97);box-shadow:0 1px 0 rgba(255,255,255,.07),0 14px 40px -28px rgba(0,0,0,.9)}

/* page-load + scroll reveal (no-JS safe: only hidden when .reveal-on present) */
.reveal-on .reveal{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.22,.61,.36,1),transform 1s cubic-bezier(.22,.61,.36,1)}
.reveal-on .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal-on .reveal{opacity:1!important;transform:none!important;transition:none}}

/* micro-interactions */
.s-btn,a.btn{transition:transform .28s ease,background .25s,filter .25s,box-shadow .3s}
.s-btn:hover,a.btn:hover{transform:translateY(-2px)}
a.btn.solid:hover{box-shadow:0 14px 34px -14px var(--accent)}
.s-btn.solid:hover{box-shadow:0 14px 34px -16px rgba(255,255,255,.5)}
.card,.s-card,.mod{transition:transform .35s ease,border-color .35s,box-shadow .35s}
.navy .card:hover,.s-card:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.26)}
.cream .card:hover{transform:translateY(-5px);box-shadow:0 22px 48px -28px rgba(20,28,37,.45);border-color:var(--accent)}
.mod:hover{transform:translateY(-3px);box-shadow:0 22px 48px -30px rgba(20,28,37,.4)}

/* cinematic homepage hero */
.s-hero--tall{min-height:calc(100vh - 64px);display:flex;align-items:center}
.scrollcue{position:absolute;bottom:34px;left:40px;font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--slate);display:flex;align-items:center;gap:14px;z-index:1}
.scrollcue .ln{width:1px;height:50px;background:linear-gradient(var(--slate),transparent);transform-origin:top;animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%,100%{opacity:.25;transform:scaleY(.55)}50%{opacity:1;transform:scaleY(1)}}

/* a recurring hairline divider */
.sigdiv{height:2px;width:120px;background:var(--sig);border:none;border-radius:2px;margin:0}
@media(max-width:840px){.scrollcue{left:24px}.s-hero--tall{min-height:auto}}

/* ============================================================
   ACCORDION (expandable detail) — native <details>, styled
   ============================================================ */
.acc{margin-top:34px;border-top:1px solid var(--line-navy)}
.cream .acc{border-top-color:var(--line-cream)}
.acc details{border-bottom:1px solid var(--line-navy)}
.cream .acc details{border-bottom-color:var(--line-cream)}
.acc summary{list-style:none;cursor:pointer;padding:24px 2px;display:flex;align-items:baseline;gap:18px;
  font-family:'Cormorant Garamond',serif;font-size:clamp(21px,2.5vw,29px);color:#F4F2EC;transition:color .25s}
.cream .acc summary{color:var(--ink)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";margin-left:auto;font-family:'Inter',sans-serif;font-size:26px;font-weight:300;color:var(--accent);transition:transform .3s}
.acc details[open] summary::after{content:"\2013"}
.acc summary:hover{color:var(--accent)}
.acc .ix{font-family:'Inter',sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--accent);min-width:30px;align-self:center}
.acc .ac-body{padding:2px 0 28px 48px;max-width:780px}
.acc details[open] .ac-body{animation:accIn .45s cubic-bezier(.22,.61,.36,1)}
@keyframes accIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.acc .ac-body p{font-size:15px;line-height:1.72} .navy .acc .ac-body p{color:var(--slate-light)} .cream .acc .ac-body p{color:var(--ink-soft)}
.acc .ac-body .theo{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--accent);margin-top:12px;font-size:16px}
.acc .ac-body a{color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 40%,transparent);padding-bottom:1px}
.acc .ac-body a:hover{border-bottom-color:var(--accent)}
@media(max-width:840px){.acc .ac-body{padding-left:0}.acc summary{font-size:21px}}
.s-cols.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:840px){.s-cols.four{grid-template-columns:1fr}}

/* ============================================================
   CENTRED HERO — landing/utility pages (Store, Library, etc.)
   ============================================================ */
.c-hero{padding:64px 0 78px;text-align:center;position:relative;overflow:hidden}
.c-hero::before{content:"";position:absolute;top:-15%;left:50%;transform:translateX(-50%);width:80%;height:120%;
  background:radial-gradient(circle at 50% 38%,rgba(75,103,127,.18),rgba(121,103,117,.05) 45%,transparent 66%);z-index:0;filter:blur(8px)}
.c-hero .wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.c-loop{max-width:300px;width:100%;margin-bottom:6px}
.siggrad{display:flex;gap:7px;margin:16px 0 32px}
.siggrad span{height:5px;width:38px;border-radius:3px;display:block}
.c-eyebrow{font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:24px}
.c-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(52px,9vw,120px);line-height:1;letter-spacing:-.015em;color:#F4F2EC}
.c-title .accent{color:var(--accent)}
.c-tag{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(20px,2.4vw,28px);color:var(--slate-light);margin-top:22px}
@media(max-width:840px){.c-loop{max-width:230px}.siggrad span{width:26px}}

/* ============================================================
   FOOTER — three-column, refined (overrides earlier footer)
   ============================================================ */
footer{background:var(--navy);border-top:none;padding:0;--accent:#E8A06A}
.foot-rule{border:none;border-top:1px solid var(--line-navy);margin:0}
.foot-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:64px;padding:72px 0 60px}
.fbrand{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:30px;color:#F4F2EC;line-height:1}
.fbrand sup{font-size:.42em;vertical-align:super}
.fdesc{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;line-height:1.5;color:var(--slate-light);margin-top:20px;max-width:440px}
.floc{font-size:14px;color:var(--slate);margin-top:24px}
.fmail{font-size:14px;color:var(--accent);text-decoration:none;display:inline-block;margin-top:18px;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent);padding-bottom:1px}
.fmail:hover{border-bottom-color:var(--accent)}
.ftag{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:var(--slate-muted);margin-top:22px}
.fl{font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--slate-muted);margin-bottom:24px}
.farms{font-size:15.5px;line-height:1.95;color:var(--slate-light)}
.farms a{color:var(--slate-light);text-decoration:none;transition:color .2s}
.farms a:hover{color:#fff} .farms a.acc{color:var(--accent)}
.flinks2{font-size:14px;color:var(--slate-light);margin-top:26px;line-height:1.85}
.flinks2 a{color:var(--slate-light);text-decoration:none;transition:color .2s} .flinks2 a:hover{color:var(--accent)}
.fname{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:24px;color:#F4F2EC}
.fcred{font-size:14px;margin-top:14px;letter-spacing:.04em;color:var(--slate-light)} .fcred.acc{color:var(--accent)}
.fital{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--slate-light);margin-top:12px}
.fmuted{font-size:13.5px;color:var(--slate-muted);margin-top:16px}
.foot-base{border-top:1px solid var(--line-navy);padding:26px 0;text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:var(--slate-muted)}
@media(max-width:840px){.foot-grid{grid-template-columns:1fr;gap:42px;padding:48px 0 40px}}

/* ============================================================
   TYPE SCALE CORRECTION — professional, controlled sizing
   (appended last so it governs)
   ============================================================ */
.s-display{font-size:clamp(36px,4.6vw,68px);line-height:1.02}
.s-sub .s-display{font-size:clamp(25px,3.2vw,40px)}
.s-body{font-size:clamp(15.5px,1.2vw,18px);line-height:1.55;max-width:580px}
.lead{font-size:16.5px}
.c-title{font-size:clamp(38px,5.4vw,78px)}
.c-tag{font-size:clamp(17px,1.9vw,23px)}
h2{font-size:clamp(27px,3.3vw,42px)}
.hero h1{font-size:clamp(27px,3.2vw,40px)}
.wordmark{font-size:clamp(44px,6vw,80px)}
.acc summary{font-size:clamp(18px,1.9vw,24px)}
.bigquote{font-size:clamp(20px,2.5vw,28px)}
.fbrand{font-size:27px}.fname{font-size:22px}.fdesc{font-size:17px}
.sci-card .t{font-size:23px}.card h3,.s-card h3{font-size:21px}.mod h3{font-size:23px}
.stat .big{font-size:52px}
/* ease the cinematic hero: generous but content-proportioned */
.s-hero{padding:78px 0 82px}
.s-hero--tall{min-height:auto;padding:92px 0 96px}
.c-hero{padding:58px 0 70px}
.c-loop{max-width:260px}
.s-fig svg.loop, .s-fig svg{max-width:300px}
@media(max-width:840px){.s-display{font-size:clamp(34px,9vw,46px)}.c-title{font-size:clamp(38px,12vw,58px)}}

/* ============================================================
   CREAM → WHITE  (snr designer rebalance for white surfaces)
   ============================================================ */
:root{--cream:#FFFFFF;--cream-2:#F3F1ED;--cream-tint:#F4F2ED;--line-cream:#E6E3DD}
.cream .card{background:#FFFFFF;border:1px solid var(--line-cream);box-shadow:0 1px 2px rgba(20,28,37,.04)}
.cream .card:hover{box-shadow:0 20px 44px -28px rgba(20,28,37,.30);border-color:var(--accent)}
.mod{box-shadow:0 1px 2px rgba(20,28,37,.04)}
.cream td,.cream th{border-color:var(--line-cream)}
.cream th{border-bottom:2px solid var(--ink)}
.mod .inst{background:var(--cream-tint)}
.pill{border-color:var(--line-cream)}

/* ============================================================
   SOFT PAPER-WHITE  (#F9F7F2) — low-glare, neurodiversity-aware
   panels = soft off-white · cards = pure white (gentle lift)
   ============================================================ */
:root{--cream:#F9F7F2;--cream-2:#F1EEE7;--cream-tint:#F0ECE4;--line-cream:#E7E3DB}
.cream .card{background:#FFFFFF;border:1px solid var(--line-cream);box-shadow:0 1px 3px rgba(20,28,37,.05)}
.cream .card:hover{box-shadow:0 20px 44px -28px rgba(20,28,37,.28);border-color:var(--accent)}
.mod{background:#FFFFFF;box-shadow:0 1px 3px rgba(20,28,37,.05)}
.mod .inst{background:var(--cream-tint)}

/* ============================================================
   RESOURCES HUB — free / premium cards, pathway, labels
   ============================================================ */
.rtags{display:flex;gap:8px;margin-bottom:14px}
.rtag{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:30px;border:1px solid;line-height:1}
.rtag.free{color:#7FB79C;border-color:rgba(127,183,156,.5)}
.rtag.prem{color:#E8A06A;border-color:rgba(232,160,106,.55)}
.navy .rtag.type{color:var(--slate);border-color:var(--line-navy)}
.cream .rtag.type{color:var(--ink-soft);border-color:var(--line-cream)}
.rcard h3{margin-bottom:6px}
.rbest{font-size:12.5px!important;margin-top:12px;opacity:.9}
.cream .rbest{color:var(--ink-soft)} .navy .rbest{color:var(--slate)}
.rprice{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--accent);margin-top:14px}
.rcta{display:inline-block;margin-top:16px;font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 42%,transparent);padding-bottom:2px;transition:border-color .2s}
.rcta:hover{border-bottom-color:var(--accent)}
.pathway{margin-top:38px;border-top:1px solid var(--line-cream)}
.pathway .prow{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:22px 2px;border-bottom:1px solid var(--line-cream)}
.pathway .pq{font-family:'Cormorant Garamond',serif;font-size:21px;color:var(--ink)}
.pathway .pa{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-decoration:none;white-space:nowrap;border-bottom:1px solid color-mix(in srgb,var(--accent) 40%,transparent);padding-bottom:3px}
@media(max-width:840px){.pathway .prow{grid-template-columns:1fr;gap:8px}}

/* ===== Native intake form ===== */
.nform,.ef-ok{background:#fff;border:1px solid var(--line-cream);border-radius:8px;padding:40px 38px;max-width:600px;box-shadow:0 18px 50px rgba(10,18,26,.10)}
.nform .fld{margin-bottom:22px}
.nform label.lbl{display:block;font-family:Inter,sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-bottom:9px}
.nform label.lbl .req{color:var(--accent);margin-left:3px}
.nform label.lbl .opt{color:#9aa0a6;font-weight:500;letter-spacing:.06em;margin-left:5px}
.nform input,.nform select,.nform textarea{width:100%;font-family:Inter,sans-serif;font-size:15px;color:var(--ink);background:#fff;border:1px solid #d9d4ca;border-radius:4px;padding:13px 14px;transition:border-color .18s,box-shadow .18s;box-sizing:border-box}
.nform input::placeholder,.nform textarea::placeholder{color:#9aa0a6}
.nform input:focus,.nform select:focus,.nform textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(232,160,106,.18)}
.nform textarea{min-height:124px;resize:vertical;line-height:1.6}
.nform select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='14'%20height='14'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2315212D'%20stroke-width='2'%3E%3Cpath%20d='M6%209l6%206%206-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.nform .consent{display:flex;gap:11px;align-items:flex-start;margin:4px 0 26px;cursor:pointer}
.nform .consent input{width:auto;margin-top:3px;accent-color:var(--accent);flex:none}
.nform .consent span{font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft);line-height:1.55}
.nform .consent a{color:var(--accent);text-decoration:none}
.nform button{background:var(--accent);color:var(--navy);font-family:Inter,sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:3px;padding:16px 36px;cursor:pointer;transition:transform .18s,box-shadow .18s}
.nform button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(232,160,106,.30)}
.nform .note{font-family:Inter,sans-serif;font-size:12.5px;color:var(--ink-soft);margin-top:18px}
.nform .note a{color:var(--accent);text-decoration:none}
.ef-ok{display:none;font-family:'Cormorant Garamond',serif;font-size:23px;font-style:italic;color:var(--ink);line-height:1.5}
@media(max-width:640px){.nform,.ef-ok{padding:30px 22px}}

/* dropdown hover bridge */
.nav .dd::after{content:'';position:absolute;top:100%;left:0;width:100%;height:14px}
