.es-hero-reel { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.es-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 800ms ease; }
.es-hero-video.is-visible { opacity: 1; }
.es-hero-location-text { display: inline-block; transition: opacity 250ms ease; }
.es-journey-strip { background: var(--es-ink); color: #fff; padding: clamp(3.5rem, 7vw, 6rem) 0; }
.es-journey-track { display: grid; grid-auto-columns: minmax(190px, 22vw); grid-auto-flow: column; gap: 1rem; margin-top: 1.5rem; overflow-x: auto; overscroll-behavior-inline: contain; padding-bottom: .75rem; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.es-journey-card { color: #fff; display: block; min-width: 0; position: relative; scroll-snap-align: start; text-decoration: none; }
.es-journey-card::after { position: absolute; inset: 0; background: linear-gradient(transparent 40%, rgba(10,18,16,.82)); content: ''; pointer-events: none; }
.es-journey-card img { aspect-ratio: 1.35 / 1; display: block; width: 100%; object-fit: cover; transition: transform 350ms ease; }
.es-journey-card span { bottom: 1rem; left: 1rem; position: absolute; z-index: 1; color: var(--es-sand); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.es-journey-card:hover img, .es-experience-tile:hover img, .es-story-image:hover img { transform: scale(1.035); }
.es-story-image img, .es-experience-tile img { transition: transform 350ms ease; }

@media (prefers-reduced-motion: reduce) {
  .es-hero-video { display: none; }
  .es-journey-card img, .es-experience-tile img, .es-story-image img { transition: none; }
}

@media (max-width: 600px) {
  .es-journey-track { grid-auto-columns: minmax(210px, 68vw); }
}
