/* Photo and description share one orbit; transforms never alter the photograph. */
.museum-stage--carousel{min-height:850px}
.pcgr-carousel{position:absolute;left:50%;bottom:54px;width:min(1100px,calc(100% - 40px));height:490px;transform:translateX(-50%);z-index:3}
.pcgr-carousel-viewport{position:absolute;inset:0 0 60px;--carousel-radius:330px;--carousel-depth:185px;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;outline-offset:5px}
.pcgr-carousel.is-dragging .pcgr-carousel-viewport{cursor:grabbing}
.pcgr-carousel-slide{position:absolute;left:50%;bottom:0;width:370px;transform-origin:center bottom;transform:translate(-50%,0) translate(calc(var(--orbit-x,0)*var(--carousel-radius)),calc(var(--orbit-y,0)*var(--carousel-depth))) scale(var(--orbit-scale,1));filter:brightness(calc(.55 + var(--orbit-opacity,1)*.45));pointer-events:none}
.pcgr-carousel-slide.is-active{pointer-events:auto}
.pcgr-carousel:not(.is-enhanced) .pcgr-carousel-slide:not(:first-child){display:none}
.pcgr-carousel .featured-display{position:relative;left:auto;bottom:auto;transform:none;width:100%;margin:0}
.pcgr-carousel .display-plinth{min-height:125px}
.pcgr-carousel-slide:not(.is-active) .case-label{visibility:hidden}
.pcgr-carousel .featured-display:focus-visible{outline:3px solid #adebff;outline-offset:8px}
.pcgr-carousel-viewport:focus-visible{outline:2px solid #adebff;border-radius:8px}
.pcgr-carousel-controls{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;padding:2px 8px;border-radius:32px;background:#061522e8;border:1px solid #48647b;box-shadow:0 6px 16px #0006}
.pcgr-carousel-controls[hidden]{display:none}
.pcgr-carousel-controls button{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;min-width:44px;height:44px;border:1px solid transparent;border-radius:50%;background:transparent;color:#ceeaff;cursor:pointer;box-shadow:none}
.pcgr-carousel-controls .pcgr-carousel-arrow{border-color:#41617a;background:#102536}
.pcgr-carousel-arrow svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pcgr-carousel-dots{display:flex;align-items:center;gap:0}
.pcgr-carousel-dot span{width:7px;height:7px;border:1px solid #adcbdf;background:transparent;border-radius:50%}
.pcgr-carousel-dot.is-active span{background:#91dcff;border-color:#91dcff;box-shadow:0 0 9px #65caff66}
.pcgr-carousel-controls button:hover{background:#24445e}
.pcgr-carousel-controls button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.pcgr-carousel-position{font-size:11px;color:#c4d9e9;min-width:30px;margin-right:5px;font-variant-numeric:tabular-nums}
.a11y-contrast .pcgr-carousel-controls{background:#000;border-color:#fff}
.a11y-contrast .pcgr-carousel-slide.is-active .display-plinth{background:#000;color:#fff}
@media(min-width:1700px){.museum-stage--carousel{min-height:930px}.pcgr-carousel{height:560px;width:1300px}.pcgr-carousel-slide{width:420px}.pcgr-carousel-viewport{--carousel-radius:380px;--carousel-depth:210px}}
@media(max-width:1200px){.museum-stage--carousel{min-height:800px}.pcgr-carousel{height:460px;width:calc(100% - 30px)}.pcgr-carousel-slide{width:320px}.pcgr-carousel-viewport{--carousel-radius:270px;--carousel-depth:165px}}
@media(max-width:980px){.museum-stage--carousel{min-height:820px}.pcgr-carousel{height:435px}.pcgr-carousel-viewport{--carousel-radius:235px;--carousel-depth:145px}}
@media(max-width:640px){
 .museum-stage--carousel{min-height:0;background-size:auto 900px}
 .pcgr-carousel{position:relative;left:auto;bottom:auto;transform:none;width:100%;height:420px;order:1;flex:none}
 .pcgr-carousel-viewport{--carousel-radius:165px;--carousel-depth:105px;inset:0 0 64px}
 .pcgr-carousel-slide{width:min(310px,100%)}
 .pcgr-carousel .display-plinth{min-height:130px;padding:15px 18px 18px}
 .pcgr-carousel .display-plinth h2{font-size:calc(22px * var(--reading-scale,1))}
 .pcgr-carousel-controls{gap:0;padding:2px 4px}
 .pcgr-carousel-controls button{min-width:36px;width:36px;height:44px}
 .pcgr-carousel-controls .pcgr-carousel-arrow{min-width:44px;width:44px}
 .pcgr-carousel-position{margin:0 4px;font-size:10px;min-width:26px}
}
@media(prefers-reduced-motion:reduce){.pcgr-carousel *{transition:none!important;scroll-behavior:auto}}
.a11y-motion .pcgr-carousel *{transition:none!important;scroll-behavior:auto}

/* Enlarged reading mode uses content flow: long titles cannot overlap the exhibit. */
.a11y-large-text .museum-stage--carousel{height:auto;min-height:0;display:flex;flex-direction:column;align-items:center;gap:24px;padding:36px 20px 40px}
.a11y-large-text .museum-stage--carousel .hero-copy{width:100%;max-width:1000px;padding:0;margin:0;order:0}
.a11y-large-text .museum-stage--carousel .room-link{position:relative;inset:auto;transform:none;width:100%;max-width:800px;order:2}
.a11y-large-text .museum-stage--carousel .room-link strong{white-space:normal;overflow-wrap:anywhere}
.a11y-large-text .pcgr-carousel{position:relative;inset:auto;transform:none;width:100%;height:auto;max-width:1100px;order:1;margin:0;padding-top:160px}
.a11y-large-text .pcgr-carousel-viewport{position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1fr);align-items:end;justify-items:center}
.a11y-large-text .pcgr-carousel-slide{position:relative;left:auto;bottom:auto;grid-area:1/1;width:min(370px,100%);transform:translate(calc(var(--orbit-x,0)*var(--carousel-radius)),calc(var(--orbit-y,0)*var(--carousel-depth))) scale(var(--orbit-scale,1))}
.a11y-large-text .pcgr-carousel-controls{position:relative;inset:auto;transform:none;width:max-content;max-width:100%;margin:28px auto 0}
.a11y-large-text .pcgr-carousel .display-plinth{overflow-wrap:anywhere;min-width:0}
.a11y-large-text .museum-stage--carousel .stage-bottom{position:relative;inset:auto;transform:none;order:3;text-align:center}
.a11y-large-text .museum-stage--carousel>.featured-display{position:relative;inset:auto;transform:none;width:min(370px,100%);order:1}
@media(max-width:640px){.a11y-large-text .pcgr-carousel{padding-top:105px}.a11y-large-text .pcgr-carousel-slide{width:min(310px,100%)}}
