/* HOME HERO REBUILD — intentionally scoped to #homepageHero only. */
#homepageHero.museum-hero-slider {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  width: 100%;
  height: 470px !important;
  min-height: 470px !important;
  background: #18232b !important;
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
  transition: none !important;
}
#homepageHero::before, #homepageHero::after,
#homepageHero .hero-overlay { content: none !important; display: none !important; }
#homepageHero .museum-hero-slides {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  overflow: hidden !important;
  pointer-events: none;
}
/* Only the slider's own states control opacity; the old global hero rules
   cannot restart or cancel the slide transition. */
#homepageHero .museum-hero-slide {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0;
  display: block !important;
  visibility: visible !important;
  opacity: 0;
  animation: none !important;
  transition: none !important;
  pointer-events: none;
  will-change: opacity;
}
#homepageHero .museum-hero-slide.is-active {
  opacity: 1;
  z-index: 1;
}
/* The arriving slide fades OVER the still-visible previous slide. */
#homepageHero .museum-hero-slide.is-entering {
  z-index: 2;
  opacity: 0;
}
#homepageHero .museum-hero-slide > img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 1 !important;
  filter: none !important;
  transform: scale(1.025);
  animation: none !important;
  transition: none !important;
}
/* Zoom is only active for the visible image, never on unseen slides. */
#homepageHero .museum-hero-slide.is-active > img,
#homepageHero .museum-hero-slide.is-entering > img {
  animation: none !important;
}
@keyframes museum-hero-kenburns {
  from { transform: translate3d(0, 0, 0) scale(1.025); }
  to { transform: translate3d(-.3%, .15%, 0) scale(1.065); }
}
@media (prefers-reduced-motion: reduce) {
  #homepageHero .museum-hero-slide.is-active > img,
  #homepageHero .museum-hero-slide.is-entering > img {
    animation: none !important;
  }
}
#homepageHero .museum-slide-placeholder {
  display: none !important;
  position: absolute;
  inset: 10%;
  align-items: center;
  justify-content: center;
  color: #fff;
  font: 500 18px/1.8 var(--font-body, sans-serif);
  background: #18232b;
  border: 1px dashed #8b9aa6;
}
#homepageHero .museum-hero-slide.is-missing .museum-slide-placeholder {
  display: flex !important;
}
/* Recreate the original typographic composition independently from legacy overrides. */
#homepageHero > .hero-copy {
  position: absolute !important;
  z-index: 3 !important;
  top: 50% !important;
  bottom: auto !important;
  left: clamp(22px, 5vw, 68px) !important;
  right: auto !important;
  width: min(440px, 44%) !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  direction: rtl !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 2px 9px rgba(0,0,0,.72), 0 0 22px rgba(0,0,0,.38);
  animation: none !important;
  transition: none !important;
}
#homepageHero > .hero-copy::before, #homepageHero > .hero-copy::after {
  display: none !important;
}
#homepageHero > .hero-copy .eyebrow {
  width: 100% !important;
  margin: 0 0 8px !important;
  color: #f2c57d !important;
  font-size: 13px !important;
  text-align: center !important;
}
#homepageHero > .hero-copy h1 {
  width: 100% !important;
  margin: 0 !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.2 !important;
  color: #fff6df !important;
  text-align: center !important;
}
#homepageHero > .hero-copy .ornament {
  margin: 7px auto 10px !important;
}
#homepageHero > .hero-copy .hero-text {
  width: 100% !important;
  margin: 0 0 17px !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  color: #fff !important;
  text-align: center !important;
}
#homepageHero > .hero-copy .hero-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  width: 100% !important;
  direction: rtl !important;
}
#homepageHero > .hero-copy .hero-actions .btn {
  display: inline-flex !important;
  width: auto !important;
  min-width: 134px;
  direction: rtl !important;
}
#homepageHero > .location {
  position: absolute !important;
  top: auto !important;
  right: 24px !important;
  bottom: 16px !important;
  left: auto !important;
  z-index: 3 !important;
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
  transition: none !important;
}
/* Other site-wide appearance classes must not conceal the hero. */
#homepageHero.fade-reveal, #homepageHero .fade-reveal,
#homepageHero .fade-child, #homepageHero .hero-copy.fade-reveal {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
  transition: none !important;
}
/* Header text remains at the previously approved moderate size. */
body:has(#homepageHero) .site-header .main-nav {
  font-size: 12.5px !important;
  gap: clamp(10px,1.45vw,21px) !important;
}
body:has(#homepageHero) .site-header .main-nav a {
  font-size: inherit !important;
}
@media (max-width: 1080px) {
  #homepageHero.museum-hero-slider { height: 440px !important; min-height: 440px !important; }
  #homepageHero > .hero-copy { width: min(400px, 48%) !important; left: 28px !important; }
  #homepageHero > .hero-copy h1 { font-size: 42px !important; }
}
@media (max-width: 850px) {
  #homepageHero.museum-hero-slider { height: 540px !important; min-height: 540px !important; }
  #homepageHero > .hero-copy {
    left: 0 !important; right: 0 !important;
    top: auto !important; bottom: 42px !important;
    transform: none !important;
    width: 100% !important;
    padding: 0 24px !important;
  }
  #homepageHero > .hero-copy h1 { font-size: 38px !important; }
  #homepageHero > .hero-copy .hero-text { font-size: 13px !important; }
  #homepageHero > .location { right: 12px !important; bottom: 12px !important; }
}
@media (max-width: 560px) {
  #homepageHero.museum-hero-slider { height: 520px !important; min-height: 520px !important; }
  #homepageHero > .hero-copy { bottom: 38px !important; padding: 0 15px !important; }
  #homepageHero > .hero-copy h1 { font-size: clamp(29px, 8vw, 36px) !important; }
  #homepageHero > .hero-copy .hero-text { font-size: 12.5px !important; line-height: 1.85 !important; }
  #homepageHero > .hero-copy .hero-actions { gap: 9px !important; }
  #homepageHero > .hero-copy .hero-actions .btn { min-width: 118px; padding: 0 12px !important; }
  #homepageHero > .location { display: none !important; }
}

/* Gallery-matched hero photo transition: 120ms dim, 180ms restore. */
#homepageHero .museum-hero-slide.is-gallery-switching {
  opacity: .78 !important;
  transition: opacity .18s ease !important;
}
#homepageHero .museum-hero-slide.is-active:not(.is-gallery-switching) {
  opacity: 1 !important;
  transition: opacity .18s ease !important;
}
#homepageHero .museum-hero-slide > img,
#homepageHero .museum-hero-slide.is-active > img {
  animation: none !important;
  transform: none !important;
}
@media (prefers-reduced-motion: reduce) {
  #homepageHero .museum-hero-slide.is-gallery-switching,
  #homepageHero .museum-hero-slide.is-active { transition: none !important; }
}
