html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}:root{--bg:#050505;--surface:#101014;--surface-warm:#1f1b08;--fg:#fff7d6;--fg-2:#f6e79c;--muted:#b9a85d;--meta:#fc0;--border:#2338ff;--border-soft:#17218a;--accent:#fc0;--accent-on:#050505;--accent-hover:color-mix(in oklab, var(--accent), black 8%);--accent-active:color-mix(in oklab, var(--accent), black 14%);--success:#0f6;--warn:#f90;--danger:#ff3b3b;--font-display:"Press Start 2P", "Arial Black", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-mono:"Press Start 2P", ui-monospace, monospace;--text-xs:10px;--text-sm:12px;--text-base:14px;--text-lg:16px;--text-xl:20px;--text-2xl:30px;--text-3xl:44px;--text-4xl:64px;--leading-body:1.6;--leading-tight:1.08;--tracking-display:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--section-y-desktop:84px;--section-y-tablet:60px;--section-y-phone:44px;--radius-sm:10px;--radius-md:18px;--radius-lg:9999px;--radius-pill:9999px;--elev-flat:none;--elev-ring:0 0 0 1px var(--border);--elev-raised:0 0 0 2px #2338ff, 0 22px 60px #00000075;--focus-ring:0 0 0 4px #ffcc0057;--motion-fast:90ms;--motion-base:.16s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--container-max:1080px;--container-gutter-desktop:32px;--container-gutter-tablet:24px;--container-gutter-phone:16px}@font-face{font-family:"Press Start 2P";src:url(/fonts/press-start-2p.ttf)format("truetype");font-display:swap}*{box-sizing:border-box}html{scroll-behavior:auto}body{background:var(--bg);color:var(--fg);font:400 16px/1.6 var(--font-body);transition:background-color .35s var(--ease-standard),color .35s var(--ease-standard);margin:0}@media (hover:hover) and (pointer:fine){.aura-cursor.portfolio-cursor{pointer-events:none;filter:drop-shadow(0 0 3px #050505)drop-shadow(0 0 4px #fff)!important}.aura-cursor-center-dot,.aura-cursor-dot,.aura-cursor-trail{pointer-events:none;mix-blend-mode:difference;filter:drop-shadow(0 0 2px #050505)drop-shadow(0 0 2px #fff)}input:not([type=button]):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,[contenteditable=true]{cursor:text!important}}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.pixel-button{isolation:isolate;font-family:var(--font-display);letter-spacing:.02em;justify-content:center;align-items:center;font-weight:400;line-height:1;position:relative;overflow:hidden}.pixel-button:before{content:"";z-index:0;background:var(--surface-warm);pointer-events:none;transition:transform .22s steps(8,end);position:absolute;inset:2px;transform:translate(-102%)}.pixel-button:hover:before{transform:translate(0)}.pixel-button:active:before{transition-duration:90ms;transform:translate(0)}.pixel-button>span{z-index:1;align-items:center;line-height:1.35;display:inline-flex;position:relative}.frame{width:min(calc(100% - 64px),var(--container-max));margin-inline:auto}.site-header{z-index:20;border-bottom:2px dotted var(--border-soft);background:var(--bg);transition:background-color .35s var(--ease-standard),box-shadow var(--motion-base) steps(2,end);position:sticky;top:0}.site-header.is-scrolled{box-shadow:0 4px 0 var(--border-soft)}.header-inner{align-items:center;gap:24px;min-height:76px;display:flex}.brand{white-space:nowrap;font:10px/1.6 var(--font-display);letter-spacing:.06em;align-items:center;gap:12px;display:inline-flex}.brand-mark{font:24px/1 var(--font-body);color:var(--accent)}.site-header nav{border:1px solid var(--border-soft);background:var(--surface);box-shadow:3px 3px 0 var(--border-soft);gap:0;margin-left:auto;padding:4px;display:flex}.site-header nav a,.site-footer a{min-height:44px;color:var(--fg);align-items:center;display:inline-flex}.site-header nav a{min-width:82px;font:400 9px/1.4 var(--font-display);transition:background-color var(--motion-base) steps(3,end),border-color var(--motion-base) steps(3,end);border-bottom:4px solid #0000;justify-content:center;padding:0 12px}.site-header nav a:hover{background:var(--surface-warm)}.site-header nav a[aria-current=location]{border-bottom-color:var(--accent);background:var(--surface-warm)}.site-footer a{letter-spacing:.02em;font-size:13px}.site-footer a:hover{text-underline-offset:5px;text-decoration:underline}.world-controls{align-items:center;display:flex}.theme-control{border:2px solid var(--border);background:var(--surface);min-height:44px;color:var(--fg);box-shadow:3px 3px 0 var(--border-soft);cursor:pointer;transition:transform var(--motion-fast) steps(2,end),box-shadow var(--motion-fast) steps(2,end);border-radius:0;align-items:center;gap:10px;padding:0 14px;font-size:9px;display:inline-flex}.theme-control:hover{box-shadow:5px 5px 0 var(--border-soft);transform:translate(-2px,-2px)}.theme-control:active{box-shadow:1px 1px 0 var(--border-soft);transform:translate(2px,2px)}.theme-symbol{color:var(--accent);font-size:21px;line-height:1}.switch-track{border:1px solid var(--muted);border-radius:var(--radius-pill);align-items:center;width:25px;height:14px;padding:2px;display:flex}.switch-track span{background:var(--accent);width:8px;height:8px;transition:transform .25s var(--ease-standard);border-radius:50%}html[data-theme=day] .switch-track span{transform:translate(10px)}.hero{padding-top:36px}.hero-main{background:var(--surface);min-height:560px;box-shadow:10px 10px 0 var(--border-soft);transition:background-color .35s var(--ease-standard),box-shadow .35s var(--ease-standard);grid-template-columns:1.08fr .92fr;display:grid;position:relative;overflow:hidden}.hero-main:before,.hero-main:after{content:"";z-index:3;border:16px solid #0000;pointer-events:none;transition:opacity .35s var(--ease-standard);border-image-slice:16;border-image-width:16px;border-image-repeat:stretch;position:absolute;inset:0}.hero-main:before{opacity:1;border-image-source:url(/assets/pixel-portfolio/hero-frame-night.svg)}.hero-main:after{opacity:0;border-image-source:url(/assets/pixel-portfolio/hero-frame-day.svg)}.frame-corner{z-index:4;background:var(--border);opacity:0;pointer-events:none;width:8px;height:8px;position:absolute;transform:scale(.5)}.frame-corner-tl{top:10px;left:10px}.frame-corner-tr{top:10px;right:10px}.frame-corner-br{bottom:10px;right:10px}.frame-corner-bl{bottom:10px;left:10px}.hero-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(34px,5vw,72px);display:flex}.hero h1{max-width:19ch;font:400 clamp(25px,2.65vw,36px)/1.5 var(--font-display);letter-spacing:-.025em;text-wrap:balance;margin:0 0 26px}.hero-copy>p{max-width:42ch;color:var(--fg-2);margin:0 0 32px;font-size:17px;line-height:1.6}.btn{white-space:nowrap;letter-spacing:.02em;border:0;border-radius:0;justify-content:center;align-items:center;gap:12px;width:224px;height:56px;min-height:56px;padding:0 14px;font-size:10px;display:inline-flex}.btn-primary{color:var(--accent-on);background:url(/assets/pixel-portfolio/button-night-default.svg) 50%/100% 100% no-repeat}.btn-primary:before{content:none}.btn-primary:hover{color:var(--accent-on);background-image:url(/assets/pixel-portfolio/button-night-hover.svg)}.btn-primary:active{color:var(--accent-on);background-image:url(/assets/pixel-portfolio/button-night-pressed.svg)}.btn-primary:disabled,.btn-primary[aria-disabled=true]{color:var(--accent-on);pointer-events:none;background-image:url(/assets/pixel-portfolio/button-night-disabled.svg)}.scene{background:var(--border-soft);border-left:2px solid var(--border);min-height:560px;position:relative;overflow:hidden}.scene img{object-fit:cover;object-position:61% center;filter:saturate(.62)brightness(.39)hue-rotate(18deg);width:100%;height:100%;transition:filter .7s var(--ease-standard);position:absolute;inset:0}.scene-veil{background:linear-gradient(0deg,var(--bg),transparent 45%);opacity:.55;pointer-events:none;transition:background .7s var(--ease-standard),opacity .7s var(--ease-standard);position:absolute;inset:0}.scene:after{content:"";pointer-events:none;background:radial-gradient(circle at 54% 13%,var(--fg) 0 1px,transparent 2px),radial-gradient(circle at 86% 37%,var(--fg) 0 1px,transparent 2px),radial-gradient(circle at 35% 31%,var(--fg) 0 1px,transparent 2px);opacity:.75;transition:opacity .7s var(--ease-standard);position:absolute;inset:0}.celestial-sprite{z-index:2;pointer-events:none;width:72px;height:72px;image-rendering:pixelated;filter:drop-shadow(0 0 14px var(--fg-2));background-image:url(/assets/celestial-sprite-sheet.svg);background-repeat:no-repeat;background-size:200% 100%;position:absolute;top:14%;left:65%}.sun-sprite{opacity:0;background-position:0;transform:translate(150px,130px)}.moon-sprite{opacity:1;background-position:100%;transform:translate(0)}.work,.approach{padding-top:110px}.section-heading{max-width:720px;margin-bottom:40px}.section-heading h2{font:400 clamp(22px,2.5vw,30px)/1.5 var(--font-display);letter-spacing:-.02em;margin:0 0 15px}.section-heading p{max-width:52ch;color:var(--fg-2);margin:0;font-size:16px}.work .section-heading h2,.approach .section-heading h2,.contact h2{width:fit-content;position:relative}.work .section-heading h2:after,.approach .section-heading h2:after,.contact h2:after{content:"";background:repeating-linear-gradient(90deg,var(--accent) 0 5px,transparent 5px 11px);opacity:0;clip-path:inset(0 100% 0 0);width:50%;height:5px;position:absolute;bottom:-10px;left:0}.work.is-active .section-heading h2:after,.approach.is-active .section-heading h2:after,.contact.is-active h2:after{opacity:1;animation:pixel-fill .42s var(--ease-standard) both}@keyframes pixel-fill{to{clip-path:inset(0)}}.discipline-list{border-top:2px dotted var(--border)}.discipline-list article{border-bottom:1px solid var(--border-soft);min-height:110px;transition:background-color var(--motion-base),opacity .42s var(--ease-standard),transform .42s var(--ease-standard);grid-template-columns:230px 1fr;align-items:center;gap:36px;padding:24px 4px;display:grid}html.scroll-ready .discipline-list article:not(.is-revealed){opacity:.55;transform:translateY(12px)}.discipline-list h3{font:400 21px/1.5 var(--font-display);letter-spacing:-.02em;transition:transform var(--motion-base) steps(2,end);margin:0}.discipline-list p{max-width:55ch;color:var(--fg-2);margin:0;font-size:15px}@media (hover:hover){.discipline-list article:hover{background:color-mix(in oklch,var(--surface) 72%,var(--border) 28%)}.discipline-list article:hover h3{transform:translate(6px)}}.request-path{border:2px solid var(--border);background:var(--surface);grid-template-columns:240px 1fr;display:grid}.path-tabs{border-right:2px solid var(--border);grid-template-rows:repeat(4,1fr);display:grid}.path-tabs button{border:0;border-bottom:1px dotted var(--border);min-height:72px;color:var(--fg);text-align:left;cursor:pointer;background:0 0;justify-content:flex-start;padding:14px 22px;font-size:9px}.path-tabs button:last-child{border-bottom:0}.path-tabs button[aria-selected=true]{background:var(--accent);color:var(--accent-on);font-weight:400}.path-tabs button[aria-selected=true]:before{background:var(--accent-hover)}.path-panel{flex-direction:column;justify-content:center;min-height:288px;padding:clamp(32px,5vw,64px);display:flex}.path-panel h3{max-width:26ch;font:400 clamp(18px,2vw,24px)/1.6 var(--font-display);letter-spacing:-.02em;margin:0 0 20px}.path-panel p{max-width:52ch;color:var(--fg-2);margin:0;font-size:16px}.contact{border-top:2px dotted var(--border);margin-top:120px;padding:88px 0 108px}.contact h2{max-width:22ch;font:400 clamp(24px,3vw,36px)/1.5 var(--font-display);letter-spacing:-.025em;margin:0 0 22px}.contact p{max-width:55ch;color:var(--fg-2);margin:0}.site-footer{border-top:1px solid var(--border-soft);min-height:70px;color:var(--muted);justify-content:space-between;align-items:center;gap:24px;font-size:12px;display:flex}html[data-theme=day] body{background:color-mix(in oklch,var(--fg) 84%,var(--border) 16%);color:var(--bg)}html[data-theme=day] .site-header{border-color:color-mix(in oklch,var(--border),var(--fg) 40%);background:color-mix(in oklch,var(--fg) 84%,var(--border) 16%)}html[data-theme=day] .site-header nav{background:var(--fg);border-color:var(--border-soft)}html[data-theme=day] .site-header nav a:hover,html[data-theme=day] .site-header nav a[aria-current=location]{background:color-mix(in oklch,var(--fg) 82%,var(--border) 18%)}html[data-theme=day] .hero-main,html[data-theme=day] .request-path{background:color-mix(in oklch,var(--fg) 94%,var(--border) 6%)}html[data-theme=day] .hero-main{box-shadow:10px 10px 0 color-mix(in oklch,var(--border) 36%,var(--fg) 64%)}html[data-theme=day] .hero-main:before{opacity:0}html[data-theme=day] .hero-main:after{opacity:1}html[data-theme=day] .btn-primary{background-image:url(/assets/pixel-portfolio/button-day-default.svg)}html[data-theme=day] .btn-primary:hover{background-image:url(/assets/pixel-portfolio/button-day-hover.svg)}html[data-theme=day] .btn-primary:active{background-image:url(/assets/pixel-portfolio/button-day-pressed.svg)}html[data-theme=day] .btn-primary:disabled,html[data-theme=day] .btn-primary[aria-disabled=true]{background-image:url(/assets/pixel-portfolio/button-day-disabled.svg)}html[data-theme=day] .hero-copy>p,html[data-theme=day] .section-heading p,html[data-theme=day] .discipline-list p,html[data-theme=day] .path-panel p,html[data-theme=day] .contact p{color:var(--surface)}html[data-theme=day] .section-heading h2:after,html[data-theme=day] .contact h2:after{display:none}@media (hover:hover){html[data-theme=day] .discipline-list article:hover{background:color-mix(in oklch,var(--fg) 84%,var(--border) 16%)}}html[data-theme=day] .scene img{filter:saturate(.94)brightness(1.2)}html[data-theme=day] .scene-veil{background:linear-gradient(0deg,color-mix(in oklch,var(--fg) 94%,var(--border) 6%),transparent 38%);opacity:.35}html[data-theme=day] .scene:after{opacity:0}html[data-theme=day] .sun-sprite{opacity:1;transform:translate(0)}html[data-theme=day] .moon-sprite{opacity:0;transform:translate(-150px,130px)}html[data-theme=day] .site-header nav a,html[data-theme=day] .site-footer a{color:var(--bg)}html[data-theme=day] a:focus-visible,html[data-theme=day] button:focus-visible{outline-color:var(--border-soft)}html[data-theme=day] .site-header nav a[aria-current=location]{border-bottom-color:var(--border-soft)}html[data-theme=day] .theme-control{background:var(--fg);color:var(--bg)}html[data-theme=day] .theme-control:before{background:color-mix(in oklch,var(--fg) 89%,var(--border) 11%)}html[data-theme=day] .theme-symbol{color:var(--border-soft)}html[data-theme=day] .switch-track{border-color:var(--border-soft)}html[data-theme=day] .switch-track span{background:var(--border-soft)}html[data-theme=day] .path-tabs button{color:var(--bg)}html[data-theme=day] .path-tabs button[aria-selected=true]{color:var(--accent-on)}html[data-theme=day] .path-tabs button:before{background:color-mix(in oklch,var(--fg) 82%,var(--border) 18%)}html[data-theme=day] .path-tabs button[aria-selected=true]:before{background:var(--accent-hover)}html[data-theme=day] .site-footer{color:var(--surface)}@media (width<=850px){.header-inner{flex-wrap:wrap;gap:10px;padding:10px 0}.site-header nav{order:3;justify-content:center;width:100%;margin-left:0}.site-header nav a{flex:1;min-width:0;padding-inline:4px}.world-controls{margin-left:auto}.hero-main{grid-template-columns:1fr}.scene{border-left:0;border-top:2px solid var(--border);min-height:320px}.hero-copy{min-height:420px}.hero h1{max-width:19ch}.work,.approach{padding-top:78px}}@media (width<=600px){.frame{width:min(calc(100% - 32px),var(--container-max))}.brand{font-size:8px}.hero{padding-top:16px}.hero-main{box-shadow:5px 5px 0 var(--border-soft)}.hero-copy{min-height:370px;padding:38px 25px}.hero h1{font-size:clamp(21px,5.6vw,28px)}.hero-copy>p{font-size:15px}.scene{min-height:260px}.section-heading h2{font-size:21px}.discipline-list article{grid-template-columns:1fr;gap:6px;min-height:auto;padding:22px 0}.discipline-list h3{font-size:17px}.request-path{grid-template-columns:1fr}.path-tabs{border-right:0;border-bottom:2px solid var(--border);grid-template-rows:1fr;grid-template-columns:repeat(4,1fr)}.path-tabs button{text-align:center;border-bottom:0;border-right:1px dotted var(--border);justify-content:center;min-height:55px;padding:6px 2px;font-size:11px}.path-tabs button:last-child{border-right:0}.path-panel{min-height:260px;padding:26px}.path-panel h3{font-size:17px}.contact{margin-top:78px;padding:64px 0}.contact h2{font-size:23px}.site-footer{flex-wrap:wrap;padding:16px 0}.path-tabs button{font-size:7px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.cinematic-hero{isolation:isolate;text-align:center;color:#fff7d6;background:#0b1232;justify-content:center;align-items:center;min-height:min(850px,100svh - 76px);padding:0;display:flex;position:relative;overflow:hidden}.cinema-image,.cinema-image img,.cinema-shade{width:100%;height:100%;position:absolute;inset:0}.cinema-image{z-index:-2}.cinema-image img{object-fit:cover;object-position:center 55%;transform:scale(1.08) translateY(calc(var(--hero-scroll,0) * .045px));will-change:transform}.cinema-day-image{opacity:0;transition:opacity 1.3s}.cinema-shade{background:linear-gradient(#050515ba,#0000 25% 44%,#050515e8),linear-gradient(90deg,#05051555,#0000,#05051555);transition:background 1s}html[data-theme=day] .cinema-day-image{opacity:1}html[data-theme=day] .cinema-shade{background:linear-gradient(#251a2eaa,#0000 30%,#1b163166 67%,#090c29db)}.cinema-sky{z-index:-1;pointer-events:none;width:100%;height:100%;transform:translateY(calc(var(--hero-scroll,0) * -.025px));will-change:transform;position:absolute;inset:0}.sky-stars,.sky-moon,.sky-sun{transition:opacity 1.2s,transform 1.4s cubic-bezier(.2,0,.2,1)}.sky-stars,.sky-moon{opacity:1}.sky-sun{opacity:0;transform-origin:255px 200px;transform:translate(-310px,210px)scale(.85)}.sky-moon{transform-origin:1190px 170px}.sky-ornament{transition:opacity 1s,transform 1.2s cubic-bezier(.2,0,.2,1)}.ornament-west{opacity:0;transform:translate(-170px)}.ornament-east{opacity:.8}.sky-cloud{opacity:0;transition:opacity 1.15s,transform 1.6s cubic-bezier(.2,.65,.2,1)}.sky-cloud-west{transform:translate(-560px)}.sky-cloud-east{transform:translate(560px)}.shooting-star{opacity:0;animation:12s linear infinite hero-shoot-down}html[data-theme=day] .sky-stars,html[data-theme=day] .sky-moon{opacity:0;transform:translateY(-90px)}html[data-theme=day] .sky-sun{opacity:1;transform:translate(0)scale(1)}html[data-theme=day] .sky-cloud{opacity:.82;transform:translate(0)}html[data-theme=day] .ornament-west{opacity:.8;transform:translate(0)}html[data-theme=day] .ornament-east{opacity:0;transform:translate(170px)}html[data-theme=day] .shooting-star{opacity:0;animation:none}@keyframes hero-shoot-down{0%,28%{opacity:0;transform:translate(0)}30%,35%{opacity:1}42%{opacity:.65}48%,to{opacity:0;transform:translate(-450px,550px)}}.cinema-overline,.cinema-bottom{color:#fff7d6;text-align:left;font:8px/1.6 var(--font-display);letter-spacing:.03em;justify-content:space-between;gap:20px;display:flex;position:absolute;left:4vw;right:4vw}.cinema-bottom{align-items:center;bottom:30px}.cinema-bottom a{color:#fc0;align-items:center;gap:14px;display:flex}.cinema-bottom a:hover{color:#fff7d6}.cinema-bottom a span{font-size:20px}.cinema-postcard-copy{width:min(850px,90%);translate:0 calc(var(--hero-scroll,0) * -.012px);padding:40px 0;animation:.8s both hero-copy-enter}.cinema-symbol{color:#fc0;font-size:34px}.cinema-postcard-copy>p:first-of-type{font:9px/1.6 var(--font-display);letter-spacing:.1em}.cinematic-hero h1{max-width:none;font:clamp(30px,5.5vw,74px)/1.4 var(--font-display);letter-spacing:-.065em;text-shadow:6px 7px #050515bb;margin:18px auto}.cinematic-hero h1 em{color:#fc0;font-style:normal}.cinema-lede{color:#fff7d6;max-width:520px;margin:18px auto;font-size:17px;line-height:1.7}@keyframes hero-copy-enter{0%{opacity:0;translate:0 25px}to{opacity:1;translate:0}}@media (width<=700px){.cinematic-hero{min-height:calc(100svh - 126px);padding:0}.cinema-overline span:last-child,.cinema-bottom>span:last-child{display:none}.cinema-overline,.cinema-bottom{font-size:6px}.cinematic-hero h1{font-size:clamp(26px,7vw,48px)}.cinema-lede{font-size:15px}.cinema-postcard-copy>p:first-of-type{font-size:7px}}@media (prefers-reduced-motion:reduce){.cinema-image img,.cinema-sky{transform:none!important}.cinema-postcard-copy{animation:none!important;translate:0!important}.cinema-sky *,.cinema-day-image,.cinema-shade{transition:none!important;animation:none!important}.shooting-star{opacity:0!important}}.skip-link{z-index:101;color:#050505;background:#fc0;padding:12px 16px;position:fixed;top:12px;left:12px;transform:translateY(-170%)}.skip-link:focus{transform:none}.world-brand{z-index:19;color:#fff7d6;min-height:44px;font:9px/1.6 var(--font-display);white-space:nowrap;backdrop-filter:blur(8px);background:#080d29bd;align-items:center;gap:10px;padding:0 12px;transition:transform .2s,background .2s;display:inline-flex;position:fixed;top:21px;left:clamp(18px,4vw,60px)}.world-brand:hover{background:#182661;transform:translateY(-3px)}.world-brand span{color:#fc0;font:25px/1 var(--font-body)}.world-theme{z-index:19;position:fixed;top:21px;right:clamp(18px,4vw,60px)}.world-theme .theme-control{color:#fff7d6;backdrop-filter:blur(8px);background:#080d29bd;border-color:#fc0;box-shadow:4px 4px #050515aa}.world-theme .theme-control:hover{box-shadow:6px 6px #050515aa}.world-theme .theme-control .theme-symbol{color:#fc0}.world-theme .theme-control .switch-track{border-color:#fff7d6}.world-theme .theme-control .switch-track span{background:#fc0}html[data-theme=day] .world-theme .theme-control{color:#fff7d6;background:#080d29bd;border-color:#fc0}html[data-theme=day] .world-theme .theme-control .theme-symbol{color:#fc0}html[data-theme=day] .world-theme .theme-control .switch-track{border-color:#fff7d6}html[data-theme=day] .world-theme .theme-control .switch-track span{background:#fc0}.cinematic-hero{min-height:100svh}.cinema-overline{top:87px}.cinema-bottom>span:last-child{display:none}.cinema-bottom a{transition:transform .2s,color .2s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.cinema-bottom a:hover{transform:translate(-50%,-4px)}.world-map-control{z-index:25;position:fixed;bottom:26px;right:26px}.world-map-trigger{color:#fff7d6;text-align:left;cursor:pointer;background:#0e1739;border:2px solid #fc0;grid-template-columns:48px auto;align-items:center;column-gap:12px;min-width:177px;padding:10px 18px 10px 11px;transition:transform .2s,box-shadow .2s;display:grid;box-shadow:6px 6px #0508199c}.world-map-trigger:hover{transform:translate(-3px,-3px);box-shadow:9px 9px #0508199c}.world-map-trigger:active{transform:translate(2px,2px);box-shadow:3px 3px #0508199c}.world-map-glyph{color:#050505;width:48px;height:48px;font:28px var(--font-body);background:#fc0;border-radius:50%;grid-row:1/3;place-items:center;display:grid}.world-map-location{font:11px/1.5 var(--font-display)}.world-map-action{color:#fc0;font:7px/1.6 var(--font-display)}.world-map-panel{z-index:24;color:#fff7d6;backdrop-filter:blur(18px);opacity:0;visibility:hidden;background:#08102cf7;grid-template-rows:auto 1fr auto;grid-template-columns:1fr minmax(370px,640px) 1fr;gap:20px;padding:40px clamp(25px,6vw,90px);transition:opacity .3s,transform .3s,visibility .3s;display:grid;position:fixed;inset:0;overflow-y:auto;transform:scale(1.03)}.world-map-panel.is-open{z-index:30;opacity:1;visibility:visible;transform:scale(1)}.world-map-close{color:#fff7d6;font:9px var(--font-display);cursor:pointer;background:0 0;border:1px solid #fc0;grid-column:3;place-self:start end;padding:10px 12px;transition:background .2s,color .2s}.world-map-close:hover{color:#050505;background:#fc0}.world-map-close span{font:23px var(--font-body);vertical-align:middle;margin-left:8px}.world-map-heading{grid-area:1/2;align-self:end;padding-top:35px}.world-map-heading>span,.world-map-footnote{color:#fc0;font:9px/1.7 var(--font-display)}.world-map-heading strong{font:clamp(19px,2.5vw,35px)/1.5 var(--font-display);letter-spacing:-.05em;margin-top:16px;display:block}.world-map-panel nav{border-top:1px solid #5e6d9a;grid-area:2/2;align-self:center}.world-map-panel nav a{border-bottom:1px solid #5e6d9a;grid-template-columns:1fr auto 36px;align-items:center;gap:15px;min-height:90px;transition:padding-left .22s,background .22s;display:grid}.world-map-panel nav a:hover,.world-map-panel nav a[aria-current=location]{background:#1d2c5c;padding-left:14px}.world-map-panel nav a span{font:clamp(17px,2.2vw,29px)/1.4 var(--font-display);letter-spacing:-.05em}.world-map-panel nav a small{color:#c0c7dd;font-size:13px}.world-map-panel nav a b{color:#fc0;font:25px var(--font-body)}.world-map-footnote{grid-area:3/2;align-self:end}body.world-map-open{overflow:hidden}@media (width<=700px){.world-brand{padding:0 8px;font-size:7px;top:12px;left:12px}.world-brand span{font-size:21px}.world-theme{top:12px;right:12px}.world-theme .theme-control{gap:5px;padding:0 9px;font-size:7px}.world-theme .theme-control .theme-symbol{font-size:18px}.world-theme .switch-track{display:none}.cinematic-hero{min-height:100svh}.cinema-overline{top:75px}.cinema-overline span:last-child{display:none}.cinema-bottom{bottom:92px}.cinema-bottom>span:first-child{display:none}.cinema-bottom a{font-size:11px;left:0;transform:none}.cinema-bottom a:hover{transform:translateY(-4px)}.world-map-control{bottom:12px;right:12px}.world-map-trigger{min-width:155px}.world-map-panel{flex-direction:column;padding:25px 22px;display:flex}.world-map-close{align-self:flex-end}.world-map-heading{padding-top:30px}.world-map-panel nav{width:100%;margin:auto 0}.world-map-panel nav a{grid-template-columns:1fr 25px;min-height:78px}.world-map-panel nav a small{display:none}.world-map-panel nav a span{font-size:18px}.world-map-footnote{margin-top:auto}}@media (width<=390px){.world-brand{gap:5px;font-size:6px}.world-theme .theme-control>span:nth-child(2){display:none}.world-theme .theme-control{justify-content:center;width:44px}}@media (prefers-reduced-motion:reduce){.world-map-panel,.world-map-trigger,.world-map-panel nav a,.world-brand,.cinema-bottom a{transition-duration:.01ms!important}}:root{--wf-ground:#070a1d;--wf-panel:#101735;--wf-panel-alt:#171d41;--wf-ink:#fff7d6;--wf-muted:#c4c9dd;--wf-line:#4b5c9a;--wf-accent:#fc0;--wf-accent-ink:#050505}.selected-work,.experience-section,.contact-section{color:var(--wf-ink)}.selected-work{background:var(--wf-ground);padding:118px 0 120px}.work-intro{grid-template-columns:1.15fr .85fr;align-items:end;gap:40px;margin-bottom:55px;display:grid}.work-intro h2,.experience-intro h2,.contact-inner h2{font:clamp(24px,3.7vw,47px)/1.5 var(--font-display);letter-spacing:-.055em;text-wrap:balance;margin:0}.work-intro p{max-width:39ch;color:var(--wf-muted);margin:0 0 7px;font-size:18px}.featured-project{border:1px solid var(--wf-line);background:var(--wf-panel);position:relative;box-shadow:10px 10px #18265b}.featured-project-media{background:#111b40;height:clamp(340px,43vw,590px);position:relative;overflow:hidden}.featured-project-media:after{content:"";pointer-events:none;opacity:.75;border:12px solid #0000;border-image:url(/assets/pixel-portfolio/hero-frame-night.svg) 16;position:absolute;inset:0}.featured-project-media img{object-fit:cover;object-position:top left;width:100%;height:calc(100% + 90px);transform:translate3d(0,var(--feature-media-y,-40px),0) scale(1.035);will-change:transform;display:block}.featured-project-body{grid-template-columns:1.12fr .88fr;gap:55px;padding:48px 52px 38px;display:grid}.featured-project h3,.project-row h3{font:clamp(21px,2.8vw,36px)/1.5 var(--font-display);letter-spacing:-.06em;margin:0 0 12px}.project-type{color:var(--wf-accent);font:9px/1.7 var(--font-display);display:block}.featured-project-body p,.project-row p{max-width:49ch;color:var(--wf-muted);margin:20px 0 0;font-size:16px}.featured-project-body>div:first-child p{color:var(--wf-ink);font-size:18px}.featured-project-body>div:last-child p{margin:0}.featured-project ul,.project-row ul{flex-wrap:wrap;gap:8px;margin:25px 0 0;padding:0;list-style:none;display:flex}.featured-project li,.project-row li{border:1px solid var(--wf-line);color:var(--wf-muted);padding:7px 10px;font-size:12px;line-height:1.3}.featured-project-body a{border:2px solid var(--wf-accent);background:var(--wf-accent);color:var(--wf-accent-ink);font:9px/1.6 var(--font-display);align-items:center;gap:35px;margin-top:30px;padding:12px 16px;transition:gap .2s,transform .2s,box-shadow .2s;display:inline-flex}.featured-project-body a:hover{box-shadow:5px 5px 0 var(--wf-line);gap:49px;transform:translate(-3px,-3px)}.featured-project-body a span{font:22px/1 var(--font-body)}.project-image-note{color:var(--wf-muted);margin:0 52px 31px;font-size:11px;display:block}.project-list{border-top:1px solid var(--wf-line);margin-top:56px}.project-row{border-bottom:1px solid var(--wf-line);grid-template-columns:minmax(180px,29%) 1fr 58px;align-items:center;gap:35px;min-height:325px;padding:27px 0;display:grid;position:relative;overflow:hidden}.project-row:before{content:"";width:var(--line-progress,0%);background:var(--wf-accent);pointer-events:none;height:3px;position:absolute;top:-1px;left:0}.project-row-art{background:linear-gradient(135deg,#1f326f,#121a3b);border:1px solid #3b4e86;place-items:center;height:265px;display:grid;position:relative;overflow:hidden}.project-row-art img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .35s;position:absolute;inset:0}.project-row-art:hover img{transform:scale(1.04)}.project-row:nth-child(2) .project-row-art{background:linear-gradient(135deg,#47386b,#17204a)}.project-row:nth-child(3) .project-row-art{background:linear-gradient(135deg,#365468,#182142)}.project-row-art:before,.project-row-art:after{content:"";pointer-events:none;border:1px solid #fff7d64d;position:absolute;inset:20px}.project-row-art:after{opacity:.5;border-style:dashed;inset:38px}.project-row-art span{color:#fc0b;font:clamp(85px,10vw,155px)/1 var(--font-body);transform:translate3d(var(--art-travel,0px),0,0) rotate(-12deg);will-change:transform}.project-row h3{font-size:clamp(19px,2.3vw,29px)}.project-row p{margin-top:13px}.project-row .project-detail{font-size:14px}.project-row ul{margin-top:20px}.project-row-link{border:1px solid var(--wf-accent);width:54px;height:54px;color:var(--wf-accent);align-self:start;place-items:center;margin-top:15px;transition:background .2s,color .2s,transform .2s;display:grid}.project-row-link:hover{background:var(--wf-accent);color:var(--wf-accent-ink);transform:translate(4px,-4px)}.project-row-link span{font:28px/1 var(--font-body)}.experience-section{background:var(--wf-ground)}.experience-intro{grid-template-columns:1fr 1fr;align-items:end;gap:40px;padding-top:105px;padding-bottom:70px;display:grid}.experience-intro h2{font-size:clamp(24px,3.4vw,42px)}.experience-intro p{max-width:38ch;color:var(--wf-muted);margin:0 0 7px;font-size:17px}.experience-band{color:#fff7d6;background:#15265c;border-top:1px solid #fff5;align-items:center;display:flex;position:relative;overflow:hidden}.experience-band:before{content:"";width:var(--band-progress,0%);pointer-events:none;background:#fc0;height:5px;position:absolute;top:0;left:0}.experience-band-web{background:#172b6b}.experience-band-mobile{background:#352b69}.experience-band-systems{background:#16435d}.experience-band-practice{background:#4c3655}.experience-band-inner{grid-template-columns:39% 61%;align-items:start;padding-top:54px;padding-bottom:58px;display:grid}.experience-band h3{max-width:18ch;font:clamp(17px,2.15vw,27px)/1.55 var(--font-display);letter-spacing:-.055em;margin:0;padding-right:28px}.experience-band-copy{border-left:1px solid #e8ecff6b;padding-left:38px}.experience-band p{color:#e1e4f0;max-width:52ch;margin:0;font-size:17px}.experience-band ul{flex-wrap:wrap;gap:9px;margin:21px 0 0;padding:0;list-style:none;display:flex}.experience-band li{color:#f5f0dc;border:1px solid #e8ecff8c;padding:7px 10px;font-size:12px}.contact-section{border-top:2px solid var(--wf-line);background:#111a3d;padding:115px 0 125px}.contact-inner{grid-template-columns:1.4fr .6fr;align-items:end;gap:70px;display:grid}.contact-inner h2{max-width:17ch}.contact-inner p{max-width:45ch;color:var(--wf-muted);margin:26px 0 38px;font-size:17px}.contact-email{border-bottom:2px solid var(--wf-accent);color:var(--wf-accent);font:clamp(12px,1.4vw,18px)/1.6 var(--font-display);align-items:center;gap:24px;padding-bottom:10px;transition:gap .2s;display:inline-flex}.contact-email:hover{gap:35px}.contact-email span{font:28px/1 var(--font-body)}.contact-links{flex-direction:column;align-items:flex-start;gap:16px;padding-bottom:8px;font-size:15px;display:flex}.contact-links a{border-bottom:1px solid #0000;transition:color .2s,border-color .2s}.contact-links a:hover{color:var(--wf-accent);border-color:var(--wf-accent)}.contact-links span{color:var(--wf-muted)}html[data-theme=day]{--wf-ground:#f4eedb;--wf-panel:#fffaf0;--wf-panel-alt:#ebe2ca;--wf-ink:#111634;--wf-muted:#41465f;--wf-line:#5365a8;--wf-accent:#2438a8;--wf-accent-ink:#fffaf0}html[data-theme=day] .featured-project{box-shadow:10px 10px #cbd2ed}html[data-theme=day] .featured-project-media:after{border-image-source:url(/assets/pixel-portfolio/hero-frame-day.svg)}html[data-theme=day] .project-row-art{background:linear-gradient(135deg,#dae2f5,#a8b7e9)}html[data-theme=day] .project-row:nth-child(2) .project-row-art{background:linear-gradient(135deg,#e3d8f1,#b6b8e9)}html[data-theme=day] .project-row:nth-child(3) .project-row-art{background:linear-gradient(135deg,#d4e9e9,#b3c5e6)}html[data-theme=day] .project-row-art span{color:#3548a8aa}html[data-theme=day] .project-row-art:before,html[data-theme=day] .project-row-art:after{border-color:#2438a87a}html[data-theme=day] .contact-section{background:#e8e3d4}@media (width<=900px){.featured-project-body{gap:28px;padding:34px}.project-image-note{margin-inline:34px}.project-row{grid-template-columns:190px 1fr 44px;gap:20px}.project-row-art{height:220px}.experience-band-inner{grid-template-columns:36% 64%}.experience-band-copy{padding-left:24px}.contact-inner{gap:35px}}@media (width<=650px){.cinema-postcard-copy{padding:90px 0 130px}.cinematic-hero h1{font-size:clamp(27px,8vw,45px)}.cinema-lede{font-size:15px}.selected-work{padding:75px 0 85px}.work-intro{margin-bottom:34px;display:block}.work-intro h2{font-size:23px}.work-intro p{margin-top:19px;font-size:15px}.featured-project{box-shadow:5px 5px #18265b}.featured-project-media{height:245px}.featured-project-media img{height:calc(100% + 45px)}.featured-project-body{padding:25px 22px 15px;display:block}.featured-project h3{font-size:20px}.featured-project-body>div:last-child{margin-top:22px}.featured-project-body p,.featured-project-body>div:first-child p{font-size:14px}.featured-project-body a{margin-top:24px}.project-image-note{margin:10px 22px 22px}.project-list{margin-top:40px}.project-row{grid-template-columns:90px 1fr;align-items:start;gap:15px;min-height:0;padding:24px 0 68px}.project-row-art{height:120px}.project-row-art:before{inset:10px}.project-row-art:after{inset:18px}.project-row-art span{font-size:62px}.project-row h3{font-size:15px}.project-type{font-size:7px}.project-row p{font-size:13px}.project-row .project-detail{font-size:12px}.project-row ul{gap:5px}.project-row li{padding:5px 7px;font-size:10px}.project-row-link{width:42px;height:42px;margin:0;position:absolute;bottom:18px;right:0}.experience-intro{padding-top:75px;padding-bottom:45px;display:block}.experience-intro h2{font-size:23px}.experience-intro p{margin-top:18px;font-size:15px}.experience-band-inner{grid-template-columns:1fr;padding-top:36px;padding-bottom:39px}.experience-band h3{max-width:none;padding:0;font-size:17px}.experience-band-copy{border:0;margin-top:17px;padding:0}.experience-band p{font-size:14px}.experience-band li{font-size:11px}.contact-section{padding:80px 0 90px}.contact-inner{display:block}.contact-inner h2{font-size:25px}.contact-inner p{font-size:15px}.contact-email{gap:12px;font-size:11px}.contact-links{margin-top:55px}}@media (prefers-reduced-motion:reduce){.featured-project-media img,.project-row-art span{will-change:auto;transform:none!important}.project-row:before,.experience-band:before{width:100%!important}}
