/*! tailwindcss v4.1.17 | 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:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Playfair Display",Georgia,serif;--font-editorial:"Lora",Georgia,serif;--color-surface-primary:#f2f0e9;--color-surface-secondary:#faf9f6;--color-surface-tan:#eae5d6;--color-surface-dark:#1a1a1a;--color-surface-placeholder:#d4cfc0;--color-surface-placeholder-dark:#bab5a6;--color-text-primary:#1a1a1a;--color-text-secondary:#5a5a58;--color-text-tertiary:#8a8a85;--color-text-inverse:#fff;--color-accent:#2f4f4f;--color-accent-hover:#1f3535;--color-accent-soft:#4a6b6b}}@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%;-moz-tab-size:4;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;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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.italic{font-style:italic}}:root{--gutter:clamp(1rem,3vw,2.5rem);--max-width:90rem;--ease-out:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.87,0,.13,1);--border-subtle:#1a1a1a14;--border-default:#1a1a1a26;--border-strong:#1a1a1a4d;--border-accent:#2f4f4f4d}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:100%}body{background-color:var(--color-surface-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-feature-settings:"kern","liga","onum";font-size:.9375rem;line-height:1.6;position:relative;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}::selection{background-color:var(--color-accent);color:#fff}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}.wrap{max-width:var(--max-width);padding:0 var(--gutter);margin:0 auto;position:relative}section{padding:clamp(4rem,10vw,10rem) 0;position:relative}.placeholder{z-index:1;isolation:isolate;background-color:var(--color-surface-placeholder);position:relative;overflow:hidden}.placeholder:has(.placeholder-img){z-index:101}.placeholder:before{content:"";pointer-events:none;background-image:linear-gradient(135deg,#0000 40%,#1a1a1a0a 40%,#1a1a1a0a 50%,#0000 50%),radial-gradient(circle at 30% 40%,#1a1a1a0f,#0000 55%);position:absolute;top:0;right:0;bottom:0;left:0}.placeholder:after{content:attr(data-label);font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;color:#1a1a1a73;z-index:2;font-size:.625rem;position:absolute;bottom:1rem;left:1rem}.placeholder-dark{background-color:var(--color-surface-placeholder-dark)}.placeholder-img{object-fit:cover;object-position:center;z-index:1;width:100%;height:100%;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.placeholder-img--contain{object-fit:contain}.placeholder:has(.placeholder-img):before,.placeholder:has(.placeholder-img):after{display:none}.dot-grid{pointer-events:none;z-index:0;background-image:radial-gradient(circle,#2f4f4f14 1px,#0000 1px);background-size:1.375rem 1.375rem;position:absolute;top:0;right:0;bottom:0;left:0}.grain-canvas{pointer-events:none;opacity:.32;mix-blend-mode:multiply;z-index:100;will-change:transform;position:fixed;top:0;right:0;bottom:0;left:0}.cursor-dot,.cursor-label{pointer-events:none;z-index:999;will-change:transform;mix-blend-mode:difference;position:fixed;top:0;left:0}.cursor-dot{width:.625rem;height:.625rem;transition:width .18s var(--ease-out),height .18s var(--ease-out),opacity .16s ease;background-color:#fff;border-radius:50%;transform:translate(-50%,-50%)}.cursor-label{color:#fff;font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .18s var(--ease-out),transform .22s var(--ease-out);background-color:#0000;border:1px solid #fff;border-radius:9999px;padding:.5rem 1.125rem;font-size:.625rem;transform:translate(-50%,-50%)scale(.85)}body.cursor-hover .cursor-dot{opacity:0;width:0;height:0}body.cursor-hover .cursor-label{opacity:1;transform:translate(-50%,-50%)scale(1)}body.cursor-active .cursor-dot{width:1.25rem;height:1.25rem}@media(hover:hover)and (pointer:fine){body.has-custom-cursor,body.has-custom-cursor a,body.has-custom-cursor button,body.has-custom-cursor .catalogue-row{cursor:none}}@media(hover:none),(pointer:coarse){.cursor-dot,.cursor-label{display:none}}.scroll-progress{background-color:var(--color-accent);z-index:200;transform-origin:0;will-change:width;width:3rem;height:2px;transition:width .1s linear;position:fixed;top:0;left:0}.side-marker{top:50%;left:var(--gutter);transform-origin:0;font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-tertiary);white-space:nowrap;z-index:2;will-change:transform;font-size:.6875rem;position:absolute;transform:translateY(-50%)rotate(-90deg)}.side-marker:after{content:"";background-color:var(--border-accent);vertical-align:middle;width:3rem;height:1px;margin-left:1rem;display:inline-block}@media(max-width:56.25rem){.side-marker{display:none}}.nav{z-index:50;padding:1.5rem var(--gutter);mix-blend-mode:difference;color:#fff;pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:fixed;top:0;left:0;right:0}.nav>*{pointer-events:auto}.nav-brand{font-family:var(--font-display);letter-spacing:.02em;font-size:1.25rem;font-weight:600;line-height:1}.nav-meta{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:1.5rem;font-size:.625rem;display:flex}.nav-meta a{border-bottom:1px solid #0000;padding-bottom:2px;transition:border-color .3s}.nav-meta a:hover{border-bottom-color:currentColor}@media(max-width:45rem){.nav-meta a:not(.nav-contact){display:none}}.hero{flex-direction:column;justify-content:space-between;min-height:100vh;padding:0;display:flex;position:relative;overflow:hidden}.hero-top{padding:7.5rem var(--gutter)0;z-index:2;grid-template-columns:auto 1fr auto;align-items:start;gap:2rem;display:grid;position:relative}.hero-tag{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);align-items:center;gap:.875rem;font-size:.6875rem;display:flex}.hero-tag:before{content:"";background-color:var(--color-accent);width:3rem;height:2px}.hero-coordinates{font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-tertiary);text-align:right;font-variant-numeric:tabular-nums;will-change:transform;font-size:.625rem;line-height:1.6}.hero-coordinates strong{color:var(--color-text-primary);font-weight:400;display:block}.hero-portrait{right:calc(var(--gutter)*-.5);z-index:1;transform-origin:100% 100%;will-change:transform;width:clamp(11rem,22vw,22.5rem);height:clamp(15rem,30vw,30rem);position:absolute;top:18vh}.hero-portrait .placeholder{border-radius:2px;width:100%;height:100%}.hero-portrait:before{content:"";border:1px solid var(--color-accent);z-index:3;border-radius:50%;width:3.75rem;height:3.75rem;position:absolute;top:-1.25rem;right:-1.25rem}.hero-portrait:after{content:"Portrait";font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-tertiary);writing-mode:vertical-rl;font-size:.625rem;position:absolute;bottom:1.875rem;left:-5rem;transform:rotate(180deg)}@media(max-width:56.25rem){.hero-portrait{right:var(--gutter);opacity:.9;width:7.5rem;height:10rem;top:6vh}.hero-portrait:before{width:2rem;height:2rem;top:-.625rem;right:-.625rem}.hero-portrait:after{display:none}}.hero-display-wrap{z-index:2;flex:1;align-items:center;padding:clamp(2rem,6vw,5rem) 0;display:flex;position:relative}.hero-display{width:100%;padding-left:var(--gutter);padding-right:var(--gutter);will-change:transform;position:relative}.hero-line{font-family:var(--font-display);letter-spacing:-.045em;color:var(--color-text-primary);padding-top:.06em;padding-bottom:.2em;font-size:clamp(3.5rem,17vw,18rem);font-weight:500;line-height:.96;display:block;overflow:hidden}.hero-line+.hero-line{margin-top:-.34em}.hero-line>span{transition:transform 1.2s var(--ease-out);display:inline-block;transform:translateY(130%)}.hero-display.revealed .hero-line:first-child>span{transition-delay:.12s;transform:translateY(0)}.hero-display.revealed .hero-line:nth-child(2)>span{transition-delay:.26s;transform:translateY(0)}.hero-display.revealed .hero-line:nth-child(3)>span{transition-delay:.4s;transform:translateY(0)}.hero-line em{color:var(--color-accent);font-style:italic;font-weight:400;display:inline-block;position:relative}.hero-line em:after{content:"";background-color:var(--color-accent);transform-origin:0;transition:transform 1.1s var(--ease-in-out);position:absolute;top:-.02em;right:-.04em;bottom:0;left:-.04em;transform:scaleX(1)}.hero-display.revealed .hero-line em:after{transform-origin:100%;transition-delay:1.4s;transform:scaleX(0)}.hero-line.line-2{padding-left:clamp(2rem,12vw,12rem)}.hero-line.line-3{padding-left:clamp(4rem,24vw,24rem)}.hero-typewriter{white-space:nowrap;display:inline}.hero-caret{background-color:var(--color-accent);vertical-align:baseline;width:.06em;height:.78em;margin-left:.04em;animation:.9s steps(2,end) infinite hero-caret-blink;display:inline-block}@keyframes hero-caret-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.hero-caret{display:none}}.hero-dot{background-color:var(--color-accent);vertical-align:baseline;width:.35em;height:.35em;transition:transform .6s var(--ease-out);border-radius:50%;margin-left:.04em;display:inline-block;transform:translateY(-.05em)scale(0)}.hero-display.revealed .hero-dot{transition-delay:1.8s;transform:translateY(-.05em)scale(1)}.hero-bottom{padding:0 var(--gutter)3rem;border-top:1px solid var(--border-subtle);z-index:2;grid-template-columns:1fr;gap:0;display:grid;position:relative}.hero-bottom-row{grid-template-columns:2fr repeat(4,minmax(min(8rem,100%),1fr));align-items:start;gap:2rem;padding:2rem 0 0;display:grid}.hero-intro{font-family:var(--font-editorial);color:var(--color-text-secondary);max-width:32em;font-size:clamp(.95rem,1.05vw,1.125rem);line-height:1.58}.hero-intro strong{color:var(--color-text-primary);font-weight:500}.stat-label{font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:.625rem;font-size:.625rem}.stat-value{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:500;line-height:1}.stat-value em{color:var(--color-accent);font-style:italic;font-weight:400}.stat-value--small{font-size:clamp(1.3rem,2.5vw,2rem)}.stat-value--suffix{font-size:.6em}@media(max-width:56.25rem){.hero-bottom-row{grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),1fr));gap:1.5rem 2rem}.hero-intro{grid-column:1/-1;margin-bottom:1rem}}.position{background-color:var(--color-surface-primary);border-top:1px solid var(--border-subtle);overflow:hidden}.position-grid{grid-template-columns:3fr 9fr;align-items:start;gap:clamp(2rem,5vw,6rem);display:grid}.position-numeral{will-change:transform;position:relative}.position-numeral .big-n{font-family:var(--font-display);letter-spacing:-.06em;color:var(--color-accent);font-size:clamp(7rem,18vw,18rem);font-style:italic;font-weight:400;line-height:.82;display:block}.position-numeral .big-n-label,.chrono-header-left .big-n-label{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-tertiary);margin-top:1.5rem;font-size:.625rem;display:block}.position-numeral .big-n-label:before,.chrono-header-left .big-n-label:before{content:"";background-color:var(--border-accent);vertical-align:middle;width:2rem;height:1px;margin-right:.875rem;display:inline-block}.position-body{max-width:56ch}.position-head{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-text-primary);margin-bottom:2.5rem;font-size:clamp(2rem,5vw,4rem);font-weight:500;line-height:1.02}.position-head em{color:var(--color-accent);font-style:italic;font-weight:400}.position-body p.editorial{font-family:var(--font-editorial);color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.75}@media(max-width:56.25rem){.position-grid{grid-template-columns:1fr;gap:2rem}}.pullquote-bleed{background-color:var(--color-surface-tan);border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);margin:clamp(5rem,10vw,10rem) 0 0;padding:clamp(4rem,8vw,8rem) 0;position:relative;overflow:hidden}.pullquote-bleed:before{content:"»";font-family:var(--font-display);color:#2f4f4f24;z-index:0;will-change:transform;font-size:clamp(10rem,24vw,28rem);font-weight:400;line-height:1;position:absolute;top:-.2em;left:10%}.pullquote-bleed .quote{z-index:1;max-width:var(--max-width);padding:0 var(--gutter);font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);margin:0 auto;font-size:clamp(2rem,7vw,6rem);font-style:italic;font-weight:400;line-height:1.04;position:relative}.pullquote-bleed .quote em{color:var(--color-accent)}.pullquote-bleed .quote-attr{z-index:1;max-width:var(--max-width);padding:0 var(--gutter);font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-tertiary);margin:2.5rem auto 0;font-size:.6875rem;position:relative}.pullquote-bleed .quote-attr:before{content:"";background-color:var(--border-accent);vertical-align:middle;width:3rem;height:1px;margin-right:.875rem;display:inline-block}.work{background-color:var(--color-surface-primary);border-top:1px solid var(--border-subtle)}.work-header{grid-template-columns:3fr 9fr;align-items:end;gap:clamp(2rem,5vw,6rem);margin-bottom:clamp(3rem,7vw,6rem);display:grid}.work-header-left{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-tertiary);will-change:transform;font-size:.6875rem}.work-header-left strong{font-family:var(--font-display);letter-spacing:-.05em;color:var(--color-accent);margin-bottom:1.5rem;font-size:clamp(6rem,15vw,14rem);font-style:italic;font-weight:400;line-height:.85;display:block}.work-header-right{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-text-primary);font-size:clamp(1.5rem,3.2vw,2.6rem);font-weight:500;line-height:1.15}.work-header-right em{color:var(--color-accent);font-style:italic;font-weight:400}@media(max-width:56.25rem){.work-header{grid-template-columns:1fr;gap:1rem}}.catalogue{border-top:1px solid var(--border-default);container:catalogue/inline-size}.catalogue-row{border-bottom:1px solid var(--border-default);transition:padding .5s var(--ease-out),background-color .5s ease;cursor:pointer;grid-template-columns:3.75rem 1fr auto 5rem;align-items:center;gap:2rem;padding:clamp(2rem,4vw,3.5rem) 0;display:grid;position:relative}.catalogue-row:before{content:"";background-color:var(--color-accent);width:0;transition:width .5s var(--ease-out);position:absolute;top:0;bottom:0;left:0}.catalogue-row:hover{background-color:var(--color-surface-tan);padding-left:2rem;padding-right:1.5rem}.catalogue-row:hover:before{width:3px}.catalogue-num{font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;font-size:.6875rem}.catalogue-title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-text-primary);transition:color .4s ease,transform .5s var(--ease-out);font-size:clamp(2rem,6vw,5rem);font-weight:500;line-height:1.02}.catalogue-title em{font-style:italic;font-weight:400}.catalogue-row:hover .catalogue-title{color:var(--color-accent);transform:translate(.5rem)}.catalogue-meta{font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-tertiary);text-align:right;font-variant-numeric:tabular-nums;font-size:.6875rem;line-height:1.6}.catalogue-meta strong{color:var(--color-text-primary);font-weight:400;display:block}.catalogue-arrow{font-family:var(--font-display);color:var(--color-accent);text-align:right;opacity:0;transition:opacity .4s ease,transform .4s var(--ease-out);font-size:clamp(1.5rem,3vw,2.5rem);transform:translate(-1.25rem)}.catalogue-row:hover .catalogue-arrow{opacity:1;transform:translate(0)}@container catalogue (max-width:50rem){.catalogue-row{grid-template-columns:1fr auto;gap:.75rem 1rem}.catalogue-num{grid-column:1}.catalogue-meta{grid-area:1/2}.catalogue-title{grid-column:1/-1}.catalogue-arrow{display:none}}.catalogue-detail{background-color:var(--color-surface-primary);padding:clamp(2rem,4vw,3.5rem) 0}.catalogue-detail-inner{grid-template-columns:3fr 9fr;gap:clamp(2rem,5vw,6rem);display:grid}.catalogue-detail-label{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:.625rem}.catalogue-detail-label:before{content:"";background-color:var(--border-accent);vertical-align:middle;width:2rem;height:1px;margin-right:.75rem;display:inline-block}.catalogue-detail-body{grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:3rem;display:grid}.detail-block h4{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);border-bottom:1px solid var(--border-accent);margin-bottom:1rem;padding-bottom:.75rem;font-size:.625rem}.detail-block p{font-family:var(--font-editorial);color:var(--color-text-secondary);font-size:.9375rem;line-height:1.7}.project-collage{grid-column:1/-1;grid-template-columns:repeat(12,1fr);grid-auto-rows:5rem;gap:.75rem;margin-top:2.5rem;display:grid}.project-collage .placeholder{border-radius:4px}.project-collage .p-wide{grid-area:span 4/span 8}.project-collage .p-narrow{grid-area:span 2/span 4}.project-collage .p-tall{grid-area:span 3/span 4}.project-collage .p-square{grid-area:span 2/span 4}@container catalogue (max-width:50rem){.project-collage{grid-template-columns:1fr 1fr;grid-auto-rows:6.25rem}.project-collage .p-wide,.project-collage .p-narrow,.project-collage .p-tall,.project-collage .p-square{grid-area:span 2/span 2}.catalogue-detail-inner{grid-template-columns:1fr;gap:1.5rem}}.detail-highlights{border-top:1px dashed var(--border-subtle);columns:2;grid-column:1/-1;column-gap:3rem;margin-top:2rem;padding-top:2rem}.detail-highlights li{font-family:var(--font-sans);color:var(--color-text-primary);break-inside:avoid;padding:.5rem 0 .5rem 1.5rem;font-size:.84375rem;line-height:1.4;list-style:none;position:relative}.detail-highlights li:before{content:"—";color:var(--color-accent);position:absolute;top:.5rem;left:0}.detail-cta{border-top:1px solid var(--border-subtle);flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:1rem;margin-top:2.5rem;padding-top:2rem;display:flex}.detail-cta a,.detail-cta-pending{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);border-bottom:1px solid var(--border-accent);padding-bottom:4px;font-size:.6875rem;transition:border-bottom-color .3s}.detail-cta-pending{color:var(--color-text-tertiary);border-bottom:none}.detail-cta a:hover{border-bottom-color:var(--color-accent)}@container catalogue (max-width:50rem){.detail-highlights{columns:1}}.chronology{background-color:var(--color-surface-tan);border-top:1px solid var(--border-subtle);overflow:hidden}.chrono-header{grid-template-columns:3fr 9fr;align-items:end;gap:clamp(2rem,5vw,6rem);margin-bottom:clamp(3rem,6vw,5rem);display:grid}.chrono-header-left{will-change:transform}.chrono-header-left .big-n{font-family:var(--font-display);letter-spacing:-.06em;color:var(--color-accent);font-size:clamp(7rem,18vw,18rem);font-style:italic;font-weight:400;line-height:.82;display:block}.chrono-header-right h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.75rem,3.5vw,3rem);font-weight:500;line-height:1.1}.chrono-header-right h2 em{color:var(--color-accent);font-style:italic;font-weight:400}@media(max-width:56.25rem){.chrono-header{grid-template-columns:1fr}}.chrono-list{border-top:1px solid var(--border-default);list-style:none;container:chrono/inline-size}.chrono-row{border-bottom:1px solid var(--border-default);transition:padding-left .4s var(--ease-out),background-color .4s ease;grid-template-columns:11.25rem 1fr auto;align-items:baseline;gap:2rem;padding:clamp(1.25rem,2.5vw,2rem) 0;display:grid;position:relative}.chrono-row.current{border-bottom-color:var(--color-accent)}.chrono-row.current:before{content:"";background-color:var(--color-accent);border-radius:50%;width:.375rem;height:.375rem;animation:2s ease-in-out infinite chrono-pulse;position:absolute;top:50%;left:-.75rem;transform:translateY(-50%)}@keyframes chrono-pulse{0%,to{opacity:1;transform:translateY(-50%)scale(1)}50%{opacity:.5;transform:translateY(-50%)scale(1.4)}}.chrono-row:hover{background-color:#ffffff59;padding-left:1rem}.chrono-year{font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;padding-top:.8em;font-size:.6875rem}.chrono-role{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);font-size:clamp(1.5rem,3.5vw,2.75rem);font-weight:500;line-height:1.08}.chrono-role em{color:var(--color-accent);font-style:italic;font-weight:400}.chrono-place{font-family:var(--font-editorial);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-secondary);text-align:right;max-width:16.25rem;padding-top:.8em;font-size:.75rem;line-height:1.6}@container chrono (max-width:56.25rem){.chrono-row{grid-template-columns:1fr;gap:.5rem}.chrono-year,.chrono-place{text-align:left;padding-top:0}}.approach{background-color:var(--color-surface-dark);color:var(--color-text-inverse);border-top:1px solid var(--border-subtle);padding:clamp(6rem,14vw,14rem) 0;position:relative;overflow:hidden}.approach:before{content:"";z-index:0;background-image:radial-gradient(circle,#ffffff0a 1px,#0000 1px);background-size:1.75rem 1.75rem;position:absolute;top:0;right:0;bottom:0;left:0}.approach .wrap{z-index:1;position:relative}.approach-tag{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:#ffffff80;flex-wrap:wrap;align-items:center;gap:.875rem;margin-bottom:3rem;font-size:.625rem;display:flex}.approach-tag:before{content:"";background-color:#ffffff4d;width:3rem;height:1px}.approach-statement{font-family:var(--font-display);letter-spacing:-.04em;color:#fff;max-width:14ch;font-size:clamp(2.5rem,9vw,10rem);font-weight:500;line-height:.96}.approach-statement em{color:var(--color-accent-soft);font-style:italic;font-weight:400}.approach-statement .word{padding:0 .08em 0 0;display:inline-block;overflow:hidden}.approach-statement .word>span{transition:transform .9s var(--ease-out);display:inline-block;transform:translateY(110%)}.approach-statement.revealed .word>span{transform:translateY(0)}.approach-statement.revealed .word:first-child>span{transition-delay:.1s}.approach-statement.revealed .word:nth-child(2)>span{transition-delay:.18s}.approach-statement.revealed .word:nth-child(3)>span{transition-delay:.26s}.approach-statement.revealed .word:nth-child(4)>span{transition-delay:.34s}.approach-statement.revealed .word:nth-child(5)>span{transition-delay:.42s}.approach-statement.revealed .word:nth-child(6)>span{transition-delay:.5s}.approach-statement.revealed .word:nth-child(7)>span{transition-delay:.58s}.approach-statement.revealed .word:nth-child(8)>span{transition-delay:.66s}.approach-statement.revealed .word:nth-child(9)>span{transition-delay:.74s}.approach-statement.revealed .word:nth-child(10)>span{transition-delay:.82s}.approach-statement.revealed .word:nth-child(11)>span{transition-delay:.9s}.approach-statement.revealed .word:nth-child(12)>span{transition-delay:.98s}.pillars{border-top:1px solid #ffffff26;grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));gap:0;margin-top:clamp(4rem,10vw,8rem);display:grid}.pillar{border-bottom:1px solid #ffffff26;border-right:1px solid #ffffff26;padding:clamp(2rem,4vw,3rem) clamp(1.5rem,3vw,2.5rem) 2rem;transition:background-color .5s}.pillar:hover{background-color:#ffffff08}.pillar-num{font-family:var(--font-display);color:var(--color-accent-soft);margin-bottom:1.5rem;font-size:clamp(3rem,6vw,5rem);font-style:italic;font-weight:400;line-height:1;transition:color .4s;display:block}.pillar:hover .pillar-num{color:#fff}.pillar-title{font-family:var(--font-display);letter-spacing:-.01em;color:#fff;margin-bottom:1rem;font-size:clamp(1.25rem,1.75vw,1.75rem);font-weight:500;line-height:1.15}.pillar-body{font-family:var(--font-editorial);color:#ffffffa6;font-size:.875rem;line-height:1.65}.offer{background-color:var(--color-surface-secondary);border-top:1px solid var(--border-subtle)}.offer-header,.faq-header{grid-template-columns:3fr 9fr;align-items:end;gap:clamp(2rem,5vw,6rem);margin-bottom:clamp(3rem,6vw,6rem);display:grid}.offer-header-left,.faq-header-left{will-change:transform}.offer-header-left .big-n,.faq-header-left .big-n{font-family:var(--font-display);letter-spacing:-.05em;color:var(--color-accent);font-size:clamp(5rem,12vw,11rem);font-style:italic;font-weight:400;line-height:.85;display:block}.offer-header-left .big-n-label,.faq-header-left .big-n-label{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-tertiary);margin-top:1rem;font-size:.625rem;display:block}.offer-header-left .big-n-label:before,.faq-header-left .big-n-label:before{content:"";background-color:var(--border-accent);vertical-align:middle;width:2rem;height:1px;margin-right:.75rem;display:inline-block}.offer-header-right h2,.faq-header-right h2{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-text-primary);font-size:clamp(2rem,4.5vw,4rem);font-weight:500;line-height:1}.offer-header-right h2 em,.faq-header-right h2 em{color:var(--color-accent);font-style:italic;font-weight:400}.offer-header-right .lead,.faq-header-right .lead{font-family:var(--font-editorial);color:var(--color-text-secondary);max-width:60ch;margin-top:1.5rem;font-size:clamp(1rem,1.3vw,1.2rem);font-style:italic;line-height:1.55}@media(max-width:56.25rem){.offer-header,.faq-header{grid-template-columns:1fr;gap:1.5rem}}.offer-grid{background-color:var(--border-default);border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));gap:1px;display:grid}.offer-card{background-color:var(--color-surface-secondary);transition:background-color .4s var(--ease-out);flex-direction:column;gap:1.5rem;padding:clamp(2rem,3.5vw,3.5rem) clamp(1.5rem,2.5vw,2.5rem);display:flex}.offer-card:hover{background-color:var(--color-surface-tan)}.offer-num{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);align-items:center;gap:.75rem;font-size:.6875rem;display:flex}.offer-num:before{content:"";background-color:var(--color-accent);width:1.5rem;height:1px}.offer-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text-primary);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:500;line-height:1.1}.offer-title em{color:var(--color-accent);font-style:italic;font-weight:400}.offer-body{font-family:var(--font-editorial);color:var(--color-text-secondary);flex:1;font-size:.9375rem;line-height:1.65}.offer-meta{border-top:1px solid var(--border-subtle);flex-direction:column;gap:.375rem;padding-top:1.5rem;display:flex}.offer-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;display:flex}.offer-meta-key{font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:.625rem}.offer-meta-value{font-family:var(--font-sans);color:var(--color-text-primary);text-align:right;font-size:.8125rem;font-weight:500}.offer-footer{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:clamp(3rem,5vw,5rem);padding-top:2rem;display:flex}.offer-footer-note{font-family:var(--font-editorial);color:var(--color-text-secondary);max-width:50ch;font-size:.875rem;font-style:italic;line-height:1.6}.offer-footer-cta{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);border-bottom:1px solid var(--border-accent);padding-bottom:4px;font-size:.6875rem;transition:border-bottom-color .25s}.offer-footer-cta:hover{border-bottom-color:var(--color-accent)}.faq{background-color:var(--color-surface-primary);border-top:1px solid var(--border-subtle)}.faq-list{border-top:1px solid var(--border-default)}.faq-item{border-bottom:1px solid var(--border-default);transition:background-color .3s}.faq-item[open]{background-color:var(--color-surface-tan)}.faq-item summary{cursor:pointer;transition:padding-left .3s var(--ease-out);grid-template-columns:5rem 1fr auto;align-items:center;gap:2rem;padding:clamp(1.5rem,2.5vw,2.5rem) 0;list-style:none;display:grid}.faq-item summary::-webkit-details-marker{display:none}.faq-item:hover summary{padding-left:clamp(.5rem,1.5vw,1rem)}.faq-item[open] summary{padding-left:clamp(1rem,2vw,2rem)}body.has-custom-cursor .faq-item summary{cursor:none}.faq-num{font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;font-size:.6875rem}.faq-q{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text-primary);font-size:clamp(1.25rem,2.2vw,1.85rem);font-weight:500;line-height:1.2}.faq-q em{color:var(--color-accent);font-style:italic;font-weight:400}.faq-toggle{border:1px solid var(--border-default);width:2rem;height:2rem;transition:transform .4s var(--ease-out),background-color .3s ease,border-color .3s ease;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.faq-toggle:before{content:"+";font-family:var(--font-display);color:var(--color-text-primary);font-size:1.125rem;line-height:1;transition:color .3s}.faq-item[open] .faq-toggle{background-color:var(--color-accent);border-color:var(--color-accent);transform:rotate(135deg)}.faq-item[open] .faq-toggle:before{color:var(--color-text-inverse)}.faq-answer{max-width:75ch;padding:0 clamp(1rem,2vw,2rem) clamp(2rem,3.5vw,3rem) 7rem}.faq-answer p{font-family:var(--font-editorial);color:var(--color-text-secondary);font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.7}.faq-answer p+p{margin-top:1rem}.faq-answer strong{color:var(--color-text-primary);font-weight:600}.faq-answer em{color:var(--color-accent);font-style:italic}@media(max-width:43.75rem){.faq-item summary{grid-template-columns:3.125rem 1fr 2rem;gap:1rem}.faq-answer{padding-left:4.125rem;padding-right:0}}.faq-footer{text-align:center;margin-top:clamp(3rem,5vw,5rem)}.faq-footer p{font-family:var(--font-editorial);color:var(--color-text-secondary);font-size:clamp(1.1rem,1.5vw,1.3rem);font-style:italic}.faq-footer a{color:var(--color-accent);border-bottom:1px solid var(--border-accent);padding-bottom:2px;transition:border-bottom-color .2s}.faq-footer a:hover{border-bottom-color:var(--color-accent)}.contact{background-color:var(--color-surface-primary);border-top:1px solid var(--border-subtle);padding:clamp(6rem,14vw,16rem) 0 clamp(4rem,8vw,6rem);position:relative;overflow:hidden}.contact-tag{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);flex-wrap:wrap;align-items:center;gap:.875rem;margin-bottom:3rem;font-size:.6875rem;display:flex}.contact-tag:before{content:"";background-color:var(--color-accent);width:3rem;height:2px}.contact-statement{font-family:var(--font-display);letter-spacing:-.055em;color:var(--color-text-primary);margin:0 calc(-1*var(--gutter));font-size:clamp(4rem,22vw,24rem);font-weight:500;line-height:.86}.contact-statement--single{white-space:nowrap;font-size:clamp(2.75rem,13vw,15rem);line-height:1}.contact-statement em{color:var(--color-accent);font-style:italic;font-weight:400}.contact-statement .line{display:block;overflow:hidden}.contact-statement .line>span{transition:transform 1.1s var(--ease-out);display:block;transform:translateY(110%)}.contact-statement.revealed .line:first-child>span{transition-delay:.1s;transform:translateY(0)}.contact-statement.revealed .line:nth-child(2)>span{transition-delay:.26s;transform:translateY(0)}.contact-block{grid-template-columns:5fr 7fr;align-items:start;gap:clamp(2rem,5vw,6rem);margin-top:clamp(3rem,8vw,6rem);display:grid}.contact-mail{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-accent);border-bottom:2px solid var(--border-accent);white-space:nowrap;max-width:100%;padding-bottom:.625rem;font-size:clamp(1.25rem,4vw,3.5rem);font-weight:500;line-height:1.05;transition:border-bottom-color .4s;display:inline-block;position:relative}.contact-mail:hover{border-bottom-color:var(--color-accent)}.contact-mail .arrow{margin-left:.3em;font-size:.5em;transition:transform .3s;display:inline-block;transform:translateY(-.8em)rotate(-45deg)}.contact-mail:hover .arrow{transform:translateY(-.9em)translate(.15em)rotate(-45deg)}.contact-side{font-family:var(--font-editorial);color:var(--color-text-secondary);max-width:32em;font-size:.875rem;line-height:1.72}.contact-side p+p{margin-top:1rem}.contact-links{flex-direction:column;gap:.75rem;margin-top:2rem;display:flex}.contact-link{border-bottom:1px solid var(--border-subtle);font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-primary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem 0;font-size:.6875rem;transition:padding-left .3s,color .3s;display:flex}.contact-link:hover{color:var(--color-accent);padding-left:.5rem}.contact-link span:last-child{color:var(--color-text-tertiary);font-family:var(--font-sans);letter-spacing:0;text-transform:none;font-size:.8125rem}@media(max-width:56.25rem){.contact-block{grid-template-columns:1fr}}.footer{background-color:var(--color-surface-dark);color:var(--color-text-inverse);padding:clamp(3rem,6vw,5rem) 0 2rem;position:relative}.footer-inner{max-width:var(--max-width);padding:0 var(--gutter);font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;color:#ffffff8c;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem 2rem;margin:0 auto;font-size:.625rem;display:flex}.footer-inner strong{color:#fff;font-weight:400}.footer-brand{font-family:var(--font-display);letter-spacing:0;text-transform:none;color:#fff;font-size:.875rem;font-weight:600}.footer-links{flex-wrap:wrap;align-items:baseline;gap:.75rem 1.5rem;display:flex}.footer-links a{transition:color .2s}.footer-links a:hover{color:#fff}.legal-page{border-top:1px solid var(--border-subtle);padding:clamp(6rem,12vw,10rem) 0 clamp(4rem,8vw,6rem)}.legal-page .wrap{max-width:47.5rem}.legal-page h1{font-family:var(--font-display);letter-spacing:-.025em;margin-bottom:clamp(2rem,4vw,3rem);font-size:clamp(2.5rem,6vw,5rem);font-weight:500;line-height:1.02}.legal-page h2{font-family:var(--font-display);letter-spacing:-.015em;margin-top:3rem;margin-bottom:1rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:500;line-height:1.15}.legal-page h3{font-family:var(--font-editorial);color:var(--color-text-primary);margin-top:2rem;margin-bottom:.75rem;font-size:clamp(1.1rem,1.5vw,1.4rem);font-style:italic;font-weight:500}.legal-page p{font-family:var(--font-editorial);color:var(--color-text-secondary);margin-bottom:1rem;font-size:1rem;line-height:1.75}.legal-page p strong{color:var(--color-text-primary);font-weight:500}.legal-page ul{margin-bottom:1rem;padding-left:0;list-style:none}.legal-page li{font-family:var(--font-editorial);color:var(--color-text-secondary);margin-bottom:.5rem;padding-left:1.5rem;font-size:1rem;line-height:1.7;position:relative}.legal-page li:before{content:"—";color:var(--color-accent);position:absolute;left:0}.legal-page a{color:var(--color-accent);border-bottom:1px solid var(--border-accent);transition:border-bottom-color .2s}.legal-page a:hover{border-bottom-color:var(--color-accent)}.legal-page-back{font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);border-bottom:1px solid var(--border-accent);margin-bottom:2rem;padding-bottom:4px;font-size:.6875rem;display:inline-block}.case-study{border-top:1px solid var(--border-subtle);background-color:var(--color-surface-primary)}.case-hero{border-bottom:1px solid var(--border-subtle);padding:clamp(6rem,12vw,10rem) 0 clamp(3rem,6vw,6rem)}.case-back{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);border-bottom:1px solid var(--border-accent);margin-bottom:clamp(2rem,4vw,3rem);padding-bottom:4px;font-size:.6875rem;transition:border-bottom-color .2s;display:inline-block}.case-back:hover{border-bottom-color:var(--color-accent)}.case-hero-meta{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem 2rem;margin-bottom:clamp(1.5rem,3vw,2.5rem);padding-bottom:1rem;display:flex}.case-hero-badge{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);font-size:.6875rem}.case-hero-coords{font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-tertiary);text-align:right;font-size:.6875rem}.case-hero-coords strong{color:var(--color-text-primary);margin-bottom:.25rem;font-weight:400;display:block}.case-hero-title{font-family:var(--font-display);letter-spacing:-.04em;color:var(--color-text-primary);max-width:14ch;margin-bottom:clamp(2.5rem,5vw,4rem);font-size:clamp(2.5rem,8vw,8rem);font-weight:500;line-height:.95}.case-hero-title em{color:var(--color-accent);font-style:italic;font-weight:400}.case-hero-image{width:100%;max-height:88vh}.case-hero-image .placeholder{aspect-ratio:auto;border-radius:4px;width:100%;height:auto;max-height:88vh}.case-hero-image .placeholder-img{object-fit:contain;width:100%;height:auto;max-height:88vh;position:static}.case-section{border-bottom:1px solid var(--border-subtle);padding:clamp(4rem,8vw,8rem) 0}.case-section--solution{background-color:var(--color-surface-secondary)}.case-section--gallery{background-color:var(--color-surface-tan)}.case-section--outcome{background-color:var(--color-surface-dark);color:var(--color-text-inverse);border-bottom-color:#ffffff1a}.case-section--live{border-bottom:none;padding-bottom:clamp(5rem,10vw,8rem)}.case-section-grid{grid-template-columns:3fr 9fr;align-items:start;gap:clamp(2rem,5vw,6rem);display:grid}@media(max-width:56.25rem){.case-section-grid{grid-template-columns:1fr;gap:2rem}}.case-section-label{align-self:start;position:sticky;top:6rem}.case-section-num{font-family:var(--font-display);letter-spacing:-.04em;color:var(--color-accent);margin-bottom:1rem;font-size:clamp(3rem,7vw,6rem);font-style:italic;font-weight:400;line-height:.85;display:block}.case-section-title{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:.6875rem;display:block}.case-section-title:before{content:"";background-color:var(--border-accent);vertical-align:middle;width:2rem;height:1px;margin-right:.875rem;display:inline-block}@media(max-width:56.25rem){.case-section-label{position:static}}.case-section-body{max-width:56ch}.case-editorial{font-family:var(--font-editorial);color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.75}.case-editorial:last-child{margin-bottom:0}.case-section--outcome .case-editorial{color:#ffffffbf}.case-process{gap:clamp(1.5rem,3vw,2.5rem);list-style:none;display:grid}.case-process-step{border-top:1px solid var(--border-default);padding:clamp(1.25rem,2vw,1.75rem) 0 0}.case-process-num{font-family:var(--font-display);color:var(--color-accent);margin-bottom:.75rem;font-size:clamp(1.75rem,3vw,2.5rem);font-style:italic;font-weight:400;line-height:1;display:block}.case-process-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-text-primary);margin-bottom:.75rem;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:500;line-height:1.1}.case-process-body{font-family:var(--font-editorial);color:var(--color-text-secondary);max-width:56ch;font-size:1rem;line-height:1.7}.case-gallery{flex-direction:column;gap:clamp(1rem,2vw,1.75rem);display:flex}.case-gallery .placeholder{aspect-ratio:auto;border-radius:4px;width:100%;height:auto;max-height:88vh}.case-gallery .placeholder-img{object-fit:contain;width:100%;height:auto;max-height:88vh;position:static}.case-stack-wrap{grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));gap:clamp(2rem,4vw,3rem);display:grid}.case-stack-head{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);border-bottom:1px solid var(--border-accent);margin-bottom:1rem;padding-bottom:.75rem;font-size:.625rem}.case-stack-list,.case-highlights-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.case-stack-list li,.case-highlights-list li{font-family:var(--font-sans);color:var(--color-text-primary);padding-left:1.5rem;font-size:.875rem;line-height:1.4;position:relative}.case-stack-list li:before,.case-highlights-list li:before{content:"—";color:var(--color-accent);position:absolute;left:0}.case-outcome-tag{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:#ffffff80;flex-wrap:wrap;align-items:center;gap:.875rem;margin-bottom:2rem;font-size:.625rem;display:flex}.case-outcome-tag:before{content:"";background-color:#ffffff4d;width:3rem;height:1px}.case-outcome-statement{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;max-width:28ch;margin-bottom:clamp(3rem,6vw,5rem);font-size:clamp(1.75rem,4vw,3.5rem);font-style:italic;font-weight:500;line-height:1.15}.case-outcome-metrics{background-color:#ffffff26;border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26;grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr));gap:1px;display:grid}.case-outcome-metric{background-color:var(--color-surface-dark);padding:clamp(1.5rem,3vw,2.5rem) clamp(1rem,2vw,1.75rem)}.case-outcome-value{font-family:var(--font-display);letter-spacing:-.025em;color:#fff;font-variant-numeric:tabular-nums;margin-bottom:.75rem;font-size:clamp(2rem,4vw,3.25rem);font-weight:500;line-height:1}.case-outcome-value em{color:var(--color-accent-soft);font-style:italic;font-weight:400}.case-outcome-label{font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;color:#ffffff8c;font-size:.6875rem}.case-live-block{grid-template-columns:5fr 7fr;align-items:start;gap:clamp(2rem,5vw,6rem);margin-bottom:clamp(4rem,8vw,6rem);display:grid}@media(max-width:56.25rem){.case-live-block{grid-template-columns:1fr}}.case-live-tag{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:1rem;font-size:.625rem;display:block}.case-live-url{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-accent);border-bottom:2px solid var(--border-accent);word-break:break-all;padding-bottom:.5rem;font-size:clamp(1.5rem,3.5vw,2.75rem);font-weight:500;line-height:1.1;transition:border-bottom-color .4s;display:inline-block}.case-live-url:hover{border-bottom-color:var(--color-accent)}.case-live-url .arrow{margin-left:.3em;font-size:.5em;transition:transform .3s;display:inline-block;transform:translateY(-.8em)rotate(-45deg)}.case-live-url:hover .arrow{transform:translateY(-.9em)translate(.15em)rotate(-45deg)}.case-live-side{font-family:var(--font-editorial);color:var(--color-text-secondary);max-width:32em;font-size:.9375rem;line-height:1.7}.case-live-side a{color:var(--color-accent);border-bottom:1px solid var(--border-accent);padding-bottom:1px}.case-next{border-top:1px solid var(--border-default);padding-top:clamp(3rem,5vw,5rem)}.case-next-label{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:1.25rem;font-size:.6875rem;display:block}.case-next-card{border:1px solid var(--border-default);background-color:var(--color-surface-secondary);transition:border-color .3s ease,background-color .3s ease,transform .4s var(--ease-out);grid-template-columns:minmax(12rem,22rem) 1fr auto;align-items:center;gap:clamp(1.5rem,3vw,3rem);padding:clamp(1.25rem,2.5vw,2rem);display:grid}.case-next-card:hover{border-color:var(--color-accent);background-color:var(--color-surface-tan)}.case-next-card-preview{background-color:var(--color-surface-tan);overflow:hidden}.case-next-card-preview .placeholder{aspect-ratio:auto;width:100%;height:auto}.case-next-card-preview .placeholder-img{object-fit:contain;width:100%;height:auto;position:static}.case-next-card-body{flex-direction:column;gap:.5rem;min-width:0;display:flex}.case-next-card-badge{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);font-size:.625rem}.case-next-card-title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-text-primary);font-size:clamp(1.5rem,3vw,2.5rem);font-weight:500;line-height:1.1;transition:color .3s;display:block}.case-next-card-title em{color:var(--color-accent);font-style:italic;font-weight:400}.case-next-card:hover .case-next-card-title{color:var(--color-accent)}.case-next-card-meta{font-family:var(--font-editorial);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:.6875rem}.case-next-card-arrow{font-family:var(--font-editorial);color:var(--color-accent);transition:transform .4s var(--ease-out);align-self:center;padding:0 .25rem;font-size:1.5rem}.case-next-card:hover .case-next-card-arrow{transform:translate(.5rem)}@media(max-width:43.75rem){.case-next-card{grid-template-columns:1fr}.case-next-card-arrow{display:none}}.reveal{opacity:0;transition:opacity 1s var(--ease-out),transform 1s var(--ease-out);transform:translateY(1.75rem)}.reveal.visible{opacity:1;transform:translateY(0)}.stagger>*{opacity:0;transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transform:translateY(1.25rem)}.stagger.visible>*{opacity:1;transform:translateY(0)}.stagger.visible>:first-child{transition-delay:80ms}.stagger.visible>:nth-child(2){transition-delay:.18s}.stagger.visible>:nth-child(3){transition-delay:.28s}.stagger.visible>:nth-child(4){transition-delay:.38s}.stagger.visible>:nth-child(5){transition-delay:.48s}.stagger.visible>:nth-child(6){transition-delay:.58s}.stagger.visible>:nth-child(7){transition-delay:.68s}.stagger.visible>:nth-child(8){transition-delay:.78s}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.stagger>*{opacity:1!important;transform:none!important}.hero-line>span,.approach-statement .word>span,.contact-statement .line>span{transform:translateY(0)!important}.hero-line em:after{transform:scaleX(0)!important}.hero-dot{transform:translateY(-.05em)scale(1)!important}.grain-canvas,.cursor-dot,.cursor-label{display:none}body.has-custom-cursor{cursor:auto!important}}button.placeholder--clickable{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:transform .5s var(--ease-out);border:0;margin:0;padding:0;display:block}button.placeholder--clickable:hover{transform:scale(1.01)}button.placeholder--clickable:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.lightbox{z-index:500;-webkit-backdrop-filter:blur(8px);cursor:zoom-out;opacity:0;animation:lightbox-in .28s var(--ease-out)forwards;background-color:#1a1a1aeb;justify-content:center;align-items:center;padding:clamp(1rem,4vw,3rem);display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.lightbox-figure{cursor:default;opacity:0;max-width:92vw;max-height:88vh;animation:lightbox-figure-in .36s var(--ease-out)60ms forwards;position:relative;transform:scale(.96)}.lightbox-image{object-fit:contain;border-radius:4px;width:auto;max-width:92vw;height:auto;max-height:88vh;display:block;box-shadow:0 30px 80px #00000073}.lightbox-caption{font-family:var(--font-editorial);letter-spacing:.18em;text-transform:uppercase;color:#ffffffa6;text-align:center;font-size:.6875rem;position:absolute;bottom:-2rem;left:0;right:0}.lightbox-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#fff;width:2.75rem;height:2.75rem;font-family:var(--font-editorial);cursor:pointer;background-color:#0000;border:1px solid #fff6;border-radius:9999px;font-size:1.25rem;line-height:1;transition:border-color .2s,background-color .2s;position:absolute;top:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem)}.lightbox-close:hover{background-color:#ffffff14;border-color:#fff}@keyframes lightbox-in{to{opacity:1}}@keyframes lightbox-figure-in{to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.lightbox,.lightbox-figure{opacity:1;animation:none;transform:none}button.placeholder--clickable:hover{transform:none}}.contact-cta-row{flex-wrap:wrap;align-items:baseline;gap:clamp(1rem,2vw,1.75rem);margin-top:.5rem;display:flex}.contact-cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:var(--font-editorial);letter-spacing:.005em;color:var(--color-accent);border:none;border-bottom:1px solid var(--color-accent);cursor:pointer;background:0 0;padding:.55rem 0;font-size:clamp(1rem,1.6vw,1.25rem);font-style:italic;transition:color .2s,border-color .2s,transform .2s}.contact-cta .arrow{transition:transform .28s var(--ease-out);margin-left:.45em;display:inline-block}.contact-cta:hover{color:var(--color-accent-hover);border-bottom-color:var(--color-accent-hover)}.contact-cta:hover .arrow{transform:translate(.25em)}.contact-cta:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.contact-modal{z-index:600;-webkit-backdrop-filter:blur(6px);opacity:0;animation:lightbox-in .24s var(--ease-out)forwards;background-color:#1a1a1ac7;justify-content:center;align-items:center;padding:clamp(.75rem,3vw,2rem);display:flex;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto}.contact-modal-card{background-color:var(--color-surface-secondary);width:min(40rem,100%);color:var(--color-text-primary);cursor:default;opacity:0;animation:contact-modal-in .32s var(--ease-out)40ms forwards;border-radius:6px;margin:auto;padding:clamp(1.5rem,4vw,2.75rem);position:relative;transform:translateY(.75rem)scale(.985);box-shadow:0 30px 80px #00000059}.contact-modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2.25rem;height:2.25rem;color:var(--color-text-primary);font-family:var(--font-editorial);cursor:pointer;background-color:#0000;border:1px solid #1a1a1a26;border-radius:9999px;font-size:1.25rem;line-height:1;transition:border-color .2s,background-color .2s;position:absolute;top:clamp(.5rem,1.5vw,.85rem);right:clamp(.5rem,1.5vw,.85rem)}.contact-modal-close:hover{border-color:var(--color-accent);color:var(--color-accent);background-color:#2f4f4f0f}.contact-modal-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 .5rem;font-size:clamp(1.75rem,3.6vw,2.5rem);font-weight:400;line-height:1.05}.contact-modal-title em{color:var(--color-accent);font-style:italic}.contact-modal-intro{font-family:var(--font-editorial);color:var(--color-text-secondary);max-width:32rem;margin:0 0 clamp(1.25rem,2.5vw,1.75rem);font-size:clamp(.95rem,1.4vw,1.0625rem);font-style:italic;line-height:1.55}@keyframes contact-modal-in{to{opacity:1;transform:translateY(0)scale(1)}}.contact-form{flex-direction:column;gap:clamp(1rem,2vw,1.4rem);display:flex}.form-field{flex-direction:column;gap:.4rem;display:flex}.form-fieldset{border:none;margin:0;padding:0}.form-row{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:clamp(.75rem,1.6vw,1.1rem);display:grid}.form-label{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-tertiary);padding:0;font-size:.75rem}.form-helper-inline{font-family:var(--font-editorial);letter-spacing:0;text-transform:none;color:var(--color-text-tertiary);font-size:.75rem;font-style:italic}.form-helper{font-family:var(--font-editorial);color:var(--color-text-tertiary);margin:0 0 .25rem;font-size:.875rem;font-style:italic;line-height:1.5}.form-input,.form-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;font-family:var(--font-editorial);color:var(--color-text-primary);background-color:#0000;border:none;border-bottom:1px solid #1a1a1a2e;padding:.6rem 0;font-size:1rem;line-height:1.5;transition:border-color .2s}.form-textarea{font-family:var(--font-editorial);resize:vertical;border:1px solid #1a1a1a2e;border-radius:4px;min-height:6rem;padding:.75rem .85rem}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary);font-style:italic}.form-input:focus,.form-textarea:focus{border-color:var(--color-accent);outline:none}.form-input[aria-invalid=true],.form-textarea[aria-invalid=true]{border-color:#b23a3a}.form-radios{margin-top:.35rem}.form-radios--grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.form-radios--stack{flex-direction:column;gap:.5rem;display:flex}.form-tile{min-height:2.85rem;font-family:var(--font-editorial);color:var(--color-text-primary);cursor:pointer;background-color:#0000;border:1px solid #1a1a1a2e;border-radius:4px;align-items:center;padding:.7rem .95rem;font-size:.9375rem;line-height:1.35;transition:border-color .18s,background-color .18s,color .18s;display:flex;position:relative}.form-tile:hover{border-color:var(--color-accent)}.form-tile input[type=radio]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.form-tile--active{border-color:var(--color-accent);color:var(--color-accent);background-color:#2f4f4f0f}.form-tile:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}@media(max-width:32rem){.form-radios--grid{grid-template-columns:1fr}}.form-field--checkbox{gap:.3rem}.form-checkbox{font-family:var(--font-editorial);color:var(--color-text-secondary);cursor:pointer;align-items:flex-start;gap:.65rem;font-size:.9375rem;line-height:1.55;display:flex}.form-checkbox a{color:var(--color-accent);border-bottom:1px solid}.form-checkbox a:hover{color:var(--color-accent-hover)}.form-checkbox input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-color:#0000;border:1px solid #1a1a1a59;border-radius:2px;flex:none;width:1.05rem;height:1.05rem;margin-top:.2rem;transition:border-color .2s,background-color .2s;position:relative}.form-checkbox input[type=checkbox]:hover{border-color:var(--color-accent)}.form-checkbox input[type=checkbox]:checked{border-color:var(--color-accent);background-color:var(--color-accent)}.form-checkbox input[type=checkbox]:checked:after{content:"";border-bottom:1.5px solid #fff;border-right:1.5px solid #fff;width:4px;height:8px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.form-checkbox input[type=checkbox]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.form-honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-actions{justify-content:flex-start;margin-top:.5rem;display:flex}.form-submit{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-surface-dark);color:var(--color-text-inverse);border:1px solid var(--color-surface-dark);font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;padding:.85rem 1.6rem;font-size:.8125rem;transition:background-color .2s,color .2s,transform .2s}.form-submit:hover:not(:disabled){background-color:var(--color-accent);border-color:var(--color-accent)}.form-submit:disabled{opacity:.55;cursor:not-allowed}.form-submit:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.form-error{font-family:var(--font-sans);color:#b23a3a;letter-spacing:.01em;font-size:.8125rem}.form-error--banner{font-family:var(--font-editorial);color:var(--color-text-primary);background-color:#b23a3a14;border:1px solid #b23a3a4d;border-radius:4px;margin-bottom:1rem;padding:.75rem .9rem;font-size:.9375rem}.form-error--banner a{color:var(--color-accent);border-bottom:1px solid}.form-success{flex-direction:column;align-items:flex-start;gap:1.25rem;display:flex}.form-success p{font-family:var(--font-editorial);color:var(--color-text-secondary);max-width:32rem;margin:0;font-size:clamp(1rem,1.5vw,1.125rem);line-height:1.6}@media(max-width:43.75rem){.contact-modal{align-items:flex-start;padding:0}.contact-modal-card{border-radius:0;width:100%;min-height:100%;margin:0}.form-input,.form-textarea,.form-radio,.form-checkbox{font-size:1rem}}body.has-custom-cursor .contact-modal-card,body.has-custom-cursor .contact-modal-card *{cursor:auto}body.has-custom-cursor .contact-modal-card input[type=text],body.has-custom-cursor .contact-modal-card input[type=email],body.has-custom-cursor .contact-modal-card textarea{cursor:text}body.has-custom-cursor .contact-modal-card .form-tile,body.has-custom-cursor .contact-modal-card .form-tile *,body.has-custom-cursor .contact-modal-card .form-checkbox,body.has-custom-cursor .contact-modal-card .form-checkbox *,body.has-custom-cursor .contact-modal-card a,body.has-custom-cursor .contact-modal-card .form-submit{cursor:pointer}body.has-custom-cursor .contact-modal-card .form-submit:disabled{cursor:not-allowed}body.has-custom-cursor .contact-modal-close{cursor:none}@media(prefers-reduced-motion:reduce){.contact-modal,.contact-modal-card{opacity:1;animation:none;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}
