/* ===== Section Heading Base Styles ===== */

.section-heading {
  margin: 0;
  color: #fefefe;
  font-family: var(--type-h1-font-family);
  font-style: normal;
  font-weight: var(--type-h1-font-weight);
  line-height: var(--type-h1-line-height);
  letter-spacing: var(--type-h1-letter-spacing);
  text-align: center;
}

.section-heading:not(h1) {
  padding-top: 48px;
  padding-bottom: 24px;
}

.section-heading:is(h1) {
  font-size: 64px;
}

.section-heading--align-left {
  text-align: left;
}

.section-heading--align-right {
  text-align: right;
}

.section-heading:is(h2) {
  font-size: 56px;
}

.section-heading:is(h3) {
  font-size: 48px;
}

.section-heading-line {
  display: block;
}

.section-heading-line--gradient {
  color: #fefefe;
}

@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .section-heading-line--gradient {
    background: var(--gradient-brand);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    display: inline-block;
  }
}

@media (max-width: 1024px) {
  .section-heading:is(h1) {
    font-size: 56px;
  }

  .section-heading:is(h2) {
    font-size: 48px;
  }

  .section-heading:is(h3) {
    font-size: 42px;
  }
}

@media (max-width: 768px) {
  .section-heading:is(h1) {
    font-size: 48px;
  }

  .section-heading:is(h2) {
    font-size: 40px;
  }

  .section-heading:is(h3) {
    font-size: 34px;
  }
}

@media (max-width: 480px) {
  .section-heading:is(h1) {
    font-size: 40px;
  }

  .section-heading:is(h2) {
    font-size: 32px;
  }

  .section-heading:is(h3) {
    font-size: 28px;
  }
}

/* ===== Section Heading Reveal Animation ===== */

html.reveal-on-scroll-ready .section-heading.reveal-on-scroll {
  opacity: 0;
  will-change: transform, opacity;
}

html.reveal-on-scroll-ready .section-heading.reveal-on-scroll .section-heading-line {
  opacity: 0;
  will-change: transform, opacity, filter;
}

@media (prefers-reduced-motion: reduce) {
  .section-heading.reveal-on-scroll,
  .section-heading.reveal-on-scroll .section-heading-line {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
    will-change: auto;
  }
}
