:root{--c-bg:#f4f4f2;--c-fg:#1c1b1a;--c-muted:#6a6762;--c-line:#1c1b1a29;--c-line-strong:#1c1b1a57;--c-sheet:#000;--c-on-sheet:#ededea;--c-on-sheet-muted:#a09c96;--c-sheet-line:#ededea33;--c-photo:#dcdbd7;--c-accent:var(--c-fg);--c-curtain:var(--c-sheet);--c-gold:#c3a97d;--f-sans:var(--font-jost), "Avenir Next", "Helvetica Neue", sans-serif;--f-mono:var(--font-jost), "Avenir Next", "Helvetica Neue", sans-serif;--f-display:var(--font-cormorant), Georgia, serif;--t-mega:clamp(3.5rem, 1rem + 11vw, 13rem);--t-xl:clamp(2.5rem, 1.2rem + 4.4vw, 5.75rem);--t-l:clamp(1.5rem, 1.15rem + 1.4vw, 2.5rem);--t-m:clamp(1.125rem, 1.05rem + .35vw, 1.375rem);--t-body:clamp(1rem, .96rem + .18vw, 1.125rem);--t-s:.875rem;--t-xs:.8125rem;--t-label:.6875rem;--gutter:clamp(16px, 2vw, 32px);--u:clamp(.5rem, .35rem + .6vw, 1rem);--header-h:64px;--reveal:clamp(6px, .6vw, 10px);--sec-airy:clamp(112px, 15vw, 240px);--sec:clamp(80px, 10vw, 160px);--sec-tight:clamp(48px, 6vw, 88px);--radius:0px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.87, 0, .13, 1);--z-content:1;--z-preview:40;--z-header:50;--z-menu:60;--z-lightbox:70;--z-curtain:90;--z-loader:100}@media (max-width:767px){:root{--header-h:56px}}
*,:before,:after{box-sizing:border-box}*{margin:0}html{-moz-text-size-adjust:none;text-size-adjust:none;background:var(--c-bg);color:var(--c-fg);scrollbar-color:var(--c-line-strong) transparent}body{min-height:100dvh;font-family:var(--f-sans);font-size:var(--t-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-kerning:normal;font-weight:300;line-height:1.5;overflow-x:clip}img,picture,video,canvas,svg{max-width:100%;display:block}img{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-weight:inherit;font-size:inherit;text-wrap:balance}p{text-wrap:pretty}ul,ol{padding:0;list-style:none}::selection{background:var(--c-fg);color:var(--c-bg)}:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}#main:focus{outline:none}.skip-link{left:var(--gutter);top:var(--gutter);z-index:calc(var(--z-loader) + 1);background:var(--c-fg);color:var(--c-bg);font-size:var(--t-s);padding:.7em 1.1em;position:fixed;transform:translateY(-300%)}.skip-link:focus-visible{outline-color:var(--c-bg);outline-offset:-5px;transform:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}#main,[data-layer=content]{z-index:var(--z-content);position:relative}.motion [data-split],.motion [data-reveal]{visibility:hidden}.split-line{margin-bottom:-.08em;padding-bottom:.08em}[data-split]>*,[data-split]>*>*{text-indent:0}[data-split]>:first-child,[data-split]>:first-child>:first-child{text-indent:inherit}#curtain{z-index:var(--z-curtain);pointer-events:none;visibility:hidden;position:fixed;inset:0;overflow:hidden}.curtain__panel{text-align:center;background:var(--c-curtain);color:var(--c-on-sheet);place-items:center;display:grid;position:absolute;inset:0}.curtain__panel:before,.curtain__panel:after{content:"";background:var(--c-gold);opacity:.7;height:1px;position:absolute;inset-inline:0}.curtain__panel:before{top:0}.curtain__panel:after{bottom:0}.curtain__inner{padding-inline:var(--gutter);justify-items:center;display:grid}.curtain__mark{aspect-ratio:198/261;background:var(--c-gold);width:28px;margin-bottom:clamp(24px,3vw,36px);display:block;-webkit-mask:url(/brand/kadjoe-shield.png) 50%/contain no-repeat;mask:url(/brand/kadjoe-shield.png) 50%/contain no-repeat}.curtain__title{padding-block:.08em .14em;display:block;overflow:clip}.curtain__label{max-width:14ch;font-family:var(--f-display);letter-spacing:.004em;text-wrap:balance;font-size:clamp(2.75rem,1.6rem + 4.4vw,6rem);font-weight:300;line-height:1.04;display:block}.curtain__rule{background:var(--c-gold);width:72px;height:1px;margin-top:clamp(22px,2.6vw,32px);display:block}.curtain__no{font-family:var(--f-sans);letter-spacing:.42em;text-transform:uppercase;color:var(--c-on-sheet-muted);margin-top:18px;margin-right:-.42em;font-size:12px;font-weight:400;display:block}.curtain__inner[data-no-sheet] .curtain__no{display:none}#loader{z-index:var(--z-loader);padding:var(--gutter);background:var(--c-sheet);color:var(--c-on-sheet);grid-template-rows:1fr auto;display:grid;position:fixed;inset:0}.loader__mark{place-self:center;justify-items:center;gap:28px;display:grid}.loader__shield{aspect-ratio:198/261;background:currentColor;width:44px;-webkit-mask:url(/brand/kadjoe-shield.png) 50%/contain no-repeat;mask:url(/brand/kadjoe-shield.png) 50%/contain no-repeat}.loader__name{font-family:var(--f-mono);font-size:var(--t-label);text-transform:uppercase;letter-spacing:.5em;color:var(--c-on-sheet-muted);margin-right:-.5em}.loader__foot{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:var(--c-on-sheet-muted);justify-content:space-between;align-items:end;display:flex}.loader__count{font-variant-numeric:tabular-nums;color:var(--c-on-sheet)}.loader__bar{left:var(--gutter);right:var(--gutter);bottom:calc(var(--gutter) + 26px);background:var(--c-on-sheet-muted);transform-origin:0;height:1px;position:absolute;transform:scaleX(0)}html:not(.js) #loader,html.no-loader #loader,#loader[hidden]{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.wrap{padding-inline:var(--gutter)}.grid12{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.label{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted);font-weight:400;line-height:1.4}.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}.display{font-weight:300;font-size:var(--t-xl);letter-spacing:-.035em;margin-left:-.055em;line-height:.96}.h2{font-weight:300;font-size:var(--t-l);letter-spacing:-.025em;line-height:1.08}.double-rule{border-top:1px solid var(--c-line-strong);border-bottom:1px solid var(--c-line-strong);height:4px}.link{transition:background-size .4s var(--ease-out);background:linear-gradient(currentColor 0 0) 0 100%/100% 1px no-repeat;padding-bottom:.12em}@media (hover:hover){.link:hover{background-size:100% 2px}}.link:focus-visible{background-size:100% 2px}.arrow-link{font-size:var(--t-s);white-space:nowrap;align-items:center;gap:.7em;padding-block:10px;line-height:1;display:inline-flex;position:relative}.arrow-link:after{content:"";transform-origin:0;height:1px;transition:transform .5s var(--ease-out);background:currentColor;position:absolute;bottom:4px;left:0;right:0;transform:scaleX(.28)}.arrow-link .arrow{transition:translate .45s var(--ease-out);display:inline-block}@media (hover:hover){.arrow-link:hover:after{transform:scaleX(1)}.arrow-link:hover .arrow{translate:5px}}.arrow-link:focus-visible:after{transform:scaleX(1)}.arrow-link:focus-visible .arrow{translate:5px}.fill-btn{isolation:isolate;border:1px solid var(--c-fg);font-size:var(--t-s);transition:color .45s var(--ease-out);align-items:center;gap:.8em;padding:18px 26px;line-height:1;display:inline-flex;position:relative;overflow:clip}.fill-btn:before{content:"";z-index:-1;background:var(--c-fg);transition:transform .55s var(--ease-out);position:absolute;inset:0;transform:translateY(101%)}@media (hover:hover){.fill-btn:hover{color:var(--c-bg)}.fill-btn:hover:before{transform:none}}.fill-btn:focus-visible{color:var(--c-bg)}.fill-btn:focus-visible:before,.fill-btn:active:before{transform:none}.fill-btn:active{color:var(--c-bg)}.photo{background:var(--c-photo);position:relative;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%}.photo--zoom img{transition:scale 1.1s var(--ease-out)}.header{z-index:var(--z-header);height:var(--header-h);padding-inline:var(--gutter);background:var(--c-bg);border-bottom:1px solid var(--c-line);transition:translate .6s var(--ease-out), background-color .45s var(--ease-out), color .45s var(--ease-out), border-color .45s var(--ease-out);justify-content:space-between;align-items:center;gap:24px;display:flex;position:fixed;inset:0 0 auto}html.frame-away .header{translate:0 -101%}.header__logo{--logo-w:clamp(118px, 9.4vw, 146px);padding-block:8px;display:block;position:relative}.logo{width:var(--logo-w);aspect-ratio:900/261;background:currentColor;display:block;-webkit-mask:url(/brand/kadjoe-logo.png) 0/contain no-repeat;mask:url(/brand/kadjoe-logo.png) 0/contain no-repeat}.header__logo:after{content:"";left:30%;right:0;top:calc(8px + var(--logo-w) * .187 + 5px);transform-origin:100%;height:1px;transition:transform .55s var(--ease-out);background:currentColor;position:absolute;transform:scaleX(0)}@media (hover:hover){.header__logo:hover:after{transform-origin:0;transform:scaleX(1)}}.header__logo:focus-visible:after{transform:scaleX(1)}.nav{gap:clamp(20px,2.4vw,40px);display:flex}.nav__link{font-size:var(--t-s);transition:translate .45s var(--ease-out);padding-block:8px;display:inline-block;position:relative}@media (hover:hover){.nav__link[aria-current=page]:hover{translate:4px}}.nav__link:after{content:"";transform-origin:100%;height:1px;transition:transform .55s var(--ease-out);background:currentColor;position:absolute;bottom:3px;left:0;right:0;transform:scaleX(0)}@media (hover:hover){.nav__link:hover:after{transform-origin:0;transform:scaleX(1)}}.nav__link:focus-visible:after,.nav__link[aria-current=page]:after{transform:scaleX(1)}.menu-btn{font-size:var(--t-s);padding:12px 0 12px 16px;display:none}.menu{z-index:var(--z-menu);background:var(--c-sheet);color:var(--c-on-sheet);padding:0 var(--gutter) calc(var(--gutter) + env(safe-area-inset-bottom));grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.menu[hidden]{display:none}.menu :focus-visible,.nf-menu__panel :focus-visible{outline-color:var(--c-on-sheet)}.menu__top{height:var(--header-h);border-bottom:1px solid var(--c-sheet-line);justify-content:space-between;align-items:center;display:flex}.menu__close{font-size:var(--t-s);padding:12px 0 12px 16px}.menu__links{align-self:center;display:grid}.menu__links li{border-bottom:1px solid var(--c-sheet-line);overflow:clip}.menu__links a{letter-spacing:-.03em;justify-content:flex-start;align-items:baseline;gap:16px;padding-block:14px;font-size:clamp(2rem,9vw,3rem);font-weight:300;line-height:1.05;display:flex}.menu__links a[aria-current=page]:before{content:"";background:currentColor;flex:none;align-self:center;width:28px;height:1px}.menu__foot{font-size:var(--t-s);color:var(--c-on-sheet-muted);gap:6px;display:grid}.menu__foot a{color:var(--c-on-sheet)}@media (max-width:860px){.nav{display:none}.menu-btn{display:block}}.nf-menu{display:none}.nf-menu summary{cursor:pointer;font-size:var(--t-s);padding:12px 0 12px 16px;list-style:none}.nf-menu summary::-webkit-details-marker{display:none}.nf-menu__panel{inset:var(--header-h) 0 0 0;z-index:var(--z-menu);padding:var(--gutter);background:var(--c-sheet);color:var(--c-on-sheet);align-content:center;display:grid;position:fixed}.nf-menu__panel a{border-bottom:1px solid var(--c-sheet-line);letter-spacing:-.03em;padding-block:14px;font-size:clamp(2rem,9vw,3rem);font-weight:300;line-height:1.05}@media (max-width:860px){.nf-menu{display:block}}.hero{background:var(--c-sheet);height:100svh;min-height:480px;position:relative;overflow:hidden}.hero__stage{background:var(--c-photo);position:absolute;inset:0;overflow:hidden}.hero__slide{position:absolute;inset:0}.hero__slide img{object-fit:cover;width:100%;height:100%}.hero__slide:not([data-active]){visibility:hidden}.hero__link{z-index:2;cursor:pointer;position:absolute;inset:0}.hero__stage:before,.hero__stage:after{content:"";z-index:2;pointer-events:none;position:absolute;inset-inline:0}.hero__stage:before{height:calc(var(--header-h) * 2.6);background:linear-gradient(#1c1b1a9e,#1c1b1a4d 45%,#1c1b1a00);top:0}.hero__stage:after{background:linear-gradient(#0a090800,#0a09080a 20%,#0a090824 35%,#0a090852 50%,#0a090880 62%,#0a0908a8);height:min(42%,380px);bottom:0}.hero__rule{z-index:3;pointer-events:none;opacity:0;will-change:transform;border-top:1px solid;border-bottom:1px solid;height:3px;position:absolute;top:-1px;left:0;right:0}.hero__strip{--c-fg:var(--c-on-sheet);--c-accent:var(--c-on-sheet);--c-muted:var(--c-on-sheet-muted);--c-line:var(--c-sheet-line);--c-line-strong:#ededea80;inset:auto var(--gutter) 0;z-index:4;color:var(--c-fg);border-top:1px solid var(--c-line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:minmax(76px,.7fr) minmax(0,2fr) minmax(0,2fr) minmax(0,2fr) minmax(76px,.7fr) minmax(184px,1.8fr);display:grid;position:absolute}.hero__cell{border-left:1px solid var(--c-line);align-content:start;gap:8px;min-width:0;padding:16px 16px 22px;display:grid}.hero__cell:first-child{border-left:0;padding-left:0}.hero__center{z-index:3;pointer-events:none;padding:var(--header-h) var(--gutter) 120px;background:radial-gradient(50% 28% at 50% 46%,#0a0908b3,#0a090861 55%,#0a090800);place-items:center;display:grid;position:absolute;inset:0}.hero__title{color:var(--c-on-sheet);width:fit-content;max-width:100%;font-family:var(--f-display);letter-spacing:-.03em;text-shadow:0 1px 2px #0a09084d,0 0 32px #0a090866;justify-items:start;font-size:clamp(2.8rem,.4rem + 5.6vw,8rem);font-weight:300;line-height:.95;display:grid}.hero__line{padding-block:.04em .1em;display:block;overflow:clip}.hero__line>span{display:block}.hero__title em{letter-spacing:-.035em;font-style:italic}.motion .hero__line>span{visibility:hidden}.hero__line:first-child{margin-left:-.06em}.hero__line--2{margin-left:2.4em}.hero__value{font-size:var(--t-s);line-height:1.35;display:grid;overflow:clip}.hero__value>*{grid-area:1/1;min-width:0;padding-block:2px}.hero__tb:not([data-changing]) .hero__value>:not([data-front]){visibility:hidden}.hero__value>:not([data-front]){pointer-events:none}.hero__value:has(:focus-visible){overflow:visible}.hero__cell--location .hero__value,.hero__cell--design .hero__value{height:calc(2lh + 4px)}.hero__cell--location .hero__value>*,.hero__cell--design .hero__value>*{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hero__cell--year .hero__value>*{white-space:nowrap}.hero__name{letter-spacing:-.04em;align-self:end;align-items:end;height:calc(3lh + .08em);font-size:clamp(2.25rem,min(.6rem + 4vw,7.4vh),4.75rem);font-weight:300;line-height:.98}.hero__name>*{text-wrap:balance;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;align-self:end;padding-block:0 .08em;display:-webkit-box;overflow:hidden}.hero__no{font-family:var(--f-mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(2.5rem,min(.8rem + 3.3vw,7vh),4.5rem);line-height:1.12}.hero__no>*{white-space:nowrap}.hero__open{max-width:100%;transition:background-size .5s var(--ease-out);background:linear-gradient(currentColor 0 0) 0 100%/0% 1px no-repeat;justify-self:start}@media (hover:hover){.hero__open:hover{background-size:100% 1px}}.hero__open:focus-visible{background-size:100% 1px}.motion .hero__tb:not([data-drawn]) [data-front]{clip-path:inset(0 0 100%)}.hero__cell--controls{gap:0;padding-block:8px 0}.hero__controls{justify-content:space-between;align-items:center;gap:12px;display:flex}.hero__count{font-family:var(--f-mono);font-size:var(--t-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.hero__buttons{gap:2px;margin-right:-11px;display:flex}.icon-btn{width:36px;height:36px;transition:border-color .35s var(--ease-out);border:1px solid #0000;place-items:center;display:grid}.icon-btn svg{width:14px;height:14px;transition:translate .45s var(--ease-out), scale .45s var(--ease-out)}@media (hover:hover){.icon-btn:hover{border-color:var(--c-line-strong)}.icon-btn:hover svg{scale:.86}.icon-btn[data-dir=next]:hover svg{translate:4px;scale:1}.icon-btn[data-dir=prev]:hover svg{translate:-4px;scale:1}}.icon-btn:active svg{scale:.8}.hero__progress{background:var(--c-line-strong);height:1px;margin:14px -18px 0;position:relative;overflow:hidden}.hero__progress span{background:var(--c-fg);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}html:has(.hero):not(.past-hero) .header{--c-accent:var(--c-on-sheet);color:var(--c-on-sheet);border-bottom-color:var(--c-sheet-line);background-color:#0000}html:has(.hero):not(.past-hero) .header .logo{filter:drop-shadow(0 1px 6px #0a090880)}:is(html:has(.hero):not(.past-hero) .nav__link,html:has(.hero):not(.past-hero) .menu-btn){text-shadow:0 1px 10px #0a090873}@media (max-width:1180px){.hero__strip{grid-template-columns:minmax(0,2.4fr) minmax(0,2.4fr) minmax(190px,2fr)}.hero__cell--location,.hero__cell--year,.hero__cell--sheet{display:none}.hero__cell--project{border-left:0;padding-left:0}}@media (max-width:767px){.hero__strip{grid-template-columns:minmax(0,1fr) auto}.hero__cell--location,.hero__cell--design,.hero__cell--year,.hero__cell--sheet{display:none}.hero__cell--project{border-left:0;padding-left:0}.hero__cell--project,.hero__cell--controls{padding-block:12px 16px}.hero__center{padding-bottom:96px}.hero__title{width:100%;font-size:clamp(2.4rem,11.5vw,3.75rem)}.hero__line--2{margin-left:.9em}}.statement{padding-block:var(--sec-airy) var(--sec)}.statement__label{grid-column:1/span 3;padding-top:.6em}.statement__body{grid-column:4/span 8;justify-items:start;gap:40px;display:grid}.statement__text{font-size:var(--t-l);letter-spacing:-.022em;max-width:30ch;font-weight:300;line-height:1.16}@media (max-width:767px){.statement__label{grid-column:1/-1;margin-bottom:20px}.statement__body{grid-column:1/-1}.statement__text{text-indent:0}}.section-head{border-bottom:1px solid var(--c-line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin-bottom:clamp(32px,4vw,56px);padding-bottom:18px;display:grid}.section-head__count{font-family:var(--f-mono);font-size:var(--t-xs);color:var(--c-muted)}.works{padding-bottom:var(--sec)}.wall{--drop:1;align-items:start;row-gap:clamp(72px,9vw,150px)}.wall>li{display:block}.wall>:nth-child(6n+1){grid-column:1/span 7}.wall>:nth-child(6n+2){margin-top:calc(var(--drop) * clamp(80px, 16vw, 260px));grid-column:9/span 4}.wall>:nth-child(6n+3){grid-column:2/span 4}.wall>:nth-child(6n+4){margin-top:calc(var(--drop) * clamp(40px, 8vw, 140px));grid-column:7/span 6}.wall>:nth-child(6n+5){grid-column:1/span 6}.wall>:nth-child(6n+6){margin-top:calc(var(--drop) * clamp(60px, 12vw, 200px));grid-column:8/span 5}.wall .photo{aspect-ratio:3/2}.wall>:nth-child(6n+2) .photo,.wall>:nth-child(6n+3) .photo,.wall>:nth-child(6n+6) .photo{aspect-ratio:4/5}.wall--index{--drop:.55;row-gap:clamp(56px,6.4vw,104px)}.works__more{justify-content:flex-end;margin-top:clamp(56px,7vw,96px);display:flex}@media (max-width:767px){.works .cap{grid-template-columns:minmax(0,1fr) auto}.works .cap__name{grid-column:1/-1;margin-bottom:4px}.works .cap__name+.cap__meta{padding-left:0}.wall{row-gap:56px}.wall>:nth-child(n){grid-column:1/-1;margin-top:0}.wall>:nth-child(6n+2),.wall>:nth-child(6n+6){grid-column:4/-1}.wall>:nth-child(6n+3){grid-column:1/span 10}.wall--index{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}.wall--index>:nth-child(n){grid-column:auto;margin-top:0}.wall--index>:nth-child(2n){margin-top:48px}.wall--index>:nth-child(n) .photo{aspect-ratio:4/5}}.cap{grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:0;margin-top:14px;padding-top:12px;display:grid;position:relative}.cap:before{content:"";background:var(--c-line);height:1px;position:absolute;top:0;left:0;right:0}.cap:after{content:"";background:var(--c-fg);transform-origin:0;height:1px;transition:transform .9s var(--ease-out);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.cap__name{font-size:var(--t-m);letter-spacing:-.01em;transition:translate .6s var(--ease-out);line-height:1.2}.cap__meta{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted);white-space:nowrap;padding-left:16px}.cap__meta+.cap__meta{border-left:1px solid var(--c-line);margin-left:16px}.cap--sheet{grid-template-columns:auto minmax(0,1fr) auto auto}.cap__no{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.08em;color:var(--c-muted);font-variant-numeric:tabular-nums;border-right:1px solid var(--c-line);margin-right:14px;padding-right:14px}@media (hover:hover){.card-link:hover .cap:after{transform:scaleX(1)}.card-link:hover .cap__name{translate:8px}.card-link:hover .photo--zoom img{scale:1.035}}.card-link:focus-visible .cap:after{transform:scaleX(1)}.cats{padding-bottom:var(--sec)}.cats__list{border-top:1px solid var(--c-line)}.cat{border-bottom:1px solid var(--c-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding-block:clamp(18px,2.2vw,34px);display:grid}.cat__name{font-size:var(--t-xl);letter-spacing:-.035em;transition:translate .6s var(--ease-out);font-weight:300;line-height:1}.cat__count{font-family:var(--f-mono);font-size:var(--t-xs);color:var(--c-muted);align-items:center;gap:18px;display:flex}.cat__count .arrow{transition:translate .5s var(--ease-out)}.cat__thumb{display:none}@media (hover:hover){.cat:hover .cat__name{translate:14px}.cat:hover .cat__count .arrow{translate:5px}}.cat:focus-visible .cat__name{translate:14px}@media (hover:none),(max-width:767px){.cat{grid-template-columns:72px minmax(0,1fr) auto}.cat__thumb{aspect-ratio:1;width:72px;display:block}.cat__name{font-size:clamp(2rem,9vw,3rem)}}.preview{z-index:var(--z-preview);aspect-ratio:4/5;pointer-events:none;opacity:0;visibility:hidden;background:var(--c-photo);width:clamp(220px,19vw,320px);position:fixed;top:0;left:0;overflow:hidden}.preview img{object-fit:cover;width:100%;height:100%}.partners-home{padding-bottom:var(--sec)}.names{columns:4 220px;column-gap:var(--gutter)}.names li{break-inside:avoid;border-bottom:1px solid var(--c-line)}.names a{font-size:var(--t-s);transition:translate .5s var(--ease-out);justify-content:space-between;gap:12px;padding-block:12px;display:flex}.names a .num{color:var(--c-muted);font-size:var(--t-label)}.names a>span:first-child{transition:background-size .5s var(--ease-out);background:linear-gradient(currentColor 0 0) 0 100%/0% 1px no-repeat}@media (hover:hover){.names a:hover>span:first-child{background-size:100% 1px}}.names a:focus-visible>span:first-child{background-size:100% 1px}@media (hover:hover){.names a:hover{translate:6px}}.names a:focus-visible{translate:6px}.footer{--c-fg:var(--c-on-sheet);--c-muted:var(--c-on-sheet-muted);--c-accent:var(--c-on-sheet);--art-h:max(240px, 35.55vw);background:var(--c-sheet);color:var(--c-fg);padding-top:clamp(56px,6vw,88px);display:grid;overflow:hidden}.footer>*{grid-area:1/1}.footer__top{z-index:1;align-self:start;position:relative}.footer ::selection{background:var(--c-on-sheet);color:var(--c-sheet)}.footer__top{gap:48px var(--gutter);padding-inline:var(--gutter);padding-bottom:calc(var(--art-h) * .86);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.footer__brand{grid-column:1/span 5;align-content:start;justify-items:start;gap:18px;display:grid}.footer .logo{width:clamp(180px,15vw,240px)}.footer__logo{transition:opacity .3s var(--ease-out), translate .45s var(--ease-out)}.footer__legal{z-index:1;padding:0 var(--gutter) calc(clamp(20px, 2.4vw, 32px) + env(safe-area-inset-bottom));font-size:var(--t-xs);color:var(--c-muted);text-align:right;place-self:end;position:relative}.footer__cols{gap:40px var(--gutter);grid-column:7/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.footer__col{font-size:var(--t-s);align-content:start;justify-items:start;gap:6px;line-height:1.5;display:grid}.footer__head{font-family:var(--f-display);margin-bottom:8px;font-size:1.375rem;font-weight:500;line-height:1.2}.footer__col address{color:var(--c-muted);font-style:normal}.footer__col address span{display:block}.footer__col a{transition:color .3s var(--ease-out), translate .45s var(--ease-out);padding-block:3px;display:inline-block}@media (hover:hover){.footer__col a:hover{color:var(--c-muted);translate:4px}.footer__logo:hover{opacity:.6}}.footer__col a:active,.footer__logo:active{translate:0 1px}.footer__art{height:var(--art-h);padding-bottom:env(safe-area-inset-bottom);align-self:end}.footer__art picture{display:contents}.footer__art img{object-fit:cover;object-position:30% 100%;width:100%;height:100%;display:block}@media (min-width:601px){.footer__art img{translate:-12%}}@media (max-width:900px){.footer__brand,.footer__cols{grid-column:1/-1}}@media (max-width:600px){.footer{display:block}.footer__top{padding-bottom:0}.footer__art{height:auto;margin-top:40px}.footer__legal{text-align:left;padding-top:16px}.footer__art img{height:auto}}@media (max-width:560px){.footer__cols{grid-template-columns:repeat(2,minmax(0,1fr))}}.page-head{padding-top:calc(var(--header-h) + clamp(48px, 7vw, 120px));padding-bottom:clamp(28px,3vw,44px)}.page-head__row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;display:grid}.page-head__count{font-family:var(--f-mono);font-size:var(--t-xs);color:var(--c-muted);padding-bottom:.6em}.toolbar{border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);background:var(--c-bg);transition:top .6s var(--ease-out);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-bottom:clamp(32px,4vw,56px);padding-block:10px;display:flex}@media (min-width:768px){.toolbar{top:var(--header-h);z-index:5;position:sticky}}html.frame-away .toolbar{top:0}.filters,.views{flex-wrap:wrap;gap:4px 22px;display:flex}.chip{font-size:var(--t-s);color:var(--c-muted);align-items:baseline;gap:8px;padding-block:10px;transition:color .3s;display:inline-flex;position:relative}.chip .num{font-size:var(--t-label);transition:translate .45s var(--ease-out);display:inline-block}@media (hover:hover){.chip:hover .num{translate:0 -3px}}.chip:focus-visible .num{translate:0 -3px}.chip:after{content:"";transform-origin:100%;height:1px;transition:transform .5s var(--ease-out);background:currentColor;position:absolute;bottom:6px;left:0;right:0;transform:scaleX(0)}.chip[aria-pressed=true]{color:var(--c-fg)}.chip[aria-pressed=true]:after{transform:scaleX(1)}@media (hover:hover){.chip:hover{color:var(--c-fg)}.chip:hover:after{transform-origin:0;transform:scaleX(1)}}.chip:focus-visible:after{transform:scaleX(1)}.pgrid{padding-bottom:var(--sec)}.more{margin:calc(-1 * var(--sec) + 48px) 0 var(--sec);justify-content:center;display:flex}.more .num{font-size:var(--t-label)}@media (max-width:767px){.pgrid .cap{grid-template-columns:auto minmax(0,1fr);row-gap:4px}.pgrid .cap__name{font-size:var(--t-s);grid-area:1/1/auto/-1}.pgrid .cap__no{grid-row:2;margin-right:10px;padding-right:10px}.pgrid .cap__meta{grid-row:2;padding-left:0}.pgrid .cap__meta+.cap__meta{display:none}}.register{padding-bottom:var(--sec)}.reg-head,.reg-row{grid-template-columns:56px minmax(0,3fr) minmax(0,1.3fr) minmax(0,2.4fr) 76px minmax(0,2.4fr);align-items:baseline;gap:16px;display:grid}.reg-head{border-bottom:1px solid var(--c-line-strong);padding-bottom:10px}.reg-row{border-bottom:1px solid var(--c-line);font-size:var(--t-s);transition:translate .5s var(--ease-out), background-color .3s;padding-block:14px}.reg-row[hidden]{display:none}.reg-row .num,.reg-row .muted{color:var(--c-muted)}.reg-row__name{font-size:var(--t-m);letter-spacing:-.01em;line-height:1.2}.reg-thumb{display:none}@media (hover:hover){.reg-row:hover{translate:10px}}.reg-row:focus-visible{translate:10px}@media (max-width:860px){.reg-head{display:none}.reg-row{grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"thumb name year""thumb meta meta";row-gap:2px}.reg-row>.num{display:none}.reg-thumb{aspect-ratio:1;grid-area:thumb;width:64px;display:block}.reg-row__name{font-size:var(--t-body);grid-area:name}.reg-row__year{grid-area:year}.reg-row__cat,.reg-row__design{display:none}.reg-row__loc{grid-area:meta}}.case-head{padding-top:calc(var(--header-h) + clamp(40px, 6vw, 104px))}.case-head__title{margin-bottom:clamp(28px,3.4vw,48px)}.tb{border-top:1px solid var(--c-line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.tb-wrap{position:relative}.tb__rule{background:var(--c-fg);transform-origin:0;pointer-events:none;height:1px;position:absolute;top:0;left:0;right:0}.tb__cell{border-bottom:1px solid var(--c-line);align-content:start;gap:8px;min-width:0;padding:14px 16px 18px 0;display:grid}.tb__cell+.tb__cell{border-left:1px solid var(--c-line);padding-left:16px}.tb__value{font-size:var(--t-s);line-height:1.4}.tb__value a{transition:background-size .4s var(--ease-out), translate .45s var(--ease-out);background:linear-gradient(currentColor 0 0) 0 calc(100% - 2px)/100% 1px no-repeat;padding-block:3px;display:inline-block}@media (hover:hover){.tb__value a:hover{background-size:100% 2px;translate:3px}}.tb__value a:focus-visible{background-size:100% 2px}.case-head .double-rule{margin-top:-1px}.case-desc{max-width:60ch;font-size:var(--t-m);color:var(--c-fg);margin-top:clamp(28px,3vw,44px);line-height:1.5}@media (max-width:767px){.tb{grid-template-columns:repeat(2,minmax(0,1fr))}.tb__cell+.tb__cell{border-left:0;padding-left:0}.tb__cell:nth-child(2n){border-left:1px solid var(--c-line);padding-left:14px}.tb__cell--wide{grid-column:1/-1;border-left:0!important;padding-left:0!important}.tb__cell:nth-child(odd):last-child{grid-column:1/-1}}.gallery{gap:var(--reveal);padding-top:clamp(32px,4vw,56px);padding-bottom:var(--sec-tight);display:grid}.g-row{gap:var(--reveal);display:flex}.g-row--right{padding-left:25%}.g-row--left{padding-right:25%}.g-row--solo-left{padding-right:50%}.g-row--solo-right{padding-left:50%}.g-item{flex:var(--r) 1 0;cursor:zoom-in;min-width:0;display:block;position:relative}.g-item .photo{position:absolute;inset:0}.g-item img{transition:scale 1.1s var(--ease-out)}@media (hover:hover){.g-item:hover img{scale:1.02}}@media (max-width:767px){.g-row--right,.g-row--left{padding-inline:0}.g-row--solo-left{padding-right:18%}.g-row--solo-right{padding-left:18%}}.next{padding-block:var(--sec-tight) var(--sec);display:block}.next__row{border-top:1px solid var(--c-line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding-top:18px;display:grid}.next__name{transition:translate .6s var(--ease-out);margin-top:10px;display:block}.next__photo{aspect-ratio:4/5;width:clamp(120px,14vw,220px)}.next__photo img{transition:scale 1.1s var(--ease-out)}@media (hover:hover){.next__row:hover .next__name{translate:14px}.next__row:hover .next__photo img{scale:1.05}}.next__row:focus-visible .next__name{translate:14px}.lightbox{z-index:var(--z-lightbox);background:var(--c-sheet);color:var(--c-on-sheet);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.lightbox[hidden]{display:none}.lightbox__top,.lightbox__foot{padding:0 var(--gutter);height:56px;font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:var(--c-on-sheet-muted);justify-content:space-between;align-items:center;gap:16px;display:flex}.lightbox__stage{padding:0 var(--gutter);place-items:center;min-height:0;display:grid;position:relative}.lightbox__stage img{object-fit:contain;-webkit-user-select:none;user-select:none;width:auto;max-width:100%;height:auto;max-height:100%}.lightbox button{color:var(--c-on-sheet);font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;padding:12px 4px}.lightbox button:focus-visible{outline-color:var(--c-on-sheet)}.lightbox__nav{gap:28px;display:flex}.plist{border-top:1px solid var(--c-line-strong);padding-bottom:var(--sec)}.prow{gap:var(--gutter);border-bottom:1px solid var(--c-line);scroll-margin-top:calc(var(--header-h) + 24px);grid-template-columns:minmax(0,4fr) minmax(0,2fr) minmax(0,6fr);padding-block:clamp(20px,2.4vw,32px);display:grid}.prow__name{font-size:var(--t-l);letter-spacing:-.025em;font-weight:300;line-height:1.08}.prow__ig{font-family:var(--f-mono);font-size:var(--t-xs);color:var(--c-muted);justify-self:start;padding-top:.7em;transition:color .3s}@media (hover:hover){.prow__ig:hover{color:var(--c-fg)}}.prow__projects{flex-wrap:wrap;gap:6px 22px;padding-top:.45em;display:flex}.prow__projects a{font-size:var(--t-s);transition:translate .45s var(--ease-out);padding-block:4px;position:relative}.prow__projects a:after{content:"";transform-origin:0;height:1px;transition:transform .5s var(--ease-out);background:currentColor;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}@media (hover:hover){.prow__projects a:hover:after{transform:scaleX(1)}}.prow__projects a:focus-visible:after{transform:scaleX(1)}@media (max-width:860px){.prow{grid-template-columns:minmax(0,1fr) auto;row-gap:12px}.prow__projects{grid-column:1/-1;padding-top:0}}.about-lead{padding-bottom:var(--sec)}.about-lead__text{font-size:var(--t-l);letter-spacing:-.022em;grid-column:1/span 9;gap:.8em;font-weight:300;line-height:1.18;display:grid}.about-lead__text p+p{color:var(--c-muted)}.about-photo{padding-bottom:var(--sec)}.about-photo__frame{grid-area:1/4/auto/-1}.about-photo__frame .photo{aspect-ratio:16/10}.about-photo__cap{transition:color .3s, translate .45s var(--ease-out);grid-area:1/1/auto/span 3;place-self:end start;padding-block:6px}@media (hover:hover){.about-photo__cap:hover{color:var(--c-fg);translate:6px}}.services{padding-bottom:var(--sec)}.services__list{border-top:1px solid var(--c-line-strong);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.service{padding:20px var(--gutter) 28px 0;align-content:start;gap:14px;display:grid}.service+.service{padding-left:var(--gutter);border-left:1px solid var(--c-line)}.service__name{font-size:var(--t-m)}.service__text{color:var(--c-muted);font-size:var(--t-s);max-width:34ch}.clients{padding-bottom:var(--sec)}.clients__list{columns:4 200px;column-gap:var(--gutter)}@media (max-width:767px){.clients__list{columns:2}}.clients__list li{break-inside:avoid;border-bottom:1px solid var(--c-line);font-size:var(--t-s);padding-block:10px}@media (max-width:767px){.about-lead__text,.about-photo__frame,.about-photo__cap{grid-column:1/-1}.about-photo__cap{grid-row:2;margin-top:12px}.services__list{grid-template-columns:1fr}.service+.service{border-left:0;border-top:1px solid var(--c-line);padding-left:0}}.contact{padding-bottom:var(--sec)}.contact__mail{letter-spacing:-.04em;overflow-wrap:anywhere;margin-left:-.05em;padding-bottom:.1em;font-size:clamp(2rem,1rem + 5.4vw,6.5rem);font-weight:300;line-height:1;display:inline-block;position:relative}.contact__mail:after{content:"";transform-origin:bottom;height:2px;transition:transform .5s var(--ease-out);background:currentColor;position:absolute;bottom:0;left:.05em;right:0;transform:scaleY(.5)}@media (hover:hover){.contact__mail:hover:after{transform:none}}.contact__mail:focus-visible:after{transform:none}.contact__grid{border-top:1px solid var(--c-line-strong);margin-top:clamp(64px,8vw,128px)}.contact__cell{padding:18px var(--gutter) 24px 0;font-size:var(--t-s);align-content:start;gap:12px;display:grid}.contact__cell+.contact__cell{padding-left:var(--gutter);border-left:1px solid var(--c-line)}.contact__cell--address{grid-column:1/span 5}.contact__cell--ig{grid-column:6/span 3}.contact__cell--phone{grid-column:9/span 4}.contact__cell address{font-style:normal;font-size:var(--t-m);line-height:1.4}@media (max-width:767px){.contact__cell{border-bottom:1px solid var(--c-line);border-left:0!important;grid-column:1/-1!important;padding-left:0!important}}.lost{min-height:100svh;padding-top:calc(var(--header-h) + clamp(48px, 7vw, 120px));padding-bottom:var(--sec);align-content:start;display:grid}.lost .tb{max-width:880px;margin-top:clamp(28px,3vw,44px)}.lost__actions{margin-top:clamp(40px,5vw,72px)}@media (hover:none){.arrow-link:after{transform:none}}@media (prefers-reduced-motion:reduce){.cap__name,.cat__name,.names a,.reg-row,.next__name,.footer__col a,.prow__projects a{translate:none!important}.card-link:hover .cap__name,.cat:hover .cat__name,.next__row:hover .next__name{text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px}}.display,.hero__title,.cat__name,.contact__mail,.menu__links a,.nf-menu__panel a{font-family:var(--f-display);letter-spacing:.004em;font-weight:300}.h2,.statement__text,.prow__name,.about-lead__text{font-family:var(--f-display);letter-spacing:.004em;font-weight:400}.cap__name,.reg-row__name,.service__name{font-family:var(--f-display);letter-spacing:.004em;font-weight:500}.hero__title em{letter-spacing:0}.label,.cap__meta,.lightbox button{letter-spacing:.22em}.hc{--hc-ease:cubic-bezier(.22, .61, .21, 1);--hc-gold:var(--c-gold);min-height:640px}.hc__slide{z-index:1;opacity:0;transition:opacity 2.4s var(--hc-ease);position:absolute;inset:0}.hc__slide[data-on]{z-index:2;opacity:1}.hc__slide img{object-fit:cover;animation:16s linear forwards hc-kenburns}@keyframes hc-kenburns{0%{transform:scale(1)}to{transform:scale(1.055)}}.hc:before,.hc:after{content:"";z-index:3;pointer-events:none;position:absolute;inset-inline:0}.hc:before{height:calc(var(--header-h) * 3);background:linear-gradient(#0a0908b8,#0a090880 40%,#0a09082e 75%,#0a090800);top:0}.hc:after{background:linear-gradient(#0a090800,#0a09080a 20%,#0a090824 35%,#0a090852 50%,#0a090880 62%,#0a0908a8);height:min(42%,380px);bottom:0}.hc__content{z-index:5;text-align:center;color:#fff;pointer-events:none;background:radial-gradient(56% 42%,#0a0908c2,#0a09089e 45%,#0a09084d 75%,#0a090800);flex-direction:column;justify-content:center;align-items:center;padding:0 6vw;display:flex;position:absolute;inset:0}.hc__content a{pointer-events:auto}.hc__kicker{font-family:var(--f-sans);letter-spacing:.42em;text-transform:uppercase;color:#ffffffe6;text-shadow:0 2px 34px #08060473;justify-content:center;align-items:center;gap:18px;font-size:12px;font-weight:400;display:flex}.hc__kicker:before,.hc__kicker:after{content:"";background:var(--hc-gold);flex:none;width:44px;height:1px}.hc__title{font-family:var(--font-cormorant), Georgia, serif;letter-spacing:.004em;text-wrap:balance;text-shadow:0 2px 34px #08060473;margin:34px 0 46px;font-size:clamp(46px,7vw,112px);font-weight:300;line-height:1.06}.hc__line{margin:-.04em -.12em -.16em;padding:.04em .12em .16em;display:block;overflow:clip}.hc__line>span{display:block}.motion .hc__kicker,.motion .hc__cta,.motion .hc__meta,.motion .hc__cue,.motion .hc__line>span{visibility:hidden}.hc__title em{font-family:var(--font-cormorant-it), Georgia, serif;letter-spacing:.01em;color:var(--hc-gold);font-style:italic;font-weight:500}.hc__cta{color:#fff;font-family:var(--f-sans);letter-spacing:.34em;text-transform:uppercase;align-items:center;gap:12px;font-size:12px;font-weight:400;display:inline-flex}.hc__arrow{width:76px;height:1px;margin-right:-24px;display:inline-block;position:relative}.hc__arrow:before{content:"";transform-origin:0;transition:transform .45s var(--hc-ease);background:currentColor;position:absolute;inset:0;transform:scaleX(.684)}.hc__arrow:after{content:"";width:9px;height:9px;transition:transform .45s var(--hc-ease);border-top:1px solid;border-right:1px solid;position:absolute;top:-3.5px;right:0;transform:translate(-24px)rotate(45deg)scale(.78)}@media (hover:hover){.hc__cta:hover .hc__arrow:before{transform:none}.hc__cta:hover .hc__arrow:after{transform:rotate(45deg)scale(.78)}}.hc a:focus-visible,.hc button:focus-visible{outline-color:var(--hc-gold)}.hc__meta{z-index:6;text-align:right;font-family:var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:#ffffffbf;font-size:11.5px;line-height:2;position:absolute;bottom:7vh;right:max(2.5vw,50vw - 780px)}.hc__name{font-family:var(--font-cormorant-it), Georgia, serif;letter-spacing:.06em;text-transform:none;color:#fff;font-size:15px;font-style:italic;font-weight:400}.hc__dots{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.hc__dots button{width:34px;height:14px;padding:6px 0;display:block}.hc__dots button:before{content:"";height:1.5px;transition:background-color .4s var(--hc-ease);background:#ffffff47;display:block}.hc__dots button[aria-current]:before{background:var(--hc-gold)}.hc__cue{z-index:6;width:1px;height:56px;position:absolute;bottom:26px;left:50%;overflow:hidden;transform:translate(-50%)}.hc__cue:before{content:"";height:50%;animation:hc-cue 2.1s var(--hc-ease) infinite;background:#ffffffbf;position:absolute;inset:0 0 auto;transform:translateY(-100%)}@keyframes hc-cue{60%,to{transform:translateY(200%)}}@media (max-width:900px){.hc__title{max-width:12ch}.hc__meta{display:none}}@media (max-width:620px){.hc__content{background:radial-gradient(100% 48%,#0a0908c7,#0a09089e 50%,#0a09084d 80%,#0a090800)}.hc__kicker{letter-spacing:.3em;text-wrap:balance}.hc__kicker:before,.hc__kicker:after{display:none}}@media (prefers-reduced-motion:reduce){.hc__slide{transition:none}.hc__slide img,.hc__cue:before{animation:none}}
