.scroll-text-reveal {
  min-block-size: calc(100svh + var(--size-scroll-text-reveal-travel));
  padding: 0;
  background: var(--color-hero);
}

.scroll-text-reveal__sticky {
  position: sticky;
  inset-block-start: 0;
  display: flex;
  min-block-size: 100svh;
  align-items: center;
  justify-content: center;
  padding: var(--space-scroll-text-reveal-padding);
}

.scroll-text-reveal__inner,
.scroll-text-reveal__content,
.scroll-text-reveal__heading {
  display: flex;
  inline-size: 100%;
  flex-direction: column;
  align-items: center;
}

.scroll-text-reveal__inner { gap: var(--space-scroll-text-reveal-cta); }
.scroll-text-reveal__content { gap: var(--space-scroll-text-reveal-content); }
.scroll-text-reveal__heading { gap: var(--space-scroll-text-reveal-heading); }

.scroll-text-reveal__eyebrow,
.scroll-text-reveal__title,
.scroll-text-reveal__text {
  margin: 0;
  text-align: center;
}

.scroll-text-reveal__text--mobile { display: none; }

.scroll-text-reveal__eyebrow {
  color: var(--color-accent-on-dark);
  font-size: var(--fs-scroll-text-reveal-eyebrow);
  font-weight: var(--fw-bold);
  letter-spacing: var(--tracking-eyebrow);
  line-height: 1.1;
  text-transform: uppercase;
}

.scroll-text-reveal__title {
  color: var(--color-white);
  font-size: var(--fs-scroll-text-reveal-title);
  font-weight: var(--fw-bold);
  letter-spacing: var(--tracking-eyebrow);
  line-height: 1.1;
}

.scroll-text-reveal__title em {
  color: var(--color-accent-on-dark);
  font-style: italic;
}

.scroll-text-reveal__text {
  max-inline-size: var(--size-scroll-text-reveal-copy);
  color: var(--color-scroll-text-reveal-muted);
  font-size: var(--fs-scroll-text-reveal-copy);
  font-weight: var(--fw-semibold);
  line-height: 1.4;
}

.scroll-text-reveal__word {
  display: inline-block;
  white-space: nowrap;
}

.scroll-text-reveal__character {
  color: var(--color-scroll-text-reveal-muted);
  transition: color var(--dur-scroll-text-reveal-character) linear;
}

.scroll-text-reveal__character.is-filled { color: var(--color-white); }

.scroll-text-reveal__cta {
  block-size: var(--size-scroll-text-reveal-button);
  padding-inline: var(--space-scroll-text-reveal-button-inline);
  font-size: var(--fs-scroll-text-reveal-button);
}

@media (max-width: 1023px) {
  .scroll-text-reveal__title span,
  .scroll-text-reveal__title em { display: block; }
  .scroll-text-reveal__text--desktop { display: none; }
  .scroll-text-reveal__text--mobile { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  .scroll-text-reveal { min-block-size: auto; }
  .scroll-text-reveal__sticky { position: relative; }
  .scroll-text-reveal__character { color: var(--color-white); transition: none; }
}
