:root{--ink:#141414;--ink-soft:#1e1e1d;--paper:#f2f1ec;--stone:#cfcabd;--accent:var(--stone);--accent-ink:#141414;--mono:ui-monospace,"SF Mono","Courier New",Courier,monospace;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--serif:Georgia,"Times New Roman",serif;--gutter:clamp(16px,3.4vw,56px);--ease:cubic-bezier(.16,1,.3,1);--speed:.9s;--bg:var(--ink);--fg:var(--paper);--muted:#8c8b84;--line:#f2f1ec24;--bg-alt:var(--paper);--fg-alt:var(--ink);--muted-alt:#6b6a63;--line-alt:#14141424;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:var(--paper);--fg:var(--ink);--muted:#6b6a63;--line:#14141424;--bg-alt:var(--ink);--fg-alt:var(--paper);--muted-alt:#8c8b84;--line-alt:#f2f1ec24;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.surface-alt{background:var(--bg-alt);color:var(--fg-alt);--fg:var(--fg-alt);--muted:var(--muted-alt);--line:var(--line-alt)}.surface-accent{background:var(--accent);color:var(--accent-ink);--fg:var(--accent-ink);--muted:#14141494;--line:#14141433}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;transition:background .5s var(--ease),color .5s var(--ease);margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}h1,h2,h3,p{margin:0}.display{letter-spacing:-.055em;text-wrap:balance;font-weight:400;line-height:.82}.display-xl{font-size:clamp(3.6rem,11.5vw,11.5rem)}.display-lg{font-size:clamp(2.4rem,5.8vw,6.6rem)}.display-md{font-size:clamp(1.9rem,3.6vw,3.9rem);line-height:.9}.display em{font-family:var(--serif);font-size:1.1em;font-style:italic}.label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:500}.label-muted{color:var(--muted)}.body-text{max-width:46ch;color:var(--muted);font-size:clamp(.94rem,1vw,1.05rem);line-height:1.5}[data-reveal]{opacity:0;transition:opacity var(--speed)var(--ease)var(--delay,0s),transform var(--speed)var(--ease)var(--delay,0s);transform:translateY(26px)}[data-reveal].is-in{opacity:1;transform:none}.lines span{margin-bottom:-.16em;padding-bottom:.16em;display:block;overflow:hidden}.lines i{transition:transform 1.05s var(--ease)var(--delay,0s);font-style:normal;display:block;transform:translateY(110%)}.is-in .lines i{transform:none}.link{width:fit-content;padding-bottom:5px;font-size:.9rem;position:relative}.link:after{content:"";transform-origin:100%;height:1px;transition:transform .5s var(--ease);background:currentColor;position:absolute;bottom:0;left:0;right:0}.link:hover:after{transform-origin:0;transform:scaleX(0)}.link span{transition:transform .4s var(--ease);padding-left:8px;display:inline-block}.link:hover span{transform:translate(3px,-3px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}.lines i{transform:none}}.site-header{z-index:20;min-height:64px;padding:0 var(--gutter);transition:background .4s var(--ease),border-color .4s var(--ease),min-height .4s var(--ease);border-bottom:1px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:sticky;top:0}.site-header.is-stuck{border-bottom-color:var(--line);background:color-mix(in srgb,var(--bg)82%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-height:56px}.brand img{width:auto;height:clamp(20px,2.2vw,26px);display:block}[data-theme=dark] .brand-on-light,[data-theme=light] .brand-on-dark{display:none}.desktop-nav{gap:clamp(14px,2vw,30px);display:flex}.header-tools{justify-self:end;align-items:center;gap:18px;display:flex}.icon-button{border:1px solid var(--line);cursor:pointer;width:34px;height:34px;transition:background .35s var(--ease),border-color .35s var(--ease);background:0 0;border-radius:50%;place-items:center;display:grid}.icon-button:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.menu-button{cursor:pointer;background:0 0;border:0;padding:0;display:none}.mobile-nav{z-index:19;padding:0 var(--gutter);background:var(--bg);animation:fade-in .4s var(--ease);flex-direction:column;display:flex;position:fixed;inset:64px 0 0}.mobile-nav a{border-bottom:1px solid var(--line);letter-spacing:-.06em;justify-content:space-between;align-items:center;padding:18px 0;font-size:clamp(2.6rem,12vw,5rem);line-height:.9;display:flex}@keyframes fade-in{0%{opacity:0}}.hero{min-height:calc(100svh - 64px);padding:clamp(24px,5vh,60px)var(--gutter)clamp(20px,4vh,40px);flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";pointer-events:none;position:absolute}.hero:before{background:linear-gradient(var(--line)1px,transparent 1px)0 0/100% 12.5%,linear-gradient(90deg,var(--line)1px,transparent 1px)0 0/8.333% 100%;opacity:.85;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 40%,#000 10%,#0000 78%);mask-image:radial-gradient(circle at 50% 40%,#000 10%,#0000 78%)}.hero:after{aspect-ratio:1;background:radial-gradient(circle,color-mix(in srgb,var(--accent)10%,transparent)0%,transparent 60%);border-radius:50%;width:min(120vw,1400px);animation:14s ease-in-out infinite alternate bloom;top:-30%;left:50%;translate:-50%}@keyframes bloom{to{opacity:.45;scale:1.15}}.hero>*{z-index:1;position:relative}.hero-meta{color:var(--muted);justify-content:space-between;gap:20px;display:flex}.hero-content{grid-template-columns:minmax(0,1fr) minmax(240px,300px);align-items:end;gap:clamp(24px,4vw,60px);display:grid}.hero-aside{flex-direction:column;gap:26px;padding-bottom:10px;display:flex}.scroll-cue{color:var(--muted);align-items:center;gap:10px;display:flex}.scroll-cue:before{content:"";transform-origin:0;width:46px;height:1px;animation:cue 2.4s var(--ease)infinite;background:currentColor}@keyframes cue{50%{transform:scaleX(.3)}}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;overflow:hidden}.ticker-track{width:max-content;animation:34s linear infinite marquee;display:flex}.ticker:hover .ticker-track{animation-play-state:paused}.ticker-track span{font-family:var(--mono);letter-spacing:-.04em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:26px;padding-right:26px;font-size:clamp(1.1rem,2.4vw,2.2rem);font-weight:500;display:inline-flex}.ticker-track b{opacity:.55;font-size:.6em}@keyframes marquee{to{transform:translate(-50%)}}.section{padding:clamp(72px,11vh,150px)var(--gutter)}.section-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:30px;padding-bottom:26px;display:flex}.section-header .body-text{max-width:34ch}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(48px,7vw,90px) clamp(16px,2vw,26px);padding-top:20px;display:grid}.work-card:first-child{grid-column:1/-1}.work-visual{aspect-ratio:16/9;display:block;position:relative;overflow:hidden}.work-card:not(:first-child) .work-visual{aspect-ratio:4/3}.work-visual{background:var(--art)}.work-visual svg{width:100%;height:100%;transition:transform 1.1s var(--ease);padding:clamp(22px,5%,64px);display:block}.work-visual:hover svg{transform:scale(1.015)}.visual-topline{z-index:2;color:var(--accent-ink);mix-blend-mode:normal;justify-content:space-between;display:flex;position:absolute;top:14px;left:14px;right:14px}.visual-topline em{transition:transform .5s var(--ease);font-style:normal}.work-visual:hover em{transform:translate(4px,-4px)}.work-card{margin:0}.visual-caption{border-top:1px solid var(--line);letter-spacing:.06em;margin-top:12px;padding-top:12px;font-size:10px}.work-copy{padding-top:20px}.tag-list{flex-wrap:wrap;gap:8px;padding-top:18px;display:flex}.tag-list span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 11px}.work-copy h2{max-width:22ch;padding-top:14px}.approach-heading{max-width:26ch;padding:clamp(56px,10vh,130px) 0}.principles{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.principles article{border-right:1px solid var(--line);flex-direction:column;min-height:300px;padding:18px 24px 30px 0;display:flex}.principles article+article{padding-left:24px}.principles article:last-child{border-right:0}.principles h3{letter-spacing:-.03em;max-width:14ch;margin-top:auto;padding-bottom:12px;font-size:clamp(1.3rem,1.8vw,1.7rem);font-weight:400;line-height:1.02}.principles article:after{background:var(--fg);content:"";opacity:.45;transform-origin:0;height:1px;transition:transform 1.1s var(--ease)var(--delay,0s);order:9;margin:22px 0 0;transform:scaleX(0)}.principles article.is-in:after{transform:scaleX(1)}.service-row{border-bottom:1px solid var(--line);transition:padding-left .6s var(--ease);grid-template-columns:10% minmax(0,1fr) auto;align-items:start;gap:clamp(12px,2vw,28px);padding:28px 0 36px;display:grid}.service-row:hover{padding-left:12px}.service-row h2{max-width:16ch}.service-row .body-text{max-width:52ch;padding-top:18px;font-size:clamp(1rem,1.15vw,1.15rem)}.contact-section{min-height:72svh;padding:clamp(24px,4vh,40px)var(--gutter);flex-direction:column;justify-content:space-between;gap:40px;display:flex}.contact-link{letter-spacing:-.05em;width:fit-content;transition:opacity .4s var(--ease);border-bottom:2px solid;padding-bottom:6px;font-size:clamp(1.4rem,3.6vw,3.6rem)}.contact-link:hover{opacity:.6}.contact-link span{transition:transform .4s var(--ease);padding-left:10px;display:inline-block}.contact-link:hover span{transform:translate(6px,-6px)}.site-footer{padding:20px var(--gutter);border-top:1px solid var(--line);color:var(--muted);grid-template-columns:1fr 1fr auto;gap:20px;display:grid}.site-footer p:last-child{text-align:right}@media (width<=860px){.site-header{grid-template-columns:1fr auto}.desktop-nav,.header-tools>.link{display:none}.menu-button{display:block}.hero-meta p:last-child,.hero-aside .scroll-cue{display:none}.hero-content{display:block}.hero-aside{max-width:34ch;padding-top:32px}.work-grid{grid-template-columns:1fr}.work-card:first-child{grid-column:auto}.work-visual,.work-card:not(:first-child) .work-visual{aspect-ratio:4/3}.section-header,.service-row{display:block}.section-header .body-text{padding-top:22px}.principles{grid-template-columns:1fr}.principles article,.principles article+article{border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:18px 0 30px}.principles h3{margin-top:40px}.service-row span.label{padding-bottom:12px;display:block}.service-row .link{margin-top:20px}.site-footer{grid-template-columns:1fr}.site-footer p:last-child{text-align:left}}
