/* ============================================================================
   Rebellion-OS — marketing site layer (cinematic, calm, investor-grade)
   Builds on rebos-extreme-premium.css primitives (.ge-card/.ge-btn/[data-reveal]).
   Brand: deep void + cyan + ember. Space Grotesk / Inter. GPU-only motion.
   ========================================================================== */
:root{
  --void:#04060b; --void-2:#070b14; --panel:#0a0f1b;
  --ink:#eef2fb; --mut:#9aa6c2; --faint:#5d6885; --line:rgba(255,255,255,.08);
  --cyan:#00E5FF; --ember:#FF5F1F; --green:#14e09a; --violet:#a78bff;
  --maxw:1180px; --ease:cubic-bezier(.22,1,.36,1);
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; overflow-x:clip; }
body{
  margin:0; background:var(--void); color:var(--ink);
  font-family:"Inter",system-ui,sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
h1,h2,h3,.dsp{ font-family:"Space Grotesk","Inter",sans-serif; letter-spacing:-.03em; line-height:1.04; margin:0; }
a{ color:inherit; text-decoration:none; }
.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding-left:24px; padding-right:24px; }
.sec{ padding:clamp(80px,8vw,120px) 0; position:relative; }
.eyebrow{ display:inline-flex; align-items:center; gap:9px; font:600 12px/1 "Space Grotesk",sans-serif;
  letter-spacing:.16em; text-transform:uppercase; color:var(--cyan);
  padding:8px 14px; border-radius:999px; background:rgba(0,229,255,.06); border:1px solid rgba(0,229,255,.2); }
.eyebrow .d{ width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:bpulse 1.8s var(--ease) infinite; }
.eyebrow.ember{ color:var(--ember); background:rgba(255,95,31,.07); border-color:rgba(255,95,31,.25); }
.eyebrow.ember .d{ background:var(--ember); box-shadow:0 0 10px var(--ember); }
@keyframes bpulse{ 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.35;transform:scale(.7)} }
.lead{ color:var(--mut); font-size:clamp(15px,1.9vw,19px); max-width:60ch; }
.muted{ color:var(--mut); } .em{ color:#fff; font-weight:600; }
.grad{ background:linear-gradient(180deg,#fff 30%,#9fb6e8); -webkit-background-clip:text; background-clip:text; color:transparent; }
.grad-cyan{ background:linear-gradient(110deg,#fff,var(--cyan) 80%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.grad-ember{ background:linear-gradient(110deg,#ffd9c7,var(--ember)); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ---------- NAV ---------- */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:50;
  background:rgba(0,0,0,0.82);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  transition:background .4s var(--ease), border-color .4s, box-shadow .4s;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.nav.scrolled{
  background:rgba(0,0,0,.92);
  border-color:rgba(255,255,255,.08);
  box-shadow:0 8px 48px -16px rgba(0,0,0,.9);
}
.nav__in{ display:flex; align-items:center; justify-content:space-between; min-height:96px; height:auto; padding:10px 0; }
.brand{
  display:flex; align-items:center; gap:10px;
  font:700 22px/1 "Space Grotesk",sans-serif;
  letter-spacing:-.025em; background:transparent; border:none; padding:0; color:#fff;
  text-decoration:none;
}
.brand__mark{
  width:30px; height:30px; border-radius:8px;
  background:conic-gradient(from 210deg,var(--cyan),var(--violet),var(--ember),var(--cyan));
  box-shadow:0 0 20px -3px rgba(0,229,255,.55);
  flex-shrink:0;
}
.brand__wordmark{ color:#fff; }
.brand__os{ color:var(--cyan); }
.brand__logo-img{ display:block; height:72px; width:auto; max-width:min(320px,72vw); object-fit:contain; object-position:left center; }
.brand__logo-img--foot{ height:72px; max-width:min(260px,60vw); }
.nav__links{ display:flex; align-items:center; gap:34px; }
.nav__links a{
  font-size:17px; font-weight:500; color:rgba(255,255,255,.75);
  transition:color .25s, opacity .25s;
  letter-spacing:-.01em;
}
.nav__links a:hover{ color:#fff; }
.nav__cta{
  font-size:15px; font-weight:700; padding:12px 22px; border-radius:12px;
  color:#02121a; background:linear-gradient(180deg,#9af5ff,var(--cyan));
  box-shadow:0 8px 28px -8px rgba(0,229,255,.55);
  transition:transform .25s var(--ease), box-shadow .25s;
  letter-spacing:-.01em; white-space:nowrap;
}
.nav__cta:hover{ transform:translateY(-2px); box-shadow:0 12px 36px -8px rgba(0,229,255,.65); }
.nav__burger{ display:none; background:none; border:none; color:#fff; font-size:26px; cursor:pointer; padding:10px; line-height:1; }
@media(max-width:860px){
  .nav__links{ display:none; }
  .nav__burger{ display:block; }
  .nav__cta{ display:none; }
  .nav__in{ min-height:84px; padding:8px 0; }
  .brand{ font-size:20px; }
  .brand__mark{ width:26px; height:26px; }
  .brand__logo-img{ height:60px; max-width:min(240px,78vw); }
}

/* ---------- HERO ---------- */
.hero{ position:relative; min-height:100svh; display:flex; align-items:center; overflow-x:clip; overflow-y:visible; }
@media (min-width:901px){
  .hero{ min-height:min(100svh,900px); }
}
#starfield-canvas{ position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; }
#hero-canvas{ position:absolute; inset:0; width:100%; height:100%; z-index:1; opacity:.55; pointer-events:none; }
/* cinematic nebula depth — slow drifting colored light behind the starfield */
.hero__nebula{ position:absolute; inset:-20%; z-index:0; pointer-events:none; filter:blur(60px); opacity:.55;
  background:
    radial-gradient(38% 44% at 22% 32%, rgba(0,229,255,.28), transparent 62%),
    radial-gradient(34% 40% at 80% 26%, rgba(167,139,255,.24), transparent 60%),
    radial-gradient(40% 46% at 64% 82%, rgba(20,224,154,.16), transparent 60%);
  animation:nebula 26s var(--ease) infinite alternate; will-change:transform; }
@keyframes nebula{ 0%{ transform:translate3d(0,0,0) scale(1) } 100%{ transform:translate3d(2.5%,-2%,0) scale(1.12) rotate(4deg) } }
.hero::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(120% 80% at 50% 0%, transparent 40%, var(--void) 78%),
            linear-gradient(180deg, rgba(4,6,11,.2), transparent 30% 70%, var(--void)); }
.hero__in{ position:relative; z-index:2; padding-top:clamp(96px,12vh,120px); padding-bottom:40px; }
/* Above-fold hero: never hide copy or score behind scroll-reveal */
.hero [data-reveal]{ opacity:1; transform:none; }
#billing-companies,#who{ scroll-margin-top:calc(var(--nav-h, 80px) + 20px); }
@media (min-width:861px){
  #billing-companies,#who{ scroll-margin-top:108px; }
}
.hero h1{ font-size:clamp(40px,7.2vw,80px); font-weight:700; max-width:14ch; line-height:1.02; letter-spacing:-.03em; margin-top:12px; }
.hero .lead,.hero__lead{ margin-top:16px; font-size:clamp(16px,1.95vw,19px); line-height:1.5; max-width:48ch; color:var(--mut); }
.hero__cta{ display:flex; gap:14px; flex-wrap:wrap; margin-top:22px; }
.btn{ display:inline-flex; align-items:center; gap:9px; min-height:52px; padding:0 24px; border-radius:14px; cursor:pointer;
  font:600 15px/1 "Space Grotesk",sans-serif; border:none; transition:transform .25s var(--ease), box-shadow .25s, filter .25s; position:relative; overflow:hidden; }
.btn--primary{ color:#02121a; background:linear-gradient(180deg,#8af3ff,var(--cyan)); box-shadow:0 12px 34px -10px rgba(0,229,255,.55); }
.btn--ember{ color:#fff; background:linear-gradient(180deg,#ff7d45,var(--ember)); box-shadow:0 12px 34px -10px rgba(255,95,31,.5); }
.btn--ghost{ color:var(--ink); background:rgba(255,255,255,.05); border:1px solid var(--line); }
.btn::before{ content:""; position:absolute; inset:0; background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%); transform:translateX(-130%); transition:transform .75s var(--ease); }
.btn:hover{ transform:translateY(-3px); } .btn:hover::before{ transform:translateX(130%); } .btn:active{ transform:translateY(0) scale(.98); }
.hero__trust{ margin-top:16px; display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; color:var(--faint); font:500 13px/1.4 "Inter",sans-serif; letter-spacing:.02em; }
@media(max-width:560px){ .hero__trust{ margin-top:14px; gap:8px 14px; font-size:12px; } }
.hero__trust b{ color:var(--mut); font-weight:600; }
.hero__trust .sep{ width:5px;height:5px;border-radius:50%;background:#28324c; }
.hero__multi{
  margin-top:20px; max-width:54ch; font:500 13px/1.6 "Inter",sans-serif; color:var(--faint);
  padding:14px 16px; border-radius:12px; background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.06);
}
.hero__multi a{ color:var(--cyan); font-weight:600; text-decoration:underline; text-underline-offset:3px; transition:color .2s; }
.hero__multi a:hover{ color:#fff; }
@media(max-width:560px){ .hero__multi{ margin-top:18px; font-size:12.5px; padding:12px 14px; } }

/* ---------- ACCOUNT TYPE SELECTOR ---------- */
.acct-type-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
@media(max-width:560px){ .acct-type-row{ grid-template-columns:1fr 1fr; } }
.acct-type-opt{
  background:rgba(255,255,255,.04); border:1.5px solid rgba(255,255,255,.1);
  border-radius:12px; padding:12px 8px 10px; text-align:center;
  cursor:pointer; transition:all .16s; user-select:none; display:flex; flex-direction:column; align-items:center; gap:4px;
}
.acct-type-opt:hover{ border-color:var(--cyan); background:rgba(0,229,255,.06); }
.acct-type-opt.sel{ border-color:var(--cyan); background:rgba(0,229,255,.10); box-shadow:0 0 20px -8px rgba(0,229,255,.4); }
.ato-icon{ font-size:20px; line-height:1; display:block; }
.ato-label{ font:700 9.5px/1.3 "Space Grotesk",sans-serif; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); }
.acct-type-opt.sel .ato-label{ color:var(--cyan); }

.hero__npi{ display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; max-width:460px; align-items:stretch; }
.hero__npi input{ flex:1 1 200px; min-width:0; height:50px; padding:0 18px; border-radius:12px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); color:#fff; font:500 15px/1.4 "Inter",sans-serif; letter-spacing:.01em; }
.hero__npi input::placeholder{ color:rgba(255,255,255,.38); font-weight:400; }
.hero__npi input:focus{ outline:none; border-color:rgba(0,229,255,.5); box-shadow:0 0 0 3px rgba(0,229,255,.1); }
.hero__npi .btn{ white-space:nowrap; min-height:50px; padding:0 22px; font-size:15px; border-radius:12px; }
@media(max-width:560px){
  .hero__npi{ margin-top:28px; gap:10px; max-width:100%; }
  .hero__npi input,.hero__npi .btn{ width:100%; flex:1 1 100%; }
  .hero__npi .btn{ justify-content:center; }
}

/* hero RateScore layout — copy left, live scorecard right (premium SaaS pair) */
.hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.82fr);
  gap:clamp(24px,3.5vw,48px);
  align-items:start;
}
.hero__copy{ min-width:0; align-self:start; padding-top:6px; }
.hero__copy h1{ max-width:13ch; }
.reg{ font-size:.42em; vertical-align:.7em; font-weight:600; letter-spacing:0; -webkit-text-fill-color:var(--cyan); }
.hero__score{
  position:relative; perspective:1200px;
  width:100%; max-width:404px; margin:0;
  justify-self:end; align-self:start;
  overflow:clip;
}
.hero__score.is-loaded{ animation:floaty 7s var(--ease) infinite; }
@media (min-width:901px){
  .hero h1{ max-width:13ch; }
  .hero__score{ max-width:404px; }
}
@keyframes floaty{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }
.scorecard{ position:relative; max-width:430px; margin:0 auto; padding:30px 30px 26px; border-radius:26px;
  background:radial-gradient(90% 70% at 50% -5%, rgba(0,229,255,.16), transparent 60%), linear-gradient(180deg, rgba(12,20,38,.82), rgba(6,10,20,.92));
  border:1px solid rgba(0,229,255,.28); box-shadow:0 0 0 1px rgba(0,229,255,.14), 0 40px 90px -40px #000, inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(16px) saturate(140%); -webkit-backdrop-filter:blur(16px) saturate(140%);
  transform-style:preserve-3d; transition:transform .3s var(--ease), box-shadow .3s var(--ease);
  transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); }
.scorecard > *{ transform:translateZ(28px); }
.scorecard::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0; transition:opacity .3s var(--ease);
  background:radial-gradient(300px 300px at var(--gx,50%) var(--gy,0%), rgba(255,255,255,.10), transparent 60%); }
.hero__score:hover .scorecard::after{ opacity:1; }
.scorecard__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.scorecard__brand{ font:700 13px/1 "Space Grotesk"; letter-spacing:-.01em; color:#fff; }
.scorecard__live{ display:inline-flex; align-items:center; gap:6px; font:600 10px/1 "Space Grotesk"; letter-spacing:.14em; text-transform:uppercase; color:var(--green); }
.scorecard__live i{ width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:bpulse 1.6s var(--ease) infinite; }
.hgauge{ position:relative; width:100%; max-width:300px; margin:6px auto 0; aspect-ratio:1/1; }
.hgauge svg{ width:100%; height:100%; display:block; }
.hgauge__c{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.hgauge__num{ font:700 clamp(46px,8vw,68px)/1 "Space Grotesk"; letter-spacing:-.04em; font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,#fff,var(--cyan)); -webkit-background-clip:text;background-clip:text;color:transparent; }
.hgauge__grade{ font:800 15px/1 "Space Grotesk"; padding:4px 12px; border-radius:999px; margin-top:8px; background:rgba(20,224,154,.16); color:var(--green); }
.hgauge__scale{ font:700 11px/1 "Space Grotesk"; letter-spacing:.12em; color:#fff; margin-top:9px; white-space:nowrap; text-shadow:0 0 12px rgba(0,229,255,.45),0 1px 2px rgba(0,0,0,.6); }
.scorecard__foot{ display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.08); }
.scorecard__foot small{ color:var(--faint); font-size:11px; }
.scorecard__foot a{ font:600 13px/1 "Space Grotesk"; color:var(--cyan); }
@media(max-width:900px){
  .hero__grid{ grid-template-columns:1fr; gap:clamp(32px,8vw,40px); align-items:start; }
  .hero__score{ justify-self:center; margin-top:0; max-width:100%; }
  .hero h1{ max-width:100%; }
  .scorecard{ max-width:360px; }
  .hero__score .scorecard__foot{ margin-top:8px; padding-top:8px; }
  .hero__score .sc-rate-panel__insight{ display:none; }
  .hero__score .sc-btn-yours{ display:none; }
}

/* ---------- TRUST BADGES (clean, no raster black boxes) ---------- */
.badges{ display:flex; align-items:center; justify-content:center; gap:14px 18px; flex-wrap:wrap; }
.badges .label{ color:var(--faint); font:600 11px/1 "Space Grotesk"; letter-spacing:.16em; text-transform:uppercase; }
.tbadge{ display:inline-flex; align-items:center; gap:9px; padding:9px 15px; border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02)); border:1px solid var(--line);
  font-family:"Space Grotesk",sans-serif; transition:border-color .3s var(--ease), transform .3s var(--ease); }
.tbadge:hover{ border-color:rgba(255,255,255,.18); transform:translateY(-2px); }
.tbadge svg{ display:block; }
.tbadge .t{ display:flex; flex-direction:column; line-height:1.15; }
.tbadge .t b{ font-size:13px; font-weight:700; color:#f3f6fb; letter-spacing:-.01em; }
.tbadge .t small{ font-size:10px; color:var(--faint); letter-spacing:.04em; }

/* ---------- LIVE AI TOOL (real Groq endpoint) ---------- */
.aitool{ position:relative; border-radius:20px; padding:clamp(20px,3vw,30px); margin-top:44px;
  background:radial-gradient(90% 120% at 0% 0%, rgba(0,229,255,.10), transparent 55%), linear-gradient(180deg,var(--panel),#070b14);
  border:1px solid var(--line); box-shadow:var(--ge-shadow,0 20px 60px -30px #000); }
.aitool__row{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.aitool__row input,.aitool__row select{ flex:1; min-width:150px; height:48px; padding:0 14px; border-radius:12px;
  background:rgba(255,255,255,.04); border:1px solid var(--line); color:#fff; font:500 14px/1 "Inter"; }
.aitool__row input:focus,.aitool__row select:focus{ outline:none; border-color:rgba(0,229,255,.5); box-shadow:0 0 0 4px rgba(0,229,255,.12); }
.aitool__out{ margin-top:16px; padding:16px; border-radius:14px; background:#04070d; border:1px solid var(--line);
  font-size:14px; line-height:1.6; color:#cfe1ee; min-height:54px; white-space:pre-wrap; }
.aitool__out .ge-think i{ background:var(--cyan); }
.aitool__tag{ font:600 10px/1 "Space Grotesk"; letter-spacing:.14em; text-transform:uppercase; color:var(--green); }

/* ---------- STAT STRIP ---------- */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:30px 0; }
.stat .n{ font:700 clamp(26px,4vw,42px)/1 "Space Grotesk",sans-serif; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.stat .l{ color:var(--faint); font-size:12.5px; letter-spacing:.03em; margin-top:6px; }
@media(max-width:680px){ .stats{ grid-template-columns:repeat(2,1fr); gap:24px 18px; } }

/* ---------- SECTION HEADER ---------- */
.shead{ max-width:30ch; } .shead.center{ max-width:38ch; margin:0 auto; text-align:center; }
.shead h2{ font-size:clamp(30px,5vw,52px); font-weight:700; margin:16px 0 14px; }

/* ---------- PROBLEM (emotional) ---------- */
.problem{ background:linear-gradient(180deg,var(--void),#060910); }
.problem__grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center; }
.problem__quote{ font-family:"Space Grotesk",sans-serif; font-size:clamp(22px,3.4vw,36px); font-weight:500; line-height:1.25; letter-spacing:-.02em; }
.problem__quote .hl{ color:var(--ember); }
.problem__list{ display:flex; flex-direction:column; gap:14px; margin-top:8px; }
.pl{ display:flex; gap:14px; padding:18px; border-radius:14px; background:rgba(255,255,255,.025); border:1px solid var(--line); }
.pl__i{ flex:none; width:34px;height:34px;border-radius:9px; display:grid;place-items:center; background:rgba(255,95,31,.12); color:var(--ember); font-size:16px; }
.pl b{ color:#fff; } .pl span{ color:var(--mut); font-size:14px; }
@media(max-width:820px){ .problem__grid{ grid-template-columns:1fr; gap:34px; } }

/* ---------- CATEGORY / ENGINE ---------- */
.engine__diagram{ display:grid; grid-template-columns:1fr; gap:18px; margin-top:46px; }
.engine__core{ text-align:center; padding:26px; border-radius:18px; position:relative;
  background:radial-gradient(80% 120% at 50% 0%, rgba(0,229,255,.12), transparent 60%), var(--panel); border:1px solid rgba(0,229,255,.22); }
.engine__core .k{ font:600 11px/1 "Space Grotesk"; letter-spacing:.16em; text-transform:uppercase; color:var(--cyan); }
.engine__core .v{ font:700 clamp(20px,3vw,28px)/1.1 "Space Grotesk"; margin-top:8px; }
.engine__surfaces{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.surf{ padding:22px; border-radius:16px; background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02)); border:1px solid var(--line); transition:transform .5s var(--ease),border-color .5s,box-shadow .5s; }
.surf:hover{ transform:translateY(-5px); border-color:rgba(0,229,255,.3); box-shadow:0 24px 50px -22px rgba(0,0,0,.8); }
.surf .ic{ font-size:22px; } .surf h3{ font-size:17px; margin:12px 0 7px; }
.surf p{ color:var(--mut); font-size:13.5px; margin:0; }
@media(max-width:900px){ .engine__surfaces{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .engine__surfaces{ grid-template-columns:1fr; } }

/* ---------- ORACLE showcase ---------- */
.oracle{ background:linear-gradient(180deg,#060910,#04060b); }
.oracle__grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.oracle__panel{ position:relative; border-radius:22px; padding:26px; overflow:hidden;
  background:radial-gradient(90% 70% at 100% 0%, rgba(0,229,255,.14), transparent 55%), linear-gradient(160deg,#0c1426,#060a14);
  border:1px solid rgba(0,229,255,.25); box-shadow:0 0 0 1px rgba(0,229,255,.18), 0 30px 70px -30px #000; }
.oracle__panel::before{ content:""; position:absolute; inset:0; opacity:.5;
  background-image:linear-gradient(rgba(0,229,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.05) 1px,transparent 1px);
  background-size:28px 28px; mask-image:radial-gradient(80% 80% at 70% 10%,#000,transparent 75%); }
.oracle__row{ display:flex; justify-content:space-between; align-items:center; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.07); position:relative; font-size:14px; }
.oracle__row .lbl{ color:var(--mut); } .oracle__row .val{ font-weight:700; font-variant-numeric:tabular-nums; }
.oracle__big{ font:700 clamp(34px,5.4vw,52px)/1 "Space Grotesk"; letter-spacing:-.03em; margin:6px 0 2px;
  background:linear-gradient(180deg,#fff,var(--cyan)); -webkit-background-clip:text;background-clip:text;color:transparent; font-variant-numeric:tabular-nums; }
.tag-green{ color:var(--green); } .tag-amber{ color:#f5b642; }
@media(max-width:860px){ .oracle__grid{ grid-template-columns:1fr; gap:32px; } }

/* ---------- AUDIENCES ---------- */
.aud__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:40px; }
.aud{ padding:24px; border-radius:16px; background:rgba(255,255,255,.025); border:1px solid var(--line); transition:transform .5s var(--ease),border-color .5s; }
.aud:hover{ transform:translateY(-4px); border-color:rgba(167,139,255,.3); }
.aud .ic{ font-size:24px; } .aud h3{ font-size:17px; margin:12px 0 7px; } .aud p{ color:var(--mut); font-size:13.5px; margin:0; }
@media(max-width:880px){ .aud__grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .aud__grid{ grid-template-columns:1fr; } }

/* ---------- PRICING ---------- */
.price__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:44px; align-items:stretch; }
.tier{ display:flex; flex-direction:column; padding:28px; border-radius:18px; background:var(--panel); border:1px solid var(--line); position:relative; }
.tier--feature{ border-color:rgba(0,229,255,.4); box-shadow:0 0 0 1px rgba(0,229,255,.25), 0 30px 60px -30px rgba(0,229,255,.3); background:linear-gradient(180deg,#0a1320,#070b14); }
.tier__badge{ position:absolute; top:-11px; left:28px; font:700 10.5px/1 "Space Grotesk"; letter-spacing:.12em; text-transform:uppercase; padding:6px 12px; border-radius:999px; background:linear-gradient(180deg,#8af3ff,var(--cyan)); color:#02121a; }
/* product logos — tier cards go black so logos sit flush; zoom-crop removes PNG internal padding */
.tier{ background:#000 !important; }
.tier--feature{ background:linear-gradient(180deg,#050d16,#02080f) !important; border-color:rgba(0,229,255,.4); }
.brandlogo{ display:flex; align-items:center; justify-content:center; background:transparent;
  height:100px; min-height:100px; margin-bottom:18px; overflow:hidden; padding:0; border:none; border-radius:0; }
.brandlogo img{ display:block; height:240px; width:auto; max-width:none; max-height:none; flex-shrink:0; }
@media(max-width:560px){ .brandlogo{ height:80px; min-height:80px; } .brandlogo img{ height:190px; } }

/* ---------- REIMBURSEMENT REBELLION (premium upgrade) ---------- */
.rebellion-sec{ background:#000; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
/* stats row */
.reb-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:36px 0 32px; }
.reb-stat{ background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-radius:16px;
  padding:24px 20px; text-align:center; }
.reb-stat__label{ font:600 10px/1 "Space Grotesk"; letter-spacing:.14em; text-transform:uppercase; color:var(--mut); margin-bottom:10px; }
.reb-stat__value{ font:700 clamp(30px,4.5vw,52px)/1 "Space Grotesk"; color:#fff; letter-spacing:-.03em; }
.reb-stat__sub{ font-size:12px; color:var(--faint); margin-top:6px; }
.reb-stat__value.cyan{ color:var(--cyan); }
/* viral gap card CTA */
.reb-gap-cta{ background:linear-gradient(135deg,#0a1e2a,#060d14); border:1px solid rgba(0,229,255,.25);
  border-radius:20px; padding:36px 32px; text-align:center; }
.reb-gap-cta__main{ display:inline-flex; align-items:center; gap:10px; background:var(--cyan);
  color:#000; padding:16px 32px; border-radius:14px; font:800 16px/1 "Space Grotesk";
  letter-spacing:.04em; text-transform:uppercase; cursor:pointer; border:none;
  transition:transform .2s var(--ease), box-shadow .2s; margin-bottom:10px; text-decoration:none; }
.reb-gap-cta__main:hover{ transform:translateY(-3px); box-shadow:0 16px 48px rgba(0,229,255,.45); }
.reb-gap-cta__sub{ font-size:13px; color:var(--faint); margin-bottom:22px; }
.reb-gap-cta__secondary{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:22px; }
.reb-gap-cta__note{ font-size:13px; color:var(--faint); line-height:1.6; }
.reb-gap-cta__note a{ color:var(--cyan); }
/* pillars (keep for reference) */
.rebellion-sec__grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center; margin-top:36px; }
.rebellion-sec__pillars{ display:flex; flex-direction:column; gap:14px; margin-top:24px; }
.rebellion-pillar{ display:flex; gap:14px; align-items:flex-start; padding:16px 18px; border-radius:14px;
  background:rgba(255,255,255,.025); border:1px solid var(--line); }
.rebellion-pillar b{ color:#fff; display:block; margin-bottom:4px; }
.rebellion-pillar span{ color:var(--mut); font-size:13.5px; line-height:1.5; }
.rebellion-pillar .n{ flex:none; width:32px; height:32px; border-radius:10px; display:grid; place-items:center;
  font:700 13px/1 "Space Grotesk"; background:rgba(0,229,255,.12); color:var(--cyan); border:1px solid rgba(0,229,255,.25); }
.rebellion-sec__cta{ display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.rebellion-card{ border-radius:20px; padding:28px; background:radial-gradient(90% 80% at 50% 0%, rgba(0,229,255,.12), transparent 55%),
  linear-gradient(180deg,#0a1018,#060910); border:1px solid rgba(0,229,255,.22); box-shadow:0 30px 70px -40px rgba(0,0,0,.9); }
.rebellion-card__k{ font:600 10px/1 "Space Grotesk"; letter-spacing:.16em; text-transform:uppercase; color:var(--cyan); margin-bottom:12px; }
.rebellion-card__v{ font:700 clamp(28px,4vw,40px)/1 "Space Grotesk"; letter-spacing:-.03em; color:#fff; margin-bottom:8px; }
.rebellion-card__note{ font-size:12px; color:var(--faint); line-height:1.55; }
@media(max-width:860px){ .rebellion-sec__grid{ grid-template-columns:1fr; } .reb-stats{ grid-template-columns:1fr; gap:10px; } }
@media(max-width:560px){ .reb-gap-cta{ padding:24px 16px; } .reb-gap-cta__main{ width:100%;justify-content:center;font-size:14px;padding:14px 20px; } }

/* ---------- CONNECTORS PAGE ---------- */
.conn-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin-top:28px; }
.conn-card{ padding:18px; border-radius:14px; background:rgba(255,255,255,.025); border:1px solid var(--line); transition:border-color .3s var(--ease),transform .3s var(--ease); }
.conn-card:hover{ border-color:rgba(0,229,255,.28); transform:translateY(-3px); }
.conn-card h3{ font-size:15px; margin:0 0 6px; }
.conn-card p{ font-size:13px; color:var(--mut); margin:0; line-height:1.5; }
.conn-badge{ display:inline-flex; align-items:center; gap:6px; font:600 10px/1 "Space Grotesk"; letter-spacing:.1em; text-transform:uppercase;
  padding:4px 10px; border-radius:999px; margin-bottom:10px; }
.conn-badge.live{ background:rgba(20,224,154,.14); color:var(--green); }
.conn-badge.beta{ background:rgba(0,229,255,.12); color:var(--cyan); }
.conn-badge.road{ background:rgba(167,139,255,.12); color:var(--violet); }
.conn-legend{ display:flex; gap:18px; flex-wrap:wrap; margin-top:20px; font-size:12px; color:var(--faint); }
.tier h3{ font-size:18px; } .tier .p{ font:700 clamp(30px,4vw,40px)/1 "Space Grotesk"; margin:14px 0 4px; }
.tier .p small{ font-size:14px; color:var(--faint); font-weight:500; }
.tier .desc{ color:var(--mut); font-size:13.5px; min-height:38px; }
.tier ul{ list-style:none; padding:0; margin:18px 0 24px; display:flex; flex-direction:column; gap:11px; }
.tier li{ display:flex; gap:10px; font-size:13.5px; color:var(--ink); } .tier li::before{ content:"✦"; color:var(--cyan); }
.tier .btn{ width:100%; justify-content:center; margin-top:auto; }
@media(max-width:880px){ .price__grid{ grid-template-columns:1fr; } }

/* ---------- NETWORK FLYWHEEL ---------- */
.network{ background:linear-gradient(180deg,#04060b,#060910); }
.network__grid{ display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; }
.flyw{ position:relative; aspect-ratio:1/1; max-width:440px; margin:0 auto; width:100%; overflow:hidden; border-radius:50%; }
.flyw__ring{ position:absolute; inset:0; border-radius:50%; border:1px solid rgba(0,229,255,.14); }
.flyw__ring.r2{ inset:14%; border-color:rgba(167,139,255,.14); }
.flyw__ring.r3{ inset:28%; border-color:rgba(20,224,154,.14); }
.flyw__spin{ position:absolute; inset:0; animation:spin 26s linear infinite; }
.flyw__spin.rev{ animation-duration:34s; animation-direction:reverse; }
@keyframes spin{ to{ transform:rotate(360deg); } }
.flyw__node{ position:absolute; top:50%; left:50%; width:13px; height:13px; margin:-6.5px; border-radius:50%;
  background:var(--cyan); box-shadow:0 0 16px var(--cyan); }
.flyw__node.v{ background:var(--violet); box-shadow:0 0 16px var(--violet); }
.flyw__node.g{ background:var(--green); box-shadow:0 0 16px var(--green); }
.flyw__core{ position:absolute; inset:36%; border-radius:50%; display:grid; place-items:center; text-align:center;
  background:radial-gradient(circle at 50% 35%, rgba(0,229,255,.22), rgba(8,14,26,.95)); border:1px solid rgba(0,229,255,.35);
  box-shadow:inset 0 0 30px rgba(0,229,255,.2), 0 0 50px -10px rgba(0,229,255,.4); }
.flyw__core b{ font:700 13px/1.2 "Space Grotesk"; color:#fff; } .flyw__core span{ font-size:10px; color:var(--mut); }
.network__steps{ display:flex; flex-direction:column; gap:14px; margin-top:22px; }
.nstep{ display:flex; gap:14px; align-items:flex-start; }
.nstep .n{ flex:none; width:30px;height:30px;border-radius:9px; display:grid;place-items:center; font:700 13px/1 "Space Grotesk";
  background:rgba(0,229,255,.1); color:var(--cyan); border:1px solid rgba(0,229,255,.25); }
.nstep b{ color:#fff; } .nstep span{ color:var(--mut); font-size:14px; }
@media(max-width:860px){ .network__grid{ grid-template-columns:1fr; gap:32px; } .flyw{ max-width:300px; } }

/* ---------- MANIFESTO ---------- */
.manifesto{ position:relative; overflow:clip; background:linear-gradient(180deg,#04060b,#0a0710); }
.manifesto::before{ content:""; position:absolute; inset:-30%; z-index:0;
  background:radial-gradient(40% 50% at 30% 30%, rgba(255,95,31,.12), transparent 60%), radial-gradient(40% 50% at 75% 70%, rgba(0,229,255,.10), transparent 60%);
  filter:blur(30px); animation:ge-mesh 24s var(--ease) infinite alternate; }
.manifesto .wrap{ position:relative; z-index:1; text-align:center; }
.manifesto h2{ font-size:clamp(30px,6vw,64px); font-weight:700; max-width:18ch; margin:18px auto 0; }
.manifesto p{ max-width:62ch; margin:22px auto 0; color:var(--mut); font-size:clamp(15px,2vw,19px); }
.manifesto .sig{ margin-top:30px; color:var(--faint); font:500 13px/1.6 "Space Grotesk"; }

/* ---------- FINAL CTA ---------- */
.finalcta{ text-align:center; }
.finalcta h2{ font-size:clamp(30px,5.4vw,58px); font-weight:700; max-width:20ch; margin:0 auto 18px; }
.finalcta .btn{ margin-top:8px; }

/* Home — Reclaim backtest CTA band */
.backtest-band {
  background: linear-gradient(180deg, rgba(0,229,255,.04), rgba(4,6,11,0));
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.backtest-band__inner {
  max-width: 720px; margin: 0 auto; text-align: center; padding: 48px 0;
}
.backtest-band__inner h2 {
  font-family: "Space Grotesk", sans-serif; font-size: clamp(26px, 4vw, 38px);
  font-weight: 800; letter-spacing: -.02em; margin-bottom: 12px;
}
.backtest-band__inner p {
  font-size: 15px; line-height: 1.6; color: var(--mut); max-width: 54ch; margin: 0 auto 22px;
}
.backtest-band__ctas { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

.pricing-teaser {
  text-align: center; padding: 40px 0 20px;
}
.pricing-teaser__row {
  display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; margin-top: 20px;
}
.pricing-teaser__item {
  flex: 1; min-width: 160px; max-width: 220px; padding: 16px 18px;
  border-radius: 14px; border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.02);
}
.pricing-teaser__item b { display: block; font-family: "Space Grotesk", sans-serif; font-size: 15px; color: #fff; margin-bottom: 4px; }
.pricing-teaser__item span { font-size: 12.5px; color: var(--mut); line-height: 1.45; }

/* ---------- FOOTER ---------- */
.foot{ border-top:1px solid var(--line); padding:48px 0 60px; color:var(--faint); }
.foot__top{ display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.foot__cols{ display:flex; gap:54px; flex-wrap:wrap; }
.foot h4{ color:var(--mut); font:600 12px/1 "Space Grotesk"; letter-spacing:.1em; text-transform:uppercase; margin-bottom:14px; }
.foot a{ display:block; color:var(--faint); font-size:14px; padding:5px 0; transition:color .2s; } .foot a:hover{ color:#fff; }
.foot__legal{ margin-top:38px; padding-top:24px; border-top:1px solid var(--line); font-size:12.5px; line-height:1.7; max-width:80ch; }

/* ---------- mobile nav drawer ---------- */
.drawer{ position:fixed; inset:0; z-index:60; background:rgba(4,6,11,.96); backdrop-filter:blur(20px); display:none; flex-direction:column; align-items:center; justify-content:center; gap:8px; }
.drawer.open{ display:flex; } .drawer a{ font:600 22px/1 "Space Grotesk"; padding:16px; color:var(--ink); }
.drawer .x{ position:absolute; top:20px; right:24px; background:none;border:none;color:#fff;font-size:28px; }

@media (prefers-reduced-motion: reduce){
  .manifesto::before{ animation:none; }
  .hero__score.is-loaded{ animation:none; }
  .btn,.surf,.aud{ transition:none; }
  html{ scroll-behavior:auto; }
}

/* ═══════════════════════════════════════
   COMPREHENSIVE MOBILE — premium SaaS
   ═══════════════════════════════════════ */
@media(max-width:860px){
  /* nav */
  .nav__links{ display:none; }
  .nav__burger{ display:block; }
  /* hero — compact stack: copy → scorecard → multi, score visible above fold */
  .hero{ min-height:auto; align-items:flex-start; padding-bottom:32px; }
  .hero .hero__in{ padding-top:calc(76px + 12px); padding-bottom:0; width:100%; }
  .hero__copy > .eyebrow:first-child{
    max-width:100%; box-sizing:border-box; white-space:normal; flex-wrap:wrap; row-gap:6px;
    line-height:1.4; letter-spacing:.1em; font-size:11px; padding:7px 12px;
  }
  .hero h1{ font-size:clamp(36px,10vw,58px); }
  .hero__cta{ flex-direction:column; align-items:flex-start; }
  .hero__cta .btn{ width:100%; justify-content:center; }
  .hero__score{
    display:block; margin-top:0; width:100%;
  }
  .hero__score .scorecard{ max-width:min(340px,100%); padding:18px 16px 14px; margin:0 auto; }
  .hero__score .hgauge{ max-width:200px; margin-top:0; }
  .hero__score .hgauge__num{ font-size:clamp(38px,11vw,52px); }
  .hero__score .sc-orbit{ inset:-12px; }
  .hero__score .sc-stats{ margin-top:10px; padding:10px 12px; }
  .hero__score .sc-stat__val{ font-size:16px; }
  .hero__trust-phi,.hero__trust .sep--phi{ display:none; }
  /* NPI form */
  .hero__npi{ flex-direction:column; gap:10px; }
  .hero__npi input,.hero__npi .btn{ width:100%; min-width:0; }
  /* sections */
  .sec{ padding:clamp(80px,10vw,100px) 0; }
  /* surfaces grid */
  .surf-grid{ grid-template-columns:1fr; }
  /* audience cards */
  .aud-grid{ grid-template-columns:1fr; gap:14px; }
  /* price grid */
  .price__grid{ grid-template-columns:1fr; }
  .tier--feature{ margin-top:8px; margin-bottom:8px; }
  /* network */
  .network__grid{ grid-template-columns:1fr; gap:28px; }
  .flyw{ max-width:280px; }
  /* rebellion */
  .rebellion-sec__grid{ grid-template-columns:1fr; gap:24px; }
  .reb-stats{ grid-template-columns:1fr 1fr; gap:10px; }
  .reb-stat:last-child{ grid-column:1/-1; }
  /* AI tool */
  .aitool{ flex-direction:column; gap:14px; }
  /* footer */
  .foot__top{ flex-direction:column; gap:32px; }
  .foot__cols{ flex-direction:column; gap:24px; }
  /* drawer: no over-sized CTAs */
  .drawer .nav__cta{ font-size:16px; padding:13px 22px; width:auto; margin:8px 0; }
}

@media(max-width:560px){
  .wrap{ padding-left:16px; padding-right:16px; }
  .hero h1{ font-size:clamp(32px,11vw,48px); }
  .hero .lead{ font-size:15px; }
  .hero__trust{ gap:8px 14px; font-size:11.5px; }
  .btn{ font-size:14px; min-height:48px; padding:0 18px; }
  .hero__score .scorecard{ max-width:min(300px,100%); padding:18px 16px 16px; }
  .hero__score .hgauge{ max-width:200px; }
  .shead h2{ font-size:clamp(24px,8vw,36px); }
  .lead{ font-size:14px; }
  .price__grid{ gap:12px; }
  .tier{ padding:22px 18px; }
  .reb-stats{ grid-template-columns:1fr; }
  .reb-stat{ padding:18px 16px; }
  .reb-stat__value{ font-size:38px; }
  .conn-grid{ grid-template-columns:1fr; }
  .foot{ padding:36px 0 48px; }
  .foot h4{ margin-bottom:10px; }
  .foot__cols{ gap:18px; }
  .drawer a{ font-size:20px; padding:12px; }
}

/* ═══════════════════════════════════════════════════════════
   NAV ADDITIONS — logo · billing · sign-in
   ═══════════════════════════════════════════════════════════ */
.nav__signin{ color:var(--mut)!important; font-size:15px!important; padding:8px 14px; border-radius:9px; border:1px solid var(--line); transition:border-color .25s,color .25s!important; }
.nav__signin:hover{ border-color:rgba(255,255,255,.25)!important; color:#fff!important; }
.nav__app{ color:rgba(255,255,255,.82)!important; font-size:15px!important; font-weight:600!important; }
.nav__app:hover{ color:#fff!important; }
.nav__signup{ color:var(--cyan)!important; font-size:14px!important; font-weight:600!important; padding:8px 14px; border-radius:9px; border:1px solid rgba(0,229,255,.35); transition:border-color .25s,color .25s!important; white-space:nowrap; }
.nav__signup:hover{ border-color:rgba(0,229,255,.55)!important; color:#9af5ff!important; }
.hero__handoff{ margin:10px 0 0; font-size:13px; color:rgba(255,255,255,.55); letter-spacing:.01em; }
.hero__handoff b{ color:rgba(0,229,255,.85); font-weight:600; }
.nav__billing{ color:var(--ember)!important; font-weight:600!important; }
.nav__billing:hover{ color:#ff8f5e!important; }

/* ═══════════════════════════════════════════════════════════
   SCORECARD UPGRADE — orbit ring + micro stats
   ═══════════════════════════════════════════════════════════ */
.scorecard--live{ overflow:visible; }
.sc-orbit{ position:absolute; inset:-24px; pointer-events:none; }
.sc-orbit__ring{
  position:absolute; inset:0; border-radius:50%;
  border:1px solid rgba(0,229,255,.18);
  animation:sc-spin 12s linear infinite;
}
.sc-orbit__dot{
  position:absolute; top:50%; left:50%;
  width:8px; height:8px; border-radius:50%;
  background:var(--cyan); box-shadow:0 0 16px 4px rgba(0,229,255,.6);
  transform-origin:0 0;
  animation:sc-dot 12s linear infinite;
}
@keyframes sc-spin{ to{ transform:rotate(360deg); } }
@keyframes sc-dot{
  0%  { transform:rotate(0deg)   translate(-50%,calc(-50% - 130px)); }
  100%{ transform:rotate(360deg) translate(-50%,calc(-50% - 130px)); }
}
/* Pulsing border glow */
.scorecard--live::before{
  content:""; position:absolute; inset:-2px; border-radius:28px; z-index:-1;
  background:conic-gradient(from var(--conic-angle,0deg), transparent 60%, rgba(0,229,255,.5) 75%, transparent 90%);
  animation:sc-border 4s linear infinite;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
  padding:2px;
}
@property --conic-angle{ syntax:"<angle>"; inherits:false; initial-value:0deg; }
@keyframes sc-border{ to{ --conic-angle:360deg; } }

/* Micro stats row */
.sc-stats{ display:flex; justify-content:space-between; margin:12px 0 2px; padding:14px 16px;
  border-radius:14px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06);
  transition:opacity .6s ease; }
.sc-stat{ text-align:center; }
.sc-stat__val{ font:700 18px/1 "Space Grotesk"; letter-spacing:-.02em; color:#fff; }
.sc-stat__val--ember{ color:var(--ember); }
.sc-stat__lbl{ font:500 10px/1 "Space Grotesk"; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); margin-top:5px; }

/* Extended scorecard fields */
.sc-fields{
  opacity:0; margin-top:10px; display:grid; grid-template-columns:1fr 1fr; gap:6px;
  transition:opacity .6s ease;
}
.sc-field{ display:flex; align-items:center; justify-content:space-between;
  padding:5px 10px; border-radius:8px; background:rgba(255,255,255,.025); }
.sc-field__lbl{ font:500 10px/1 "Space Grotesk"; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); }
.sc-field__val{ font:700 12px/1 "Space Grotesk"; color:#fff; }
.sc-field__val--cyan{ color:var(--cyan); }
.sc-insight{
  opacity:0; margin:10px 0 0; font:500 12px/1.5 "Inter",sans-serif; color:var(--mut);
  transition:opacity .6s ease;
}
.sc-chips{
  opacity:0; display:flex; flex-wrap:wrap; gap:6px; margin-top:10px;
  transition:opacity .6s ease;
}
.sc-chip{
  font:600 10px/1 "Space Grotesk"; letter-spacing:.06em; text-transform:uppercase;
  padding:5px 9px; border-radius:999px; color:var(--mut);
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  cursor:pointer; transition:border-color .2s, color .2s, background .2s;
  appearance:none; -webkit-appearance:none; font-family:inherit;
}
button.sc-chip{ margin:0; }
.sc-chip:hover,.sc-chip:focus-visible{ color:#fff; border-color:rgba(0,229,255,.35); background:rgba(0,229,255,.1); }
.scorecard--loaded .sc-orbit__ring{ animation:sc-spin 16s linear infinite; }
.scorecard--loaded .scorecard__live i{ animation:bpulse 2.2s var(--ease) infinite; }

/* ── Scorecard v2 — conversion sample (compact + premium) ── */
.scorecard--v2{ padding:18px 18px 14px; }
.hgauge--compact{ max-width:186px; margin:0 auto 4px; overflow:visible; }
.hgauge--compact .hgauge__num{ font-size:clamp(40px,6.8vw,54px); }
.hgauge--compact .hgauge__scale{ margin-top:8px; }
.sc-identity{
  opacity:0; margin:6px 0 0; display:flex; flex-wrap:wrap; align-items:center; gap:5px 7px;
  font:500 10px/1.3 "Space Grotesk"; letter-spacing:.04em; color:var(--faint);
  transition:opacity .5s ease;
}
.sc-identity__npi{ color:var(--mut); font-weight:600; }
.sc-identity__dot{ width:3px; height:3px; border-radius:50%; background:#3a4560; flex-shrink:0; }
.sc-uplift{
  opacity:0; margin-top:8px; padding:10px 14px; border-radius:14px; text-align:center; position:relative; overflow:hidden;
  background:linear-gradient(135deg, rgba(255,95,31,.14), rgba(0,229,255,.08));
  border:1px solid rgba(255,95,31,.32);
  box-shadow:0 0 32px -12px rgba(255,95,31,.35), inset 0 1px 0 rgba(255,255,255,.06);
  transition:opacity .55s ease;
}
/* premium sheen sweep across the uplift band */
.sc-uplift::after{ content:""; position:absolute; top:0; bottom:0; left:-60%; width:40%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.10), transparent);
  transform:skewX(-18deg); animation:upliftSheen 5.5s ease-in-out 1.5s infinite; }
@keyframes upliftSheen{ 0%,72%{ left:-60%; } 86%,100%{ left:120%; } }
.sc-uplift__lbl{
  font:700 9px/1 "Space Grotesk"; letter-spacing:.14em; text-transform:uppercase; color:var(--ember);
}
.sc-uplift__val{
  margin-top:6px; font:800 clamp(28px,5.5vw,36px)/1 "Space Grotesk"; letter-spacing:-.03em;
  background:linear-gradient(180deg,#fff 20%, var(--ember) 95%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.sc-uplift__sub{ margin-top:5px; font:500 9px/1.35 "Inter"; color:var(--faint); }
.sc-rate-panel{
  opacity:0; margin-top:8px; padding:10px 11px 9px; border-radius:14px;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07);
  transition:opacity .55s ease .1s;
}
.sc-rate-panel__head{
  display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px;
}
.sc-rate-panel__payer{ font:700 12px/1.2 "Space Grotesk"; color:#fff; }
.sc-rate-panel__code{
  font:600 9px/1 "Space Grotesk"; letter-spacing:.08em; text-transform:uppercase;
  color:var(--cyan); padding:4px 8px; border-radius:6px; background:rgba(0,229,255,.08); border:1px solid rgba(0,229,255,.2);
}
.sc-rate-row{ display:grid; grid-template-columns:72px 1fr 52px; gap:8px; align-items:center; margin-bottom:5px; }
.sc-rate-row__lbl{ font:600 9px/1.2 "Space Grotesk"; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); }
.sc-rate-row__track{ height:7px; border-radius:999px; background:rgba(255,255,255,.06); overflow:hidden; }
.sc-rate-row__fill{ height:100%; border-radius:999px; width:0; transition:width 1.1s cubic-bezier(.22,1,.36,1); }
.sc-rate-row__fill--you{ background:linear-gradient(90deg,#ff6060,var(--ember)); }
.sc-rate-row__fill--peer{ background:linear-gradient(90deg,#6b7a9a,#9aa6c2); }
.sc-rate-row__fill--p75{ background:linear-gradient(90deg,var(--cyan),var(--green)); box-shadow:0 0 12px -2px rgba(0,229,255,.5); }
.sc-rate-row__val{ font:700 11px/1 "Space Grotesk"; text-align:right; color:#fff; font-variant-numeric:tabular-nums; }
.sc-rate-row__val--cyan{ color:var(--cyan); }
.sc-rate-panel__insight{ margin:7px 0 0; font:500 10.5px/1.4 "Inter"; color:var(--mut); }
.sc-actions{
  opacity:0; display:flex; flex-direction:column; gap:7px; margin-top:9px;
  transition:opacity .55s ease .15s;
}
.sc-btn-memo{
  display:flex; align-items:center; justify-content:center; min-height:44px; padding:0 16px;
  border-radius:12px; font:700 13px/1 "Space Grotesk"; letter-spacing:-.01em;
  color:#02121a; text-decoration:none;
  background:linear-gradient(180deg,#8af3ff,var(--cyan));
  box-shadow:0 12px 36px -12px rgba(0,229,255,.55);
  transition:transform .2s var(--ease), box-shadow .2s;
}
.sc-btn-memo:hover{ transform:translateY(-2px); box-shadow:0 16px 44px -10px rgba(0,229,255,.65); color:#02121a; }
.sc-btn-yours{
  display:flex; align-items:center; justify-content:center; min-height:38px; padding:0 14px;
  border-radius:10px; font:600 12px/1 "Space Grotesk"; color:var(--mut); text-decoration:none;
  border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.03);
  transition:border-color .2s, color .2s;
}
.sc-btn-yours:hover{ color:#fff; border-color:rgba(255,255,255,.22); }
.sc-agentic{
  opacity:0; margin-top:8px; padding:8px 11px; border-radius:12px;
  background:rgba(20,224,154,.06); border:1px solid rgba(20,224,154,.18);
  transition:opacity .55s ease .2s;
}
.sc-agentic__row{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.sc-agentic__lbl{ font:700 10px/1.2 "Space Grotesk"; letter-spacing:.08em; text-transform:uppercase; color:var(--green); }
.sc-toggle{ position:relative; display:inline-flex; cursor:default; }
.sc-toggle input{ position:absolute; opacity:0; width:0; height:0; }
.sc-toggle__ui{
  width:42px; height:24px; border-radius:999px; background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.15); position:relative; transition:background .25s, border-color .25s;
}
.sc-toggle__ui::after{
  content:""; position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%;
  background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.35); transition:transform .25s var(--ease);
}
.sc-toggle input:checked + .sc-toggle__ui{
  background:rgba(20,224,154,.35); border-color:rgba(20,224,154,.55);
  box-shadow:0 0 16px -4px rgba(20,224,154,.6);
}
.sc-toggle input:checked + .sc-toggle__ui::after{ transform:translateX(18px); background:#e8fff6; }
.sc-agentic__beacon{
  display:flex; align-items:center; gap:8px; margin-top:7px; padding-top:7px;
  border-top:1px solid rgba(20,224,154,.12);
  font:500 10px/1.35 "Inter"; color:var(--mut);
}
.sc-beacon{ display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.sc-beacon i{
  width:8px; height:8px; border-radius:50%; background:var(--green);
  box-shadow:0 0 0 0 rgba(20,224,154,.55); animation:beacon-pulse 2.4s var(--ease) infinite;
}
@keyframes beacon-pulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(20,224,154,.55); }
  50%{ box-shadow:0 0 0 6px rgba(20,224,154,0); }
}
.scorecard--loaded .sc-beacon i{ background:#2dffb0; }

@media (max-width:860px){
  .scorecard--v2{ padding:16px 14px 14px; }
  .hgauge--compact{ max-width:168px; }
  .sc-uplift{ margin-top:8px; padding:10px 12px; }
  .sc-uplift__val{ font-size:clamp(24px,7vw,30px); }
  .sc-rate-panel{ margin-top:8px; padding:10px; }
  .sc-rate-row{ grid-template-columns:64px 1fr 48px; gap:6px; margin-bottom:6px; }
  .sc-rate-row__val{ font-size:10px; }
  .sc-btn-memo{ min-height:42px; font-size:12px; }
  .sc-agentic{ margin-top:10px; padding:9px 10px; }
  .sc-agentic__beacon{ font-size:9.5px; }
}

.sc-chip--hot{ color:var(--ember); border-color:rgba(255,95,31,.28); background:rgba(255,95,31,.08); }
.scorecard__share{
  opacity:0; margin-top:12px; padding:10px 12px; border-radius:10px; text-align:center;
  background:rgba(0,229,255,0.07); border:1px solid rgba(0,229,255,0.15);
  transition:opacity .8s ease;
}
.scorecard__share p{ margin:0 0 8px; font:600 11px/1.45 "Space Grotesk"; color:rgba(255,255,255,0.72); }
.scorecard__share a{
  display:inline-block; font:700 12px/1 "Space Grotesk"; color:#00E5FF; text-decoration:none;
  padding:6px 14px; border-radius:6px; border:1px solid rgba(0,229,255,0.35); background:rgba(0,229,255,0.08);
}
/* Compact hero card: drop the share block + tighten footer to reduce vertical length */
.scorecard--v2 .scorecard__share{ display:none; }
.scorecard--v2 .scorecard__foot{ margin-top:10px; padding-top:10px; }
.scorecard--v2 .scorecard__top{ margin-bottom:4px; }
@media (max-width:860px){
  .sc-fields{ gap:5px; }
  .sc-field{ padding:4px 8px; }
  .sc-field__lbl{ font-size:9px; }
  .sc-field__val{ font-size:11px; }
  .sc-insight{ font-size:11px; }
  .scorecard__share p{ font-size:10px; }
}
@keyframes sc-dot-mob{
  0%  { transform:rotate(0deg) translate(-50%,calc(-50% - 72px)); }
  100%{ transform:rotate(360deg) translate(-50%,calc(-50% - 72px)); }
}
@media (max-width:860px){
  .hero__score{ overflow:hidden; }
  .scorecard--live{ overflow:hidden; }
  .hero__score .sc-orbit{ inset:-8px; }
  .hero__score .sc-orbit__dot{ animation:sc-dot-mob 10s linear infinite; }
}

/* Animated score grade pulse */
.hgauge__grade{ animation:grade-pulse 2.5s ease infinite; }
@keyframes grade-pulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(20,224,154,0); } 50%{ box-shadow:0 0 0 6px rgba(20,224,154,.12); } }

/* ═══════════════════════════════════════════════════════════
   DATA FLOW SECTION
   ═══════════════════════════════════════════════════════════ */
.flow-sec{ background:linear-gradient(180deg, rgba(0,229,255,.025) 0%, transparent 100%); }
.flow-diagram{
  display:flex; align-items:center; justify-content:center; gap:0;
  margin-top:56px; flex-wrap:wrap; gap:8px 0;
}
.flow-node{
  text-align:center; padding:28px 24px; border-radius:20px; min-width:180px;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08);
  transition:border-color .3s, box-shadow .3s;
}
.flow-node:hover{ border-color:rgba(0,229,255,.3); box-shadow:0 0 40px -10px rgba(0,229,255,.2); }
.flow-node--center{
  background:radial-gradient(140% 120% at 50% -10%, rgba(0,229,255,.14), transparent 70%),
             rgba(255,255,255,.04);
  border-color:rgba(0,229,255,.25); box-shadow:0 0 60px -20px rgba(0,229,255,.3);
}
.flow-node__icon{ font-size:36px; margin-bottom:12px; line-height:1; }
.flow-node__icon--glow{ filter:drop-shadow(0 0 12px rgba(0,229,255,.8)); animation:ic-pulse 2s ease infinite; }
@keyframes ic-pulse{ 0%,100%{ filter:drop-shadow(0 0 12px rgba(0,229,255,.8)); } 50%{ filter:drop-shadow(0 0 24px rgba(0,229,255,1)); } }
.flow-node__title{ font:700 15px/1.3 "Space Grotesk"; color:#fff; margin-bottom:6px; }
.flow-node__sub{ font:500 12px/1.4 "Space Grotesk"; color:var(--faint); }
.flow-connector{ display:flex; flex-direction:column; align-items:center; padding:0 12px; gap:6px; min-width:140px; }
.flow-canvas{ display:block; }
.flow-connector__label{ font:600 11px/1 "Space Grotesk"; letter-spacing:.08em; text-transform:uppercase; color:var(--cyan); opacity:.7; }
.flow-proof{ display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-top:48px; }
.fp{ text-align:center; padding:20px 28px; border-radius:16px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); min-width:130px; }
.fp__n{ display:block; font:800 28px/1 "Space Grotesk"; letter-spacing:-.03em; color:#fff; margin-bottom:6px; }
.fp__l{ font:500 12px/1 "Space Grotesk"; color:var(--mut); letter-spacing:.04em; }

/* ═══════════════════════════════════════════════════════════
   BILLING COMPANY SECTION
   ═══════════════════════════════════════════════════════════ */
.billing-sec{
  background:radial-gradient(80% 60% at 20% 50%, rgba(255,95,31,.07), transparent 60%),
             radial-gradient(60% 50% at 80% 50%, rgba(167,139,255,.06), transparent 60%);
  border-top:1px solid rgba(255,95,31,.12);
}
.billing-hero{ max-width:680px; }
.portfolio-preview{
  margin-top:36px; border-radius:20px; overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(6,10,20,.82); backdrop-filter:blur(20px);
  box-shadow:0 24px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
}
.portfolio-chrome{
  display:flex; align-items:center; gap:12px; padding:10px 16px;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(0,0,0,.35);
}
.portfolio-chrome__dots{ display:flex; gap:5px; }
.portfolio-chrome__dots i{ width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.18); }
.portfolio-chrome__dots i:first-child{ background:#ff5f57; }
.portfolio-chrome__dots i:nth-child(2){ background:#febc2e; }
.portfolio-chrome__dots i:nth-child(3){ background:#28c840; }
.portfolio-chrome__title{ flex:1; font:600 11px/1 "JetBrains Mono",ui-monospace,monospace; letter-spacing:.04em; color:var(--mut); text-align:center; }
.portfolio-chrome__tier{
  font:600 9px/1 "Space Grotesk"; letter-spacing:.12em; text-transform:uppercase;
  color:var(--cyan); padding:4px 8px; border-radius:6px;
  border:1px solid rgba(0,229,255,.28); background:rgba(0,229,255,.08);
}
.portfolio-freshness{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  padding:8px 16px; font:500 10px/1.4 "JetBrains Mono",ui-monospace,monospace;
  letter-spacing:.03em; color:var(--faint);
  border-bottom:1px solid rgba(255,255,255,.05);
  background:rgba(0,229,255,.03);
}
.portfolio-freshness strong{ color:var(--cyan); font-weight:600; }
.portfolio-freshness__dot{ width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);flex-shrink:0; }
.portfolio-kpis{
  display:grid; grid-template-columns:repeat(5,1fr); gap:1px;
  background:rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.06);
}
.portfolio-kpi{ padding:12px 14px; background:rgba(6,10,20,.9); text-align:center; }
.portfolio-kpi__v{ display:block; font:700 18px/1.1 "Space Grotesk"; color:#fff; letter-spacing:-.02em; }
.portfolio-kpi__v.warn{ color:#ffb020; }
.portfolio-kpi__v.accent{ color:var(--cyan); }
.portfolio-kpi__l{ display:block; font:500 9px/1.2 "Space Grotesk"; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); margin-top:4px; }
.portfolio-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
  padding:10px 16px; border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.02);
}
.portfolio-toolbar__sort{ font:600 10px/1 "JetBrains Mono",ui-monospace,monospace; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); }
.portfolio-toolbar__actions{ display:flex; gap:6px; flex-wrap:wrap; }
.portfolio-tool-btn{
  font:600 10px/1 "Space Grotesk"; letter-spacing:.04em; color:var(--mut);
  padding:6px 10px; border-radius:7px; border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04); cursor:default; user-select:none;
}
.portfolio-tool-btn--primary{ color:var(--cyan); border-color:rgba(0,229,255,.25); background:rgba(0,229,255,.08); }
.portfolio-table{ overflow-x:auto; }
.portfolio-thead{
  display:grid; grid-template-columns:minmax(148px,1.55fr) 58px minmax(96px,1fr) 52px 48px minmax(76px,.85fr) 92px;
  gap:8px; align-items:center; padding:8px 16px;
  font:600 9px/1 "Space Grotesk"; letter-spacing:.1em; text-transform:uppercase; color:var(--faint);
  border-bottom:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.02);
  min-width:640px;
}
.portfolio-more{
  padding:10px 16px; text-align:center;
  font:500 10px/1.4 "JetBrains Mono",ui-monospace,monospace; letter-spacing:.04em; color:var(--faint);
  border-top:1px solid rgba(255,255,255,.05); background:rgba(0,0,0,.2);
}
.portfolio-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px; border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.03);
}
.portfolio-label{ font:700 12px/1 "Space Grotesk"; letter-spacing:.12em; text-transform:uppercase; color:var(--mut); }
.portfolio-live{ display:inline-flex; align-items:center; gap:6px; font:600 10px/1 "Space Grotesk"; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-left:10px; }
.portfolio-live i{ width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:bpulse 1.6s var(--ease) infinite; }
.portfolio-opp{ font:600 13px/1 "Space Grotesk"; color:var(--mut); }
.portfolio-opp strong{ color:var(--cyan); }
.portfolio-rows{ padding:0; min-width:640px; }
.portfolio-row{
  display:grid; grid-template-columns:minmax(148px,1.55fr) 58px minmax(96px,1fr) 52px 48px minmax(76px,.85fr) 92px;
  align-items:center; gap:8px;
  padding:10px 16px; border-bottom:1px solid rgba(255,255,255,.04);
  opacity:0; transform:translateX(-10px);
  transition:opacity .45s ease, transform .45s ease, background .15s ease;
}
.portfolio-row:hover{ background:rgba(0,229,255,.04); }
.portfolio-row.visible{ opacity:1; transform:translateX(0); }
.portfolio-row__name{ font:600 13px/1.25 "Space Grotesk"; color:#fff; }
.portfolio-row__npi{ font:500 10px/1.2 "JetBrains Mono",ui-monospace,monospace; color:var(--cyan); margin-top:3px; letter-spacing:.02em; }
.portfolio-row__spec{ font:500 10px/1.2 "Space Grotesk"; color:var(--faint); margin-top:2px; }
.portfolio-row__detail{ font:400 9px/1.3 "Space Grotesk"; color:rgba(93,104,133,.75); margin-top:4px; letter-spacing:.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:220px; }
.portfolio-row__score{ font:700 13px/1 "Space Grotesk"; padding:4px 8px; border-radius:7px; text-align:center; justify-self:start; min-width:44px; }
.portfolio-row__score--a{ background:rgba(20,224,154,.14); color:var(--green); }
.portfolio-row__score--b{ background:rgba(255,200,0,.12); color:#ffd700; }
.portfolio-row__score--c{ background:rgba(255,95,31,.15); color:var(--ember); }
.portfolio-row__score--d{ background:rgba(255,50,50,.12); color:#ff6060; }
.portfolio-row__payer{ font:600 11px/1.25 "Space Grotesk"; color:#e8ecf4; }
.portfolio-row__cpt{ font:600 11px/1 "JetBrains Mono",ui-monospace,monospace; color:var(--mut); }
.portfolio-row__payers{ font:600 11px/1 "JetBrains Mono",ui-monospace,monospace; color:var(--mut); text-align:center; }
.portfolio-row__gap{ font:700 13px/1 "Space Grotesk"; color:var(--green); text-align:right; white-space:nowrap; }
.portfolio-row__gap small{ display:block; font:500 9px/1 "Space Grotesk"; color:var(--faint); margin-top:2px; font-weight:500; }
.portfolio-row__status{
  justify-self:end; font:600 9px/1 "Space Grotesk"; letter-spacing:.06em; text-transform:uppercase;
  padding:5px 8px; border-radius:6px; white-space:nowrap; text-align:center;
}
.portfolio-row__status--memo{ color:var(--cyan); background:rgba(0,229,255,.12); border:1px solid rgba(0,229,255,.22); }
.portfolio-row__status--gap{ color:#ffb020; background:rgba(255,176,32,.1); border:1px solid rgba(255,176,32,.22); }
.portfolio-row__status--watch{ color:var(--violet); background:rgba(167,139,255,.1); border:1px solid rgba(167,139,255,.22); }
.portfolio-row__status--ok{ color:var(--green); background:rgba(20,224,154,.1); border:1px solid rgba(20,224,154,.22); }
.portfolio-row__barwrap{ grid-column:1 / -1; height:3px; border-radius:99px; background:rgba(255,255,255,.06); overflow:hidden; margin-top:6px; }
.portfolio-row__bar{ display:block; height:100%; width:0; border-radius:99px;
  background:linear-gradient(90deg,var(--cyan),var(--green)); transition:width 1.1s cubic-bezier(.22,1,.36,1); }
.portfolio-footer{ display:flex; align-items:center; justify-content:space-between; padding:12px 20px; border-top:1px solid rgba(255,255,255,.06); }
.billing-proof{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:32px; }
.bp{ display:flex; gap:16px; align-items:flex-start; padding:20px; border-radius:16px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); }
.bp__icon{ font-size:26px; line-height:1; flex-shrink:0; margin-top:2px; }
.bp strong{ display:block; font:700 14px/1 "Space Grotesk"; color:#fff; margin-bottom:5px; }
.bp p{ font:400 13px/1.55 "Inter"; color:var(--mut); margin:0; }
@media(max-width:860px){
  .billing-proof{ grid-template-columns:1fr; }
  .flow-diagram{ flex-direction:column; }
  .flow-connector{ flex-direction:row; min-width:0; }
  .flow-canvas{ display:none; }
  .portfolio-kpis{ grid-template-columns:repeat(3,1fr); }
  .portfolio-kpi:nth-child(n+4){ display:none; }
}
@media(max-width:560px){
  .portfolio-header{ flex-direction:column; align-items:flex-start; gap:8px; }
  .portfolio-chrome__title{ display:none; }
  .portfolio-thead{ display:none; }
  .portfolio-row{
    grid-template-columns:1fr auto;
    min-width:0;
  }
  .portfolio-row__payer, .portfolio-row__cpt, .portfolio-row__payers, .portfolio-row__status{ display:none; }
  .portfolio-row__gap{ grid-column:2; grid-row:1; align-self:start; }
  .portfolio-row__detail{ display:none; }
}

/* ═══════════════════════════════════════════════════════════
   HERO MOUNTAIN RANGE — cinematic sky→terrain transition
   ═══════════════════════════════════════════════════════════ */
.hero__mountains{
  position:absolute; bottom:0; left:0; right:0; z-index:4;
  pointer-events:none;
  height:clamp(240px,32vw,380px);
}
.hero__mountains svg{ width:100%; height:100%; display:block; }
/* Desktop hero: ensure content above mountains */
.hero{ padding-bottom:clamp(230px,30vw,380px); }
/* Low-lying mist at the treeline base — depth + realism, blends forest into lake */
.hero__mist{ position:absolute; left:0; right:0; bottom:0; z-index:4; pointer-events:none;
  height:clamp(90px,12vw,150px);
  background:linear-gradient(180deg, transparent, rgba(120,130,160,.06) 45%, rgba(150,150,170,.10) 100%);
  filter:blur(6px); animation:mistDrift 18s ease-in-out infinite alternate; }
@keyframes mistDrift{ 0%{ transform:translateX(-2%); opacity:.8;} 100%{ transform:translateX(2%); opacity:1;} }
/* Lake caption — fills the open water with an evocative line + scroll cue */
.lake-caption{ position:absolute; left:0; right:0; top:34%; z-index:6; text-align:center; padding:0 24px; pointer-events:none; }
.lake-caption span{ display:block; font:600 clamp(15px,2vw,21px)/1.4 "Space Grotesk"; letter-spacing:-.01em;
  color:rgba(255,255,255,.92); text-shadow:0 2px 24px rgba(0,0,0,.7),0 0 30px rgba(0,229,255,.12); }
.lake-caption__sub{ margin-top:8px; font:500 clamp(11px,1.4vw,13px)/1.4 "Inter" !important; letter-spacing:.04em;
  color:rgba(180,200,230,.7) !important; text-shadow:0 1px 10px rgba(0,0,0,.6) !important; }
.lake-caption__sub .chev{ display:inline-block; animation:chevBob 1.8s ease-in-out infinite; }
@keyframes chevBob{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(4px);} }
@media(max-width:860px){ .lake-caption{ top:30%; } }
#starfield-canvas{
  position:absolute; inset:0; width:100%; height:100%;
  z-index:0; pointer-events:none;
}
@media(max-width:860px){
  .hero{ padding-bottom:clamp(108px,24vw,168px); }
  .hero__mountains{ height:clamp(108px,24vw,168px); }
}

/* ═══════════════════════════════════════════════════════════
   NATURE→DATA SECTION FLOW
   Mountains → Trees → Water → Data — visual journey
   ═══════════════════════════════════════════════════════════ */

/* Stats section: tree-line ambient light from below */
.sec:first-of-type + .sec{
  background:linear-gradient(180deg,rgba(3,8,18,1) 0%,rgba(4,6,11,1) 100%);
}

/* Problem section: forest depth — warm ember glow from left */
.problem{
  background:linear-gradient(175deg,
    rgba(8,4,2,1) 0%,
    rgba(6,3,8,1) 40%,
    rgba(4,6,11,1) 100%);
  position:relative; overflow:hidden;
}
.problem::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(55% 80% at 0% 60%, rgba(30,50,10,.28), transparent 65%),
    radial-gradient(40% 50% at 100% 40%, rgba(10,25,40,.22), transparent 60%);
}

/* Engine section: flowing data — cyan water currents */
#engine{
  background:linear-gradient(180deg, rgba(4,6,11,1) 0%, rgba(2,8,16,1) 100%);
  position:relative; overflow:hidden;
}
#engine::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(65% 60% at 50% 100%, rgba(0,229,255,.04), transparent 70%);
}

/* Data engine section: liquid / water feel */
#data-engine{
  background:linear-gradient(180deg, rgba(2,6,14,1) 0%, rgba(2,4,10,1) 100%);
  position:relative;
}
#data-engine::before{
  content:""; position:absolute; inset:-20%; pointer-events:none; z-index:0;
  background:
    radial-gradient(50% 40% at 30% 70%, rgba(0,100,180,.08), transparent 60%),
    radial-gradient(40% 35% at 70% 30%, rgba(0,180,160,.06), transparent 55%);
  animation:waterflow 18s ease infinite alternate;
}
@keyframes waterflow{
  0%  { transform:translate3d(0,0,0) scale(1); }
  100%{ transform:translate3d(1.5%,-1%,0) scale(1.06); }
}

/* Rebellion / manifesto section: pure cosmic void */
.rebellion-sec, .manifesto, .finalcta{
  position:relative;
}

/* ═══════════════════════════════════════════════════════════
   HERO NPI INPUT — elevated premium treatment
   ═══════════════════════════════════════════════════════════ */
.hero__npi input{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.16);
  font-size:16px; letter-spacing:.005em;
}
.hero__npi input:focus{
  border-color:rgba(0,229,255,.6);
  box-shadow:0 0 0 4px rgba(0,229,255,.12), 0 2px 20px -4px rgba(0,229,255,.25);
  background:rgba(255,255,255,.07);
}
.hero__npi .btn{
  font-size:16px; font-weight:700; letter-spacing:-.01em;
  box-shadow:0 16px 48px -14px rgba(0,229,255,.65);
}
.hero__npi .btn:hover{
  box-shadow:0 20px 56px -12px rgba(0,229,255,.75);
  transform:translateY(-2px);
}

/* ═══════════════════════════════════════════════════════════
   MOBILE HERO — premium VC SaaS grade
   ═══════════════════════════════════════════════════════════ */
@media(max-width:860px){
  .hero h1{
    font-size:clamp(34px,10.5vw,56px);
    line-height:1.01;
    letter-spacing:-.035em;
    margin-top:10px;
  }
  .hero .lead{
    font-size:clamp(15px,4vw,17px);
    line-height:1.55;
    margin-top:12px;
  }
  .hero__npi{ margin-top:16px; }
  .hero__npi input{
    height:52px; font-size:16px; border-radius:14px;
    padding:0 18px;
  }
  .hero__npi .btn{
    height:52px; font-size:15px; border-radius:14px;
    justify-content:center;
  }
  .hero__trust{
    margin-top:14px;
    font-size:12px;
    gap:8px 14px;
  }
  .hero__multi{ margin-top:16px; }
}

@media(max-width:480px){
  .hero h1{
    font-size:clamp(32px,11.5vw,50px);
  }
  .eyebrow{ font-size:10.5px; padding:7px 12px; letter-spacing:.12em; }
  .hero__multi{ font-size:12px; }
}

/* Scrolled state on nav — JS adds this class */
.nav.is-scrolled{
  background:rgba(0,0,0,.95);
  box-shadow:0 1px 0 rgba(255,255,255,.06), 0 12px 48px -16px rgba(0,0,0,.9);
}

/* ═══════════════════════════════════════════════════════════
   COSMOS — faint starlight + nebula that flows through the WHOLE page
   Fixed layer at z-index:-1; transparent sections reveal it below the hero.
   ═══════════════════════════════════════════════════════════ */
.cosmos{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden;
  background:radial-gradient(130% 100% at 50% -6%, #100e22 0%, #0a0916 40%, #06060e 75%); }
/* Bulletproof layering: cosmos sits at z0 over a transparent body; all content rides above it. */
html{ background:#06060e; }
body{ background:transparent !important; }
header.nav, .hero, .hero-reflect, .sec, footer, .foot{ position:relative; z-index:1; }
header.nav{ z-index:50; }
.cosmos__nebula{ position:absolute; inset:-18%;
  background:
    radial-gradient(40% 32% at 16% 18%, rgba(0,229,255,.20), transparent 62%),
    radial-gradient(36% 28% at 84% 30%, rgba(167,139,255,.22), transparent 62%),
    radial-gradient(50% 34% at 60% 64%, rgba(20,224,154,.13), transparent 62%),
    radial-gradient(44% 32% at 26% 82%, rgba(255,95,31,.11), transparent 64%),
    radial-gradient(38% 30% at 90% 88%, rgba(0,229,255,.12), transparent 62%);
  filter:blur(38px); opacity:.95; will-change:transform;
  animation:cosmosDrift 56s var(--ease) infinite alternate; }
@keyframes cosmosDrift{ to{ transform:translate3d(2.5%,-2.4%,0) scale(1.08);} }

.cosmos__stars{ position:absolute; inset:-60% -10% -10%; background-repeat:repeat; }
.cosmos__stars--a{ opacity:.9;
  background-image:
    radial-gradient(1.3px 1.3px at 24px 38px, #ffffff, transparent),
    radial-gradient(1.1px 1.1px at 88px 12px, rgba(255,255,255,.85), transparent),
    radial-gradient(1.4px 1.4px at 140px 96px, rgba(207,226,255,.95), transparent),
    radial-gradient(1px 1px at 188px 54px, rgba(255,255,255,.7), transparent),
    radial-gradient(1.3px 1.3px at 52px 140px, rgba(255,240,214,.9), transparent),
    radial-gradient(1.1px 1.1px at 232px 168px, rgba(255,255,255,.75), transparent),
    radial-gradient(1.4px 1.4px at 300px 30px, rgba(191,232,255,.9), transparent),
    radial-gradient(1px 1px at 268px 110px, rgba(255,255,255,.65), transparent),
    radial-gradient(1.2px 1.2px at 120px 200px, rgba(255,255,255,.8), transparent),
    radial-gradient(1px 1px at 200px 250px, rgba(207,226,255,.7), transparent),
    radial-gradient(1.3px 1.3px at 320px 220px, rgba(255,255,255,.8), transparent),
    radial-gradient(1px 1px at 16px 280px, rgba(255,240,214,.75), transparent);
  background-size:340px 320px;
  animation:starDriftA 150s linear infinite; }
.cosmos__stars--b{ opacity:1;
  background-image:
    radial-gradient(2.4px 2.4px at 60px 80px, #ffffff, transparent),
    radial-gradient(2px 2px at 210px 40px, rgba(207,226,255,1), transparent),
    radial-gradient(2px 2px at 360px 150px, rgba(255,240,214,.95), transparent),
    radial-gradient(2.4px 2.4px at 460px 70px, rgba(255,255,255,.95), transparent),
    radial-gradient(2px 2px at 150px 230px, rgba(191,232,255,.95), transparent),
    radial-gradient(2.2px 2.2px at 420px 260px, rgba(255,255,255,.9), transparent);
  background-size:520px 340px;
  filter:drop-shadow(0 0 3px rgba(180,220,255,.5));
  animation:starDriftB 210s linear infinite; }
@keyframes starDriftA{ from{ background-position:0 0;} to{ background-position:0 320px;} }
@keyframes starDriftB{ from{ background-position:0 0;} to{ background-position:0 340px;} }

/* CSS shooting stars drifting down the page — subtle, occasional */
.cosmos__shoot{ position:absolute; width:160px; height:2px; left:0; top:0;
  background:linear-gradient(90deg, rgba(255,255,255,.9), rgba(255,255,255,0));
  filter:blur(.4px) drop-shadow(0 0 6px rgba(180,220,255,.8));
  opacity:0; transform:rotate(22deg); border-radius:2px; }
.cosmos__shoot--1{ animation:cosmosShoot 17s ease-in 6s infinite; }
.cosmos__shoot--2{ animation:cosmosShoot 23s ease-in 14s infinite; }
@keyframes cosmosShoot{
  0%{ opacity:0; transform:translate(8vw,18vh) rotate(22deg) scaleX(.3);}
  3%{ opacity:.9;}
  10%{ opacity:0; transform:translate(34vw,42vh) rotate(22deg) scaleX(1);}
  100%{ opacity:0; transform:translate(34vw,42vh) rotate(22deg) scaleX(1);} }
.cosmos__shoot--2{ left:auto; right:0; }

@media (prefers-reduced-motion: reduce){
  .cosmos__nebula,.cosmos__stars,.cosmos__shoot{ animation:none; }
}

/* Let the cosmos breathe through the content sections (keep text crisp) */
.sec:first-of-type + .sec{
  background:linear-gradient(180deg,rgba(3,8,18,.78) 0%,rgba(4,6,11,.82) 100%) !important;
}

/* ═══════════════════════════════════════════════════════════
   HERO — warm horizon airglow + ridge rim light (reference: Milky Way over pines)
   ═══════════════════════════════════════════════════════════ */
.hero__airglow{ position:absolute; left:0; right:0; bottom:0; z-index:3; pointer-events:none;
  height:clamp(300px,40vw,520px);
  background:
    radial-gradient(46% 95% at 50% 102%, rgba(255,196,138,.42), transparent 64%),
    radial-gradient(70% 88% at 50% 104%, rgba(214,150,120,.22), transparent 70%),
    radial-gradient(120% 80% at 50% 110%, rgba(120,96,168,.20), transparent 72%),
    radial-gradient(90% 70% at 50% 108%, rgba(0,229,255,.12), transparent 72%);
  animation:airglowPulse 11s ease-in-out infinite; }
@keyframes airglowPulse{ 0%,100%{ opacity:.9; } 50%{ opacity:1; } }
.hero__mountains{ filter:none; }
.hero__mountains svg{ filter:none; }
/* Gentle wind — hero conifers sway from their base, distant mountains stay still */
/* Layered wind — each forest layer shears gently from its base at a different rate (parallax) */
.hero__mountains svg g{ transform-box:fill-box; transform-origin:50% 100%; will-change:transform; }
.hero__mountains .ridge-back{ animation:windBack 11s ease-in-out infinite; }
.hero__mountains .ridge-mid{ animation:windMid 8.5s ease-in-out infinite; }
.hero__mountains .ridge-hero{ animation:windHero 7s ease-in-out infinite; }
@keyframes windBack{ 0%,100%{ transform:skewX(-0.35deg);} 50%{ transform:skewX(0.35deg);} }
@keyframes windMid { 0%,100%{ transform:skewX(-0.7deg);}  50%{ transform:skewX(0.7deg);} }
@keyframes windHero{ 0%,100%{ transform:skewX(-1.1deg) rotate(-0.2deg);} 50%{ transform:skewX(1.1deg) rotate(0.2deg);} }

/* ═══════════════════════════════════════════════════════════
   LAKE REFLECTION — treeline mirrored into the page like still water
   ═══════════════════════════════════════════════════════════ */
/* Clean dark transition — the forest melts into the next section. No mirror, no hard
   line, no choppy artifacts: just forest-black → a whisper of warm afterglow → void. */
.hero-reflect{ position:relative; z-index:2; margin-top:-1px; pointer-events:none; overflow:hidden;
  height:clamp(150px,18vw,250px);
  background:linear-gradient(180deg,
    #000003 0%,        /* exact forest-base black — seamless with the trees above */
    #010207 34%,
    #020410 64%,
    var(--void) 100%); }
/* The only light: the warm horizon afterglow continuing down from behind the trees, fading out */
.hero-reflect__glow{ position:absolute; top:0; left:0; right:0; height:64%; z-index:1;
  background:radial-gradient(48% 92% at 50% -14%, rgba(255,190,135,.15), transparent 72%);
  animation:lakeGlow 9s ease-in-out infinite; }
@keyframes lakeGlow{ 0%,100%{ opacity:.65;} 50%{ opacity:.95;} }
/* Retire the reflection artifacts — they read as stalactites, not water */
.hero-reflect__mirror, .hero-reflect__waterline, .hero-reflect__shimmer{ display:none !important; }
@media(max-width:860px){ .hero-reflect{ height:clamp(108px,24vw,180px);} }
@media (prefers-reduced-motion: reduce){
  .hero__mountains svg g,.hero__mountains .ridge-back,.hero__mountains .ridge-mid,.hero__mountains .ridge-hero,
  .hero-reflect__glow{ animation:none; }
}

/* ═══════════════════════════════════════════════════════════
   COSMOS FLOW — translucent sections so starlight bleeds through the WHOLE page.
   Each section keeps its color identity; the cosmos (z0) glows behind everything.
   ═══════════════════════════════════════════════════════════ */
/* Transparent content sections — add a light veil for text legibility over the stars */
.hero-reflect + .sec, #who, #pricing-teaser, #contact, .foot{
  background:linear-gradient(180deg, rgba(6,8,16,.50), rgba(6,8,16,.58)) !important; }
/* Colored sections — re-expressed translucent so the cosmos shines through their tint */
#problem{ background:linear-gradient(175deg, rgba(18,9,5,.66) 0%, rgba(11,6,15,.62) 45%, rgba(6,8,16,.6) 100%) !important; }
#engine{ background:linear-gradient(180deg, rgba(8,11,21,.58) 0%, rgba(5,9,17,.64) 100%) !important; }
#data-engine{ background:linear-gradient(180deg, rgba(6,12,23,.58) 0%, rgba(4,8,16,.64) 100%) !important; }
#reclaim-cta{ background:linear-gradient(180deg, rgba(0,40,56,.22) 0%, rgba(6,9,16,.55) 100%) !important; }
#billing-companies{ background:
    radial-gradient(80% 60% at 20% 50%, rgba(255,95,31,.12), transparent 60%),
    linear-gradient(180deg, rgba(7,9,17,.56), rgba(6,8,15,.6)) !important; }
#rebellion{ background:linear-gradient(180deg, rgba(3,3,8,.62), rgba(2,2,6,.68)) !important; }
#mission{ background:linear-gradient(180deg, rgba(9,11,21,.58), rgba(15,11,23,.64)) !important; }

/* Aurora seam — a soft animated light ribbon riding each section's top edge */
.sec::before{ content:""; position:absolute; top:-1px; left:0; right:0; height:1px; z-index:2;
  background:linear-gradient(90deg, transparent, rgba(0,229,255,.35) 30%, rgba(167,139,255,.4) 50%, rgba(0,229,255,.35) 70%, transparent);
  opacity:.5; animation:seamGlow 8s ease-in-out infinite; }
@keyframes seamGlow{ 0%,100%{ opacity:.3; } 50%{ opacity:.7; } }
@media (prefers-reduced-motion: reduce){ .sec::before{ animation:none; } }

/* ═══════════════════════════════════════════════════════════
   PREMIUM MOTION ENGINE — styles for premium-motion.js
   ═══════════════════════════════════════════════════════════ */
/* Scroll progress meter */
.scroll-progress{ position:fixed; top:0; left:0; right:0; height:2px; z-index:60; transform:scaleX(0); transform-origin:0 50%;
  background:linear-gradient(90deg, var(--cyan), var(--violet) 55%, var(--ember));
  box-shadow:0 0 14px rgba(0,229,255,.6); will-change:transform; }

/* Directional reveal w/ stagger */
[data-rise]{ opacity:0; transform:translate3d(0,26px,0); transition:opacity .7s var(--ease), transform .7s var(--ease);
  transition-delay:var(--rise-delay,0ms); will-change:opacity,transform; }
[data-rise].rise-in{ opacity:1; transform:none; }

/* Word-by-word headline reveal */
[data-words] .word{ display:inline-block; opacity:0; transform:translate3d(0,.5em,0) rotate(2deg);
  transition:opacity .55s var(--ease), transform .55s var(--ease); transition-delay:var(--wd,0ms); will-change:opacity,transform; }
[data-words].words-in .word{ opacity:1; transform:none; }

/* Animated gradient text (flowing) */
.flow-text{ background:linear-gradient(100deg,#fff 0%, var(--cyan) 30%, var(--violet) 55%, #fff 80%);
  background-size:220% auto; -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:flowText 7s linear infinite; }
@keyframes flowText{ to{ background-position:220% center; } }

/* Bar fill */
[data-fill]{ transition:width 1.25s cubic-bezier(.22,1,.36,1); }

/* 3D tilt */
[data-tilt]{ transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));
  transition:transform .25s var(--ease); }

/* Magnetic */
[data-magnetic]{ transition:transform .25s var(--ease); }

/* Cursor spotlight */
.has-spotlight{ position:relative; }
.has-spotlight::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:1;
  opacity:var(--so,0); transition:opacity .3s var(--ease);
  background:radial-gradient(340px 340px at var(--sx,50%) var(--sy,50%), rgba(0,229,255,.12), transparent 60%); }
.has-spotlight > *{ position:relative; z-index:2; }

/* Flow-field particle canvas (data streaming through the index) */
[data-flowfield]{ position:relative; }
.flowfield-canvas{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; opacity:.7; }
[data-flowfield] > *:not(.flowfield-canvas){ position:relative; z-index:1; }

@media (prefers-reduced-motion: reduce){
  .scroll-progress{ display:none; }
  .flow-text{ animation:none; }
}

/* Mission statement — word-by-word reveal, clean white with cyan glow */
.mission-line{ font-size:clamp(30px,5.6vw,58px); font-weight:700; letter-spacing:-.03em; line-height:1.08;
  color:#fff; text-shadow:0 0 36px rgba(0,229,255,.18); max-width:18ch; margin:0 auto; }

/* ── Dot + ring custom cursor ──────────────────────────────────────────────── */
.has-custom-cursor, .has-custom-cursor a, .has-custom-cursor button, .has-custom-cursor [data-tilt], .has-custom-cursor [data-magnetic]{ cursor:none; }
.cursor-dot, .cursor-ring{ position:fixed; top:0; left:0; z-index:9999; pointer-events:none;
  border-radius:50%; opacity:0; transition:opacity .25s ease; margin-left:0; margin-top:0; }
body.cursor-on .cursor-dot, body.cursor-on .cursor-ring{ opacity:1; }
.cursor-dot{ width:7px; height:7px; background:var(--cyan); margin:-3.5px 0 0 -3.5px;
  box-shadow:0 0 10px rgba(0,229,255,.9); }
.cursor-ring{ width:36px; height:36px; margin:-18px 0 0 -18px; border:1.5px solid rgba(0,229,255,.55);
  transition:width .25s var(--ease), height .25s var(--ease), border-color .25s, background .25s, opacity .25s;
  backdrop-filter:invert(2%); }
.cursor-ring--hot{ width:56px; height:56px; margin:-28px 0 0 -28px; border-color:rgba(167,139,255,.8);
  background:rgba(0,229,255,.06); }
.cursor-ring--down{ width:26px; height:26px; margin:-13px 0 0 -13px; border-color:#fff; }
@media (hover:none), (pointer:coarse){ .cursor-dot, .cursor-ring{ display:none; } }

/* Payer report-card gap bars (animate via data-fill) */
.payer-bar{ margin-top:12px; height:5px; border-radius:99px; background:rgba(255,255,255,.07); overflow:hidden; }
.payer-bar__fill{ display:block; height:100%; width:0; border-radius:99px; box-shadow:0 0 10px -2px currentColor; }
.payer-card{ transition:transform .25s var(--ease), border-color .25s; }

/* Parallax decorative orbs (drift on scroll via data-parallax) */
.float-orb{ position:absolute; border-radius:50%; pointer-events:none; z-index:0; filter:blur(50px); opacity:.5; will-change:transform; }
.float-orb--cyan{ background:radial-gradient(circle, rgba(0,229,255,.5), transparent 70%); }
.float-orb--violet{ background:radial-gradient(circle, rgba(167,139,255,.45), transparent 70%); }
.float-orb--ember{ background:radial-gradient(circle, rgba(255,95,31,.4), transparent 70%); }
.sec > .wrap{ position:relative; z-index:1; }

/* ═══════════════════════════════════════════════════════════
   MOBILE HERO + FIRST BANDS — open overlays, Stripe/Plaid rhythm
   Surgical: hero visual excellence + stats/problem/engine spacing only.
   ═══════════════════════════════════════════════════════════ */
@media(max-width:860px){
  /* Let starfield/nebula/airglow read on small screens (desktop overlay was too heavy) */
  .hero::after{
    background:
      radial-gradient(125% 75% at 50% -8%, transparent 48%, rgba(4,6,11,.42) 88%),
      linear-gradient(180deg, rgba(4,6,11,.06), transparent 32% 74%, rgba(4,6,11,.28));
  }
  .hero__nebula{ opacity:.78; filter:blur(44px); }
  #starfield-canvas{ opacity:1; }

  /* Stripe/Plaid vertical rhythm inside hero copy */
  .hero .hero__in{ padding-top:calc(68px + 14px); }
  .hero h1{ margin-top:12px; line-height:1.04; }
  .hero .lead,.hero__lead{ margin-top:14px; line-height:1.58; }
  .hero__npi{ margin-top:18px; }
  /* One trust line on mobile — handoff duplicates the trust bar */
  .hero__handoff{ display:none; }
  .hero__trust{ margin-top:16px; }
  .hero__multi{ margin-top:24px; line-height:1.55; }

  /* First content band after lake reflection — stats + badges */
  .hero-reflect + .sec{
    padding-top:clamp(36px,9vw,52px) !important;
    padding-bottom:clamp(44px,11vw,60px) !important;
    background:linear-gradient(180deg, rgba(6,8,16,.30), rgba(6,8,16,.36)) !important;
  }
  .hero-reflect + .sec .stats{
    padding:clamp(18px,5vw,26px) 0;
    gap:clamp(22px,5.5vw,30px) clamp(14px,4vw,22px);
    border-color:rgba(255,255,255,.06);
  }
  .hero-reflect + .sec .badges{
    margin-top:clamp(22px,6vw,32px) !important;
    gap:12px 14px;
  }

  /* Problem + engine — lighter veil so cosmos motion shows through */
  .hero-reflect + .sec + .sec,
  #problem{
    padding-top:clamp(52px,13vw,68px) !important;
    padding-bottom:clamp(52px,13vw,68px) !important;
  }
  #problem{
    background:linear-gradient(175deg, rgba(18,9,5,.44) 0%, rgba(11,6,15,.40) 45%, rgba(6,8,16,.36) 100%) !important;
  }
  .problem__grid{ gap:clamp(28px,7vw,40px); }
  #engine{
    padding-top:clamp(52px,13vw,68px) !important;
    padding-bottom:clamp(52px,13vw,68px) !important;
    background:linear-gradient(180deg, rgba(8,11,21,.38) 0%, rgba(5,9,17,.42) 100%) !important;
  }
  #engine .engine__diagram{ margin-top:clamp(28px,7vw,40px); }
  #engine .shead h2{ margin-top:14px; margin-bottom:12px; }
  #engine .shead .lead{ margin-top:8px; }

  /* Never leave first bands hidden behind scroll-reveal opacity */
  .hero [data-reveal],
  .hero-reflect + .sec [data-reveal],
  .hero-reflect + .sec + .sec [data-reveal],
  #engine [data-reveal],
  #data-engine [data-reveal]{
    opacity:1 !important; transform:none !important; transition:none !important;
  }

  /* Pulsing section seams read as hard line breaks on small screens */
  .hero-reflect + .sec::before,
  .hero-reflect + .sec + .sec::before,
  #engine::before,
  #data-engine::before{ display:none; }

  /* Lake → stats → problem → engine: one continuous veil (no banding) */
  .hero-reflect{
    height:clamp(96px,20vw,150px);
    background:linear-gradient(180deg, #11131f 0%, #0b0d18 38%, #07090f 72%, #06080f 100%);
  }
  .hero-reflect__mirror{
    filter:blur(.55px) brightness(.48) !important;
    opacity:.42;
  }
  .hero-reflect__shimmer,
  .hero-reflect__glow{ animation:none; opacity:.32; }
  .hero-reflect + .sec,
  #problem,
  #engine,
  #data-engine{
    background:linear-gradient(180deg,
      rgba(6,8,15,.20) 0%,
      rgba(6,8,16,.34) 42%,
      rgba(6,8,16,.40) 100%) !important;
  }

  /* Calm motion above the fold — keeps starfield, drops shimmer churn */
  .hero__airglow{ animation:none; opacity:.9; }
  .hero__mountains svg g{ animation:none; }
  .hero__score.is-loaded{ animation:none; }

  /* Scorecard: showcase 462 + D+ — strip color noise on mobile */
  .hero__score .scorecard--v2{
    padding:22px 18px 14px;
    background:linear-gradient(180deg, rgba(10,14,26,.9), rgba(6,9,18,.96));
    border-color:rgba(255,255,255,.11);
    box-shadow:0 28px 72px -36px rgba(0,0,0,.9);
  }
  .hero__score .scorecard--live::before,
  .hero__score .sc-orbit{ display:none !important; }
  .hero__score .sc-identity,
  .hero__score .sc-uplift,
  .hero__score .sc-rate-panel,
  .hero__score .sc-agentic{ display:none !important; }
  .hero__score .hgauge--compact{
    max-width:210px;
    margin:10px auto 2px;
  }
  .hero__score .hgauge__num{
    font-size:clamp(54px,15vw,68px);
    background:none;
    -webkit-background-clip:unset;
    background-clip:unset;
    color:#fff;
  }
  .hero__score .hgauge__grade{
    font-size:19px;
    padding:6px 16px;
    margin-top:10px;
    animation:none;
    background:rgba(255,96,96,.16);
    border:1px solid rgba(255,96,96,.28);
  }
  .hero__score .hgauge__scale{
    color:#fff;
    font-size:11px;
    font-weight:700;
    letter-spacing:.12em;
    margin-top:11px;
    white-space:nowrap;
    text-shadow:0 0 12px rgba(0,229,255,.5),0 1px 2px rgba(0,0,0,.6);
  }
  .hero__score .sc-actions{
    margin-top:10px;
    opacity:1 !important;
  }
  .hero__score .sc-btn-memo{
    min-height:38px;
    font-size:12px;
    background:rgba(255,255,255,.07);
    color:rgba(255,255,255,.88);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:none;
  }
  .hero__score .scorecard__foot{ margin-top:8px; padding-top:8px; }
}

@media(max-width:480px){
  .hero h1{ font-size:clamp(30px,10.8vw,44px); }
  .hero .lead,.hero__lead{ font-size:15px; }
  .hero-reflect + .sec .stat .n{ font-size:clamp(22px,7vw,30px); }
  .hero-reflect + .sec .stat .l{ font-size:11.5px; line-height:1.45; }
  .hero__score .hgauge--compact{ max-width:190px; }
  .hero__score .hgauge__num{ font-size:clamp(50px,14.5vw,60px); }
}

/* ── Hero scorecard primary CTA = NPI input → RateScore (founder order 2026-06-11)
      Additive block only; .sc-btn-memo rules above are now unused by index. ── */
.sc-npi-go{ display:flex; gap:7px; min-width:0; }
.sc-npi-go__in{
  flex:1; min-width:0; height:44px; padding:0 13px; border-radius:12px;
  border:1px solid rgba(0,229,255,.28); background:rgba(2,18,26,.6);
  color:#fff; font:600 13px/1 "Space Grotesk"; letter-spacing:.04em;
  font-variant-numeric:tabular-nums;
  transition:border-color .2s, box-shadow .2s;
}
.sc-npi-go__in::placeholder{ color:var(--mut); font-weight:500; letter-spacing:.01em; }
.sc-npi-go__in:focus{ outline:none; border-color:var(--cyan); box-shadow:0 0 0 3px rgba(0,229,255,.14); }
.sc-npi-go__btn{
  display:flex; align-items:center; justify-content:center; min-height:44px; padding:0 15px;
  border:0; cursor:pointer; border-radius:12px; white-space:nowrap;
  font:700 13px/1 "Space Grotesk"; letter-spacing:-.01em; color:#02121a;
  background:linear-gradient(180deg,#8af3ff,var(--cyan));
  box-shadow:0 12px 36px -12px rgba(0,229,255,.55);
  transition:transform .2s var(--ease), box-shadow .2s;
}
.sc-npi-go__btn:hover{ transform:translateY(-2px); box-shadow:0 16px 44px -10px rgba(0,229,255,.65); }
.sc-npi-go__btn:focus-visible{ outline:2px solid var(--cyan); outline-offset:3px; }
@media(max-width:760px){
  .sc-npi-go{ flex-direction:column; }
  .sc-npi-go__in,.sc-npi-go__btn{ width:100%; min-height:42px; }
}
@media(prefers-reduced-motion: reduce){
  .sc-npi-go__btn{ transition:none; }
  .sc-npi-go__btn:hover{ transform:none; }
}
