@keyframes riseIn { from { opacity: 0; transform: translateY(32px); } to { opacity: 1; transform: translateY(0); } }
@keyframes revealImage { from { clip-path: inset(0 100% 0 0); transform: scale(1.08); } to { clip-path: inset(0); transform: scale(1); } }
@keyframes pulseOrbit { 0%,100% { transform: scale(1); opacity: .35; } 50% { transform: scale(1.05); opacity: .7; } }
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes sheen { 0% { transform: translateX(-180%) rotate(18deg); } 55%,100% { transform: translateX(180%) rotate(18deg); } }
.hero-copy>* { animation: riseIn .75s both; }.hero-copy .eyebrow { animation-delay: .05s; }.hero-copy h1 { animation-delay: .14s; }.hero-copy>p { animation-delay: .25s; }.hero-actions { animation-delay: .36s; }.trust-row { animation-delay: .48s; }
.hero-image-frame { animation: revealImage 1.05s .2s both; }.image-shine { animation: sheen 3.8s 1.1s infinite; }.orbit { animation: pulseOrbit 5s ease-in-out infinite; }.orbit-two { animation-delay: -2.2s; }.floating-note { animation: float 4s ease-in-out infinite; }.note-bottom { animation-delay: -1.7s; }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s cubic-bezier(.2,.75,.2,1), transform .75s cubic-bezier(.2,.75,.2,1); }.reveal.visible { opacity: 1; transform: none; }.service-card.reveal:nth-child(2), .gallery figure.reveal:nth-child(2) { transition-delay: .11s; }.service-card.reveal:nth-child(3), .gallery figure.reveal:nth-child(3) { transition-delay: .22s; }.service-card.reveal:nth-child(4) { transition-delay: .33s; }.process-list article.reveal:nth-child(2) { transition-delay: .12s; }.process-list article.reveal:nth-child(3) { transition-delay: .24s; }
.service-card:before { content: ''; position: absolute; z-index: 2; inset: 0; background: linear-gradient(115deg,transparent 35%,rgba(255,255,255,.2) 48%,transparent 60%); transform: translateX(-130%); transition: transform .75s; }.service-card:hover:before { transform: translateX(130%); }
@media (prefers-reduced-motion: reduce) { *,*:before,*:after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }.reveal { opacity: 1; transform: none; } }
