.marathon-route{grid-column:1 / -1;scroll-margin-top:140px;width:100%;min-width:0;border-top:1px solid var(--line);padding-top:36px}
.marathon-route-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:40px;align-items:start}
.marathon-route-copy h2{font-size:clamp(28px,3vw,39px);color:var(--ink);line-height:1.15;margin:12px 0 18px}
.marathon-route-copy p{color:var(--muted);line-height:1.65;max-width:55ch}
.marathon-route-controls{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.marathon-route-controls button,.marathon-route-copy>a{border:1px solid var(--line);border-radius:12px;min-height:44px;padding:11px 16px;background:var(--surface);color:var(--brand);font:inherit;font-weight:600}
.marathon-route-controls button[aria-pressed=true]{background:var(--brand);color:var(--surface)}
.marathon-route-copy>a{display:inline-flex;align-items:center;margin:8px 8px 8px 0;text-decoration:none}
.marathon-route-map{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--surface-soft);margin:0}
.marathon-route-map img{display:block;width:100%;height:auto}
.marathon-route-map svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.marathon-route-map path{fill:none;stroke:var(--brand);stroke-width:12;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;opacity:.9}
.marathon-route-map circle{fill:var(--brand);stroke:white;stroke-width:7}
.marathon-route-original{grid-column:1 / -1;margin-top:0;border-top:1px solid var(--line);padding-top:20px}
.marathon-route-original summary{cursor:pointer;min-height:44px;color:var(--brand);font-weight:600}
.marathon-route-original img{width:100%;max-width:200px;height:auto;display:block;border-radius:12px;margin-top:14px}
@media(max-width:700px){.marathon-route-layout{grid-template-columns:minmax(0,1fr);gap:24px}.marathon-route-map{width:100%;max-width:420px;margin-inline:auto}.marathon-route-controls button{flex:1 1 auto}}
