:root{
  --plate:#F7F8F6; --blue:#1B2A6B; --red:#C8102E; --asphalt:#2A2D31;
  --line:#F2C230; --mute:#5E6470; --rule:#D9DCE1;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:"Barlow",system-ui,sans-serif;color:var(--asphalt);background:#fff;line-height:1.5;font-size:17px}
a{color:var(--blue)}
:focus-visible{outline:3px solid var(--line);outline-offset:2px}
.wrap{max-width:720px;margin:0 auto;padding:0 20px}
header.top{background:var(--blue);color:#fff}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:22px;color:#fff;text-decoration:none;letter-spacing:.3px}
.brand span{color:var(--line)}
.top small{font-size:14px;opacity:.85}
.hero{background:var(--asphalt);color:#fff;padding:44px 0 56px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:22px;height:6px;
  background:repeating-linear-gradient(90deg,var(--line) 0 48px,transparent 48px 88px);opacity:.9}
.hero h1{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:44px;line-height:1.05;max-width:14ch}
.hero p.sub{margin-top:12px;font-size:18px;color:#D6D9DE;max-width:36ch}
/* the license plate */
.plate{margin-top:28px;background:var(--plate);border-radius:14px;padding:14px 18px 16px;max-width:420px;
  border:3px solid #BFC4CC;box-shadow:inset 0 0 0 2px #fff;color:var(--blue);position:relative}
.plate .state{font-family:"Kaushan Script",cursive;color:var(--red);font-size:28px;text-align:center;line-height:1}
.plate label{display:block;text-align:center;font-size:13px;color:var(--mute);margin-top:2px}
.plate .row{display:flex;gap:10px;margin-top:10px}
.plate input{flex:1;min-width:0;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:34px;letter-spacing:6px;
  text-align:center;color:var(--blue);background:transparent;border:0;border-bottom:3px solid var(--blue);padding:2px 0}
.plate input::placeholder{color:#AEB5C2}
.plate .bolt{position:absolute;top:10px;width:9px;height:9px;border-radius:50%;background:#C7CBD2}
.plate .bolt.l{left:14px}.plate .bolt.r{right:14px}
.btn{font-family:"Barlow",sans-serif;font-weight:700;font-size:18px;background:var(--red);color:#fff;border:0;border-radius:8px;
  padding:14px 22px;cursor:pointer}
.btn:hover{background:#A60D26}
.btn.ghost{background:transparent;color:var(--mute);font-weight:600;padding:14px 8px}
.err{color:var(--red);font-size:15px;margin-top:8px;min-height:1em}
.hero .err{color:#FF9AA8;text-align:left}
/* form steps */
#quote{display:none;padding:36px 0 60px}
#quote.on{display:block}
.progress{height:6px;background:var(--rule);border-radius:3px;overflow:hidden}
.progress i{display:block;height:100%;background:var(--blue);width:0;transition:width .3s}
.stepcount{font-size:14px;color:var(--mute);margin-top:8px}
.step{display:none;margin-top:18px}
.step.on{display:block}
.step h2{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:30px;line-height:1.1;color:var(--blue);margin-bottom:16px}
.field{margin-bottom:16px}
.field label{display:block;font-weight:600;margin-bottom:6px}
.field input,.field select{width:100%;font:inherit;padding:13px 14px;border:2px solid var(--rule);border-radius:8px;background:#fff}
.field input:focus,.field select:focus{border-color:var(--blue);outline:none}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choices{display:grid;gap:10px}
.choices label{display:block;border:2px solid var(--rule);border-radius:8px;padding:14px 16px;font-weight:600;cursor:pointer}
.choices input{position:absolute;opacity:0;pointer-events:none}
.choices input:checked+span{color:var(--blue)}
.choices label:has(input:checked){border-color:var(--blue);background:#EEF1FA}
.choices label:has(input:focus-visible){outline:3px solid var(--line)}
.nav{display:flex;justify-content:space-between;align-items:center;margin-top:22px}
.consent{font-size:13px;line-height:1.45;color:var(--mute);margin-top:14px}
.hp{position:absolute;left:-9999px}
.why{padding:40px 0;border-top:1px solid var(--rule)}
.why h2{font-family:"Barlow Condensed",sans-serif;font-size:28px;color:var(--blue);margin-bottom:12px}
.why ul{list-style:none;display:grid;gap:12px}
.why li{padding-left:18px;border-left:4px solid var(--line)}
footer{background:#F1F2F4;font-size:14px;color:var(--mute);padding:26px 0}
footer a{margin-right:16px}
footer p{margin-top:10px}
.doc{padding:36px 0 60px}
.doc h1{font-family:"Barlow Condensed",sans-serif;color:var(--blue);font-size:36px;margin-bottom:6px}
.doc h2{font-size:20px;margin:22px 0 6px;color:var(--blue)}
.doc p,.doc li{margin-bottom:8px;max-width:68ch}
.doc ul{padding-left:20px}
@media (min-width:700px){.hero h1{font-size:58px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media (max-width:480px){.top small{display:none}}
