/* Scroll reveals enhance content without affecting no-JS visibility. */
.reveal-pending{opacity:0;transform:translate3d(0,20px,0);transition:opacity .62s ease,transform .62s cubic-bezier(.2,.7,.25,1);transition-delay:var(--reveal-delay,0ms)}
.reveal-pending.reveal-visible{opacity:1;transform:none}
@media(min-width:701px){
 .hero h1 span{background-image:linear-gradient(105deg,#f9b800 0%,#f9b800 36%,#fff3bc 47%,#ffd955 54%,#f9b800 65%,#f9b800 100%);background-size:260% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:asf-headline-light 6s ease-in-out infinite}
 @keyframes asf-headline-light{0%,20%{background-position:100% 50%}58%,100%{background-position:0% 50%}}
}
@media(max-width:700px){
 .floating a[href^="tel:"]{position:relative;isolation:isolate;animation:asf-call-nudge 5s ease-in-out infinite;transform-origin:50% 60%}
 .floating a[href^="tel:"]:before,.floating a[href^="tel:"]:after{content:"";position:absolute;inset:-1px;border:2px solid #20bc59;pointer-events:none;z-index:-1;opacity:0;animation:asf-call-ring 3.8s ease-out infinite}
 .floating a[href^="tel:"]:after{animation-delay:.6s}
 @keyframes asf-call-ring{0%{transform:scale(1);opacity:0}12%{opacity:.65}55%,100%{transform:scale(1.48);opacity:0}}
 @keyframes asf-call-nudge{0%,72%,100%{transform:rotate(0)}76%{transform:rotate(-7deg)}80%{transform:rotate(7deg)}84%{transform:rotate(-5deg)}88%{transform:rotate(0)}}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .reveal-pending{opacity:1!important;transform:none!important;transition:none!important}
 .hero h1 span{animation:none!important;background:none!important;color:var(--yellow)!important}
 .floating a[href^="tel:"],.floating a[href^="tel:"]:before,.floating a[href^="tel:"]:after{animation:none!important}
}
