/* Philosophy header: the single shared presentation for every page.
   Reset within this component so historical page styles cannot alter it. */
html { scrollbar-gutter: stable; }
.shared-header, .shared-header * { all: initial !important; box-sizing: border-box !important; }
.shared-header::before, .shared-header::after,
.shared-header *::before, .shared-header *::after { content: none !important; }
.shared-header {
 display:flex !important; align-items:center !important; position:relative !important; z-index:60 !important;
 width:100% !important; height:108px !important; padding:0 clamp(28px,5vw,70px) !important;
 background:#030b13 !important; border-bottom:1px solid rgba(255,255,255,.14) !important;
 font:16px Arial,Helvetica,sans-serif !important;
}
.shared-header__brand { display:grid !important; gap:6px !important; color:#fff !important; text-decoration:none !important; cursor:pointer !important; font:16px Arial,Helvetica,sans-serif !important; }
.shared-header__brand strong { display:block !important; color:#fff !important; font:700 19px Arial,Helvetica,sans-serif !important; letter-spacing:.22em !important; }
.shared-header__brand span { display:block !important; font:10px Arial,Helvetica,sans-serif !important; letter-spacing:.16em !important; color:#aeb8c3 !important; }
.shared-header__menu { display:none !important; margin-left:auto !important; border:1px solid #667482 !important; border-radius:999px !important; background:transparent !important; color:#fff !important; padding:12px 19px !important; font:16px Arial,Helvetica,sans-serif !important; cursor:pointer !important; }
.shared-header__nav { margin-left:auto !important; display:flex !important; gap:28px !important; font:16px Arial,Helvetica,sans-serif !important; }
.shared-header__nav a { display:block !important; color:#e8edf2 !important; text-decoration:none !important; text-transform:uppercase !important; font:800 11px Arial,Helvetica,sans-serif !important; letter-spacing:.08em !important; cursor:pointer !important; }
.shared-header__nav a:hover { color:#6f9dff !important; }
.shared-header a:focus-visible, .shared-header button:focus-visible { outline:2px solid #6f9dff !important; outline-offset:5px !important; }
@media(max-width:760px) {
 .shared-header { height:auto !important; min-height:110px !important; padding:22px clamp(18px,5vw,28px) !important; justify-content:space-between !important; }
 .shared-header__brand { flex:0 1 auto !important; min-width:0 !important; line-height:1.2 !important; }
 .shared-header__brand strong { font:800 clamp(14px,4.6vw,19px)/1.2 Arial,Helvetica,sans-serif !important; letter-spacing:.21em !important; white-space:nowrap !important; }
 .shared-header__brand span { font:400 clamp(8px,2.4vw,10px)/1.3 Arial,Helvetica,sans-serif !important; text-transform:uppercase !important; white-space:nowrap !important; }
 .shared-header__menu { display:block !important; flex:none !important; margin-left:14px !important; border-color:#73808d !important; font:400 16px/1.2 Arial,Helvetica,sans-serif !important; }
 .shared-header__nav { display:none !important; position:absolute !important; left:0 !important; right:0 !important; top:100% !important; background:#030b13 !important; padding:18px 28px 26px !important; border-bottom:1px solid rgba(255,255,255,.14) !important; flex-direction:column !important; gap:18px !important; }
 .shared-header__nav.open { display:flex !important; }
}
