﻿@keyframes fadeInUp{from{opacity:0;transform:translateY(40px);}to{opacity:1;transform:translateY(0);}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-30px);}to{opacity:1;transform:translateY(0);}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-40px);}to{opacity:1;transform:translateX(0);}}@keyframes fadeInRight{from{opacity:0;transform:translateX(40px);}to{opacity:1;transform:translateX(0);}}@keyframes scaleIn{from{opacity:0;transform:scale(0.85);}to{opacity:1;transform:scale(1);}}@keyframes pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(37,211,102,0.5);}50%{transform:scale(1.08);box-shadow:0 0 0 12px rgba(37,211,102,0);}}@keyframes shimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}@keyframes spin{to{transform:rotate(360deg);}}@keyframes loadBar{from{width:0%;}to{width:100%;}}@keyframes float{0%,100%{transform:translateY(0px);}50%{transform:translateY(-10px);}}.animate-on-scroll{opacity:0;transform:translateY(40px);transition:opacity 0.7s ease,transform 0.7s ease;}.animate-on-scroll.from-left{transform:translateX(-40px);}.animate-on-scroll.from-right{transform:translateX(40px);}.animate-on-scroll.scale-in{transform:scale(0.9);}.animate-on-scroll.is-visible{opacity:1;transform:none;}.stagger-1{transition-delay:0.05s;}.stagger-2{transition-delay:0.10s;}.stagger-3{transition-delay:0.15s;}.stagger-4{transition-delay:0.20s;}.stagger-5{transition-delay:0.25s;}.stagger-6{transition-delay:0.30s;}.preloader{position:fixed;inset:0;z-index:9999;background:var(--primary);display:flex;align-items:center;justify-content:center;transition:opacity 0.6s ease,visibility 0.6s ease;}.preloader.hidden{opacity:0;visibility:hidden;pointer-events:none;}.preloader-inner{text-align:center;}.preloader-logo{font-family:var(--font-heading);font-size:2.5rem;font-weight:800;color:var(--white);margin-bottom:2rem;letter-spacing:-0.02em;}.preloader-gg{color:var(--white);}.preloader-bouw{color:var(--accent);}.preloader-bar{width:200px;height:3px;background:rgba(255,255,255,0.2);border-radius:3px;overflow:hidden;margin:0 auto;}.preloader-progress{height:100%;background:var(--accent);border-radius:3px;animation:loadBar 1.5s ease-out forwards;}.whatsapp-float{position:fixed;bottom:2rem;right:2rem;z-index:900;display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:#25d366;color:var(--white);border-radius:50%;font-size:1.75rem;text-decoration:none;box-shadow:0 4px 20px rgba(37,211,102,0.4);animation:pulse 2.5s infinite;transition:transform var(--transition),box-shadow var(--transition);}.whatsapp-float:hover{color:var(--white);transform:scale(1.12);animation:none;box-shadow:0 6px 30px rgba(37,211,102,0.6);}.whatsapp-tooltip{position:absolute;right:calc(100% + 0.75rem);top:50%;transform:translateY(-50%);background:var(--dark);color:var(--white);font-family:var(--font-heading);font-size:0.8rem;font-weight:600;padding:0.4rem 0.85rem;border-radius:var(--radius);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition);}.whatsapp-tooltip::after{content:'';position:absolute;left:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:var(--dark);}.whatsapp-float:hover .whatsapp-tooltip{opacity:1;}.counter-number{font-family:var(--font-heading);font-weight:800;display:inline-block;tabular-nums:1;}.card-hover{transition:transform var(--transition),box-shadow var(--transition);}.card-hover:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);}.img-zoom-wrapper{overflow:hidden;border-radius:var(--radius-lg);}.img-zoom-wrapper img{transition:transform 0.5s ease;}.img-zoom-wrapper:hover img{transform:scale(1.08);}.btn-loader{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,0.4);border-top-color:var(--white);border-radius:50%;animation:spin 0.7s linear infinite;}.btn.is-loading .btn-text{display:none;}.btn.is-loading .btn-loader{display:block;}.btn.is-loading{pointer-events:none;opacity:0.85;}.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s ease,padding 0.4s ease;}.faq-item.is-open .faq-answer{max-height:500px;}.faq-toggle-icon{transition:transform var(--transition);flex-shrink:0;}.faq-item.is-open .faq-toggle-icon{transform:rotate(45deg);}.float-element{animation:float 4s ease-in-out infinite;}.shimmer{background:linear-gradient(90deg,var(--light-gray) 25%,#e9eaeb 50%,var(--light-gray) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;}