/* Helprite mobile refinement: public site only. Desktop layout and typography retained. */
@media (max-width: 1320px) {
  .helprite-sticky-header {position:sticky!important;top:0;z-index:900!important}
  .helprite-header-inner {position:relative;min-height:70px;height:auto!important;gap:clamp(10px,2vw,22px)!important;padding-block:10px;justify-content:space-between}
  .helprite-brand-logo {flex:0 1 auto;min-width:0}
  .helprite-brand-logo img {display:block;max-width:clamp(128px,22vw,195px)!important;width:100%;height:auto!important;object-fit:contain}
  .helprite-header-inner .nav-links {display:none!important}
  .site-menu-toggle {display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 44px;width:44px;height:44px;border:1px solid #c7e8e4!important;border-radius:14px!important;background:#e9f7f5!important;color:#0b807d!important;order:3;margin:0!important;box-shadow:none!important;transition:background .2s ease,transform .2s ease}
  .site-menu-toggle[aria-expanded="true"] {background:#14a39a!important;color:white!important}
  .site-menu-toggle:focus-visible {outline:3px solid #64e0d5;outline-offset:2px}
  .site-mobile-nav {box-sizing:border-box;position:fixed!important;top:var(--helprite-mobile-nav-top,70px)!important;left:auto!important;right:0!important;bottom:0!important;width:min(385px,92vw)!important;height:auto!important;max-height:none!important;background:#fff!important;border:0!important;border-left:1px solid #dbebe9!important;border-radius:20px 0 0 0!important;box-shadow:-15px 0 48px #081c2b30!important;padding:24px clamp(20px,5vw,30px) 36px!important;overflow-y:auto!important;overscroll-behavior:contain;transform:translateX(102%);opacity:0;visibility:hidden;display:block!important;transition:transform .25s ease,opacity .25s ease,visibility .25s ease;z-index:1050!important}
  .site-mobile-nav.is-open {transform:translateX(0);opacity:1;visibility:visible}
  .site-mobile-nav a,.site-mobile-nav summary {font-family:inherit!important;font-size:14.5px!important;color:#102f4e!important;text-align:left;display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:14px 10px!important;border-bottom:1px solid #e8eeed;font-weight:600!important;line-height:1.5;text-decoration:none!important}
  .site-mobile-nav a:hover,.site-mobile-nav a[aria-current="page"],.site-mobile-nav details[open]>summary {color:#078e87!important;background:#edf8f6!important;border-radius:10px}
  .site-mobile-nav details{margin:0!important;padding:0!important}
  .site-mobile-nav details a {padding:11px 14px 11px 28px!important;font-size:14px!important;font-weight:500!important;border-bottom:1px solid #edf2f1}
  .site-mobile-nav summary {cursor:pointer;list-style:none}
  .site-mobile-nav summary::-webkit-details-marker{display:none}
  .site-mobile-nav summary i {transition:transform .2s ease}
  .site-mobile-nav details[open]>summary i {transform:rotate(180deg)}
  .helprite-mobile-backdrop {position:fixed;inset:0;background:rgba(6,24,40,.52);z-index:890;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
  .helprite-mobile-backdrop.is-open {opacity:1;visibility:visible}
  body.helprite-nav-open {overflow:hidden}
  .helprite-header-inner>a[href^="tel:"]{margin-left:auto!important;flex-shrink:0}
}
@media (max-width: 900px) {
  .w, .container, .wrap {max-width:100%;box-sizing:border-box}
  .footer-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:34px 28px!important}
  .helprite-site-footer .footer-grid>*{min-width:0}
  .helprite-site-footer a,.helprite-site-footer p {overflow-wrap:anywhere}
  .hero-g,.helprite-home-hero .hero-g{grid-template-columns:1fr!important;gap:28px!important}
  .hero-g>*,.helprite-home-hero .hero-g>* {min-width:0}
  .hero-g img,.hero-g video,.hero-g iframe {max-width:100%;height:auto;object-fit:cover}
  main img,section img {max-width:100%}
  .sec,.section {scroll-margin-top:86px}
  form .form-grid,form .field-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .helprite-site-footer .footer-bottom {gap:12px;flex-wrap:wrap}
}
@media (max-width: 600px) {
  html,body{max-width:100%;overflow-x:clip}
  .helprite-header-inner {min-height:66px;padding:9px 16px!important;gap:10px!important}
  .helprite-brand-logo img {max-width:145px!important}
  .helprite-header-inner>a[href^="tel:"] {gap:5px!important}
  .helprite-header-inner>a[href^="tel:"]>span:first-child {width:34px!important;height:34px!important;box-shadow:none!important}
  .helprite-header-inner>a[href^="tel:"]>span:first-child i {font-size:16px!important}
  .helprite-quick-contact-copy {display:none!important}
  .site-menu-toggle{width:42px;height:42px;flex-basis:42px}
  .site-mobile-nav{width:min(360px,94vw)!important;padding-top:20px!important}
  .w {width:auto!important;margin-inline:18px!important;max-width:calc(100% - 36px)!important}
  .navy.helprite-home-hero,.helprite-home-hero {padding-top:36px!important;padding-bottom:40px!important}
  .helprite-home-hero .hero-g {gap:28px!important}
  .helprite-home-hero .hero-g video {width:100%!important;max-height:300px!important;border-radius:18px}
  .helprite-site-footer {padding:42px 0 28px!important}
  .helprite-site-footer .footer-grid {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:30px 16px!important;padding-bottom:28px!important}
  .helprite-site-footer .footer-grid>.footer-about {grid-column:1/-1;padding-bottom:15px;border-bottom:1px solid #ffffff20}
  .helprite-site-footer .footer-grid> :last-child {grid-column:1/-1;border-top:1px solid #ffffff20;padding-top:20px}
  .helprite-site-footer h3 {margin-bottom:12px!important}
  .helprite-site-footer .footer-grid nav {display:flex;flex-direction:column;align-items:flex-start;gap:0}
  .helprite-site-footer .footer-grid nav a {padding:5px 0!important;line-height:1.5}
  .helprite-site-footer .footer-bottom {display:flex!important;flex-direction:column!important;text-align:center!important;align-items:center!important;gap:10px!important;padding-top:18px!important}
  .helprite-site-footer .footer-bottom>* {max-width:100%;line-height:1.6}
  .helprite-site-footer .footer-contact p {align-items:flex-start}
  .helprite-site-footer .footer-social {display:flex!important;flex-wrap:wrap;gap:10px}
  form,form input,form select,form textarea {max-width:100%;box-sizing:border-box}
  form input,form select,form textarea {min-width:0}
  form .form-grid,form .field-grid {grid-template-columns:1fr!important}
  .sec,.section {padding-top:45px;padding-bottom:45px}
  .helprite-home-trust {overflow:visible}
  .helprite-home-trust .w {gap:14px}
  [style*="grid-template-columns:1.15fr"],[style*="grid-template-columns:1fr 1fr"] {max-width:100%}
  .card,.ph,.faq-item {max-width:100%;box-sizing:border-box}
  .table-wrap,[class*="table-scroll"] {max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media (max-width: 380px) {
  .helprite-site-footer .footer-grid {grid-template-columns:1fr!important;gap:24px!important}
  .helprite-site-footer .footer-grid>* {grid-column:1/-1!important}
  .helprite-brand-logo img {max-width:128px!important}
}
@media (prefers-reduced-motion: reduce) {.site-mobile-nav,.helprite-mobile-backdrop,.site-menu-toggle{transition:none!important}}

/* Unified compact action rows: preserve desktop, keep paired CTAs in one row on phones. */
@media (max-width: 600px) {
  :is(div,section,nav)[style*="display:flex"][style*="flex-wrap:wrap"]:has(> a:is(.btn,.btn2,.y,.g)):has(> a:nth-of-type(2)),
  :is(div,section,nav)[style*="display:flex"][style*="flex-wrap:wrap"]:has(> button):has(> button:nth-of-type(2)),
  .helprite-mobile-action-row {
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:flex-start;
    gap:clamp(6px,2vw,12px)!important;
    width:100%;max-width:100%;min-width:0;
  }
  :is(div,section,nav)[style*="display:flex"][style*="flex-wrap:wrap"]:has(> a:is(.btn,.btn2,.y,.g)):has(> a:nth-of-type(2)) > :is(a,button),
  :is(div,section,nav)[style*="display:flex"][style*="flex-wrap:wrap"]:has(> button):has(> button:nth-of-type(2)) > button,
  .helprite-mobile-action-row > :is(a,button) {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:1 1 0!important;
    min-width:0!important;
    max-width:100%!important;
    width:auto!important;
    margin-inline:0!important;
    padding-inline:clamp(6px,2vw,13px)!important;
    white-space:nowrap!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }
  /* Quote form has two separate actions, not links. */
  .quote-actions,.quote-form-actions,.form-actions:has(> button:nth-child(2)) {
    display:flex!important;flex-wrap:nowrap!important;gap:8px!important;
  }
  .quote-actions > :is(a,button),.quote-form-actions > :is(a,button),.form-actions:has(> button:nth-child(2)) > button {
    flex:1 1 0;min-width:0;width:auto!important;white-space:nowrap;padding-inline:8px!important;
  }
}

/* Compact button labels on phones; keep desktop typography unchanged. */
@media (max-width: 600px) {
  .helprite-home-hero .hero-actions > :is(a,button),
  .helprite-mobile-action-row > :is(a,button),
  :is(div,section,nav)[style*="display:flex"][style*="flex-wrap:wrap"]:has(> a:is(.btn,.btn2,.y,.g)):has(> a:nth-of-type(2)) > :is(a,button),
  .quote-actions > :is(a,button),
  .quote-form-actions > :is(a,button),
  .form-actions:has(> button:nth-child(2)) > button {
    font-size: 12px !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    padding-inline: 8px !important;
  }
}
@media (max-width: 380px) {
  .helprite-home-hero .hero-actions > :is(a,button),
  .helprite-mobile-action-row > :is(a,button),
  :is(div,section,nav)[style*="display:flex"][style*="flex-wrap:wrap"]:has(> a:is(.btn,.btn2,.y,.g)):has(> a:nth-of-type(2)) > :is(a,button),
  .quote-actions > :is(a,button),
  .quote-form-actions > :is(a,button) {
    font-size: 11px !important;
    padding-inline: 6px !important;
  }
}


/* Mobile content width refinement: allow public sections to use the available viewport.
   Avoid altering desktop typography, component internal padding, or the admin. */
@media (max-width: 600px) {
  :is(.w,.container,.wrap) {
    box-sizing: border-box !important;
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
  /* Nested wrappers should not apply a second set of side gutters. */
  :is(.w,.container,.wrap) :is(.w,.container,.wrap) {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }
  /* The original hero has its own vertical padding; never stack another side inset. */
  .helprite-home-hero :is(.w,.container,.wrap),
  .helprite-home-hero .hero-g {
    min-width: 0 !important;
  }
  .helprite-home-hero .hero-g > * {min-width: 0 !important;max-width: 100% !important;}
  /* Form and footer columns should not force horizontal overflow. */
  :is(.sec,.section,main,section) :is(.card,.ph,form,fieldset) {max-width:100%;box-sizing:border-box;}
}
@media (max-width: 380px) {
  :is(.w,.container,.wrap) {
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
  }
}

/* Redesigned mobile menu — affects only the mobile header/navigation. */
@media(max-width:1320px){
 .site-menu-toggle{border-radius:50%!important;width:46px!important;height:46px!important;flex-basis:46px!important;background:#102e4d!important;color:#fff!important;border:0!important;box-shadow:none!important;transition:background .2s ease,transform .2s ease!important}
 .site-menu-toggle[aria-expanded=true]{background:#14a39a!important;transform:none!important}
 .site-menu-toggle .material-icons{font-size:25px!important}
 .site-mobile-nav{top:0!important;bottom:0!important;right:0!important;width:min(410px,94vw)!important;height:100dvh!important;border:0!important;border-radius:24px 0 0 24px!important;background:#f9fcfc!important;padding:0!important;box-shadow:-18px 0 55px rgba(3,23,40,.22)!important;z-index:1202!important;display:flex!important;flex-direction:column!important;transform:translateX(105%)!important;transition:transform .32s cubic-bezier(.2,.8,.2,1),visibility .32s!important;opacity:1!important;overflow-y:auto!important}
 .site-mobile-nav.is-open{transform:translateX(0)!important;visibility:visible!important}
 .helprite-mobile-backdrop{z-index:1201!important;background:rgba(3,18,32,.64)!important;backdrop-filter:blur(3px)}
 .helprite-drawer-head{background:#102e4d;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:25px 23px 21px;flex:0 0 auto}
 .helprite-drawer-brand{display:block;min-width:0;max-width:200px}
 .helprite-drawer-brand img{display:block!important;width:170px!important;max-width:100%!important;height:auto!important;max-height:55px!important;object-fit:contain}
 .helprite-drawer-close{appearance:none!important;display:grid!important;place-items:center!important;flex:0 0 42px!important;width:42px!important;height:42px!important;padding:0!important;border-radius:50%!important;border:1px solid #ffffff55!important;background:#ffffff17!important;color:white!important;cursor:pointer;box-shadow:none!important;font-size:29px!important;line-height:1!important}
 .helprite-drawer-caption{font-size:11px!important;font-weight:700!important;line-height:1.3!important;letter-spacing:2px!important;color:#0e8983!important;padding:27px 27px 10px!important;flex:0 0 auto}
 .helprite-drawer-links{padding:0 17px 24px!important;flex:1 0 auto}
 .site-mobile-nav .helprite-drawer-links>a,.site-mobile-nav .helprite-drawer-links>details>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:55px!important;padding:15px 18px!important;border:0!important;border-bottom:1px solid #e8eff0!important;border-radius:12px!important;background:transparent!important;font-size:15px!important;font-weight:600!important;color:#102e4d!important;white-space:normal!important;text-align:left!important;text-decoration:none!important}
 .site-mobile-nav .helprite-drawer-links>a[aria-current=page],.site-mobile-nav .helprite-drawer-links>a:hover,.site-mobile-nav .helprite-drawer-links>details[open]>summary{background:#e4f5f2!important;color:#078c87!important}
 .site-mobile-nav .helprite-drawer-links>details{border:0!important;margin:2px 0!important}
 .site-mobile-nav .helprite-drawer-links>details>summary .fa{font-size:12px!important;transition:transform .2s ease!important}
 .site-mobile-nav .helprite-drawer-links>details[open]>summary .fa{transform:rotate(180deg)!important}
 .site-mobile-nav .helprite-drawer-links>details>a{margin:4px 0 3px 16px!important;padding:12px 14px!important;min-height:43px!important;border:0!important;border-left:2px solid #d0eae6!important;border-radius:0 9px 9px 0!important;background:transparent!important;font-size:13.5px!important;color:#31536b!important;font-weight:500!important;line-height:1.5!important}
 .site-mobile-nav .helprite-drawer-links>details>a:hover{background:#e8f7f5!important;color:#078c87!important}
 .helprite-drawer-footer{margin-top:auto;padding:21px 26px 30px;border-top:1px solid #dcebe9;background:#eef7f5;display:flex;flex-direction:column;gap:7px}
 .helprite-drawer-footer>span:first-child{font-size:10px;color:#248e87;font-weight:700;letter-spacing:1.8px}
 .site-mobile-nav .helprite-drawer-footer>a{display:block!important;border:0!important;padding:3px 0!important;background:none!important;color:#102e4d!important;font-size:16px!important;font-weight:700!important}
 .helprite-drawer-phone{font-size:13px;color:#416173}
 .site-menu-toggle:focus-visible,.helprite-drawer-close:focus-visible{outline:3px solid #64e0d5!important;outline-offset:3px!important}
}
@media(max-width:600px){.site-mobile-nav{width:min(365px,94vw)!important}.site-menu-toggle{width:41px!important;height:41px!important;flex-basis:41px!important}.helprite-drawer-head{padding:23px 20px 18px}}
@media(prefers-reduced-motion:reduce){.site-mobile-nav{transition:none!important}.helprite-mobile-backdrop{transition:none!important}}

/* Body-level mobile navigation portal: keep the panel above the dimming overlay. */
@media(max-width:1320px){
 body>.site-mobile-nav {position:fixed!important;inset:0 0 0 auto!important;top:0!important;right:0!important;left:auto!important;bottom:0!important;
   z-index:2147483000!important;display:flex!important;visibility:hidden!important;opacity:1!important;
   transform:translate3d(105%,0,0)!important;pointer-events:none!important;isolation:isolate!important;
   width:min(410px,94vw)!important;max-height:100dvh!important;overflow-y:auto!important;
   background:#f9fcfc!important;filter:none!important;backdrop-filter:none!important;}
 body>.site-mobile-nav.is-open {visibility:visible!important;transform:translate3d(0,0,0)!important;pointer-events:auto!important;}
 body>.helprite-mobile-backdrop {position:fixed!important;inset:0!important;z-index:2147482999!important;}
 body.helprite-nav-open {overflow:hidden!important;}
 body>.site-mobile-nav .helprite-drawer-head {position:sticky!important;top:0!important;z-index:2!important;}
 body>.site-mobile-nav .helprite-drawer-links {overflow:visible!important;min-width:0!important;}
 body>.site-mobile-nav .helprite-drawer-links details>a {display:block!important;}
}
@media(max-width:600px){body>.site-mobile-nav{width:min(365px,94vw)!important;}}
