.road-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:24px;margin-top:8px}
.road-list h2{margin-top:0}
.road-cards{list-style:none;padding:0;margin:0;max-width:none}
.road-card{border:1px solid #b5b5b5;border-radius:6px;overflow:hidden;margin:0 0 10px}
.road-img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--grey)}
.road-body{padding:12px 14px}
.road-card h3{font-size:16px;line-height:1.3;margin:0;color:var(--navy)}
.road-tags{margin:6px 0 0;max-width:none}
.road-tag{display:inline-block;border:1px solid var(--navy);border-radius:4px;padding:1px 7px;font-size:13px;margin:0 6px 4px 0;color:var(--navy)}
.road-desc{white-space:pre-line;font-size:14px;margin:6px 0 0;max-width:none}
.road-meta{font-size:13px;color:#444;margin:6px 0 0;max-width:none}
.road-empty{font-size:14px;color:#444}
.road-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.road-skel .skel-img{aspect-ratio:16/9;background:#e4e4e4}
.road-skel .skel-line{height:14px;width:70%;background:#e4e4e4;border-radius:4px;margin:3px 0}
.road-skel .skel-img,.road-skel .skel-line{animation:road-pulse 1.6s ease-in-out infinite}
@keyframes road-pulse{0%,100%{opacity:1}50%{opacity:.5}}
@media (prefers-reduced-motion:reduce){.road-skel .skel-img,.road-skel .skel-line{animation:none}}
html:not(.js) .road-skel{display:none}
