/* Final editorial refinements; shared across the six pages. */
:root{--gl:max(24px,env(safe-area-inset-left,0px));--gr:max(24px,env(safe-area-inset-right,0px));--muted:#625e57}
html{scroll-padding-top:192px}
body{padding-top:128px;font-size:16px;line-height:1.65}
main:focus{outline:none}
h1,h2,h3,p{overflow-wrap:break-word}
figure{min-width:0}button,a{-webkit-tap-highlight-color:transparent}
button{touch-action:manipulation}
.skip-link{position:fixed;top:8px;left:16px;transform:translateY(-160%);z-index:200;background:#fff;color:#111;padding:12px 20px}
.skip-link:focus{transform:translateY(0)}
.hdr,.hdr.solid,.hdr:focus-within{background:#f9f7f2;color:#151511;box-shadow:0 1px 0 #dedbd3}
.hdr .row{max-width:1800px;margin:auto}
.hbtn{min-width:44px;min-height:44px}
.nav{gap:clamp(16px,2vw,36px)}
.nav>div>a{font-size:11px;letter-spacing:.11em}
.sub a{min-height:40px}
.menu{border:0;margin:0;max-width:none;max-height:none;width:100%;height:100dvh;padding-bottom:60px}
.menu[open]{display:block}
.menu::backdrop{background:#1119}
.menu .grp a{padding-block:5px}
.menu .top{grid-template-columns:auto minmax(0,1fr);gap:24px}
.menu .top .wm{max-width:100%;justify-self:end}
.camp{height:calc(100svh - 128px);min-height:550px;max-height:1000px;background:#0c0b09}
.camp .slide picture{display:block;width:100%;height:calc(100% - 160px)}
.camp .slide img,.camp .slide.on img{width:100%;height:100%;object-fit:contain!important}
.camp .slide{transition:opacity 1.8s ease,visibility 0s linear 1.8s}
.camp .slide.on{transition:opacity 1.8s ease,visibility 0s}
.camp::before,.camp::after{display:none}
.camp-cap{bottom:76px;gap:14px}.camp-cap .mono{display:none}
.camp-cap h1{font-family:var(--sans);font-size:clamp(25px,3vw,42px);font-weight:400;line-height:1.15}
.camp-cap a{font-size:10px;letter-spacing:.13em;line-height:1.6}
.camp-credit{top:18px;bottom:auto;left:var(--gl);max-width:46ch;padding:7px 10px;background:#111b;font-size:10px;color:#fff}
.camp-credit:empty{display:none}
.ctrl button{min-height:44px;min-width:44px}
.museum .room{min-height:360px}
.museum .art img{object-fit:contain}
.statement{padding-block:clamp(72px,9vw,128px)}
.statement .st-h{font-size:clamp(40px,7vw,106px);line-height:1.04}
.statement .st-b p{font-weight:400}
.hall{margin-top:0}.hall-h h2{line-height:1.04}
.rhero{height:calc(100svh - 128px);min-height:560px;max-height:1050px;gap:2px}
.rhero img{height:calc(100% - 156px);object-fit:contain;background:#12110f}
.rhero::before,.rhero::after{display:none}
.rh h1{font-size:clamp(52px,9vw,146px);line-height:1}
.rh{bottom:26px}
.room-intro{max-width:1000px;margin:auto;padding:80px var(--gr) 80px var(--gl);text-align:center}
.room-intro .cap{color:var(--muted)}
.room-intro h2{font-family:var(--grot);font-weight:500;font-size:clamp(30px,4vw,54px);line-height:1.18;margin:20px 0}
.room-intro>p:last-child{max-width:57ch;margin:auto;font-size:18px}
.bleed img,.pair2 img{height:auto;aspect-ratio:auto;object-fit:contain}
.pair2{align-items:center;background:var(--ivory)}
.split .img{min-height:0;display:flex;align-items:center;background:var(--ivory)}
.split .img img{position:relative;width:100%;height:auto;object-fit:contain}
.full>picture{display:block}
.full>picture img{height:auto;max-height:85svh;object-fit:contain;background:#171410}
.grid4 img{object-fit:contain;background:var(--ivory)}
.pill{white-space:normal;text-align:center;min-height:44px}
.copy{min-height:44px;font-size:14px}
video{display:block;max-width:100%;height:auto;background:#0b0b0b}
.vrow .vid{flex-basis:320px;max-width:320px}
.vid video{object-fit:contain!important;width:100%;max-width:320px;max-height:none!important;margin-inline:auto}
.vid figcaption{max-width:320px;margin-inline:auto}
.wide video{width:100%;max-height:85svh;object-fit:contain}
.lb-cap{color:#ddd}.lb-stage img{min-height:0}
.lb-in button{min-height:44px}.lb-in{min-height:0}
.instagram-editorial{padding:clamp(64px,8vw,120px) var(--gr) clamp(64px,8vw,120px) var(--gl);background:#eae5db;color:#191713}
.ig-heading{max-width:1360px;margin:0 auto 48px;display:grid;grid-template-columns:1.2fr 1fr;column-gap:10%;align-items:end}
.ig-heading .cap{grid-column:1/-1;margin:0 0 24px}
.ig-heading h2{font-family:var(--grot);font-size:clamp(40px,6vw,88px);font-weight:500;letter-spacing:-.045em;line-height:1.04;margin:0;max-width:10ch}
.ig-heading>p:last-child{font-size:18px;max-width:36ch;margin:0;line-height:1.65}
.ig-gallery{max-width:1360px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(12px,2.4vw,36px);align-items:start}
.ig-gallery figure{margin:0}.ig-gallery figure:nth-child(2){padding-top:54px}
.ig-gallery img{width:100%;height:auto}
.ig-gallery figcaption{border-top:1px solid #aaa397;margin-top:16px;padding-top:12px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.ig-follow{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-top:48px}
.ig-follow>span{font-size:14px;color:#514b43}
.ig-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:52px;border:1px solid #25221d;padding:14px 22px;text-decoration:none;font-size:14px;line-height:1.5;color:#191713;background:transparent;transition:background .2s,color .2s}
.ig-button:hover,.ig-button:focus-visible{color:#f6f2e9;background:#25221d}
.ig-band{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:72px max(var(--gr),6vw) 72px max(var(--gl),6vw);background:#eae5db;color:#191713}
.ig-band h2{font-family:var(--grot);font-size:clamp(28px,3.3vw,48px);letter-spacing:-.035em;line-height:1.15;font-weight:500;margin:18px 0}
.ig-band p{margin:0;max-width:48ch}.ig-band .ig-button{flex-shrink:0}
footer .base{color:#b9b3a8}
@media(max-width:1100px){.nav{gap:16px}.nav>div>a{font-size:10px;letter-spacing:.08em}}
@media(max-width:860px){
:root{--gl:max(20px,env(safe-area-inset-left,0px));--gr:max(20px,env(safe-area-inset-right,0px))}
body{padding-top:68px}html{scroll-padding-top:128px}.hdr .row{grid-template-columns:44px minmax(0,1fr) 64px;gap:10px}
.logo{min-width:0;justify-self:center}.logo .wm{max-width:100%;height:auto;width:clamp(160px,42vw,240px)}
.camp{height:calc(100svh - 68px);min-height:520px}.camp-credit{top:14px;right:var(--gr);max-width:none}
.rhero{height:calc(90svh - 68px);min-height:530px}
.ig-heading{gap:24px}.ig-band{align-items:flex-start;flex-direction:column}
}
@media(max-width:700px){
.camp .slide picture{height:calc(100% - 165px)}.camp-cap{bottom:82px}.camp-cap h1{font-size:28px}
.statement .st-h{font-size:clamp(35px,10vw,64px)}
.ig-heading{grid-template-columns:1fr}.ig-heading h2{max-width:14ch}.ig-heading>p:last-child{font-size:17px}
.ig-gallery{gap:14px;grid-template-columns:1fr 1fr}.ig-gallery figure:nth-child(2){padding-top:28px}.ig-gallery figure:nth-child(3){display:none}
.ig-follow{align-items:stretch;flex-direction:column;text-align:center}.ig-follow .ig-button{align-self:center}
.rh h1{font-size:clamp(45px,11.8vw,78px)}.rh{gap:20px}.rnav{gap:8px 18px}
.room-intro{padding-block:56px}.room-intro>p:last-child{font-size:17px}
.bleed img,.pair2 img{aspect-ratio:auto}.split .txt{padding:52px var(--gr) 52px var(--gl)}
.ig-band{padding:56px var(--gr) 56px var(--gl)}.ig-band .ig-button{width:100%}
footer .sig .wm{max-width:100%;height:auto;width:260px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide,.slide.on{transition:none!important}*{animation:none!important}}
/* Keep documentary framing instead of the former narrow panoramic crops. */
.strips{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:32px;padding:24px var(--gr) 64px var(--gl);max-width:1440px;margin:auto}
.strips .strip{width:100%;margin:0!important;padding:0!important;transform:none!important}
.strips .strip:last-child{grid-column:1/-1;max-width:1000px;justify-self:center}
.strips .strip img{width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain}
.strips .strip figcaption{font-size:13px;color:#c9c3b9;line-height:1.6;padding-top:12px}
.split .img img{aspect-ratio:auto}
#coro .full img{height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:700px){.strips{grid-template-columns:1fr;gap:28px}.strips .strip:last-child{grid-column:auto}}
.pane img{object-fit:contain;background:var(--ivory)}

/* Subtle movement stays inside the image frame: no zoom beyond its bounds. */
.camp .slide img{transform:scale(.975)!important;transform-origin:50% 50%}
.camp .slide.on img{animation:cover-drift 14s ease-in-out infinite alternate!important}
.camp .slide:nth-child(even).on img{animation-direction:alternate-reverse!important}
@keyframes cover-drift{from{transform:scale(.975) translate(-.35%,.2%)}to{transform:scale(.992) translate(.2%,-.15%)}}
.camp.motion-paused .slide.on img{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.camp .slide img,.camp .slide.on img{animation:none!important;transform:none!important}}
/* Home: full-bleed first screen with only the navigation over the image. */
body.home-cover{padding-top:0}
.home-cover .hdr{background:transparent;color:#fff;box-shadow:none;transition:background .3s,color .3s}
.home-cover .hdr::before{content:"";position:absolute;inset:0 0 -36px;background:linear-gradient(#0009,#0003,transparent);z-index:-1;pointer-events:none}
.home-cover .hdr.solid,.home-cover .hdr:focus-within{background:#f9f7f2;color:#151511;box-shadow:0 1px 0 #dedbd3}
.home-cover .hdr.solid::before,.home-cover .hdr:focus-within::before{display:none}
.home-cover .camp{height:100svh;min-height:100svh;max-height:none}
.home-cover .camp .slide picture{height:100%;width:100%}
.home-cover .camp .slide img{width:100%;height:100%;object-fit:cover!important;object-position:center 35%!important;transform:scale(1.025)!important}
.home-cover .camp .slide.on img{animation:cover-full-drift 16s ease-in-out infinite alternate!important}
.home-cover .camp .camp-cap,.home-cover .camp .camp-credit,.home-cover .camp .ctrl{display:none!important}
@keyframes cover-full-drift{from{transform:scale(1.025) translate(-.25%,0)}to{transform:scale(1.055) translate(.25%,-.2%)}}
.home-cover .camp.motion-paused .slide.on img{animation-play-state:paused!important}
@media(max-width:700px){.home-cover .camp .capa-img{object-position:50% 30%!important}}
@media(prefers-reduced-motion:reduce){.home-cover .camp .slide img,.home-cover .camp .slide.on img{animation:none!important;transform:none!important}}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.home-cover .hdr:not(.solid) .row{display:none}
.home-cover .hdr:not(.solid) .nav{height:74px;align-items:center}
.home-cover .hdr:not(.solid) .nav>div{height:auto}
@media(max-width:860px){
.home-cover .hdr:not(.solid) .row{display:flex;height:68px;justify-content:flex-start}
.home-cover .hdr:not(.solid) .row .logo,.home-cover .hdr:not(.solid) .row .cta{display:none}
.home-cover .hdr:not(.solid) .hbtn .t{display:inline}
.home-cover .hdr:not(.solid) .nav{display:none}
}
/* Signature on the full-screen cover. */
.home-cover .camp .camp-cap{display:grid!important;inset:auto 20px 9svh;justify-items:center;gap:16px;color:#fff;pointer-events:none;text-shadow:0 2px 18px #0009}
.home-cover .camp .camp-cap .mono{display:block;width:clamp(82px,8vw,122px);height:auto;filter:drop-shadow(0 2px 12px #0007)}
.home-cover .camp .cover-label{margin:0;font-family:var(--sans);font-size:clamp(14px,1.2vw,18px);font-weight:400;letter-spacing:.24em;text-transform:uppercase;line-height:1.5}
.home-cover .camp::after{display:block;inset:auto 0 0;height:38%;background:linear-gradient(transparent,#0005);z-index:1}
@media(max-width:700px){.home-cover .camp .camp-cap{bottom:10svh;gap:12px}.home-cover .camp .camp-cap .mono{width:86px}}

/* Carousel timing and painting containment. */
.camp .slide{transition:opacity .45s ease,visibility 0s linear .45s}
.camp .slide.on{transition:opacity .45s ease,visibility 0s}
.museum{position:relative;isolation:isolate}
.museum .room{position:relative;height:clamp(340px,70svh,760px);min-height:0;overflow:hidden;isolation:isolate}
.museum .art{min-width:0;min-height:0;overflow:hidden;transition:opacity .45s ease,visibility 0s linear .45s}
.museum .art.on{transition:opacity .45s ease,visibility 0s}
.museum .art img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain}
@media(max-width:700px){.museum .room{height:clamp(300px,58svh,560px)}}
@media(prefers-reduced-motion:reduce){.museum .art,.museum .art.on,.camp .slide,.camp .slide.on{transition:none!important}}
