/* Scoped to section headings, preserving card and dialog typography. */
#installation .cms-section-image { cursor: zoom-in; }
#installation .cms-section-image:focus-visible { outline: 3px solid #a99b83; outline-offset: 4px; }
dialog.installation-viewer { width: min(1100px, 94vw); max-width: 1100px; height: 90dvh; max-height: 90dvh; padding: 0; border-radius: 10px; overflow: hidden; background: #303431; color: #f2eee6; }
.installation-viewer-toolbar { height: 64px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 8px 12px; border-bottom: 1px solid #555c55; }
.installation-viewer-toolbar button { min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid #747c72; border-radius: 6px; background: #3c423d; color: #f2eee6; cursor: pointer; }
.installation-viewer-toolbar button:disabled { opacity: .35; cursor: default; }
.installation-viewer-toolbar output { min-width: 48px; text-align: center; }
.installation-viewer-stage { height: calc(100% - 64px); overflow: auto; overscroll-behavior: contain; }
.installation-viewer-stage img { display: block; max-width: none; height: auto; margin: 0 auto; }
#collections { background: #303431; color: #f2eee6; }
.story-image .story-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .65s ease, transform 1.2s ease, filter 1s; }
.story-image .story-slide.is-visible { opacity: 1; }
@media(prefers-reduced-motion:reduce) { .story-image .story-slide { transition: none; } }
#collections > .collection-display-title,
#videos > .collection-display-title,
#installation > .collection-display-title,
#packaging > .collection-display-title {
  margin: 0 0 40px;
  text-align: center;
  font-family: "Manrope", "DM Sans", sans-serif;
  font-size: clamp(32px, 4.5vw, 64px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.035em;
  text-wrap: balance;
}
#installation > .collection-display-title,
#packaging > .collection-display-title { font-size: clamp(30px, 3.4vw, 48px); }
#collections > .collection-display-title,
#videos > .collection-display-title {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  padding: clamp(24px, 3vw, 40px) clamp(16px, 3vw, 44px);
  border: 0;
  border-radius: 8px;
  background: linear-gradient(180deg, #303431 0%, #3c423d 45%, #3c423d 55%, #303431 100%);
  color: #f2eee6;
}
#collections > .collection-display-title::after,
#videos > .collection-display-title::after {
  content: "";
  display: block;
  width: clamp(48px, 6vw, 80px);
  height: 2px;
  margin: 22px auto 0;
  background: #a99b83;
  border-radius: 2px;
}
@media(max-width:600px) {
  #collections > .collection-display-title,
  #videos > .collection-display-title,
  #installation > .collection-display-title,
  #packaging > .collection-display-title { margin-bottom: 28px; }
}
