.site-header { position: relative; z-index: 10; background: rgb(255 255 255 / 96%); }
.header-inner { display: flex; min-height: 86px; align-items: center; justify-content: space-between; gap: 26px; }
.brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 10px; color: var(--brand-blue); text-decoration: none; }
.brand img { width: 48px; height: 48px; object-fit: contain; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.13; }
.brand-copy strong { font-family: var(--font-display); font-size: 1.1rem; font-weight: 800; letter-spacing: .035em; }
.brand-copy small { margin-top: 4px; font-size: .59rem; font-weight: 700; letter-spacing: .07em; }
.primary-nav { display: flex; align-items: center; gap: clamp(13px, 2vw, 27px); }
.primary-nav > a { position: relative; color: #536171; font-size: .81rem; font-weight: 600; text-decoration: none; transition: color .18s ease; }
.primary-nav > a:not(.nav-cta)::after { position: absolute; right: 0; bottom: -7px; left: 0; height: 2px; transform: scaleX(0); transform-origin: left; background: var(--green); content: ""; transition: transform .2s ease; }
.primary-nav > a:hover, .primary-nav > a.is-active { color: var(--ink); }
.primary-nav > a:hover::after, .primary-nav > a.is-active::after { transform: scaleX(1); }
.primary-nav > .nav-cta { display: inline-flex; min-height: 43px; align-items: center; gap: 8px; padding: 0 16px; border-radius: 4px; background: var(--brand-blue); color: white; }
.primary-nav > .nav-cta:hover { background: #252b7d; color: white; }
.primary-nav > .nav-cta::after { display: none; }
.menu-toggle { display: none; }
@media (max-width: 980px) {
  .header-inner { min-height: 76px; }
  .menu-toggle { display: flex; width: 44px; height: 44px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid var(--line); border-radius: 4px; background: white; cursor: pointer; }
  .menu-toggle span { display: block; width: 18px; height: 2px; background: var(--ink); transition: transform .2s ease, opacity .2s 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); }
  .primary-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; align-items: stretch; gap: 0; padding: 8px 24px 20px; border-top: 1px solid var(--line); background: white; box-shadow: 0 12px 20px rgb(25 48 74 / 7%); }
  .primary-nav.is-open { display: flex; flex-direction: column; }
  .primary-nav > a { padding: 11px 0; font-size: .94rem; }
  .primary-nav > a:not(.nav-cta)::after { display: none; }
  .primary-nav > .nav-cta { align-self: flex-start; margin-top: 8px; padding-inline: 16px; }
}
@media (max-width: 420px) { .brand img { width: 42px; height: 42px; } .brand-copy strong { font-size: 1rem; } .brand-copy small { font-size: .53rem; } }
