.float-animation{animation:float 3s infinite ease-in-out;will-change:transform}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}.glow-pulse{animation:glow-pulse 3s infinite ease-in-out;will-change:box-shadow}@keyframes glow-pulse{0%,100%{box-shadow:0 0 20px rgba(91,140,90,.3),0 0 40px rgba(91,140,90,.15)}50%{box-shadow:0 0 30px rgba(212,165,116,.4),0 0 60px rgba(212,165,116,.2)}}.grain-overlay{position:relative}.grain-overlay::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;animation:grain 8s steps(10) infinite}.grain-overlay>*{z-index:2}@keyframes grain{0%,100%{transform:translate(0,0)}10%{transform:translate(-5%,-10%)}20%{transform:translate(-15%,5%)}30%{transform:translate(7%,-25%)}40%{transform:translate(-5%,25%)}50%{transform:translate(-15%,10%)}60%{transform:translate(15%,0)}70%{transform:translate(0,15%)}80%{transform:translate(3%,35%)}90%{transform:translate(-10%,10%)}}.wave-separator{position:relative;width:100%;overflow:hidden;line-height:0}.wave-separator svg{position:relative;display:block;width:calc(100% + 1.3px);height:60px}.wave-separator .shape-fill{fill:currentColor}.stat-counter{font-family:var(--font-mono);font-size:clamp(1.25rem, 3vw, 2rem);font-weight:600;color:var(--or);display:block;line-height:1;margin-bottom:6px}.badge-pulse{animation:badge-pulse 2s infinite ease-in-out;will-change:transform,box-shadow}@keyframes badge-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(91,140,90,.4)}50%{transform:scale(1.05);box-shadow:0 0 0 10px rgba(91,140,90,0)}}.hover-lift{transition:all var(--dur-normal) var(--ease-out);will-change:transform,box-shadow;backface-visibility:hidden}.hover-lift:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-lg),var(--shadow-dynamic)}.text-gradient{background:linear-gradient(135deg,var(--or) 0,var(--vert-vif) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.shimmer{position:relative;overflow:hidden}.shimmer::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite;pointer-events:none}@keyframes shimmer{0%{left:-100%}100%{left:200%}}.rotate-slow{animation:rotate-slow 20s linear infinite;will-change:transform}@keyframes rotate-slow{from{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-bar-animated{position:relative;height:6px;background:var(--ivoire);border-radius:100px;overflow:hidden}.progress-bar-animated::after{content:'';position:absolute;top:0;left:0;height:100%;width:var(--progress,100%);background:linear-gradient(90deg,var(--vert-vif),var(--or));border-radius:100px;animation:progress-fill 1.5s var(--ease-out) forwards}@keyframes progress-fill{from{width:0%}to{width:var(--progress,100%)}}.glass-card{background:rgba(255,255,255,.08);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.1);transition:all var(--dur-normal) var(--ease-out);will-change:transform,box-shadow}.glass-card:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.15)}.magnetic-hover{transition:transform var(--dur-fast) var(--ease-out);will-change:transform}.magnetic-hover:hover{transform:scale(1.03)}.img-zoom{overflow:hidden;border-radius:16px}.img-zoom img{transition:transform var(--dur-slow) var(--ease-out);will-change:transform}.img-zoom:hover img{transform:scale(1.08)}.underline-grow{position:relative;display:inline-block}.underline-grow::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--or),var(--vert-vif));transition:width var(--dur-normal) var(--ease-out)}.underline-grow:hover::after{width:100%}.parallax-subtle{transition:transform .1s linear;will-change:transform}button:focus,input:focus,select:focus,textarea:focus{outline:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--vert-vif);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.animated-underline::after,.badge-pulse,.float-animation,.glass-card,.glow-pulse,.grain-overlay::before,.hover-lift,.img-zoom img,.magnetic-hover,.parallax-subtle,.progress-bar-animated::after,.rotate-slow,.scroll-indicator,.shimmer,.underline-grow::after{animation:none!important;transition:none!important}}@media print{.btn,.hero-stats,.scroll-indicator,.site-header{display:none}.hero{min-height:auto;padding:40px 0}}.text-gradient{background:linear-gradient(135deg,var(--or) 0,var(--vert-vif) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.grain-overlay{position:relative}.grain-overlay::before{content:'';position:absolute;inset:0;opacity:.03;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.wave-separator{position:absolute;bottom:-1px;left:0;width:100%;overflow:hidden;line-height:0}.wave-separator svg{position:relative;display:block;width:calc(100% + 1.3px);height:60px}@keyframes slideInUp{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.reveal-slide-up{animation:slideInUp .8s var(--ease-out) forwards}.reveal-slide-left{animation:slideInLeft .8s var(--ease-out) forwards}.reveal-slide-right{animation:slideInRight .8s var(--ease-out) forwards}.reveal-scale{animation:scaleIn .6s var(--ease-out) forwards}.reveal{opacity:1;transform:none}.animated-underline{position:relative;display:inline-block}.animated-underline::after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--or),var(--vert-vif));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}.animated-underline:hover::after{transform:scaleX(1)}@keyframes scrollBounce{0%,100%{transform:translateX(-50%) translateY(0);opacity:.6}50%{transform:translateX(-50%) translateY(12px);opacity:1}}.scroll-indicator{animation:scrollBounce 2.5s ease-in-out infinite}