header {
  display: flex;
  position: relative;
  margin: 0 auto 16px auto;
  padding: 11px var(--side-padding) 0 var(--side-padding);
  max-width: var(--max-content);
  color: var(--foreground-3);

  &:has(h1) {
    margin-bottom: 56px;
  }

  @media (max-width: 479px) {
    font-size: 13px;
  }

  * {
    margin: 0;
    padding: 0;
  }

  .left-side {
    max-width: 78%;
  }

  .right-side {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
  }

  .brand {
    margin: 0;
    padding: 0;
    font-weight: bold;
    font-size: 21px;
    line-height: 26px;
    color: var(--foreground-2);

    a {
      color: inherit;
    }

    @media (min-width: 480px) {
      font-size: 28px;
      line-height: 38px;
    }

    + .tagline {
      padding-top: 0;
      margin-bottom: 0;
      font-size: inherit;
      line-height: 1.33;
    }

    h1& {
      color: var(--foreground-1);

      @media (min-width: 480px) {
        font-size: 38px;
        line-height: 52px;
      }
    }
  }

  nav {
    line-height: 47px;
    @media (max-width: 479px) {
      line-height: 31px;
    }

    > *:not(:last-child) {
      margin-right: 1em;
    }

    .search-toggle {
      @media (min-width: calc(50rem + 1px)) {
        display: none;
      }
    }
  }
}
