.reveal{opacity:0;transform:translateY(22px);transition:.8s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}.heroimg{animation:float 6s ease-in-out infinite}@keyframes float{50%{transform:translateY(-7px)}}.card,.dest,.value,.mini{will-change:transform}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* PREMIUM V2 — 30 ADDITIONAL EFFECTS, TOTAL TARGET 80 */
.premium-glow{transition:box-shadow .4s}.premium-glow:hover{box-shadow:0 0 0 5px rgba(7,157,181,.07),0 25px 60px rgba(0,107,134,.13)}
.image-shine{position:relative;overflow:hidden}.image-shine:after{content:"";position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.48),transparent);transition:transform .85s}.image-shine:hover:after{transform:translateX(110%)}
.soft-focus-hover{transition:filter .45s,transform .45s}.soft-focus-hover:hover{filter:saturate(1.08);transform:scale(1.018)}
.lift-shadow{transition:transform .35s,box-shadow .35s}.lift-shadow:hover{transform:translateY(-10px);box-shadow:0 30px 65px rgba(21,50,59,.14)}
.tilt-hover{transition:transform .35s}.tilt-hover:hover{transform:perspective(900px) rotateX(2deg) rotateY(-2deg) translateY(-4px)}
.underline-sweep{position:relative}.underline-sweep:after{content:"";position:absolute;left:0;bottom:-8px;width:45px;height:3px;background:var(--teal);transition:.5s}.underline-sweep:hover:after{width:90px}
.gradient-text{background:linear-gradient(90deg,var(--deep),var(--teal));-webkit-background-clip:text;background-clip:text;color:transparent}
.pulse-soft{animation:pulseSoft 2.8s ease-in-out infinite}@keyframes pulseSoft{50%{box-shadow:0 0 0 10px rgba(7,157,181,0)}}
.float-slow{animation:floatSlow 7s ease-in-out infinite}@keyframes floatSlow{50%{transform:translateY(-12px)}}
.border-draw{position:relative}.border-draw:before{content:"";position:absolute;inset:0;border:1px solid transparent;border-radius:inherit;transition:.5s}.border-draw:hover:before{border-color:rgba(7,157,181,.45);inset:-4px}
.icon-pop{transition:transform .3s}.icon-pop:hover{transform:scale(1.12) rotate(-4deg)}
.btn-ripple{position:relative;overflow:hidden}.btn-ripple:active:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.35);left:50%;top:50%;transform:scale(20);transition:.4s}
.text-shimmer{background:linear-gradient(90deg,currentColor 30%,#079DB5 50%,currentColor 70%);background-size:250% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:textShimmer 5s linear infinite}@keyframes textShimmer{to{background-position:250% center}}
.reveal-left{opacity:0;transform:translateX(-45px);transition:.8s}.reveal-left.visible{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(45px);transition:.8s}.reveal-right.visible{opacity:1;transform:none}
.scale-reveal{opacity:0;transform:scale(.92);transition:.8s}.scale-reveal.visible{opacity:1;transform:scale(1)}
.blur-reveal{opacity:0;filter:blur(12px);transform:translateY(12px);transition:1s}.blur-reveal.visible{opacity:1;filter:none;transform:none}
.stagger>*{opacity:0;transform:translateY(18px)}.stagger.visible>*{animation:staggerIn .6s forwards}.stagger.visible>*:nth-child(2){animation-delay:.08s}.stagger.visible>*:nth-child(3){animation-delay:.16s}.stagger.visible>*:nth-child(4){animation-delay:.24s}@keyframes staggerIn{to{opacity:1;transform:none}}
.card-line{position:relative}.card-line:before{content:"";position:absolute;left:0;top:0;width:0;height:3px;background:var(--teal);transition:.5s}.card-line:hover:before{width:100%}
.img-corner{overflow:hidden}.img-corner img{transition:transform .7s}.img-corner:hover img{transform:scale(1.06)}
.dim-overlay{position:relative}.dim-overlay:after{content:"";position:absolute;inset:0;background:rgba(0,70,85,0);transition:.4s;border-radius:inherit}.dim-overlay:hover:after{background:rgba(0,70,85,.07)}
.corner-accent{position:relative}.corner-accent:after{content:"";position:absolute;right:18px;top:18px;width:22px;height:22px;border-top:2px solid var(--teal);border-right:2px solid var(--teal);transition:.4s}.corner-accent:hover:after{width:34px;height:34px}
.focus-ring:focus-visible{outline:3px solid rgba(7,157,181,.25);outline-offset:4px}
.navbtn{transition:.3s}.navbtn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(7,157,181,.25)}
.socials a:hover{transform:translateY(-5px) scale(1.04)}
.wa{animation:waPulse 3s ease-in-out infinite}@keyframes waPulse{85%{box-shadow:0 12px 35px rgba(37,211,102,.45)}}
.pagehero{position:relative;overflow:hidden}.pagehero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-100px;top:-100px;background:radial-gradient(circle,#dff7fa,transparent 70%);animation:orbitBlob 10s ease-in-out infinite}@keyframes orbitBlob{50%{transform:translate(-20px,20px) scale(1.08)}}
.section-number{transition:letter-spacing .4s}.section-number:hover{letter-spacing:.25em}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
