/* The shared PTI header. Scoped to keep page content styles independent. */
.site-header {
  position: sticky; top: 0; z-index: 100;
  margin: 0; padding: 0; border: 0; border-bottom: 1px solid rgba(217,227,239,.85);
  background: rgba(255,255,255,.94); backdrop-filter: blur(14px); box-shadow: none;
  color: #0b1730; font: 16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing: antialiased;
}
.site-header *, .site-header *::before, .site-header *::after { box-sizing: border-box; }
.site-header .site-header__inner {
  width: min(calc(100% - 2rem),1180px); min-height: 76px; margin: 0 auto; padding: 0;
  display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
}
.site-header a { color: #0b1730; text-decoration: none; }
.site-header .brand { display: inline-flex; align-items: center; gap: .75rem; min-width: max-content; }
.site-header .brand__mark {
  position: relative; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px;
  color: white; font-size: 1.15rem; font-weight: 850; letter-spacing: -.05em;
  background: linear-gradient(145deg,#0b2451,#0b63ce); box-shadow: 0 9px 22px rgba(11,99,206,.22);
}
.site-header .brand__mark::after {
  content: ""; position: absolute; right: -5px; top: 8px; width: 16px; height: 4px;
  border-radius: 999px; background: #12a8c4;
  box-shadow: 0 8px 0 rgba(18,168,196,.7),0 16px 0 rgba(18,168,196,.38);
}
.site-header .brand__copy { display: grid; line-height: 1.1; }
.site-header .brand__name { font-size: 1rem; font-weight: 800; letter-spacing: -.02em; }
.site-header .brand__tagline { margin-top: .24rem; color: #526176; font-size: .72rem; font-weight: 400; font-style: normal; letter-spacing: .045em; text-transform: uppercase; }
.site-header .primary-nav { position: static; display: flex; align-items: center; gap: 1.75rem; margin: 0; padding: 0; width: auto; }
.site-header .primary-nav__list { display: flex; align-items: center; gap: 1.4rem; list-style: none; padding: 0; margin: 0; }
.site-header .primary-nav__list li { margin: 0; padding: 0; list-style: none; }
.site-header .primary-nav a { position: relative; font-size: .94rem; font-weight: 650; }
.site-header .primary-nav__list a::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: -.45rem; height: 2px;
  background: #0b63ce; transition: right .2s ease;
}
.site-header .primary-nav__list a:hover::after,
.site-header .primary-nav__list a[aria-current]::after { right: 0; }
.site-header .nav-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 46px;
  padding: .78rem 1.15rem; border: 1px solid transparent; border-radius: 12px;
  color: white; background: #0b63ce; font-weight: 760; line-height: 1.1;
  box-shadow: 0 10px 24px rgba(11,99,206,.22); transition: transform .18s ease,background .18s ease;
}
.site-header .nav-cta:hover { background: #084ea4; transform: translateY(-2px); }
.site-header .nav-toggle {
  display: none; flex-shrink: 0; width: 46px; height: 46px; padding: 0; margin: 0;
  border: 1px solid #d9e3ef; border-radius: 12px; background: white; color: #0b2451; cursor: pointer;
}
.site-header .nav-toggle span, .site-header .nav-toggle::before, .site-header .nav-toggle::after {
  content: ""; display: block; width: 20px; height: 2px; margin: 4px auto; background: currentColor;
  transition: transform .2s ease,opacity .2s ease;
}
.site-header .nav-toggle[aria-expanded="true"] span { opacity: 0; }
.site-header .nav-toggle[aria-expanded="true"]::before { transform: translateY(6px) rotate(45deg); }
.site-header .nav-toggle[aria-expanded="true"]::after { transform: translateY(-6px) rotate(-45deg); }
.site-header :focus-visible { outline: 3px solid #f2ba38; outline-offset: 3px; }
@media(max-width:1000px) {
  .site-header .primary-nav { gap: .8rem; }
  .site-header .primary-nav__list { gap: .9rem; }
}
@media(max-width:820px) {
  .site-header .site-header__inner { min-height: 68px; flex-wrap: wrap; }
  .site-header .brand__tagline { display: none; }
  .site-header .primary-nav { display: grid; width: 100%; padding: .75rem 0 1rem; align-items: stretch; }
  .site-header .primary-nav__list { display: grid; gap: .2rem; }
  .site-header .primary-nav__list a { display: block; padding: .72rem .8rem; border-radius: 9px; }
  .site-header .primary-nav__list a:hover, .site-header .primary-nav__list a[aria-current] { background: #f4f7fb; }
  .site-header .primary-nav__list a::after { display: none; }
  .site-header .nav-cta { width: 100%; }
  .site-header[data-enhanced="true"] .nav-toggle { display: block; }
  .site-header[data-enhanced="true"] .primary-nav {
    position: absolute; left: 1rem; right: 1rem; top: calc(100% + .5rem); width: auto; display: none;
    padding: 1rem; border: 1px solid #d9e3ef; border-radius: 16px; background: white;
    box-shadow: 0 8px 24px rgba(11,23,48,.08); max-height: calc(100dvh - 90px); overflow-y: auto;
  }
  .site-header[data-enhanced="true"] .primary-nav[data-open="true"] { display: grid; }
}
@media(max-width:620px) {
  .site-header .site-header__inner { width: min(calc(100% - 1.25rem),1180px); }
  .site-header .brand__name { font-size: .92rem; }
}
@media(prefers-reduced-motion:reduce) {
  .site-header *, .site-header *::before, .site-header *::after { transition: none; }
}
