/* ---- Header --------------------------------------------------------------- */
.header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: var(--z-header);
  background: transparent;
  transition: background-color .3s ease, box-shadow .3s ease;
}
.header.is-scrolled {
  background: rgba(9, 41, 98, 0.92);
  backdrop-filter: blur(6px);
  box-shadow: 0 2px 16px rgba(0,0,0,.08);
}
.header__inner {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: clamp(55px, calc(55px + (94 - 55) * ((100vw - 375px) / (1440 - 375))), 94px);
  padding-left: clamp(16px, calc(16px + (180 - 16) * ((100vw - 375px) / (1440 - 375))), 180px);
  padding-right: clamp(16px, calc(16px + (180 - 16) * ((100vw - 375px) / (1440 - 375))), 180px);
}
.header__brand { display: flex; align-items: center; gap: clamp(10px, calc(10px + (40 - 10) * ((100vw - 375px) / (1440 - 375))), 40px); }
.header__logo { height: clamp(22px, calc(22px + (52 - 22) * ((100vw - 375px) / (1440 - 375))), 47px); width: auto; }
.header__name { color: var(--color-white); font-weight: 600; font-size: clamp(12px, calc(12px + (16 - 12) * ((100vw - 375px) / (1440 - 375))), 16px); white-space: nowrap; }
.header__cta { flex-shrink: 0; }
@media (min-width: 1024px) {
  .header__inner {
    height: clamp(55px, calc(55px + (94 - 55) * ((100vw - 375px) / (1440 - 375))), 82px);
  }
}
.header.is-scrolled .header__cta {
  background: var(--color-white);
  color: var(--color-darkblue);
}
@media (max-width: 767px) {
  .header__logo { width: 117px; height: auto; }
  .header__brand { width: 100%; justify-content: space-between; }
  .header__cta { display: none; }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .header__inner { padding-left: 40px; padding-right: 40px; }
}
