/* A continuous gallery: spatial transitions, rather than an imitation of Arbor's organic facade. */
:root{--spatial-ease:cubic-bezier(.22,.8,.2,1)}
html:root:root:root body[id][id].exhibition-site .ex-review{background:var(--master-paper)!important;color:#59616a!important;font-size:9px!important;letter-spacing:.02em!important}
.master-opening{height:205svh;background:var(--master-paper)}
.opening-stage{isolation:isolate;perspective:1500px}
.opening-photo{width:56vw;height:91%;top:0;transform:translateX(-50%) translateY(var(--open-rise,0px)) perspective(1800px) rotateY(var(--open-angle,0deg)) scale(var(--open-scale,1));clip-path:polygon(var(--open-inset,6%) 0,100% 0,100% calc(100% - var(--open-inset,6%)),calc(100% - var(--open-inset,6%)) 100%,0 100%,0 var(--open-inset,6%));transform-origin:center 48%;will-change:transform,clip-path}
.opening-photo img{object-position:center 36%}
.opening-title{filter:blur(var(--open-blur,0px));will-change:filter,opacity}
html:root:root:root body[id][id].exhibition-site .opening-title{font-size:clamp(54px,7.4vw,140px)!important;font-weight:350!important}
.opening-title span:nth-child(1){top:12%}.opening-title span:nth-child(2){top:39%}.opening-title span:nth-child(3){top:67%;left:6vw}
.opening-intro{z-index:5;bottom:3%;padding:10px 0;background:linear-gradient(90deg,var(--master-paper) 0%,var(--master-paper) 64%,transparent 100%)}
/* Two equal image planes remain side by side. Their editorial captions rise like a gallery wall. */
.master-pair{gap:18px;padding-top:30px;padding-bottom:60px;align-items:stretch}
.pair-panel{display:block;perspective:none;position:relative;min-width:0}
.pair-photo{position:sticky;top:100px;height:calc(100svh - 135px);min-height:460px;max-height:820px;transform:none!important;clip-path:polygon(var(--pair-cut,0%) 0,100% 0,100% calc(100% - var(--pair-cut,0%)),calc(100% - var(--pair-cut,0%)) 100%,0 100%,0 var(--pair-cut,0%));will-change:clip-path}
.pair-photo img{transform:scale(var(--pair-scale,1));object-position:center;transition:transform 1s var(--spatial-ease)}
.pair-copy{position:relative;z-index:3;padding:40px 20px 0 0;margin-top:8svh;background:var(--master-paper);min-height:390px;box-sizing:border-box}
.pair-copy:before{content:'';position:absolute;left:0;right:0;top:-38px;height:38px;background:linear-gradient(transparent,var(--master-paper));pointer-events:none}
html:root:root:root body[id][id].exhibition-site .pair-copy h3{font-size:clamp(38px,4.2vw,72px)!important}
/* The catalogue is a set of articulated planes. Its links keep their ordinary semantics. */
.master-catalogue{perspective:1800px;padding-top:16px}
.catalogue-deck{transform:perspective(1800px) rotateX(var(--catalogue-pitch,0deg)) translateY(var(--catalogue-rise,0px));transform-origin:center 80%;transform-style:preserve-3d;will-change:transform;gap:12px}
.catalogue-leaf{transition:flex 1.15s var(--spatial-ease),transform 1.15s var(--spatial-ease);transform:rotateY(-3deg);transform-origin:left center;--leaf-opacity:.88}
.catalogue-leaf:nth-child(even){transform:rotateY(3deg);transform-origin:right center}
.catalogue-leaf.is-active{transform:translateZ(18px) rotateY(0);--leaf-opacity:1;flex:3.4}
.catalogue-photo{clip-path:polygon(0 0,100% 3%,100% 100%,0 97%);transition:clip-path 1.1s var(--spatial-ease)}
.catalogue-leaf.is-active .catalogue-photo{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.catalogue-photo img{transition:transform 1.4s var(--spatial-ease),filter 1s}
.type-leaf{background:linear-gradient(145deg,#f5f3ef,#e5e0d7)}
.master-invitation{padding-top:45px;padding-bottom:55px}
html:root:root:root body[id][id].exhibition-site .master-invitation a{font-size:clamp(35px,5.4vw,82px)!important}
/* Cross-document motion keeps the identity fixed while the editorial plane changes. */
::view-transition-old(root){animation:.6s cubic-bezier(.55,0,.25,1) both spatial-depart}
::view-transition-new(root){animation:.95s var(--spatial-ease) both spatial-arrive}
@keyframes spatial-depart{to{transform:perspective(1600px) translateX(-7%) rotateY(4deg) scale(.96);opacity:.15}}
@keyframes spatial-arrive{from{clip-path:polygon(12% 0,100% 0,100% 100%,35% 100%);transform:perspective(1600px) translateX(12%) rotateY(-5deg) scale(1.04)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:none}}
@media(min-width:1500px){.opening-photo{max-width:none;width:52vw}}
@media(max-width:1000px) and (min-width:701px){.opening-photo{width:67vw}.pair-photo{min-height:420px}.pair-copy{padding-right:12px;min-height:420px}}
@media(max-width:700px){
.master-opening{height:auto}.opening-stage{perspective:none}.opening-photo{width:100%;height:auto;top:auto;transform:none!important;clip-path:none!important}.opening-photo img{object-position:center;object-fit:contain}
html:root:root:root body[id][id].exhibition-site .opening-title{font-size:clamp(35px,9.7vw,62px)!important;font-weight:400!important;filter:none!important}
.opening-title span:nth-child(3){left:auto}.opening-intro{padding:0;background:none;bottom:auto}
.master-pair{padding-top:16px;padding-bottom:40px;gap:42px}.pair-photo{position:relative;top:auto;height:auto;min-height:0;max-height:none;aspect-ratio:4/5;clip-path:none!important}.pair-photo img{transform:none!important}
.pair-copy{padding:24px 0 0;margin-top:0;min-height:0}.pair-copy:before{display:none}
.master-catalogue{perspective:none;padding-top:0}.catalogue-deck{transform:none!important;gap:0}.catalogue-leaf,.catalogue-leaf:nth-child(even),.catalogue-leaf.is-active{transform:none!important}.catalogue-photo{clip-path:none!important}.type-leaf{background:none}.type-leaf.is-active{background:#eae6df}
.master-invitation{padding-top:15px;padding-bottom:35px}
::view-transition-old(root),::view-transition-new(root){animation-duration:.3s}
}
@media(prefers-reduced-motion:reduce){.master-opening{height:auto}.opening-photo{clip-path:none!important;transform:translateX(-50%)!important}.opening-title{filter:none!important}.pair-photo,.catalogue-deck,.catalogue-leaf,.catalogue-leaf:nth-child(even),.catalogue-leaf.is-active{transform:none!important;clip-path:none!important}.pair-photo{position:relative;top:auto}.pair-copy{margin-top:25px}.catalogue-photo{clip-path:none!important}::view-transition-old(*),::view-transition-new(*){animation:none!important}}
.master-paused .master-opening{height:auto}.master-paused .opening-photo{clip-path:none!important;transform:translateX(-50%)!important}.master-paused .opening-title{filter:none!important}.master-paused .pair-photo,.master-paused .catalogue-deck,.master-paused .catalogue-leaf{transform:none!important;clip-path:none!important}.master-paused .pair-photo{position:relative;top:auto}.master-paused .pair-copy{margin-top:25px}
@media(max-width:700px){.master-paused .opening-photo{transform:none!important}}
/* Crisp architectural mattes, not softened or blurred photographic edges. */
.pair-copy:before{top:-16px;height:16px;background:var(--master-paper);clip-path:polygon(0 100%,100% 0,100% 100%)}
.pair-panel:nth-child(2) .pair-copy:before{clip-path:polygon(0 0,100% 100%,0 100%)}
@media(min-width:701px) and (hover:hover){
.opening-photo{transform:translateX(-50%) translateY(var(--open-rise,0px)) perspective(1800px) rotateY(calc(var(--open-angle,0deg) + var(--look-angle-x,0deg))) rotateX(var(--look-angle-y,0deg)) scale(var(--open-scale,1))}
.pair-photo img{transform:scale(calc(var(--pair-scale,1) + .015)) translate3d(var(--look-x,0px),var(--look-y,0px),0)}
}
@media(prefers-reduced-motion:reduce) and (max-width:700px){.opening-photo{transform:none!important}}
@media(prefers-reduced-motion:reduce){.pair-photo img{transform:none!important}}
.master-paused .pair-photo img{transform:none!important}
@media(min-width:701px){.opening-photo{clip-path:polygon(calc(var(--open-shutter,0%) + var(--open-inset,6%)) 0,calc(100% - var(--open-shutter,0%)) 0,calc(100% - var(--open-shutter,0%)) calc(100% - var(--open-inset,6%)),calc(100% - var(--open-shutter,0%) - var(--open-inset,6%)) 100%,var(--open-shutter,0%) 100%,var(--open-shutter,0%) var(--open-inset,6%))}}
.opening-stage>.d4-view{right:4vw;bottom:17%;transform:none!important}
.pair-photo{clip-path:none!important}
.pair-photo img{clip-path:polygon(var(--pair-cut,0%) 0,100% 0,100% calc(100% - var(--pair-cut,0%)),calc(100% - var(--pair-cut,0%)) 100%,0 100%,0 var(--pair-cut,0%))}
@media(max-width:700px){.opening-stage>.d4-view{position:relative;order:0;align-self:flex-end;margin-top:-44px;right:auto;bottom:auto;margin-bottom:0}.opening-stage>.opening-title{margin-top:24px!important}.pair-photo img{clip-path:none!important}}
@media(prefers-reduced-motion:reduce){.pair-photo img{clip-path:none!important}}
.master-paused .pair-photo img{clip-path:none!important}
.pair-panel{display:flex;flex-direction:column}.pair-photo{flex:none}.pair-copy{flex:1}
html:root:root:root body[id][id].exhibition-site .ex-review{position:relative!important;z-index:0!important}
/* Explicit choreography is consistent when browsers abort native cross-document snapshots. */
@view-transition{navigation:none}
.master-leaving main{transform:perspective(1600px) translateX(-3%) rotateY(3deg) scale(.98);transform-origin:left center;transition:transform .44s cubic-bezier(.55,0,.25,1)}
.master-enter main{animation:spatial-arrive .9s var(--spatial-ease) both}
@media(prefers-reduced-motion:reduce){.master-leaving main{transform:none!important;transition:none!important}.master-enter main{animation:none!important}}
@media(max-width:700px){.master-enter main{animation-duration:.4s}.master-leaving main{transform:translateY(-10px)}}
