.anim-fade-down{animation:.7s both fadeDown}.anim-fade-in{animation:.8s both fadeIn}.anim-fade-up{animation:.8s both fadeUp}.anim-card-rise{animation:.95s cubic-bezier(.16,1,.3,1) both cardRise}.anim-about-top-loop{will-change:transform, opacity;animation:9.5s ease-in-out infinite aboutTopLoop}.anim-about-cards-loop{will-change:transform, opacity;animation:9.5s ease-in-out infinite aboutCardsLoop}.anim-link{position:relative}.anim-link:after{content:"";transform-origin:0;opacity:.7;background:currentColor;width:100%;height:2px;transition:transform .24s;position:absolute;bottom:-.22rem;left:0;transform:scaleX(0)}.anim-link:hover:after{transform:scaleX(1)}.anim-slow-pan{animation:16s ease-in-out infinite alternate slowPan}.services-blob{will-change:transform;animation:16s ease-in-out infinite alternate servicesBlob}.services-blob-alt{will-change:transform;animation:18s ease-in-out infinite alternate servicesBlobAlt}.anim-float{animation:2.4s ease-in-out infinite floatY}.wa-fab{transform-origin:100% 100%;animation:2s ease-in-out infinite waPulse}.icon-pop{transition:transform .2s}.icon-pop:hover{transform:translateY(-2px)scale(1.08)}.section-divider{background-color:#2f9e63;width:100%;height:2px;margin:0}.fly-on-load{opacity:0;animation:flyLift var(--fly-duration,2.4s) cubic-bezier(.22, .9, .3, 1) var(--fly-delay,0s) 1 forwards;filter:drop-shadow(0 2px 2px #00000059);will-change:transform, opacity}.farm-fly-icon{transform-origin:50%;animation:.12s steps(2,end) infinite flyFlutter,.34s ease-in-out infinite flyBob}.reveal-on-scroll{opacity:0;will-change:opacity, transform;backface-visibility:hidden;transition:opacity .76s cubic-bezier(.22,1,.36,1),transform .76s cubic-bezier(.22,1,.36,1);transform:translateY(22px)scale(.992)}.reveal-on-scroll.is-revealed{opacity:1;transform:translate(0,0)scale(1)}.smooth-card{will-change:transform;transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s cubic-bezier(.22,1,.36,1);transform:translateZ(0)}.smooth-card:hover{transform:translateY(-6px)}.smooth-button{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1),background-color .3s;transform:translateZ(0)}.smooth-button:hover{transform:translateY(-3px)}.smooth-button:active{transform:scale(.96)}@keyframes fadeDown{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes cardRise{0%{opacity:0;transform:translateY(24px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes aboutTopLoop{0%{opacity:0;transform:translateY(24px)}12%{opacity:1;transform:translateY(0)}52%{opacity:1;transform:translateY(0)}62%{opacity:0;transform:translateY(-24px)}to{opacity:0;transform:translateY(-24px)}}@keyframes aboutCardsLoop{0%,64%{opacity:0;transform:translateY(24px)}76%{opacity:1;transform:translateY(0)}94%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-24px)}}@keyframes slowPan{0%{transform:scale(1.02)translate(-1%)}to{transform:scale(1.08)translate(1.5%)}}@keyframes servicesBlob{0%{transform:translate(0,0)scale(1)}to{transform:translate(24px,-18px)scale(1.08)}}@keyframes servicesBlobAlt{0%{transform:translate(0,0)scale(1)}to{transform:translate(-18px,22px)scale(1.1)}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes waPulse{0%,to{transform:scale(1);box-shadow:0 8px 20px #00000038}50%{transform:scale(1.03);box-shadow:0 10px 28px #00000047}}@keyframes flyLift{0%{opacity:0;transform:translate(-50%, 0) scale(calc(var(--fly-scale,1) * .86)) rotate(-4deg)}6%{opacity:var(--fly-opacity,.9)}18%{transform:translate(calc(-50% + (var(--fly-x) * .24) - var(--fly-wiggle)), calc(var(--fly-y) * .24)) scale(calc(var(--fly-scale,1) * .95)) rotate(-10deg)}38%{transform:translate(calc(-50% + (var(--fly-x) * .46) + (var(--fly-wiggle) * .7)), calc(var(--fly-y) * .44)) scale(calc(var(--fly-scale,1) * 1.02)) rotate(7deg)}58%{transform:translate(calc(-50% + (var(--fly-x) * .64) - var(--fly-wiggle)), calc(var(--fly-y) * .64)) scale(calc(var(--fly-scale,1) * .97)) rotate(-6deg)}78%{transform:translate(calc(-50% + (var(--fly-x) * .86) + (var(--fly-wiggle) * .6)), calc(var(--fly-y) * .86)) scale(calc(var(--fly-scale,1) * .94)) rotate(6deg)}92%{opacity:var(--fly-opacity,.9)}to{opacity:0;transform:translate(calc(-50% + var(--fly-x)), var(--fly-y)) scale(calc(var(--fly-scale,1) * .9)) rotate(4deg)}}@keyframes flyFlutter{0%,to{transform:scaleX(1)scaleY(1)}50%{transform:scaleX(.9)scaleY(1.07)}}@keyframes flyBob{0%,to{translate:0}50%{translate:0 -1.5px}}@media (prefers-reduced-motion:reduce){.anim-fade-down,.anim-fade-in,.anim-fade-up,.anim-card-rise,.anim-about-top-loop,.anim-about-cards-loop,.anim-slow-pan,.services-blob,.services-blob-alt,.anim-float,.wa-fab,.fly-on-load,.farm-fly-icon{animation:none!important}.anim-link:after,.icon-pop,.smooth-card,.smooth-button,.reveal-on-scroll{transition:none!important}.reveal-on-scroll{opacity:1!important;transform:none!important}}
