:root{
  --bg:#1a1a2e; --accent:#00ff88; --muted:#a0a0a0; --card:#0f0f1e; --container:1100px;
  --radius:10px; --gap:14px; font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  color-scheme: dark;
}
*{box-sizing:border-box}
body{margin:0;background:#000;color:#ffffff;font-size:14px;line-height:1.5;position:relative;-webkit-user-select:none;user-select:none}
button, a, input, textarea{-webkit-user-select:auto;user-select:auto}
.container{max-width:var(--container);margin:0 auto;padding:12px}

/* Header */
.site-header{background:rgba(15,15,30,0.85);backdrop-filter:blur(10px);position:sticky;top:0;z-index:50;padding:10px 0;box-shadow:0 0 20px rgba(0,255,136,0.2),0 2px 8px rgba(0,0,0,0.5);border-bottom:1px solid rgba(0,255,136,0.1)}
.header-inner{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap;padding:0 12px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;min-width:0;cursor:pointer}
.brand-text{min-width:0}
.brand-text strong{display:block;font-size:1rem}
.brand-text small{display:block;color:var(--accent);font-size:.75rem;opacity:0.8}
.logo{flex:0 0 40px;border-radius:8px;overflow:visible;width:40px;height:40px}
.menu-toggle{background:transparent;border:0;padding:6px;display:inline-flex;align-items:center;cursor:pointer;flex:0 0 auto}
.menu-toggle svg{width:20px;height:20px}
.main-nav{display:none;flex-direction:column;gap:8px;align-items:flex-start;width:100%;padding:12px 0;border-top:1px solid #eee;margin-top:8px}
.main-nav a{color:inherit;text-decoration:none;padding:10px 8px;border-radius:8px;width:100%;display:block;font-size:0.95rem;cursor:pointer;transition:all 0.3s ease}
.main-nav .btn-primary{background:var(--accent);color:#111;padding:10px 12px;border-radius:8px;width:auto}

/* Hero */
.hero{background:rgba(0,0,0,0.3);padding:16px 0;border-bottom:1px solid rgba(0,255,136,0.1)}
.hero-inner{display:grid;grid-template-columns:1fr;gap:16px;align-items:center}
.hero-copy h1{margin:0;font-size:1.4rem;line-height:1.3;color:var(--accent);text-shadow:0 0 10px rgba(0,255,136,0.5)}
.hero-copy p{margin:0}
.lead{color:#d0d0d0;margin-top:8px;font-size:0.95rem}
.hero-features{margin:12px 0 0 0;padding:0;list-style:none}
.hero-features li{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px;font-size:0.9rem;color:#e0e0e0}
.hero-features svg{flex:0 0 14px;margin-top:2px}
.hero-media img{width:100%;height:auto;border-radius:12px;display:block;object-fit:cover;max-height:280px}
.hero-ctas{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.btn-primary{background:var(--accent);color:#000;padding:12px 16px;border-radius:10px;text-decoration:none;font-weight:700;font-size:0.95rem;border:0;cursor:pointer;display:inline-block;box-shadow:0 0 15px rgba(0,255,136,0.4);transition:all 0.3s ease}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 25px rgba(0,255,136,0.6)}
.btn-outline{background:transparent;border:1px solid var(--accent);padding:12px 16px;border-radius:10px;text-decoration:none;color:var(--accent);font-size:0.95rem;display:inline-block;transition:all 0.3s ease}
.btn-outline:hover{background:rgba(0,255,136,0.1);box-shadow:0 0 10px rgba(0,255,136,0.3)}

/* 3D Model Viewer */
.contenedor-3d {
  width: 100%;
  height: 280px;
  margin: 12px 0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Section */
.section{padding:20px 0;border-bottom:1px solid rgba(0,255,136,0.05)}
.section h2{margin:0 0 12px 0;font-size:1.3rem;color:var(--accent);text-shadow:0 0 8px rgba(0,255,136,0.3);cursor:default}
.services-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}
.card{background:rgba(15,15,30,0.6);backdrop-filter:blur(5px);padding:12px;border-radius:var(--radius);box-shadow:0 0 15px rgba(0,255,136,0.1);border:1px solid rgba(0,255,136,0.1);cursor:default}
.card h3{margin:8px 0 6px 0;font-size:1rem;color:var(--accent)}
.card p{margin:0;font-size:0.9rem;line-height:1.4;color:#d0d0d0}
.card-ico{width:32px;height:32px;display:block}
.promo{margin-top:12px;font-size:0.95rem;cursor:default}

/* Contact */
.contact-grid{display:grid;gap:12px}
.contact-grid > div{font-size:0.9rem;color:#d0d0d0}
.contact-grid strong{display:block;margin-bottom:4px;font-weight:600;color:var(--accent)}
.contact-grid a{color:var(--accent);text-decoration:none;border-bottom:1px dotted var(--accent);transition:all 0.3s ease}
.contact-grid a:hover{color:#ffffff;text-shadow:0 0 8px rgba(0,255,136,0.4)}
.contact-form{margin-top:0}
.contact-form label{display:block;margin-bottom:10px;font-size:0.9rem}
.contact-form input,
.contact-form textarea{width:100%;padding:10px;border-radius:8px;border:1px solid rgba(0,255,136,0.2);background:rgba(15,15,30,0.8);color:#ffffff;font-size:0.95rem;font-family:inherit}
.contact-form input::placeholder,
.contact-form textarea::placeholder{color:#808080}
.contact-form textarea{resize:vertical;min-height:100px}
.form-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}

/* Map responsive */
.map iframe{width:100%;height:auto;min-height:300px;aspect-ratio:auto 300/400}
@supports (aspect-ratio:auto){
  .map{aspect-ratio:16/9;overflow:hidden}
  .map iframe{height:100%}
}

/* Testimonial */
.testimonials-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}
.testimonial{margin:0;padding:12px;border-left:4px solid var(--accent);font-style:italic;line-height:1.6}

/* Footer */
.site-footer{border-top:1px solid rgba(0,255,136,0.1);padding:12px 0;margin-top:16px;font-size:0.85rem;background:rgba(0,0,0,0.3)}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:0 12px}
.socials{display:flex;gap:10px}
.socials a{display:inline-flex}

/* WhatsApp floating button */
.whatsapp-btn{position:fixed;bottom:20px;right:20px;width:52px;height:52px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,0.15);text-decoration:none;z-index:40;transition:all 0.3s ease}
.whatsapp-btn:hover{transform:scale(1.1);bottom:25px}
.whatsapp-btn img{width:28px;height:28px;object-fit:contain;flex-shrink:0}

/* Responsive: bigger screens */
@media(min-width:720px){
  body{font-size:16px}
  .container{padding:24px}
  .header-inner{gap:14px;flex-wrap:nowrap;padding:0 24px}
  .brand-text strong{font-size:1.1rem}
  .brand-text small{font-size:.85rem}
  .logo{flex:0 0 48px;width:48px;height:48px}
  .main-nav{display:flex;flex-direction:row;align-items:center;gap:12px;border:none;margin:0;padding:0;width:auto}
  .main-nav a{padding:8px;width:auto;display:inline-block;border-top:none;margin:0}
  
  .hero{padding:32px 0}
  .hero-inner{grid-template-columns:1fr 350px;gap:32px;align-items:flex-start}
  .hero-copy h1{font-size:1.8rem}
  .lead{font-size:1rem;margin-top:8px}
  .hero-features li{font-size:0.95rem}
  .hero-ctas{gap:12px}
  
  .contenedor-3d {
    width: 350px;
    height: 300px;
    margin: 0;
    flex-shrink: 0;
  }
  
  .section{padding:32px 0}
  .section h2{font-size:1.6rem;margin-bottom:16px}
  .services-grid{grid-template-columns:repeat(3,1fr);gap:16px}
  .card{padding:16px}
  .card h3{font-size:1.1rem;margin-bottom:8px}
  .card p{font-size:0.95rem}
  
  .testimonials-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  
  .contact-grid{grid-template-columns:1fr 480px;gap:20px}
  .contact-grid > div{font-size:1rem}
  .map{max-height:500px}
  .map iframe{height:100%}
  
  .footer-inner{padding:0 24px}
  
  .whatsapp-btn{width:56px;height:56px}
  .whatsapp-btn img{width:30px;height:30px}
  .whatsapp-btn:hover{bottom:25px}
}
  .footer-inner{font-size:0.9rem}


/* WhatsApp link in nav */
.nav-whatsapp{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:inherit;padding:6px 6px;border-radius:8px;font-size:0.9rem;flex-shrink:0}
.nav-whatsapp img{display:block;width:20px;height:20px;flex-shrink:0;object-fit:contain}
.nav-whatsapp-text{display:none}

@media(min-width:720px){
  .nav-whatsapp{gap:8px;padding:8px}
  .nav-whatsapp img{width:20px;height:20px}
  .nav-whatsapp-text{display:inline-block;font-weight:600;color:var(--muted);font-size:0.95rem}
}

/* Floating WhatsApp button */
.whatsapp-btn{position:fixed;right:12px;bottom:12px;background:#25D366;color:#fff;width:52px;height:52px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(37,211,102,0.3);z-index:120;text-decoration:none;border:0;cursor:pointer;transition:all 0.3s ease;padding:0;flex-shrink:0}
.whatsapp-btn img{width:26px;height:26px;display:block;object-fit:contain}
.whatsapp-btn:active{transform:scale(0.95)}
.whatsapp-btn:hover{box-shadow:0 12px 28px rgba(37,211,102,0.35);transform:translateY(-2px)}

@media(min-width:720px){
  .whatsapp-btn{width:56px;height:56px;right:20px;bottom:20px}
}
