.site-header { position: fixed; z-index: 20; top: 0; right: 0; left: 0; color: var(--white); background: var(--brand-contrast); box-shadow: 0 4px 20px rgba(3, 17, 36, .24); transition: background var(--transition), box-shadow var(--transition), color var(--transition); }
.site-header.is-scrolled { color: var(--white); background: var(--brand-contrast); box-shadow: 0 4px 20px rgba(3, 17, 36, .3); }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 5.3rem; }
.brand { display: inline-flex; align-items: center; flex-shrink: 0; }
.brand-logo { width: clamp(8.7rem, 12vw, 10.6rem); height: auto; }
.primary-navigation { display: flex; align-items: center; gap: clamp(1rem, 2vw, 1.8rem); font-size: .76rem; font-weight: 700; }
.primary-navigation > a:not(.button) { position: relative; color: var(--white); opacity: 1; text-shadow: 0 1px 3px rgba(0,0,0,.45); transition: color var(--transition); }
.primary-navigation > a:not(.button)::after { position: absolute; right: 0; bottom: -.42rem; left: 0; height: 1px; content: ''; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform var(--transition); }
.primary-navigation > a:hover { color: var(--mint); }
.primary-navigation > a:hover::after { transform: scaleX(1); transform-origin: left; }
.site-header.is-scrolled .primary-navigation > a:not(.button) { color: var(--white); text-shadow: 0 1px 3px rgba(0,0,0,.45); }
.site-header.is-scrolled .primary-navigation > a:not(.button):hover { color: var(--mint); }
.site-header.is-scrolled .nav-contact { color: var(--white); background: var(--blue); }
.menu-toggle { display: none; padding: 0; color: currentColor; border: 0; background: transparent; }

@media (max-width: 900px) {
  .primary-navigation { gap: 1rem; }
  .nav-contact { display: none; }
}

@media (max-width: 700px) {
  .header-inner { min-height: 4.65rem; }
  .brand-logo { width: 8.2rem; }
  .menu-toggle { position: relative; z-index: 2; display: grid; gap: .35rem; width: 2.4rem; height: 2.4rem; place-content: center; }
  .menu-toggle span:not(.sr-only) { width: 1.45rem; height: 1px; background: currentColor; transition: transform var(--transition); }
  .menu-toggle[aria-expanded='true'] span:nth-of-type(2) { transform: translateY(.18rem) rotate(45deg); }
  .menu-toggle[aria-expanded='true'] span:nth-of-type(3) { transform: translateY(-.18rem) rotate(-45deg); }
  .primary-navigation { position: fixed; top: 0; right: 0; left: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 1.55rem; padding: 6.5rem var(--gutter) 2rem; color: var(--ink); background: var(--paper); box-shadow: 0 12px 30px rgba(5,18,38,.16); opacity: 0; pointer-events: none; transform: translateY(-1rem); transition: opacity var(--transition), transform var(--transition); }
  .site-header.is-scrolled .primary-navigation > a:not(.button) { color: var(--ink); text-shadow: none; }
  .primary-navigation.is-open { opacity: 1; pointer-events: auto; transform: none; }
  .primary-navigation > a:not(.button) { font-size: 1.02rem; }
  .nav-contact { display: inline-flex; color: var(--white); background: var(--blue); }
}
