/* Shared mobile header contract. Load after every page-specific stylesheet. */
@media screen and (max-width:800px){
 /* Detail hero styles use a more specific header selector; keep it above the backdrop too. */
 :root body .site-header,:root body.homepage.detail-page .site-header{position:relative;inset:auto;z-index:100;display:block;width:100%;height:auto;min-height:0;max-height:none;margin:0;padding:10px 0;overflow:visible;background:#082c61;color:#fff;border:0;box-sizing:border-box}
 :root body.workspace-page .site-header{position:sticky;top:0;background:#082c61;color:#fff;border-bottom:1px solid #153d70}
 :root body .site-header .container{width:calc(100% - 24px);max-width:none;margin:0 auto;padding:0}
 :root body .site-header .nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:8px;min-width:0;padding:0}
 :root body .site-header .brand{display:flex;align-items:center;flex:1 1 auto;min-width:0;gap:8px;margin:0;color:inherit}
 :root body .site-header .logo{display:block;flex:0 0 44px;width:44px;height:44px;max-width:44px;object-fit:contain;background:transparent;border-radius:0}
 :root body .site-header .brand-name,:root body .site-header .brand-name span{color:inherit;font-size:12px;font-weight:800;line-height:1.15;letter-spacing:.4px;text-transform:none}
 :root body .site-header .brand-name b{margin-top:4px;font-size:11px;letter-spacing:2px}
 :root body .site-header .utility{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin:0 0 8px;font-size:11px;line-height:1.4;color:inherit}
 :root body .site-header .utility span,:root body .site-header .utility a{color:inherit;font-size:inherit;letter-spacing:normal;text-transform:none;text-decoration:none}
 :root body .site-header .nav>.button{display:none}
 :root body .site-header .menu-toggle,:root body .site-header .workspace-menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:6px;position:static;width:auto;min-width:84px;height:44px;white-space:nowrap;margin:0;padding:8px 10px;border:1px solid #c4dff0;border-radius:6px;background:#fff;color:#082c61;font:700 13px Arial,Helvetica,sans-serif;line-height:1;cursor:pointer;touch-action:manipulation;box-shadow:none;filter:none}
 :root body .site-header .menu-toggle span,:root body .site-header .workspace-menu-toggle span{color:inherit;font:inherit;letter-spacing:normal;text-transform:none}
 :root body .site-header .menu-toggle svg,:root body .site-header .workspace-menu-toggle svg{display:block;width:20px;height:20px;flex-shrink:0;color:#082c61;stroke:#082c61;fill:none;opacity:1}
 :root body .site-header .menu-toggle:focus-visible,:root body .site-header .workspace-menu-toggle:focus-visible{outline:3px solid #64bae9;outline-offset:3px}
 /* Public menu and workspace menu share the same anchored, scrollable panel. */
 :root body .site-header #main-navigation,:root body.workspace-page .site-header .workspace-menu-panel{position:absolute;top:100%;left:0;right:0;width:100%;max-width:none;max-height:calc(100dvh - var(--mobile-header-height,100px) - 12px);margin:0;padding:12px;background:#fff;color:#082c61;border:0;border-bottom:1px solid #c4dff0;border-radius:0;box-shadow:0 10px 20px #001c3533;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-sizing:border-box}
 :root body .site-header #main-navigation{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}
 :root body.js .site-header #main-navigation:not(.is-open),:root body.workspace-menu-ready:not(.workspace-menu-open) .site-header .workspace-menu-panel{display:none}
 :root body.workspace-page .site-header .workspace-menu-panel .workspace-navigation,:root body.workspace-page .site-header .workspace-menu-panel nav[aria-label="Main navigation"]{display:flex;position:static;flex-direction:column;align-items:stretch;justify-content:flex-start;flex:initial;gap:0;width:100%;min-width:0;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:#fff}
 :root body.workspace-page .site-header .workspace-menu-panel nav[aria-label="Main navigation"]{margin-top:8px;padding-top:8px;border-top:1px solid #d6e5f0}
 :root body .site-header #main-navigation>a,:root body .site-header #main-navigation>button,:root body .site-header #main-navigation .nav-dropdown-trigger,:root body.workspace-page .site-header .workspace-menu-panel nav>a,:root body.workspace-page .site-header .workspace-menu-panel nav>button{display:flex;align-items:center;justify-content:flex-start;flex:none;gap:10px;width:100%;min-width:0;min-height:44px;height:auto;margin:0;padding:12px;border:0;border-radius:6px;background:#fff;color:#082c61;font:600 14px Arial,Helvetica,sans-serif;line-height:1.4;white-space:normal;text-align:left;text-decoration:none;box-shadow:none;box-sizing:border-box}
 :root body.workspace-page .site-header .workspace-menu-panel nav>a>span{color:inherit;font:inherit;letter-spacing:normal;text-transform:none;overflow-wrap:anywhere}
 :root body.workspace-page .site-header .workspace-menu-panel nav>a>svg{flex-shrink:0;width:20px;height:20px;color:#14568c}
 :root body .site-header #main-navigation>a.active,:root body.workspace-page .site-header .workspace-menu-panel nav>a.active{color:#075b9c;background:#eaf4ff;box-shadow:inset 3px 0 #075b9c}
 :root body .site-header #main-navigation>a:hover,:root body .site-header #main-navigation>button:hover,:root body .site-header #main-navigation .nav-dropdown-trigger:hover,:root body.workspace-page .site-header .workspace-menu-panel nav>a:hover,:root body.workspace-page .site-header .workspace-menu-panel nav>button:hover{color:#075b9c;background:#eaf4ff}
 :root body .site-header .nav-dropdown{position:static;display:block;flex:0 0 auto;width:100%;min-width:0}
 :root body .site-header #main-navigation .nav-dropdown-panel{position:static;inset:auto;display:block;width:100%;min-width:0;max-width:none;max-height:none;margin:0 0 8px;padding:0 0 0 12px;background:#fff;color:#082c61;border:0;border-left:2px solid #c4dff0;border-radius:0;box-shadow:none;overflow:visible;box-sizing:border-box}
 :root body .site-header #main-navigation .nav-dropdown-panel[hidden]{display:none!important}
 :root body .site-header #main-navigation .dropdown-grid{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;min-width:0}
 :root body .site-header #main-navigation .dropdown-heading{display:none}
 :root body .site-header .dropdown-heading h2{font-size:18px;line-height:1.3;margin:6px 0 0}
 :root body .site-header #main-navigation .dropdown-link{position:static;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex:none;gap:0;width:100%;min-width:0;min-height:44px;margin:0;padding:12px;border:0;border-radius:4px;background:#fff;color:#082c61;font:500 14px Arial,Helvetica,sans-serif;line-height:1.4;text-align:left;white-space:normal;box-sizing:border-box}
 :root body .site-header #main-navigation .dropdown-link strong{display:block;min-width:0;color:inherit;font:inherit;overflow-wrap:anywhere}
 :root body .site-header #main-navigation .dropdown-link span,:root body .site-header #main-navigation .dropdown-link b{display:none}
 :root body .site-header #main-navigation .dropdown-link:hover,:root body .site-header #main-navigation .dropdown-link:focus-visible{background:#eaf4ff;color:#075b9c}
 :root body .site-header #main-navigation .nav-dropdown-trigger[aria-expanded="true"]{color:#075b9c;background:#eaf4ff}
 :root body .site-header #main-navigation .dropdown-close{color:#082c61;background:#fff}
 :root body .site-header #main-navigation .dropdown-overview{display:flex;align-items:center;min-height:44px;margin:4px 0 0;padding:12px;border-top:1px solid #d6e5f0;color:#075b9c;font:600 14px Arial,Helvetica,sans-serif;line-height:1.4;white-space:normal}
 :root body .site-header #main-navigation .dropdown-overview span{display:none}
 :root body .nav-backdrop{z-index:90}
}
/* The Home header is the shared public-page layout. */
@media(min-width:801px){
 :root body .site-header[data-public-header]{position:absolute;inset:0 0 auto;z-index:100;display:block;height:auto;min-height:0;margin:0;padding:16px 0;border:0;box-shadow:none;background:transparent;color:#fff}
 :root body .site-header[data-public-header]>.container{width:min(1180px,90%);max-width:none;margin:0 auto;padding:0}
 :root body .site-header[data-public-header] .utility{display:flex;justify-content:flex-end;align-items:center;gap:30px;font:400 12px Arial,Helvetica,sans-serif;line-height:1.5;margin:0 0 6px;color:#fff}
 :root body .site-header[data-public-header] .utility a{padding:0;color:inherit;text-decoration:none}
 :root body .site-header[data-public-header] .nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:30px;min-width:0;margin:0;padding:0}
 :root body .site-header[data-public-header] .brand{display:flex;align-items:center;flex:0 0 auto;gap:12px;margin:0 auto 0 0;color:#fff;text-decoration:none}
 :root body .site-header[data-public-header] .logo{display:block;flex:0 0 76px;width:76px;height:76px;max-width:76px;object-fit:contain;background:transparent;border-radius:0}
 :root body .site-header[data-public-header] .brand-name,:root body .site-header[data-public-header] .brand-name span{font:800 21px Arial,Helvetica,sans-serif;line-height:1.05;letter-spacing:.5px;color:#fff}
 :root body .site-header[data-public-header] .brand-name{display:flex;flex-direction:column}
 :root body .site-header[data-public-header] .brand-name b{margin-top:5px;font-size:21px;line-height:1.05;letter-spacing:4px;color:inherit}
 :root body .site-header[data-public-header] #main-navigation{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;flex-wrap:wrap;gap:0 30px;order:0;width:auto;min-width:0;margin:0 0 0 auto;padding:0;text-align:left}
 :root body .site-header[data-public-header] #main-navigation>a,:root body .site-header[data-public-header] #main-navigation>button,:root body .site-header[data-public-header] #main-navigation>.nav-dropdown>.nav-dropdown-trigger{display:inline-flex;align-items:center;flex:0 0 auto;min-height:44px;margin:0;padding:12px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#fff;font:700 15px Arial,Helvetica,sans-serif;line-height:1.4;white-space:nowrap;text-decoration:none}
 :root body .site-header[data-public-header] #main-navigation>a.active,:root body .site-header[data-public-header] #main-navigation>.nav-dropdown>.nav-dropdown-trigger.active{border-bottom-color:#8cd2f4}
 :root body .site-header[data-public-header] #main-navigation>a:hover,:root body .site-header[data-public-header] #main-navigation>button:hover,:root body .site-header[data-public-header] #main-navigation>.nav-dropdown>.nav-dropdown-trigger:hover{color:#a8ddf9}
 :root body .site-header[data-public-header] .menu-toggle{display:none}
 :root body.login-page .site-header[data-public-header]{position:relative;background:#082c61}
 :root body.quote-wizard-enabled .quote-request-hero{padding-top:135px;min-height:440px}
 :root body.about-page .about-hero{padding-top:140px}
}
@media(min-width:801px) and (max-width:1050px){
 :root body .site-header[data-public-header] .nav{gap:20px}
 :root body .site-header[data-public-header] #main-navigation{gap:0 20px}
 :root body .site-header[data-public-header] .brand-name,:root body .site-header[data-public-header] .brand-name span,:root body .site-header[data-public-header] .brand-name b{font-size:17px}
 :root body .site-header[data-public-header] .logo{flex-basis:60px;width:60px;height:60px;max-width:60px}
}
/* Keep the same mobile header geometry and panel behavior on all public pages. */
@media(max-width:800px){
 :root body .site-header[data-public-header]{position:absolute;inset:0 0 auto;z-index:100;background:transparent;color:#fff;border:0;box-shadow:none}
 :root body .site-header[data-public-header] .brand,:root body .site-header[data-public-header] .brand-name,:root body .site-header[data-public-header] .brand-name span{color:#fff}
 :root body .site-header[data-public-header] .brand-name b{font-size:11px;line-height:1.15;color:inherit}
 :root body .site-header[data-public-header] .utility{justify-content:flex-end}
 :root body .site-header[data-public-header] #main-navigation{background:#fff;color:#082c61}
 :root body .site-header[data-public-header] #main-navigation>a,:root body .site-header[data-public-header] #main-navigation>button,:root body .site-header[data-public-header] #main-navigation>.nav-dropdown>.nav-dropdown-trigger{color:#082c61}
 :root body.login-page .site-header[data-public-header]{position:relative;background:#082c61}
 :root body.quote-wizard-enabled .quote-request-hero{padding-top:110px;min-height:365px}
 :root body.about-page .about-hero{padding-top:110px}
}
/* Workspace pages share Home's brand and container geometry. */
@media(min-width:801px){
 :root body.workspace-page .site-header[data-workspace-header]{padding:16px 0;min-height:0}
 :root body.workspace-page .site-header[data-workspace-header] .container{width:min(1180px,90%);padding:0}
 :root body.workspace-page .site-header[data-workspace-header] .nav{align-items:center;gap:30px}
 :root body.workspace-page .site-header[data-workspace-header] .brand{gap:12px}
 :root body.workspace-page .site-header[data-workspace-header] .logo{width:76px;height:76px;object-fit:contain}
 :root body.workspace-page .site-header[data-workspace-header] .brand-name,:root body.workspace-page .site-header[data-workspace-header] .brand-name span,:root body.workspace-page .site-header[data-workspace-header] .brand-name b{font-size:21px;line-height:1.05}
}
@media(min-width:801px) and (max-width:1050px){
 :root body.workspace-page .site-header[data-workspace-header] .logo{width:60px;height:60px}
 :root body.workspace-page .site-header[data-workspace-header] .brand-name,:root body.workspace-page .site-header[data-workspace-header] .brand-name span,:root body.workspace-page .site-header[data-workspace-header] .brand-name b{font-size:17px}
}

@media(min-width:801px){:root body.about-page .about-personal-hero{padding-top:170px}}
