:root{
  --primary:#0B4FA0;--primary-dark:#083A78;--primary-soft:#EAF1FA;
  --canvas:#F7F8FA;--surface:#FFFFFF;--outline:#E6E9EE;
  --text:#0F1720;--text-2:#667085;--text-3:#98A2B3;--radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Figtree',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--text);background:var(--canvas);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
img{display:block;max-width:100%}
.wrap{max-width:860px;margin:0 auto;padding:0 20px}

/* Header */
header{position:sticky;top:0;z-index:20;background:rgba(247,248,250,.9);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--outline)}
.nav{display:flex;align-items:center;justify-content:space-between;height:60px;max-width:1080px;margin:0 auto;padding:0 20px}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:17px;color:var(--text)}
.brand:hover{text-decoration:none}
.brand img{width:31px;height:31px;border-radius:8px}
.dl{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;
  background:var(--primary);color:#fff;border-radius:11px;padding:9px 16px}
.dl:hover{background:var(--primary-dark);text-decoration:none}

/* Breadcrumb */
.crumb{font-size:13px;color:var(--text-2);margin:22px 0 4px}
.crumb a{color:var(--text-2)}
.crumb a:hover{color:var(--primary)}

/* Headings */
h1{font-size:30px;font-weight:800;letter-spacing:-.3px;margin-top:6px;line-height:1.15}
.lead{color:var(--text-2);font-size:16px;margin-top:12px}

/* Meta chips */
.meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface);
  border:1px solid var(--outline);border-radius:999px;padding:6px 13px;font-size:13.5px;font-weight:600}
.chip.fee{background:#e7f4ee;border-color:#c9e7d7;color:#16794C}
.chip.rota{background:var(--primary-soft);border-color:#d5e3f5;color:var(--primary)}

/* Cards / sections */
.card{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius);
  padding:20px 22px;margin-top:22px}
.card h2{font-size:18px;font-weight:700;margin-bottom:12px}

/* Stop chain */
.stops{list-style:none;display:flex;flex-direction:column;gap:0}
.stops li{position:relative;padding:6px 0 6px 26px;font-size:15px}
.stops li::before{content:"";position:absolute;left:6px;top:14px;width:9px;height:9px;
  border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
.stops li::after{content:"";position:absolute;left:10px;top:20px;bottom:-6px;width:1px;background:var(--outline)}
.stops li:last-child::after{display:none}

/* CTA */
.cta{background:var(--primary);border-radius:16px;padding:24px;margin-top:24px;color:#fff;text-align:center}
.cta h2{font-size:19px;font-weight:800;color:#fff}
.cta p{color:#d6e4f5;font-size:14.5px;margin-top:6px}
.play{display:inline-flex;align-items:center;gap:11px;background:#fff;color:#0F1720;
  border-radius:12px;padding:11px 20px;margin-top:16px;font-weight:700}
.play:hover{text-decoration:none;background:#f1f5fb}
.play small{display:block;font-size:11px;color:var(--text-2);line-height:1.2;font-weight:500}
.play b{font-size:16px}
.play svg{width:21px;height:21px}

/* Related / listing grid */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}
.tile{display:block;background:var(--surface);border:1px solid var(--outline);border-radius:12px;
  padding:14px 16px}
.tile:hover{border-color:var(--primary);text-decoration:none}
.tile .t{font-weight:700;font-size:15px;color:var(--text)}
.tile .s{color:var(--text-2);font-size:13px;margin-top:3px}

/* District index sections */
.dsec{margin-top:30px}
.dsec h2{font-size:20px;font-weight:800;margin-bottom:6px}
.dsec .cols{columns:2;column-gap:26px}
.dsec .cols a{display:block;padding:5px 0;font-size:14.5px}
@media(max-width:640px){.grid{grid-template-columns:1fr}.dsec .cols{columns:1}}

footer{border-top:1px solid var(--outline);background:var(--surface);padding:30px 0;margin-top:44px}
.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;color:var(--text-2);font-size:13.5px}
.foot a{color:var(--text-2)}
.foot a:hover{color:var(--primary)}
