/* Typography */

.h1 {
  font-size: 2.75rem;
  line-height: 1;
  letter-spacing: -0.01em;
  font-weight: 700;
}

.h2 {
  font-size: 2.25rem;
  line-height: 1.1;
  letter-spacing: -0.01em;
  font-weight: 700;
}

.h3 {
  font-size: 1.875rem;
  line-height: 1.333;
  letter-spacing: -0.01em;
  font-weight: 700;
}

.h4 {
  font-size: 1.5rem;
  line-height: 1.415;
  letter-spacing: -0.01em;
  font-weight: 700;
}

@media (min-width: 768px) {
  .h1 {
    font-size: 3.25rem;
    line-height: 1;
    letter-spacing: -0.01em;
  }

  .h2 {
    font-size: 2.75rem;
    line-height: 1;
    letter-spacing: -0.01em;
  }

  .h3 {
    font-size: 2.25rem;
    line-height: 1.1;
    letter-spacing: -0.01em;
  }
}

/* Buttons */

.btn, 
.btn-sm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border-radius: 9999px;
  font-size: 15px;
  font-weight: 550;
  line-height: 1.25rem;
  transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.btn {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.btn-sm {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}