/* Roofer Storm Leads mobile hamburger + sticky header/footer patch */
:root{--rs-sticky-footer-h:58px;}
body.rs-mobile-sticky-enabled{padding-bottom:var(--rs-sticky-footer-h)!important;}
.rhl-topbar,.top,.account-strip,#rhl-account-strip{
  position:sticky!important;
  top:0!important;
  z-index:9990!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.rhl-topbar,.top{transition:box-shadow .2s ease, transform .2s ease;}
.rs-mobile-menu-toggle{
  display:none;
  position:relative;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:999px;
  min-height:42px;
  padding:11px 16px;
  font-weight:1000;
  font-size:13px;
  letter-spacing:.02em;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(135deg,#ef4444,#dc2626 48%,#7f1d1d);
  box-shadow:0 16px 34px rgba(220,38,38,.28), inset 0 1px 0 rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.18);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.rs-mobile-menu-toggle:hover{transform:translateY(-2px);background:#fff;color:#dc2626;box-shadow:0 18px 34px rgba(15,23,42,.18),0 0 0 4px rgba(220,38,38,.10);}
.rs-mobile-menu-toggle .rs-bars{font-size:18px;line-height:1;}
.rs-sticky-footer{
  position:fixed;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  z-index:9995;
  width:min(1120px,calc(100vw - 22px));
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 12px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,rgba(5,7,11,.94),rgba(17,24,39,.94) 52%,rgba(127,29,29,.94));
  box-shadow:0 18px 50px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.10) inset;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font-family:Arial,sans-serif;
}
.rs-sticky-footer strong{font-size:13px;white-space:nowrap;}
.rs-sticky-footer span{font-size:12px;color:#e5e7eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rs-sticky-footer .rs-foot-left{display:flex;align-items:center;gap:8px;min-width:0;}
.rs-sticky-footer .rs-foot-dot{width:10px;height:10px;border-radius:999px;background:#ef4444;box-shadow:0 0 16px rgba(239,68,68,.85);flex:0 0 auto;}
.rs-sticky-footer .rs-foot-actions{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;}
.rs-sticky-footer a{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 11px;text-decoration:none;font-weight:1000;font-size:12px;color:#fff;background:linear-gradient(135deg,#ef4444,#991b1b);white-space:nowrap;}
.rs-sticky-footer a.rs-foot-light{background:#fff;color:#111827;}
@media(max-width:900px){
  :root{--rs-sticky-footer-h:72px;}
  .rhl-topbar,.top{align-items:center!important;text-align:center!important;}
  .rs-mobile-menu-toggle{display:inline-flex!important;margin:8px auto 0!important;}
  .rhl-topbar .rhl-nav,.top .nav,.account-strip .rhl-user-menu,#rhl-account-strip .rhl-user-menu{
    width:100%!important;
    max-height:0!important;
    opacity:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:8px!important;
    margin-top:0!important;
    transition:max-height .26s ease, opacity .2s ease, margin-top .2s ease!important;
  }
  .rhl-topbar.rs-menu-open .rhl-nav,.top.rs-menu-open .nav,.account-strip.rs-menu-open .rhl-user-menu,#rhl-account-strip.rs-menu-open .rhl-user-menu{
    max-height:78vh!important;
    opacity:1!important;
    margin-top:12px!important;
    overflow:auto!important;
    padding:4px!important;
  }
  .rhl-topbar .rhl-nav a,.top .nav a,.account-strip .rhl-user-menu a,#rhl-account-strip .rhl-user-menu a,
  .account-strip .rhl-user-menu button,#rhl-account-strip .rhl-user-menu button{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
    min-height:42px!important;
  }
  .rhl-logo-img,.logo{max-width:min(360px,88vw)!important;}
  .rs-sticky-footer{border-radius:22px;bottom:8px;align-items:flex-start;flex-direction:column;padding:10px 12px;}
  .rs-sticky-footer .rs-foot-actions{width:100%;justify-content:space-between;}
  .rs-sticky-footer a{flex:1;padding:9px 8px;font-size:11px;}
  .rs-sticky-footer strong{font-size:12px;}
  .rs-sticky-footer span{font-size:11px;}
}
@media(min-width:901px){
  .rhl-topbar,.top{top:10px!important;}
  .account-strip,#rhl-account-strip{top:10px!important;}
}
@media print{.rs-sticky-footer,.rs-mobile-menu-toggle{display:none!important}body{padding-bottom:0!important}.rhl-topbar,.top,.account-strip,#rhl-account-strip{position:static!important}}

/* Slim centered SaaS header/logo override */
.rhl-topbar,
.top,
.account-strip,
#rhl-account-strip{
  background:#fff!important;
  border:1px solid rgba(226,232,240,.85)!important;
  border-radius:22px!important;
  box-shadow:0 12px 34px rgba(15,23,42,.10)!important;
  padding:10px 18px!important;
  margin-bottom:18px!important;
}
.top,
.rhl-topbar{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:10px!important;
}
.top > a,
.rhl-topbar > a,
.logo-wrap,
.rhl-logo-wrap{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  margin:0 auto!important;
}
.logo,
.rhl-logo-img,
.top img.logo,
.top img[src*="roofer-storm"],
.rhl-topbar img[src*="roofer-storm"]{
  display:block!important;
  width:auto!important;
  max-width:min(310px,70vw)!important;
  max-height:145px!important;
  object-fit:contain!important;
  margin:0 auto!important;
}
.nav,
.rhl-nav,
.rhl-user-menu{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:0 auto!important;
}
.nav a,
.rhl-nav a,
.rhl-user-menu a,
.rhl-user-menu button,
.theme{
  min-height:34px!important;
  padding:8px 14px!important;
  font-size:12px!important;
  line-height:1!important;
}
@media(min-width:901px){
  .rhl-topbar,.top,.account-strip,#rhl-account-strip{
    width:min(1180px,calc(100vw - 42px))!important;
    top:8px!important;
  }
  .logo,.rhl-logo-img,.top img.logo,.top img[src*="roofer-storm"],.rhl-topbar img[src*="roofer-storm"]{
    max-width:300px!important;
    max-height:135px!important;
  }
}
@media(max-width:900px){
  .rhl-topbar,.top,.account-strip,#rhl-account-strip{
    width:calc(100vw - 22px)!important;
    border-radius:20px!important;
    padding:9px 12px!important;
    gap:8px!important;
  }
  .logo,.rhl-logo-img,.top img.logo,.top img[src*="roofer-storm"],.rhl-topbar img[src*="roofer-storm"]{
    max-width:min(250px,76vw)!important;
    max-height:112px!important;
  }
  .rs-mobile-menu-toggle{
    margin:4px auto 0!important;
    min-height:36px!important;
    padding:8px 14px!important;
  }
  .rhl-topbar.rs-menu-open .rhl-nav,
  .top.rs-menu-open .nav,
  .account-strip.rs-menu-open .rhl-user-menu,
  #rhl-account-strip.rs-menu-open .rhl-user-menu{
    margin-top:8px!important;
  }
}
@media(max-width:520px){
  .logo,.rhl-logo-img,.top img.logo,.top img[src*="roofer-storm"],.rhl-topbar img[src*="roofer-storm"]{
    max-width:min(220px,78vw)!important;
    max-height:96px!important;
  }
}

/* Force light SaaS theme and remove dark-theme toggle */
html, body{
  background:radial-gradient(circle at 8% 0%,rgba(220,38,38,.10),transparent 26%),radial-gradient(circle at 92% 0%,rgba(15,23,42,.08),transparent 24%),linear-gradient(180deg,#f8fafc 0%,#ffffff 100%)!important;
  color:#0b1220!important;
}
body[data-theme="dark"], body.dark, body.dark-theme, html[data-theme="dark"] body{
  background:radial-gradient(circle at 8% 0%,rgba(220,38,38,.10),transparent 26%),radial-gradient(circle at 92% 0%,rgba(15,23,42,.08),transparent 24%),linear-gradient(180deg,#f8fafc 0%,#ffffff 100%)!important;
  color:#0b1220!important;
}
.theme,
button.theme,
.theme-toggle,
#theme-toggle,
#rhl-theme-toggle,
[data-theme-toggle],
.rs-theme-toggle{
  display:none!important;
}
/* Make general content areas readable in the light theme */
.section:not(.story):not(.hero):not(.hero-image),
.main-section,
.content-section,
.explainer-section{
  color:#0b1220!important;
}
.section:not(.story):not(.hero):not(.hero-image) h1,
.section:not(.story):not(.hero):not(.hero-image) h2,
.section:not(.story):not(.hero):not(.hero-image) h3,
.main-section h1,.main-section h2,.main-section h3,
.content-section h1,.content-section h2,.content-section h3{
  color:#0b1220!important;
}
.section:not(.story):not(.hero):not(.hero-image) p,
.section:not(.story):not(.hero):not(.hero-image) li,
.main-section p,.main-section li,
.content-section p,.content-section li{
  color:#475569!important;
}
/* If the homepage feature overview sits over the former dark gradient, put it on a clean card. */
.section > h2:first-child,
.section > p:first-of-type{
  text-shadow:none!important;
}
@media(max-width:900px){
  .section:not(.story):not(.hero):not(.hero-image){
    background:rgba(255,255,255,.94)!important;
    border:1px solid rgba(226,232,240,.82)!important;
    border-radius:24px!important;
    padding:20px 16px!important;
    box-shadow:0 16px 38px rgba(15,23,42,.08)!important;
  }
  .story{color:#fff!important;}
  .story h1,.story h2,.story h3,.story p{color:#fff!important;}
}
/* Keep the slim header compact after removing theme button */
@media(max-width:900px){
  .rhl-topbar,.top,.account-strip,#rhl-account-strip{padding-top:10px!important;padding-bottom:12px!important;}
  .rs-mobile-menu-toggle{margin-top:2px!important;}
}

/* Header/footer hide toggles */
.rs-hideable-header{position:sticky!important;}
.rs-header-hide-toggle,
.rs-footer-hide-toggle,
.rs-header-show-toggle,
.rs-footer-show-toggle{
  border:0;
  cursor:pointer;
  font-family:Arial,sans-serif;
  font-weight:1000;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, opacity .18s ease;
}
.rs-header-hide-toggle,
.rs-footer-hide-toggle{
  width:30px;
  height:30px;
  border-radius:999px;
  color:#991b1b;
  background:#fff;
  border:1px solid rgba(220,38,38,.22);
  box-shadow:0 10px 24px rgba(15,23,42,.12);
}
.rs-header-hide-toggle:hover,
.rs-footer-hide-toggle:hover{
  background:#dc2626;
  color:#fff;
  transform:translateY(-1px);
}
.rs-hideable-header .rs-header-hide-toggle{
  position:absolute;
  right:10px;
  top:10px;
  z-index:4;
}
.rs-sticky-footer .rs-footer-hide-toggle{
  flex:0 0 auto;
  margin-left:4px;
}
.rs-header-show-toggle,
.rs-footer-show-toggle{
  position:fixed;
  z-index:10020;
  gap:7px;
  border-radius:999px;
  padding:9px 12px;
  min-height:36px;
  color:#fff;
  background:linear-gradient(135deg,#ef4444,#dc2626 45%,#7f1d1d);
  box-shadow:0 16px 36px rgba(220,38,38,.28), inset 0 1px 0 rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.20);
  opacity:0;
  pointer-events:none;
}
.rs-header-show-toggle{top:10px;right:12px;}
.rs-footer-show-toggle{right:12px;bottom:10px;}
.rs-header-show-toggle:hover,
.rs-footer-show-toggle:hover{background:#fff;color:#dc2626;transform:translateY(-2px);}
.rs-show-label{font-size:12px;letter-spacing:.02em;}
body.rs-header-hidden .rhl-topbar,
body.rs-header-hidden .top,
body.rs-header-hidden .account-strip,
body.rs-header-hidden #rhl-account-strip{
  transform:translateY(calc(-100% - 24px))!important;
  opacity:0!important;
  pointer-events:none!important;
  margin-bottom:0!important;
}
body.rs-header-hidden .rs-header-show-toggle{opacity:1;pointer-events:auto;}
body.rs-footer-hidden{padding-bottom:12px!important;}
body.rs-footer-hidden .rs-sticky-footer{
  transform:translate(-50%, calc(100% + 28px))!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.rs-footer-hidden .rs-footer-show-toggle{opacity:1;pointer-events:auto;}
@media(max-width:900px){
  .rs-hideable-header .rs-header-hide-toggle{right:8px;top:8px;width:28px;height:28px;}
  .rs-header-show-toggle{top:8px;right:8px;}
  .rs-footer-show-toggle{right:8px;bottom:8px;}
  .rs-sticky-footer .rs-footer-hide-toggle{position:absolute;right:8px;top:8px;width:28px;height:28px;}
  .rs-sticky-footer{padding-right:44px!important;}
}


/* Roof Watch List header reset: flat, compact, non-floating SaaS masthead */
body{padding-top:0!important;}
.rhl-topbar,
.top,
.account-strip,
#rhl-account-strip{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  z-index:20!important;
  width:min(1180px,calc(100vw - 28px))!important;
  margin:12px auto 22px!important;
  background:#ffffff!important;
  border:1px solid rgba(226,232,240,.95)!important;
  border-radius:18px!important;
  box-shadow:0 8px 24px rgba(15,23,42,.08)!important;
  padding:10px 14px 12px!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:visible!important;
}
.top,
.rhl-topbar{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  align-items:center!important;
  justify-items:center!important;
}
.logo,.rhl-logo-img,.top img.logo,.top img[src*="roofer-storm"],.rhl-topbar img[src*="roofer-storm"]{
  max-width:min(190px,54vw)!important;
  max-height:82px!important;
  margin:0 auto!important;
}
.nav,.rhl-nav,.rhl-user-menu{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin:0 auto!important;
}
.nav a,.rhl-nav a,.rhl-user-menu a,.rhl-user-menu button{
  box-shadow:0 8px 18px rgba(220,38,38,.16)!important;
}
.rs-header-hide-toggle,.rs-header-show-toggle{display:none!important;}
@media(max-width:900px){
  .rhl-topbar,.top,.account-strip,#rhl-account-strip{
    width:calc(100vw - 18px)!important;
    margin:8px auto 14px!important;
    border-radius:16px!important;
    padding:9px 10px 11px!important;
  }
  .logo,.rhl-logo-img,.top img.logo,.top img[src*="roofer-storm"],.rhl-topbar img[src*="roofer-storm"]{
    max-width:min(168px,56vw)!important;
    max-height:74px!important;
  }
  .rs-mobile-menu-toggle{
    display:inline-flex!important;
    margin:2px auto 0!important;
    min-height:38px!important;
    padding:9px 16px!important;
    box-shadow:0 12px 24px rgba(220,38,38,.20)!important;
  }
  .rhl-topbar .rhl-nav,.top .nav,.account-strip .rhl-user-menu,#rhl-account-strip .rhl-user-menu{
    background:#fff!important;
    border-radius:14px!important;
    box-shadow:inset 0 0 0 1px rgba(226,232,240,.85)!important;
  }
  .rhl-topbar.rs-menu-open .rhl-nav,.top.rs-menu-open .nav,.account-strip.rs-menu-open .rhl-user-menu,#rhl-account-strip.rs-menu-open .rhl-user-menu{
    padding:10px!important;
  }
}

/* Bottom roof-watch quick links */
.rs-roof-watch-quicklinks{
  width:min(1180px,calc(100vw - 28px));
  margin:32px auto calc(var(--rs-sticky-footer-h,58px) + 22px);
  padding:18px;
  border-radius:22px;
  background:linear-gradient(135deg,#fff,#f8fafc);
  border:1px solid rgba(226,232,240,.95);
  box-shadow:0 14px 34px rgba(15,23,42,.08);
  font-family:Arial,sans-serif;
  color:#0b1220;
}
.rs-roof-watch-quicklinks .rs-rw-title{font-weight:1000;font-size:16px;margin-bottom:6px;color:#0b1220;}
.rs-roof-watch-quicklinks .rs-rw-sub{font-size:13px;color:#475569;margin-bottom:12px;line-height:1.45;}
.rs-roof-watch-quicklinks .rs-rw-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.rs-roof-watch-quicklinks a{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 14px;text-decoration:none;font-weight:1000;font-size:13px;color:#fff;background:linear-gradient(135deg,#ef4444,#991b1b);box-shadow:0 10px 22px rgba(220,38,38,.18);}
.rs-roof-watch-quicklinks a.rs-rw-dark{background:#0f172a;color:#fff;}
.rs-roof-watch-quicklinks a:hover{transform:translateY(-1px);filter:brightness(1.04)}
@media(max-width:700px){
  .rs-roof-watch-quicklinks{margin-top:24px;padding:16px;border-radius:18px;}
  .rs-roof-watch-quicklinks .rs-rw-actions{flex-direction:column;align-items:stretch;}
  .rs-roof-watch-quicklinks a{width:100%;}
}

/* SaaS link-style header + wider workspace override */
html, body{
  overflow-x:hidden!important;
}
body{
  padding:12px 14px!important;
}
#rhl-simple-app,
.rhl-page,
.page,
.app-shell,
.rs-page-shell{
  max-width:min(1540px, calc(100vw - 28px))!important;
  width:min(1540px, calc(100vw - 28px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.rhl-header.rhl-logo-header,
.rhl-header,
.rhl-topbar,
.top,
.account-strip,
#rhl-account-strip{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  z-index:25!important;
  width:min(1540px, calc(100vw - 28px))!important;
  max-width:min(1540px, calc(100vw - 28px))!important;
  margin:0 auto 12px!important;
  padding:10px 12px!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid rgba(226,232,240,.95)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:visible!important;
}
.rhl-header.rhl-logo-header,
.rhl-logo-header{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:center!important;
  justify-items:center!important;
  gap:6px!important;
}
.rhl-logo-image-wrap,
.logo-wrap,
.rhl-logo-wrap,
.rhl-topbar > a,
.top > a{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  margin:0 auto!important;
}
.rhl-main-logo,
.logo,
.rhl-logo-img,
.top img.logo,
.top img[src*="roofer-storm"],
.rhl-topbar img[src*="roofer-storm"]{
  max-width:min(220px, 35vw)!important;
  max-height:86px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  margin:0 auto!important;
}
.rhl-user-menu,
.nav,
.rhl-nav{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:6px 18px!important;
  margin:2px auto 0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.rhl-user-menu a,
.rhl-user-menu button,
.nav a,
.rhl-nav a{
  background:transparent!important;
  color:#475569!important;
  border:0!important;
  border-radius:8px!important;
  box-shadow:none!important;
  min-height:unset!important;
  padding:7px 2px!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.1!important;
  text-decoration:none!important;
  position:relative!important;
  text-shadow:none!important;
}
.rhl-user-menu a::after,
.rhl-user-menu button::after,
.nav a::after,
.rhl-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:1px;
  height:2px;
  border-radius:999px;
  background:#dc2626;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .16s ease;
}
.rhl-user-menu a:hover,
.rhl-user-menu button:hover,
.nav a:hover,
.rhl-nav a:hover{
  color:#dc2626!important;
  transform:none!important;
  filter:none!important;
}
.rhl-user-menu a:hover::after,
.rhl-user-menu button:hover::after,
.nav a:hover::after,
.rhl-nav a:hover::after{
  transform:scaleX(1);
}
.rhl-search-section{
  margin-bottom:38px!important;
}
.rhl-logo-header + .rhl-search-section,
.rhl-header + .rhl-search-section{
  margin-top:0!important;
}
.rhl-logo-header{
  margin-bottom:10px!important;
}
.rhl-feature-banner{
  border-radius:22px 22px 0 0!important;
}
.rhl-search-card,
.rhl-card,
.rhl-zone-list,
.rhl-results-card,
.rhl-map-wrap,
.rhl-report-card{
  max-width:100%!important;
}
/* Keep floating footer optional, but don't let header ever float over content. */
body.rs-header-hidden .rhl-topbar,
body.rs-header-hidden .top,
body.rs-header-hidden .account-strip,
body.rs-header-hidden #rhl-account-strip,
body.rs-header-hidden .rhl-header{
  transform:none!important;
  opacity:1!important;
  pointer-events:auto!important;
  margin-bottom:12px!important;
}
.rs-header-show-toggle,.rs-header-hide-toggle{display:none!important;}

@media(min-width:1200px){
  body{padding-left:18px!important;padding-right:18px!important;}
  #rhl-simple-app,
  .rhl-page,
  .page,
  .app-shell,
  .rs-page-shell{
    max-width:min(1600px, calc(100vw - 36px))!important;
    width:min(1600px, calc(100vw - 36px))!important;
  }
  .rhl-header.rhl-logo-header,
  .rhl-header,
  .rhl-topbar,
  .top,
  .account-strip,
  #rhl-account-strip{
    width:min(1600px, calc(100vw - 36px))!important;
    max-width:min(1600px, calc(100vw - 36px))!important;
  }
}
@media(max-width:900px){
  body{padding:8px!important;}
  #rhl-simple-app,
  .rhl-page,
  .page,
  .app-shell,
  .rs-page-shell{
    max-width:calc(100vw - 16px)!important;
    width:calc(100vw - 16px)!important;
  }
  .rhl-header.rhl-logo-header,
  .rhl-header,
  .rhl-topbar,
  .top,
  .account-strip,
  #rhl-account-strip{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    margin:0 auto 10px!important;
    padding:8px 10px!important;
    border-radius:0!important;
  }
  .rhl-main-logo,
  .logo,
  .rhl-logo-img,
  .top img.logo,
  .top img[src*="roofer-storm"],
  .rhl-topbar img[src*="roofer-storm"]{
    max-width:min(170px, 54vw)!important;
    max-height:72px!important;
  }
  .rs-mobile-menu-toggle{
    display:inline-flex!important;
    margin:4px auto 0!important;
    min-height:34px!important;
    padding:8px 13px!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#dc2626!important;
    border:1px solid rgba(220,38,38,.25)!important;
    box-shadow:0 8px 18px rgba(15,23,42,.08)!important;
  }
  .rhl-topbar .rhl-nav,
  .top .nav,
  .account-strip .rhl-user-menu,
  #rhl-account-strip .rhl-user-menu,
  .rhl-header .rhl-user-menu{
    background:#fff!important;
    border:1px solid rgba(226,232,240,.95)!important;
    border-radius:14px!important;
    box-shadow:0 12px 24px rgba(15,23,42,.08)!important;
    padding:0!important;
  }
  .rhl-topbar.rs-menu-open .rhl-nav,
  .top.rs-menu-open .nav,
  .account-strip.rs-menu-open .rhl-user-menu,
  #rhl-account-strip.rs-menu-open .rhl-user-menu,
  .rhl-header.rs-menu-open .rhl-user-menu{
    padding:10px!important;
  }
  .rhl-user-menu a,
  .rhl-user-menu button,
  .nav a,
  .rhl-nav a{
    width:100%!important;
    padding:11px 12px!important;
    text-align:center!important;
    justify-content:center!important;
  }
  .rhl-user-menu a::after,
  .rhl-user-menu button::after,
  .nav a::after,
  .rhl-nav a::after{
    left:20%; right:20%; bottom:5px;
  }
  .rhl-search-section{margin-bottom:26px!important;}
}

/* Final light background cleanup: remove pink side wash and keep SaaS-white page chrome */
html,
body,
body[data-theme="dark"],
body.dark,
body.dark-theme,
html[data-theme="dark"] body{
  background:#ffffff!important;
  background-color:#ffffff!important;
  color:#0b1220!important;
}
body::before,
body::after,
html::before,
html::after{
  background:none!important;
  box-shadow:none!important;
}
#rhl-simple-app,
.rhl-page,
.page,
.app-shell,
.rs-page-shell,
.rhl-home-page,
.rhl-dashboard-page{
  background:#ffffff!important;
}
/* Keep the logo large enough for the animated radar sweep to read */
.rhl-main-logo,
.logo,
.rhl-logo-img,
.top img.logo,
.top img[src*="roofer-storm"],
.rhl-topbar img[src*="roofer-storm"]{
  max-width:min(260px, 38vw)!important;
  max-height:104px!important;
}
@media(max-width:900px){
  .rhl-main-logo,
  .logo,
  .rhl-logo-img,
  .top img.logo,
  .top img[src*="roofer-storm"],
  .rhl-topbar img[src*="roofer-storm"]{
    max-width:min(190px, 58vw)!important;
    max-height:84px!important;
  }
}

/* Pricing grid 3 x 2 centered layout override */
.pricing-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(280px,1fr))!important;
  gap:26px!important;
  max-width:1320px!important;
  width:100%!important;
  margin:0 auto 44px!important;
  justify-content:center!important;
  align-items:stretch!important;
}
.pricing-grid .plan{
  width:100%!important;
  max-width:420px!important;
  margin:0 auto!important;
}
.pricing-grid .plan.featured{
  transform:none!important;
}
.pricing-grid .plan.featured:hover,
.pricing-grid .plan:hover{
  transform:translateY(-8px) scale(1.015)!important;
}
@media(max-width:1120px){
  .pricing-grid{
    grid-template-columns:repeat(2,minmax(280px,1fr))!important;
    max-width:900px!important;
  }
}
@media(max-width:700px){
  .pricing-grid{
    grid-template-columns:1fr!important;
    max-width:440px!important;
    gap:18px!important;
  }
  .pricing-grid .plan:hover,
  .pricing-grid .plan.featured:hover{
    transform:none!important;
  }
}
