.site-header{z-index:1;background:var(--background);justify-content:space-between;align-items:center;gap:.75rem 1.25rem;min-height:4.25rem;display:flex;position:sticky;top:0}.site-name img{display:block}.site-header nav{align-items:center;gap:1.625rem;display:flex;position:relative}.site-header nav a{color:var(--text);letter-spacing:.035em;text-transform:uppercase;opacity:.65;padding-block:.75rem;font-size:1rem;font-weight:500;line-height:1;text-decoration:none;transition:opacity .18s}.site-header nav a:hover,.site-header nav a:focus-visible,.site-header nav a[aria-current=location]{opacity:1}.nav-indicator{opacity:0;pointer-events:none;border-bottom:1px dotted;width:0;position:absolute;bottom:6px;left:0}.nav-glyph{vertical-align:top;perspective:100px;height:1em;display:inline-block;overflow:hidden}.nav-glyph-roll{transform-origin:50% .5em;display:block}.nav-glyph-face{height:1em;line-height:1;display:block}.nav-toggle{display:none}@media (width<=680px){.site-header{flex-wrap:wrap}.site-header nav{flex-wrap:wrap;gap:.5rem}.has-mobile-menu .nav-toggle{width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:0;place-content:center;gap:4px;padding:0;display:grid}.nav-toggle span{background:currentColor;width:18px;height:2px;display:block}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(6px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-6px)rotate(-45deg)}.has-mobile-menu nav{box-sizing:border-box;border:1px solid var(--divider);background:var(--background);flex-flow:column;align-items:stretch;gap:0;width:min(240px,100%);max-height:calc(100dvh - 4.25rem);padding:8px;display:none;position:absolute;inset:100% 0 auto auto;overflow-y:auto}.has-mobile-menu .nav-toggle[aria-expanded=true]+nav{display:flex}.has-mobile-menu nav a{align-items:center;min-height:44px;padding:0 12px;display:flex}.has-mobile-menu nav a:focus-visible{outline-offset:-2px}.has-mobile-menu .nav-indicator{display:none}}.work-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.work-controls:not([hidden]){gap:.5rem;display:flex}.work-controls button{border:1px solid var(--divider);background:var(--background);width:2.75rem;height:2.75rem;color:var(--text);font:inherit;cursor:pointer}.work-controls button[aria-disabled=true]{color:var(--focus);cursor:default}.work-controls button:focus-visible,.work-projects:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.work-projects{scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:72%;grid-auto-flow:column;gap:1rem;display:grid;overflow-x:auto}.work-projects::-webkit-scrollbar{display:none}.work-projects.is-scrolling{scroll-snap-type:none}.work-card{border:1px solid var(--divider);scroll-snap-align:start;scroll-snap-stop:always;min-width:0}.work-image{aspect-ratio:16/9;border-bottom:1px solid var(--divider);background:#111;place-items:center;display:grid;overflow:hidden}.work-image img{object-fit:contain;width:100%;height:100%;min-height:0}.work-card-content{padding:clamp(1rem,3vw,1.75rem)}.work-card-content p{margin-bottom:0}.work-role{color:var(--link);margin-top:.35rem;font-weight:700}@media (width<=40rem){.work-projects{grid-auto-columns:88%}}.theta-button{border:1px solid var(--focus);background:var(--background);color:var(--text);font:inherit;cursor:pointer;padding:.55rem .85rem}.theta-button:disabled{opacity:.5;cursor:default}.theta-button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.theta-open{margin-top:1.25rem}.theta-demo{box-sizing:border-box;border:1px solid var(--divider);background:var(--background);width:min(46rem,100% - 1.5rem);max-height:calc(100dvh - 1.5rem);color:var(--text);padding:clamp(.85rem,3vw,1.5rem)}.theta-demo::backdrop{background:#000000d1}.theta-demo-header,.theta-actions{align-items:center;gap:.75rem;display:flex}.theta-demo-header{justify-content:space-between}.theta-actions{flex-wrap:wrap;margin-top:1rem}.theta-viewport{border:1px solid var(--divider);background:#181818;height:clamp(13rem,52vw,min(25rem,55dvh));position:relative}.theta-viewport canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.theta-viewport canvas.is-grabbing{cursor:grabbing}.theta-status{text-align:center;align-content:center;max-width:none;margin:0;padding:1rem;position:absolute;inset:0}:root{--background:#000;--text:#fff;--link:#ccc;--focus:#aaa;--divider:#444;color:var(--text);background:var(--background);scroll-behavior:smooth;scrollbar-width:none;scroll-padding-top:4.25rem;font-family:Ubuntu Mono,monospace;line-height:1.6}:root::-webkit-scrollbar{display:none}html.lenis{scroll-behavior:auto}body{margin:0}a{color:var(--link);text-underline-offset:.2em}a:focus-visible{outline:2px solid var(--focus);outline-offset:.2em}.skip-link{z-index:2;background:var(--background);padding:.5rem;position:absolute;top:.75rem;left:1rem}.skip-link:not(:focus){clip-path:inset(50%)}.container{width:min(100% - 2rem,64rem);margin-inline:auto}main>section{border-block-start:1px solid var(--divider);padding-block:3rem}main>.intro{border:0;grid-template-columns:minmax(0,1fr) minmax(12rem,38%);align-items:center;gap:clamp(1rem,4vw,2.5rem);padding-block:clamp(4rem,12vw,8rem);display:grid}.hero-splatter{aspect-ratio:1;width:100%;position:relative}.hero-splatter img,.hero-splatter canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hero-splatter img{box-sizing:border-box;padding:9%}.hero-splatter canvas,.hero-splatter.is-rendering img{visibility:hidden}.hero-splatter.is-rendering canvas{visibility:visible}@media (width<=42rem){main>.intro{grid-template-columns:1fr}.hero-splatter{justify-self:center;width:min(100%,16rem)}}h1,h2,h3{margin:0;line-height:1.15}h1{font-size:clamp(2.5rem,8vw,5rem)}p{max-width:60ch}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}
