:root{
  --bg:#09090c; --bg2:#101015; --panel:#14141b; --line:#23232c;
  --ink:#e7e7ee; --mut:#9a9aa6; --red:#ff2b3e; --red-d:#c31f2e; --cyan:#33d1e6;
  --stage-pad:clamp(16px,4vw,40px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
h1,h2,h3,.teko{font-family:'Teko',system-ui,sans-serif;font-weight:600;line-height:.95;letter-spacing:.01em;margin:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 var(--stage-pad)}
.mut{color:var(--mut)}
.red{color:var(--red)}

/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(9,9,12,.82);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:22px;height:60px}
.brand{font-family:'Teko',sans-serif;font-size:30px;font-weight:700;color:var(--red);letter-spacing:.08em}
.nav .sp{flex:1}
.nav a.link{color:var(--mut);font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.nav a.link:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;
  font-family:'Teko',sans-serif;font-size:22px;letter-spacing:.05em;text-transform:uppercase;
  padding:9px 20px;border-radius:6px;border:1px solid transparent;transition:.15s;white-space:nowrap}
.btn-go{background:var(--red);color:#fff;box-shadow:0 6px 22px rgba(255,43,62,.28)}
.btn-go:hover{background:var(--red-d)}
.btn-ghost{border-color:var(--line);color:var(--ink);background:rgba(255,255,255,.02)}
.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan)}
.btn-cyan{background:var(--cyan);color:#04252b}
.btn-lg{font-size:26px;padding:13px 30px}

/* hero */
.hero{position:relative;min-height:82vh;display:flex;align-items:center;
  border-bottom:1px solid var(--line);overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0;background:#000 center/cover no-repeat;
  filter:saturate(1.05) brightness(.62)}
.hero-bg::after{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 50% 20%,transparent,rgba(9,9,12,.55) 60%,var(--bg) 100%)}
.hero .wrap{position:relative;z-index:1;padding-top:6vh;padding-bottom:8vh}
.hero h1{font-size:clamp(72px,15vw,190px);color:var(--red);letter-spacing:.06em;
  text-shadow:0 0 42px rgba(255,43,62,.35),0 4px 40px rgba(0,0,0,.8)}
.kick{font-family:'Teko',sans-serif;font-size:clamp(24px,4.4vw,42px);color:var(--ink);
  letter-spacing:.02em;margin:.1em 0 .1em;max-width:15ch}
.sub{font-size:clamp(15px,2.2vw,19px);color:#c8c8d2;max-width:52ch;margin:.6em 0 1.4em}
.sub b{color:#fff;font-weight:600}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.note-inline{font-size:13px;color:var(--mut);margin-top:12px}
.note-inline b{color:var(--cyan);font-weight:600}

/* sections */
section{padding:clamp(56px,9vw,104px) 0;border-bottom:1px solid var(--line)}
.eyebrow{font-family:'Teko',sans-serif;text-transform:uppercase;letter-spacing:.22em;
  color:var(--cyan);font-size:16px;margin-bottom:10px}
h2.big{font-size:clamp(40px,7vw,72px)}
.lead{font-size:clamp(17px,2.4vw,21px);color:#cdcdd6;max-width:60ch;margin-top:16px}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center}
@media(max-width:820px){.two{grid-template-columns:1fr}}

.feat{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:40px}
@media(max-width:680px){.feat{grid-template-columns:1fr}}
.card{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);
  border-radius:12px;padding:24px 22px}
.card h3{font-size:30px;color:#fff;letter-spacing:.02em}
.card p{margin:.4em 0 0;color:var(--mut);font-size:15px}
.card .ic{font-size:24px;margin-bottom:6px}

.shots{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}
@media(max-width:680px){.shots{grid-template-columns:1fr}}
.shot{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#000;position:relative}
.shot img{display:block;width:100%;height:auto}
.shot .cap{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;font-size:13px;
  background:linear-gradient(transparent,rgba(0,0,0,.85));color:#d8d8de}

.story{background:radial-gradient(90% 120% at 80% 0,rgba(51,209,230,.06),transparent 60%)}
.story .stat{font-family:'Teko',sans-serif;font-size:clamp(56px,10vw,104px);color:var(--cyan);line-height:.9}

/* email */
.updates{background:linear-gradient(180deg,var(--bg),#0d0d13)}
.sub-form{display:flex;gap:10px;flex-wrap:wrap;max-width:520px;margin-top:22px}
.sub-form input{flex:1;min-width:220px;background:#0c0c11;border:1px solid var(--line);color:var(--ink);
  padding:14px 16px;border-radius:8px;font-size:16px}
.sub-form input:focus{outline:none;border-color:var(--cyan)}
.consent{font-size:13px;color:var(--mut);margin-top:12px;max-width:60ch}
.formmsg{margin-top:14px;font-family:'Teko',sans-serif;font-size:22px;letter-spacing:.03em;min-height:26px}
.formmsg.ok{color:var(--cyan)} .formmsg.err{color:var(--red)}

footer{padding:48px 0;border-bottom:none}
.foot{display:flex;flex-wrap:wrap;gap:18px 32px;align-items:center;color:var(--mut);font-size:14px}
.foot a:hover{color:var(--ink)}
.foot .sp{flex:1}
.tag{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mut);border:1px solid var(--line);border-radius:999px;padding:4px 12px}
