/* Graphite header, existing light logo and accessible navigation disclosures. */
.utility-bar{background:#fff;color:#353a3e;border-bottom:1px solid #e5e8e7;font-size:11px;line-height:1.5;letter-spacing:0}
.utility-inner{min-height:30px}
.utility-inner>span:first-child .icon{width:13px;height:13px}
.utility-inner>a{gap:10px}
.utility-profiles{display:flex;align-items:center;gap:24px}
.utility-profiles a{display:inline-flex;align-items:center;gap:7px;min-height:30px;font-size:11px;font-weight:400}
.utility-profiles a:hover{text-decoration:underline;text-underline-offset:3px}
.site-header{background:#202724;border-bottom:1px solid #3e4641;box-shadow:0 2px 10px rgba(23,28,32,.025)}
.site-header .header-inner{min-height:76px;gap:28px}
.site-header .brand{display:flex;align-items:center;width:154px;height:76px;padding:8px 0;background:transparent}
.site-header .brand img{width:100%;height:auto;max-height:54px;object-fit:contain;object-position:left center}
.site-header .main-navigation{gap:24px;font-size:14px;font-weight:500;line-height:1.4;color:#fff;letter-spacing:0}
.site-header .main-navigation>a:not(.header-phone){display:flex;align-items:center;min-height:48px;padding:12px 0;white-space:nowrap}
.site-header .main-navigation>a:not(.header-phone):hover{color:inherit;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#a4aaae}
.site-header .main-navigation .header-phone{min-height:48px;padding:12px 17px;margin-left:3px;gap:10px;border:1px solid #fff;border-radius:2px;background:#fff;color:#20262a;font-size:15px;font-weight:600;white-space:nowrap;transition:background .15s}
.site-header .header-phone:hover{background:#edf0e9;border-color:#edf0e9}
.site-header .header-phone .icon{width:17px;height:17px;fill:currentColor;stroke:none}
.site-header .brand:focus-visible,.site-header .menu-toggle:focus-visible,.site-header .main-navigation>a:focus-visible,.site-header .nav-disclosure-toggle:focus-visible{outline-color:#ffe500}
.nav-disclosure{position:relative}
.nav-disclosure-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;margin:0;padding:12px 0;background:transparent;border:0;font-size:inherit;font-weight:500;line-height:1.4;white-space:nowrap;color:inherit}
.nav-disclosure-toggle:hover{color:inherit}
.nav-disclosure-toggle .nav-chevron{width:12px;height:12px;fill:currentColor;stroke:none;transform:rotate(90deg);transition:transform .15s}
.nav-disclosure-toggle[aria-expanded=true] .nav-chevron{transform:rotate(-90deg)}
.nav-disclosure-toggle[aria-expanded=true]{text-decoration:underline;text-decoration-color:#d5b900;text-decoration-thickness:2px;text-underline-offset:7px}
.nav-dropdown{position:absolute;top:calc(100% + 18px);background:#fff;color:#20262a;border:1px solid #d5dade;border-top:3px solid #f1d600;border-radius:2px;box-shadow:0 12px 28px rgba(23,28,32,.10);padding:10px;z-index:60}
.nav-dropdown::before{content:"";position:absolute;bottom:100%;left:-1px;right:-1px;height:22px}
.nav-dropdown[hidden]{display:none!important}
.nav-services{left:-22px;width:384px}
.nav-service-link{display:grid;grid-template-columns:38px minmax(0,1fr) 16px;gap:13px;align-items:center;padding:16px 12px;min-height:70px;color:#20262a;border-radius:2px}
.nav-service-link+.nav-service-link{border-top:1px solid #e7eaeb}
.nav-service-icon{display:grid;place-items:center;width:38px;height:38px;background:#f3f4f1;border:1px solid #e7e9e5;border-radius:2px}
.nav-service-icon .icon{width:21px;height:21px;fill:currentColor;stroke:none}
.nav-service-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.nav-service-copy strong{font-size:15px;line-height:1.4;font-weight:600;letter-spacing:-.015em}
.nav-service-copy>span{font-size:12px;line-height:1.5;font-weight:400;color:#353a3e}
.nav-link-arrow{width:16px;height:16px;fill:currentColor;stroke:none;color:#555d61;transition:transform .15s}
.nav-service-link:hover,.nav-service-link:focus-visible{background:#f6f7f4}
.nav-service-link:hover .nav-service-icon{background:#f1d600;border-color:#e5c900}
.nav-service-link:hover .nav-link-arrow{transform:translateX(2px)}
.nav-dropdown-all{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 12px 9px;margin-top:2px;border-top:1px solid #d5dade;font-size:12px;font-weight:500}
.nav-dropdown-all .icon{width:14px;height:14px;fill:currentColor;stroke:none}
.nav-dropdown-all:hover{text-decoration:underline;text-underline-offset:4px}
.nav-area{right:-20px;width:350px;padding:22px}
.nav-area-heading{display:block;padding-bottom:12px;color:#20262a;font-size:14px;line-height:1.4;font-weight:600}
.nav-city-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.nav-city-grid>a{display:flex;align-items:center;min-height:46px;padding:12px 0;border-top:1px solid #e3e7e9;font-size:13px;font-weight:400}
.nav-city-grid>a:hover{text-decoration:underline;text-underline-offset:4px}
/* Without JavaScript the links remain available through hover and keyboard focus. */
html:not(.js) .nav-dropdown{display:none}
html:not(.js) .nav-disclosure:hover>.nav-dropdown,html:not(.js) .nav-disclosure:focus-within>.nav-dropdown{display:block}
@media(max-width:1190px){
  .site-header .header-inner{min-height:72px;gap:24px}
  .site-header .brand{width:146px;height:72px;padding:8px 0}
  .site-header .brand img{max-height:50px}
  .site-header .main-navigation{gap:18px;font-size:13px}
  .site-header .main-navigation .header-phone{font-size:14px;padding:11px 14px;min-height:46px;margin-left:0}
  .nav-disclosure-toggle{gap:7px}
}
@media(max-width:980px){
  .site-header .header-inner{min-height:68px;gap:20px}
  .site-header .brand{width:142px;height:68px;padding:8px 0}
  .site-header .brand img{max-height:48px}
  .site-header .menu-toggle{display:flex;min-height:44px;align-items:center;justify-content:center;gap:14px;background:#fff;border:1px solid #bfc6ca;border-radius:2px;font-size:13px;font-weight:500;padding:11px 14px;color:#20262a}
  .site-header .menu-toggle:hover{background:#f6f7f4}
  .site-header .menu-bars>span{background:#20262a}
  .site-header .main-navigation{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:#fff;color:#20262a;padding:12px var(--gutter) 24px;border-bottom:1px solid #d5dade;box-shadow:0 12px 22px rgba(23,28,32,.08);max-height:calc(100dvh - 68px);overflow-y:auto;font-size:15px}
  .js .site-header .main-navigation{display:none}
  .js .site-header .main-navigation.is-open{display:flex}
  .site-header .main-navigation>a:not(.header-phone){min-height:54px;padding:15px 0;border-bottom:1px solid #e3e7e9;font-weight:500}
  .nav-disclosure{border-bottom:1px solid #e3e7e9}
  .nav-disclosure-toggle{width:100%;min-height:54px;padding:15px 0;font-size:15px}
  .nav-disclosure-toggle .nav-chevron{width:14px;height:14px}
  .nav-dropdown{position:static;width:auto;margin:0 0 12px;padding:8px 10px;border:0;border-radius:2px;background:#f6f7f4;box-shadow:none}
  .nav-dropdown::before{display:none}
  .nav-service-link{padding:14px 6px;grid-template-columns:36px minmax(0,1fr) 14px;gap:11px;min-height:64px}
  .nav-service-icon{width:36px;height:36px;background:#fff}
  .nav-service-copy strong{font-size:14px}
  .nav-service-copy>span{font-size:12px}
  .nav-dropdown-all{padding:14px 6px 10px}
  .nav-area{padding:15px}
  .nav-area-heading{font-size:13px}
  .nav-city-grid>a{font-size:13px;min-height:46px}
  .site-header .main-navigation .header-phone{justify-content:center;min-height:48px;margin:20px 0 0;padding:12px;font-size:15px;background:#20262a;border-color:#20262a;color:#fff}
  .site-header .header-phone:hover{background:#343c41;border-color:#343c41}
  .site-header .main-navigation>a:focus-visible,.site-header .nav-disclosure-toggle:focus-visible{outline-color:#1461ad}
  html:not(.js) .site-header .main-navigation{position:static;max-height:none;box-shadow:none;padding:0;border:0;width:100%}
  html:not(.js) .header-inner{flex-wrap:wrap}
  html:not(.js) .menu-toggle{display:none}
  html:not(.js) .nav-dropdown{display:block}
}
@media(max-width:690px){
  .utility-inner{min-height:28px;font-size:11px}
  .utility-inner{justify-content:flex-start}
  .utility-inner>.utility-email{display:flex;font-size:10px;line-height:1.5}
  .utility-profiles{display:none}
  .site-header .header-inner{min-height:64px;gap:16px}
  .site-header .brand{width:136px;height:64px;padding:8px 0}
  .site-header .brand img{max-height:46px}
  .site-header .menu-toggle{font-size:12px;gap:11px;padding:10px 12px}
  .site-header .main-navigation{max-height:calc(100dvh - 64px)}
}
@media(max-width:360px){
  .site-header .brand{width:128px}
  .site-header .menu-toggle{padding:10px;font-size:11px;gap:9px}
  .nav-service-copy strong{font-size:13px}
  .nav-service-copy>span{font-size:11px}
  .nav-city-grid{gap:0 12px}
  .nav-city-grid>a{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .nav-chevron,.nav-link-arrow,.site-header .header-phone{transition:none!important}
  .nav-service-link:hover .nav-link-arrow{transform:none}
}
