/* Photograph-led inner pages with a compact, readable title panel. */
.inner-page .breadcrumbs { padding-block: 22px; }
.page-hero { position: relative; padding-bottom: 36px; margin-bottom: 42px; }
.page-hero > figure { margin: 0 0 0 14%; }
.page-hero-photo { display: block; width: 100%; height: clamp(330px, 30vw, 410px); object-fit: cover; object-position: 50% 48%; }
.page-hero-copy { position: absolute; left: 0; bottom: 0; width: min(570px, 52%); padding: 30px 36px; background: #193666; color: white; border-left: 5px solid #ad263b; }
.page-hero-copy .eyebrow, .utility-hero .eyebrow { color: #dce7f7; margin-bottom: 12px; font-size: .875rem; letter-spacing: .13em; }
.page-hero-copy h1, .utility-hero h1 { color: white; font-size: clamp(2.1rem, 3.5vw, 3.25rem); line-height: 1.05; letter-spacing: -.015em; margin: 0 0 14px; }
.page-hero-copy p:not(.eyebrow) { font-size: 1rem; line-height: 1.65; color: white; max-width: 44ch; margin: 0; }
.page-hero-copy .button { margin-top: 20px; background: white; color: #193666; border-color: white; }
.page-hero-copy .button:hover { background: #e6edf8; }
.page-hero-copy .button:focus-visible, .utility-hero a:focus-visible { outline: 3px solid white; outline-offset: 5px; }
.page-hero + .section { padding-top: 36px; }
.utility-hero { background: #193666; color: white; border-left: 5px solid #ad263b; padding: 28px 36px; margin-bottom: 32px; }
.utility-hero h1 { font-size: clamp(2rem, 3.2vw, 2.75rem); }
.utility-hero p:not(.eyebrow) { color: white; max-width: 65ch; margin: 0; font-size: 1rem; }
.regional-links { margin-top: 52px; border-top: 1px solid #c7d0dc; padding-top: 32px; }
.regional-links > h2 { font-size: 2rem; margin-bottom: 24px; }
.regional-links-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 32px; }
.regional-links h3 { font-size: 1.4rem; }
.regional-links p { max-width: 48ch; }
.booking-redirect-note { padding: 24px; border: 1px solid #c7d0dc; }
@media (max-width: 800px) {
  .page-hero { padding-bottom: 0; margin-bottom: 32px; }
  .page-hero > figure { margin: 0; }
  .page-hero-photo { height: clamp(230px, 54vw, 360px); }
  .page-hero-copy { position: relative; width: auto; margin: -24px 16px 0; padding: 24px; }
  .page-hero-copy h1 { font-size: 2.2rem; }
  .page-hero-copy p:not(.eyebrow) { max-width: 55ch; }
  .page-hero-copy .button { min-height: 48px; }
  .utility-hero { padding: 24px; }
  .regional-links-grid { grid-template-columns: 1fr; gap: 22px; }
}
@media (prefers-reduced-motion: reduce) { .page-hero * { animation: none; } }
