/* Kontakt: kompakte Anfahrtsskizze */
.route-section { padding: 0 0 88px; }
.route-card { overflow:hidden; border:1px solid #28506d; border-radius:22px; background:linear-gradient(145deg,#0b1b30,#071222); box-shadow:0 24px 55px #0006; }
.route-copy { padding:38px 42px 20px; }
.route-copy h2 { margin:0 0 16px; font-size:clamp(1.9rem,3vw,3rem); line-height:1; color:#eef8ff; }
.route-copy p { color:#a8c2d6; line-height:1.65; }
.route-sketch { position:relative; min-height:510px; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 60% 30%,#164873,#071522 56%); border-top:1px solid #28506d; }
.route-map{display:block;background:#0b1e2d}.route-map svg{display:block;width:100%;height:510px;border:0}.map-field{fill:#0a2a2c;opacity:.78}.map-neighbourhood{fill:#254256;stroke:#47718a;stroke-width:2;opacity:.75}.map-river{fill:none;stroke:#26a8bb;stroke-width:30;opacity:.38}.map-rail{stroke:#8aa4b0;stroke-width:5;stroke-dasharray:17 8;opacity:.72}.map-road{fill:none;stroke:#d5e5e8;stroke-opacity:.75;stroke-width:13;stroke-linecap:round;stroke-linejoin:round}.map-road.main{stroke-width:18}.map-road-small{fill:none;stroke:#92b0bc;stroke-opacity:.58;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.map-route{fill:none;stroke:url(#mapRoute);stroke-width:12;stroke-linecap:round;stroke-linejoin:round}.map-target-ring{fill:#36ddeb20;stroke:#63f1f7;stroke-width:3;animation:routePulse 2s infinite}.map-pin{fill:#167ced;stroke:#72f6fb;stroke-width:3}.map-pin-dot{fill:#071524}.map-town{fill:#dff8ff;opacity:.78;font:800 32px Arial,sans-serif;letter-spacing:.16em}.map-street{fill:#e3f1f3;font:italic 15px Arial,sans-serif;paint-order:stroke;stroke:#0b1d2a;stroke-width:5}.map-label{fill:#effcff;font:800 18px Arial,sans-serif}.map-sub{fill:#9dc4d1;font:13px Arial,sans-serif}.map-entry{fill:#5de7ef;font:800 15px Arial,sans-serif}.map-river-label{fill:#71d4e0;font:italic 18px Georgia,serif}.map-rail-label{fill:#b5cbd5;font:700 14px Arial,sans-serif;letter-spacing:.08em}@keyframes routePulse{0%,100%{r:28;opacity:.65}50%{r:38;opacity:1}}
.route-sketch:before { content:""; position:absolute; inset:0; opacity:.38; background-image:linear-gradient(#8bcfff12 1px,transparent 1px),linear-gradient(90deg,#8bcfff12 1px,transparent 1px); background-size:30px 30px; }
.route-sketch svg { position:relative; z-index:1; width:100%; max-width:680px; height:auto; }
.route-road { fill:none; stroke:#48647a; stroke-width:13; stroke-linecap:round; opacity:.62; }.route-road-a { stroke-width:17; }.route-road-c { stroke-width:15; }.route-road-d { stroke-width:10; opacity:.5; }.route-road-e{stroke-width:9;opacity:.5}.route-road-f{stroke-width:8;opacity:.45}.route-road-small{fill:none;stroke:#354e64;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.route-rail{stroke:#6f8491;stroke-width:5;stroke-dasharray:16 7;opacity:.65}.route-river{fill:none;stroke:#218aae;stroke-width:16;opacity:.42}.route-rail-label,.route-river-label{fill:#89b5c8;font:700 13px Arial,sans-serif;letter-spacing:.08em}.route-river-label{font-style:italic}
.route-path { fill:none; stroke:url(#routeLine); stroke-width:7; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:13 9; }.route-path-two{stroke:#47e7ef}.route-path-three{stroke:#1788f1}
.route-start { fill:#06121f; stroke:#47e7ef; stroke-width:4; }
.route-pin { fill:#1d82ef; stroke:#75f0f7; stroke-width:2; }.route-pin-dot { fill:#061321; }
.route-label { fill:#dffaff; font:700 16px Arial,sans-serif; letter-spacing:.02em; }.route-direction{fill:#b7eefa;font:700 14px Arial,sans-serif}.route-town{fill:#7eb8ca;opacity:.65;font:700 30px Arial,sans-serif;letter-spacing:.18em}.route-address{fill:#8fb2c5;font:12px Arial,sans-serif}.route-street{fill:#a8bfce;font:italic 12px Arial,sans-serif}
.route-note { position:absolute; right:18px; bottom:14px; color:#8eb3c9; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
@media(max-width:780px){.route-sketch,.route-map svg{min-height:300px;height:330px}.route-copy{padding:30px 24px 16px}.route-section{padding-bottom:60px}.route-town{font-size:22px}.route-direction,.route-label{font-size:12px}.route-address,.route-street,.route-rail-label,.route-river-label{font-size:10px}}
