:root { --red: #dc2625; --red-dark: #b81f1e; --ink: #fbfbfb; --bg: #000; }
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); color: var(--ink); }
body { font: 400 16px/1.6 Archivo, system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
.gate { max-width: 56rem; margin: 0 auto; padding: 3rem 1.25rem 4rem; }
@media (min-width: 640px) { .gate { padding: 4.5rem 2rem 5rem; } }
header { border-bottom: 1px solid rgba(255,255,255,.15); padding-bottom: 2rem; }
.eyebrow { display: flex; align-items: center; gap: .5rem; color: var(--red); font: 700 .95rem/1 Oswald, sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2.2; }
h1 { margin: 1rem 0 0; font: 400 clamp(3rem, 9vw, 6.5rem)/.95 Anton, Impact, sans-serif; text-transform: uppercase; letter-spacing: .005em; }
h1 span { color: var(--red); }
.intro { margin: 1.4rem 0 0; max-width: 46rem; font-size: 1.08rem; color: rgba(255,255,255,.75); }
.terms { list-style: none; margin: 0; padding: 2rem 0; display: grid; gap: 1.3rem; color: rgba(255,255,255,.86); font-size: 1rem; }
.terms li { display: grid; grid-template-columns: 2.6rem 1fr; gap: .4rem; }
.terms b { color: var(--red); font: 700 1.15rem/1.4 Oswald, sans-serif; }
form { border-top: 1px solid rgba(255,255,255,.15); padding-top: 2rem; display: grid; gap: 1rem; }
.name span { display: block; font: 600 .82rem/1 Oswald, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.7); margin-bottom: .6rem; }
.name em { font-style: normal; color: var(--red); }
.name input { width: 100%; padding: 1rem 1.1rem; border-radius: 8px; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.04); color: var(--ink); font: 500 1.2rem/1.2 Archivo, sans-serif; outline: none; }
.name input:focus { border-color: var(--red); }
.check { display: flex; gap: 1rem; align-items: flex-start; padding: 1.1rem 1.2rem; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; background: rgba(255,255,255,.04); cursor: pointer; }
.check:hover { border-color: rgba(255,255,255,.35); }
.check input { width: 1.25rem; height: 1.25rem; margin-top: .2rem; accent-color: var(--red); flex: none; }
.check span { font-size: 1rem; color: rgba(255,255,255,.9); }
button { margin-top: .4rem; width: 100%; display: flex; align-items: center; justify-content: center; gap: .75rem; padding: 1.15rem 1.5rem; border: 0; border-radius: 7px; background: var(--red); color: #fff; font: 700 1.2rem/1 Archivo, sans-serif; text-transform: uppercase; letter-spacing: .02em; cursor: pointer; transition: background .15s, opacity .15s; }
button svg { width: 1.3rem; height: 1.3rem; fill: none; stroke: currentColor; stroke-width: 2.4; }
button:enabled:hover { background: var(--red-dark); }
button:disabled { opacity: .35; cursor: not-allowed; }
.error { margin: 0; color: #ff6b6b; font-size: .95rem; }
