/* Theme contract additions; source route CSS remains authoritative for Impact modules. */
html{scroll-behavior:smooth}body.ds{margin:0;overflow-x:hidden}.impact-text-logo{display:flex;align-items:center;height:45px;margin-right:22px;font-size:23px;font-weight:800;letter-spacing:-.04em;color:#000}.impact-theme-container{max-width:var(--impact-container,1440px);margin:0 auto;padding:40px 20px 90px}.impact-theme-standard h1{margin-top:30px}.impact-theme-archive-head{max-width:var(--impact-container,1440px);margin:0 auto;padding:75px 20px 35px;text-align:center}.impact-theme-archive-head h1{font-size:clamp(44px,6vw,86px);line-height:1.02;margin:0 0 20px}.impact-theme-archive-head p,.impact-theme-archive-head .archive-description{font-size:20px;line-height:1.55;max-width:760px;margin:0 auto}.impact-theme-empty,.impact-theme-error{max-width:900px;margin:0 auto;padding:90px 20px 140px;text-align:center}.impact-theme-error h1{font-size:clamp(50px,8vw,104px);line-height:1;margin:0 0 20px}.impact-theme-kicker{font-size:18px;font-weight:700;color:var(--impact-accent)}
nav.main.menu-primary__wrapper>.drop-nav>.submenu .impact-mega-menu-inner{min-width:280px}.impact-mega-menu-inner>.menu{list-style:none;margin:0;padding:0}.impact-mega-menu-inner>.menu>li{list-style:none}.impact-mega-menu-inner .sub-menu{list-style:none;padding:8px 0 0;margin:0}
#footer{background:#000;color:#fff}#footer a{color:#fff}.navigationcontainer .menu-actions{display:flex;align-items:center;gap:12px}.navigationcontainer nav.main{align-items:center}.navigationcontainer nav.main>.drop-nav{position:relative}.navigationcontainer nav.main>.drop-nav>.submenu{z-index:1000}.navigationcontainer .impact-utility-menu{position:relative}
@media(min-width:992px){.navigationcontainer nav.main>.drop-nav:hover>.submenu,.navigationcontainer nav.main>.drop-nav:focus-within>.submenu,.navigationcontainer nav.main>.drop-nav.static-dropdown-open>.submenu{display:block!important;opacity:1;visibility:visible}.navigationcontainer nav.main>.drop-nav>.submenu{min-width:300px}}
@media(max-width:991px){.navigationcontainer nav.main.menu-primary__wrapper{background:#fff;overflow:auto}.navigationcontainer nav.main>.drop-nav{width:100%}.navigationcontainer nav.main>.drop-nav>a{display:flex;justify-content:space-between}.navigationcontainer nav.main>.drop-nav>.submenu{position:static!important;width:100%!important;box-shadow:none!important}.navigationcontainer nav.main>.drop-nav:not(.static-dropdown-open)>.submenu{display:none!important}.navigationcontainer nav.main>.drop-nav.static-dropdown-open>.submenu{display:block!important}.navigationcontainer nav.main .menu-actions{padding:18px}.impact-theme-archive-head{padding-top:45px}}

/* v1.3.1 — Logo ratio normalization.
   The source 127x45 / 101x35 sizes are bounding boxes only. The actual
   user logo always renders at its intrinsic aspect ratio. */
body.ds #navigation-wrapper a.logo,
body.ds a.logo{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
}
body.ds #navigation-wrapper a.logo>img.custom-logo,
body.ds a.logo>img.custom-logo,
body.ds .logo img.custom-logo,
body.ds img.custom-logo{
  display:block!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:127px!important;
  max-height:45px!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
}
@media(max-width:960px){
  body.ds #navigation-wrapper a.logo>img.custom-logo,
  body.ds a.logo>img.custom-logo,
  body.ds .logo img.custom-logo,
  body.ds img.custom-logo{
    max-width:101px!important;
    max-height:35px!important;
  }
}

/* v1.2.1 — Clean operational footer. Only configured WordPress footer menus render.
   Newsletter, social, app badges, footer logo, copyright and legal strip are intentionally removed. */
body.ds #footer.impact-source-footer{display:block!important;visibility:visible!important;opacity:1!important;width:100%;clear:both;position:relative;z-index:1}
body.ds #footer.impact-source-footer #footerMenu{box-sizing:border-box}
body.ds #footer.impact-source-footer-clean #footerMenu:empty{display:none}
