/*! 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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-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-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs:.75rem;--text-base:1rem;--leading-tight:1.25;--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)}}@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;-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}}@layer components;@layer utilities{.visible{visibility:visible}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.contents{display:contents}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--color-background:#171717;--color-surface:#202020;--color-text:#f2f2f0;--color-text-muted:#a0a0a0;--color-grid:#3a3a3a;--font-sans:Inter,"Helvetica Neue",Helvetica,Arial,sans-serif;--content-max:1600px;--gutter:clamp(1.25rem,3vw,4rem);--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--text-xs:.6875rem;--text-base:1rem;--text-display:clamp(3.25rem,9vw,10rem);--leading-tight:.88;--tracking-label:.13em}*{box-sizing:border-box}html{background:var(--color-background);scroll-behavior:smooth}body{background:var(--color-background);min-width:320px;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.45;overflow-x:clip}button,a{color:inherit;font:inherit}a{text-decoration:none}button{cursor:pointer;border:0}#root{min-height:100svh}::selection{background:var(--color-text);color:var(--color-background)}@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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.hero-section{background:var(--color-background);min-height:calc(100svh - 5rem)}.hero-grid{min-height:inherit;border-inline:1px solid var(--color-grid);background-image:linear-gradient(to right,transparent calc(100% - 1px),var(--color-grid) calc(100% - 1px));background-size:8.33333% 100%;grid-template-rows:auto 1fr auto;grid-template-columns:repeat(12,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.hero-meta{z-index:2;min-height:3rem;padding:0 var(--space-2);border-bottom:1px solid var(--color-grid);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.hero-image-frame{border-left:1px solid var(--color-grid);background:var(--color-surface);grid-area:2/7/4/-1;min-height:clamp(26rem,58vh,48rem);position:relative;overflow:hidden}.hero-image-frame:after{content:"";pointer-events:none;background:#17171747;position:absolute;inset:0}.hero-image-frame img{object-fit:cover;object-position:center;filter:saturate(.65)brightness(.72);width:100%;height:100%;display:block}.hero-image-caption{z-index:1;right:var(--space-2);bottom:var(--space-2);color:var(--color-text);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;position:absolute}.hero-title{z-index:2;margin:0 0 0 var(--space-2);letter-spacing:-.08em;text-transform:uppercase;grid-area:2/1/auto/10;align-self:center;font-size:clamp(4.25rem,11vw,12rem);font-weight:400;line-height:.78}.hero-title-line{display:block;overflow:hidden}.hero-title-line>span{will-change:transform;display:block}.hero-copy{z-index:3;margin-bottom:var(--space-3);color:var(--color-text);grid-area:3/2/auto/6;align-self:end;font-size:clamp(.88rem,1.1vw,1.08rem);line-height:1.35}.hero-copy p{max-width:16rem;margin:0 0 var(--space-2)}.hero-copy .line{margin-bottom:var(--space-1)}.hero-copy span{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.hero-explore{z-index:3;place-self:end;gap:var(--space-1);margin:0 var(--space-2) var(--space-3) 0;color:var(--color-text);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;grid-area:3/11/auto/13;align-items:center;display:flex}.hero-explore span:last-child{font-size:1.1rem;line-height:1}.hero-explore:focus-visible{outline:1px solid var(--color-text);outline-offset:5px}@media (width<=768px){.hero-section{min-height:calc(100svh - 4rem)}.hero-grid{background-size:25% 100%;grid-template-rows:auto auto 1fr auto;grid-template-columns:repeat(4,minmax(0,1fr))}.hero-meta{min-height:2.75rem}.hero-meta span{display:none}.hero-title{margin:var(--space-3) var(--space-2) 0;grid-area:2/1/auto/-1;font-size:clamp(4.25rem,22vw,7rem);line-height:.8}.hero-image-frame{height:clamp(12rem,30svh,18rem);min-height:0;margin-top:var(--space-3);border-top:1px solid var(--color-grid);grid-area:3/2/auto/-1;align-self:end}.hero-copy{margin:var(--space-3) 0 var(--space-2) var(--space-2);grid-area:4/1/auto/4;font-size:.88rem}.hero-explore{margin:0 var(--space-2) var(--space-2) 0;grid-area:4/4;align-self:end}.hero-image-caption{display:none}}@media (height<=680px) and (width>=769px){.hero-image-frame{min-height:22rem}.hero-title{font-size:clamp(4.25rem,9vw,8rem)}}@media (prefers-reduced-motion:reduce){.hero-title-line>span{will-change:auto}}@media (width>=769px){.hero-image-caption{bottom:calc(var(--space-3) + 1.5rem)}}@media (width<=768px){.hero-title{font-size:clamp(3.75rem,17vw,6rem)}}.contact-section{background:var(--color-background);border-top:1px solid var(--color-grid)}.contact-grid{border-inline:1px solid var(--color-grid);background-image:linear-gradient(to right, transparent calc(100% - 1px), var(--color-grid) calc(100% - 1px));background-size:8.33333% 100%;grid-template-rows:auto auto 1fr auto;grid-template-columns:repeat(12,minmax(0,1fr));min-height:clamp(48rem,70vw,64rem);display:grid;position:relative;overflow:hidden}.contact-label{min-height:3rem;padding:0 var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.contact-rule{transform-origin:0;grid-area:2/6/auto/-1}.contact-title{z-index:1;letter-spacing:-.085em;text-transform:uppercase;grid-area:3/2/auto/10;align-self:start;margin:clamp(5rem,11vh,9rem) 0 0;font-size:clamp(4rem,7.7vw,9.5rem);font-weight:400;line-height:.8}.contact-title-line{display:block;overflow:hidden}.contact-title-line>span{will-change:transform;display:block}.contact-address{z-index:1;grid-area:3/3/auto/11;align-self:end;margin:0 0 clamp(6rem,13vh,11rem)}.contact-address p{margin:0 0 var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.contact-address a{max-width:100%;color:var(--color-text);letter-spacing:-.055em;overflow-wrap:anywhere;font-size:clamp(1.55rem,3.3vw,4rem);line-height:1;display:inline-block}.contact-address a:after{width:100%;height:1px;margin-top:var(--space-1);content:"";transform-origin:100%;background:currentColor;transition:transform .26s cubic-bezier(.22,1,.36,1);display:block;transform:scaleX(0)}.contact-address a:hover:after,.contact-address a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.contact-address a:focus-visible{outline:1px solid var(--color-text);outline-offset:6px}.contact-index{margin:0 0 var(--space-2) var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);grid-area:4/1/auto/2;align-self:end}@media (width<=768px){.contact-grid{background-size:25% 100%;grid-template-rows:auto auto auto auto auto;grid-template-columns:repeat(4,minmax(0,1fr));min-height:0}.contact-label{min-height:2.75rem}.contact-label span{display:none}.contact-rule{grid-column:2/-1}.contact-title{margin:var(--space-3) var(--space-2) clamp(3.5rem, 13vw, 5rem);grid-area:3/1/auto/-1;font-size:clamp(3.4rem,15vw,4.7rem);line-height:.82}.contact-address{margin:0 var(--space-2) clamp(5rem, 18vw, 7rem);grid-area:4/1/auto/-1}.contact-address a{font-size:clamp(1.35rem,6.4vw,1.75rem);line-height:1.08}.contact-index{grid-area:5/1}}@media (prefers-reduced-motion:reduce){.contact-title-line>span{will-change:auto}.contact-address a:after{transition:none}}.intro-section{background:var(--color-background);border-top:1px solid var(--color-grid)}.intro-grid{border-inline:1px solid var(--color-grid);background-image:linear-gradient(to right, transparent calc(100% - 1px), var(--color-grid) calc(100% - 1px));background-size:8.33333% 100%;grid-template-rows:auto auto 1fr auto auto;grid-template-columns:repeat(12,minmax(0,1fr));min-height:clamp(58rem,72vw,72rem);display:grid;position:relative;overflow:hidden}.intro-label{min-height:3rem;padding:0 var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.intro-rule{transform-origin:0;grid-area:2/7/auto/-1;align-self:start}.intro-title{z-index:1;letter-spacing:-.08em;text-transform:uppercase;grid-area:3/2/auto/8;align-self:start;margin:clamp(5rem,10vh,8.5rem) 0 0;font-size:clamp(3.5rem,6.2vw,7.5rem);font-weight:400;line-height:.82}.intro-title-line{display:block;overflow:hidden}.intro-title-line>span{will-change:transform;display:block}.intro-image-frame{z-index:1;aspect-ratio:9/16;border:1px solid var(--color-grid);grid-area:3/9/5/-1;align-self:center;width:100%;margin:clamp(3rem,7vh,6rem) 0;position:relative;overflow:hidden}.intro-image-frame img{object-fit:cover;object-position:center;filter:saturate(.7)brightness(.85);width:100%;height:100%;display:block}.intro-copy{z-index:1;color:var(--color-text-muted);grid-area:4/3/auto/7;align-self:start;max-width:22rem;margin:0 0 clamp(5rem,10vh,8rem);font-size:clamp(.95rem,1.15vw,1.15rem);line-height:1.45}.intro-copy p{margin:0}.intro-copy p+p{margin-top:var(--space-3)}.intro-vertical-line{transform-origin:top;grid-area:3/8/5/9;align-self:stretch;height:100%}.intro-vertical-line .line{width:1px;height:100%}.intro-index{margin:0 0 var(--space-2) var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);grid-area:5/1/auto/2;align-self:end}@media (width<=1024px){.intro-grid{min-height:clamp(54rem,96vw,64rem)}.intro-title{grid-column:2/8;font-size:clamp(3.25rem,6.2vw,5rem)}.intro-image-frame{grid-column:9/-1}.intro-copy{grid-column:2/7}}@media (width<=768px){.intro-grid{background-size:25% 100%;grid-template-rows:auto auto auto auto auto auto;grid-template-columns:repeat(4,minmax(0,1fr));min-height:0}.intro-label{min-height:2.75rem}.intro-label span{display:none}.intro-rule{grid-column:2/-1}.intro-title{margin:var(--space-3) var(--space-2) 0;grid-area:3/1/auto/-1;font-size:clamp(3.15rem,15.5vw,4.75rem);line-height:.83}.intro-image-frame{margin:clamp(2.5rem, 9vw, 4rem) 0 var(--space-3);grid-area:5/2/auto/-1;align-self:start}.intro-copy{margin:clamp(2rem, 7vw, 3rem) var(--space-2) 0;max-width:min(100% - (var(--space-2) * 2), 23rem);grid-area:4/1/auto/-1;align-self:start;font-size:.98rem}.intro-vertical-line{grid-area:5/1/7/2;display:block}.intro-index{margin:0 0 var(--space-2) var(--space-2);grid-area:6/1}}@media (prefers-reduced-motion:reduce){.intro-title-line>span{will-change:auto}}.projects-section{background:var(--color-background);border-top:1px solid var(--color-grid)}.projects-grid{border-inline:1px solid var(--color-grid);background-image:linear-gradient(to right, transparent calc(100% - 1px), var(--color-grid) calc(100% - 1px));background-size:8.33333% 100%;grid-template-rows:auto auto auto auto;grid-template-columns:repeat(12,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.projects-label{min-height:3rem;padding:0 var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.projects-rule{transform-origin:0;grid-area:2/6/auto/-1}.projects-title{z-index:1;letter-spacing:-.085em;text-transform:uppercase;grid-area:3/2/auto/9;margin:clamp(4rem,9vh,8rem) 0 clamp(4rem,8vh,7rem);font-size:clamp(4rem,8.4vw,10rem);font-weight:400;line-height:.8}.projects-title-line{display:block;overflow:hidden}.projects-title-line>span{will-change:transform;display:block}.projects-gallery{z-index:1;align-items:start;column-gap:var(--space-2);grid-column:1/-1;grid-template-columns:repeat(12,minmax(0,1fr));row-gap:clamp(5rem,11vw,12rem);padding-bottom:clamp(6rem,13vw,13rem);display:grid}.project-piece{transform-origin:0 100%;min-width:0;margin:0}.project-piece--1{grid-column:2/9}.project-piece--2{grid-column:10/-1;margin-top:clamp(4rem,10vw,10rem)}.project-piece--3{grid-column:1/5;margin-top:clamp(2rem,5vw,5rem)}.project-piece--4{grid-column:6/12;margin-top:clamp(6rem,14vw,13rem)}.project-piece--5{grid-column:3/6}.project-piece--6{grid-column:9/12;margin-top:clamp(4rem,9vw,9rem)}.project-image{border:1px solid var(--color-grid);background:var(--color-surface);overflow:hidden}.project-piece--horizontal .project-image{aspect-ratio:16/11}.project-piece--vertical .project-image{aspect-ratio:5/7}.project-image img{object-fit:cover;filter:saturate(.72)brightness(.86);width:100%;height:100%;transition:transform .5s cubic-bezier(.22,1,.36,1),filter .32s;display:block}.project-piece figcaption{gap:var(--space-1);min-height:3.25rem;padding-top:var(--space-1);border-bottom:1px solid var(--color-grid);grid-template-columns:3rem minmax(0,1fr);align-items:baseline;display:grid}.project-piece figcaption span{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label)}.project-piece h3{min-width:0;letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0;font-size:clamp(.78rem,1vw,1rem);font-weight:400;line-height:1.3}@media (hover:hover) and (pointer:fine){.project-piece:hover .project-image img{filter:saturate(.88)brightness(.94);transform:scale(1.015)}.project-piece:hover figcaption h3{color:var(--color-text)}}.projects-index{margin:0 0 var(--space-2) var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);grid-area:4/1/auto/2;align-self:end}@media (width<=1024px){.projects-title{font-size:clamp(3.75rem,8vw,6.5rem)}.projects-gallery{row-gap:clamp(4rem,9vw,7rem)}.project-piece--4{margin-top:clamp(4rem,10vw,7rem)}}@media (width<=768px){.projects-grid{background-size:25% 100%;grid-template-columns:repeat(4,minmax(0,1fr))}.projects-label{min-height:2.75rem}.projects-rule{grid-column:2/-1}.projects-title{margin:var(--space-3) var(--space-2) clamp(3.5rem, 12vw, 5rem);grid-column:1/-1;font-size:clamp(3.7rem,16vw,5rem)}.projects-gallery{column-gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));row-gap:clamp(3.5rem,13vw,5rem);padding-bottom:clamp(5rem,18vw,7rem)}.project-piece--1{margin-right:var(--space-2);grid-column:1/-1}.project-piece--2{grid-column:2/-1;margin-top:0}.project-piece--3{grid-column:1/4;margin-top:0}.project-piece--4{margin:0 var(--space-2) 0 0;grid-column:1/-1}.project-piece--5{grid-column:2/-1}.project-piece--6{grid-column:1/4;margin-top:0}.project-piece figcaption{grid-template-columns:2.7rem minmax(0,1fr);min-height:3rem}.project-piece h3{font-size:var(--text-xs)}.projects-index{grid-area:4/1}}@media (prefers-reduced-motion:reduce){.projects-title-line>span{will-change:auto}.project-image img{transition:none}}.services-section{background:var(--color-background);border-top:1px solid var(--color-grid)}.services-grid{border-inline:1px solid var(--color-grid);background-image:linear-gradient(to right, transparent calc(100% - 1px), var(--color-grid) calc(100% - 1px));background-size:8.33333% 100%;grid-template-rows:auto auto auto 1fr auto;grid-template-columns:repeat(12,minmax(0,1fr));min-height:clamp(56rem,70vw,70rem);display:grid;position:relative;overflow:hidden}.services-label{min-height:3rem;padding:0 var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.services-rule{transform-origin:0;grid-area:2/5/auto/-1}.services-title{z-index:1;letter-spacing:-.08em;text-transform:uppercase;grid-area:3/2/auto/8;margin:clamp(4.5rem,9vh,8rem) 0 clamp(4rem,9vh,7.5rem);font-size:clamp(3.5rem,6.1vw,7.5rem);font-weight:400;line-height:.82}.services-title-line{display:block;overflow:hidden}.services-title-line>span{will-change:transform;display:block}.services-list{z-index:1;border-top:1px solid var(--color-grid);grid-area:4/4/auto/-1;align-self:start;margin:0 0 clamp(5rem,10vh,8rem);padding:0;list-style:none}.service-item{column-gap:var(--space-2);min-width:0;padding:clamp(1.35rem, 2.4vw, 2.25rem) var(--space-2) clamp(1.5rem, 2.8vw, 2.75rem) 0;border-bottom:1px solid var(--color-grid);transform-origin:0;grid-template-columns:minmax(3rem,1fr) minmax(0,5.2fr) minmax(12rem,2.8fr);align-items:baseline;display:grid;position:relative}.service-item:after{background:var(--color-text);content:"";transform-origin:0;height:1px;transition:transform .32s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.service-number{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label)}.service-item h3{letter-spacing:-.07em;text-transform:uppercase;min-width:0;margin:0;font-size:clamp(2.25rem,4.4vw,5.4rem);font-weight:400;line-height:.86}.service-item p{max-width:18rem;color:var(--color-text-muted);margin:0;font-size:clamp(.88rem,1vw,1rem);line-height:1.42}.services-index{margin:0 0 var(--space-2) var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);grid-area:5/1/auto/2;align-self:end}@media (hover:hover) and (pointer:fine){.service-item:hover:after{transform:scaleX(1)}}@media (width<=1024px){.services-grid{min-height:clamp(52rem,86vw,62rem)}.services-title{grid-column:2/9;font-size:clamp(3.25rem,6vw,5.5rem)}.services-list{grid-column:3/-1}.service-item{grid-template-columns:3rem minmax(0,4.6fr) minmax(10rem,2.5fr)}}@media (width<=768px){.services-grid{background-size:25% 100%;grid-template-rows:auto auto auto auto auto;grid-template-columns:repeat(4,minmax(0,1fr));min-height:0}.services-label{min-height:2.75rem}.services-label span{display:none}.services-rule{grid-column:2/-1}.services-title{margin:var(--space-3) var(--space-2) clamp(3.5rem, 12vw, 5rem);grid-area:3/1/auto/-1;font-size:clamp(3rem,14.5vw,4.5rem);line-height:.83}.services-list{grid-area:4/1/auto/-1;margin:0 0 clamp(4rem,14vw,6rem)}.service-item{row-gap:var(--space-2);padding:1.4rem var(--space-2) 1.7rem;grid-template-columns:2.8rem minmax(0,1fr)}.service-item h3{overflow-wrap:normal;font-size:clamp(2rem,8.8vw,3rem);line-height:.88}.service-item p{grid-column:2;max-width:20rem;font-size:.9rem}.services-index{margin:0 0 var(--space-2) var(--space-2);grid-area:5/1}}@media (prefers-reduced-motion:reduce){.services-title-line>span{will-change:auto}.service-item:after{transition:none}}.studio-section{background:var(--color-background);border-top:1px solid var(--color-grid)}.studio-grid{border-inline:1px solid var(--color-grid);background-image:linear-gradient(to right, transparent calc(100% - 1px), var(--color-grid) calc(100% - 1px));background-size:8.33333% 100%;grid-template-rows:auto auto 1fr auto;grid-template-columns:repeat(12,minmax(0,1fr));min-height:clamp(55rem,72vw,70rem);display:grid;position:relative;overflow:hidden}.studio-label{min-height:3rem;padding:0 var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.studio-rule{transform-origin:0;grid-area:2/6/auto/-1}.studio-title{z-index:1;letter-spacing:-.085em;text-transform:uppercase;grid-area:3/2/auto/7;align-self:start;margin:clamp(5rem,11vh,9rem) 0 0;font-size:clamp(3.75rem,6.5vw,8rem);font-weight:400;line-height:.82}.studio-title-line{display:block;overflow:hidden}.studio-title-line>span{will-change:transform;display:block}.studio-copy{z-index:1;max-width:21rem;color:var(--color-text-muted);grid-area:3/3/auto/7;align-self:end;margin:0 0 clamp(7rem,14vh,12rem);font-size:clamp(.95rem,1.15vw,1.12rem);line-height:1.46}.studio-copy p{margin:0}.studio-copy p+p{margin-top:var(--space-3)}.studio-disciplines{z-index:1;color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;grid-area:3/3/auto/5;align-self:end;margin:0 0 clamp(6rem,12vh,10rem);line-height:1.7}.studio-vertical-line{transform-origin:top;grid-area:3/8/auto/9;align-self:stretch}.studio-image-frame{z-index:1;aspect-ratio:3/4;border:1px solid var(--color-grid);background:var(--color-surface);grid-area:3/9/auto/-1;align-self:center;width:100%;margin:clamp(3rem,7vh,6rem) 0;overflow:hidden}.studio-image-frame img{object-fit:cover;object-position:center;filter:saturate(.72)brightness(.86);width:100%;height:100%;display:block}.studio-vertical-line .line{width:1px;height:100%}.studio-index{margin:0 0 var(--space-2) var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);grid-area:4/1/auto/2;align-self:end}@media (width<=1024px){.studio-grid{min-height:clamp(52rem,82vw,62rem)}.studio-title{grid-column:2/8;font-size:clamp(3.35rem,6.2vw,5.5rem)}.studio-copy{grid-column:2/7}.studio-image-frame{grid-column:9/-1}}@media (width<=768px){.studio-grid{background-size:25% 100%;grid-template-rows:auto auto auto auto auto auto;grid-template-columns:repeat(4,minmax(0,1fr));min-height:0}.studio-label{min-height:2.75rem}.studio-label span{display:none}.studio-rule{grid-column:2/-1}.studio-title{margin:var(--space-3) var(--space-2) 0;grid-area:3/1/auto/-1;font-size:clamp(3.2rem,15.5vw,4.75rem);line-height:.83}.studio-copy{max-width:23rem;margin:clamp(2rem, 8vw, 3rem) var(--space-2) clamp(2.5rem, 10vw, 4rem);grid-area:4/1/auto/-1;align-self:start;font-size:.98rem}.studio-disciplines{margin:0 var(--space-2) clamp(4rem, 14vw, 6rem) 0;grid-area:6/2/auto/-1}.studio-vertical-line{display:none}.studio-image-frame{margin:0 0 var(--space-3);grid-area:5/2/auto/-1;align-self:start}.studio-index{grid-area:6/1}}@media (prefers-reduced-motion:reduce){.studio-title-line>span{will-change:auto}}.visual-section{background:var(--color-background);border-top:1px solid var(--color-grid)}.visual-grid{border-inline:1px solid var(--color-grid);background-image:linear-gradient(to right, transparent calc(100% - 1px), var(--color-grid) calc(100% - 1px));background-size:8.33333% 100%;grid-template-rows:auto auto auto auto;grid-template-columns:repeat(12,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.visual-label{min-height:3rem;padding:0 var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.visual-rule{transform-origin:0;grid-area:2/5/auto/-1}.visual-frame{z-index:1;border:1px solid var(--color-grid);background:var(--color-surface);grid-area:3/2/auto/12;height:clamp(44rem,82svh,64rem);margin:clamp(4rem,9vh,8rem) 0 clamp(2rem,5vh,4rem);overflow:hidden}.visual-image{will-change:transform;width:100%;height:106%;margin-top:-3%}.visual-image img{object-fit:cover;object-position:center;filter:saturate(.72)brightness(.86);width:100%;height:100%;display:block}.visual-note{z-index:1;max-width:15rem;color:var(--color-text-muted);grid-area:4/3/auto/7;margin:0 0 clamp(5rem,10vh,8rem);font-size:clamp(.9rem,1.1vw,1.05rem);line-height:1.4}.visual-index{margin:0 0 var(--space-2) var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);grid-area:4/1/auto/2;align-self:end}@media (width<=1024px){.visual-frame{grid-column:2/-1;height:clamp(38rem,76svh,54rem)}.visual-note{grid-column:2/7}}@media (width<=768px){.visual-grid{background-size:25% 100%;grid-template-columns:repeat(4,minmax(0,1fr))}.visual-label{min-height:2.75rem}.visual-label span{display:none}.visual-rule{grid-column:2/-1}.visual-frame{height:clamp(25rem,72svh,38rem);margin:var(--space-3) var(--space-2) var(--space-2) 0;grid-column:1/-1}.visual-image{will-change:auto;height:100%;margin-top:0}.visual-note{margin:var(--space-2) var(--space-2) clamp(4rem, 15vw, 6rem) 0;grid-column:2/-1;font-size:.95rem}.visual-index{grid-column:1}}@media (prefers-reduced-motion:reduce){.visual-image{will-change:auto}}.site-footer{background:var(--color-background)}.footer-grid{border-inline:1px solid var(--color-grid);background-image:linear-gradient(to right, transparent calc(100% - 1px), var(--color-grid) calc(100% - 1px));background-size:8.33333% 100%;grid-template-rows:auto auto;grid-template-columns:repeat(12,minmax(0,1fr));min-height:14rem;display:grid}.footer-wordmark{margin-top:var(--space-3);color:var(--color-text);letter-spacing:-.09em;grid-area:1/2/auto/5;align-self:start;font-size:clamp(2.5rem,4.5vw,5.5rem);font-weight:400;line-height:.8}.footer-nav{margin-top:var(--space-3);grid-area:1/7/auto/10;align-content:start;display:grid}.footer-nav a,.footer-meta{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.footer-nav a{width:max-content;color:var(--color-text-muted);padding:.35rem 0;position:relative}.footer-nav a:after,.footer-meta a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .2s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.footer-nav a:hover,.footer-nav a:focus-visible,.footer-meta a:hover,.footer-meta a:focus-visible{color:var(--color-text)}.footer-nav a:hover:after,.footer-nav a:focus-visible:after,.footer-meta a:hover:after,.footer-meta a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.footer-nav a:focus-visible,.footer-meta a:focus-visible,.footer-wordmark:focus-visible{outline:1px solid var(--color-text);outline-offset:5px}.footer-meta{align-self:end;justify-items:end;gap:var(--space-1);margin:0 var(--space-2) var(--space-2) 0;color:var(--color-text-muted);text-align:right;grid-area:2/10/auto/-1;display:grid}.footer-meta a{color:var(--color-text);position:relative}.footer-meta p{margin:0}@media (width<=768px){.footer-grid{min-height:0;padding-bottom:var(--space-2);background-size:25% 100%;grid-template-rows:auto auto auto;grid-template-columns:repeat(4,minmax(0,1fr))}.footer-wordmark{margin:var(--space-3) var(--space-2) 2.5rem;grid-column:1/-1;font-size:clamp(3rem,14vw,4.5rem)}.footer-nav{margin:0 var(--space-2) var(--space-3) 0;grid-area:2/2/auto/-1}.footer-nav a{padding:.45rem 0}.footer-meta{margin:0 var(--space-2);text-align:left;grid-area:3/1/auto/-1;justify-items:start}}@media (prefers-reduced-motion:reduce){.footer-nav a:after,.footer-meta a:after{transition:none}}.wordmark,.desktop-nav a,.menu-button,.close-button{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:500}.desktop-nav a{color:var(--color-text-muted);transition:color .18s;position:relative}.desktop-nav a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .18s;position:absolute;bottom:-.45rem;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--color-text)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.menu-button{color:var(--color-text);background:0 0;justify-self:end;padding:0;display:none}.wordmark:focus-visible,.menu-button:focus-visible,.close-button:focus-visible,.mobile-nav a:focus-visible{outline:1px solid var(--color-text);outline-offset:5px}.mobile-menu{z-index:20;background:var(--color-background);position:fixed;inset:0;overflow-y:auto}.mobile-menu-inner{min-height:100svh;padding-bottom:var(--space-3);grid-template-rows:auto auto 1fr auto auto;display:grid}.mobile-menu-top{justify-content:space-between;align-items:center;min-height:4rem;display:flex}.close-button{width:2rem;height:2rem;color:var(--color-text);background:0 0;place-items:center;padding:0;font-size:1.5rem;font-weight:300;line-height:1;display:grid}.mobile-nav{padding-top:var(--space-3);align-content:start;display:grid}.mobile-nav a{padding:var(--space-2) 0;border-bottom:1px solid var(--color-grid);letter-spacing:-.055em;text-transform:uppercase;grid-template-columns:3rem 1fr;align-items:baseline;font-size:clamp(2rem,9vw,3.75rem);line-height:1;display:grid}.mobile-nav a span{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label)}.mobile-menu-disciplines{margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;line-height:1.6}@media (width<=768px){.header-inner{grid-template-columns:1fr auto;min-height:4rem}.desktop-nav{display:none}.menu-button{display:block}}@media (width>=769px){.mobile-menu{display:none}}@media (prefers-reduced-motion:reduce){.desktop-nav a:after{transition:none}}.site-shell{flex-direction:column;min-height:100svh;display:flex}.container{width:min(100%,var(--content-max));padding-inline:var(--gutter);margin-inline:auto}.site-header{z-index:10;background:var(--color-background);position:relative}.header-inner{grid-template-columns:1fr auto 1fr;align-items:center;min-height:5rem;display:grid}.wordmark,.desktop-nav a,.footer-inner,.menu-button,.stage-meta{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.wordmark{font-weight:500}.desktop-nav{gap:var(--space-3);display:flex}.desktop-nav a{color:var(--color-text-muted);transition:color .18s}.desktop-nav a:hover{color:var(--color-text)}.menu-button{background:0 0;justify-self:end;width:2rem;padding:0;display:none}.menu-button span{background:var(--color-text);height:1px;margin:.35rem 0;display:block}.line{background:var(--color-grid);width:100%;height:1px}.foundation-stage{flex:1;align-items:stretch;min-height:calc(100svh - 10rem);display:grid}.foundation-grid{min-height:inherit;border-inline:1px solid var(--color-grid);background-image:linear-gradient(to right,transparent calc(100% - 1px),var(--color-grid) calc(100% - 1px));background-size:8.33333% 100%;grid-template-rows:auto 1fr auto;grid-template-columns:repeat(12,1fr);display:grid;position:relative}.stage-meta{min-height:3rem;padding-inline:var(--space-2);color:var(--color-text-muted);border-bottom:1px solid var(--color-grid);grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.stage-divider{grid-area:2/5/auto/-1;align-self:center}.foundation-grid h1{z-index:1;font-size:var(--text-display);font-weight:400;line-height:var(--leading-tight);letter-spacing:-.065em;grid-area:2/2/auto/12;align-self:center;margin:0;position:relative}.placeholder-plane{min-height:12rem;padding:var(--space-2);border-top:1px solid var(--color-grid);border-left:1px solid var(--color-grid);background:var(--color-surface);grid-area:3/8/auto/-1;align-items:end;display:flex}.placeholder-plane span{max-width:13rem;color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;line-height:1.5}.site-footer{margin-top:auto}.footer-inner{min-height:5rem;color:var(--color-text-muted);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.footer-inner p{margin:0}.footer-inner a{color:var(--color-text);justify-self:center}.footer-inner p:last-child{text-align:right;justify-self:end}@media (width<=768px){.header-inner{grid-template-columns:1fr auto;min-height:4rem}.desktop-nav{display:none}.menu-button{display:block}.foundation-stage{min-height:calc(100svh - 8rem)}.foundation-grid{background-size:25% 100%;grid-template-columns:repeat(4,1fr)}.stage-meta span{display:none}.stage-divider{grid-column:2/-1}.foundation-grid h1{padding-inline:var(--space-2);grid-column:1/-1;font-size:clamp(3rem,15vw,5rem)}.placeholder-plane{grid-column:2/-1;min-height:9rem}.footer-inner{min-height:auto;padding-block:var(--space-3);gap:var(--space-1);grid-template-columns:1fr}.footer-inner a,.footer-inner p:last-child{text-align:left;justify-self:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.placeholder-plane span{overflow-wrap:anywhere;min-width:0}.foundation-grid{width:100%;min-width:0}
