/* ============================================================================
   reclaim-hero.css — LIGHT-THEME Reclaim 6-month backtest hero + results.
   Self-contained, namespaced .rcb-*. Stripe/Plaid/Tempus-grade, ultra premium.
   Aceternity-inspired effects re-implemented vanilla: transform/opacity only,
   GPU-cheap, prefers-reduced-motion + 320px-safe + zero-flash (first paint = final).
   DO NOT extend the dark reclaim-backtest.css — this is the light surface.
   ========================================================================== */
.rcb{
  --paper:#f7f9fc; --ink:#0b1220; --mut:#5a6786; --line:#e6ebf3; --card:#ffffff;
  --green:#0b9577; --green-d:#0a7a62; --cyan:#00b3c4; --brass:#b8862b; --rose:#d6455d;
  --grad:linear-gradient(95deg,#6366f1,#00b3c4 45%,#14c79a);
  --r:18px; --rs:12px; --sh:0 1px 2px rgba(16,24,40,.04),0 12px 32px -12px rgba(16,24,40,.14);
  --ease:cubic-bezier(.16,1,.3,1);
  color:var(--ink); background:var(--paper);
  font-family:"Geist","Inter",system-ui,sans-serif; -webkit-font-smoothing:antialiased;
}
.rcb *{box-sizing:border-box}
.rcb-num{font-variant-numeric:tabular-nums;font-family:"Geist Mono","Geist",ui-monospace,monospace}

/* ── AURORA / SPOTLIGHT backdrop (Aceternity Aurora+Spotlight, vanilla) ─────── */
.rcb-stage{position:relative;overflow:clip;isolation:isolate}
.rcb-aurora{position:absolute;inset:-20% -10% auto -10%;height:140%;z-index:0;pointer-events:none;
  background:
    radial-gradient(40% 50% at 18% 12%, rgba(99,102,241,.16), transparent 70%),
    radial-gradient(38% 46% at 82% 8%, rgba(0,179,196,.16), transparent 70%),
    radial-gradient(46% 50% at 60% 40%, rgba(20,199,154,.12), transparent 72%);
  filter:blur(8px);will-change:transform,opacity;opacity:0;
  animation:rcb-aur 1.2s var(--ease) .1s forwards;}
.rcb-stage.rcb-on .rcb-aurora{animation:rcb-aur 1.2s var(--ease) .1s forwards, rcb-drift 22s ease-in-out 1.3s infinite alternate}
@keyframes rcb-aur{to{opacity:1}}
@keyframes rcb-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-3%,1.5%,0)}}
.rcb-grid{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:54px 54px;mask:radial-gradient(120% 80% at 50% 0%,#000,transparent 75%);-webkit-mask:radial-gradient(120% 80% at 50% 0%,#000,transparent 75%)}
.rcb-spark{position:absolute;inset:0;z-index:0;pointer-events:none}/* sparkles canvas mount */

.rcb-wrap{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:64px 22px 40px}
@media(max-width:720px){.rcb-wrap{padding:40px 16px 28px}}

/* ── HERO ──────────────────────────────────────────────────────────────────── */
.rcb-eyebrow{display:inline-flex;align-items:center;gap:9px;font:600 11.5px/1 "Geist Mono",monospace;
  letter-spacing:.13em;text-transform:uppercase;color:var(--green-d);background:rgba(11,149,119,.07);
  border:1px solid rgba(11,149,119,.18);padding:7px 13px;border-radius:999px}
.rcb-eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(11,149,119,.16)}
.rcb-h1{font:800 clamp(31px,5.4vw,58px)/1.04 "Schibsted Grotesk","Geist",sans-serif;letter-spacing:-.02em;
  margin:18px 0 0;max-width:18ch;text-wrap:balance}
.rcb-h1 .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.rcb-sub{margin:16px 0 0;max-width:56ch;font:450 16.5px/1.6 "Inter",sans-serif;color:var(--mut)}
@media(max-width:720px){.rcb-sub{font-size:15px}}

/* NPI bar — Aceternity moving/animated-gradient border (vanilla conic ::before) */
.rcb-form{margin:26px 0 0;max-width:620px}
.rcb-bar{position:relative;display:flex;gap:10px;align-items:stretch;padding:6px;border-radius:16px;
  background:var(--card);box-shadow:var(--sh)}
.rcb-bar::before{content:"";position:absolute;inset:-1.5px;border-radius:17px;z-index:-1;
  background:conic-gradient(from 0deg,transparent 0deg,rgba(99,102,241,.0) 70deg,var(--cyan) 140deg,var(--green) 200deg,transparent 280deg,transparent 360deg);
  opacity:0;transition:opacity .4s}
.rcb-bar.rcb-glow::before{opacity:.9;animation:rcb-spin 3.4s linear infinite}
@keyframes rcb-spin{to{transform:rotate(360deg)}}
.rcb-input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:500 16px/1.4 "Geist",sans-serif;
  padding:14px 14px;outline:none;min-height:52px}
.rcb-input::placeholder{color:#9aa6c2}
.rcb-run{flex-shrink:0;border:0;cursor:pointer;color:#fff;font:700 15px/1 "Geist",sans-serif;
  padding:0 22px;border-radius:12px;background:linear-gradient(95deg,var(--green),#10b6a0);
  box-shadow:0 8px 20px -8px rgba(11,149,119,.6);position:relative;overflow:hidden;transition:transform .18s var(--ease),box-shadow .18s}
.rcb-run:hover{transform:translateY(-1px);box-shadow:0 12px 26px -8px rgba(11,149,119,.7)}
.rcb-run:active{transform:translateY(0)}
.rcb-run::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);
  transform:translateX(-120%);transition:transform .6s var(--ease)}
.rcb-run:hover::after{transform:translateX(120%)}
.rcb-run[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
@media(max-width:560px){.rcb-bar{flex-direction:column;gap:6px}.rcb-run{padding:14px;min-height:50px}}

.rcb-sample{margin:12px 2px 0;background:none;border:0;cursor:pointer;color:var(--green-d);
  font:600 13.5px/1.4 "Inter",sans-serif;padding:4px 0}
.rcb-sample:hover{text-decoration:underline}
.rcb-trust{margin:16px 0 0;max-width:64ch;font:450 12.5px/1.6 "Inter",sans-serif;color:#7a87a6}
.rcb-trust b{color:var(--ink);font-weight:600}

/* chips — appear only when 2+ NPIs (progressive enhancement) */
.rcb-chips{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 0;max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.rcb-chips.rcb-show{max-height:240px;margin-top:14px}
.rcb-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;
  background:#fff;border:1px solid var(--line);box-shadow:var(--sh);font:600 12.5px/1 "Geist Mono",monospace;color:var(--ink);
  animation:rcb-pop .3s var(--ease) both}
.rcb-chip--bad{border-color:rgba(214,69,93,.4);color:var(--rose);background:rgba(214,69,93,.05)}
.rcb-chip__x{cursor:pointer;color:var(--mut);font-weight:700;line-height:1;padding:0 2px}
.rcb-chip__x:hover{color:var(--ink)}
.rcb-chip__dot{width:6px;height:6px;border-radius:50%;background:var(--green)}
.rcb-chip--bad .rcb-chip__dot{background:var(--rose)}
.rcb-count{font:600 12.5px/1 "Inter";color:var(--mut);align-self:center;margin-left:4px}
@keyframes rcb-pop{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}

.rcb-win{display:inline-flex;gap:4px;margin:12px 0 0;padding:4px;background:#fff;border:1px solid var(--line);border-radius:999px}
.rcb-win button{border:0;background:none;cursor:pointer;font:600 12.5px/1 "Inter";color:var(--mut);padding:7px 13px;border-radius:999px}
.rcb-win button[aria-pressed="true"]{background:var(--ink);color:#fff}

/* progress rail */
.rcb-rail{height:3px;border-radius:3px;background:var(--line);overflow:hidden;margin:18px 0 0;opacity:0;transition:opacity .3s}
.rcb-rail.rcb-show{opacity:1}
.rcb-rail__fill{height:100%;width:0;border-radius:3px;background:var(--grad);transition:width .4s var(--ease)}

/* ── RESULTS ───────────────────────────────────────────────────────────────── */
.rcb-results{margin:36px auto 0;max-width:1120px;padding:0 22px;opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rcb-results.rcb-show{opacity:1;transform:none}
@media(max-width:720px){.rcb-results{padding:0 16px}}
.rcb-lamp{position:relative;text-align:center;padding:30px 0 6px}
.rcb-lamp::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(520px,86%);height:8px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(0,179,196,.5),transparent);filter:blur(7px);opacity:0;transition:opacity .8s}
.rcb-results.rcb-show .rcb-lamp::before{opacity:1}
.rcb-rhead{font:600 12px/1 "Geist Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.rcb-bignum{font:800 clamp(44px,9vw,96px)/1 "Schibsted Grotesk","Geist",sans-serif;letter-spacing:-.03em;margin:10px 0 0;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;min-height:1em}
.rcb-rline{margin:14px auto 0;max-width:46ch;font:500 16px/1.5 "Inter";color:var(--ink)}
.rcb-pill{display:inline-flex;align-items:center;gap:7px;margin:14px 0 0;padding:7px 14px;border-radius:999px;
  background:rgba(184,134,43,.08);border:1px solid rgba(184,134,43,.25);color:#8a6418;font:600 12px/1 "Inter"}
.rcb-pill i{width:6px;height:6px;border-radius:50%;background:var(--brass)}
.rcb-basis{margin:9px auto 0;max-width:56ch;font:450 12.5px/1.55 "Inter";color:var(--mut)}

/* provenance strip */
.rcb-prov{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:24px 0 0}
.rcb-prov__c{display:flex;align-items:center;gap:9px;padding:11px 15px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);
  font:550 12.5px/1.3 "Inter";color:var(--ink);opacity:0;transform:translateY(8px);animation:rcb-rise .5s var(--ease) forwards}
.rcb-prov__c svg{width:17px;height:17px;color:var(--green);flex-shrink:0}
@keyframes rcb-rise{to{opacity:1;transform:none}}

/* per-NPI cards (bento + 3D-tilt + hover-glow) */
.rcb-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:30px 0 0}
.rcb-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--sh);
  transition:transform .25s var(--ease),box-shadow .25s;transform-style:preserve-3d;overflow:hidden}
.rcb-card::after{content:"";position:absolute;inset:0;border-radius:var(--r);opacity:0;transition:opacity .3s;pointer-events:none;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(0,179,196,.10),transparent 45%)}
.rcb-card:hover::after{opacity:1}
.rcb-card--lead{grid-column:1/-1}
.rcb-card__name{font:700 17px/1.25 "Geist",sans-serif;color:var(--ink)}
.rcb-card__meta{font:500 12.5px/1.4 "Inter";color:var(--mut);margin-top:3px}
.rcb-card__num{font:800 30px/1 "Schibsted Grotesk",sans-serif;letter-spacing:-.02em;margin:14px 0 0;color:var(--ink)}
.rcb-card__sub{font:500 12px/1.3 "Inter";color:var(--mut);margin-top:5px}
.rcb-tag{display:inline-flex;align-items:center;gap:5px;font:600 10.5px/1 "Geist Mono",monospace;letter-spacing:.06em;text-transform:uppercase;
  padding:5px 9px;border-radius:999px;margin-top:13px}
.rcb-tag--real{background:rgba(11,149,119,.1);color:var(--green-d)}
.rcb-tag--model{background:rgba(99,102,241,.1);color:#4f46e5}
.rcb-tag--base{background:rgba(90,103,134,.1);color:var(--mut)}
.rcb-card--thin{background:repeating-linear-gradient(135deg,#fff,#fff 10px,#fbfcfe 10px,#fbfcfe 20px)}

/* gap matrix */
.rcb-gaps{margin:30px 0 0;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
.rcb-gaps__h{padding:16px 20px;border-bottom:1px solid var(--line);font:700 14px/1.3 "Geist";display:flex;justify-content:space-between;align-items:center}
.rcb-gaps__h small{font:500 12px/1.3 "Inter";color:var(--mut)}
.rcb-trow{display:grid;grid-template-columns:1.6fr .8fr .8fr .8fr 1fr;gap:8px;padding:13px 20px;border-bottom:1px solid var(--line);align-items:center;font:500 13.5px/1.3 "Inter"}
.rcb-trow--head{font:600 11px/1.2 "Geist Mono",monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);background:#fbfcfe}
.rcb-trow__cpt b{font-family:"Geist Mono",monospace}
.rcb-trow__cpt span{display:block;color:var(--mut);font-size:11.5px;margin-top:2px}
.rcb-trow .rcb-num{text-align:right}
.rcb-trow--locked{position:relative;color:transparent;user-select:none}
.rcb-trow--locked .rcb-num,.rcb-trow--locked .rcb-trow__cpt span{color:transparent}
.rcb-lockwrap{position:relative;min-height:150px}
.rcb-lockmask{position:absolute;left:0;right:0;bottom:0;top:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.94) 55%);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);text-align:center;padding:24px}
.rcb-lockmask p{font:600 14px/1.4 "Geist";color:var(--ink);max-width:34ch}
@media(max-width:640px){.rcb-trow{grid-template-columns:1.4fr 1fr;gap:4px}.rcb-trow span.rcb-hidecol{display:none}}

/* CTAs */
.rcb-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:30px 0 0}
.rcb-btn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;text-decoration:none;font:700 14.5px/1 "Geist";padding:14px 22px;border-radius:12px;border:1px solid transparent;transition:transform .18s var(--ease),box-shadow .18s}
.rcb-btn--p{color:#fff;background:linear-gradient(95deg,var(--green),#10b6a0);box-shadow:0 8px 20px -8px rgba(11,149,119,.6)}
.rcb-btn--p:hover{transform:translateY(-1px)}
.rcb-btn--g{color:var(--ink);background:#fff;border-color:var(--line);box-shadow:var(--sh)}
.rcb-share{margin:22px 0 0;text-align:center;font:500 13.5px/1.5 "Inter";color:var(--mut)}
.rcb-share button{background:none;border:0;color:var(--green-d);font-weight:700;cursor:pointer}
.rcb-disc{margin:26px auto 0;max-width:70ch;font:450 11.5px/1.6 "Inter";color:#8895b2;text-align:center}

/* ── reduced motion + zero-flash ───────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  .rcb *,.rcb *::before,.rcb *::after{animation:none!important;transition:none!important}
  .rcb-results{opacity:1;transform:none}
  .rcb-aurora{opacity:1}
}
