/* Reveal: only hide when JS is available (progressive enhancement) */
html.js .reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
}

html.js .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-delay-1 {
  transition-delay: 0.08s;
}

.reveal-delay-2 {
  transition-delay: 0.16s;
}

.reveal-delay-3 {
  transition-delay: 0.24s;
}

/* R6: shorter stagger on mobile only */
@media (max-width: 767.98px) {
  .reveal-delay-1 {
    transition-delay: 0.04s;
  }

  .reveal-delay-2 {
    transition-delay: 0.08s;
  }

  .reveal-delay-3 {
    transition-delay: 0.12s;
  }
}

.label-optional {
  font-weight: 600;
  color: var(--ink-soft);
  font-size: 0.82rem;
}

.label-required {
  color: var(--teal);
  font-weight: 800;
  margin-inline-start: 0.15rem;
}
