.site-header { background: var(--off-white); color: var(--brand-charcoal); border-bottom: 1px solid var(--warm-gray); }
.header-inner { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display: inline-flex; align-items: center; min-height: 44px; font-size: 17px; font-weight: 600; }
.brand-logo { width: 104px; height: 96px; object-fit: contain; object-position: left center; }
.header-partnerships { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.header-partnership { display: inline-flex; align-items: center; justify-content: center; width: 88px; min-height: 44px; padding: 6px 0; }
.header-partnership img { width: 100%; max-height: 32px; object-fit: contain; }
.primary-navigation { display: flex; align-items: center; gap: 40px; }
.primary-navigation a { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; font-size: 14px; color: var(--brand-charcoal); transition: text-decoration-color 160ms ease; }
.primary-navigation a:hover { text-decoration: underline; text-decoration-color: var(--gold-primary); text-underline-offset: 6px; }
.primary-navigation a:last-child span { color: var(--gold-primary); }
.menu-toggle { min-height: 44px; padding: 8px 0 8px 16px; align-items: center; gap: 16px; border: 0; color: var(--brand-charcoal); background: transparent; cursor: pointer; }
.menu-icon { display: grid; gap: 6px; width: 22px; }
.menu-icon span { height: 1px; width: 22px; background: currentColor; transition: transform 160ms ease; }
.menu-toggle[aria-expanded="true"] .menu-icon span:first-child { transform: translateY(3.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-icon span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 16px; min-height: 56px; padding: 16px 20px; border: 1px solid var(--gold-primary); border-radius: var(--radius); font-size: 14px; font-weight: 600; line-height: 1.5; transition: background 160ms ease, border-color 160ms ease; }
/* Large, semibold text maintains contrast against both approved gold states. */
.button-primary { background: var(--gold-primary); color: var(--white); font-size: 19px; font-weight: 700; }
.button-primary:hover { background: var(--gold-accent); border-color: var(--gold-accent); }
.button-secondary { background: transparent; color: var(--gold-accent); }
.button-secondary:hover { background: rgb(170 136 77 / 10%); border-color: var(--gold-accent); }
