/* Regional guides share the site's warm, compact editorial layout. */
.region-page { margin: 28px 0 48px; }
.region-page section { margin: 0; }
.region-page h1 em { color: #51717b; font-family: Georgia, serif; font-weight: 400; }
.region-page h2 { font-size: clamp(28px, 3vw, 36px); }
.region-page h3 { font-size: 23px; }
.region-page .eyebrow { color: #6f7667; margin-bottom: 12px; }
.region-hero { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .85fr); align-items: center; gap: 42px; padding: 36px; background: #f5f1eb; border: 1px solid #e7e0d6; border-radius: 24px; }
.region-hero h1 { font-size: clamp(36px, 4vw, 52px); }
.region-hero .lead { font-size: 17px; line-height: 1.75; margin: 22px 0; }
.region-hero figure { align-self: center; min-width: 0; }
.region-hero figure img { width: 100%; max-height: 460px; object-fit: cover; border-radius: 16px; }
.region-hero figcaption { font-size: 11px; line-height: 1.6; color: #616969; padding-top: 10px; }
.region-page .button { border-radius: 9px; gap: 15px; }
.region-page .region-location { font-size: 12px; color: #60676a; line-height: 1.65; margin: 20px 0 0; padding-top: 16px; border-top: 1px solid #ddd8ce; }
.region-toc { display: flex; flex-wrap: wrap; gap: 10px 28px; padding: 20px 4px; margin-bottom: 16px; border-bottom: 1px solid #e4e7e5; font-size: 13px; font-weight: 600; }
.region-section { padding: 22px 0 32px; }
.region-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.region-cards article { padding: 26px; border: 1px solid #e1e7e5; border-radius: 16px; background: #fafbf9; }
.region-number { display: block; font-family: Georgia, serif; font-size: 25px; color: #8b806c; margin-bottom: 14px; }
.region-cards p { font-size: 15px; line-height: 1.75; color: #596269; margin-bottom: 0; }
.region-guide { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 40px; border-top: 1px solid #e1e7e5; padding: 32px 0; }
.region-guide > div { min-width: 0; }
.region-guide p { color: #596269; font-size: 16px; line-height: 1.85; }
.region-guide h3 { margin-top: 26px; }
.region-guide aside { height: fit-content; background: #edf3f3; border-radius: 18px; padding: 28px; }
.region-guide aside h2 { font-size: 27px; }
.region-guide ul { padding-left: 20px; margin: 20px 0 12px; font-size: 15px; color: #505d61; }
.region-guide li { margin: 0 0 12px; padding-left: 3px; }
.region-guide .region-small { font-size: 12px; margin-bottom: 0; }
.region-guide .region-review { font-size: 11px; margin: 24px 0 0; padding-top: 14px; border-top: 1px solid #e1e7e5; }
.region-faq { border: 1px solid #e1e7e5; border-radius: 18px; padding: 28px 34px; margin: 12px 0 28px; }
.region-faq .faq { max-width: none; }
.region-faq .faq h2 { margin-bottom: 14px; }
.region-faq details:last-child { border-bottom: 0; }
.region-faq summary { padding: 18px 0; }
.region-contact { display: grid; grid-template-columns: 1.5fr 1fr; align-items: center; gap: 35px; background: #f5f1eb; border-radius: 18px; padding: 30px; }
.region-contact p { color: #596269; font-size: 15px; margin-bottom: 0; }
.region-contact .actions { flex-direction: column; align-items: stretch; }
.region-related { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 25px; font-size: 12px; }
.region-related > span { color: #69747a; }
.container > section.regions-overview:not(.page-intro) { margin: 40px 0; }
.regions-overview { padding: 30px; display: grid; grid-template-columns: 1fr 1.4fr; gap: 32px; background: #f6f3ee; border: 1px solid #e8e1d7; border-radius: 20px; }
.regions-overview .eyebrow { font-size: 10px; color: #716f5f; margin-bottom: 12px; }
.regions-overview h2 { font-size: 31px; }
.regions-overview p:not(.eyebrow) { color: #5c6569; font-size: 14px; line-height: 1.7; margin-bottom: 0; }
.region-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.region-link { display: block; min-width: 0; padding: 19px; border-radius: 12px; background: white; border: 1px solid #e2e5df; color: #354d58; }
.region-link:hover { text-decoration: none; background: #edf3f3; border-color: #bacdcb; }
.region-link strong { display: flex; justify-content: space-between; gap: 15px; font-size: 18px; font-weight: 500; }
.region-link > span { display: block; margin-top: 7px; font-size: 12px; color: #667174; line-height: 1.6; }
.breadcrumbs { flex-wrap: wrap; }
@media (max-width: 900px) {
 .region-hero { gap: 24px; padding: 26px; grid-template-columns: 1.2fr 1fr; }
 .region-hero h1 { font-size: 38px; }
 .region-cards { gap: 12px; }
 .region-cards article { padding: 20px; }
 .region-guide { gap: 26px; grid-template-columns: 1.3fr 1fr; }
 .regions-overview { grid-template-columns: 1fr; gap: 24px; }
 .regions-overview h2 br { display: none; }
}
@media (max-width: 640px) {
 .region-page { margin-top: 22px; }
 .region-hero { grid-template-columns: 1fr; padding: 22px; gap: 22px; border-radius: 18px; }
 .region-hero h1 { font-size: clamp(31px, 8.5vw, 40px); }
 .region-hero .lead { font-size: 16px; margin: 18px 0; }
 .region-hero figure img { max-height: 380px; object-position: center 35%; }
 .region-hero .button { width: 100%; padding: 12px 16px; }
 .region-toc { gap: 8px 18px; font-size: 12px; }
 .region-cards, .region-guide, .region-contact { grid-template-columns: 1fr; }
 .region-cards { margin-top: 18px; }
 .region-cards article { padding: 22px; }
 .region-number { margin-bottom: 8px; font-size: 22px; }
 .region-guide { padding: 24px 0; gap: 22px; }
 .region-guide aside { padding: 24px; }
 .region-faq { padding: 24px 22px; }
 .region-faq .faq h2 { font-size: 28px; }
 .region-contact { padding: 24px; gap: 22px; }
 .regions-overview { padding: 24px; }
 .regions-overview h2 { font-size: 28px; }
 .region-links { grid-template-columns: 1fr; }
}
