/* Scroll expansion, scoped to the reception hero. Native scrolling stays available. */
.hero-expansion-stage { margin-inline: -24px; }
.hero-expansion-stage .hero.hero-reception { margin-inline: 0; }
.hero-expansion-stage .reception-hero-media { overflow: hidden; }
.hero-expansion-stage .reception-hero-media img { transform-origin: 70% 50%; }
.hero-expansion-stage .hero-reception::before {
  content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(90deg, #2d1c14 0%, #2d1c14eb 28%, #2d1c1466 43%, transparent 62%);
}
@media (min-width: 901px) and (min-height: 780px) and (prefers-reduced-motion: no-preference) {
  .hero-expansion-stage[data-expansion-ready] { min-height: calc(100svh + 480px); }
  .hero-expansion-stage[data-expansion-ready] .hero.hero-reception {
    position: sticky; top: 0; min-height: max(650px, 100svh);
  }
}
@media (max-width: 900px) {
  .hero-expansion-stage .hero-reception::before { display: none; }
  .hero-expansion-stage .reception-hero-media img { transform-origin: center; }
}
@media (max-width: 640px) { .hero-expansion-stage { margin-inline: -20px; } }
@media (prefers-reduced-motion: reduce) {
  .hero-expansion-stage .reception-hero-media { clip-path: none !important; }
  .hero-expansion-stage .reception-hero-media img { transform: none !important; }
}
