/* GoHero v6: the live site's look (GoHero. wordmark, DM Sans, deep navy, yellow CTAs), with depth and light.
   Loaded LAST on every page (static + server-rendered), so it sets type, logo, light and glass over the older layers.
   Motion lives in transforms/opacity only (compositor), and stops under prefers-reduced-motion. */
@font-face{font-family:'DM Sans';src:url(/v6/fonts/DMSans-Variable-latin.woff2) format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}

:root{
  --font:'DM Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --display:var(--font);--label:var(--font);
  --navy:#040914;--navy2:#071027;--blue:#32baff;--electric:#1f7bff;--yellow:#ffe32c;--ink:#0a101e;
  --glass:linear-gradient(160deg,#ffffff12,#ffffff03 55%);
  --glass-line:#bfe3ff1f;
  --lift:0 1px 0 #ffffff14 inset,0 30px 70px -28px #000000cc,0 12px 24px -12px #00000080;
}
html{background:var(--navy)}
body.ft,body{font-family:var(--font);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:transparent}
body.ft b,body.ft strong{font-weight:700}

/* ---------- Light: fixed ambient glow + film grain (static layers, painted once) ---------- */
.ambient{position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(60vmax 50vmax at 92% -8%,#0d5fd04d,transparent 62%),
    radial-gradient(50vmax 40vmax at -10% 38%,#0a7ad42b,transparent 65%),
    radial-gradient(40vmax 30vmax at 70% 108%,#ffe32c12,transparent 70%),
    linear-gradient(180deg,#040914,#050c1d 50%,#040914)}
.ambient::after{content:'';position:absolute;inset:0;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- Type: DM Sans, big and clean (live) ---------- */
body.ft h1,body.ft h2{font-family:var(--font);font-weight:500;letter-spacing:-.036em;line-height:1.04;text-wrap:balance}
body.ft h1 span,body.ft h2 span,body.ft h1 b,body.ft h2 b{font-weight:inherit}
body.ft .muted-heading{color:#7f95b5}
body.ft .yellow,body.ft h1 .yellow,body.ft h2 .yellow{color:var(--yellow)}
body.ft h2{font-size:clamp(34px,4.4vw,60px)}
body.ft h3{font-family:var(--font);font-weight:600;letter-spacing:-.025em}
body.ft .eyebrow,body.ft .card-label{font-family:var(--font);font-weight:600;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase}
body.ft .eyebrow.blue,body.ft .eyebrow{color:var(--blue)}
body.ft .ft-hero h1,body.ft .wz-card h1,body.ft .sn-h1,body.ft .apply-panel h1,body.ft .legal h1{font-weight:500;letter-spacing:-.045em;line-height:1.02;font-size:clamp(38px,4.8vw,64px)}
body.ft .final-cta h2{font-size:clamp(40px,5vw,72px)}
body.ft .ft-plan-price,body.ft .ft-total b,body.ft .ft-premium-price,body.ft .ft-bar b,body.ft .ft-addon-p,body.ft .openings b{font-family:var(--font);font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}

/* ---------- Wordmark: GoHero. ---------- */
body .brand{display:inline-flex;align-items:center;line-height:1;text-decoration:none}
body .brand .wordmark,body .brand>span{font-family:var(--font);font-size:28px;font-weight:700;letter-spacing:-.045em;color:#fff}
body .brand .brand-hero{color:var(--blue)}
body .brand .brand-period{color:var(--yellow)}
body.ft .doc-brand{font-family:var(--font);font-weight:800;letter-spacing:-.04em}
@media(max-width:700px){body .brand .wordmark,body .brand>span{font-size:25px}}

/* ---------- Header: clear at the top, glass once you scroll ---------- */
.site-header[data-scrolled]{background:linear-gradient(180deg,#040914e6,#040914b8);border-bottom-color:#9fd2ff1a;box-shadow:0 18px 40px -20px #000c}
.site-nav{font-weight:500}
.site-book{border-bottom-color:#9fd2ff40}

/* ---------- Buttons: yellow with real light ---------- */
body .button{position:relative;background:linear-gradient(180deg,#fff27a,#ffe32c 48%,#f5d40f);color:#0a101e;border:0;border-radius:14px;font-family:var(--font);font-weight:700;letter-spacing:-.01em;
  box-shadow:inset 0 1px 0 #fffbe0,inset 0 -2px 0 #0000001f,0 10px 30px -8px #ffe32c66,0 2px 6px #0006;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
body .button:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #fffbe0,inset 0 -2px 0 #0000001f,0 16px 40px -8px #ffe32c88,0 2px 6px #0006}
body .button:active{transform:translateY(0)}

/* ---------- Glass surfaces (no backdrop blur: cheap on phones) ---------- */
.glass,body.ft .ft-panel,body.ft .ft-summary,body.ft .sn-card,body.ft .wz-card,body.ft .apply-panel{
  background:var(--glass),#0a142acc;border:1px solid var(--glass-line);box-shadow:var(--lift);border-radius:22px}

/* ---------- Agreement paper (light): plain readable text ---------- */
body.ft .ft-doc,body.ft .doc{font-family:var(--font)}
body.ft .doc h2,body.ft .ft-doc h2{font-family:var(--font);font-weight:700;letter-spacing:0;line-height:1.4;font-size:15px;text-wrap:wrap}
body.ft [data-budget] b,body.ft [data-budget] i{font-variant-numeric:tabular-nums}body.ft [data-budget] i{font-style:normal;font-weight:500}
@media(max-width:560px){
  body.ft .doc-fees tr{display:grid;grid-template-columns:1fr}
  body.ft .doc-fees td{display:block;border-bottom:0;padding:8px 10px 2px}
  body.ft .doc-fees td:last-child{text-align:left;padding:0 10px 10px;border-bottom:1px solid #dde4ee}
  body.ft .doc-fees tr.tot td:last-child{border-bottom:0}
  body.ft .doc-fees tr.tot td{border-top:0}
  body.ft .doc-fees tr.tot{border-top:2px solid #0b1527;background:#eef3f9}
}
@media(max-width:700px){
  body.ft h2{font-size:clamp(32px,9vw,42px)}
  body.ft .final-cta h2{font-size:clamp(38px,10.5vw,50px)}
  body.ft .ft-hero h1,body.ft .wz-card h1,body.ft .sn-h1,body.ft .apply-panel h1,body.ft .legal h1{font-size:clamp(34px,9.6vw,44px)}
}
@media(prefers-reduced-motion:reduce){body .button,body .button:hover{transition:none;transform:none}}
