:root { --black:#000; --paper:#f5f5f5; --red:#ff1010; --line:rgba(255,16,16,.28); }
* { box-sizing:border-box; }
html,body { min-height:100%; }
body { margin:0; background:var(--black); color:var(--paper); font-family:"Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif; }
button,a { font:inherit; }
a { color:inherit; }
.site-shell { min-height:100svh; display:grid; grid-template-rows:1fr auto; overflow:hidden; background:var(--black); }
.brand-stage { min-height:calc(100svh - 58px); background:var(--black) url("Background.png") center/contain no-repeat; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
footer { display:flex; justify-content:space-between; gap:24px; padding:19px clamp(20px,5vw,70px); border-top:1px solid var(--line); background:var(--black); color:#8d8d8d; font-size:.62rem; line-height:1.7; text-transform:uppercase; letter-spacing:.18em; }
footer nav { display:flex; flex-wrap:wrap; gap:22px; }
footer a { text-decoration:none; transition:color .18s ease; }
footer a:hover,footer a:focus-visible { color:var(--red); }
footer p { margin:0; }
.age-backdrop { position:fixed; inset:0; z-index:50; display:grid; place-items:center; padding:20px; background:rgba(0,0,0,.88); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.age-backdrop[hidden] { display:none; }
.age-card { width:min(560px,100%); padding:clamp(30px,6vw,58px); border:1px solid rgba(255,16,16,.68); background:linear-gradient(145deg,rgba(13,13,13,.99),rgba(0,0,0,.99)); box-shadow:0 34px 100px rgba(0,0,0,.8),0 0 42px rgba(255,16,16,.1); text-align:center; }
.age-kicker { margin:0 0 18px; color:var(--red); font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.18em; }
.age-card h2 { margin:0; color:#fff; font-size:clamp(2rem,7vw,3.6rem); line-height:.98; text-transform:uppercase; }
.age-card>p:not(.age-kicker):not(.denied) { margin:22px auto 0; max-width:430px; color:#b5b5b5; line-height:1.65; font-size:.95rem; }
.age-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:30px; }
.age-actions button { min-height:52px; border:1px solid var(--red); cursor:pointer; text-transform:uppercase; letter-spacing:.11em; font-size:.73rem; font-weight:800; transition:background .18s ease,color .18s ease,border-color .18s ease; }
.primary { background:var(--red); color:#000; }
.primary:hover,.primary:focus-visible { background:#fff; border-color:#fff; outline:none; }
.secondary { background:transparent; color:#fff; }
.secondary:hover,.secondary:focus-visible { background:var(--red); color:#000; outline:none; }
.denied { margin:30px 0 8px; padding:16px; border:1px solid rgba(255,16,16,.58); color:#e6e6e6; }
.age-legal { display:flex; justify-content:center; gap:20px; margin-top:26px; color:#777; font-size:.67rem; text-transform:uppercase; letter-spacing:.12em; }
.age-legal a:hover,.age-legal a:focus-visible { color:var(--red); }
.legal-page { min-height:100svh; padding:clamp(28px,7vw,80px) 22px; background:linear-gradient(180deg,rgba(255,16,16,.045),transparent 240px),var(--black); }
.legal-wrap { width:min(760px,100%); margin:0 auto; }
.back-link { display:inline-block; margin-bottom:48px; color:var(--red); font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; text-decoration:none; }
.back-link:hover,.back-link:focus-visible { color:#fff; }
.legal-wrap h1 { margin:0; color:var(--red); font-size:clamp(2.8rem,9vw,5.8rem); line-height:.9; text-transform:uppercase; }
.legal-wrap h2 { margin:40px 0 12px; padding-left:12px; border-left:3px solid var(--red); color:#fff; font-size:1.05rem; text-transform:uppercase; letter-spacing:.08em; }
.legal-wrap p,.legal-wrap li { color:#bcbcbc; line-height:1.7; }
.legal-wrap a { color:#fff; }
.legal-wrap a:hover,.legal-wrap a:focus-visible { color:var(--red); }
.legal-wrap address { margin-top:32px; color:#bcbcbc; font-style:normal; line-height:1.7; }
.legal-note { margin-top:52px; padding-top:22px; border-top:1px solid var(--line); color:#777!important; font-size:.78rem; }
@media(max-width:680px){ .brand-stage{min-height:calc(100svh - 104px)}.age-actions{grid-template-columns:1fr}footer{flex-direction:column;align-items:center;text-align:center;gap:8px}footer nav{justify-content:center} }
