:root{
  --ink:#101014; --paper:#ffffff; --soft:#f4f4f6; --line:#e2e2e8;
  --dark:#0a0a0e; --dark2:#14141b; --accent:#c8102e; --accent2:#1a7a3c; --accent3:#1450b4;
  --maxw:1060px;
}
*{box-sizing:border-box}
html{margin:0;padding:0;scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--paper);line-height:1.55;font-size:17px}
a{color:var(--accent3)}
a:focus-visible{outline:3px solid var(--accent3);outline-offset:2px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* Header */
header.site{background:var(--paper);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.brandmark{display:block;line-height:0}
.brandmark img{height:44px;width:auto;max-width:78vw}
nav.main{margin-left:auto;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
nav.main a{color:var(--ink);text-decoration:none;font-weight:600}
nav.main a:hover{text-decoration:underline}
.agepill{font-size:.78rem;font-weight:700;letter-spacing:.06em;border:2px solid var(--ink);
  border-radius:999px;padding:2px 10px;white-space:nowrap}

/* Age gate — 21+ entry (owner's order, Oct 15, 2026) */
#age-gate{position:fixed;inset:0;z-index:1000;background:var(--dark);color:#fff;
  display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}
html.age-ok #age-gate{display:none}
html:not(.age-ok) body{overflow:hidden}
.age-gate-card{max-width:560px;text-align:center}
.age-gate-logo{height:52px;width:auto;max-width:86vw;margin-bottom:22px}
#age-gate h2{font-size:1.7rem;margin:0 0 10px}
#age-gate p{color:#d7d7e0}
.age-gate-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.btn-exit{background:transparent;color:#fff;border:2px solid #fff;cursor:pointer}
.btn-exit:hover{background:#22222c}
#age-enter{cursor:pointer;border:0}
.age-gate-legal{margin-top:26px}
.age-gate-legal p{font-size:.8rem;color:#8f8f9e !important;margin:0 0 4px}

/* Buttons + eyebrows (Musk system: uppercase, verb-first) */
.btn{display:inline-block;text-decoration:none;font-weight:700;border-radius:10px;padding:12px 22px;
  text-transform:uppercase;letter-spacing:.05em;font-size:.92rem}
.btn-watch{background:var(--accent);color:#fff}
.btn-watch:hover{background:#a50d26}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#26262e}
.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);margin:0 0 6px}

/* Hero — full-bleed native video */
.hero{position:relative;background:var(--dark);color:#fff;overflow:hidden;
  min-height:92vh;display:flex;align-items:flex-end}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,8,.18) 40%,rgba(5,5,8,.78) 100%)}
.hero-content{position:relative;z-index:1;width:100%;padding:64px 20px 46px}
.hero .kicker{color:#ffb3c0;font-weight:700;letter-spacing:.14em;font-size:.8rem;text-transform:uppercase;margin:0 0 8px}
.hero h1{font-size:clamp(1.9rem,4.5vw,3rem);line-height:1.12;margin:0 0 10px}
.hero p.sub{color:#e6e6ee;margin:0 0 22px;max-width:62ch;font-size:1.08rem}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-legal{color:#a9a9b8;font-size:.8rem;margin:20px 0 0;max-width:82ch}

/* Sections */
section.block{padding:56px 0}
section.block.alt{background:var(--soft)}
section.block h2{font-size:1.55rem;margin:0 0 8px}
section.block p.lede{max-width:68ch;margin:0 0 18px}

/* Cards (door grid + closing dual cards) */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:14px}
.cards-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
.card.accent-r{border-top:4px solid var(--accent)}
.card.accent-g{border-top:4px solid var(--accent2)}
.card.accent-b{border-top:4px solid var(--accent3)}
.card h3{margin:0 0 6px;font-size:1.1rem}
.card p.body{margin:0 0 10px;font-size:.98rem}
.card .price{font-weight:700;font-size:.9rem;margin:0 0 14px}
.card .step{font-size:.75rem;font-weight:800;letter-spacing:.1em;color:var(--accent);text-transform:uppercase;margin:0 0 8px}
.card a.go{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.9rem}

/* Footer */
footer.site{background:var(--dark);color:#c9c9d4;padding:36px 0 44px;font-size:.92rem}
footer.site .flogo{height:34px;width:auto;margin-bottom:20px}
.fcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:22px;margin-bottom:22px}
.fcol h4{color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px}
.fcol a{display:block;color:#c9c9d4;text-decoration:none;font-weight:600;margin:0 0 7px}
.fcol a:hover{color:#fff;text-decoration:underline}
footer.site .legal-set{border-top:1px solid #26262e;padding-top:16px}
footer.site .legal-set p{max-width:82ch;margin:0 0 5px;font-size:.85rem;color:#a9a9b8}
footer.site .legal-set p strong{color:#e6e6ee}
footer.site .fine{color:#8f8f9e;font-size:.85rem;margin-top:14px}

/* Legal pages */
main.legal{padding:40px 0 56px}
main.legal h1{font-size:2rem;margin:0 0 6px}
main.legal h2{font-size:1.25rem;margin:28px 0 6px}
main.legal p,main.legal li{max-width:72ch}
main.legal .updated{color:#55555f;font-size:.95rem}
