h1,
h2,
h3,
h4,
h5 {
  margin: 0 0 12px;
}
h1.display {
  font-size: 44px;
  line-height: 1.15;
}
h2 {
  font-size: 32px;
}
.h5,
h5 {
  font-size: 18px;
}
.lead {
  font-size: 18px;
  color: white;
}
.muted {
  color: var(--muted);
}
.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--brand-2);
  font-weight: 600;
}
.pink-underline {
  position: relative;
  display: inline-block;
}

.pink-underline::after {
  content: "";
  position: absolute;
  bottom: -0.25em;
  left: 0;
  width: 0;
  height: 0.1em;
  background-color: #e75b5b;
  transition: width 1s ease-out;
}

/* Trigger animation when parent section is visible (for scroll reveal sections) */
.sr.is-visible .pink-underline::after {
  width: 100%;
  transition-delay: 0.3s;
}

/* For elements not inside scroll reveal sections, animate on page load */
body .pink-underline::after {
  animation: drawUnderline 1s ease-out 0.5s forwards;
}

/* Override animation for scroll reveal elements */
.sr .pink-underline::after {
  animation: none;
}

@keyframes drawUnderline {
  to {
    width: 100%;
  }
}

/* Fallback for reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .pink-underline::after {
    transition: none;
    animation: none;
    width: 100%;
  }
}

/* Text alignment utilities */
.text-center {
  text-align: center;
  display: flex;
  justify-content: center;
  width: 100%;
}

/* Fix for centering pink-underline elements - keep inline-block but center properly */
h2.pink-underline.text-center {
  display: inline-block;
}

/* Ensure column layout works properly for eyebrow text above headings */
.c {
  align-self: flex-start !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}
