.locale-content { max-width: 1140px; margin: 0 auto; padding: 42px 24px 64px; }
.locale-content h1 { max-width: 850px; font-size: clamp(32px,4.5vw,52px); line-height: 1.14; letter-spacing: -.035em; margin: 12px 0 22px; }
.locale-content p { font-size: 16px; line-height: 1.8; max-width: 80ch; overflow-wrap: anywhere; }
.locale-content section { margin-top: 52px; padding-top: 28px; border-top: 1px solid #e5dbe1; }
.locale-eyebrow { color: #76415f; font-size: 13px !important; letter-spacing: .04em; }
.locale-lead { font-size: 20px !important; color: #63374f; }
.locale-metrics { display: flex; flex-wrap: wrap; gap: 40px; margin: 30px 0; }
.locale-metrics div { display: grid; gap: 6px; border-left: 2px solid #e4b855; padding-left: 18px; }
.locale-metrics strong { font: 600 36px Georgia,serif; color: #713c5c; }
.locale-metrics span { font-size: 14px; color: #786d76; }
.locale-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 24px 0; }
.locale-card { min-width: 0; padding: 24px; border: 1px solid #e6dce3; border-radius: 12px; background: #fffdfa; }
.locale-card h2 { font-size: 21px; margin: 0 0 12px; overflow-wrap: anywhere; }
.locale-card p { font-size: 15px; margin: 12px 0; }
.locale-tags,.locale-actions,.locale-pagination { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.locale-tags a { border-radius: 5px; padding: 5px 9px; background: #f3edf2; font-size: 12px; text-decoration: none; }
.locale-actions a,.locale-pagination a { border: 1px solid #ddccd7; border-radius: 7px; padding: 10px 14px; text-decoration: none; }
.locale-bars { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 20px; }
.locale-bars a { padding: 12px 18px; border-left: 3px solid #e6b957; background: #f5eef4; text-decoration: none; }
.locale-content details { margin: 22px 0; padding: 18px; border: 1px solid #e5dbe1; border-radius: 8px; }
.locale-content summary { cursor: pointer; color: #713c5c; }
.locale-search { display: flex; gap: 10px; margin: 24px 0; }
.locale-search input { flex: 1; min-width: 0; }
.locale-content input,.locale-content select,.locale-content button { padding: 11px 14px; border: 1px solid #d9ccd5; border-radius: 6px; background: #fff; color: #412f3d; font: inherit; }
.locale-explore label { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 10px 20px 10px 0; }
.locale-explore input[type="checkbox"] { width: 18px; height: 18px; min-width: 18px; margin: 0; padding: 0; accent-color: #713c5c; }
#locale-map { position: relative; min-height: 300px; background: #faf6fa; border: 1px solid #e4d9e2; border-radius: 12px; overflow: hidden; }
#locale-map svg { display: block; width: 100%; height: auto; }
#locale-map circle { cursor: pointer; stroke-width: 1.5; }
#locale-map circle:hover,#locale-map circle:focus { stroke: #44233c; stroke-width: 3; outline: none; }
#locale-map-detail { padding: 16px 0; }
.locale-notice { border-left: 3px solid #e4b855; padding: 12px 18px; background: #fcf5e6; }
.locale-body header nav { flex-wrap: wrap; }
.locale-body header nav a { white-space: nowrap; }
@media(max-width:640px) { .locale-content { padding: 28px 18px 48px; } .locale-grid,.locale-bars { grid-template-columns: 1fr; } .locale-metrics { gap: 24px; } .locale-card { padding: 19px; } .locale-body header { gap: 12px; flex-wrap: wrap; } .locale-body header nav { width: 100%; margin: 0; gap: 4px; } .locale-body header nav a { flex: 0 1 auto; padding: 9px 10px; font-size: 12px; } .locale-content p { font-size: 15px; } }
.locale-topic-case { margin: 2rem 0; padding: 1.5rem 0; border-top: 1px solid #decfda; scroll-margin-top: 1rem; }
.locale-topic-case li { margin: .65rem 0; line-height: 1.8; }
.locale-topic-case h3 { margin-top: 1.4rem; }
.locale-comparison { overflow-x: auto; margin: 1.5rem 0 2.5rem; }
.locale-comparison table { border-collapse: collapse; width: 100%; min-width: 520px; font-size: 15px; line-height: 1.7; }
.locale-comparison th, .locale-comparison td { padding: 14px; text-align: left; vertical-align: top; border-bottom: 1px solid #e5dbe1; }
.locale-comparison thead { background: #f6f0f5; }
.locale-comparison caption { text-align: left; padding: 0 0 12px; color: #756774; }
.locale-comparison:focus-visible { outline: 2px solid #b58b31; outline-offset: 3px; }
.analytics-consent { text-align: left; font-size: 14px; line-height: 1.7; color: #412f3d; }
.analytics-consent.is-choosing { position: fixed; z-index: 1000; right: 20px; bottom: 20px; width: min(660px,calc(100% - 40px)); max-height: 65vh; overflow: auto; background: #fffdfa; border: 1px solid #ddccd7; border-radius: 12px; box-shadow: 0 8px 32px #44233c24; padding: 16px; }
.analytics-choice { margin: 0; padding: 4px; }
.analytics-consent p { margin: 0 0 12px; font-size: 14px; line-height: 1.7; }
.analytics-consent button { min-height: 44px; margin: 0 8px 8px 0; padding: 9px 14px; border: 1px solid #92718a; border-radius: 7px; color: #63374f; background: #fffdfa; font: inherit; cursor: pointer; }
.analytics-consent button:hover { background: #f3edf2; }
.analytics-consent button:focus-visible,.analytics-consent a:focus-visible { outline: 2px solid #a37322; outline-offset: 3px; }
.analytics-consent .analytics-settings { margin-top: 8px; }
.analytics-consent a { display: inline-block; color: #63374f; text-decoration: underline; }
.analytics-choice[hidden],.analytics-settings[hidden] { display: none; }
@media(max-width:640px) { .analytics-consent.is-choosing { right: 12px; bottom: 12px; width: calc(100% - 24px); padding: 14px; } }
