.r-header{position:fixed;inset:0 0 auto;z-index:60;width:100%;background:#fff;border-bottom:1px solid var(--v2-pale);font-family:var(--v2-body-font)}
.admin-bar .r-header{top:32px}
.site-main{padding-top:calc(var(--v2-header-offset) + 1px)}
/* A self-offsetting hero (.h-hero/.lt-hero/.g-hero) reserves its own 168px top
   padding, so the fixed-header offset would be counted twice. This was scoped to
   body.home, but those heroes also open the trust, service, location and index
   templates -- every one of which rendered ~96px lower than the design reference
   (measured across 15 page classes, 2026-08-25). Matches the design reference. */
body.home .site-main,
body:has(.entry-content :is(.h-hero,.lt-hero,.g-hero,.rv-hero,.ab-hero,.c-hero,.r-hero,.native-estimate-hero,.index-intro,.trust-intro,.terms-intro)) .site-main{padding-top:0}
html{scroll-padding-top:calc(var(--v2-header-offset) + 17px)}
.admin-bar .site-main{padding-top:calc(var(--v2-header-offset) + 33px)}
html:has(body.admin-bar){scroll-padding-top:calc(var(--v2-header-offset) + 49px)}
.r-announcement{border-bottom:1px solid var(--v2-pale)}
.r-announcement__inner{display:flex;justify-content:center;align-items:center;gap:12px;min-height:29px;padding:7px var(--v2-gutter);color:var(--v2-forest);font-size:12px;font-weight:700;line-height:1;text-align:center}
.r-announcement__dot{width:4px;height:4px;border-radius:50%;background:var(--v2-sage)}
.r-nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:67px;margin:auto}
.r-header .logo,.r-footer .logo{display:flex;align-items:center;color:var(--v2-ink);font:700 16px/1 var(--v2-display);text-decoration:none}
.r-header .logo :where(img,.custom-logo,.logo__image){display:block;width:auto;max-width:min(320px,30vw);height:44px;max-height:44px;object-fit:contain}.r-nav-menu{display:flex;min-width:0;flex:1;align-items:center;justify-content:space-between}.r-desknav{min-width:0;flex:1}
.r-menu{margin:0;padding:0;list-style:none}.r-desknav>.r-menu{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px}
.r-desknav .menu-item{position:relative}.r-desknav a{display:block;padding:10px;color:var(--v2-body);font-size:14px;font-weight:700;text-decoration:none}
.r-desknav .sub-menu{display:none;position:absolute;top:100%;left:0;z-index:70;width:250px;padding:8px;background:#fff;border:1px solid var(--v2-line);box-shadow:0 18px 40px rgb(0 0 0/.14)}
.r-desknav li:hover>.sub-menu,.r-desknav li:focus-within>.sub-menu{display:block}
.r-nav-actions{display:flex;align-items:center;gap:10px}.r-cta:not(.wp-block-buttons){display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;background:var(--v2-ink);color:#fff;text-decoration:none;font:700 13px/1 var(--v2-display)}
.r-mobtoggle,.r-mobpanel{display:none}.r-mobtoggle{width:44px;height:44px;border:1px solid var(--v2-line);background:#fff;color:var(--v2-ink)}
.r-phone{color:var(--v2-ink);font-size:13px;font-weight:700;text-decoration:none}
.r-footer{padding:64px var(--v2-gutter) 28px;background:var(--v2-footer);border-top:1px solid var(--v2-line);font-size:14px}
.r-innerpad{width:min(100%,var(--v2-wide));margin:auto}.r-footer__intro{display:flex;justify-content:space-between;gap:28px;padding-bottom:34px;border-bottom:1px solid var(--v2-line)}
.r-footer__brand{max-width:360px}.r-footer__logo img{max-height:52px;width:auto}.r-footcols{display:grid;grid-template-columns:1fr 1fr 1.5fr 1.3fr;gap:30px;padding:36px 0}
.r-footcol .widget-title,.r-footcol__title{color:var(--v2-muted);font:600 10px/1 var(--v2-mono);letter-spacing:.14em;text-transform:uppercase}
.r-footcol ul{padding:0;list-style:none}.r-footcol li{margin-bottom:9px}.r-footer a{color:var(--v2-body);text-decoration:none}
.r-legal{display:flex;flex-wrap:wrap;gap:8px 12px;padding-top:20px;border-top:1px solid var(--v2-line);color:var(--v2-muted);font:500 10px/1.5 var(--v2-mono)}
.r-legal__copyright,.recaptcha-notice{display:block;margin-top:12px;color:var(--v2-muted);font-size:11px}
@media(max-width:782px){.admin-bar .r-header{top:46px}.admin-bar .site-main{padding-top:calc(var(--v2-header-offset) + 47px)}html:has(body.admin-bar){scroll-padding-top:calc(var(--v2-header-offset) + 63px)}}
@media(max-width:900px){
	:root{--v2-gutter:30px;--v2-section:70px}
	.r-desknav{display:none}.r-mobtoggle{display:inline-flex;align-items:center;justify-content:center}.r-nav[data-v2-nav-open] .r-mobpanel{position:absolute;top:100%;left:0;right:0;display:block;padding:12px var(--v2-gutter) 24px;background:#fff;border:1px solid var(--v2-line);box-shadow:0 18px 40px rgb(0 0 0/.14)}
	.r-mobpanel .r-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.r-mobpanel li{padding:9px 0;border-bottom:1px solid var(--v2-pale)}
	.r-footcols{grid-template-columns:repeat(2,minmax(0,1fr))}.r-footer__intro{display:grid}
}
@media(max-width:520px){
	:root{--v2-gutter:20px;--v2-section:56px;--v2-header-offset:97px}
	.r-announcement__dot,.r-announcement__lead{display:none}.r-nav{min-height:67px}.r-header .logo :where(img,.custom-logo,.logo__image){max-width:180px;height:36px;max-height:36px}.r-nav-actions>.r-cta{display:none}
	.r-nav .r-mobpanel .r-menu,.r-footcols{grid-template-columns:1fr}.r-footer{padding-inline:var(--v2-gutter)}.r-phone{display:none}
}
@media(max-width:340px){:root{--v2-gutter:16px}.r-nav{gap:8px}.r-mobtoggle{width:40px;height:40px}.r-announcement__inner{font-size:11px}}
.r-footcol--locations .menu{columns:2;column-gap:26px}
.r-footcol--locations .menu-item{break-inside:avoid;font-size:12.5px}
