body{margin:0;-webkit-font-smoothing:antialiased;background:#ffffff}
  a{color:inherit;text-decoration:none}
  a:hover{color:#22A754}
  img{max-width:100%;display:block}
  ::selection{background:#22A754;color:#fff}
  @keyframes mzm-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @keyframes mzm-pulse{0%,100%{box-shadow:0 8px 20px rgba(0,0,0,.35)}50%{box-shadow:0 8px 26px rgba(0,0,0,.55),0 0 0 6px rgba(255,255,255,.12)}}
  @keyframes mzm-truck-in{0%{left:-70px}100%{left:calc(100% + 20px)}}

/* ---- sticky booking bar (was inline barStyle) ---- */
.mzm-sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:linear-gradient(90deg,#188C43,#22A754);border-top:3px solid #111111;
  box-shadow:0 -10px 30px rgba(0,0,0,.28);transform:translateY(100%);transition:transform .35s ease}
.mzm-sticky-bar.is-visible{transform:translateY(0)}

/* ================= MOBILE OPTIMIZATION ================= */
img{max-width:100%;height:auto;}

/* hamburger button (hidden on desktop, shown on mobile) */
.mzm-navtoggle{display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;padding:0;border:none;background:transparent;cursor:pointer;
  margin-left:auto;order:3;}
.mzm-navtoggle span{display:block;width:24px;height:2px;background:#111111;border-radius:2px;
  transition:transform .2s ease,opacity .2s ease;}

/* --- tablet / phone --- */
@media (max-width:860px){
  /* HEADER: collapse nav into a tap-to-open dropdown */
  .mzm-navtoggle{display:inline-flex;}
  header [style*="max-width:1180px"]{justify-content:flex-start !important;}
  header [style*="max-width:1180px"] > a[href^="tel:"]{margin-left:auto !important;}
  .mzm-navtoggle{margin-left:12px !important;}
  header ul{display:none !important;position:absolute;top:100%;left:0;right:0;
    flex-direction:column !important;gap:2px !important;background:#ffffff;
    padding:8px 22px 16px !important;border-bottom:1px solid #e6e6e6;
    box-shadow:0 16px 28px rgba(17,17,17,.10);}
  header.nav-open ul{display:flex !important;}
  header ul li{width:100%;}
  header ul a{display:block;padding:13px 2px;font-size:1.05rem;}
  header.nav-open .mzm-navtoggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  header.nav-open .mzm-navtoggle span:nth-child(2){opacity:0;}
  header.nav-open .mzm-navtoggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  /* HERO: stack image on top, text below */
  #hero{min-height:auto !important;flex-direction:column !important;}
  #hero > div[style*="width:64%"]{position:relative !important;width:100% !important;
    height:250px !important;order:-1;}
  #hero > div[style*="width:64%"] > div[style*="linear-gradient(90deg"]{display:none !important;}
  #hero [style*="max-width:32%"]{max-width:100% !important;}
  #hero [style*="max-width:1180px"]{padding:30px 20px 38px !important;}

  /* fixed two-column grids -> single column */
  [style*="grid-template-columns:minmax(320px,1.1fr) minmax(300px,1fr)"],
  [style*="grid-template-columns:minmax(320px,1fr) minmax(340px,.9fr)"],
  [style*="grid-template-columns:minmax(320px,1.55fr) minmax(280px,.85fr)"]{
    grid-template-columns:1fr !important;}

  /* photo mosaic: 4 columns -> 2 */
  [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr) !important;}

  /* quote-form card stops sticking, flows inline (header stays sticky) */
  [style*="position:sticky;top:90px"]{position:static !important;}

  /* trim oversized section padding */
  section{padding-top:48px !important;padding-bottom:48px !important;}
}

/* --- phones --- */
@media (max-width:560px){
  header [style*="max-width:1180px"]{padding:12px 16px !important;}
  header ul{gap:12px !important;font-size:.8rem !important;}
  h1{font-size:2.3rem !important;}
  h2{font-size:1.75rem !important;}
  [style*="max-width:1180px"]{padding-left:16px !important;padding-right:16px !important;}
  header a[href^="tel:"]{padding:9px 16px !important;font-size:.9rem !important;}

  /* sticky booking bar on phones: hide the decorative block + the duplicate
     phone button (Call is already in the sticky header and hero), leave one
     clear full-width "Request My Quote" button — compact and easy to tap. */
  .mzm-sticky-bar [style*="max-width:1180px"]{padding:10px 14px !important;gap:8px !important;
    justify-content:center !important;}
  .mzm-sticky-bar [style*="max-width:1180px"] > div:first-child{display:none !important;}
  .mzm-sticky-bar a[href^="tel:"]{display:none !important;}
  .mzm-sticky-bar [style*="display:flex;gap:12px;flex-wrap:wrap"]{width:100% !important;}
  .mzm-sticky-bar [style*="display:flex;gap:12px;flex-wrap:wrap"] > *{flex:1 1 auto !important;
    justify-content:center !important;min-height:48px;}
  header a[href^="tel:"]{min-height:44px;}
}

/* --- very small phones --- */
@media (max-width:380px){
  h1{font-size:2rem !important;}
  header ul{gap:9px !important;font-size:.72rem !important;}
}
