/* Shared header for every current and future public page. Load after other styles. */
.site-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:12px clamp(20px,3vw,48px);min-height:105px;position:sticky;top:0;z-index:30;flex-wrap:nowrap}
.site-header .brand{gap:17px;min-width:0;grid-column:1;grid-row:1}
.site-header .brand-mark{width:80px;height:80px;flex:0 0 80px}
.site-header .brand-text{overflow-wrap:normal}
.site-header .brand-text strong{font-size:3.25rem;line-height:1.05}
.site-header .brand-text small{font-size:1.1875rem;white-space:nowrap}
.site-header .site-menu{grid-column:2;grid-row:1;width:auto;order:initial;min-width:0;margin:0;justify-self:stretch}
.site-header .site-menu>summary{display:none}
.site-header .main-nav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 16px;width:auto;overflow:visible;order:initial}
.site-header .main-nav a{font-size:.85rem;text-decoration:none;white-space:nowrap;padding:6px 0}
.site-header .header-actions{grid-column:3;grid-row:1;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:0;margin:0;width:auto;flex-wrap:nowrap}
.site-header .nav-cta{min-height:40px;font-size:.85rem;padding:0 16px;width:auto}
.site-header .header-phone{min-height:30px;font-size:1rem;padding:0;white-space:nowrap}
@media(max-width:1799px){
 .site-header{grid-template-columns:minmax(0,1fr) auto auto}
 .site-header .site-menu{justify-self:end;position:relative}
 .site-header .site-menu>summary{display:block;cursor:pointer;padding:10px 16px;min-height:44px;border:1px solid var(--navy);border-radius:3px;color:var(--navy);font-weight:700;font-size:.9rem}
 .site-header .site-menu[open] .main-nav{display:grid;grid-template-columns:1fr 1fr;position:absolute;top:calc(100% + 16px);right:0;width:360px;max-width:calc(100vw - 40px);padding:16px;gap:6px;background:var(--white);border:1px solid var(--line);border-radius:4px;box-shadow:0 12px 30px #14273526}
 .site-header .site-menu:not([open]) .main-nav{display:none}
 .site-header .main-nav a{white-space:normal;padding:12px;min-height:44px}
}
@media(max-width:640px){
 .site-header{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:10px 16px;min-height:127px}
 .site-header .brand{gap:12px}
 .site-header .brand-mark{width:65px;height:65px;flex-basis:65px}
 .site-header .brand-text strong{font-size:2.25rem}
 .site-header .brand-text small{font-size:.875rem;white-space:normal;max-width:175px;line-height:1.15}
 .site-header .site-menu{grid-column:2;grid-row:1}
 .site-header .site-menu>summary{padding:10px;min-width:54px;text-align:center;font-size:.85rem}
 .site-header .header-actions{grid-column:1/-1;grid-row:2;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:36px}
 .site-header .nav-cta{min-height:36px;font-size:.8rem;padding:0 12px}
 .site-header .header-phone{min-height:36px;font-size:.9rem}
 .site-header .site-menu[open] .main-nav{top:calc(100% + 55px);right:0}
}
@media print{.site-header{display:none!important}}
