/* Homepage werkgebied: decorative map with real text and destination links. */
.home-region { position:relative; overflow:hidden; background:linear-gradient(110deg,#fff 24%,#f3f8ff 100%); border-block:1px solid #e3ecf9; }
.home-region__inner { padding-block:64px 48px; }
.home-region__main { display:grid; grid-template-columns:.85fr 1.15fr; gap:24px; align-items:center; }
.home-region__copy { position:relative; z-index:1; }
.home-region__copy h2 { font-size:clamp(30px,3.4vw,46px); line-height:1.12; margin:16px 0 22px; max-width:480px; }
.home-region__copy p { color:#444B54; font-size:17px; line-height:1.7; margin:0 0 28px; max-width:470px; }
.home-region__cta { display:inline-flex; align-items:center; gap:20px; padding:17px 22px; border-radius:12px; background:#1055C8; color:#fff; text-decoration:none; font-weight:700; line-height:1.4; }
.home-region__cta:hover { background:#0b43a2; color:#fff; }
.home-region__map { position:relative; margin:-30px -35px -10px -30px; min-width:0; }
.home-region__texture { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.8; }
.home-region__map svg { position:relative; display:block; width:100%; height:auto; overflow:visible; }
.home-region__routes { fill:none; stroke:#1055C8; stroke-width:1.25; stroke-dasharray:3 5; opacity:.55; }
.home-region__points circle { fill:#1055C8; stroke:#fff; stroke-width:3; }
.home-region__points text { fill:#132e58; font-family:var(--font-body); font-size:20px; font-weight:600; paint-order:stroke; stroke:#f7faff; stroke-width:6px; stroke-linejoin:round; }
.home-region__links { position:relative; display:flex; flex-wrap:wrap; gap:12px; list-style:none; padding:0; margin:28px 0 0; }
.home-region__links li { display:flex; flex:1 0 calc(14.285% - 12px); }
.home-region__links a { display:flex; align-items:center; justify-content:center; width:100%; min-height:44px; border:1px solid #c8daf5; border-radius:30px; padding:10px 15px; background:rgba(255,255,255,.92); color:#17345c; text-decoration:none; font-size:14px; font-weight:600; white-space:nowrap; transition:background .15s,border-color .15s; }
.home-region__links a:hover { background:#eaf1fc; border-color:#1055C8; color:#1055C8; }
.home-region a:focus-visible { outline:3px solid #1055C8; outline-offset:4px; }
@media(max-width:900px) {
 .home-region__main { grid-template-columns:1fr; gap:8px; }
 .home-region__inner { padding-block:44px 36px; }
 .home-region__copy h2,.home-region__copy p { max-width:620px; }
 .home-region__map { margin:0 auto; width:100%; max-width:720px; }
 .home-region__links { margin-top:12px; }
 .home-region__links li { flex-basis:calc(25% - 12px); }
}
@media(max-width:540px) {
 .home-region__copy h2 { font-size:32px !important; }
 .home-region__copy p { font-size:16px; }
 .home-region__map { width:calc(100% + 20px); margin-left:-10px; }
 .home-region__points text { font-size:25px; stroke-width:7px; }
 .home-region__links { gap:8px; }
 .home-region__links li { flex-basis:calc(50% - 8px); }
 .home-region__links a { white-space:normal; text-align:center; font-size:13px; padding:10px; }
 .home-region__cta { font-size:14px; gap:12px; }
}
@media(prefers-reduced-motion:reduce) { .home-region__links a { transition:none; } }
