/* Four seasons hero. Keep these overrides after layout.css. */
.mainvisualwrap.season-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #1d2823;
  height: auto;
  aspect-ratio: 1642 / 958;
  min-height: 0;
}
.season-slides, .season-slide { position: absolute; inset: 0; width: 100%; height: 100%; }
.season-slide { object-fit: cover; object-position: center; opacity: 0; }
.season-slide.is-previous { opacity: 1; z-index: 0; }
.season-slide.is-active { opacity: 1; z-index: 1; }
.season-brand { position: relative; z-index: 3; width: min(36%, 440px); }
.season-brand img { display: block; width: 100%; height: auto; filter: drop-shadow(0 4px 12px rgba(0,0,0,.25)); }
.season-tagline { margin: 22px -30px 0; color: #fff; font-family: Arial, sans-serif; font-size: clamp(13px, 1.4vw, 19px); font-weight: 400; letter-spacing: .09em; line-height: 1.6; text-shadow: 0 2px 8px #000, 0 0 20px #000; }
.season-controls { position: absolute; z-index: 4; bottom: 24px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 12px; padding: 5px 12px; border-radius: 30px; background: rgba(0,0,0,.45); }
.season-controls[hidden] { display: none; }
.season-dots { display: flex; }
.season-dot { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.season-dot::before { content: ''; width: 9px; height: 9px; border: 1px solid #fff; border-radius: 50%; background: transparent; }
.season-dot[aria-pressed="true"]::before { background: #fff; }
.season-toggle { min-width: 44px; min-height: 44px; padding: 0 12px; border: 0; background: transparent; color: #fff; font: inherit; font-size: 18px; white-space: nowrap; cursor: pointer; }
.season-controls button:focus-visible { outline: 2px solid #fff; outline-offset: -3px; border-radius: 8px; }
@media (max-width: 620px) {
  .mainvisualwrap.season-hero { aspect-ratio: auto; height: 70vh; height: 70svh; min-height: 400px; max-height: 640px; }
  .season-brand { width: 64%; max-width: 280px; }
  .season-controls { bottom: 16px; gap: 4px; padding: 3px 8px; }
}
@media (prefers-reduced-motion: reduce) { .season-slide { transition: none; } }


.season-life { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; }
