@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-cyrillic-ext-wght-normal.okcGN4Nq.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-cyrillic-wght-normal.BS41q_Tv.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-greek-ext-wght-normal.DQgQPNk4.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-greek-wght-normal.sS1B39LI.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-vietnamese-wght-normal.TKKdAiBA.woff2)format("woff2-variations");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:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-latin-ext-wght-normal.B4u9PlvR.woff2)format("woff2-variations");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:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-latin-wght-normal.DX-nOvPD.woff2)format("woff2-variations");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");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}:root{--bg:#05060b;--fg:#e8e6f0;--nebula1:#2a3590;--nebula2:#5a2a80;--ink:#0e0f14;--paper:#f2f1ee;--muted:#9a98a8;--stage:#0b0c12;--stage-glow:#1b2140;--accent:#e0a63a;--accent2:#5a74de;--gutter:40px;--ease:cubic-bezier(.2, .8, .2, 1);--radius:20px;color-scheme:dark;background:var(--bg)}@view-transition{navigation:auto}*{box-sizing:border-box;margin:0;padding:0}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{color:var(--fg);-webkit-font-smoothing:antialiased;font-family:Inter Tight Variable,system-ui,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}ul{list-style:none}:focus-visible{outline:2px solid var(--accent2);outline-offset:3px;border-radius:6px}.mono{letter-spacing:.04em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:12px}.muted{color:var(--muted)}.skip{z-index:100;background:var(--ink);color:var(--paper);border-radius:999px;padding:10px 16px;position:fixed;top:-60px;left:12px}.skip:focus{top:12px}.preloader{z-index:90;background:var(--ink);color:var(--paper);place-items:center;display:grid;position:fixed;inset:0}.preloader-bar{background:color-mix(in srgb, var(--paper) 18%, transparent);width:120px;height:24px;overflow:hidden}.preloader-fill{background:var(--paper);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.preloader-count{left:var(--gutter);letter-spacing:-.02em;font-size:clamp(48px,9vw,140px);line-height:1;position:absolute;bottom:20px}html.is-loading{overflow:hidden}.nav{z-index:20;padding:22px var(--gutter);transition:transform .6s var(--ease);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed;inset:0 0 auto}.nav.is-hidden{transform:translateY(-110%)}.logo{letter-spacing:-.02em;justify-self:start;font-size:21px;font-weight:560}.logo img{width:auto;height:52px;display:block}@media (width<=720px){.logo img{height:42px}}.nav-links{gap:32px;font-size:15px;display:flex}.nav-actions{justify-self:end;align-items:center;gap:10px;display:flex}.roll{align-items:center;gap:10px;display:inline-flex}.roll>span[data-text]{line-height:1.2;display:inline-block;position:relative;overflow:hidden}.roll>span[data-text]:after{content:attr(data-text);position:absolute;top:100%;left:0}.roll>span[data-text],.roll>span[data-text]:after{transition:transform .45s var(--ease)}@media (hover:hover){.roll:hover>span[data-text]{transform:translateY(-100%)}}.pill{background:var(--paper);height:44px;color:var(--ink);transition:scale .4s var(--ease), background .3s;border-radius:999px;align-items:center;gap:10px;padding:0 20px;font-size:14px;display:inline-flex}.pill:hover{scale:1.04}.pill-light{background:color-mix(in srgb, var(--fg) 10%, var(--bg));color:var(--fg)}.dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.dots{gap:3px;display:inline-flex}.dots i{background:currentColor;border-radius:50%;width:4px;height:4px}.icon-btn{background:color-mix(in srgb, var(--fg) 10%, var(--bg));border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.bars{align-items:center;gap:2px;height:14px;display:flex}.bars i{background:currentColor;border-radius:1px;width:2px;height:3px;transition:height .3s}.sound-btn[aria-pressed=true] .bars i{animation:.9s ease-in-out infinite eq}.sound-btn[aria-pressed=true] .bars i:nth-child(2){animation-delay:-.3s}.sound-btn[aria-pressed=true] .bars i:nth-child(3){animation-delay:-.6s}.sound-btn[aria-pressed=true] .bars i:nth-child(4){animation-delay:-.15s}@keyframes eq{0%,to{height:3px}50%{height:14px}}.menu{width:100%;max-width:none;height:100%;max-height:none;color:var(--ink);background:0 0;border:0;padding:0;position:fixed;inset:0}.menu::backdrop{background:color-mix(in srgb, var(--bg) 45%, transparent);backdrop-filter:blur(3px)}.menu-inner{top:18px;right:var(--gutter);width:min(400px, calc(100% - 2 * var(--gutter)));flex-direction:column;gap:10px;max-height:calc(100% - 36px);display:flex;position:absolute;overflow:hidden auto}.menu-top{justify-content:flex-end;display:flex}.menu-top .pill-light{background:var(--paper);color:var(--ink)}.dots-v{flex-direction:column}.menu-card{background:var(--paper);color:var(--ink);color-scheme:light;border-radius:16px}.menu-nav{padding:10px}.menu-links{flex-direction:column;display:flex}.menu-links a{letter-spacing:-.01em;text-transform:uppercase;border-radius:12px;justify-content:space-between;align-items:center;min-height:56px;padding:8px 18px;font-size:26px;font-weight:500;transition:background .3s;display:flex}.menu-links a:hover,.menu-links a:focus-visible{background:color-mix(in srgb, var(--accent2) 18%, var(--paper))}.menu-mark{place-items:center;width:24px;display:grid}.menu-mark:before{content:"→";opacity:0;transition:opacity .3s, transform .3s var(--ease);font-size:22px;transform:translate(-8px)}.menu-links a:hover .menu-mark:before,.menu-links a:focus-visible .menu-mark:before{opacity:1;transform:none}.menu-links a[aria-current=page] .menu-mark:before{content:"";opacity:1;background:currentColor;border-radius:50%;width:8px;height:8px;transform:none}.menu-news{padding:28px 26px 22px}.menu-news-title{letter-spacing:-.02em;max-width:9em;margin-bottom:22px;font-size:34px;font-weight:480;line-height:1.05}.field{background:color-mix(in srgb, var(--accent2) 10%, var(--paper));border-radius:12px;align-items:center;display:flex}.field input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;flex:1;padding:16px 18px;font-size:17px}.field input::placeholder{color:color-mix(in srgb, var(--ink) 42%, transparent)}.field input:focus{outline:none}.field:focus-within{outline:2px solid var(--accent2);outline-offset:2px}.field button{width:52px;height:52px;color:var(--ink);font-size:20px}.form-status{min-height:1.3em;color:color-mix(in srgb, currentColor 70%, transparent);margin-top:10px;font-size:12px}.menu-labs{background:var(--ink);min-height:76px;color:var(--paper);border:1px solid color-mix(in srgb, var(--fg) 12%, transparent);text-transform:uppercase;color-scheme:dark;align-items:center;gap:18px;padding:18px 26px;font-size:26px;font-weight:500;display:flex}.menu-labs-label{flex:1}.menu-labs:hover{background:color-mix(in srgb, var(--accent2) 22%, var(--ink))}.labs-glyph{width:22px;height:30px;position:relative}.labs-glyph i{background:currentColor;border-radius:50%;width:6px;height:6px;position:absolute;top:0}.labs-glyph i:first-child{left:2px}.labs-glyph i:nth-child(2){right:2px}.labs-glyph b{border:5px solid;border-radius:50%;width:22px;height:22px;position:absolute;bottom:0;left:0}.hero{isolation:isolate;min-height:100svh;padding:100px var(--gutter) 18px;flex-direction:column;gap:20px;display:flex;position:relative}.hero-top{z-index:2;pointer-events:none;justify-content:space-between;align-items:end;gap:48px;display:flex;position:relative}.hero-top .headline,.hero-top .sub{text-shadow:0 2px 28px color-mix(in srgb, var(--bg) 80%, transparent)}.headline{letter-spacing:-.035em;max-width:11em;font-size:clamp(44px,5.6vw,104px);font-weight:520;line-height:.95}.sub{max-width:300px;padding-bottom:.4em;font-size:17px;line-height:1.35}.stage{z-index:1;--fade:linear-gradient(to bottom, #000 0%, #000 80%, #000c 86%, #00000073 92%, #00000026 97%, transparent 100%);-webkit-mask-image:var(--fade);mask-image:var(--fade);position:absolute;inset:0}.stage.gl-fallback{background:radial-gradient(45% 40% at 55% 62%, color-mix(in srgb, var(--accent2) 35%, transparent), transparent 70%)}#gl{opacity:0;touch-action:pan-y;width:100%;height:100%;transition:opacity 1s;display:block;position:absolute;inset:0}.stage-hint{left:var(--gutter);color:color-mix(in srgb, var(--paper) 55%, transparent);pointer-events:none;position:absolute;bottom:64px}.hint-touch{display:none}@media (hover:none){.hint-mouse{display:none}.hint-touch{display:inline}}.hero-foot{z-index:2;pointer-events:none;justify-content:space-between;margin-top:auto;display:flex;position:relative}.section{padding:18vh var(--gutter)}.section-head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:48px;display:flex}.section-title{letter-spacing:-.035em;font-size:clamp(36px,4.6vw,80px);font-weight:520;line-height:1}.about{grid-template-columns:1fr 3fr;gap:40px;display:grid;position:relative}.about>:not(.star-trace){z-index:3;position:relative}.star-trace{z-index:2;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.statement{letter-spacing:-.03em;font-size:clamp(28px,3.4vw,58px);font-weight:480;line-height:1.12}.about .pill{margin-top:40px}.work-grid{grid-template-columns:repeat(2,1fr);gap:40px 24px;display:grid}.card{display:block}.card-media{aspect-ratio:4/3;border-radius:var(--radius);background:var(--stage);position:relative;overflow:hidden}.card-art{transition:transform 1s var(--ease);position:absolute;inset:0}.card-view{opacity:0;background:var(--paper);color:var(--ink);transition:scale .5s var(--ease), opacity .3s;border-radius:999px;padding:12px 20px;position:absolute;top:50%;left:50%;translate:-50% -50%;scale:.6}.card-sample{color:color-mix(in srgb, var(--paper) 70%, transparent);position:absolute;top:14px;left:16px}@media (hover:hover){.card:hover .card-art{transform:scale(1.06)}.card-media:hover .card-view{opacity:1;scale:1}.has-cursor .card-view{display:none}}.card-meta{gap:6px;padding-top:18px;display:grid}.card-tags{letter-spacing:.02em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:14px}.card-title{letter-spacing:-.035em;font-size:clamp(30px,3.3vw,60px);font-weight:460;line-height:1}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-reveal]{opacity:0;transform:translateY(40px)}.footer{background:color-mix(in srgb, var(--ink) 55%, transparent);border:1px solid color-mix(in srgb, var(--fg) 8%, transparent);backdrop-filter:blur(6px);color:var(--paper);border-radius:var(--radius);margin:0 10px 10px;padding:14vh 30px 26px}.footer-heading{letter-spacing:-.045em;max-width:9em;margin:20px 0 48px;font-size:clamp(48px,9vw,160px);font-weight:520;line-height:.92}.footer-mail{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.footer-email{letter-spacing:-.02em;border-bottom:1px solid color-mix(in srgb, var(--paper) 35%, transparent);font-size:clamp(22px,2.6vw,40px)}.footer .pill-light{background:color-mix(in srgb, var(--paper) 12%, var(--ink));color:var(--paper)}.toast{color:var(--accent)}.footer-bottom{color:color-mix(in srgb, var(--paper) 70%, transparent);flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:14vh;display:flex}.footer-bottom nav{gap:20px;display:flex}.project-hero{padding:140px var(--gutter) 40px}.project-title{letter-spacing:-.045em;margin:16px 0 32px;font-size:clamp(48px,8vw,140px);font-weight:520;line-height:.92}.project-meta{flex-wrap:wrap;gap:40px;display:flex}.project-media{margin:0 var(--gutter);aspect-ratio:16/9;border-radius:var(--radius);background:var(--stage);position:relative;overflow:hidden}.project-body{padding:14vh var(--gutter);grid-template-columns:1fr 2fr;gap:40px;display:grid}.project-body p{letter-spacing:-.015em;max-width:30em;font-size:clamp(20px,2vw,30px);line-height:1.3}.next-project{padding:10vh var(--gutter) 14vh;border-top:1px solid color-mix(in srgb, var(--fg) 14%, transparent);display:block}.next-project .project-title{margin:12px 0 0;transition:color .3s}.next-project:hover .project-title{color:var(--accent2)}.split-line{padding-bottom:.06em}@media (width<=860px){:root{--gutter:16px;--radius:14px}.nav{padding:16px var(--gutter);grid-template-columns:1fr auto}.nav-links,.nav-actions>a.pill{display:none}.hero{padding-top:84px}.hero-top{flex-direction:column;align-items:start;gap:12px}.about,.project-body,.work-grid{grid-template-columns:1fr}.menu-inner{top:10px}.menu-links a{font-size:22px}.footer{margin:0 6px 6px;padding:10vh 18px 20px}}.page-hero{padding:150px var(--gutter) 40px;gap:22px;display:grid}.page-title{letter-spacing:-.045em;max-width:12em;font-size:clamp(52px,8.4vw,150px);font-weight:520;line-height:.92}.page-intro{max-width:34em;color:color-mix(in srgb, var(--fg) 82%, transparent);font-size:clamp(18px,1.6vw,24px);line-height:1.35}.section-tight{padding-top:6vh;padding-bottom:12vh}.about-statement{padding-top:8vh}.selectable{user-select:all}.tile-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.tile{border-radius:var(--radius);background:color-mix(in srgb, var(--fg) 5%, transparent);border:1px solid color-mix(in srgb, var(--fg) 10%, transparent);backdrop-filter:blur(6px);align-content:start;gap:14px;min-height:260px;padding:26px;display:grid}.tile h3{letter-spacing:-.02em;margin-top:auto;padding-top:60px;font-size:clamp(22px,2vw,30px);font-weight:500}.tile p{color:color-mix(in srgb, var(--fg) 75%, transparent);line-height:1.4}.rows{display:grid}.row{border-top:1px solid color-mix(in srgb, var(--fg) 14%, transparent);grid-template-columns:80px 1fr 1.2fr;align-items:baseline;gap:24px;padding:30px 0;display:grid}.row:last-child{border-bottom:1px solid color-mix(in srgb, var(--fg) 14%, transparent)}.row h3{letter-spacing:-.035em;font-size:clamp(28px,3.4vw,56px);font-weight:500;line-height:1}.row p{color:color-mix(in srgb, var(--fg) 75%, transparent);font-size:18px;line-height:1.4}.cta-band{padding:12vh var(--gutter);border-top:1px solid color-mix(in srgb, var(--fg) 14%, transparent);gap:14px;display:grid}.cta-band-title{letter-spacing:-.045em;font-size:clamp(44px,7vw,120px);font-weight:520;line-height:.95;transition:color .3s}.cta-band:hover .cta-band-title{color:var(--accent)}.contact-grid{grid-template-columns:1fr 1.3fr;align-items:start;gap:60px;display:grid}.contact-info{gap:36px;display:grid}.contact-info>div{gap:10px;display:grid}.contact-info p{font-size:18px}.contact-email-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.contact-email{letter-spacing:-.02em;user-select:all;font-size:clamp(22px,2.4vw,36px)}.contact-email-sm{font-size:clamp(18px,1.7vw,26px)}.contact-socials{flex-wrap:wrap;gap:22px;display:flex}.contact-socials a{align-items:center;min-height:44px;display:inline-flex}.contact-form{border-radius:var(--radius);background:color-mix(in srgb, var(--fg) 5%, transparent);border:1px solid color-mix(in srgb, var(--fg) 10%, transparent);gap:22px;padding:32px;display:grid}.contact-form label{gap:8px;display:grid}.contact-form input,.contact-form textarea{font:inherit;color:var(--fg);background:color-mix(in srgb, var(--bg) 60%, transparent);border:1px solid color-mix(in srgb, var(--fg) 16%, transparent);resize:vertical;border-radius:12px;padding:14px 16px;font-size:18px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--accent2);outline-offset:2px}.contact-form .pill{justify-self:start}.labs-grid{grid-template-columns:repeat(3,1fr);gap:32px 20px;display:grid}.labs-grid .lab{width:auto}.product-hero{min-height:100svh;padding:120px var(--gutter) 40px;grid-template-columns:1fr 1fr;align-items:center;gap:24px;display:grid}.product-hero-copy{z-index:1;gap:22px;display:grid;position:relative}.product-name{letter-spacing:-.05em;font-size:clamp(64px,10vw,190px);font-weight:520;line-height:.9}.product-logo{width:min(640px,82vw);height:auto;display:block}.product-actions{flex-wrap:wrap;gap:12px;display:flex}.orbit{aspect-ratio:1;width:100%;max-height:80svh}.waitlist{border-radius:var(--radius);background:var(--paper);max-width:760px;color:var(--ink);color-scheme:light;gap:24px;padding:44px;display:grid}.waitlist .section-title{color:var(--ink)}.waitlist-support{color:color-mix(in srgb, var(--ink) 60%, transparent)}.product-teaser{margin:0 var(--gutter) 14vh;border-radius:var(--radius);background:radial-gradient(80% 120% at 85% 20%, color-mix(in srgb, var(--accent2) 30%, transparent), transparent 60%), radial-gradient(60% 100% at 10% 90%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 60%), color-mix(in srgb, var(--fg) 4%, transparent);border:1px solid color-mix(in srgb, var(--fg) 10%, transparent);gap:16px;padding:10vh 40px;display:grid}.product-teaser-name{letter-spacing:-.05em;font-size:clamp(56px,9vw,170px);font-weight:520;line-height:.9;transition:color .3s}.product-teaser:hover .product-teaser-name{color:var(--accent)}.product-teaser-line{max-width:30em;color:color-mix(in srgb, var(--fg) 80%, transparent);font-size:clamp(18px,1.6vw,24px)}@media (width<=860px){.page-hero{padding-top:110px}.tile-grid{grid-template-columns:1fr 1fr}.tile{min-height:200px;padding:20px}.row{grid-template-columns:44px 1fr}.row p{grid-column:2}.contact-grid,.product-hero{grid-template-columns:1fr;gap:40px}.contact-form,.waitlist{padding:22px}.labs-grid{grid-template-columns:1fr 1fr}.product-hero{min-height:0;padding-top:110px}.product-teaser{padding:7vh 22px}}@media (width<=520px){.tile-grid,.labs-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}.statement .w{opacity:1}@view-transition{navigation:none}}.progress{z-index:30;background:var(--accent);transform-origin:0;pointer-events:none;height:2px;position:fixed;inset:0 0 auto;transform:scaleX(0)}.nav-links a[aria-current]>span{text-underline-offset:6px;text-decoration:underline 1px}.card-art{inset:-8% 0}.nav{transition:transform .6s var(--ease), background .3s, padding .3s}.nav.is-scrolled{background:color-mix(in srgb, var(--bg) 70%, transparent);backdrop-filter:blur(14px)saturate(1.4);padding-top:12px;padding-bottom:12px}.footer-bottom a,.menu-foot a,.project-hero>a{align-items:center;min-height:44px;display:inline-flex}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:32px;display:flex}.chip{border:1px solid color-mix(in srgb, var(--fg) 22%, transparent);border-radius:999px;height:44px;padding:0 18px;font-size:14px;transition:background .25s,color .25s}.chip:hover{background:color-mix(in srgb, var(--fg) 10%, var(--bg))}.chip[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.filters [data-filter-status]{margin-left:auto}.work-grid>li[hidden]{display:none}.labs{padding:12vh 0;overflow:hidden}.labs-track{padding:0 var(--gutter);align-items:stretch;gap:24px;width:max-content;display:flex}.labs-intro{flex-direction:column;justify-content:center;gap:20px;width:min(420px,80vw);padding-right:40px;display:flex}.labs-copy{max-width:22em;font-size:18px;line-height:1.4}.lab{width:clamp(260px,30vw,460px)}.lab-art{aspect-ratio:3/4;border-radius:var(--radius);position:relative}.lab-meta{justify-content:space-between;align-items:baseline;padding-top:14px;display:flex}.lab-meta h3{letter-spacing:-.02em;font-size:20px;font-weight:520}.project-pager{padding:0 var(--gutter) 24px;justify-content:space-between;display:flex}.project-pager a{min-height:44px}@media (width<=860px){.labs{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overflow-x:auto}.lab,.labs-intro{scroll-snap-align:start}.lab{width:72vw}}.js-failed [data-reveal],.js-failed .statement .w{opacity:1;transform:none}@media (width>=861px) and (prefers-reduced-motion:reduce){.labs{overflow-x:auto}}.labs:focus-visible{outline-offset:-4px}.media-video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .5s ease, transform 1s var(--ease);position:absolute;inset:0}.media-video[poster],.media-video.is-playing{opacity:1}@media (hover:hover){.card:hover .media-video{transform:scale(1.04)}}.media-toggle{z-index:2;background:color-mix(in srgb, var(--ink) 60%, transparent);min-height:44px;color:var(--paper);backdrop-filter:blur(8px);border-radius:999px;padding:0 16px;position:absolute;bottom:16px;right:16px}.card-sample{z-index:1}.lab-art{overflow:hidden}.card-media:after,.lab-art:after,.project-media:after{content:"";border:2px solid color-mix(in srgb, var(--paper) 30%, transparent);border-top-color:var(--paper);opacity:0;pointer-events:none;z-index:2;border-radius:50%;width:24px;height:24px;margin:-12px 0 0 -12px;transition:opacity .2s;position:absolute;top:50%;left:50%}.is-buffering:after{opacity:1;transition-delay:.15s;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(1turn)}}.has-play-button{position:relative}.media-toggle--corner{position:absolute;top:12px;bottom:auto;right:12px}@media (prefers-reduced-motion:reduce){.is-buffering:after{animation:none}}.lab-art{transform:perspective(1000px) rotateX(calc(var(--scroll-tilt,0) * 1deg));transform-origin:50%;will-change:transform}@media (prefers-reduced-motion:reduce){.lab-art{will-change:auto;transform:none}}.journey{height:100svh;color:var(--paper);position:relative;overflow:hidden}.journey-gl{--fade-from:85%;--feather:linear-gradient(to bottom, transparent 0%, #00000059 4%, #000000bf 9%, #000 15%, #000 var(--fade-from), #0000004d calc(var(--fade-from) + (100% - var(--fade-from)) * .6), transparent 100%);width:100%;height:100%;-webkit-mask-image:var(--feather);mask-image:var(--feather);display:block;position:absolute;inset:0}.journey-copy{z-index:1;height:100%;padding:96px var(--gutter) 32px;pointer-events:none;flex-direction:column;justify-content:space-between;gap:24px;display:flex;position:relative}.journey-heading{background:linear-gradient(110deg, color-mix(in srgb, var(--bg) 85%, transparent), color-mix(in srgb, var(--bg) 35%, transparent));border-radius:14px;align-self:flex-start;max-width:min(560px,46vw);padding:16px 20px}.journey-label{color:color-mix(in srgb, var(--paper) 75%, transparent);margin-bottom:18px}.journey-title{letter-spacing:-.035em;text-wrap:balance;max-width:11em;max-height:5em;transition:opacity .3s var(--ease), max-height .3s var(--ease);font-size:clamp(32px,4vw,64px);font-weight:520;line-height:1.05;overflow:hidden}.journey-chapter{opacity:0;max-height:0;transition:opacity .3s var(--ease);display:block;overflow:hidden}.journey--compact .journey-title{opacity:0;max-height:0}.journey--compact .journey-chapter{opacity:1;max-height:4em}.journey--compact .journey-label{margin-bottom:10px}.journey-steps{background:color-mix(in srgb, var(--bg) 82%, transparent);backdrop-filter:blur(6px);border-radius:14px;align-self:flex-start;width:min(420px,100%);padding:18px 22px;list-style:none}.journey-steps li{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.journey-steps li[aria-current=step]{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;position:relative;overflow:visible}.journey-steps p{max-width:26em;margin-top:8px;font-size:16px;line-height:1.45}.journey.gl-fallback{background:radial-gradient(50% 45% at 60% 45%, color-mix(in srgb, var(--accent2) 30%, transparent), transparent 70%)}@media (width<=860px){.journey-heading{max-width:100%;padding:14px 16px}.journey-title{font-size:32px}.journey-steps{padding:16px}}@media (prefers-reduced-motion:reduce){.journey,.journey-copy{height:auto;min-height:100svh}.journey-heading{max-width:100%}.journey--compact .journey-title{opacity:1;max-height:none}.journey-chapter{display:none}.journey-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;width:100%;display:grid}.journey-steps li,.journey-steps li[aria-current=step]{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;position:static;overflow:visible}}.journey[data-scene=deferred],.journey[data-scene=loading]{background:radial-gradient(ellipse at 65% 45%, color-mix(in srgb, var(--accent2) 16%, var(--bg)), var(--bg) 72%)}.journey[data-scene] .journey-gl{opacity:0;transition:opacity .2s}.journey[data-scene=ready] .journey-gl{opacity:1}.journey[data-scene=failed],.journey[data-scene=failed] .journey-copy{height:auto;min-height:100svh}.journey[data-scene=failed] .journey-steps{gap:24px;display:grid}.journey[data-scene=failed] .journey-steps li{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;position:static;overflow:visible}.cursor{z-index:95;pointer-events:none;position:fixed;top:0;left:0}.cursor-ring{border:1.5px solid var(--accent);width:36px;height:36px;transition:width .35s var(--ease), height .35s var(--ease), margin .35s var(--ease), opacity .3s, background .3s;border-radius:50%;margin:-18px 0 0 -18px}.cursor.is-active .cursor-ring{background:color-mix(in srgb, var(--accent) 22%, transparent);width:64px;height:64px;margin:-32px 0 0 -32px}.cursor.is-hidden .cursor-ring{opacity:0}.cursor-ring{place-items:center;display:grid}.cursor-label{opacity:0;color:var(--ink);font-size:11px;transition:opacity .2s}.cursor[data-mode=view] .cursor-ring,.cursor[data-mode=drag] .cursor-ring,.cursor[data-mode=play] .cursor-ring{background:var(--accent);border-color:var(--accent);width:84px;height:84px;margin:-42px 0 0 -42px}.cursor[data-mode=view] .cursor-label,.cursor[data-mode=drag] .cursor-label,.cursor[data-mode=play] .cursor-label{opacity:1;transition-delay:.1s}.cursor.is-dragging .cursor-ring{width:64px;height:64px;margin:-32px 0 0 -32px}.has-cursor [data-labs]{cursor:grab;user-select:none}.has-cursor [data-labs]:active{cursor:grabbing}.nav{view-transition-name:site-nav}::view-transition-group(*){animation-duration:.85s;animation-timing-function:cubic-bezier(.65,0,.2,1)}::view-transition-group(site-nav){animation:none}::view-transition-old(site-nav){display:none}::view-transition-new(site-nav){animation:none}::view-transition-old(root){animation:.6s cubic-bezier(.7,0,.25,1) both vt-leave}::view-transition-new(root){animation:.85s cubic-bezier(.65,0,.2,1) both vt-enter}@keyframes vt-leave{to{opacity:0;filter:blur(8px);transform:scale(.94)}}@keyframes vt-enter{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}.card-media,.project-media{view-transition-class:media}::view-transition-old(*.media),::view-transition-new(*.media){object-fit:cover;mix-blend-mode:normal;width:100%;height:100%}.curtain{z-index:99;background:var(--ink);clip-path:inset(100% 0 0);pointer-events:none;position:fixed;inset:0}.cursor-trail{z-index:94;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.footer:after{content:"";pointer-events:none;z-index:4;opacity:.07;background:url(/_astro/2026-10-22_film-grain_v01.DI9smYHe.jpg) 0 0/256px;position:absolute;inset:0}.footer{position:relative}@media (prefers-reduced-transparency:reduce){.footer:after{display:none}}.space{z-index:-1;pointer-events:none;background:var(--bg);position:fixed;inset:0;overflow:hidden}.space-starfield{opacity:.36;position:absolute;inset:0}.space-stars{will-change:transform;background-repeat:repeat;width:100%;height:calc(100% + 512px);position:absolute;top:0;left:0}.space-stars-1{animation:7s ease-in-out infinite alternate twinkle}.space-stars-2{animation:5s ease-in-out -2.5s infinite alternate twinkle}@keyframes twinkle{0%{opacity:1}to{opacity:.55}}.space-nebula{opacity:.45;background:radial-gradient(38% 30% at 22% 28%, color-mix(in srgb, var(--nebula1) 55%, transparent), transparent 70%), radial-gradient(30% 26% at 78% 62%, color-mix(in srgb, var(--nebula2) 50%, transparent), transparent 70%), radial-gradient(26% 20% at 60% 18%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 70%), radial-gradient(44% 34% at 40% 88%, color-mix(in srgb, var(--nebula1) 35%, transparent), transparent 72%);filter:blur(30px);animation:90s ease-in-out infinite alternate nebula-drift;position:absolute;inset:-20%}@keyframes nebula-drift{0%{transform:translate(-3%,-2%)scale(1)}to{transform:translate(3%,2%)scale(1.08)}}@media (prefers-reduced-motion:reduce){.space-nebula,.space-stars{animation:none}}.media-image{object-fit:contain;background:#08090d;width:100%;height:100%;position:absolute;inset:0}.card-hook{max-width:36em;font-size:20px;line-height:1.4}.card-role,.image-caption{font-size:13px;line-height:1.5}.image-caption{margin-top:12px}.project-status{color:var(--fg)}.project-play{margin-top:18px}.project-caption{padding:0 var(--gutter)}.case-story{gap:28px;display:grid}.project-body .case-role{font-size:17px;line-height:1.5}.case-gallery{padding:0 var(--gutter) 10vh;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.case-gallery img{object-fit:contain;background:#08090d;border-radius:12px;width:100%;height:auto;max-height:720px;display:block}.footer-support{overflow-wrap:anywhere;margin-top:24px}.footer-brands{flex-wrap:wrap;gap:8px 24px;margin-top:40px;display:flex}.footer-brands a{align-items:center;min-height:44px;display:inline-flex}@media (width<=720px){.case-gallery{grid-template-columns:1fr}.card-hook{font-size:18px}}.statement .w{opacity:.58}
