:root{
  --black:#000000;
  --yellow:#f1c40f;
  --white:#ffffff;
  --font:Arial,Helvetica,sans-serif;
  --max:1100px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{
  margin:0;
  padding:0;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  font-family:var(--font);
  background:var(--black);
  color:var(--yellow);
}
body{line-height:1.5}
a{color:inherit;text-decoration:none}
img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  margin:0 auto;
  object-fit:contain;
}
.wrap{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  padding:24px;
  overflow:hidden;
}
.section{
  width:100%;
  max-width:100%;
  padding:32px 16px;
  text-align:center;
  overflow:hidden;
}
.section--dark{background:var(--black);color:var(--yellow)}
.section--light{background:var(--yellow);color:var(--black)}
.title{font-weight:800;line-height:1.1;margin:0 0 8px}
.title--xl{font-size:clamp(28px,6vw,64px)}
.title--xxl{font-size:clamp(36px,9vw,96px)}
.lead{font-size:clamp(16px,2.6vw,26px);margin:8px 0 0}
.note{font-size:clamp(14px,2.2vw,20px)}
.small{font-size:.95rem}
.logo{width:120px;max-width:120px;height:auto;margin:0 auto}
.zone-image{width:100%;max-width:650px;height:auto;margin:20px auto 0}
.vehicle-image{width:100%;max-width:950px;height:auto;margin:0 auto}
.cta-phone{
  display:inline-block;
  max-width:100%;
  font-weight:800;
  font-size:clamp(26px,7vw,72px);
  padding:.25em .6em;
  border:3px solid currentColor;
  border-radius:12px;
  margin:4px;
  overflow-wrap:anywhere;
}
.btn{display:inline-block;font-weight:700;border:2px solid currentColor;border-radius:10px;padding:.6em 1em}
.btn--invert{background:transparent}
.nav,.sub-nav{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.nav a,.sub-nav a{padding:.5em 1em;border:2px solid currentColor;border-radius:10px;font-weight:700}
.grid{display:grid;gap:16px}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.main-nav{
  width:100%;
  background:var(--yellow);
  color:var(--black);
  border-top:3px solid var(--black);
  border-bottom:3px solid var(--black);
  overflow:hidden;
}
.main-nav ul{
  max-width:var(--max);
  margin:0 auto;
  padding:10px 12px;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
}
.main-nav li{margin:0;padding:0;flex:0 0 auto}
.main-nav a{
  display:inline-block;
  padding:10px 16px;
  border:2px solid var(--black);
  border-radius:8px;
  font-weight:800;
  text-decoration:none;
  background:var(--yellow);
  color:var(--black);
  white-space:nowrap;
}
.main-nav a:hover,.main-nav a:focus{background:var(--black);color:var(--yellow)}
ul.checklist{list-style:none;padding:0;margin:12px auto;max-width:900px;text-align:left}
ul.checklist li{margin:10px 0;padding-left:1.4em;position:relative}
ul.checklist li::before{content:"✓";position:absolute;left:0;font-weight:800}
.notice{border:3px solid currentColor;border-radius:10px;padding:14px 16px;font-weight:900;text-align:center}
.callout{border-left:5px solid currentColor;padding:12px 16px;margin:12px 0;background:rgba(255,255,255,.08)}
.section--light .callout{background:rgba(0,0,0,.06)}
footer .note{opacity:.9}
@media(max-width:700px){
  .main-nav{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .main-nav ul{width:max-content;min-width:100%;max-width:none;flex-wrap:nowrap;justify-content:flex-start}
  .main-nav a{white-space:nowrap}
  .grid--2{grid-template-columns:1fr}
  .wrap{padding:20px 14px}
  .section{padding:28px 10px}
  .logo{width:100px;max-width:100px}
  .zone-image,.vehicle-image{width:100%;max-width:100%}
  .cta-phone{width:auto;max-width:100%;font-size:clamp(22px,7vw,36px)}
}
