/* Header spacing and responsive navigation override. */
.site-header .brand {
  flex: 0 0 auto;
  gap: 0.85rem;
  margin-right: 2rem;
}

.site-header .brand-word {
  white-space: nowrap;
}

.site-header .nav {
  min-width: 0;
}

@media (max-width: 1280px) {
  .site-header {
    flex-wrap: nowrap;
  }

  .site-header .menu-button {
    color: #fff;
    background: transparent;
    border: 0;
    flex-direction: column;
    gap: 6px;
    margin-left: auto;
    padding: 0.7rem;
    display: flex;
  }

  .site-header .menu-button span {
    background: currentColor;
    width: 24px;
    height: 1px;
  }

  .site-header .nav {
    background: #2b1620;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
    margin-left: 0;
    padding: 1.5rem;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
  }

  .site-header .nav.open {
    display: flex;
  }

  .site-header .nav-cta {
    text-align: center;
    width: 100%;
  }
}

@media (max-width: 420px) {
  .site-header .brand {
    gap: 0.6rem;
    margin-right: 0.5rem;
  }

  .site-header .brand-mark-image {
    width: 2.75rem;
    height: 2.75rem;
  }

  .site-header .brand-word {
    font-size: 1.55rem;
  }
}
