@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800;900&family=Barlow:wght@400;500;600&display=swap');

:root {
  --color-primario: #0d2a6e;
  --color-acento: #f47920;
  --color-verde: #2c8e2c;
  --color-oscuro: #081a45;
  --color-claro: #f5f7fa;
  --color-gris: #6b7280;
  --font-titulo: 'Barlow Condensed', sans-serif;
  --font-cuerpo: 'Barlow', sans-serif;
  --sombra: 0 4px 24px rgba(13,42,110,0.1);
  --sombra-hover: 0 12px 40px rgba(13,42,110,0.2);
  --radio: 10px;
  --transicion: all 0.3s ease;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-cuerpo); color: #1a1a2e; background: #fff; overflow-x: hidden; }
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }

/* NAVBAR */
.navbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 5%; height: 72px;
  transition: var(--transicion);
}
.navbar.scrolled {
  background: rgba(8,26,69,0.97);
  box-shadow: 0 2px 20px rgba(0,0,0,0.3);
  backdrop-filter: blur(10px);
}
.nav-logo img { height: 72px; max-width: 220px; object-fit: contain; transition: var(--transicion); }
.navbar.scrolled .nav-logo img { height: 60px; }
.nav-links { display: flex; align-items: center; gap: 2rem; }
.nav-links a {
  font-family: var(--font-titulo); font-weight: 600; font-size: 1rem;
  color: #fff; letter-spacing: 0.5px; padding: 4px 0;
  border-bottom: 2px solid transparent; transition: var(--transicion);
}
.nav-links a:hover, .nav-links a.active { border-bottom-color: var(--color-acento); color: var(--color-acento); }
.nav-cta {
  background: var(--color-acento) !important; color: #fff !important;
  padding: 10px 22px !important; border-radius: 50px !important;
  border-bottom: none !important; font-weight: 700 !important;
  box-shadow: 0 4px 15px rgba(244,121,32,0.4);
}
.nav-cta:hover { background: #d96a10 !important; transform: translateY(-1px); }
.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; }
.hamburger span { display: block; width: 26px; height: 2px; background: #fff; transition: var(--transicion); border-radius: 2px; }
.hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.hamburger.active span:nth-child(2) { opacity: 0; }
.hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

/* HERO */
.hero {
  position: relative; min-height: 100vh;
  display: flex; align-items: center;
  overflow: hidden; background: var(--color-oscuro);
}
.hero-bg {
  position: absolute; inset: 0;
  background-image: url('../img/hero.webp');
  background-size: cover; background-position: center 30%;
  animation: heroZoom 8s ease-out forwards;
}
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(8,26,69,0.9) 50%, rgba(8,26,69,0.25) 100%);
}
@keyframes heroZoom { from { transform: scale(1.08); } to { transform: scale(1); } }
.hero-content {
  position: relative; z-index: 2; padding: 0 5%;
  padding-top: 72px; max-width: 700px;
  animation: fadeUp 1s 0.3s both;
}
.hero-badge-pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(244,121,32,0.15); border: 1px solid rgba(244,121,32,0.5);
  color: var(--color-acento); padding: 6px 16px; border-radius: 50px;
  font-family: var(--font-titulo); font-size: 0.82rem; font-weight: 700;
  letter-spacing: 1px; text-transform: uppercase; margin-bottom: 1.5rem;
}
.dot-pulse { width: 8px; height: 8px; background: var(--color-acento); border-radius: 50%; animation: pulso 1.5s infinite; }
.hero h1 {
  font-family: var(--font-titulo); font-weight: 900;
  font-size: clamp(2.8rem, 5.5vw, 5rem);
  line-height: 1.05; color: #fff; margin-bottom: 1rem; text-transform: uppercase;
}
.hero h1 .ac { color: var(--color-acento); }
.hero h1 .vd { color: #5edb5e; }
.hero-sub { font-size: 1.05rem; color: rgba(255,255,255,0.8); max-width: 460px; line-height: 1.65; margin-bottom: 2rem; }
.hero-btns { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 3rem; }
.btn-primary {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--color-acento); color: #fff;
  padding: 14px 28px; border-radius: 50px;
  font-family: var(--font-titulo); font-weight: 700; font-size: 1.05rem;
  transition: var(--transicion); box-shadow: 0 6px 24px rgba(244,121,32,0.45);
}
.btn-primary:hover { background: #d96a10; transform: translateY(-2px); }
.btn-secondary {
  display: inline-flex; align-items: center; gap: 8px;
  background: transparent; color: #fff;
  padding: 14px 28px; border-radius: 50px; border: 2px solid rgba(255,255,255,0.5);
  font-family: var(--font-titulo); font-weight: 700; font-size: 1.05rem;
  transition: var(--transicion);
}
.btn-secondary:hover { border-color: #fff; background: rgba(255,255,255,0.1); }
.hero-garantias { display: flex; gap: 2rem; flex-wrap: wrap; }
.garantia-item { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,0.85); font-size: 0.9rem; }
.garantia-item svg { color: var(--color-acento); flex-shrink: 0; }

/* ANIMATIONS */
@keyframes fadeUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pulso { 0%,100% { transform: scale(1); opacity:1; } 50% { transform: scale(1.5); opacity:0.5; } }
.reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.rd1 { transition-delay: 0.1s; } .rd2 { transition-delay: 0.2s; } .rd3 { transition-delay: 0.3s; } .rd4 { transition-delay: 0.4s; }

/* SECTIONS */
section { padding: 90px 5%; }
.section-label { font-family: var(--font-titulo); font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: var(--color-acento); margin-bottom: 0.5rem; }
.section-title { font-family: var(--font-titulo); font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 900; text-transform: uppercase; line-height: 1.1; color: var(--color-primario); margin-bottom: 0.75rem; }
.section-title .ac { color: var(--color-acento); } .section-title .vd { color: var(--color-verde); }
.section-sub { font-size: 0.95rem; color: var(--color-gris); max-width: 520px; line-height: 1.6; margin-bottom: 3rem; }
.tc { text-align: center; } .tc .section-sub { margin-left: auto; margin-right: auto; }

/* STATS */
.stats-strip { background: var(--color-primario); padding: 50px 5%; display: grid; grid-template-columns: repeat(4,1fr); position: relative; }
.stats-strip::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background: linear-gradient(90deg, var(--color-verde), var(--color-acento)); }
.stat-item { display:flex; flex-direction:column; align-items:center; padding:1.5rem; border-right:1px solid rgba(255,255,255,0.1); }
.stat-item:last-child { border-right:none; }
.stat-icon { margin-bottom:0.75rem; color:var(--color-acento); }
.stat-number { font-family:var(--font-titulo); font-size:2.8rem; font-weight:900; color:#fff; line-height:1; }
.stat-number .plus { color:var(--color-acento); }
.stat-label { font-size:0.82rem; color:rgba(255,255,255,0.6); margin-top:4px; text-align:center; }

/* SERVICIOS CARDS */
.servicios-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.serv-card { background:#fff; border-radius:var(--radio); overflow:hidden; box-shadow:var(--sombra); border:1px solid #e8ecf4; transition:var(--transicion); }
.serv-card:hover { transform:translateY(-6px); box-shadow:var(--sombra-hover); border-color:var(--color-acento); }
.serv-card-img { height:180px; overflow:hidden; }
.serv-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; }
.serv-card:hover .serv-card-img img { transform:scale(1.08); }
.serv-card-body { padding:1.25rem; }
.serv-icon { width:44px; height:44px; border-radius:10px; background:rgba(13,42,110,0.08); display:flex; align-items:center; justify-content:center; margin-bottom:0.75rem; color:var(--color-primario); }
.serv-card h3 { font-family:var(--font-titulo); font-weight:700; font-size:1.05rem; text-transform:uppercase; color:var(--color-primario); margin-bottom:0.4rem; }
.serv-card p { font-size:0.85rem; color:var(--color-gris); line-height:1.5; }

/* ABOUT */
.about-section { background:var(--color-claro); }
.about-split { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.about-img-wrap { position:relative; }
.about-img-wrap img { width:100%; height:480px; object-fit:cover; border-radius:12px; box-shadow:var(--sombra-hover); }
.about-float { position:absolute; bottom:24px; left:-20px; background:var(--color-acento); color:#fff; padding:16px 20px; border-radius:12px; box-shadow:0 8px 24px rgba(244,121,32,0.4); }
.about-float .num { font-family:var(--font-titulo); font-size:2rem; font-weight:900; display:block; }
.about-float span { font-size:0.78rem; font-weight:600; }
.about-checks { display:flex; flex-direction:column; gap:0.65rem; margin:1.5rem 0; }
.about-check { display:flex; align-items:center; gap:10px; font-size:0.95rem; }
.about-check svg { color:var(--color-verde); flex-shrink:0; }
.mini-stats { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.mini-stat { background:#fff; border-radius:var(--radio); padding:1.25rem; border-left:4px solid var(--color-acento); box-shadow:var(--sombra); }
.mini-stat .num { font-family:var(--font-titulo); font-size:2rem; font-weight:900; color:var(--color-primario); }
.mini-stat .num span { color:var(--color-acento); }
.mini-stat p { font-size:0.8rem; color:var(--color-gris); }

/* FLOTA HOME */
.flota-home { background:var(--color-oscuro); }
.flota-home .section-title { color:#fff; }
.flota-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.flota-card { background:rgba(255,255,255,0.05); border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,0.1); transition:var(--transicion); }
.flota-card:hover { background:rgba(255,255,255,0.08); transform:translateY(-4px); border-color:var(--color-acento); }
.flota-card-img { height:240px; overflow:hidden; border-radius:10px 10px 0 0; }
.flota-card-img img { width:100%; height:100%; object-fit:cover; object-position:center 40%; transition:transform 0.5s ease; }
.flota-card-img img.pos-top { object-position:center 20%; }
.flota-card-img img.pos-center { object-position:center 50%; }
.flota-card:hover .flota-card-img img { transform:scale(1.05); }
.flota-card-info { padding:1.5rem; }
.flota-placa { display:inline-block; background:var(--color-acento); color:#fff; font-family:var(--font-titulo); font-weight:800; font-size:0.82rem; padding:3px 12px; border-radius:4px; letter-spacing:2px; margin-bottom:0.75rem; }
.flota-card-info h3 { font-family:var(--font-titulo); font-size:1.4rem; font-weight:800; text-transform:uppercase; color:#fff; margin-bottom:0.4rem; }
.flota-card-info p { font-size:0.88rem; color:rgba(255,255,255,0.6); margin-bottom:1rem; }
.flota-specs { display:flex; flex-wrap:wrap; gap:0.5rem; }
.spec-tag { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.12); color:rgba(255,255,255,0.8); font-size:0.78rem; padding:4px 12px; border-radius:50px; }

/* PROCESO */
.proceso-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; position:relative; }
.proceso-grid::before { content:''; position:absolute; top:35px; left:13%; right:13%; height:2px; background:linear-gradient(90deg,var(--color-primario),var(--color-acento)); z-index:0; }
.proceso-step { text-align:center; position:relative; z-index:1; }
.proceso-num { width:70px; height:70px; border-radius:50%; background:var(--color-primario); color:#fff; font-family:var(--font-titulo); font-size:1.6rem; font-weight:900; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; border:4px solid #fff; box-shadow:0 4px 20px rgba(13,42,110,0.3); transition:var(--transicion); }
.proceso-step:hover .proceso-num { background:var(--color-acento); transform:scale(1.1); }
.proceso-step h4 { font-family:var(--font-titulo); font-size:1rem; font-weight:700; text-transform:uppercase; color:var(--color-primario); margin-bottom:0.4rem; }
.proceso-step p { font-size:0.84rem; color:var(--color-gris); line-height:1.5; }

/* CTA */
.cta-section { position:relative; padding:100px 5%; text-align:center; overflow:hidden; }
.cta-bg { position:absolute; inset:0; background-image:url('../img/cta-fondo.webp'); background-size:cover; background-position:center; }
.cta-overlay { position:absolute; inset:0; background:rgba(8,26,69,0.88); }
.cta-content { position:relative; z-index:2; max-width:700px; margin:0 auto; }
.cta-content h2 { font-family:var(--font-titulo); font-size:clamp(2rem,4vw,3.5rem); font-weight:900; text-transform:uppercase; color:#fff; margin-bottom:0.5rem; }
.cta-content h2 span { color:var(--color-acento); }
.cta-content p { font-size:1.05rem; color:rgba(255,255,255,0.8); margin-bottom:2rem; }
.cta-phone { font-family:var(--font-titulo); font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:900; color:#fff; margin-bottom:2rem; display:flex; align-items:center; justify-content:center; gap:1rem; }
.cta-phone svg { color:var(--color-acento); }
.cta-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* FOOTER */
footer { background:#060f2b; padding:70px 5% 30px; border-top:4px solid var(--color-acento); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; gap:3rem; margin-bottom:3rem; }
.footer-logo img { height: 72px; max-width: 240px; object-fit: contain; margin-bottom: 1rem; }
.footer-desc { font-size:0.85rem; color:rgba(255,255,255,0.5); line-height:1.65; margin-bottom:1.5rem; }
.footer-socials { display:flex; gap:0.75rem; }
.social-btn { width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15); display:flex; align-items:center; justify-content:center; color:#fff; transition:var(--transicion); }
.social-btn:hover { background:var(--color-acento); border-color:var(--color-acento); transform:translateY(-2px); }
.footer-col h4 { font-family:var(--font-titulo); font-size:0.82rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--color-acento); margin-bottom:1.25rem; }
.footer-col ul li { margin-bottom:0.55rem; }
.footer-col ul li a { font-size:0.85rem; color:rgba(255,255,255,0.55); transition:var(--transicion); }
.footer-col ul li a:hover { color:#fff; padding-left:4px; }
.footer-contact-item { display:flex; align-items:flex-start; gap:10px; font-size:0.85rem; color:rgba(255,255,255,0.6); margin-bottom:0.85rem; }
.footer-contact-item svg { color:var(--color-acento); flex-shrink:0; margin-top:1px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.08); padding-top:1.5rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:0.5rem; }
.footer-bottom p { font-size:0.78rem; color:rgba(255,255,255,0.35); }
.footer-bottom a { color:rgba(255,255,255,0.55); transition:var(--transicion); }
.footer-bottom a:hover { color:var(--color-acento); }

/* WA FLOAT */
.wa-float { position:fixed; bottom:28px; right:28px; z-index:999; width:60px; height:60px; border-radius:50%; background:#25d366; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 24px rgba(37,211,102,0.5); animation:waPulso 2.5s infinite; transition:var(--transicion); }
.wa-float:hover { transform:scale(1.1); }
@keyframes waPulso { 0%,100% { box-shadow:0 6px 24px rgba(37,211,102,0.5); } 50% { box-shadow:0 6px 40px rgba(37,211,102,0.8), 0 0 0 12px rgba(37,211,102,0.12); } }

/* PAGE HERO */
.page-hero { position:relative; height:340px; display:flex; align-items:center; background:var(--color-oscuro); overflow:hidden; }
.page-hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; filter:brightness(0.35); }
.page-hero-content { position:relative; z-index:2; padding:0 5%; padding-top:72px; }
.page-hero h1 { font-family:var(--font-titulo); font-weight:900; font-size:clamp(2rem,4vw,3.2rem); text-transform:uppercase; color:#fff; margin-bottom:0.5rem; }
.page-hero h1 span { color:var(--color-acento); }
.breadcrumb { display:flex; align-items:center; gap:8px; font-size:0.85rem; color:rgba(255,255,255,0.55); }
.breadcrumb a { color:rgba(255,255,255,0.55); } .breadcrumb a:hover { color:var(--color-acento); }
.breadcrumb .sep { color:rgba(255,255,255,0.3); }

/* SERVICIOS PAGE */
.serv-detalle { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; margin-bottom:5rem; padding-bottom:5rem; border-bottom:1px solid #e8ecf4; }
.serv-detalle:last-child { border-bottom:none; margin-bottom:0; }
.serv-detalle.rev { direction:rtl; }
.serv-detalle.rev > * { direction:ltr; }
.serv-detalle img { width:100%; height:360px; object-fit:cover; border-radius:12px; box-shadow:var(--sombra-hover); }
.serv-detalle h2 { font-family:var(--font-titulo); font-size:2rem; font-weight:800; text-transform:uppercase; color:var(--color-primario); margin-bottom:1rem; }
.serv-detalle p { font-size:0.95rem; color:var(--color-gris); line-height:1.7; margin-bottom:1rem; }
.serv-lista { display:flex; flex-direction:column; gap:0.5rem; margin-top:1rem; }
.serv-lista li { display:flex; align-items:center; gap:10px; font-size:0.9rem; color:#2d3748; }
.serv-lista li::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--color-acento); flex-shrink:0; }

/* COBERTURA */
.cobertura-section { background:var(--color-claro); }
.comunas-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; }
.comuna-tag { background:#fff; border:1px solid #dde3ee; border-radius:8px; padding:12px 14px; text-align:center; font-size:0.85rem; font-weight:600; color:var(--color-primario); transition:var(--transicion); }
.comuna-tag:hover { background:var(--color-primario); color:#fff; transform:translateY(-2px); }

/* FLOTA PAGE */
.flota-detalle { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; margin-bottom:5rem; padding-bottom:5rem; border-bottom:1px solid #e8ecf4; }
.flota-detalle:last-child { border-bottom:none; margin-bottom:0; }
.flota-galeria { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.flota-galeria img { border-radius:10px; width:100%; height:200px; object-fit:cover; box-shadow:var(--sombra); transition:var(--transicion); }
.flota-galeria img:hover { transform:scale(1.02); }
.flota-galeria img.main { grid-column:1/-1; height:280px; }
.flota-specs-table { display:grid; grid-template-columns:1fr 1fr; gap:0.85rem; margin-top:1.5rem; }
.spec-row { background:var(--color-claro); border-radius:8px; padding:12px 16px; }
.spec-row .label { font-size:0.72rem; font-weight:600; color:var(--color-gris); text-transform:uppercase; letter-spacing:0.5px; }
.spec-row .value { font-size:1rem; font-weight:700; color:var(--color-primario); }

/* NOSOTROS */
.valores-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.valor-card { background:#fff; border-radius:var(--radio); padding:2rem; box-shadow:var(--sombra); border-top:4px solid transparent; transition:var(--transicion); }
.valor-card:hover { border-top-color:var(--color-acento); transform:translateY(-4px); box-shadow:var(--sombra-hover); }
.valor-icon { width:52px; height:52px; background:rgba(13,42,110,0.08); border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:1rem; color:var(--color-primario); }
.valor-card h3 { font-family:var(--font-titulo); font-size:1.1rem; font-weight:700; text-transform:uppercase; margin-bottom:0.5rem; color:var(--color-primario); }
.valor-card p { font-size:0.86rem; color:var(--color-gris); line-height:1.6; }

/* CONTACTO */
.contacto-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:4rem; }
.contacto-form { background:var(--color-claro); border-radius:16px; padding:2.5rem; }
.form-group { margin-bottom:1.2rem; }
.form-group label { display:block; font-size:0.83rem; font-weight:600; color:var(--color-primario); margin-bottom:0.4rem; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:11px 15px; border:2px solid #dde3ee; border-radius:8px; font-family:var(--font-cuerpo); font-size:0.95rem; color:#1a1a2e; background:#fff; transition:var(--transicion); outline:none; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--color-primario); }
.form-group textarea { resize:vertical; min-height:110px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.btn-submit { width:100%; padding:15px; border:none; cursor:pointer; background:var(--color-acento); color:#fff; font-family:var(--font-titulo); font-size:1.1rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; border-radius:8px; display:flex; align-items:center; justify-content:center; gap:10px; transition:var(--transicion); box-shadow:0 4px 16px rgba(244,121,32,0.3); }
.btn-submit:hover { background:#d96a10; transform:translateY(-2px); }
.contacto-info-item { display:flex; align-items:flex-start; gap:1rem; padding:1.5rem; background:#fff; border-radius:12px; margin-bottom:1rem; box-shadow:var(--sombra); transition:var(--transicion); border-left:4px solid transparent; }
.contacto-info-item:hover { border-left-color:var(--color-acento); transform:translateX(4px); }
.ci-icon { width:48px; height:48px; border-radius:10px; background:rgba(13,42,110,0.08); display:flex; align-items:center; justify-content:center; color:var(--color-primario); flex-shrink:0; }
.ci-text h4 { font-weight:700; font-size:0.88rem; text-transform:uppercase; color:var(--color-primario); margin-bottom:4px; }
.ci-text p, .ci-text a { font-size:0.9rem; color:var(--color-gris); }
.ci-text a:hover { color:var(--color-acento); }

/* RESPONSIVE */
@media (max-width:1100px) {
  .stats-strip { grid-template-columns:repeat(2,1fr); }
  .servicios-grid { grid-template-columns:repeat(2,1fr); }
  .proceso-grid { grid-template-columns:repeat(2,1fr); }
  .proceso-grid::before { display:none; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .about-split { gap:3rem; }
  .comunas-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:860px) {
  .nav-links { display:none; position:fixed; top:72px; left:0; right:0; bottom:0; background:rgba(8,26,69,0.98); flex-direction:column; align-items:center; justify-content:center; gap:2rem; }
  .nav-links.open { display:flex; }
  .hamburger { display:flex; }
  .hero-garantias { display:none; }
  .flota-grid { grid-template-columns:1fr; }
  .about-split { grid-template-columns:1fr; }
  .about-float { left:12px; }
  .serv-detalle { grid-template-columns:1fr; gap:2rem; }
  .serv-detalle.rev { direction:ltr; }
  .contacto-grid { grid-template-columns:1fr; }
  .valores-grid { grid-template-columns:1fr 1fr; }
  .flota-detalle { grid-template-columns:1fr; gap:2rem; }
}
@media (max-width:540px) {
  section { padding:60px 4%; }
  .stats-strip { padding:40px 4%; }
  .stat-item { border-right:none; border-bottom:1px solid rgba(255,255,255,0.08); }
  .servicios-grid { grid-template-columns:1fr; }
  .proceso-grid { grid-template-columns:1fr; }
  .hero-btns { flex-direction:column; }
  .valores-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:2rem; }
  .form-row { grid-template-columns:1fr; }
  .mini-stats { grid-template-columns:1fr; }
  .flota-specs-table { grid-template-columns:1fr; }
  .comunas-grid { grid-template-columns:repeat(2,1fr); }
  .flota-galeria { grid-template-columns:1fr; }
  .flota-galeria img.main { height:200px; }
}
