/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--paper:#f2f0e9;--ink:#0a0a0a;--blue:#2340ff;--red:#ff3b30;--orange:#ff5c16;--line:#0a0a0a3d}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans),Arial,sans-serif;cursor:none;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{object-fit:cover;width:100%;height:100%;display:block}::selection{background:var(--blue);color:#fff}.cursor{z-index:100;pointer-events:none;mix-blend-mode:difference;width:12px;height:12px;color:var(--ink);background:#fff;border-radius:50%;transition:width .2s,height .2s,margin .2s;position:fixed;top:-6px;left:-6px}.cursor span{opacity:0;font:10px var(--font-mono);text-transform:uppercase}.site-header{z-index:50;mix-blend-mode:difference;color:#fff;grid-template-columns:2fr 4fr 2fr;align-items:start;padding:18px 24px;font-size:13px;display:grid;position:fixed;inset:0 0 auto}.wordmark{letter-spacing:-.08em;font-size:20px;font-weight:750}.wordmark span{font:8px var(--font-mono);vertical-align:top;margin-left:2px}.availability{text-transform:uppercase;letter-spacing:.04em;justify-self:start;font-size:11px}.availability i{background:#4bff77;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.nav{justify-self:end;gap:28px;display:flex}.nav a,.footer-meta a{position:relative}.nav a:after,.footer-meta a:after{content:"";transform-origin:100%;border-bottom:1px solid;transition:transform .25s;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.nav a:hover:after,.footer-meta a:hover:after{transform-origin:0;transform:scaleX(1)}.menu-button{color:inherit;background:0 0;border:0;display:none}.hero{grid-template-rows:auto 1fr auto;min-height:100svh;padding:112px 24px 24px;display:grid}.hero-kicker{letter-spacing:-.05em;margin-left:50%;font-size:clamp(20px,2.1vw,34px);line-height:.98}.hero h1{letter-spacing:-.058em;word-spacing:.055em;white-space:nowrap;align-self:center;margin:0;padding-bottom:.08em;font-size:clamp(80px,14.1vw,260px);font-weight:720;line-height:.84}.mask{overflow:hidden}.mask>span{animation:.8s cubic-bezier(.65,0,.2,1) both mask-in;display:block}.hero h1 span{animation-delay:.12s}@keyframes mask-in{0%{transform:translateY(115%)}to{transform:none}}.hero-bottom{border-top:1px solid var(--ink);grid-template-columns:2fr 1fr 1fr;align-items:end;padding-top:12px;display:grid}.hero-intro{letter-spacing:-.035em;max-width:540px;margin:0;font-size:clamp(18px,1.55vw,27px);line-height:1.1}.location{font:10px/1.45 var(--font-mono);text-transform:uppercase;margin:0}.scroll-cue{justify-self:end;width:34px;height:42px;animation:1.6s ease-in-out infinite bob;position:relative}.scroll-cue span:before{content:"";background:currentColor;width:1.5px;height:28px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.scroll-cue span:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:11px;height:11px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)rotate(45deg)}@keyframes bob{50%{transform:translateY(7px)}}.work-index,.about{padding:130px 24px 160px}.section-head{border-bottom:1px solid var(--ink);font:10px var(--font-mono);text-transform:uppercase;grid-template-columns:2fr 1fr 1fr;margin-bottom:0;padding-bottom:10px;display:grid}.section-head p{margin:0}.project-row{border-bottom:1px solid var(--line);grid-template-columns:.5fr 4fr 2fr .5fr auto;align-items:center;gap:15px;min-height:128px;padding:0 8px;transition:color .2s,background .2s;display:grid;position:relative}.project-row:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.project-no,.project-disciplines,.project-year{font:10px var(--font-mono);text-transform:uppercase}.project-title{letter-spacing:-.065em;font-size:clamp(42px,6vw,104px);line-height:.85}.project-arrow{width:22px;height:22px;display:block;position:relative}.project-arrow:before{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:11px;height:11px;position:absolute;bottom:1px;right:1px}.project-arrow:after{content:"";transform-origin:100%;background:currentColor;width:19px;height:1.5px;position:absolute;bottom:1px;right:1px;transform:rotate(45deg)}.hover-preview{z-index:4;opacity:0;pointer-events:none;width:260px;height:175px;transition:all .26s cubic-bezier(.2,.8,.2,1);position:absolute;right:16%;transform:scale(.85)rotate(-3deg)}@media (hover:hover) and (pointer:fine){body:has(.cursor-target:hover) .cursor{background:#fff;place-items:center;width:64px;height:64px;margin:-27px 0 0 -27px;display:grid}body:has(.cursor-target:hover) .cursor span{opacity:1}.project-row:hover{background:var(--ink);color:var(--paper)}.project-row:hover .hover-preview{opacity:1;transform:scale(1)rotate(2deg)}}.case-study{background:var(--ink);color:#fff}.case-cover{background:#222;height:100svh;position:relative;overflow:hidden}.case-cover img{object-fit:contain;filter:saturate(.72)contrast(1.04);padding:clamp(28px,6vw,100px);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s}.case-cover:hover img{filter:saturate()contrast();transform:scale(1.018)}.case-cover:after{content:"";background:linear-gradient(#0000 72%,#0000007a);position:absolute;inset:0}.case-mark{letter-spacing:-.1em;color:#fff;z-index:2;mix-blend-mode:difference;white-space:nowrap;font-size:clamp(100px,22vw,380px);font-weight:750;line-height:.7;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.case-2 .case-mark{color:var(--red);mix-blend-mode:normal}.case-3 .case-mark{color:var(--orange);mix-blend-mode:multiply}.case-4 .case-mark{font-family:var(--font-mono);font-size:clamp(100px,18vw,320px);font-weight:400}.case-cover-meta{z-index:3;font:10px var(--font-mono);text-transform:uppercase;grid-template-columns:2fr 1fr 1fr;display:grid;position:absolute;inset:auto 24px 22px}.case-cover-meta p{margin:0}.case-intro{grid-template-columns:1fr 3fr;padding:130px 24px 160px;display:grid}.eyebrow{font:10px var(--font-mono);text-transform:uppercase;margin:7px 0 0}.case-intro h2{letter-spacing:-.085em;grid-column:2;margin:0;font-size:clamp(72px,12vw,210px);line-height:.78}.case-description{letter-spacing:-.045em;grid-column:2;width:70%;margin:80px 0 100px;font-size:clamp(23px,3vw,48px);line-height:1.04}.project-data{border-top:1px solid #555;grid-column:2;grid-template-columns:repeat(4,1fr);gap:20px;margin:0;padding-top:12px;display:grid}.project-data div{display:block}.project-data dt{color:#888;font:9px var(--font-mono);text-transform:uppercase;margin-bottom:10px}.project-data dd{margin:0;font-size:13px;line-height:1.4}.project-links{grid-column:2;gap:10px;margin-top:46px;display:flex}.project-links a{font:10px var(--font-mono);text-transform:uppercase;border:1px solid #666;align-items:center;gap:8px;padding:12px 16px;transition:all .2s;display:inline-flex}.project-links a:hover{color:var(--ink);background:#fff;border-color:#fff}.external-arrow{flex:none;width:9px;height:9px;display:inline-block;position:relative}.external-arrow:before{content:"";border-top:1px solid;border-right:1px solid;width:6px;height:6px;position:absolute;top:0;right:0}.external-arrow:after{content:"";transform-origin:100% 0;background:currentColor;width:11px;height:1px;position:absolute;top:0;right:0;transform:rotate(-45deg)}.gallery{background:var(--paper);grid-template-columns:1.7fr 1fr;gap:8px;padding:8px;display:grid}.gallery figure{min-height:72vw;margin:0;overflow:hidden}.gallery figure img{transition:transform .8s}.gallery figure:hover img{transform:scale(1.03)}.gallery-1{grid-row:span 2}.gallery-2{align-self:center;height:42vw;min-height:0!important}.video-placeholder{background:var(--blue);color:#fff;grid-column:1/-1;place-items:center;height:70svh;display:grid;position:relative;overflow:hidden}.case-2 .video-placeholder{background:var(--red)}.case-3 .video-placeholder{background:var(--orange);color:var(--ink)}.case-4 .video-placeholder{color:var(--ink);background:#dbdbd1}.video-placeholder span{font:10px var(--font-mono);text-transform:uppercase;position:absolute;top:20px;left:20px}.video-placeholder button{width:86px;height:86px;color:inherit;background:0 0;border:1px solid;border-radius:50%;padding-left:8px;transition:all .2s}.video-placeholder button:hover{color:var(--ink);background:currentColor;transform:scale(1.1)}.video-placeholder small{font:10px var(--font-mono);position:absolute;bottom:20px;right:20px}.about{background:var(--paper)}.about-grid{grid-template-columns:repeat(4,1fr);row-gap:120px;padding-top:100px;display:grid}.about h2{letter-spacing:-.08em;grid-column:1/-1;margin:0;font-size:clamp(64px,11vw,190px);font-weight:680;line-height:.82}.about h2 em{font-family:Georgia,serif;font-weight:400}.about-copy{letter-spacing:-.04em;grid-column:2/4;font-size:clamp(22px,3vw,46px);line-height:1.04}.about-copy p{margin:0 0 1em}.services{grid-column:2}.selected-clients{grid-column:3}.services>p,.selected-clients>p{font:9px var(--font-mono);text-transform:uppercase;border-bottom:1px solid;padding-bottom:8px}.services ul,.selected-clients ul{margin:14px 0;padding:0;font-size:14px;line-height:1.55;list-style:none}footer{background:var(--blue);color:#fff;flex-direction:column;min-height:100svh;padding:24px;display:flex}.contact-label{font:10px var(--font-mono);text-transform:uppercase;border-bottom:1px solid #ffffff80;padding-bottom:10px}.contact-intro{letter-spacing:-.04em;margin:70px 0 0 25%;font-size:clamp(20px,2.4vw,36px)}.contact-cta{margin:auto 0}.contact-link{letter-spacing:-.09em;align-items:flex-end;gap:.12em;width:max-content;max-width:100%;font-size:clamp(75px,13.7vw,245px);font-weight:720;line-height:.73;display:flex}.contact-link:hover{font-style:italic}.contact-email{width:max-content;max-width:100%;font:11px var(--font-mono);text-transform:uppercase;letter-spacing:0;align-items:center;gap:12px;margin:30px 0 0 25%;display:flex}.contact-email span:first-child{opacity:.65}.contact-email:hover span:nth-child(2){text-underline-offset:4px;text-decoration:underline}.contact-arrow{flex:none;width:.42em;height:.42em;margin-bottom:.035em;display:block;position:relative}.contact-arrow:before{content:"";border-top:.025em solid;border-right:.025em solid;width:.28em;height:.28em;position:absolute;top:0;right:0}.contact-arrow:after{content:"";transform-origin:100% 0;background:currentColor;width:.48em;height:.025em;position:absolute;top:0;right:0;transform:rotate(-45deg)}.footer-meta{font:9px/1.5 var(--font-mono);text-transform:uppercase;border-top:1px solid #ffffff80;grid-template-columns:2fr 1fr 1fr auto;align-items:end;padding-top:12px;display:grid}.footer-meta p{margin:0}.footer-meta div{flex-direction:column;align-items:flex-start;display:flex}.footer-meta a{align-items:center;gap:6px;display:inline-flex}.back-to-top i{width:9px;height:12px;display:inline-block;position:relative}.back-to-top i:before{content:"";background:currentColor;width:1px;height:11px;position:absolute;top:1px;left:4px}.back-to-top i:after{content:"";border-top:1px solid;border-left:1px solid;width:6px;height:6px;position:absolute;top:1px;left:1px;transform:rotate(45deg)}.reveal{opacity:0;transition:opacity .65s,transform .65s cubic-bezier(.2,.7,.2,1);transform:translateY(35px)}.reveal.is-visible{opacity:1;transform:none}@media (width>=761px) and (width<=1180px){.project-row{grid-template-rows:auto auto;grid-template-columns:52px minmax(0,1fr) 28px;align-content:center;gap:12px 16px;min-height:clamp(188px,22vw,232px);padding:28px 8px}.project-no{grid-area:1/1;align-self:start;padding-top:8px}.project-title{overflow-wrap:anywhere;grid-area:1/2;font-size:clamp(56px,8.4vw,96px);line-height:.88}.project-disciplines{grid-area:2/2;align-self:start;line-height:1.35}.project-year{display:none}.project-arrow{grid-area:1/3/3;align-self:center}.hover-preview{display:none}}@media (width<=760px){:root{--mobile-pad:16px}body{cursor:auto}.cursor{width:0!important;height:0!important;display:none!important}body:has(.cursor-target:hover) .cursor{width:0!important;height:0!important;display:none!important}.site-header{padding:14px var(--mobile-pad);mix-blend-mode:normal;color:var(--ink);grid-template-columns:1fr 1fr;font-size:12px;position:absolute}.wordmark{font-size:18px}.availability{display:none}.menu-button{z-index:2;text-align:right;justify-self:end;min-width:44px;min-height:32px;padding:2px 0;display:block}.nav{background:var(--blue);color:#fff;mix-blend-mode:normal;padding:96px var(--mobile-pad) 42px;flex-direction:column;justify-content:flex-end;align-items:flex-start;font-size:16vw;line-height:.82;transition:all .35s;display:flex;position:fixed;inset:0;transform:translateY(-100%)}.nav a{border-top:1px solid #ffffff73;width:100%;padding:10px 0}.nav.is-open{transform:none}:is(.site-header:has(.nav.is-open) .wordmark,.site-header:has(.nav.is-open) .menu-button){color:#fff}.hero{min-height:100svh;padding:88px var(--mobile-pad) 18px;grid-template-rows:auto 1fr auto}.hero-kicker{max-width:280px;margin-left:0;font-size:19px;line-height:1}.hero h1{white-space:normal;letter-spacing:-.05em;word-spacing:.04em;overflow-wrap:anywhere;align-self:center;font-size:clamp(74px,25vw,116px);line-height:.84}.hero-bottom{grid-template-columns:1fr auto;row-gap:22px;padding-top:10px}.hero-intro{grid-column:1/-1}.location{grid-column:1}.scroll-cue{width:30px;height:38px}.work-index,.about{padding:82px var(--mobile-pad) 96px}.section-head{grid-template-columns:1fr 1fr}.section-head p:nth-child(2){display:none}.section-head p:last-child{text-align:right}.project-row{grid-template-rows:auto auto;grid-template-columns:26px minmax(0,1fr) 24px;align-content:center;gap:9px 8px;min-height:132px;padding:22px 0}.project-title{overflow-wrap:anywhere;grid-area:1/2;font-size:clamp(38px,11.5vw,58px);line-height:.9}.project-no{grid-area:1/1;align-self:start;padding-top:5px}.project-disciplines{grid-area:2/2;align-self:start;max-width:100%;margin:0;font-size:8px;line-height:1.35}.project-year{display:none}.project-arrow{grid-area:1/3/3;align-self:center;width:18px;height:18px;margin:0}.project-arrow:before{width:9px;height:9px}.project-arrow:after{width:16px}.hover-preview{display:none}.case-cover{height:68svh;min-height:500px}.case-cover img{filter:saturate();padding:54px 10px 66px}.case-cover:after{background:linear-gradient(#0000 74%,#000000a3)}.case-mark{inset:54px auto auto var(--mobile-pad);background:var(--blue);padding:8px 10px;transform:none;font:700 11px var(--font-mono)!important;letter-spacing:0!important;color:#fff!important;mix-blend-mode:normal!important;line-height:1!important}.case-cover-meta{grid-template-columns:1fr 1fr;inset:auto 16px 14px}.case-cover-meta p:nth-child(2){display:none}.case-cover-meta p:last-child{text-align:right}.case-intro{padding:72px var(--mobile-pad) 88px;display:block}.case-intro h2{overflow-wrap:anywhere;margin-top:28px;font-size:clamp(54px,17vw,86px);line-height:.82}.case-description{width:100%;margin:48px 0 66px;font-size:clamp(25px,7.2vw,36px);line-height:1.06}.project-data{grid-template-columns:1fr 1fr;gap:28px 12px}.project-data dt{margin-bottom:7px}.project-data dd{font-size:12px}.project-links{flex-direction:column;align-items:stretch;gap:8px;margin-top:38px;display:flex}.project-links a{text-align:center;padding:15px 12px}.gallery{padding:5px;display:block}.gallery figure{height:72svh;min-height:auto;margin-bottom:5px}.gallery-2{height:70svh!important}.video-placeholder{height:55svh}.about-grid{padding-top:62px;display:block}.about h2{margin-bottom:72px;font-size:clamp(62px,18vw,92px);line-height:.86}.about-copy{margin-bottom:72px;font-size:clamp(25px,7vw,34px);line-height:1.07}.services,.selected-clients{margin:42px 0}footer{min-height:100svh;padding:16px}.contact-intro{margin:54px 0 0;font-size:22px}.contact-link{letter-spacing:-.085em;font-size:clamp(66px,19vw,98px);line-height:.78}.contact-email{gap:8px;margin:22px 0 0;font-size:10px}.footer-meta{grid-template-columns:1fr 1fr;gap:24px 12px;padding-top:10px}.footer-meta>:nth-child(2n){text-align:right;justify-self:end}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
