/* ===== Race Acopalypse site additions: real game art, garage, tracks, arsenal, media ===== */
.main-nav a[aria-current="page"]{color:var(--orange-bright)}
.brand img{border-radius:8px}

/* Hero with key art + video */
.hero-art.hero-photo{background:url(assets/img/art/RaceBackroud.jpg) center 40%/cover no-repeat;filter:saturate(1.05) contrast(1.05)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}

/* Sub-page hero */
.page-hero{position:relative;min-height:540px;overflow:hidden;isolation:isolate;background:#111}
.page-hero .hero-art{inset:0 0 0 22%;background-size:cover;background-position:center}
.page-hero .hero-container{min-height:540px;padding-top:150px;padding-bottom:70px}
.page-hero h1{margin:0 0 18px;font:normal clamp(56px,7.4vw,112px)/.9 var(--heading);text-transform:uppercase;letter-spacing:-.01em;text-shadow:2px 4px 1px #0007}
.page-hero h1 .period{color:var(--orange)}
.page-hero p.lead{max-width:560px;color:#c3c7c0;font-size:16px;line-height:1.85;margin:0}

/* Feature cards with photos */
.feature-photo{position:absolute;inset:0 0 38% 0;background-size:cover;background-position:center}
.feature-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#141a1c 0%,#141a1c00 60%)}
.feature-card .card-img{display:block;height:150px;object-fit:cover;margin:-30px -30px 22px;width:calc(100% + 60px);max-width:none;border-bottom:1px solid #394341}

/* Mode cards with art */
.mode-card.has-art{position:relative;overflow:hidden;isolation:isolate}
.mode-card.has-art::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--art) center/cover no-repeat;opacity:.85;transition:opacity .25s,transform .4s;filter:brightness(1.35)}
.mode-card.has-art::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0d1215d9 0%,#0d121566 40%,#0d1215f0 80%)}
.mode-card.has-art:hover::before{opacity:1;transform:scale(1.04)}
.mode-card .mode-no{color:#ffffff30}
.mode-facts{display:flex;flex-wrap:wrap;gap:6px;margin:-8px 0 22px}
.mode-facts span{border:1px solid #6b5338;background:#2a1d1299;color:#ffd3a0;font-size:9px;font-weight:900;letter-spacing:.12em;padding:6px 8px}

/* Stats strip */
.stat-strip{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid #3a4443;background:#121a1c;margin-top:50px}
.stat-strip div{padding:26px 18px;border-right:1px solid #2c3536}
.stat-strip div:last-child{border-right:0}
.stat-strip b{display:block;font:normal clamp(40px,4.4vw,62px)/1 var(--heading);color:var(--orange)}
.stat-strip span{display:block;margin-top:8px;font-size:10px;font-weight:900;letter-spacing:.16em;color:#b9c1bb}

/* Garage: class cards */
.class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.class-card{position:relative;display:flex;flex-direction:column;border:1px solid #3b4544;background:#11181a;transition:transform .2s,border-color .2s}
.class-card:hover{transform:translateY(-5px);border-color:#b67a41}
.class-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid #3b4544}
.class-card .card-body{padding:22px 22px 24px}
.class-card h3{font:normal 38px/1 var(--heading);margin:10px 0;letter-spacing:.03em}
.class-card p{font-size:13px;line-height:1.7;color:#b2bab5;margin:0 0 16px}
.class-card .feature-note{display:block;font-size:9px;font-weight:900;letter-spacing:.14em;color:#8f9b96}

/* Garage: car cards */
.car-section{padding:80px 0 30px}
.car-section+.car-section{padding-top:40px}
.car-section:last-of-type{padding-bottom:100px}
.class-head{display:flex;justify-content:space-between;align-items:end;gap:30px;border-bottom:1px solid #3a4443;padding-bottom:18px;margin-bottom:22px}
.class-head h2{font:normal clamp(44px,5vw,70px)/1 var(--heading);margin:0;text-transform:uppercase}
.class-head p{max-width:470px;margin:0;color:#b2bab5;font-size:14px;line-height:1.75}
.car-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.car-card{border:1px solid #3b4544;background:linear-gradient(180deg,#182022,#0f1517);transition:transform .2s,border-color .2s;overflow:hidden}
.car-card:hover{transform:translateY(-4px);border-color:#b67a41}
.car-card figure{margin:0;position:relative}
.car-card img{width:100%;aspect-ratio:96/70;object-fit:cover}
.car-card figcaption{position:absolute;left:0;top:0;background:var(--orange);color:#111;font-size:10px;font-weight:900;letter-spacing:.12em;padding:7px 10px}
.car-card .car-body{padding:18px 20px 20px}
.car-card h3{margin:0 0 6px;font:normal 34px/1 var(--heading);letter-spacing:.03em}
.car-unlock{font-size:10px;font-weight:900;letter-spacing:.12em;color:#ffcf98;margin:0 0 16px}
.car-unlock.open{color:#9fd49a}
.bars{display:grid;gap:9px}
.bar{display:grid;grid-template-columns:78px 1fr 64px;align-items:center;gap:10px;font-size:10px;font-weight:800;letter-spacing:.1em;color:#a5b0aa}
.bar i{display:block;height:6px;background:#273133;position:relative}
.bar i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--v);background:linear-gradient(90deg,var(--orange-dark),var(--orange-bright))}
.bar b{color:#f1ece4;text-align:right}
.car-price{display:flex;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid #2f3a3a;font-size:10px;font-weight:900;letter-spacing:.12em;color:#8f9b96}
.car-price b{color:#f1ece4}
.class-filter{position:sticky;top:0;z-index:20;background:#0b1012ee;backdrop-filter:blur(6px);border-bottom:1px solid #2a3536}
.class-filter .container{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:12px 0}
.class-filter .filter-label{margin-right:12px}
.garage-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.garage-notes article{border:1px solid #3b4544;background:#141c1e;padding:24px}
.garage-notes h3{font:normal 28px/1 var(--heading);letter-spacing:.03em;margin:10px 0}
.garage-notes p{color:#b2bab5;font-size:13px;line-height:1.75;margin:0}

/* Tracks */
.track-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.track-card{display:flex;flex-direction:column;border:1px solid #3b4544;background:#11181a;overflow:hidden;transition:transform .2s,border-color .2s}
.track-card:hover{transform:translateY(-4px);border-color:#b67a41}
.track-card figure{margin:0;position:relative}
.track-card img{width:100%;aspect-ratio:2/1;object-fit:cover;filter:brightness(1.3) contrast(1.05)}
.track-card figcaption{position:absolute;left:14px;bottom:12px;display:flex;gap:6px;flex-wrap:wrap}
.track-card figcaption span{background:#0b1012d9;border:1px solid #6b5338;color:#ffd3a0;font-size:9px;font-weight:900;letter-spacing:.12em;padding:6px 8px}
.track-body{padding:22px 24px 24px;flex:1}
.track-body h3{margin:0 0 8px;font:normal 38px/1 var(--heading);letter-spacing:.03em}
.track-body p{margin:0 0 16px;color:#b2bab5;font-size:13px;line-height:1.75}
.track-events{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid #2f3a3a;display:grid;gap:7px}
.track-events li{display:flex;justify-content:space-between;gap:12px;font-size:11px;font-weight:800;letter-spacing:.06em;color:#d9d4ca}
.track-events li span{color:var(--orange-bright);font-size:9px;letter-spacing:.14em;white-space:nowrap}
.track-card.wide{grid-column:span 2;display:grid;grid-template-columns:1.25fr 1fr}
.track-card.wide figure,.track-card.wide img{height:100%}
.track-card.wide img{aspect-ratio:auto}

/* Arsenal */
.arsenal-section{background:radial-gradient(ellipse at 20% 0%,#3d2d253b,transparent 55%),#0d1215;border-top:1px solid #263132}
.arsenal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.weapon-card{border:1px solid #3b4544;background:linear-gradient(180deg,#182022,#0f1517);padding:18px 18px 20px;text-align:center;transition:transform .2s,border-color .2s}
.weapon-card:hover{transform:translateY(-4px);border-color:#b67a41}
.weapon-card img{width:100%;height:150px;object-fit:contain;filter:drop-shadow(0 10px 18px #000a)}
.weapon-card h3{font:normal 26px/1 var(--heading);letter-spacing:.04em;margin:12px 0 6px}
.weapon-card p{color:#aeb6b2;font-size:12px;line-height:1.6;margin:0}
.powerup-strip{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;margin-top:40px}
.powerup-strip figure{margin:0;text-align:center}
.powerup-strip img{width:100%;aspect-ratio:1;object-fit:contain}
.powerup-strip figcaption{font-size:8px;font-weight:900;letter-spacing:.1em;color:#a5b0aa;margin-top:6px}

/* Video */
.video-section{background:#0b1012;border-top:1px solid #263132}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.video-grid figure{margin:0;border:1px solid #3b4544;background:#000;position:relative}
.video-grid video{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:16/9}
.video-grid figcaption{position:absolute;left:0;top:0;background:#0b1012d9;color:#f3e7d8;font-size:10px;font-weight:900;letter-spacing:.14em;padding:9px 12px;pointer-events:none}

/* Roadmap extras */
.milestone-state.shipping-state{color:#ffcf98}
.roadmap-teaser{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.teaser-step{border:1px solid #3b4544;background:#141c1e;padding:22px}
.teaser-step.now{border-color:#b67a41;background:linear-gradient(180deg,#2a2018,#141c1e)}
.teaser-step b{display:block;font:normal 44px/1 var(--heading);color:var(--orange)}
.teaser-step h3{font:normal 24px/1.05 var(--heading);margin:10px 0 8px;letter-spacing:.03em}
.teaser-step p{color:#aeb6b2;font-size:12px;line-height:1.65;margin:0}
.section-cta{margin-top:34px;display:flex;gap:11px;flex-wrap:wrap}

@media(max-width:1120px){.car-grid{grid-template-columns:repeat(2,1fr)}.powerup-strip{grid-template-columns:repeat(6,1fr)}.stat-strip{grid-template-columns:repeat(3,1fr)}.stat-strip div:nth-child(3){border-right:0}.stat-strip div:nth-child(-n+3){border-bottom:1px solid #2c3536}}
@media(max-width:900px){.class-grid,.arsenal-grid,.roadmap-teaser,.garage-notes{grid-template-columns:repeat(2,1fr)}.track-grid{grid-template-columns:1fr}.track-card.wide{grid-column:span 1;grid-template-columns:1fr}.video-grid{grid-template-columns:1fr}.video-grid figure:first-child{grid-row:auto}.class-head{display:block}.class-head p{margin-top:14px}}
@media(max-width:650px){.car-grid,.class-grid,.arsenal-grid,.roadmap-teaser,.garage-notes{grid-template-columns:1fr}.powerup-strip{grid-template-columns:repeat(4,1fr)}.stat-strip{grid-template-columns:repeat(2,1fr)}.stat-strip div{border-right:1px solid #2c3536!important;border-bottom:1px solid #2c3536}.page-hero,.page-hero .hero-container{min-height:470px}.page-hero .hero-art{inset:0;opacity:.6}}

/* Zombie Codex */
.zombie-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.zombie-card{display:grid;grid-template-columns:210px 1fr;border:1px solid #3b4544;background:linear-gradient(180deg,#182022,#0f1517);transition:transform .2s,border-color .2s}
.zombie-card:hover{transform:translateY(-4px);border-color:#b67a41}
.zombie-card figure{margin:0;position:relative;background:radial-gradient(ellipse at 50% 70%,#5a2a1a 0%,#1a1414 55%,#0d1012 100%);border-right:1px solid #3b4544;display:flex;align-items:flex-end;justify-content:center;min-height:330px}
.zombie-card figure img{width:100%;height:100%;max-height:360px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 12px 18px #000c)}
.zombie-card figcaption{position:absolute;left:0;top:0;background:#b8402a;color:#fff;font-size:10px;font-weight:900;letter-spacing:.12em;padding:7px 10px}
.zombie-body{padding:22px 24px}
.zombie-body h3{margin:10px 0 8px;font:normal 36px/1 var(--heading);letter-spacing:.03em}
.zombie-title{color:#ffcf98!important;font-weight:800;font-size:13px!important;margin:0 0 6px!important}
.zombie-tagline{font-style:italic}
.zombie-body p{color:#b2bab5;font-size:13px;line-height:1.7;margin:0 0 12px}
.zombie-video summary{cursor:pointer;list-style:none;display:inline-flex;gap:12px;align-items:center;padding-bottom:8px;border-bottom:2px solid var(--orange);color:#ffd0a0;font-size:10px;font-weight:900;letter-spacing:.12em}
.zombie-video summary::-webkit-details-marker{display:none}
.zombie-video video{display:block;width:100%;margin-top:14px;aspect-ratio:16/9;background:#000;border:1px solid #3b4544}
.horde-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.horde-card{border:1px solid #3b4544;background:linear-gradient(180deg,#1d1817,#0f1517);padding:14px 14px 18px;text-align:center}
.horde-card img{width:100%;height:220px;object-fit:contain;filter:drop-shadow(0 10px 16px #000c)}
.horde-card h3{font:normal 22px/1.05 var(--heading);letter-spacing:.03em;margin:10px 0 6px}
.horde-card p{color:#aeb6b2;font-size:11px;line-height:1.55;margin:0}
.zombie-teaser{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-top:10px}
.zombie-teaser img{width:100%;height:190px;object-fit:contain;object-position:bottom;background:radial-gradient(ellipse at 50% 80%,#5a2a1a,#0d1012 70%);border:1px solid #3b4544}
@media(max-width:1120px){.zombie-grid{grid-template-columns:1fr}.horde-grid{grid-template-columns:repeat(3,1fr)}.zombie-teaser{grid-template-columns:repeat(4,1fr)}}
@media(max-width:650px){.zombie-card{grid-template-columns:1fr}.zombie-card figure{border-right:0;border-bottom:1px solid #3b4544;min-height:260px}.horde-grid{grid-template-columns:repeat(2,1fr)}}

/* Roadmap: the road beyond */
.beyond-sub{font:normal 30px/1 var(--heading);letter-spacing:.05em;color:var(--orange);margin:46px 0 16px;padding-bottom:12px;border-bottom:1px solid #3a4443}
.beyond-sub:first-of-type{margin-top:10px}
.beyond-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.beyond-card{border:1px solid #3b4544;background:linear-gradient(180deg,#182022,#0f1517);overflow:hidden;transition:transform .2s,border-color .2s}
.beyond-card:hover{transform:translateY(-4px);border-color:#b67a41}
.beyond-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid #3b4544}
.beyond-body{padding:18px 20px 20px}
.beyond-body h4{font:normal 30px/1 var(--heading);letter-spacing:.03em;margin:10px 0 8px}
.beyond-body p{color:#b2bab5;font-size:13px;line-height:1.7;margin:0}
#beyond .garage-notes{margin-top:0}
@media(max-width:900px){.beyond-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.beyond-grid{grid-template-columns:1fr}}
