/* ============================================================================
   Rhapsody — shared site styles
   The entire site is ONE Rhapsody-generated system (seed #006FFF): the grays are
   its cool-neutral ramp, the interactive accent is brand 700/800, utility chips
   are its utility ramps. EVERY color is a real shade the engine outputs (no
   invented in-between tints). The only non-generated colors are the rose/orange/
   amethyst identity gradient + logo dots, and product screenshots.
   ============================================================================ */

:root{
  --ink:#010102; --ink2:#323437; --muted:#5D6065; --line:#EBECED;   /* cool 999 / 900 / 700 / 100 */
  --bg:#F9FAFA; --bg2:#EBECED; --bg3:#D9DADB;                         /* cool 50 / 100 / 200 — canvas / surface / chip */
  --indigo:#3260A9; --indigo-2:#254983;          /* brand 700 / 800 — interactive accent */
  --soft:#E5EDF8;                                  /* brand 100 — soft accent fills */
  --accent:#CF7D4F;                                /* complement 500 — ambient glows */
  --ok:#34A804; --ok-soft:#C9F6BF;                 /* success 700 / 100 — positive checks */
  --rose:#FD68B1; --orange:#F8A963; --amethyst:#A367FA;  /* Rhapsody identity */
  /* Palette dark-hero — always-dark surface, driven by the brand ramp (re-seasons). */
  --phero-1:#0C1F3D; --phero-2:#000105;            /* brand 950 / 999 — radial bg */
  --phero-ink:#F9FAFA; --phero-muted:#C2C4C6;      /* cool 50 / 300 — hero text */
  --phero-btn-ink:#0C1F3D; --phero-line:#254983; --phero-soft:#CCDBF2; --phero-dot:#254983; /* brand 950 / 800 / 200 / 800 */
  --radius:16px;
  --maxw:1120px;
  /* Rhapsody-generated: perceptually-even sweep through the identity hues (rose -> orange
     -> amethyst), wheel mode. Powers .gradbar and every .grad-text heading. Regenerate via
     `python -m gradient "#FD68B1" "#F8A963" "#A367FA" --mode wheel --angle 92deg`. */
  --grad:linear-gradient(92deg, #FD68B1 0%, #FF6F91 9.09%, #FF7B72 18.18%, #FF8D67 27.27%, #FEA063 36.36%, #FFA36B 45.45%, #FF9687 54.55%, #FF8DAA 63.64%, #FF8AD0 72.73%, #FF8CF5 81.82%, #EE91FF 90.91%, #A367FA 100%);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Red Hat Text",-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;letter-spacing:-.01em;
  transition:background .25s ease,color .25s ease;}
h1,h2,h3,h4{font-family:"Red Hat Display",sans-serif;letter-spacing:-.025em;margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.mono{font-family:"Red Hat Mono",monospace;}
.eyebrow{font-family:"Red Hat Mono",monospace;font-size:12.5px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--indigo-2);}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.gradbar{height:6px;background:var(--grad);}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:9px;height:52px;padding:0 26px;border-radius:13px;
  font-family:"Red Hat Text";font-weight:700;font-size:16px;letter-spacing:-.01em;cursor:pointer;
  border:1px solid transparent;transition:transform .12s ease,background .15s ease,border-color .15s ease;}
.btn:hover{transform:translateY(-1px);}
.btn.primary{background:var(--indigo);color:var(--bg);}
.btn.ghost{background:var(--bg);border-color:var(--line);color:var(--ink);}
.btn.lg{height:58px;font-size:17px;padding:0 30px;}
.btn.sm{height:44px;font-size:15px;padding:0 20px;border-radius:11px;}

/* ---- top nav ---- */
nav.site{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 82%,transparent);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
nav.site .inner{display:flex;align-items:center;justify-content:space-between;height:66px;gap:24px;}
.logo{display:flex;align-items:center;gap:10px;flex:none;}
.dots{display:flex;gap:4px;}
.dots i{width:11px;height:11px;border-radius:50%;display:block;}
.word{font-family:"Red Hat Display";font-weight:900;font-size:19px;letter-spacing:-.02em;}
.navlinks{display:flex;align-items:center;gap:6px;margin-left:auto;}
.navlinks a{padding:8px 13px;border-radius:9px;font-weight:600;font-size:15px;color:var(--ink2);transition:.15s;}
.navlinks a:hover{color:var(--ink);background:var(--bg2);}
.navlinks a.active{color:var(--ink);}
.nav-actions{display:flex;align-items:center;gap:10px;flex:none;}
.pill{height:40px;padding:0 18px;border-radius:10px;background:var(--ink);color:var(--bg);
  display:inline-flex;align-items:center;font-weight:700;font-size:14px;white-space:nowrap;}
.tbtn{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--bg);
  color:var(--ink2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.15s;}
.tbtn:hover{color:var(--ink);}
.tbtn svg{width:18px;height:18px;}
.navtoggle{display:none;}

/* ---- generic section ---- */
section{padding:96px 0;border-top:1px solid var(--line);}
section.alt{background:var(--bg2);}
.sechead{text-align:center;max-width:62ch;margin:0 auto 56px;}
.sechead h2{font-size:44px;font-weight:900;line-height:1.08;}
.sechead p{font-size:19px;color:var(--ink2);margin:16px 0 0;}
.tag{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;
  padding:5px 12px;border-radius:999px;background:var(--soft);color:var(--indigo-2);
  font-family:"Red Hat Mono";letter-spacing:.04em;}

/* ---- hero ---- */
.hero{padding:88px 0 26px;text-align:center;}
.hero h1{font-size:72px;line-height:1.02;font-weight:900;margin:18px auto 0;max-width:15ch;}
.hero p.lead{font-size:21px;line-height:1.5;color:var(--ink2);max-width:62ch;margin:24px auto 0;}
.hero .cta{display:flex;gap:14px;justify-content:center;margin-top:34px;flex-wrap:wrap;}
.heronote{margin-top:18px;font-size:13.5px;color:var(--muted);}

/* ---- generated-system card (dogfood showpiece) ---- */
.syscard{margin:60px auto 0;max-width:980px;background:var(--bg);border:1px solid var(--line);
  border-radius:22px;box-shadow:0 40px 90px -50px rgba(0,0,0,.45),0 8px 30px -20px rgba(0,0,0,.18);
  padding:26px;text-align:left;}
.seedrow{display:flex;align-items:center;gap:18px;margin-bottom:22px;}
.seed{width:64px;height:64px;border-radius:15px;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.05);}
.seedlabel .k{font-family:"Red Hat Mono";font-weight:600;font-size:19px;}
.seedlabel .s{color:var(--muted);font-size:13.5px;}
.syscount{margin-left:auto;font-size:13px;font-weight:600;color:var(--muted);}
.ramprow{display:flex;align-items:center;gap:14px;margin:7px 0;}
.ramprow .name{width:104px;flex:none;font-size:12.5px;font-weight:600;color:var(--ink2);text-align:right;}
.ramp{display:flex;flex:1;height:30px;border-radius:7px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.04);}
.ramp .cell{flex:1;}
.sysmeta{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);display:flex;gap:13px;
  align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--ink2);}
.sysmeta .badge{flex:none;font-family:"Red Hat Mono";font-size:10px;font-weight:600;letter-spacing:.07em;
  text-transform:uppercase;color:var(--indigo-2);border:1px solid var(--indigo-2);padding:4px 10px;border-radius:999px;margin-top:1px;}
.sysmeta b{color:var(--ink);font-weight:700;}

/* ---- product family cards ---- */
.family{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.pcard{position:relative;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);
  border-radius:20px;padding:26px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,border-color .15s;}
.pcard:hover{transform:translateY(-3px);box-shadow:0 30px 60px -40px rgba(0,0,0,.4);}
.pcard .pvis{height:128px;border-radius:13px;margin-bottom:20px;overflow:hidden;position:relative;
  background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line);}
.pcard h3{font-size:22px;font-weight:800;display:flex;align-items:center;gap:10px;}
.pcard .status{font-family:"Red Hat Mono";font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  padding:3px 9px;border-radius:999px;}
.status.live{background:#E0FDDD;color:#2F8B28;}
.status.soon{background:var(--bg3);color:var(--muted);}
body.dark .status.live{background:#0B3B07;color:#7BE06F;}
.pcard p{font-size:15px;color:var(--ink2);margin:10px 0 18px;line-height:1.55;flex:1;}
.pcard .plink{font-weight:700;font-size:14.5px;color:var(--indigo-2);}
.pcard .plink.muted{color:var(--muted);}

/* ---- pillars ---- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.pillar{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:30px;}
.pillar .ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:22px;margin-bottom:18px;font-family:"Red Hat Display";font-weight:900;}
.pillar h3{font-size:20px;font-weight:800;}
.pillar p{font-size:15.5px;color:var(--ink2);margin:10px 0 0;line-height:1.55;}

/* ---- vision teaser band ---- */
.vision{background:
  radial-gradient(900px 400px at 15% -10%, color-mix(in srgb, var(--indigo) 12%, transparent), transparent 60%),
  radial-gradient(800px 360px at 90% 110%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 60%);}
.visiongrid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;}
.visiongrid h2{font-size:40px;font-weight:900;line-height:1.1;}
.visiongrid p{font-size:18px;color:var(--ink2);margin:16px 0 0;}
.visionart{display:flex;flex-direction:column;gap:8px;}

/* ---- closing CTA ---- */
.closing{text-align:center;background:
  radial-gradient(900px 360px at 50% -10%, color-mix(in srgb, var(--indigo) 14%, transparent), transparent 60%),
  radial-gradient(700px 320px at 80% 120%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 60%);}
.closing h2{font-size:52px;font-weight:900;line-height:1.05;max-width:16ch;margin:0 auto;}
.closing p{font-size:20px;color:var(--ink2);margin:18px auto 0;max-width:52ch;}
.closing .cta{display:flex;gap:14px;justify-content:center;margin-top:34px;flex-wrap:wrap;}

/* ---- footer ---- */
footer.site{border-top:1px solid var(--line);background:var(--bg2);padding:56px 0 36px;}
.footgrid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px;}
.footbrand .word{font-size:18px;}
.footbrand p{font-size:14px;color:var(--muted);margin:14px 0 0;max-width:30ch;line-height:1.5;}
.footcol h5{font-family:"Red Hat Mono";font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);margin:0 0 14px;}
.footcol a{display:block;font-size:14.5px;color:var(--ink2);margin-bottom:10px;font-weight:500;transition:.15s;}
.footcol a:hover{color:var(--ink);}
.footbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:44px;
  padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);flex-wrap:wrap;}
.footbar .hue{font-family:"Red Hat Mono";display:inline-flex;align-items:center;gap:7px;}
.footbar .hue i{width:11px;height:11px;border-radius:3px;display:inline-block;}

/* ---- DARK THEME (same #006FFF system, cool-neutral mirrored) ---- */
body.dark{
  --ink:#F9FAFA; --ink2:#D9DADB; --muted:#A7AAAE; --line:#323437;   /* cool 50 / 200 / 400 / 900 */
  --bg:#010102; --bg2:#0C0D0E; --bg3:#1E1F22;                         /* cool 999 / 975 / 950 — mirror of 50 / 100 / 200 */
  --indigo:#89ACE2; --indigo-2:#AEC5EB; --soft:#18335F;             /* brand 400 / 300 / 900 */
  --accent:#E6986C;                                                  /* complement 400 */
  --ok:#7DD969; --ok-soft:#0E3E01;                                   /* success 400 / 975 */
}
body.dark .syscard,body.dark .pcard,body.dark .pillar{box-shadow:0 30px 80px -55px rgba(0,0,0,.85);}
body.dark .pcard .pvis{background:var(--bg);}
@media (prefers-reduced-motion: reduce){ *{transition:none !important;} }

/* ---- RESPONSIVE ---- */
@media (max-width:920px){
  .wrap{padding:0 22px;}
  .navlinks{display:none;}
  .navtoggle{display:inline-flex;}
  .hero{padding:54px 0 18px;}
  .hero h1{font-size:46px;max-width:none;}
  .hero p.lead{font-size:18px;}
  .syscard{margin-top:40px;padding:18px;}
  .ramprow .name{width:78px;font-size:11px;}
  section{padding:64px 0;}
  .sechead{margin-bottom:40px;}
  .sechead h2{font-size:32px;}
  .sechead p{font-size:17px;}
  .family,.pillars{grid-template-columns:1fr;gap:16px;}
  .visiongrid{grid-template-columns:1fr;gap:30px;}
  .visiongrid h2{font-size:30px;}
  .closing h2{font-size:38px;}
  .footgrid{grid-template-columns:1fr 1fr;gap:28px;}
  .footbrand{grid-column:1 / -1;}
}
@media (max-width:560px){
  .wrap{padding:0 16px;}
  .hero h1{font-size:34px;}
  .hero p.lead{font-size:16.5px;}
  .hero .cta,.closing .cta{flex-direction:column;align-items:stretch;}
  .hero .btn,.closing .btn{width:100%;justify-content:center;}
  .sechead h2{font-size:26px;}
  .ramprow .name{width:60px;font-size:9.5px;}
  .closing h2{font-size:30px;}
  .footgrid{grid-template-columns:1fr;}
  section{padding:52px 0;}
}

/* ============================================================================
   INTERIOR PAGES — components
   ============================================================================ */
.pagehero{padding:78px 0 60px;text-align:center;}
.pagehero h1{font-size:56px;font-weight:900;line-height:1.04;margin:16px auto 0;max-width:18ch;}
.pagehero p.lead{font-size:20px;color:var(--ink2);max-width:60ch;margin:22px auto 0;line-height:1.5;}
.center{text-align:center;}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.twocol h2{font-size:36px;font-weight:900;line-height:1.1;}
.twocol p{font-size:17px;color:var(--ink2);margin:14px 0 0;line-height:1.6;}

/* bios */
.bios{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.bio{background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:32px;}
.bio .pic{width:96px;height:96px;border-radius:22px;display:flex;align-items:center;justify-content:center;
  font-family:"Red Hat Display";font-weight:900;font-size:34px;color:#fff;margin-bottom:20px;overflow:hidden;}
.bio h3{font-size:24px;font-weight:800;}
.bio .role{font-family:"Red Hat Mono";font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--indigo-2);margin-top:5px;}
.bio p{font-size:15.5px;color:var(--ink2);margin:16px 0 0;line-height:1.62;}
.bio p+p{margin-top:12px;}

/* story prose + pullquote */
.story{max-width:70ch;margin:0 auto;}
.story p{font-size:18px;color:var(--ink2);margin:0 0 22px;line-height:1.68;}
.story p b{color:var(--ink);}
.pullquote{font-family:"Red Hat Display";font-weight:800;font-size:30px;line-height:1.28;letter-spacing:-.02em;
  text-align:center;max-width:22ch;margin:46px auto;color:var(--ink);}
.attrib{display:block;font-family:"Red Hat Mono";font-size:13px;font-weight:600;color:var(--muted);
  text-align:center;margin-top:14px;letter-spacing:.02em;}

/* callout (mission) */
.callout{background:var(--soft);border-radius:20px;padding:34px 38px;display:flex;gap:22px;align-items:flex-start;max-width:820px;margin:0 auto;}
.callout .ic{font-size:30px;flex:none;line-height:1;}
.callout h3{font-size:21px;font-weight:800;}
.callout p{font-size:16px;color:var(--ink2);margin:8px 0 0;line-height:1.55;}

/* the "new rainbow" strip + A–Z names */
.rainbow{display:flex;height:64px;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.05);}
.rainbow .cell{flex:1;}
.alphabet{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:9px;}
.achip{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:11px;border:1px solid var(--line);background:var(--bg);}
.achip i{width:24px;height:24px;border-radius:7px;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);}
.achip .ltr{font-family:"Red Hat Display";font-weight:900;font-size:13px;width:13px;color:var(--muted);text-align:center;flex:none;}
.achip .nm{font-size:14px;font-weight:600;}

/* science: A·R·T triad + stats */
.triad{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.triad .t{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:28px;}
.triad .t .lt{font-family:"Red Hat Display";font-weight:900;font-size:40px;line-height:1;color:var(--indigo);}
.triad .t h3{font-size:19px;font-weight:800;margin:14px 0 0;}
.triad .t p{font-size:15px;color:var(--ink2);margin:9px 0 0;line-height:1.55;}
.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.stat{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:28px;text-align:center;}
.stat .big{font-family:"Red Hat Display";font-weight:900;font-size:44px;line-height:1;letter-spacing:-.03em;}
.stat .lab{font-size:14.5px;color:var(--ink2);margin-top:10px;line-height:1.45;}
.stat .sub{font-family:"Red Hat Mono";font-size:11px;color:var(--muted);margin-top:8px;}

/* pricing */
.tiers{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:840px;margin:0 auto;}
.tier{background:var(--bg);border:1px solid var(--line);border-radius:22px;padding:34px;display:flex;flex-direction:column;}
.tier.feat{border-color:var(--indigo);box-shadow:0 30px 70px -45px rgba(0,0,0,.45);position:relative;}
.tier .pl{font-family:"Red Hat Mono";font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--indigo-2);}
.tier .price{font-family:"Red Hat Display";font-weight:900;font-size:46px;line-height:1;margin:14px 0 4px;}
.tier .price small{font-family:"Red Hat Text";font-weight:600;font-size:16px;color:var(--muted);}
.tier .blurb{font-size:15px;color:var(--ink2);margin:6px 0 22px;}
.tier ul{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:12px;flex:1;}
.tier li{position:relative;padding-left:31px;font-size:15px;line-height:1.5;}
.tier li .ck{position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:var(--ok-soft);color:var(--ok);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;}
.tier .ribbon{position:absolute;top:-12px;right:24px;background:var(--indigo);color:var(--bg);font-size:11px;font-weight:800;
  padding:5px 12px;border-radius:999px;font-family:"Red Hat Mono";letter-spacing:.05em;}

/* faq */
.faq{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:0;}
.qa{padding:22px 0;border-top:1px solid var(--line);}
.qa:last-child{border-bottom:1px solid var(--line);}
.qa h4{font-size:18px;font-weight:800;}
.qa p{font-size:16px;color:var(--ink2);margin:8px 0 0;line-height:1.55;}

/* contact */
.contactgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.ccard{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:30px;}
.ccard .ic{width:46px;height:46px;border-radius:12px;background:var(--soft);color:var(--indigo);
  display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:16px;}
.ccard h3{font-size:18px;font-weight:800;}
.ccard p{font-size:14.5px;color:var(--ink2);margin:8px 0 14px;line-height:1.5;}
.ccard a.lnk{font-weight:700;font-size:14.5px;color:var(--indigo-2);}

/* coming-soon */
.soon{text-align:center;padding:96px 0 64px;}
.soon .badge{display:inline-flex;align-items:center;gap:8px;font-family:"Red Hat Mono";font-size:12px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--bg3);padding:7px 14px;border-radius:999px;}
.soon h1{font-size:60px;font-weight:900;line-height:1.03;margin:22px auto 0;max-width:16ch;}
.soon p.lead{font-size:20px;color:var(--ink2);max-width:56ch;margin:22px auto 0;line-height:1.5;}
.capture{display:flex;gap:10px;justify-content:center;margin:34px auto 0;max-width:460px;flex-wrap:wrap;}
.capture input{flex:1;min-width:220px;height:52px;border-radius:13px;border:1px solid var(--line);background:var(--bg);
  color:var(--ink);font-family:"Red Hat Text";font-size:16px;padding:0 18px;}
.capture input:focus{outline:none;border-color:var(--indigo);}

/* legal prose */
.prose{max-width:74ch;margin:0 auto;}
.prose h2{font-size:24px;font-weight:800;margin:38px 0 0;}
.prose h2:first-child{margin-top:0;}
.prose p,.prose li{font-size:16px;color:var(--ink2);line-height:1.65;}
.prose p{margin:14px 0 0;}
.prose ul{margin:12px 0 0;padding-left:22px;}
.prose li{margin:6px 0;}
.prose .updated{font-family:"Red Hat Mono";font-size:13px;color:var(--muted);margin-bottom:8px;}

@media (max-width:920px){
  .pagehero h1{font-size:40px;}
  .twocol,.bios,.tiers,.contactgrid,.triad,.statgrid{grid-template-columns:1fr;gap:30px;}
  .soon h1{font-size:42px;}
  .pullquote{font-size:24px;}
}
@media (max-width:560px){
  .pagehero h1{font-size:32px;}
  .alphabet{grid-template-columns:1fr 1fr;}
  .callout{flex-direction:column;gap:14px;padding:26px;}
}

/* early-access modal */
.modal-ov{position:fixed;inset:0;z-index:100;background:rgba(11,12,14,.55);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;padding:24px;}
.modal-ov[hidden]{display:none;}
.modal{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:22px;
  padding:38px;max-width:440px;width:100%;box-shadow:0 50px 110px -50px rgba(0,0,0,.6);}
.modal h3{font-size:24px;font-weight:900;margin:12px 0 0;}
.modal p{font-size:15.5px;color:var(--ink2);margin:10px 0 0;line-height:1.5;}
.modal .capture{margin-top:18px;}
.modal-x{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:9px;border:1px solid var(--line);
  background:var(--bg);color:var(--muted);cursor:pointer;font-size:13px;}
.modal-x:hover{color:var(--ink);}
.ea-thanks{color:var(--ok);font-weight:700;}

/* mobile nav */
.navtoggle{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--bg);
  color:var(--ink2);cursor:pointer;align-items:center;justify-content:center;padding:0;}
.mobmenu{display:none;flex-direction:column;gap:2px;padding:8px 22px 18px;border-top:1px solid var(--line);background:var(--bg);}
.mobmenu a{padding:13px 10px;border-radius:10px;font-weight:600;font-size:16px;color:var(--ink2);}
.mobmenu a.active{color:var(--ink);background:var(--bg2);}
.mobmenu a.mobcta{margin-top:8px;background:var(--ink);color:var(--bg);text-align:center;font-weight:700;}
@media (max-width:920px){ body.menu-open .mobmenu{display:flex;} }
@media (max-width:560px){ nav.site .nav-actions .pill{display:none;} }

/* scroll reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1);}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1 !important;transform:none !important;} }

/* the names grid */
.namegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:14px;}
.namecard{display:flex;gap:14px;align-items:flex-start;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px;}
.namecard .sw{width:46px;height:46px;border-radius:11px;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);}
.namecard .nm{font-family:"Red Hat Display";font-weight:800;font-size:16px;line-height:1.1;}
.namecard .id{font-family:"Red Hat Mono";font-size:11px;color:var(--muted);margin-top:3px;}
.namecard .or{font-size:12.5px;color:var(--ink2);margin-top:6px;line-height:1.35;}
.namecard.isbrand{border-color:var(--indigo);box-shadow:0 0 0 1px var(--indigo);}
.namecard .tagme{font-family:"Red Hat Mono";font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--indigo-2);margin-top:6px;}

.tbtn.season.on{background:var(--soft);box-shadow:0 0 0 1.5px var(--indigo-2) inset;}
