/*! tailwindcss v4.3.3 | 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;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--spacing:.25rem;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-semibold:600;--tracking-normal:0em;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Instrument Serif", Georgia, serif;--color-paper:#f3f1eb;--color-ink:#171717;--color-muted:#66645f;--color-accent:#d94f36}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;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:where(:not(iframe)){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}*,:before,:after{box-sizing:border-box}:root{color-scheme:light}html{scroll-padding-top:6rem}body{min-width:320px;font-family:var(--font-sans);letter-spacing:0;overflow-x:clip}a{text-underline-offset:.2em;text-decoration-thickness:.08em}img{max-width:100%;height:auto;display:block}:focus-visible{outline:2px solid var(--color-accent);outline-offset:.35rem}}@layer components{.skip-link{z-index:100;background:var(--color-ink);color:var(--color-paper);text-transform:uppercase;padding:.75rem 1rem;font-size:.875rem;font-weight:800;position:fixed;top:1rem;left:1rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{color:var(--color-ink);border-bottom:1px solid #0000;transition:background-color .28s,border-color .28s,padding .28s}.site-header.is-scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f3f1ebeb;border-color:#1717171f}.site-header nav a,.editorial-link,.project-link,.contact-links a{transition:color .26s}.site-header nav a:hover,.editorial-link:hover,.project-link:hover,.contact-links a:hover{color:var(--color-accent)}.status span{background:var(--color-accent);width:.46rem;height:.46rem;display:inline-block}.display-heading,.section-title{letter-spacing:0;overflow-wrap:anywhere;font-weight:800}.font-display{font-family:var(--font-display);font-weight:400}.font-700{font-weight:700}.font-800{font-weight:800}.hero-section{background:linear-gradient(90deg, #17171712 1px, transparent 1px) 0 0 / 25vw 100%, var(--color-paper)}.hero-section *,.section-pad *,.contact-section *{min-width:0}.hero-meta{color:var(--color-muted);text-transform:uppercase;border-left:1px solid #17171733;padding-left:1.25rem;font-size:.76rem;font-weight:800;line-height:1.7}.editorial-link,.project-link{width:fit-content;color:var(--color-ink);text-transform:uppercase;font-size:.82rem;font-weight:800}.section-pad{padding-block:clamp(5.5rem,11vw,10rem)}.section-kicker{color:var(--color-accent);text-transform:uppercase;margin-bottom:1.35rem;font-size:.78rem;font-weight:800}.section-title{font-size:clamp(3.4rem,8vw,8rem);line-height:.9}.expertise-list{border-top:1px solid #1717172e}.expertise-row{border-bottom:1px solid #1717172e;grid-template-columns:.18fr .78fr 1fr;align-items:baseline;gap:2rem;padding-block:clamp(1.4rem,3.5vw,2.4rem);display:grid}.expertise-row span,.project-number{color:var(--color-accent);font-family:var(--font-display);font-size:clamp(2rem,5vw,4.8rem);font-style:italic;line-height:1}.expertise-row h3{font-size:clamp(1.8rem,4vw,4.4rem);font-weight:800;line-height:.95}.expertise-row p{color:var(--color-muted);font-size:clamp(1rem,1.7vw,1.25rem);line-height:1.5}.projects{gap:clamp(5rem,10vw,9rem);display:grid}.project{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.72fr);align-items:center;gap:clamp(2rem,6vw,6rem);display:grid}.project-reverse{grid-template-columns:minmax(18rem,.72fr) minmax(0,1.15fr)}.project-reverse .project-image{grid-column:2}.project-reverse .project-copy{grid-area:1/1}.project-wide{grid-template-columns:1fr;gap:2rem}.project-wide .project-copy{grid-template-columns:.18fr .82fr 1fr;align-items:start;gap:clamp(1rem,4vw,3rem);display:grid}.project-image{background:#dfd9ce;border:1px solid #17171729;display:block;overflow:hidden}.project-image img{width:100%;transition:transform .42s,filter .42s}.project:hover .project-image img,.project:focus-within .project-image img{filter:saturate(1.05);transform:scale(1.025)translate(.25rem,-.25rem)}.project-copy{gap:1.4rem;display:grid}.project-copy h3{max-width:9ch;font-size:clamp(2.8rem,6vw,6.9rem);font-weight:800;line-height:.88;transition:color .26s}.project:hover h3,.project:focus-within h3{color:#ec003f}.project-copy dl{color:var(--color-muted);gap:.75rem;font-size:.9rem;line-height:1.4;display:grid}.project-copy dt{color:var(--color-ink);text-transform:uppercase;font-weight:800}.project-copy p:not(.project-number){max-width:34rem;color:var(--color-muted);font-size:1.06rem;line-height:1.6}.project-link:after{content:"";vertical-align:middle;background:currentColor;width:1.9rem;height:1px;margin-left:.65rem;transition:transform .28s;display:inline-block}.project-link:hover:after,.project-link:focus-visible:after{transform:translate(.35rem)}.experience-list{border-top:1px solid #f5f3ed2e}.experience-row{border-bottom:1px solid #f5f3ed2e;grid-template-columns:.28fr .72fr 1fr;gap:clamp(1.25rem,4vw,3rem);padding-block:clamp(1.6rem,4vw,3rem);display:grid}.experience-row>p{color:var(--color-accent);font-family:var(--font-display);font-size:clamp(1.7rem,4vw,4.2rem);font-style:italic;line-height:1}.experience-row h3{font-size:clamp(1.8rem,4vw,4rem);font-weight:800;line-height:.95}.experience-row div>p:not(.experience-org){color:#f5f3eda8;line-height:1.6}.experience-org{text-transform:uppercase;margin-bottom:.75rem;font-weight:800}.experience-row ul{color:#f5f3ed94;text-transform:uppercase;flex-wrap:wrap;gap:.55rem .9rem;margin-top:1.2rem;font-size:.78rem;font-weight:800;display:flex}.tech-list{flex-wrap:wrap;align-content:start;gap:.45rem 1.4rem;display:flex}.tech-list li{color:var(--color-ink);font-size:clamp(2rem,6vw,6.7rem);font-weight:800;line-height:.96}.tech-list li:nth-child(3n){color:var(--color-accent);font-family:var(--font-display);font-style:italic;font-weight:400}.tech-list li:nth-child(4n){color:var(--color-muted)}.contact-links{flex-wrap:wrap;gap:1rem 2rem;display:flex}.contact-links a{color:var(--color-paper);font-size:clamp(2rem,5vw,5.2rem);font-weight:800;line-height:.95}.reveal{opacity:0;transition:opacity .62s,transform .62s;transform:translateY(1.35rem)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (max-width:900px){.hero-section{background:var(--color-paper)}.expertise-row,.project,.project-reverse,.project-wide .project-copy,.experience-row{grid-template-columns:1fr}.project-reverse .project-image,.project-reverse .project-copy{grid-area:auto}.project-copy h3{max-width:11ch}}@media (max-width:640px){.display-heading{font-size:clamp(3.7rem,22vw,6.2rem)}.section-title{font-size:clamp(3rem,16vw,5rem)}.hero-meta{border-top:1px solid #1717172e;border-left:0;padding-top:1rem;padding-left:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}}@layer utilities{.fixed{position:fixed}.relative{position:relative}.inset-x-0{inset-inline:0}.top-0{top:0}.top-36{top:calc(var(--spacing) * 36)}.top-44{top:calc(var(--spacing) * 44)}.right-56{right:calc(var(--spacing) * 56)}.right-96{right:calc(var(--spacing) * 96)}.bottom-36{bottom:calc(var(--spacing) * 36)}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.min-h-\[calc\(100vh-7rem\)\]{min-height:calc(100vh - 7rem)}.min-h-screen{min-height:100vh}.max-w-\[9ch\]{max-width:9ch}.max-w-\[10ch\]{max-width:10ch}.max-w-\[11ch\]{max-width:11ch}.max-w-\[12ch\]{max-width:12ch}.max-w-\[15ch\]{max-width:15ch}.max-w-\[37rem\]{max-width:37rem}.max-w-\[43rem\]{max-width:43rem}.max-w-\[76rem\]{max-width:76rem}.max-w-\[78rem\]{max-width:78rem}.max-w-\[1440px\]{max-width:1440px}.rotate-0{rotate:0deg}.rotate-12{rotate:12deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.content-between{align-content:space-between}.items-center{align-items:center}.justify-end{justify-content:flex-end}.gap-3{gap:calc(var(--spacing) * 3)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.place-self-start{place-self:start}.self-end{align-self:flex-end}.justify-self-start{justify-self:flex-start}.overflow-hidden{overflow:hidden}.scroll-smooth{scroll-behavior:smooth}.border-10{border-style:var(--tw-border-style);border-width:10px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-ink\/12{border-color:#1717171f}@supports (color:color-mix(in lab, red, red)){.border-ink\/12{border-color:color-mix(in oklab, var(--color-ink) 12%, transparent)}}.border-ink\/20{border-color:#17171733}@supports (color:color-mix(in lab, red, red)){.border-ink\/20{border-color:color-mix(in oklab, var(--color-ink) 20%, transparent)}}.border-paper\/16{border-color:#f3f1eb29}@supports (color:color-mix(in lab, red, red)){.border-paper\/16{border-color:color-mix(in oklab, var(--color-paper) 16%, transparent)}}.border-zinc-500{border-color:var(--color-zinc-500)}.bg-ink{background-color:var(--color-ink)}.bg-paper{background-color:var(--color-paper)}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-7{padding-top:calc(var(--spacing) * 7)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-28{padding-top:calc(var(--spacing) * 28)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.text-right{text-align:right}.font-display{font-family:var(--font-display)}.font-sans{font-family:var(--font-sans)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-\[0\.9rem\]{font-size:.9rem}.text-\[0\.76rem\]{font-size:.76rem}.text-\[0\.78rem\]{font-size:.78rem}.text-\[5rem\]{font-size:5rem}.text-\[clamp\(3rem\,8vw\,8\.5rem\)\]{font-size:clamp(3rem,8vw,8.5rem)}.text-\[clamp\(3rem\,8vw\,8rem\)\]{font-size:clamp(3rem,8vw,8rem)}.text-\[clamp\(4rem\,10vw\,11rem\)\]{font-size:clamp(4rem,10vw,11rem)}.text-\[clamp\(4rem\,11vw\,12rem\)\]{font-size:clamp(4rem,11vw,12rem)}.leading-28{--tw-leading:calc(var(--spacing) * 28);line-height:calc(var(--spacing) * 28)}.leading-\[0\.9\]{--tw-leading:.9;line-height:.9}.leading-\[0\.88\]{--tw-leading:.88;line-height:.88}.leading-\[0\.90\]{--tw-leading:.9;line-height:.9}.leading-\[0\.95\]{--tw-leading:.95;line-height:.95}.leading-\[0\.96\]{--tw-leading:.96;line-height:.96}.leading-\[0\.99\]{--tw-leading:.99;line-height:.99}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-none{--tw-leading:1;line-height:1}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.text-pretty{text-wrap:pretty}.text-ink{color:var(--color-ink)}.text-paper{color:var(--color-paper)}.text-paper\/58{color:#f3f1eb94}@supports (color:color-mix(in lab, red, red)){.text-paper\/58{color:color-mix(in oklab, var(--color-paper) 58%, transparent)}}.text-paper\/90{color:#f3f1ebe6}@supports (color:color-mix(in lab, red, red)){.text-paper\/90{color:color-mix(in oklab, var(--color-paper) 90%, transparent)}}.text-rose-500{color:var(--color-rose-500)}.text-rose-600{color:var(--color-rose-600)}.text-zinc-800{color:var(--color-zinc-800)}.text-zinc-900{color:var(--color-zinc-900)}.text-zinc-900\/60{color:#18181b99}@supports (color:color-mix(in lab, red, red)){.text-zinc-900\/60{color:color-mix(in oklab, var(--color-zinc-900) 60%, transparent)}}.text-zinc-950{color:var(--color-zinc-950)}.text-zinc-950\/60{color:#09090b99}@supports (color:color-mix(in lab, red, red)){.text-zinc-950\/60{color:color-mix(in oklab, var(--color-zinc-950) 60%, transparent)}}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.group-hover\:text-rose-600:is(:where(.group):hover *){color:var(--color-rose-600)}}.selection\:bg-accent ::selection{background-color:var(--color-accent)}.selection\:bg-accent::selection{background-color:var(--color-accent)}.selection\:text-paper ::selection{color:var(--color-paper)}.selection\:text-paper::selection{color:var(--color-paper)}@media (hover:hover){.hover\:rotate-12:hover{rotate:12deg}.hover\:rotate-45:hover{rotate:45deg}.hover\:text-rose-600:hover{color:var(--color-rose-600)}}@media (min-width:40rem){.sm\:flex{display:flex}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:48rem){.md\:absolute{position:absolute}.md\:block{display:block}.md\:w-\[9rem\]{width:9rem}.md\:w-\[18rem\]{width:18rem}.md\:opacity-70{opacity:.7}}@media (min-width:64rem){.lg\:block{display:block}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-\[0\.9fr_1fr_0\.4fr\]{grid-template-columns:.9fr 1fr .4fr}.lg\:grid-cols-\[0\.42fr_1fr\]{grid-template-columns:.42fr 1fr}.lg\:grid-cols-\[0\.95fr_1\.05fr\]{grid-template-columns:.95fr 1.05fr}.lg\:grid-cols-\[1fr_0\.42fr\]{grid-template-columns:1fr .42fr}.lg\:grid-cols-\[1fr_0\.58fr\]{grid-template-columns:1fr .58fr}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:place-self-end{place-self:end}.lg\:justify-self-end{justify-self:flex-end}.lg\:px-12{padding-inline:calc(var(--spacing) * 12)}.lg\:py-28{padding-block:calc(var(--spacing) * 28)}.lg\:pt-24{padding-top:calc(var(--spacing) * 24)}.lg\:text-\[7\.5rem\]{font-size:7.5rem}}}@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}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}