@font-face {
  font-family: "Nunito Sans";
  src: url("assets/fonts/nunito-sans/NunitoSans-Variable.ttf") format("truetype-variations");
  font-weight: 200 1000;
  font-stretch: 75% 125%;
  font-style: normal;
  font-display: swap;
}

:root {
  --display-font: "Nunito Sans", Arial, sans-serif;
  --body-font: "Nunito Sans", Arial, sans-serif;
}

.nunito-hero .hero-title-word,
.nunito-hero .hero-title-label,
.type-sample-display,
.nunito-type-test h2,
.nunito-values .value-letter,
.font-axis-card strong,
.nunito-hero-letter {
  font-family: "Nunito Sans", Arial, sans-serif;
}

.nunito-hero .hero-title-word {
  font-variation-settings: "wght" 950, "wdth" 96, "opsz" 96;
  line-height: 0.74;
  letter-spacing: -0.065em;
}

.nunito-hero-letter {
  position: absolute;
  right: 4%;
  bottom: 0;
  z-index: 1;
  color: var(--deep-green);
  font-size: clamp(14rem, 28vw, 29rem);
  font-variation-settings: "wght" 950, "wdth" 92, "opsz" 96;
  line-height: 0.68;
}

.license-note {
  margin-top: 26px;
  color: var(--green-deep);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nunito-type-test {
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(360px, 1.28fr);
  gap: clamp(40px, 8vw, 120px);
  background: var(--white);
}

.type-samples {
  max-width: 820px;
}

.type-sample-display {
  margin-bottom: 28px;
  color: var(--brown);
  font-size: clamp(2.3rem, 5vw, 5.4rem);
  font-variation-settings: "wght" 900, "wdth" 94, "opsz" 72;
  line-height: 0.96;
  letter-spacing: -0.045em;
}

.type-sample-copy,
.font-status {
  color: var(--muted);
  font-size: clamp(1.06rem, 1.45vw, 1.24rem);
}

.font-status {
  margin-top: 26px;
  font-weight: 900;
}

.font-axis-section,
.free-logo-section {
  padding: var(--section-space) var(--page-padding);
  border-bottom: 1px solid var(--line);
}

.font-axis-section {
  background: var(--mist);
}

.font-axis-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.font-axis-card {
  min-height: 320px;
  padding: clamp(24px, 3vw, 38px);
  background: var(--white);
  border: 1px solid var(--line);
}

.font-axis-card > span {
  color: var(--green-deep);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.font-axis-card strong {
  display: block;
  margin: 58px 0 34px;
  color: var(--brown);
  font-size: clamp(3.4rem, 6vw, 6.4rem);
  line-height: 0.7;
}

.font-axis-card p {
  color: var(--muted);
}

.font-axis-card.balanced strong {
  font-variation-settings: "wght" 900, "wdth" 100, "opsz" 72;
}

.font-axis-card.compact strong {
  font-variation-settings: "wght" 930, "wdth" 85, "opsz" 72;
}

.font-axis-card.calm strong {
  font-variation-settings: "wght" 750, "wdth" 103, "opsz" 72;
}

.free-logo-section {
  background: var(--paper);
}

.free-logo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.free-logo-card {
  padding: 26px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 7px;
}

.free-logo-card.dark {
  background: var(--deep-green);
  border-color: var(--deep-green);
}

.free-logo-card.dark h3 {
  color: var(--white);
}

.free-logo-card img {
  display: block;
  width: 100%;
}

.font-license-section {
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(360px, 1.28fr);
  gap: clamp(40px, 8vw, 120px);
  padding: var(--section-space) var(--page-padding);
  background: var(--deep-green);
}

.font-license-section h2,
.font-license-section .section-kicker {
  color: var(--white);
}

.font-license-section p {
  max-width: 660px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.12rem;
}

.font-license-section .text-link {
  color: var(--white);
}

@media (max-width: 820px) {
  .nunito-type-test,
  .font-license-section,
  .free-logo-grid {
    grid-template-columns: 1fr;
  }

  .font-axis-grid {
    grid-template-columns: 1fr;
  }

  .font-axis-card {
    min-height: 0;
  }
}
