/* Extend the established geography layout with readable contrast and keyboard focus. */
[data-region-page] { color:#18304f; font-size:16px; line-height:1.7; }
[data-region-page] h1,[data-region-page] h2,[data-region-page] h3 { text-wrap:balance; }
[data-region-page] h1 { line-height:1.12; }
[data-region-page] .hero-inner { position:relative; z-index:1; }
[data-region-page] .hero p { color:#f1f5f9; max-width:49%; }
[data-region-page] .btn-primary { background:#c2410c; color:#fff; }
[data-region-page] .btn-primary:hover { background:#9a3412; }
[data-region-page] .form :is(input:not([type="hidden"]),select,textarea) { font-size:16px; min-height:48px; border-color:#8298b2; }
[data-region-page] .form label { color:#203650; font-size:15px; line-height:1.5; }
[data-region-page] .form button { min-height:50px; }
[data-region-page] .form :is(.quote-form__privacy,.quote-form__privacy a) { color:#40536d; font-size:14px; }
[data-region-page] :is(a,button,input,textarea,select,summary):focus-visible { outline:3px solid #2563eb; outline-offset:4px; }
[data-region-page] .hero :is(a,button):focus-visible { outline-color:#fff; }
[data-region-page] :is(.card,.region-box,.town-card,.france-commune-card) { min-width:0; overflow-wrap:anywhere; }
[data-region-page] :is(.city-list,.france-commune-grid,.lux-town-grid) a { min-height:44px; }
[data-region-page] :is([data-commune-search],[data-lux-town-search]) { font-size:16px; min-height:48px; }
[data-region-page] .keyword-block { color:#203650; background:#edf3f9; line-height:1.7; }
[data-region-page] .keyword-block h3 { color:#18304f; }
[data-region-page] :is(a,button,input,textarea,select,summary) { scroll-margin-block:130px; }
@media(max-width:640px) {
  [data-region-page] .hero h1 { font-size:clamp(30px,8vw,42px); }
  [data-region-page] .hero p { font-size:17px; max-width:100%; }
  [data-region-page] :is(.actions,.hero-actions) { flex-wrap:wrap; }
  [data-region-page] .form { min-width:0; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  [data-region-page] *,[data-region-page] *::before,[data-region-page] *::after { animation:none!important; transition:none!important; }
}
