
*{margin:0;padding:0;box-sizing:border-box}
:root{--green:#2f6b3f;--deep:#173526;--amber:#d89b2b;--cream:#fff7e8;--paper:#fffdf8;--ink:#17201b;--muted:#667267;--line:#eadfcb;--bg:#f7efe0;--ok:#27824b;--warn:#b97916;--bad:#b83232}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:2.1rem;line-height:1.2;margin-bottom:.5em}
h2{font-size:1.5rem;margin-bottom:.5em}
h3{font-size:1.1rem;margin-bottom:.4em}
.section{padding:42px 20px}
.section.alt,.band{background:var(--bg)}
.muted{color:var(--muted);font-size:.9rem}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.96);border-bottom:1px solid var(--line);backdrop-filter:saturate(140%) blur(8px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 20px}
.logo{font-weight:800;font-size:1.2rem;color:var(--ink)}
.nav{display:flex;align-items:center;gap:18px}
.nav a{color:var(--ink);font-weight:600}
.menu-toggle{display:none;font-size:1.5rem;background:none;border:0;cursor:pointer}
.dropdown{position:relative}
.dropdown-toggle{background:none;border:0;font:inherit;font-weight:600;cursor:pointer;color:var(--ink)}
.dropdown-menu{display:none;position:absolute;right:0;top:130%;background:#fffdf8;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px rgba(47,36,20,.12);padding:8px;min-width:250px;max-height:60vh;overflow:auto}
.dropdown:hover .dropdown-menu{display:block}
.dropdown-menu a{display:block;padding:8px 10px;border-radius:8px;color:var(--ink);font-weight:500}
.dropdown-menu a:hover{background:var(--cream);text-decoration:none}
/* hero */
.hero{background:linear-gradient(135deg,#173526 0%,#2f6b3f 58%,#d89b2b 120%);color:#fff;padding:64px 20px}
.hero h1{color:#fff}
.hero .lede{font-size:1.15rem;max-width:720px;opacity:.95}
.hero .eyebrow,.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;opacity:.85;margin-bottom:.4em;color:inherit}
.lede{font-size:1.1rem;color:var(--muted);max-width:720px;margin-bottom:1em}
.hero .lede{color:#fff7e8}
.hero-caveat{font-size:.85rem;color:#f7e7c6;max-width:680px;margin-top:16px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.cta{display:inline-block;margin-top:18px;background:var(--amber);color:#1f261f;font-weight:800;padding:13px 22px;border-radius:999px;border:1px solid rgba(23,53,38,.18)}
.hero-actions .cta{margin-top:0}
.cta.secondary{background:#fffdf8;color:var(--deep)}
.cta:hover{text-decoration:none;filter:brightness(.97)}
/* cards */
.route-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:18px}
.topic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:18px}
.topic-card,.route-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;padding:16px;background:#fffdf8;transition:.15s}
.topic-card{gap:8px;min-height:180px}
.topic-card strong{font-size:1.15rem;color:var(--deep)}
.topic-card span:last-child{color:var(--muted);font-size:.95rem}
.route-card:hover,.topic-card:hover{border-color:var(--green);box-shadow:0 8px 20px rgba(47,107,63,.14);text-decoration:none;transform:translateY(-2px)}
.route-card .code{font-weight:800;font-size:1.2rem;color:var(--green)}
.route-card .city{color:var(--muted);font-size:.88rem}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:18px}
.cols h3{color:var(--green)}
.pill{display:inline-flex;align-self:flex-start;border:1px solid #e8c778;background:#fff3cd;color:#6b4b0b;border-radius:999px;padding:3px 9px;font-size:.75rem;font-weight:800}
.split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.side-panel,.notice{border:1px solid var(--line);border-radius:8px;background:#fffdf8;padding:18px}
.notice{border-left:5px solid var(--amber)}
.side-panel ul{margin:10px 0 12px 18px}
.checklist{list-style:none;margin-top:18px;display:grid;gap:12px}
.checklist li{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;background:#fffdf8;padding:12px}
.checkmark{display:inline-grid;place-items:center;flex:0 0 24px;height:24px;border-radius:999px;background:#e1f1df;color:var(--green);font-weight:900}
/* table */
.table-scroll{overflow-x:auto;margin-top:16px}
table.cmp{width:100%;border-collapse:collapse;font-size:.95rem;min-width:680px}
table.cmp th,table.cmp td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
table.cmp th{background:var(--bg);font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700}
.badge.ok{background:#dcfce7;color:var(--ok)}
.badge.warn{background:#fef3c7;color:var(--warn)}
.badge.bad{background:#fee2e2;color:var(--bad)}
.cmp .src{font-size:.72rem;margin-top:4px}
.cmp .src a{color:var(--muted)}
.cmp .src .muted{font-size:.72rem}
.sourcing{margin-top:14px;font-style:italic}
.toll-note{background:#fff7dd;border:1px solid #edcf82;border-radius:8px;padding:12px 16px;margin-top:14px;color:#5f4210}
/* faq + chips */
.faq{border:1px solid var(--line);border-radius:8px;padding:6px 16px;margin-bottom:10px;background:#fffdf8}
.faq summary{cursor:pointer;font-weight:700;padding:10px 0}
.faq p{padding-bottom:12px;color:var(--muted)}
.steps{margin:14px 0 0 18px}
.steps li{margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chip{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:.9rem;color:var(--ink);background:#fffdf8}
.chip:hover{border-color:var(--green);text-decoration:none}
/* discover cars banner */
.dc-banner{padding:24px 20px 8px;text-align:center}
.rental-cta{display:flex;align-items:center;justify-content:space-between;gap:24px}
.rental-cta h2{margin-bottom:8px}
.rental-cta p{margin-bottom:0;max-width:62ch}
/* footer */
.site-footer{border-top:1px solid var(--line);padding:30px 20px;margin-top:20px;background:var(--bg)}
.site-footer p{margin-bottom:8px}
.foot-links a{color:var(--ink)}
.legal p{margin-bottom:14px;color:#334155}
.legal h2{margin:26px 0 10px;font-size:1.25rem}
@media(max-width:720px){
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;top:56px;left:0;right:0;flex-direction:column;background:#fffdf8;border-bottom:1px solid var(--line);padding:14px 20px;gap:12px}
  .nav.open{display:flex}
  .dropdown-menu{position:static;box-shadow:none;border:0;padding:0;max-height:none}
  .dropdown:hover .dropdown-menu{display:block}
  .split,.rental-cta{grid-template-columns:1fr;display:grid}
  h1{font-size:1.7rem}
}
