*{margin:0;padding:0;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif}
body{color:#1e1e1e;background:#f5f5f5}
.container{max-width:1200px;margin:auto;padding:20px}
.header{position:sticky;top:0;background:#fff;color:#0a2a5a;box-shadow:0 2px 6px rgba(0,0,0,.1);overflow:hidden}
.header::before{content:"";position:absolute;top:0;left:0;width:100%;height:10px;background:linear-gradient(to right,#facc15,#f97316,#ef4444,#d946ef,#7c3aed,#1e3a8a);z-index:-1;}
.header::after{content:"";position:absolute;top:0;left:-20%;width:40%;height:6px;background:linear-gradient(to right,transparent,rgba(255,255,255,.9),transparent);
filter:blur(4px);animation:laser 3s linear infinite alternate;}
@keyframes laser{0%{left:-40%}100%{left:100%}}
.header-content{display:flex;align-items:center;justify-content:space-between;padding:10px 20px}
.logo{height:100px}
.nav a{color:#0a2a5a;margin-left:20px;text-decoration:none;font-weight:bold;padding:6px 10px;border-radius:4px;transition:.2s}
.nav a:hover{background:#0a2a5a;color:#fff}
.hero{background:linear-gradient(to bottom right,#0e6eff,#0255ad,#01306ed7);
color:#fff;padding:80px 20px;text-align:center;position:relative;overflow:hidden;}
.hero::after{content:"";position:absolute;bottom:0;left:0;width:40%;height:8px;background:linear-gradient(to right,transparent,rgba(135, 253, 25, 0.9),transparent);
filter:blur(4px);animation:laserKnight 2s linear infinite alternate;}
@keyframes laserKnight{0%{left:0%}100%{left:60%}}
.hero h1{font-size:42px;margin-bottom:10px}
.hero p{font-size:20px;margin-bottom:20px}
.btn{display:inline-block;background:#dfbe3d;color:#000;padding:12px 25px;border-radius:6px;text-decoration:none;font-weight:bold;transition:.2s}
.btn:hover{background:#ffc904}
.servicios h2,.solar h2,.horario h2,.galeria h2,.equipo h2{text-align:center;margin-bottom:20px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.servicio,.equipo .grid div{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.1);text-align:center;font-weight:bold}
.solar-foto img{width:100%;max-width:1200px;margin:auto;display:block;border-radius:12px}
.solar-texto h2{text-align:center;margin-bottom:20px;color:#0a2a5a}
.solar-p{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 6px rgba(0,0,0,.1);margin-bottom:15px;line-height:1.6;font-size:16px}
.solar-eu img{width:100%;max-width:1200px;margin:auto;display:block;border-radius:12px}
.horario{text-align:center;padding:40px 0}
.galeria img{width:100%;border-radius:8px}
.mapa iframe{border:0;border-radius:8px}
.fondo-eu img{width:100%;max-width:1200px;margin:auto;display:block;border-radius:12px}
.footer{background:#0a2a5a;color:#fff;text-align:center;padding:20px;margin-top:40px}
.footer a{color:#facc15;text-decoration:none}
.navidad{display:none;text-align:center;margin:40px 0}
.navidad img{max-width:400px;width:100%;border-radius:12px}
.contacto h1{text-align:center;margin-bottom:20px;color:#0a2a5a}
.contact-card{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 6px rgba(0,0,0,.1);text-align:center}
.contact-card h3{margin-bottom:10px}
.legal h1{text-align:center;margin-bottom:20px;color:#0a2a5a}
.legal-p{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 6px rgba(0,0,0,.1);margin-bottom:15px;line-height:1.6}
.contacto-azul{background:linear-gradient(to bottom right,#075fda,#141c26);
padding:60px 0;margin:40px 0;}
.contacto-box{background:rgba(21, 22, 56, 0.08);backdrop-filter:blur(6px);
padding:35px;border-radius:14px;box-shadow:0 4px 14px rgba(199, 243, 97, 0.35);
text-align:center;max-width:650px;margin:auto;}
.contacto-box h2{color:#fff;margin-bottom:20px;font-size:28px;}
.contacto-box p{color:#fff;font-size:20px;margin-bottom:12px;}
.contacto-box a{color:#facc15;font-weight:bold;text-decoration:none;}
.taller-hero{background:linear-gradient(to bottom right,#006aff,#141c26);padding:60px 0;text-align:center;color:#fff}
.taller-hero h1{font-size:36px;margin-bottom:10px}
.taller-hero p{font-size:20px;opacity:.9}
.taller-galeria h2,.taller-servicios h2,.taller-equipo h2{text-align:center;margin-bottom:25px}
.taller-galeria .grid,.taller-servicios .grid,.taller-equipo .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.taller-galeria img{width:100%;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.25);transition:.3s}
.taller-galeria img:hover{transform:scale(1.03)}
.card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.15);text-align:center}
.card h3{margin-bottom:10px;color:#0a2a5a}
.taller-equipo div{text-align:center;background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.taller-equipo a{color:#0a2a5a;font-weight:bold;text-decoration:none}
#contacto-azul{scroll-margin-top:120px}
.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.85);
display:flex;align-items:center;justify-content:center;z-index:99;}
.modal img{max-width:100%;max-height:100%;border-radius:10px;box-shadow:0 0 20px rgba(255,255,255,.3);}
.oculto{display:none}
@media(max-width:768px){.header-content{flex-direction:column}.logo{margin-bottom:15px}.solar-grid{grid-template-columns:1fr}}