@font-face{font-family:Barlow Condensed;src:url(assets/fonts/BarlowCondensed-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:Inter;src:url(assets/fonts/Inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:IBM Plex Mono;src:url(assets/fonts/IBMPlexMono-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
:root{color-scheme:dark;--ink:#17121a;--surface:#241d28;--line:#796a7d;--bone:#fff2e8;--muted:#c7b8ca;--ember:#ff6848;--ember-hover:#ff896e;--focus:#fbd195;--mono:"IBM Plex Mono",monospace;--display:"Barlow Condensed","Arial Narrow",sans-serif;--gutter:32px;--max:1280px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--ink);color:var(--bone);font:400 16px/1.6 Inter,Arial,sans-serif}
body:has(dialog[open]){overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin:0}
:focus-visible{outline:2px solid var(--focus);outline-offset:5px}
.shell{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}
.visually-hidden{position:absolute;inline-size:1px;block-size:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.skip{position:absolute;z-index:12;left:16px;top:12px;padding:10px 15px;color:var(--ink);background:var(--bone);transform:translateY(-200%)}
.skip:focus{transform:none}
.site-header{position:relative;z-index:3;background:#17121a;border-bottom:1px solid #fff2e81e}
.header-inner{min-height:75px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.brand{justify-self:start;display:inline-block;width:192px}
.brand img{width:100%}
.header-inner nav{display:flex;gap:34px;align-items:center}
.header-inner nav a,.back-top{font:500 12px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.075em}
.header-inner nav a{padding-block:16px;color:var(--muted)}
.header-inner nav a:hover,.back-top:hover{color:var(--ember)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:45px;padding:10px 15px;border:1px solid transparent;border-radius:4px;font:500 12px/1.25 var(--mono);text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;transition:background .16s,border-color .16s,color .16s}
.header-action{justify-self:end;border-color:#fff2e83a}
.header-action:hover,.button-quiet:hover{border-color:var(--bone);background:#fff2e812}
.button span:not(.play){font-size:17px;line-height:1}
.button-primary{background:var(--ember);color:var(--ink)}
.button-primary:hover{background:var(--ember-hover)}
.button-quiet{background:#17121a7a;border-color:#fff2e865;color:var(--bone)}
.play{font-size:11px}
.hero{position:relative;isolation:isolate;min-height:clamp(535px,46vw,650px);display:grid;align-items:center;overflow:hidden;background:#24141a;border-bottom:1px solid #ff684869}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:57% 55%;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#120e15 1%,#120e15e8 25%,#120e1540 67%,transparent 100%),linear-gradient(0deg,#17121a9c,transparent 37%)}
.hero-inner{padding-block:58px 66px}
.hero-content{max-width:650px}
.eyebrow{font:500 12px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.13em}
.hero .eyebrow{display:flex;align-items:center;gap:10px;color:var(--bone)}
.status-dot{display:inline-block;width:7px;height:7px;background:var(--ember);box-shadow:0 0 13px #ff684885;flex:none}
.hero h1{font:800 clamp(7.1rem,12vw,11rem)/.75 var(--display);letter-spacing:-.018em;margin:26px 0 27px}
.hero h1 em{color:var(--ember);font-style:normal}
.hero-description{font-size:clamp(.97rem,1.5vw,1.12rem);max-width:390px;color:#f2e5e2}
.actions{margin-top:23px;display:flex;gap:11px;flex-wrap:wrap}
.games{padding-block:56px 72px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:23px}
.section-head h2,.studio h2{font:800 clamp(3.6rem,7.5vw,7rem)/.8 var(--display);letter-spacing:-.01em}
.section-head h2 span{color:var(--ember)}
.section-head p{color:var(--muted);padding-bottom:3px}
.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.game-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid #fff2e830;border-radius:8px;min-width:0;transition:border-color .2s,background .2s}
.game-card:hover,.game-card:focus-within{border-color:var(--ember);background:#302631}
.game-link{display:block;border-radius:7px;overflow:hidden}
.game-link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.game-link:focus-visible{outline:none}
.game-link:focus-visible::after{outline:2px solid var(--focus);outline-offset:5px}
.game-card > .game-meta{padding:0 16px 14px}
.platforms{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.platform{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:3px 8px;border:1px solid #fff2e842;border-radius:4px;background:var(--ink);color:var(--bone);font:500 11px/1.1 var(--mono)}
.platform img,.game-engine img{object-fit:contain}
.platform-pc{width:16px}
.platform-deck{width:83px}
.platform-game-boy{width:62px;padding:2px 4px;border-radius:2px;background:var(--bone)}
.platform-chromatic{flex-direction:column;justify-content:center;gap:3px}
.platform-chromatic img{width:56px;filter:brightness(0) invert(1)}
.game-engine{display:flex;align-items:center;gap:9px;margin-top:12px;color:var(--muted);font:500 11px/1.2 var(--mono)}
.game-engine img{width:22px;filter:invert(1)}
.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding:0 16px 16px}
.card-actions .button{position:relative;z-index:2}
.card-actions .button-quiet{color:var(--ember-hover)}
.card-actions .button-quiet:hover{color:var(--bone)}
.card-media{aspect-ratio:1.66;overflow:hidden;position:relative;background:#2d2530}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.squirrel img{object-position:49% 54%}.office img{object-position:51% 43%}.mall img{object-position:50% 51%}
.game-card:hover .card-media img{transform:scale(1.045)}
.art-label{position:absolute;bottom:10px;left:10px;background:#17121ae8;border:1px solid #fff2e84d;color:var(--bone);font:500 9px/1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase;padding:5px 7px;border-radius:2px}
.card-info{min-height:124px;padding:15px 16px 17px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.card-info h3{font:800 clamp(1.72rem,2.7vw,2.65rem)/.88 var(--display);text-transform:uppercase;letter-spacing:.007em}
.card-info p{color:var(--muted);margin-top:8px;font-size:.875rem;line-height:1.4}
.card-arrow{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid #fff2e846;border-radius:4px;font-size:17px;transition:color .2s,background .2s,border-color .2s}
.card-arrow.play{font-size:12px}
.game-card:hover .card-arrow,.game-card:focus-within .card-arrow{background:var(--ember);border-color:var(--ember);color:var(--ink)}
.studio{background:var(--ember);color:var(--ink);overflow:hidden}
.studio-inner{display:grid;grid-template-columns:1.15fr .85fr;min-height:440px;position:relative;align-items:center;gap:32px;padding-block:64px}
.studio-copy{position:relative;z-index:1}
.studio h2{margin:17px 0 20px}
.studio-copy p:not(.eyebrow){max-width:385px;margin-bottom:21px;font-size:1.04rem}
.button-ink{border-color:var(--ink);background:var(--ink);color:var(--bone)}
.button-ink:hover{background:#38252e}
.studio-mark{justify-self:center;width:min(100%,390px)}
.studio-mark img{width:100%}
.studio :focus-visible{outline-color:var(--ink)}
.footer-inner{padding-block:25px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.footer-inner .brand{width:170px}
.footer-inner p{font-size:.78rem;color:var(--muted)}
.footer-company{white-space:nowrap}
.back-top{justify-self:end}
dialog{border:1px solid var(--line);border-radius:8px;padding:0;background:var(--surface);color:var(--bone);width:min(740px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto}
dialog::backdrop{background:#100b12dc;backdrop-filter:blur(4px)}
.dialog-close{position:absolute;right:12px;top:12px;z-index:2;width:44px;height:44px;padding:0;border:1px solid #fff2e875;border-radius:4px;background:var(--ink);color:var(--bone);font-size:26px;line-height:1;cursor:pointer}
.dialog-close:hover{color:var(--ink);background:var(--ember)}
.project-art{width:100%;aspect-ratio:1.78;object-fit:cover;background:var(--ink)}
.dialog-copy{padding:24px}
.dialog-copy .eyebrow{color:var(--ember);margin-bottom:9px}
.dialog-copy h2{font:800 clamp(2.4rem,6vw,4rem)/.92 var(--display);text-transform:uppercase;margin-bottom:13px}
#project-description{color:var(--muted)}
#project-meta{margin-top:18px}
#video-dialog{width:min(960px,calc(100vw - 28px));background:var(--ink)}
#video-dialog video{width:100%;height:auto;display:block}
@media(max-width:850px){.header-inner nav{gap:22px}.hero{min-height:535px}.card-info{align-items:start;min-height:130px}.studio-inner{min-height:365px}.studio-mark{width:min(100%,270px)}}
@media(max-width:680px){
  :root{--gutter:20px}
  .header-inner{min-height:64px;grid-template-columns:1fr auto;gap:12px}
  .brand{width:154px}.header-action{display:none}.header-inner nav{gap:17px}
  .hero{min-height:550px}.hero-inner{padding-block:60px 50px}.hero-art{object-position:62% 50%}
  .hero::after{background:linear-gradient(90deg,#120e15ec 0%,#120e15a5 50%,#120e154a),linear-gradient(0deg,#17121ac0,transparent 65%)}
  .hero h1{font-size:clamp(5.5rem,20vw,8.2rem);margin-block:23px 25px}
  .hero-description{max-width:290px}
  .games{padding-block:42px 48px}.section-head{align-items:start;flex-direction:column;gap:7px;margin-bottom:18px}
  .game-grid{grid-template-columns:1fr;gap:16px}.card-info{min-height:88px;align-items:center}
  .card-info h3{font-size:2.2rem}.card-info h3 br{display:none}
  .studio-inner{padding-block:44px;gap:14px;min-height:0;grid-template-columns:1fr}
  .studio-mark{width:135px;justify-self:start;margin-left:-9px}.studio h2{font-size:clamp(3.5rem,15vw,5.5rem)}
  .footer-inner{gap:12px;grid-template-columns:1fr auto}.footer-inner .brand{width:142px}.footer-inner p{grid-row:2;grid-column:1/-1}
}
@media(max-width:360px){:root{--gutter:16px}.hero h1{font-size:5.1rem}.actions{gap:8px}.actions .button{gap:8px;padding-inline:9px;font-size:10px}.brand{width:138px}.header-inner nav{gap:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.game-page{padding-block:clamp(36px,6vw,80px)}
.game-page-back{color:var(--ember-hover)}
.game-page h1{margin-block:20px 14px;font:800 clamp(2.75rem,8vw,7rem)/.9 var(--display);text-transform:uppercase}
.game-page p{max-width:670px;color:var(--muted)}
.game-page .game-page-platforms{margin-top:13px;font:500 12px/1.5 var(--mono)}
.game-page .button{margin-top:20px}
.game-page-media{margin-top:28px;max-width:1000px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--ink)}
.game-page-media img,.game-page-media video{display:block;width:100%;height:auto}
