/* Shared header. Scoped so interior page and footer styles remain independent. */
.site-header{position:fixed;z-index:200;top:0;left:0;width:100%;height:92px;padding:0 4vw;display:flex;align-items:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.28);font:400 16px/1.5 'DM Sans',sans-serif;background:transparent;transition:background-color .2s ease}
.site-header,.site-header *{box-sizing:border-box}
.site-header.is-past-hero{background-color:rgba(0,0,0,.5)}
.site-header a{color:inherit;text-decoration:none}
.site-header .brand{display:flex;flex:none;line-height:.8}
.site-header .brand .brand-logo-full{display:block;width:auto;height:72px;max-width:none}
.site-header .desktop-nav{display:flex;margin:auto;font-size:.82rem;letter-spacing:.07em}
.site-header .homepage-nav-list,.site-header .sub-menu{list-style:none;margin:0;padding:0}
.site-header .desktop-nav>.homepage-nav-list{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.2rem)}
.site-header .homepage-nav-list li{position:relative}
.site-header .desktop-nav a{display:block;position:relative;white-space:nowrap}
.site-header .desktop-nav a:after{content:'';position:absolute;left:0;bottom:-.35rem;width:0;height:1px;background:currentColor;transition:width .3s}
.site-header .desktop-nav a:hover:after{width:100%}
.site-header .desktop-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:190px;padding:1rem;background:#091513}
.site-header .desktop-nav .sub-menu li+li{margin-top:.8rem}
.site-header .desktop-nav li:hover>.sub-menu,.site-header .desktop-nav li:focus-within>.sub-menu{display:block}
.site-header .desktop-nav .sub-menu .sub-menu{left:100%;top:0}
.site-header .header-actions{display:flex;align-items:center;gap:1.6rem}
.site-header .header-cta{display:inline-flex;align-items:center;gap:1.5rem;background:#79bde8;color:#091513;padding:.85rem 1rem;font-size:.78rem;font-weight:600;letter-spacing:.04em;white-space:nowrap}
.site-header .menu-button{display:none;background:none;border:0;width:34px;padding:6px;color:inherit;cursor:pointer}
.site-header .menu-button span{display:block;height:1px;background:currentColor;margin:7px 0}
.site-header .mobile-menu{display:none}
.site-header a:focus-visible,.site-header button:focus-visible{outline:3px solid #399f91;outline-offset:5px}
body.admin-bar .site-header{top:32px}
@media(max-width:900px){
 .site-header{height:76px}
 .site-header .desktop-nav,.site-header .header-cta{display:none}
 .site-header .header-actions{margin-left:auto}
 .site-header .menu-button{display:block}
 .site-header .mobile-menu{display:flex;position:absolute;inset:100% 0 auto;max-height:calc(100dvh - 76px);overflow-y:auto;background:#091513;flex-direction:column;padding:2rem 6vw;transform:translateY(-140%);visibility:hidden;transition:transform .35s,visibility .35s;z-index:-1}
 .site-header .mobile-menu.open{transform:none;visibility:visible}
 .site-header .mobile-menu .homepage-nav-list{display:flex;flex-direction:column;gap:1rem}
 .site-header .mobile-menu .sub-menu{padding:.75rem 0 0 1rem}
 .site-header .mobile-menu .sub-menu li+li{margin-top:.75rem}
}
@media(max-width:782px){body.admin-bar .site-header{top:46px}.admin-bar .site-header .mobile-menu{max-height:calc(100dvh - 122px)}}
@media(max-width:600px){.site-header .brand .brand-logo-full{height:60px}body.admin-bar #wpadminbar{position:fixed}}
@media(prefers-reduced-motion:reduce){.site-header,.site-header *,.site-header *:after{transition:none!important}}
