.section{
    position: relative;
  height: 100vh; /* Full viewport height */
  display: flex;
  justify-content: center;   /* center horizontally */
  align-items: center;       /* center vertically */
  padding: 2rem;
  max-width: 1200px;
  margin: auto;
  gap: 4rem; /* space between left text and right icons */
}

/* Reveal on scroll */
.reveal {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 600ms ease, transform 600ms ease;
  transition-delay: var(--delay, 0ms);
  will-change: opacity, transform;
}
.reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
}