/* ==== Variables y reset */
:root{
  --primary:#0047AB; --accent:#FF7E43;
  --dark:#0b1220; --light:#ffff; --bg:#f6f7fb;
  --text:#171717; --muted:#eef1f6; --border:#e6e8ee;
  --radius:14px; --shadow:0 14px 34px rgba(2,14,48,.10);
  --t: .25s ease;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--light);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;display:block}
a{color:var(--primary);text-decoration:none}
a:hover{color:#003b8f}
.container{max-width:1200px;margin:0 auto;padding:0 16px}

/* ==== Utilidades */
.section{padding:92px 0}
.bg-light{background:var(--bg)}
.section-title{text-align:center;margin-bottom:42px}
.section-title h2{display:inline-block;margin-bottom:10px;padding-bottom:10px;position:relative}
.section-title h2::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:86px;height:3px;background:var(--primary)}
.btn{display:inline-block;background:var(--primary);color:#fff;border:2px solid var(--primary);padding:12px 26px;border-radius:10px;font-weight:700;letter-spacing:.3px;transition:all var(--t);cursor:pointer}
.btn:hover{background:transparent;color:var(--primary)}
.btn-outline{background:transparent;color:#fff;border-color:#fff}
.btn-outline:hover{background:#fff;color:#0b1220}
.btn-small{padding:10px 14px;font-weight:700}
.w-full{display:block;width:100%;text-align:center}

/* ==== Botón de cotizar mejorado */
.btn-quote{
  background:linear-gradient(135deg, #FF7E43, #FF6B35);
  color:#fff;
  border:2px solid #FF7E43;
  box-shadow:0 4px 15px rgba(255,126,67,0.3);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.btn-quote:hover{
  background:linear-gradient(135deg, #FF6B35, #FF5722);
  color:#fff;
  border-color:#FF5722;
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(255,126,67,0.4);
}

/* ==== Preloader */
.preloader{position:fixed;inset:0;background:#fff;display:grid;place-items:center;z-index:9999}
.preloader-spinner{width:56px;height:56px;border:4px solid var(--muted);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}
.preloader-hide{opacity:0;visibility:hidden;transition:opacity .3s ease}
@keyframes spin{to{transform:rotate(360deg)}}

/* ==== Header */
.header{position:fixed;inset:0 0 auto 0;background:transparent;transition:background var(--t), box-shadow var(--t), padding var(--t);z-index:1000;padding:16px 0}
.header.scrolled{background:#fff;box-shadow:var(--shadow)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo img{height:52px}
.nav-menu{display:flex;align-items:center;gap:26px}
.nav-menu a{display:inline-block;padding:8px 0;font-weight:700;color:#0a0a0a;position:relative}
.nav-menu a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--primary);transition:width var(--t)}
.nav-menu a:hover::after,.nav-menu a:focus::after{width:100%}
.mobile-nav-toggle{display:none;font-size:26px;border:0;background:transparent;cursor:pointer}

/* ==== Mobile drawer */
.mobile-nav{position:fixed;top:0;right:-340px;width:320px;height:100dvh;background:#fff;box-shadow:-14px 0 40px rgba(0,0,0,.12);padding:80px 24px;transition:right var(--t);z-index:1001}
.mobile-nav.active{right:0}
.mobile-nav-close{position:absolute;top:18px;right:18px;font-size:22px;background:transparent;border:0;cursor:pointer}
.mobile-nav ul{display:grid;gap:12px}
.mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--border);color:#111}

/* Overlay del menú móvil */
.mobile-nav-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1000;
  display:none;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s ease, visibility .2s ease;
}
.mobile-nav-overlay.is-open{display:block;opacity:1;visibility:visible;pointer-events:auto;}
.mobile-nav-overlay[hidden]{display:none !important;opacity:0 !important;visibility:hidden !important}

/* ==== Hero con video */
.hero{
  position:relative;min-height:100vh;display:grid;place-items:center;
  background:var(--dark);color:#fff;overflow:hidden
}
/* Video como fondo, cubriendo toda el área */
.hero-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  z-index:0;pointer-events:none; /* no atrapa clics */
}
/* Si hay video, ocultamos la imagen de respaldo */
.hero-video + .hero-bg{display:none;}
/* Imagen de respaldo (cuando no hay video disponible) */
.hero-bg{
  position:absolute;inset:0;background:url('assets/img/hero/cover.jpg') center/cover no-repeat;
  opacity:.28;pointer-events:none;z-index:0
}
/* Overlay para contraste del texto */
.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(7,12,28,.18), rgba(7,12,28,.35));
  pointer-events:none
}
/* Contenido encima del todo */
.hero-content{position:relative;z-index:2;text-align:center;max-width:980px;padding:0 8px}
.hero h1{font-size:clamp(34px,6.3vw,60px);line-height:1.08;margin-bottom:16px}
.hero p{font-size:clamp(16px,2.2vw,19px);opacity:.96;margin-bottom:22px}
.hero .btn{margin:0 8px}
.hero-kpis{display:flex;gap:14px;justify-content:center;margin-top:18px;flex-wrap:wrap}
.hero-kpis .kpi{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);padding:10px 14px;border-radius:10px}
.hero-kpis strong{font-size:22px}
.scroll-down{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:28px;color:#fff;animation:bounce 2s infinite;z-index:2}
@keyframes bounce{20%{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-12px)}60%{transform:translateX(-50%) translateY(-6px)}}

/* ==== Tarjetas y grillas */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;transition:transform var(--t), box-shadow var(--t)}
.card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,0,0,.14)}
.card-icon{width:64px;height:64px;border-radius:12px;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:28px;margin-bottom:12px;box-shadow:var(--shadow)}
.card-link{font-weight:800;position:relative}
.card-link::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--primary);transition:width var(--t)}
.card-link:hover::after{width:100%}
.list{margin:10px 0 0 16px;display:grid;gap:6px}

/* ==== Soluciones */
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}

/* ==== Flota - Slider AUTOMÁTICO a pantalla completa */
.fleet-section{
  padding:92px 0 0 0;
}

.fleet-slider{
  position:relative;
  width:100vw;
  height:80vh;
  margin-left:calc(-50vw + 50%);
  overflow:hidden;
  background:#000;
}

.fleet-track{
  display:flex;
  height:100%;
  transition:transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.fleet-slide{
  min-width:100%;
  height:100%;
  position:relative;
  overflow:hidden;
}

.fleet-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform 0.8s ease;
}

/* Indicadores del slider */
.fleet-dots{
  position:absolute;
  bottom:30px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:12px;
  z-index:10;
}

.fleet-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:rgba(255,255,255,0.5);
  border:none;
  cursor:pointer;
  transition:all 0.3s ease;
}

.fleet-dot.active{
  background:rgba(255,255,255,1);
  transform:scale(1.2);
}

/* ==== Parallax backgrounds */
.parallax-bg{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:url('assets/camion.png') center/cover no-repeat;
  opacity:0.05;
  z-index:0;
  pointer-events:none;
}

/* ==== Industrias mejoradas */
.industries-section{
  position:relative;
  overflow:hidden;
}

.industries-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  position:relative;
  z-index:1;
}

.industry-card{
  background:rgba(255,255,255,0.95);
  border:1px solid var(--border);
  border-radius:16px;
  padding:32px 24px;
  text-align:center;
  transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  backdrop-filter:blur(10px);
  position:relative;
  overflow:hidden;
}

.industry-card::before{
  content:'';
  position:absolute;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
  transition:left 0.6s ease;
}

.industry-card:hover::before{
  left:100%;
}

.industry-card:hover{
  transform:translateY(-12px) scale(1.02);
  box-shadow:0 20px 40px rgba(0,71,171,0.15);
  border-color:var(--primary);
}

.industry-icon{
  font-size:48px;
  margin-bottom:16px;
  display:block;
  transition:transform 0.3s ease;
}

.industry-card:hover .industry-icon{
  transform:scale(1.2) rotate(5deg);
}

.industry-card h5{
  margin-bottom:12px;
  color:var(--primary);
  font-weight:700;
}

/* ==== Proceso mejorado */
.process-section{
  background:linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  position:relative;
}

.timeline{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:20px;
  position:relative;
}

.timeline::before{
  content:'';
  position:absolute;
  top:50%;
  left:10%;
  right:10%;
  height:3px;
  background:linear-gradient(90deg, var(--primary), var(--accent));
  transform:translateY(-50%);
  z-index:0;
}

.timeline-item{
  background:#fff;
  border:2px solid var(--border);
  border-radius:16px;
  padding:24px 20px;
  text-align:center;
  position:relative;
  z-index:1;
  transition:all 0.4s ease;
}

.timeline-item:hover{
  transform:translateY(-8px);
  box-shadow:0 15px 35px rgba(0,71,171,0.15);
  border-color:var(--primary);
}

.timeline-number{
  width:50px;
  height:50px;
  background:linear-gradient(135deg, var(--primary), var(--accent));
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:bold;
  font-size:18px;
  margin:0 auto 16px;
  transition:transform 0.3s ease;
}

.timeline-item:hover .timeline-number{
  transform:scale(1.1) rotate(360deg);
}

.timeline-content h6{
  margin-bottom:8px;
  color:var(--primary);
  font-weight:700;
}

/* ==== Seguridad mejorada */
.security-section{
  position:relative;
  background:linear-gradient(135deg, #0b1220 0%, #1e3a8a 100%);
  color:#fff;
  overflow:hidden;
}

.security-section .section-title h2,
.security-section .section-title p{
  color:#fff;
}

.security-section .section-title h2::after{
  background:#fff;
}

.security-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px;
  position:relative;
  z-index:1;
}

.security-card{
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.2);
  border-radius:20px;
  padding:32px 24px;
  text-align:center;
  backdrop-filter:blur(15px);
  transition:all 0.4s ease;
  position:relative;
  overflow:hidden;
}

.security-card::before{
  content:'';
  position:absolute;
  top:-50%;
  left:-50%;
  width:200%;
  height:200%;
  background:radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
  opacity:0;
  transition:opacity 0.4s ease;
}

.security-card:hover::before{
  opacity:1;
}

.security-card:hover{
  transform:translateY(-10px);
  background:rgba(255,255,255,0.15);
  border-color:rgba(255,255,255,0.4);
  box-shadow:0 20px 40px rgba(0,0,0,0.3);
}

.security-icon{
  font-size:56px;
  margin-bottom:20px;
  display:block;
  transition:transform 0.3s ease;
}

.security-card:hover .security-icon{
  transform:scale(1.2);
}

.security-card h4{
  margin-bottom:16px;
  color:#fff;
  font-weight:700;
}

.security-card p{
  color:rgba(255,255,255,0.9);
}

/* ==== Cobertura */
.coverage{display:grid;grid-template-columns:1.4fr .6fr;gap:18px;align-items:center}
.coverage-map{height:420px;border-radius:12px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);background:#fff}
.coverage-map iframe{width:100%;height:100%;border:0;display:block}

/* ==== Testimonios mejorados */
.testimonials-container{position:relative}
.testimonial-track{display:flex;gap:24px;scroll-behavior:smooth;overflow:hidden}
.testimonial-item{
  min-width:calc(33.333% - 16px);
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:32px 24px;
  box-shadow:var(--shadow);
  transition:all 0.4s ease;
  text-align:center;
}
.testimonial-item:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 40px rgba(0,71,171,0.15);
}
.testimonial-content{
  margin-bottom:24px;
}
.testimonial-content p{
  font-style:italic;
  font-size:18px;
  line-height:1.6;
  color:var(--text);
  position:relative;
}
.testimonial-content p::before{
  content:'"';
  font-size:48px;
  color:var(--primary);
  position:absolute;
  top:-10px;
  left:-20px;
  font-family:serif;
}
.testimonial-info h5{
  margin:0 0 4px;
  color:var(--primary);
  font-weight:700;
}
.testimonial-info span{
  color:#666;
  font-size:14px;
}
.testimonials-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
.testimonials-dots button{width:10px;height:10px;border-radius:50%;border:0;background:#cfd5df;cursor:pointer}
.testimonials-dots button[aria-current="true"]{background:var(--primary)}

/* ==== CTA SUPER MEJORADO 1000% */
.cta-super{
  position:relative;
  background:linear-gradient(135deg, #0b1220 0%, #1e3a8a 50%, #0047AB 100%);
  color:#fff;
  padding:80px 0;
  overflow:hidden;
}

.cta-bg-pattern{
  position:absolute;
  inset:0;
  background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
  opacity:0.3;
  animation:patternMove 20s linear infinite;
}

@keyframes patternMove{
  0%{transform:translateX(0) translateY(0);}
  100%{transform:translateX(10px) translateY(10px);}
}

.cta-super-inner{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:1000px;
  margin:0 auto;
  padding:0 20px;
}

.cta-header{
  margin-bottom:50px;
}

.cta-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:linear-gradient(135deg, #FF7E43, #FF6B35);
  color:#fff;
  padding:12px 24px;
  border-radius:50px;
  font-weight:700;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:20px;
  animation:badgePulse 2s ease-in-out infinite;
}

@keyframes badgePulse{
  0%, 100%{transform:scale(1);}
  50%{transform:scale(1.05);}
}

.cta-badge-icon{
  font-size:18px;
  animation:iconSpin 3s linear infinite;
}

@keyframes iconSpin{
  0%{transform:rotate(0deg);}
  100%{transform:rotate(360deg);}
}

.cta-header h2{
  font-size:clamp(32px, 5vw, 56px);
  font-weight:900;
  line-height:1.1;
  margin-bottom:16px;
  background:linear-gradient(135deg, #fff, #e0e7ff);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

.cta-subtitle{
  font-size:clamp(18px, 2.5vw, 24px);
  opacity:0.9;
  margin-bottom:40px;
}

.cta-benefits{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:24px;
  margin-bottom:40px;
}

.cta-benefit{
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.2);
  border-radius:16px;
  padding:24px 16px;
  backdrop-filter:blur(10px);
  transition:all 0.3s ease;
}

.cta-benefit:hover{
  transform:translateY(-5px);
  background:rgba(255,255,255,0.15);
  border-color:rgba(255,255,255,0.3);
}

.cta-benefit-icon{
  font-size:32px;
  margin-bottom:12px;
  display:block;
}

.cta-benefit-content h4{
  font-size:18px;
  font-weight:700;
  margin-bottom:4px;
}

.cta-benefit-content p{
  font-size:14px;
  opacity:0.8;
}

.cta-urgency{
  background:linear-gradient(135deg, #FF6B35, #FF5722);
  border-radius:12px;
  padding:20px;
  margin-bottom:40px;
  position:relative;
  overflow:hidden;
}

.cta-urgency::before{
  content:'';
  position:absolute;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  animation:urgencyShine 3s ease-in-out infinite;
}

@keyframes urgencyShine{
  0%{left:-100%;}
  50%{left:100%;}
  100%{left:100%;}
}

.cta-urgency-text{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:700;
  font-size:16px;
  margin-bottom:8px;
}

.cta-urgency-icon{
  font-size:20px;
  animation:urgencyBlink 1s ease-in-out infinite;
}

@keyframes urgencyBlink{
  0%, 50%{opacity:1;}
  25%, 75%{opacity:0.5;}
}

.cta-countdown{
  font-size:14px;
  opacity:0.9;
}

.cta-actions{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  margin-bottom:40px;
}

.btn-cta-primary{
  background:linear-gradient(135deg, #25D366, #128C7E);
  color:#fff;
  border:none;
  padding:20px 40px;
  border-radius:16px;
  font-size:18px;
  font-weight:800;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:12px;
  transition:all 0.3s ease;
  box-shadow:0 8px 25px rgba(37,211,102,0.4);
  position:relative;
  overflow:hidden;
}

.btn-cta-primary::before{
  content:'';
  position:absolute;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition:left 0.5s ease;
}

.btn-cta-primary:hover::before{
  left:100%;
}

.btn-cta-primary:hover{
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 12px 35px rgba(37,211,102,0.6);
  color:#fff;
}

.btn-cta-icon{
  font-size:24px;
}

.btn-cta-text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.btn-cta-text strong{
  font-size:18px;
  line-height:1.2;
}

.btn-cta-text small{
  font-size:12px;
  opacity:0.8;
  font-weight:400;
}

.btn-cta-secondary{
  background:rgba(255,255,255,0.1);
  color:#fff;
  border:2px solid rgba(255,255,255,0.3);
  padding:16px 32px;
  border-radius:12px;
  font-size:16px;
  font-weight:600;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:all 0.3s ease;
}

.btn-cta-secondary:hover{
  background:rgba(255,255,255,0.2);
  border-color:rgba(255,255,255,0.5);
  transform:translateY(-2px);
  color:#fff;
}

.cta-trust{
  display:flex;
  justify-content:center;
  gap:32px;
  flex-wrap:wrap;
}

.cta-trust-item{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  opacity:0.8;
}

.cta-trust-icon{
  font-size:16px;
}

/* ==== CTA Original (mantener para compatibilidad) */
.cta{background:linear-gradient(135deg,#0b1220,#0e2d78);color:#fff}
.cta-inner{display:grid;gap:12px;align-items:center;text-align:center;padding:40px 0}
.btn-light{background:#fff;color:#0b1220;border-color:#fff}
.btn-light:hover{background:transparent;color:#fff}

/* ==== FAQ mejorado */
.faq-section{
  background:linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.faq-container{
  max-width:800px;
  margin:0 auto;
}

.faq-item{
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  margin-bottom:16px;
  overflow:hidden;
  transition:all 0.3s ease;
}

.faq-item:hover{
  box-shadow:0 8px 25px rgba(0,71,171,0.1);
  transform:translateY(-2px);
}

.faq-question{
  width:100%;
  padding:24px;
  background:none;
  border:none;
  text-align:left;
  font-size:18px;
  font-weight:600;
  color:var(--text);
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  transition:all 0.3s ease;
}

.faq-question:hover{
  color:var(--primary);
}

.faq-icon{
  font-size:24px;
  font-weight:300;
  color:var(--primary);
  transition:transform 0.3s ease;
}

.faq-question[aria-expanded="true"] .faq-icon{
  transform:rotate(45deg);
}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.3s ease, padding 0.3s ease;
}

.faq-answer.active{
  max-height:200px;
  padding:0 24px 24px;
}

.faq-answer p{
  color:#666;
  line-height:1.6;
}

/* ==== Contacto mejorado */
.contact-container{display:grid;grid-template-columns:1fr 1.1fr;gap:32px;align-items:start}
.contact-info h3,.contact-whatsapp h3{margin-bottom:12px}
.contact-info-item{display:flex;gap:12px;margin:14px 0}
.contact-info-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff}
.contact-cert{margin-top:12px;color:#5c667a;display:flex;gap:8px;align-items:center}

.contact-whatsapp{
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:32px;
  box-shadow:var(--shadow);
  text-align:center;
}

.contact-whatsapp p{
  margin-bottom:24px;
  color:#666;
  line-height:1.6;
}

.btn-whatsapp{
  background:linear-gradient(135deg, #25D366, #128C7E);
  color:#fff;
  border:2px solid #25D366;
  padding:16px 32px;
  font-size:18px;
  font-weight:700;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  transition:all 0.3s ease;
  text-decoration:none;
}

.btn-whatsapp:hover{
  background:linear-gradient(135deg, #128C7E, #075E54);
  transform:translateY(-2px);
  box-shadow:0 8px 25px rgba(37,211,102,0.3);
  color:#fff;
}

/* ==== Footer mejorado */
.footer{background:#0b1220;color:#cfd5df;padding-top:64px}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;margin-bottom:26px}
.footer-widget h4{color:#fff;margin-bottom:10px;font-weight:700}
.footer-widget ul{display:grid;gap:8px}
.footer-widget a{color:#fff;transition:color 0.3s ease}
.footer-widget a:hover{color:var(--accent)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:14px 0;text-align:center}
.footer .credit{color:#fff;font-weight:600}
.footer .credit:hover{color:var(--accent)}

.footer-logo{
  height:62px !important;
  width:auto;
  margin-bottom:16px;
}

/* ==== Flotantes mejorados */
.whatsapp-btn{
  position:fixed;
  right:24px;
  bottom:90px;
  width:60px;
  height:60px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, #25D366, #128C7E);
  color:#fff;
  box-shadow:0 8px 25px rgba(37,211,102,0.4);
  transform:scale(1);
  transition:all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index:900;
  animation:whatsappPulse 2s infinite;
}

.whatsapp-btn:hover{
  transform:scale(1.1);
  box-shadow:0 12px 35px rgba(37,211,102,0.6);
  color:#fff;
}

@keyframes whatsappPulse{
  0%{
    box-shadow:0 8px 25px rgba(37,211,102,0.4), 0 0 0 0 rgba(37,211,102,0.7);
  }
  70%{
    box-shadow:0 8px 25px rgba(37,211,102,0.4), 0 0 0 10px rgba(37,211,102,0);
  }
  100%{
    box-shadow:0 8px 25px rgba(37,211,102,0.4), 0 0 0 0 rgba(37,211,102,0);
  }
}

.back-to-top{position:fixed;right:24px;bottom:24px;width:50px;height:50px;border-radius:12px;border:0;background:var(--primary);color:#fff;font-size:18px;cursor:pointer;box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:all var(--t);z-index:900}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{
  background:var(--accent);
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(0,71,171,0.3);
}

/* ==== Responsive */
@media (max-width:1200px){
  .industries-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .timeline{grid-template-columns:repeat(3,minmax(0,1fr))}
  .timeline::before{display:none;}
  .cta-benefits{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:900px){
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .coverage{grid-template-columns:1fr}
  .testimonial-item{min-width:calc(50% - 12px)}
  .security-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cta-benefits{grid-template-columns:1fr;}
  .cta-actions{flex-direction:column;}
  .cta-trust{gap:16px;}
}

@media (max-width:768px){
  .mobile-nav-toggle{display:inline-block}
  .nav-menu{display:none}
  .industries-grid{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr}
  .contact-container{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr}
  .testimonial-item{min-width:100%}
  .footer-top{grid-template-columns:1fr}
  .security-grid{grid-template-columns:1fr}
  
  .fleet-slider{
    height:60vh;
  }
  
  .whatsapp-btn{
    width:55px;
    height:55px;
    right:20px;
    bottom:80px;
  }
  
  .back-to-top{
    width:45px;
    height:45px;
    right:20px;
  }
  
  .cta-super{padding:60px 0;}
  .cta-header h2{font-size:clamp(28px, 8vw, 40px);}
  .btn-cta-primary{padding:16px 24px; font-size:16px;}
  .btn-cta-text strong{font-size:16px;}
}