:root{--bg:#f6f5f1;--bg-2:#efede7;--ink:#161513;--ink-soft:#5b574f;--line:#d9d5cc;--accent:#9a7b4f;--white:#fbfaf7;--maxw:1500px;--gut:clamp(20px,5vw,80px);--ease:cubic-bezier(.22,1,.36,1);--sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:clamp(15px,1.05vw,17px);line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--white)}h1,h2,h3,h4{font-family:var(--serif);font-weight:380;line-height:1.04;letter-spacing:-.01em}.display{font-size:clamp(2.7rem,8vw,7.5rem);font-weight:340}.h-eyebrow{font-family:var(--sans);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}.h-eyebrow::before{content:"";display:inline-block;width:22px;height:1px;background:var(--accent);vertical-align:middle;margin-right:12px;opacity:.7}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}.muted{color:var(--ink-soft)}section{position:relative}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .95s var(--ease),transform 1.05s var(--ease)}[data-reveal].in{opacity:1;transform:none}[data-reveal-d="1"]{transition-delay:.08s}[data-reveal-d="2"]{transition-delay:.16s}[data-reveal-d="3"]{transition-delay:.24s}[data-reveal-d="4"]{transition-delay:.32s}.hdr{position:fixed;inset:0 0 auto 0;z-index:50;padding:18px 0;transition:background-color .22s ease,box-shadow .22s ease,transform .25s var(--ease)}.hdr.solid{background:rgba(246,245,241,.86);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}.hdr.hide{transform:translateY(-100%)}body.menu-open .hdr{transform:none!important}.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;line-height:1}.brand-mark{display:block;width:132px;height:32px;background:currentColor;-webkit-mask:url(/assets/img/logo-small.svg?v=2) no-repeat left center/contain;mask:url(/assets/img/logo-small.svg?v=2) no-repeat left center/contain;transition:opacity .22s ease}.brand-word{display:flex;justify-content:space-between;width:112px;font-family:var(--sans);font-size:.74rem;font-weight:600;text-transform:uppercase;color:currentColor}.brand-word i{font-style:normal;line-height:1}@media(max-width:560px){.brand-mark{width:108px;height:26px}.brand-word{width:98px;font-size:.66rem}}.nav{display:flex;align-items:center;gap:clamp(20px,3vw,46px)}.nav-links{display:flex;align-items:center;gap:clamp(18px,2.2vw,38px)}.nav a{font-size:.83rem;letter-spacing:.04em;position:relative;padding:4px 0;color:var(--ink-soft);transition:color .2s ease}.nav a.active{color:var(--ink)}.nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease)}.nav a.active::after{transform:scaleX(1)}.lang{display:flex;gap:8px;font-size:.78rem;letter-spacing:.08em}.lang a{color:var(--ink-soft);transition:color .2s ease}.lang a.on{color:var(--ink);font-weight:700}.burger{display:none;width:30px;height:18px;position:relative;cursor:pointer}.burger span{position:absolute;left:0;top:50%;width:100%;height:1.5px;background:var(--ink);transition:transform .22s var(--ease),opacity .2s ease}.burger span:nth-child(1){transform:translateY(-8px)}.burger span:nth-child(2){transform:none}.burger span:nth-child(3){transform:translateY(8px)}body.menu-open .burger span:nth-child(1){transform:rotate(45deg)}body.menu-open .burger span:nth-child(2){opacity:0}body.menu-open .burger span:nth-child(3){transform:rotate(-45deg)}.hdr{color:#fff}.hdr::before{content:"";position:absolute;left:0;right:0;top:0;height:120px;pointer-events:none;z-index:-1;background:linear-gradient(180deg,rgba(14,12,9,.22),rgba(14,12,9,0));transition:opacity .22s ease}.hdr .brand{text-shadow:0 1px 20px rgba(8,6,4,.4)}.hdr .nav a{color:rgba(255,255,255,.88);text-shadow:0 1px 18px rgba(8,6,4,.45)}.hdr .nav a::after{background:#fff}.hdr .nav a.active{color:#fff}.hdr .lang{text-shadow:0 1px 18px rgba(8,6,4,.45)}.hdr .lang a{color:rgba(255,255,255,.55)}.hdr .lang a.on{color:#fff}.hdr .burger span{background:#fff}.hdr.solid,body.flat .hdr{color:var(--ink)}.hdr.solid::before,body.flat .hdr::before{opacity:0}.hdr.solid .brand,body.flat .hdr .brand{text-shadow:none}.hdr.solid .nav a,body.flat .hdr .nav a{color:var(--ink-soft);text-shadow:none}.hdr.solid .nav a::after,body.flat .hdr .nav a::after{background:var(--accent)}.hdr.solid .nav a.active,body.flat .hdr .nav a.active{color:var(--ink)}.hdr.solid .lang,body.flat .hdr .lang{text-shadow:none}.hdr.solid .lang a,body.flat .hdr .lang a{color:var(--ink-soft)}.hdr.solid .lang a.on,body.flat .hdr .lang a.on{color:var(--ink)}.hdr.solid .burger span,body.flat .hdr .burger span{background:var(--ink)}body.menu-open .nav-links a{color:var(--ink)!important;text-shadow:none}body.menu-open .brand,body.menu-open .lang a.on{color:var(--ink)}body.menu-open .burger span{background:var(--ink)}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(40px,7vh,90px);position:relative;overflow:hidden}.hero-media{position:absolute;inset:0;z-index:-1}.hero-media img{width:100%;height:120%;object-fit:cover;filter:saturate(.92) contrast(1.02);will-change:transform}.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,14,11,.62) 0%,rgba(16,14,11,.34) 12%,rgba(16,14,11,.1) 26%,rgba(16,14,11,0) 44%,rgba(16,14,11,.1) 60%,rgba(16,14,11,.76) 100%),linear-gradient(90deg,rgba(16,14,11,.32) 0%,rgba(16,14,11,0) 48%)}.hero.light .hero-content{color:var(--white)}.hero-content{max-width:var(--maxw);width:100%}.hero-content .display{max-width:15ch;margin:.18em 0 .4em;text-shadow:0 2px 40px rgba(20,18,15,.35)}.hero-content .h-eyebrow{margin-bottom:6px}.hero-sub{font-size:clamp(1rem,1.25vw,1.18rem);max-width:40ch;opacity:.92;line-height:1.6}.scrollcue{position:absolute;right:var(--gut);bottom:34px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;opacity:.85;display:flex;align-items:center;gap:10px;color:var(--white);z-index:2}.scrollcue i{width:1px;height:42px;background:currentColor;display:block;transform-origin:top;animation:cue 2.4s var(--ease) infinite}@keyframes cue{0%{transform:scaleY(0)}40%{transform:scaleY(1)}100%{transform:scaleY(0);transform-origin:bottom}}.statement{padding:clamp(90px,14vh,200px) 0}.statement p{font-family:var(--serif);font-size:clamp(1.5rem,3.4vw,2.9rem);line-height:1.28;font-weight:330;max-width:24ch}.statement .lead-row{display:grid;grid-template-columns:1fr;gap:40px}.meta-row{display:flex;flex-wrap:wrap;gap:50px;margin-top:70px;border-top:1px solid var(--line);padding-top:36px}.meta-row .stat .n{font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);display:block;line-height:1}.meta-row .stat .l{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px}.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:clamp(34px,5vw,64px);flex-wrap:wrap}.sec-head h2{font-size:clamp(1.9rem,4.4vw,3.6rem)}.sec-head .h-eyebrow{margin-bottom:14px;display:block}.work{padding:clamp(40px,6vh,90px) 0 clamp(80px,12vh,150px)}.filters{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:46px}.filters button{font-family:var(--sans);background:none;border:0;cursor:pointer;font-size:.82rem;letter-spacing:.05em;color:var(--ink-soft);padding:6px 0;position:relative;transition:color .2s ease}.filters button.on{color:var(--ink)}.filters button.on::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent)}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,2.4vw,42px) clamp(18px,2vw,34px)}.card{grid-column:span 6;position:relative;cursor:pointer}.card:nth-child(7n+1){grid-column:span 7}.card:nth-child(7n+2){grid-column:span 5}.card.hide{display:none}.card-fig{position:relative;overflow:hidden;background:var(--bg-2);aspect-ratio:4/3}.card:nth-child(7n+1) .card-fig{aspect-ratio:16/10}.card-fig img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease);transform:scale(1.01)}.card-star{position:absolute;top:14px;left:14px;font-size:.7rem;letter-spacing:.1em;background:rgba(251,250,247,.9);color:var(--ink);padding:5px 10px;border-radius:40px;text-transform:uppercase;font-weight:600}.card-cap{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-top:16px}.card-cap h3{font-size:clamp(1.15rem,1.7vw,1.55rem);font-weight:400}.card-cap .yr{font-size:.78rem;color:var(--ink-soft);letter-spacing:.05em;white-space:nowrap}.card-tags{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:5px}.services{padding:clamp(80px,12vh,150px) 0;background:var(--bg-2)}.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.svc{background:var(--bg-2);padding:clamp(30px,4vw,54px);min-height:240px;display:flex;flex-direction:column;justify-content:space-between;transition:background-color .22s ease}.svc .no{font-size:.78rem;letter-spacing:.15em;color:var(--ink-soft)}.svc h3{font-size:clamp(1.4rem,2.4vw,2rem);margin-top:auto}.svc p{font-size:.9rem;color:var(--ink-soft);margin-top:14px}.about{padding:clamp(80px,12vh,160px) 0}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,100px);align-items:center}.split .txt h2{font-size:clamp(2rem,4.4vw,3.4rem);margin-bottom:28px}.split .txt p+p{margin-top:18px}.split .img-stack{position:relative}.split .img-stack img{width:100%;aspect-ratio:4/5;object-fit:cover}.cta{padding:clamp(90px,16vh,210px) 0;text-align:center;border-top:1px solid var(--line)}.cta h2{font-size:clamp(2.4rem,7vw,6rem);margin-bottom:30px}.btn{display:inline-flex;align-items:center;gap:12px;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);padding:16px 30px;border-radius:40px;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.btn .ar{transition:transform .2s var(--ease)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:36px;margin-top:70px;text-align:left;border-top:1px solid var(--line);padding-top:46px}.info-grid .k{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px}.info-grid .v{font-family:var(--serif);font-size:1.2rem;line-height:1.4}.contact{padding:clamp(140px,21vh,230px) 0 clamp(80px,12vh,140px)}.contact-head{margin-bottom:clamp(48px,8vh,96px)}.contact-head h1{font-size:clamp(2.6rem,7vw,5.6rem);margin:.18em 0 .36em;line-height:1.02}.contact-head .lead{font-size:clamp(1.1rem,1.7vw,1.45rem);max-width:44ch;line-height:1.55}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:clamp(48px,8vh,90px)}.contact-grid .ci{background:var(--bg);padding:clamp(28px,3.4vw,50px);min-height:188px;display:flex;flex-direction:column;gap:16px;transition:background-color .22s ease}.contact-grid .k{font-size:.73rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}.contact-grid .v{font-family:var(--serif);font-size:clamp(1.16rem,1.7vw,1.52rem);line-height:1.34;font-weight:380;margin-top:auto}.contact-grid .v a{transition:color .2s ease}.contact-foot{display:flex}@media(max-width:600px){.contact{padding-top:118px}.contact-grid .ci{min-height:150px}}.foot{padding:60px 0 40px;border-top:1px solid var(--line);font-size:.82rem;color:var(--ink-soft)}.foot .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}.foot a{transition:color .2s ease}.info-grid a{transition:color .2s ease}.proj-hero{min-height:82svh;display:flex;align-items:flex-end;padding-bottom:clamp(40px,7vh,80px);position:relative;overflow:hidden}.proj-hero .hero-media img{height:118%}.proj-hero .meta-inline{display:flex;flex-wrap:wrap;gap:30px;margin-top:24px;color:var(--white)}.proj-hero .meta-inline span{font-size:.82rem;letter-spacing:.04em;opacity:.92}.proj-body{padding:clamp(60px,9vh,120px) 0}.proj-body .lead{font-family:var(--serif);font-size:clamp(1.4rem,3vw,2.3rem);line-height:1.32;font-weight:330;max-width:26ch}.spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:28px;margin-top:56px;border-top:1px solid var(--line);padding-top:40px}.spec .k{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}.spec .v{font-size:1.02rem}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(14px,1.6vw,26px);padding-bottom:clamp(60px,10vh,130px)}.gallery figure{grid-column:span 6;overflow:hidden;background:var(--bg-2);cursor:zoom-in}.gallery figure:nth-child(3n+1){grid-column:span 12}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.next-proj{border-top:1px solid var(--line);padding:clamp(50px,8vh,100px) 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.next-proj .h-eyebrow{display:block;margin-bottom:10px}.next-proj h3{font-size:clamp(1.8rem,4vw,3rem)}.lb{position:fixed;inset:0;z-index:100;background:rgba(16,15,13,.97);display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .45s var(--ease);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);touch-action:none;overflow:hidden}.lb.open{display:flex;opacity:1}.lb img{max-width:92vw;max-height:90vh;object-fit:contain;cursor:zoom-in;opacity:0;transition:transform .4s var(--ease),opacity .45s var(--ease);will-change:transform;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.lb img.ready{opacity:1}.lb.zoomed img{cursor:grab}.lb.zoomed img:active{cursor:grabbing}.lb button{position:absolute;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:50%;cursor:pointer;line-height:1;opacity:.78;transition:opacity .2s ease,background-color .2s ease,border-color .2s ease;backdrop-filter:blur(6px)}.lb .x{top:22px;right:24px;width:46px;height:46px;font-size:1.1rem}.lb .nav-btn{top:50%;transform:translateY(-50%);width:54px;height:54px;font-size:1.7rem;display:flex;align-items:center;justify-content:center}.lb .prev{left:20px}.lb .next{right:20px}.lb .count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#fff;font-size:.78rem;letter-spacing:.18em;opacity:.65;font-variant-numeric:tabular-nums}@media(max-width:900px){.nav-links{position:fixed;top:0;right:0;bottom:0;width:min(86vw,400px);background:var(--bg);flex-direction:column;justify-content:center;align-items:flex-start;padding:96px var(--gut) 40px;gap:4px;transform:translateX(105%);transition:transform .4s var(--ease);z-index:60;overflow-y:auto;overscroll-behavior:contain;box-shadow:-34px 0 90px rgba(8,6,4,.22);will-change:transform}body.menu-open .nav-links{transform:none}.nav-links a{font-family:var(--serif);font-size:clamp(1.8rem,7vw,2.4rem);color:var(--ink);width:100%;padding:9px 0;opacity:0;transform:translateX(20px);transition:opacity .28s var(--ease),transform .28s var(--ease)}body.menu-open .nav-links a{opacity:1;transform:none}body.menu-open .nav-links a:nth-child(1){transition-delay:.10s}body.menu-open .nav-links a:nth-child(2){transition-delay:.16s}body.menu-open .nav-links a:nth-child(3){transition-delay:.22s}body.menu-open .nav-links a:nth-child(4){transition-delay:.28s}body.menu-open .nav-links a:nth-child(5){transition-delay:.34s}body.menu-open .nav-links a:nth-child(6){transition-delay:.40s}.nav-links a::after{display:none}.burger{display:block;z-index:70}body.menu-open .hdr{z-index:65}.nav{gap:16px}.split{grid-template-columns:1fr;gap:44px}.split .img-stack{max-width:480px}.card,.card:nth-child(7n+1),.card:nth-child(7n+2){grid-column:span 6}.card-fig,.card:nth-child(7n+1) .card-fig{aspect-ratio:4/3}.gallery figure,.gallery figure:nth-child(3n+1){grid-column:span 6}.next-proj h3{font-size:2rem}}@media(max-width:600px){:root{--gut:18px}.hdr{padding:16px 0}.card,.card:nth-child(7n+1),.card:nth-child(7n+2){grid-column:span 12}.gallery figure,.gallery figure:nth-child(3n+1){grid-column:span 12}.statement p{font-size:clamp(1.4rem,6.4vw,2rem)}.meta-row{gap:26px 40px;margin-top:48px}.sec-head{margin-bottom:30px}.sec-head .btn{padding:12px 22px}.proj-hero{min-height:70svh}.spec{gap:22px}.gallery{gap:10px}.lb img{max-width:96vw;max-height:84vh}.lb .nav-btn{width:44px;height:44px;font-size:1.4rem}.lb .prev{left:8px}.lb .next{right:8px}.lb .x{top:14px;right:14px;width:42px;height:42px}.cta h2{font-size:clamp(2.2rem,9vw,3.4rem)}}@media(min-width:901px){.lang-m{display:none}}.burger{appearance:none;-webkit-appearance:none;background:none;border:0;padding:0}.nav-scrim{position:fixed;inset:0;z-index:55;background:rgba(8,6,4,.5);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s var(--ease),visibility .28s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}body.menu-open .nav-scrim{opacity:1;visibility:visible;pointer-events:auto}body.nav-locked{position:fixed;left:0;right:0;width:100%;overflow:hidden}html,body{max-width:100%}*{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 5px var(--accent);border-radius:2px}.hero{min-height:100vh;min-height:100svh}@media(max-width:560px){.scrollcue{display:none}}.to-top{position:fixed;right:clamp(16px,3vw,30px);bottom:clamp(16px,3vw,30px);z-index:45;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s,background-color .2s ease,color .2s ease,border-color .2s ease;box-shadow:0 8px 26px rgba(8,6,4,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.to-top.show{opacity:1;visibility:visible;transform:none}.to-top svg{width:18px;height:18px}@media(max-width:560px){.to-top{width:44px;height:44px}}@media(max-width:600px){.statement{padding:clamp(60px,10vh,110px) 0}.services{padding:clamp(60px,9vh,100px) 0}.about{padding:clamp(60px,9vh,110px) 0}.work{padding:8px 0 clamp(60px,9vh,100px)}.cta{padding:clamp(64px,12vh,130px) 0}.cta .btn,.contact-foot .btn{width:100%;justify-content:center;padding:16px 22px}.contact-foot{display:block}.foot .wrap{gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transform:none;transition:opacity .2s ease}[data-pax]{transform:none}.hero-content .h-eyebrow,.hero-content .display,.hero-content .hero-sub,.hero-content .btn{opacity:1;transform:none}.marquee-track{animation:none}.intro{display:none}[data-split] .line-in{transform:none;transition:none}.card[data-reveal] .card-fig img,.gallery figure[data-reveal] img,.img-stack[data-reveal] img{clip-path:none;transform:none;transition:none}.grid.masonry .card,.pgrid .card,.mag-card{animation:none}.cursor-ring,.cursor-dot{display:none}.scrollcue i{animation:none}body.menu-open .nav-links a{transition-delay:0s}}.grid.masonry{display:block;column-count:3;column-gap:clamp(30px,3.6vw,66px)}.grid.masonry .card{break-inside:avoid;width:100%;margin:0 0 clamp(34px,4vw,74px);grid-column:auto}.grid.masonry .card-fig{aspect-ratio:auto}.grid.masonry .card-fig img{height:auto;clip-path:none!important;transform:none}@media(max-width:1024px){.grid.masonry{column-count:2;column-gap:clamp(24px,3vw,44px)}}@media(max-width:560px){.grid.masonry{column-count:1}.grid.masonry .card{margin-bottom:clamp(26px,7vw,40px)}}.hscroll{display:flex;gap:clamp(16px,2vw,30px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:4px 0 22px;cursor:grab;scrollbar-width:thin;scrollbar-color:var(--line) transparent;scroll-padding-left:var(--gut);user-select:none;-webkit-user-select:none}.hscroll.grabbing{cursor:grabbing}.hscroll::-webkit-scrollbar{height:6px}.hscroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}.hscroll::-webkit-scrollbar-track{background:transparent}.hscroll>*{scroll-snap-align:start;flex:0 0 auto}.hscroll .card{flex:0 0 clamp(260px,40vw,420px)}.hscroll .card-fig{aspect-ratio:4/3}.hscroll .card img{pointer-events:none}@media(max-width:600px){.hscroll .card{flex-basis:78vw}}.hpin{position:relative}.hpin-vp{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center;background:var(--bg)}.hpin-track{display:flex;align-items:center;gap:clamp(22px,3vw,48px);padding-inline:var(--gut);will-change:transform}.hpin-track>*{flex:0 0 auto}.hpin-intro{width:min(36vw,440px);padding-right:clamp(10px,2vw,34px)}.hpin-intro .h-eyebrow{display:block;margin-bottom:14px}.hpin-intro h2{font-size:clamp(2rem,4.4vw,3.6rem);margin:0 0 26px;line-height:1.04}.hpin .card{flex:0 0 auto;width:auto}.hpin .card-fig{height:min(76vh,880px);width:auto;aspect-ratio:4/3}.hpin .card-cap{margin-top:20px}.hpin .card-cap h3{font-size:clamp(1.3rem,1.9vw,2rem)}@media(max-width:1100px){.hpin .card-fig{aspect-ratio:5/4}}@media(max-width:820px){.hpin{height:auto!important}.hpin-vp{position:static;height:auto;overflow-x:auto;overflow-y:hidden;display:block;background:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:18px;cursor:grab}.hpin-track{transform:none!important;padding-inline:0;scroll-padding-inline:var(--gut)}.hpin-track::before,.hpin-track::after{content:"";flex:0 0 var(--gut)}.hpin-track>*{scroll-snap-align:start}.hpin .card{flex:0 0 auto;width:84vw}.hpin .card-fig{height:auto;width:auto;aspect-ratio:4/3}.hpin-intro{width:78vw}}.hscroll{padding-inline:0}.hscroll::before,.hscroll::after{content:"";flex:0 0 var(--gut)}.showstrip{padding-inline:0}.showstrip::before,.showstrip::after{content:"";flex:0 0 var(--gut)}.hero-content .h-eyebrow,.hero-content .display,.hero-content .hero-sub,.hero-content .btn{opacity:0;transform:translateY(22px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}.hero-content.in .h-eyebrow{opacity:1;transform:none;transition-delay:.10s}.hero-content.in .display{opacity:1;transform:none;transition-delay:.24s}.hero-content.in .hero-sub{opacity:1;transform:none;transition-delay:.46s}.hero-content.in .btn{opacity:1;transform:none;transition-delay:.60s}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:clamp(18px,2.4vw,30px) 0;background:var(--bg-2)}.marquee-track{display:flex;width:max-content;white-space:nowrap;animation:marq 42s linear infinite;will-change:transform}.marquee span{font-family:var(--serif);font-weight:340;font-size:clamp(1.5rem,3.4vw,2.8rem);color:var(--ink-soft);padding:0 .55em;display:inline-flex;align-items:center;letter-spacing:-.01em}.marquee span::after{content:"·";margin-left:1.1em;color:var(--accent)}@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;transform:none}.hero-content .h-eyebrow,.hero-content .display,.hero-content .hero-sub,.hero-content .btn{opacity:1;transform:none}}.js .display,.js .sec-head h2,.js .hpin-intro h2,.js .cta h2,.js .contact-head h1{opacity:0}[data-split]{opacity:1!important}[data-split] .line{display:block;overflow:hidden;padding-bottom:.06em}[data-split] .line-in{display:block;transform:translateY(115%);transition:transform 1.05s var(--ease)}[data-split].in .line-in{transform:none}.cursor-ring{position:fixed;left:0;top:0;width:30px;height:30px;border:1px solid var(--accent);border-radius:50%;pointer-events:none;z-index:250;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%) scale(1);opacity:0;transition:transform .22s var(--ease),opacity .22s ease,background-color .2s ease}.cursor-ring.on{opacity:1}.cursor-ring.hover{transform:translate(-50%,-50%) scale(2.53);background:rgba(154,123,79,.10)}.cursor-ring .cl{font-family:var(--sans);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);opacity:0;transition:opacity .2s ease}.cursor-ring.hover .cl{opacity:1}.cursor-dot{position:fixed;left:0;top:0;width:5px;height:5px;border-radius:50%;background:var(--accent);pointer-events:none;z-index:251;transform:translate(-50%,-50%);opacity:0;transition:opacity .4s}.cursor-dot.on{opacity:1}.card-fig,.gallery figure,.img-stack{overflow:hidden}.card[data-reveal],.gallery figure[data-reveal],.img-stack[data-reveal]{filter:none}.card[data-reveal]:not(.in) .card-fig img,.gallery figure[data-reveal]:not(.in) img,.img-stack[data-reveal]:not(.in) img{clip-path:inset(0 0 100% 0);transform:scale(1.12)}.card[data-reveal].in .card-fig img,.gallery figure[data-reveal].in img,.img-stack[data-reveal].in img{clip-path:inset(0 0 0 0);transform:scale(1.01);transition:clip-path 1.15s var(--ease),transform 1.5s var(--ease)}.intro{position:fixed;inset:0;z-index:300;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:transform 1s var(--ease)}.intro.done{transform:translateY(-101%)}.intro-skip .intro{display:none}.intro-in{display:flex;flex-direction:column;align-items:center;gap:18px}.intro-mark{width:min(220px,52vw);height:54px;background:var(--ink);-webkit-mask:url(/assets/img/logo.svg?v=2) no-repeat center/contain;mask:url(/assets/img/logo.svg?v=2) no-repeat center/contain;opacity:0;transform:translateY(8px);animation:introMark .9s var(--ease) .15s forwards}.intro-line{width:min(150px,40vw);height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;animation:introLine 1.1s var(--ease) .35s forwards}@keyframes introMark{to{opacity:1;transform:none}}@keyframes introLine{to{transform:scaleX(1)}}body.intro-on{overflow:hidden}@media(prefers-reduced-motion:reduce){.js .display,.js .sec-head h2,.js .hpin-intro h2,.js .cta h2,.js .contact-head h1{opacity:1}[data-split] .line-in{transform:none}.card[data-reveal] .card-fig img,.gallery figure[data-reveal] img,.img-stack[data-reveal] img{clip-path:none!important;transform:none!important}.intro{display:none}.cursor-ring,.cursor-dot{display:none}}@media(hover:none),(pointer:coarse){.cursor-ring,.cursor-dot{display:none}}.grid.masonry .card{animation:cardIn .8s var(--ease) both}.grid.masonry .card:nth-child(3n+2){animation-delay:.07s}.grid.masonry .card:nth-child(3n){animation-delay:.14s}@keyframes cardIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.grid.masonry .card{animation:none}}h1,h2,h3,h4,.display,.stat .n,.yr,.card-cap .yr,.spec .v,.catcard-no,.svc .no,.page-head .h-eyebrow{font-variant-numeric:lining-nums tabular-nums}.statement-stats{padding:clamp(46px,7vh,86px) 0}.statement-stats .meta-row{margin-top:0}.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,56px)}.pgrid .card{grid-column:auto;animation:cardIn .8s var(--ease) both}.pgrid .card:nth-child(3n+2){animation-delay:.06s}.pgrid .card:nth-child(3n){animation-delay:.12s}.pgrid .card-fig{aspect-ratio:4/3;overflow:hidden;background:var(--bg-2)}.pgrid .card-fig img{width:100%;height:100%;object-fit:cover;clip-path:none}@media(max-width:1024px){.pgrid{grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,40px)}}@media(max-width:600px){.pgrid{grid-template-columns:1fr}}.proj-body .lead{max-width:none;width:100%;font-size:clamp(1.08rem,1.7vw,1.5rem);line-height:1.55;font-weight:330}.spec{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:22px 18px}.spec .k{white-space:nowrap}.spec .v{font-size:.98rem}@media(max-width:680px){.spec{grid-template-columns:repeat(2,1fr)}}.contact-foot{display:flex;gap:14px;flex-wrap:wrap}.btn-ghost{background:none}.cmap-wrap{margin-top:clamp(40px,6vh,84px);border:1px solid var(--line);overflow:hidden}.cmap{width:100%;height:clamp(320px,46vh,520px);border:0;display:block;filter:grayscale(1) sepia(.46) hue-rotate(352deg) saturate(1.25) brightness(1.06) contrast(.9);transition:filter .4s var(--ease)}.page-wrap{padding-top:130px;padding-bottom:clamp(60px,10vh,120px)}.page-head{margin-bottom:clamp(34px,6vh,68px)}.page-head h1{font-size:clamp(2.4rem,6vw,4.6rem);margin:.08em 0 .2em;line-height:1.04}.page-head .back{display:inline-block;margin-bottom:16px;font-size:.85rem;color:var(--ink-soft);transition:color .2s ease}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:start}.about-media img{width:100%;aspect-ratio:4/3;object-fit:cover}.about-copy p{margin-bottom:1em;font-size:clamp(1rem,1.2vw,1.15rem);color:var(--ink-soft);line-height:1.7}.about-copy p:first-child{font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.7rem);color:var(--ink);line-height:1.45;margin-bottom:.7em}@media(max-width:820px){.about-layout{grid-template-columns:1fr;gap:28px}}.awards-copy{max-width:72ch}.awards-copy p{font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.7;color:var(--ink-soft)}.wrap.narrow{max-width:820px}.post-media{margin:clamp(22px,4vh,40px) 0}.post-media img{width:100%;aspect-ratio:16/9;object-fit:cover}.post-body p{margin-bottom:1.1em;font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.8;color:var(--ink-soft)}.post-body p:first-child{font-size:clamp(1.15rem,1.6vw,1.4rem);color:var(--ink)}.awards-top{padding-top:130px;padding-bottom:clamp(18px,4vh,40px)}.awards-page .sec-head{margin-top:clamp(40px,7vh,90px)}.awards-page .pgrid,.awards-page .mag-grid{padding-bottom:clamp(60px,10vh,120px)}.hpin .award-card{width:clamp(258px,24vw,330px);display:flex;flex-direction:column;padding:clamp(28px,2.4vw,42px);border:1px solid var(--line);background:var(--bg);min-height:min(58vh,540px);transition:background-color .22s ease,border-color .22s ease}.aw-year{font-family:var(--serif);font-size:clamp(2.6rem,4vw,3.8rem);color:var(--ink);line-height:1;font-variant-numeric:lining-nums}.aw-body{margin-top:auto;padding-top:22px;border-top:1px solid var(--line)}.aw-prize{font-size:clamp(1.15rem,1.6vw,1.5rem);margin-bottom:10px;font-weight:400;line-height:1.22}.aw-proj{font-size:.98rem;color:var(--ink);margin-bottom:6px}.aw-comp{font-size:.84rem;color:var(--ink-soft);line-height:1.45}.hpin .post-feat{width:clamp(300px,40vw,520px);display:flex;flex-direction:column}.pf-media{aspect-ratio:4/3;overflow:hidden;background:var(--bg-2)}.pf-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease)}.pf-body{padding-top:18px}.pf-date{font-size:.78rem;color:var(--ink-soft);letter-spacing:.05em}.pf-body h3{font-size:clamp(1.3rem,1.9vw,1.9rem);margin-top:8px;font-weight:400}.mag-grid{column-count:3;column-gap:clamp(26px,2.8vw,48px)}.mag-card{display:block;break-inside:avoid;margin:0 0 clamp(26px,2.8vw,48px);animation:cardIn .8s var(--ease) both}.mag-card:nth-child(3n+2){animation-delay:.06s}.mag-card:nth-child(3n){animation-delay:.12s}.mag-fig{overflow:hidden;background:var(--bg-2);margin-bottom:15px}.mag-fig img{width:100%;height:auto;display:block;transition:transform 1.2s var(--ease)}.mag-cap .yr{font-size:.78rem;color:var(--ink-soft);letter-spacing:.05em}.mag-cap h3{font-size:clamp(1.2rem,1.6vw,1.55rem);margin:7px 0 8px;font-weight:400;line-height:1.2}.mag-cap p{font-size:.9rem;color:var(--ink-soft);line-height:1.55}@media(max-width:1024px){.mag-grid{column-count:2}}@media(max-width:600px){.mag-grid{column-count:1}}h1,h2,h3,h4{font-weight:600;letter-spacing:-.02em}.display{font-weight:700;letter-spacing:-.03em}.statement p,.proj-body .lead,.about-copy p:first-child,.post-body p:first-child{font-weight:500}.aw-prize,.mag-cap h3,.card-cap h3,.world-body h3,.catcard h3,.svc h3,.hpin-intro h2{font-weight:600}.aw-year,.stat .n{font-weight:700}.marquee span{font-weight:500}.brandchip{font-weight:500}.hpin.work-pin .card{width:auto}.hpin.work-pin .card-fig{height:min(60vh,680px);width:auto;aspect-ratio:4/3;overflow:hidden}.hpin.work-pin .card-fig img{width:100%;height:100%;object-fit:cover;clip-path:none}.hpin.work-pin .card-cap{margin-top:16px}.hpin.work-pin .card-cap h3{font-size:clamp(1.2rem,1.5vw,1.7rem)}.hpin .award-group{width:clamp(320px,40vw,560px);display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,3vw,58px);border-left:1px solid var(--line);min-height:min(64vh,600px)}.ag-year{font-family:var(--serif);font-size:clamp(3.4rem,7vw,6.2rem);color:var(--ink);line-height:.9;margin-bottom:clamp(24px,3vh,46px);font-variant-numeric:lining-nums;font-weight:700}.ag-list{list-style:none;display:flex;flex-direction:column;gap:clamp(16px,2.2vh,28px)}.ag-list li{display:flex;flex-direction:column;gap:4px;padding-bottom:clamp(14px,1.8vh,24px);border-bottom:1px solid var(--line)}.ag-list li:last-child{border-bottom:0;padding-bottom:0}.ag-prize{font-size:clamp(1.15rem,1.6vw,1.6rem);font-weight:600;color:var(--ink);line-height:1.2}.ag-proj{font-size:1.02rem;color:var(--ink)}.ag-comp{font-size:.85rem;color:var(--ink-soft);line-height:1.4}@media(max-width:820px){.hpin.work-pin .card{width:78vw}.hpin.work-pin .card-fig{height:auto;width:auto}.hpin .award-group{width:84vw;border-left:0;border-top:1px solid var(--line);padding-top:34px}}.cta h2,.page-head h1,.contact-head h1{line-height:1.12;padding-bottom:.04em}.display{line-height:1.08}[data-split] .line{padding-bottom:.18em}.team-block{margin-top:clamp(50px,8vh,100px)}.team-block .h-eyebrow{display:block;margin-bottom:26px}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(26px,3vw,52px);border-top:1px solid var(--line);padding-top:clamp(28px,3vw,40px)}.tm{display:flex;flex-direction:column;gap:6px}.tm-name{font-family:var(--serif);font-size:clamp(1.2rem,1.8vw,1.65rem);font-weight:600;color:var(--ink)}.tm-role{font-size:.92rem;color:var(--ink-soft);line-height:1.45}@media(max-width:700px){.team{grid-template-columns:1fr 1fr;gap:24px}}@media(max-width:430px){.team{grid-template-columns:1fr}}.hero-media img.slide{position:absolute;top:0;left:0;opacity:0;transition:opacity 1.5s var(--ease)}.hero-media img.slide.on{opacity:1}.tm-photo{overflow:hidden;background:var(--bg-2);margin-bottom:14px}.tm-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block;filter:saturate(.95);transition:transform 1s var(--ease)}.office-block{margin-top:clamp(50px,8vh,100px)}.office-block .h-eyebrow{display:block;margin-bottom:26px}.office-gallery{padding-bottom:0}.office-gallery figure,.office-gallery figure:nth-child(3n+1){grid-column:span 4}@media(max-width:700px){.office-gallery figure,.office-gallery figure:nth-child(3n+1){grid-column:span 6}}@media(max-width:430px){.office-gallery figure,.office-gallery figure:nth-child(3n+1){grid-column:span 12}}.page-head-center{text-align:center}.filters-big{justify-content:center;gap:12px;margin:6px 0 clamp(34px,5vh,56px)}.filters-big button{border:1px solid var(--line);border-radius:999px;padding:11px 24px;font-size:.9rem;letter-spacing:.04em;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.filters-big button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.filters-big button.on::after{display:none}.wrap.narrow-wide{max-width:980px}.award-rows{border-top:1px solid var(--line);margin-top:10px}.award-row{display:grid;grid-template-columns:92px 1fr auto;gap:20px;align-items:center;padding:clamp(20px,3vh,30px) 6px;border-bottom:1px solid var(--line);color:inherit;transition:background-color .2s ease,transform .22s var(--ease)}.ar-year{font-family:var(--serif);font-size:clamp(1.1rem,1.6vw,1.4rem);color:var(--ink-soft)}.ar-body{display:flex;flex-direction:column;gap:3px}.ar-prize{font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.55rem);font-weight:600;color:var(--ink)}.ar-proj{font-size:.98rem;color:var(--ink)}.ar-comp{font-size:.86rem;color:var(--ink-soft)}.ar-go{font-size:1.5rem;color:var(--ink);opacity:0;transform:translateX(-6px);transition:opacity .2s ease,transform .22s var(--ease)}@media(max-width:600px){.award-row{grid-template-columns:64px 1fr;}.ar-go{display:none}}.mag-card.hide{display:none}.contact-media{margin-top:clamp(40px,6vh,84px);overflow:hidden}.contact-media img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}@media(max-width:600px){.contact-media img{aspect-ratio:4/5}}.brand-word{display:none!important}.contact-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,100px);align-items:stretch}.contact-list{border-top:1px solid var(--line);margin-top:clamp(30px,5vh,50px)}.ci2{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:18px;align-items:baseline;padding:clamp(16px,2.4vh,24px) 0;border-bottom:1px solid var(--line)}.ci2 .k{font-size:.73rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}.ci2 .v{font-family:var(--serif);font-size:clamp(1.1rem,1.5vw,1.4rem);line-height:1.4;font-weight:380}.ci2 .v a{transition:color .2s ease}.contact-foot{margin-top:clamp(28px,4vh,44px)}.contact-photo{overflow:hidden;background:var(--bg-2)}.contact-photo img{width:100%;height:100%;object-fit:cover;min-height:540px;filter:saturate(.95);transition:transform 1.4s var(--ease)}@media(max-width:900px){.contact-split{grid-template-columns:1fr;gap:34px}.contact-photo img{min-height:0;aspect-ratio:4/3}}@media (hover:hover) and (pointer:fine){.brand:hover .brand-mark{opacity:.62}.nav a:hover{color:var(--ink)}.nav a:hover::after{transform:scaleX(1)}.hdr:not(.solid) .nav a:hover{color:#fff}body.flat .hdr .nav a:hover,.hdr.solid .nav a:hover{color:var(--ink)}.lang a:hover{color:var(--ink)}.hdr:not(.solid) .lang a:hover{color:#fff}.filters button:hover{color:var(--ink)}.filters-big button:hover{border-color:var(--ink)}.card:hover .card-fig img{transform:scale(1.06)}.grid.masonry .card:hover .card-fig img{transform:scale(1.04)}.svc:hover{background:var(--white)}.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}.btn:hover .ar{transform:translateX(5px)}.contact-grid .ci:hover{background:var(--bg-2)}.contact-grid .v a:hover,.ci2 .v a:hover,.foot a:hover,.info-grid a:hover,.page-head .back:hover{color:var(--ink)}.gallery figure:hover img{transform:scale(1.04)}.lb button:hover{opacity:1;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}.to-top:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}.marquee:hover .marquee-track{animation-play-state:paused}.cmap-wrap:hover .cmap{filter:none}.hpin .award-card:hover{background:var(--white);border-color:var(--ink)}.hpin .post-feat:hover .pf-media img{transform:scale(1.05)}.mag-card:hover .mag-fig img{transform:scale(1.04)}.tm:hover .tm-photo img{transform:scale(1.03)}a.award-row:hover{background:var(--bg-2);transform:translateX(10px)}a.award-row:hover .ar-go{opacity:1;transform:none}.contact-photo:hover img{transform:scale(1.025)}}