/* RepairNowUSA V406 — site-wide consistency certification.
   Surgical scope only: canonical navigation, content containment, typography/CSS fallback.
   No copy, IA, or visual redesign. */
@font-face{font-family:"Source Sans 3";src:url("fonts/SourceSans3-Upright-latin.woff2") format("woff2-variations");font-style:normal;font-weight:200 900;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("fonts/SourceSans3-Italic-latin.woff2") format("woff2-variations");font-style:italic;font-weight:200 900;font-display:swap}
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:clip}
body{font-family:"Source Sans 3","Segoe UI",Arial,sans-serif!important}
img,svg,video,canvas,iframe{max-width:100%;height:auto}
main,main *{min-width:0}
main :where(h1,h2,h3,h4,h5,h6,p,li,a,span,label,summary,figcaption,blockquote,td,th){overflow-wrap:break-word;word-break:normal}
main :where(pre,code){max-width:100%;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere}
main table{max-width:100%;display:block;overflow-x:auto}
main :where(input,select,textarea,button,form,fieldset){max-width:100%}
main :where(.wrap,[class*="grid"],[class*="row"],[class*="card"],[class*="panel"],[class*="shell"])>*{min-width:0}

/* Canonical simplified national navigation on every public page. */
@media (min-width:981px){
  .rn-v281-header-shell .nav-row{display:flex!important;align-items:center!important;gap:28px!important}
  .rn-v281-header-shell .desktop-nav{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:0!important;flex:1 1 auto!important;min-width:0!important;height:100%!important}
  .rn-v281-header-shell .desktop-nav>a{display:inline-flex!important;position:static!important;align-items:center!important;justify-content:center!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;min-height:44px!important;padding:0 8px!important;margin:0!important;white-space:nowrap!important;font-size:13px!important;text-decoration:none}
  .rn-v281-header-shell .desktop-nav>a.mega-trigger::after{display:none!important}
  .rn-v281-header-shell .rn-mobile-search{display:none!important}
}
@media (max-width:980px){
  .rn-v281-header-shell .desktop-nav{display:none!important}
  .rn-v281-header-shell .mobile-nav-native{display:block!important}
  .rn-v281-header-shell .mobile-nav-native>.menu-btn{display:block!important}
  .rn-v281-header-shell .mobile-nav-native>.mobile-drawer{display:none!important}
  .rn-v281-header-shell .mobile-nav-native[open]>.mobile-drawer{display:block!important}
  .rn-v281-header-shell .rn-desktop-search{display:none!important}
}
.rn-v281-header-shell .mobile-drawer>a{max-width:100%;white-space:normal}

/* Final content-rail fallback for every interior template. */
body.rn-interior-v280 main.service-page{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;overflow-x:clip}
@media (min-width:981px){
 body.rn-interior-v280 main.service-page>:where(section,nav,div,article,aside,header,figure,p,ul,ol,h1,h2,blockquote,form){width:min(1224px,calc(100% - 120px))!important;max-width:1224px!important;margin-left:auto!important;margin-right:auto!important}
}
@media (max-width:980px){
 body.rn-interior-v280 main.service-page>:where(section,nav,div,article,aside,header,figure,p,ul,ol,h1,h2,blockquote,form){width:min(1280px,calc(100% - 48px))!important;max-width:1280px!important;margin-left:auto!important;margin-right:auto!important}
}
@media (max-width:620px){
 body.rn-interior-v280 main.service-page>:where(section,nav,div,article,aside,header,figure,p,ul,ol,h1,h2,blockquote,form){width:min(1280px,calc(100% - 32px))!important}
}

/* Do not let legacy inline desktop gutters force a mobile escape. */
@media (max-width:620px){
 main [style*="max-width:1280px"][style*="padding:0 32px"],
 main [style*="max-width: 1280px"][style*="padding: 0 32px"]{width:calc(100% - 32px)!important;max-width:1280px!important;padding-left:0!important;padding-right:0!important;margin-left:auto!important;margin-right:auto!important}
}

/* V415 alignment: header, footer, and hero share one frame.
   The header wrap is the 1280px frame. Desktop nav padding is 28px, so visible
   content starts 28px inside that frame. Footer columns use that same edge. */
#rn-footer-v389 .rnft-container,
#rn-footer-v389 .rnft-bridge-inner{
  width:min(1280px,calc(100% - 64px))!important;
  max-width:1280px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:28px!important;
  padding-right:28px!important;
  box-sizing:border-box!important;
}
#main-content .rn-hero-v364 .rn-hero-shell{
  width:min(1280px,calc(100% - 64px))!important;
  max-width:1280px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
@media (min-width:981px){
  #main-content .rn-hero-v364 .rn-hero-copy{
    padding-left:28px!important;
    padding-right:28px!important;
  }
}
@media (max-width:980px){
  #rn-footer-v389 .rnft-container,
  #rn-footer-v389 .rnft-bridge-inner,
  #main-content .rn-hero-v364 .rn-hero-shell{
    width:min(1280px,calc(100% - 48px))!important;
  }
  #rn-footer-v389 .rnft-container,
  #rn-footer-v389 .rnft-bridge-inner{
    padding-left:0!important;
    padding-right:0!important;
  }
  #main-content .rn-hero-v364 .rn-hero-copy{
    padding-left:0!important;
    padding-right:0!important;
  }
}
@media (max-width:620px){
  #rn-footer-v389 .rnft-container,
  #rn-footer-v389 .rnft-bridge-inner,
  #main-content .rn-hero-v364 .rn-hero-shell{
    width:min(1280px,calc(100% - 32px))!important;
  }
}

/* A top-level .wrap is the rail itself. The inner-wrap reset must not
   stretch that block to the viewport edge. */
@media (min-width:981px){
  body.rn-interior-v280 main.service-page>.wrap{
    width:min(1224px,calc(100% - 120px))!important;
    max-width:1224px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
@media (max-width:980px){
  body.rn-interior-v280 main.service-page>.wrap{
    width:min(1280px,calc(100% - 48px))!important;
    max-width:1280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
@media (max-width:620px){
  body.rn-interior-v280 main.service-page>.wrap{
    width:min(1280px,calc(100% - 32px))!important;
  }
}

