
:root{--blue1:#0d57a1;--blue2:#0a6dd9;--bg:#f6f8fb;--text:#0f172a;--muted:#475569;--card:#fff;--shadow:0 8px 24px rgba(2,6,23,.08);--radius:14px}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,sans-serif}
a{color:var(--blue2);text-decoration:none} a:hover{text-decoration:underline}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.site-header{background:linear-gradient(90deg,var(--blue1),var(--blue2));color:#fff;box-shadow:var(--shadow)}
.site-header .wrap{display:flex;align-items:center;gap:24px;padding:16px}
.brand{font-weight:800;font-size:20px}.brand .dotcom{opacity:.85}
.main-nav{display:flex;gap:10px;flex-wrap:wrap}
.main-nav a{color:#e6f2ff;padding:8px 10px;border-radius:10px}
.main-nav a.active,.main-nav a[aria-current="page"]{background:rgba(255,255,255,.18)}
.frame{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin:24px 0}
h1,h2,h3{line-height:1.25;margin:0 0 10px} h1{font-size:28px} h2{font-size:22px} h3{font-size:18px}
p{margin:0 0 12px}
.kicker{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.2px;margin:2px 0 10px}
.table{width:100%;border-collapse:separate;border-spacing:0;margin:10px 0 4px}
.table th,.table td{padding:10px;border-bottom:1px solid #eaeef5;vertical-align:top}
.table th{text-align:left;font-weight:700;background:#f3f6fb;position:sticky;top:0;z-index:1}
.note{font-size:13px;color:var(--muted);margin-top:8px}
.searchbar{display:flex;gap:8px;margin:8px 0 14px}
.searchbar input{flex:1;padding:10px 12px;border:1px solid #d7deea;border-radius:10px;background:#fff}
.anchor-list{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}
.anchor-list a{background:#f1f5ff;border:1px solid #e2e8ff;padding:6px 10px;border-radius:999px;color:#1e3a8a}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.card{background:#fff;border:1px solid #eef0f6;border-radius:12px;padding:12px}
.small{font-size:13px;color:#475569}
.badge{display:inline-block;padding:2px 8px;background:#eef2ff;border:1px solid #dde3ff;border-radius:999px;font-size:12px;margin-left:6px;color:#334155}
.thumb{width:80px;height:56px;object-fit:cover;border-radius:8px;border:1px solid #e5e7eb}
.news-item{display:flex;gap:12px;align-items:flex-start;margin:12px 0}
.mapthumb{width:120px;height:60px;background:linear-gradient(90deg,#e2e8f0,#f8fafc);border:1px solid #e5e7eb;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:#334155}
.footerline{display:flex;align-items:center;justify-content:space-between}
.callout{background:#eef6ff;border:1px solid #d1e6ff;border-radius:12px;padding:12px;margin:12px 0}
.printable{max-width:900px;margin:0 auto}
.route-card{display:flex;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:12px;padding:12px;margin:10px 0;background:#fff}
.route-card svg{width:160px;height:90px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}
.btn{display:inline-block;padding:10px 14px;border:1px solid #c7d2fe;border-radius:10px;background:#eef2ff;color:#1e3a8a;text-decoration:none;margin-right:8px}
@media print{.site-header,.site-footer{display:none} .frame{box-shadow:none;margin:0} .btn{display:none}}


/* --- v10 additions --- */
.list.columns-3{columns:3; column-gap:24px; padding-left:14px}
@media (max-width: 1024px){ .list.columns-3{columns:2} }
@media (max-width: 640px){ .list.columns-3{columns:1} }

.sidebar-wrap{display:grid; grid-template-columns:220px 1fr; gap:16px}
.sidebar{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px; height:fit-content; position:sticky; top:16px}
.sidebar h2{font-size:14px; text-transform:uppercase; color:#475569; margin:0 0 8px}
.sidebar ul{list-style:none; padding:0; margin:0}
.sidebar li{padding:8px 6px; border-bottom:1px solid #eef2f7}
.sidebar li:last-child{border-bottom:none}
.sidebar .muted{color:#64748b; font-size:13px}
