/* Shared navigation accommodates all eight pages at comfortable text sizes. */
.header-inner { gap: 20px; }
.brand { flex-shrink: 0; }
.main-nav { gap: 16px; }
.main-nav a { font-size: .875rem; white-space: nowrap; }
.footer-nav { flex-wrap: wrap; gap: 8px 22px; }
@media (max-width: 1360px) { .header-actions .button-small { display: none; } }
@media (max-width: 1100px) {
  .site-header { height: auto; }
  .header-inner { min-height: 84px; }
  .menu-toggle { position: relative; z-index: 2; display: grid; width: 46px; height: 46px; place-content: center; gap: 5px; padding: 0; background: transparent; border: 0; cursor: pointer; }
  .menu-toggle span { display: block; width: 24px; height: 2px; background: var(--navy); transition: transform .22s ease, opacity .22s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
  .header-actions { position: fixed; inset: 84px 0 auto; display: grid; visibility: hidden; gap: 20px; max-height: calc(100dvh - 84px); overflow-y: auto; margin: 0; padding: 22px 24px 28px; background: var(--white); border-top: 1px solid #dfe5eb; box-shadow: 0 24px 40px rgb(6 26 51 / 12%); opacity: 0; transform: translateY(-12px); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
  .header-actions.open { visibility: visible; opacity: 1; transform: none; }
  .main-nav { display: grid; justify-items: center; gap: 2px; }
  .main-nav a { font-size: 1rem; padding: 9px 0; }
  .header-actions .button-small { display: inline-flex; width: min(100%, 340px); margin-inline: auto; }
  body.menu-open { overflow: hidden; }
}
@media (max-width: 700px) {
  .footer-inner { grid-template-columns: 1fr; }
  .footer-nav { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8px 22px; }
  .footer-nav a { font-size: .875rem; }
}
