/* Initial states — GSAP reveals these on scroll */

.reveal        { opacity: 0; transform: translateY(40px); }
.reveal-left   { opacity: 0; transform: translateX(-40px); }
.reveal-right  { opacity: 0; transform: translateX(40px); }
@media (max-width: 768px) { .reveal-right { transform: translateY(20px); } }
.reveal-scale  { opacity: 0; transform: scale(0.92); }
.clip-reveal   { clip-path: inset(0 0 100% 0); }

/* Hero elements */
.hero__logo    { opacity: 0; transform: translateY(24px); }
.hero__divider { opacity: 0; transform: scaleX(0); transform-origin: center; }
.hero__tagline { opacity: 0; transform: translateY(20px); }
.hero__sub     { opacity: 0; }
.hero__cta     { opacity: 0; transform: translateY(16px); }
.hero__scroll  { opacity: 0; }

/* Service cards */
.service-card  { opacity: 0; transform: translateY(32px); }

/* Reduced motion: show everything */
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-left, .reveal-right, .reveal-scale,
  .hero__logo, .hero__divider, .hero__tagline, .hero__sub,
  .hero__cta, .hero__scroll, .service-card, #main-nav {
    opacity: 1 !important; transform: none !important; clip-path: none !important;
  }
  .hero__sub .phrase {
    animation: none;
    background: none;
    -webkit-text-fill-color: inherit;
  }
}
