@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideInLeft{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideInRight{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes bounceIn{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.05)}100%{transform:scale(1);opacity:1}}
.anim-fadeInUp{animation:fadeInUp .55s ease forwards}
.anim-fadeIn{animation:fadeIn .4s ease forwards}
.anim-slideInLeft{animation:slideInLeft .5s ease forwards}
.anim-slideInRight{animation:slideInRight .5s ease forwards}
.anim-pulse{animation:pulse 2s ease-in-out infinite}
.anim-bounceIn{animation:bounceIn .5s ease forwards}
.observe-anim{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.observe-anim.in-view{opacity:1;transform:translateY(0)}
.btn-primary:active{transform:scale(.97)}
.btn-outline:active{transform:scale(.97)}
.review-card{transition:box-shadow .3s ease,transform .25s ease}
.review-card:hover{transform:translateY(-2px)}
.tp-card{transition:box-shadow .3s ease,transform .25s ease}
.tp-card:hover{transform:translateY(-2px)}
.hero-slide-overlay{transition:opacity .5s ease}
.rating-stars-display span,.tp-star{transition:transform .2s ease}
.rating-stars-display span:hover,.tp-star:hover{transform:scale(1.2)}
.faq-answer{animation:fadeIn .25s ease}
.wp-block-separator{border:none;height:2px;background:var(--c-border);margin:24px 0}
.wp-block-quote{border-left:4px solid var(--c-orange);padding-left:16px;margin:16px 0;font-style:italic;color:var(--c-muted)}
.has-text-align-center{text-align:center}
.wp-block-image{margin:16px 0}
