/* ============================================================
   Intake Review — Elite Design System (Linear/Stripe class)
   Shared across all pages. Per-vertical: only --accent changes.
   ============================================================ */
*{ -webkit-print-color-adjust:exact!important; print-color-adjust:exact!important; color-adjust:exact!important;
   box-sizing:border-box; margin:0; padding:0; }
:root{
  --bg:#070B12; --bg2:#0B1220; --panel:#0E1626;
  --glass:rgba(255,255,255,.035); --glass-strong:rgba(255,255,255,.06); --brd:rgba(255,255,255,.09);
  --accent:#C8940A; --accent2:#F5C518; --accent-soft:rgba(200,148,10,.14);
  --text:#EAF1FA; --muted:#97A8C0; --dim:#7789A3;
  --radius:16px; --maxw:1140px;
  --shadow:0 20px 60px -20px rgba(0,0,0,.7);
  --glow:0 0 0 1px rgba(200,148,10,.25), 0 16px 50px -12px rgba(200,148,10,.25);
}
html{ scroll-behavior:smooth; }
body{ font-family:'Inter','Segoe UI',system-ui,Arial,sans-serif; background:var(--bg); color:var(--text);
      line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
/* Aurora background */
body::before{ content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(60% 50% at 85% -5%, rgba(200,148,10,.16), transparent 60%),
    radial-gradient(50% 45% at 8% 8%, rgba(43,87,151,.18), transparent 60%),
    radial-gradient(45% 40% at 50% 110%, rgba(200,148,10,.07), transparent 60%); }
body::after{ content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:64px 64px; mask-image:radial-gradient(circle at 50% 30%, #000 30%, transparent 80%); }

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }
a{ color:inherit; text-decoration:none; }

/* ---------- Nav ---------- */
nav{ position:sticky; top:0; z-index:100; backdrop-filter:blur(14px); background:rgba(7,11,18,.6);
     border-bottom:1px solid transparent; transition:.3s; }
nav.scrolled{ border-bottom:1px solid var(--brd); background:rgba(7,11,18,.85); }
.nav-in{ display:flex; align-items:center; justify-content:space-between; height:68px; }
.logo{ font-weight:800; font-size:18px; letter-spacing:-.01em; display:flex; align-items:center; gap:9px; }
.logo .mark{ width:30px; height:30px; border-radius:9px; background:linear-gradient(135deg,var(--accent),var(--accent2));
   display:flex; align-items:center; justify-content:center; color:#0a0f17; font-weight:900; font-size:15px; box-shadow:var(--glow); }
.logo .ir{ color:var(--muted); font-weight:600; } .logo .v{ background:linear-gradient(135deg,var(--accent),var(--accent2));
   -webkit-background-clip:text; background-clip:text; color:transparent; }
.nav-links{ display:flex; align-items:center; gap:28px; }
.nav-links a{ color:var(--muted); font-size:14.5px; font-weight:500; transition:.2s; }
.nav-links a:hover{ color:var(--text); }
@media(max-width:780px){ .nav-links a:not(.btn){ display:none; } }

/* ---------- Buttons ---------- */
.btn{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:15px; padding:12px 22px;
  border-radius:11px; border:none; cursor:pointer; transition:.22s; line-height:1; }
.btn-primary{ background:linear-gradient(135deg,var(--accent),var(--accent2)); color:#0a0f17;
  box-shadow:0 10px 30px -8px rgba(200,148,10,.5); }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 16px 40px -8px rgba(200,148,10,.6); filter:brightness(1.05); }
.btn-ghost{ background:var(--glass); color:var(--text); border:1px solid var(--brd); }
.btn-ghost:hover{ background:var(--glass-strong); border-color:rgba(200,148,10,.4); }
.btn-lg{ padding:15px 30px; font-size:16px; }

/* ---------- Pills / tags ---------- */
.pill{ display:inline-flex; align-items:center; gap:8px; background:var(--glass); border:1px solid var(--brd);
  padding:7px 15px; border-radius:30px; font-size:12.5px; color:var(--muted); font-weight:500; letter-spacing:.02em; }
.pill .dot{ width:7px; height:7px; border-radius:50%; background:var(--accent2); box-shadow:0 0 10px var(--accent2); }
.eyebrow{ color:var(--accent2); font-weight:700; font-size:13px; letter-spacing:.14em; text-transform:uppercase; }

/* ---------- Typography ---------- */
h1{ font-size:clamp(40px,6.4vw,76px); font-weight:800; letter-spacing:-.025em; line-height:1.04; }
h2{ font-size:clamp(28px,4vw,46px); font-weight:800; letter-spacing:-.02em; line-height:1.1; }
h3{ font-size:20px; font-weight:700; letter-spacing:-.01em; }
.grad{ background:linear-gradient(120deg,var(--accent2),var(--accent) 60%,#fff);
  -webkit-background-clip:text; background-clip:text; color:transparent; }
.lead{ font-size:clamp(17px,2vw,20px); color:var(--muted); max-width:620px; }
.center{ text-align:center; } .center .lead{ margin-left:auto; margin-right:auto; }

/* ---------- Sections ---------- */
section{ padding:clamp(64px,9vw,120px) 0; }
.sec-head{ max-width:680px; margin:0 auto clamp(36px,5vw,56px); text-align:center; }
.sec-head h2{ margin:14px 0 14px; }
.hr{ height:1px; border:0; background:linear-gradient(90deg,transparent,var(--brd),transparent); margin:0; }

/* ---------- Glass cards ---------- */
.glass{ background:linear-gradient(180deg,var(--glass-strong),var(--glass)); border:1px solid var(--brd);
  border-radius:var(--radius); backdrop-filter:blur(8px); }
.card{ background:linear-gradient(180deg,var(--glass-strong),var(--glass)); border:1px solid var(--brd);
  border-radius:var(--radius); padding:28px; transition:.3s; position:relative; overflow:hidden; }
.card:hover{ transform:translateY(-5px); border-color:rgba(200,148,10,.35); box-shadow:var(--shadow); }
.card .ic{ width:46px; height:46px; border-radius:12px; background:var(--accent-soft); border:1px solid rgba(200,148,10,.3);
  display:flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:18px; color:var(--accent2); }
.card h3{ margin-bottom:9px; } .card p{ color:var(--muted); font-size:15px; }
.grid{ display:grid; gap:20px; } .g3{ grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.g2{ grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); }

/* ---------- Hero ---------- */
.hero{ padding:clamp(70px,11vw,150px) 0 clamp(50px,7vw,90px); text-align:center; }
.hero h1{ margin:24px auto 22px; max-width:900px; }
.hero .lead{ margin:0 auto 36px; font-size:clamp(18px,2.2vw,22px); }
.hero-cta{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.trust{ margin-top:34px; color:var(--dim); font-size:13.5px; display:flex; gap:22px; justify-content:center; flex-wrap:wrap; }
.trust b{ color:var(--text); }

/* ---------- Stats ---------- */
.stats{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }
.stat{ flex:1; min-width:160px; text-align:center; padding:26px 18px; }
.stat .n{ font-size:clamp(30px,4vw,44px); font-weight:800; letter-spacing:-.02em; }
.stat .n .grad{ } .stat .l{ color:var(--muted); font-size:13.5px; margin-top:4px; }

/* ---------- Pricing ---------- */
.prices{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px; align-items:start; }
.price{ padding:30px 26px; display:flex; flex-direction:column; }
.price.feat{ border:1px solid rgba(200,148,10,.5); box-shadow:var(--glow); }
.price .pn{ color:var(--muted); font-weight:600; font-size:14px; letter-spacing:.04em; text-transform:uppercase; }
.price .amt{ font-size:42px; font-weight:800; letter-spacing:-.02em; margin:10px 0 2px; }
.price .amt small{ font-size:15px; color:var(--muted); font-weight:500; }
.price .pd{ color:var(--muted); font-size:14px; margin-bottom:18px; min-height:40px; }
.price ul{ list-style:none; margin:0 0 24px; padding:0; flex:1; }
.price li{ color:var(--text); font-size:14px; padding:8px 0 8px 26px; position:relative; border-top:1px solid var(--brd); }
.price li:before{ content:"✓"; position:absolute; left:0; color:var(--accent2); font-weight:800; }
.feat-tag{ align-self:flex-start; background:var(--accent-soft); color:var(--accent2); border:1px solid rgba(200,148,10,.3);
  font-size:11px; font-weight:700; padding:4px 11px; border-radius:20px; letter-spacing:.05em; margin-bottom:12px; }

/* ---------- Reveal animation ---------- */
.reveal{ opacity:0; transform:translateY(30px); filter:blur(6px); will-change:opacity,transform,filter;
  transition:opacity .9s cubic-bezier(.16,.84,.3,1), transform .9s cubic-bezier(.16,.84,.3,1), filter .9s ease; }
.reveal.in{ opacity:1; transform:none; filter:blur(0); }
.reveal.r-left{ transform:translateX(-34px); } .reveal.r-right{ transform:translateX(34px); } .reveal.r-scale{ transform:scale(.93); }
.reveal.in.r-left, .reveal.in.r-right, .reveal.in.r-scale{ transform:none; }
.reveal.d1{ transition-delay:.07s; } .reveal.d2{ transition-delay:.14s; } .reveal.d3{ transition-delay:.21s; }
.reveal.d4{ transition-delay:.28s; } .reveal.d5{ transition-delay:.35s; }

/* ---------- CTA band ---------- */
.cta-band{ position:relative; border-radius:24px; padding:clamp(40px,6vw,72px); text-align:center; overflow:hidden;
  background:linear-gradient(135deg,rgba(200,148,10,.14),rgba(11,18,32,.6)); border:1px solid rgba(200,148,10,.3); }
.cta-band:before{ content:""; position:absolute; inset:0; z-index:-1;
  background:radial-gradient(60% 80% at 50% -20%, rgba(245,197,24,.2), transparent 70%); }

/* ---------- Footer ---------- */
footer{ border-top:1px solid var(--brd); padding:50px 0 40px; color:var(--muted); }
.foot-in{ display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; align-items:center; }
.foot-in .footnav{ width:100%; display:flex; flex-wrap:wrap; justify-content:center; gap:6px 20px;
  margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid var(--brd); }
.foot-in .footnav a{ color:var(--muted); font-size:13.5px; transition:color .2s; }
.foot-in .footnav a:hover{ color:var(--accent2); }
footer .small{ font-size:13px; color:var(--dim); }
footer .parent{ color:var(--accent2); }

/* ---------- Forms (qualify) ---------- */
.formstep{ display:none; } .formstep.active{ display:block; animation:fade .5s; }
@keyframes fade{ from{opacity:0;transform:translateY(14px);} to{opacity:1;transform:none;} }
.field{ margin-bottom:22px; } .field label{ display:block; font-weight:600; margin-bottom:9px; font-size:15.5px; }
.field .hint{ color:var(--dim); font-size:13px; font-weight:400; margin-left:6px; }
.field input,.field select,.field textarea{ width:100%; background:var(--panel); border:1px solid var(--brd); color:var(--text);
  padding:13px 15px; border-radius:11px; font-size:15px; font-family:inherit; outline:none; transition:.2s; }
.field input:focus,.field select:focus,.field textarea:focus{ border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.choices{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; }
.choice{ background:var(--panel); border:1px solid var(--brd); border-radius:11px; padding:13px 15px; cursor:pointer;
  font-size:14.5px; transition:.18s; } .choice:hover{ border-color:rgba(200,148,10,.5); }
.choice.sel{ border-color:var(--accent); background:var(--accent-soft); color:var(--accent2); font-weight:600; }
.formbar{ height:6px; background:var(--panel); border-radius:20px; overflow:hidden; margin-bottom:30px; border:1px solid var(--brd); }
.formbar div{ height:100%; width:0; background:linear-gradient(90deg,var(--accent),var(--accent2)); transition:width .5s; }
.formnav{ display:flex; justify-content:space-between; margin-top:10px; gap:12px; }

@media(max-width:560px){ .hero-cta .btn{ width:100%; justify-content:center; } .trust{ gap:12px; } }

/* ============================================================
   PREMIUM v2 — 10x layer: animated orbs, framework grid, bento
   ============================================================ */
/* Floating gradient orbs (depth + life) */
.orb{ position:fixed; border-radius:50%; filter:blur(90px); z-index:-1; pointer-events:none; opacity:.45; }
.orb.o1{ width:520px; height:520px; top:-160px; right:-120px;
  background:radial-gradient(circle,rgba(200,148,10,.5),transparent 70%); animation:drift1 22s ease-in-out infinite; }
.orb.o2{ width:440px; height:440px; bottom:-140px; left:-120px;
  background:radial-gradient(circle,rgba(43,98,170,.45),transparent 70%); animation:drift2 26s ease-in-out infinite; }
@keyframes drift1{ 0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(-50px,60px) scale(1.12);} }
@keyframes drift2{ 0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(60px,-40px) scale(1.1);} }

/* Gradient-border glow on premium cards */
.card.lift{ background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02)); }
.card.lift:hover{ box-shadow:0 24px 70px -24px rgba(0,0,0,.8), inset 0 0 0 1px rgba(200,148,10,.25); }

/* Eyebrow centered helper */
.sec-head .eyebrow{ display:block; margin-bottom:6px; }

/* ---------- 25-Framework grid ---------- */
.cat{ display:flex; align-items:center; gap:14px; margin:40px 0 18px; }
.cat .cnum{ font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:var(--accent2); background:var(--accent-soft); border:1px solid rgba(200,148,10,.3); padding:5px 12px; border-radius:20px; }
.cat .ctitle{ font-size:18px; font-weight:700; letter-spacing:-.01em; }
.cat .cline{ flex:1; height:1px; background:linear-gradient(90deg,var(--brd),transparent); }
.fw-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:14px; }
.fw{ background:linear-gradient(180deg,var(--glass-strong),var(--glass)); border:1px solid var(--brd);
  border-radius:14px; padding:20px; transition:.28s; position:relative; overflow:hidden; }
.fw:hover{ transform:translateY(-4px); border-color:rgba(200,148,10,.4); box-shadow:var(--shadow); }
.fw .fnum{ font-size:34px; font-weight:800; line-height:1; letter-spacing:-.03em;
  background:linear-gradient(135deg,var(--accent),var(--accent2)); -webkit-background-clip:text; background-clip:text; color:transparent; opacity:.9; }
.fw h4{ font-size:15.5px; font-weight:700; margin:8px 0 6px; color:var(--text); text-transform:none; letter-spacing:-.01em; }
.fw p{ font-size:13px; color:var(--muted); font-style:italic; }

/* ---------- Framework marquee (landing teaser) ---------- */
.marquee{ overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); padding:8px 0; }
.marquee-track{ display:flex; gap:12px; width:max-content; animation:scroll 90s linear infinite; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
.chip{ background:var(--glass); border:1px solid var(--brd); border-radius:30px; padding:9px 18px; font-size:13.5px; color:var(--muted); white-space:nowrap; }
.chip b{ color:var(--accent2); }
@keyframes scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ---------- Bento grid ---------- */
.bento{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.bento .b-wide{ grid-column:span 2; } .bento .b-tall{ grid-row:span 2; }
@media(max-width:760px){ .bento{ grid-template-columns:1fr; } .bento .b-wide{ grid-column:span 1; } }

/* ---------- Qualifier result screens ---------- */
.qresult{ display:none; text-align:center; }
.qresult.active{ display:block; animation:fade .5s; }
.qbadge{ display:inline-block; padding:7px 16px; border-radius:30px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:18px; }
.qbadge.pass{ background:rgba(16,185,129,.15); color:#34D399; border:1px solid rgba(16,185,129,.35); }
.qbadge.warn{ background:var(--accent-soft); color:var(--accent2); border:1px solid rgba(200,148,10,.35); }
.qbadge.fail{ background:rgba(232,64,96,.12); color:#FB7185; border:1px solid rgba(232,64,96,.35); }
.qprice{ font-size:48px; font-weight:800; letter-spacing:-.02em; margin:18px 0 4px; }

/* ============================================================
   MOTION v3 — subtle premium movement (applies to all pages)
   ============================================================ */
/* Top scroll-progress bar */
.scrollprog{ position:fixed; top:0; left:0; height:2px; width:0; z-index:300;
  background:linear-gradient(90deg,var(--accent),var(--accent2)); box-shadow:0 0 12px var(--accent2); transition:width .1s linear; }

/* Slow gradient sheen on headline gradient text */
.grad{ background-size:220% auto; animation:sheen 8s linear infinite; }
@keyframes sheen{ to{ background-position:220% center; } }

/* Pulsing dot in pills */
.pill .dot{ animation:dotpulse 2.6s ease-in-out infinite; }
@keyframes dotpulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(245,197,24,.55);} 60%{ box-shadow:0 0 0 7px rgba(245,197,24,0);} }

/* Flagship price — gentle breathing glow */
.price.feat{ animation:featglow 3.6s ease-in-out infinite; }
@keyframes featglow{ 0%,100%{ box-shadow:0 0 0 1px rgba(200,148,10,.5), 0 16px 50px -14px rgba(200,148,10,.22);}
  50%{ box-shadow:0 0 0 1px rgba(245,197,24,.75), 0 18px 62px -10px rgba(200,148,10,.4);} }

/* Floating qualifier widget (bottom-right) */
.qfloat{ position:fixed; right:22px; bottom:22px; z-index:250; display:flex; align-items:center; gap:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03)); border:1px solid rgba(200,148,10,.4);
  backdrop-filter:blur(14px); padding:11px 20px 11px 12px; border-radius:50px; text-decoration:none; color:var(--text);
  box-shadow:0 18px 48px -14px rgba(0,0,0,.75), 0 0 0 1px rgba(200,148,10,.12);
  transform:translateY(160%); opacity:0; transition:transform .65s cubic-bezier(.2,.8,.2,1), opacity .6s, box-shadow .3s; }
.qfloat.show{ transform:translateY(0); opacity:1; }
.qfloat:hover{ transform:translateY(-4px); box-shadow:0 24px 60px -14px rgba(200,148,10,.5); }
.qfloat .qf-dot{ width:40px; height:40px; border-radius:50%; flex-shrink:0; position:relative;
  background:linear-gradient(135deg,var(--accent),var(--accent2)); color:#0a0f17; font-weight:900; font-size:18px;
  display:flex; align-items:center; justify-content:center; }
.qfloat .qf-dot:before{ content:""; position:absolute; inset:0; border-radius:50%; border:2px solid var(--accent2); animation:ring 2.6s ease-out infinite; }
@keyframes ring{ 0%{ transform:scale(1); opacity:.6; } 100%{ transform:scale(1.7); opacity:0; } }
.qfloat .qf-txt b{ font-size:14px; display:block; letter-spacing:-.01em; }
.qfloat .qf-txt span{ font-size:11.5px; color:var(--muted); }
@media(max-width:560px){ .qfloat .qf-txt{ display:none; } .qfloat{ padding:9px; } }

/* Tilt smoothing */
.card,.fw{ will-change:transform; }
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .grad,.pill .dot,.price.feat,.orb{ animation:none!important; }
  .reveal{ opacity:1!important; transform:none!important; filter:none!important; }
  html{ scroll-behavior:auto!important; }
}

/* ============================================================
   MOTION v4 — spotlight, magnetic buttons, nav underline, footer
   ============================================================ */
/* Cursor-following spotlight inside cards */
.card::after,.fw::after{ content:""; position:absolute; inset:0; border-radius:inherit; opacity:0;
  transition:opacity .35s; pointer-events:none;
  background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%), rgba(200,148,10,.14), transparent 62%); }
.card:hover::after,.fw:hover::after{ opacity:1; }

/* Magnetic primary button (JS nudges transform) */
.btn-primary{ will-change:transform; }

/* Animated nav underline */
.nav-links a:not(.btn){ position:relative; }
.nav-links a:not(.btn)::after{ content:""; position:absolute; left:0; bottom:-5px; height:2px; width:0; border-radius:2px;
  background:linear-gradient(90deg,var(--accent),var(--accent2)); transition:width .28s cubic-bezier(.2,.8,.2,1); }
.nav-links a:not(.btn):hover::after{ width:100%; }

/* Logo mark sheen on hover */
.logo .mark{ overflow:hidden; position:relative; }
.logo:hover .mark:after{ content:""; position:absolute; top:0; left:-120%; width:60%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent); transform:skewX(-20deg); animation:swipe .7s; }
@keyframes swipe{ to{ left:140%; } }

/* ---------- Premium footer (sitemap) ---------- */
.footer-pro{ border-top:1px solid var(--brd); margin-top:50px; padding:60px 0 36px; position:relative; }
.footer-pro:before{ content:""; position:absolute; top:-1px; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent); opacity:.5; }
.footer-grid{ display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:34px; }
.footer-brand .small{ color:var(--dim); font-size:13px; margin-top:12px; max-width:290px; line-height:1.6; }
.footer-grid h5{ font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); margin-bottom:15px; font-weight:700; }
.footer-grid a{ display:block; color:var(--muted); font-size:14px; margin-bottom:10px; transition:color .2s, transform .2s; }
.footer-grid a:hover{ color:var(--accent2); transform:translateX(4px); }
.footer-bottom{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:46px; padding-top:24px;
  border-top:1px solid var(--brd); color:var(--dim); font-size:13px; }
.footer-bottom .parent{ color:var(--accent2); }
@media(max-width:760px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:440px){ .footer-grid{ grid-template-columns:1fr; } }

/* ============================================================
   Conversion + a11y pass (audit fixes #33–#44)
   ============================================================ */
/* Skip-to-content (#44) */
.skiplink{ position:fixed; top:-60px; left:14px; z-index:200; background:var(--accent2); color:#0a0f17;
  font-weight:800; font-size:13px; padding:10px 16px; border-radius:10px; transition:top .2s; }
.skiplink:focus{ top:14px; }
/* Visible keyboard focus everywhere (#43) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.choice:focus-visible{
  outline:2px solid var(--accent2); outline-offset:2px; border-radius:8px; }

/* Mobile nav menu (#39 — links were display:none with no menu) */
.navtoggle{ display:none; width:40px; height:40px; border:1px solid var(--brd); border-radius:10px; background:var(--glass);
  cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:0; }
.navtoggle span{ display:block; width:18px; height:2px; background:var(--text); border-radius:2px; transition:.25s; }
.navtoggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.navtoggle.open span:nth-child(2){ opacity:0; }
.navtoggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
@media(max-width:780px){
  .navtoggle{ display:flex; }
  .nav-links{ position:absolute; top:68px; left:0; right:0; flex-direction:column; align-items:stretch; gap:0;
    background:rgba(7,11,18,.97); backdrop-filter:blur(14px); border-bottom:1px solid var(--brd);
    max-height:0; overflow:hidden; transition:max-height .3s ease; padding:0 22px; }
  .nav-links.open{ max-height:340px; padding:10px 22px 18px; }
  .nav-links a{ display:block!important; padding:13px 0; border-bottom:1px solid var(--brd); font-size:16px; }
  .nav-links a.btn{ margin-top:12px; text-align:center; border-bottom:none; }
}

/* Exit-intent modal (#36) */
.exitwrap{ position:fixed; inset:0; z-index:300; background:rgba(4,8,15,.74); backdrop-filter:blur(6px);
  display:grid; place-items:center; padding:22px; animation:exitfade .25s ease; }
@keyframes exitfade{ from{ opacity:0; } to{ opacity:1; } }
.exitcard{ position:relative; max-width:460px; width:100%; text-align:center; background:var(--panel);
  border:1px solid rgba(200,148,10,.3); border-radius:18px; padding:38px 30px; box-shadow:var(--shadow); }
.exitcard .exiteyebrow{ font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
.exitcard h3{ font-size:24px; margin:10px 0 8px; letter-spacing:-.01em; }
.exitcard p{ color:var(--muted); font-size:15px; margin-bottom:22px; }
.exitcard .btn{ width:100%; }
.exitcard .exitlink{ display:block; margin-top:14px; color:var(--muted); font-size:13.5px; }
.exitcard .exitlink:hover{ color:var(--accent2); }
.exitcard .exitx{ position:absolute; top:12px; right:14px; background:none; border:none; color:var(--dim);
  font-size:26px; line-height:1; cursor:pointer; padding:4px; }
.exitcard .exitx:hover{ color:var(--text); }

/* Sticky scroll CTA bar (#33) — opt-in via .has-stickycta on <body> */
.stickycta{ position:fixed; left:0; right:0; bottom:-80px; z-index:120; transition:bottom .35s cubic-bezier(.2,.8,.2,1);
  background:rgba(11,18,32,.96); backdrop-filter:blur(12px); border-top:1px solid var(--brd);
  display:flex; align-items:center; justify-content:center; gap:16px; padding:12px 18px; flex-wrap:wrap; }
.stickycta.show{ bottom:0; }
.stickycta .sc-txt{ font-weight:700; font-size:14.5px; }
@media(max-width:560px){ .stickycta .sc-txt{ display:none; } }
