@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_4f9f433b-module__fJfFLG__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_4f9f433b-module__fJfFLG__variable{--font-space-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b12e986493c137cf-s.2njitm-prmz2_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/36363bfb06833f56-s.p.38hmww4cj4vme.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2fa3ef4ca165ab4-s.12_ml6bnugnre.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a73419dd2ba2d841-s.p.2yee423r7ahpo.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono Fallback;src:local(Arial);ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.0%;size-adjust:134.59%}.dm_mono_4cbaa3a1-module__vJ39pq__className{font-family:DM Mono,DM Mono Fallback;font-style:normal}.dm_mono_4cbaa3a1-module__vJ39pq__variable{--font-dm-mono:"DM Mono", "DM Mono Fallback"}
:root{--header-height:76px;--content-max-width:1440px;--page-inset:max(var(--page-gutter), calc((100vw - var(--content-max-width)) / 2));--page-gutter:clamp(24px, 5vw, 96px);font-family:var(--font-space-grotesk), Arial, sans-serif;color:#f2f2ed;font-synthesis:none;scroll-behavior:smooth;scroll-snap-type:y mandatory;background:#171717}*{box-sizing:border-box}body{margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit}::selection{color:#171717;background:#dfff52}a:focus-visible{outline-offset:6px;outline:2px solid}.mono{font-family:var(--font-dm-mono), monospace;letter-spacing:.025em}#world,.noise{pointer-events:none;width:100%;height:100%;position:fixed;inset:0}#world{z-index:0}.noise{z-index:5;opacity:.1;mix-blend-mode:soft-light;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.24'/%3E%3C/svg%3E")}main{z-index:1;position:relative}.skip{z-index:40;color:#171717;background:#dfff52;padding:12px;position:fixed;top:-80px;left:20px}.skip:focus{top:20px}.progress{z-index:30;height:3px;position:fixed;inset:0 0 auto}.progress span{background:#dfff52;width:0;height:100%;display:block}.site-header{height:var(--header-height);z-index:20;padding-inline:var(--page-inset);color:#f2f2ed;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#171717f5;border-bottom:1px solid #ffffff20;justify-content:space-between;align-items:center;gap:24px;display:flex;position:fixed;inset:0 0 auto}.identity{letter-spacing:-.035em;white-space:nowrap;align-items:center;gap:11px;font-size:.9rem;font-weight:700;display:inline-flex}.identity-mark{color:#171717;background:#dfff52;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.site-header nav{align-items:center;gap:clamp(16px,2.4vw,36px);font-size:.82rem;font-weight:500;display:flex}.site-header nav a{justify-content:center;align-items:center;gap:8px;min-height:42px;line-height:1;display:inline-flex;position:relative}.site-header nav a:not(.header-contact):after{content:"";background:currentColor;height:1px;transition:right .2s;position:absolute;inset:auto 100% 4px 0}.site-header nav a:hover:after,body[data-scene="1"] nav a[href=\#software]:after,body[data-scene="2"] nav a[href=\#games]:after,body[data-scene="3"] nav a[href=\#assets]:after{right:0}.header-contact{border:1px solid #ffffff80;border-radius:100px;padding:0 17px;transition:background .2s,color .2s,border-color .2s}.header-contact:hover,body[data-scene="4"] .header-contact{color:#171717;background:#dfff52;border-color:#dfff52}.arrow-icon{flex:none;width:1.1em;height:1.1em;transition:transform .2s;display:block}.header-contact .arrow-icon{width:15px;height:15px}.chapter{min-height:100svh;padding:calc(var(--header-height) + 28px) var(--page-inset) 72px;isolation:isolate;scroll-snap-align:start;scroll-snap-stop:always;align-items:center;display:flex;position:relative}.chapter-content{width:100%;max-width:var(--content-max-width);z-index:1;margin-inline:auto;position:relative}.chapter-meta{text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:clamp(18px,3svh,30px);font-size:.65rem;line-height:1.5;display:flex}.chapter-meta span:first-child{border:1px solid;border-radius:100px;padding:8px 13px}.chapter h1,.chapter h2{letter-spacing:-.065em;max-width:65%;margin:0 0 clamp(18px,3svh,30px);font-size:clamp(48px,min(7.3vw,12svh),112px);font-weight:600;line-height:.98}.chapter h1>span{display:block}.start h1{font-size:clamp(64px,min(9vw,14svh),144px);font-weight:700;line-height:.88}.period{color:#dfff52}.software .period,.assets .period{color:#3858e9}.hero-line{letter-spacing:-.035em;margin:0 0 26px;font-size:clamp(20px,min(2vw,3.7svh),30px);line-height:1.25}.chapter-summary{letter-spacing:-.02em;max-width:min(46%,470px);margin:0 0 24px;font-size:clamp(16px,1.25vw,20px);line-height:1.5}.chapter-link{min-height:40px;font:500 .72rem var(--font-dm-mono), monospace;text-transform:uppercase;border-bottom:1px solid;justify-content:space-between;align-items:center;gap:24px;padding-bottom:8px;line-height:1.4;display:inline-flex}.chapter-link .arrow-icon{width:19px;height:19px}.chapter-link:hover .arrow-icon{transform:translate(3px,3px)}.start,.games,.contact{color:#f2f2ed}.software,.assets{color:#171717}.chapter-foot,.contact footer{bottom:24px;left:var(--page-inset);right:var(--page-inset);text-transform:uppercase;border-top:1px solid #ffffff35;justify-content:space-between;align-items:center;gap:16px;padding-top:13px;font-size:.62rem;line-height:1.5;display:flex;position:absolute}.chapter-foot>span:last-child{display:none}.contact footer{padding-right:140px}.contact footer a{align-items:center;gap:8px;min-height:24px;display:inline-flex}.project-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:min(57%,650px);margin:0 0 22px;display:grid}.project-stack article{color:#f2f2ed;background:#171717;border-radius:8px;flex-direction:column;gap:18px;min-width:0;padding:16px 18px;transition:transform .2s;display:flex}.project-stack article:hover{transform:translateY(-4px)}.project-stack article:nth-child(2){background:#3858e9}.project-state{text-transform:uppercase;font-size:.6rem;line-height:1.5}.project-stack h3{letter-spacing:-.04em;margin:0 0 6px;font-size:1.3rem;font-weight:500}.project-stack p{max-width:280px;margin:0;font-size:.8rem;line-height:1.45}.status-line{text-transform:uppercase;align-items:center;gap:10px;margin:0 0 24px;font-size:.65rem;line-height:1.5;display:flex}.status-pulse{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px;animation:2s infinite pulse;box-shadow:0 0}.email{letter-spacing:-.035em;border-bottom:1px solid #dfff52;align-items:center;gap:20px;padding-bottom:10px;font-size:clamp(18px,1.8vw,28px);line-height:1.5;display:inline-flex}.email:hover{color:#dfff52}.scene-index{right:var(--page-inset);z-index:10;pointer-events:none;mix-blend-mode:difference;color:#fff;align-items:center;gap:10px;font-size:.65rem;line-height:1.5;display:flex;position:fixed;bottom:27px}.index-line{background:currentColor;width:32px;height:1px}@keyframes pulse{50%{box-shadow:0 0 0 7px #0000}}html:not([data-world-ready]) .software{background:#dfff52}html:not([data-world-ready]) .assets{background:#e9e9e5}html:not([data-world-ready]) .games{background:#3858e9}@media (max-width:750px){:root{--header-height:64px;--page-gutter:24px}.site-header{gap:12px}.identity{gap:8px;font-size:.76rem}.identity-mark{width:28px;height:28px}.site-header nav{gap:14px;font-size:.73rem}.site-header nav a{min-height:40px}.header-contact{padding-inline:13px}.chapter{padding-top:calc(var(--header-height) + 24px);padding-bottom:60px}.chapter h1,.chapter h2{max-width:100%;font-size:clamp(42px,min(10.5vw,9svh),72px)}.start h1{font-size:clamp(66px,min(16vw,13svh),100px)}.chapter-meta{gap:10px;margin-bottom:20px;font-size:.57rem}.chapter-meta span:first-child{padding:7px 10px}.chapter-meta span:last-child{max-width:180px}.chapter-summary{max-width:420px;margin-bottom:20px;font-size:.95rem}.project-stack{gap:10px;max-width:100%;margin-bottom:18px}.project-stack article{gap:12px;padding:13px}.project-stack h3{font-size:1.15rem}.project-stack p{font-size:.75rem}.project-state{font-size:.52rem}.chapter-link{font-size:.65rem}.status-line{font-size:.6rem}.contact footer{padding-right:0;font-size:.56rem;bottom:20px}.scene-index{font-size:.6rem;bottom:72px}.chapter-foot{font-size:.56rem;bottom:20px}.email{gap:14px;font-size:clamp(16px,4.7vw,24px)}}@media (max-height:650px){:root{--header-height:60px}.chapter{padding-top:calc(var(--header-height) + 18px);padding-bottom:58px}.chapter-meta{margin-bottom:14px}.chapter h1,.chapter h2{margin-bottom:16px;font-size:clamp(36px,9svh,60px)}.start h1{font-size:clamp(52px,12svh,78px)}.hero-line{margin-bottom:16px;font-size:20px}.chapter-summary{margin-bottom:16px;font-size:14px}.project-stack article{gap:10px;padding:12px}.project-stack{margin-bottom:14px}.status-line{margin-bottom:18px}}@media (max-height:450px){:root{scroll-snap-type:y proximity}.chapter{min-height:100svh}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media (max-width:480px){.identity>span:last-child{display:none}.site-header nav{gap:12px;font-size:.7rem}.header-contact{padding-inline:10px}}html[data-slides-ready],html[data-slides-ready] body{overscroll-behavior:none;scroll-behavior:auto;scroll-snap-type:none;height:100%;overflow:hidden}html[data-slides-ready] main{will-change:transform;width:100%;transition:transform .6s cubic-bezier(.22,1,.36,1);position:fixed;inset:0 0 auto}html[data-slides-ready] .chapter{scroll-snap-align:none;height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}html[data-slides-ready] .chapter-content{transform-origin:0;flex-shrink:0}.chapter:focus{outline:none}.progress span{transition:width .6s cubic-bezier(.22,1,.36,1)}.start h1.hero-title{letter-spacing:-.065em;max-width:64%;margin-bottom:clamp(24px,4dvh,40px);font-size:clamp(56px,min(6.8vw,11dvh),116px);font-weight:600;line-height:1.04}.hero-title>span{text-wrap:balance;max-width:9em}.hero-title .period{display:inline}.start .hero-line{letter-spacing:-.02em;max-width:380px;margin-bottom:28px;font-size:clamp(16px,1.35vw,21px);line-height:1.5}@media (max-width:750px){.start h1.hero-title{max-width:100%;margin-bottom:24px;font-size:clamp(36px,min(10vw,8.5dvh),64px)}.start .hero-line{max-width:300px;font-size:16px}}@media (max-height:650px) and (min-width:751px){.start h1.hero-title{margin-bottom:20px;font-size:clamp(36px,10dvh,64px)}.start .hero-line{margin-bottom:18px;font-size:16px}}
