@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Extralight.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:200}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Light.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:300}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Regular.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Medium.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:500}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Semibold.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:600}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Bold.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:700}@font-face{font-family:Melodrama;src:url(/fonts/Melodrama-Light.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:300}@font-face{font-family:Melodrama;src:url(/fonts/Melodrama-Regular.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Melodrama;src:url(/fonts/Melodrama-Medium.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:500}@font-face{font-family:Melodrama;src:url(/fonts/Melodrama-Semibold.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:600}@font-face{font-family:Melodrama;src:url(/fonts/Melodrama-Bold.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:700}:root{--background:#b8b3a8;--background-elevated:#c8c2b7;--foreground:#161713;--foreground-soft:#30312b;--foreground-muted:#45463f;--border:#16171338;--border-strong:#716e65;--accent-contrast:#f1ede2;--selection:#303a31;--focus-ring:#174a38;--surface:var(--background);--surface-alt:#a9a49a;--ink:var(--foreground);--ink-soft:var(--foreground-soft);--ink-muted:var(--foreground-muted);--rule:var(--border-strong);--accent:#263128;--accent-ink:var(--accent-contrast);--selection-bg:var(--selection);--selection-text:#f1ede2;--cursor-color:#161713;--media-surface:#9d998f;--media-ink:#1a1b17;--grid-line:#8a867d;--transition-surface:#8f897e;--theme-transition-ink:#161713;--focus:var(--focus-ring);--hover-surface:#c8c2b7;--shadow-color:#47392b47;--scrollbar-track:#aaa59b;--scrollbar-thumb:#4b4c45;--noise-opacity:.045;--font-display:"Clash Display", sans-serif;--font-editorial:"Melodrama", serif;--space-page:clamp(1rem, 2.9vw, 3.25rem);--space-section:clamp(7rem, 14vw, 13rem);--header-height:clamp(4rem, 5.4vw, 5rem);--header-offset:calc(var(--header-height) + env(safe-area-inset-top));--rule-width:1px;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out-quart:cubic-bezier(.76, 0, .24, 1);--z-page:0;--z-base:var(--z-page);--z-header:30;--z-menu:40;--z-theme-control:40;--z-selector:var(--z-theme-control);--z-transition-content:80;--z-transition:1000;--z-transition-cover:var(--z-transition);--z-transition-text:1010;--z-cursor:1020;--z-intro:1040}*,:before,:after{box-sizing:border-box}html{background:var(--surface);color:var(--ink);font-family:var(--font-display);font-synthesis:none;scroll-behavior:auto;scrollbar-gutter:stable;text-rendering:geometricprecision;transition:background-color .26s var(--ease-out-expo), color .26s var(--ease-out-expo)}html[data-scroll-locked],html[data-scroll-locked] body{overscroll-behavior:none;overflow:hidden}body{background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;margin:0;overflow-x:clip}body:before{background:radial-gradient(ellipse 70% 45% at 72% 2%, var(--shadow-color), transparent 70%);content:"";opacity:.42;pointer-events:none;transition:background .8s var(--ease-out-expo), opacity .5s ease;z-index:-1;position:fixed;inset:0;transform:translate(0)}::selection{background:var(--selection-bg);color:var(--selection-text)}::-webkit-scrollbar{width:9px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track)}a{color:inherit;text-decoration:none}button,input,textarea,select{color:inherit;font:inherit}button{border:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:4px}img,video,canvas{max-width:100%;display:block}h1,h2,h3,p,figure,dl,dd{margin:0}ol,ul{margin:0;padding:0;list-style:none}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--accent);color:var(--accent-ink);left:var(--space-page);letter-spacing:.08em;text-transform:uppercase;transition:transform .18s var(--ease-out-expo);z-index:1000;padding:.8rem 1rem;font-size:.75rem;font-weight:600;position:fixed;top:0;transform:translateY(-120%)}.skip-link:focus{transform:translateY(.5rem)}.surface-texture{color:var(--ink);opacity:var(--noise-opacity);pointer-events:none;z-index:55;position:fixed;inset:0}.surface-texture:before,.surface-texture:after{content:"";position:absolute;inset:0}.surface-texture:before{opacity:.12;background-image:repeating-linear-gradient(90deg,#0000 0 3px,currentColor 3.5px,#0000 4px)}.surface-texture:after{opacity:.08;background-image:repeating-linear-gradient(0deg,#0000 0 5px,currentColor 5.5px,#0000 6px)}.editorial{font-family:var(--font-editorial);font-weight:400}.section{padding:var(--space-section) var(--space-page);scroll-margin-top:var(--header-offset);position:relative}.section-kicker,.section-heading__index{letter-spacing:.11em;text-transform:uppercase;font-size:clamp(.62rem,.55rem + .2vw,.78rem);font-weight:600;line-height:1}.reveal{--mask-bottom:.28em;--mask-top:.08em;margin-block:calc(var(--mask-top) * -1) calc(var(--mask-bottom) * -1);padding-block:var(--mask-top) var(--mask-bottom);display:block;overflow:hidden}.reveal__inner{display:block}html.motion-ready:not(.hero-motion-mounted) [data-hero-line] .reveal__inner,html.motion-ready:not(.motion-scenes-mounted) [data-reveal] .reveal__inner{transform:translateY(135%)}html.motion-ready:not(.hero-motion-mounted) .hero__meta>*,html.motion-ready:not(.motion-scenes-mounted) [data-fade]{opacity:0;transform:translateY(1.5rem)}.section-heading{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(2rem,5vw,5rem);display:grid}.section-heading__index{grid-column:1/4}.section-heading h2{letter-spacing:-.055em;grid-column:4/-1;font-size:clamp(3.2rem,8.3vw,9rem);font-weight:500;line-height:.9}.section-heading>p:last-child{grid-column:9/-1;font-size:clamp(1rem,1.1vw,1.3rem);line-height:1.35}.site-header{--scroll-progress:0;background:var(--surface);align-items:center}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.site-header{border-bottom:var(--rule-width) solid var(--rule);height:var(--header-offset);padding:env(safe-area-inset-top) max(var(--space-page), env(safe-area-inset-right)) 0 max(var(--space-page), env(safe-area-inset-left));transition:background-color .35s var(--ease-out-expo), border-color .35s var(--ease-out-expo);z-index:var(--z-header);grid-template-columns:1fr auto;gap:2rem;display:grid;position:fixed;top:0;left:0;right:0}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.site-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.site-header__brand{letter-spacing:-.01em;align-items:baseline;gap:.65rem;width:max-content;font-size:clamp(.78rem,.8vw,.95rem);font-weight:600;display:inline-flex}.site-header__brand span:last-child{color:var(--ink-muted);font-family:var(--font-editorial);font-weight:500}.site-header__nav{align-items:center;gap:clamp(1.1rem,2.2vw,2.6rem);display:flex}.site-header__nav-link{letter-spacing:.06em;align-items:baseline;gap:.45rem;font-size:clamp(.62rem,.63vw,.76rem);font-weight:600;display:flex;position:relative}.site-header__nav-link>span:first-child{color:var(--ink-muted);font-family:var(--font-editorial);font-weight:400}.site-header__nav-link:after{content:"";transform-origin:100%;height:1px;transition:transform .26s var(--ease-out-expo);background:currentColor;width:100%;position:absolute;bottom:-.42rem;left:0;transform:scaleX(0)}.site-header__nav-link:hover:after,.site-header__nav-link[aria-current]:after{transform-origin:0;transform:scaleX(1)}.site-header__menu-trigger{cursor:pointer;letter-spacing:.08em;background:0 0;padding:.7rem 0;font-size:.72rem;font-weight:600;display:none}.site-header__progress{background:var(--ink);height:2px;transform:scaleX(var(--scroll-progress));transform-origin:0;width:100%;position:absolute;bottom:-1px;left:0}.mobile-menu{background:var(--accent);color:var(--accent-ink);opacity:0;overscroll-behavior:contain;padding:calc(var(--header-offset) + 2rem) max(var(--space-page), env(safe-area-inset-right)) max(2rem, env(safe-area-inset-bottom)) max(var(--space-page), env(safe-area-inset-left));pointer-events:none;clip-path:inset(0 0 100%);transition:clip-path .65s var(--ease-in-out-quart), opacity 1ms .65s;visibility:hidden;z-index:var(--z-menu);grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0;overflow-y:auto}.mobile-menu--open{clip-path:inset(0);opacity:1;pointer-events:auto;transition:clip-path .65s var(--ease-in-out-quart), opacity 1ms;visibility:visible}.mobile-menu__eyebrow,.mobile-menu__meta{letter-spacing:.08em;font-size:.72rem;font-weight:600;line-height:1.5}.mobile-menu__topline{justify-content:space-between;align-items:center;display:flex}.mobile-menu__close{color:inherit;cursor:pointer;letter-spacing:.08em;background:0 0;padding:.7rem 0;font-size:.72rem;font-weight:600}.intro-gate button:focus-visible,.mobile-menu a:focus-visible,.mobile-menu button:focus-visible,.project-next a:focus-visible{box-shadow:0 0 0 2px var(--accent);outline-color:var(--accent-ink)}html[data-menu-open] .theme-selector,html[data-menu-open] .custom-cursor{pointer-events:none;visibility:hidden}.mobile-menu__nav{border-top:1px solid;align-self:center;min-height:0}.mobile-menu__link{letter-spacing:-.05em;border-bottom:1px solid;grid-template-columns:3rem 1fr;align-items:baseline;padding:.4em 0;font-size:clamp(2.7rem,11vw,6rem);font-weight:500;line-height:1;display:grid}.mobile-menu__link span:first-child{font-family:var(--font-editorial);letter-spacing:0;font-size:.35em;font-weight:400}.theme-selector{background:var(--surface);border:1px solid var(--rule);transition:background-color .32s var(--ease-out-expo), border-color .32s var(--ease-out-expo);z-index:var(--z-selector);align-items:stretch;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%)}.theme-selector__title{letter-spacing:.08em;text-orientation:mixed;writing-mode:vertical-rl;justify-content:center;align-items:center;padding:.7rem .5rem;font-size:.63rem;font-weight:600;display:flex}.theme-selector__options{opacity:0;max-width:0;transition:max-width .52s var(--ease-out-expo), opacity .22s ease;display:grid;overflow:hidden}.theme-selector:hover .theme-selector__options,.theme-selector:focus-within .theme-selector__options{opacity:1;max-width:11.5rem}.theme-selector__option{background:var(--surface);border-bottom:1px solid var(--rule);cursor:pointer;letter-spacing:.05em;text-align:left;grid-template-columns:1.5rem 1fr 1.25rem;align-items:center;gap:.55rem;width:11.5rem;min-height:2.35rem;padding:.3rem .5rem;font-size:.62rem;font-weight:600;transition:background-color .18s;display:grid}.theme-selector__option:last-child{border-bottom:0}.theme-selector__option:hover,.theme-selector__option[aria-pressed=true]{background:var(--hover-surface)}.theme-selector__option[aria-pressed=true]{box-shadow:inset 3px 0}.theme-selector__option[aria-pressed=true]>span:nth-child(2){text-underline-offset:.24em;text-decoration:underline;text-decoration-thickness:1px}.theme-selector__option>span:first-child{color:var(--ink-muted);font-family:var(--font-editorial);font-weight:400}.theme-selector__sample{border:1px solid #00000047;width:1.25rem;height:1rem;display:block}.theme-wash{background:var(--wash-color);clip-path:circle(0 at var(--wash-x) var(--wash-y));pointer-events:none;z-index:95;position:fixed;inset:0}.theme-wash--expand{animation:theme-expand .58s var(--ease-in-out-quart) forwards}.theme-wash--release{animation:theme-release .36s var(--ease-out-expo) forwards;clip-path:circle(var(--wash-radius) at var(--wash-x) var(--wash-y))}@keyframes theme-expand{to{clip-path:circle(var(--wash-radius) at var(--wash-x) var(--wash-y))}}@keyframes theme-release{to{opacity:0}}.intro-gate{background:var(--accent);color:var(--accent-ink);padding:var(--space-page);z-index:var(--z-intro);align-content:space-between;display:grid;position:fixed;inset:0}html[data-intro=seen] .intro-gate{display:none}.intro-gate__calibration{letter-spacing:.09em;justify-content:space-between;font-size:.63rem;font-weight:600;display:flex}.intro-gate__mark{letter-spacing:-.07em;align-items:baseline;margin-block:-.08em -.18em;padding-block:.08em .18em;font-size:clamp(5rem,20vw,21rem);font-weight:600;line-height:.82;display:flex;overflow:hidden}.intro-gate__mark>span:first-child{transform:translateY(135%)}.intro-gate--running .intro-gate__mark>span:first-child{animation:intro-mark 1.45s var(--ease-out-expo) forwards}.intro-gate__slash{font-family:var(--font-editorial);opacity:0;margin-left:auto;font-weight:300}.intro-gate--running .intro-gate__slash{animation:intro-slash 1.3s .22s var(--ease-out-expo) forwards}.intro-gate__track{border:1px solid;align-self:end;width:100%;height:.45rem;overflow:hidden}.intro-gate__track span{transform-origin:0;background:currentColor;height:100%;display:block;transform:scaleX(0)}.intro-gate--running .intro-gate__track span{animation:intro-track 1.65s var(--ease-in-out-quart) forwards}.intro-gate__skip{bottom:calc(var(--space-page) + 1rem);color:inherit;cursor:pointer;letter-spacing:.08em;right:var(--space-page);background:0 0;padding:.5rem;font-size:.63rem;font-weight:600;position:absolute}@keyframes intro-mark{0%{transform:translateY(135%)}35%,76%{transform:translateY(0)}to{transform:translateY(-135%)}}@keyframes intro-slash{0%{opacity:0;transform:translate(4vw)}35%,70%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-4vw)}}@keyframes intro-track{0%{transform:scaleX(0)}30%{transform:scaleX(.18)}to{transform:scaleX(1)}}.route-content{isolation:isolate;min-width:0;z-index:var(--z-page);position:relative}html[data-route-transition] .route-content{backface-visibility:hidden;pointer-events:none;transform-style:preserve-3d;-webkit-user-select:none;user-select:none;will-change:transform, opacity, filter}html[data-route-transition] .custom-cursor{visibility:hidden;opacity:0!important}.route-transition{--route-grid-x:calc(100vw / 12);--route-grid-y:clamp(2.5rem, 4vw, 4rem);color:var(--transition-fg,var(--theme-transition-ink,var(--ink)));isolation:isolate;opacity:0;overscroll-behavior:contain;height:100dvh;min-height:100svh;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-top:env(safe-area-inset-top);pointer-events:none;touch-action:none;visibility:hidden;width:100%;z-index:var(--z-transition-cover);background:0 0;position:fixed;inset:0;overflow:clip}.route-transition--covering,.route-transition--navigating,.route-transition--revealing{pointer-events:auto;visibility:visible}.route-transition__surface{background:var(--transition-bg,var(--transition-surface,var(--surface)));will-change:transform, opacity;z-index:var(--z-transition);position:absolute;inset:0;overflow:hidden;transform:translateZ(0)}.route-transition__field{background:linear-gradient(118deg, transparent 0 52%, var(--transition-shadow,#0000003d) 72%, transparent 96%), var(--transition-bg,var(--transition-surface,var(--surface)))}@supports (color:color-mix(in lab, red, red)){.route-transition__field{background:linear-gradient(118deg, transparent 0 52%, color-mix(in srgb, var(--transition-shadow,#0000003d) 48%, transparent) 72%, transparent 96%), var(--transition-bg,var(--transition-surface,var(--surface)))}}.route-transition__field{box-shadow:inset 0 0 0 1px var(--transition-rule,var(--rule)), 0 0 7rem var(--transition-shadow,#0000003d)}@supports (color:color-mix(in lab, red, red)){.route-transition__field{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--transition-rule,var(--rule)) 26%, transparent), 0 0 7rem color-mix(in srgb, var(--transition-shadow,#0000003d) 55%, transparent)}}.route-transition__field{z-index:0;position:absolute;inset:-1px}.route-transition__field:after{background:var(--transition-accent,var(--accent));content:"";height:2px;inset:auto 0 calc(env(safe-area-inset-bottom) + .45rem);opacity:.72;transform-origin:0;position:absolute;transform:scaleX(.12)}.route-transition__grid{background-image:linear-gradient(var(--transition-rule,var(--rule)) 1px, transparent 1px), linear-gradient(90deg, var(--transition-rule,var(--rule)) 1px, transparent 1px);background-position:0 env(safe-area-inset-top), env(safe-area-inset-left) 0;background-size:var(--route-grid-x) var(--route-grid-y);opacity:.46;z-index:1;position:absolute;inset:0}.route-transition--covering .route-transition__grid,.route-transition--navigating .route-transition__grid{animation:.68s cubic-bezier(.16,1,.3,1) both route-grid-drift}@keyframes route-grid-drift{0%{background-position:calc(var(--route-grid-x) * -.75) env(safe-area-inset-top), env(safe-area-inset-left) calc(var(--route-grid-y) * -.75)}to{background-position:0 env(safe-area-inset-top), env(safe-area-inset-left) 0}}.route-transition__rail{background:var(--transition-rule,currentColor);height:1px;left:max(var(--space-page), env(safe-area-inset-left));opacity:.72;right:max(var(--space-page), env(safe-area-inset-right));will-change:transform;z-index:3;position:absolute;transform:scaleX(0)}.route-transition__rail--top{top:max(calc(var(--header-offset) + var(--space-page)), calc(env(safe-area-inset-top) + 4.5rem))}.route-transition__rail--bottom{bottom:max(calc(var(--space-page) + 2rem), calc(env(safe-area-inset-bottom) + 3rem))}.route-transition__index{color:var(--transition-accent,currentColor);font-family:var(--font-editorial);left:max(var(--space-page), env(safe-area-inset-left));opacity:0;pointer-events:none;top:max(4vh, env(safe-area-inset-top));transform-origin:0 0;-webkit-user-select:none;user-select:none;will-change:transform, opacity;z-index:2;font-size:clamp(10rem,38vw,42rem);font-weight:300;line-height:.7;display:block;position:absolute}.route-transition__source,.route-transition__destination{font-family:var(--font-display);max-width:calc(100vw - max(var(--space-page), env(safe-area-inset-left)) - max(var(--space-page), env(safe-area-inset-right)));overflow-wrap:anywhere;text-wrap:balance;will-change:transform, opacity;text-shadow:0 .08em 0 var(--transition-shadow,#000);margin:0;display:block;position:absolute}@supports (color:color-mix(in lab, red, red)){.route-transition__source,.route-transition__destination{text-shadow:0 .08em 0 color-mix(in srgb, var(--transition-shadow,#000) 45%, transparent)}}.route-transition__source,.route-transition__destination{z-index:var(--z-transition-text)}.route-transition__source{white-space:nowrap}.route-transition__destination{opacity:0;font-weight:500}.route-transition__status{bottom:max(var(--space-page), calc(env(safe-area-inset-bottom) + 1rem));color:var(--transition-fg,currentColor);letter-spacing:.1em;right:max(var(--space-page), calc(env(safe-area-inset-right) + 1rem));text-align:right;white-space:nowrap;will-change:transform, opacity;z-index:calc(var(--z-transition-text) + 1);font-size:.65rem;font-weight:600;line-height:1;position:absolute}html[data-route-origin=index] [data-transition-source=index] [data-transition-label],html[data-route-origin=work] [data-transition-source=work] [data-transition-label],html[data-route-origin=profile] [data-transition-source=profile] [data-transition-label],html[data-route-origin=contact] [data-transition-source=contact] [data-transition-label]{opacity:0}.route-transition--work{--route-grid-x:calc(100vw / 12);--route-grid-y:clamp(2.4rem, 3.5vw, 3.6rem)}.route-transition--work .route-transition__field{background:linear-gradient(90deg, var(--transition-accent,var(--accent)) 0 8.333%, transparent 8.333% 100%), var(--transition-bg,var(--transition-surface,var(--surface)))}@supports (color:color-mix(in lab, red, red)){.route-transition--work .route-transition__field{background:linear-gradient(90deg, color-mix(in srgb, var(--transition-accent,var(--accent)) 16%, transparent) 0 8.333%, transparent 8.333% 100%), var(--transition-bg,var(--transition-surface,var(--surface)))}}.route-transition--work .route-transition__field:after{inset:var(--header-offset) 0 auto;transform:scaleX(1)}.route-transition--profile{--route-grid-x:calc(100vw / 5);--route-grid-y:clamp(3rem, 6vw, 6rem)}.route-transition--profile .route-transition__field{background:linear-gradient(90deg, transparent 0 48.5%, var(--transition-accent,var(--accent)) 48.5% 51.5%, transparent 51.5%), var(--transition-bg,var(--transition-surface,var(--surface)))}@supports (color:color-mix(in lab, red, red)){.route-transition--profile .route-transition__field{background:linear-gradient(90deg, transparent 0 48.5%, color-mix(in srgb, var(--transition-accent,var(--accent)) 36%, transparent) 48.5% 51.5%, transparent 51.5%), var(--transition-bg,var(--transition-surface,var(--surface)))}}.route-transition--profile .route-transition__grid{opacity:.22;transform-origin:50%;transform:skew(-3deg)scale(1.04)}.route-transition--profile .route-transition__index{font-family:var(--font-editorial);font-style:italic}.route-transition--contact{--route-grid-x:100vw;--route-grid-y:clamp(3.5rem, 7vw, 6.5rem)}.route-transition--contact .route-transition__field{background:linear-gradient(0deg, var(--transition-accent,var(--accent)) 0 18%, transparent 18% 100%), var(--transition-bg,var(--transition-surface,var(--surface)))}@supports (color:color-mix(in lab, red, red)){.route-transition--contact .route-transition__field{background:linear-gradient(0deg, color-mix(in srgb, var(--transition-accent,var(--accent)) 18%, transparent) 0 18%, transparent 18% 100%), var(--transition-bg,var(--transition-surface,var(--surface)))}}.route-transition--contact .route-transition__grid{opacity:.34}.route-transition--contact .route-transition__rail--top{top:50%}.route-transition--contact .route-transition__index{bottom:7vh;left:auto;right:max(var(--space-page), env(safe-area-inset-right));top:auto}.custom-cursor{border:1px solid var(--cursor-color);opacity:0;pointer-events:none;width:2.15rem;height:2.15rem;z-index:var(--z-cursor);border-radius:50%;justify-content:center;align-items:center;transition:background-color .18s,color .18s,height .22s,opacity .18s,width .22s;display:flex;position:fixed;top:0;left:0}.custom-cursor[data-visible=true]{opacity:1}.custom-cursor[data-active=true]{background:var(--cursor-color);color:var(--surface);width:4.3rem;height:4.3rem}.custom-cursor span{letter-spacing:.08em;white-space:nowrap;font-size:.52rem;font-weight:600}.hero{min-height:max(100svh,48rem);padding-top:calc(var(--header-offset) + var(--space-page));grid-template-columns:repeat(12,minmax(0,1fr));display:grid;overflow:hidden}.hero__shadow-field{background:linear-gradient(118deg, transparent 36%, var(--shadow-color) 57%, transparent 76%);filter:blur(42px);opacity:.52;pointer-events:none;position:absolute;inset:0;transform:translate(6vw,-10vh)skew(-8deg)}.hero__topline{letter-spacing:.08em;grid-column:1/-1;justify-content:space-between;align-items:start;font-size:clamp(.6rem,.58rem + .15vw,.74rem);font-weight:600;display:flex;position:relative}.hero__identity{letter-spacing:-.075em;text-transform:uppercase;transform-origin:0 0;grid-column:1/-1;align-self:center;width:100%;font-size:clamp(4.5rem,14.2vw,15.3rem);font-weight:600;line-height:.82;position:relative}.hero__identity-secondary{font-family:var(--font-editorial);text-transform:none;margin-top:.22em;margin-left:28%;font-size:.62em;font-weight:400}.hero__statement{letter-spacing:-.05em;grid-column:5/-1;align-self:end;margin-bottom:clamp(2.5rem,6vh,5.5rem);font-size:clamp(2.2rem,5.1vw,5.5rem);font-weight:400;line-height:.92;position:relative}.hero__statement>span:last-child{font-family:var(--font-editorial)}.hero__meta{border-top:1px solid var(--rule);letter-spacing:.055em;grid-column:1/-1;grid-template-columns:repeat(4,1fr);align-items:end;gap:1rem;padding-top:.7rem;font-size:clamp(.58rem,.6vw,.72rem);font-weight:600;display:grid;position:relative}.hero__meta p{gap:.35rem;display:grid}.hero__meta p>span:first-child{color:var(--ink-muted);font-family:var(--font-editorial);font-weight:400}.hero__scroll-cue{text-align:right;justify-self:end}.practice{grid-template-rows:auto auto auto;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;min-height:max(100svh,52rem);display:grid}.practice>.section-kicker{grid-area:1/1/2/3}.practice__statement{grid-area:1/3/2/-1;padding-bottom:clamp(3.5rem,8vh,8rem)}.practice__statement h2{letter-spacing:-.06em;font-size:clamp(3.5rem,9.2vw,10rem);font-weight:500;line-height:.88}.practice__copy{grid-area:2/8/3/-1;max-width:31rem;margin-bottom:clamp(3.5rem,7vh,7rem);font-size:clamp(1.05rem,1.5vw,1.55rem);line-height:1.35}.practice__index{border-top:1px solid var(--rule);letter-spacing:.06em;grid-area:3/3/4/-1;grid-template-columns:repeat(4,1fr);gap:.7rem;padding-top:.7rem;font-size:.7rem;font-weight:600;display:grid}.work-section{border-top:1px solid var(--rule);overflow:clip}.work-section__heading{grid-template-columns:repeat(12,minmax(0,1fr));align-content:end;min-height:min(64svh,46rem);margin-bottom:clamp(4.5rem,9vw,9rem);padding-bottom:clamp(1.25rem,2.4vw,2.5rem);display:grid;position:relative}.work-section__heading .section-heading__index{grid-column:1/4;align-self:start}.work-section__title{transform-origin:0 100%;max-width:.98em;letter-spacing:-.085em!important;grid-column:1/-1!important;font-size:clamp(5.8rem,17vw,20rem)!important;line-height:.74!important}.work-section__rule{background:var(--rule);transform-origin:0;grid-column:4/-1;width:100%;height:1px;margin-top:clamp(2.5rem,7vw,7rem)}.work-layout{grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr);gap:clamp(2rem,4vw,5rem);display:grid}.work-preview{aspect-ratio:4/5;background:var(--media-surface);border:1px solid var(--rule);filter:var(--media-filter,none);max-height:calc(100svh - 2 * var(--header-offset));pointer-events:none;top:calc(var(--header-offset) + 2rem);position:sticky;overflow:hidden}.work-preview__panel{background:var(--media-surface);color:var(--media-ink);opacity:0;transition:opacity .36s ease, transform .48s var(--ease-out-expo);position:absolute;inset:0;overflow:hidden;transform:translateY(.7rem)}.work-preview__panel.is-active{opacity:1;transform:translateY(0)}.work-preview__interface{grid-template-rows:auto 1fr auto;height:100%;padding:clamp(1.25rem,3vw,2.5rem);display:grid}.work-preview__stamp,.work-preview__footer,.work-preview__lines{letter-spacing:.08em;font-size:clamp(.56rem,.5rem + .12vw,.72rem);font-weight:600}.work-preview__stamp{color:currentColor}@supports (color:color-mix(in lab, red, red)){.work-preview__stamp{color:color-mix(in srgb, currentColor 72%, transparent)}}.work-preview__title{letter-spacing:-.065em;overflow-wrap:anywhere;text-transform:none;align-self:end;margin-top:auto;padding-bottom:clamp(1.5rem,4vw,3.5rem);font-size:clamp(2.6rem,5vw,5.8rem);font-weight:500;line-height:.9}.work-preview__lines{border-bottom:1px solid}@supports (color:color-mix(in lab, red, red)){.work-preview__lines{border-bottom:1px solid color-mix(in srgb, currentColor 18%, transparent)}}.work-preview__lines{border-top:1px solid}@supports (color:color-mix(in lab, red, red)){.work-preview__lines{border-top:1px solid color-mix(in srgb, currentColor 18%, transparent)}}.work-preview__lines{grid-template-columns:1fr 1fr;gap:0;line-height:1.2;display:grid}.work-preview__lines>span{border-bottom:1px solid;align-items:center}@supports (color:color-mix(in lab, red, red)){.work-preview__lines>span{border-bottom:1px solid color-mix(in srgb, currentColor 10%, transparent)}}.work-preview__lines>span{min-height:2.35rem;padding:.45rem 0;display:flex}.work-preview__lines>span:nth-child(odd){padding-right:.8rem}.work-preview__lines>span:nth-child(2n){border-left:1px solid}@supports (color:color-mix(in lab, red, red)){.work-preview__lines>span:nth-child(2n){border-left:1px solid color-mix(in srgb, currentColor 10%, transparent)}}.work-preview__lines>span:nth-child(2n){padding-left:.8rem}.work-preview__lines>span:nth-last-child(-n+2){border-bottom:0}.work-preview__footer{color:currentColor;align-self:end}@supports (color:color-mix(in lab, red, red)){.work-preview__footer{color:color-mix(in srgb, currentColor 72%, transparent)}}.work-preview__footer{padding-top:.9rem}.work-preview__panel[data-composition=imposter-game] .work-preview__lines{grid-template-columns:1fr}.work-preview__panel[data-composition=imposter-game] .work-preview__lines>span{border-left:0;padding-left:0;padding-right:0}.work-preview__panel[data-composition=imposter-game] .work-preview__lines>span:last-child{border-bottom:0}.work-preview__panel[data-composition=juris-legal] .work-preview__lines>span:first-child{background:currentColor}@supports (color:color-mix(in lab, red, red)){.work-preview__panel[data-composition=juris-legal] .work-preview__lines>span:first-child{background:color-mix(in srgb, currentColor 7%, transparent)}}.work-preview__panel[data-composition=juris-legal] .work-preview__lines>span:first-child{padding-left:.65rem}.work-preview__panel[data-composition=clay-room] .work-preview__lines{grid-template-columns:repeat(2,minmax(0,1fr))}.project-list{border-top:1px solid var(--rule)}.project-row{border-bottom:1px solid var(--rule);scroll-margin-top:calc(var(--header-offset) + 1rem);position:relative}.project-row__content{transition:color .26s ease, padding .42s var(--ease-out-expo);grid-template-columns:3rem minmax(0,1fr) minmax(8.5rem,.42fr) auto;gap:1.1rem;padding:clamp(1.5rem,3.2vw,3.5rem) 0;display:grid;position:relative}.project-row__link{color:inherit;cursor:pointer;isolation:isolate;text-decoration:none}.project-row__static{cursor:default}.project-row__link:before{background:var(--hover-surface);content:"";inset:0 calc(var(--space-page) * -.45);opacity:0;transition:opacity .26s ease, transform .42s var(--ease-out-expo);z-index:-1;position:absolute;transform:scaleY(.72)}.project-row__link:hover:before,.project-row__link:focus-visible:before{opacity:1;transform:scaleY(1)}.project-row__index{font-size:clamp(1.6rem,2.5vw,3rem);line-height:1}.project-row__title{letter-spacing:-.06em;overflow-wrap:anywhere;text-transform:none;transition:letter-spacing .42s var(--ease-out-expo), transform .42s var(--ease-out-expo);grid-column:2/4;font-size:clamp(2.4rem,5.3vw,6.2rem);font-weight:500;line-height:.9}.project-row__link:hover .project-row__title,.project-row__link:focus-visible .project-row__title{letter-spacing:-.035em;transform:translate(.04em)}.project-row__description{grid-column:2/3;max-width:37rem;font-size:clamp(.95rem,1.15vw,1.2rem);line-height:1.35}.project-row__category,.project-row__disciplines,.project-row__status,.project-row__action{color:var(--ink-muted);letter-spacing:.07em;text-transform:uppercase;font-size:.65rem;font-weight:600;line-height:1.35}.project-row__category{grid-column:2/3}.project-row__disciplines{color:var(--ink-muted);letter-spacing:.06em;grid-column:2/3;font-size:.58rem}.project-row__status{text-align:right;grid-area:2/3/3/4}.project-row__action{text-align:right;grid-area:3/3/4/4;align-self:end}.project-row__arrow{transition:transform .3s var(--ease-out-expo);grid-area:1/4/2/5;justify-self:end;font-size:1.7rem}.project-row__link:hover .project-row__arrow{transform:translate(.25rem,-.25rem)}.project-row__upcoming-mark{color:var(--ink-muted);grid-area:1/4/2/5;place-self:start end;font-size:1.7rem}.project-row[data-active=true] .project-row__title{letter-spacing:-.045em}.project-row--upcoming .project-row__action{color:var(--ink);text-underline-offset:.35rem;text-decoration:underline;text-decoration-thickness:1px}.project-row.is-launching,.project-row[data-launching=true]{z-index:2}.project-row.is-launching .project-row__link:before,.project-row[data-launching=true] .project-row__link:before{background:var(--ink);opacity:1;transform:scaleY(1)}.project-row.is-launching .project-row__content,.project-row[data-launching=true] .project-row__content{animation:project-row-launch .5s var(--ease-out-expo) both;color:var(--surface);will-change:transform}.project-row.is-launching .project-row__category,.project-row.is-launching .project-row__disciplines,.project-row.is-launching .project-row__status,.project-row.is-launching .project-row__action,.project-row[data-launching=true] .project-row__category,.project-row[data-launching=true] .project-row__disciplines,.project-row[data-launching=true] .project-row__status,.project-row[data-launching=true] .project-row__action{color:currentColor}.project-row.is-launching .project-row__title,.project-row[data-launching=true] .project-row__title{animation:project-title-launch .5s var(--ease-out-expo) both}.project-row.is-launching .project-row__action,.project-row[data-launching=true] .project-row__action{animation:project-action-launch .5s var(--ease-out-expo) both}.project-row.is-launching .project-row__arrow,.project-row[data-launching=true] .project-row__arrow{transform:translate(.28rem,-.28rem)}@keyframes project-row-launch{0%,to{transform:scaleX(1)}42%{transform:scaleX(1.012)}}@keyframes project-title-launch{0%,to{letter-spacing:-.06em;transform:translate(0)}42%{letter-spacing:-.025em;transform:translate(.06em)}}@keyframes project-action-launch{0%{opacity:.5;transform:translate(-.4rem)}34%,to{opacity:1;transform:translate(0)}}.project-row__mobile-preview{display:none}.profile{border-top:1px solid var(--rule)}.profile__heading{margin-bottom:clamp(7rem,13vw,13rem)}.profile__lead{grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.profile__lead p{letter-spacing:-.045em;grid-column:4/-1;font-size:clamp(2.2rem,4.9vw,5.4rem);font-weight:400;line-height:.98}.profile__facts{border-top:1px solid var(--rule);grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(7rem,13vw,13rem);display:grid}.profile__facts article{border-right:1px solid var(--rule);min-height:23rem;padding:1rem clamp(1rem,2.3vw,2.8rem) 2rem 0}.profile__facts article+article{padding-left:clamp(1rem,2.3vw,2.8rem)}.profile__facts article:last-child{border-right:0}.profile__label{letter-spacing:.08em;font-size:.65rem;font-weight:600}.profile__fact{margin:5rem 0 1.5rem;font-size:clamp(2.4rem,4vw,4.7rem);line-height:.92}.profile__facts article>p:last-child,.profile__body{color:var(--ink-muted);font-size:clamp(.95rem,1.05vw,1.15rem);line-height:1.45}.profile__body{max-width:40rem;margin:8rem 0 0 50%}.capabilities{background:var(--accent);color:var(--accent-ink);transition:background-color .32s var(--ease-out-expo), color .32s var(--ease-out-expo);grid-template-columns:.8fr 1.2fr;gap:clamp(4rem,8vw,9rem);display:grid}.capabilities__heading{top:calc(var(--header-offset) + 3rem);align-self:start;position:sticky}.capabilities__heading h2{letter-spacing:-.055em;margin:4rem 0 2rem;font-size:clamp(3rem,5.8vw,6.5rem);font-weight:500;line-height:.9}.capabilities__heading>p:last-child{letter-spacing:.06em;font-size:.72rem;font-weight:600}.capability-index{border-top:1px solid}.capability-index li{border-bottom:1px solid;grid-template-columns:3rem 1fr auto;align-items:baseline;gap:1rem;padding:clamp(1.5rem,3vw,3rem) 0;display:grid}.capability-index li>span:first-child{font-family:var(--font-editorial);font-size:1.4rem}.capability-index li>span:nth-child(2){letter-spacing:-.045em;font-size:clamp(1.8rem,3.4vw,4.1rem);font-weight:500;line-height:.95}.working-instruments{border-top:1px solid var(--rule)}.working-instruments__heading{margin-bottom:clamp(7rem,13vw,13rem)}.instrument-sequence{grid-template-columns:minmax(19rem,.92fr) minmax(0,1.08fr);gap:clamp(2rem,4vw,5rem);display:grid}.instrument-stage{background:var(--background-elevated);border:1px solid var(--rule);height:calc(100svh - var(--header-offset) - 2 * var(--space-page));min-height:36rem;max-height:54rem;top:calc(var(--header-offset) + var(--space-page));transition:background-color .32s var(--ease-out-expo), border-color .32s var(--ease-out-expo);align-self:start;padding:1rem;display:grid;position:sticky;overflow:hidden}.instrument-stage:before{background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);content:"";pointer-events:none;background-size:3rem 3rem;position:absolute;inset:0}.instrument-stage__calibration,.instrument-stage__system-line{letter-spacing:.08em;z-index:2;justify-content:space-between;font-size:.62rem;font-weight:600;display:flex;position:relative}.instrument-stage__viewport{justify-content:center;align-items:center;display:flex;position:absolute;inset:3rem 1rem 7rem}.instrument-stage__frame{transform-origin:50%;will-change:transform;border:2px solid;width:clamp(14rem,28vw,24rem);height:clamp(14rem,28vw,24rem);position:relative;transform:scaleX(1.34)scaleY(.72)}.instrument-stage__frame:after{content:"";opacity:.66;border:1px solid;height:.32rem;position:absolute;bottom:-.65rem;left:8%;right:8%}.instrument-stage__grid{background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-size:18% 18%;position:absolute;inset:0}.instrument-stage__axis{opacity:.56;background:currentColor;position:absolute}.instrument-stage__axis--x{width:124%;height:1px;top:50%;left:-12%}.instrument-stage__axis--y{width:1px;height:124%;top:-12%;left:50%}.instrument-stage__camera{border:1px solid;border-radius:50%;width:.48rem;height:.48rem;position:absolute;top:.45rem;left:50%;transform:translate(-50%)}.instrument-stage__labels{position:absolute;bottom:5.4rem;left:1rem;right:1rem}.instrument-stage__labels p{opacity:0;grid-template-columns:2rem minmax(0,1fr) auto;align-items:baseline;gap:.7rem;width:100%;display:grid;position:absolute;transform:translateY(1rem)}.instrument-stage__labels p.is-active{opacity:1;transform:translateY(0)}.instrument-stage__labels span:first-child,.instrument-stage__labels span:last-child{letter-spacing:.08em;font-size:.62rem;font-weight:600}.instrument-stage__labels span:nth-child(2){letter-spacing:-.05em;font-size:clamp(1.8rem,3vw,3.6rem);font-weight:600}.instrument-stage__system-line{border-top:1px solid var(--rule);padding-top:.7rem;position:absolute;bottom:1rem;left:1rem;right:1rem}.instrument-index{border-top:1px solid var(--rule)}.instrument-row{border-bottom:1px solid var(--rule);grid-template-columns:3rem minmax(0,1fr) auto;align-content:center;gap:1.4rem;min-height:min(62svh,38rem);padding:clamp(2rem,5vw,5rem) 0;display:grid;position:relative}.instrument-row:before{background:var(--hover-surface);content:"";inset:0 calc(var(--space-page) * -.45);opacity:0;transition:opacity .24s ease, transform .48s var(--ease-out-expo);z-index:-1;position:absolute;transform:scaleY(.78)}.instrument-row:hover:before{opacity:1;transform:scaleY(1)}.instrument-row__index{font-size:clamp(1.5rem,2.6vw,3rem)}.instrument-row__identity h3{letter-spacing:-.065em;font-size:clamp(2.8rem,6.8vw,7.7rem);font-weight:500;line-height:.92}.instrument-row__identity p{margin-top:.4rem;font-size:clamp(1.7rem,3.4vw,4rem);line-height:1.08}.instrument-row__role{letter-spacing:.08em;grid-column:2/3;align-self:end;font-size:.64rem;font-weight:600}.instrument-row__form{opacity:.68;border:1px solid;grid-area:1/3/3/4;align-self:start;display:block}.instrument-row__form--landscape{width:2.8rem;height:1.6rem}.instrument-row__form--tablet{width:1.9rem;height:2.5rem}.instrument-row__form--phone{border-radius:.25rem;width:1.4rem;height:2.8rem}.interests{border-top:1px solid var(--rule);overflow:hidden}.interests__heading{margin-bottom:clamp(6rem,12vw,12rem)}.interest-sequence{border-top:1px solid var(--rule)}.interest-line{border-bottom:1px solid var(--rule);grid-template-columns:clamp(2rem,5vw,6rem) 1fr auto;align-items:center;gap:1.2rem;min-height:clamp(7rem,13vw,13rem);display:grid;position:relative}.interest-line:before{background:var(--ink);content:"";opacity:0;transform-origin:0;height:1px;transition:opacity .16s ease, transform .52s var(--ease-out-expo);width:100%;position:absolute;top:50%;left:0;transform:scaleX(0)}.interest-line:hover:before{opacity:.18;transform:scaleX(1)}.interest-line__index{font-size:clamp(1.5rem,2.8vw,3.4rem)}.interest-line__name{letter-spacing:-.065em;font-size:clamp(3.2rem,9.8vw,11rem);font-weight:500;line-height:.86}.interest-line--piano .interest-line__name{font-family:var(--font-editorial);letter-spacing:.01em;word-spacing:.2em;font-weight:400}.interest-line--formula-1 .interest-line__name{font-weight:700;transform:skew(-8deg)}.interest-line--badminton .interest-line__name{transition:transform .22s cubic-bezier(.2,1.8,.5,1)}.interest-line--badminton:hover .interest-line__name{transform:translate(.6rem)}.interest-line--cycling .interest-line__name{font-weight:300}.interest-line__motion{letter-spacing:.08em;text-align:right;font-size:.64rem;font-weight:600}.location{border-top:1px solid var(--rule);min-height:105svh}.location h2{letter-spacing:-.065em;margin-top:clamp(7rem,15vw,15rem);font-size:clamp(3.8rem,10vw,11rem);font-weight:500;line-height:.88}.location__data{border-top:1px solid var(--rule);grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:clamp(7rem,12vw,11rem);padding-top:.8rem;display:grid}.location__data p{letter-spacing:.06em;gap:.55rem;font-size:.7rem;font-weight:600;display:grid}.location__data p span{color:var(--ink-muted)}.contact{background:var(--surface-alt);border-top:1px solid var(--rule);min-height:110svh;transition:background-color .32s var(--ease-out-expo)}.contact h2{letter-spacing:-.065em;margin-top:clamp(7rem,13vw,13rem);font-size:clamp(3.5rem,9.4vw,10.5rem);font-weight:500;line-height:.88}.contact__details{margin-top:clamp(7rem,12vw,12rem)}.contact__item{border-top:1px solid var(--rule);grid-template-columns:minmax(7rem,1fr) minmax(0,3fr);align-items:end;gap:1.5rem;padding:clamp(1.2rem,2.2vw,2rem) 0;display:grid}.contact__item:last-child{border-bottom:1px solid var(--rule)}.contact__label{letter-spacing:.1em;align-self:start;font-size:clamp(.62rem,.55rem + .2vw,.78rem);font-weight:600}.contact__link{letter-spacing:-.045em;max-width:100%;transition:transform .42s var(--ease-out-expo);justify-self:start;align-items:baseline;gap:.3em;padding-bottom:.12em;font-size:clamp(1.65rem,4.1vw,5.2rem);line-height:.98;display:inline-flex;position:relative;transform:translate(0)}.contact__link:after{content:"";transform-origin:0;height:1px;transition:transform .42s var(--ease-out-expo);background:currentColor;width:100%;position:absolute;bottom:0;left:0;transform:scaleX(0)}.contact__link:hover,.contact__link:focus-visible{transform:translate(.16em)}.contact__link:hover:after,.contact__link:focus-visible:after{transform:scaleX(1)}.contact__external{opacity:0;transition:opacity .26s ease, transform .42s var(--ease-out-expo);font-size:.45em;transform:translate(-.3em,.15em)}.contact__link:hover .contact__external,.contact__link:focus-visible .contact__external{opacity:1;transform:translateY(.15em)}.contact__link--phone{word-spacing:.12em}.site-footer{background:var(--surface-alt);border-top:1px solid var(--rule);letter-spacing:.065em;padding:2rem var(--space-page) max(2rem, env(safe-area-inset-bottom));transition:background-color .32s var(--ease-out-expo);grid-template-columns:1.2fr 1fr 1fr 1fr;gap:2rem;font-size:.65rem;font-weight:600;line-height:1.55;display:grid}.site-footer__brand{letter-spacing:-.01em;font-size:1rem;line-height:1.15}.site-footer__socials{flex-wrap:wrap;gap:1rem;display:flex}.site-footer__socials a{position:relative}.site-footer__socials a:after{content:"";transform-origin:0;height:1px;transition:transform .28s var(--ease-out-expo);background:currentColor;width:100%;position:absolute;bottom:-.15rem;left:0;transform:scaleX(0)}.site-footer__socials a:hover:after,.site-footer__socials a:focus-visible:after{transform:scaleX(1)}.site-footer__year{text-align:right}.project-detail{padding-top:var(--header-offset)}.project-detail__hero{min-height:calc(100svh - var(--header-offset));padding:var(--space-page);grid-template-rows:auto 1fr auto;display:grid}.project-detail__breadcrumb{letter-spacing:.08em;justify-content:space-between;align-items:center;font-size:.65rem;font-weight:600;display:flex}.project-detail__back{align-items:center;gap:.7rem;display:flex}.project-detail__heading{grid-template-columns:repeat(12,minmax(0,1fr));align-self:center;width:100%;display:grid}.project-detail__eyebrow{letter-spacing:.08em;grid-column:1/4;font-size:.65rem;font-weight:600}.project-detail__heading h1{letter-spacing:-.08em;text-transform:uppercase;grid-column:1/-1;margin-top:2rem;font-size:clamp(5rem,16vw,18rem);font-weight:600;line-height:.8}.project-detail__summary{font-family:var(--font-editorial);grid-column:7/-1;margin-top:3rem;font-size:clamp(1.8rem,3.4vw,4rem);line-height:1.03}.project-detail__meta{border-top:1px solid var(--rule);letter-spacing:.06em;grid-template-columns:1fr 1fr 2fr;gap:1rem;padding-top:.8rem;font-size:.66rem;display:grid}.project-detail__meta div{gap:.5rem;display:grid}.project-detail__meta dt{color:var(--ink-muted)}.project-media{margin:0}.project-media__frame{background:var(--media-surface);color:var(--media-ink);filter:var(--media-filter,none);position:relative;overflow:hidden}.project-media--cinematic .project-media__frame{aspect-ratio:16/8.5}.project-media--landscape .project-media__frame{aspect-ratio:4/3}.project-media--square .project-media__frame{aspect-ratio:1}.project-media__grid{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);opacity:.7;background-size:clamp(2rem,5vw,5rem) clamp(2rem,5vw,5rem);position:absolute;inset:0}.project-media__axis{background:var(--media-ink);opacity:.65;position:absolute}.project-media__axis--horizontal{width:100%;height:1px;top:50%;left:0}.project-media__axis--vertical{width:1px;height:100%;top:0;left:50%}.project-media__crop{width:2rem;height:2rem;position:absolute}.project-media__crop--north-west{border-top:2px solid;border-left:2px solid;top:2rem;left:2rem}.project-media__crop--south-east{border-bottom:2px solid;border-right:2px solid;bottom:2rem;right:2rem}.project-media__plane{border:1px solid;position:absolute}.project-media__plane--primary{justify-content:center;align-items:center;width:48%;height:48%;display:flex;top:24%;left:26%}.project-media__plane--primary span{font-family:var(--font-editorial);font-size:clamp(7rem,23vw,27rem);font-weight:300;line-height:.7}.project-media__plane--secondary{width:24%;height:24%;top:12%;left:8%}.project-media__plane--tertiary{width:32%;height:18%;bottom:8%;right:8%}.project-media[data-composition=stacked-planes] .project-media__plane--primary,.project-media[data-composition=archive-columns] .project-media__plane--primary{box-shadow:-3rem 2rem 0 var(--media-ink), -6rem 4rem 0 var(--media-ink)}@supports (color:color-mix(in lab, red, red)){.project-media[data-composition=stacked-planes] .project-media__plane--primary,.project-media[data-composition=archive-columns] .project-media__plane--primary{box-shadow:-3rem 2rem 0 color-mix(in srgb, var(--media-ink) 12%, transparent), -6rem 4rem 0 color-mix(in srgb, var(--media-ink) 7%, transparent)}}.project-media[data-composition=stacked-planes] .project-media__plane--primary,.project-media[data-composition=archive-columns] .project-media__plane--primary{width:36%;left:42%}.project-media[data-composition=document-grid] .project-media__plane--primary{width:32%;height:70%;top:15%;left:53%}.project-media[data-composition=timeline-strip] .project-media__plane--primary{width:82%;height:26%;top:38%;left:9%}.project-media__calibration{letter-spacing:.08em;font-size:.58rem;font-weight:600;position:absolute;top:1rem;left:1rem}.project-media__caption{border-top:1px solid var(--rule);letter-spacing:.035em;grid-template-columns:1fr 2fr;gap:1rem;padding-top:.7rem;font-size:.66rem;line-height:1.35;display:grid}.project-media__caption span:last-child{color:var(--ink-muted)}.project-detail__introduction,.project-detail__outcome{padding:var(--space-section) var(--space-page);grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem;display:grid}.project-detail__section-index{letter-spacing:.08em;grid-column:1/4;font-size:.64rem;font-weight:600}.project-detail__introduction h2,.project-detail__outcome h2{letter-spacing:-.055em;grid-column:4/-1;font-size:clamp(3rem,7vw,8rem);font-weight:500;line-height:.88}.project-detail__introduction>p:last-child,.project-detail__outcome>p:last-child{grid-column:7/-1;font-size:clamp(1.1rem,1.5vw,1.55rem);line-height:1.45}.project-detail__narrative{border-bottom:1px solid var(--rule);border-top:1px solid var(--rule);margin:0 var(--space-page);grid-template-columns:repeat(3,1fr);display:grid}.project-detail__section{border-right:1px solid var(--rule);min-height:37rem;padding:1rem clamp(1.2rem,2.7vw,3.5rem) 3rem}.project-detail__section:last-child{border-right:0}.project-detail__section h2{font-family:var(--font-editorial);margin:clamp(6rem,12vw,12rem) 0 2rem;font-size:clamp(2.5rem,4.5vw,5.2rem);font-weight:400}.project-detail__section>p:last-child{color:var(--ink-muted);font-size:clamp(.95rem,1.1vw,1.2rem);line-height:1.5}.project-detail__process{padding:var(--space-section) var(--space-page)}.project-detail__process-heading{grid-template-columns:repeat(12,minmax(0,1fr));margin-bottom:clamp(6rem,10vw,10rem);display:grid}.project-detail__process-heading h2{letter-spacing:-.055em;grid-column:4/-1;font-size:clamp(3rem,7vw,8rem);font-weight:500;line-height:.88}.project-detail__media-grid{grid-template-columns:1.3fr .7fr;align-items:start;gap:clamp(1.5rem,4vw,5rem);display:grid}.project-detail__media-grid .project-media:last-child{margin-top:clamp(4rem,12vw,13rem)}.project-next{background:var(--accent);color:var(--accent-ink);min-height:100svh}.project-next__link{min-height:100svh;padding:var(--space-page);grid-template-rows:auto 1fr auto;grid-template-columns:repeat(12,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.project-next__label,.project-next__description{letter-spacing:.07em;font-size:.7rem;font-weight:600}.project-next__label{grid-column:1/4}.project-next__index{font-family:var(--font-editorial);opacity:.16;font-size:clamp(16rem,52vw,58rem);font-weight:300;line-height:.64;position:absolute;top:.08em;left:-.08em}.project-next__title{letter-spacing:-.08em;text-transform:uppercase;grid-column:1/-1;align-self:center;font-size:clamp(5rem,17vw,19rem);font-weight:600;line-height:.8;position:relative}.project-next__description{grid-column:7/12;line-height:1.4}.project-next__arrow{transition:transform .4s var(--ease-out-expo);grid-column:12/-1;place-self:end;font-size:clamp(2rem,4vw,5rem)}.project-next__link:hover .project-next__arrow{transform:translate(.4rem,-.4rem)}@media (max-width:1100px){.section-heading h2{grid-column:3/-1}.section-heading__index{grid-column:1/3}.section-heading>p:last-child{grid-column:7/-1}.work-layout{grid-template-columns:minmax(15rem,.72fr) minmax(0,1.28fr)}.project-row__content{grid-template-columns:2.5rem minmax(0,1fr) minmax(7rem,.4fr) auto}.profile__facts article{min-height:20rem}.interest-line__motion{display:none}}@media (max-width:899px){:root{--space-section:clamp(6rem, 20vw, 10rem)}.route-transition{--route-grid-x:25vw;--route-grid-y:clamp(2.5rem, 12vw, 4rem);height:100dvh;min-height:100svh}.route-transition__surface{width:100%;height:100%}.route-transition__field{background:linear-gradient(180deg, transparent 0 58%, var(--transition-shadow,#0000003d) 100%), var(--transition-bg,var(--transition-surface,var(--surface)))}@supports (color:color-mix(in lab, red, red)){.route-transition__field{background:linear-gradient(180deg, transparent 0 58%, color-mix(in srgb, var(--transition-shadow,#0000003d) 36%, transparent) 100%), var(--transition-bg,var(--transition-surface,var(--surface)))}}.route-transition__grid{opacity:.24}.route-transition__rail{left:max(1rem, env(safe-area-inset-left));right:max(1rem, env(safe-area-inset-right))}.route-transition__rail--top{top:max(calc(var(--header-offset) + 1rem), calc(env(safe-area-inset-top) + 4.75rem))}.route-transition__rail--bottom{bottom:max(4rem, calc(env(safe-area-inset-bottom) + 3.5rem))}.route-transition__index{left:max(1rem, env(safe-area-inset-left));max-width:calc(100vw - 2rem);top:max(8vh, env(safe-area-inset-top));font-size:clamp(9rem,52vw,18rem);overflow:hidden}.route-transition__source,.route-transition__destination{max-height:min(58dvh,30rem);max-width:calc(100vw - max(1rem, env(safe-area-inset-left)) - max(1rem, env(safe-area-inset-right)));overflow-wrap:anywhere;text-wrap:pretty;overflow:hidden}.route-transition__status{bottom:max(1.1rem, calc(env(safe-area-inset-bottom) + .75rem));right:max(1rem, env(safe-area-inset-right));font-size:.57rem}.route-transition--profile{--route-grid-x:33.333vw}.route-transition--profile .route-transition__grid{transform:none}.route-transition--contact{--route-grid-y:clamp(3.2rem, 16vw, 5rem)}.route-transition--contact .route-transition__index{bottom:16dvh;right:max(1rem, env(safe-area-inset-right))}.site-header__nav{display:none}.site-header__menu-trigger{display:block}.theme-selector{padding-bottom:env(safe-area-inset-bottom);inset:auto 0 0;transform:none}.theme-selector__title{writing-mode:horizontal-tb;min-width:3rem;padding:0 .55rem}.theme-selector__options{opacity:1;overscroll-behavior-inline:contain;width:100%;max-width:none;display:flex;overflow-x:auto}.theme-selector__option{border-bottom:0;border-left:1px solid var(--rule);width:7.4rem;min-width:7.4rem;min-height:2.85rem}.theme-selector__option>span:first-child,.theme-selector__sample{display:none}.theme-selector__option{text-align:center;grid-template-columns:1fr}.hero{min-height:max(100svh,42rem)}.hero__identity{font-size:clamp(4rem,15vw,8.3rem)}.hero__statement{grid-column:2/-1}.hero__meta{grid-template-columns:1fr 1fr}.hero__scroll-cue{text-align:left;justify-self:start}.practice{min-height:auto}.practice>.section-kicker{grid-column:1/4}.practice__statement{grid-column:1/-1;margin-top:6rem}.practice__copy{grid-column:5/-1;margin-bottom:5rem}.practice__index{grid-column:1/-1;grid-template-columns:1fr 1fr;margin-top:0}.work-layout{display:block}.work-preview{display:none}.project-row__mobile-preview{border-top:1px solid var(--rule);color:var(--ink-muted);letter-spacing:.08em;grid-column:2/-1;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.7rem;padding-top:.8rem;font-size:.62rem;font-weight:600;display:grid}.profile__facts{grid-template-columns:1fr}.profile__facts article,.profile__facts article+article{border-bottom:1px solid var(--rule);border-right:0;min-height:auto;padding:1rem 0 4rem}.profile__fact{margin-top:4rem}.profile__body{margin-left:30%}.capabilities{grid-template-columns:1fr}.capabilities__heading{position:relative;top:auto}.instrument-sequence{display:block}.instrument-stage{display:none}.instrument-row{min-height:auto;padding-block:clamp(3rem,10vw,5rem)}.interest-line{grid-template-columns:3rem 1fr}.location__data{grid-template-columns:1fr}.location__data p{border-bottom:1px solid var(--rule);padding-bottom:1rem}.site-footer{grid-template-columns:1fr 1fr;padding-bottom:5rem}.project-detail__summary{grid-column:4/-1}.project-detail__introduction h2,.project-detail__outcome h2,.project-detail__process-heading h2{grid-column:3/-1}.project-detail__introduction>p:last-child,.project-detail__outcome>p:last-child{grid-column:4/-1}.project-detail__narrative{grid-template-columns:1fr}.project-detail__section{border-bottom:1px solid var(--rule);border-right:0;min-height:auto;padding-block:1rem 5rem}.project-detail__media-grid{grid-template-columns:1fr}.project-detail__media-grid .project-media:last-child{margin:0 0 0 20%}.project-next,.project-next__link{min-height:80svh}}@media (max-width:640px){:root{--space-page:1rem;--header-height:4rem}.site-header__brand{gap:0;font-size:.68rem;line-height:1.05;display:grid}.section-heading{display:block}.section-heading h2{margin-top:3rem}.section-heading>p:last-child{margin:3rem 0 0 25%}.hero{flex-direction:column;align-content:space-between;gap:2rem;min-height:max(100svh,43rem);display:flex}.hero__topline>span:last-child{display:none}.hero__identity{margin-top:1.5rem;font-size:clamp(2.85rem,15vw,6.2rem)}.hero__identity-secondary{margin-left:12%;font-size:.76em}.hero__statement{margin:1rem 0 auto 8%;font-size:clamp(2.3rem,11vw,3.7rem)}.hero__meta{gap:1rem .5rem}.practice__statement h2{font-size:clamp(3.3rem,16vw,5.4rem)}.practice__copy{grid-column:1/-1;margin:3rem 0 4rem 20%}.practice__index{grid-template-columns:1fr}.work-section__heading{min-height:48svh;display:grid}.work-section__heading .section-heading__index{grid-column:1/-1}.work-section__title{grid-column:1/-1!important;margin-top:0!important;font-size:clamp(5rem,23vw,8rem)!important}.work-section__rule{grid-column:1/-1}.project-row__content{grid-template-columns:2rem minmax(0,1fr) auto}.project-row__title{font-size:clamp(2.9rem,15vw,4.8rem)}.project-row__description,.project-row__category,.project-row__disciplines{grid-column:1/-1;margin-left:2rem}.project-row__status,.project-row__action{text-align:left;grid-area:auto/1/auto/-1;margin-left:2rem}.project-row__mobile-preview{grid-column:1/-1;grid-template-columns:1fr;gap:.45rem;margin-left:2rem}.profile__lead p{grid-column:1/-1;font-size:clamp(2.1rem,10vw,3.5rem)}.profile__body{margin-left:12%}.capability-index li{grid-template-columns:2rem 1fr auto}.working-instruments__heading{margin-bottom:5rem}.instrument-row{grid-template-columns:2rem minmax(0,1fr) auto;gap:.8rem}.instrument-row__identity h3{font-size:clamp(2.5rem,12.5vw,4.2rem)}.instrument-row__role{grid-column:2/-1}.interest-line{grid-template-columns:2rem 1fr;gap:.2rem;min-height:6rem}.interest-line__name{font-size:clamp(2.6rem,13.5vw,4.5rem)}.location{min-height:auto}.location h2{font-size:clamp(3.4rem,16vw,5.2rem)}.contact h2{letter-spacing:-.055em;font-size:clamp(2.4rem,13vw,4.5rem)}.contact{min-height:95svh}.contact__item{grid-template-columns:1fr;align-items:start;gap:.7rem}.contact__link{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:clamp(1.35rem,6.7vw,2.5rem)}.site-footer{padding-bottom:calc(7.5rem + env(safe-area-inset-bottom));grid-template-columns:1fr}.site-footer__year{text-align:left}.project-detail__hero{min-height:calc(100svh - var(--header-offset))}.project-detail__heading{display:block}.project-detail__heading h1{font-size:clamp(3.5rem,18.5vw,6rem)}.project-detail__summary{margin-left:12%}.project-detail__meta{grid-template-columns:1fr 1fr}.project-detail__meta div:last-child{grid-column:1/-1}.project-media__caption{grid-template-columns:1fr}.project-detail__introduction,.project-detail__outcome,.project-detail__process-heading{display:block}.project-detail__introduction h2,.project-detail__outcome h2,.project-detail__process-heading h2{margin:3rem 0}.project-detail__introduction>p:last-child,.project-detail__outcome>p:last-child{margin-left:12%}.project-detail__media-grid .project-media:last-child{margin-left:0}.project-next,.project-next__link{min-height:72svh}.project-next__description{grid-column:3/12}.project-next__title{font-size:clamp(3.5rem,18.5vw,7rem)}}@media (max-width:390px){.hero__identity{font-size:clamp(2.85rem,15vw,3.7rem)}.hero__statement{font-size:clamp(2.15rem,10.6vw,3rem)}.hero__meta{font-size:.53rem}.theme-selector__option{width:6.6rem;min-width:6.6rem}}@media (max-height:520px) and (orientation:landscape){.hero{min-height:42rem}.mobile-menu__link{padding:.24em 0;font-size:2.4rem}}@media (min-width:900px) and (max-height:719px){.instrument-sequence{display:block}.instrument-stage{display:none}.instrument-row{min-height:auto}}@media (pointer:coarse){.custom-cursor{display:none}.project-row__link,.theme-selector__option,.site-header__menu-trigger{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}.surface-texture,.custom-cursor,.intro-gate,.hero__shadow-field{display:none}.practice__statement,.capabilities__heading,.work-preview,.instrument-stage{position:relative;top:auto}.instrument-sequence{display:block}.instrument-stage{display:none}.instrument-row{min-height:auto}html[data-route-transition] .route-content{transform-style:flat;filter:none!important;opacity:1!important;transform:none!important}.route-transition{perspective:none;clip-path:inset(0)!important}.route-transition__surface{animation:none!important}.route-transition__field{background:var(--transition-bg,var(--transition-surface,var(--surface)));box-shadow:none}.route-transition__field:after,.route-transition__grid,.route-transition__index,.route-transition__rail,.route-transition__source,.route-transition__destination{animation:none!important;transform:none!important}.mobile-menu{transition:none}.theme-selector__options,.project-row__title,.project-row__arrow,.interest-line__name{transition-duration:.14s}.project-row.is-launching .project-row__content,.project-row.is-launching .project-row__title,.project-row.is-launching .project-row__action,.project-row[data-launching=true] .project-row__content,.project-row[data-launching=true] .project-row__title,.project-row[data-launching=true] .project-row__action{animation:none;transform:none}}
