/* Home-derived navigation geometry. The CTA always owns the third column,
   including the quote page; active borders must never change link dimensions. */
:root{--sd-nav-cta:150px}
html body .site-header .header-inner,html body .sd-public-header .sd-public-inner,html body #page-popup .page-popup-toolbar{grid-template-columns:var(--sd-logo-width) minmax(0,1fr) var(--sd-nav-cta);gap:12px;align-items:center;}
html body :is(.site-header .site-nav,.sd-public-header .sd-public-menu,#page-popup .page-popup-full-navigation){display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:6px 8px;margin:0;padding:0;border:0;min-width:0;background:transparent;transform:translateY(4px);}
html body :is(.site-header .site-nav,.sd-public-header .sd-public-menu,#page-popup .page-popup-full-navigation)>a{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:8px 4px;border:2px solid transparent;border-radius:8px;font:900 13px/1.2 Arial,sans-serif;color:#041957;text-transform:uppercase;white-space:nowrap;text-decoration:none;}
html body :is(.site-header .site-nav,.sd-public-header .sd-public-menu,#page-popup .page-popup-full-navigation)>a[aria-current=page]{border-color:#ffd100;background:#fff9df;border-radius:999px;}
html body :is(.site-header .header-quote,.sd-standard-quote){box-sizing:border-box;grid-column:3;grid-row:1;display:inline-flex;align-items:center;justify-content:center;width:var(--sd-nav-cta);min-height:48px;padding:12px 16px;margin:0;border:2px solid #ffd100;border-radius:8px;background:#ffd100;color:#041957;font:900 15px/1.2 Arial,sans-serif;text-decoration:none;white-space:nowrap;}
html body #page-popup .page-popup-toolbar .page-popup-navigation{grid-column:2;grid-row:1;margin:0;}
html body #page-popup .page-popup-full-navigation{width:100%;}
html body #page-popup .page-popup-close{position:absolute;top:calc(100% + 8px);right:12px;grid-column:auto;grid-row:auto;margin:0;z-index:2100;}
html body #page-popup .sd-popup-toggle{display:none;grid-column:3;grid-row:1;justify-self:end;box-sizing:border-box;min-height:48px;padding:8px 12px;border:2px solid #0752cc;border-radius:9px;background:#fff;color:#041957;font:900 15px Arial,sans-serif;}
@media(max-width:1240px){
 html body .site-header .header-inner,html body .sd-public-header .sd-public-inner,html body #page-popup .page-popup-toolbar{grid-template-columns:var(--sd-logo-width) minmax(0,1fr) auto;}
 html body :is(.site-header .header-quote,.sd-standard-quote){display:none;}
 html body :is(.site-header .site-nav,.sd-public-header .sd-public-menu,#page-popup .page-popup-navigation){grid-column:1/-1;grid-row:2;}
 html body :is(.site-header .site-nav,.sd-public-header .sd-public-menu,#page-popup .page-popup-full-navigation){flex-wrap:wrap;width:100%;padding-top:10px;border-top:1px solid #dbe3f0;transform:none;}
 html body #page-popup .page-popup-toolbar .page-popup-navigation{grid-column:1/-1;grid-row:2;}
}
@media(max-width:600px),(orientation:landscape) and (max-width:1100px) and (max-height:500px){
 html body .site-header .site-nav,html body .sd-public-header.sd-nav-ready .sd-public-menu,html body #page-popup .page-popup-toolbar .page-popup-navigation{display:none;position:static;}
 html body .site-header .site-nav.open,html body .sd-public-header.sd-nav-ready .sd-public-menu.open,html body #page-popup .page-popup-toolbar .page-popup-navigation.open{display:flex;}
 html body #page-popup .sd-popup-toggle,html body .site-header .nav-toggle,html body .sd-public-header.sd-nav-ready .sd-public-toggle{display:inline-flex;align-items:center;justify-content:center;}
 html body :is(.site-header .site-nav,.sd-public-header .sd-public-menu,#page-popup .page-popup-full-navigation)>a{flex:1 1 145px;}
}
@media screen{
 /* Body scroll locks previously left the forced root scrollbar visible beside
    a second popup scrollbar. A popup now has exactly one full-viewport owner. */
 html:has(body.popup-open){overflow:hidden!important;}
 html body.popup-open{overflow:hidden!important;}
 html body #page-popup.page-popup{position:fixed;inset:0 auto 0 0;width:100vw;max-width:none;padding:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:auto;}
 html body #page-popup .page-popup-shell{width:100%;height:auto;min-height:100dvh;max-height:none;overflow:visible;overscroll-behavior:auto;}
 html body #page-popup .page-popup-content{height:auto;max-height:none;overflow:visible;}
 /* Override the older two-ID form rule, including overscroll containment. */
 html body.workflow-quote #quote #quote-form,html body #page-popup #quote #quote-form{position:static;top:auto;height:auto;min-height:0;max-height:none;overflow:visible;overscroll-behavior:auto;scrollbar-gutter:auto;}
}

html body #page-popup .page-popup-toolbar{border-bottom:0;}
html body #page-popup .sd-legacy-popup-control{display:none!important;}
/* Service Areas had additional high-specificity landscape overrides. Keep its
   header geometry identical to Home while preserving map sizing rules. */
html body #page-popup.page-popup.open header.page-popup-toolbar{position:sticky;top:0;box-sizing:border-box;grid-template-columns:var(--sd-logo-width) minmax(0,1fr) var(--sd-nav-cta);gap:12px;min-height:var(--sd-header-row);padding:var(--sd-header-pad-top) var(--sd-header-gutter) var(--sd-header-pad-bottom);}
html body #page-popup.page-popup.open header.page-popup-toolbar .page-popup-brand{width:var(--sd-logo-width);min-width:var(--sd-logo-width);max-width:none;height:calc(var(--sd-logo-width)*.405);min-height:0;}
html body #page-popup.page-popup.open header.page-popup-toolbar .page-popup-brand img{height:auto;aspect-ratio:1000/405;}
html body #page-popup.page-popup.open header.page-popup-toolbar .page-popup-full-navigation{gap:6px 8px;padding:0;transform:translateY(4px);}
html body #page-popup.page-popup.open header.page-popup-toolbar .page-popup-full-navigation>a{min-height:44px;padding:8px 4px;}
html body.workflow-page .site-header,html body.homepage .site-header,html body .sd-public-header{position:sticky!important;top:0!important;}
@media(max-width:1240px){
 html body #page-popup.page-popup.open header.page-popup-toolbar{grid-template-columns:var(--sd-logo-width) minmax(0,1fr) auto;}
 html body #page-popup.page-popup.open header.page-popup-toolbar .page-popup-full-navigation{padding-top:10px;transform:none;}
}
@media screen and (orientation:landscape) and (max-width:1100px) and (max-height:600px){
 html body.workflow-page .site-header,html body.homepage .site-header,html body .sd-public-header,html body #page-popup.page-popup.open header.page-popup-toolbar{position:static!important;}
}
/* Avoid the initial padded-body flash on compact confirmation documents. */
html body:has(>.sd-public-header){margin:0;padding:0;}
@media screen and (orientation:landscape) and (max-width:1100px) and (max-height:600px){
 /* Relative keeps Close anchored to the scrolling header without pinning it. */
 html body #page-popup.page-popup.open header.page-popup-toolbar{position:relative!important;}
}
/* About images/fragment restoration must not anchor the new view halfway down. */
html body #page-popup:has(#about),html body #page-popup:has(#about) :is(.page-popup-shell,.page-popup-content){overflow-anchor:none;scroll-behavior:auto;}

/* Pricing must not restore an anchor offset when the popup is reopened. */
html body #page-popup:has(#starting-prices),
html body #page-popup:has(#starting-prices) :is(.page-popup-shell,.page-popup-content) {overflow-anchor:none;scroll-behavior:auto;}
