:root{--primary:#06c;--primary-dark:#0052a3;--primary-light:#3385d6;--secondary:#2c3e50;--accent:#1e8449;--success:#27ae60;--warning:#f39c12;--text-dark:#2c3e50;--text-body:#4a5568;--text-light:#718096;--bg-white:#fff;--bg-light:#f7fafc;--bg-gray:#edf2f7;--shadow-sm:0 1px 3px rgba(0,0,0,0.1);--shadow-md:0 4px 6px rgba(0,0,0,0.1);--shadow-lg:0 10px 25px rgba(0,0,0,0.15);--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--transition:all .3s ease;--cookie-height-desktop:72px;--cookie-height-mobile:58px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;color:var(--text-body);line-height:1.7;font-size:16px;background:var(--bg-white);padding-top:90px;transition:padding-bottom .3s ease}html.layout-desktop body{padding-bottom:var(--cookie-height-desktop)}html.layout-mobile body{padding-bottom:var(--cookie-height-mobile)}body.cookie-accepted{padding-bottom:0 !important}.container{max-width:1200px;margin:0 auto;padding:0 20px}section{padding:80px 0}a{text-decoration:none;color:inherit;transition:var(--transition)}img{max-width:100%;height:auto;display:block}ul{list-style:none}h1,h2,h3,h4,h5,h6{font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;color:var(--text-dark);font-weight:700;line-height:1.2}h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}h4{font-size:1.25rem}html.layout-desktop .btn,html.layout-mobile .btn{display:inline-flex;align-items:center;gap:10px;border-radius:var(--radius-sm);font-family:'Poppins','Inter',sans-serif;font-weight:700;cursor:pointer;border:0;transition:var(--transition);text-transform:uppercase;white-space:nowrap;line-height:1.2}html.layout-desktop .btn{padding:14px 28px;font-size:.95rem;letter-spacing:.9px;min-height:52px}html.layout-mobile .btn{padding:12px 22px;font-size:.9rem;letter-spacing:.85px;min-height:46px}.btn i{width:16px;text-align:center;display:inline-block}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px) translateZ(0);box-shadow:var(--shadow-lg)}.btn-secondary{background:transparent;color:white;border:2px solid white}.btn-secondary:hover{background:white;color:var(--primary)}.navbar{position:fixed;top:0;left:0;right:0;background:white;box-shadow:var(--shadow-md);z-index:1000;transition:var(--transition);min-height:80px}.nav-content{display:flex;align-items:center;justify-content:space-between;padding:15px 0}.logo{display:flex;align-items:center;gap:12px}.logo img{width:50px;height:50px;object-fit:contain}.logo-text{display:flex;flex-direction:column;line-height:1.2}.logo-text span{font-size:.75rem;color:#2d3748;font-weight:500}.logo-text strong{font-size:1.1rem;color:var(--primary);font-weight:700;font-family:Inter,sans-serif}.menu-toggle{display:none;flex-direction:column;gap:5px;background:0;border:0;cursor:pointer}.menu-toggle span{width:25px;height:3px;background:var(--text-dark);transition:var(--transition);border-radius:2px}.nav-menu{display:flex;align-items:center;gap:8px}html.layout-desktop .nav-menu li a,html.layout-mobile .nav-menu li a{font-family:'Poppins','Inter',sans-serif;font-weight:700;color:var(--text-dark);position:relative;display:inline-flex;align-items:center;text-transform:uppercase}html.layout-desktop .nav-menu li a{font-size:.9rem;letter-spacing:1px;padding:10px 12px;min-height:44px}html.layout-mobile .nav-menu li a{font-size:.85rem;letter-spacing:.8px;padding:12px 8px;min-height:38px}.nav-menu li a:not(.btn)::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--primary);transition:var(--transition)}.nav-menu li a:not(.btn):hover::after{width:100%}.hero{position:relative;height:100vh;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;contain:layout size}.feature-card,.service-card,.review-card,.contact-card{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease;will-change:opacity,transform}.animate-in{opacity:1 !important;transform:translateY(0) !important}.hero-slider{position:absolute;inset:0;z-index:0}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;will-change:opacity;contain:layout style paint;transform:translateZ(0);backface-visibility:hidden}.hero-bg-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1}.hero-slide.active{opacity:1}.slider-controls{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 20px;z-index:10;pointer-events:none}.slider-btn{pointer-events:all;background:rgba(255,255,255,0.9);border:0;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--primary);transition:var(--transition);box-shadow:0 4px 15px rgba(0,0,0,0.2)}.slider-btn:hover{background:white;transform:scale(1.1) translateZ(0);box-shadow:0 6px 20px rgba(0,0,0,0.3)}.slider-btn:active{transform:scale(0.95) translateZ(0)}@media(max-width:768px){.slider-controls{display:none}}.slider-dots{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;gap:12px;z-index:10}.slider-dots .dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,0.5);cursor:pointer;transition:var(--transition);border:2px solid rgba(255,255,255,0.8)}.slider-dots .dot:hover{background:rgba(255,255,255,0.8);transform:scale(1.2) translateZ(0)}.slider-dots .dot.active{background:white;width:14px;height:14px}.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,102,204,0.92) 0,rgba(44,62,80,0.88) 100%);z-index:1}.hero-content{position:relative;z-index:2;color:white;max-width:700px;contain:layout paint;min-height:350px}html.layout-desktop .hero-label,html.layout-mobile .hero-label{display:inline-block;padding:8px 20px;background:rgba(255,255,255,0.2);backdrop-filter:blur(10px);border-radius:50px;font-size:.9rem;font-weight:600;margin-bottom:20px;letter-spacing:1px;text-transform:uppercase;min-height:38px;line-height:22px;box-sizing:border-box}html.layout-desktop .hero-content h1{color:white;margin-bottom:20px;text-shadow:0 2px 10px rgba(0,0,0,0.3);min-height:175px;font-size:clamp(2.5rem,5vw,4rem);line-height:1.15}html.layout-mobile .hero-content h1{color:white;margin-bottom:15px;text-shadow:0 2px 10px rgba(0,0,0,0.3);min-height:105px;font-size:clamp(2rem,6vw,2.6rem)}html.layout-desktop .hero-content p{font-size:1.2rem;margin-bottom:30px;line-height:1.7;opacity:.95;min-height:75px}html.layout-mobile .hero-content p{font-size:1.05rem;margin-bottom:25px;line-height:1.6;min-height:38px}.hero-buttons{display:flex;gap:15px;flex-wrap:wrap}.section-header{text-align:center;max-width:700px;margin:0 auto 60px}.section-label{display:inline-block;color:#0052a3;font-family:'Poppins','Inter',sans-serif;font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:2px;margin-bottom:15px}.section-header h2{margin-bottom:15px;text-transform:uppercase;font-weight:900;color:var(--secondary);letter-spacing:1.2px;font-family:'Poppins','Inter',sans-serif}.section-header p{font-size:1.1rem;color:#4a5568}.about{background:var(--bg-light)}.about-image{max-width:900px;margin:0 auto 50px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.about-image img{width:100%;height:auto;aspect-ratio:1200/800;object-fit:cover}.about-content{max-width:800px;margin:0 auto 50px;text-align:center}.about-content p{font-size:1.1rem;line-height:1.8;margin-bottom:20px}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1000px;margin:0 auto}.feature-card{background:white;padding:40px 30px;border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-sm);transition:var(--transition);border-top:4px solid var(--primary)}.feature-card:hover{transform:translateY(-8px) translateZ(0);box-shadow:var(--shadow-lg)}.feature-icon{width:70px;height:70px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:white;font-size:1.8rem}.feature-card h4{margin-bottom:15px;color:var(--text-dark)}.feature-card p{color:var(--text-body);line-height:1.6}.services{background:white}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px}.service-card{background:white;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);transition:var(--transition)}.service-card:hover{transform:translateY(-10px) translateZ(0);box-shadow:var(--shadow-lg)}.service-image{width:100%;height:250px;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.service-card:hover .service-image img{transform:scale(1.1) translateZ(0)}.service-content{padding:30px;text-align:left}.service-icon{width:60px;height:60px;background:var(--primary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:white;font-size:1.5rem;margin:0 auto 20px}.service-content h3{margin-bottom:15px;text-transform:uppercase;font-size:1.4rem;letter-spacing:.5px}.service-content p{margin-bottom:20px;line-height:1.7}.service-list{display:flex;flex-direction:column;gap:10px}.service-list li{display:flex;align-items:center;gap:10px;color:var(--text-body)}.service-list i{color:var(--accent);font-size:1rem}.reviews{background:var(--bg-light)}.reviews-rating{margin-top:20px}.stars{font-size:1.5rem;color:#ffb800;margin-bottom:10px}.reviews-rating p{font-size:1.1rem;font-weight:600;color:var(--text-dark)}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px;margin-bottom:40px}.review-card{background:white;padding:30px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.review-header{display:flex;align-items:center;gap:15px;margin-bottom:15px}.review-avatar{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:white;flex-shrink:0;text-transform:uppercase}.review-info{flex:1;display:flex;flex-direction:column;gap:5px}.review-author-line{display:flex;align-items:center;gap:8px}.review-time{font-size:.9rem;color:#2d3748;font-weight:600;margin-left:8px}.review-author{font-weight:700;color:var(--text-dark)}.review-stars{color:#ffb800}.review-text{color:var(--text-body);line-height:1.7;font-style:italic}.reviews-cta{text-align:center}.contact{background:white}.contact-map{width:100%;height:450px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:50px}.contact-map iframe{width:100%;height:100%;border:0}.contact-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:25px}.info-box{background:white;padding:30px 40px;border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-bottom:25px;max-width:1000px;margin-left:auto;margin-right:auto}.info-row{display:flex;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid #e2e8f0;font-size:1.05rem}.info-row:last-child{border-bottom:0;padding-bottom:0}.info-row i{font-size:1.3rem;color:var(--primary);min-width:30px;text-align:center}.info-row i.fa-whatsapp{color:#25d366}.info-row span,.info-row a{color:var(--text-dark);font-weight:500}.info-row a:hover{color:var(--primary);text-decoration:underline}.social-box{background:linear-gradient(135deg,var(--primary),#005299);padding:25px 40px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;justify-content:center;align-items:center;gap:40px;flex-wrap:wrap;max-width:1000px;margin:0 auto}.social-item{display:flex;align-items:center;gap:10px;color:white;font-weight:800;font-size:1.05rem;text-transform:uppercase;letter-spacing:.8px;transition:var(--transition);padding:8px 15px;border-radius:var(--radius-sm)}.social-item span{font-weight:800}.social-item:hover{background:rgba(255,255,255,0.15);transform:translateY(-2px)}.social-item i{font-size:1.3rem}@media(max-width:768px){.info-box,.social-box{padding:20px 25px}.social-box{flex-direction:column;gap:15px}.social-item{width:100%;justify-content:center}}.contact-grid.single{grid-template-columns:1fr}.contact-card{background:white;padding:35px 25px;border-radius:var(--radius-md);box-shadow:var(--shadow-md);text-align:center;transition:var(--transition);border-top:4px solid var(--primary)}.contact-card:hover{box-shadow:var(--shadow-lg)}.contact-info-card{text-align:left}.contact-card.contact-full{padding:40px}.contact-full-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 30px;margin-top:25px}.contact-full-list li{display:flex;align-items:center;gap:12px;font-size:1rem;font-weight:600;color:var(--text-dark)}.contact-full-list i{font-size:1rem;color:var(--primary)}.contact-full-list a{color:inherit}.contact-icon{width:60px;height:60px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:1.5rem;margin:0 auto 20px}.contact-icon.whatsapp{background:linear-gradient(135deg,#25d366,#128c7e)}.contact-icon.social{background:linear-gradient(135deg,#667eea,#764ba2)}.contact-card h4{margin-bottom:20px;color:var(--text-dark)}.info-items{display:flex;flex-direction:column;gap:15px}.info-item{display:flex;align-items:flex-start;gap:12px}.info-item i{color:var(--primary);font-size:1.1rem;min-width:20px;margin-top:3px}.info-item a,.info-item span{color:var(--text-body);flex:1}.info-item a:hover{color:var(--primary)}.contact-link{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:600;font-size:1.05rem}.contact-link:hover{color:var(--primary-dark)}.contact-hint{margin-top:10px;font-size:.9rem;color:#4a5568}.social-links{display:flex;flex-direction:column;gap:12px}.social-links a{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px;background:var(--bg-light);border-radius:var(--radius-sm);color:var(--text-body);transition:var(--transition)}.social-links a:hover{background:var(--primary);color:white}.footer{background:var(--secondary);color:rgba(255,255,255,0.95);padding:60px 0 30px}.footer-content{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}.footer-brand .logo{margin-bottom:20px}.footer-brand .logo-text span{color:rgba(255,255,255,0.9)}.footer-brand .logo-text strong{color:white}.footer-tagline{font-size:1rem;margin-bottom:20px;color:rgba(255,255,255,0.95);color:#fff;font-style:italic;opacity:.95}.footer-contact p{display:flex;align-items:center;gap:10px;margin-bottom:12px}.footer-contact a{color:rgba(255,255,255,0.95)}.footer-contact a:hover{color:white}.footer-col h3{color:white;margin-bottom:20px;font-size:1.1rem}.footer-col ul li{margin-bottom:12px}.footer-col ul li a,.footer-col ul li{color:rgba(255,255,255,0.95);display:flex;align-items:center;gap:8px;transition:var(--transition)}.footer-col ul li a:hover{color:white;padding-left:5px}.footer-bottom{text-align:center;padding-top:30px;border-top:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.9)}.footer-bottom p{margin-bottom:10px;font-size:.95rem;text-transform:uppercase;font-weight:900;letter-spacing:.6px;font-family:'Poppins','Inter',sans-serif}.footer-copyright{font-size:1rem;margin-bottom:15px}.footer-credits{margin-bottom:15px}.footer-policies{font-size:.9rem;letter-spacing:.8px}.footer-bottom a{font-weight:900;text-transform:uppercase;font-family:'Poppins','Inter',sans-serif;text-decoration:underline}.footer-quick-contact{margin-top:25px;padding:18px;border-top:1px solid rgba(255,255,255,0.15);border-bottom:1px solid rgba(255,255,255,0.15)}.footer-quick-contact ul{list-style:none;display:flex;flex-wrap:wrap;gap:15px 30px;align-items:center;justify-content:center;color:rgba(255,255,255,0.95)}.footer-quick-contact li{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem}.footer-quick-contact a,.footer-quick-contact span{color:rgba(255,255,255,0.95);display:inline-flex;align-items:center;gap:8px}.footer-quick-contact a:hover{color:#b3f5c9}.footer-quick-contact i{font-size:1rem}.footer-credits a{color:#fff;font-weight:600;text-decoration:underline}.footer-credits a:hover{color:white}.whatsapp-float{position:fixed;bottom:100px;right:30px;width:60px;height:60px;background:linear-gradient(135deg,#25d366,#128c7e);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:2rem;box-shadow:0 4px 20px rgba(37,211,102,0.4);z-index:999;transition:var(--transition);animation:pulse-wa 2.5s infinite;will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}.whatsapp-float:hover{transform:scale(1.1) translateZ(0)}@keyframes pulse-wa{0%,100%{transform:translateZ(0) scale(1);opacity:1}50%{transform:translateZ(0) scale(1.1);opacity:.85}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#142033;border-top:2px solid var(--primary);padding:10px 15px;z-index:9999;box-shadow:0 -4px 15px rgba(0,0,0,0.25);transform:translateY(100%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .4s ease,opacity .4s ease}.cookie-banner.show{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}.cookie-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:12px;flex-wrap:nowrap}.cookie-icon{color:#f7b733;font-size:1.1rem;flex-shrink:0}.cookie-copy{flex:1 1 auto;min-width:0;color:white}.cookie-copy p{font-size:.8rem;line-height:1.3;margin:0;color:rgba(255,255,255,0.95);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cookie-copy p strong{font-weight:700;margin-right:4px;color:rgba(255,255,255,0.85)}.cookie-copy a{color:#7ec8ff;text-decoration:underline;font-weight:600}.cookie-copy a:hover{color:#b3e1ff}.cookie-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.cookie-accept-btn{border:0;background:var(--primary);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:8px 16px;border-radius:6px;cursor:pointer;transition:var(--transition);font-size:.75rem;white-space:nowrap}.cookie-accept-btn:hover{background:var(--primary-dark);transform:translateY(-1px) translateZ(0)}.cookie-accept-btn:focus-visible{outline:3px solid rgba(255,255,255,0.6);outline-offset:2px}@media(max-width:768px){.cookie-banner{padding:8px 12px}.cookie-inner{gap:10px}.cookie-icon{font-size:1rem}.cookie-copy p{font-size:.75rem}.cookie-accept-btn{padding:6px 12px;font-size:.7rem}}@media(max-width:480px){.cookie-copy p{font-size:.7rem}.cookie-banner{padding:6px 10px}}.policy-modal{position:fixed;inset:0;background:rgba(0,0,0,0.8);display:none;align-items:center;justify-content:center;z-index:10000;padding:20px}.policy-modal.active{display:flex}.policy-modal-content{background:white;max-width:800px;width:100%;max-height:90vh;border-radius:var(--radius-md);position:relative;overflow:hidden}.modal-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;background:var(--bg-gray);border:0;cursor:pointer;font-size:1.3rem;display:flex;align-items:center;justify-content:center;transition:var(--transition);z-index:1}.modal-close:hover{background:var(--primary);color:white}.policy-modal-body{padding:60px 40px 40px;overflow-y:auto;max-height:90vh}.policy-modal-body h2{margin-bottom:30px;color:var(--primary)}.policy-modal-body h3{margin:30px 0 15px;color:var(--text-dark)}.policy-modal-body p,.policy-modal-body ul{margin-bottom:20px;line-height:1.8}.policy-modal-body ul{padding-left:20px;list-style:disc}@media(max-width:1024px){.services-grid,.features,.contact-grid,.footer-content{grid-template-columns:1fr}}@media(max-width:768px){section{padding:60px 0}body{padding-top:75px}.menu-toggle{display:flex}.nav-menu{position:fixed;top:80px;left:-100%;width:100%;height:calc(100vh - 80px);background:white;flex-direction:column;padding:40px 20px;transition:var(--transition);box-shadow:var(--shadow-lg);gap:20px}.nav-menu li{width:100%;text-align:center}.nav-menu li a{display:block;width:100%;padding:15px 20px}.nav-menu.active{left:0}.hero{min-height:100vh;min-height:100svh}.hero-buttons{flex-direction:column}.whatsapp-float{width:55px;height:55px;font-size:1.8rem;bottom:80px;right:20px}.policy-modal-body{padding:40px 25px}}@media(max-width:480px){body{font-size:15px;padding-top:70px}.btn{padding:12px 20px;font-size:.85rem}.section-header{margin-bottom:40px}}