/* SOTA colour system — signature, supporting, neutrals, accents */
:root{
  --aubergine:#4B1E5A; --plum:#63356F; --mauve:#824F72; --sage:#9AA596;
  --ivory:#F6F1EC; --sand:#E8DED6; --mushroom:#B7AAA4; --charcoal:#2A2A2A;
  --rose:#B895A7; --deep-sage:#667467; --champagne:#C7A978;
  --rose-tint:#EFE4E8; --ink-soft:#4a4347;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --italic:"Cormorant Garamond","Playfair Display",Georgia,serif;
  --m:clamp(20px,3vw,40px);           /* the one pair of outer margins */
  --gap:clamp(120px,14vw,200px);      /* between sections */
  --t-body:18px; --t-small:15px; --t-h3:clamp(24px,2.2vw,30px);
  --t-h2:clamp(32px,3vw,44px); --t-display:clamp(76px,13.4vw,232px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--sans);font-size:var(--t-body);line-height:1.6;font-weight:400}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p{margin:0 0 1em}
::selection{background:var(--aubergine);color:var(--ivory)}
:focus-visible{outline:2px solid var(--champagne);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--m);top:-60px;background:var(--ivory);color:var(--aubergine);padding:10px 16px;z-index:50;font-weight:600}
.skip:focus{top:12px}
b,.strong{font-weight:600;color:var(--aubergine)}
mark{background:var(--rose-tint);color:var(--aubergine);padding:0 .15em;font-weight:600}

/* Buttons — fully round, flat, decided once */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;font-weight:700;font-size:19px;text-decoration:none;letter-spacing:.01em;transition:transform .25s var(--ease),background-color .25s var(--ease),color .25s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-ivory{background:var(--ivory);color:var(--aubergine)}
.btn-ivory:hover{background:var(--champagne);color:var(--charcoal)}
.btn-aub{background:var(--aubergine);color:var(--ivory)}
.btn-aub:hover{background:var(--plum)}
.btn-lg{min-height:60px;padding:0 34px;font-size:20px}
.link,.link-ivory{font-weight:600;text-underline-offset:5px;text-decoration-thickness:1.5px;transition:color .2s,text-underline-offset .2s}
.link{color:var(--aubergine)}
.link:hover{color:var(--plum);text-underline-offset:8px}
.link-ivory{color:var(--ivory);text-decoration-color:var(--champagne)}
.link-ivory:hover{color:var(--champagne);text-underline-offset:8px}

/* Bar */
.bar{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:32px;padding:22px var(--m);color:var(--ivory)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ivory)}
.brand-mark{display:block;width:62px;height:49px;background:var(--ivory);-webkit-mask:url(assets/brain-mark.png) center/contain no-repeat;mask:url(assets/brain-mark.png) center/contain no-repeat}
.brand-logo{display:block;height:72px;width:auto}
.brand-word{display:flex;flex-direction:column;line-height:1}
.brand-sota{font-weight:500;font-size:26px;letter-spacing:.06em}
.brand-neuro{font-size:18px;letter-spacing:.14em;margin-top:4px;opacity:.9}
.nav{margin-left:auto;display:flex;gap:28px;font-size:var(--t-small)}
.nav a{text-decoration:none;opacity:.92;position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--champagne);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a:hover::after,.nav a:focus-visible::after{transform:scaleX(1)}
.bar-cta{min-height:46px;padding:0 22px;font-size:18px}

/* Hero — one deep field, inset portrait, crossing wordmark */
.hero{position:relative;background:var(--aubergine);color:var(--ivory);min-height:100svh;display:grid;grid-template-columns:47% 1fr;overflow:hidden}
.hero-photo{margin:0;position:relative;grid-column:1;grid-row:1;padding:100px 0 20px var(--m);height:100svh;min-height:680px}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:52% 30%;border-radius:4px}
.hero-copy{grid-column:2;grid-row:1;align-self:start;padding:calc(31svh) var(--m) 0 clamp(40px,5vw,96px);max-width:720px}
.hero-lead{font-size:clamp(26px,2.4vw,36px);line-height:1.22;font-weight:500;letter-spacing:-.015em;max-width:20ch;margin-bottom:24px}
.hero-sub{font-size:18px;line-height:1.6;max-width:40ch;color:var(--ivory);opacity:.92;margin-bottom:0}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px}
.wordmark{position:absolute;left:37vw;right:var(--m);bottom:26px;margin:0;font-weight:500;font-size:var(--t-display);line-height:.8;letter-spacing:-.035em;color:var(--ivory);text-align:right;z-index:2}
.wm-inner{display:inline-block;transform-origin:100% 100%;will-change:transform}
.wordmark .wm-inner{display:block}
.wm-img{display:block;width:min(100%,900px);height:auto;margin-left:auto}

/* Split stage */
.split{display:grid;grid-template-columns:45% 1fr;align-items:start;background:var(--ivory)}
.stage{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--sand)}
.stage-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity 1s var(--ease),transform 9s linear}
.stage-img.is-on{opacity:1;transform:scale(1)}
.stage-cap{position:absolute;left:var(--m);bottom:22px;margin:0;font-size:14px;color:var(--charcoal);background:var(--ivory);padding:4px 10px;opacity:0;transition:opacity .6s}
.stage-cap.is-on{opacity:1}
.read{padding:var(--gap) var(--m) 40px clamp(40px,6vw,110px);max-width:calc(46ch + 200px)}
.chapter{padding-bottom:var(--gap)}
.chapter + .chapter{padding-top:0}
.chapter:last-child{padding-bottom:clamp(80px,8vw,120px)}
.m-photo{display:none}
.intro{max-width:36ch;margin-bottom:72px}
.intro p{font-size:20px}
.h2{font-size:var(--t-h2);font-weight:600;letter-spacing:-.03em;line-height:1.1;color:var(--aubergine);margin:0 0 28px;max-width:24ch}
.h3{font-size:var(--t-h3);font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--aubergine);margin:80px 0 16px;max-width:30ch}
.body{max-width:46ch}
.statement{font-size:clamp(22px,2vw,28px);line-height:1.35;font-weight:500;color:var(--charcoal);max-width:28ch;margin:0 0 32px;letter-spacing:-.01em}
.statement-plum{color:var(--aubergine);font-weight:600}

/* The live thing: pattern picker */
.picker{margin:0 0 72px;max-width:52ch}
.picker-q{font-size:16px;color:var(--ink-soft);margin-bottom:14px}
.picker-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.picker-list button{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;padding:14px 18px 14px 22px;background:var(--sand);color:var(--charcoal);font-size:18px;line-height:1.45;border-radius:4px;position:relative;transition:background-color .25s var(--ease),color .25s,transform .25s var(--ease)}
.picker-list button::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px 0 0 4px;background:var(--sage);transform:scaleY(.35);transition:transform .3s var(--ease),background-color .3s}
.picker-list button:hover{background:#e1d5cc;transform:translateX(4px)}
.picker-list button:hover::before{transform:scaleY(1)}
.picker-list button:focus-visible{outline:2px solid var(--aubergine);outline-offset:2px}
.picker-list button[aria-pressed="true"]{background:var(--aubergine);color:var(--ivory)}
.picker-list button[aria-pressed="true"]::before{background:var(--champagne);transform:scaleY(1)}
.picker-out{margin-top:16px;background:var(--rose-tint);padding:22px 24px;border-radius:4px}
.picker-out.pop{animation:pop .55s var(--ease)}
.picker-label{font-size:var(--t-small);font-weight:600;color:var(--deep-sage);margin:0 0 6px}
.picker-answer{font-size:22px;line-height:1.4;font-weight:500;color:var(--aubergine);margin:0}
@keyframes pop{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.knows{list-style:none;margin:40px 0 64px;padding:0;display:grid;gap:18px;max-width:46ch}
.knows li{padding-left:22px;position:relative}
.knows li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--sage)}
.knows span{font-weight:600;color:var(--aubergine)}
.pivot{background:var(--sand);padding:40px clamp(24px,3vw,44px);margin:0 0 48px;border-radius:4px;max-width:58ch}
.pivot-line{font-size:clamp(24px,2.2vw,32px);line-height:1.2;font-weight:600;letter-spacing:-.02em;color:var(--aubergine);max-width:22ch;margin-bottom:24px}
.chain{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.chain li{font-size:clamp(22px,2vw,28px);font-weight:500;letter-spacing:-.01em;line-height:1.3}
.chain li:nth-child(2){padding-left:1.2em}
.chain li:nth-child(3){padding-left:2.4em}
.chain b{color:var(--aubergine)}

/* SOTA slip */
.slip{margin-top:44px;background:var(--sand);padding:36px clamp(22px,3vw,40px) 64px;max-width:520px;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),97.5% 100%,95% calc(100% - 14px),92.5% 100%,90% calc(100% - 14px),87.5% 100%,85% calc(100% - 14px),82.5% 100%,80% calc(100% - 14px),77.5% 100%,75% calc(100% - 14px),72.5% 100%,70% calc(100% - 14px),67.5% 100%,65% calc(100% - 14px),62.5% 100%,60% calc(100% - 14px),57.5% 100%,55% calc(100% - 14px),52.5% 100%,50% calc(100% - 14px),47.5% 100%,45% calc(100% - 14px),42.5% 100%,40% calc(100% - 14px),37.5% 100%,35% calc(100% - 14px),32.5% 100%,30% calc(100% - 14px),27.5% 100%,25% calc(100% - 14px),22.5% 100%,20% calc(100% - 14px),17.5% 100%,15% calc(100% - 14px),12.5% 100%,10% calc(100% - 14px),7.5% 100%,5% calc(100% - 14px),2.5% 100%,0 calc(100% - 14px))}
.slip-head{font-weight:700;font-size:25px;line-height:1.2;color:var(--aubergine);margin:0 0 18px}
.slip-rows{margin:0}
.slip-row{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;column-gap:12px;padding:16px 0}
.slip-row dt{font-weight:700;font-size:18px;color:var(--charcoal)}
.slip-row dd{margin:0}
.slip-dots{align-self:center;height:4px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='4'%3E%3Ccircle cx='2' cy='2' r='1.8' fill='%23B7AAA4'/%3E%3C/svg%3E") repeat-x left center;transform-origin:left;transform:scaleX(0);transition:transform .9s var(--ease)}
.slip.in .slip-dots{transform:scaleX(1)}
.slip-row:nth-child(2) .slip-dots{transition-delay:.12s}.slip-row:nth-child(3) .slip-dots{transition-delay:.24s}.slip-row:nth-child(4) .slip-dots{transition-delay:.36s}
.slip-letter{font-weight:700;font-size:22px;color:var(--aubergine);font-variant-numeric:tabular-nums;width:1.2em;text-align:right}
.slip-note{grid-column:1 / -1;font-size:16px;color:var(--ink-soft);margin-top:4px!important;max-width:40ch}
.slip-total{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--aubergine);color:var(--ivory);min-height:48px;padding:0 16px;margin:18px calc(-1 * clamp(22px,3vw,40px)) 0;font-weight:600;font-size:16px}
.slip-total span:last-child{color:var(--champagne);letter-spacing:.06em}

/* Transformation — breaks the split, runs full width */
.transform{background:var(--sand);display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px;padding:var(--gap) var(--m);align-items:start}
.tr-photo{grid-column:1 / 6;margin:0;position:sticky;top:40px}
.tr-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.tr-copy{grid-column:6 / 13;max-width:760px}
.h2-lg{font-size:clamp(36px,4vw,58px);font-weight:600;letter-spacing:-.04em;line-height:1.02;color:var(--aubergine);margin:0 0 48px}
.maybes{list-style:none;margin:0 0 48px;padding:0;display:grid;gap:22px}
.maybes li{font-size:20px;line-height:1.5;padding-left:26px;position:relative}
.maybes li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;border-radius:50%;background:var(--sage)}
.closing{font-weight:600;color:var(--deep-sage);font-size:18px;max-width:34ch}

/* About — founder's letter */
.about{padding:var(--gap) var(--m)}
.letter{max-width:620px;margin:0 auto}
.letter-top{display:flex;align-items:center;gap:40px;margin-bottom:44px}
.letter-portrait{width:208px;height:208px;border-radius:50%;object-fit:cover;object-position:50% 30%;flex:none;border:2px solid var(--sand);box-shadow:0 0 0 5px var(--ivory),0 0 0 6px var(--mushroom)}
.letter-top .h2{margin:0}
.letter-body p{font-size:18px;line-height:1.65}
.signoff{font-family:'Over the Rainbow',cursive;font-style:normal;font-size:48px;line-height:1.1;color:var(--aubergine);margin-top:40px}
.signoff span{display:block;font-family:var(--sans);font-style:normal;font-size:15px;color:var(--ink-soft);margin-top:8px}

/* What to expect — questions beside a tall photograph */
.expect{background:var(--aubergine);color:var(--ivory);display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px;padding:0 var(--m)}
.exp-copy{grid-column:1 / 6;padding:var(--gap) 0}
.expect .h2{color:var(--ivory)}
.facts{list-style:none;margin:0 0 48px;padding:0;display:grid;gap:10px}
.facts li{font-size:18px;padding-left:22px;position:relative}
.facts li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--champagne)}
.faq details{padding:14px 0}
.faq summary{cursor:pointer;list-style:none;font-size:20px;font-weight:600;padding-right:40px;position:relative;min-height:44px;display:flex;align-items:center;transition:color .2s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:10px;height:10px;border-right:2px solid var(--champagne);border-bottom:2px solid var(--champagne);transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq summary:hover{color:var(--champagne)}
.faq details p{font-size:16px;line-height:1.6;color:#e9dfe8;margin:10px 0 6px;max-width:52ch}
.faq details[open] p{animation:pop .45s var(--ease)}
.exp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:40px}
.exp-actions .btn-aub{background:var(--ivory);color:var(--aubergine)}
.exp-actions .btn-aub:hover{background:var(--champagne);color:var(--charcoal)}
.exp-actions .link{color:var(--ivory);text-decoration-color:var(--champagne)}
.exp-photos{grid-column:7 / 13;position:relative;align-self:stretch;padding-bottom:80px}
.exp-frame{position:relative}
.exp-tall{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:0 0 4px 4px}
.exp-sq{position:absolute;width:34%;aspect-ratio:1;object-fit:cover;left:-40px;bottom:-40px;border-radius:4px;border:8px solid var(--aubergine)}

/* Invitation */
.book{position:relative;min-height:90svh;display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px;padding:0 var(--m);align-items:end;overflow:hidden;background:var(--charcoal)}
.book-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 50%;transform:scale(1.06);transition:transform 12s linear}
.book.in .book-img{transform:scale(1)}
.book::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 55% 60% at 68% 72%,rgba(246,241,236,.72),rgba(246,241,236,0) 70%);pointer-events:none}
.book-copy{grid-column:7 / 13;position:relative;z-index:1;padding:0 0 12svh;color:var(--charcoal);max-width:600px}
.book-h{font-size:clamp(36px,3.6vw,58px);font-weight:600;letter-spacing:-.035em;line-height:1.05;color:var(--aubergine);margin:0 0 24px;max-width:16ch}
.book-copy p{font-size:18px;max-width:44ch}
.book-copy .btn{margin-top:16px;background:var(--aubergine);color:var(--ivory)}
.book-copy .btn:hover{background:var(--plum);color:var(--ivory)}

/* Footer */
.foot{background:var(--aubergine);color:var(--ivory);padding:clamp(80px,10vw,140px) var(--m) 28px}
.foot-tag{font-family:var(--italic);font-style:italic;font-size:clamp(30px,4vw,56px);line-height:1.1;color:var(--ivory);margin:0 0 clamp(80px,10vw,140px)}
.foot-line{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:24px;font-size:15px}
.foot-line > span:first-child{color:#e9dfe8}
.foot-line > span:last-child{text-align:right;color:#e9dfe8}
.foot-line nav{display:flex;gap:24px}
.foot-line nav a{text-decoration:none;transition:color .2s}
.foot-line nav a:hover{color:var(--champagne)}
.credits{font-size:14px;color:#d7c4d6;margin:24px 0 0;max-width:80ch}

/* Entrances — content stays visible without script */
.js .rv{opacity:.08;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .rv.in{opacity:1;transform:none}

/* Tablet */
@media (max-width:1100px){
  .nav{display:none}
  .bar-cta{margin-left:auto}
}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-photo{grid-column:1;grid-row:1;height:calc(58svh + 88px);min-height:432px;padding:92px var(--m) 0}
  .hero-photo img{object-position:50% 28%}
  .wordmark{position:relative;grid-row:2;left:auto;right:auto;bottom:auto;grid-column:1;margin:-4.6vw var(--m) 0;font-size:17vw;text-align:left;line-height:.85}
  .hero-copy{grid-column:1;grid-row:3;padding:28px var(--m) 72px;max-width:none}
  .hero-lead{font-size:24px;max-width:none}
  .hero-sub{font-size:17px}
  .bar{padding:20px var(--m)}
  .brand-mark{width:50px;height:40px}
  .brand-logo{height:56px}
  .split{grid-template-columns:1fr}
  .stage{display:none}
  .read{padding:96px var(--m) 0;max-width:none}
  .chapter{padding-bottom:120px}
  .m-photo{display:block;margin:0 0 40px}
  .m-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
  .transform{grid-template-columns:1fr;padding:120px var(--m)}
  .tr-photo{grid-column:1;position:relative;top:auto;margin-bottom:48px}
  .tr-photo img{aspect-ratio:4/3}
  .tr-copy{grid-column:1}
  .expect{grid-template-columns:1fr;padding:0 var(--m)}
  .exp-photos{grid-column:1;grid-row:1;padding:0 0 40px;margin:0 calc(-1 * var(--m))}
  .exp-tall{aspect-ratio:4/5;border-radius:0}
  .exp-sq{left:auto;right:var(--m);bottom:-32px;width:38%}
  .exp-photos{padding-bottom:32px}
  .exp-copy{grid-column:1;padding:56px 0 120px}
  .book{display:block;min-height:auto;padding:0;background:var(--sand)}
  .book-img{position:relative;height:70svh;transform:none}
  .book::after{display:none}
  .book-copy{padding:56px var(--m) 96px;max-width:none}
  .book-h{font-size:30px}
  .book-copy .btn{width:100%}
}
@media (max-width:560px){
  .bar-cta{display:none}
  .foot-line{grid-template-columns:1fr;gap:10px}
  .foot-line > span:last-child{text-align:left}
  .foot-line nav{flex-wrap:wrap;gap:8px 20px}
  .letter-top{flex-direction:column;align-items:flex-start;gap:20px}
  .letter-portrait{width:168px;height:168px}
  .h2{font-size:30px}
  .h2-lg{font-size:30px}
  .maybes li{font-size:18px}
  .statement{font-size:22px}
  .picker-answer{font-size:18px}
  .signoff{font-size:40px}
  .faq summary{font-size:18px}
  .hero-actions .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .rv{opacity:1;transform:none}
  .stage-img{transform:none}
  .slip-dots{transform:none}
  .wm-inner{transform:none!important}
}
.intro{max-width:none}
.intro p{max-width:36ch}
.intro .intro-q{font-size:var(--t-h2);line-height:1.1;font-weight:600;letter-spacing:-.03em;color:var(--aubergine);max-width:24ch;margin:0 0 28px}
@media (max-width:767px){.intro .intro-q{font-size:30px}}
.patterns{list-style:none;margin:0 0 72px;padding:0;max-width:52ch;display:grid;gap:14px}
.patterns li{position:relative;padding-left:22px;font-size:18px;line-height:1.5;color:var(--charcoal)}
.patterns li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--sage)}
@media (max-width:600px){.patterns li{font-size:17px}}
.cta-row{margin-top:12px}
.body .lead-strong{font-size:23px;line-height:1.35}
.extra-bold{font-weight:800}
.body .extra-bold{font-size:21px;line-height:1.4;margin-bottom:36px}
.pivot .pivot-strong{font-size:22px;line-height:1.35}
.more-chain{margin:0 0 40px;padding-left:60px}
@media (max-width:767px){.more-chain{padding-left:36px}}
.tr-possible{font-size:clamp(22px,2vw,28px);font-weight:800;letter-spacing:-.01em;line-height:1.3;color:var(--aubergine);margin:0 0 32px}
.this-unbound{font-size:30px;font-weight:800;line-height:1.3;margin:0 0 36px}
.more-chain li{font-size:clamp(19px,1.75vw,25px)}
.p-align{margin-left:calc(60px + 4.95 * clamp(19px,1.75vw,25px))}
@media (max-width:767px){.p-align{margin-left:0}.this-unbound{font-size:26px}}
@media (min-width:901px){.expect{container-type:inline-size}.exp-actions{width:100cqw;position:relative;z-index:1}.exp-actions .btn-aub{order:2;margin-left:auto}}

/* Privacy policy page */
.bar-solid{position:relative;background:var(--aubergine)}
.legal-back{margin-left:auto}
.legal{max-width:760px;margin:0 auto;padding:clamp(64px,8vw,112px) var(--m) clamp(96px,10vw,140px);color:var(--ink-soft)}
.legal-kicker{font-size:var(--t-small);letter-spacing:.14em;text-transform:uppercase;color:var(--deep-sage);font-weight:600;margin-bottom:14px}
.legal h1{font-size:var(--t-h2);line-height:1.1;color:var(--aubergine);font-weight:700;margin:0 0 14px;letter-spacing:-.01em}
.legal-dates{font-size:var(--t-small);color:var(--mauve);margin-bottom:clamp(40px,5vw,64px)}
.legal h2{font-size:var(--t-h3);line-height:1.25;color:var(--aubergine);font-weight:700;margin:clamp(48px,5vw,64px) 0 16px;padding-top:clamp(28px,3vw,36px);border-top:1px solid var(--sand)}
.legal h3{font-size:19px;color:var(--charcoal);font-weight:700;margin:32px 0 10px}
.legal p,.legal li{font-size:17px;line-height:1.7}
.legal strong{color:var(--charcoal);font-weight:700}
.legal ul,.legal ol{padding-left:1.25em;margin:0 0 1.2em}
.legal li{margin-bottom:.5em}
.legal li ul{margin-top:.5em}
.legal a{color:var(--aubergine);text-decoration-color:var(--rose);text-underline-offset:3px}
.legal a:hover{color:var(--plum)}
.legal table{width:100%;border-collapse:collapse;margin:8px 0 1.4em;font-size:16px}
.legal th{text-align:left;color:var(--aubergine);font-weight:700;border-bottom:2px solid var(--aubergine);padding:10px 12px 10px 0}
.legal td{vertical-align:top;border-bottom:1px solid var(--sand);padding:12px 12px 12px 0;line-height:1.55}
.legal .ph{background:var(--rose-tint);color:var(--aubergine);font-weight:600;padding:0 .2em;border-radius:3px}
.legal-page .foot-line nav a[aria-current]{color:var(--champagne)}
@media (max-width:640px){
  .legal-page .bar{gap:12px}
  .legal-page .bar-cta{display:inline-flex;min-height:40px;padding:0 16px;font-size:15px;white-space:nowrap;flex-shrink:0}
  .legal-page .brand-neuro{white-space:nowrap;font-size:14px}
  .legal table,.legal tbody,.legal tr,.legal td{display:block;width:100%}
  .legal thead{display:none}
  .legal tr{border-bottom:1px solid var(--sand);padding:10px 0}
  .legal td{border:0;padding:2px 0}
  .legal td:first-child{font-weight:700;color:var(--charcoal)}
}

/* Employer sponsorship band */
.sponsor{background:var(--sand);padding:clamp(72px,9vw,128px) var(--m)}
.sponsor-inner{max-width:760px;margin:0 auto;text-align:center}
.sponsor-kicker{font-size:var(--t-small);letter-spacing:.14em;text-transform:uppercase;color:var(--deep-sage);font-weight:600;margin:0 0 14px}
.sponsor-h{font-size:clamp(30px,3vw,46px);font-weight:600;letter-spacing:-.03em;line-height:1.1;color:var(--aubergine);margin:0 0 20px}
.sponsor-p{font-size:18px;line-height:1.65;color:var(--ink-soft);max-width:56ch;margin:0 auto 30px}
.faq details p a{color:var(--ivory);text-decoration-color:var(--champagne);text-underline-offset:3px;font-weight:600}
.faq details p a:hover{color:var(--champagne)}
@media (max-width:640px){.sponsor-inner .btn{width:100%}}

/* Employer page */
.sp-lead{font-size:19px;line-height:1.65;color:var(--charcoal)}
.sp-price{background:var(--rose-tint);border-radius:18px;padding:28px 32px;margin:8px 0 1.4em}
.sp-price .amt{font-size:clamp(34px,4vw,48px);font-weight:700;color:var(--aubergine);letter-spacing:-.02em;line-height:1;margin:0 0 10px}
.sp-price p{margin:0}
.sp-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 8px}
.legal .sp-actions a.btn{text-decoration:none}
.legal .btn-aub{color:var(--ivory)}
.legal .btn-aub:hover{color:var(--ivory)}
.btn-line{background:transparent;color:var(--aubergine);box-shadow:inset 0 0 0 2px var(--aubergine)}
.btn-line:hover{background:var(--aubergine);color:var(--ivory)}
@media (max-width:640px){.sp-actions .btn{width:100%}}

.book-alt{margin-top:1.4rem;font-size:.95rem;opacity:.85}
.book-alt a{color:inherit;text-decoration:underline;text-underline-offset:3px}
