.portfolio-page{background:#f7f3ec}.portfolio-page .topbar{background:rgba(11,10,8,.88);border-bottom:1px solid rgba(255,255,255,.12)}.portfolio-page .desktop-nav a,.portfolio-page .language-switcher,.portfolio-page .menu-toggle{color:#fff}.portfolio-page .wordmark img{filter:invert(1)}
.portfolio-hero{height:92vh;min-height:680px;position:relative;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.portfolio-hero-media,.portfolio-hero-overlay{position:absolute;inset:0}.portfolio-hero-media img{width:100%;height:100%;object-fit:cover;animation:portfolioDrift 18s ease-in-out infinite alternate}.portfolio-hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.7))}.portfolio-hero-copy{position:relative;z-index:2;padding:0 6vw 8vw;max-width:1050px}.portfolio-hero-copy h1{font:clamp(4rem,8.5vw,9rem)/.92 var(--display);font-weight:400;margin:.9rem 0 1.6rem;max-width:950px}.portfolio-hero-copy>p:not(.kicker){max-width:680px;line-height:1.8;margin-bottom:2rem}.portfolio-intro{display:grid;grid-template-columns:.75fr 2fr;gap:5vw;padding:11vw 6vw 8vw;background:var(--paper)}.portfolio-intro-number{font:clamp(7rem,18vw,18rem)/.72 var(--display);color:#d9d1c5}.portfolio-intro-copy h2{max-width:1050px;margin:1.5rem 0 0;font-size:clamp(3rem,6vw,6.8rem)}
.gallery-stage{padding:0 3vw 10vw;background:var(--paper)}.gallery-toolbar{position:sticky;top:82px;z-index:8;display:flex;gap:.65rem;overflow-x:auto;padding:1rem 0;background:rgba(250,248,243,.93);backdrop-filter:blur(16px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:none}.gallery-toolbar::-webkit-scrollbar{display:none}.gallery-filter{flex:0 0 auto;border:1px solid #b9b0a4;border-radius:999px;background:transparent;padding:.8rem 1.15rem;font:600 .68rem var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.25s}.gallery-filter:hover,.gallery-filter.active{background:var(--ink);color:#fff;border-color:var(--ink)}.gallery-status{padding:1.2rem 0 2rem;text-align:right;color:#756d63;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.portfolio-gallery{columns:3 300px;column-gap:1rem}.gallery-item{position:relative;margin:0 0 1rem;break-inside:avoid;overflow:hidden;background:#171513;cursor:zoom-in;opacity:0;transform:translateY(24px);animation:galleryReveal .65s forwards}.gallery-item img{width:100%;height:auto;display:block;transition:transform .8s,opacity .35s}.gallery-item:hover img{transform:scale(1.025);opacity:.78}.gallery-item.fit-contain{background:#0d0d0d}.gallery-item.fit-contain img{max-height:760px;object-fit:contain}.gallery-item figcaption{position:absolute;inset:auto 0 0;padding:4rem 1.1rem 1rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.76));font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;transform:translateY(15px);opacity:0;transition:.35s}.gallery-item:hover figcaption{transform:none;opacity:1}.gallery-empty{text-align:center;padding:8vw 1rem}.gallery-empty h3{font:clamp(2.6rem,5vw,5rem) var(--display);font-weight:400;margin:0 0 1rem}.gallery-empty p{max-width:650px;margin:0 auto 2rem;line-height:1.8}.portfolio-cta{padding:12vw 6vw;text-align:center;background:#d6c3a8}.portfolio-cta h2{font-size:clamp(3.2rem,7vw,7rem);max-width:1000px;margin:1.5rem auto}.portfolio-cta>p:not(.eyebrow){max-width:680px;margin:0 auto 2.5rem;line-height:1.8}
.gallery-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(8,7,6,.96);display:grid;grid-template-columns:90px 1fr 90px;align-items:center;opacity:0;visibility:hidden;transition:.3s;color:#fff}.gallery-lightbox.open{opacity:1;visibility:visible}.gallery-lightbox figure{margin:0;height:92vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.gallery-lightbox img{max-width:100%;max-height:84vh;object-fit:contain}.gallery-lightbox figcaption{padding-top:1rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.lightbox-close{position:absolute;right:1.5rem;top:1rem;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer}.lightbox-nav{border:0;background:none;color:#fff;font-size:2rem;cursor:pointer;height:100%}.lightbox-nav:hover{background:rgba(255,255,255,.04)}
@keyframes portfolioDrift{from{transform:scale(1.02)}to{transform:scale(1.09) translate3d(-1%,1%,0)}}@keyframes galleryReveal{to{opacity:1;transform:none}}
@media(max-width:900px){.portfolio-hero{height:82vh;min-height:600px}.portfolio-hero-copy{padding:0 1.4rem 5rem}.portfolio-hero-copy h1{font-size:clamp(3.8rem,16vw,6rem)}.portfolio-intro{grid-template-columns:1fr;padding:7rem 1.4rem 5rem}.portfolio-intro-number{font-size:9rem}.gallery-stage{padding:0 .7rem 6rem}.gallery-toolbar{top:73px;padding:.8rem .3rem}.portfolio-gallery{columns:2 160px;column-gap:.55rem}.gallery-item{margin-bottom:.55rem}.gallery-item figcaption{opacity:1;transform:none;padding:3rem .7rem .65rem;font-size:.58rem}.gallery-lightbox{grid-template-columns:46px 1fr 46px}.gallery-lightbox figure{height:90vh}.portfolio-cta{padding:7rem 1.4rem}}
@media(max-width:520px){.portfolio-gallery{columns:1}.gallery-item figcaption{font-size:.65rem}.gallery-status{text-align:left}.gallery-lightbox{grid-template-columns:35px 1fr 35px}.lightbox-close{right:.7rem}}
