/* Site header — updated with logo image support */
.site-header { background: #1A2332; position: relative; z-index: 100; }
.site-header .header-inner { max-width: 1080px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; height: 64px; }

/* Logo — mark + wordmark lockup */
.site-header .header-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.site-header .header-logo-mark { width: 32px; height: 32px; display: block; flex-shrink: 0; border-radius: 6px; }
.site-header .header-logo-text { font-size: 17px; font-weight: 700; color: #FAFAF8; letter-spacing: -0.3px; }
.site-header .header-logo-tld { color: #C8A951; font-weight: 700; }

/* Nav */
.site-header .header-nav { display: flex; align-items: center; gap: 28px; }
.site-header .header-nav a { font-size: 13px; font-weight: 500; color: rgba(250, 250, 248, 0.6); transition: color 0.2s; position: relative; padding: 4px 0; }
.site-header .header-nav a:hover { color: #FAFAF8; }
.site-header .header-nav a[aria-current="page"] { color: #FAFAF8; }
.site-header .header-nav a[aria-current="page"]::after { content: ""; position: absolute; bottom: -2px; left: 0; right: 0; height: 2px; background: #C8A951; border-radius: 1px; }

/* Mobile toggle */
.site-header .header-toggle { display: none; background: none; border: none; color: #FAFAF8; font-size: 22px; cursor: pointer; padding: 8px; line-height: 1; }
.site-header .header-toggle:focus-visible { outline: 2px solid #C8A951; outline-offset: 2px; border-radius: 4px; }

@media (max-width: 768px) {
  .site-header .header-toggle { display: block; }
  .site-header .header-nav { display: none; flex-direction: column; position: absolute; top: 64px; left: 0; right: 0; background: #1A2332; padding: 16px 24px 24px; gap: 0; border-top: 1px solid rgba(250, 250, 248, 0.08); box-shadow: 0 12px 32px rgba(26, 35, 50, 0.3); }
  .site-header .header-nav.open { display: flex; }
  .site-header .header-nav a { padding: 12px 0; font-size: 15px; border-bottom: 1px solid rgba(250, 250, 248, 0.05); }
  .site-header .header-nav a:last-child { border-bottom: none; }
  .site-header .header-nav a[aria-current="page"]::after { bottom: 8px; }
}

@media (max-width: 480px) {
  .site-header .header-inner { padding: 0 16px; }
  .site-header .header-logo-mark { width: 28px; height: 28px; }
  .site-header .header-logo-text { font-size: 15px; }
}
