:root{--color-bg:#fff;--color-bg-soft:#f7f5f1;--color-text:#1e2025;--color-muted:#5f626a;--color-accent:#b74728;--color-accent-soft:#c9532e;--color-border:#e6e2dc;--color-black:#08090b;--font-display:"neue-haas-grotesk-display", "Acumin Pro", "Aktiv Grotesk", Arial, sans-serif;--font-body:"neue-haas-grotesk-text", "Acumin Pro", "Aktiv Grotesk", Arial, sans-serif;--container:min(1240px, calc(100vw - clamp(40px, 8vw, 96px)));--container-wide:min(1380px, calc(100vw - clamp(32px, 6vw, 80px)));--container-narrow:min(920px, calc(100vw - clamp(40px, 8vw, 96px)));--radius:2px;--header-height:72px;--ease:cubic-bezier(.16, 1, .3, 1);--ease-soft:cubic-bezier(.33, 1, .68, 1);--dur-fast:.2s;--dur-med:.45s;--dur-slow:.85s;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.5;overflow-x:hidden}button,input,textarea,select{font:inherit}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}::selection{background:#b7472829}:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.skip-link{z-index:1000;background:var(--color-text);color:var(--color-bg);border-radius:var(--radius);padding:10px 14px;position:fixed;top:16px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:600;line-height:.98}h1{letter-spacing:-.03em;font-size:clamp(3rem,6.6vw,6.4rem)}h2{font-size:clamp(1.9rem,4vw,3.8rem)}h3{letter-spacing:-.01em;font-size:clamp(1.24rem,1.7vw,1.62rem)}p{color:var(--color-muted)}.microcopy,.section-kicker{color:var(--color-accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 20px;font-size:.76rem;font-weight:600}.section-kicker em{color:var(--color-muted);letter-spacing:.08em;margin-right:10px;font-style:normal}html.js [data-reveal]{opacity:0;transition:opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease);transition-delay:var(--reveal-delay,0s);transform:translateY(26px)}html.js [data-reveal].is-inview{opacity:1;transform:translateY(0)}.button{letter-spacing:.01em;cursor:pointer;min-height:48px;transition:background-color var(--dur-fast) var(--ease-soft), border-color var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft), transform var(--dur-fast) var(--ease-soft);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px 24px;font-size:.92rem;font-weight:600;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.68;transform:none}.button-primary{background:var(--color-text);color:#fff}.button-primary:hover{background:var(--color-accent)}.button-secondary{border-color:var(--color-border);color:var(--color-text);background:0 0}.button-secondary:hover{border-color:var(--color-text)}.site-header{z-index:40;width:100%;min-height:var(--header-height);-webkit-backdrop-filter:blur(16px);background:#ffffffdb;border-bottom:1px solid #e6e2dcb3;justify-content:space-between;align-items:center;gap:24px;padding:14px clamp(20px,4vw,48px);display:flex;position:sticky;top:0}.wordmark,.footer-wordmark{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.08rem;font-weight:600}.wordmark sup{color:var(--color-accent);margin-left:2px;font-size:.5em;top:-.55em}.site-nav{color:var(--color-muted);align-items:center;gap:clamp(16px,2.4vw,30px);font-size:.88rem;font-weight:500;display:flex}.site-nav a{transition:color var(--dur-fast) var(--ease-soft);position:relative}.site-nav a:not(.nav-cta):after{content:"";height:1px;transition:right var(--dur-med) var(--ease);background:currentColor;position:absolute;bottom:-5px;left:0;right:100%}.site-nav a:not(.nav-cta):hover:after,.site-nav a[aria-current=page]:after{right:0}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-text)}.nav-cta{color:var(--color-text);border:1px solid var(--color-border);transition:border-color var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft), background-color var(--dur-fast) var(--ease-soft);border-radius:999px;padding:9px 16px}.nav-cta:hover{border-color:var(--color-text)}.hero{min-height:calc(100svh - var(--header-height));flex-direction:column;display:flex}.hero-shell{width:var(--container-wide);flex:1;grid-template-columns:minmax(0,1.02fr) minmax(340px,.72fr);align-items:stretch;gap:clamp(34px,5vw,84px);margin:0 auto;padding:clamp(28px,5vh,64px) 0 clamp(28px,4vh,48px);display:grid}.hero-content{flex-direction:column;justify-content:center;max-width:760px;display:flex}.hero-kicker{margin-bottom:clamp(22px,3.5vh,40px)}.hero-title{max-width:none;font-size:clamp(3.1rem,6.9vw,7rem)}.hero-title .line{display:block;overflow:hidden}.hero-title .line>span{display:block}html.js .hero-title .line>span{animation:hero-line .9s var(--ease) forwards;transform:translateY(110%)}html.js .hero-title .line:nth-child(2)>span{animation-delay:90ms}html.js .hero-title .line:nth-child(3)>span{animation-delay:.18s}@keyframes hero-line{to{transform:translateY(0)}}html.js .hero-fade{opacity:0;animation:hero-fade .7s var(--ease-soft) forwards}html.js .hero-lede.hero-fade{animation-delay:.32s}html.js .hero-actions.hero-fade{animation-delay:.43s}@keyframes hero-fade{to{opacity:1}}.hero-lede{max-width:560px;color:var(--color-muted);margin:clamp(24px,3.5vh,40px) 0 0;font-size:clamp(1.02rem,1.2vw,1.18rem);line-height:1.6}.hero-actions,.form-actions{flex-wrap:wrap;gap:12px;margin-top:clamp(28px,4vh,44px);display:flex}.hero-portrait{border-radius:var(--radius);background:var(--color-bg-soft);align-self:stretch;min-height:480px;margin:0;position:relative;overflow:hidden}html.js .hero-portrait{opacity:0;animation:hero-media 1.1s var(--ease) .15s forwards;transform:scale(.985)}@keyframes hero-media{to{opacity:1;transform:scale(1)}}.hero-portrait img{object-fit:cover;object-position:50% 40%;width:100%;height:100%;position:absolute;inset:0}.hero-img-color{display:none}.hero-canvas{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-portrait figcaption{z-index:2;color:#ffffffd1;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 14px #0006;font-size:.72rem;font-weight:500;position:absolute;bottom:14px;left:16px}.hero-footline{width:var(--container-wide);border-top:1px solid var(--color-border);color:var(--color-muted);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:18px;margin:0 auto;padding:18px 0 22px;font-size:.76rem;font-weight:600;display:flex}.hero-footline .hero-cities{flex-wrap:wrap;gap:8px 26px;display:flex}.hero-footline .hero-scroll{color:var(--color-text);align-items:center;gap:10px;display:inline-flex}.hero-footline .hero-scroll:after{content:"";background:var(--color-text);width:1px;height:26px;animation:scroll-pulse 2.1s var(--ease-soft) infinite;transform-origin:top}@keyframes scroll-pulse{0%{transform:scaleY(0)}45%{transform-origin:top;transform:scaleY(1)}46%{transform-origin:bottom}90%,to{transform-origin:bottom;transform:scaleY(0)}}.section{width:var(--container);margin:0 auto;padding:clamp(52px,6.5vw,96px) 0}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(30px,5vw,64px);display:flex}.section-heading a{color:var(--color-muted);white-space:nowrap;align-items:center;gap:10px;font-size:.9rem;font-weight:600;display:inline-flex}.section-heading a:after{content:"→";transition:transform var(--dur-fast) var(--ease-soft)}.section-heading a:hover{color:var(--color-accent)}.section-heading a:hover:after{transform:translate(4px)}.positioning{padding-top:clamp(48px,6vw,84px)}.statement-row{grid-template-columns:minmax(0,1.3fr) minmax(300px,.62fr);align-items:start;gap:clamp(28px,5vw,88px);display:grid}.statement{max-width:22ch;font-size:clamp(1.9rem,3.6vw,3.4rem);line-height:1.04}.statement em{color:var(--color-accent);font-style:normal}.statement-row p{margin:0;padding-top:clamp(6px,.9vw,16px);font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.65}.work-mosaic{grid-template-columns:repeat(12,1fr);grid-auto-rows:82px;gap:clamp(14px,1.6vw,22px);display:grid}.mosaic-item{flex-direction:column;min-height:0;display:flex;position:relative}.mosaic-figure{display:contents}.mosaic-media{border-radius:var(--radius);background:var(--color-bg-soft);flex:1;min-height:0;position:relative;overflow:hidden}.mosaic-media img{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease), filter .6s var(--ease-soft)}.mosaic-item:hover .mosaic-media img,.mosaic-item:focus-visible .mosaic-media img{transform:scale(1.04)}.mosaic-caption{justify-content:space-between;align-items:baseline;gap:14px;padding:12px 2px 0;font-size:.8rem;display:flex}.mosaic-caption strong{font-family:var(--font-display);letter-spacing:-.005em;color:var(--color-text);transition:color var(--dur-fast) var(--ease-soft);font-size:.95rem;font-weight:600}.mosaic-item:hover .mosaic-caption strong{color:var(--color-accent)}.mosaic-caption span{color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-size:.72rem;font-weight:600}.mosaic-item-1{grid-area:span 8/span 7}.mosaic-item-2{grid-area:span 5/span 5}.mosaic-item-3{grid-area:span 3/span 5}.mosaic-item-4,.mosaic-item-5,.mosaic-item-6{grid-area:span 4/span 4}.mosaic-item-7{grid-area:span 6/span 8}.mosaic-item-8{grid-area:span 6/span 4}.direction-list{border-top:1px solid var(--color-border);display:grid}.direction-row{border-bottom:1px solid var(--color-border);grid-template-columns:72px minmax(0,1.35fr) minmax(220px,.6fr) 60px;align-items:center;gap:clamp(20px,3.5vw,56px);padding:clamp(26px,3.6vw,44px) 0;display:grid;position:relative}.direction-index{color:var(--color-muted);letter-spacing:.12em;font-size:.82rem;font-weight:600}.direction-main h3{transition:transform var(--dur-med) var(--ease), color var(--dur-fast) var(--ease-soft);font-size:clamp(1.5rem,2.6vw,2.5rem)}.direction-main p{max-width:560px;margin:12px 0 0;font-size:.95rem;line-height:1.6}.direction-media{aspect-ratio:4/3;border-radius:var(--radius);background:var(--color-bg-soft);position:relative;overflow:hidden}.direction-media img{object-fit:cover;object-position:50% 22%;width:100%;height:100%;transition:transform .9s var(--ease)}.direction-arrow{color:var(--color-muted);transition:transform var(--dur-med) var(--ease), color var(--dur-fast) var(--ease-soft);justify-self:end;font-size:1.5rem}.direction-row:hover .direction-main h3{color:var(--color-accent);transform:translate(6px)}.direction-row:hover .direction-media img{transform:scale(1.05)}.direction-row:hover .direction-arrow{color:var(--color-accent);transform:translate(8px)}.approach{background:var(--color-bg-soft);width:100%;max-width:none;padding-left:max(clamp(20px,4vw,48px),50vw - 620px);padding-right:max(clamp(20px,4vw,48px),50vw - 620px)}.approach-inner{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:end;gap:clamp(28px,6vw,96px);display:grid}.approach h2{font-size:clamp(1.9rem,3.8vw,3.6rem);line-height:1.04}.approach p{margin:0;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.65}.process-list{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none;display:grid}.process-list li{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(140px,.3fr) minmax(0,.34fr) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,52px);padding:clamp(24px,3.2vw,40px) 0;display:grid}.process-num{font-family:var(--font-display);letter-spacing:-.02em;color:#d9d5cd;transition:color var(--dur-fast) var(--ease-soft);font-size:clamp(3rem,6.2vw,5.8rem);font-weight:600;line-height:.8}@supports (-webkit-text-stroke:1px black){.process-num{color:#0000;-webkit-text-stroke:1.2px #c9c5bd;transition:-webkit-text-stroke-color var(--dur-fast) var(--ease-soft)}.process-list li:hover .process-num{-webkit-text-stroke-color:var(--color-accent)}}@supports not (-webkit-text-stroke:1px black){.process-list li:hover .process-num{color:var(--color-accent)}}.process-list h3{margin:0;font-size:clamp(1.4rem,2vw,1.9rem)}.process-list p{max-width:560px;margin:0;font-size:.95rem;line-height:1.6}.travel{width:100%;max-width:none;padding:0}.travel-inner{background:var(--color-black);padding:clamp(60px,8.5vw,118px) 0}.travel-content{width:var(--container);margin:0 auto}.travel-inner h2{color:#fff;max-width:980px}.travel-inner p{color:#ffffffa3;max-width:720px;margin:clamp(20px,3vw,32px) 0 0;font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.65}.travel-cities{border-top:1px solid #ffffff29;flex-wrap:wrap;gap:12px clamp(20px,3vw,42px);margin:clamp(36px,5vw,64px) 0 0;padding:clamp(20px,3vw,30px) 0 0;list-style:none;display:flex}.travel-cities li{color:#ffffff80;font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;transition:color var(--dur-fast) var(--ease-soft);font-size:clamp(1rem,1.7vw,1.5rem);font-weight:600}.travel-cities li:first-child,.travel-cities li:nth-child(2){color:#fff}.travel-cities li:hover{color:var(--color-accent-soft)}.faq-list{border-top:1px solid var(--color-border)}details{border-bottom:1px solid var(--color-border)}summary{cursor:pointer;font-family:var(--font-display);letter-spacing:-.01em;transition:color var(--dur-fast) var(--ease-soft);padding:clamp(20px,3vw,30px) 48px clamp(20px,3vw,30px) 0;font-size:clamp(1.12rem,1.8vw,1.55rem);font-weight:600;list-style:none;position:relative}summary::-webkit-details-marker{display:none}summary:hover{color:var(--color-accent)}summary:before,summary:after{content:"";width:16px;height:1.5px;transition:transform var(--dur-med) var(--ease);background:currentColor;position:absolute;top:50%;right:8px}summary:after{transform:rotate(90deg)}details[open] summary:after{transform:rotate(0)}details p{max-width:760px;margin-top:0;padding-bottom:clamp(20px,3vw,30px)}.contact-section{grid-template-columns:minmax(0,.85fr) minmax(320px,1fr);align-items:start;gap:clamp(32px,6vw,100px);display:grid}.contact-copy{top:calc(var(--header-height) + 32px);position:sticky}.contact-copy p{max-width:480px;margin:clamp(18px,2.5vw,28px) 0 0;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.65}.contact-alt{border-top:1px solid var(--color-border);margin-top:clamp(28px,4vw,44px);padding-top:clamp(18px,2.5vw,26px);font-size:.9rem}.contact-alt a{color:var(--color-text);border-bottom:1px solid var(--color-border);transition:color var(--dur-fast) var(--ease-soft), border-color var(--dur-fast) var(--ease-soft);font-weight:600}.contact-alt a:hover{color:var(--color-accent);border-color:var(--color-accent)}.contact-form{background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius);gap:18px;padding:clamp(24px,3.6vw,40px);display:grid}.form-note,.field-note,.form-status{margin:0;font-size:.86rem;line-height:1.45}.form-note,.field-note{color:var(--color-muted)}.field-note{margin-top:-6px}.form-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}label{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;gap:8px;font-size:.82rem;font-weight:600;display:grid}input,textarea,select{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;color:var(--color-text);letter-spacing:0;text-transform:none;transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;background:#fff;padding:13px 14px;font-weight:400}input:focus,textarea:focus,select:focus{border-color:var(--color-accent);outline:0;box-shadow:0 0 0 3px #b747281f}input::placeholder,textarea::placeholder{color:#5f626a99}textarea{resize:vertical}.honeypot{width:1px;height:1px;position:absolute;left:-9999px}.form-status{min-height:1.4em;font-weight:600}.form-status.is-success{color:var(--color-accent)}.form-status.is-error{color:#9c2f19}.page-hero{width:var(--container);margin:0 auto;padding:clamp(74px,11vw,130px) 0 clamp(44px,7vw,80px)}.page-hero.compact h1{font-size:clamp(3.2rem,8vw,6.8rem)}.page-hero.compact p:not(.microcopy){max-width:640px;font-size:1.12rem}.page-hero .button{margin-top:18px}.not-found{min-height:62vh}.legal-hero{padding-bottom:clamp(28px,4vw,48px)}.page-hero.compact.legal-hero h1{max-width:760px;font-size:clamp(2.4rem,5.4vw,4.6rem)}.legal-content{width:var(--container-narrow);gap:clamp(28px,4vw,44px);padding-top:0;display:grid}.legal-section{border-top:1px solid var(--color-border);gap:12px;padding-top:clamp(20px,3vw,30px);display:grid}.legal-section h2{font-size:clamp(1.35rem,2vw,1.9rem)}.legal-section p{max-width:760px;margin:0}.legal-section a{color:var(--color-accent);font-weight:600}.portfolio-intro{width:var(--container-wide);grid-template-columns:minmax(0,1.15fr) minmax(260px,.5fr);align-items:end;gap:clamp(32px,7vw,112px);margin:0 auto;padding:clamp(64px,9vw,120px) 0 clamp(36px,5vw,64px);display:grid}.portfolio-intro h1{letter-spacing:-.04em;font-size:clamp(4rem,11vw,10rem)}.portfolio-intro-copy p{max-width:660px;color:var(--color-muted);margin:clamp(18px,2vw,28px) 0 0;font-size:clamp(1rem,1.3vw,1.22rem);line-height:1.6}.portfolio-summary{border-top:1px solid var(--color-border);margin:0;display:grid}.portfolio-summary div{border-bottom:1px solid var(--color-border);grid-template-columns:1fr auto;gap:18px;padding:14px 0;display:grid}.portfolio-summary dt,.detail-meta dt,.portfolio-filter-status{color:var(--color-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.74rem;font-weight:600}.portfolio-summary dd,.detail-meta dd{color:var(--color-text);font-family:var(--font-display);margin:0;font-weight:600}.portfolio-toolbar-wrap{top:var(--header-height);z-index:30;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px);background:#ffffffeb;width:100%;margin-bottom:clamp(34px,5vw,58px);padding:10px 0;position:sticky}.portfolio-toolbar{width:var(--container-wide);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;display:flex}.filter-group{flex-wrap:wrap;gap:4px;display:flex}.filter-button{color:var(--color-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease-soft), background-color var(--dur-fast) var(--ease-soft);background:0 0;border:0;border-radius:999px;padding:9px 14px;font-size:.86rem;font-weight:600}.filter-button:hover{color:var(--color-text);background:var(--color-bg-soft)}.filter-button.is-active{background:var(--color-text);color:#fff}.view-toggle{border:1px solid var(--color-border);background:#fff;border-radius:999px;flex:none;padding:3px;display:inline-flex}.view-button{color:var(--color-muted);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-soft), background-color var(--dur-fast) var(--ease-soft);background:0 0;border:0;border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:600}.view-button:hover{color:var(--color-text)}.view-button.is-active{background:var(--color-text);color:#fff}.view-button .view-dot{background:var(--color-accent);vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.portfolio-filter-status{width:var(--container-wide);margin:8px auto 0}.portfolio-grid{width:var(--container-wide);grid-template-columns:repeat(12,1fr);gap:clamp(44px,6vw,84px) clamp(20px,2.4vw,34px);margin:0 auto;padding-bottom:clamp(76px,11vw,148px);display:grid}.portfolio-card[hidden]{display:none}.portfolio-card{margin:0}.portfolio-card.card-large{grid-column:span 6}.portfolio-card.card-small{grid-column:span 4}.portfolio-card a{display:block}.portfolio-card figure{margin:0}.portfolio-card-media{border-radius:var(--radius);background:var(--color-bg-soft);overflow:hidden}.card-large .portfolio-card-media{aspect-ratio:3/2}.card-small .portfolio-card-media{aspect-ratio:4/5}.portfolio-card img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease), filter .6s var(--ease-soft)}.portfolio-card:hover img{transform:scale(1.025)}.portfolio-card figcaption{grid-template-columns:auto 1fr;align-items:baseline;gap:4px 14px;padding:14px 2px 0;display:grid}.card-index{color:var(--color-muted);letter-spacing:.1em;font-size:.74rem;font-weight:600}.portfolio-card strong{font-family:var(--font-display);letter-spacing:-.01em;transition:color var(--dur-fast) var(--ease-soft);font-size:clamp(1.14rem,1.35vw,1.42rem);font-weight:600;line-height:1.05}.portfolio-card:hover strong{color:var(--color-accent)}.portfolio-card .card-meta{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;grid-column:2;font-size:.76rem;font-weight:500}.portfolio-archive{width:100%;padding-bottom:clamp(60px,8vw,110px)}.portfolio-archive[hidden]{display:none}.archive-stage{height:calc(100svh - var(--header-height) - 96px);min-height:540px;color:var(--color-text);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);touch-action:none;cursor:grab;background:#f3f0ea;position:relative;overflow:hidden}html.js .portfolio-archive:not([hidden]) .archive-stage:not([hidden]),html.js .portfolio-archive:not([hidden]) .archive-index:not([hidden]){animation:archive-enter .7s var(--ease) both}@keyframes archive-enter{0%{opacity:0;transform:translateY(26px)scale(.995)}to{opacity:1;transform:none}}.archive-stage.is-dragging{cursor:grabbing}.archive-stage:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.archive-stage canvas{width:100%;height:100%;display:block}.archive-stage[hidden]{display:none}.archive-hud:before{content:"";background:radial-gradient(120% 90% at 50% 45%,#0000 60%,#ece8e1b8 100%);position:absolute;inset:0}.archive-hud{z-index:2;pointer-events:none;flex-direction:column;justify-content:space-between;padding:clamp(18px,2.6vw,30px) clamp(18px,2.6vw,34px);display:flex;position:absolute;inset:0}.archive-hud-top,.archive-hud-bottom{z-index:1;justify-content:space-between;align-items:flex-start;gap:18px;display:flex;position:relative}.archive-hud-bottom{align-items:flex-end}.archive-hint{color:#1e202585;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:600}.archive-count{color:#1e202585;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:600}.archive-focus{min-height:44px;transition:opacity var(--dur-fast) var(--ease-soft)}.archive-focus[data-empty=true]{opacity:0}.archive-focus strong{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text);font-size:clamp(1.1rem,1.8vw,1.6rem);font-weight:600;display:block}.archive-focus span{color:#1e202585;letter-spacing:.14em;text-transform:uppercase;margin-top:4px;font-size:.72rem;font-weight:600;display:block}.archive-index-btn{pointer-events:auto;border:1px solid var(--color-border);color:var(--color-text);letter-spacing:.06em;cursor:pointer;backdrop-filter:blur(8px);transition:border-color var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft);background:#ffffffb8;border-radius:999px;padding:9px 16px;font-size:.78rem;font-weight:600}.archive-index-btn:hover{border-color:var(--color-text);color:var(--color-accent)}.archive-loading{z-index:3;color:var(--color-muted);letter-spacing:.2em;text-transform:uppercase;transition:opacity var(--dur-med) var(--ease-soft);background:#f3f0ea;place-items:center;font-size:.78rem;font-weight:600;display:grid;position:absolute;inset:0}.archive-loading.is-done{opacity:0;pointer-events:none}.archive-index[hidden]{display:none}.archive-index{width:var(--container-wide);border-top:1px solid var(--color-border);margin:0 auto;padding:0;list-style:none}.archive-index li{border-bottom:1px solid var(--color-border)}.archive-index a{transition:background-color var(--dur-fast) var(--ease-soft);grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:clamp(16px,3vw,32px);padding:14px 2px;display:grid}.archive-index a:hover{background:var(--color-bg-soft)}.archive-index-thumb{border-radius:var(--radius);background:var(--color-bg-soft);width:84px;height:60px;overflow:hidden}.archive-index-thumb img{object-fit:cover;width:100%;height:100%}.archive-index-title strong{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(1.02rem,1.4vw,1.3rem);font-weight:600;display:block}.archive-index-title span{color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;margin-top:3px;font-size:.74rem;font-weight:600;display:block}.archive-index-count{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.76rem;font-weight:600}.archive-note{width:var(--container-wide);color:var(--color-muted);margin:14px auto 0;font-size:.8rem}.portfolio-detail{width:var(--container-wide);margin:0 auto;padding-bottom:clamp(76px,11vw,148px)}.detail-header{padding:clamp(48px,7vw,96px) 0 clamp(34px,5vw,64px)}.back-link{color:var(--color-muted);transition:color var(--dur-fast) var(--ease-soft);align-items:center;margin-bottom:clamp(24px,4vw,48px);font-size:.86rem;font-weight:600;display:inline-flex}.back-link:before{content:"";width:20px;height:1px;transition:width var(--dur-fast) var(--ease-soft);background:currentColor;margin-right:10px}.back-link:hover{color:var(--color-accent)}.back-link:hover:before{width:30px}.detail-header-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.6fr);align-items:start;gap:clamp(34px,7vw,112px);display:grid}.detail-title-block h1{max-width:860px;font-size:clamp(2.9rem,5.6vw,5.9rem)}.detail-meta{border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.detail-meta div{border-bottom:1px solid var(--color-border);padding:13px 0}.detail-summary p{max-width:620px;color:var(--color-muted);margin:22px 0 0;font-size:clamp(.98rem,1.18vw,1.12rem);line-height:1.65}.detail-featured{border-radius:var(--radius);background:var(--color-bg-soft);margin:0 0 clamp(20px,2.4vw,34px);overflow:hidden}.detail-featured img{object-fit:cover;object-position:50% 20%;width:100%;height:auto;max-height:min(88vh,1000px)}.detail-gallery-section{gap:clamp(20px,2.4vw,34px);display:grid}.detail-gallery-heading{justify-content:space-between;align-items:baseline;gap:24px;display:flex}.detail-gallery-heading h2{font-size:.78rem;font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);font-weight:600}.detail-gallery-heading p{color:var(--color-muted);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:600}.detail-gallery{gap:clamp(20px,2.4vw,34px);display:grid}.gallery-row{gap:clamp(20px,2.4vw,34px);display:flex}.gallery-row figure{background:var(--color-bg-soft);border-radius:var(--radius);flex:1;min-width:0;margin:0;overflow:hidden}.gallery-row img{width:100%;height:auto;display:block}.gallery-row figure:only-child{flex:none;width:100%}.gallery-row figure:only-child[data-orientation=portrait],.gallery-row figure:only-child[data-orientation=square]{width:54%}.detail-next{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);align-items:center;gap:clamp(28px,5vw,72px);margin-top:clamp(56px,8vw,110px);padding-top:clamp(28px,4vw,48px);display:grid}.detail-next-copy .microcopy{margin-bottom:14px}.detail-next-copy h2{transition:color var(--dur-fast) var(--ease-soft);font-size:clamp(2rem,4.4vw,4.2rem)}.detail-next:hover .detail-next-copy h2{color:var(--color-accent)}.detail-next-copy span{color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;margin-top:14px;font-size:.76rem;font-weight:600;display:inline-block}.detail-next-media{aspect-ratio:3/2;border-radius:var(--radius);background:var(--color-bg-soft);overflow:hidden}.detail-next-media img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease)}.detail-next:hover .detail-next-media img{transform:scale(1.05)}.detail-footer-nav{margin-top:clamp(40px,5vw,64px)}.detail-footer-nav .back-link{margin-bottom:0}.footer-cta{background:var(--color-bg-soft);border-top:1px solid var(--color-border);padding:clamp(48px,7vw,96px) clamp(20px,4vw,48px)}.footer-cta .microcopy{margin-bottom:clamp(14px,2vw,22px)}.footer-cta a{font-family:var(--font-display);letter-spacing:-.03em;transition:color var(--dur-fast) var(--ease-soft);font-size:clamp(2rem,5.4vw,4.8rem);font-weight:600;line-height:1;display:inline-block}.footer-cta a em{transition:transform var(--dur-med) var(--ease);margin-left:.2em;font-style:normal;display:inline-block}.footer-cta a:hover{color:var(--color-accent)}.footer-cta a:hover em{transform:translate(.18em)}.site-footer{border-top:1px solid var(--color-border);padding:clamp(40px,6vw,72px) clamp(20px,4vw,48px) clamp(24px,3vw,40px)}.footer-top{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.footer-wordmark{letter-spacing:-.02em;font-size:clamp(1.6rem,3vw,2.4rem)}.footer-links{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:clamp(16px,2.4vw,28px);font-size:.88rem;font-weight:500;display:flex}.footer-links a{transition:color var(--dur-fast) var(--ease-soft)}.footer-links a:hover{color:var(--color-accent)}.footer-bottom{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 32px;margin-top:clamp(32px,5vw,56px);padding-top:18px;display:flex}.site-footer p{margin:0;font-size:.84rem}.footer-note{max-width:560px}.footer-giant{user-select:none;pointer-events:none;margin-top:clamp(28px,4vw,48px);overflow:hidden}.footer-giant span{font-family:var(--font-display);letter-spacing:-.045em;color:#efece6;font-size:clamp(5.4rem,16.5vw,15.5rem);font-weight:600;line-height:.78;display:block;transform:translateY(16%)}@supports (-webkit-text-stroke:1px black){.footer-giant span{color:#0000;-webkit-text-stroke:1.2px #e2ded7}}@media (width<=1020px){.direction-row{grid-template-columns:48px minmax(0,1fr) minmax(180px,.5fr)}.direction-arrow{display:none}}@media (width<=900px){.site-header{gap:16px}.site-nav{justify-content:flex-end;gap:14px}.hero{min-height:auto}.hero-shell{grid-template-columns:1fr;gap:clamp(28px,6vw,44px);padding-top:clamp(36px,7vw,56px)}.hero-content{max-width:720px}.hero-portrait{height:clamp(360px,62vw,560px);min-height:0}.hero-footline{flex-wrap:wrap}.hero-footline .hero-scroll{display:none}.approach-inner,.contact-section{grid-template-columns:1fr}.statement-row{grid-template-columns:1fr;gap:20px}.statement-row p{max-width:560px;padding-top:0}.process-list li{grid-template-columns:96px minmax(0,1fr);row-gap:10px}.process-list li .process-num{grid-row:1/3}.process-list li p{grid-column:2}.contact-copy{position:static}.work-mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto;display:grid}.mosaic-item,.mosaic-item-1,.mosaic-item-2,.mosaic-item-3,.mosaic-item-4,.mosaic-item-5,.mosaic-item-6,.mosaic-item-7,.mosaic-item-8{grid-area:auto}.mosaic-media{aspect-ratio:4/5;flex:none}.mosaic-item-1 .mosaic-media,.mosaic-item-7 .mosaic-media{aspect-ratio:3/2}.mosaic-item-1,.mosaic-item-7{grid-column:1/-1}.direction-row{grid-template-columns:40px minmax(0,1fr);align-items:start;row-gap:18px}.direction-media{grid-column:2;max-width:420px}.process-list{grid-template-columns:repeat(2,1fr);row-gap:clamp(32px,6vw,48px)}.section-heading{flex-direction:column;align-items:start;gap:12px}.portfolio-intro,.detail-header-grid,.detail-next{grid-template-columns:1fr}.portfolio-intro{align-items:start;padding-top:clamp(48px,8vw,72px)}.portfolio-summary{max-width:520px}.portfolio-card.card-large,.portfolio-card.card-small{grid-column:span 6}.card-large .portfolio-card-media,.card-small .portfolio-card-media{aspect-ratio:4/5}.portfolio-toolbar{flex-direction:column;align-items:stretch;gap:10px}.view-toggle{align-self:flex-start}.detail-meta{max-width:620px}.detail-next{gap:20px}.detail-next-media{order:-1;max-width:480px}.archive-stage{height:calc(100svh - var(--header-height) - 140px);min-height:480px}.footer-top{flex-direction:column;gap:18px}.footer-bottom{flex-direction:column;align-items:flex-start}}@media (width<=560px){:root{--container:calc(100vw - 32px);--container-wide:calc(100vw - 32px);--container-narrow:calc(100vw - 32px)}.site-header{gap:12px;padding:12px 16px}.wordmark{font-size:1rem}.site-nav{white-space:nowrap;gap:12px;font-size:.8rem}.site-nav a:not(.nav-cta):after{display:none}.nav-cta{padding:8px 12px}.hero-shell{padding-top:28px}.hero-kicker{margin-bottom:18px}h1,.hero-title{font-size:clamp(2.5rem,11.5vw,3.4rem)}.hero-lede{margin-top:18px;font-size:.98rem}.hero-portrait{height:clamp(320px,90vw,420px)}.hero-footline{padding:14px 0 18px;font-size:.66rem}.hero-footline .hero-cities{gap:6px 16px}.hero-actions{gap:10px}.hero-actions .button{flex:1 1 0;padding-inline:14px}.work-mosaic{grid-template-columns:1fr;gap:22px}.mosaic-media,.mosaic-item-1 .mosaic-media,.mosaic-item-7 .mosaic-media{aspect-ratio:auto}.mosaic-media img{height:auto}.direction-media{max-width:none}.process-list{grid-template-columns:1fr}.travel-cities li{font-size:1rem}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column;align-items:stretch}.form-actions .button{width:100%}.portfolio-intro{padding:40px 0 26px}.portfolio-intro h1{font-size:clamp(3.2rem,17vw,5rem)}.portfolio-toolbar-wrap{margin-bottom:30px;padding:10px 0 12px;position:static}.filter-group{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.filter-group::-webkit-scrollbar{display:none}.filter-button{white-space:nowrap;flex:none}.portfolio-grid{gap:40px 16px;padding-bottom:72px}.portfolio-card.card-large,.portfolio-card.card-small{grid-column:span 12}.card-large .portfolio-card-media,.card-small .portfolio-card-media{aspect-ratio:auto}.card-large .portfolio-card-media img,.card-small .portfolio-card-media img{height:auto}.archive-index a{grid-template-columns:64px minmax(0,1fr)}.archive-index-thumb{width:64px;height:46px}.archive-index-count{display:none}.detail-header{padding:40px 0 32px}.detail-title-block h1{font-size:clamp(2.3rem,11vw,3.3rem)}.detail-meta{grid-template-columns:1fr 1fr}.page-hero.compact.legal-hero h1{font-size:clamp(2.1rem,9.5vw,2.9rem)}}@media (width<=380px){.site-header{flex-direction:column;align-items:flex-start}.site-nav{flex-wrap:wrap;justify-content:space-between;width:100%}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}}@media (width<=700px){.gallery-row{flex-direction:column}.gallery-row figure,.gallery-row figure:only-child[data-orientation=portrait],.gallery-row figure:only-child[data-orientation=square]{flex:none;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html.js [data-reveal]{opacity:1;transition:none;transform:none}html.js .hero-title .line>span,html.js .hero-fade,html.js .hero-portrait{opacity:1;animation:none;transform:none}.hero-canvas{display:none}.hero-footline .hero-scroll:after{animation:none;transform:scaleY(1)}.button:hover,.direction-row:hover .direction-main h3,.direction-row:hover .direction-arrow{transform:none}.portfolio-card:hover img,.mosaic-item:hover .mosaic-media img,.direction-row:hover .direction-media img,.detail-next:hover .detail-next-media img{filter:none;transform:none}.back-link:hover:before{width:20px}}
