.reveal { --reveal-x: 0; --reveal-y: 36px; --reveal-delay: 0ms; opacity: 0; transform: translate3d(var(--reveal-x), var(--reveal-y), 0); transition: opacity 660ms ease-out var(--reveal-delay), transform 660ms ease-out var(--reveal-delay); will-change: opacity, transform; }
.reveal-left { --reveal-x: -36px; --reveal-y: 0; }
.reveal-right { --reveal-x: 36px; --reveal-y: 0; }
.reveal-up { --reveal-x: 0; --reveal-y: 36px; }
.reveal-fade { --reveal-x: 0; --reveal-y: 0; }
.reveal-scale { --reveal-x: 0; --reveal-y: 0; transform: scale(.97); }
.reveal.active { opacity: 1; transform: translate3d(0, 0, 0); will-change: auto; }
.reveal-scale.active { transform: scale(1); }
.hero-slide.active img { animation: kenburns 11.5s cubic-bezier(.16,1,.3,1) forwards; will-change: transform; }
.hero-content span, .hero-content h1, .hero-content h2, .hero-content p, .hero-buttons { transform: translate3d(0, 34px, 0); filter: blur(8px); }
.hero-slide.active .hero-content span { animation: heroTextIn 820ms cubic-bezier(.16,1,.3,1) 120ms forwards; }
.hero-slide.active .hero-content h1, .hero-slide.active .hero-content h2 { animation: heroTextIn 900ms cubic-bezier(.16,1,.3,1) 280ms forwards; }
.hero-slide.active .hero-content p { animation: heroTextIn 860ms cubic-bezier(.16,1,.3,1) 480ms forwards; }
.hero-slide.active .hero-buttons { animation: heroTextIn 820ms cubic-bezier(.16,1,.3,1) 680ms forwards; }
.service-card.reveal { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translate3d(0, var(--reveal-y), 0); }
.service-card.reveal.active { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translate3d(0, var(--lift, 0), 0); }@keyframes kenburns { from { transform: translate3d(0, var(--hero-parallax-img), 0) scale(1.04); } to { transform: translate3d(0, calc(var(--hero-parallax-img) - 1.2%), 0) scale(1.105); } }
@keyframes heroTextIn { from { opacity: 0; transform: translate3d(0,34px,0); filter: blur(8px); } to { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); } }
@keyframes trustedMarquee { from { transform: translate3d(0,0,0); } to { transform: translate3d(calc(-50% - 12px),0,0); } }
@keyframes pinPulse { from { opacity: .72; transform: scale(.45); } to { opacity: 0; transform: scale(1.9); } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  .reveal, .image-reveal, .hero-content span, .hero-content h1, .hero-content h2, .hero-content p, .hero-buttons { opacity: 1 !important; transform: none !important; filter: none !important; clip-path: none !important; }
  .hero::before, .hero::after { opacity: .35 !important; }
  .premium-bg-blob, .premium-bg-glow, .cursor-light { display: none !important; }
}
