/* Dedicated routing section. Full-width borders; no max-width cap. */
.directory-route-section { width:100%; max-width:none; padding:36px clamp(20px,2vw,80px); box-sizing:border-box; border-bottom:1px solid #dce7f3; }
.directory-route-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.directory-route-card { position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; padding:26px; min-width:0; color:#122b48; background:linear-gradient(145deg,#fff,#f1f7ff); border:1px solid #d7e4f4; border-radius:18px; text-decoration:none; transition:transform .2s,border-color .2s,box-shadow .2s; }
.directory-route-card:hover { transform:translateY(-3px); border-color:#85adf4; box-shadow:0 14px 32px #173f7712; }
.directory-route-card:focus-visible { outline:3px solid #245cff; outline-offset:4px; }
.directory-route-card .route-art { display:flex; align-items:center; height:92px; margin-bottom:20px; color:#2563eb; }
.directory-route-card .route-art svg { width:64px; height:64px; }
.directory-route-card .section-kicker { color:#2859b8; font-size:11px; letter-spacing:.09em; }
.directory-route-card h3 { margin:10px 0; font-size:clamp(20px,1.25vw,32px); line-height:1.2; font-weight:650; }
.directory-route-card p { margin:0 0 24px; font-size:15px; line-height:1.6; color:#536b85; max-width:44ch; }
.directory-route-card .route-link { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:auto; padding-top:16px; border-top:1px solid #dce7f3; color:#1e56cd; font-size:14px; }
.directory-route-card .route-link span { font-size:23px; }
.route-countries { background:linear-gradient(145deg,#f8ffff,#eaf7fa); }
.route-countries::before { content:""; position:absolute; z-index:-1; inset:10px 8px auto; height:145px; background:url("../images/world-map.svg") center/contain no-repeat; opacity:.18; pointer-events:none; }
.route-countries .route-art { color:#087e93; }
.route-owners { background:linear-gradient(145deg,#fff,#eef9f4); }
.route-owners .route-art { color:#168567; }
.route-network { background:linear-gradient(145deg,#fff,#f3efff); }
.route-network .route-art { color:#7650cc; }
#heroSignalRail:focus-within .signal-rail-track, #heroSignalRail:hover .signal-rail-track { animation-play-state:paused; }
@media(min-width:2400px) { .directory-route-card { padding:36px; } .directory-route-card p { font-size:18px; } }
@media(max-width:1050px) { .directory-route-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .directory-route-grid { grid-template-columns:1fr; } .directory-route-card { padding:22px; } .directory-route-card .route-art { height:62px; margin-bottom:14px; } }
@media(prefers-reduced-motion:reduce) { .directory-route-card { transition:none; } .directory-route-card:hover { transform:none; } #heroSignalRail .signal-rail-track { animation:none; } }
