.section-route { display: none; }
@media(min-width:1100px) {
    .section-route { position: fixed; z-index: 140; top: 50%; right: 14px; display: flex; width: 38px; flex-direction: column; align-items: center; transform: translateY(-50%); color: #EEF1F8; }
    .section-route-title { writing-mode: vertical-rl; font-size: 9px; letter-spacing: .2em; margin-bottom: 16px; padding: 8px 5px; border-radius: 12px; background: #0B1B57; }
    .section-route > a:not(.section-route-cta) { position: relative; display: grid; place-items: center; width: 38px; height: 44px; }
    .section-route > a:not(.section-route-cta)::before { position: absolute; content: ''; top: 0; bottom: 0; left: 18px; width: 1px; background: #8DB4E6; opacity: .65; }
    .section-route i { position: relative; z-index: 1; width: 8px; height: 8px; border: 2px solid #C2CEF2; border-radius: 50%; background: #0B1B57; transition: transform 180ms, background-color 180ms; }
    .section-route a[aria-current] i { transform: scale(1.5); background: #1F4FD8; box-shadow: 0 0 0 4px rgba(141,180,230,.22); }
    .section-route a > span { position: absolute; right: 36px; padding: 9px 12px; border: 1px solid rgba(194,206,242,.4); border-radius: 20px; background: #0B1B57; font-size: 11px; white-space: nowrap; opacity: 0; transform: translateX(6px); transition: opacity 180ms, transform 180ms; pointer-events: none; }
    .section-route a[aria-current] > span, .section-route a:hover > span, .section-route a:focus-visible > span { opacity: 1; transform: none; }
    .section-route:has(a:hover) a[aria-current]:not(:hover) > span, .section-route:has(a:focus-visible) a[aria-current]:not(:focus-visible) > span { opacity: 0; }
    .section-route-cta { margin-top: 18px; padding: 12px 8px; writing-mode: vertical-rl; border-radius: 18px; font-size: 11px; background: #1F4FD8; }
    .section-route a:focus-visible { outline: 3px solid #8DB4E6; outline-offset: 3px; border-radius: 20px; }
    body.menu-open .section-route, body.contact-open .section-route { visibility: hidden; }
}
@media(prefers-reduced-motion:reduce) { .section-route i, .section-route a > span { transition: none; } }
