/* TraslocoPro v5.4.50 — exact desktop hero skin.
 * Loaded AFTER v37-shell.css. Desktop only. Mobile/tablet stay untouched.
 */
.tpv37-hero-lead-desktop{display:none!important}
@media (min-width:1025px){
  body.tpv37-elementor-page .tpv37-hero{
    position:relative!important;
    display:block!important;
    min-height:0!important;
    padding:68px 0 0!important;
    overflow:hidden!important;
    background:#f7f9f8!important;
  }
  body.tpv37-elementor-page .tpv37-hero:before{
    content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;
    background:
      radial-gradient(circle at 92% 8%,rgba(34,197,94,.16),rgba(34,197,94,0) 34%),
      linear-gradient(31deg,transparent 0 26%,rgba(207,227,215,.34) 26.05% 26.16%,transparent 26.22%),
      linear-gradient(151deg,transparent 0 61%,rgba(207,227,215,.28) 61.04% 61.15%,transparent 61.2%)!important;
  }
  body.tpv37-elementor-page .tpv37-hero:after{display:none!important;content:none!important}
  body.tpv37-elementor-page .tpv37-hero > .tpv37-hero-grid{
    position:relative!important;z-index:1!important;
    display:grid!important;grid-template-columns:1.05fr .95fr!important;gap:56px!important;align-items:start!important;
    width:min(calc(100% - 64px),1176px)!important;max-width:1176px!important;margin:0 auto!important;padding:0!important;
  }
  body.tpv37-elementor-page .tpv37-hero-copy{width:100%!important;max-width:none!important;min-width:0!important;padding:0!important;margin:0!important}

  body.tpv37-elementor-page .tpv37-title-mobile{display:none!important}
  body.tpv37-elementor-page .tpv37-title-desktop{
    display:block!important;width:100%!important;max-width:630px!important;margin:0 0 22px!important;
    color:#0f172a!important;font-family:'Bitter',Georgia,serif!important;font-size:58px!important;line-height:1.04!important;
    font-weight:900!important;letter-spacing:-.87px!important;text-transform:none!important;font-style:normal!important;
  }
  body.tpv37-elementor-page .tpv37-title-desktop > span{font-family:'Bitter',Georgia,serif!important}
  body.tpv37-elementor-page .tpv37-title-desktop > span:first-child{white-space:nowrap!important}
  body.tpv37-elementor-page .tpv37-title-desktop .tpv37-accent{
    display:inline-block!important;position:relative!important;white-space:nowrap!important;color:#15803d!important;
    font-family:'Bitter',Georgia,serif!important;font-size:58px!important;line-height:1.04!important;font-weight:900!important;
  }
  body.tpv37-elementor-page .tpv37-title-desktop .tpv37-accent:after{
    content:""!important;position:absolute!important;left:-2px!important;right:-2px!important;bottom:7px!important;height:13px!important;
    border-radius:4px!important;background:#d7f0e2!important;z-index:-1!important;
  }
  body.tpv37-elementor-page .tpv37-eyebrow{
    display:inline-flex!important;align-items:center!important;gap:8px!important;width:auto!important;max-width:max-content!important;
    margin:0 0 24px!important;padding:8px 16px!important;border:1px solid #e2e8e4!important;border-radius:999px!important;
    background:#fff!important;color:#15803d!important;box-shadow:0 10px 24px -14px rgba(15,23,42,.18)!important;
    font-size:13px!important;line-height:1.2!important;font-weight:700!important;
  }
  body.tpv37-elementor-page .tpv37-hero-lead-mobile{display:none!important}
  body.tpv37-elementor-page .tpv37-hero-lead-desktop{
    display:block!important;max-width:520px!important;margin:22px 0 26px!important;color:#3d4a5c!important;
    font-size:18px!important;line-height:1.65!important;font-weight:400!important;
  }
  body.tpv37-elementor-page .tpv37-desktop-social-proof{display:flex!important;align-items:center!important;gap:14px!important;margin:0 0 32px!important}
  body.tpv37-elementor-page .tpv37-proof-avatars{display:flex!important;align-items:center!important}
  body.tpv37-elementor-page .tpv37-proof-avatars i{
    display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;margin-left:-10px!important;
    border:2.5px solid #f7f9f8!important;border-radius:50%!important;color:#fff!important;font-style:normal!important;font-size:12px!important;font-weight:700!important;
  }
  body.tpv37-elementor-page .tpv37-proof-avatars i:first-child{margin-left:0!important;background:#16a34a!important}
  body.tpv37-elementor-page .tpv37-proof-avatars i:nth-child(2){background:#0f766e!important}
  body.tpv37-elementor-page .tpv37-proof-avatars i:nth-child(3){background:#7c3aed!important}
  body.tpv37-elementor-page .tpv37-proof-avatars i:nth-child(4){background:#dc7a12!important}
  body.tpv37-elementor-page .tpv37-proof-stars{color:#f5b93e!important;font-size:14px!important;letter-spacing:1px!important;white-space:nowrap!important}
  body.tpv37-elementor-page .tpv37-proof-copy{color:#3d4a5c!important;font-size:13.5px!important;line-height:1.4!important;white-space:nowrap!important}
  body.tpv37-elementor-page .tpv37-proof-copy strong{color:#0f172a!important;font-weight:800!important}
  body.tpv37-elementor-page .tpv37-marketplace-pills{display:none!important}

  body.tpv37-elementor-page .tpv37-marketplace-signals{
    display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:14px!important;width:100%!important;max-width:none!important;margin:0 0 44px!important;
  }
  body.tpv37-elementor-page .tpv37-signal-card{
    position:relative!important;display:block!important;min-height:175px!important;margin:0!important;padding:62px 17px 19px!important;
    border:1px solid #e2e8e4!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important;
  }
  body.tpv37-elementor-page .tpv37-signal-card:before{
    content:""!important;position:absolute!important;left:17px!important;top:19px!important;width:34px!important;height:34px!important;border-radius:10px!important;
    background:linear-gradient(155deg,#22c55e,#15803d)!important;box-shadow:none!important;
  }
  body.tpv37-elementor-page .tpv37-signal-card strong{
    display:block!important;margin:0 0 5px!important;color:#0f172a!important;font-family:'Bitter',Georgia,serif!important;
    font-size:14.5px!important;line-height:1.2!important;font-weight:700!important;
  }
  body.tpv37-elementor-page .tpv37-signal-card span{display:block!important;margin:0!important;color:#5c6a6f!important;font-size:13px!important;line-height:1.5!important}

  /* Original functional truck/route from the plugin, styled to match reference. */
  body.tpv37-elementor-page .tpv37-route{display:block!important;width:100%!important;max-width:560px!important;height:60px!important;margin:0!important;border-top:1px solid #e2e8e4!important;padding-top:0!important;overflow:visible!important}
  body.tpv37-elementor-page .tpv37-route-track{top:30px!important;left:20px!important;right:20px!important;height:2px!important;background:repeating-linear-gradient(90deg,#a9d9b8 0 8px,transparent 8px 18px)!important}
  body.tpv37-elementor-page .tpv37-route-start{top:22px!important;left:9px!important;width:16px!important;height:16px!important;border:3px solid #22c55e!important;background:#fff!important}
  body.tpv37-elementor-page .tpv37-route-truck{top:4px!important;width:96px!important;height:54px!important}
  body.tpv37-elementor-page .tpv37-route-destination{top:0!important;right:0!important;width:60px!important;height:60px!important;background:#fff!important;color:#16a34a!important;box-shadow:0 10px 24px -14px rgba(15,23,42,.18)!important}

  /* Exact reference quote card, while preserving real IDs/names/JS. */
  body.tpv37-elementor-page .tpv37-quote-card{
    position:relative!important;display:block!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:8px!important;
    border:1px solid #eceff0!important;border-radius:24px!important;background:#fff!important;box-shadow:0 34px 70px -30px rgba(15,23,42,.32)!important;overflow:visible!important;
  }
  body.tpv37-elementor-page .tpv37-quote-card:before{display:none!important;content:none!important}
  body.tpv37-elementor-page .tpv37-quote-head{
    display:flex!important;align-items:flex-start!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:16px!important;
    width:100%!important;margin:0!important;padding:22px 20px 18px!important;overflow:visible!important;
  }
  body.tpv37-elementor-page .tpv37-quote-heading-copy{display:block!important;flex:1 1 auto!important;min-width:0!important}
  body.tpv37-elementor-page .tpv37-quote-head h2{
    display:block!important;flex:none!important;width:auto!important;max-width:none!important;margin:0 0 4px!important;padding:0!important;
    color:#0f172a!important;font-family:'Bitter',Georgia,serif!important;font-size:23px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.35px!important;
    white-space:nowrap!important;text-transform:none!important;font-style:normal!important;
  }
  body.tpv37-elementor-page .tpv37-quote-time{display:block!important;flex:none!important;margin:0!important;color:#5c6a6f!important;font-size:12.5px!important;line-height:1.3!important;text-align:left!important;white-space:nowrap!important}
  body.tpv37-elementor-page .tpv37-price-lock{
    position:static!important;display:inline-flex!important;align-items:center!important;gap:5px!important;flex:0 0 auto!important;margin:0!important;padding:6px 11px!important;
    border:0!important;border-radius:8px!important;background:#e7f7ee!important;color:#15803d!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;
    font-size:10.5px!important;line-height:1!important;font-weight:600!important;letter-spacing:.05em!important;white-space:nowrap!important;
  }
  body.tpv37-elementor-page .tpv37-type-toggle{
    display:flex!important;width:auto!important;margin:0 20px 20px!important;padding:4px!important;border:0!important;border-radius:13px!important;background:#eef4f0!important;overflow:hidden!important;
  }
  body.tpv37-elementor-page .tpv37-type-btn{
    display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 50%!important;min-height:44px!important;margin:0!important;padding:11px 10px!important;
    border:0!important;border-radius:10px!important;background:transparent!important;color:#3d4a5c!important;font-size:14px!important;line-height:1.2!important;font-weight:700!important;box-shadow:none!important;
  }
  body.tpv37-elementor-page .tpv37-type-btn.tpv37-active{background:#0f172a!important;color:#fff!important;box-shadow:0 10px 24px -14px rgba(15,23,42,.18)!important}
  body.tpv37-elementor-page .tpv37-field{width:auto!important;margin:0 20px 16px!important;padding:0!important}
  body.tpv37-elementor-page .tpv37-field label{display:block!important;margin:0 0 8px!important;color:#0f172a!important;font-size:12.5px!important;line-height:1.2!important;font-weight:700!important}
  body.tpv37-elementor-page .tpv37-input-wrap{position:relative!important;width:100%!important}
  body.tpv37-elementor-page .tpv37-field input{
    display:block!important;width:100%!important;height:54px!important;margin:0!important;padding:0 46px 0 48px!important;border:1.5px solid #e2e8e4!important;border-radius:13px!important;
    background:#f7f9f8!important;color:#0f172a!important;box-shadow:none!important;font-size:14.5px!important;line-height:54px!important;outline:none!important;
  }
  body.tpv37-elementor-page .tpv37-field input:focus{border-color:#22c55e!important;background:#fff!important;box-shadow:0 0 0 4px #e7f7ee!important}
  body.tpv37-elementor-page .tpv37-input-wrap > svg{position:absolute!important;left:14px!important;top:50%!important;width:17px!important;height:17px!important;transform:translateY(-50%)!important;color:#5c6a6f!important;z-index:2!important}
  body.tpv37-elementor-page .tpv37-input-wrap > svg.tpv37-right-icon{left:auto!important;right:14px!important}
  body.tpv37-elementor-page .tpv37-submit-btn{
    display:flex!important;align-items:center!important;justify-content:space-between!important;width:calc(100% - 40px)!important;height:54px!important;min-height:54px!important;margin:6px 20px 0!important;padding:0 20px!important;
    border:0!important;border-radius:13px!important;background:linear-gradient(180deg,#2fcf6b 0%,#16a34a 50%,#0e7a3b 100%)!important;color:#fff!important;
    box-shadow:0 20px 38px -16px rgba(14,122,59,.65),inset 0 1px 0 rgba(255,255,255,.35),inset 0 -2px 0 rgba(0,0,0,.12)!important;
    font-size:16px!important;line-height:1!important;font-weight:800!important;letter-spacing:.01em!important;
  }
  body.tpv37-elementor-page .tpv37-submit-btn:hover{transform:translateY(-2px)!important;filter:brightness(1.05)!important}
  body.tpv37-elementor-page .tpv37-chips{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
  body.tpv37-elementor-page .tpv37-privacy-note{display:none!important}
  body.tpv37-elementor-page .tpv37-desktop-alt-contact{display:block!important;width:auto!important;margin:18px 20px 0!important;padding:0!important}
  body.tpv37-elementor-page .tpv37-desktop-or{display:flex!important;align-items:center!important;gap:12px!important;margin:0 0 18px!important;color:#5c6a6f!important;font-size:11.5px!important;line-height:1!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.07em!important}
  body.tpv37-elementor-page .tpv37-desktop-or:before,body.tpv37-elementor-page .tpv37-desktop-or:after{content:""!important;display:block!important;flex:1!important;height:1px!important;background:#e2e8e4!important}
  body.tpv37-elementor-page .tpv37-desktop-whatsapp{
    display:flex!important;align-items:center!important;justify-content:center!important;gap:11px!important;width:100%!important;height:52px!important;margin:0!important;padding:0 18px!important;
    border:1.5px solid #8fdbaa!important;border-radius:13px!important;background:#e9f9ee!important;color:#0c5c33!important;box-shadow:0 10px 22px -14px rgba(37,211,102,.5)!important;
    font-size:15px!important;line-height:1!important;font-weight:800!important;text-decoration:none!important;
  }
  body.tpv37-elementor-page .tpv37-wa-dot{display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;border-radius:50%!important;background:#25d366!important;color:#fff!important;font-size:0!important;box-shadow:0 3px 8px -2px rgba(37,211,102,.6)!important}
  body.tpv37-elementor-page .tpv37-wa-dot:after{content:"☎"!important;color:#fff!important;font-size:15px!important;line-height:1!important}
  body.tpv37-elementor-page .tpv37-desktop-alt-contact p{margin:10px 0 0!important;color:#5c6a6f!important;text-align:center!important;font-size:11.5px!important;line-height:1.5!important}
  body.tpv37-elementor-page .tpv37-desktop-alt-contact p strong{color:#3d4a5c!important;font-weight:700!important}
  body.tpv37-elementor-page .tpv37-platform-status{
    display:flex!important;align-items:center!important;justify-content:center!important;gap:16px!important;width:auto!important;margin:20px 20px 0!important;padding:18px 0 0!important;
    border-top:1px solid #eceff0!important;color:#5c6a6f!important;font-size:11.5px!important;line-height:1.2!important;font-weight:400!important;flex-wrap:wrap!important;
  }
  body.tpv37-elementor-page .tpv37-platform-status span{display:inline-flex!important;align-items:center!important;gap:5px!important}
  body.tpv37-elementor-page .tpv37-platform-status i{display:inline-block!important;width:6px!important;height:6px!important;border-radius:50%!important;background:#22c55e!important;box-shadow:none!important}
}


/* v5.4.49 — desktop micro-polish only: flush hero, exact card icons, cleaner route. */
@media (min-width:1025px){
  /* No external white seam between the site header and hero widget. */
  body.tpv37-elementor-page .elementor-widget-tphb-v37-hero,
  body.tpv37-elementor-page .elementor-widget-tphb-v37-hero > .elementor-widget-container{
    margin-top:0!important;
    margin-bottom:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  body.tpv37-elementor-page .tpv37-hero{
    margin-top:0!important;
    padding-top:52px!important;
    padding-bottom:20px!important;
  }

  /* Keep the information cards compact and give the route its own breathing room. */
  body.tpv37-elementor-page .tpv37-marketplace-signals{
    margin-bottom:14px!important;
  }

  /* Exact white pictograms inside the three green icon tiles. */
  body.tpv37-elementor-page .tpv37-signal-card:after{
    content:""!important;
    position:absolute!important;
    left:27px!important;
    top:29px!important;
    width:14px!important;
    height:12px!important;
    display:block!important;
    z-index:2!important;
    box-sizing:border-box!important;
    background:transparent!important;
    clip-path:none!important;
    border:2px solid #fff!important;
    border-radius:2px!important;
    box-shadow:none!important;
  }
  body.tpv37-elementor-page .tpv37-signal-card:first-child:after{
    background:
      linear-gradient(#fff,#fff) 50% 0/2px 100% no-repeat,
      linear-gradient(#fff,#fff) 0 42%/100% 2px no-repeat!important;
  }
  body.tpv37-elementor-page .tpv37-signal-card:nth-child(2):after{
    width:15px!important;
    height:12px!important;
    left:27px!important;
    top:30px!important;
    border:0!important;
    border-radius:0!important;
    background:
      linear-gradient(#fff,#fff) 0 0/15px 2px no-repeat,
      linear-gradient(#fff,#fff) 0 5px/15px 2px no-repeat,
      linear-gradient(#fff,#fff) 0 10px/15px 2px no-repeat!important;
  }
  body.tpv37-elementor-page .tpv37-signal-card:nth-child(3):after{
    width:15px!important;
    height:18px!important;
    left:27px!important;
    top:27px!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    clip-path:polygon(54% 0,100% 0,67% 39%,91% 39%,30% 100%,44% 57%,13% 57%)!important;
  }

  /* No divider above the route; lift the route away from the section edge. */
  body.tpv37-elementor-page .tpv37-route{
    height:60px!important;
    margin:0 0 18px!important;
    padding-top:0!important;
    border-top:0!important;
    transform:translateY(-2px)!important;
  }
  body.tpv37-elementor-page .tpv37-route-track{
    top:29px!important;
  }
  body.tpv37-elementor-page .tpv37-route-start{
    top:21px!important;
  }
  body.tpv37-elementor-page .tpv37-route-truck{
    top:1px!important;
  }
  body.tpv37-elementor-page .tpv37-route-destination{
    top:-1px!important;
  }
}

/* v5.4.56 — clean margin-only seam fix. No padding overrides. */
@media (min-width:1025px){
  body.tpv37-elementor-page .tpv37-hero{margin-bottom:0!important;}
  body.tpv37-elementor-page .elementor-widget-tphb-v37-hero,
  body.tpv37-elementor-page .elementor-widget-tphb-v37-hero > .elementor-widget-container{margin-bottom:0!important;}
  body.tpv37-elementor-page .elementor-widget-tphb-v37-how,
  body.tpv37-elementor-page .elementor-widget-tphb-v37-how > .elementor-widget-container{margin-top:0!important;}
  body.tpv37-elementor-page section.tpv37-how{margin-top:0!important;}
}

/* v5.4.56 — remove the actual Elementor parent flex seam only.
   Keep Hero/How internal padding untouched. Desktop only. */
@media (min-width:1025px){
  body.tpv37-elementor-page .elementor > .e-con.e-parent:has(.elementor-widget-tphb-v37-hero){
    --gap:0px!important;
    gap:0!important;
    row-gap:0!important;
  }
}

/* v5.4.57 — definitive Hero -> How seam fix.
 * Remove only Elementor's external widget spacing. Internal section padding is untouched.
 * Deliberately does not depend on the tpv37-elementor-page body class, so cached/body-class timing
 * cannot reintroduce the white strip between the two widgets.
 */
@media (min-width:1025px){
  .elementor .e-con.e-parent:has(> .elementor-widget-tphb-v37-hero),
  .elementor .e-con.e-parent:has(.elementor-widget-tphb-v37-hero):has(.elementor-widget-tphb-v37-how){
    --kit-widget-spacing:0px!important;
    --widgets-spacing:0px!important;
    --gap:0px!important;
    --row-gap:0px!important;
    gap:0!important;
    row-gap:0!important;
  }
  .elementor-widget-tphb-v37-hero,
  .elementor-widget-tphb-v37-hero > .elementor-widget-container,
  .elementor-widget-tphb-v37-how,
  .elementor-widget-tphb-v37-how > .elementor-widget-container{
    margin-block-start:0!important;
    margin-block-end:0!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }
  .elementor-widget-tphb-v37-hero + .elementor-widget-tphb-v37-how{
    margin-top:0!important;
  }
  /* Preserve the section's original internal spacing. */
  section.tpv37-content-section.tpv37-how{
    padding:100px 0!important;
  }
}


/* v5.4.58 — stats strip directly below the desktop hero. */
.tpv37-hero-stats{display:none;}
@media (min-width:1025px){
  .tpv37-hero-stats{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#111c35!important;
    color:#fff!important;
  }
  .tpv37-hero-stats-inner{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-items:center!important;
    min-height:132px!important;
    padding:30px 0!important;
    margin:0 auto!important;
  }
  .tpv37-hero-stat{
    min-width:0!important;
    padding:0 32px!important;
    border-left:1px solid rgba(255,255,255,.14)!important;
  }
  .tpv37-hero-stat:first-child{
    border-left:0!important;
    padding-left:0!important;
  }
  .tpv37-hero-stat:last-child{padding-right:0!important;}
  .tpv37-hero-stat strong{
    display:block!important;
    margin:0 0 7px!important;
    color:#fff!important;
    font-family:Inter,system-ui,sans-serif!important;
    font-size:35px!important;
    line-height:1!important;
    letter-spacing:-.02em!important;
    font-weight:800!important;
    white-space:nowrap!important;
  }
  .tpv37-hero-stat span{
    display:block!important;
    margin:0!important;
    color:#9eabc1!important;
    font-family:Inter,system-ui,sans-serif!important;
    font-size:14px!important;
    line-height:1.35!important;
    font-weight:500!important;
  }
}

/* v5.4.60 — compact desktop stats strip. */
@media (min-width:1025px){
  .tpv37-hero-stats-inner{
    min-height:94px!important;
    padding:20px 0!important;
  }
  .tpv37-hero-stat{padding:0 26px!important;}
  .tpv37-hero-stat strong{
    margin-bottom:5px!important;
    font-size:28px!important;
  }
  .tpv37-hero-stat span{
    font-size:12px!important;
    line-height:1.3!important;
  }
}


/* v5.4.62 final targeted fixes */
@media (min-width:768px){

  body.tpv37-elementor-page .tpv37-signal-card{padding:62px 17px 19px!important;}
  body.tpv37-elementor-page .tpv37-signal-card:before,
  body.tpv37-elementor-page .tpv37-signal-card:after{display:none!important;content:none!important;}
  body.tpv37-elementor-page .tpv37-signal-icon{
    position:absolute!important;left:17px!important;top:19px!important;width:34px!important;height:34px!important;
    border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;
    color:#fff!important;background:linear-gradient(155deg,#22c55e,#15803d)!important;
  }
  body.tpv37-elementor-page .tpv37-signal-icon svg{display:block!important;width:16px!important;height:16px!important;}
}
body.tpv37-elementor-page #serviceField,
body.tpv37-elementor-page #serviceField .tpv37-input-wrap{overflow:visible!important;}
body.tpv37-elementor-page .tpv37-suggestions{
  z-index:99999!important;overflow-x:hidden!important;overflow-y:auto!important;
  max-height:min(430px,calc(100vh - 190px))!important;overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;padding:4px 0!important;
}
body.tpv37-elementor-page .tpv37-suggestions.tpv37-open{display:block!important;}
body.tpv37-elementor-page .tpv37-suggestion{
  flex:0 0 auto!important;min-height:48px!important;padding:12px 16px!important;
  white-space:normal!important;line-height:1.35!important;
}


/* v5.4.63 lock hero signal SVGs to reference appearance */
@media (min-width: 769px){
 body.tpv37-elementor-page .tpv37-signal-icon{
   width:40px!important;height:40px!important;border-radius:11px!important;
   background:linear-gradient(155deg,#20bf62,#129447)!important;color:#fff!important;
 }
 body.tpv37-elementor-page .tpv37-signal-icon svg{
   width:18px!important;height:18px!important;display:block!important;color:#fff!important;
   fill:none!important;stroke:#fff!important;
 }
 body.tpv37-elementor-page .tpv37-signal-icon svg *{
   fill:none!important;stroke:#fff!important;stroke-opacity:1!important;
 }
}


/* ==========================================================
   v5.4.66 FINAL CARD AUTHORITY
   One deterministic desktop definition for hero trust cards.
   New h3/p markup prevents legacy strong/span typography rules.
   ========================================================== */
@media screen and (min-width:768px){
 body.tpv37-elementor-page .tpv37-marketplace-signals{
   display:grid!important;
   grid-template-columns:repeat(3,minmax(0,1fr))!important;
   gap:14px!important;
   align-items:stretch!important;
 }
 body.tpv37-elementor-page .tpv37-marketplace-signals > .tpv37-signal-card{
   display:block!important;
   position:relative!important;
   width:auto!important;
   min-width:0!important;
   min-height:0!important;
   height:auto!important;
   margin:0!important;
   padding:19px 17px!important;
   box-sizing:border-box!important;
   border:1px solid #e1e6e3!important;
   border-radius:16px!important;
   background:#fff!important;
   box-shadow:none!important;
   overflow:hidden!important;
   transform:none!important;
 }
 body.tpv37-elementor-page .tpv37-marketplace-signals > .tpv37-signal-card:before,
 body.tpv37-elementor-page .tpv37-marketplace-signals > .tpv37-signal-card:after{
   content:none!important; display:none!important;
 }
 body.tpv37-elementor-page .tpv37-marketplace-signals .tpv37-signal-icon{
   position:static!important;
   inset:auto!important;
   display:flex!important;
   align-items:center!important;
   justify-content:center!important;
   float:none!important;
   clear:both!important;
   width:34px!important;
   height:34px!important;
   min-width:34px!important;
   min-height:34px!important;
   max-width:34px!important;
   max-height:34px!important;
   margin:0 0 13px 0!important;
   padding:0!important;
   box-sizing:border-box!important;
   border:0!important;
   border-radius:10px!important;
   background:linear-gradient(155deg,#22c55e 0%,#159447 100%)!important;
   box-shadow:none!important;
   transform:none!important;
   color:#fff!important;
 }
 body.tpv37-elementor-page .tpv37-marketplace-signals .tpv37-signal-icon svg{
   display:block!important;
   position:static!important;
   width:16px!important;
   height:16px!important;
   min-width:16px!important;
   min-height:16px!important;
   max-width:16px!important;
   max-height:16px!important;
   margin:auto!important;
   padding:0!important;
   overflow:visible!important;
   fill:none!important;
   stroke:#fff!important;
   color:#fff!important;
   transform:none!important;
 }
 body.tpv37-elementor-page .tpv37-marketplace-signals .tpv37-signal-icon svg *{
   fill:none!important;
   stroke:#fff!important;
   color:#fff!important;
 }
 body.tpv37-elementor-page .tpv37-marketplace-signals h3.tpv37-signal-title{
   display:block!important;
   position:static!important;
   width:auto!important;
   margin:0 0 5px!important;
   padding:0!important;
   font-family:'Bitter',Georgia,serif!important;
   font-size:14.5px!important;
   line-height:1.25!important;
   font-weight:700!important;
   letter-spacing:-.015em!important;
   color:#0f172a!important;
   transform:none!important;
 }
 body.tpv37-elementor-page .tpv37-marketplace-signals p.tpv37-signal-text{
   display:block!important;
   position:static!important;
   width:auto!important;
   margin:0!important;
   padding:0!important;
   font-family:'Inter',Arial,sans-serif!important;
   font-size:13px!important;
   line-height:1.5!important;
   font-weight:400!important;
   color:#5c6a6f!important;
   transform:none!important;
 }
}



/* v5.4.67 — full 14-service autocomplete, no clipped final rows. */
@media (min-width:768px){
  body.tpv37-elementor-page .tpv37-quote-card,
  body.tpv37-elementor-page .tpv37-quote-card-inner,
  body.tpv37-elementor-page .tpv37-form,
  body.tpv37-elementor-page .tpv37-form-grid,
  body.tpv37-elementor-page #serviceField,
  body.tpv37-elementor-page #serviceField .tpv37-input-wrap{
    overflow:visible!important;
  }

  body.tpv37-elementor-page #serviceField{
    position:relative!important;
    z-index:150!important;
  }

  body.tpv37-elementor-page .tpv37-suggestions{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:calc(100% + 8px)!important;
    width:100%!important;
    z-index:999999!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    max-height:520px!important;
    min-height:0!important;
    padding:4px 0 8px!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-gutter:stable!important;
    background:#fff!important;
  }

  body.tpv37-elementor-page .tpv37-suggestions.tpv37-open{
    display:block!important;
  }

  body.tpv37-elementor-page .tpv37-suggestion{
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    width:100%!important;
    min-height:48px!important;
    padding:12px 16px!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    line-height:1.35!important;
  }

  /* Ensure the final catalogue entries can be scrolled fully above the card edge. */
  body.tpv37-elementor-page .tpv37-suggestions::after{
    content:""!important;
    display:block!important;
    height:8px!important;
    flex:0 0 8px!important;
  }
}



/* v5.4.69 — exact 14 service dropdown, fully scrollable and unclipped. */
body.tpv37-elementor-page .tpv37-hero-main,
body.tpv37-elementor-page .tpv37-hero-grid,
body.tpv37-elementor-page .tpv37-quote-wrap,
body.tpv37-elementor-page .tpv37-quote-card,
body.tpv37-elementor-page .tpv37-quote-card-inner,
body.tpv37-elementor-page .tpv37-form,
body.tpv37-elementor-page .tpv37-form-grid,
body.tpv37-elementor-page #serviceField,
body.tpv37-elementor-page #serviceField .tpv37-input-wrap{
  overflow:visible!important;
}

body.tpv37-elementor-page #serviceField{
  position:relative!important;
  z-index:1000!important;
}

body.tpv37-elementor-page .tpv37-suggestions{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:calc(100% + 8px)!important;
  width:100%!important;
  z-index:2147483000!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border:1px solid #d9e1dd!important;
  border-radius:0 0 16px 16px!important;
  box-shadow:0 18px 34px -18px rgba(15,23,42,.35)!important;
  height:auto!important;
  max-height:420px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-gutter:stable!important;
  padding:4px 0 10px!important;
}

body.tpv37-elementor-page .tpv37-suggestions.tpv37-open{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

body.tpv37-elementor-page .tpv37-suggestion{
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-height:48px!important;
  padding:12px 16px!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  line-height:1.35!important;
}

body.tpv37-elementor-page .tpv37-suggestion:last-child{
  margin-bottom:6px!important;
}

@media (min-width:768px) and (max-height:760px){
  body.tpv37-elementor-page .tpv37-suggestions{
    max-height:300px!important;
  }
}



/* v5.4.71 — canonical 14-service frontend source + unclipped dropdown. */
body.tpv37-elementor-page .tpv37-hero,
body.tpv37-elementor-page .tpv37-hero-main,
body.tpv37-elementor-page .tpv37-hero-grid,
body.tpv37-elementor-page .tpv37-quote-wrap,
body.tpv37-elementor-page .tpv37-quote-card,
body.tpv37-elementor-page .tpv37-quote-card-inner,
body.tpv37-elementor-page .tpv37-form,
body.tpv37-elementor-page .tpv37-form-grid,
body.tpv37-elementor-page #serviceField,
body.tpv37-elementor-page #serviceField .tpv37-input-wrap{
  overflow:visible!important;
}
body.tpv37-elementor-page #serviceField{position:relative!important;z-index:9999!important;}
body.tpv37-elementor-page #serviceSuggestions.tpv37-suggestions{
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-height:420px!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  z-index:2147483640!important;
  padding:4px 0 12px!important;
  box-sizing:border-box!important;
  background:#fff!important;
}
body.tpv37-elementor-page #serviceSuggestions .tpv37-suggestion{
  width:100%!important;
  min-height:48px!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
}
body.tpv37-elementor-page #serviceSuggestions .tpv37-suggestion:last-child{
  padding-bottom:14px!important;
  margin-bottom:6px!important;
}



/* v5.4.72 — all 14 services visible: dropdown participates in form flow. */
body.tpv37-elementor-page #serviceField{
  position:relative!important;
  z-index:50!important;
  overflow:visible!important;
}

body.tpv37-elementor-page #serviceSuggestions.tpv37-suggestions{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  margin:8px 0 0!important;
  padding:4px 0 6px!important;
  box-sizing:border-box!important;
  border:1px solid #d9e1dd!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 14px 28px -20px rgba(15,23,42,.28)!important;
  z-index:auto!important;
}

body.tpv37-elementor-page #serviceSuggestions.tpv37-suggestions:not(.tpv37-open){
  display:none!important;
}

body.tpv37-elementor-page #serviceSuggestions.tpv37-suggestions.tpv37-open{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

body.tpv37-elementor-page #serviceSuggestions .tpv37-suggestion{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:40px!important;
  height:auto!important;
  padding:9px 14px!important;
  margin:0!important;
  box-sizing:border-box!important;
  flex:none!important;
  white-space:normal!important;
  line-height:1.25!important;
  overflow:visible!important;
}

body.tpv37-elementor-page #serviceSuggestions .tpv37-suggestion:last-child{
  margin-bottom:0!important;
  padding-bottom:10px!important;
}

/* Let the quote card grow when the 14-item menu is open. */
body.tpv37-elementor-page .tpv37-quote-wrap,
body.tpv37-elementor-page .tpv37-quote-card,
body.tpv37-elementor-page .tpv37-quote-card-inner,
body.tpv37-elementor-page .tpv37-form,
body.tpv37-elementor-page .tpv37-form-grid{
  overflow:visible!important;
  max-height:none!important;
}



/* v5.4.75: desktop service dropdown shows ~5 rows, rest scrolls inside */
@media (min-width:768px){
  body.tpv37-elementor-page .tpv37-hero,
  body.tpv37-elementor-page .tpv37-hero-main,
  body.tpv37-elementor-page .tpv37-hero-grid,
  body.tpv37-elementor-page .tpv37-quote-wrap,
  body.tpv37-elementor-page .tpv37-quote-card,
  body.tpv37-elementor-page .tpv37-quote-card-inner,
  body.tpv37-elementor-page .tpv37-form,
  body.tpv37-elementor-page .tpv37-form-grid,
  body.tpv37-elementor-page #serviceField,
  body.tpv37-elementor-page #serviceField .tpv37-input-wrap{
    overflow:visible!important;
  }

  body.tpv37-elementor-page #serviceField{
    position:relative!important;
    z-index:10000!important;
  }

  body.tpv37-elementor-page #serviceSuggestions.tpv37-suggestions{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:calc(100% + 8px)!important;
    width:100%!important;
    height:auto!important;
    max-height:248px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-gutter:stable!important;
    z-index:2147483640!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:4px 0!important;
    background:#fff!important;
  }

  body.tpv37-elementor-page #serviceSuggestions.tpv37-suggestions:not(.tpv37-open){
    display:none!important;
  }

  body.tpv37-elementor-page #serviceSuggestions.tpv37-suggestions.tpv37-open{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }

  body.tpv37-elementor-page #serviceSuggestions .tpv37-suggestion{
    display:flex!important;
    align-items:center!important;
    flex:0 0 48px!important;
    min-height:48px!important;
    height:48px!important;
    width:100%!important;
    padding:0 16px!important;
    margin:0!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    line-height:1.25!important;
  }
}

