/* V3.9: header palette follows the existing footer (#17374c).
   Deliberately scoped to the header: no body, button or footer-wide recoloring. */
.site-header {
  --header-surface:#17374c;
  --header-text:#e5eef4;
  --header-muted:#bfd0dc;
  --header-accent:#86ccea;
  background:var(--header-surface);
  color:var(--header-text);
  border-bottom-color:rgba(211,224,232,.17);
  box-shadow:0 3px 14px rgba(9,27,40,.09);
}
.site-header .brand { color:var(--header-text); }
.site-header .brand .brand-word { color:#fff; }
.site-header .brand .brand-name { color:var(--header-muted); }
.site-header .brand .brand-separator { color:var(--header-muted); opacity:.8; }
.site-header .brand .brand-logo { background:transparent; }
.site-header .desktop-nav a { color:var(--header-text); }
.site-header .desktop-nav a:hover,
.site-header .desktop-nav a:focus-visible,
.site-header .desktop-nav a.active { color:#fff; }
.site-header .desktop-nav a.active::after { background:var(--header-accent); }
.site-header .desktop-nav a:hover::before {
  content:"";position:absolute;left:0;right:0;bottom:20px;height:2px;
  background:rgba(134,204,234,.55);
}
.site-header .btn.btn-primary {
  background:#e4f1f8; color:#17374c; border-color:#e4f1f8;
  box-shadow:none;
}
.site-header .btn.btn-primary:hover,
.site-header .btn.btn-primary:focus-visible,
.site-header .btn.btn-primary:active {
  background:#fff; color:#17374c; border-color:#fff;
}
.site-header .btn .icon { color:inherit; }
.site-header .mobile-nav summary { color:var(--header-text); }
.site-header .mobile-nav summary:hover,
.site-header .mobile-nav[open] summary { color:#fff; }
.site-header .mobile-menu-panel {
  background:var(--header-surface);
  color:var(--header-text);
  border-color:rgba(211,224,232,.22);
  box-shadow:0 18px 24px rgba(9,27,40,.24);
}
.site-header .mobile-menu-panel > a:not(.btn) {
  color:var(--header-text); border-bottom-color:rgba(211,224,232,.16);
}
.site-header .mobile-menu-panel > a:not(.btn):hover,
.site-header .mobile-menu-panel > a:not(.btn):focus-visible {
  color:#fff; background:rgba(211,224,232,.075);
}
.site-header :is(a,button,summary):focus-visible {
  outline:3px solid var(--header-accent); outline-offset:4px;
}
@media (forced-colors:active) {
  .site-header,.site-header .mobile-menu-panel { background:Canvas; color:CanvasText; border-color:CanvasText; }
  .site-header .brand :is(.brand-word,.brand-name,.brand-separator),
  .site-header .desktop-nav a,.site-header .mobile-nav summary,
  .site-header .mobile-menu-panel > a:not(.btn) { color:LinkText; }
  .site-header .btn.btn-primary { background:ButtonFace; color:ButtonText; border:1px solid ButtonText; }
}
