/* Regional pages reuse the existing subpage layout and Lucide icon system. */
.region-page .subhero__copy h1 {
  font-size: clamp(2.2rem, 3.7vw, 3.9rem);
  hyphens: manual;
  overflow-wrap: anywhere;
}
.region-page .subhero__grid { align-items: center; }
.region-page .subhero__visual { min-width: 0; min-height: 0; }
.region-page .subhero__visual figure {
  position: relative;
  inset: auto;
  aspect-ratio: 4 / 3;
}
.region-page .subhero__visual figure::after { inset: 25% 0 0; }
.region-page .subhero__visual figcaption strong { font-size: clamp(1.1rem, 2vw, 1.65rem); }
.region-context { padding: 2.8rem 0; border-bottom: 1px solid var(--line); }
.region-context > .shell { display: grid; grid-template-columns: 0.78fr 1.22fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.region-context .eyebrow { display: flex; align-items: center; gap: 0.45rem; }
.region-context h2 { margin: 0; font-size: clamp(1.4rem, 2.4vw, 2rem); }
.region-context p:last-child { margin: 0; color: var(--muted); }
.region-page .content-split h2 { max-width: 17ch; }
.region-page .feature-list h3 { margin: 0 0 0.5rem; font-size: 1.1rem; }
.region-page .feature-list p { margin: 0; color: var(--muted); }
.region-page .detail-card { display: flex; flex-direction: column; min-width: 0; }
.region-page .detail-card p { margin-bottom: 1.5rem; color: rgba(255, 255, 255, 0.8); font-size: 1rem; }
.region-page .detail-card .text-link { margin-top: auto; color: #efb28e; line-height: 1.5; }
.region-page .detail-card .text-link svg { margin-left: auto; }
.region-page .faq-grid h2 { max-width: 15ch; }
.region-contact { background: var(--cream); scroll-margin-top: 7rem; }
.region-contact .content-split { gap: clamp(2rem, 6vw, 6rem); }
.region-contact .content-split > div > p:last-child { color: var(--muted); }
.region-contact__card { padding: clamp(1.25rem, 4vw, 2.5rem); background: #fff; border-top: 3px solid var(--copper); box-shadow: var(--shadow-soft); min-width: 0; }
.region-person { display: flex; gap: 1rem; align-items: center; margin-bottom: 1.7rem; }
.region-person img { width: 4.5rem; height: 4.5rem; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.region-person .eyebrow { margin-bottom: 0.3rem; font-size: 0.65rem; }
.region-person h3 { margin: 0; font-size: 1.35rem; }
.region-person p:last-child { margin: 0.2rem 0 0; color: var(--muted); font-size: 0.88rem; }
.region-contact__phone, .region-contact__email { display: block; width: fit-content; text-underline-offset: 0.2rem; }
.region-contact__phone { font-size: 1.3rem; font-weight: 700; }
.region-contact__email { margin: 0.35rem 0 1.5rem; overflow-wrap: anywhere; color: var(--copper-dark); }
.region-contact__hint { margin: 0.8rem 0 1.7rem; color: var(--muted); font-size: 0.85rem; }

@media (max-width: 68rem) {
  .region-context > .shell { grid-template-columns: 1fr; gap: 1rem; }
  .region-page .content-split__intro { position: static; }
  .region-page .subhero__visual { max-width: 48rem; }
}
@media (max-width: 48rem) {
  .region-page .subhero { padding-bottom: 3rem; }
  .region-page .subhero__visual::before { display: none; }
  .region-page .subhero__visual figcaption { inset: auto 1.25rem 1.25rem; }
  .region-page .detail-card { min-height: 0; padding: 1.5rem; }
  .region-page .detail-card > span { margin-bottom: 0.75rem; }
  .region-contact__card .button { width: 100%; }
  .region-person { align-items: flex-start; }
}
