:root{--bg:#f2f0ea;--paper:#faf9f5;--ink:#11110f;--muted:#6d6b65;--line:#d4d1c8;--accent:#d8ff3e;--dark:#171815;--max:1440px;--pad:clamp(20px,4vw,64px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}::selection{background:var(--ink);color:var(--accent)}.site-header{height:82px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);position:sticky;top:0;z-index:10;background:rgba(242,240,234,.94);backdrop-filter:blur(12px)}.brand{display:inline-flex;gap:11px;align-items:center;font-size:10px;line-height:.95;font-weight:800;letter-spacing:.08em}.brand-mark{display:grid;place-items:center;width:32px;height:32px;background:var(--ink);color:var(--accent);font-size:10px}.main-nav{display:flex;gap:30px;font:11px monospace;letter-spacing:.06em}.main-nav a{position:relative;padding:8px 0}.main-nav a:after{content:"";position:absolute;left:0;bottom:2px;width:0;height:1px;background:currentColor;transition:width .25s}.main-nav a:hover:after{width:100%}.header-cta{justify-self:end;font:11px monospace;border-bottom:1px solid var(--ink);padding-bottom:5px}.header-cta span{margin-left:9px}.hero{max-width:var(--max);margin:auto;padding:clamp(55px,8vw,120px) var(--pad) 90px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:clamp(50px,8vw,140px);align-items:center}.eyebrow{margin:0 0 20px;font:500 11px/1.4 monospace;letter-spacing:.08em}.eyebrow span{display:inline-block;width:7px;height:7px;background:var(--accent);border:1px solid var(--ink);margin-right:7px}.hero h1{margin:0;font-size:clamp(68px,10.5vw,166px);line-height:.79;letter-spacing:-.075em;font-weight:800}.hero h1 em{font-style:normal;-webkit-text-stroke:1.5px var(--ink);color:transparent}.hero-lead{max-width:520px;margin:40px 0 28px;color:#55534e;font-size:15px;line-height:1.9}.hero-actions{display:flex;gap:25px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:space-between;min-width:178px;padding:15px 18px;border:1px solid var(--ink);font:500 11px monospace;letter-spacing:.04em;transition:transform .2s,background .2s,color .2s}.button span{font-size:15px}.button:hover{transform:translate(-3px,-3px)}.button-primary{background:var(--ink);color:#fff;box-shadow:4px 4px 0 var(--accent)}.button-primary:hover{background:var(--accent);color:var(--ink)}.text-link{font:500 11px monospace;border-bottom:1px solid var(--ink);padding-bottom:5px}.hero-art{min-height:520px;position:relative;background:#1b1c19;color:#fff;padding:18px;overflow:hidden}.art-grid{height:100%;min-height:484px;position:relative;border:1px solid #55574f;overflow:hidden;background-color:#22231f}.art-grid:before,.art-grid:after{content:"";position:absolute;inset:0;pointer-events:none}.art-grid:before{background:repeating-linear-gradient(0deg,transparent 0 47px,#393b35 48px);opacity:.8}.art-grid:after{background:repeating-linear-gradient(90deg,transparent 0 47px,#393b35 48px);opacity:.8}.art-title,.art-orbit,.art-chip,.art-lines{position:absolute;z-index:1}.art-title{left:7%;top:9%;font-size:clamp(54px,6vw,92px);line-height:.8;letter-spacing:-.07em;font-weight:800}.art-orbit{width:290px;height:290px;border:1px solid #85887c;border-radius:50%;left:47%;top:34%}.art-orbit:after{content:"";position:absolute;width:125px;height:125px;border:1px solid var(--accent);border-radius:50%;left:80px;top:80px}.art-chip{right:8%;bottom:14%;background:var(--accent);color:var(--ink);padding:13px;font:500 12px/1.1 monospace}.art-lines{width:55%;height:1px;background:var(--accent);transform:rotate(-28deg);right:-8%;bottom:36%}.art-label{position:absolute;z-index:2;top:33px;right:33px;color:var(--accent);font:10px monospace}.art-meta{display:flex;justify-content:space-between;padding:13px 2px 0;color:#a4a59e;font:9px monospace;letter-spacing:.07em}.ticker{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--accent);min-height:46px;display:flex;gap:22px;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;font:500 10px monospace;letter-spacing:.08em}.section{max-width:var(--max);margin:auto;padding:125px var(--pad)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.section h2{margin:0;font-size:clamp(55px,8vw,105px);line-height:.8;letter-spacing:-.07em}.section-note{margin:0;color:var(--muted);font:10px monospace}.featured-game{display:grid;grid-template-columns:1.3fr .7fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.game-visual{min-height:540px;background:#252721;color:white;position:relative;overflow:hidden;padding:24px}.game-visual:before,.game-visual:after{content:"";position:absolute;border:1px solid #565951}.game-visual:before{inset:40px}.game-visual:after{width:55%;height:55%;border-radius:50%;left:24%;top:20%;border-color:#8b8e81}.visual-ui{position:relative;z-index:2;display:flex;justify-content:space-between;font:10px monospace;color:var(--accent)}.visual-logo{position:absolute;z-index:2;left:10%;bottom:17%;font-size:clamp(40px,5.2vw,84px);line-height:.75;letter-spacing:-.07em;font-weight:800}.visual-logo small{font-size:.42em;letter-spacing:.02em}.visual-stats{position:absolute;z-index:2;bottom:25px;left:24px;right:24px;display:grid;grid-template-columns:60px 1fr 30px;font:10px monospace}.game-info{padding:clamp(28px,4vw,55px);background:var(--paper);display:flex;flex-direction:column;align-items:flex-start}.status{color:#3e5610;font:500 10px monospace;margin-bottom:35px}.game-info h3{font-size:clamp(38px,4vw,60px);letter-spacing:-.06em;margin:0 0 20px;line-height:.9}.game-info p{color:#5d5a54;line-height:1.85;font-size:13px;margin:0 0 30px}.game-info dl{width:100%;margin:auto 0 30px;border-top:1px solid var(--line)}.game-info dl div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font:10px monospace}.game-info dt{color:var(--muted)}.game-info dd{margin:0}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}.game-card{border:1px solid var(--line);background:var(--paper)}.card-image{min-height:310px;display:flex;flex-direction:column;justify-content:space-between;padding:20px;color:#fff;position:relative;overflow:hidden}.card-image:after{content:"";position:absolute;inset:0;border-left:1px solid rgba(255,255,255,.12);border-right:1px solid rgba(255,255,255,.12);transform:skewX(-20deg);width:45%;left:27%;pointer-events:none}.card-image span,.card-image strong{position:relative;z-index:1}.card-image span{font:10px monospace}.card-image strong{font-size:clamp(36px,4vw,56px);line-height:.8;letter-spacing:-.07em}.card-image-01{background:#8d3d2d}.card-image-02{background:#315c5a}.card-image-03{background:#5a4a2c}.card-image-04{background:#b04a6a}.card-image-05{background:#3c6e4a}.card-body{padding:25px}.card-kicker{color:var(--muted);font:10px monospace;margin-bottom:13px}.card-body h3{margin:0 0 10px;font-size:25px;letter-spacing:-.04em}.card-body p{margin:0 0 25px;color:#66635d;font-size:12px;line-height:1.8}.arrow-link{font:500 10px monospace;border-bottom:1px solid var(--ink);padding-bottom:5px}.section-news{padding-top:60px}.news-list{border-top:1px solid var(--ink)}.news-item{display:grid;grid-template-columns:150px 1fr 30px;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center}.news-item span,.news-item i{font:10px monospace;font-style:normal;color:var(--muted)}.news-item strong{font-size:14px;font-weight:600}.news-item:hover strong{text-decoration:underline;text-underline-offset:4px}.about{max-width:var(--max);margin:0 auto;padding:80px var(--pad) 150px;display:grid;grid-template-columns:80px 1fr 1fr;gap:35px;border-top:1px solid var(--ink)}.about-number{font:10px monospace}.about h2{margin:0;font-size:clamp(45px,6vw,80px);line-height:.86;letter-spacing:-.07em}.about-copy{margin:0;max-width:480px;color:#5d5a54;font-size:14px;line-height:2;align-self:end}.site-footer{background:var(--dark);color:#eee;padding:45px var(--pad) 30px}.footer-top{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:end}.footer-brand{font-size:25px;line-height:.85;letter-spacing:-.06em;font-weight:800}.footer-copy,.back-top{font:9px/1.6 monospace;color:#92948c}.back-top{justify-self:end;color:white;border-bottom:1px solid #777970;padding-bottom:5px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.main-nav{display:none}.hero,.featured-game{grid-template-columns:1fr}.hero-art{min-height:420px}.art-grid{min-height:384px}.game-visual{min-height:420px}.about{grid-template-columns:45px 1fr}.about-copy{grid-column:2}}@media(max-width:620px){.site-header{height:68px}.header-cta{display:none}.hero{padding-top:60px;padding-bottom:60px}.hero h1{font-size:68px}.hero-lead{font-size:13px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-art{min-height:330px}.art-grid{min-height:294px}.art-orbit{width:190px;height:190px}.art-orbit:after{width:80px;height:80px;left:54px;top:54px}.game-grid{grid-template-columns:1fr}.game-visual{min-height:330px}.section{padding-top:80px}.section-head{align-items:flex-start;gap:25px;flex-direction:column}.news-item{grid-template-columns:95px 1fr 20px;gap:8px}.news-item strong{font-size:12px}.about{grid-template-columns:1fr}.about-copy{grid-column:auto}.footer-top{grid-template-columns:1fr 1fr}.footer-copy{grid-column:1/-1;order:3}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

.game-visual-tff { background-color: #20221f; }
.game-visual-tff::before {
  content: ""; position: absolute; inset: 9%;
  border: 1px solid #51544c;
}
.game-visual-tff::after {
  content: ""; position: absolute; width: 46%; aspect-ratio: 1;
  border: 1px solid #a0a398; transform: rotate(45deg);
  left: 27%; top: 24%;
}

/* ---- game screenshots ---- */
.card-image.has-shot{min-height:0;aspect-ratio:16/10;background-size:cover;background-position:center;justify-content:flex-start}
.card-image.has-shot:after{display:none}
.card-image.has-shot strong{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.card-image.has-shot span,.game-visual.has-shot .visual-ui span{align-self:flex-start;background:rgba(17,17,15,.82);color:var(--accent);padding:6px 9px;letter-spacing:.06em}
.card-image.has-shot{transition:filter .3s}
.card-image.has-shot:hover{filter:brightness(1.08)}
.game-visual.has-shot{background-size:cover;background-position:center}
.game-visual.has-shot:before{inset:auto 0 0 0;height:90px;border:0;background:linear-gradient(180deg,rgba(10,10,8,0),rgba(10,10,8,.8))}
.game-visual.has-shot:after,.game-visual.has-shot .visual-logo{display:none}
.game-visual.has-shot .visual-ui span:last-child{display:none}
@media(max-width:900px){.game-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.game-grid{grid-template-columns:1fr}}

/* ---- hero reel ---- */
.art-grid.has-reel:before{z-index:1;opacity:1;background:linear-gradient(165deg,rgba(24,25,21,.94) 0,rgba(24,25,21,.6) 30%,rgba(24,25,21,.05) 58%,rgba(24,25,21,.55) 100%)}
.art-grid.has-reel:after{z-index:1;opacity:.18}
.art-grid.has-reel .art-title,.art-grid.has-reel .art-chip{z-index:2}
.art-reel{position:absolute;z-index:0;inset:-35% -30%;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;transform:rotate(-13deg)}
.reel-col{display:flex;flex-direction:column;gap:14px;animation:reel 44s linear infinite;will-change:transform}
.reel-col:nth-child(2){animation-direction:reverse;animation-duration:52s}
.reel-col:nth-child(3){animation-duration:48s;margin-top:-18%}
.reel-col img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border:1px solid rgba(255,255,255,.14)}
.hero-art:hover .reel-col{animation-play-state:paused}
@keyframes reel{to{transform:translateY(calc(-50% - 7px))}}

/* ---- ticker marquee ---- */
.ticker{justify-content:flex-start;gap:0}
.ticker-track{display:flex;width:max-content;animation:tick 38s linear infinite}
.ticker-group{display:flex;align-items:center;gap:22px;padding-right:22px}
.ticker-group i{font-style:normal;font-size:9px}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---- sound ---- */
.sound{background:var(--dark);color:#f2f0ea;border-top:1px solid var(--ink);position:relative;overflow:hidden}
.sound:before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 85% 30%,rgba(216,255,62,.10),transparent 70%);pointer-events:none}
.sound-inner{position:relative;max-width:var(--max);margin:auto;padding:120px var(--pad);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,110px);align-items:center}
.sound .eyebrow{color:var(--accent)}
.sound h2{margin:0;font-size:clamp(70px,11vw,170px);line-height:.8;letter-spacing:-.075em;font-weight:800;color:transparent;-webkit-text-stroke:1.5px #f2f0ea}
.sound-lead{max-width:440px;margin:36px 0 32px;color:#b9b8b1;font-size:14px;line-height:2}
.button-accent{background:var(--accent);color:var(--ink);border-color:var(--accent);box-shadow:4px 4px 0 #f2f0ea}
.button-accent:hover{background:#f2f0ea;border-color:#f2f0ea}
.sound-card{display:block;background:#20211d;border:1px solid #3a3c35;padding:clamp(22px,3vw,36px);transition:border-color .25s,transform .25s}
.sound-card:hover,.sound-card:focus-visible{border-color:var(--accent);transform:translateY(-4px)}
.sound-card:focus-visible,.button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.sound-card-head{display:flex;align-items:center;gap:16px}
.sound-avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--ink);font-weight:800;font-size:17px;letter-spacing:-.04em;flex:none}
.sound-name{display:flex;flex-direction:column;gap:4px;min-width:0}
.sound-name strong{font-size:24px;letter-spacing:-.04em}
.sound-name small{font:10px monospace;color:#8f9088}
.sound-play{margin-left:auto;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid #55574f;color:var(--accent);transition:background .25s,color .25s,border-color .25s;flex:none}
.sound-card:hover .sound-play,.sound-card:focus-visible .sound-play{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.wave{display:flex;align-items:center;gap:3px;height:150px;margin:38px 0 30px}
.wave i{flex:1;height:var(--h);min-width:2px;background:#4a4c44;border-radius:2px;transform-origin:center;transition:background .3s}
.wave i:nth-child(-n+20){background:var(--accent)}
.sound-card:hover .wave i,.sound-card:focus-visible .wave i{animation:eq .9s ease-in-out var(--d) infinite alternate}
.sound-card:hover .wave i:nth-child(n+21),.sound-card:focus-visible .wave i:nth-child(n+21){background:#6c6f63}
@keyframes eq{0%{transform:scaleY(1)}50%{transform:scaleY(.45)}100%{transform:scaleY(1.12)}}
.sound-tags{display:flex;flex-wrap:wrap;gap:8px}
.sound-tags span{border:1px solid #47493f;border-radius:999px;padding:7px 13px;font:10px monospace;color:#cfcec7}
@media(max-width:900px){.sound-inner{grid-template-columns:1fr;padding-top:90px;padding-bottom:90px}}
@media(max-width:620px){.wave{height:100px;gap:2px}.wave i:nth-child(n+41){display:none}.sound-lead{font-size:13px}}
@media(prefers-reduced-motion:reduce){.reel-col,.ticker-track,.sound-card .wave i{animation:none!important}.ticker{justify-content:center}}
