@font-face{font-family:Exo;src:url('/assets/fonts/Exo2.ttf') format('truetype');font-weight:100 900;font-display:swap}@font-face{font-family:Oxanium;src:url('/assets/fonts/Oxanium.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--bg:#101110;--surface:#1b1c19;--ink:#eeeee4;--muted:#aaada4;--accent:#ddfa78;--line:#ffffff25;--gutter:clamp(24px,5vw,88px);font-family:Exo,Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:100px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.skip{position:fixed;top:-100px;left:20px;padding:15px;background:var(--accent);color:var(--bg);z-index:100}.skip:focus{top:10px}.site-header{height:92px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#101110f0;position:relative;z-index:5}.brand{font-family:Oxanium,sans-serif;font-weight:800;font-size:1.875rem;letter-spacing:-2px;display:flex;align-items:flex-start}.brand-mark{font-family:Exo;font-size:1rem;margin-left:7px;color:var(--accent);letter-spacing:0}.site-header nav{display:flex;align-items:center;gap:40px;font-size:0.9375rem}.site-header nav a{padding:12px 0}.site-header nav a:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid var(--accent)}.nav-contact span{margin-left:20px}.home-hero{padding:36px var(--gutter) 0;min-height:790px;position:relative;isolation:isolate;overflow:hidden}.hero-art{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#101110 1%,#10111075 45%,#10111010 85%),linear-gradient(0deg,#101110 0%,transparent 65%),url('/assets/images/hero.webp') 64% 20%/auto 88% no-repeat;opacity:.75}.hero-top{display:flex;justify-content:space-between;align-items:start}.eyebrow{font-size:0.8125rem;font-weight:500;letter-spacing:2px;line-height:1.5;margin:0;text-transform:uppercase}.hero-top .eyebrow{color:var(--accent)}.hero-location{font-size:0.875rem;line-height:1.6;margin:0;color:#dadcd3}.home-hero h1{font-size:clamp(2.625rem,5.4vw,5.375rem);line-height:1.08;letter-spacing:-3px;font-weight:500;margin:68px 0 30px;max-width:850px}em{font-style:normal;color:var(--accent)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;max-width:750px}.hero-bottom p{font-size:1.0625rem;line-height:1.6;color:#c5c8bd}.round-link{display:grid;place-items:center;border:1px solid #ffffff70;border-radius:100%;width:58px;height:58px;font-size:1.625rem;transition:background .2s,color .2s}.round-link:hover{background:var(--accent);color:var(--bg)}.hero-word{font-family:Oxanium,sans-serif;font-weight:700;font-size:clamp(6.25rem,23.3vw,23.125rem);line-height:1.02;letter-spacing:-.065em;margin-top:22px;white-space:nowrap}.hero-word span{color:var(--accent);font-size:.73em;margin-left:.025em}.hero-foot{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;font-size:0.75rem;letter-spacing:1.5px;color:var(--muted)}.section{padding:100px var(--gutter);scroll-margin-top:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.small-label{font-size:0.75rem;letter-spacing:1.5px;color:var(--muted)}.game-card{display:block;position:relative;min-height:550px;overflow:hidden;background:#252320}.game-card>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:60% center;transition:transform .7s}.game-card:hover>img{transform:scale(1.035)}.card-shade{position:absolute;inset:0;background:linear-gradient(0deg,#080a08ed,transparent 100%)}.tag{position:absolute;left:40px;top:35px;padding:10px 13px;border:1px solid #ffffff70;background:#10111080;font-size:0.75rem;letter-spacing:1.3px}.game-card-copy{position:absolute;left:40px;right:40px;bottom:40px;display:flex;justify-content:space-between;align-items:end}.game-card h2{font-family:Oxanium;font-size:clamp(2.25rem,6vw,5.5rem);letter-spacing:-3px;margin:10px 0;font-weight:700}.game-card-copy p:last-child{font-size:1.25rem;line-height:1.5;margin:10px 0 0;color:#d3d4cb}.card-arrow{font-size:2.5rem;width:76px;height:76px;display:grid;place-items:center;background:var(--accent);color:var(--bg)}.work-caption{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);font-size:0.875rem;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--line);gap:40px}.about h2,.contact h2{font-size:clamp(2.25rem,4.2vw,4.25rem);font-weight:500;line-height:1.12;letter-spacing:-2px;margin:0 0 35px}.muted{color:var(--muted)}.about p:not(.eyebrow){font-size:1.25rem;line-height:1.7;max-width:750px;color:#c5c8bd}.contact{border-top:1px solid var(--line);background:radial-gradient(ellipse at 100% 110%,#ddfa7810,transparent 60%)}.contact .eyebrow{margin-bottom:40px}.contact>p:not(.eyebrow){font-size:1.125rem;line-height:1.7;color:var(--muted)}.contact-methods{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:20px;max-width:100%}.contact-methods a{max-width:100%}footer{margin:0 var(--gutter);border-top:1px solid var(--line);padding:35px 0;display:flex;align-items:center;gap:40px;font-size:0.8125rem;color:var(--muted)}footer p{flex:1}footer .brand{color:var(--ink)}
@media(max-width:700px){.site-header{height:76px}.site-header nav{gap:20px;font-size:0.875rem}.brand{font-size:1.5625rem}.nav-contact span{margin-left:5px}.home-hero{min-height:650px;padding-top:30px}.hero-location{display:none}.home-hero h1{font-size:2.8125rem;letter-spacing:-2px;margin-top:80px}.hero-art{background-position:65% 10%;background-size:auto 75%;opacity:.6}.hero-bottom{gap:20px}.hero-word{margin-top:75px;font-size:24vw}.hero-foot{font-size:0.75rem;letter-spacing:.3px}.hero-foot span:last-child{display:none}.section{padding:65px var(--gutter)}.section-heading .small-label{display:none}.game-card{min-height:480px}.tag{left:22px;top:22px;font-size:0.75rem}.game-card-copy{left:22px;right:22px;bottom:28px;gap:10px}.game-card h2{letter-spacing:-1px;font-size:2.375rem}.game-card-copy p:last-child{font-size:1.0625rem}.card-arrow{width:48px;height:48px;font-size:1.625rem;flex-shrink:0}.work-caption{gap:20px;line-height:1.5}.work-caption span:last-child{display:none}.about{grid-template-columns:1fr;gap:30px}.about p:not(.eyebrow){font-size:1.125rem}.about h2,.contact h2{letter-spacing:-1px}footer{flex-wrap:wrap;gap:20px}footer p{flex-basis:65%;margin:0}footer>a:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Shared motion is deliberately quiet; the game supplies the spectacle. */
.home-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(450px circle at var(--pointer-x,25%) var(--pointer-y,45%),#ddfa780c,transparent 80%)}.hero-word{animation:word-enter 1s cubic-bezier(.2,.6,.3,1) both}.home-hero h1{animation:word-enter .8s .1s both}@keyframes word-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.text-link{display:inline-block;border-bottom:1px solid var(--line);padding:10px 0;font-size:1rem}.text-link:hover{color:var(--accent);border-color:var(--accent)}.contact-link{font-size:clamp(1.5rem,3.7vw,3.25rem);display:inline-block;color:var(--accent);padding:20px 0;border-bottom:1px solid var(--accent);overflow-wrap:anywhere}.contact-link span{display:inline-block;margin-left:25px;transition:transform .2s}.contact-link:hover span{transform:translate(4px,-4px)}
.game-page{--accent:#ff794e}.game-page .site-header .brand-mark{color:#ddfa78}.game-hero{min-height:740px;height:calc(100svh - 92px);max-height:1000px;position:relative;isolation:isolate;display:flex;align-items:center;padding:55px var(--gutter) 100px;overflow:hidden}.game-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;z-index:-3}.game-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0c0e0cf0,#0c0e0c80 50%,#0c0e0c05),linear-gradient(0deg,#101110 0%,transparent 40%)}.game-hero-content{max-width:780px}.game-hero .eyebrow{color:var(--accent)}.game-hero h1{margin:20px 0 0;max-width:680px}.game-hero h1 img{display:block;width:100%;height:auto;margin:-10px 0 -25px}.game-tagline{font-size:clamp(1.5rem,2.5vw,2.25rem);line-height:1.4;letter-spacing:-.5px}.game-tagline span{color:#c6c7bd}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:40px}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;border:1px solid var(--line);padding:18px 25px;min-height:58px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--accent);color:#151410;border-color:var(--accent)}.primary:hover{background:#ff976d}.button small{font-size:0.8125rem;opacity:.75}.secondary{background:#10111080;color:var(--ink)}.secondary:hover{background:#292b26}.game-hero-footer{position:absolute;left:var(--gutter);right:var(--gutter);bottom:24px;display:flex;gap:25px;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:0.75rem;letter-spacing:1.5px;color:#c6c7bd}.story{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.story h2,.feature h2{font-size:clamp(2.125rem,4vw,4rem);font-weight:500;letter-spacing:-2px;line-height:1.15;margin:30px 0 0}.story-copy p,.feature p:not(.eyebrow){font-size:1.125rem;line-height:1.75;color:#bdbfb6}.story-copy p:first-child{color:var(--ink);font-size:1.4375rem}.gameplay-section{padding:0 var(--gutter) 60px}.combat-film{position:relative;aspect-ratio:16/9;background:#050605;overflow:hidden}.ambient-video{display:block;width:100%;height:100%;object-fit:cover}.film-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:25px;background:linear-gradient(0deg,#080a08b0,#080a0820);pointer-events:none}.film-overlay>span{font-size:0.8125rem;letter-spacing:2px}.play-film{width:88px;height:88px;background:#10111080;backdrop-filter:blur(6px);color:var(--ink);border:1px solid #ffffffa0;border-radius:100%;font-size:1.5625rem;cursor:pointer;pointer-events:auto;transition:transform .2s,background .2s}.play-film:hover{transform:scale(1.1);background:var(--accent);color:#101110}.play-film span{margin-left:5px}.motion-toggle{position:absolute;right:18px;bottom:18px;background:#101110df;color:#eee;border:1px solid var(--line);padding:10px 14px;font-size:0.8125rem;cursor:pointer}.game-facts{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.game-facts>div{padding:30px;display:flex;align-items:center;gap:25px;border-right:1px solid var(--line)}.game-facts>div:first-child{padding-left:0}.game-facts>div:last-child{border-right:0}.game-facts strong{font-family:Oxanium;font-size:3.625rem;font-weight:500;color:var(--accent);line-height:1}.game-facts span{font-size:0.9375rem;color:var(--muted)}.features{padding-top:40px;padding-bottom:35px}.feature{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:6vw;margin-bottom:110px}.feature.reverse .feature-picture{order:2}.feature.reverse .feature-copy{order:1}.feature-picture{position:relative}.feature-picture::after{content:"";position:absolute;inset:-12px 12px 12px -12px;border:1px solid var(--line);z-index:-1}.feature-picture img{width:100%;height:auto;display:block}.feature h2{font-size:clamp(1.875rem,3vw,2.8125rem);letter-spacing:-1px;margin-top:20px;margin-bottom:25px}.feature .eyebrow{color:var(--accent)}.gallery-section{padding-top:20px}.gallery-section h2{font-size:2rem;font-weight:500;letter-spacing:-1px;margin:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.gallery-item{border:0;padding:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer;overflow:hidden}.gallery-item img{display:block;width:100%;height:auto;transition:filter .25s,transform .25s}.gallery-item:hover img{filter:brightness(1.18);transform:scale(1.02)}.gallery-item span{display:flex;justify-content:space-between;padding:15px 0;font-size:0.875rem;color:var(--muted);border-bottom:1px solid var(--line)}.gallery-item b{font-weight:400;color:var(--accent)}.release{text-align:center;border-top:1px solid var(--line);background:radial-gradient(ellipse at 50% 70%,#ff794e12,transparent 65%);padding-top:110px;padding-bottom:120px}.release h2{font-family:Oxanium;font-size:clamp(2.875rem,8.5vw,8.125rem);letter-spacing:-.05em;font-weight:600;margin:30px 0 20px;line-height:1.1}.release>p:not(.eyebrow){font-size:1.1875rem;color:var(--muted)}.release .release-note{font-size:0.9375rem!important}.release .button{margin:25px 0 20px}.release .text-link{display:block;width:fit-content;margin:0 auto}.media-dialog{padding:20px;background:#151614;color:var(--ink);border:1px solid #ffffff35;width:min(1180px,95vw);max-width:95vw;max-height:95svh;overflow:auto}.media-dialog::backdrop{background:#050605ed;backdrop-filter:blur(8px)}.media-dialog video,.lightbox-image{width:100%;display:block;max-height:72svh;object-fit:contain;background:#050605}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.dialog-heading h2{font-size:1rem;margin:0;font-weight:500}.dialog-close,.gallery-controls button{background:transparent;border:1px solid var(--line);color:var(--ink);padding:10px 16px;font-size:0.875rem;cursor:pointer}.dialog-close:hover,.gallery-controls button:hover{border-color:var(--accent);color:var(--accent)}.dialog-note{font-size:0.8125rem;color:var(--muted);margin:16px 0 0}.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:0.875rem}.media-dialog[open]{animation:dialog-in .18s ease-out}@keyframes dialog-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}body:has(dialog[open]){overflow:hidden}
@media(max-width:900px){.game-hero{min-height:680px}.game-facts>div{gap:12px;padding:25px 16px}.game-facts strong{font-size:2.625rem}.game-facts span{font-size:0.875rem}.gallery{grid-template-columns:repeat(2,1fr)}.feature{gap:35px}.feature p:not(.eyebrow){font-size:1.0625rem}.feature h2{font-size:2rem}}
@media(max-width:700px){.game-page .site-header nav{gap:15px}.game-page .site-header nav a{font-size:0.8125rem}.game-hero{height:auto;min-height:730px;padding-top:90px;padding-bottom:120px;align-items:end}.game-hero-art{object-position:62% center;opacity:.65}.game-hero-shade{background:linear-gradient(0deg,#101110,transparent),linear-gradient(90deg,#101110b0,transparent)}.game-hero h1{margin:30px 0}.game-hero h1 img{margin:0;max-width:500px}.game-hero-content>.eyebrow{font-size:0.75rem;letter-spacing:1px}.game-tagline{font-size:1.5625rem}.hero-actions{margin-top:30px;gap:12px}.button{padding:16px 18px;font-size:0.9375rem;gap:12px}.game-hero-footer{flex-wrap:wrap;gap:12px;font-size:0.75rem;letter-spacing:.3px;bottom:20px}.game-hero-footer span:last-child{display:none}.story{grid-template-columns:1fr;gap:20px}.story h2{letter-spacing:-1px}.game-facts>div{flex-direction:column;align-items:flex-start;padding:22px 12px;gap:12px}.game-facts strong{font-size:2.375rem}.game-facts span{font-size:0.8125rem;line-height:1.4}.feature{grid-template-columns:1fr;gap:30px;margin-bottom:65px}.feature.reverse .feature-picture{order:0}.feature.reverse .feature-copy{order:0}.feature-picture::after{inset:-8px 8px 8px -8px}.gallery{grid-template-columns:1fr;gap:22px}.gallery-section h2{font-size:1.75rem}.gallery-section .small-label{display:none}.play-film{width:60px;height:60px;font-size:1.125rem}.film-overlay{gap:14px}.film-overlay>span{font-size:0.75rem;letter-spacing:1px}.motion-toggle{right:8px;bottom:8px;font-size:0.75rem;padding:7px 9px}.release{padding-top:75px;padding-bottom:80px}.release h2{font-size:13vw}.media-dialog{padding:12px}.dialog-heading h2{font-size:0.875rem}.dialog-close{padding:9px 12px;white-space:nowrap}.gallery-controls button{padding:10px;font-size:0.8125rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

/* Allow browser text enlargement without clipping navigation or labels. */
.site-header{height:auto;min-height:92px;flex-wrap:wrap;gap:12px 30px;padding-top:18px;padding-bottom:18px}.site-header nav{flex-wrap:wrap}.game-facts>div{min-width:0}.game-facts span{overflow-wrap:anywhere}.game-card-copy{flex-wrap:wrap}.tag{max-width:calc(100% - 44px);line-height:1.5}.hero-foot{gap:16px}.dialog-heading{flex-wrap:wrap}.feature-copy,.story-copy,.about>div{min-width:0}@media(max-width:700px){.site-header{min-height:76px;gap:8px 18px}.home-hero h1{overflow-wrap:break-word}.game-card{min-height:540px}.game-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
.game-card-copy>div{min-width:0;max-width:100%}.game-card h2,.contact h2,.about h2{overflow-wrap:anywhere}.eyebrow{overflow-wrap:anywhere}
/* Companion illustrations keep the personal sections visually grounded. */
.about.with-art{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6vw;align-items:center}.about-visual>.eyebrow{margin-bottom:30px}.portfolio-figure{margin:0;position:relative}.portfolio-figure img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:1px solid var(--line)}.portfolio-figure figcaption{display:flex;justify-content:space-between;gap:16px;margin-top:14px;font-size:.75rem;letter-spacing:1.2px;color:var(--muted);line-height:1.5}.about.with-art h2{font-size:clamp(2.25rem,3.7vw,3.75rem)}.contact.with-art{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6vw;align-items:center}.contact-copy{min-width:0}.contact-copy>p:not(.eyebrow){font-size:1.125rem;line-height:1.7;color:var(--muted)}.contact.with-art h2{font-size:clamp(2.25rem,3.8vw,3.75rem)}.contact.with-art .contact-link{font-size:clamp(1.5rem,3vw,2.65rem)}.contact-art{position:relative}.contact-art::before{content:"";position:absolute;inset:-14px 14px 28px -14px;border:1px solid var(--line);pointer-events:none}.contact-art img{position:relative}.contact-art figcaption span:last-child{color:var(--accent)}
@media(max-width:900px){.about.with-art,.contact.with-art{gap:40px;grid-template-columns:1fr}.about-visual{max-width:660px}.contact-art{max-width:660px}.about.with-art p:not(.eyebrow){font-size:1.125rem}.contact.with-art h2{max-width:700px}}@media(max-width:480px){.portfolio-figure figcaption{font-size:.75rem;letter-spacing:.5px}.contact-art::before{inset:-8px 8px 28px -8px}}
