@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@500&family=Manrope:wght@400;700;800&display=swap');

:root { --ink:#090b0d; --coal:#111417; --white:#f5f4ef; --muted:#a5aaae; --orange:#ff5a1f; --cream:#ffe4ae; --line:rgba(255,255,255,.16); --sans:"Manrope",Arial,sans-serif; --mono:"DM Mono",Consolas,monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--ink); }
body { margin:0; background:var(--ink); color:var(--white); font-family:var(--sans); overflow-x:hidden; }
body.dialog-open { overflow:hidden; }
img,video { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
::selection { background:var(--orange); color:#fff; }
.sr-only { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:200; top:1rem; left:1rem; padding:.8rem 1rem; background:#fff; color:#000; transform:translateY(-160%); }
.skip-link:focus { transform:none; }

.site-header { position:absolute; z-index:50; top:0; left:0; width:100%; height:82px; padding:0 clamp(1rem,3.5vw,4rem); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:clamp(1.5rem,4vw,5rem); background:linear-gradient(180deg,rgba(0,0,0,.68),transparent); border-bottom:1px solid rgba(255,255,255,.22); }
.brand { display:flex; align-items:center; gap:.7rem; font-weight:800; letter-spacing:.15em; font-size:.86rem; }
.brand img { width:38px; height:38px; object-fit:contain; filter:invert(1); }
.site-nav { justify-self:start; display:flex; align-items:center; gap:clamp(1.5rem,3vw,3.25rem); height:100%; font:500 .68rem/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.site-nav a { height:100%; display:flex; align-items:center; position:relative; }
.site-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:0; height:2px; background:var(--orange); transition:right .2s ease; }
.site-nav a:hover::after { right:0; }
.account-button { height:42px; min-width:118px; padding:0 1rem; display:flex; justify-content:center; align-items:center; gap:.65rem; border:1px solid rgba(255,255,255,.6); background:rgba(0,0,0,.25); backdrop-filter:blur(8px); cursor:pointer; font:500 .65rem/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; transition:.2s ease; }
.account-button:hover { background:#fff; color:#000; }
#account-label { max-width:110px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-icon { width:13px; height:13px; border:1px solid currentColor; border-radius:50%; position:relative; }
.account-icon::after { content:""; position:absolute; width:17px; height:8px; left:-3px; top:11px; border:1px solid currentColor; border-bottom:0; border-radius:10px 10px 0 0; }
.account-button.is-signed-in .account-icon { border-color:#6dd46d; background:#6dd46d; }
.menu-toggle { display:none; background:none; border:0; padding:8px; }

.game-hero { position:relative; height:100svh; min-height:680px; overflow:hidden; display:flex; align-items:center; background:#1b110c; }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,6,7,.34) 0%,rgba(5,6,7,.08) 35%,rgba(5,6,7,.24) 63%,rgba(5,6,7,.9) 100%),linear-gradient(90deg,rgba(5,6,7,.42),transparent 35%,transparent 65%,rgba(5,6,7,.25)); }
.hero-grain { pointer-events:none; position:absolute; inset:0; opacity:.22; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E"); mix-blend-mode:soft-light; }
.hero-content { position:relative; z-index:2; width:min(500px,42vw); margin-left:clamp(1.25rem,6vw,7rem); display:flex; flex-direction:column; align-items:flex-start; padding-top:5rem; }
.hero-overline,.eyebrow { margin:0; font:500 .68rem/1.4 var(--mono); letter-spacing:.16em; text-transform:uppercase; }
.hero-game-logo { width:min(440px,100%); max-height:235px; margin:1rem 0 .25rem; object-fit:contain; object-position:left center; filter:drop-shadow(0 14px 25px rgba(0,0,0,.7)); }
.hero-tagline { margin:0 0 2rem; font-size:clamp(.95rem,1.4vw,1.2rem); text-shadow:0 2px 10px #000; }
.hero-actions { display:flex; align-items:center; gap:1rem; }
.primary-action,.watch-action { min-height:48px; display:flex; align-items:center; justify-content:space-between; padding:0 1.15rem; border:1px solid rgba(255,255,255,.75); text-transform:uppercase; font:500 .64rem/1 var(--mono); letter-spacing:.08em; cursor:pointer; transition:.2s ease; }
.primary-action { min-width:205px; gap:2.6rem; background:var(--orange); border-color:var(--orange); }
.primary-action:hover { background:#fff; color:#000; border-color:#fff; }
.watch-action { background:rgba(0,0,0,.38); backdrop-filter:blur(6px); gap:.7rem; }
.watch-action:hover { background:#fff; color:#000; }
.play-triangle { display:inline-block; width:0; height:0; border-top:5px solid transparent; border-bottom:5px solid transparent; border-left:8px solid currentColor; }
.hero-bottom { position:absolute; z-index:2; left:clamp(1rem,3.5vw,4rem); right:clamp(1rem,3.5vw,4rem); bottom:1.5rem; display:flex; align-items:flex-end; justify-content:space-between; font:500 .6rem/1 var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.platform-chip { padding:.75rem .85rem; border-left:2px solid var(--orange); background:rgba(0,0,0,.4); }
.scroll-cue { display:flex; align-items:center; gap:1rem; }
.scroll-cue i { display:block; width:42px; height:1px; background:#fff; position:relative; }
.scroll-cue i::after { content:""; position:absolute; right:0; top:-3px; width:6px; height:6px; border-right:1px solid #fff; border-bottom:1px solid #fff; transform:rotate(-45deg); }
.rating-rail { position:absolute; z-index:3; right:0; min-width:236px; padding:.65rem .7rem; display:grid; grid-template-columns:56px 1fr auto; gap:.65rem; background:#fff; color:#050505; border:4px solid #050505; box-shadow:0 0 0 1px #fff; }
.rating-letter { width:56px; height:64px; display:grid; place-items:center; border:5px solid #000; font:800 3.3rem/.8 Arial; }
.rating-copy { display:flex; flex-direction:column; justify-content:center; }
.rating-copy strong { padding-bottom:.25rem; border-bottom:2px solid #000; font:800 .8rem/1 Arial; }
.rating-copy small { padding-top:.25rem; font:700 .53rem/1.2 Arial; text-transform:uppercase; }
.rating-agency { align-self:end; font:900 .55rem/1 Arial; writing-mode:vertical-rl; }

.game-showcase { min-height:720px; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(420px,.8fr); background:#172536; }
.showcase-art { min-width:0; min-height:720px; overflow:hidden; background:linear-gradient(#3fc1f5 0 42%,#d8eff2 58%,#ffe2a9 78%); }
.showcase-art img { width:100%; height:100%; object-fit:contain; transition:transform 1s cubic-bezier(.2,.7,.2,1); }
.game-showcase:hover .showcase-art img { transform:scale(1.018); }
.showcase-panel { position:relative; display:flex; align-items:center; padding:clamp(5rem,7vw,8rem) clamp(2rem,4.5vw,5rem) 13rem; background-color:#172536; background-image:linear-gradient(rgba(19,31,45,.78),rgba(19,31,45,.94)),url("assets/images/steam-page-background.png"); background-position:center; background-size:auto,620px auto; }
.showcase-content { position:relative; z-index:2; width:100%; display:flex; flex-direction:column; align-items:flex-start; }
.showcase-content .eyebrow { color:var(--cream); }
.showcase-content h2 { margin:1.2rem 0 1.8rem; font-size:clamp(3.2rem,5.2vw,6rem); line-height:.82; letter-spacing:-.07em; }
.showcase-content>p:last-of-type { max-width:34rem; margin:0 0 2rem; color:#e0d8cd; font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.65; text-shadow:0 2px 10px #000; }
.showcase-meta { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:2rem; }
.showcase-meta span { padding:.6rem .7rem; border-left:2px solid var(--orange); background:rgba(0,0,0,.24); font:500 .54rem/1 var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.showcase-actions { display:flex; align-items:center; gap:1rem; }
.showcase-rating { right:clamp(2rem,4.5vw,5rem); bottom:2.5rem; }

.section-index { padding-bottom:1.25rem; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; color:var(--muted); font:500 .62rem/1 var(--mono); letter-spacing:.13em; text-transform:uppercase; }
.game-feature { padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,6rem); background:var(--coal); }
.feature-intro { display:grid; grid-template-columns:.55fr 1.4fr .7fr; gap:4vw; align-items:end; padding:clamp(4rem,8vw,8rem) 0; }
.feature-intro h2,.updates-heading h2,.studio-content h2 { margin:0; line-height:.8; letter-spacing:-.075em; }
.feature-intro h2 { font-size:clamp(3.7rem,8vw,8rem); }
.feature-intro h2 em,.studio-content h2 em { font-style:normal; }
.feature-intro h2 em { color:var(--orange); }
.feature-intro>p:last-child { margin:0; color:#c2c3c3; font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.55; }
.game-cinema { position:relative; width:100%; padding:0; border:0; overflow:hidden; background:#000; cursor:pointer; text-align:left; }
.game-cinema img { width:100%; aspect-ratio:16/7.4; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.game-cinema:hover img { transform:scale(1.025); }
.cinema-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.68),transparent 50%); }
.cinema-play { position:absolute; left:clamp(1.5rem,4vw,4rem); bottom:clamp(1.5rem,4vw,3.5rem); display:grid; grid-template-columns:50px 1fr; grid-template-rows:auto auto; align-items:center; column-gap:1.25rem; }
.cinema-play i { grid-row:1/span 2; width:50px; height:50px; display:grid; place-items:center; border:1px solid #fff; border-radius:50%; }
.cinema-play i::after { content:""; width:0; height:0; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:9px solid #fff; margin-left:3px; }
.cinema-play strong { font-size:1rem; text-transform:uppercase; }
.cinema-play small { color:#bbb; font:500 .6rem/1 var(--mono); }
.game-facts { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--line); }
.game-facts div { padding:1.4rem 1.2rem; border-right:1px solid var(--line); display:flex; flex-direction:column; gap:.45rem; }
.game-facts div:last-child { border:0; }
.game-facts small,.update-body small { color:var(--muted); font:500 .58rem/1 var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.game-facts strong { font-size:.84rem; }

.updates-section { padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,6rem); background:#e8e6df; color:#101214; }
.updates-section .section-index { color:#6d7274; border-color:rgba(0,0,0,.18); }
.updates-heading { display:grid; grid-template-columns:1.5fr .6fr; gap:8vw; align-items:end; padding:clamp(4rem,8vw,7rem) 0 3rem; }
.updates-heading h2 { font-size:clamp(3.6rem,7vw,7rem); }
.updates-heading p { margin:0; color:#5b6062; line-height:1.6; }
.update-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:1px; background:rgba(0,0,0,.2); border:1px solid rgba(0,0,0,.2); }
.update-card { min-width:0; background:#f4f2ec; display:flex; flex-direction:column; }
.update-image,.update-code { aspect-ratio:16/9; overflow:hidden; background:#21272a; }
.update-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.update-card:hover .update-image img { transform:scale(1.04); }
.update-code { position:relative; display:flex; align-items:center; justify-content:center; color:#fff; font:500 4rem/1 var(--mono); }
.update-code span { position:relative; z-index:1; }
.update-code strong { position:absolute; right:1rem; bottom:1rem; font:500 .65rem/1 var(--mono); }
.update-code i { position:absolute; width:180px; height:180px; border:1px solid rgba(255,255,255,.2); transform:rotate(45deg); }
.update-code-orange { background:var(--orange); }
.update-body { flex:1; padding:1.5rem; display:flex; flex-direction:column; align-items:flex-start; }
.update-body h3 { margin:1rem 0 .8rem; font-size:clamp(1.25rem,1.7vw,1.7rem); line-height:1.1; letter-spacing:-.035em; }
.update-body p { margin:0 0 2.2rem; color:#64686a; line-height:1.55; font-size:.9rem; }
.update-body>span,.inline-signin { margin-top:auto; border:0; padding:0 0 .3rem; border-bottom:1px solid currentColor; background:none; font:500 .6rem/1 var(--mono); text-transform:uppercase; letter-spacing:.08em; cursor:pointer; }

.studio-section { position:relative; overflow:hidden; min-height:86vh; padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,6rem); background:var(--orange); color:#0a0b0c; }
.studio-section .section-index { color:rgba(0,0,0,.58); border-color:rgba(0,0,0,.28); }
.studio-mark { position:absolute; right:-10vw; top:50%; width:min(60vw,800px); transform:translateY(-45%); opacity:.1; }
.studio-content { position:relative; z-index:1; max-width:1050px; padding-top:clamp(5rem,11vw,10rem); }
.studio-content h2 { font-size:clamp(4rem,9vw,9rem); }
.studio-content h2 em { color:var(--white); }
.studio-content>p:last-child { max-width:44rem; margin:3rem 0 0 30%; font-size:clamp(1.05rem,1.55vw,1.4rem); line-height:1.55; }

.support-section { padding:clamp(4rem,7vw,7rem) clamp(1.25rem,5vw,6rem); display:grid; grid-template-columns:1fr .8fr 1fr; gap:6vw; align-items:end; background:#111417; border-bottom:1px solid var(--line); }
.support-section h2 { margin:.7rem 0 0; font-size:clamp(2.4rem,4vw,4.5rem); letter-spacing:-.06em; }
.support-section>p { margin:0; color:#aeb1b3; line-height:1.55; }
.support-section>a { padding:1.2rem 0; display:flex; justify-content:space-between; border-top:1px solid #fff; border-bottom:1px solid #fff; font:500 .72rem/1 var(--mono); text-transform:uppercase; transition:color .2s; }
.support-section>a:hover { color:var(--orange); }

.site-footer { padding:4rem clamp(1.25rem,5vw,6rem) 1.5rem; background:#090b0d; }
.footer-main { display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:4vw; padding-bottom:5rem; }
.footer-brand { align-self:start; }
.footer-main>div { display:flex; flex-direction:column; gap:.75rem; font-size:.72rem; }
.footer-main strong { margin-bottom:.45rem; color:#747a7e; font:500 .58rem/1 var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.footer-main button { border:0; padding:0; background:none; text-align:left; cursor:pointer; font-size:.72rem; }
.footer-main a:hover,.footer-main button:hover { color:var(--orange); }
.footer-bottom { padding-top:1.25rem; border-top:1px solid var(--line); display:flex; justify-content:space-between; color:#747a7e; font:500 .56rem/1.3 var(--mono); text-transform:uppercase; letter-spacing:.08em; }

dialog { color:var(--white); }
dialog::backdrop { background:rgba(0,0,0,.88); backdrop-filter:blur(8px); }
.trailer-dialog { width:min(1120px,94vw); max-width:none; padding:0; border:1px solid rgba(255,255,255,.25); background:#050505; }
.dialog-top { height:48px; padding:0 1rem; display:flex; align-items:center; justify-content:space-between; font:500 .6rem/1 var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.dialog-top button,.dialog-close { border:0; background:none; cursor:pointer; font-size:1.7rem; }
.trailer-dialog video { width:100%; aspect-ratio:16/9; }
.dialog-close { position:absolute; top:1rem; right:1rem; }
.signin-menu { position:fixed; z-index:90; top:70px; right:clamp(1rem,3.5vw,4rem); width:280px; padding:.75rem; background:#f3f3f3; color:#111; border-top:3px solid var(--orange); box-shadow:0 20px 50px rgba(0,0,0,.55); }
.signin-menu>p:first-child { margin:.15rem .4rem .7rem; font:500 .58rem/1 var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.provider-button { min-height:60px; padding:.7rem; display:grid; grid-template-columns:42px 1fr auto; grid-template-rows:auto auto; align-items:center; background:#172231; color:#fff; }
.steam-provider-icon { grid-row:1/span 2; width:34px; height:34px; object-fit:contain; }
.provider-button strong { font-size:.82rem; letter-spacing:.05em; text-transform:uppercase; }
.provider-button small { grid-column:3; grid-row:1/span 2; color:#84d384; font:500 .55rem/1 var(--mono); text-transform:uppercase; }
.provider-future { padding:1rem .7rem; display:flex; justify-content:space-between; border:1px solid #d1d1d1; border-top:0; color:#777; font:500 .6rem/1 var(--mono); text-transform:uppercase; }
.provider-future small { color:#aaa; }
.join-button { margin-top:.75rem; min-height:40px; display:flex; align-items:center; justify-content:center; background:var(--orange); color:#fff; font:500 .62rem/1 var(--mono); text-transform:uppercase; letter-spacing:.07em; }
.provider-note { margin:.8rem .35rem .2rem; color:#666; font-size:.61rem; line-height:1.45; }
.provider-note a { text-decoration:underline; }
.preview-dialog { width:min(520px,92vw); max-width:none; padding:clamp(2rem,5vw,3rem); border:1px solid rgba(255,255,255,.25); background:#14181b; }
.preview-dialog h2 { margin:.8rem 0 1.2rem; font-size:clamp(2rem,6vw,3.2rem); line-height:.9; letter-spacing:-.06em; }
.preview-dialog>p:not(.eyebrow) { color:#b7bbbd; line-height:1.6; }
.preview-dialog-button { width:100%; min-height:46px; margin-top:1rem; border:0; background:var(--orange); cursor:pointer; font:500 .64rem/1 var(--mono); text-transform:uppercase; }
.account-popover { position:fixed; z-index:90; top:70px; right:clamp(1rem,3.5vw,4rem); width:250px; padding:1.2rem; background:#171b1e; border:1px solid var(--line); box-shadow:0 20px 50px rgba(0,0,0,.45); }
.account-popover p { margin:0 0 .4rem; color:#8f9497; font:500 .55rem/1 var(--mono); text-transform:uppercase; }
.account-popover strong,.account-popover small { display:block; overflow:hidden; text-overflow:ellipsis; }
.account-popover small { color:#777d80; margin:.35rem 0 1rem; }
.account-popover button { width:100%; padding:.7rem; border:1px solid var(--line); background:none; cursor:pointer; font-size:.7rem; text-transform:uppercase; }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }

@media (max-width:900px) {
  .site-header { gap:1rem; }
  .menu-toggle { display:block; }
  .menu-toggle span { display:block; width:20px; height:1px; margin:5px 0; background:#fff; }
  .brand { justify-self:start; }
  .site-nav { position:absolute; top:82px; left:0; right:0; height:auto; padding:1.5rem; display:none; flex-direction:column; align-items:flex-start; gap:0; background:rgba(9,11,13,.98); }
  .site-nav.is-open { display:flex; }
  .site-nav a { width:100%; height:auto; padding:1rem 0; border-bottom:1px solid var(--line); }
  .account-button { min-width:auto; }
  .game-showcase { grid-template-columns:1fr; min-height:0; }
  .showcase-art { min-height:0; aspect-ratio:16/9; }
  .showcase-panel { min-height:640px; padding:5rem clamp(1.25rem,7vw,4rem) 12rem; }
  .showcase-rating { right:clamp(1.25rem,7vw,4rem); }
  .feature-intro { grid-template-columns:1fr; gap:2rem; }
  .feature-intro>p:last-child { max-width:32rem; }
  .update-grid { grid-template-columns:1fr 1fr; }
  .update-card-featured { grid-column:1/span 2; display:grid; grid-template-columns:1.2fr 1fr; }
  .support-section { grid-template-columns:1fr 1fr; }
  .support-section>a { grid-column:1/span 2; }
  .footer-main { grid-template-columns:1.5fr repeat(2,1fr); row-gap:3rem; }
}

@media (max-width:600px) {
  .site-header { height:70px; padding:0 1rem; }
  .brand span { display:none; }
  .brand img { width:34px; }
  .account-button { height:38px; min-width:94px; font-size:.57rem; }
  .site-nav { top:70px; }
  .game-hero { min-height:650px; }
  .hero-content { width:calc(100% - 2.5rem); margin-left:1.25rem; }
  .hero-overline { margin-bottom:.6rem; }
  .hero-game-logo { margin:0; }
  .hero-actions { width:100%; flex-direction:column; }
  .hero-actions>* { width:min(270px,100%); }
  .rating-rail { min-width:190px; transform:scale(.78); transform-origin:right bottom; }
  .showcase-art { aspect-ratio:16/10; }
  .showcase-panel { min-height:690px; padding:4rem 1.25rem 11rem; }
  .showcase-actions { width:100%; flex-direction:column; align-items:stretch; }
  .showcase-actions>* { width:min(270px,100%); }
  .showcase-rating { right:1.25rem; bottom:2rem; }
  .scroll-cue { display:none; }
  .game-cinema img { aspect-ratio:4/3; }
  .game-facts { grid-template-columns:1fr 1fr; }
  .game-facts div:nth-child(2) { border-right:0; }
  .updates-heading { grid-template-columns:1fr; gap:2rem; }
  .update-grid { grid-template-columns:1fr; }
  .update-card-featured { grid-column:auto; display:flex; }
  .studio-section { min-height:720px; }
  .studio-content>p:last-child { margin-left:0; }
  .support-section { grid-template-columns:1fr; }
  .support-section>a { grid-column:auto; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/span 2; }
  .footer-bottom { flex-direction:column; gap:.7rem; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .reveal { opacity:1; transform:none; transition:none; } .game-cinema img { transition:none; } }

.legal-page { background:#111417; }
.legal-header { height:82px; padding:0 clamp(1.25rem,5vw,6rem); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); font:500 .62rem/1 var(--mono); text-transform:uppercase; }
.legal-page main { width:min(820px,calc(100% - 2.5rem)); margin:0 auto; padding:clamp(5rem,10vw,9rem) 0; }
.legal-page h1 { margin:1rem 0; font-size:clamp(3.5rem,9vw,7.5rem); line-height:.85; letter-spacing:-.07em; }
.legal-updated { color:var(--muted); font:500 .62rem/1 var(--mono); text-transform:uppercase; }
.legal-page section { padding:2.2rem 0; border-top:1px solid var(--line); }
.legal-page section:first-of-type { margin-top:4rem; }
.legal-page section h2 { margin:0 0 1rem; font-size:1.4rem; }
.legal-page section p { margin:0; color:#b8bbbd; line-height:1.7; }
.legal-page section a { color:var(--orange); }
.legal-page aside { padding:1.25rem; border-left:2px solid var(--orange); background:#1a1e21; color:#aeb2b4; font-size:.8rem; line-height:1.6; }
.legal-footer { padding:1.5rem clamp(1.25rem,5vw,6rem); border-top:1px solid var(--line); color:#757b7e; font:500 .58rem/1 var(--mono); text-transform:uppercase; }

/* Game and editorial destinations */
.title-hero { position:relative; min-height:100svh; overflow:hidden; display:flex; align-items:center; padding:8rem clamp(1.25rem,6vw,7rem); background:#140b06 url("assets/images/cozy-bean-stage-bg.png") center/cover no-repeat; }
.title-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,4,2,.94),rgba(8,4,2,.58) 42%,rgba(8,4,2,.08) 72%),linear-gradient(180deg,rgba(0,0,0,.2),transparent 55%,rgba(0,0,0,.82)); }
.title-hero-content { position:relative; z-index:2; width:min(600px,52vw); }
.title-hero-content>img { width:min(560px,100%); max-height:300px; margin:.7rem 0; object-fit:contain; object-position:left center; filter:drop-shadow(0 16px 30px rgba(0,0,0,.7)); }
.title-hero-content>p:last-of-type { margin:0 0 2rem; font-size:clamp(1.05rem,1.5vw,1.3rem); }
.title-status { position:absolute; z-index:2; left:clamp(1.25rem,6vw,7rem); bottom:1.6rem; display:flex; gap:.4rem; }
.title-status span { padding:.65rem .8rem; background:rgba(0,0,0,.58); border-left:2px solid var(--orange); font:500 .56rem/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.game-page-rating { bottom:1.6rem; }
.game-overview,.game-gallery { padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,6rem); }
.game-overview { background:#ece8dd url("assets/images/steam-page-background.png") center/540px auto; color:#111417; background-blend-mode:soft-light; }
.game-overview .section-index { color:#5f6569; border-color:rgba(0,0,0,.2); }
.overview-grid { padding:clamp(4rem,8vw,7rem) 0; display:grid; grid-template-columns:1.4fr .65fr; gap:8vw; align-items:end; }
.overview-grid h2,.game-gallery>h2,.steam-callout h2 { margin:.8rem 0 0; line-height:.82; letter-spacing:-.07em; }
.overview-grid h2,.game-gallery>h2 { font-size:clamp(3.5rem,7.5vw,7.5rem); }
.overview-grid>p { margin:0; color:#555b5e; font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.7; }
.feature-pillars { display:grid; grid-template-columns:repeat(2,1fr); background:#172536; color:#f5f4ef; }
.feature-pillars article { min-height:300px; padding:clamp(1.5rem,3vw,3rem); border-right:1px solid rgba(255,255,255,.15); background:linear-gradient(rgba(23,37,54,.88),rgba(23,37,54,.94)),url("assets/images/steam-page-background.png") center/650px auto; }
.feature-pillars article:last-child { border:0; }
.feature-pillars span { color:#9bacc0; font:500 .6rem/1 var(--mono); }
.feature-pillars h3 { margin:6rem 0 .7rem; font-size:clamp(1.5rem,2.2vw,2.2rem); letter-spacing:-.04em; }
.feature-pillars p { margin:0; color:#bfc8d1; font-size:.9rem; line-height:1.6; }
.game-gallery { background:#111417; }
.game-gallery>h2 { padding:clamp(4rem,7vw,7rem) 0 3rem; }
.game-gallery>h2 em { color:var(--orange); font-style:normal; }
.gallery-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:1rem; }
.gallery-grid figure,.gallery-trailer { position:relative; min-width:0; margin:0; overflow:hidden; border:1px solid var(--line); background:#080a0b; }
.gallery-grid img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gallery-grid figure:hover img,.gallery-trailer:hover img { transform:scale(1.025); }
.gallery-wide { grid-column:1/span 2; aspect-ratio:16/8; }
.gallery-grid figure:not(.gallery-wide),.gallery-trailer { aspect-ratio:16/10; }
.gallery-grid figcaption,.gallery-trailer span { position:absolute; left:1rem; bottom:1rem; padding:.6rem .7rem; background:rgba(0,0,0,.72); font:500 .58rem/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.gallery-trailer { padding:0; color:#fff; cursor:pointer; }
.gallery-trailer span { display:flex; align-items:center; gap:.6rem; }
.process-section { padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,6rem); background:#e8e6df; color:#111417; }
.process-section .section-index { color:#687074; border-color:rgba(0,0,0,.2); }
.process-intro { padding:clamp(4rem,7vw,7rem) 0 3rem; display:grid; grid-template-columns:1.25fr .65fr; gap:8vw; align-items:end; }
.process-intro h2 { margin:.8rem 0 0; font-size:clamp(3.5rem,7vw,7rem); line-height:.82; letter-spacing:-.07em; }
.process-intro>p { margin:0; color:#555b5e; font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.7; }
.process-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,.65fr); gap:1rem; align-items:stretch; }
.process-demo { min-width:0; margin:0; display:flex; flex-direction:column; background:#111417; color:#f5f4ef; border:1px solid rgba(0,0,0,.2); }
.process-demo-media { min-height:0; overflow:hidden; background:#705f6d; }
.process-demo-media img { width:100%; height:100%; aspect-ratio:16/9; object-fit:cover; }
.process-demo figcaption { flex:1; min-height:106px; padding:1.25rem; display:grid; grid-template-columns:auto minmax(180px,1fr); gap:2rem; align-items:start; border-top:3px solid var(--orange); }
.process-demo figcaption span,.tools-heading>span { font:500 .6rem/1.3 var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.process-demo figcaption span { color:var(--cream); }
.process-demo figcaption p { max-width:35rem; margin:0 0 0 auto; color:#aeb5ba; font-size:.82rem; line-height:1.55; }
.process-tools { display:grid; grid-template-rows:auto 1fr 1fr; gap:1px; background:rgba(0,0,0,.2); border:1px solid rgba(0,0,0,.2); }
.tools-heading { padding:1.35rem; background:#172536; color:#fff; }
.tools-heading>span { color:var(--cream); }
.tools-heading p { margin:.75rem 0 0; color:#bac4ce; font-size:.8rem; line-height:1.5; }
.tool-card { min-width:0; padding:1.1rem; display:grid; grid-template-columns:minmax(90px,.7fr) 1fr; gap:1.1rem; align-items:center; background:#f5f3ed; transition:background .2s ease,color .2s ease; }
.tool-card:hover { background:#fff; }
.tool-image { aspect-ratio:4/3; display:grid; place-items:center; overflow:hidden; background:#57434d; }
.tool-image img { width:84%; height:84%; object-fit:contain; }
.tool-image-wacom { background:#fff; }
.tool-image-wacom img { width:100%; height:100%; }
.tool-card small { color:#737a7d; font:500 .55rem/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.tool-card h3 { margin:.45rem 0; font-size:clamp(1.15rem,1.6vw,1.55rem); line-height:1.05; letter-spacing:-.035em; }
.tool-card p { margin:0 0 1rem; color:#61676a; font-size:.74rem; line-height:1.5; }
.tool-card>div:last-child>span { padding-bottom:.2rem; border-bottom:1px solid; font:500 .54rem/1 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.tool-card i { font-style:normal; }
.steam-callout { padding:clamp(5rem,9vw,8rem) clamp(1.25rem,7vw,8rem); display:grid; grid-template-columns:1fr auto; gap:5vw; align-items:end; background:var(--orange); color:#0b0c0d; }
.steam-callout>div { max-width:1000px; }
.steam-callout h2 { font-size:clamp(3.1rem,6.5vw,6.5rem); }
.steam-callout p[data-release-copy="callout-body"] { max-width:44rem; margin:2rem 0 0; font-size:1.05rem; line-height:1.65; }
.steam-callout .primary-action { background:#0b0c0d; color:#fff; border-color:#0b0c0d; }
.release-countdown { margin:0 0 1.25rem; padding:.7rem .8rem; border-left:2px solid var(--cream); background:rgba(0,0,0,.52); color:#fff; font:500 .64rem/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.release-countdown[hidden] { display:none; }
.dark-countdown { width:max-content; max-width:100%; margin-top:1.5rem; border-color:#0b0c0d; background:#0b0c0d; }
.legal-header nav { display:flex; gap:2rem; font:500 .6rem/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.legal-header nav a:hover,.legal-header>a:hover,.legal-footer a:hover { color:var(--orange); }
.content-page,.article-page { background:#e8e6df; color:#111417; }
.content-page .legal-header,.article-page .legal-header { border-color:rgba(0,0,0,.18); }
.content-page .brand img,.article-page .brand img { filter:none; }
.content-page main,.article-page main { min-height:80vh; }
.content-masthead { padding:clamp(5rem,10vw,9rem) clamp(1.25rem,6vw,7rem) clamp(3rem,6vw,6rem); background-color:#111b27; background-image:linear-gradient(rgba(7,12,18,.7),rgba(7,12,18,.7)),url("assets/images/steam-page-background.png"); background-position:center; background-size:auto,720px auto; color:#fff; }
.content-masthead h1,.article-header h1 { margin:1rem 0; font-size:clamp(3.8rem,8.5vw,8.5rem); line-height:.82; letter-spacing:-.075em; }
.content-masthead>p:last-child { max-width:35rem; color:#c5ced8; font-size:1.05rem; line-height:1.6; }
.news-list { padding:clamp(2.5rem,6vw,6rem) clamp(1.25rem,6vw,7rem); }
.news-row { display:grid; grid-template-columns:minmax(260px,.7fr) 1.3fr; gap:clamp(1.5rem,5vw,5rem); padding:2rem 0; border-top:1px solid rgba(0,0,0,.2); align-items:center; }
.news-row:last-child { border-bottom:1px solid rgba(0,0,0,.2); }
.news-row img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.news-row small,.press-facts small { color:#687074; font:500 .58rem/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.news-row h2 { margin:.8rem 0; font-size:clamp(1.8rem,3.5vw,3.5rem); line-height:.95; letter-spacing:-.05em; }
.news-row p { color:#5e6467; }
.news-row span { display:inline-block; margin-top:1rem; padding-bottom:.25rem; border-bottom:1px solid; font:500 .58rem/1 var(--mono); text-transform:uppercase; }
.article-header { padding:clamp(5rem,10vw,9rem) clamp(1.25rem,8vw,10rem) clamp(3rem,6vw,5rem); }
.article-header h1 { max-width:1200px; }
.article-lede { color:#5e6467; font-size:clamp(1.1rem,1.8vw,1.5rem); }
.article-image { width:min(1200px,calc(100% - 2.5rem)); margin:0 auto; }
.article-copy { width:min(720px,calc(100% - 2.5rem)); margin:0 auto; padding:clamp(4rem,8vw,7rem) 0; }
.article-copy p { color:#4f5558; font-size:1.05rem; line-height:1.8; }
.article-copy h2 { margin:3rem 0 .8rem; font-size:2rem; }
.article-action { width:max-content; margin-top:3rem; color:#fff; }
.press-facts { display:grid; grid-template-columns:repeat(4,1fr); margin:clamp(2.5rem,6vw,6rem) clamp(1.25rem,6vw,7rem); border:1px solid rgba(0,0,0,.2); }
.press-facts div { padding:1.5rem; display:flex; flex-direction:column; gap:.6rem; border-right:1px solid rgba(0,0,0,.2); }
.press-facts div:last-child { border:0; }
.press-assets { padding:0 clamp(1.25rem,6vw,7rem) clamp(4rem,8vw,8rem); }
.press-assets h2 { margin:0 0 2rem; font-size:clamp(2rem,4vw,4rem); }
.press-assets>div { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.press-assets a { display:flex; flex-direction:column; border:1px solid rgba(0,0,0,.2); background:#fff; }
.press-assets img { width:100%; aspect-ratio:16/10; object-fit:cover; background:#172536; }
.press-assets img.asset-contain { object-fit:contain; padding:1.5rem; }
.press-assets span { padding:1rem; font:500 .6rem/1 var(--mono); text-transform:uppercase; }
.press-contact { padding:clamp(4rem,8vw,7rem) clamp(1.25rem,6vw,7rem); background:var(--orange); }
.press-contact h2 { margin:.8rem 0 2rem; font-size:clamp(3rem,7vw,7rem); letter-spacing:-.07em; }
.press-contact a { display:inline-block; padding-bottom:.35rem; border-bottom:2px solid; font:500 .7rem/1 var(--mono); text-transform:uppercase; }

@media (max-width:900px) {
  .title-hero { background-position:58% center; align-items:flex-end; padding-bottom:9rem; }
  .title-hero-content { width:min(620px,75vw); }
  .overview-grid { grid-template-columns:1fr; }
  .feature-pillars { grid-template-columns:1fr; }
  .feature-pillars article { min-height:230px; border-right:0; border-bottom:1px solid rgba(255,255,255,.15); }
  .feature-pillars h3 { margin-top:4rem; }
  .process-intro { grid-template-columns:1fr; gap:2rem; }
  .process-intro>p { max-width:36rem; }
  .process-grid { grid-template-columns:1fr; }
  .process-tools { grid-template-columns:1fr 1fr; grid-template-rows:auto 1fr; }
  .tools-heading { grid-column:1/span 2; }
  .tool-card { grid-template-columns:1fr; align-items:start; }
  .steam-callout { grid-template-columns:1fr; }
}

@media (max-width:600px) {
  .title-hero { min-height:760px; padding:7rem 1.25rem 10rem; }
  .title-hero-shade { background:linear-gradient(180deg,rgba(8,4,2,.28),rgba(8,4,2,.15) 35%,rgba(8,4,2,.95) 68%); }
  .title-hero-content { width:100%; }
  .title-status { left:1.25rem; right:1.25rem; bottom:1.25rem; flex-wrap:wrap; }
  .game-page-rating { bottom:5.9rem; }
  .gallery-grid { grid-template-columns:1fr; }
  .gallery-wide { grid-column:auto; aspect-ratio:4/3; }
  .gallery-grid figure:not(.gallery-wide),.gallery-trailer { aspect-ratio:16/11; }
  .process-demo figcaption { grid-template-columns:1fr; gap:.75rem; }
  .process-demo figcaption p { margin:0; }
  .process-tools { grid-template-columns:1fr; grid-template-rows:auto; }
  .tools-heading { grid-column:auto; }
  .tool-card { grid-template-columns:110px 1fr; }
  .legal-header nav { display:none; }
  .news-row { grid-template-columns:1fr; }
  .press-facts { grid-template-columns:1fr 1fr; }
  .press-facts div:nth-child(2) { border-right:0; }
  .press-assets>div { grid-template-columns:1fr; }
}
