:root{--bg-primary: #F8FAFC;--bg-light: #FFFFFF;--bg-section: #F1F5F9;--blue-primary: #0E7490;--blue-dark: #0C4A6E;--blue-light: #E0F2FE;--green-accent: #15803D;--text-primary: #0F172A;--text-secondary: #475569;--text-light: #FFFFFF;--border-light: #E2E8F0;--font-primary: "Inter", system-ui, -apple-system, sans-serif;--heading-xl: 3rem;--heading-lg: 2.2rem;--heading-md: 1.6rem;--text-base: 1rem;--text-sm: .9rem;--section-padding: 6rem 1.5rem;--container-width: 1200px;--shadow-sm: 0 2px 8px rgba(0,0,0,.05);--shadow-md: 0 4px 16px rgba(0,0,0,.08);--transition-fast: .2s ease;--transition-medium: .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-primary);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}ul{list-style:none}button{font-family:inherit;cursor:pointer;border:none;background:none}.section{position:relative;z-index:1;padding:5rem 1.5rem;margin:0}.section+.section{margin-top:0}.section-divider{height:0;margin:0;padding:0}body{background-color:#fff;overflow-x:hidden}.container{max-width:var(--container-width);margin:0 auto;padding:0 1.5rem}.section{padding:var(--section-padding)}.section-alt{background-color:var(--bg-section)}.section-divider{width:100%;height:1px;background-color:var(--border-light)}@media(max-width:768px){body{padding-bottom:90px}}.text-center{text-align:center}.btn-primary{background-color:var(--blue-primary);color:var(--text-light);padding:.8rem 1.6rem;border-radius:6px;font-weight:600;transition:var(--transition-fast)}.btn-primary:hover{background-color:var(--blue-dark)}.btn-outline{border:2px solid var(--blue-primary);color:var(--blue-primary);padding:.8rem 1.6rem;border-radius:6px;font-weight:600;transition:var(--transition-fast)}.btn-outline:hover{background-color:var(--blue-primary);color:#fff}.mt-2{margin-top:1rem}.mt-4{margin-top:2rem}.mt-6{margin-top:3rem}.navbar{position:sticky;top:0;width:100%;background:#fff;z-index:1000;border-bottom:1px solid var(--border-light);transition:all .3s ease}.navbar-scrolled{box-shadow:0 10px 30px #00000014}.navbar-inner{max-width:var(--container-width);margin:0 auto;padding:.5rem 1.5rem;display:flex;justify-content:space-between;align-items:center;transition:padding .3s ease}.navbar-scrolled .navbar-inner{padding:.6rem 1.5rem}.navbar-logo img{height:70px;width:auto;display:block}.navbar-logo{display:flex;align-items:center}.navbar{overflow:visible}.navbar-links a{margin-left:2rem;text-decoration:none;font-weight:500;color:var(--text-primary);position:relative;transition:.2s ease}.navbar-links a:hover{color:var(--blue-primary)}.nav-cta{padding:.55rem 1.1rem;background:var(--green-accent);color:#fff!important;border-radius:6px;font-weight:600;transition:.25s ease}.nav-cta:hover{transform:translateY(-2px)}.mobile-toggle{display:none}.mobile-toggle button{background:none;border:none;cursor:pointer}.mobile-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1100}.mobile-menu{position:fixed;top:0;right:0;width:280px;height:100vh;background:#fff;z-index:1200;padding:2rem;display:flex;flex-direction:column;box-shadow:-10px 0 30px #00000026}.mobile-header{display:flex;justify-content:space-between;align-items:center;font-weight:600}.mobile-links{margin-top:3rem;display:flex;flex-direction:column;gap:1.5rem}.mobile-links a{text-decoration:none;font-size:1rem;color:var(--text-primary)}.mobile-cta{margin-top:2rem;padding:.8rem;text-align:center;background:var(--green-accent);color:#fff!important;border-radius:6px;font-weight:600}@media(max-width:1024px){.desktop{display:none}.mobile-toggle{display:block}}@media(max-width:768px){.navbar-logo img{height:60px}}.footer{background:linear-gradient(to bottom,#0f5c83,#0d4f73);color:#e2e8f0;padding:5rem 1.5rem 2.5rem}.footer-inner{max-width:var(--container-width);margin:0 auto}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3.5rem}.footer h3{font-size:1.15rem;font-weight:700;margin-bottom:1.2rem;color:#fff;letter-spacing:.5px}.footer p,.footer a{font-size:.92rem;color:#cbd5e1;text-decoration:none;line-height:1.7;transition:all .25s ease}.footer a:hover{color:#fff;padding-left:4px}.footer-socials{display:flex;gap:.9rem;margin-top:1.2rem}.footer-socials a{display:flex;align-items:center;justify-content:center;padding:.6rem;border-radius:8px;background:#ffffff0f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .3s ease}.footer-socials a:hover{background:var(--green-accent);transform:translateY(-4px);box-shadow:0 8px 20px #00000040}.footer-divider{margin-top:3.5rem;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent)}.footer-bottom{margin-top:2rem;text-align:center;font-size:.85rem;color:#94a3b8}.footer-author{margin-top:.5rem;font-size:.75rem;opacity:.65;letter-spacing:.5px}@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.footer-grid{grid-template-columns:1fr;gap:2.5rem}}.whatsapp-float{position:fixed;bottom:30px;right:20px;width:62px;height:62px;border-radius:50%;border:none;cursor:pointer;background-color:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 35px #00000040;z-index:2000;transition:.3s ease}.whatsapp-float:hover{transform:scale(1.08);box-shadow:0 18px 45px #00000059}.whatsapp-tooltip{position:absolute;right:75px;background:#0f172a;color:#fff;padding:.4rem .7rem;border-radius:6px;font-size:.8rem;opacity:0;white-space:nowrap;pointer-events:none;transition:.2s ease}.whatsapp-float:hover .whatsapp-tooltip{opacity:1}.mobile-cta-bar{display:none}@media(max-width:768px){.mobile-cta-bar{position:fixed;bottom:15px;left:15px;right:15px;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.8rem;border-radius:16px;box-shadow:0 12px 30px #00000026;z-index:2000;display:block}.mobile-cta-bar button{width:100%;padding:1rem;background:var(--green-accent);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:.25s ease}.mobile-cta-bar button:active{transform:scale(.97)}}.hero{background:linear-gradient(135deg,#0c4a6e,#0e7490 60%,#155e75);color:#fff;padding:3.5rem 1.5rem;min-height:85vh;display:flex;align-items:center}.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:2.5rem;max-width:var(--container-width);margin:0 auto}.hero-content h1{font-weight:800;line-height:1.05;font-size:clamp(2rem,3.5vw,3rem);max-width:700px;margin-bottom:1rem;position:relative;cursor:default;background:linear-gradient(120deg,#fff,#c7f9ff,#fff,#bde0fe,#fff);background-size:200% auto;animation:waterFlow 12s linear infinite;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:0 2px 6px rgba(0,0,0,.25),0 0 12px rgba(255,255,255,.05)}.hero-content p{font-size:1rem;max-width:520px;line-height:1.5;margin-bottom:1.5rem;color:#ffffffe6}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}.hero-buttons button{padding:.85rem 1.6rem;border-radius:8px;font-weight:600;font-size:.95rem;transition:all .25s ease}.hero-primary{background-color:var(--green-accent);color:#fff}.hero-secondary{background:transparent;border:2px solid rgba(255,255,255,.7);color:#fff}.hero-primary:hover,.hero-secondary:hover{transform:translateY(-2px)}.hero-image img{width:100%;height:320px;object-fit:cover;border-radius:14px;box-shadow:0 15px 35px #0000004d}@media(max-width:1024px){.hero-inner{grid-template-columns:1fr;text-align:center}.hero-content p{margin-left:auto;margin-right:auto}.hero-buttons{justify-content:center}.hero-image img{height:260px}}@keyframes waterFlow{0%{background-position:0% center}to{background-position:200% center}}@media(max-width:768px){.hero{min-height:auto;padding:2.5rem 1.2rem}}.trust-intro{max-width:850px;margin:0 auto 3rem;text-align:center}.trust-intro h2{font-size:clamp(1.6rem,2.5vw,2rem);font-weight:700;margin-bottom:1rem}.trust-intro p{font-size:1.05rem;color:var(--text-secondary);line-height:1.6}.trust{background:#f1f5f9;padding:2rem 1.5rem;border-bottom:1px solid var(--border-light)}.trust-inner{max-width:var(--container-width);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}.trust-item{display:flex;flex-direction:column;align-items:center;gap:.6rem;font-weight:600;font-size:.95rem;color:var(--text-primary);transition:all .25s ease}.trust-item svg{color:var(--blue-primary);width:26px;height:26px;transition:transform .25s ease}.trust-item:hover{transform:translateY(-3px)}.trust-item:hover svg{transform:scale(1.1)}@media(max-width:1024px){.trust-inner{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.trust{padding:1.5rem}.trust-inner{grid-template-columns:1fr;gap:1.2rem}}.services{background:linear-gradient(to bottom,#f5f9fc,#fff)}.services-header{text-align:center;max-width:750px;margin:0 auto 4rem}.services-header h2{font-size:clamp(2rem,3vw,2.6rem);font-weight:800;margin-bottom:1rem}.services-header p{font-size:1.05rem;color:var(--text-secondary)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.service-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 15px 40px #00000014;transition:all .35s ease}.service-card:hover{transform:translateY(-10px);box-shadow:0 25px 50px #0000001f}.service-image{background:linear-gradient(135deg,#0f4c64,#1b5f77);padding:1.5rem}.service-image img{width:100%;height:200px;object-fit:cover;border-radius:12px}.service-content{padding:1.8rem}.service-content h3{font-size:1.3rem;font-weight:800;margin-bottom:.8rem}.service-content p{font-size:.95rem;line-height:1.6;color:var(--text-secondary)}.service-image img{transition:transform .4s ease}.service-card:hover .service-image img{transform:scale(1.05)}@media(max-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.services-grid{grid-template-columns:1fr}.service-image img{height:180px}}.process{background:#fff}.process-header{text-align:center;max-width:600px;margin:0 auto 4rem}.process-header h2{font-size:var(--heading-lg);font-weight:700}.process-header p{margin-top:1rem;color:var(--text-secondary)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.process-step{padding:2rem;border-radius:16px;border:1px solid var(--border-light);transition:.3s ease}.process-step:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}.process-step span{font-size:1.5rem;font-weight:800;color:var(--blue-primary)}.process-step h3{margin-top:1rem;font-weight:600}.process-step p{margin-top:.6rem;font-size:.95rem;color:var(--text-secondary)}@media(max-width:1024px){.process-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.process-grid{grid-template-columns:1fr}}.project-stats{display:flex;justify-content:center;gap:4rem;margin-bottom:3rem;text-align:center;padding:2rem 0;border-bottom:1px solid var(--border-light)}.project-stats h3{font-size:2rem;font-weight:800;color:var(--blue-primary)}.project-stats p{margin-top:.5rem;font-size:.9rem;color:var(--text-secondary)}@media(max-width:768px){.project-stats{flex-direction:column;gap:1.5rem}}.projects{background:#f1f5f9}.projects-header{text-align:center;max-width:700px;margin:0 auto 4rem}.projects-header h2{font-size:var(--heading-lg);font-weight:700}.projects-header p{margin-top:1rem;color:var(--text-secondary)}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.project-card{position:relative;overflow:hidden;border-radius:18px;box-shadow:var(--shadow-sm);cursor:pointer;transform:translateZ(0);backface-visibility:hidden;will-change:transform;contain:layout paint;transition:box-shadow .35s ease}.project-card img{width:100%;height:420px;object-fit:cover;transform:translateZ(0);backface-visibility:hidden;transition:transform .5s ease}.project-card:hover img{transform:scale(1.06)}.project-overlay{position:absolute;inset:0;padding:2rem;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,rgba(0,0,0,.65),rgba(0,0,0,.35),transparent 60%);color:#fff}.project-overlay h3{font-size:1.3rem;font-weight:700;margin-bottom:.6rem}.project-overlay p{font-size:.95rem;opacity:.9;line-height:1.4}.projects-cta{text-align:center;margin-top:3.5rem}.projects-cta button{padding:.9rem 2rem;background:var(--blue-primary);color:#fff;border-radius:8px;font-weight:600;border:none;cursor:pointer;transition:all .3s ease}.projects-cta button:hover{background:var(--blue-dark);transform:translateY(-2px)}@media(max-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.projects-grid{grid-template-columns:1fr}.project-card img{height:320px}}.project-detail{padding-top:3rem}.project-detail-header{max-width:800px;margin-bottom:3rem}.project-detail-header h1{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;line-height:1.2;margin-bottom:1rem}.project-subtitle{font-size:1.1rem;color:var(--text-secondary)}.project-swiper{margin-bottom:2.5rem}.project-swiper img{width:100%;height:auto;max-height:550px;object-fit:contain;border-radius:18px;background:#f3f6f9;display:block;margin:0 auto}@media(max-width:1024px){.project-swiper img{max-height:500px}}@media(max-width:768px){.project-swiper img{max-height:320px}}.project-cta{margin-top:2.5rem}.project-cta button{padding:1rem 2.2rem;background:var(--green-accent);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 6px 18px #00000014}.project-cta button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #00000026}@media(max-width:768px){.project-detail-header h1{font-size:1.8rem}}.project-swiper .swiper-wrapper{transition-timing-function:cubic-bezier(.25,.8,.25,1)}.project-card{transform-style:preserve-3d;will-change:transform;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1)}.project-card{will-change:transform;transition:box-shadow .35s ease}.project-card:hover{box-shadow:0 25px 60px #0000002e}.project-card img{transition:transform .5s ease}.project-card:hover img{transform:scale(1.05)}.why{background:#fff;position:relative;z-index:1}.why-header{text-align:center;max-width:700px;margin:0 auto 3rem}.why-header h2{font-size:var(--heading-lg);font-weight:700}.why-header p{margin-top:1rem;color:var(--text-secondary)}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.why-card{padding:2rem;border-radius:16px;border:1px solid #e5edf3;background:#fff;transition:.3s ease}.why-card:hover{box-shadow:0 12px 35px #00000014;transform:translateY(-4px)}.why-icon{color:var(--green-accent);margin-bottom:1rem}.why-card h3{font-size:1.1rem;font-weight:600}.why-card p{margin-top:.8rem;font-size:var(--text-sm);color:var(--text-secondary)}@media(max-width:1024px){.why-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.why-grid{grid-template-columns:1fr}}.testimonials{background:#f4f9fc;position:relative;z-index:1}.testimonials-header{text-align:center;max-width:700px;margin:0 auto 3rem}.testimonials-header h2{font-size:var(--heading-lg);font-weight:700}.testimonials-header p{margin-top:1rem;color:var(--text-secondary)}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.testimonial-card{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 10px 30px #0000000f;transition:.3s ease}.testimonial-card:hover{transform:translateY(-4px)}.testimonial-text{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}.testimonial-author{margin-top:1.5rem;font-weight:600;color:var(--text-primary)}.testimonial-role{font-size:.85rem;color:var(--text-secondary)}@media(max-width:1024px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.testimonials-grid{grid-template-columns:1fr}}.cta{background-color:var(--blue-dark);color:var(--text-light);text-align:center;padding:5rem 1.5rem}.cta h2{font-size:var(--heading-lg);font-weight:700;max-width:800px;margin:0 auto}.cta p{margin-top:1.5rem;font-size:1rem;color:#cbd5e1}.cta-button{margin-top:2.5rem}.cta-button button{background-color:var(--green-accent);color:#fff;padding:1rem 2.2rem;border-radius:8px;font-weight:600;font-size:1rem;transition:var(--transition-fast)}.cta-button button:hover{opacity:.9}
