h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 2rem 0 1rem 0;
  font-family: var(--heading);
  font-weight: var(--bold);
  text-align: left;
  letter-spacing: -0.02em;
  line-height: 1.2;
  text-wrap: balance;
}

h1 {
  margin: 0.8rem 0 1.6rem;
  font-size: clamp(2rem, 4.8vw, 3rem);
  font-weight: var(--bold);
  text-transform: none;
  text-align: center;
}

h2 {
  position: relative;
  margin-top: 2.6rem;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  padding-bottom: 0.5rem;
  border-bottom: solid 1px var(--border);
  font-weight: var(--semi-bold);
}

h3 {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
}

h4 {
  font-size: 1.2rem;
}

h5 {
  font-size: 1.05rem;
}

h6 {
  font-size: 0.95rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

:where(h1, h2, h3, h4, h5, h6) > .icon {
  margin-right: 0.5em;
  color: var(--primary);
  opacity: 0.75;
}

@media (max-width: 720px) {
  h1 {
    margin: 0.4rem 0 1.2rem;
    font-size: clamp(1.86rem, 7.4vw, 2.28rem);
  }
  h2 {
    margin-top: 2rem;
    font-size: clamp(1.42rem, 5.8vw, 1.8rem);
  }
  h3 {
    font-size: clamp(1.24rem, 4.8vw, 1.48rem);
  }
  h4 {
    font-size: 1.2rem;
  }
  h5 {
    font-size: 1.08rem;
  }
}
@media (max-width: 720px) and (hover: none) and (pointer: coarse) {
  h1 {
    font-size: clamp(1.96rem, 8.2vw, 2.38rem);
  }
  h2 {
    font-size: clamp(1.5rem, 6.2vw, 1.92rem);
  }
  h3 {
    font-size: clamp(1.3rem, 5.2vw, 1.56rem);
  }
}

/*# sourceMappingURL=heading.css.map */