/* Home v2 batch 1 — flat solids, one button system, home-only chrome overrides */
/* Beat h2-surface cream body !important so transparent header wordmark contrasts. */
body.page-home.siya-h2-surface,
body.page-home {
  background: #050816 !important;
  color: var(--text, #f4f1ff);
}
body.page-home.siya-h2-surface main,
body.page-home main { background: #050816 !important; }
body.page-home .siya-h2-cursor-glow,
body.page-home .siya-h2-page-bg { display: none !important; }

/* —— HEADER (home only) —— */
body.page-home .site-header {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 40;
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
  display: flex !important;
  align-items: center !important;
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  transition: background .2s ease;
}
body.page-home .site-header .container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 64px !important;
  height: 64px !important;
  width: 100%;
}
body.page-home .site-header .brand-lockup__wordmark,
body.page-home .site-header .brand-lockup__reg,
body.page-home .site-header .nav-desktop a { color: #fff !important; -webkit-text-fill-color: #fff !important; background: none !important; background-image: none !important; }
/* Open mobile menu: white panel + navy links (25 Oct good build). Keep wordmark/desktop white on dark hero. */
body.page-home .site-header .nav-mobile a {
  color: #0A246B !important;
  -webkit-text-fill-color: #0A246B !important;
  background: none !important;
  background-image: none !important;
}
body.page-home .site-header.site-header-scrolled,
body.page-home .site-header.is-solid {
  background: rgba(5, 8, 22, 0.94) !important;
  border-bottom: 1px solid rgba(185,195,230,.22) !important;
}
/* Header CTA uses primary button system */
body.page-home .site-header .nav-cta .button,
body.page-home .site-header .nav-cta .ds-button,
body.page-home .site-header .nav-cta a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 28px !important;
  border-radius: 999px !important;
  font-family: 'Poppins', system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  line-height: 1 !important;
  background: #c8168c !important;
  background-image: none !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
body.page-home .site-header .nav-cta .button:hover,
body.page-home .site-header .nav-cta .ds-button:hover {
  background: #a8117a !important;
  transform: translateY(-2px);
}

/* —— FOOTER (home only override of bright blue) —— */
body.page-home .footer.siya-h2-footer-compact,
body.page-home #siya-h2-footer,
body.page-home footer.footer {
  background: #050816 !important;
  color: #b9c3e6 !important;
  border-top: 1px solid rgba(185,195,230,.22) !important;
  box-shadow: none !important;
}
body.page-home .footer a,
body.page-home #siya-h2-footer a {
  color: #fff !important;
  text-decoration: none;
}
body.page-home .footer a:hover,
body.page-home #siya-h2-footer a:hover { text-decoration: underline; color: #f4f1ff !important; }
body.page-home .footer a:focus-visible,
body.page-home #siya-h2-footer a:focus-visible {
  outline: 3px solid #e2c89a;
  outline-offset: 3px;
}

body.page-home .person img.photo {
  object-fit: cover;
  display: block;
  padding: 0;
  border: 0;
  color: transparent;
  font-size: 0;
}

body.page-home {
  color-scheme: dark;
  --ink:#050816;
  --ink-2:#070c2a;
  --panel:#0d1236;
  --line:rgba(185,195,230,.22);
  --text:#f4f1ff;
  --muted:#d3daf5;
  --pink:#ff4db8;
  --pink-deep:#c8168c;
  --pink-hover:#a8117a;
  --gold:#e2c89a;
  --paper:#f4efe7;
  --paper-ink:#0b1450;
  --paper-muted:#454d78;
  --paper-line:#d8cfbf;
  --paper-card:#fbf8f2;
  --f-display:'Fraunces',Georgia,'Times New Roman',serif;
  --f-ui:'Poppins',system-ui,sans-serif;
  --f-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:var(--f-body);
  font-size:17px;
  line-height:1.55;
  overflow-x:hidden;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.page-home a:not(.cookie-notice__policy){color:inherit}
/* Cookie Policy link on the white bar — ink, keep underline (≥4.5:1). */
body.page-home .cookie-notice a.cookie-notice__policy{
  color:#050816!important;
  -webkit-text-fill-color:#050816!important;
  text-decoration:underline!important;
  text-underline-offset:2px;
}
body.page-home :focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.eyebrow{font:600 13px/1 var(--f-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0}
h1,h2,h3{margin:0;text-wrap:balance}
body.page-home h2{font:700 clamp(1.9rem,1.2rem + 2.2vw,3rem)/1.1 var(--f-ui);letter-spacing:-.01em;color:#fff}

/* —— BUTTON SYSTEM —— */
/* Paired buttons: same width and height, centred. */
body.page-home .btn,
body.page-home a.btn,
body.page-home button.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:52px;min-height:52px;padding:0 28px;min-width:220px;
  border-radius:999px;font:600 17px/1 var(--f-ui);text-decoration:none;
  border:1.5px solid transparent;cursor:pointer;
  transition:transform .18s,background .18s,border-color .18s,color .18s;
  background-image:none!important;box-shadow:none!important;
  box-sizing:border-box;text-align:center;
}
body.page-home .btn:hover{transform:translateY(-2px)}
body.page-home .btn-primary{
  background:#c8168c!important;color:#fff!important;border-color:#c8168c!important;
}
body.page-home .btn-primary:hover{background:#a8117a!important;border-color:#a8117a!important}
body.page-home .btn-secondary,
body.page-home .btn-gold,
body.page-home .btn-ghost{
  background:#e2c89a!important;border-color:#e2c89a!important;color:#050816!important;
}
body.page-home .btn-secondary:hover,
body.page-home .btn-gold:hover,
body.page-home .btn-ghost:hover{
  background:#d4b888!important;border-color:#d4b888!important;color:#050816!important;
}
body.page-home .ctas{
  display:grid;
  grid-template-columns:repeat(2,minmax(280px,1fr));
  gap:12px;
  justify-content:center;
  width:max-content;
  max-width:100%;
}
body.page-home .ctas .btn{
  min-width:280px;width:100%;height:52px;min-height:52px;justify-self:stretch;
}
body.page-home .ctas .btn:only-child{
  grid-column:1 / -1;max-width:320px;justify-self:center;
}

/* —— HERO —— */
.hero{
  position:relative;
  background:#050816;
  overflow:hidden;
}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(0,.95fr);
  grid-template-areas:
    "copy art"
    "copy hint";
  align-items:start;gap:16px 24px;min-height:620px;
  padding-block:96px 48px;
}
.hero-copy{
  grid-area:copy;
  position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:22px;
  /* Match prototype: narrow copy so neurons can occupy both sides of the brain. */
  max-width:min(42vw,600px);width:100%;
  align-self:center;
}
.hero-art{grid-area:art}
.hint-row{grid-area:hint}
.hero h1{
  font:700 clamp(2.4rem,1.2rem + 3.4vw,4rem)/1.08 var(--f-display);letter-spacing:-.015em;color:#fff!important;
  max-width:15ch;
}
.tag{font:600 clamp(1.25rem,1rem + .8vw,1.65rem)/1.2 var(--f-ui);color:var(--pink);margin:0}
.hero-art{position:relative;height:560px;min-width:0;pointer-events:none}
.hero-art .sr-fire{pointer-events:auto}
/* Neuron hero v2: transparent brain cut-out on #bc (code glow); neurons on #brain. No mix-blend. */
#bc{
  position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;
  /* Dim resting brain ~20% (CSS filter for Safari; not ctx.filter). */
  filter:brightness(.8) saturate(.95);
  -webkit-filter:brightness(.8) saturate(.95);
}
#brain{
  position:absolute;inset:0;width:100%;height:100%;z-index:3;
  touch-action:manipulation;cursor:pointer;pointer-events:auto;
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,8,22,.92) 0%,rgba(5,8,22,.72) 28%,rgba(5,8,22,.2) 48%,rgba(5,8,22,0) 62%);
}
/* Hint + pause: normal flow under art, never over copy/eyebrow. */
.hint-row{
  position:relative;z-index:4;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;
  pointer-events:none;margin:0 0 16px;padding:0 8px;text-align:center;width:100%;
}
.hint{
  pointer-events:none;margin:0;
  font-size:14px;line-height:1.4;color:#d3daf5;text-align:center;
}
.hint-touch{display:none}
@media (pointer:coarse){
  .hint-desk{display:none}
  .hint-touch{display:block}
}
.motion-toggle{
  pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-width:44px;min-height:44px;padding:8px 12px;margin:0;
  border:1px solid rgba(226,200,154,.45);border-radius:999px;background:transparent;
  color:#e2c89a;font:600 13px/1 var(--f-ui);cursor:pointer;
}
.motion-toggle:hover{border-color:#e2c89a;background:rgba(226,200,154,.08)}
.motion-toggle:focus-visible{
  outline:3px solid #e2c89a;outline-offset:3px;
}
.motion-toggle .motion-icon{display:block;flex:0 0 auto}
.motion-toggle[aria-pressed="false"] .motion-icon-play{display:none!important}
.motion-toggle[aria-pressed="true"] .motion-icon-pause{display:none!important}
.motion-toggle[hidden]{display:none!important}
.motion-toggle:disabled{opacity:.55;cursor:not-allowed}
.motion-off-note{
  margin:0;font:500 13px/1.35 var(--f-body);color:#c4cce8;max-width:28ch;
}
.sr-fire{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.sr-fire:focus{
  position:absolute;left:12px;bottom:40px;width:auto;height:auto;margin:0;clip:auto;overflow:visible;
  z-index:5;padding:10px 14px;border-radius:8px;background:#fff;color:#050816;font:600 15px/1 var(--f-ui);
}
@media(max-width:860px){
  .hero-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "art"
      "hint"
      "copy";
    padding-block:96px 32px;min-height:0;gap:12px;
  }
  .hero-art{height:300px;margin-inline:-8px}
  .hint-row{margin-bottom:16px;flex-direction:column;gap:8px}
  .hint{font-size:13px;line-height:1.35;color:#c4cce8}
  .hero::after{background:linear-gradient(180deg,rgba(5,8,22,0) 0,rgba(5,8,22,0) 220px,rgba(5,8,22,.88) 360px)}
  .hero-copy{gap:18px;max-width:none}
  .hero h1{max-width:none}
  body.page-home .ctas{
    grid-template-columns:1fr;width:100%;
  }
  body.page-home .ctas .btn{min-width:0;width:100%}
  body.page-home .ctas .btn:only-child{max-width:none}
  .marq li{font-size:20px;padding:10px 0 10px 0}
  .marq li::after{margin-left:14px;margin-right:14px}
}
/* Phones: shorten art so headline sits under the brain in the first screen (no text overlay). */
@media(max-width:759px){
  .hero-grid{
    padding-block:64px 20px;gap:8px;
  }
  .hero-art{height:min(40svh,340px);margin-inline:-8px}
  .hero::after{
    background:linear-gradient(180deg,rgba(5,8,22,0) 0,rgba(5,8,22,0) 55%,rgba(5,8,22,.9) 100%);
  }
  .hint-row{
    flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;
    gap:8px;margin-bottom:8px;padding:0 4px;
  }
  .hint{font-size:13px;line-height:1.3;color:#c4cce8}
  .motion-toggle{min-width:44px;min-height:44px;padding:6px 10px;font-size:13px;gap:6px}
  .hero-copy{gap:10px}
  .hero-copy .eyebrow{margin:0}
  .hero h1{
    font-size:clamp(2rem,8.4vw,2.6rem);line-height:1.1;letter-spacing:-.015em;margin:0;
  }
  .hero .tag{font-size:clamp(1.05rem,4.2vw,1.25rem);margin:0}
  .hero-copy .ctas{margin-top:2px;gap:10px}
}
/* Short phones: prioritise h1 above cookie banner; CTAs may need a scroll on 360×740. */
@media(max-width:759px) and (max-height:780px){
  .hero-grid{padding-block:48px 10px;gap:4px}
  .hero-art{height:min(30svh,240px)}
  .hint-row{margin-bottom:4px;gap:6px}
  .hero-copy{gap:6px}
  .hero h1{font-size:clamp(1.8rem,7.4vw,2.3rem);line-height:1.06}
  .hero .tag{font-size:clamp(.98rem,3.6vw,1.12rem)}
  .hero-copy .ctas{gap:8px}
  body.page-home .ctas .btn{height:48px;min-height:48px}
}

/* —— PROOF BAND —— */
.proof-band{
  background:#070c2a;
  border-top:1px solid rgba(185,195,230,.22);
  border-bottom:1px solid rgba(185,195,230,.22);
  padding:28px 0 10px;
}
.proof-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;gap:0;
}
.proof-item{
  text-align:center;padding:8px 16px;
  border-right:1px solid rgba(185,195,230,.22);
}
.proof-item:last-child{border-right:0}
.proof-item b{
  display:block;
  font:700 clamp(2.2rem,1.5rem + 2.5vw,3.4rem)/1.05 var(--f-ui);
  color:#fff;font-variant-numeric:tabular-nums;
}
/* Keep rating number the same size as 3,000+ / 6,000+ (do not let label span rule shrink it). */
.proof-item .proof-rating{
  display:inline;font:inherit;font-size:inherit;line-height:inherit;font-weight:inherit;
  color:inherit;white-space:nowrap;margin:0;
}
.proof-item b .star{
  color:#e2c89a;font:inherit;font-size:inherit;line-height:inherit;font-weight:700;white-space:nowrap;
}
.proof-item > span{
  display:block;margin-top:8px;font-size:17px;line-height:1.3;color:#d3daf5;
}
.proof-item a{text-decoration:none;color:inherit}
.proof-item a:hover span{text-decoration:underline}
.proof-asof{text-align:center;font-size:13px;color:#b9c3e6;margin:14px 0 6px}
@media(max-width:420px){
  .proof-grid{grid-template-columns:1fr}
  .proof-item{border-right:0;border-bottom:1px solid rgba(185,195,230,.22);padding:16px 8px}
  .proof-item:last-child{border-bottom:0}
}

/* —— MARQUEE —— */
.marq{border-block:1px solid var(--line);background:#070c2a;overflow:hidden;padding:18px 0}
.marq-in{display:flex;width:max-content;animation:slide 38s linear infinite;will-change:transform}
.marq:hover .marq-in,
.marq:focus-within .marq-in{animation-play-state:paused}
.marq ul{display:flex;align-items:center;gap:0;margin:0;padding:0;list-style:none;flex:0 0 auto}
.marq li{
  font:600 24px/1.1 var(--f-ui);padding:10px 0;border:0;border-radius:0;
  white-space:nowrap;background:transparent;
}
/* Deterministic: two pink, two white, repeating. */
.marq li:nth-child(4n+1),
.marq li:nth-child(4n+2){color:#ff4db8}
.marq li:nth-child(4n+3),
.marq li:nth-child(4n+4){color:#ffffff}
/* Separator after EVERY item (including last of each copy) so the seam matches. */
.marq li::after{
  content:"·";color:#e2c89a;font-weight:600;margin-left:18px;margin-right:18px;speak:never;
}
@keyframes slide{to{transform:translateX(-50%)}}

/* —— STATEMENT + TTT —— */
.sec{padding-block:clamp(52px,6.5vw,88px);background:#070c2a}
.sec.ink{background:#050816}
.stmt{font:600 clamp(1.5rem,1rem + 1.8vw,2.4rem)/1.25 var(--f-display);max-width:30ch;margin:0 0 44px;text-wrap:balance;color:#f4f1ff!important;opacity:1!important}
.stmt em{font-style:normal;color:var(--pink);-webkit-text-fill-color:var(--pink);background:none}
.ttt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{position:relative;background:#0d1236;border:1px solid var(--line);border-radius:18px;padding:26px 26px 28px;overflow:hidden;min-width:0}
.card h3{font:700 clamp(1.6rem,1.2rem + 1vw,2.1rem)/1 var(--f-ui);margin:14px 0 12px;color:#fff}
.card p{margin:0;color:#d3daf5;font-size:16px}
.viz{height:84px;width:100%;display:block}
.viz *{vector-effect:non-scaling-stroke}
/* Static rest; .card.play runs a finite ~5s sequence via IntersectionObserver. */
.bars rect{fill:#ff4db8;transform-origin:bottom;transform-box:fill-box;transform:scaleY(.7)}
.bars rect:nth-child(2n){fill:#8d7bff}
.card.play .bars rect{animation:eq 1.6s ease-in-out 3}
.card.play .bars rect:nth-child(2n){animation-delay:-.4s}
.card.play .bars rect:nth-child(3n){animation-delay:-.9s}
@keyframes eq{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
.ring circle{fill:none;stroke:#ff4db8;stroke-width:2;transform-origin:center;transform-box:fill-box;transform:scale(.6);opacity:.6}
.ring circle:nth-child(2){stroke:#8d7bff}
.ring .core{fill:#ff4db8;stroke:none;opacity:1;transform:none}
.card.play .ring circle:not(.core){animation:rp 2.4s ease-out 2;opacity:1;transform:scale(.2)}
.card.play .ring circle:nth-child(2){animation-delay:.7s}
.card.play .ring circle:nth-child(3){animation-delay:1.4s}
@keyframes rp{0%{transform:scale(.2);opacity:1}100%{transform:scale(1);opacity:0}}
.trk{fill:none;stroke:#ff4db8;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:400;stroke-dashoffset:0}
.trk2{fill:none;stroke:#8d7bff;stroke-width:2;stroke-dasharray:3 6;opacity:.8}
.card.play .trk{stroke-dashoffset:400;animation:draw 3.2s ease-in-out 1 forwards}
@keyframes draw{0%{stroke-dashoffset:400}60%,100%{stroke-dashoffset:0}}
@media(max-width:860px){.ttt{grid-template-columns:1fr}}

/* —— SPOT GAME —— */
.game{background:#050816}
.five{margin-top:26px;max-width:760px;border:1px solid var(--line);border-radius:18px;padding:20px;background:#0d1236}
.five-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:16px}
.timer-row{display:flex;align-items:center;gap:14px;flex:1 1 240px}
.timer{flex:1 1 160px;height:4px;border-radius:4px;background:rgba(185,195,230,.18);overflow:hidden}
.timer span{display:block;height:100%;background:var(--gold);transform-origin:left;transform:scaleX(1)}
.tnum{font:600 20px/1 var(--f-ui);color:#fff;font-variant-numeric:tabular-nums;min-width:3.2ch}
.tnum[hidden]{display:none!important}
.shapes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.sh{aspect-ratio:1;min-height:44px;padding:8px;border:1.5px solid var(--line);border-radius:14px;background:#12183f;cursor:pointer;display:grid;place-items:center;transition:border-color .15s,background .15s;opacity:1}
.sh:hover:not(:disabled){border-color:var(--pink);background:rgba(255,77,184,.08)}
.sh:disabled{cursor:default;opacity:1;filter:none}
.sh.idle{cursor:default}
.sh svg{width:100%;height:100%;display:block}
.sh.ok{border-color:var(--pink);animation:okp .5s ease-out}
.sh.no{border-color:#8d7bff;animation:nud .35s}
@keyframes okp{0%{box-shadow:0 0 0 0 rgba(255,77,184,.8)}100%{box-shadow:0 0 0 18px rgba(255,77,184,0)}}
@keyframes nud{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.fb{min-height:1.6em;margin:14px 0 0;font:600 17px/1.4 var(--f-ui);color:#fff}
.five-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px}
.five-ctl[hidden]{display:none!important}
.five-stop-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:12px}
.five-stop-row[hidden]{display:none!important}
.five-end{margin-top:18px;padding:18px 20px;border:1.5px solid var(--gold);border-radius:14px;background:#12183f}
.five-end[hidden]{display:none}
.five-end p{margin:0 0 8px;color:#d3daf5}
.five-end .five-best{color:var(--gold);font:600 17px/1.4 var(--f-ui)}
.skiplink{color:var(--gold)}
.cap{margin:12px 0 0;color:#d3daf5;max-width:60ch}
.cap strong{color:#fff;font-weight:600}

/* —— TILES —— */
.tiles{background:#070c2a;padding-bottom:clamp(60px,8vw,100px)}
.tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:34px}
.tile{
  display:flex;flex-direction:column;gap:16px;min-height:240px;padding:28px;
  border:1px solid rgba(226,200,154,.28);border-radius:20px;background:#0d1236;
  text-decoration:none;position:relative;
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.tile:hover,.tile:focus-visible{
  transform:translateY(-4px);border-color:#ff4db8;
  box-shadow:0 12px 32px rgba(255,77,184,.18);
  outline:none;
}
.tile:focus-visible{outline:3px solid #e2c89a;outline-offset:3px}
.tile .ic{width:52px;height:52px;display:grid;place-items:start;color:#e2c89a;background:none;border:0;padding:0}
.tile .ic svg{width:52px;height:52px;stroke-width:1.6}
.tile b{font:600 20px/1.25 var(--f-ui);color:#fff}
.tile .desc{margin:0;font-size:15px;line-height:1.45;color:#d3daf5;flex:1}
.tile .go{margin-top:auto;color:#ff4db8;font:600 16px/1 var(--f-ui);transition:transform .2s}
.tile:hover .go{transform:translateX(4px)}
@media(max-width:959px){.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.tile-grid{grid-template-columns:1fr}}

/* —— FORMERLY PAPER (cream) → flat dark band (owner: dark across whole homepage) —— */
.paper{
  background:#070c2a;color:rgba(255,255,255,.82);
  padding-top:max(72px,clamp(72px,6.5vw,88px));padding-bottom:clamp(52px,6.5vw,88px);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.paper h2{color:#fff!important}
.paper .eyebrow{color:#e2c89a}
.founders-lede{margin:18px 0 0;max-width:72ch;color:rgba(255,255,255,.82)!important;font-size:16px;line-height:1.55}
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}
.person{
  display:flex;gap:20px;align-items:flex-start;
  background:#0d1438;border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:24px;min-width:0;
}
/* Part 4b: framed photos — same treatment both founders; softens harsh light photo backgrounds. */
.photo-frame{
  flex:0 0 auto;padding:10px;background:#0d1438;
  border:1px solid rgba(255,255,255,.14);border-radius:18px;box-sizing:border-box;
}
.photo{
  display:block;width:140px;aspect-ratio:4/5;height:auto;border-radius:12px;
  object-fit:cover;object-position:50% 18%;border:0;
}
.photo--sneh{object-position:50% 12%}
.photo--swati{object-position:50% 16%}
.person h3{font:700 20px/1.2 var(--f-ui);color:#fff}
.person h3 a{color:#e2c89a!important;text-decoration:none}
.person h3 a:hover{text-decoration:underline}
.person h3 a:focus-visible{outline:3px solid #e2c89a;outline-offset:3px}
.person p{margin:6px 0 0;color:rgba(255,255,255,.82)!important;font-size:15px}
.person p:first-of-type{font-weight:600;color:#fff!important}

/* —— REVIEWS BAND —— */
.reviews-band{
  background:#050816;color:rgba(255,255,255,.82);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.reviews-band h2{color:#fff!important;margin:0 0 28px}
.reviews-carousel{position:relative;margin-top:8px;outline:none}
.reviews-viewport{
  position:relative;overflow:hidden;
  /* Tall enough for centre scale(1.08) + long quotes without clipping the centre card. */
  min-height:320px;padding:28px 8px 36px;
}
.reviews-track{
  position:relative;display:flex;align-items:center;justify-content:center;
  min-height:280px;gap:0;
}
.rev{
  position:absolute;left:50%;top:50%;
  width:min(420px,78%);
  background:#0a1028;border:1px solid rgba(255,255,255,.10);border-radius:16px;
  padding:22px 22px 20px;box-sizing:border-box;
  color:rgba(255,255,255,.88);font-size:15px;line-height:1.55;
  transform:translate(-50%,-50%) scale(.86);
  transition:transform .45s ease, background .45s ease, border-color .45s ease, box-shadow .45s ease;
  z-index:1;pointer-events:none;
}
.rev.is-side-left{transform:translate(calc(-50% - 38%),-50%) scale(.86);z-index:2}
.rev.is-side-right{transform:translate(calc(-50% + 38%),-50%) scale(.86);z-index:2}
.rev.is-center{
  background:#0d1438;border-color:rgba(255,77,184,.55);
  box-shadow:0 0 0 1px rgba(255,77,184,.18);
  transform:translate(-50%,-50%) scale(1.08);
  font-size:17px;padding:28px 28px 24px;z-index:3;pointer-events:auto;
  width:min(480px,86%);
  /* Short quotes must not make the centre card shorter than either side card (content height). */
  min-height:220px;
}
.rev.is-off{visibility:hidden;pointer-events:none;transform:translate(-50%,-50%) scale(.7)}
/* Beat global styles.css `p { font-size: clamp(16px, 2vw, 18px) }` so centre/side quote sizes differ. */
.rev p{margin:0;color:rgba(255,255,255,.88)!important;font-size:15px;font-style:normal}
.rev.is-center p{color:#fff!important;font-size:1.2em;font-style:italic}
.rev .rev-attr{
  display:block;margin-top:14px;font-size:13px;font-style:normal;
  color:rgba(255,255,255,.78)!important;
}
.rev .rev-label{font-weight:600;color:rgba(255,255,255,.9)}
.rev .rev-name{color:rgba(255,255,255,.72)}
.reviews-simple .reviews-track{
  position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;min-height:0;
}
.reviews-simple .rev{
  position:static;transform:none;width:auto;pointer-events:auto;visibility:visible;
  background:#0d1438;
}
.reviews-disclaimer{margin:14px 0 0;color:rgba(255,255,255,.72)!important;font-size:14px}
.reviews-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px}
.reviews-controls .reviews-nav{
  appearance:none;border:1px solid rgba(255,255,255,.14);background:#0d1438;color:#fff;
  font:600 14px/1 var(--f-ui);min-width:44px;min-height:44px;padding:0 14px;border-radius:10px;cursor:pointer;
}
.reviews-controls .reviews-nav:hover{border-color:#e2c89a;color:#e2c89a}
.reviews-controls .reviews-nav:focus-visible{outline:3px solid #e2c89a;outline-offset:3px}
.reviews-dots{display:flex;gap:8px;align-items:center;margin-left:auto}
.reviews-dots button{
  width:10px;height:10px;min-width:10px;min-height:10px;padding:0;border-radius:50%;border:1px solid #e2c89a;
  background:transparent;cursor:pointer;
}
.reviews-dots button[aria-current="true"]{background:#e2c89a}

/* —— FAQ BAND —— */
.faq-band{background:#070c2a}
.faq{margin:0;max-width:820px}
.faq h2{color:#fff!important}
.paper p,
.paper details p,
.faq-band details p{color:rgba(255,255,255,.82)!important}
details{border-bottom:1px solid rgba(255,255,255,.10);padding:18px 0}
summary{cursor:pointer;font:600 18px/1.3 var(--f-ui);list-style:none;display:flex;justify-content:space-between;gap:16px;color:#fff}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:24px;line-height:1;color:#e2c89a}
details[open] summary::after{content:"–"}
summary:focus-visible{outline:3px solid #e2c89a;outline-offset:3px;border-radius:4px}
details p{margin:12px 0 0;color:rgba(255,255,255,.82);max-width:64ch}
.paper a:not(.btn),
.faq-band a:not(.btn){color:#e2c89a;text-decoration:underline;text-underline-offset:2px}
.paper a:not(.btn):hover,
.faq-band a:not(.btn):hover{text-decoration-thickness:2px}
.paper a:not(.btn):focus-visible,
.faq-band a:not(.btn):focus-visible{outline:3px solid #e2c89a;outline-offset:3px}
@media(max-width:860px){
  .people{grid-template-columns:1fr}
  .person{flex-direction:row}
  .photo{width:120px;height:auto}
  .reviews-viewport{min-height:420px;padding:28px 0 36px}
  .reviews-track{min-height:380px}
  .rev{width:min(88%,360px)}
  .rev.is-side-left{transform:translate(calc(-50% - 62%),-50%) scale(.86)}
  .rev.is-side-right{transform:translate(calc(-50% + 62%),-50%) scale(.86)}
  .rev.is-center{width:min(90%,380px);font-size:16px;min-height:220px;transform:translate(-50%,-50%) scale(1.08)}
  .rev p{font-size:15px}
  .rev.is-center p{font-size:1.2em;font-style:italic}
}
@media(max-width:520px){
  .person{flex-direction:column}
  .photo-frame{width:100%}
  .photo{width:100%;height:auto;max-height:280px}
}

/* —— CLOSE —— */
.close{background:#050816;padding:72px 0 140px}
.close-panels{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch;margin:0}
.close-panel{
  display:flex;flex-direction:column;gap:16px;min-height:100%;
  background:#0d1236;border:1px solid var(--line);border-radius:16px;padding:28px;
}
.close-panel--patient{border-color:#ff4db8}
.close-panel--patient h2{color:#ff4db8!important}
.close-panel--employer{border-color:#e2c89a}
.close-panel--employer h2{color:#e2c89a!important}
.close-panel h2{font:700 clamp(1.4rem,1.1rem + 1vw,1.85rem)/1.2 var(--f-ui);margin:0}
.close-panel .cap{margin:0;color:#d3daf5}
.close-panel .ctas{margin-top:auto;padding-top:8px}
.close h2{color:#fff}
.close .cap{color:#d3daf5}
.contact{margin:28px 0 0;text-align:center;color:#d3daf5;font-size:17px}
.contact a{color:#fff;text-decoration:underline}
.legal{margin:16px 0 0;text-align:center;color:#b9c3e6;font-size:14px;border:0;padding:0}
@media(max-width:860px){.close-panels{grid-template-columns:1fr}}

/* —— STICKY —— */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:12px max(16px,env(safe-area-inset-left,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-right,0px));background:rgba(5,8,22,.94);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .25s;display:none}
.sticky .btn{width:100%;min-width:0}
@media(max-width:720px){.sticky{display:block}.sticky.show{transform:none}.close{padding-bottom:170px}}

/* —— REVEAL —— */
.arm .rv:not(.in){opacity:0;transform:translateY(18px)}
.rv{transition:opacity .55s ease,transform .55s ease}
.arm .rv.d1{transition-delay:.08s}.arm .rv.d2{transition-delay:.16s}.arm .rv.d3{transition-delay:.24s}
@media print{
  .arm .rv:not(.in), .rv{opacity:1!important;transform:none!important}
}
body.page-home.no-js .arm .rv:not(.in),
html:not(.js) .arm .rv:not(.in){opacity:1!important;transform:none!important}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .marq-in{width:auto;flex-wrap:wrap;animation:none!important}
  .marq ul[aria-hidden]{display:none}
  .trk{stroke-dashoffset:0}
  .bars rect{transform:scaleY(.7)}
  .ring circle:not(.core){transform:scale(.6);opacity:.6}
  .card.play .bars rect,
  .card.play .ring circle,
  .card.play .trk{animation:none!important}
}

body.page-home.cookie-notice-visible .sticky,
body.page-home.cookie-notice-visible .mobile-sticky-cta { display: none !important; transform: none !important; }
body.page-home .hero h1, body.page-home .hero-copy, body.page-home .hero-copy p, body.page-home .hero-copy strong { color: #fff !important; -webkit-text-fill-color: unset; }
body.page-home .hero .tag { color: var(--pink) !important; }
body.page-home .hero .eyebrow { color: var(--gold) !important; }
body.page-home .stmt { color: #f4f1ff !important; opacity: 1 !important; -webkit-text-fill-color: #f4f1ff !important; }
body.page-home .stmt em { color: var(--pink) !important; -webkit-text-fill-color: var(--pink) !important; background: none !important; background-image: none !important; }
