:root { --bg:#13101a; --bg-raised:#1b1723; --bg-sunk:#0d0b12; --text:#f5f0e8; --muted:#aaa2b6; --line:#2b2535; --marigold:#f5b700; --ink:#1a1a1a;
  --display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif; --body:Hind,"Segoe UI",system-ui,sans-serif; --pad:clamp(20px,5vw,72px); color-scheme:dark; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--text); font-family:var(--body); font-size:18px; line-height:1.7; }
a { color:inherit; }
img { display:block; max-width:100%; }
h1,h2,h3 { font-family:var(--display); letter-spacing:-0.02em; text-wrap:balance; margin:0; font-weight:700; }
.wrap { padding-inline:var(--pad); max-width:1360px; margin:0 auto; }
a:focus-visible { outline:2px solid var(--marigold); outline-offset:4px; border-radius:6px; }
.site-header { position:sticky; top:0; z-index:10; background:rgba(19,16,26,.92); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.site-header .wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:14px; }
.logo svg { height:40px; width:auto; display:block; }
.nav { display:flex; gap:30px; align-items:center; font-weight:500; font-size:16px; }
.nav a { text-decoration:none; color:#d9d2e3; }
.nav a:hover, .nav a[aria-current="page"] { color:var(--marigold); }
.btn { display:inline-flex; align-items:center; gap:10px; font-weight:600; font-size:16px; line-height:1; padding:15px 26px; border-radius:999px; text-decoration:none; }
.btn--primary { background:var(--marigold); color:var(--ink); }
.btn--outline { border:1.5px solid var(--marigold); color:var(--marigold) !important; padding:11px 20px; font-size:15px; }
@media (max-width:760px) { .nav a:not(.btn) { display:none; } }
.eyebrow { font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--marigold); display:inline-flex; align-items:center; gap:12px; }
.eyebrow::before { content:""; width:24px; height:2px; background:currentColor; }
.article { max-width:1360px; margin:0 auto; padding:48px var(--pad) 72px; }
.article-head { max-width:980px; }
.article .hero-img { margin:0 0 44px; }
.article .hero-img img { aspect-ratio:21/9; object-fit:cover; }
.article-grid { display:grid; gap:48px; grid-template-columns:1fr; }
@media (min-width:1100px) { .article-grid { grid-template-columns:minmax(0,1fr) 360px; gap:72px; } }
.article-body { min-width:0; max-width:820px; }
.article-aside { display:flex; flex-direction:column; gap:20px; }
@media (min-width:1100px) { .article-aside { position:sticky; top:96px; align-self:start; } }
.aside-card { background:var(--bg-raised); border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.aside-card img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.aside-card .in { padding:20px 22px 22px; display:flex; flex-direction:column; gap:12px; }
.aside-card h3 { font-size:22px; }
.aside-card p { margin:0; color:var(--muted); font-size:16px; line-height:1.55; }
.aside-card .btn { justify-content:center; }
.aside-list { list-style:none; margin:0; padding:0; }
.aside-list li { border-top:1px solid var(--line); }
.aside-list a { display:block; padding:14px 22px; text-decoration:none; font-weight:600; line-height:1.35; }
.aside-list a:hover { color:var(--marigold); }
.aside-list small { display:block; font-weight:500; color:var(--muted); font-size:12px; letter-spacing:.12em; margin-bottom:4px; }
.crumbs { font-size:15px; color:var(--muted); margin-bottom:22px; }
.crumbs a { text-decoration:none; } .crumbs a:hover { color:var(--text); }
.article h1 { font-size:clamp(34px,4.6vw,56px); line-height:1.04; margin:14px 0 18px; }
.article .dek { font-size:21px; line-height:1.55; color:#cfc8da; margin:0 0 26px; }
.byline { font-size:15px; color:var(--muted); padding-bottom:26px; border-bottom:1px solid var(--line); margin-bottom:34px; }
.hero-img { border-radius:16px; overflow:hidden; border:1px solid var(--line); margin:0 0 36px; }
.hero-img img { width:100%; height:auto; }
.article h2 { font-size:28px; line-height:1.2; margin:42px 0 14px; }
.article p { margin:0 0 20px; }
.article ul { margin:0 0 22px; padding-left:22px; }
.article li { margin-bottom:8px; }
.article li::marker { color:var(--marigold); }
.article figure { margin:30px 0; }
.article figure img { border-radius:14px; border:1px solid var(--line); width:100%; height:auto; }
.article figcaption { font-size:14px; color:var(--muted); margin-top:10px; }
.article blockquote { margin:28px 0; padding:4px 0 4px 22px; border-left:3px solid var(--marigold); font-family:var(--display); font-size:24px; line-height:1.35; color:var(--text); }
.cta { margin:40px 0 10px; padding:28px; border-radius:18px; background:var(--bg-raised); border:1px solid var(--line); display:flex; gap:20px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.cta p { margin:0; font-family:var(--display); font-size:22px; font-weight:600; }
.more { border-top:1px solid var(--line); padding:56px 0 80px; }
.more h2 { font-size:30px; margin:12px 0 28px; }
.more .cards { grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); }
.cards { display:grid; gap:24px; grid-template-columns:1fr; }
@media (min-width:760px) { .cards { grid-template-columns:repeat(3,1fr); } }
.card { display:flex; flex-direction:column; background:var(--bg-raised); border:1px solid var(--line); border-radius:16px; overflow:hidden; text-decoration:none; transition:border-color .25s, transform .25s; min-width:0; }
.card:hover { border-color:rgba(245,183,0,.55); transform:translateY(-4px); }
.card .img { aspect-ratio:16/9; overflow:hidden; }
.card .img img { width:100%; height:100%; object-fit:cover; }
.card .body { padding:20px 22px 24px; display:flex; flex-direction:column; gap:10px; flex:1; }
.card .meta { font-size:12px; letter-spacing:.14em; font-weight:600; color:var(--muted); display:flex; gap:10px; }
.card .meta em { font-style:normal; color:var(--marigold); }
.card h3 { font-size:21px; line-height:1.25; font-weight:600; }
.card .go { margin-top:auto; padding-top:6px; font-weight:600; font-size:15px; color:var(--marigold); }
.page-head { padding:64px 0 36px; }
.page-head h1 { font-size:clamp(40px,5vw,68px); line-height:1; margin-top:14px; }
.page-head p { color:var(--muted); max-width:34em; margin:16px 0 0; }
.site-footer { background:var(--bg-sunk); border-top:1px solid var(--line); padding-block:28px; font-size:14px; color:var(--muted); }
.site-footer .wrap { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.site-footer a { text-decoration:none; } .site-footer a:hover { color:var(--marigold); }
@media (prefers-reduced-motion:reduce) { .card { transition:none; } .card:hover { transform:none; } }
.article figure img { max-height:620px; object-fit:cover; object-position:center 55%; }
.game-hero { position:relative; overflow:hidden; border-bottom:1px solid var(--line); }
.game-hero .bg { position:absolute; inset:0; }
.game-hero .bg img { width:100%; height:100%; object-fit:cover; }
.game-hero .bg::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(13,11,18,.96) 0%, rgba(13,11,18,.85) 45%, rgba(13,11,18,.55) 100%); }
.game-hero .wrap { position:relative; padding-block:72px 64px; display:grid; gap:40px; align-items:center; }
@media (min-width:980px) { .game-hero .wrap { grid-template-columns:1.05fr .95fr; padding-block:96px 88px; } }
.game-hero .wrap > * { min-width:0; }
.game-hero h1 { font-size:clamp(46px,6.4vw,96px); line-height:.95; margin:16px 0 14px; }
.game-hero .tagline { font-family:var(--display); font-size:clamp(20px,1.9vw,26px); font-weight:600; color:var(--marigold); margin:0 0 14px; }
.game-hero .lede { color:#d8d1e0; max-width:32em; margin:0 0 28px; }
.status { display:inline-flex; gap:8px; align-items:center; font-size:12px; font-weight:600; letter-spacing:.12em; padding:6px 12px; border-radius:999px; border:1px solid var(--line); background:rgba(13,11,18,.6); }
.status::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--dot,#4ade80); }
.actions { display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
.btn--ghost { border:1.5px solid rgba(245,240,232,.35); color:var(--text); }
.btn--ghost:hover { border-color:var(--text); }
.btn--primary:hover { background:#ffc933; }
.note { font-size:14px; color:var(--muted); margin-top:14px; }
.shot-main { border-radius:18px; overflow:hidden; border:1px solid var(--line); box-shadow:0 40px 80px -30px rgba(0,0,0,.7); }
.shot-main img { width:100%; height:auto; }
.section { padding-block:clamp(56px,7vw,88px); }
.section + .section { border-top:1px solid var(--line); }
.section h2 { font-size:clamp(30px,3.4vw,46px); line-height:1.05; margin:12px 0 18px; }
.overview { display:grid; gap:44px; }
@media (min-width:980px) { .overview { grid-template-columns:1.3fr 1fr; gap:72px; } }
.overview > * { min-width:0; }
.overview p { color:#cfc8da; margin:0 0 16px; }
.facts { margin:0; border-top:1px solid var(--line); }
.facts div { display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); }
.facts dt { color:var(--muted); } .facts dd { margin:0; font-weight:600; text-align:right; }
.features { display:grid; gap:28px; grid-template-columns:1fr; margin-top:28px; }
@media (min-width:700px) { .features { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px) { .features { grid-template-columns:repeat(4,1fr); } }
.feature { border-top:2px solid var(--marigold); padding-top:20px; min-width:0; }
.feature h3 { font-size:21px; margin-bottom:8px; }
.feature p { color:var(--muted); margin:0; font-size:17px; }
.feature .say { display:block; margin-top:10px; color:var(--marigold); font-weight:600; font-size:16px; }
.gallery { display:grid; gap:20px; grid-template-columns:1fr; margin-top:28px; }
@media (min-width:860px) { .gallery { grid-template-columns:repeat(2,1fr); } }
.gallery figure { margin:0; border-radius:14px; overflow:hidden; border:1px solid var(--line); background:var(--bg-sunk); }
.gallery img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.gallery figcaption { font-size:14px; color:var(--muted); padding:12px 16px; }
.play-band { margin:8px 0 0; padding:clamp(28px,4vw,48px); border-radius:22px; background:var(--marigold); color:var(--ink); display:flex; gap:20px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.play-band h2 { font-size:clamp(26px,3vw,40px); margin:0; }
.play-band .btn { background:var(--ink); color:var(--marigold); }
