@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700;800&display=swap');
:root{--navy:#0b1b2a;--navy-2:#13243a;--ink:#eaf0f7;--muted:#b9c2cf;--coral:#ff6b6b;--border:rgba(255,255,255,.08)}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Poppins,system-ui,sans-serif;background:linear-gradient(180deg,var(--navy-2),var(--navy));color:var(--ink)}
.container{max-width:1140px;margin:0 auto;padding:0 16px}
.main-header{position:sticky;top:0;background:var(--navy);border-bottom:1px solid var(--border);z-index:10}
.nav-container{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo{display:flex;gap:10px;align-items:center}.logo img{height:36px}.logo-text{font-weight:800;font-size:26px;letter-spacing:.5px;color:var(--coral)}
.nav-menu{display:flex;gap:36px;list-style:none;margin:0;padding:0}.nav-menu a{color:#dbe5f2;text-decoration:none;font-weight:600}.nav-menu a:hover{color:#fff}
.theme-toggle{background:none;border:1px solid var(--border);color:#fff;border-radius:12px;padding:8px 10px;cursor:pointer}
/* HERO compacto con canvas animado */
.hero-section {
  position: relative;
  min-height: 68vh;   /* más compacto */
  padding-top: clamp(48px, 8vh, 80px);
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #0e1924;  /* sólido, sin imagen estática */
}

#energyGrid {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  opacity: 0.45;
}

.hero-section > *:not(#energyGrid) {
  position: relative;
  z-index: 1;
  text-align: center;
}

.hero-content h1 {
  font-size: 48px;
  margin-bottom: 16px;
  color: #fff;
}

.hero-content p {
  color: #cfe3ff;
  font-size: 18px;
  margin-bottom: 24px;
}

.hero-content .btn-primary {
  background: #ff6b6b;
  color: #fff;
  padding: 12px 24px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
}
.hero-content .btn-primary:hover {
  background: #ff4b4b;
}

.cta-link{display:inline-block;background:var(--coral);color:#0b1220;text-decoration:none;padding:12px 18px;border-radius:10px;font-weight:800}
.section-title{text-align:center;margin:40px 0 6px 0;font-size:28px}.section-subtitle{text-align:center;color:#cbd5e1;margin:0 0 26px}
.services-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.service-card{background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:14px;transition:.2s;overflow:hidden}
.service-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.service-card-inner{padding:18px}.service-icon{font-size:22px;background:rgba(255,107,107,.2);color:#ffd1d1;border-radius:10px;display:inline-grid;place-items:center;width:44px;height:44px;margin-bottom:10px}
.service-description{color:#cbd5e1;margin:0 0 10px}.service-features{padding-left:18px;margin:0}.service-features li{margin:4px 0}
.quality-section{padding:24px 0}.quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1140px;margin:0 auto;padding:0 16px}
.stat-item{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.02);border:1px solid var(--border);padding:12px;border-radius:12px}.stat-icon{font-size:18px;color:var(--coral)}.stat-number{font-weight:800}
.feature-item{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.02);border:1px solid var(--border);padding:12px;border-radius:12px;margin-bottom:10px}.feature-icon{font-size:18px;color:#34d399}
.testimonials-section{padding:20px 0}.testimonials-slider{position:relative;overflow:hidden;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.02)}
.testimonials-track{display:flex;transition:transform .35s ease}.testimonial-slide{min-width:100%;padding:18px}.testimonial-card{display:flex;gap:14px}
.quote-icon{color:var(--coral);font-size:20px}.testimonial-author{display:flex;gap:12px;align-items:center;margin-top:8px}
.author-image img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--coral)}
.testimonial-nav{display:flex;gap:10px;align-items:center;justify-content:center;padding:6px}.testimonial-dot{width:8px;height:8px;border-radius:50%;background:#4b5563}.testimonial-dot.active{background:var(--coral)}.testimonial-arrow{background:none;border:1px solid var(--border);color:#fff;border-radius:10px;padding:6px 10px;cursor:pointer}
.team-section .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.member-card{position:relative;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.02)}
.member-image img{width:100%;height:240px;object-fit:cover}.member-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.65));opacity:.7}.member-info{position:absolute;left:12px;right:12px;bottom:10px}.member-info h3{margin:0 0 4px 0}
.contact-section{padding:22px 0}.contact-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:20px}.info-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:rgba(255,255,255,.02)}
.contact-form .form-group{position:relative;margin-bottom:12px}.contact-form input,.contact-form textarea{width:100%;padding:12px;border:1px solid var(--border);background:var(--navy);color:#fff;border-radius:10px}.contact-form label{position:absolute;left:12px;top:-8px;background:var(--navy);padding:0 6px;font-size:12px;color:#cbd5e1}
.submit-btn{display:inline-flex;gap:8px;align-items:center;background:var(--coral);border:none;color:#0b1220;padding:10px 16px;border-radius:10px;cursor:pointer;font-weight:800}
.main-footer{border-top:1px solid var(--border);margin-top:26px;padding:16px 0;background:var(--navy)}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.footer-section h3{margin:0 0 8px 0}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section a{color:#cbd5e1;text-decoration:none}.footer-bottom{text-align:center;color:#cbd5e1;margin-top:10px}
.notification-container{position:fixed;top:14px;right:14px;z-index:1000}.toast{background:#111827;border:1px solid var(--border);padding:10px 14px;border-radius:10px;margin-bottom:8px;color:#fff}
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1000}.modal-content{background:var(--navy);color:#fff;max-width:720px;margin:80px auto;padding:16px;border-radius:12px;border:1px solid var(--border)}.close-modal{float:right;cursor:pointer}
@media (max-width:900px){.services-grid{grid-template-columns:repeat(2,1fr)}.quality-grid{grid-template-columns:1fr}.team-section .team-grid{grid-template-columns:repeat(2,1fr)}.contact-wrapper{grid-template-columns:1fr}}
@media (max-width:520px){.services-grid{grid-template-columns:1fr}.team-section .team-grid{grid-template-columns:1fr}}