:root {
  --fs-header-font: "Sora", "Manrope", "Avenir Next", "Segoe UI", sans-serif;
  --fs-header-logo-size: clamp(30px, 3vw, 40px);
  --fs-header-logo-size-alt: clamp(29px, 2.9vw, 38px);
  --fs-header-nav-size: clamp(15px, 1.05vw, 17px);
  --fs-header-nav-gap: clamp(12px, 1.9vw, 24px);
}

.topbar {
  border-radius: 24px;
}

.topbar-inner {
  min-height: 78px;
  padding: 16px 22px;
  align-items: center;
  gap: 16px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-height: 44px;
  font-family: var(--fs-header-font);
  text-decoration: none;
}

.logo,
.logo-wordmark,
.logo-text {
  display: inline-flex;
  align-items: baseline;
  line-height: 1;
  letter-spacing: 0.01em;
  font-family: var(--fs-header-font);
}

.logo-wordmark {
  gap: 1px;
  font-weight: 800;
}

.logo-made,
.logo-fit-primary,
.logo-text {
  font-family: var(--fs-header-font);
  font-weight: 800;
  font-size: var(--fs-header-logo-size);
  line-height: 1;
}

.logo-fit,
.logo-fit-secondary,
.logo-text em {
  font-family: var(--fs-header-font);
  font-weight: 700;
  font-style: italic;
  font-size: var(--fs-header-logo-size-alt);
  line-height: 1;
}

.nav {
  align-items: center;
  gap: var(--fs-header-nav-gap);
}

.nav a,
.nav button {
  font-family: var(--fs-header-font);
  font-size: var(--fs-header-nav-size);
  font-weight: 650;
  line-height: 1.1;
}

@media (max-width: 900px) {
  :root {
    --fs-header-logo-size: clamp(26px, 6.2vw, 34px);
    --fs-header-logo-size-alt: clamp(25px, 5.9vw, 33px);
    --fs-header-nav-size: 15px;
    --fs-header-nav-gap: 14px;
  }

  .topbar-inner {
    min-height: 70px;
    padding: 14px 16px;
    gap: 14px;
  }

  .brand {
    min-height: 40px;
    gap: 9px;
  }
}

@media (max-width: 760px) {
  .topbar-inner {
    min-height: 64px;
    padding: 12px 14px;
    gap: 12px;
  }
}
