/* Atmospheric presentation; the content remains usable without JavaScript. */
:root{--bg:#0c0f12;--panel:#14191d;--line:#2e3439;--accent:#ffdb38;--scroll-progress:0}
html{scroll-padding-top:7rem}body{overflow-x:clip}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reading-progress{position:fixed;left:0;right:0;top:0;height:3px;background:var(--accent);transform:scaleX(var(--scroll-progress));transform-origin:left;z-index:30;pointer-events:none;box-shadow:0 0 12px #ffdb3860}.header{position:relative;z-index:10;gap:28px;padding:26px 0}.header nav{margin-left:auto}.header nav a{position:relative;padding:5px 0}.header nav a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.header nav a:hover:after,.header nav a[aria-current]:after{transform:scaleX(1)}.motion-toggle{display:inline-flex;align-items:center;gap:9px;color:#d4d6d8;background:#ffffff08;border:1px solid #ffffff28;border-radius:30px;padding:9px 13px;font:500 .875rem/1.3 var(--font);cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s}.motion-toggle[hidden]{display:none}.motion-toggle:hover{background:#ffdb3810;border-color:#ffdb3880}.motion-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.motion-symbol{color:var(--accent);font-size:.875rem;width:12px}.cinematic-hero{isolation:isolate;position:relative;min-height:680px;margin:0 calc(-5.6vw);padding:0;overflow:hidden;background:#0c1015}.hero-scene{position:absolute;inset:0;z-index:-1;overflow:hidden}.scene-parallax{position:absolute;inset:-24px;transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0);will-change:transform}.scene-image{width:100%;height:100%;object-fit:cover;object-position:60% 50%;opacity:.85}.scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,#090d12b8 0%,#090d1255 48%,#090d1220 100%),linear-gradient(0deg,#0c0f12 0%,#0c0f12a6 16%,transparent 58%,#0c0f124d 100%)}.hero-content{position:relative;max-width:1440px;margin:auto;padding:50px 5.6% 30px}.hero-top{min-height:28px}.hero-top .eyebrow{display:flex;align-items:center;gap:12px;color:#e5e6e7}.accent-dash{width:22px;height:2px;background:var(--accent);flex-shrink:0}.hero-top .edition{color:#b8bfc4}.cinematic-hero h1{font-size:clamp(4.5rem,12.3vw,10.7rem);margin:56px 0 44px;line-height:1.12;letter-spacing:-.065em;text-shadow:0 4px 42px #0005;font-weight:750}.hero-name{display:inline-block;white-space:nowrap}.hero-letter{display:inline-block;white-space:pre}.hero-bottom{grid-template-columns:1fr .8fr;gap:6rem;align-items:end}.hero-statement{font-size:clamp(2rem,3.5vw,3rem);font-weight:600;letter-spacing:-1.4px;line-height:1.15}.hero-description{max-width:430px;padding-bottom:8px}.hero-description>p{color:#d5dce2;font-size:1.0625rem;text-shadow:0 2px 18px #000}.explore-button{position:relative;display:inline-flex;gap:38px;align-items:center;min-height:52px;padding:12px 20px;margin-top:29px;background:var(--accent);color:#121416;border:1px solid var(--accent);text-decoration:none;font-weight:650;font-size:.9375rem;transition:transform .25s,box-shadow .25s,background .25s;box-shadow:0 0 30px #ffdb3810}.explore-button span{font-size:1.4rem;transition:transform .25s}.explore-button:hover,.explore-button:focus-visible{transform:translateY(-3px);box-shadow:0 6px 38px #ffdb3833;background:#ffe56b}.explore-button:hover span{transform:translate(3px,3px)}.scene-caption{display:flex;align-items:center;gap:13px;color:#b9c0c7;font-size:.75rem;letter-spacing:1px;margin-top:58px;min-height:26px}.art-caption{margin-left:auto;font-size:.75rem;letter-spacing:.6px;color:#b9c0c7}.scroll-cue{width:17px;height:25px;border:1px solid #b9c0c766;border-radius:10px;display:flex;justify-content:center;padding:5px}.scroll-cue span{width:2px;height:6px;background:var(--accent);border-radius:2px}.embers{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.mist{position:absolute;width:125%;height:65%;left:-12%;bottom:-20%;border-radius:50%;filter:blur(32px);opacity:.2;background:radial-gradient(ellipse at 45% 55%,#bdd5e952 0%,#a7c7e12a 30%,transparent 66%);pointer-events:none}.mist-two{bottom:12%;left:0;opacity:.12;transform:scaleX(1.4);background:radial-gradient(ellipse at 60% 50%,#c6dcec44,transparent 65%)}
.topic-strip{position:relative;display:block;padding:19px 0;overflow:hidden;margin-top:0;border-top:1px solid #ffdb3840;transform:rotate(-1deg);margin-left:-10px;margin-right:-10px}.strip-track{display:flex;width:max-content;transform:translateX(0)}.strip-group{display:flex;align-items:center;gap:40px;flex-shrink:0;padding-right:40px;font-size:.8125rem;letter-spacing:1px}.strip-group span:nth-child(even){font-size:1.2rem;font-weight:400}.section-heading{position:relative}.section-heading h2{font-weight:650}.work-grid{perspective:1200px;gap:26px}.project{position:relative;isolation:isolate;min-height:480px;border:1px solid #ffffff1a;border-radius:3px;transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .25s ease-out,border-color .3s,box-shadow .3s;box-shadow:0 20px 60px #0002}.project:hover{border-color:#ffdb3880;box-shadow:0 24px 60px #0005}.project-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;z-index:-3;transition:transform .9s cubic-bezier(.2,.7,.2,1);opacity:.95}.game-project{background:#141b20;color:var(--ink)}.game-project:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#090e13 2%,#090e13c7 25%,#090e133b 75%,#090e1399),linear-gradient(90deg,#090e1370,transparent)}.project:hover .project-art{transform:scale(1.055)}.game-title h3 span{color:var(--accent)}.game-title .small-title{color:#d5dce2}.game-title h3{font-size:clamp(3.5rem,5.3vw,5rem);text-shadow:0 3px 25px #0007}.project .pill{background:#0b0e1245;backdrop-filter:blur(8px);border-color:#ffffff4d;color:#e7ebee}.project .project-status{color:#d8dce0}.project-description p{color:#d1d8df}.project-footnote{font-size:.75rem;opacity:1;color:#aab5bf}.card-glow{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:radial-gradient(480px circle at var(--glow-x,50%) var(--glow-y,50%),#ffdf6b14,transparent 65%);transition:opacity .3s}.project:hover .card-glow{opacity:1}.ai-project{background:radial-gradient(ellipse at 80% 15%,#30362633,transparent 65%),#14191d}.ai-title{position:relative;z-index:1}.ai-title h3{font-size:clamp(2.1rem,3.2vw,3rem);text-shadow:0 2px 20px #14191d}.ai-project .project-description{position:relative;z-index:1}.orbit-field{position:absolute;right:-90px;top:35px;width:330px;height:330px;opacity:.35;pointer-events:none;transform:rotate(-22deg);z-index:-1}.orbit-field span{position:absolute;inset:0;border:1px solid #ffdb384d;border-radius:50%;transform:rotateX(35deg)}.orbit-field span:nth-child(2){inset:40px;border-color:#ffffff30}.orbit-field span:nth-child(3){inset:80px}.orbit-field span:after{content:'';position:absolute;left:50%;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 16px #ffdb3880}.orbit-field span:nth-child(2):after{background:#c4d3df;top:auto;bottom:-3px}.about{position:relative}.about h2{line-height:1.17}.about-topics span{transition:background .25s,border-color .25s,color .25s}.about-topics span:hover{border-color:#ffdb3880;color:var(--accent);background:#ffdb3808}.note-row{position:relative;transition:background .3s,padding .3s}.note-row:hover{background:#ffffff03;padding-left:18px;padding-right:18px}.note-arrow{transition:transform .25s,color .25s}.note-row:hover .note-arrow{transform:translate(4px,-4px)}.article h1{animation:article-enter .7s ease both}.reveal{opacity:1;transform:none}.motion-enabled .reveal:not(.is-visible){opacity:0;transform:translateY(26px)}.motion-enabled .reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.3,1);transition-delay:var(--reveal-delay,0ms)}.motion-enabled .hero-letter{animation:letter-enter .95s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i)*40ms + 80ms)}.motion-enabled .hero-bottom{animation:article-enter 1s .45s both}.motion-enabled .scene-image{animation:scene-drift 28s ease-in-out infinite alternate}.motion-enabled .mist-one{animation:mist-drift 18s ease-in-out infinite alternate}.motion-enabled .mist-two{animation:mist-drift 25s -12s ease-in-out infinite alternate-reverse}.motion-enabled .scroll-cue span{animation:scroll-hint 1.8s ease-in-out infinite}.motion-enabled .strip-track{animation:marquee 32s linear infinite}.motion-enabled .orbit-field span{animation:orbit 22s linear infinite}.motion-enabled .orbit-field span:nth-child(2){animation-duration:17s;animation-direction:reverse}.motion-enabled .orbit-field span:nth-child(3){animation-duration:12s}.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .hero-letter,.motion-paused .hero-bottom,.motion-paused .reveal{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.motion-paused .scene-parallax,.motion-paused .project{transform:none!important}.motion-paused .project-art{transform:none}.motion-paused .scroll-cue span{transform:none}.motion-paused .strip-track{animation:none;transform:none}.motion-paused .topic-strip{transform:none}.motion-paused .strip-group{flex-wrap:wrap;gap:12px 24px;justify-content:center;width:100%;padding:0 20px}.motion-paused .strip-track{width:100%}.motion-paused .strip-group[aria-hidden]{display:none}
@keyframes letter-enter{from{transform:translateY(40px) rotate(4deg);opacity:0;filter:blur(6px)}to{transform:translateY(0) rotate(0);opacity:1;filter:blur(0)}}
@keyframes article-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes scene-drift{from{transform:scale(1.015)}to{transform:scale(1.085) translateX(-1%)}}
@keyframes mist-drift{from{transform:translateX(-8%) scale(1)}to{transform:translateX(9%) scale(1.16)}}
@keyframes scroll-hint{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(7px);opacity:1}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes orbit{to{transform:rotate(360deg)}}
@media(min-width:1440px){.cinematic-hero{margin-left:calc((100vw - 1278px)/-2);margin-right:calc((100vw - 1278px)/-2)}.hero-content{padding-left:81px;padding-right:81px}}
@media(max-width:850px){.header{gap:22px}.header nav{gap:22px}.cinematic-hero{min-height:620px}.hero-bottom{gap:3rem;grid-template-columns:1fr 1fr}.cinematic-hero h1{font-size:12vw}.hero-content{padding-top:38px}.scene-image{object-position:65% 50%}.hero-top .edition{display:none}.motion-label{font-size:.8125rem}.motion-toggle{padding:9px 11px}.project{min-height:460px}.scene-caption{margin-top:40px}}
@media(max-width:600px){html{scroll-padding-top:2rem}.header{display:flex;flex-wrap:wrap;padding:19px 0 15px;gap:12px 20px}.header .wordmark{flex:1}.header nav{order:3;margin:0;width:100%;gap:28px;font-size:.875rem}.header .motion-toggle{margin-left:auto}.cinematic-hero{margin-left:-6.82%;margin-right:-6.82%;min-height:630px}.hero-content{padding:32px 6% 25px}.hero-top .eyebrow{font-size:.75rem;letter-spacing:.65px;gap:9px}.accent-dash{width:14px}.cinematic-hero h1{font-size:14.8vw;margin:56px 0 34px;letter-spacing:-.065em}.hero-bottom{grid-template-columns:1fr;gap:25px;align-items:start}.hero-statement{font-size:2rem;line-height:1.2;letter-spacing:-1px}.hero-statement br{display:block}.hero-description{max-width:320px}.hero-description>p{font-size:1rem;line-height:1.65}.explore-button{margin-top:24px;min-height:50px}.scene-caption{margin-top:32px;gap:10px;flex-wrap:wrap;font-size:.75rem}.art-caption{flex-basis:100%;margin:8px 0 0;font-size:.75rem}.scene-image{object-position:66% 50%;opacity:.9}.scene-shade{background:linear-gradient(90deg,#090d12b8,#090d1250),linear-gradient(0deg,#0c0f12 1%,#0c0f1280 45%,transparent 90%)}.topic-strip{padding:15px 0;margin-left:-6px;margin-right:-6px}.strip-group{gap:26px;padding-right:26px;font-size:.75rem}.project{min-height:450px}.game-title h3{font-size:3.9rem}.game-project .project-top{gap:15px}.work-grid{gap:20px}.about h2{max-width:370px}.note-row:hover{padding-left:0;padding-right:0}.hero-name{white-space:nowrap}.orbit-field{right:-70px}.motion-enabled .mist{filter:blur(20px)}}
@media(hover:none){.project:hover{box-shadow:none}.project:active{border-color:var(--accent)}.explore-button:active{background:#fff0a0;transform:scale(.97)}.note-row:active{background:#ffdb3808}.card-glow{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-letter,.hero-bottom,.motion-enabled .reveal:not(.is-visible){opacity:1;transform:none;filter:none}.scene-parallax,.project{transform:none!important}.strip-track{transform:none}.topic-strip{transform:none}.strip-group{flex-wrap:wrap;gap:12px 24px;justify-content:center;width:100%;padding:0 20px}.strip-track{width:100%}.strip-group[aria-hidden]{display:none}}
/* Keep the scene aligned with the viewport at every shell width. */
.cinematic-hero{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.motion-paused .article h1{animation:none!important;opacity:1;transform:none}
.motion-toggle:disabled{cursor:default;opacity:.75}
