/* Readable first paint. JS narrows this link's media only when enhancement
   starts successfully; reduced motion always keeps the static layout. */
html { scroll-behavior: auto !important; }
.home-page [data-scroll-story] { scroll-margin-top: 120px; }
.home-page [data-scroll-reveal],
.home-page [data-scroll-zoom],
.home-page .hero__content,
.home-page .hero__image,
.home-page .home-launchpad__intro,
.home-page .home-map-story__sticky,
.home-page .home-map-story__intro,
.home-page .journey-stop,
.home-page .course-card[data-course-card] {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
  will-change: auto !important;
  pointer-events: auto !important;
}
.home-page .hero__scroll-mark,
.home-page [data-story-progress],
.home-page .home-map-route,
.home-page .home-map-story__shade,
.home-page .home-course-story__counter,
.home-page .home-course-story__line,
.home-page .course-card[data-course-card]::after { display: none !important; }
.home-page .home-map-story {
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: clamp(36px, 6vw, 80px) 24px !important;
  background: #f4eedb;
  pointer-events: auto !important;
}
.home-page .home-map-story__sticky {
  position: relative !important;
  inset: auto !important;
  width: min(1280px, 100%);
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-areas: "intro intro intro intro" "map map map map";
  gap: 20px;
  align-items: stretch !important;
  overflow: visible;
  background: transparent;
}
.home-page .home-map-story__intro {
  grid-area: intro;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.home-page .home-map-story__intro h2 { font-size: clamp(2.2rem, 5vw, 4.5rem); }
.home-page .home-map-story__picture {
  grid-area: map;
  position: relative !important;
  inset: auto !important;
  width: 100%;
  height: auto !important;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 16px;
}
.home-page .home-map-story__picture img { transform: none !important; will-change: auto; }
.home-page .journey-stop {
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 22px;
  background: #fffdf4;
  box-shadow: 0 8px 24px rgba(24, 43, 48, 0.08);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.home-page .journey-stop::before { display: none; }
.home-page .home-course-expeditions {
  height: auto !important;
  min-height: 0 !important;
  padding: clamp(48px, 7vw, 90px) 0 !important;
  overflow: visible !important;
}
.home-page .home-course-expeditions > .section__inner { height: auto !important; }
.home-page .home-course-expeditions .home-course-story {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  perspective: none !important;
}
.home-page .home-course-expeditions .section__heading {
  position: relative !important;
  inset: auto !important;
  max-width: 900px;
  margin: 0 0 32px !important;
  padding: 0 !important;
}
.home-page .home-course-expeditions .section__heading > p:not(.eyebrow) { display: block !important; }
.home-page .home-course-expeditions .course-grid[data-course-stack] {
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  touch-action: auto !important;
}
.home-page .home-course-expeditions .course-card[data-course-card] {
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto 1fr auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  z-index: auto !important;
}
.home-page .home-course-expeditions .course-card[data-course-card] .course-card__media {
  grid-column: 1 !important;
  grid-row: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9;
}
.home-page .home-course-expeditions .course-card[data-course-card] > div:not(.course-card__media) {
  grid-column: 1 !important;
  grid-row: 2 !important;
  align-self: start;
  padding: 24px !important;
}
.home-page .home-course-expeditions .course-card[data-course-card] h3 {
  font-size: clamp(1.7rem, 3vw, 2.5rem) !important;
  line-height: 1.12 !important;
}
.home-page .home-course-expeditions .course-card[data-course-card] p {
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  max-height: none !important;
}
.home-page .home-course-expeditions .course-card[data-course-card] > a {
  grid-column: 1 !important;
  grid-row: 3 !important;
  margin: 0 24px 24px !important;
  min-height: 48px;
}
@media (max-width: 1100px) {
  .home-page .home-map-story__sticky {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "intro intro" "map map";
  }
}
@media (max-width: 640px) {
  .home-page .home-map-story { padding: 36px 18px !important; }
  .home-page .home-map-story__sticky {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "intro" "map";
    gap: 16px;
  }
  .home-page .home-map-story__picture { aspect-ratio: 600 / 1066; }
  .home-page .home-course-expeditions .course-grid[data-course-stack] { grid-template-columns: minmax(0, 1fr); }
}
