@font-face{font-family:display;src:url(/_next/static/media/29edb4937eba0b4b-s.p.woff2) format("woff2");font-display:swap;font-weight:500}@font-face{font-family:display Fallback;src:local("Arial");ascent-override:97.32%;descent-override:24.23%;line-gap-override:0.00%;size-adjust:99.54%}.__className_7b9b4b{font-family:display,display Fallback,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500}.__variable_7b9b4b{--font-display:"display","display Fallback",Helvetica Neue,Helvetica,Arial,sans-serif}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-display),Helvetica Neue,Helvetica,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--font-mono),ui-monospace,Monaco,Consolas,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--paper:#fafaf9;--ink:#242424;--ink-2:#686868;--rule:#dededb;--signal:#242424;--background:60 9% 98%;--foreground:0 0% 14%;--card:60 9% 98%;--card-foreground:0 0% 14%;--popover:60 9% 98%;--popover-foreground:0 0% 14%;--primary:0 0% 14%;--primary-foreground:60 9% 98%;--secondary:60 9% 98%;--secondary-foreground:0 0% 14%;--muted:60 9% 98%;--muted-foreground:0 0% 41%;--accent:0 0% 14%;--accent-foreground:60 9% 98%;--destructive:0 0% 14%;--destructive-foreground:60 9% 98%;--border:60 4% 87%;--input:60 4% 87%;--ring:0 0% 14%;--radius:0px}*{border-color:hsl(var(--border))}html{color-scheme:light;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--font-display),"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1.1875rem;line-height:1.5;font-kerning:normal;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}:where(a,button,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:1.5px solid var(--ink);outline-offset:4px}::-moz-selection{background:var(--art-ink);color:var(--paper)}::selection{background:var(--art-ink);color:var(--paper)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.mb-2{margin-bottom:.5rem}.flex{display:flex}.contents{display:contents}.hidden{display:none}.min-h-screen{min-height:100vh}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.rounded{border-radius:.25rem}.bg-background{background-color:hsl(var(--background))}.text-center{text-align:center}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.text-foreground{color:hsl(var(--foreground))}.underline{text-decoration-line:underline}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.running{animation-play-state:running}:root{--gutter:clamp(24px,6vw,80px);--gap:clamp(16px,2vw,28px);--section:clamp(112px,14vw,200px);--t-giant:clamp(3rem,7vw,6.5rem);--t-xl:clamp(2.5rem,5vw,5rem);--t-l:clamp(1.5rem,2.6vw,2.6rem);--t-body:clamp(1.05rem,1rem + 0.2vw,1.18rem);--t-label:13px;--nav-h:96px;--ease-out:cubic-bezier(0.22,1,0.36,1);--reveal:720ms;--rise:1000ms;--ink-open:inset(-0.2em -0.1em -0.25em -0.1em);--ink-shut:inset(-0.2em -0.1em 100% -0.1em);--art-ink:#3442b8;--rail:clamp(150px,16vw,204px);--rail-gap:clamp(28px,3.4vw,44px)}.home-page{position:relative;isolation:isolate}.scroll-thread{position:absolute;inset:0;z-index:-1;width:100%;height:100%;overflow:clip;pointer-events:none;opacity:0;color:var(--art-ink)}.scroll-thread[data-ready=true]{opacity:1}.scroll-thread .thread-track{stroke:currentColor;stroke-width:.85;stroke-opacity:.3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--thread-progress, 0))}.scroll-thread .thread-track+.thread-track{stroke-opacity:.1;stroke-width:.65}.scroll-thread .thread-tip{stroke:currentColor;stroke-width:1.5;stroke-opacity:.8;stroke-linecap:round;stroke-dasharray:.012 1;stroke-dashoffset:calc(.012 - var(--thread-progress, 0))}.thread-pen{opacity:0}.thread-pen ellipse{stroke:currentColor;stroke-width:.65;opacity:.45}.thread-pen circle{fill:currentColor}@media (prefers-reduced-motion:reduce){.scroll-thread{display:none}}.wrap{width:100%;max-width:1180px;margin-inline:auto;padding-inline:var(--gutter)}.label{font-family:var(--font-display),sans-serif;font-size:var(--t-label);line-height:1.6;color:var(--ink-2)}a:hover{text-decoration-color:currentColor}.label a:hover,a.label:hover,button.label:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.label svg{display:inline-block;width:1em;height:1em;vertical-align:-.15em}.about-copy>p+p,.hero-description,.page-sub,.project-description p,.project-result,.prose,.steps p{font-family:var(--font-text),var(--font-display),sans-serif;font-weight:400}.faq summary,.feature>h3,.giant,.metric-support dt,.steps h3,.xl{font-family:var(--font-display),sans-serif;font-weight:500;color:var(--ink)}.giant{font-size:var(--t-giant);line-height:1;letter-spacing:-.05em}.xl{font-size:var(--t-xl);line-height:1.05;letter-spacing:-.04em}.prose,.signal{color:var(--ink)}.prose{max-width:60ch;font-size:var(--t-body);line-height:1.75;text-wrap:pretty}.prose>*+*{margin-top:1.1em}.skip-link{position:absolute;left:var(--gutter);top:12px;z-index:60;padding:10px 14px;background:var(--ink);color:var(--paper);transform:translateY(-200%)}.skip-link:focus{transform:none}section[id]{scroll-margin-top:40px}.section{margin-top:var(--section)}.section-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;margin-bottom:36px}.section-head h2{font-size:18px;color:var(--ink)}.section-head h2>span{margin-right:16px;color:var(--ink-2)}.site-nav{display:flex;min-height:var(--nav-h);align-items:center;justify-content:space-between;gap:24px;font-size:14px}.nav-brand{font-size:17px;letter-spacing:-.01em;white-space:nowrap}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-2);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px}.nav-links a:hover{color:var(--ink)}.nav-links a[aria-current]{color:var(--ink);text-decoration-color:var(--rule)}.nav-links .language-switch{font-size:12px}.hero{--name:clamp(64px,10.4vw,148px);--art-w:min(52vw,600px);--art-right:clamp(-90px,calc(500px - 50vw),-18px);position:relative;isolation:isolate;display:grid;grid-template-rows:auto 1fr auto;min-height:min(940px,calc(100svh - var(--nav-h)));padding-block:clamp(28px,5vh,56px) clamp(40px,7vh,80px)}.hero-stage{position:relative;align-self:center;padding-block:clamp(48px,8vh,96px)}.hero-art{position:absolute;z-index:-1;width:var(--art-w);bottom:calc(clamp(48px, 8vh, 96px) + var(--name) * .12 - var(--art-w) * .139);right:var(--art-right);color:var(--art-ink);pointer-events:none}.ink-drawing{display:block;width:100%;height:auto;overflow:visible}.art-motion{transform:perspective(900px) rotateX(var(--art-y,0deg)) rotateY(var(--art-x,0deg));transform-origin:50% 50%;transition:transform .7s var(--ease-out)}.hero-art figcaption{position:absolute;top:19%;right:calc(var(--art-right) * -1);font-size:12px;color:var(--ink-2)}.hero-art figcaption span{margin-left:14px}.hero-bottom,.hero-role{position:relative}.hero-role{font-size:15px;line-height:1.6}.role-lead{white-space:nowrap}.hero h1{font-size:var(--name);font-weight:500;letter-spacing:-.045em;line-height:1.07}.hero-name-line{display:block;overflow:clip;padding-block:.06em;margin-block:-.06em}.hero-name-line+.hero-name-line{text-align:right}.hero-name-word,.signature-period{display:inline-block}.signature-period{transform-origin:50% 80%;color:var(--art-ink)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}.hero-description{max-width:30ch;font-size:clamp(20px,1.75vw,25px);letter-spacing:-.01em;line-height:1.45;text-wrap:balance}.hero-scroll{display:inline-flex;align-items:center;gap:16px;flex-shrink:0;min-height:44px;font-size:14px}.hero-scroll svg{width:20px;height:20px;rotate:135deg;transition:transform .35s var(--ease-out)}.hero-scroll:hover svg{transform:translate(3px,-3px)}.home-page .selected-work{margin-top:clamp(120px,15vw,224px)}.home-page .about-section{margin-top:clamp(184px,24vw,360px)}.home-page .contact-section{margin-top:clamp(200px,26vw,392px)}.work-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:8px;font-size:14px}.work-index-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;color:var(--ink-2);font-size:14px}.work-index-link svg{width:14px;height:14px}.work-index-link:hover{color:var(--ink)}.project-row{position:relative;display:grid;grid-template-columns:var(--rail) minmax(0,1fr) 190px 22px;gap:var(--rail-gap);padding-block:clamp(36px,4.4vw,60px);align-items:center}.project-drawing{color:var(--ink);pointer-events:none}.project-drawing svg{display:block;width:100%;overflow:visible}.drawing-structure{stroke-opacity:.55;transition:color .5s var(--ease-out),stroke-opacity .5s var(--ease-out)}.drawing-signal{color:var(--art-ink)}.drawing-node{fill:var(--paper)}.project-row:is(:hover,:focus-within) .drawing-structure{color:var(--art-ink);stroke-opacity:.7}.project-description h3{font-size:clamp(28px,3.3vw,46px);letter-spacing:-.035em;line-height:1.12}.project-name{display:inline-block;transition:transform .42s var(--ease-out),clip-path var(--rise) var(--ease-out),translate var(--rise) var(--ease-out)}.project-description p{max-width:44ch;text-wrap:balance;color:var(--ink-2);font-size:17px;line-height:1.55;margin-top:12px}.project-description .project-context{margin-top:14px;font-size:14px}.project-result{color:var(--ink-2);font-size:14px;line-height:1.5;max-width:23ch}.project-result>span{display:block;font-family:var(--font-display),sans-serif;font-size:clamp(28px,3.3vw,46px);letter-spacing:-.035em;line-height:1.12;font-variant-numeric:tabular-nums;color:var(--ink);margin-bottom:12px}.project-arrow{width:22px;height:22px;color:var(--ink-2)}.project-link{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;text-decoration-thickness:1px}.project-link:after{content:"";position:absolute;inset:0}.project-row:hover .project-link{text-decoration-color:currentColor}.project-row:is(:hover,:focus-within) .project-arrow{transform:translate(5px,-5px);color:var(--art-ink)}.project-row:is(:hover,:focus-within) .project-name{color:var(--art-ink)}@media (hover:hover) and (pointer:fine){.project-row:hover .project-name{transform:translateX(8px)}}.project-link:focus-visible{outline:none}.project-link:focus-visible:after{outline:2px solid var(--ink);outline-offset:5px}.work-note{margin-top:20px;font-size:14px;line-height:1.6;color:var(--ink-2)}.about-section{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);gap:var(--rail-gap)}.about-section h2,.about-section h3{font-size:14px;padding-top:.75em}.about-portrait{width:100%;max-width:204px;aspect-ratio:4/5;margin-top:28px;overflow:hidden;clip-path:inset(0);transition:clip-path 1.2s var(--ease-out)}.about-portrait img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;scale:1.4;transform-origin:50% 42%;filter:grayscale(1) contrast(1.04)}[data-reveal-kind=portrait][data-reveal=pending]{opacity:1;transform:none}[data-reveal-kind=portrait][data-reveal=pending] .about-portrait{clip-path:inset(100% 0 0 0)}.about-section>h3,.experience{margin-top:clamp(96px,11vw,168px)}.experience li{display:grid;grid-template-columns:minmax(0,1fr) auto;-moz-column-gap:24px;column-gap:24px;align-items:baseline}.experience li+li{margin-top:clamp(22px,2.4vw,32px)}.experience-role{font-size:clamp(20px,1.9vw,26px);letter-spacing:-.02em;line-height:1.25}.experience-place{grid-column:1;margin-top:4px;font-family:var(--font-text),var(--font-display),sans-serif;font-size:16px;color:var(--ink-2)}.experience-period{grid-column:2;grid-row:1;font-size:14px;font-variant-numeric:tabular-nums;color:var(--ink-2);white-space:nowrap}.statement{font-size:clamp(34px,4.6vw,64px);line-height:1.08;letter-spacing:-.04em;max-width:19ch;text-wrap:balance}.about-copy>p+p{margin-top:clamp(28px,3vw,40px);max-width:50ch;font-size:18px;line-height:1.65;color:var(--ink-2)}.about-copy>.statement+p{color:var(--ink)}.about-copy>p+.about-location{margin-top:16px;font-size:15px}.contact-section{position:relative;padding-top:clamp(48px,6vw,84px)}.contact-art{position:absolute;width:200px;right:0;top:34px;color:var(--art-ink);pointer-events:none;rotate:-22deg}.home-page .contact-section h2{max-width:calc(100% - 220px);font-size:clamp(44px,6.6vw,94px);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}.contact-section h2{font-size:clamp(30px,4vw,48px);font-weight:500;line-height:1.2;letter-spacing:-.04em}.contact-mail{display:flex;align-items:center;flex-wrap:wrap;gap:8px 28px;margin-top:clamp(28px,3.4vw,44px)}.email{display:inline-flex;align-items:center;min-height:44px;font-size:clamp(20px,2.3vw,30px);letter-spacing:-.02em}.copy-email{min-height:44px;min-width:110px;text-align:left;font-size:14px}.contact-links{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:12px;font-size:14px;color:var(--ink-2)}.contact-links a{display:inline-flex;align-items:center;min-height:44px}.contact-links a:hover{color:var(--ink)}.home-colophon{display:grid;grid-template-columns:var(--rail) minmax(0,1fr) auto;-moz-column-gap:var(--rail-gap);column-gap:var(--rail-gap);align-items:start;padding-block:40px 56px;margin-top:clamp(136px,16vw,232px);font-size:14px;line-height:1.7;color:var(--ink-2)}.colophon-sign{color:var(--ink)}.colophon-place{display:flex;flex-wrap:wrap;-moz-column-gap:20px;column-gap:20px}.colophon-place time{font-variant-numeric:tabular-nums}.home-colophon a{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:-10px;color:var(--ink)}.home-colophon a svg{width:16px;height:16px;transition:translate .35s var(--ease-out)}.home-colophon a:hover svg{translate:0 -4px}.contact-links a,.email,.hero-scroll span,.home-colophon a span,.nav-links a,.work-index-link{--pen-y:calc(50% + 0.85em);background:linear-gradient(var(--art-ink),var(--art-ink)) no-repeat 0 var(--pen-y) /0 1.5px,linear-gradient(var(--pen-rest,transparent),var(--pen-rest,transparent)) no-repeat 0 var(--pen-y) /100% 1px;transition:background-size .52s var(--ease-out),color .3s var(--ease-out)}.hero-scroll span,.home-colophon a span{--pen-y:100%;--pen-rest:var(--rule);padding-bottom:5px}.email{--pen-y:100%;--pen-rest:var(--rule)}.contact-links a:is(:hover,:focus-visible),.email:is(:hover,:focus-visible),.hero-scroll:hover span,.home-colophon a:hover span,.nav-links a:is(:hover,:focus-visible),.work-index-link:is(:hover,:focus-visible){background-size:100% 1.5px,100% 1px}.ink-period{color:var(--art-ink)}.row{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:center;padding-block:35px}.row-num{grid-column:1}.row-title{grid-column:2/span 7}.row-title.xl{font-size:clamp(26px,3vw,40px)}.row-meta{grid-column:9/span 3;text-align:right}.row-meta>span{display:block}.row-arrow{grid-column:12;justify-self:end;width:24px;height:auto}.row-link:after{content:"";position:absolute;inset:0}.row-link:focus-visible{outline:none}.row-link:focus-visible:after{outline:2px solid var(--ink);outline-offset:5px}.row:hover .row-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}@media (min-width:761px) and (max-width:1050px){:root{--rail:116px;--rail-gap:22px}.project-row{grid-template-columns:var(--rail) minmax(0,1fr) 132px 18px}}@media (max-width:760px){:root{--nav-h:80px}.site-nav{gap:16px;flex-wrap:wrap;padding-block:18px}.nav-links{gap:20px}.hero{--art-w:min(100%,400px);--art-right:-18px;min-height:0;padding-block:12px 56px}.hero-stage{padding-block:calc(var(--art-w) * .74) 36px}.hero-art{top:calc(var(--art-w) * -.17);bottom:auto}.hero-art figcaption{top:84%;font-size:11px}.contact-art{width:110px;top:-80px;right:0}.home-page .contact-section h2{max-width:none}.hero-role{font-size:14px}.hero h1{--name:clamp(48px,14.8vw,100px)}.hero-description{font-size:20px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:20px}.project-row{grid-template-columns:minmax(0,1fr) 86px 18px;gap:15px;padding-block:34px}.project-description{grid-column:1/3;grid-row:1}.project-drawing{grid-column:2/4;grid-row:2;width:132px;justify-self:end}.project-description p{font-size:16px}.project-arrow{grid-column:3;grid-row:1;align-self:start;margin-top:8px}.project-result{grid-column:1;grid-row:2;max-width:23ch}.project-result>span{margin-bottom:6px}.about-section{grid-template-columns:1fr;gap:20px}.about-section h2,.about-section h3{padding-top:0}.about-rail{display:flex;justify-content:space-between;align-items:flex-start}.about-portrait{width:112px;margin-top:0}.about-section>h3{margin-top:72px}.experience{margin-top:0}.experience li{grid-template-columns:minmax(0,1fr)}.experience-period{grid-column:1;grid-row:auto;margin-top:4px}.about-copy>p+p{font-size:17px}.about-copy>p+.about-location{font-size:14px}.contact-section{padding-top:48px}.home-colophon{grid-template-columns:minmax(0,1fr) auto;row-gap:12px;margin-top:120px;padding-bottom:40px}.colophon-body{grid-column:1/-1;grid-row:2}.row{grid-template-columns:minmax(0,1fr) auto;gap:14px}.row-num{grid-column:1;grid-row:1}.row-arrow{grid-column:2;grid-row:1;width:20px}.row-title{grid-column:1/-1;grid-row:2}.row-meta{grid-column:1/-1;grid-row:3;text-align:left}}@media (max-width:480px){:root{--nav-h:120px}.site-nav{align-items:flex-start;gap:4px}.nav-brand{width:100%;min-height:36px;display:flex;align-items:center}.nav-links{width:100%;justify-content:space-between;gap:12px}}.page-head{flex-direction:column;gap:clamp(40px,7vh,90px);min-height:auto;padding-top:clamp(36px,5vw,72px)}.page-head,.page-head-top{display:flex;justify-content:space-between}.page-head-top{align-items:baseline;gap:8px 24px}@media (max-width:560px){.page-head-top{flex-direction:column}}.page-title>span{display:block}.page-title .xl{max-width:15ch;text-wrap:balance}.page-sub{max-width:32ch;margin-top:clamp(20px,2.6vw,44px);font-size:var(--t-l);font-weight:400;line-height:1.25;letter-spacing:-.03em;color:var(--ink-2);text-wrap:balance}.page-lede{margin-top:clamp(24px,3vw,48px);color:var(--ink-2)}@media (min-width:1024px){.page-lede{margin-left:calc((100% - 11 * var(--gap)) / 12 * 6 + 6 * var(--gap))}}.page-head .facts{margin-top:clamp(32px,4vw,56px)}.facts{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:var(--gap);column-gap:var(--gap);row-gap:28px;padding-top:20px}.facts>div{grid-column:span 3}.facts dd{margin-top:8px;color:var(--ink)}@media (max-width:760px){.facts>div{grid-column:span 6}.facts>.facts-wide{grid-column:1/-1}}.case-outcome{margin-top:clamp(48px,6vw,80px)}.case-outcome .section-head{margin-bottom:24px}.case-metrics{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}.case-metrics>div{display:grid;grid-template-rows:auto 1fr;align-content:start;gap:12px}.case-metrics dt{grid-row:2;max-width:26ch;font-size:13px;line-height:1.6;color:var(--ink-2)}.case-metrics dd{grid-row:1;font-size:clamp(30px,3.8vw,46px);line-height:1.2;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.case-metrics .case-metric-primary dd{font-size:clamp(38px,4.5vw,56px)}.case-study .reading-nav{margin-top:48px}@media (max-width:560px){.case-metrics{grid-template-columns:1fr 1fr;gap:28px 20px}.case-metric-primary{grid-column:1/-1}}.metric{font-variant-numeric:tabular-nums}.metric-unit{margin-top:clamp(16px,2vw,28px);max-width:36ch}.metric-support{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:var(--gap);column-gap:var(--gap);row-gap:28px;margin-top:clamp(48px,6vw,96px)}.metric-support>div{grid-column:span 3}.metric-support dt{font-size:var(--t-l);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.metric-support dd{margin-top:10px}@media (max-width:760px){.metric-support>div{grid-column:span 6}}.reading-nav{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px clamp(24px,3vw,48px);padding-block:20px}.reading-nav ol{display:flex;flex-wrap:wrap;gap:8px clamp(24px,3vw,48px)}.reading-nav a{display:inline-flex;gap:.9em;min-height:32px;align-items:baseline}.case-body{margin-top:clamp(40px,6vw,80px)}.case-section{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:var(--gap);column-gap:var(--gap);row-gap:24px;scroll-margin-top:115px}.case-section+.case-section{margin-top:clamp(56px,7vw,96px)}.case-section>h2{grid-column:1/span 3}.case-section>.prose{grid-column:5/-1}@media (min-width:761px){.case-section>h2{position:sticky;top:40px;align-self:start}}@media (max-width:760px){.case-section>.prose,.case-section>h2{grid-column:1/-1}}.section-sub{margin-top:clamp(48px,6vw,96px)}.feature{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:var(--gap);column-gap:var(--gap);row-gap:16px;align-items:baseline;padding-block:clamp(28px,3.4vw,52px)}.feature>.label{grid-column:1}.feature>h3{grid-column:2/span 5;font-size:var(--t-l);line-height:1.05;letter-spacing:-.035em;text-wrap:balance}.feature>p{grid-column:8/span 5;color:var(--ink-2)}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));-moz-column-gap:var(--gap);column-gap:var(--gap);row-gap:48px}.steps>li{padding-top:20px}.steps h3{margin-top:16px;font-size:var(--t-l);line-height:1;letter-spacing:-.035em}.steps p{margin-top:16px;font-size:1.125rem;line-height:1.5;color:var(--ink-2);max-width:30ch}.stack-line{max-width:72ch;color:var(--ink);line-height:2}.service-note{margin-top:clamp(32px,4vw,64px);color:var(--ink-2)}.faq summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:24px;padding-block:clamp(22px,2.6vw,40px);cursor:pointer;list-style:none;font-size:var(--t-l);line-height:1.08;letter-spacing:-.035em;text-wrap:balance;transition:color .3s var(--ease-out)}.faq summary::-webkit-details-marker{display:none}.faq summary svg{width:clamp(20px,2vw,32px);height:auto;rotate:135deg;transition:rotate .45s var(--ease-out)}.faq details[open] summary svg{rotate:-45deg}.faq details>p{padding-bottom:clamp(28px,3vw,48px);color:var(--ink-2)}@media (min-width:1024px){.faq details>p{margin-left:calc((100% - 11 * var(--gap)) / 12 * 6 + 6 * var(--gap))}}@media (max-width:1023px){.feature>h3,.feature>p{grid-column:2/-1}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.feature{grid-template-columns:minmax(0,1fr)}.feature>.label,.feature>h3,.feature>p{grid-column:1}.steps{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:no-preference){.contact-art .ink-drawing{transform:rotate(calc(-10deg + var(--thread-arrival, 1) * 10deg)) scale(calc(.94 + var(--thread-arrival, 1) * .06))}.contact-art .ink-contour{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--thread-arrival, 1))}.project-row:is(:hover,:focus-within) .drawing-trace{stroke-dasharray:1;animation:ink-trace 1s var(--ease-out) both}.project-row:is(:hover,:focus-within) .drawing-floor{animation:ink-floor .7s var(--ease-out) both}.hero-art .ink-contour{stroke-dasharray:1;animation:ink-trace 1.8s ease both}.hero-art .ink-contour:nth-child(3n){animation-delay:80ms}.hero-art .ink-contour:nth-child(3n+1){animation-delay:.16s}.hero-name-line:first-child .hero-name-word{animation:signature-first .95s var(--ease-out) both}.hero-name-line:last-child .hero-name-word{animation:signature-last 1.05s var(--ease-out) 90ms both}.signature-period{animation:signature-period .65s var(--ease-out) .42s both}.hero-role{animation:signature-note .65s var(--ease-out) both}.hero-bottom{animation:signature-note .85s var(--ease-out) .24s both}}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.hero-art .ink-contour{animation:ink-trace 1.8s ease both,ink-unwind linear forwards;animation-timeline:auto,scroll(root);animation-range:normal,40px 78vh}.hero-art .ink-contour:nth-child(3n){animation-delay:80ms,0s}.hero-art .ink-contour:nth-child(3n+1){animation-delay:.16s,0s}}}@keyframes ink-unwind{0%{stroke-dashoffset:0}to{stroke-dashoffset:1}}@keyframes ink-trace{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes ink-floor{0%{opacity:.15}}@keyframes signature-first{0%{opacity:.15;transform:translate(-.14em,.42em);clip-path:inset(0 0 90% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}@keyframes signature-last{0%{opacity:.15;transform:translate(.16em,.42em);clip-path:inset(0 0 90% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}@keyframes signature-period{0%{opacity:0;transform:translateY(-.2em) scale(.35)}70%{opacity:1;transform:translateY(.025em) scale(1.12)}to{opacity:1;transform:none}}@keyframes signature-note{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}[data-reveal]{transition:opacity var(--reveal) var(--ease-out) var(--reveal-delay,0s),transform var(--reveal) var(--ease-out) var(--reveal-delay,0s)}[data-reveal=pending]{opacity:0;transform:translateY(20px)}[data-reveal-kind=heading][data-reveal=pending]{transform:translateY(12px)}.contact-section h2,.project-result>span,.statement{transition:clip-path var(--rise) var(--ease-out),translate var(--rise) var(--ease-out)}.project-drawing{transition:clip-path 1.2s var(--ease-out)}.about-copy>p+p,.project-arrow,.project-description p,.project-result{transition:opacity var(--reveal) var(--ease-out) var(--follow,.24s),translate var(--reveal) var(--ease-out) var(--follow,.24s),transform .42s var(--ease-out),color .42s var(--ease-out)}.project-result>span{transition-delay:90ms}.about-copy>.about-location{--follow:360ms}.about-copy[data-reveal=pending],.contact-section h2[data-reveal=pending],.project-row[data-reveal=pending]{opacity:1;transform:none}.contact-section h2[data-reveal=pending],[data-reveal=pending]:not(:focus-within) :is(.project-name,.project-result>span,.statement){clip-path:var(--ink-shut);translate:0 .4em}[data-reveal=pending]:not(:focus-within) .project-drawing{clip-path:inset(100% -6% -6% -6%)}[data-reveal=pending]:not(:focus-within) .project-drawing[data-study=rings]{clip-path:circle(0 at 44% 54%)}[data-reveal=pending]:not(:focus-within) :is(.project-description p,.project-result,.project-arrow,.about-copy>p+p){opacity:0;translate:0 10px}.contact-section h2,.project-name,.project-result>span,.statement{clip-path:var(--ink-open)}.project-drawing{clip-path:inset(-6%)}.project-drawing[data-study=rings]{clip-path:circle(80% at 44% 54%)}[data-reveal=pending]:focus-within{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.art-motion{transform:none!important;transition:none!important}.ink-contour{animation:none!important;stroke-dashoffset:0!important}.hero-bottom,.hero-name-word,.hero-role,.signature-period{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}.hero-scroll:hover svg,.project-row:hover .project-name,.project-row:is(:hover,:focus-within) .project-arrow{transform:none}.home-colophon a:hover svg{translate:none}[data-reveal]{opacity:1!important;transform:none!important}}