.location-page .hero-copy h1 {
  max-width: 16ch;
  font-size: clamp(3rem, 8.8vw, 9rem);
}
html[data-theme="light"] .location-page .hero-actions .button.primary:not(:hover) {
  color: var(--site-on-accent, #fff);
}
.location-page .hero-media::before {
  background: linear-gradient(90deg, rgba(9, 10, 8, .82), rgba(9, 10, 8, .42)),
              linear-gradient(0deg, rgba(9, 10, 8, .6), transparent 68%);
}
.location-page .section h2 { max-width: 13ch; font-size: clamp(2.6rem, 5.8vw, 5.6rem); }
.location-page .section a:not(.button):not(.course-location-actions a) { text-decoration: underline; text-underline-offset: .2em; }
.location-course-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr)); gap: 0 1.5rem; margin: 0 0 1.5rem; padding: 0; list-style: none; }
.location-course-list li { border-bottom: 1px solid var(--line); }
.location-course-list a { display: flex; align-items: center; min-height: 44px; padding-block: .4rem; font-weight: 700; }
.location-page .section p + p { margin-top: .75rem; }
.location-page .coach-fact-list { margin: 0; grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr)); }
.location-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.75rem, 2vw, 2rem); margin-top: 2rem; }
.location-photos figure { margin: 0; }
.location-photos img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.location-photos figcaption { margin-top: .5rem; color: var(--muted); }
.location-page .lead { margin: 0 0 .75rem; }
@media (max-width: 760px) {
  .location-page { padding-bottom: 0; }
  .location-page .course-hero, .location-page .hero-copy { min-height: min(660px, calc(100svh - 76px)); }
}
