/* Animation layer for the approved Power Plus homepage. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.motion-ready [data-reveal]:not(.is-visible){opacity:0;transform:translate3d(0,26px,0)}
.motion-ready [data-reveal="left"]:not(.is-visible){transform:translate3d(-28px,0,0)}
.motion-ready [data-reveal="right"]:not(.is-visible){transform:translate3d(28px,0,0)}
.motion-ready [data-reveal]{transition:opacity .72s var(--motion-ease) var(--motion-delay,0ms),transform .72s var(--motion-ease) var(--motion-delay,0ms)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:translate3d(0,0,0)}
.motion-ready .herocopy{animation:hero-panel .85s var(--motion-ease) both}
.motion-ready .herocopy h1{animation:hero-copy .85s var(--motion-ease) .12s both}
.motion-ready .herocopy>p{animation:hero-copy .8s var(--motion-ease) .23s both}
.motion-ready .herocopy .actions{animation:hero-copy .8s var(--motion-ease) .35s both}
.motion-ready .slidercontrols{animation:hero-copy .65s var(--motion-ease) .4s both}
.motion-ready .quick>a,.motion-ready .quick>button{transition:background .25s,color .25s}
.quick>a:hover,.quick>button:hover{background:#f1f8f4}
.quick span{transition:transform .35s var(--motion-ease),color .3s}
.quick>a:hover>span,.quick>button:hover>span{transform:translateY(-3px) rotate(-7deg);color:var(--green)}
.motion-ready .category{transition:opacity .72s var(--motion-ease) var(--motion-delay,0ms),transform .72s var(--motion-ease) var(--motion-delay,0ms),box-shadow .3s}
.motion-ready .category.is-visible:hover{transform:translate3d(0,-6px,0);transition-delay:0ms;box-shadow:0 14px 32px #062b491a}
.category .imagebutton{overflow:hidden}
.category .photo,.applicationgrid .photo,.gallery .photo{transition:transform .65s var(--motion-ease),filter .4s}
.category:hover .photo{transform:scale(1.045)}
.applicationgrid button{overflow:hidden;transition:box-shadow .3s,border-color .3s}
.applicationgrid button:hover{border-color:#9bd3b4;box-shadow:0 10px 25px #062b4915}
.applicationgrid button:hover .photo{transform:scale(1.04)}
.applicationbody{background:#fff;position:relative;z-index:1}
.applicationbody b,.category .link span{display:inline-block;transition:transform .3s var(--motion-ease)}
.applicationgrid button:hover .applicationbody b,.category:hover .link span{transform:translateX(4px)}
.steps article .photo{transition:filter .45s,transform .45s}
.steps article:hover .photo{filter:brightness(1.08);transform:translateY(-3px)}
.steps h3 span{transition:transform .45s var(--motion-ease),box-shadow .3s}
.steps article:hover h3 span{transform:scale(1.12);box-shadow:0 0 0 5px #00a15420}
.link{transition:color .2s}
.link:hover{color:#006c36}
.btn{position:relative;overflow:hidden;isolation:isolate}
.button-ripple{position:absolute;pointer-events:none;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(circle at var(--ripple-x,50%) var(--ripple-y,50%),#ffffff40,transparent 65%);animation:button-ripple .55s ease-out both}
.search{transition:border-color .25s,box-shadow .25s}
.search:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #00954c13}
input,select,textarea{transition:border-color .25s,box-shadow .25s,background .25s}
input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #00954c12}
header{transition:box-shadow .3s}
header.header-scrolled{box-shadow:0 5px 24px #062b491a}
.dropcontent{transform-origin:top center;animation:menu-drop .23s var(--motion-ease) both}
nav.open{animation:menu-drop .25s var(--motion-ease) both}
dialog[open]{animation:dialog-open .35s var(--motion-ease) both}
dialog[open]::backdrop{animation:backdrop-in .25s ease-out both}
.whatsapp{transition:transform .3s,box-shadow .3s}
.whatsapp:hover{transform:translateY(-4px);box-shadow:0 9px 25px #062b4930}
.gallery button{position:relative}
.gallery button:after{content:'↗';position:absolute;right:12px;bottom:12px;width:30px;height:30px;display:grid;place-items:center;background:#ffffffeb;border-radius:50%;color:var(--navy);font-size:18px;opacity:0;transform:translateY(7px);transition:opacity .25s,transform .3s var(--motion-ease)}
.gallery button:hover:after,.gallery button:focus-visible:after{opacity:1;transform:none}
@keyframes hero-panel{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes hero-copy{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes dialog-open{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes menu-drop{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@keyframes button-ripple{from{opacity:.5;transform:scale(.4)}to{opacity:0;transform:scale(1.3)}}
@media(hover:none){.gallery button:after{opacity:1;transform:none}.motion-ready .category.is-visible:hover{transform:none}.motion-ready [data-reveal]{transition-duration:.55s}}
@media(prefers-reduced-motion:reduce){.motion-ready [data-reveal],.motion-ready [data-reveal]:not(.is-visible){opacity:1!important;transform:none!important}.motion-ready .herocopy,.motion-ready .herocopy h1,.motion-ready .herocopy>p,.motion-ready .herocopy .actions,.motion-ready .slidercontrols,dialog[open],nav.open,.dropcontent,.button-ripple{animation:none!important}.button-ripple{display:none}html{scroll-behavior:auto!important}}
