/* ---------- Header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(6px);
}
.header-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 24px;
  display: flex; align-items: center; justify-content: space-between;
  height: 72px;
}
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.brand-logo { height: 44px; width: 44px; }
.footer-brand .brand-logo { height: 52px; width: 52px; margin-bottom: 12px; }
.brand-mark {
  font-family: var(--serif); font-weight: 700; font-size: 1.25rem;
  color: var(--indigo); letter-spacing: .08em; line-height: 1.25; display: inline-block;
}
.brand > span { line-height: 1.3; }
.brand-sub { font-size: .68rem; color: var(--muted); letter-spacing: .18em; }

.global-nav ul { display: flex; list-style: none; gap: 4px; align-items: center; }
.global-nav a {
  display: block; padding: 8px 14px; text-decoration: none;
  color: var(--ink); font-size: .88rem; letter-spacing: .06em;
  border-bottom: 2px solid transparent;
}
.global-nav a:hover { color: var(--indigo); border-bottom-color: var(--indigo); }
.global-nav a[aria-current="page"] { color: var(--accent); border-bottom-color: var(--accent); }
.nav-cta {
  margin-left: 12px; background: var(--indigo); color: #fff !important;
  border-radius: 3px; padding: 10px 18px !important; border-bottom: none !important;
  font-weight: 500;
}
.nav-cta:hover { background: var(--indigo-deep); }

.nav-toggle {
  display: none; background: none; border: 1px solid var(--line);
  border-radius: 4px; padding: 8px 10px; cursor: pointer; font-size: 1.1rem; color: var(--indigo);
}


/* Shared Home header layout: preserve one-line labels and collapse before they become cramped. */
.site-header{--indigo:var(--blue,#2277b3);--indigo-deep:var(--deep,#14486e)}
.global-nav ul{gap:0;flex-wrap:nowrap}
.global-nav li{flex:none}
.global-nav a{padding-inline:9px;white-space:nowrap}
.brand{flex:none}
@media(max-width:1120px){
  .header-inner{gap:12px}
  .global-nav{position:fixed;inset:72px 0 auto;background:#fff;border-bottom:1px solid var(--line);display:none;padding:12px 20px 20px}
  .global-nav.open{display:block}
  .global-nav ul{align-items:stretch;flex-direction:column;white-space:normal}
  .global-nav li{width:100%}
  .global-nav a{padding:9px 12px}
  .nav-cta{margin:8px 0 0;text-align:center}
  .nav-toggle{display:block}
}
