/* ===========================================================================
   Posy — shared styles
   Brand: Platform Apps LLC kit (Aeonik→Inter, deep-purple ink, gradient orbs)
   Wordmark: Big Caslon FB → superseded → Gilmer (geometric sans)
   =========================================================================== */

@font-face{
  font-family:'Gilmer';
  src:url('assets/fonts/Gilmer-Medium.otf') format('opentype');
  font-weight:500;font-style:normal;font-display:swap;
}

:root{
  /* brand palette (fixed) */
  --p300:#6349C4; --p200:#ADA2F7; --p100:#CCC4FF; --p400:#1A0A32;
  --pink100:#FFB4D3; --pink200:#FF9CC2; --pink300:#BA2C67;
  --blue100:#A8DFFF; --blue200:#68C1F5; --blue300:#1C71A3;
  --grey100:#F8F9FF; --grey200:#ECEEFC; --grey300:#D3D6E5;

  --font:'Inter', system-ui, -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --mono:'JetBrains Mono', ui-monospace, Menlo, monospace;

  /* type scale (multiplied by --fs from tweaks) */
  --fs:1;

  /* ---- LIGHT THEME (default) ---- */
  --bg:#F4F5FE;
  --bg-2:#FFFFFF;
  --surface:#FFFFFF;
  --surface-2:#F8F9FF;
  --panel:#ECEEFC;
  --ink:#1A0A32;
  --ink-soft:#3b2c57;
  --muted:#5d5278;
  --muted-2:#8b81a3;
  --border:#E5E7F4;
  --border-2:#D3D6E5;
  --hairline:rgba(26,10,50,.08);

  /* accent (purple default) */
  --accent:#6349C4;
  --accent-press:#4f39a8;
  --accent-soft:#ECEAFB;
  --accent-line:#CCC4FF;
  --accent-fg:#FFFFFF;
  --accent-ink:#6349C4;      /* accent used as text on light bg */

  --shadow-sm:0 1px 2px rgba(26,10,50,.06), 0 2px 8px rgba(26,10,50,.05);
  --shadow-md:0 8px 24px rgba(26,10,50,.08), 0 2px 6px rgba(26,10,50,.05);
  --shadow-lg:0 30px 70px rgba(26,10,50,.14), 0 8px 24px rgba(26,10,50,.08);
  --shadow-card:0 18px 50px rgba(26,10,50,.16);
}

:root[data-accent="pink"]{ --accent:#BA2C67; --accent-press:#9c1f53; --accent-soft:#FCEAF1; --accent-line:#FFB4D3; --accent-ink:#BA2C67; }
:root[data-accent="blue"]{ --accent:#1C71A3; --accent-press:#155a83; --accent-soft:#E6F3FB; --accent-line:#A8DFFF; --accent-ink:#1C71A3; }

/* ---- DARK THEME ---- */
:root[data-theme="dark"]{
  --bg:#120724;
  --bg-2:#180b30;
  --surface:#1d1040;
  --surface-2:#201246;
  --panel:#251653;
  --ink:#F4F2FF;
  --ink-soft:#d8d2ee;
  --muted:#b3a9cf;
  --muted-2:#8b7fb0;
  --border:rgba(255,255,255,.10);
  --border-2:rgba(255,255,255,.14);
  --hairline:rgba(255,255,255,.08);

  --accent:#ADA2F7;
  --accent-press:#CCC4FF;
  --accent-soft:rgba(173,162,247,.14);
  --accent-line:rgba(173,162,247,.4);
  --accent-fg:#1A0A32;
  --accent-ink:#CCC4FF;

  --shadow-sm:0 2px 8px rgba(0,0,0,.4);
  --shadow-md:0 12px 30px rgba(0,0,0,.45);
  --shadow-lg:0 40px 90px rgba(0,0,0,.6);
  --shadow-card:0 24px 60px rgba(0,0,0,.55);
}
:root[data-theme="dark"][data-accent="pink"]{ --accent:#FF9CC2; --accent-press:#FFB4D3; --accent-soft:rgba(255,156,194,.14); --accent-line:rgba(255,156,194,.4); --accent-ink:#FFB4D3; }
:root[data-theme="dark"][data-accent="blue"]{ --accent:#68C1F5; --accent-press:#A8DFFF; --accent-soft:rgba(104,193,245,.14); --accent-line:rgba(104,193,245,.4); --accent-ink:#A8DFFF; }

/* =========================================================================== */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--font);
  font-size:calc(17px * var(--fs));
  line-height:1.6; letter-spacing:-0.006em;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
  transition:background .35s ease, color .35s ease;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

/* ---- layout primitives ---- */
.wrap{max-width:1200px;margin:0 auto;padding:0 40px;}
.wrap-wide{max-width:1360px;margin:0 auto;padding:0 40px;}
section{position:relative;}
.eyebrow{
  font-family:var(--mono); font-size:calc(12.5px * var(--fs));
  letter-spacing:.16em; text-transform:uppercase; color:var(--accent-ink);
  font-weight:500; display:inline-flex; align-items:center; gap:10px;
}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);}

h1,h2,h3{margin:0;letter-spacing:-0.035em;line-height:0.98;font-weight:800;color:var(--ink);}
.h-display{font-size:clamp(44px, 6vw, calc(86px * var(--fs)));line-height:0.94;letter-spacing:-0.04em;}
.h-1{font-size:clamp(36px,4.6vw, calc(60px * var(--fs)));}
.h-2{font-size:clamp(28px,3.2vw, calc(40px * var(--fs)));}
.h-3{font-size:calc(23px * var(--fs));letter-spacing:-0.025em;line-height:1.1;}
.lead{font-size:calc(20px * var(--fs));line-height:1.5;color:var(--muted);font-weight:450;letter-spacing:-0.01em;}
.gradtext{
  background:linear-gradient(100deg,var(--pink200) 0%, var(--p200) 48%, var(--blue200) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.accentword{color:var(--accent-ink);}

/* ---- buttons ---- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-weight:600;font-size:calc(15px * var(--fs));letter-spacing:-0.01em;
  padding:13px 22px;border-radius:12px;border:1px solid transparent;cursor:pointer;
  transition:transform .15s ease, background .2s ease, box-shadow .2s ease, border-color .2s;
  white-space:nowrap;font-family:var(--font);line-height:1;
}
.btn svg{width:18px;height:18px;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-sm);}
.btn-primary:hover{background:var(--accent-press);box-shadow:var(--shadow-md);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--border-2);}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-ink);}
.btn-soft{background:var(--accent-soft);color:var(--accent-ink);}
.btn-soft:hover{background:var(--accent-line);}
.btn-lg{padding:16px 28px;font-size:calc(16px * var(--fs));border-radius:13px;}

/* ---- nav ---- */
.nav{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb, var(--bg) 78%, transparent);
  backdrop-filter:saturate(1.4) blur(16px);
  border-bottom:1px solid transparent;
  transition:border-color .3s, background .3s;
}
.nav.scrolled{border-bottom-color:var(--hairline);}
.nav-inner{max-width:1360px;margin:0 auto;padding:16px 40px;display:flex;align-items:center;gap:32px;}
.nav-links{display:flex;align-items:center;gap:6px;margin-left:18px;}
.nav-links a{
  font-size:calc(15px * var(--fs));font-weight:500;color:var(--muted);
  padding:9px 14px;border-radius:9px;transition:color .18s,background .18s;letter-spacing:-0.01em;
}
.nav-links a:hover{color:var(--ink);background:var(--hairline);}
.nav-links a.active{color:var(--ink);}
.nav-links a.active::after{content:"";display:block;height:2px;border-radius:2px;background:var(--accent);margin-top:5px;}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:12px;}
.nav-cta{display:inline-flex;}

/* ---- logo (posy wordmark) ---- */
.logo{display:inline-flex;align-items:center;gap:11px;color:var(--ink);}
.logo .mark{width:30px;height:30px;color:var(--ink);flex:none;}
.logo .mark svg{width:100%;height:100%;display:block;}
.logo .wordmark{
  font-family:'Gilmer','Aeonik',var(--font);
  font-weight:500;font-size:calc(26px * var(--fs));letter-spacing:-0.01em;line-height:1;
  /* Gilmer ships only Medium — thicken evenly to a '+2'. em-based so it scales. */
  -webkit-text-stroke:0.022em currentColor;
  paint-order:stroke fill;
}
.logo.lg .mark{width:38px;height:38px;}
.logo.lg .wordmark{font-size:calc(33px * var(--fs));}

/* ---- gradient orbs (decorative) ---- */
.orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0;}
.orb.pink{background:radial-gradient(circle at 32% 30%, #FF8FBE 0%, #BA2C67 56%, #6E1A47 100%);}
.orb.lilac{background:radial-gradient(circle at 35% 30%, #ECEEFC 0%, #CFCBF0 55%, #ADA2F7 100%);}
.orb.purp{background:radial-gradient(circle at 30% 30%, #ADA2F7 0%, #6349C4 82%);}
.orb.blue{background:radial-gradient(circle at 32% 30%, #BFE8FF 0%, #68C1F5 55%, #1C71A3 100%);}
.orb.soft{filter:blur(2px);}

/* glow blobs for dark surfaces */
.glow{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(20px);}

/* ---- pills / chips ---- */
.pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 13px;border-radius:999px;
  font-family:var(--mono);font-size:calc(11.5px * var(--fs));letter-spacing:.05em;text-transform:uppercase;
  font-weight:500;background:var(--surface);border:1px solid var(--border);color:var(--ink-soft);
}
.pill .dot{width:7px;height:7px;border-radius:50%;}

/* =========================================================================== */
/*  MOCK KPI CARDS  (stand-in product visuals)                                 */
/* =========================================================================== */
.kcard{
  --c-bg:#FFFFFF; --c-ink:#1A0A32; --c-muted:#7a7090; --c-border:#EDEEF8;
  --c-grid:rgba(26,10,50,.06); --c-up:#1F8A5B; --c-down:#BA2C67; --c-accent:#6349C4;
  background:var(--c-bg);color:var(--c-ink);
  border:1px solid var(--c-border);border-radius:18px;
  padding:22px 22px 20px;box-shadow:var(--shadow-card);
  font-family:var(--font);width:300px;letter-spacing:-0.01em;
}
.kcard--dark{
  --c-bg:#1B0F3E; --c-ink:#F4F2FF; --c-muted:#a89dc8; --c-border:rgba(255,255,255,.09);
  --c-grid:rgba(255,255,255,.07); --c-up:#67E0A3; --c-down:#FF9CC2; --c-accent:#ADA2F7;
}
.kcard--pink{ --c-accent:#BA2C67; }
.kcard--blue{ --c-accent:#1C71A3; }
.kcard .k-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;}
.kcard .k-label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted);font-weight:500;}
.kcard .k-dots{display:flex;gap:3px;}
.kcard .k-dots i{width:3.5px;height:3.5px;border-radius:50%;background:var(--c-muted);opacity:.5;}
.kcard .k-value{font-size:40px;font-weight:800;letter-spacing:-0.04em;line-height:1.05;margin:8px 0 6px;}
.kcard .k-row{display:flex;align-items:center;gap:10px;}
.kcard .k-delta{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;padding:3px 8px;border-radius:7px;}
.kcard .k-delta.up{color:var(--c-up);background:color-mix(in srgb,var(--c-up) 14%,transparent);}
.kcard .k-delta.down{color:var(--c-down);background:color-mix(in srgb,var(--c-down) 14%,transparent);}
.kcard .k-sub{font-size:12.5px;color:var(--c-muted);}
.kcard .k-spark{margin-top:18px;width:100%;height:54px;display:block;}
.kcard .k-bars{display:flex;align-items:flex-end;gap:6px;height:56px;margin-top:18px;}
.kcard .k-bars span{flex:1;border-radius:4px 4px 2px 2px;background:var(--c-grid);}
.kcard .k-bars span.hi{background:var(--c-accent);}
.kcard .k-foot{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid var(--c-border);font-size:12px;color:var(--c-muted);}
/* ring / gauge */
.kring{position:relative;width:120px;height:120px;margin:6px auto 2px;}
.kring svg{transform:rotate(-90deg);width:100%;height:100%;}
.kring .ring-val{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.kring .ring-val b{font-size:30px;font-weight:800;letter-spacing:-0.03em;}
.kring .ring-val em{font-style:normal;font-size:10.5px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted);}

/* legend dots */
.k-legend{display:flex;gap:14px;margin-top:14px;font-size:11.5px;color:var(--c-muted);}
.k-legend span{display:inline-flex;align-items:center;gap:6px;}
.k-legend i{width:9px;height:9px;border-radius:3px;}

/* =========================================================================== */
/*  SECTION BUILDING BLOCKS                                                     */
/* =========================================================================== */
.section-pad{padding:clamp(72px,9vw,128px) 0;}
.section-pad-sm{padding:clamp(54px,6vw,84px) 0;}
.section-head{max-width:680px;}
.section-head .eyebrow{margin-bottom:18px;}
.section-head .lead{margin-top:20px;}

/* feature / pillar cards */
.cards-grid{display:grid;gap:22px;}
.cards-3{grid-template-columns:repeat(3,1fr);}
.cards-2{grid-template-columns:repeat(2,1fr);}
.fcard{
  background:var(--surface);border:1px solid var(--border);border-radius:20px;
  padding:34px 32px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s;
}
.fcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--border-2);}
.fcard .idx{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--accent-ink);font-weight:500;}
.fcard h3{margin:16px 0 12px;font-size:calc(25px * var(--fs));letter-spacing:-0.03em;}
.fcard p{margin:0;color:var(--muted);font-size:calc(16px * var(--fs));line-height:1.55;}
.fcard ul{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:9px;}
.fcard li{position:relative;padding-left:22px;color:var(--ink-soft);font-size:calc(15px * var(--fs));}
.fcard li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--accent);}
.fcard .ficon{width:46px;height:46px;border-radius:13px;background:var(--accent-soft);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;}
.fcard .ficon svg{width:23px;height:23px;}

/* stat / mono labels strip */
.metastrip{display:flex;flex-wrap:wrap;gap:26px;align-items:center;}
.metastrip span{font-family:var(--mono);font-size:calc(12.5px * var(--fs));letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.metastrip .sep{width:4px;height:4px;border-radius:50%;background:var(--muted-2);opacity:.6;}

/* dark band */
.band-dark{
  background:var(--p400);color:#F4F2FF;border-radius:28px;position:relative;overflow:hidden;
}
:root[data-theme="dark"] .band-dark{background:#0d041d;border:1px solid rgba(255,255,255,.07);}
.band-dark .grid-bg{
  position:absolute;inset:0;z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 30% 40%,#000 30%,transparent 78%);
  mask-image:radial-gradient(ellipse 80% 70% at 30% 40%,#000 30%,transparent 78%);
}

/* roadmap list */
.road{display:grid;gap:14px;counter-reset:r;}
.road .step{
  display:flex;align-items:center;gap:20px;padding:22px 26px;border-radius:16px;
  background:var(--surface);border:1px solid var(--border);transition:border-color .2s,background .2s;
}
.road .step:hover{border-color:var(--accent-line);}
.road .step .n{font-family:var(--mono);font-size:13px;color:var(--accent-ink);font-weight:500;width:34px;flex:none;}
.road .step .t{font-weight:700;font-size:calc(19px * var(--fs));letter-spacing:-0.02em;flex:none;width:230px;}
.road .step .d{color:var(--muted);font-size:calc(15px * var(--fs));}
.road .step.now{background:var(--accent-soft);border-color:var(--accent-line);}
.road .step .tag{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);border:1px solid var(--accent-line);padding:5px 10px;border-radius:999px;flex:none;}
.road .step .tag.soon{color:var(--muted-2);border-color:var(--border-2);}

/* big quote */
.bigquote{font-size:clamp(26px,3vw,calc(38px * var(--fs)));font-weight:600;letter-spacing:-0.03em;line-height:1.22;color:var(--ink);}
.bigquote .accentword{color:var(--accent-ink);}

/* footer */
.footer{background:var(--p400);color:#cfc7e4;padding:72px 0 40px;margin-top:0;}
:root[data-theme="dark"] .footer{background:#0b0418;}
.footer a{color:#cfc7e4;}
.footer a:hover{color:#fff;}
.footer .f-top{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1);}
.footer .f-brand{max-width:340px;}
.footer .f-brand .logo{color:#fff;}
.footer .f-brand p{color:#9a8fb8;margin:18px 0 0;font-size:15px;line-height:1.55;}
.footer .f-cols{display:flex;gap:64px;flex-wrap:wrap;}
.footer .f-col h4{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#7e7399;margin:0 0 16px;font-weight:500;}
.footer .f-col a{display:block;margin-bottom:11px;font-size:15px;}
.footer .f-bot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:28px;font-size:13px;color:#7e7399;font-family:var(--mono);letter-spacing:.03em;}

/* hero shared */
.hero{position:relative;overflow:hidden;}
.hero .badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px;}

/* appsource chip */
.appsource{display:inline-flex;align-items:center;gap:9px;font-size:calc(14px*var(--fs));font-weight:500;color:var(--muted);}
.appsource .ms{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:16px;height:16px;}
.appsource .ms i{display:block;border-radius:1px;}
.appsource .ms i:nth-child(1){background:#F25022;}
.appsource .ms i:nth-child(2){background:#7FBA00;}
.appsource .ms i:nth-child(3){background:#00A4EF;}
.appsource .ms i:nth-child(4){background:#FFB900;}

/* small microsoft glyph for buttons */
.ms-mark{display:inline-grid;grid-template-columns:1fr 1fr;gap:1.5px;width:15px;height:15px;flex:none;}
.ms-mark::before,.ms-mark::after{content:"";display:block;}
.ms-mark i{display:block;border-radius:1px;}
.btn .ms-mark{position:relative;}
.btn .ms-mark::before{content:"";position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:1.5px;
  background:
   linear-gradient(#F25022,#F25022) 0 0/6.75px 6.75px no-repeat,
   linear-gradient(#7FBA00,#7FBA00) 100% 0/6.75px 6.75px no-repeat,
   linear-gradient(#00A4EF,#00A4EF) 0 100%/6.75px 6.75px no-repeat,
   linear-gradient(#FFB900,#FFB900) 100% 100%/6.75px 6.75px no-repeat;}

/* hero card cluster */
.cluster{position:relative;}
.cluster .kcard{position:absolute;}
.float{animation:floaty 7s ease-in-out infinite;}
.float.d1{animation-delay:.6s;} .float.d2{animation-delay:1.4s;} .float.d3{animation-delay:2.1s;}
@keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
@media (prefers-reduced-motion: reduce){.float{animation:none;}}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;} .reveal.d2{transition-delay:.16s;} .reveal.d3{transition-delay:.24s;} .reveal.d4{transition-delay:.32s;}
@media print{.reveal{opacity:1 !important;transform:none !important;}}

/* striped image placeholder */
.ph{
  position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--border);
  background:
    repeating-linear-gradient(135deg, var(--panel) 0 14px, var(--surface-2) 14px 28px);
  display:flex;align-items:center;justify-content:center;
}
.ph .ph-lbl{
  font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);background:var(--bg);padding:8px 14px;border-radius:999px;border:1px solid var(--border);
}

/* ---- HERO: cards direction ---- */
:root[data-hero="cards"] .hero-spotlight{display:none;}
:root[data-hero="spotlight"] .hero-cards{display:none;}
.hero-cards{padding:clamp(48px,7vw,96px) 0 clamp(60px,8vw,110px);}
.hero-cards .inner{display:grid;grid-template-columns:1.04fr 0.96fr;gap:48px;align-items:center;}
.hero-cards .copy{position:relative;z-index:3;max-width:560px;}
.hero-cards h1{margin:24px 0 0;}
.hero-cards .lead{margin:24px 0 34px;max-width:480px;}
.hero-cards .cta-row{display:flex;gap:13px;flex-wrap:wrap;align-items:center;}
.hero-cards .trust{margin-top:30px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.hero-cards .stage{position:relative;height:520px;}
.hero-cards .orb.pink{width:300px;height:300px;right:-40px;top:-70px;opacity:.9;}
.hero-cards .orb.lilac{width:260px;height:260px;right:200px;bottom:-90px;}
.hero-cards .orb.blue{width:140px;height:140px;left:-30px;top:120px;opacity:.85;}
:root[data-theme="dark"] .hero-cards .orb{opacity:.55;}
.hero-cards .kcard{box-shadow:var(--shadow-lg);}
.hc1{top:24px;left:30px;z-index:3;width:286px;}
.hc2{top:150px;right:0;z-index:4;width:262px;}
.hc3{bottom:8px;left:74px;z-index:5;width:248px;}

/* ---- HERO: spotlight direction ---- */
.hero-spotlight{padding:clamp(30px,5vw,56px) 0 clamp(56px,7vw,92px);}
.hero-spotlight .stage{
  background:var(--p400);border-radius:32px;position:relative;overflow:hidden;
  padding:clamp(56px,7vw,104px) clamp(32px,5vw,80px) clamp(40px,5vw,64px);
  text-align:center;color:#F4F2FF;
}
:root[data-theme="dark"] .hero-spotlight .stage{background:#0c031c;border:1px solid rgba(255,255,255,.07);}
.hero-spotlight .glow.g1{width:760px;height:760px;left:50%;top:-420px;transform:translateX(-50%);background:radial-gradient(circle,rgba(99,73,196,.6) 0%,rgba(99,73,196,0) 62%);}
.hero-spotlight .glow.g2{width:520px;height:520px;right:-160px;bottom:-300px;background:radial-gradient(circle,rgba(186,44,103,.42) 0%,rgba(186,44,103,0) 65%);}
.hero-spotlight .glow.g3{width:460px;height:460px;left:-160px;bottom:-260px;background:radial-gradient(circle,rgba(104,193,245,.32) 0%,rgba(104,193,245,0) 65%);}
.hero-spotlight .stage > *{position:relative;z-index:2;}
.hero-spotlight .stage > .glow,.hero-spotlight .stage > .grid-bg{position:absolute;z-index:0;}
.hero-spotlight .eyebrow{color:#CCC4FF;justify-content:center;}
.hero-spotlight h1{color:#fff;margin:22px auto 0;max-width:14ch;}
.hero-spotlight .lead{color:#cabfe6;margin:26px auto 36px;max-width:560px;}
.hero-spotlight .cta-row{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;}
.hero-spotlight .btn-ghost{color:#fff;border-color:rgba(255,255,255,.28);}
.hero-spotlight .btn-ghost:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.06);}
.hero-spotlight .deck{display:flex;justify-content:center;gap:20px;margin-top:54px;flex-wrap:wrap;}
.hero-spotlight .deck .kcard{width:280px;}
.hero-spotlight .grid-bg{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);}

@media (max-width:980px){
  .hero-cards .inner{grid-template-columns:1fr;gap:10px;}
  .hero-cards .stage{height:430px;margin-top:18px;}
  .hero-spotlight .deck .kcard:nth-child(3){display:none;}
}
@media (max-width:560px){
  .hero-cards .stage{height:380px;transform:scale(.86);transform-origin:top left;}
  .hero-spotlight .deck .kcard:nth-child(2){display:none;}
}

/* mobile nav */
.nav-toggle{display:none;background:none;border:1px solid var(--border-2);border-radius:10px;width:42px;height:42px;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;}
.nav-toggle svg{width:20px;height:20px;}

@media (max-width:980px){
  .cards-3{grid-template-columns:1fr;}
  .cards-2{grid-template-columns:1fr;}
  .nav-links{display:none;}
  .nav-toggle{display:flex;}
  .nav.open .nav-links{
    display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;
    gap:2px;margin:0;padding:14px 24px 22px;background:var(--bg);border-bottom:1px solid var(--hairline);box-shadow:var(--shadow-md);
  }
  .nav.open .nav-links a{padding:13px 14px;font-size:18px;}
  .road .step{flex-wrap:wrap;}
  .road .step .t{width:auto;}
  .road .step .tag{margin-left:0;}
}
@media (max-width:640px){
  .wrap,.wrap-wide,.nav-inner{padding-left:22px;padding-right:22px;}
  .footer .f-top{flex-direction:column;}
}
