:root{--asph:#20242b;--line:#f2c230;--paper:#f7f5f0;--red:#b3261e;--soft:#6a7078;--edge:#dcd7cc}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--asph);font:17px/1.7 "Franklin Gothic Book","Libre Franklin","Segoe UI",Arial,sans-serif}
a{color:var(--red);text-underline-offset:3px}a:hover{color:var(--asph)}
.lane{max-width:1000px;margin:0 auto;padding:0 20px}
.tarmac{background:var(--asph);color:#fff;border-bottom:6px dashed var(--line)}
.tarmac .lane{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding-top:18px;padding-bottom:16px}
.plate{font:800 22px/1 "Arial Black","Franklin Gothic Heavy",Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#fff;text-decoration:none;font-style:italic}
.plate span{color:var(--line)}
.exits{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:15px}.exits a{color:#e9e9e9;text-decoration:none}.exits a:hover{color:var(--line)}
.depart{padding:50px 0 22px}.depart h1{font:800 clamp(32px,6vw,58px)/1.02 "Arial Black",Arial,sans-serif;font-style:italic;text-transform:uppercase;margin:0 0 14px;max-width:15ch}
.depart p{font-size:19px;color:var(--soft);max-width:56ch;margin:0}
.stages{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0;border:2px solid var(--asph);margin:18px 0 64px;background:#fff}
.stage{display:block;padding:22px;border:1px solid var(--edge);text-decoration:none;color:var(--asph)}
.stage:hover{background:#fffbe9;color:var(--asph)}
.stage h2{font-size:21px;line-height:1.25;margin:8px 0}.stage p{margin:0;font-size:15.5px;color:var(--soft);line-height:1.55}
.km{font:700 12px/1 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.roadbook{max-width:700px;margin:0 auto;padding:40px 0 64px}
.roadbook h1{font:800 clamp(27px,4.8vw,42px)/1.08 "Arial Black",Arial,sans-serif;font-style:italic;text-transform:uppercase;margin:12px 0 14px}
.brief{font-size:19px;color:var(--soft);border-left:6px solid var(--line);padding-left:16px;margin:0 0 28px}
.roadbook h2{font-size:22px;margin:32px 0 8px}.roadbook ul{padding-left:22px}.roadbook li{margin:6px 0}
.odo{margin-top:38px;font:13.5px/1.5 Arial,sans-serif;color:var(--soft);border-top:1px solid var(--edge);padding-top:12px}
.kerb{background:var(--asph);color:#c9ccd1;font-size:14.5px}.kerb .lane{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding-top:22px;padding-bottom:26px}.kerb a{color:#fff}
@media(max-width:560px){body{font-size:16.5px}.depart{padding-top:32px}}