.header-inner { gap: 22px; }
.main-nav { gap: clamp(16px, 1.8vw, 28px); }
.main-nav a[aria-current="page"] { color: #ffe1a5; }
.header-donate { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 13px; border: 1px solid rgba(230,191,126,.35); border-radius: 5px; color: #e7cca0; font-size: .79rem; font-weight: 650; text-decoration: none; white-space: nowrap; }
.header-donate:hover { color: #fff0d6; border-color: #ebcb98; background: rgba(230,191,126,.07); }
.header-inner .header-cta { min-height: 44px; margin-left: 0; color: #182313; border-color: #d9ffb5; background: #caff8e; white-space: nowrap; }
.header-inner .header-cta:hover { background: #ddffb9; color: #14200e; }
.mobile-menu { display: none; }
.header-inner :focus-visible { outline: 2px solid #edcd9a; outline-offset: 4px; }
@media (max-width: 1160px) {
  .main-nav { display: none; }
  .mobile-menu { display: block; margin-left: auto; }
  .header-donate { margin-left: 0; }
  .mobile-menu summary { display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 1px solid rgba(230,191,126,.25); border-radius: 5px; color: #e7cca0; cursor: pointer; list-style: none; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; fill: none; }
  .mobile-menu[open] summary { background: #302b24; border-color: #e7cca0; }
  .mobile-menu nav { position: absolute; z-index: 3; top: 100%; left: max(20px,calc((100% - 1280px)/2)); right: max(20px,calc((100% - 1280px)/2)); display: grid; padding: 10px; border: 1px solid rgba(230,191,126,.25); border-radius: 0 0 10px 10px; background: #0a1522; box-shadow: 0 18px 45px #0008; }
  .mobile-menu nav a { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 10px 16px; color: #d8e4e9; text-decoration: none; font-size: .9rem; }
  .mobile-menu nav a:hover, .mobile-menu nav a[aria-current="page"] { color: #ffe1a5; background: #ffffff08; }
}
@media (max-width: 600px) {
  .header-inner { gap: 8px; }
  .header-inner .header-cta { gap: 6px; padding-inline: 10px; font-size: .72rem; }
  .header-donate { font-size: .72rem; padding: 10px; }
  .header-donate > span[aria-hidden] { display: none; }
}
@media (max-width: 480px) {
  .site-header .brand > span { display: none; }
}
@media (max-width: 360px) {
  .header-inner .header-cta > [aria-hidden] { display: none; }
}
