.header {
  height: 3.75rem;
  padding-inline: 2.5rem;
  display: flex;
  align-items: center;
  background: var(--beige-darker);
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 50;
}

.header__logo {
  flex: 0 0 auto;
  font-family: 'JetBrains Mono', monospace;
  font-weight: 500;
  font-size: clamp(1.625rem, calc(0.625rem + 1.25vw), 1.875rem);
  line-height: 1;
  letter-spacing: var(--ls-logo);
  color: var(--indigo);
  white-space: nowrap;
  margin-right: 3.75rem;
}

.header__nav { flex: 1 1 auto; min-width: 0; display: flex; }
.header__pill {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: color-mix(in srgb, var(--text-white) 5%, transparent);
  border-radius: 62.5rem;
  height: clamp(3.125rem, calc(2.125rem + 1.25vw), 3.375rem);
  padding-inline: 1.5625rem;
}
.header__pill a {
  font-weight: 600;
  font-size: var(--fs-nav);
  line-height: 1;
  letter-spacing: var(--ls-nav);
  text-transform: uppercase;
  color: var(--indigo);
  white-space: nowrap;
  transition: color var(--t) ease;
}
.header__pill a:hover { color: var(--accent-primary-1); }

.btn--ghost {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: clamp(2.25rem, calc(1.25rem + 1.25vw), 2.5rem);
  width: 12.5rem;
  margin-left: clamp(2.59375rem, calc(-3.78125rem + 7.97vw), 4.1875rem);
  border: 0.09375rem solid var(--indigo);
  border-radius: var(--radius-btn);
  background: transparent;
  color: var(--indigo);
  font-weight: 600;
  font-size: var(--fs-btn1);
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color var(--t) ease, color var(--t) ease;
}
.btn--ghost:hover { background: var(--indigo); color: var(--beige-light); }

@media (max-width: 1279px) {
  .header { padding-inline: 1.25rem; }

  .header__logo {
    font-size: clamp(1.375rem, calc(0.9583rem + 0.8333vw), 1.625rem);
    margin-right: clamp(1.375rem, calc(-2.5833rem + 7.9167vw), 3.75rem);
  }

  .header__pill {
    height: 3.125rem;
    padding-inline: clamp(0.5rem, calc(-1.2708rem + 3.5417vw), 1.5625rem);
  }
  .header__pill a {
    font-size: clamp(0.75rem, calc(0.5417rem + 0.4167vw), 0.875rem);
    letter-spacing: clamp(0.09rem, calc(-0.0517rem + 0.2833vw), 0.175rem);
  }

  .btn--ghost {
    height: 2.25rem;
    font-size: clamp(0.875rem, calc(0.6667rem + 0.4167vw), 1rem);
    width: clamp(6.4375rem, calc(-3.6667rem + 20.2083vw), 12.5rem);
    margin-left: clamp(2rem, calc(1.0104rem + 1.9792vw), 2.59375rem);
  }
}

.header__burger { display: none; }

@media (max-width: 799px) {
  .header {
    justify-content: space-between;
    background: var(--beige-darker);
    padding-inline: var(--page-margin);
    box-shadow: var(--shadow-header);
  }
  .header__nav, .header__cta { display: none; }

  .header__logo {
    font-size: 1.6875rem;
    margin-right: 0;
  }

  .header__burger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.21875rem;
    width: 1.125rem;
    padding: 0;
    margin-right: 0.21875rem;
  }
  .header__burger span {
    width: 100%;
    height: 0.09375rem;
    background: var(--indigo);
    border-radius: 0.125rem;
    transition: transform var(--t) ease, opacity var(--t) ease;
  }
  .header__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(0.3125rem) rotate(45deg); }
  .header__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .header__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-0.3125rem) rotate(-45deg); }

  .header__menu {
    position: absolute;
    top: 100%; left: 0; right: 0;
    background: var(--beige-light);
    border-radius: 0 0 1.25rem 1.25rem;
    box-shadow: var(--shadow-header);
    padding: 0.5rem var(--page-margin) 2rem;
    display: none;
    z-index: 30;
  }
  .header__menu.is-open { display: block; }

  .header__menu a.header__menu-link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 4rem;
    border-top: 0.0625rem solid var(--rule);
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.18em;
    line-height: 1;
    text-transform: uppercase;
    color: var(--indigo);
    transition: color var(--t) ease;
  }
  .header__menu a.header__menu-link:hover { color: var(--lavender); }

  .header__menu-list { border-bottom: 0.0625rem solid var(--rule); }

  .header__menu .btn { width: 100%; margin-top: 3.125rem; }

  .header__scrim {
    position: fixed; inset: var(--header-h) 0 0;
    background: color-mix(in srgb, var(--indigo) 18%, transparent);
    opacity: 0; pointer-events: none;
    transition: opacity var(--t) ease;
    z-index: 20;
  }
  .header__scrim.is-open { opacity: 1; pointer-events: auto; }
}
@media (min-width: 800px) {
  .header__menu, .header__scrim { display: none !important; }
}
