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}
@font-face{font-family:STIX Two Text;src:url(/fonts/STIXTwoText-Variable.ttf)format("truetype");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:STIX Two Text;src:url(/fonts/STIXTwoText-Italic-Variable.ttf)format("truetype");font-weight:400 700;font-style:italic;font-display:swap}@font-face{font-family:VT323;src:url(/fonts/VT323-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#0c0c10;--paper:#eee9dc;--blue:#302f9e;--focus:#cdbf79}*{box-sizing:border-box}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}body{background:var(--ink);color:var(--paper);margin:0;font-family:STIX Two Text,Georgia,serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}::selection{color:#131026;background:#ddd8b9}button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:4px}h1,h2,p{margin:0}.fixed-stage{z-index:1;position:fixed;inset:0}.scene-canvas{position:absolute;inset:0}.sr-only,.semantic-copy{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:30;background:var(--paper);color:var(--ink);padding:12px;position:fixed;top:12px;left:20px;transform:translateY(-180%)}.skip-link:focus{transform:none}.scroll-story{z-index:2;pointer-events:none;position:relative}.scene-section{pointer-events:none;min-height:1px;position:relative}.hero-scroll-control{z-index:4;color:#0000;background:0 0;border:0;width:38%;height:60px;position:fixed;top:75%;left:6.5%}.hero-scroll-control:focus-visible{color:var(--paper);background:#13121b}.experience:not([data-active-scene=hero]) .hero-scroll-control{visibility:hidden}.project-controls{z-index:6;pointer-events:none;visibility:hidden;justify-content:space-between;display:flex;position:fixed;inset:auto 6% 7%}.experience[data-active-scene=projects] .project-controls{visibility:visible}.project-controls button{pointer-events:auto;color:#0000;background:0 0;border:0;width:58px;height:58px}.project-controls button:focus-visible{color:var(--paper);background:#181525;width:140px}.is-fallback .scroll-story{pointer-events:auto;padding:50px 7%}.is-fallback .scene-section{pointer-events:auto;border-bottom:1px solid #eee9dc22;padding:36px 0;height:auto!important}.is-fallback .semantic-copy{white-space:normal;clip:auto;width:auto;height:auto;margin:0;position:static;overflow:visible}.is-fallback .semantic-copy h1{max-width:950px;font-size:clamp(42px,6vw,90px);line-height:1.08}.is-fallback .semantic-copy h2{font-size:40px}.is-fallback .semantic-copy p{max-width:65ch;margin:20px 0;font:16px/1.6 system-ui}.is-fallback .semantic-copy button{background:var(--blue);border:1px solid #eee9dc55;padding:12px}.is-fallback .last-viewport{display:none}.fallback-notice{background:#28223a;padding:26px 7%;font:15px/1.7 system-ui}.is-fallback .project-controls{visibility:visible;max-width:500px;position:static}.is-fallback .project-controls button{color:var(--paper);width:auto;padding:12px}@media (max-width:899px){.hero-scroll-control{width:90%;height:58px;top:38%;left:5%}.project-controls{inset:auto 7% 5%}.project-controls button{width:50px;height:50px}.is-fallback .scroll-story{padding-top:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}.experience{overflow-anchor:none;position:relative}.project-controls button{width:54px;height:54px}.last-viewport{height:var(--visible-viewport-height,100vh)}.viewport-probe{visibility:hidden;pointer-events:none;width:1px;height:100svh;position:fixed}html.controlled-story,html.controlled-story body{overscroll-behavior:none;height:100%;overflow:hidden}html.controlled-story body{position:fixed;inset:0}.experience[data-scroll-mode=controlled]{touch-action:pinch-zoom;position:fixed;inset:0;overflow:clip}.experience[data-scroll-mode=controlled] .fixed-stage{height:var(--scene-viewport-height);touch-action:pinch-zoom;bottom:auto}.experience[data-scroll-mode=controlled] .project-controls{top:calc(var(--scene-viewport-height)*.93 - 54px);bottom:auto}@media (max-width:899px){.experience[data-scroll-mode=controlled] .project-controls{top:calc(var(--scene-viewport-height)*.95 - 54px)}}.experience[data-native-zoom=true],.experience[data-native-zoom=true] .fixed-stage{touch-action:auto}.experience:not(.is-fallback) .semantic-copy:focus-within{z-index:20;clip:auto;white-space:normal;background:#14111f;border:1px solid #cdbf79;width:auto;height:auto;padding:20px;position:fixed;bottom:24px;left:24px;right:24px}.experience:not(.is-fallback) .semantic-copy:focus-within h1{font-size:28px}.experience:not(.is-fallback) .semantic-copy:focus-within p{margin:12px 0;font:14px/1.5 system-ui}.experience:not(.is-fallback) .semantic-copy:focus-within button{background:#302f9e;border:1px solid #eee9dc66;padding:10px 14px}.project-link{pointer-events:auto;color:#0000;text-align:center;text-decoration:none;position:fixed}.project-link:focus-visible{color:var(--paper);background:#181525;padding:10px}.is-fallback .project-link{color:var(--paper);padding:12px;position:static;width:auto!important;height:auto!important}.is-fallback .project-controls{flex-wrap:wrap;gap:12px;max-width:760px}.experience:not(.is-fallback)[data-project-exiting=true] .project-controls{visibility:hidden}.experience:not(.is-fallback) .hero-scroll-control{left:var(--hero-cta-left);top:var(--hero-cta-top);width:var(--hero-cta-width);height:var(--hero-cta-height)}.project-controls{left:5%;right:5%}.fixed-stage{touch-action:pan-y}@media (max-width:899px){.project-controls{left:7%;right:7%}}.semantic-header{z-index:8;pointer-events:none;position:fixed;inset:0 0 auto}.semantic-header[data-layout-ready=false],.is-booting .semantic-header{visibility:hidden}.semantic-header .navigation{margin:0;padding:0;display:block;position:static;transform:none}.semantic-header button{color:#0000;white-space:nowrap;pointer-events:auto;background:0 0;border:0;min-height:0;padding:0;position:absolute;right:auto}.semantic-header button:focus-visible{color:#0000;outline:2px solid var(--focus);outline-offset:3px;background:0 0}.semantic-header .navigation button{text-align:center;height:44px}.semantic-header[data-compact=true] .navigation button{text-align:left;padding-left:15px}.semantic-header .menu-control{display:block}.semantic-header [hidden]{display:none!important}.menu-glyph{display:none}.menu-backdrop{z-index:7;touch-action:none;background:0 0;position:fixed;inset:0}.fallback-menu-panel{display:none}.scene-section:focus{outline:none}.is-fallback .semantic-header{background:#17151c;height:auto;position:sticky;top:0}.is-fallback .semantic-header button,.is-fallback .semantic-header button:focus-visible{color:var(--paper)}.is-fallback .semantic-header .navigation.menu-is-open{background:0 0}.is-fallback .semantic-header .navigation button:not([aria-current]){text-underline-offset:4px;text-decoration:underline}.is-fallback .semantic-header[data-compact=true] .navigation button{border-bottom:1px solid #eee9dc66;text-decoration:none}.is-fallback .semantic-header[data-compact=true] .navigation button:last-child{border-bottom:0}.is-fallback .semantic-header .navigation button:hover{background:#242421}.is-fallback .fallback-menu-panel{background:#050505;border:1px solid #eee9dc80;border-radius:4px;display:block;position:absolute}.is-fallback .menu-backdrop{background:#0007}.is-fallback .menu-glyph{flex-direction:column;gap:4px;width:18px;margin:auto;display:flex}.is-fallback .menu-glyph i{background:currentColor;width:18px;height:2px}.is-fallback .contact-control{text-underline-offset:4px;text-decoration:underline}.navigation-shield{z-index:40;touch-action:none;position:fixed;inset:0}.contact-actions{visibility:hidden;pointer-events:none}.experience[data-active-scene=contact] .contact-actions{visibility:visible}.contact-actions a{z-index:5;pointer-events:auto;position:fixed}.is-fallback .contact-actions{display:none}
