.chamber-carousel{min-width:0;border:1px solid var(--border);border-radius:5px;overflow:hidden;background:var(--paper);color:var(--ink)}
.carousel-stage{position:relative;aspect-ratio:1.35}
.carousel-slide{position:absolute;inset:0;display:flex;flex-direction:column;margin:0;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s;pointer-events:none}
.carousel-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.carousel-picture{min-height:0;flex:1;display:flex;align-items:center;justify-content:center;background:#bdc1bd;overflow:hidden}
.carousel-picture img{display:block;width:100%;height:100%;object-fit:contain}
.carousel-picture-duo img{width:88%;height:88%;filter:drop-shadow(0 12px 9px #102b3533)}
.carousel-slide figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:76px;padding:16px 20px;background:var(--paper);color:var(--ink)}
.carousel-slide figcaption strong{font-size:21px;line-height:1.2;font-weight:400;display:block}
.carousel-model{display:block;margin-top:4px;font-size:11px;color:var(--slate)}
.carousel-credit{font-size:10px;color:var(--slate);text-align:right}
.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:61px;border-top:1px solid var(--border);padding:8px 14px;background:var(--paper)}
.carousel-controls button{border:0;background:transparent;color:inherit;cursor:pointer;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;padding:0}
.carousel-controls button:hover{background:var(--aqua)}
.carousel-controls button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.carousel-step{display:flex;align-items:center;gap:3px}
.carousel-step svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.carousel-count{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.08em;white-space:nowrap}
.carousel-dots{display:flex;gap:0}
.carousel-dots button{min-width:32px}
.carousel-dots span{width:5px;height:5px;border-radius:50%;background:var(--slate);opacity:.45;transition:width .3s,border-radius .3s,opacity .3s}
.carousel-dots [aria-current="true"] span{width:20px;border-radius:3px;background:var(--ink);opacity:1}
.carousel-controls .carousel-play{gap:6px;padding:0 8px;font-size:11px;min-width:70px}
.carousel-play [data-play-icon]{font-size:15px}
.carousel-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:760px){.page-crumb{flex-wrap:wrap}.preview-label{margin-left:0}.carousel-stage{aspect-ratio:1.3}.carousel-slide figcaption{padding:14px 16px;min-height:72px}.carousel-credit{max-width:90px}.carousel-controls{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.carousel-slide,.carousel-dots span{transition:none}}

/* Four original brochure renderings on the page background. */
.chamber-carousel{border:0;border-radius:0;overflow:visible;background:transparent}
.carousel-picture{background:transparent;padding:16px 20px 18px}
.carousel-picture img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 16px 12px #031a2344)}
.carousel-slide figcaption{background:transparent;padding:16px 0;min-height:76px}
.carousel-controls{background:transparent;padding:8px 0}
@media(max-width:420px){.carousel-controls{gap:2px}.carousel-dots button{min-width:28px}.carousel-controls .carousel-play{min-width:62px;padding:0 4px}.carousel-step{gap:0}.carousel-picture{padding:8px 6px 16px}}
@media(max-width:360px){.carousel-controls{display:grid;grid-template-columns:1fr auto;gap:0}.carousel-dots{grid-column:1/-1;grid-row:2;justify-content:center}.carousel-dots button{min-width:36px;min-height:32px}.carousel-play{grid-column:2;grid-row:1}.carousel-step{justify-self:start}}

/* Keep unseen images outside layout so native lazy loading can defer them. */
.carousel-slide[hidden]{display:none}
.carousel-slide.is-active{animation:chamber-reveal .45s ease}
@keyframes chamber-reveal{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.carousel-slide.is-active{animation:none}}
