@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/plus-jakarta-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}

/* ---- base (from the original design) ---- */
body{margin:0;background:#F4F7F6;font-family:'Plus Jakarta Sans',sans-serif;font-weight:500;color:#0B2A3C;line-height:1.5;overflow-x:clip}
a{color:#0E6B73}a:hover{color:#0B2A3C}
*,*::before,*::after{box-sizing:border-box}
img,svg{max-width:100%}
h1,h2{text-wrap:balance}p{text-wrap:pretty}
summary{list-style:none}summary::-webkit-details-marker{display:none}
details[open] .chev{transform:rotate(180deg)}.chev{transition:transform .2s}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #F59E0B;outline-offset:2px}
.mapboxgl-ctrl-group button{width:44px!important;height:44px!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
h3{font-family:inherit}
[hidden]{display:none!important}
.skip{position:absolute;left:-9999px;top:0;background:#0B2A3C;color:#fff;padding:10px 14px;z-index:100;border-radius:0 0 6px 0}
.skip:focus{left:0}

/* ---- text pages (privacy) ---- */
.legal h2{font-weight:800;letter-spacing:-.02em;font-size:22px;line-height:1.2;margin:32px 0 8px}
.legal p,.legal ul{margin:0 0 14px;color:#3d5766}
.legal ul{padding-left:20px}.legal li{margin-bottom:8px}
.legal strong{color:#0B2A3C}

/* ---- hover states ---- */
.nl:hover{color:#0E6B73!important}
.btn-nav:hover{background:#0B2A3C!important}
.btn-hero:hover{background:#128089!important}

/* ---- quote form: compact card, fields pair up when there is room ---- */
.q-form{padding:16px;align-self:start;container-type:inline-size}
/* the two dropdowns only sit side by side when the form itself is wide enough for their text */
.q-row.q-sel{grid-template-columns:minmax(0,1fr)}
@container (min-width:420px){.q-row.q-sel{grid-template-columns:repeat(2,minmax(0,1fr))}}
.q-row{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
@media (min-width:480px){.q-form{padding:22px}.q-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---- responsive layout (was JS-driven; now media queries, same breakpoints) ---- */
.hero-grid{grid-template-columns:minmax(0,1fr)}
.hero-img{height:auto;aspect-ratio:1024/682}
/* phones: text and buttons first, then a short crop of the photo centred on the van */
@media (max-width:599.98px){.hero-grid{padding-top:28px!important}.hero-img{height:200px;aspect-ratio:auto;object-position:50% 80%}}
.hours-line{white-space:normal}
.hero-btns{flex-direction:column}
.hero-btns a{width:100%}
.shd{box-shadow:none}
.who-grid{grid-template-columns:minmax(0,1fr)}
.how-grid{grid-template-columns:minmax(0,1fr)}
@media (min-width:760px){.how-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* two-column range: the third card spans the row instead of sitting alone */
@media (min-width:560px) and (max-width:899.98px){.who-grid>div:last-child{grid-column:1/-1}}
.trust-grid{grid-template-columns:minmax(0,1fr)}
.trust-title{min-height:0}
.plan-grid{grid-template-columns:minmax(0,1fr)}
.map-box{height:min(320px,60vh)}
.map-legend{position:static;margin-top:10px;padding:10px 12px;font-size:14px}
.ft{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.ft-links{display:grid;grid-template-columns:repeat(2,max-content);column-gap:28px}
.ft-copy{grid-column:1/-1}
.bar-space{height:76px}
body.form-visible .mbar,body.menu-open .mbar{display:none!important}
@media (min-width:560px){.hours-line{white-space:nowrap}.who-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-title{min-height:2.5em}}
@media (min-width:600px){.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:700px){
  .hero-btns{flex-direction:row}.hero-btns a{width:auto}
  .shd{box-shadow:0 12px 30px rgba(0,0,0,.18)}
  .map-box{height:460px}
  .map-legend{position:absolute;margin-top:0;padding:8px 10px;font-size:12px}
  .ft{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}
  .bar-space{height:0}.mbar{display:none!important}
}
@media (min-width:820px){.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:900px){.who-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1100px){.ft{grid-template-columns:minmax(0,1fr) max-content max-content max-content;gap:28px 56px}}
@media (min-width:1000px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.trust-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.nav-mobile{display:none!important}}
@media (max-width:999.98px){.nav-desktop{display:none!important}}

/* ---- no phone configured yet: hide every phone element ---- */
.no-phone [data-phone]{display:none!important}
.no-phone .mbar{grid-template-columns:1fr!important}
