
/* RetortPro - lapisan animasi smooth (wf-motion) */
html{scroll-behavior:smooth}
:root{--wf-ease:cubic-bezier(.22,1,.36,1);--wf-spring:cubic-bezier(.34,1.56,.64,1)}
@keyframes wfHd{from{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:none}}
@keyframes wfBIn{from{opacity:0;transform:translate3d(0,130%,0)}to{opacity:1;transform:none}}
@keyframes wfGlowR{0%,100%{box-shadow:0 6px 16px rgba(74,0,18,.30),0 0 0 0 rgba(163,0,42,.38)}50%{box-shadow:0 8px 20px rgba(74,0,18,.34),0 0 0 9px rgba(163,0,42,0)}}
@keyframes wfRingR{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.45);opacity:0}}
@keyframes wfWiggleR{0%,70%,100%{transform:rotate(0)}85%{transform:rotate(180deg)}}
@keyframes wfRiseR{from{opacity:0;transform:translate3d(0,24px,0) scale(.4)}to{opacity:1;transform:none}}
@keyframes wfPopR{0%{transform:scale(1)}40%{transform:scale(1.35) rotate(-8deg)}100%{transform:scale(1)}}
@keyframes wfBreathR{0%,100%{box-shadow:0 8px 18px rgba(74,0,18,.32),0 0 14px 3px rgba(255,208,0,.38)}50%{box-shadow:0 8px 18px rgba(74,0,18,.32),0 0 36px 13px rgba(255,208,0,.92)}}
@keyframes wfRipR{to{transform:scale(7);opacity:0}}
header.sticky{animation:wfHd .8s var(--wf-ease) backwards;transition:box-shadow .4s ease}
header.sticky.wf-scrolled{box-shadow:0 10px 30px rgba(0,0,0,.35)}
nav[aria-label="Navigasi utama"].fixed{animation:wfBIn .7s var(--wf-ease) .2s backwards;transition:transform .45s var(--wf-ease),opacity .3s ease;will-change:transform}
nav[aria-label="Navigasi utama"].fixed.wf-hide{transform:translate3d(0,150%,0);opacity:0;pointer-events:none}
nav[aria-label="Navigasi utama"] a{transition:background-color .3s ease,color .3s ease,transform .2s var(--wf-spring)}
nav[aria-label="Navigasi utama"] a:active{transform:scale(.9)}
nav[aria-label="Navigasi utama"] a svg{transition:transform .3s var(--wf-spring)}
nav[aria-label="Navigasi utama"] a[aria-current="page"] svg{transform:translateY(-2px) scale(1.08)}
nav[aria-label="Navigasi utama"] a.wf-pop svg{animation:wfPopR .45s var(--wf-spring)}
nav[aria-label="Navigasi utama"] a:not(:nth-child(3)){overflow:hidden;border-radius:22px}
nav[aria-label="Navigasi utama"] a .wf-rip{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:currentColor;opacity:.22;pointer-events:none;animation:wfRipR .55s ease-out forwards}
nav[aria-label="Navigasi utama"] a:nth-child(3)>span:first-child{position:relative;animation:wfBreathR 4.2s cubic-bezier(.45,0,.55,1) infinite}
section .grid>a,section .grid>div,section a[class*="rounded-"][class*="bg-white"]{transition:transform .5s var(--wf-ease),box-shadow .5s var(--wf-ease),background-color .3s ease,border-color .3s ease}
section .grid>a:hover{transform:translate3d(0,-5px,0)}
a[class*="rounded-full"],button[class*="rounded-full"]{transition:transform .3s var(--wf-spring),box-shadow .35s ease,background-color .3s ease,color .3s ease,filter .3s ease}
a[class*="rounded-full"]:hover,button[class*="rounded-full"]:hover{transform:translate3d(0,-2px,0)}
a[class*="rounded-full"]:active,button[class*="rounded-full"]:active{transform:scale(.96)}
img{transition:transform .8s var(--wf-ease)}
.wf-r{opacity:0;transform:translate3d(0,26px,0)}
.wf-r.wf-in{opacity:1;transform:none;transition:opacity .85s ease var(--wf-d,0s),transform .95s var(--wf-ease) var(--wf-d,0s)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.wf-r{opacity:1;transform:none}}

nav[aria-label="Navigasi utama"] a:nth-child(3).wf-pop svg{animation:none}
nav[aria-label="Navigasi utama"] a:nth-child(3):active{transform:scale(.97)}
nav[aria-label="Navigasi utama"] a:nth-child(3) .wf-rip{display:none}

@keyframes wfNudgeR{0%,16%,100%{transform:scale(1)}5%{transform:scale(1.15)}10%{transform:scale(.97)}}
@keyframes wfRingN{0%{transform:scale(1);opacity:.6}16%{transform:scale(1.55);opacity:0}100%{transform:scale(1.55);opacity:0}}

@keyframes wfRiseR2{0%{opacity:.5;transform:translate3d(0,16px,0) scale(.6)}100%{opacity:1;transform:none}}
@keyframes wfRingS{0%{transform:scale(1);opacity:.65}100%{transform:scale(1.7);opacity:0}}
nav[aria-label="Navigasi utama"].wf-popin a:nth-child(3)>span:first-child{animation:wfBreathR 3.6s ease-in-out infinite,wfRiseR2 .7s var(--wf-spring) .18s backwards}
nav[aria-label="Navigasi utama"].wf-popin a:nth-child(3)>span:first-child::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(255,200,0,.75);opacity:0;animation:wfRingS .8s ease-out .5s 1 both;pointer-events:none}
