.regional-section { position:relative; margin:0; padding:84px 0 104px; background:linear-gradient(135deg,#f9a705 0%,#13b154 100%); color:#fff; font-family:'Figtree','Segoe UI',sans-serif; }
.regional-section::before { content:""; position:absolute; inset:0 0 auto; height:clamp(20px,2.2vw,40px); border-radius:0 0 50% 50% / 0 0 100% 100%; background:#f7f7f7; pointer-events:none; }
.regional-section + .site-footer { position:relative; margin-top:-48px; }
.regional-section .container { width:min(1320px,88%); margin:auto; }
.regional-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.18fr) minmax(0,1fr); align-items:center; gap:44px; }
.regional-grid > * { min-width:0; }
.regional-eyebrow { margin:0 0 18px; color:#fff; font-size:11px; font-weight:700; line-height:1.5; letter-spacing:.14em; }
.regional-copy h2 { margin:0 0 18px; color:#fff; font-family:inherit; font-size:clamp(26px,2.3vw,36px); font-weight:600; line-height:1.12; letter-spacing:-.025em; }
.regional-intro { margin:0; color:#fff; font-size:14px; line-height:1.75; }
.regional-map-wrap { position:relative; }
.regional-map-wrap > svg { display:block; width:100%; height:auto; max-height:420px; overflow:visible; }
.regional-map-wrap svg[hidden] { display:none; }
.regional-map-wrap path { fill:#dddcd7; stroke:#f7f5f1; stroke-width:1.5; cursor:pointer; transition:fill .2s ease; }
.regional-map-wrap path:hover,.regional-map-wrap path:focus-visible { fill:#83bd91; }
.regional-map-wrap path.is-selected { fill:#68a879; stroke:#508961; stroke-width:1.6; }
.regional-map-caption { display:flex; align-items:center; justify-content:center; gap:7px; margin:12px 0 0; color:#fff; font-size:11px; line-height:1.5; text-align:center; }
.regional-map-caption > span { flex-shrink:0; width:6px; height:6px; border-radius:50%; background:#68a879; }
.regional-map-tooltip { position:absolute; left:50%; bottom:30%; transform:translateX(-50%); width:280px; max-width:calc(100% - 24px); padding:14px 16px; border:1px solid #dbe6d7; border-radius:16px; background:#fff; color:#657161; z-index:2; font-size:12px; line-height:1.6; }
.regional-map-tooltip strong,.regional-map-tooltip span { display:block; }
.regional-map-tooltip strong { margin-bottom:4px; color:#438335; font-size:13px; font-weight:700; }
.regional-map-tooltip[hidden] { display:none; }
.regional-panel { padding:0; }
.regional-panel h3 { margin:0 0 18px; color:#fff; font-family:inherit; font-size:23px; line-height:1.25; font-weight:700; letter-spacing:-.02em; }
.regional-office { margin:0 0 24px; color:#fff; font-size:13px; font-style:normal; line-height:1.85; }
.regional-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.regional-phone { display:inline-flex; align-items:center; gap:8px; color:#fff; font-size:15px; font-weight:600; text-decoration:none; cursor:pointer; }
.regional-phone svg { width:16px; height:16px; fill:currentColor; }
.regional-route { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:0; border:0; background:none; color:#fff; font-size:13px; font-weight:700; text-decoration:none; white-space:nowrap; cursor:pointer; transition:transform .2s ease; }
.regional-route svg { width:16px; height:16px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.6; }
.regional-route:hover { transform:translateX(4px); }
.regional-section :is(a,path):is(:focus,:focus-visible) { outline:none; }
@media(max-width:1050px) { .regional-grid {grid-template-columns:1fr 1fr;gap:32px} .regional-copy {grid-column:1/-1;max-width:620px} }
@media(max-width:600px) { .regional-section {padding:56px 0 68px} .regional-section + .site-footer {margin-top:-32px} .regional-section .container {width:calc(100% - 40px)} .regional-grid {grid-template-columns:1fr;gap:30px} .regional-copy {grid-column:auto} .regional-map-wrap {width:100%;max-width:340px;margin:auto} .regional-copy h2 {font-size:29px} }
@media(prefers-reduced-motion:reduce) { .regional-section * {transition:none !important} }