:root{--azul-principal:#3498db;--azul-oscuro:#2c3e50;--violeta:#667eea;--violeta-oscuro:#764ba2;--dorado:#f39c12;--blanco:#ffffff;--gris-claro:#f8f9fa;--gris-medio:#ecf0f1;--gris:#666666;--negro-suave:#2c3e50;--header-height:80px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:light}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.7;color:var(--negro-suave);background-color:var(--blanco);font-size:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:6px;background:var(--azul-principal);color:#fff;padding:8px;text-decoration:none;z-index:1001;border-radius:4px}.skip-link:focus{top:6px}:focus-visible{outline:3px solid var(--azul-principal);outline-offset:2px}.header{position:fixed;top:0;width:100%;height:var(--header-height);background:rgba(255,255,255,.98);backdrop-filter:blur(20px);border-bottom:1px solid var(--gris-medio);z-index:1000;box-shadow:0 2px 20px rgba(0,0,0,.08)}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 3rem;height:100%}.logo{font-size:1.8rem;font-weight:800;color:var(--negro-suave);text-decoration:none;letter-spacing:-.5px}.nav{display:flex;gap:3rem;list-style:none}.nav a{color:var(--negro-suave);text-decoration:none;font-weight:500;padding:.5rem 0;font-size:1.05rem;position:relative;transition:color .3s ease}.nav a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--azul-principal);transition:width .3s ease}.nav a:hover{color:var(--azul-principal)}.nav a:hover::after{width:100%}main{margin-top:var(--header-height)}.hero{position:relative;min-height:90vh;display:flex;align-items:center;background:linear-gradient(135deg,rgba(52,152,219,.95) 0,rgba(102,126,234,.9) 50%,rgba(118,75,162,.85) 100%);overflow:hidden}.hero::before{background-image:none!important;content:none!important}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(52,152,219,.95) 0,rgba(102,126,234,.9) 50%,rgba(118,75,162,.85) 100%);z-index:1}.hero .hero-media,.hero .hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-content{max-width:1400px;margin:0 auto;padding:3rem;color:#fff;text-align:center;position:relative;z-index:2}.hero h1{font-size:clamp(3rem, 6vw, 5rem);font-weight:900;margin-bottom:1.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.3);line-height:1.1;letter-spacing:-1px}.hero-subtitle{font-size:clamp(1.3rem, 3vw, 2rem);margin-bottom:1rem;opacity:.95;font-weight:400;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.disclaimer{font-size:.9rem;opacity:.8;margin-bottom:2.5rem;font-style:italic;background:rgba(255,255,255,.1);padding:.5rem 1rem;border-radius:20px;display:inline-block;backdrop-filter:blur(10px)}.btn{display:inline-block;padding:1.2rem 2.5rem;background:linear-gradient(135deg,var(--violeta) 0,var(--violeta-oscuro) 100%);color:#fff;text-decoration:none;border-radius:50px;font-weight:600;border:none;cursor:pointer;font-size:1.1rem;transition:all .3s ease;box-shadow:0 4px 20px rgba(102,126,234,.3);letter-spacing:.5px}.btn:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(102,126,234,.4)}.btn-secondary{background:linear-gradient(135deg,var(--azul-principal),#2980b9)}.btn-secondary:hover{box-shadow:0 8px 30px rgba(52,152,219,.4)}.section{padding:6rem 3rem;max-width:1400px;margin:0 auto}.section-alt{background:var(--gris-claro)}.section h2{font-size:clamp(2.5rem, 5vw, 3.5rem);margin-bottom:3rem;color:var(--negro-suave);text-align:center;font-weight:800;letter-spacing:-1px}.section h3{font-size:1.8rem;margin-bottom:1.5rem;color:var(--azul-principal);font-weight:700}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2.5rem;margin-top:4rem}.card{background:#fff;border-radius:20px;padding:3rem;box-shadow:0 10px 40px rgba(0,0,0,.08);border:1px solid var(--gris-medio);transition:all .3s ease;position:relative;overflow:hidden}.card::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--azul-principal),var(--violeta))}.card:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(0,0,0,.12)}.card h3{color:var(--negro-suave);margin-bottom:1.5rem;font-size:1.6rem}.card p{color:var(--gris);line-height:1.7;font-size:1.05rem}.metodologia-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;margin-top:4rem}.step{text-align:center;padding:2.5rem;background:#fff;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.08);transition:transform .3s ease}.step:hover{transform:translateY(-5px)}.step-number{width:80px;height:80px;background:linear-gradient(135deg,var(--azul-principal),var(--violeta));color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;margin:0 auto 2rem;box-shadow:0 8px 25px rgba(52,152,219,.3)}.step h3{color:var(--negro-suave);margin-bottom:1rem;font-size:1.5rem}.step p{color:var(--gris);line-height:1.6}.caso,.testimonio{background:#fff;border-left:6px solid var(--dorado);padding:2.5rem;margin:2rem 0;border-radius:15px;box-shadow:0 8px 30px rgba(0,0,0,.08);transition:transform .3s ease}.caso:hover,.testimonio:hover{transform:translateX(8px)}.testimonio{border-left-color:var(--azul-principal);font-style:italic;position:relative}.testimonio::before{content:'"';position:absolute;top:-10px;left:20px;font-size:4rem;color:var(--azul-principal);opacity:.3}.testimonio cite{font-style:normal;font-weight:700;color:var(--azul-principal);display:block;margin-top:1rem;font-size:.95rem}.caso h3{color:var(--negro-suave);margin-bottom:1rem;font-size:1.4rem}.form-container{background:#fff;padding:3rem;border-radius:20px;box-shadow:0 15px 50px rgba(0,0,0,.1);max-width:800px;margin:0 auto}.form-group{margin-bottom:2rem}.form-group label{display:block;margin-bottom:.8rem;font-weight:600;color:var(--negro-suave);font-size:1.05rem}.form-control{width:100%;padding:1rem 1.2rem;border:2px solid var(--gris-medio);border-radius:12px;font-size:1rem;transition:all .3s ease;font-family:inherit}.form-control:focus{border-color:var(--azul-principal);outline:0;box-shadow:0 0 0 3px rgba(52,152,219,.1)}.form-control.error{border-color:#e74c3c;box-shadow:0 0 0 3px rgba(231,76,60,.1)}textarea.form-control{resize:vertical;min-height:120px}.honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.mapa-container{margin:3rem 0;height:400px;border-radius:20px;overflow:hidden;box-shadow:0 15px 50px rgba(0,0,0,.1)}.mapa-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--azul-principal),var(--violeta));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;font-weight:600}#mapa-frame{width:100%;height:100%;border:none}.placeholder-info{background:var(--gris-claro);padding:2rem;border-radius:15px;margin:2rem 0;border-left:6px solid var(--dorado)}.placeholder-info h3{color:var(--negro-suave);margin-bottom:1rem}.faq-container{max-width:900px;margin:0 auto}.faq-item{margin-bottom:1rem;border:2px solid var(--gris-medio);border-radius:15px;overflow:hidden;transition:all .3s ease}.faq-item:hover{border-color:var(--azul-principal)}.faq-question{background:#fff;padding:1.5rem 2rem;font-weight:600;color:var(--negro-suave);cursor:pointer;user-select:none;font-size:1.1rem;display:flex;justify-content:space-between;align-items:center;transition:background .3s ease}.faq-question:hover{background:var(--gris-claro)}.faq-question::after{content:'+';font-size:1.5rem;color:var(--azul-principal);transition:transform .3s ease}.faq-question[aria-expanded=true]::after{transform:rotate(45deg)}.faq-answer{padding:0 2rem 1.5rem;border-top:1px solid var(--gris-medio);display:none;background:var(--gris-claro);color:var(--gris);line-height:1.6}.faq-answer.active{display:block}.galeria{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin:3rem 0}.galeria img{width:100%;height:280px;object-fit:cover;border-radius:15px;box-shadow:0 10px 30px rgba(0,0,0,.1);transition:transform .3s ease}.galeria img:hover{transform:scale(1.05)}.footer{background:var(--negro-suave);color:#fff;padding:4rem 3rem 3rem;text-align:center}.footer-content{max-width:1400px;margin:0 auto}.footer-links{display:flex;justify-content:center;gap:3rem;margin-bottom:2rem;flex-wrap:wrap}.footer-links a{color:#fff;text-decoration:none;font-weight:500;transition:color .3s ease}.footer-links a:hover{color:var(--azul-principal)}.footer-disclaimer{font-size:.95rem;opacity:.8;margin-top:2rem;font-style:italic;line-height:1.6;max-width:800px;margin-left:auto;margin-right:auto}@media (max-width:1024px){.header-content{padding:0 2rem}.nav{gap:2rem}.section{padding:4rem 2rem}}@media (max-width:768px){.nav{display:none}.header-content{justify-content:center}.cards-grid{grid-template-columns:1fr;gap:2rem}.metodologia-steps{grid-template-columns:1fr}.section{padding:3rem 1.5rem}.hero-content{padding:2rem 1.5rem}.form-container{margin:0 1rem;padding:2rem}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}html{scroll-behavior:auto}}@media (prefers-contrast:high){:root{--azul-principal:#0066cc;--negro-suave:#000000;--gris:#333333}}.js-focus-visible :focus:not(.focus-visible){outline:0}