/* v16: Final handoff (Sept 16, 2026). Presentation-only; existing interactions preserved. */

/* ---- global brightness progression: deep space -> illuminated orbit -> systems environment ---- */
body { background:#070d19; }
.hero::after { background:linear-gradient(180deg,transparent 0%,rgba(9,17,33,.55) 62%,rgba(11,21,38,.96) 100%) !important; }
.solar-scene::before { background:radial-gradient(ellipse at 50% 44%,rgba(255,158,64,.20),rgba(255,140,40,.08) 30%,transparent 62%) !important; }
.wwd { background-color:#0f1c31; background-image:linear-gradient(180deg,#0e1a2e 0%,#101d33 100%); }
.rbs,.marquee,.lab,.brain,.faq,.final-cta { background:#0c1728; }
.section { padding-block:clamp(60px,9vw,120px); }

/* ---- nav ---- */
.nav__link { color:#e8eef6; }
.nav__cta.btn--outline { background:transparent; border:1px solid rgba(94,234,212,.62); color:#eaf2f7; box-shadow:none; }
.nav__cta.btn--outline:hover { border-color:var(--teal); background:rgba(94,234,212,.06); }
.brand { gap:12px; }
.brand__logo,.lab-brand .brand__logo { width:auto; height:56px; filter:drop-shadow(0 0 1px rgba(133,222,255,.55)); border-radius:0; }
.nav > .nav__inner,.lab-nav > .lab-nav__inner { min-height:84px; }

/* ---- hero: composition up, sun larger, three bodies ---- */
.solar-center { top:44% !important; }
.hero__inner { position:relative; top:-5vh; }
.solar-scene .hero-sun { --sun-size:clamp(224px,32.3vw,457px); filter:brightness(.78) saturate(.95); }
.hero__summary { max-width:64ch; margin-inline:auto; }
.hero__actions { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }
.hero__actions .btn--outline { border:1px solid rgba(94,234,212,.7); background:rgba(6,14,26,.35); color:#eaf2f7; }
.hero__actions .btn--outline:hover { border-color:var(--teal); background:rgba(94,234,212,.08); }
.css-orbit--earth { --planet-size:clamp(34px,4.6vw,66px); }
.hero .orbiter--earth .planet-surface { opacity:.9; filter:brightness(.82) saturate(.86) contrast(1.06); }
.css-orbit--venus { --diameter:calc(var(--system-size) * .56); --period:132s; --delay:-96s; --planet-size:clamp(26px,3.3vw,48px); outline-color:rgba(131,160,167,.06); }
.hero .orbiter--venus .planet-surface { opacity:.92; filter:saturate(.9) drop-shadow(-1px -1px 2px rgba(240,214,170,.12)); }
@media(max-width:700px){
 .css-orbit--venus { --planet-size:26px; --delay:-104s; }
 .solar-scene .hero-sun { --sun-size:min(69.9vw,273px); }
 .hero__actions .btn { width:100%; justify-content:center; }
 .hero { align-items:start; }
 .hero__inner { top:0; }
 
 .solar-scene .hero-sun { filter:brightness(.7) saturate(.92); }
 .brand__logo,.lab-brand .brand__logo { height:42px; }
 .marquee__track { animation-duration:90s; }
 .nav > .nav__inner,.lab-nav > .lab-nav__inner { min-height:68px; }
}

/* ---- what we do ---- */
.wwd h2 { max-width:20ch; }
.wwd .tabpanel__grid { gap:clamp(24px,4vw,56px); min-height:0; align-items:center; }
.wwd .tabs { margin-top:30px; }
.wwd .tabpanels { margin-top:22px; }
.wwd .tabpanel h3 { font-size:clamp(19px,1.6vw,23px); line-height:1.35; font-weight:600; max-width:44ch; }
.wwd-lead { margin:12px 0 0; color:var(--ink-2); font-size:clamp(15px,1.35vw,17px); max-width:46ch; }
.wwd-rows { display:grid; gap:10px; margin-top:22px; }
.wwd-row { border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.02); }
.wwd-row[open] { border-color:var(--line-2); background:rgba(94,234,212,.035); }
.wwd-row summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 16px; font-weight:600; color:var(--ink); font-size:15px; }
.wwd-row summary::-webkit-details-marker { display:none; }
.wwd-row summary .chev { flex:none; color:var(--teal); transition:transform 220ms var(--ease); }
.wwd-row[open] summary .chev { transform:rotate(180deg); }
.wwd-row p { margin:0; padding:0 16px 14px; color:var(--ink-2); font-size:14.5px; line-height:1.55; }

/* ---- revenue blind spot report cover ---- */
.book__brand { display:flex; align-items:center; }
.book__logo { width:118px; height:auto; object-fit:contain; }
.book__foot { letter-spacing:.2em; text-transform:uppercase; }

/* ---- tech stack ticker: center focal zone ---- */
.marquee { padding-block:clamp(26px,4vw,44px); border-block:1px solid rgba(148,176,200,.06); }
.marquee__item { opacity:.5; transform:scale(1); transition:none; will-change:opacity,transform; }
.marquee__name { font-weight:600; font-size:clamp(14px,1.2vw,17px); letter-spacing:.01em; color:#d5e1ea; white-space:nowrap; }
.marquee__item .marquee__glyph { width:18px; height:18px; border-radius:5px; border:1px solid rgba(148,176,200,.35); display:inline-block; position:relative; }
.marquee__item .marquee__glyph::after { content:""; position:absolute; inset:5px; border-radius:2px; background:rgba(94,234,212,.55); }

/* ---- systems lab ---- */
.lab .lab__bullets { margin-top:24px; }

/* ---- SOS brain ---- */
.brain { text-align:left; overflow:hidden; }
.brain__grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(20px,3vw,44px); align-items:center; }
.brain__visual { position:relative; margin:0; }
.brain__visual::before { content:""; position:absolute; inset:-10%; border-radius:50%; background:radial-gradient(circle,rgba(94,234,212,.16) 0%,rgba(94,234,212,.05) 40%,transparent 70%); pointer-events:none; }
.brain__image { position:relative; display:block; width:100%; max-width:640px; aspect-ratio:1; object-fit:cover; border-radius:50%; mask-image:radial-gradient(circle,#000 58%,transparent 72%); -webkit-mask-image:radial-gradient(circle,#000 58%,transparent 72%); }
.brain__copy .eyebrow { margin-bottom:14px; }
.brain h2 { text-align:left; max-width:14ch; }
.brain__tagline { margin:18px 0 0; max-width:46ch; }
.brain__mount { margin-top:22px; max-width:250px; }
.brain__mount sos-brain { display:block; }
@media(max-width:860px){ .brain__grid { grid-template-columns:1fr; } .brain__image { max-width:min(100%,420px); margin-inline:auto; } }

/* ---- FAQ card grid ---- */
.faq { position:relative; overflow:hidden; }
.faq__head h2 { margin-bottom:6px; }
.faq__sub { margin:0 0 30px; color:var(--ink-2); font-size:clamp(15px,1.4vw,18px); }
.faq__cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.faq-card { position:relative; overflow:hidden; border:1px solid rgba(148,176,200,.16); border-radius:16px; background:linear-gradient(135deg,#0d1a2e 0%,#0a1426 60%,#081120 100%); min-height:118px; }
.faq-card::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.55;
 background:
  radial-gradient(ellipse 60% 90% at 100% 20%,rgba(94,234,212,.10),transparent 60%),
  radial-gradient(circle 1px at 70% 30%,rgba(255,255,255,.55) 0 1px,transparent 2px),
  radial-gradient(circle 1px at 84% 72%,rgba(255,255,255,.45) 0 1px,transparent 2px),
  radial-gradient(circle 1px at 92% 44%,rgba(255,255,255,.35) 0 1px,transparent 2px);
}
.faq-card:nth-child(even)::before { background:
  radial-gradient(ellipse 60% 90% at 96% 90%,rgba(94,234,212,.09),transparent 60%),
  radial-gradient(circle 1px at 62% 26%,rgba(255,255,255,.5) 0 1px,transparent 2px),
  radial-gradient(circle 1px at 88% 36%,rgba(255,255,255,.4) 0 1px,transparent 2px); }
.faq-card::after { content:""; position:absolute; right:-40px; bottom:-90px; width:260px; height:200px; border:1px solid rgba(94,234,212,.18); border-radius:50%; transform:rotate(-14deg); pointer-events:none; }
.faq-card[open] { border-color:rgba(94,234,212,.4); }
.faq-card summary { position:relative; z-index:1; list-style:none; cursor:pointer; padding:22px 24px; display:grid; grid-template-columns:1fr auto; gap:14px; align-items:end; }
.faq-card summary::-webkit-details-marker { display:none; }
.faq-card__num { display:block; color:var(--teal); font-weight:600; font-size:20px; letter-spacing:.02em; margin-bottom:10px; }
.faq-card__q { display:block; color:var(--ink); font-weight:500; font-size:clamp(15px,1.25vw,17px); line-height:1.4; max-width:30ch; }
.faq-card .chev { color:var(--teal); transition:transform 220ms var(--ease); align-self:center; }
.faq-card[open] .chev { transform:rotate(90deg); }
.faq-card__a { position:relative; z-index:1; margin:0; padding:0 24px 22px; color:var(--ink-2); font-size:15px; line-height:1.6; }
.faq__horizon { position:relative; margin:56px calc(-1 * var(--pad,24px)) 0; height:150px; overflow:hidden; }
.faq__horizon::before { content:""; position:absolute; left:-10%; right:-10%; top:70px; height:400px; border-radius:50%; background:#040a14; box-shadow:0 0 0 1.5px rgba(120,205,255,.55),0 -18px 60px rgba(90,180,255,.28); }
.faq__line { position:absolute; left:0; right:0; bottom:16px; margin:0; text-align:center; font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:var(--ink-3); }
@media(max-width:760px){ .faq__cards { grid-template-columns:1fr; } .faq-card__q { max-width:none; } }

/* ---- final CTA + footer ---- */
.final-cta { position:relative; overflow:hidden; text-align:center; padding-block:clamp(90px,14vw,170px) clamp(120px,16vw,220px); }
.final-cta__bg { position:absolute; inset:0; background:#050b16 url('/website-v16/earth-horizon.webp') center 60% / cover no-repeat; opacity:.9; }
.final-cta__bg::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,19,36,.92) 0%,rgba(10,19,36,.35) 35%,rgba(5,11,22,.15) 70%,rgba(5,11,22,.9) 100%); }
.final-cta .wrap { position:relative; }
.final-cta h2 { font-size:clamp(30px,4.6vw,56px); line-height:1.08; margin:0; }
.final-cta__sub { margin:20px auto 0; color:var(--ink-2); font-size:clamp(15px,1.5vw,19px); max-width:46ch; }
.final-cta__actions { margin-top:32px; }
.final-cta .btn { font-size:16px; padding:15px 30px; }
.footer { position:relative; background:#050b16; padding-block:26px 34px; }
.footer__line { display:none; }
.footer__row { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.footer .brand { display:none; }
.footer__links { display:flex; align-items:center; gap:0; flex:1; justify-content:flex-end; flex-wrap:nowrap; }
.footer__links > * { white-space:nowrap; }
.footer__links .sep { width:1px; height:14px; background:rgba(148,176,200,.35); margin:0 clamp(14px,2.4vw,34px); }
@media(max-width:760px){
 .footer__row { flex-direction:column; align-items:flex-start; }
 .footer__links { justify-content:flex-start; flex-wrap:wrap; gap:10px 0; }
}

/* ---- legal placeholder pages ---- */
.legal { padding-block:clamp(60px,10vw,120px); min-height:60vh; }
.legal h1 { font-size:clamp(30px,4.4vw,52px); margin:0 0 18px; }
.legal p { color:var(--ink-2); max-width:60ch; font-size:17px; line-height:1.6; }

/* marquee: js-driven center hold + glow (final.js) */
.marquee__item { transition: filter .5s ease; }
.marquee__item.is-centered { filter:drop-shadow(0 0 8px rgba(224,242,254,.9)) drop-shadow(0 0 22px rgba(94,234,212,.45)); }
