/*
 * KENDARK — CSS de producción
 * Refactor v149
 *
 * Orden de cascada preservado para mantener exactamente la interfaz aprobada.
 * Se eliminaron únicamente reglas de componentes que ya no existen en el HTML
 * ni son creados dinámicamente por JavaScript. Los overrides activos se mantienen
 * en su posición original para evitar regresiones visuales.
 */

/* ===== BASE / HEADER / HERO LEGACY FOUNDATION ===== */
:root {
  --yellow:#F8B800;
  --yellow-hover:#FFD044;
  --black:#050505;
  --black-2:#0B0B0B;
  --black-3:#141414;
  --white:#FFFFFF;
  --text:#FFFFFF;
  --muted:rgba(255,255,255,.68);
  --line:rgba(255,255,255,.12);
  --max:1480px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;
  font-family:"Manrope","Inter","Satoshi",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  
  
}
a{color:inherit;text-decoration:none;}
button{font:inherit;}
.container{
  width:min(var(--max),calc(100% - 44px));
  margin:auto;
}

/* HEADER */
.site-header{
  height:76px;
  background:var(--black);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.06);
  display:flex;
  align-items:center;
  position:sticky;
  top:0;
  z-index:50;
}
.header-inner{
  width:min(var(--max),calc(100% - 44px));
  margin:auto;
  display:flex;
  align-items:center;
  gap:34px;
}
.brand{
  
  
  display:flex;
  align-items:center;
}
.brand img{
  display:block;
  
  
  
}
.nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:29px;
}
.nav a{
  font-size:13px;
  
  color:rgba(255,255,255,.94);
  white-space:nowrap;
}
.nav a:first-child,.nav a:hover{color:var(--yellow);}
.header-cta{
  margin-left:12px;
  display:flex;
  
}
.btn{
  min-height:46px;
  padding:0 20px;
  border-radius:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  
  border:2px solid transparent;
  transition:.2s ease;
}
.btn:hover{transform:translateY(-1px);}


.btn-outline{background:rgba(0,0,0,.08);}
.menu-btn{
  display:none;
  margin-left:auto;
  width:44px;height:44px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:7px;
  color:#fff;background:transparent;
}

/* HERO */
.hero{
  
  
  background-image:none;
  background-size:cover;
  
  
  
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  
}

.hero-copy{
  
  color:#fff;
}


h1{
  margin:0 0 16px;
  
  
  
  
  
  
}


.hero-actions{display:flex;flex-wrap:wrap;}

.slide-status{
  position:absolute;
  left:50%;
  
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:10px;
}
.dot{
  width:10px;height:10px;border-radius:50%;
  background:rgba(255,255,255,.50);
  border:1px solid rgba(255,255,255,.7);
}
.dot.active{background:var(--yellow);border-color:var(--yellow);}

/* QUICK STRIP */


/* CONTENT */


/* DIFFERENTIAL */

.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:stretch;
}


/* CTA */


footer{
  
  color:rgba(255,255,255,.65);
  text-align:center;
  padding:22px;
  font-size:12px;
}

/* RESPONSIVE */
@media(max-width:1100px){
  .nav{gap:18px;}
  .nav a{font-size:12px;}
  .header-cta .btn-outline{display:none;}
  
}
@media(max-width:850px){
  .site-header{height:auto;min-height:70px;}
  .header-inner{min-height:70px;flex-wrap:wrap;padding:10px 0;}
  .brand{width:165px;flex-basis:165px;}
  .brand img{height:42px;}
  .menu-btn{display:block;}
  .nav,.header-cta{
    display:none;
    width:100%;
    margin:0;
  }
  .nav.open{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    padding:10px 0;
  }
  .header-cta.open{display:flex;padding-bottom:8px;}
  .hero{height:520px;background-position:65% center;}
  .hero:before{
    background:linear-gradient(0deg,rgba(0,0,0,.75),rgba(0,0,0,.32) 55%,transparent 84%);
  }
  .hero-inner{align-items:flex-end;padding-bottom:55px;}
  .hero-copy{width:100%;max-width:590px;}
  h1{max-width:560px;font-size:clamp(42px,9vw,58px);}
  
  
  
  
  
  .split{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .container,.header-inner,.hero-inner,.quick-grid{width:calc(100% - 28px);}
  .hero{height:500px;background-position:68% center;}
  .hero-lead{font-size:16px;}
  .hero-actions{flex-direction:column;}
  .hero-actions .btn{width:100%;}
  
  
  
  
  
}


/* ===== kendark-palette-overrides ===== */
body{background:#050505;color:#fff;}
  
  
  
  
  
  
  
  
  
  footer{background:#050505;border-top:1px solid rgba(255,255,255,.12);}
  .btn-yellow{background:#F8B800;color:#050505;}
  .btn-yellow:hover{background:#FFD044;}
  .btn-outline{border-color:rgba(255,255,255,.45);color:#fff;}
  .btn-outline:hover{border-color:#F8B800;color:#F8B800;}
  
  
  


/* ===== kendark-typography-system ===== */
:root{
    --font-sans:"Manrope","Inter","Satoshi",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  }

  

  body{
    font-weight:400;
    letter-spacing:0;
  }

  /* Header / navigation */
  .nav a,
  .btn,
  .quick strong,
  .kicker,
  .eyebrow,
  .service-num{
    font-family:var(--font-sans);
  }

  .nav a{
    font-weight:500;
    letter-spacing:-0.01em;
  }

  .btn{
    font-weight:600;
    letter-spacing:-0.01em;
  }

  /* Main hero */
  

  

  .hero-lead,
  .hero-note{
    font-weight:400;
    letter-spacing:-0.012em;
  }

  

  /* Section headings */
  

  

  /* Cards */
  

  

  

  /* Avoid overly heavy text across whole layout */
  strong,b{
    font-weight:600;
  }

  @media (max-width:850px){
    h1{
      letter-spacing:-0.04em;
    }
  }


/* ===== kendark-hero-final ===== */


  

  

  

  h1{
    max-width:560px;
    font-size:clamp(44px,3.7vw,62px);
    font-weight:500;
    line-height:.96;
    letter-spacing:-.045em;
    text-transform:none;
    margin-bottom:18px;
  }

  

  

  .hero-actions .btn{
    font-weight:600;
    
    
  }

  

  @media(max-width:850px){
    .hero-copy{
      width:100%;
      max-width:590px;
    }
    h1{
      font-size:clamp(38px,8vw,54px);
    }
  }


/* ===== kendark-display-type ===== */
:root{
    --font-body:"Manrope","Inter","Satoshi",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --font-display:"Bebas Neue","Arial Narrow",Impact,sans-serif;
    --font-subdisplay:"Barlow Condensed","Arial Narrow",sans-serif;
  }

  html,body,button,input,select,textarea,a{
    font-family:var(--font-body);
  }

  /* TITULO PRINCIPAL — estilo alto y condensado como la referencia */
  .hero h1,
  h1{
    font-family:var(--font-display);
    font-weight:400;
    font-stretch:condensed;
    font-size:clamp(62px,5.2vw,88px);
    line-height:.84;
    letter-spacing:.005em;
    text-transform:uppercase;
    max-width:530px;
  }

  /* SUBTITULO DEL HERO — misma familia visual, un poco más ligero */
  .hero-lead{
    font-family:var(--font-subdisplay);
    
    
    
    letter-spacing:.01em;
    
  }

  /* Títulos de secciones */
  

  /* Títulos de tarjetas */
  

  /* El resto mantiene la tipografía humanista */
  .nav a,
  .btn,
  .hero-meta,
  .hero-note,
  .section-intro,
  .service p,
  .copy-card p,
  .dark-card p,
  .quick span,
  .service-list,
  .zone,
  footer{
    font-family:var(--font-body);
  }

  @media(max-width:850px){
    .hero h1,
    h1{
      font-size:clamp(54px,13vw,72px);
      line-height:.86;
    }
    .hero-lead{
      font-size:20px;
    }
  }


/* ===== HERO TYPOGRAPHY LAYER ===== */


.hero h1,.hero-subtitle{
  font-family:"Barlow Condensed","Arial Narrow",sans-serif;
}
.hero .qmark{
  font-family:"Barlow Condensed","Arial Narrow",sans-serif;
}
.hero-lead,.hero-meta,.hero-note,.hero-actions .btn{
  font-family:"Manrope",system-ui,sans-serif;
}


/* ===== HERO COMPOSITION LAYER ===== */


.hero-actions .btn-outline{
  display:none;
}
@media(max-width:850px){
  .hero{
    height:500px;
  }
  .hero-inner{
    padding-bottom:48px;
  }
}


/* ===== HERO SCALE BASE ===== */

.hero{
  
  background-position:center center;
}
.hero:before{
  background:linear-gradient(90deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.26) 26%,rgba(0,0,0,.07) 42%,transparent 56%);
}
.hero-inner{
  
  padding-bottom:66px;
}
.hero-copy{
  font-family:"Manrope",system-ui,sans-serif;
  
}
.hero h1,.hero-subtitle,.hero .qmark{
  font-family:"Barlow Condensed","Arial Narrow",sans-serif;
}
.hero h1{
  color:#fff;
  text-transform:uppercase;
  font-weight:700;
  
}
.hero-subtitle{
  color:#F8B800;
  text-transform:uppercase;
  font-weight:600;
}
.hero-lead,
.hero-actions .btn{
  font-family:"Manrope",system-ui,sans-serif;
}
.hero-actions{
  gap:10px;
}
.hero-actions .btn{
  
  padding-inline:18px;
  font-size:13px;
  border-radius:2px;
}
.hero-actions .btn-outline,
.hero-meta,
.hero-note{
  display:none !important;
}
@media(max-width:850px){
  .hero{
    height:500px;
  }
  .hero-inner{
    padding-bottom:48px;
  }
  .hero-copy{
    max-width:100%;
    transform:none;
  }
}


/* ===== HERO SCALE MAX ===== */


.hero-subtitle{
  
  
  
  margin:0 0 18px;
}
.hero-lead{
  
  
  
  margin:0 0 24px;
  
}
@media(max-width:850px){
  .hero h1{
    font-size:clamp(72px,14.5vw,90px);
    max-width:100%;
  }
  .hero-subtitle{
    font-size:clamp(23px,5.7vw,28px);
    max-width:100%;
  }
}


/* ===== kendark-max-air ===== */
/* Scale MAX, pero con más respiración visual */
  .hero h1{
    
    
    margin-bottom:26px;
  }

  

  @media(max-width:850px){
    .hero h1{
      line-height:.88;
      letter-spacing:-.018em;
    }
  }


/* ===== kendark-title-final-alignment ===== */
/* Mantener Scale MAX */
  

  /* Primera línea alineada por baseline */
  

  .hero-line-text{
    display:inline-block;
  }

  /* Signo integrado en la misma línea, sin flotar */
  .hero .qmark{
    display:inline-block;
    
    line-height:1;
    margin:0;
    
    letter-spacing:0;
  }

  /* Mantener el aire entre las dos líneas */
  

  @media(max-width:850px){
    .hero-line-2{
      margin-top:.11em;
    }
  }


/* ===== kendark-final-micro-adjustments ===== */
/* Microajustes finales sin tocar composición */
  

  .hero-lead{
    font-weight:500;
    color:rgba(255,255,255,.92);
  }

  .hero-actions .btn,
  .btn-yellow{
    padding-inline:26px;
    font-weight:600;
    letter-spacing:-.01em;
  }


/* ===== kendark-signo-integrado-final ===== */
/* Integrar el signo de pregunta al título */
  

  


/* ===== kendark-title-110px ===== */


  @media(max-width:850px){
    .hero h1{
      font-size:clamp(64px,12vw,88px) !important;
    }
  }


/* ===== kendark-responsive-art-direction ===== */
/* ==========================================================
   KENDARK RESPONSIVE HERO — art direction por dispositivo
   Desktop 3:1 | Tablet 5:2 | Mobile 4:3
   El texto sigue siendo HTML; las fotos no contienen texto.
   ========================================================== */
.hero{
  position:relative;
  isolation:isolate;
  width:100%;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:3 / 1;
  overflow:hidden;
  background:none !important;
}
.hero-art{
  position:absolute;
  inset:0;
  z-index:-3;
  display:block;
  width:100%;
  height:100%;
}
.hero-art img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.45) 25%,rgba(0,0,0,.14) 45%,rgba(0,0,0,0) 63%),
    linear-gradient(0deg,rgba(0,0,0,.20) 0%,rgba(0,0,0,0) 45%);
}
.hero-inner{
  width:min(var(--max),calc(100% - 64px)) !important;
  height:100%;
  margin:auto;
  padding:42px 0 56px !important;
  display:flex;
  align-items:flex-end !important;
}
.hero-copy{
  width:720px !important;
  max-width:49vw !important;
  transform:none !important;
}
.hero h1{
  width:max-content;
  max-width:none !important;
  margin:0 0 18px !important;
  font-size:110px !important;
  line-height:.82 !important;
  letter-spacing:-.028em !important;
}
.hero-line{white-space:nowrap;}
.hero-line-1{display:flex;align-items:baseline;gap:0 !important;}
.hero .qmark{font-size:.92em;margin-right:-.01em;transform:none;}
.hero-line-2{display:block;margin-top:.12em !important;}
.hero-subtitle{
  max-width:610px !important;
  margin-bottom:18px !important;
  font-size:clamp(24px,1.65vw,31px) !important;
  line-height:.96 !important;
}
.hero-lead{
  max-width:430px !important;
  margin-bottom:18px !important;
  font-size:15px !important;
  line-height:1.45 !important;
}
.hero-actions .btn{min-height:46px;}
.slide-status{bottom:16px !important;}

/* TABLET: imagen y proporción propias; no se estira la foto desktop */
@media (min-width:768px) and (max-width:1199px){
  .hero{aspect-ratio:5 / 2;}
  .hero::before{
    background:
      linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.46) 31%,rgba(0,0,0,.10) 57%,rgba(0,0,0,0) 73%),
      linear-gradient(0deg,rgba(0,0,0,.18),rgba(0,0,0,0) 45%);
  }
  .hero-inner{
    width:calc(100% - 48px) !important;
    padding:30px 0 44px !important;
  }
  .hero-copy{
    width:58% !important;
    max-width:58% !important;
  }
  .hero h1{
    font-size:clamp(70px,8.2vw,94px) !important;
    margin-bottom:14px !important;
    line-height:.82 !important;
  }
  .hero-subtitle{
    max-width:520px !important;
    font-size:clamp(21px,2.6vw,27px) !important;
    margin-bottom:13px !important;
  }
  .hero-lead{
    font-size:14px !important;
    margin-bottom:15px !important;
  }
  .hero-actions .btn{min-height:43px;font-size:12px;}
}

/* MOBILE: el slide funciona como una pieza 4:3 diseñada para teléfono.
   No hereda 49vw ni el alto fijo de desktop. */
@media (max-width:767px){
  .site-header{position:relative;z-index:50;}
  .header-inner{min-height:64px;padding-inline:16px;}
  .brand img{width:138px;max-height:42px;}
  .menu-btn{display:grid;place-items:center;width:38px;height:38px;}

  .hero{
    aspect-ratio:4 / 3;
    width:100%;
  }
  .hero-art img{object-position:center center;}
  .hero::before{
    background:
      linear-gradient(90deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.55) 43%,rgba(0,0,0,.18) 68%,rgba(0,0,0,0) 88%),
      linear-gradient(0deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.05) 45%,rgba(0,0,0,.08) 100%);
  }
  .hero-inner{
    width:100% !important;
    padding:18px 18px 30px !important;
    align-items:flex-end !important;
  }
  .hero-copy{
    width:100% !important;
    max-width:none !important;
  }
  .hero h1{
    width:auto;
    max-width:none !important;
    margin:0 0 9px !important;
    font-size:clamp(38px,12vw,50px) !important;
    line-height:.80 !important;
    letter-spacing:-.025em !important;
  }
  .hero-line{white-space:nowrap;}
  .hero-line-2{margin-top:.10em !important;}
  .hero .qmark{font-size:.92em !important;margin-right:-.012em !important;}
  .hero-subtitle{
    width:min(76%,290px) !important;
    max-width:none !important;
    margin:0 0 8px !important;
    font-size:clamp(16px,4.75vw,20px) !important;
    line-height:.94 !important;
  }
  .hero-lead{
    width:min(72%,275px) !important;
    max-width:none !important;
    margin:0 0 10px !important;
    font-size:clamp(12px,3.45vw,14px) !important;
    line-height:1.30 !important;
  }
  .hero-actions .btn{
    min-height:39px !important;
    padding-inline:18px !important;
    font-size:11px !important;
  }
  .slide-status{bottom:8px !important;gap:7px !important;}
  .dot{width:7px !important;height:7px !important;}

  
  
  
  

  
  .container{width:calc(100% - 36px) !important;}
  
  
  
  
  
  .split{grid-template-columns:1fr !important;gap:14px;}
  
  
  
}

@media (max-width:359px){
  .hero h1{font-size:36px !important;}
  .hero-subtitle{font-size:15px !important;}
  .hero-lead{font-size:11.5px !important;}
  .hero-inner{padding-inline:14px !important;}
}


/* ===== HERO · TIPOGRAFÍA MOBILE ===== */
@media (max-width:767px){
  .hero-inner{
    padding:18px 16px 28px !important;
  }

  /* Hero headline: preserve 2 lines, add breathing room */
  .hero h1{
    font-size:clamp(40px,11.1vw,46px) !important;
    line-height:.83 !important;
    letter-spacing:-.022em !important;
    margin-bottom:11px !important;
  }
  .hero-line-2{margin-top:.12em !important;}
  .hero .qmark{font-size:.90em !important;}

  /* Yellow message: wider so it reads in 2 lines instead of 3 */
  .hero-subtitle{
    width:100% !important;
    max-width:330px !important;
    font-size:clamp(15.5px,4.15vw,17.5px) !important;
    line-height:1.03 !important;
    letter-spacing:-.012em !important;
    margin:0 0 9px !important;
  }

  /* Supporting sentence: normal reading rhythm */
  .hero-lead{
    width:100% !important;
    max-width:330px !important;
    font-size:13.5px !important;
    line-height:1.36 !important;
    font-weight:500 !important;
    margin:0 0 12px !important;
  }

  .hero-actions{width:100%;}
  .hero-actions .btn{
    width:100% !important;
    min-height:42px !important;
    padding:0 18px !important;
    font-size:12.5px !important;
    font-weight:700 !important;
    letter-spacing:.005em !important;
  }

  /* Information strip: readable but still secondary */
  
  
  

  /* Main content typography */
  
  
  
  

  
  
  
  
  

  
  

  
  
  
  

  
  
  
}

@media (max-width:359px){
  .hero h1{font-size:37px !important;}
  .hero-subtitle{font-size:14.5px !important;max-width:292px !important;}
  .hero-lead{font-size:12.5px !important;max-width:292px !important;}
  .hero-actions .btn{font-size:12px !important;}
  
  
}


/* ===== mobile-perfect-v3 ===== */
/* =========================================================
   KENDARK — MOBILE HERO FINAL PASS v3
   Desktop/tablet remain unchanged.
   Goal: mobile-specific hierarchy, top-positioned copy,
   two-line headline, quieter supporting type.
   ========================================================= */

@media (max-width: 767px){

  /* Preserve the mobile artwork and compact ad ratio. */
  .hero{
    aspect-ratio: 4 / 3 !important;
    min-height: 0 !important;
  }

  /* Move the whole advertising message toward the top-left.
     Do not vertically center or bottom-align desktop content. */
  .hero-inner{
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    padding: 13px 16px 30px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }

  .hero-copy{
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  /* Headline: still dominant, but proportioned for a phone.
     Both intended lines remain unbroken. */
  .hero h1{
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 8px !important;
    font-size: clamp(33px, 9.7vw, 40px) !important;
    line-height: .84 !important;
    letter-spacing: -.023em !important;
  }

  .hero-line{
    white-space: nowrap !important;
  }

  .hero-line-1{
    gap: 0 !important;
  }

  .hero-line-2{
    margin-top: .105em !important;
  }

  .hero .qmark{
    font-size: .90em !important;
    margin-right: -.012em !important;
    transform: none !important;
  }

  /* Yellow message: clearly secondary to H1 and kept compact. */
  .hero-subtitle{
    width: min(72%, 252px) !important;
    max-width: 252px !important;
    margin: 0 0 7px !important;
    font-size: clamp(12.5px, 3.55vw, 14.5px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.008em !important;
  }

  .hero-lead{
    width: min(70%, 250px) !important;
    max-width: 250px !important;
    margin: 0 0 10px !important;
    font-size: clamp(11.5px, 3.15vw, 13px) !important;
    line-height: 1.30 !important;
    font-weight: 500 !important;
  }

  /* CTA stays easy to tap without visually becoming another headline. */
  .hero-actions{
    width: min(72%, 252px) !important;
    max-width: 252px !important;
  }

  .hero-actions .btn{
    width: 100% !important;
    min-height: 38px !important;
    padding: 0 14px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
  }

  .slide-status{
    bottom: 7px !important;
  }

  /* Quick information strip */
  

  

  

  /* Content sections: reduce oversized desktop-like headings. */
  

  

  

  

  

  

  

  
}

/* Narrow phones: 320–359 CSS px */
@media (max-width: 359px){
  .hero-inner{
    padding: 11px 13px 28px !important;
  }

  .hero h1{
    font-size: 31px !important;
    line-height: .85 !important;
    margin-bottom: 7px !important;
  }

  .hero-subtitle{
    width: 72% !important;
    max-width: 220px !important;
    font-size: 11.5px !important;
    line-height: 1.03 !important;
    margin-bottom: 6px !important;
  }

  .hero-lead{
    width: 71% !important;
    max-width: 218px !important;
    font-size: 10.75px !important;
    margin-bottom: 8px !important;
  }

  .hero-actions{
    width: 72% !important;
    max-width: 220px !important;
  }

  .hero-actions .btn{
    min-height: 35px !important;
    font-size: 10px !important;
  }

  

  
}


/* ===== HERO · CTA MOBILE ===== */
@media (max-width: 767px){
  .hero-actions{
    width: auto !important;
    max-width: none !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    margin-top: 2px !important;
  }

  .hero-actions .btn,
  .hero-actions .btn-yellow{
    width: auto !important;
    min-width: 174px !important;
    max-width: 190px !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 20px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 3px !important;
    background: #F8B800 !important;
    color: #090909 !important;
    font-family: "Manrope","Inter",system-ui,sans-serif !important;
    font-size: 11.25px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .01em !important;
    text-transform: uppercase !important;
    box-shadow: 0 7px 18px rgba(0,0,0,.20) !important;
  }

  .hero-actions .btn:active,
  .hero-actions .btn-yellow:active{
    transform: translateY(1px) !important;
  }
}

@media (max-width: 359px){
  .hero-actions .btn,
  .hero-actions .btn-yellow{
    min-width: 158px !important;
    max-width: 172px !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 17px !important;
    font-size: 10.5px !important;
  }
}


/* ===== HERO · AJUSTES RESPONSIVE ===== */
/* Tablet lower boundary: avoid clipping at exactly 768px. */
@media (min-width:768px) and (max-width:1199px){
  .hero h1{
    font-size:clamp(63px,8.2vw,94px) !important;
  }
}

/* Small desktop: keep the locked 3:1 artwork without clipping the 110px title.
   The type scales only where the 1200px breakpoint otherwise becomes too tight. */
@media (min-width:1200px) and (max-width:1359px){
  .hero-inner{
    padding:15px 0 40px !important;
  }
  .hero h1{
    font-size:clamp(103px,8.6vw,110px) !important;
  }
}

/* Touch targets: compact visually, but comfortable on phones. */
@media (max-width:767px){
  .menu-btn{
    width:44px !important;
    height:44px !important;
  }
  .hero-actions .btn,
  .hero-actions .btn-yellow{
    min-height:44px !important;
    height:44px !important;
    font-size:11.5px !important;
  }
}

@media (max-width:359px){
  .hero-actions .btn,
  .hero-actions .btn-yellow{
    min-height:44px !important;
    height:44px !important;
    font-size:11px !important;
  }
}

/* ===== HERO · BALANCE MOBILE ===== */
/* Mobile-specific composition:
   - safer copy column
   - more vertical breathing room
   - compact CTA
   - responsive artwork remains untouched */
@media (max-width: 767px){

  .hero-inner{
    padding:18px 18px 30px !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }

  .hero-copy{
    width:100% !important;
    max-width:none !important;
  }

  .hero h1{
    width:auto !important;
    max-width:62% !important;
    margin:0 0 13px !important;
    font-size:clamp(31px,8.8vw,37px) !important;
    line-height:.88 !important;
    letter-spacing:-.018em !important;
  }

  .hero-line{
    white-space:nowrap !important;
  }

  .hero-line-2{
    margin-top:.12em !important;
  }

  .hero .qmark{
    font-size:.89em !important;
    margin-right:-.008em !important;
    transform:none !important;
  }

  .hero-subtitle{
    width:57% !important;
    max-width:232px !important;
    margin:0 0 13px !important;
    font-size:clamp(11.5px,3.15vw,13.5px) !important;
    line-height:1.08 !important;
    letter-spacing:0 !important;
  }

  .hero-lead{
    width:57% !important;
    max-width:232px !important;
    margin:0 0 18px !important;
    font-size:clamp(11.5px,3vw,13px) !important;
    line-height:1.42 !important;
    font-weight:500 !important;
  }

  .hero-actions{
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    display:flex !important;
    justify-content:flex-start !important;
  }

  .hero-actions .btn,
  .hero-actions .btn-yellow{
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 20px !important;
    border-radius:3px !important;
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:.005em !important;
    box-shadow:0 7px 18px rgba(0,0,0,.16) !important;
  }

  .slide-status{
    bottom:8px !important;
  }
}

@media (max-width:359px){

  .hero-inner{
    padding:15px 14px 28px !important;
  }

  .hero h1{
    max-width:64% !important;
    font-size:29px !important;
    margin-bottom:11px !important;
  }

  .hero-subtitle{
    width:59% !important;
    max-width:190px !important;
    font-size:10.75px !important;
    margin-bottom:10px !important;
  }

  .hero-lead{
    width:59% !important;
    max-width:190px !important;
    font-size:10.75px !important;
    margin-bottom:14px !important;
  }

  .hero-actions .btn,
  .hero-actions .btn-yellow{
    height:42px !important;
    min-height:42px !important;
    padding-inline:17px !important;
    font-size:10.5px !important;
  }
}

/* ===== HERO · MICROAJUSTES MOBILE ===== */
/* Último microajuste móvil:
   H1 e imagen quedan intactos.
   Se controlan ancho de subtítulo/beneficio y tamaño del CTA. */
@media (max-width: 767px){

  .hero-subtitle{
    width:52% !important;
    max-width:215px !important;
  }

  .hero-lead{
    width:48% !important;
    max-width:205px !important;
  }

  .hero-actions .btn,
  .hero-actions .btn-yellow{
    width:auto !important;
    min-width:190px !important;
    max-width:205px !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 18px !important;
    font-size:10.5px !important;
    font-weight:700 !important;
  }
}

@media (max-width:359px){

  .hero-subtitle{
    width:54% !important;
    max-width:178px !important;
  }

  .hero-lead{
    width:52% !important;
    max-width:172px !important;
  }

  .hero-actions .btn,
  .hero-actions .btn-yellow{
    min-width:172px !important;
    max-width:186px !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 16px !important;
    font-size:10px !important;
  }
}

/* ===== HEADER · LOGO ===== */
.brand{
  width:230px;
  flex:0 0 230px;
}
.brand img{
  width:100%;
  height:52px;
  object-fit:contain;
  object-position:left center;
}
@media(max-width:850px){
  .brand{
    width:185px;
    flex-basis:185px;
  }
  .brand img{
    height:44px;
  }
}
@media (max-width:767px){
  .brand img{
    width:170px;
    max-width:100%;
    max-height:46px;
  }
}

/* ===== WHATSAPP · WIDGET FLOTANTE ===== */
.wa-widget{
  position:fixed;
  
  
  z-index:1000;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  
  font-family:"Manrope",system-ui,sans-serif;
}

.wa-message{
  position:relative;
  width:min(292px,calc(100vw - 36px));
  
  
  
  color:#21354c;
  
  opacity:0;
  transform:translateY(8px) scale(.98);
  pointer-events:none;
  transition:opacity .25s ease,transform .25s ease;
}

.wa-message.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}

.wa-message::after{
  content:"";
  position:absolute;
  
  
  width:18px;
  height:18px;
  background:#fff;
  transform:rotate(45deg);
  border-radius:2px;
}

.wa-message strong{
  display:block;
  margin:0 0 4px;
  
  line-height:1.25;
  font-weight:700;
  color:#243b55;
}

.wa-message span{
  display:block;
  
  
  font-weight:500;
  color:#6d8095;
}

.wa-message-close{
  position:absolute;
  top:8px;
  right:9px;
  width:29px;
  height:29px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#f3f6f8;
  color:#718297;
  font-size:22px;
  line-height:29px;
  cursor:pointer;
}

.wa-message-close:hover{
  background:#e9eef2;
  color:#34495e;
}

.wa-fab{
  
  
  
  display:grid;
  place-items:center;
  
  
  transition:transform .2s ease,box-shadow .2s ease;
}


.wa-fab:focus-visible{
  outline:3px solid #fff;
  outline-offset:4px;
}

.wa-fab svg{
  
  
  overflow:visible;
}


@media(max-width:767px){
  .wa-widget{
    right:16px;
    bottom:17px;
    gap:10px;
  }

  .wa-message{
    width:min(270px,calc(100vw - 32px));
    padding:13px 40px 14px 16px;
    border-radius:15px 15px 4px 15px;
  }

  .wa-message strong{
    font-size:14.5px;
  }

  .wa-message span{
    font-size:12.5px;
  }

  .wa-fab{
    width:58px;
    height:58px;
    box-shadow:
      0 10px 23px rgba(0,0,0,.24),
      0 0 0 10px rgba(37,211,102,.10);
  }

  .wa-fab svg{
    width:34px;
    height:34px;
  }
}

@media(prefers-reduced-motion:reduce){
  .wa-message,
  .wa-fab{
    transition:none;
  }
}

/* ===== WHATSAPP · BOTÓN FLOTANTE ===== */
/* Elimina el halo/silueta oscura exterior y deja un FAB limpio. */
.wa-fab{
  width:64px !important;
  height:64px !important;
  
  border-radius:50% !important;
  box-shadow:0 8px 22px rgba(0,0,0,.24) !important;
}

.wa-fab:hover{
  transform:translateY(-2px) scale(1.025) !important;
  box-shadow:0 11px 26px rgba(0,0,0,.28) !important;
}

.wa-fab svg{
  width:37px !important;
  height:37px !important;
}

@media(max-width:767px){
  .wa-fab{
    width:56px !important;
    height:56px !important;
    box-shadow:0 7px 18px rgba(0,0,0,.22) !important;
  }

  .wa-fab:hover{
    box-shadow:0 9px 21px rgba(0,0,0,.26) !important;
  }

  .wa-fab svg{
    width:33px !important;
    height:33px !important;
  }
}

/* ===== WHATSAPP · MENSAJE FLOTANTE ===== */
/* Tarjeta desacoplada visualmente del FAB:
   - sin punta/unión
   - mayor separación
   - sombra en capas
   - microanimación flotante */
.wa-widget{
  gap:22px !important;
}

.wa-message{
  border:1px solid rgba(25,42,62,.08) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.985) !important;
  box-shadow:
    0 24px 55px rgba(0,0,0,.24),
    0 8px 20px rgba(0,0,0,.12) !important;
  will-change:transform;
}

/* Quitar la flecha que hacía parecer la tarjeta pegada al botón */
.wa-message::after{
  display:none !important;
}

.wa-message.is-visible{
  animation:wa-card-float 3.4s ease-in-out infinite;
}

@keyframes wa-card-float{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-5px);
  }
}

/* FAB independiente de la tarjeta */
.wa-fab{
  position:relative;
  z-index:2;
}

@media(max-width:767px){
  .wa-widget{
    gap:18px !important;
  }

  .wa-message{
    border-radius:16px !important;
    box-shadow:
      0 18px 40px rgba(0,0,0,.23),
      0 6px 15px rgba(0,0,0,.11) !important;
  }
}

/* Sin movimiento cuando el sistema solicita reducir animaciones */
@media(prefers-reduced-motion:reduce){
  .wa-message.is-visible{
    animation:none !important;
  }
}

/* ===== CONTACTO · TICKER ===== */
/* Inspirado en la franja del video de referencia:
   una sola línea, sin cajas, movimiento continuo. */
.contact-ticker{
  position:relative;
  z-index:6;
  width:100%;
  
  overflow:hidden;
  
  
  
  
}

.contact-ticker-viewport{
  width:100%;
  
  overflow:hidden;
  display:flex;
  align-items:center;
}

.contact-ticker-track{
  display:flex;
  width:max-content;
  min-width:max-content;
  align-items:center;
  animation:kendarkTicker 34s linear infinite;
  will-change:transform;
}

.contact-ticker-group{
  display:flex;
  flex:none;
  align-items:center;
  white-space:nowrap;
}

.ticker-item{
  
  display:inline-flex;
  align-items:center;
  
  
  
  font-family:"Manrope",system-ui,sans-serif;
  
  line-height:1;
  
  white-space:nowrap;
}


a.ticker-item{
  transition:color .18s ease;
}


.ticker-icon{
  
  
  flex:0 0 20px;
  display:grid;
  place-items:center;
  
}

.ticker-icon svg{
  
  
  fill:none;
  stroke:currentColor;
  
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ticker-separator{
  flex:none;
  
  
  line-height:1;
  user-select:none;
}

@keyframes kendarkTicker{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

/* Pausa al interactuar para poder leer/clicar. */
.contact-ticker:hover .contact-ticker-track,
.contact-ticker:focus-within .contact-ticker-track{
  animation-play-state:paused;
}

@media(max-width:767px){
  .contact-ticker{
    height:43px;
  }

  .ticker-item{
    min-height:42px;
    padding:0 17px;
    gap:7px;
    font-size:11.5px;
  }

  .ticker-icon{
    width:17px;
    height:17px;
    flex-basis:17px;
  }

  .ticker-icon svg{
    width:16px;
    height:16px;
  }

  .contact-ticker-track{
    animation-duration:28s;
  }
}

@media(prefers-reduced-motion:reduce){
  .contact-ticker-track{
    animation:none;
  }

  .contact-ticker{
    overflow-x:auto;
    scrollbar-width:none;
  }

  .contact-ticker::-webkit-scrollbar{
    display:none;
  }
}

/* ===== CONTACTO · TICKER INTEGRADO ===== */
/* Más cercano a la barra del video:
   una línea fina, tipografía uniforme y bordes visuales suaves. */
.contact-ticker{
  height:39px !important;
  background:#F8F8F6 !important;
  color:#202020 !important;
  border-top:0 !important;
  border-bottom:1px solid rgba(0,0,0,.12) !important;
  box-shadow:none !important;
}

.contact-ticker-viewport{
  position:relative;
  height:100% !important;
}

/* Desvanecimiento muy sutil en los extremos para que el ticker
   no parezca cortado de golpe al entrar/salir del viewport. */
.contact-ticker-viewport::before,
.contact-ticker-viewport::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:34px;
  z-index:3;
  pointer-events:none;
}

.contact-ticker-viewport::before{
  left:0;
  background:linear-gradient(90deg,#F8F8F6 15%,rgba(248,248,246,0));
}

.contact-ticker-viewport::after{
  right:0;
  background:linear-gradient(270deg,#F8F8F6 15%,rgba(248,248,246,0));
}

.contact-ticker-track{
  height:100% !important;
  animation-duration:42s !important;
}

.contact-ticker-group{
  height:100% !important;
}

.ticker-item{
  min-height:38px !important;
  height:38px !important;
  padding:0 21px !important;
  gap:8px !important;
  color:#292929 !important;
  font-size:12.25px !important;
  font-weight:400 !important;
  letter-spacing:-.005em !important;
}

.ticker-item b{
  font-weight:400 !important;
}

a.ticker-item:hover{
  color:#000 !important;
}

.ticker-icon{
  width:18px !important;
  height:18px !important;
  flex-basis:18px !important;
  color:#F2B300 !important;
}

.ticker-icon svg{
  width:16px !important;
  height:16px !important;
  stroke-width:1.85 !important;
}

.ticker-separator{
  color:#C9CDD1 !important;
  font-size:11px !important;
}

/* La unión header → ticker → hero queda a ras. */
.site-header + .contact-ticker{
  margin:0 !important;
}

.contact-ticker + main{
  margin-top:0 !important;
}

@media(max-width:767px){
  .contact-ticker{
    height:36px !important;
  }

  .ticker-item{
    min-height:35px !important;
    height:35px !important;
    padding:0 15px !important;
    gap:7px !important;
    font-size:10.75px !important;
  }

  .ticker-icon{
    width:16px !important;
    height:16px !important;
    flex-basis:16px !important;
  }

  .ticker-icon svg{
    width:14px !important;
    height:14px !important;
  }

  .contact-ticker-track{
    animation-duration:36s !important;
  }

  .contact-ticker-viewport::before,
  .contact-ticker-viewport::after{
    width:20px;
  }
}

/* =========================================================
   HEADER · BUSCADOR
   Desktop: Logo | Search | Nav | CTA
   Tablet:  Logo | Search | Menu
   Mobile:  Logo | Menu / Search en segunda fila
   ========================================================= */

/* Desktop */
@media (min-width:1101px){
  .site-header{
    height:78px;
  }

  .header-inner{
    width:min(var(--max),calc(100% - 44px));
    min-height:78px;
    display:grid !important;
    grid-template-columns:
      200px
      minmax(210px,280px)
      minmax(0,1fr)
      auto;
    align-items:center;
    column-gap:22px;
    row-gap:0;
  }

  .brand{
    width:200px !important;
    flex:none !important;
    min-width:0;
  }

  .brand img{
    width:100% !important;
    height:46px !important;
    object-fit:contain;
    object-position:left center;
  }

  .header-search{
    width:100%;
    min-width:0;
    height:40px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 14px;
    margin:0;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:#fff;
    color:#202020;
    box-shadow:0 2px 8px rgba(0,0,0,.14);
    transition:border-color .18s ease,box-shadow .18s ease;
  }

  .header-search:focus-within{
    border-color:rgba(248,184,0,.9);
    box-shadow:
      0 0 0 3px rgba(248,184,0,.12),
      0 2px 8px rgba(0,0,0,.14);
  }

  .header-search-icon{
    width:18px;
    height:18px;
    flex:0 0 18px;
    display:grid;
    place-items:center;
    color:#68727c;
  }

  .header-search-icon svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .header-search input{
    width:100%;
    min-width:0;
    height:100%;
    padding:0;
    margin:0;
    border:0;
    outline:0;
    appearance:none;
    -webkit-appearance:none;
    background:transparent;
    color:#1d1d1d;
    font-family:"Manrope",system-ui,sans-serif;
    font-size:12px;
    font-weight:500;
    line-height:1;
  }

  .header-search input::placeholder{
    color:#8a9299;
    opacity:1;
  }

  .nav{
    min-width:0;
    margin-left:0 !important;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:clamp(14px,1.4vw,25px);
  }

  .nav a{
    font-size:12px;
  }

  .header-cta{
    margin-left:0 !important;
  }

  .header-cta .btn-yellow{
    min-width:166px;
    padding-inline:18px;
  }

  .menu-btn{
    display:none !important;
  }
}

/* Desktop intermedio: compactar sin romper */
@media (min-width:1101px) and (max-width:1320px){
  .header-inner{
    grid-template-columns:
      180px
      minmax(175px,210px)
      minmax(0,1fr)
      auto;
    column-gap:16px;
  }

  .brand{
    width:180px !important;
  }

  .nav{
    gap:13px;
  }

  .nav a{
    font-size:11px;
  }

  .header-cta .btn-yellow{
    min-width:150px;
    font-size:11.5px;
    padding-inline:14px;
  }

  .header-search input{
    font-size:11px;
  }
}

/* Tablet / notebook angosto:
   logo + buscador + hamburguesa; nav/CTA se despliegan abajo */
@media (min-width:701px) and (max-width:1100px){
  .site-header{
    height:auto !important;
    min-height:72px !important;
  }

  .header-inner{
    width:min(var(--max),calc(100% - 32px));
    min-height:72px;
    padding:10px 0 !important;
    display:grid !important;
    grid-template-columns:170px minmax(180px,1fr) 44px;
    align-items:center;
    gap:12px;
  }

  .brand{
    width:170px !important;
    flex:none !important;
  }

  .brand img{
    width:100% !important;
    height:42px !important;
  }

  .header-search{
    width:100%;
    min-width:0;
    height:40px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 13px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:#fff;
    color:#202020;
  }

  .header-search-icon{
    width:17px;
    height:17px;
    flex:0 0 17px;
    display:grid;
    place-items:center;
    color:#68727c;
  }

  .header-search-icon svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .header-search input{
    width:100%;
    min-width:0;
    height:100%;
    padding:0;
    border:0;
    outline:0;
    appearance:none;
    background:transparent;
    color:#1d1d1d;
    font:500 11.5px/1 "Manrope",system-ui,sans-serif;
  }

  .header-search input::placeholder{
    color:#8a9299;
  }

  .menu-btn{
    display:grid !important;
    place-items:center;
    margin:0 !important;
    width:44px;
    height:44px;
  }

  .nav,
  .header-cta{
    display:none !important;
    grid-column:1 / -1;
    width:100%;
    margin:0 !important;
  }

  .nav.open{
    display:flex !important;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    padding:12px 0 4px;
  }

  .header-cta.open{
    display:flex !important;
    padding:4px 0 8px;
  }
}

/* Mobile */
@media (max-width:700px){
  .site-header{
    height:auto !important;
    min-height:64px !important;
  }

  .header-inner{
    width:calc(100% - 28px) !important;
    min-height:64px;
    padding:9px 0 10px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 42px;
    align-items:center;
    gap:9px 12px;
  }

  .brand{
    width:min(170px,70vw) !important;
    flex:none !important;
  }

  .brand img{
    width:100% !important;
    height:40px !important;
  }

  .menu-btn{
    grid-column:2;
    grid-row:1;
    display:grid !important;
    place-items:center;
    width:42px !important;
    height:42px !important;
    margin:0 !important;
  }

  .header-search{
    grid-column:1 / -1;
    grid-row:2;
    width:100%;
    min-width:0;
    height:38px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 13px;
    margin:0;
    border:1px solid rgba(255,255,255,.17);
    border-radius:999px;
    background:#fff;
    color:#202020;
  }

  .header-search-icon{
    width:16px;
    height:16px;
    flex:0 0 16px;
    display:grid;
    place-items:center;
    color:#68727c;
  }

  .header-search-icon svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .header-search input{
    width:100%;
    min-width:0;
    height:100%;
    padding:0;
    border:0;
    outline:0;
    appearance:none;
    background:transparent;
    color:#1d1d1d;
    font:500 11.5px/1 "Manrope",system-ui,sans-serif;
  }

  .header-search input::placeholder{
    color:#8a9299;
  }

  .nav,
  .header-cta{
    display:none !important;
    grid-column:1 / -1;
    width:100%;
    margin:0 !important;
  }

  .nav.open{
    display:flex !important;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    padding:11px 0 3px;
  }

  .header-cta.open{
    display:flex !important;
    padding:3px 0 7px;
  }
}

/* ===== HEADER · CTA ===== */
/* CTA del header más discreto: sigue destacando sin dominar la navegación. */
@media (min-width:1101px){
  .header-cta .btn-yellow{
    min-width:138px !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 15px !important;
    border-radius:5px !important;
    font-size:11.25px !important;
    font-weight:600 !important;
    white-space:nowrap !important;
  }
}

@media (min-width:1101px) and (max-width:1320px){
  .header-cta .btn-yellow{
    min-width:130px !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 13px !important;
    font-size:10.75px !important;
  }
}

/* ===== HEADER · LOGIN ===== */
.header-cta{
  align-items:center;
  gap:8px !important;
}

.header-cta .btn-login{
  height:40px;
  min-height:40px;
  min-width:112px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:5px;
  background:transparent;
  color:#fff;
  font-size:11.25px;
  font-weight:600;
  white-space:nowrap;
  cursor:pointer;
  transition:
    border-color .18s ease,
    background .18s ease,
    color .18s ease;
}

.header-cta .btn-login:hover{
  border-color:#F8B800;
  background:rgba(248,184,0,.08);
  color:#F8B800;
}

.header-cta .btn-login:focus-visible{
  outline:2px solid #F8B800;
  outline-offset:3px;
}

/* Desktop intermedio: mantener ambos CTA sin comprimir el menú */
@media (min-width:1101px) and (max-width:1320px){
  .header-cta{
    gap:6px !important;
  }

  .header-cta .btn-yellow{
    min-width:122px !important;
    padding-inline:12px !important;
  }

  .header-cta .btn-login{
    min-width:96px;
    height:38px;
    min-height:38px;
    padding:0 10px;
    font-size:10.5px;
  }
}

/* En menú móvil ambos botones quedan ordenados y táctiles */
@media (max-width:1100px){
  .header-cta.open{
    gap:10px !important;
    flex-wrap:wrap;
  }

  .header-cta .btn-login{
    min-height:44px;
    height:44px;
    min-width:130px;
    padding:0 16px;
  }
}

@media (max-width:520px){
  .header-cta.open{
    flex-direction:column;
    align-items:stretch;
  }

  .header-cta.open .btn{
    width:100% !important;
  }

  .header-cta .btn-login{
    width:100%;
  }
}

/* ===== HEADER · LOGIN RESPONSIVE ===== */
@media (min-width:1101px){
  .header-cta{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    white-space:nowrap !important;
  }

  .header-cta .btn-login{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:40px !important;
    min-height:40px !important;
    min-width:112px !important;
    padding:0 14px !important;
    border:1px solid rgba(255,255,255,.35) !important;
    border-radius:5px !important;
    background:transparent !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:600 !important;
    white-space:nowrap !important;
    cursor:pointer !important;
  }

  .header-cta .btn-login:hover{
    border-color:#F8B800 !important;
    color:#F8B800 !important;
    background:rgba(248,184,0,.07) !important;
  }
}

@media (min-width:1101px) and (max-width:1320px){
  .header-cta{
    gap:6px !important;
  }

  .header-cta .btn-login{
    min-width:96px !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 10px !important;
    font-size:10.25px !important;
  }
}

@media (max-width:1100px){
  .header-cta.open .btn-login{
    display:inline-flex !important;
  }
}

/* ===== HERO · DESKTOP FULL VIEWPORT ===== */
/* Full viewport without moving the approved advertising composition.
   Desktop image is 3:1, so right anchoring protects vehicle + clutch
   when object-fit:cover needs to crop horizontally. */
@media (min-width:1200px){

  .hero{
    aspect-ratio:auto !important;
    height:calc(100vh - 117px) !important;
    height:calc(100dvh - 117px) !important;
    min-height:560px !important;
    max-height:none !important;
    overflow:hidden !important;
  }

  .hero-art{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
  }

  .hero-art img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;

    /* Protect the important right-hand subjects.
       The necessary crop is taken mainly from empty left scenery. */
    object-position:right center !important;
  }

  .hero-inner{
    width:min(var(--max),calc(100% - 64px)) !important;
    height:100% !important;
    min-height:0 !important;
    margin:auto !important;

    /* Do not bottom-anchor the copy when the hero grows. */
    display:flex !important;
    align-items:flex-start !important;

    /* Restores approximately the original visual position. */
    padding-top:clamp(90px,13dvh,120px) !important;
    padding-bottom:48px !important;
    box-sizing:border-box !important;
  }

  .hero-copy{
    transform:none !important;
  }

  .slide-status{
    bottom:14px !important;
  }
}

/* Short desktop screens: preserve the 110 px H1 and keep the CTA visible. */
@media (min-width:1200px) and (max-height:760px){
  .hero{
    min-height:560px !important;
  }

  .hero-inner{
    padding-top:72px !important;
    padding-bottom:40px !important;
  }
}

/* ===== HERO · TÍTULO DESKTOP ===== */
/* Implementación final:
   - Mobile conserva el ¿ original.
   - Desktop usa UN SOLO "?" real rotado 180°, sin ::before.
   - aria-label del H1 mantiene la frase correcta para accesibilidad. */

.qmark-desktop{
  display:none;
}

@media (min-width:1200px){

  .hero h1{
    font-size:110px !important;
    line-height:.84 !important;
    letter-spacing:-.028em !important;
  }

  .hero-line,
  .hero-line-text,
  .hero-line-1,
  .hero-line-2{
    font-size:1em !important;
    line-height:inherit !important;
    font-weight:inherit !important;
    letter-spacing:inherit !important;
  }

  .hero-line-1{
    position:relative !important;
    display:block !important;
    padding-left:.47em !important;
  }

  .hero-line-1 .hero-line-text{
    display:block !important;
  }

  /* El glifo ¿ original no se renderiza en desktop. */
  .hero .qmark-mobile{
    display:none !important;
  }

  /* Único signo visible en desktop. */
  .hero .qmark-desktop{
    position:absolute !important;
    left:.064em !important;
    top:.082em !important;

    display:block !important;
    width:.42em !important;
    height:.84em !important;
    margin:0 !important;

    color:#fff !important;
    font-family:"Barlow Condensed","Arial Narrow",sans-serif !important;
    font-size:1em !important;
    font-weight:700 !important;
    line-height:.84 !important;
    letter-spacing:-.028em !important;

    transform:rotate(180deg) !important;
    transform-origin:50% 50% !important;
  }

  .hero-line-2{
    display:block !important;
    margin-top:.10em !important;
  }
}

@media (max-width:1199px){
  .hero .qmark-desktop{
    display:none !important;
  }

  .hero .qmark-mobile{
    display:inline-block;
  }
}

/* ===== HERO · BALANCE Y WHATSAPP ===== */
/* Ajuste fino aprobado:
   1) bajar ligeramente todo el copy en desktop;
   2) reducir la tarjeta de WhatsApp y despejar el producto. */

@media (min-width:1200px){
  .hero-copy{
    transform:translateY(25px) !important;
  }

  /* La tarjeta queda más compacta y desacoplada del embrague. */
  .wa-widget{
    right:22px !important;
    bottom:22px !important;
  }

  .wa-message{
    position:absolute !important;
    right:0 !important;
    bottom:94px !important;
    width:238px !important;
    padding:12px 38px 13px 15px !important;
    border-radius:15px !important;
    box-shadow:
      0 18px 42px rgba(0,0,0,.20),
      0 5px 14px rgba(0,0,0,.10) !important;
  }

  .wa-message strong{
    margin-bottom:3px !important;
    font-size:14px !important;
    line-height:1.2 !important;
  }

  .wa-message span{
    font-size:12px !important;
    line-height:1.38 !important;
  }

  .wa-message-close{
    top:7px !important;
    right:7px !important;
    width:26px !important;
    height:26px !important;
    font-size:19px !important;
    line-height:26px !important;
  }

  .wa-fab{
    width:58px !important;
    height:58px !important;
  }

  .wa-fab svg{
    width:33px !important;
    height:33px !important;
  }
}

/* Evitar que el desplazamiento del copy comprometa el CTA
   en notebooks con poca altura vertical. */
@media (min-width:1200px) and (max-height:760px){
  .hero-copy{
    transform:translateY(16px) !important;
  }
}

/* Mobile queda con la composición aprobada; solo mantenemos
   el widget dentro de dimensiones cómodas. */
@media (max-width:767px){
  .hero-copy{
    transform:none !important;
  }
}

/* ===== HERO · CARRUSEL ===== */
/* No modifica la apariencia aprobada del Slide 1.
   Solo hace interactivos los dots 1 y 2. */
.slide-status .dot[data-slide-to]{
  cursor:pointer;
}
.slide-status .dot[data-slide-to]:focus-visible{
  outline:2px solid rgba(255,255,255,.95);
  outline-offset:3px;
}

/* Cambio directo: sin opacity/fade y sin sombras nuevas. */

/* ===== HERO · CAMPAÑA DIAGNÓSTICO ===== */
.hero[data-campaign="diagnostico"] .hero-copy{
  max-width:690px;
}

.hero[data-campaign="diagnostico"] .hero-copy h1,
.hero[data-campaign="diagnostico"] .hero-subtitle,
.hero[data-campaign="diagnostico"] .hero-lead{
  text-shadow:0 2px 10px rgba(0,0,0,.28);
}

@media (max-width:1199px){
  .hero[data-campaign="diagnostico"] .hero-art img{
    object-position:right center !important;
  }
}

@media (max-width:767px){
  .hero[data-campaign="diagnostico"] .hero-copy{
    max-width:62%;
  }
  .hero[data-campaign="diagnostico"] .hero-subtitle{
    max-width:230px;
  }
  .hero[data-campaign="diagnostico"] .hero-lead{
    max-width:210px;
  }
}

/* ===== HERO · CAMPAÑA MANTENCIÓN ===== */
/* Mantiene el overlay estándar del hero; no agrega bloque/panel negro. */
.hero-line-3{
  display:block;
  margin-top:.10em !important;
  white-space:nowrap;
}

.hero-line-3[hidden]{
  display:none !important;
}

.hero[data-campaign="mantencion"] .hero-copy{
  max-width:720px;
}

.hero[data-campaign="mantencion"] .hero-copy h1,
.hero[data-campaign="mantencion"] .hero-subtitle,
.hero[data-campaign="mantencion"] .hero-lead{
  text-shadow:0 2px 10px rgba(0,0,0,.24);
}

@media (max-width:1199px){
  .hero[data-campaign="mantencion"] .hero-art img{
    object-position:center center !important;
  }
}

@media (max-width:767px){
  .hero[data-campaign="mantencion"] .hero-copy{
    max-width:none !important;
  }

  .hero[data-campaign="mantencion"] .hero-subtitle{
    width:min(75%,270px) !important;
    max-width:270px !important;
  }

  .hero[data-campaign="mantencion"] .hero-lead{
    width:min(73%,260px) !important;
    max-width:260px !important;
  }
}


/* ===== HERO · CAMPAÑA PARABRISAS ===== */
.hero[data-campaign="parabrisas"] .hero-copy{
  max-width:760px;
}

.hero[data-campaign="parabrisas"] .hero-copy h1,
.hero[data-campaign="parabrisas"] .hero-subtitle,
.hero[data-campaign="parabrisas"] .hero-lead{
  text-shadow:0 2px 10px rgba(0,0,0,.24);
}

@media (max-width:1199px){
  .hero[data-campaign="parabrisas"] .hero-art img{
    object-position:center center !important;
  }
}

@media (max-width:767px){
  .hero[data-campaign="parabrisas"] .hero-copy{
    max-width:none !important;
  }

  .hero[data-campaign="parabrisas"] .hero-subtitle{
    width:min(78%,290px) !important;
    max-width:290px !important;
  }

  .hero[data-campaign="parabrisas"] .hero-lead{
    width:min(74%,260px) !important;
    max-width:260px !important;
  }
}


/* ===== HERO · CAMPAÑA GRÚA ===== */
.hero[data-campaign="grua"] .hero-copy{
  max-width:720px;
}

.hero[data-campaign="grua"] .hero-copy h1,
.hero[data-campaign="grua"] .hero-subtitle,
.hero[data-campaign="grua"] .hero-lead{
  text-shadow:0 2px 10px rgba(0,0,0,.26);
}

/* El asset desktop/tablet ya tiene la proporción final,
   por lo que el navegador no necesita recortarlo nuevamente. */
.hero[data-campaign="grua"] .hero-art img{
  object-position:center center !important;
}

@media (max-width:767px){
  .hero[data-campaign="grua"] .hero-copy{
    max-width:none !important;
  }

  .hero[data-campaign="grua"] .hero-subtitle{
    width:min(78%,285px) !important;
    max-width:285px !important;
  }

  .hero[data-campaign="grua"] .hero-lead{
    width:min(74%,255px) !important;
    max-width:255px !important;
  }
}


/* ===== HERO · FLECHAS ===== */
.hero-arrows{
  position:absolute;
  inset:0;
  z-index:6;
  pointer-events:none;
}

.hero-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  padding:0;
  border:1px solid rgba(255,255,255,.36);
  border-radius:50%;
  background:rgba(0,0,0,.34);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  display:grid;
  place-items:center;
  cursor:pointer;
  pointer-events:auto;
  transition:
    background .18s ease,
    border-color .18s ease,
    transform .18s ease;
}

.hero-arrow-prev{left:20px;}
.hero-arrow-next{right:20px;}

.hero-arrow span{
  display:block;
  width:12px;
  height:12px;
  border-top:3px solid #fff;
  border-right:3px solid #fff;
}

.hero-arrow-prev span{
  transform:translateX(2px) rotate(-135deg);
}

.hero-arrow-next span{
  transform:translateX(-2px) rotate(45deg);
}

.hero-arrow:hover{
  background:var(--yellow);
  border-color:var(--yellow);
  transform:translateY(-50%) scale(1.06);
}

.hero-arrow:hover span{
  border-color:#111;
}

.hero-arrow:focus-visible{
  outline:3px solid rgba(248,184,0,.42);
  outline-offset:3px;
}

@media (max-width:1199px){
  .hero-arrow{
    width:42px;
    height:42px;
  }
  .hero-arrow-prev{left:12px;}
  .hero-arrow-next{right:12px;}
}

@media (max-width:767px){
  .hero-arrow{
    width:36px;
    height:36px;
    top:47%;
    background:rgba(0,0,0,.42);
  }

  .hero-arrow-prev{left:8px;}
  .hero-arrow-next{right:8px;}

  .hero-arrow span{
    width:10px;
    height:10px;
    border-top-width:2px;
    border-right-width:2px;
  }
}


/* ===== HERO · ESPACIO DE FLECHAS DESKTOP ===== */
/* Reserva un carril para la flecha izquierda.
   Solo escritorio: no altera tablet ni mobile. */
@media (min-width:1200px){
  .hero-copy{
    margin-left:clamp(56px,3.2vw,68px) !important;
  }
}


/* ===== HERO · SAFE AREA MOBILE ===== */
/* En teléfono, las flechas tienen su propio carril lateral.
   El copy nunca queda debajo de ellas. Desktop/tablet no cambian. */
@media (max-width:767px){
  .hero-inner{
    padding-left:clamp(44px,11.5vw,52px) !important;
    padding-right:clamp(44px,11.5vw,52px) !important;
  }

  .hero-copy{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .hero h1{
    max-width:100% !important;
  }

  .hero-arrow{
    width:32px;
    height:32px;
    top:48%;
    background:rgba(0,0,0,.48);
  }

  .hero-arrow-prev{left:6px;}
  .hero-arrow-next{right:6px;}

  .hero-arrow span{
    width:9px;
    height:9px;
  }

  /* El CTA también queda dentro del área segura. */
  .hero-actions,
  .hero-actions .btn{
    max-width:100% !important;
  }
}

/* Teléfonos angostos: preservar los títulos sin recortes
   dentro de los carriles reservados para las flechas. */
@media (max-width:359px){
  .hero-inner{
    padding-left:40px !important;
    padding-right:40px !important;
  }

  .hero h1{
    font-size:36px !important;
    line-height:.84 !important;
  }

  .hero-subtitle{
    font-size:14.5px !important;
    line-height:1.04 !important;
  }

  .hero-lead{
    font-size:12px !important;
    line-height:1.30 !important;
  }

  .hero-actions .btn{
    min-height:38px !important;
    font-size:11.5px !important;
  }

  .hero-arrow{
    width:30px;
    height:30px;
  }
}


/* ===== HEADER · FILA ÚNICA MOBILE ===== */
/* Móvil: KENDARK | Buscar… | Menú, todo en una sola fila. */
@media (max-width:700px){
  .site-header{
    min-height:60px !important;
    height:60px !important;
  }

  .header-inner{
    width:calc(100% - 20px) !important;
    min-height:60px !important;
    height:60px !important;
    padding:7px 0 !important;
    display:grid !important;
    grid-template-columns:clamp(96px,28vw,124px) minmax(0,1fr) 38px !important;
    grid-template-rows:1fr !important;
    align-items:center !important;
    gap:8px !important;
  }

  .brand{
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:124px !important;
    flex:none !important;
  }

  .brand img{
    width:100% !important;
    height:34px !important;
    max-height:34px !important;
    object-fit:contain !important;
    object-position:left center !important;
  }

  .header-search{
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    height:34px !important;
    margin:0 !important;
    padding:0 9px !important;
    gap:6px !important;
    border-radius:999px !important;
  }

  .header-search-icon{
    width:14px !important;
    height:14px !important;
    flex:0 0 14px !important;
  }

  .header-search-icon svg{
    width:14px !important;
    height:14px !important;
  }

  .header-search input{
    min-width:0 !important;
    width:100% !important;
    font-size:10.5px !important;
    text-overflow:ellipsis !important;
  }

  .menu-btn{
    grid-column:3 !important;
    grid-row:1 !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    margin:0 !important;
    padding:0 !important;
    font-size:20px !important;
  }

  .nav,
  .header-cta{
    grid-column:1 / -1 !important;
  }

  /* Menú abierto: cae debajo de la fila principal sin mover el buscador. */
  .header-inner:has(.nav.open),
  .header-inner:has(.header-cta.open){
    height:auto !important;
    min-height:60px !important;
    grid-template-rows:46px auto auto !important;
  }

  .nav.open{
    grid-row:2 !important;
    padding:10px 0 4px !important;
  }

  .header-cta.open{
    grid-row:3 !important;
    padding:4px 0 8px !important;
  }
}

/* Teléfonos muy angostos: compactar sin bajar el buscador. */
@media (max-width:360px){
  .header-inner{
    width:calc(100% - 16px) !important;
    grid-template-columns:92px minmax(0,1fr) 36px !important;
    gap:6px !important;
  }

  .brand{
    max-width:92px !important;
  }

  .brand img{
    height:31px !important;
    max-height:31px !important;
  }

  .header-search{
    height:32px !important;
    padding-inline:8px !important;
  }

  .header-search input{
    font-size:10px !important;
  }

  .menu-btn{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
  }
}


/* ==================================================================
   KENDARK — TRANSPORTE PRIVADO / MARCAS
   SECCIÓN FLOTAS · BLOQUE CANÓNICO
   ================================================================== */

.transport-section{
  position:relative;
  overflow:hidden;
  padding:0 0 72px;
  color:#111;
  background:#f7f7f5;
}


/* ---------- INTRO ---------- */
.transport-intro-v58{
  display:grid;
  grid-template-columns:minmax(0,1.14fr) minmax(360px,.86fr);
  column-gap:clamp(48px,5.4vw,96px);
  row-gap:0;
  align-items:start;
  padding-top:8px;
  padding-bottom:36px;
}

.transport-intro-primary,
.transport-intro-secondary{
  min-width:0;
}

.transport-intro-v58 h2{
  margin:0;
  
  color:#111;
  font-family:"Barlow Condensed","Arial Narrow",sans-serif;
  font-size:clamp(44px,3.48vw,58px);
  font-weight:700;
  line-height:.96;
  letter-spacing:-.022em;
  text-transform:uppercase;
}

.transport-intro-secondary{
  align-self:start;
  margin-top:0;
  padding:5px 0 4px 24px;
  border-left:2px solid #F8B800;
}

.transport-intro-secondary > p{
  margin:0;
  max-width:570px;
  color:rgba(17,17,17,.68);
  font-size:15px;
  line-height:1.58;
}

.transport-capabilities{
  display:flex;
  flex-wrap:wrap;
  gap:9px 20px;
  margin-top:16px;
  padding:0;
  border:0;
}

.transport-capabilities span{
  position:relative;
  padding-left:14px;
  color:#181818;
  font-size:11.5px;
  line-height:1.35;
  font-weight:650;
}

.transport-capabilities span::before{
  content:"";
  position:absolute;
  left:0;
  top:.5em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#F8B800;
}

/* ---------- MARCAS ---------- */
.brand-marquee-wrap{
  grid-column:1 / -1;
  position:relative;
  display:flex;
  align-items:center;
  height:68px;
  margin:8px 0 22px;
  padding:0;
  overflow:hidden;
  background:transparent;
  border:0;
}

.brand-marquee{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  height:100%;
  padding-inline:50px;
  overflow:hidden;
}

.brand-marquee::before,
.brand-marquee::after{
  content:"";
  position:absolute;
  z-index:3;
  top:0;
  bottom:0;
  width:48px;
  pointer-events:none;
}

.brand-marquee::before{
  left:0;
  background:linear-gradient(90deg,#f7f7f5 0%,rgba(247,247,245,.88) 36%,rgba(247,247,245,0) 100%);
}

.brand-marquee::after{
  right:0;
  background:linear-gradient(270deg,#f7f7f5 0%,rgba(247,247,245,.88) 36%,rgba(247,247,245,0) 100%);
}

.brand-marquee-track{
  --brand-gap:clamp(58px,4.7vw,88px);
  display:flex;
  align-items:center;
  gap:0;
  width:max-content;
  min-width:max-content;
  padding:0;
  animation:kendarkBrandMarqueeV70 47s linear infinite;
  will-change:transform;
}

.brand-marquee-group{
  display:flex;
  flex:none;
  align-items:center;
  gap:var(--brand-gap);
  padding-right:var(--brand-gap);
}

.brand-marquee:hover .brand-marquee-track{
  animation-play-state:paused;
}

.brand-logo-item{
  flex:0 0 112px;
  width:112px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:transparent;
  opacity:.94;
  transition:opacity .2s ease, transform .2s ease;
}

.brand-logo-item:hover{
  opacity:1;
  transform:translateY(-1px);
}

.brand-logo-item img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  object-fit:contain;
  object-position:center;
  image-rendering:auto;
  filter:none;
}

.brand-logo-item img[alt="Citroën"]{
  width:56px;
  max-height:56px;
}

.brand-logo-item img[alt="Peugeot"]{
  width:54px;
  max-height:58px;
}

.brand-logo-item img[alt="Mercedes-Benz"]{
  width:46px;
  height:46px;
}

.brand-logo-item img[alt="Hyundai"]{
  width:68px;
  max-height:39px;
}

.brand-logo-item img[alt="Toyota"]{
  width:55px;
  max-height:47px;
}

.brand-logo-item img[alt="Volkswagen"]{
  width:46px;
  height:46px;
}

.brand-logo-item img[alt="Renault"]{
  width:39px;
  max-height:47px;
}

.brand-logo-item img[alt="Kia"]{
  width:70px;
  max-height:29px;
}

@keyframes kendarkBrandMarqueeV70{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(-50%,0,0);}
}

/* ---------- TARJETAS ---------- */


.transport-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}

.transport-card{
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(0,0,0,.105);
  border-radius:12px;
  box-shadow:0 10px 28px rgba(0,0,0,.055);
  transition:transform .22s ease, box-shadow .22s ease;
}

.transport-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(0,0,0,.075);
}

.transport-card-featured{
  border-color:rgba(0,0,0,.105);
  box-shadow:0 12px 32px rgba(0,0,0,.07);
}

.transport-card-featured::before{
  content:"";
  position:absolute;
  z-index:4;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:#F8B800;
}

.transport-card-media{
  position:relative;
  aspect-ratio:1.34 / 1;
  overflow:hidden;
  background:#ececea;
}

.transport-card-media::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  
  
  pointer-events:none;
}

.transport-card-media img{
  
  
  
  
  object-position:center;
  transition:transform .35s ease;
}


.transport-card-copy{
  display:flex;
  flex:1;
  flex-direction:column;
  
  
  background:#fff;
}

.transport-card-title{
  
  display:flex;
  align-items:center;
  
  
  border-bottom:1px solid rgba(248,184,0,.40);
}

.transport-card-title svg{
  width:25px;
  height:25px;
  flex:none;
  fill:none;
  stroke:#E6A900;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.transport-card-title h3{
  margin:0;
  color:#111;
  font-family:"Barlow Condensed","Arial Narrow",sans-serif;
  
  line-height:1.02;
  
  
  text-transform:uppercase;
}


.transport-card-copy p{
  margin:11px 0 0;
  color:rgba(17,17,17,.64);
  
  
}

/* Destacado sutil: sin borde amarillo completo. */
.transport-badge{
  position:absolute;
  z-index:5;
  
  
  display:flex;
  align-items:center;
  
  
  color:#fff;
  
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  
  backdrop-filter:blur(7px);
  
  line-height:1;
  
  
  text-transform:uppercase;
}

.transport-badge svg{
  
  
  fill:#F8B800;
  stroke:none;
}

/* ---------- CTA ---------- */
.transport-cta{
  
  display:flex;
  align-items:center;
  justify-content:space-between;
  
  
  overflow:hidden;
  color:#fff;
  background:#111;
  
  
}

.transport-cta-copy{
  min-width:0;
}

.transport-cta-copy > span{
  display:block;
  
  color:#F8B800;
  
  line-height:1.2;
  font-weight:750;
  
  text-transform:uppercase;
}

.transport-cta h3{
  margin:0;
  color:#fff;
  font-family:"Barlow Condensed","Arial Narrow",sans-serif;
  
  
  font-weight:700;
  letter-spacing:-.015em;
  text-transform:uppercase;
}

.transport-cta p{
  margin:7px 0 0;
  color:rgba(255,255,255,.62);
  
  
}

.transport-cta-button{
  flex:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  
  
  color:#111;
  background:#F8B800;
  border:1px solid #F8B800;
  
  
  line-height:1;
  font-weight:800;
  
  text-decoration:none;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}

.transport-cta-button:hover{
  background:#FFD044;
  border-color:#FFD044;
  transform:translateY(-1px);
}

.transport-cta-button:focus-visible{
  outline:3px solid rgba(248,184,0,.28);
  outline-offset:3px;
}

/* ---------- WHATSAPP ---------- */
/* Sigue visible hasta X, pero deja libre la quinta tarjeta en desktop. */
.wa-widget{
  right:18px;
  bottom:18px;
}

.wa-fab{
  right:18px;
  bottom:18px;
}

.wa-message{
  right:84px;
  bottom:22px;
  max-width:208px;
  padding:12px 36px 12px 14px;
}

.wa-message::after{
  right:-7px;
  bottom:20px;
}

.wa-message strong{
  font-size:13px;
}

.wa-message span{
  font-size:11.5px;
  line-height:1.35;
}

/* ---------- TABLET ---------- */
@media (max-width:1199px){
  .transport-section{
    padding-bottom:62px;
  }

  .transport-intro-v58{
    grid-template-columns:minmax(0,1fr) minmax(305px,.82fr);
    column-gap:38px;
    padding-bottom:32px;
  }

  .brand-marquee-wrap{
    height:64px;
    margin:7px 0 19px;
  }

  .brand-marquee{
    padding-inline:38px;
  }

  .brand-marquee-track{
    --brand-gap:48px;
    animation-duration:43s;
  }

  .brand-logo-item{
    flex-basis:102px;
    width:102px;
    height:54px;
  }

  .transport-intro-v58 h2{
    max-width:720px;
    font-size:clamp(41px,4.6vw,53px);
  }

  .transport-intro-secondary{
    padding-left:19px;
  }

  .transport-intro-secondary > p{
    font-size:14.5px;
  }

  .transport-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .transport-card-copy{
    min-height:150px;
  }
}

/* ---------- MOBILE ---------- */
@media (max-width:767px){
  .transport-section{
    padding-bottom:46px;
  }

  .transport-intro-v58{
    display:block;
    padding-top:5px;
    padding-bottom:25px;
  }

  .brand-marquee-wrap{
    height:58px;
    margin:5px 0 15px;
  }

  .brand-marquee::before,
  .brand-marquee::after{
    width:22px;
  }

  .brand-marquee{
    padding-inline:22px;
  }

  .brand-marquee-track{
    --brand-gap:32px;
    animation-duration:38s;
  }

  .brand-logo-item{
    flex-basis:86px;
    width:86px;
    height:48px;
  }

  .brand-logo-item img[alt="Citroën"]{width:43px;max-height:43px;}
  .brand-logo-item img[alt="Peugeot"]{width:42px;max-height:45px;}
  .brand-logo-item img[alt="Mercedes-Benz"]{width:36px;height:36px;}
  .brand-logo-item img[alt="Hyundai"]{width:55px;}
  .brand-logo-item img[alt="Toyota"]{width:44px;}
  .brand-logo-item img[alt="Volkswagen"]{width:36px;height:36px;}
  .brand-logo-item img[alt="Renault"]{width:31px;}
  .brand-logo-item img[alt="Kia"]{width:57px;}

  .transport-intro-v58 h2{
    max-width:540px;
    font-size:clamp(36px,9.7vw,45px);
    line-height:.96;
  }

  .transport-intro-secondary{
    margin-top:19px;
    padding:0 0 0 14px;
    border-left-width:2px;
  }

  .transport-intro-secondary > p{
    max-width:560px;
    font-size:13.5px;
    line-height:1.52;
  }

  .transport-capabilities{
    gap:8px 14px;
    margin-top:13px;
  }

  .transport-capabilities span{
    font-size:10.8px;
  }

  .transport-grid{
    display:flex;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding:4px 0 13px;
    scrollbar-width:none;
  }

  .transport-grid::-webkit-scrollbar{
    display:none;
  }

  .transport-card{
    flex:0 0 min(82vw,315px);
    scroll-snap-align:start;
  }

  .transport-card-media{
    aspect-ratio:1.45 / 1;
  }

  .transport-card-copy{
    min-height:145px;
    padding:14px 15px 16px;
  }

  .transport-card-title{
    min-height:35px;
    padding-bottom:9px;
  }

  .transport-card-title svg{
    width:23px;
    height:23px;
  }

  .transport-card-title h3,
  .transport-card:nth-child(4) .transport-card-title h3,
  .transport-card:nth-child(5) .transport-card-title h3{
    font-size:19px;
  }

  .transport-card-copy p{
    margin-top:10px;
    font-size:13px;
  }

  .transport-badge{
    top:10px;
    left:11px;
    padding:6px 8px;
    font-size:9px;
  }

  .transport-cta{
    margin-top:22px;
    display:block;
    padding:20px 18px;
  }

  .transport-cta h3{
    max-width:440px;
    font-size:27px;
  }

  .transport-cta p{
    max-width:460px;
  }

  .transport-cta-button{
    width:100%;
    margin-top:16px;
  }

  .wa-widget{
    right:12px;
    bottom:14px;
  }

  .wa-fab{
    right:12px;
    bottom:14px;
  }

  .wa-message{
    right:10px;
    bottom:76px;
    max-width:min(220px,72vw);
    padding:12px 34px 12px 14px;
  }

  .wa-message::after{
    right:18px;
    bottom:-7px;
  }
}

@media (max-width:380px){
  .transport-card{
    flex-basis:84vw;
  }

  .transport-intro-v58 h2{
    font-size:35px;
  }
}

@media (prefers-reduced-motion:reduce){
  .brand-marquee{
    overflow-x:auto;
    scrollbar-width:none;
  }

  .brand-marquee::-webkit-scrollbar{
    display:none;
  }

  .brand-marquee-track{
    animation:none;
  }

  .transport-card,
  .transport-card-media img,
  .transport-cta-button,
  .brand-logo-item{
    transition:none;
  }
}


/* ===== FLOTAS · COMPOSICIÓN ===== */
.transport-cta{
  margin-top:26px;
}
@media (max-width:767px){
  .transport-cta{
    margin-top:20px;
  }
}


/* ===== FLOTAS · TARJETAS ===== */
.transport-card-copy{
  min-height:132px;
  padding:13px 16px 15px;
}

.transport-card-title{
  min-height:34px;
  padding-bottom:8px;
}


.transport-card:nth-child(4) .transport-card-title h3,
.transport-card:nth-child(5) .transport-card-title h3{
  font-size:18px;
}

.transport-card-copy p{
  margin-top:9px;
  font-size:13px;
  line-height:1.42;
}

@media (max-width:767px){
  .transport-card{
    flex-basis:min(76vw,290px);
  }

  .transport-card-media{
    aspect-ratio:1.52 / 1;
  }

  .transport-card-copy{
    min-height:108px;
    padding:11px 13px 12px;
  }

  .transport-card-title{
    min-height:30px;
    gap:8px;
    padding-bottom:7px;
  }

  .transport-card-title svg{
    width:20px;
    height:20px;
  }

  .transport-card-title h3,
  .transport-card:nth-child(4) .transport-card-title h3,
  .transport-card:nth-child(5) .transport-card-title h3{
    font-size:17px;
    line-height:1;
  }

  .transport-card-copy p{
    margin-top:7px;
    font-size:11.8px;
    line-height:1.35;
  }
}

@media (max-width:380px){
  .transport-card{
    flex-basis:80vw;
  }

  .transport-card-title h3,
  .transport-card:nth-child(4) .transport-card-title h3,
  .transport-card:nth-child(5) .transport-card-title h3{
    font-size:16.5px;
  }

  .transport-card-copy p{
    font-size:11.5px;
  }
}

/* ===== FLOTAS · ICONOS ===== */
.transport-card-title .transport-icon-img{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:block;
  object-fit:contain;
  object-position:center;
  image-rendering:auto;
  filter:none;
}

.transport-card-title{
  gap:10px;
}

/* Los iconos detallados necesitan un poco más de presencia que un pictograma lineal. */
.transport-card-title h3{
  min-width:0;
}

@media (max-width:1199px){
  .transport-card-title .transport-icon-img{
    width:35px;
    height:35px;
    flex-basis:35px;
  }
}

@media (max-width:767px){
  .transport-card-title{
    min-height:33px;
    gap:8px;
  }

  .transport-card-title .transport-icon-img{
    width:31px;
    height:31px;
    flex-basis:31px;
  }
}

@media (max-width:380px){
  .transport-card-title .transport-icon-img{
    width:29px;
    height:29px;
    flex-basis:29px;
  }
}

/* ===== FLOTAS · FOTOGRAFÍAS ===== */
.transport-intro-v58 h2{
  max-width:900px;
}

.transport-capabilities{
  max-width:620px;
}

.transport-card-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

/* Cada tarjeta tiene un foco distinto para evitar repetición visual. */
.transport-card:nth-child(1) .transport-card-media img{
  object-position:49% 51%;
}

.transport-card:nth-child(2) .transport-card-media img{
  object-position:53% 52%;
}

.transport-card:nth-child(3) .transport-card-media img{
  object-position:50% 51%;
}

.transport-card:nth-child(4) .transport-card-media img{
  object-position:52% 51%;
}

.transport-card:nth-child(5) .transport-card-media img{
  object-position:50% 50%;
}


@media (max-width:767px){
  .transport-intro-v58 h2{
    font-size:clamp(34px,9.3vw,43px);
  }

  .transport-card:nth-child(3) .transport-card-title h3,
  .transport-card:nth-child(4) .transport-card-title h3,
  .transport-card:nth-child(5) .transport-card-title h3{
    font-size:16px;
  }

  .transport-card:nth-child(1) .transport-card-media img{object-position:48% 52%;}
  .transport-card:nth-child(2) .transport-card-media img{object-position:55% 52%;}
  .transport-card:nth-child(3) .transport-card-media img{object-position:50% 52%;}
  .transport-card:nth-child(4) .transport-card-media img{object-position:54% 52%;}
  .transport-card:nth-child(5) .transport-card-media img{object-position:50% 51%;}

  

  

  
}


/* ==================================================================
   FLOTAS · AJUSTES FINALES
   Sin cambio de concepto ni fotografías.
   ================================================================== */

/* 1. Fotografías: más limpias y vivas, sin apariencia procesada. */
.transport-card-media::after{
  height:18%;
  background:linear-gradient(0deg,rgba(0,0,0,.075),transparent);
}

.transport-card-media img{
  image-rendering:auto;
  filter:contrast(1.035) saturate(1.018);
  backface-visibility:hidden;
}

/* Hover apenas perceptible: evita perder nitidez por exceso de zoom. */
.transport-card:hover .transport-card-media img{
  transform:scale(1.01);
}

/* 2. Títulos: mayor presencia frente a las fotografías. */
.transport-card-title h3{
  font-size:20.8px;
  font-weight:750;
  letter-spacing:-.015em;
}

.transport-card:nth-child(3) .transport-card-title h3,
.transport-card:nth-child(4) .transport-card-title h3,
.transport-card:nth-child(5) .transport-card-title h3{
  font-size:19px;
}

/* 3. Destacado de empresa: más discreto y premium. */
.transport-badge{
  top:12px;
  left:13px;
  gap:5px;
  padding:5px 8px;
  font-size:8.5px;
  font-weight:750;
  letter-spacing:.05em;
  background:rgba(17,17,17,.82);
  box-shadow:0 2px 7px rgba(0,0,0,.10);
}

.transport-badge svg{
  width:9px;
  height:9px;
}

/* 4. WhatsApp desktop: conserva la burbuja visible, pero ya no domina. */
@media (min-width:1200px){
  .wa-widget{
    right:14px;
    bottom:14px;
  }

  .wa-fab{
    right:14px;
    bottom:14px;
    width:54px;
    height:54px;
  }

  .wa-fab svg{
    width:27px;
    height:27px;
  }

  .wa-message{
    right:76px;
    bottom:17px;
    width:auto;
    max-width:182px;
    padding:10px 31px 10px 12px;
    border-radius:13px;
    box-shadow:0 9px 24px rgba(0,0,0,.13);
  }

  .wa-message::after{
    right:-6px;
    bottom:18px;
  }

  .wa-message strong{
    font-size:11.5px;
    line-height:1.15;
  }

  .wa-message span{
    font-size:10.3px;
    line-height:1.28;
  }

  .wa-message-close{
    top:6px;
    right:6px;
    width:20px;
    height:20px;
    font-size:14px;
  }
}

/* Mobile mantiene legibilidad y evita títulos demasiado grandes. */
@media (max-width:767px){
  .transport-card-title h3,
  .transport-card:nth-child(3) .transport-card-title h3,
  .transport-card:nth-child(4) .transport-card-title h3,
  .transport-card:nth-child(5) .transport-card-title h3{
    font-size:17px;
  }

  .transport-badge{
    top:10px;
    left:11px;
    padding:5px 7px;
    font-size:8px;
  }

  .transport-card-media img{
    filter:contrast(1.025) saturate(1.012);
  }
}


/* ==================================================================
   AGENDAMIENTO
   Reserva simple en 3 pasos, mobile-first.
   ================================================================== */
.booking-section{
  padding:92px 0 96px;
  background:#f4f4f1;
  color:#111;
  border-top:1px solid rgba(0,0,0,.07);
}

.booking-shell{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(560px,1.18fr);
  gap:clamp(54px,6vw,110px);
  align-items:start;
}

.booking-intro{
  position:sticky;
  top:108px;
  min-width:0;
}

.booking-kicker{
  margin-bottom:13px;
  color:#D99F00;
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.booking-intro h2{
  margin:0;
  max-width:650px;
  font-family:"Barlow Condensed","Arial Narrow",sans-serif;
  font-size:clamp(54px,4.9vw,78px);
  line-height:.90;
  font-weight:700;
  letter-spacing:-.025em;
  text-transform:uppercase;
}

.booking-intro > p{
  max-width:570px;
  margin:24px 0 0;
  color:rgba(17,17,17,.62);
  font-size:15px;
  line-height:1.58;
}

.booking-facts{
  display:grid;
  gap:0;
  margin-top:34px;
  border-top:1px solid rgba(0,0,0,.10);
}

.booking-fact{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid rgba(0,0,0,.10);
}

.booking-fact span{
  color:rgba(17,17,17,.42);
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.booking-fact strong{
  color:#171717;
  font-size:12.5px;
  line-height:1.35;
  font-weight:700;
}


/* Card */
.booking-card{
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(0,0,0,.09);
  border-radius:18px;
  box-shadow:0 20px 55px rgba(0,0,0,.07);
}

.booking-progress{
  display:grid;
  grid-template-columns:auto 1fr auto 1fr auto;
  align-items:center;
  gap:11px;
  padding:19px 24px;
  background:#111;
}

.booking-progress > i{
  display:block;
  height:1px;
  background:rgba(255,255,255,.18);
}

.booking-progress-step{
  appearance:none;
  border:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:7px;
  color:rgba(255,255,255,.42);
  background:transparent;
  font:inherit;
  cursor:default;
}

.booking-progress-step span{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:50%;
  font-size:10px;
  font-weight:800;
}

.booking-progress-step b{
  font-size:10px;
  font-weight:750;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.booking-progress-step.is-active,
.booking-progress-step.is-complete{
  color:#fff;
}

.booking-progress-step.is-active span{
  color:#111;
  background:#F8B800;
  border-color:#F8B800;
}

.booking-progress-step.is-complete span{
  color:#111;
  background:#fff;
  border-color:#fff;
}

.booking-form{
  padding:30px 30px 28px;
}

.booking-step[hidden]{
  display:none !important;
}

.booking-step-head{
  margin-bottom:24px;
}

.booking-step-head > span{
  display:block;
  margin-bottom:6px;
  color:#B78100;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.booking-step-head h3{
  margin:0;
  color:#111;
  font-family:"Barlow Condensed","Arial Narrow",sans-serif;
  font-size:34px;
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
}

.booking-step-head p{
  margin:8px 0 0;
  color:rgba(17,17,17,.50);
  font-size:12.5px;
  line-height:1.45;
}

/* Inputs */
.booking-field{
  display:block;
  margin-top:15px;
}

.booking-field > span:not(.booking-select-wrap),
.booking-time-field legend{
  display:block;
  margin-bottom:7px;
  color:#171717;
  font-size:10.5px;
  line-height:1.2;
  font-weight:750;
  letter-spacing:.025em;
}

.booking-field small{
  color:rgba(17,17,17,.42);
  font-size:9.5px;
  font-weight:600;
}

.booking-vehicle-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
}

.booking-select-wrap{
  position:relative;
  display:block;
}

.booking-select-wrap::after{
  content:"";
  position:absolute;
  right:16px;
  top:50%;
  width:8px;
  height:8px;
  border-right:1.7px solid #111;
  border-bottom:1.7px solid #111;
  transform:translateY(-68%) rotate(45deg);
  pointer-events:none;
}

.booking-field select{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  padding-right:42px;
}

.booking-field select:disabled{
  cursor:not-allowed;
  color:rgba(17,17,17,.42);
  background:#f2f2ef;
}

.booking-other-fields{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
}

.booking-other-fields[hidden],
.booking-other-fields .booking-field[hidden]{
  display:none !important;
}

.booking-field input,
.booking-field select,
.booking-field textarea{
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  padding:0 14px;
  color:#111;
  background:#f8f8f6;
  border:1px solid rgba(0,0,0,.11);
  border-radius:9px;
  outline:none;
  font:inherit;
  font-size:13px;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.booking-field textarea{
  min-height:78px;
  padding-top:12px;
  resize:vertical;
  line-height:1.4;
}

.booking-field input::placeholder,
.booking-field textarea::placeholder{
  color:rgba(17,17,17,.35);
}

.booking-field input:focus,
.booking-field select:focus,
.booking-field textarea:focus{
  background:#fff;
  border-color:#D99F00;
  box-shadow:0 0 0 3px rgba(248,184,0,.13);
}

.booking-field input.is-invalid,
.booking-field select.is-invalid,
.booking-field textarea.is-invalid{
  border-color:#c43232;
  box-shadow:0 0 0 3px rgba(196,50,50,.08);
}

/* Service options */
.booking-service-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

.booking-service-option{
  position:relative;
  display:block;
  cursor:pointer;
}

.booking-service-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.booking-service-option > span{
  display:block;
  min-height:74px;
  padding:13px 14px;
  box-sizing:border-box;
  background:#f8f8f6;
  border:1px solid rgba(0,0,0,.09);
  border-radius:10px;
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.booking-service-option b{
  display:block;
  color:#111;
  font-size:11.5px;
  line-height:1.25;
  font-weight:750;
}

.booking-service-option small{
  display:block;
  margin-top:4px;
  color:rgba(17,17,17,.46);
  font-size:10px;
  line-height:1.32;
}

.booking-service-option:hover > span{
  border-color:rgba(248,184,0,.58);
}

.booking-service-option input:checked + span{
  background:#fffaf0;
  border-color:#F8B800;
  box-shadow:inset 3px 0 0 #F8B800;
}

.booking-service-option input:focus-visible + span{
  outline:3px solid rgba(248,184,0,.20);
  outline-offset:2px;
}

.booking-field-detail{
  margin-top:17px;
}

/* Date / time */
.booking-two-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
}

.booking-two-cols .booking-field{
  margin-top:0;
}

.booking-time-field{
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}

.booking-time-options{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
}

.booking-time-options label{
  position:relative;
  cursor:pointer;
}

.booking-time-options input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.booking-time-options span{
  min-height:48px;
  display:grid;
  place-items:center;
  box-sizing:border-box;
  color:#333;
  background:#f8f8f6;
  border:1px solid rgba(0,0,0,.11);
  border-radius:9px;
  font-size:11px;
  font-weight:750;
  transition:border-color .16s ease, background .16s ease;
}

.booking-time-options input:checked + span{
  color:#111;
  background:#fff7df;
  border-color:#F8B800;
}

.booking-contact-cols{
  margin-top:15px;
}

.booking-confirmation-note{
  display:flex;
  gap:9px;
  margin-top:18px;
  padding:11px 12px;
  color:rgba(17,17,17,.56);
  background:#faf9f4;
  border:1px solid rgba(0,0,0,.07);
  border-radius:9px;
}

.booking-confirmation-note > span{
  flex:none;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  color:#111;
  background:#F8B800;
  border-radius:50%;
  font-size:10px;
  font-weight:900;
}

.booking-confirmation-note p{
  margin:0;
  font-size:10.5px;
  line-height:1.4;
}

.booking-form-error{
  min-height:18px;
  margin-top:8px;
  color:#ad2424;
  font-size:10.5px;
  line-height:1.35;
}

/* Actions */
.booking-step-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:25px;
}

.booking-step-actions-end{
  justify-content:flex-end;
}

.booking-next,
.booking-submit,
.booking-back{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 18px;
  border-radius:8px;
  font:inherit;
  font-size:11px;
  font-weight:800;
  letter-spacing:.035em;
  cursor:pointer;
  transition:transform .16s ease, background .16s ease, border-color .16s ease;
}

.booking-next,
.booking-submit{
  color:#111;
  background:#F8B800;
  border:1px solid #F8B800;
}

.booking-next:hover,
.booking-submit:hover{
  background:#FFD044;
  border-color:#FFD044;
  transform:translateY(-1px);
}

.booking-submit{
  min-width:178px;
}

.booking-back{
  color:#444;
  background:transparent;
  border:1px solid rgba(0,0,0,.12);
}

.booking-back:hover{
  color:#111;
  border-color:rgba(0,0,0,.27);
}

.booking-next:focus-visible,
.booking-submit:focus-visible,
.booking-back:focus-visible{
  outline:3px solid rgba(248,184,0,.25);
  outline-offset:2px;
}

/* Tablet */
@media (max-width:1099px){
  .booking-section{
    padding:72px 0 76px;
  }

  .booking-shell{
    grid-template-columns:1fr;
    gap:38px;
  }

  .booking-intro{
    position:static;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);
    column-gap:42px;
    align-items:start;
  }

  .booking-intro h2,
  .booking-kicker,
  .booking-intro > p{
    grid-column:1;
  }

  .booking-facts{
    grid-column:2;
    grid-row:1 / span 3;
    margin-top:0;
  }

  
}

/* Mobile */
@media (max-width:700px){
  .booking-section{
    padding:54px 0 58px;
  }

  .booking-shell{
    gap:27px;
  }

  .booking-intro{
    display:block;
  }

  .booking-intro h2{
    max-width:360px;
    font-size:clamp(45px,13vw,60px);
    line-height:.91;
  }

  .booking-intro > p{
    margin-top:18px;
    font-size:13.5px;
  }

  .booking-facts{
    margin-top:25px;
  }

  .booking-fact{
    grid-template-columns:92px minmax(0,1fr);
    padding:12px 0;
  }

  .booking-fact strong{
    font-size:11.5px;
  }

  .booking-card{
    margin-inline:-2px;
    border-radius:14px;
  }

  .booking-progress{
    gap:6px;
    padding:14px 13px;
  }

  .booking-progress-step{
    gap:5px;
  }

  .booking-progress-step span{
    width:23px;
    height:23px;
  }

  .booking-progress-step b{
    font-size:8px;
  }

  .booking-form{
    padding:23px 16px 20px;
  }

  .booking-step-head{
    margin-bottom:19px;
  }

  .booking-step-head h3{
    font-size:29px;
  }

  .booking-service-grid{
    grid-template-columns:1fr;
    gap:7px;
  }

  .booking-service-option > span{
    min-height:0;
    padding:11px 12px;
  }

  .booking-service-option small{
    margin-top:2px;
  }

  .booking-two-cols{
    grid-template-columns:1fr;
    gap:14px;
  }

  .booking-contact-cols{
    margin-top:14px;
  }

  .booking-time-options span{
    min-height:45px;
  }

  .booking-step-actions{
    margin-top:21px;
  }

  .booking-next,
  .booking-submit{
    min-height:47px;
  }

  .booking-submit{
    flex:1;
    min-width:0;
  }

  .booking-back{
    padding-inline:12px;
  }
}

@media (max-width:370px){
  .booking-progress-step b{
    display:none;
  }

  .booking-progress{
    grid-template-columns:auto 1fr auto 1fr auto;
  }
}

/* ==================================================================
   VEHÍCULOS · AJUSTE INTERMEDIO DESKTOP
   ================================================================== */


@media(max-width:1280px) and (min-width:1181px){
  .vehicle-kavak-inner{padding:0 40px;}
  .vehicle-kavak-copy{width:390px;max-width:39%;}
  .vehicle-kavak-copy h2{font-size:41px;}
}


/* ==================================================================
   GRÚA Y REVISIÓN TÉCNICA · ESTRUCTURA
   Las fotografías quedan separadas del contenido de interfaz.
   ================================================================== */
.mobility-section{
  padding:clamp(26px,3vw,42px) 0;
  
  
}


.mobility-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,2vw,28px);
}

.mobility-card{
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  
}

.mobility-media{
  position:relative;
  aspect-ratio:16/8.5;
  overflow:hidden;
  
}

.mobility-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.28) 100%);
}

.mobility-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.002);
}

.mobility-card--tow .mobility-media img{object-position:center 49%;}
.mobility-card--prt .mobility-media img{object-position:center;}

.mobility-service-tag{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:8px 13px 8px 10px;
  color:#111;
  background:rgba(248,184,0,.96);
  border:1px solid rgba(255,255,255,.14);
  border-radius:11px;
  box-shadow:0 10px 30px rgba(0,0,0,.24);
  font-size:11px;
  line-height:1.1;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.mobility-service-tag--blue{
  color:#fff;
  background:rgba(19,83,170,.96);
}

.mobility-service-tag svg{
  width:23px;
  height:23px;
  flex:0 0 23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mobility-service-tag svg path:first-child{fill:none;}

.mobility-body{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:clamp(22px,2.2vw,30px);
}

.mobility-body h3{
  margin:0;
  max-width:650px;
  
  font-size:clamp(23px,2.1vw,34px);
  line-height:1.08;
  font-weight:650;
  letter-spacing:-.035em;
}

.mobility-body>p{
  max-width:650px;
  margin:12px 0 0;
  
  font-size:14px;
  line-height:1.56;
}

.mobility-prices{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:24px 0 22px;
  padding:18px 0;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
}

.mobility-prices>div{
  min-width:0;
  padding:0 15px;
  border-right:1px solid rgba(255,255,255,.10);
}
.mobility-prices>div:first-child{padding-left:0;}
.mobility-prices>div:last-child{padding-right:0;border-right:0;}

.mobility-prices span{
  display:block;
  margin-bottom:6px;
  
  font-size:11px;
  line-height:1.2;
  font-weight:650;
}

.mobility-prices strong{
  display:block;
  
  font-size:clamp(20px,1.8vw,27px);
  line-height:1;
  font-weight:800;
  letter-spacing:-.025em;
}

.mobility-points{
  display:flex;
  flex-wrap:wrap;
  gap:14px 24px;
  margin:26px 0 24px;
  padding:18px 0;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
}

.mobility-points span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  
  font-size:12px;
  font-weight:650;
}

.mobility-points svg{
  width:19px;
  height:19px;
  flex:0 0 19px;
  fill:none;
  stroke:#2e80ee;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mobility-cta{
  width:100%;
  min-height:54px;
  margin-top:auto;
  padding:0 18px 0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-radius:10px;
  font-size:13px;
  line-height:1;
  font-weight:850;
  letter-spacing:.025em;
  text-decoration:none;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}

.mobility-cta:hover{transform:translateY(-1px);}
.mobility-cta--yellow{background:var(--yellow);color:#080808;}
.mobility-cta--yellow:hover{background:var(--yellow-hover);color:#080808;}
.mobility-cta--blue{background:#0b0b0b;color:#fff;}
.mobility-cta--blue:hover{background:#1a1a1a;color:#fff;}

.mobility-cta svg{
  width:21px;
  height:21px;
  flex:0 0 21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mobility-note{
  display:block;
  margin-top:10px;
  
  font-size:10px;
  line-height:1.4;
  text-align:center;
}

@media(max-width:980px){
  .mobility-section{padding:28px 0 42px;}
  .mobility-grid{grid-template-columns:1fr;max-width:820px;}
  .mobility-media{aspect-ratio:16/8.2;}
  .mobility-body h3{max-width:700px;}
}

@media(max-width:620px){
  .mobility-section{padding:22px 0 34px;}
  
  
  
  
  .mobility-grid{gap:16px;}
  .mobility-card{border-radius:15px;box-shadow:none;}
  .mobility-media{aspect-ratio:4/3;}
  .mobility-card--tow .mobility-media img{object-position:52% center;}
  .mobility-service-tag{left:12px;bottom:12px;min-height:38px;padding:7px 10px 7px 8px;font-size:9.5px;border-radius:9px;}
  .mobility-service-tag svg{width:20px;height:20px;flex-basis:20px;}
  .mobility-body{padding:20px 16px 18px;}
  .mobility-body h3{font-size:24px;}
  .mobility-body>p{margin-top:9px;font-size:13px;}
  .mobility-prices{margin:19px 0 18px;padding:15px 0;}
  .mobility-prices>div{padding:0 9px;}
  .mobility-prices span{font-size:9.5px;}
  .mobility-prices strong{font-size:20px;}
  .mobility-points{margin:20px 0 18px;padding:15px 0;gap:11px 18px;}
  .mobility-points span{font-size:11px;}
  .mobility-cta{min-height:50px;padding:0 15px;font-size:12px;border-radius:9px;}
  .mobility-note{font-size:9.5px;}
}

@media(max-width:390px){
  .mobility-prices strong{font-size:18px;}
  .mobility-prices span{font-size:9px;}
  .mobility-body h3{font-size:22px;}
}

/* ==================================================================
   GRÚA Y REVISIÓN TÉCNICA · TEMA CLARO
   Solo cambia la presentación visual de la sección Grúa + PRT.
   Fotografías, HTML, iconos, botones y contenido se mantienen.
   ================================================================== */
.mobility-section{
  background:#fff;
  color:#171717;
}

.mobility-card{
  background:#fff;
  border-color:#e5e5e5;
  box-shadow:0 14px 36px rgba(0,0,0,.08);
}

.mobility-body h3{
  color:#151515;
}

.mobility-body>p{
  color:#5f6368;
}

.mobility-prices{
  border-top-color:#e7e7e7;
  border-bottom-color:#e7e7e7;
}

.mobility-prices>div{
  border-right-color:#e7e7e7;
}

.mobility-prices span{
  color:#6c7075;
}

/* Precios de grúa sobre sección clara */
.mobility-prices strong{
  color:#111111;
}

.mobility-points{
  border-top-color:#e7e7e7;
  border-bottom-color:#e7e7e7;
}

.mobility-points span{
  color:#44484d;
}

.mobility-note{
  color:#787d82;
}

.mobility-media{
  background:#f2f2f2;
}

@media(max-width:620px){
  .mobility-card{
    box-shadow:0 10px 28px rgba(0,0,0,.07);
  }
}

/* Revisión técnica · tratamiento de fotografía */
.mobility-card--prt .mobility-media img{
  transform:scale(1.006);
}


/* ==================================================================
   COMPRA Y VENTA DE VEHÍCULOS
   La imagen ya trae la composición blanco/negro, por eso el CSS la deja
   respirar sin filtros pesados ni overlays extra.
   ================================================================== */
.vehicle-kavak-section{
  position:relative;
  min-height:560px;
  overflow:hidden;
  background:#FFFFFF;
  color:#101010;
  isolation:isolate;
  border-top:1px solid rgba(5,5,5,.08);
  border-bottom:1px solid rgba(5,5,5,.08);
}
.vehicle-kavak-visual{
  position:absolute;
  z-index:1;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  background:#FFFFFF;
}
.vehicle-kavak-blue,
.vehicle-kavak-visual::after{display:none;}
.vehicle-kavak-visual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center 50%;
  transform:none;
}
.vehicle-kavak-inner{
  position:relative;
  z-index:3;
  width:100%;
  min-height:560px;
  margin:0;
  padding:0 clamp(28px,5vw,96px);
  display:flex;
  align-items:center;
}
.vehicle-kavak-copy{
  width:420px;
  max-width:38%;
  padding:54px 0 46px;
}
.vehicle-kavak-kicker{
  display:block;
  margin-bottom:23px;
  color:var(--yellow);
  font-family:"Manrope","Inter",system-ui,sans-serif;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.vehicle-kavak-copy h2{
  margin:0;
  color:#111;
  font-family:"Barlow Condensed","Arial Narrow",sans-serif;
  font-size:clamp(47px,3.35vw,52px);
  line-height:.93;
  font-weight:700;
  letter-spacing:-.026em;
  text-transform:none;
}
.vehicle-kavak-copy h2 span{display:block;white-space:nowrap;}
.vehicle-kavak-copy p{
  max-width:340px;
  margin:25px 0 0;
  color:#4A4A46;
  font-size:14px;
  line-height:1.55;
  font-weight:500;
}
.vehicle-kavak-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:15px;
  margin-top:26px;
}
.vehicle-kavak-primary{
  width:218px;
  min-height:48px;
  padding:0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:5px;
  background:var(--yellow);
  color:var(--black);
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:0 12px 28px rgba(0,0,0,.08);
  transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
.vehicle-kavak-primary:hover{
  transform:translateY(-1px);
  background:var(--yellow-hover);
  color:var(--black);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}
.vehicle-kavak-secondary{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:30px;
  color:#111;
  text-decoration:none;
  font-size:12px;
  line-height:1.2;
  font-weight:750;
}
.vehicle-kavak-secondary svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .18s ease;
}
.vehicle-kavak-secondary:hover svg{transform:translateX(3px);}

@media(max-width:1180px){
  .vehicle-kavak-section,
  .vehicle-kavak-inner{min-height:520px;}
  .vehicle-kavak-inner{width:100%;padding:0 32px;}
  .vehicle-kavak-copy{width:390px;max-width:39%;}
  .vehicle-kavak-copy h2{font-size:46px;}
  .vehicle-kavak-copy p{max-width:312px;font-size:13.5px;}
  .vehicle-kavak-primary{width:205px;}
}

@media(max-width:1100px){
  .vehicle-kavak-section{
    min-height:auto;
    background:#FFFFFF;
    display:flex;
    flex-direction:column;
  }
  .vehicle-kavak-inner{
    order:1;
    width:100%;
    min-height:auto;
    padding:0 24px;
    display:block;
  }
  .vehicle-kavak-copy{
    width:100%;
    max-width:620px;
    padding:44px 0 38px;
  }
  .vehicle-kavak-copy h2{
    max-width:620px;
    font-size:clamp(44px,6vw,52px);
    line-height:.94;
    letter-spacing:-.024em;
  }
  .vehicle-kavak-copy h2 span{white-space:normal;display:inline;}
  .vehicle-kavak-copy h2 span:not(:last-child)::after{content:" ";}
  .vehicle-kavak-copy p{max-width:460px;font-size:14px;}
  .vehicle-kavak-visual{
    order:2;
    position:relative;
    inset:auto;
    width:100%;
    height:360px;
    background:#FFFFFF;
  }
  .vehicle-kavak-visual img{
    object-fit:cover;
    object-position:66% 50%;
  }
}

@media(max-width:620px){
  .vehicle-kavak-inner{width:100%;padding:0 16px;}
  .vehicle-kavak-copy{padding:38px 0 30px;}
  .vehicle-kavak-kicker{margin-bottom:18px;font-size:10px;}
  .vehicle-kavak-copy h2{
    max-width:440px;
    font-size:40px;
    line-height:.94;
    letter-spacing:-.024em;
  }
  .vehicle-kavak-copy p{margin-top:16px;max-width:390px;font-size:14px;}
  .vehicle-kavak-actions{margin-top:23px;gap:12px;}
  .vehicle-kavak-primary{width:220px;min-height:48px;}
  .vehicle-kavak-secondary{min-height:32px;}
  .vehicle-kavak-visual{height:275px;}
  .vehicle-kavak-visual img{object-position:69% 50%;}
}

@media(max-width:390px){
  .vehicle-kavak-copy h2{font-size:37px;}
  .vehicle-kavak-visual{height:245px;}
  .vehicle-kavak-primary{width:205px;}
}

@media(max-width:700px){
  .booking-vehicle-grid,
  .booking-other-fields{grid-template-columns:1fr;}
}


/* ==================================================================
   UBICACIÓN · LAYOUT COMPACTO
   Cambio visual real: blanco, tipografía editorial Manrope, 30/70 y mapa bajo.
   ================================================================== */
.location-section{
  padding:20px 0 22px;
  background:#fff;
  color:#111;
  border-top:1px solid rgba(0,0,0,.065);
  border-bottom:1px solid rgba(0,0,0,.045);
}

.location-shell{
  display:grid;
  grid-template-columns:minmax(290px,30%) minmax(0,70%);
  gap:clamp(28px,3.4vw,52px);
  align-items:center;
}

.location-copy{
  min-width:0;
  padding:0;
}

.location-kicker{
  
  
  font-family:"Manrope","Inter",system-ui,sans-serif;
  
  
  
  
  text-transform:uppercase;
}

.location-copy h2{
  
  
  
  
  
  
  
  
  text-transform:none;
}

.location-address{
  
  
  font-family:"Manrope","Inter",system-ui,sans-serif;
  
  
  
}

.location-meta{
  display:grid;
  grid-template-columns:minmax(115px,.72fr) minmax(150px,1.28fr);
  gap:18px;
  max-width:405px;
  margin-top:18px;
}

.location-meta-item span{
  display:block;
  margin-bottom:5px;
  color:rgba(17,17,17,.40);
  font-family:"Manrope","Inter",system-ui,sans-serif;
  font-size:8px;
  line-height:1;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.location-meta-item strong{
  display:block;
  color:#171717;
  font-family:"Manrope","Inter",system-ui,sans-serif;
  font-size:11.5px;
  line-height:1.32;
  font-weight:700;
}

.location-map-link{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  
  min-height:43px;
  
  
  color:#111;
  background:#fff;
  border:1px solid rgba(0,0,0,.18);
  border-radius:8px;
  font-family:"Manrope","Inter",system-ui,sans-serif;
  
  font-weight:800;
  
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.location-map-link:hover{
  transform:translateY(-1px);
  border-color:rgba(0,0,0,.30);
  box-shadow:0 7px 16px rgba(0,0,0,.04);
}

.location-map-card{
  position:relative;
  min-width:0;
  height:306px;
  overflow:hidden;
  background:#ededeb;
  border:1px solid rgba(0,0,0,.075);
  border-radius:9px;
  box-shadow:0 10px 24px rgba(0,0,0,.045);
}

.location-map-frame{position:absolute;inset:0;}
.location-map-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  filter:grayscale(.035) contrast(1.005);
}

.location-map-open{
  position:absolute;
  top:11px;
  right:11px;
  z-index:4;
  min-height:34px;
  padding:0 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#111;
  background:rgba(255,255,255,.95);
  border:1px solid rgba(0,0,0,.07);
  border-radius:999px;
  box-shadow:0 3px 9px rgba(0,0,0,.045);
  font-family:"Manrope","Inter",system-ui,sans-serif;
  font-size:9px;
  line-height:1;
  font-weight:800;
  letter-spacing:.02em;
  backdrop-filter:blur(6px);
}

.location-facade-card{
  position:absolute;
  left:11px;
  bottom:11px;
  z-index:4;
  width:184px;
  aspect-ratio:16/9;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.97);
  border-radius:9px;
  background:#111;
  box-shadow:0 7px 20px rgba(0,0,0,.20);
}
.location-facade-card[hidden]{display:none !important;}
.location-facade-card img{display:block;width:100%;height:100%;object-fit:cover;}
.location-facade-shade{
  position:absolute;inset:auto 0 0;height:50%;
  background:linear-gradient(to top,rgba(0,0,0,.68),rgba(0,0,0,0));
  pointer-events:none;
}
.location-facade-label{
  position:absolute;left:9px;right:9px;bottom:7px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:8px;
  color:#fff;font-family:"Manrope","Inter",system-ui,sans-serif;
}
.location-facade-label b{font-size:10px;font-weight:800;}
.location-facade-label small{font-size:8.5px;color:rgba(255,255,255,.8);}

.location-reveal{
  opacity:0;
  transition:opacity .5s ease,transform .5s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}
.location-reveal--left{transform:translateX(-16px);}
.location-reveal--right{transform:translateX(16px);}
.location-reveal.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.location-reveal{opacity:1;transform:none;transition:none;}}

@media (max-width:1099px){
  .location-section{padding:28px 0 31px;}
  .location-shell{grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr);gap:24px;}
  .location-copy h2{font-size:clamp(37px,5vw,47px);}
  .location-meta{grid-template-columns:1fr;gap:10px;}
  .location-map-card{height:300px;}
}

@media (max-width:820px){
  .location-shell{grid-template-columns:1fr;gap:20px;}
  .location-copy{max-width:620px;}
  .location-copy h2{max-width:410px;}
  .location-meta{grid-template-columns:repeat(2,minmax(0,1fr));max-width:500px;}
  .location-map-card{height:300px;}
}

@media (max-width:700px){
  .location-section{padding:28px 0 32px;}
  .location-shell{gap:18px;}
  .location-kicker{margin-bottom:8px;font-size:8.5px;}
  .location-copy h2{max-width:300px;font-size:clamp(35px,10.8vw,44px);line-height:.97;}
  .location-address{margin-top:10px;font-size:12px;}
  .location-meta{grid-template-columns:1fr;gap:9px;margin-top:14px;}
  .location-map-link{width:100%;min-width:0;min-height:45px;margin-top:15px;font-size:10px;}
  .location-map-card{height:286px;border-radius:9px;}
  .location-map-open{top:9px;right:9px;min-height:33px;padding:0 11px;font-size:8.5px;}
  .location-facade-card{left:9px;bottom:9px;width:140px;border-radius:8px;}
}


/* ==================================================================
   WHATSAPP · SELECTOR DE EJECUTIVOS
   FAB único -> tarjeta flotante con Felipe y Sebastián.
   ================================================================== */
.wa-fab{
  border:0;
  padding:0;
  cursor:pointer;
}

.wa-picker{
  position:relative;
  width:292px;
  overflow:hidden;
  color:#111;
  background:rgba(255,255,255,.985);
  border:1px solid rgba(17,17,17,.09);
  border-radius:18px;
  box-shadow:0 22px 52px rgba(0,0,0,.20),0 6px 18px rgba(0,0,0,.08);
  opacity:0;
  transform:translateY(10px) scale(.985);
  transform-origin:bottom right;
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
}

.wa-picker[hidden]{
  display:none !important;
}

.wa-picker.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}

.wa-picker-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:17px 16px 13px 18px;
  border-bottom:1px solid rgba(17,17,17,.07);
}

.wa-picker-head > div > span{
  display:block;
  margin-bottom:5px;
  color:#9a7200;
  font-size:8.5px;
  line-height:1;
  font-weight:800;
  letter-spacing:.13em;
}

.wa-picker-head > div > strong{
  display:block;
  color:#171717;
  font-size:15px;
  line-height:1.2;
  font-weight:750;
}

.wa-picker-close{
  flex:none;
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  color:#747b82;
  background:#f3f4f2;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  transition:background .16s ease,color .16s ease;
}

.wa-picker-close:hover{
  color:#111;
  background:#e9eae7;
}

.wa-picker-list{
  padding:7px;
}

.wa-contact{
  min-height:68px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 31px;
  gap:11px;
  align-items:center;
  padding:9px 10px;
  color:#111;
  border-radius:12px;
  text-decoration:none;
  transition:background .16s ease,transform .16s ease;
}

.wa-contact + .wa-contact{
  border-top:1px solid rgba(17,17,17,.055);
  border-top-left-radius:0;
  border-top-right-radius:0;
}

.wa-contact:hover{
  background:#f6f6f3;
  transform:translateX(1px);
}

.wa-contact-avatar{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#111;
  background:#F8B800;
  font-size:14px;
  font-weight:850;
}

.wa-contact-copy{
  min-width:0;
}

.wa-contact-copy strong{
  display:block;
  color:#171717;
  font-size:13.5px;
  line-height:1.18;
  font-weight:800;
}

.wa-contact-copy small{
  display:block;
  margin-top:3px;
  color:rgba(17,17,17,.50);
  font-size:10.5px;
  line-height:1.2;
  font-weight:600;
}

.wa-contact-action{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  
}

.wa-contact-action svg{
  width:16px;
  height:16px;
  fill:#fff;
}

.wa-fab.is-open{
  transform:rotate(4deg) scale(.96) !important;
}

@media (max-width:767px){
  .wa-picker{
    width:min(286px,calc(100vw - 32px));
    border-radius:16px;
  }

  .wa-picker-head{
    padding:15px 14px 12px 16px;
  }

  .wa-contact{
    min-height:64px;
    grid-template-columns:40px minmax(0,1fr) 30px;
    padding:8px 9px;
  }

  .wa-contact-avatar{
    width:40px;
    height:40px;
  }
}

@media (prefers-reduced-motion:reduce){
  .wa-picker,
  .wa-contact{
    transition:none !important;
  }
}


/* ==================================================================
   WHATSAPP · ICONOGRAFÍA
   Unifica todos los iconos con la silueta estándar de WhatsApp.
   ================================================================== */
.wa-fab{
  background:#25D366 !important;
  color:#fff !important;
}

.wa-fab .wa-official-icon{
  width:30px !important;
  height:30px !important;
  display:block;
  flex:none;
  fill:currentColor !important;
}

.wa-contact-action{
  background:#25D366 !important;
  color:#fff !important;
}

.wa-contact-action .wa-official-icon{
  width:18px !important;
  height:18px !important;
  display:block;
  fill:currentColor !important;
}

/* Anula los trazados antiguos del widget si alguna regla legacy sigue presente. */


@media (max-width:767px){
  .wa-fab .wa-official-icon{
    width:27px !important;
    height:27px !important;
  }
  .wa-contact-action .wa-official-icon{
    width:17px !important;
    height:17px !important;
  }
}


/* ==================================================================
   PLAN EMPRESAS · PESTAÑA LATERAL
   Pestaña vertical discreta en desktop y pill compacta en móvil.
   ================================================================== */
.transport-body{
  position:relative;
  z-index:2;
  margin-top:0;
  overflow:visible;
}

.transport-plan-tab{
  position:absolute;
  top:22px;
  right:0;
  z-index:8;
}

.transport-plan-handle{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:54px;
  min-height:176px;
  padding:14px 10px;
  writing-mode:vertical-rl;
  transform:none;
  color:#111;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px 0 0 14px;
  box-shadow:0 12px 28px rgba(0,0,0,.07);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.transport-plan-handle:hover{
  transform:translateX(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.09);
}

.transport-plan-handle:focus-visible,
.transport-plan-close:focus-visible,
.transport-plan-action:focus-visible{
  outline:2px solid rgba(248,184,0,.55);
  outline-offset:3px;
}

.transport-plan-handle-text{
  font-family:"Barlow Condensed","Arial Narrow",sans-serif;
  font-size:20px;
  line-height:1;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.transport-plan-handle-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  font-size:18px;
  line-height:1;
  color:#666;
}

.transport-plan-popover{
  position:absolute;
  top:8px;
  right:58px;
  width:292px;
  padding:18px 18px 18px;
  color:#111;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  box-shadow:0 20px 48px rgba(0,0,0,.10);
  opacity:0;
  visibility:hidden;
  transform:translateX(10px) scale(.985);
  transform-origin:right center;
  transition:opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
}

.transport-plan-tab.is-open .transport-plan-popover{
  opacity:1;
  visibility:visible;
  transform:translateX(0) scale(1);
  transition:opacity .22s ease, transform .22s ease, visibility 0s linear 0s;
}

.transport-plan-tab.is-open .transport-plan-handle{
  background:#fff;
  box-shadow:0 16px 34px rgba(0,0,0,.09);
}

.transport-plan-close{
  position:absolute;
  top:10px;
  right:10px;
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  color:#555;
  background:#f5f5f3;
  border:1px solid rgba(0,0,0,.08);
  border-radius:999px;
}

.transport-plan-kicker{
  display:block;
  margin-bottom:10px;
  color:#9e7400;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.transport-plan-popover h3{
  margin:0;
  max-width:220px;
  color:#111;
  font-family:"Barlow Condensed","Arial Narrow",sans-serif;
  font-size:30px;
  line-height:.94;
  font-weight:700;
  letter-spacing:-.012em;
  text-transform:uppercase;
}

.transport-plan-popover p{
  margin:12px 0 0;
  color:rgba(17,17,17,.66);
  font-size:13px;
  line-height:1.5;
}

.transport-plan-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin-top:16px;
  padding:0 16px;
  color:var(--black);
  background:var(--yellow);
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
  transition:transform .18s ease, background .18s ease;
}

.transport-plan-action:hover{
  transform:translateY(-1px);
  background:var(--yellow-hover);
}

@media (max-width:1199px){
  .transport-plan-tab{
    top:16px;
    right:0;
  }

  .transport-plan-handle{
    width:50px;
    min-height:160px;
  }

  .transport-plan-handle-text{
    font-size:18px;
  }

  .transport-plan-popover{
    width:276px;
  }
}

@media (max-width:900px){
  .transport-plan-tab{
    position:relative;
    top:auto;
    right:auto;
    width:100%;
    margin:0 0 14px;
  }

  .transport-plan-handle{
    width:auto;
    min-height:52px;
    padding:0 16px;
    writing-mode:horizontal-tb;
    flex-direction:row;
    justify-content:space-between;
    border-radius:999px;
  }

  .transport-plan-handle-text{
    font-size:18px;
    letter-spacing:.02em;
  }

  .transport-plan-handle-icon{
    width:22px;
    height:22px;
    font-size:20px;
  }

  .transport-plan-popover{
    top:60px;
    right:0;
    left:0;
    width:auto;
    transform:translateY(-6px) scale(.985);
    transform-origin:top center;
  }

  .transport-plan-tab.is-open .transport-plan-popover{
    transform:translateY(0) scale(1);
  }

  .transport-plan-popover h3{
    max-width:none;
    font-size:27px;
  }
}

@media (max-width:640px){
  .transport-plan-tab{
    margin-bottom:12px;
  }

  .transport-plan-handle{
    min-height:48px;
    padding:0 14px;
  }

  .transport-plan-handle-text{
    font-size:16px;
  }

  .transport-plan-popover{
    padding:16px 14px 14px;
    border-radius:14px;
  }

  .transport-plan-close{
    top:8px;
    right:8px;
    width:28px;
    height:28px;
  }

  .transport-plan-popover h3{
    font-size:24px;
  }

  .transport-plan-popover p{
    font-size:12.5px;
  }

  .transport-plan-action{
    width:100%;
    min-height:44px;
    margin-top:14px;
  }
}


/* ==================================================================
   UBICACIÓN · JERARQUÍA DE TEXTO
   ================================================================== */
.location-copy{
  max-width:360px;
}

.location-kicker{
  margin-bottom:12px;
  color:#8c6a00;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.18em;
}

.location-copy h2{
  max-width:340px;
  margin:0;
  color:#111;
  font-family:"Manrope","Inter",system-ui,sans-serif;
  font-size:clamp(36px,4.3vw,54px);
  line-height:.96;
  font-weight:500;
  letter-spacing:-.045em;
}

.location-address{
  margin:14px 0 0;
  color:rgba(17,17,17,.60);
  font-size:16px;
  line-height:1.45;
  font-weight:500;
}

.location-meta.location-meta--compact{
  gap:12px 18px;
  margin-top:18px;
}

.location-meta--compact .location-meta-item{
  gap:4px;
}

.location-meta--compact .location-meta-item span{
  color:rgba(17,17,17,.34);
  font-size:10px;
  letter-spacing:.13em;
}

.location-meta--compact .location-meta-item strong{
  color:#171717;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
}

.location-map-link{
  min-width:0;
  width:fit-content;
  margin-top:20px;
  padding:0 22px;
  font-size:11px;
  letter-spacing:.06em;
}

@media (max-width:991px){
  .location-copy{max-width:420px;}
  .location-copy h2{font-size:clamp(34px,6vw,46px);}
}

@media (max-width:767px){
  .location-kicker{margin-bottom:9px;font-size:9px;}
  .location-copy h2{max-width:320px;font-size:clamp(30px,9.2vw,40px);line-height:.98;}
  .location-address{margin-top:10px;font-size:13px;}
  .location-meta.location-meta--compact{gap:10px;margin-top:14px;}
  .location-meta--compact .location-meta-item strong{font-size:13px;}
  .location-map-link{width:100%;margin-top:16px;padding:0 16px;font-size:10px;}
}


/* ==================================================================
   RESPONSIVE · OPTIMIZACIÓN MOBILE GLOBAL
   Capa final responsive: teléfono primero, tablet consistente y sin
   alterar la composición desktop aprobada.
   ================================================================== */

@media (max-width: 1024px){
  html{
    scroll-behavior:smooth;
    scroll-padding-top:72px;
  }

  body{
    overflow-x:clip;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }

  section[id]{
    scroll-margin-top:72px;
  }

  button,
  a,
  input,
  select,
  textarea{
    touch-action:manipulation;
  }

  .booking-field input,
  .booking-field select,
  .booking-field textarea{
    font-size:16px;
  }

  .transport-grid,
  .brand-marquee,
  .contact-ticker{
    -webkit-overflow-scrolling:touch;
  }
}

@media (max-width: 767px){
  :root{
    --mobile-pad:16px;
  }

  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:clip;
  }

  body.mobile-menu-open{
    overflow:hidden;
  }

  main,
  section,
  header,
  footer{
    max-width:100%;
  }

  .container{
    width:calc(100% - (var(--mobile-pad) * 2)) !important;
    max-width:none !important;
  }

  /* ---------- HEADER / NAV ---------- */
  .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
    height:58px !important;
    min-height:58px !important;
    padding-top:env(safe-area-inset-top,0px);
    background:#050505;
  }

  .header-inner{
    width:calc(100% - 16px) !important;
    min-height:58px !important;
    height:58px !important;
    padding:6px 0 !important;
    grid-template-columns:minmax(92px,108px) minmax(0,1fr) 40px !important;
    grid-template-rows:46px !important;
    gap:7px !important;
  }

  .brand{
    max-width:108px !important;
  }

  .brand img{
    height:31px !important;
    max-height:31px !important;
  }

  .header-search{
    height:36px !important;
    min-height:36px !important;
    padding:0 10px !important;
  }

  .header-search input{
    font-size:12px !important;
  }

  .menu-btn{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    border-radius:10px !important;
  }

  .site-header:has(.nav.open),
  .site-header:has(.header-cta.open){
    height:auto !important;
    max-height:100dvh;
    overflow-y:auto;
    overscroll-behavior:contain;
  }

  .header-inner:has(.nav.open),
  .header-inner:has(.header-cta.open){
    height:auto !important;
    min-height:58px !important;
    grid-template-rows:46px auto auto !important;
  }

  .nav.open{
    gap:0 !important;
    margin-top:7px !important;
    padding:4px 0 0 !important;
    border-top:1px solid rgba(255,255,255,.10);
  }

  .nav.open a{
    width:100%;
    min-height:46px;
    display:flex;
    align-items:center;
    padding:0 4px;
    border-bottom:1px solid rgba(255,255,255,.07);
    font-size:13px !important;
    letter-spacing:.02em;
  }

  .header-cta.open{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    padding:10px 0 12px !important;
  }

  .header-cta.open .btn{
    width:100% !important;
    min-height:46px !important;
  }

  /* ---------- CONTACT TICKER ---------- */
  .contact-ticker{
    height:32px !important;
  }

  .ticker-item{
    min-height:31px !important;
    height:31px !important;
    padding:0 13px !important;
    font-size:10px !important;
  }

  .ticker-icon,
  .ticker-icon svg{
    width:13px !important;
    height:13px !important;
  }

  .contact-ticker-track{
    animation-duration:42s !important;
  }

  /* ---------- HERO ---------- */
  .hero{
    min-height:0 !important;
    aspect-ratio:4 / 3 !important;
  }

  /* En móvil el swipe + dots son más naturales que dos flechas flotando
     sobre el texto. Ocultarlas recupera espacio horizontal útil. */
  .hero-arrows{
    display:none !important;
  }

  .hero-inner{
    padding:16px 18px 27px !important;
  }

  .hero h1{
    font-size:clamp(37px,10.7vw,44px) !important;
    line-height:.84 !important;
    margin-bottom:9px !important;
  }

  .hero-subtitle{
    max-width:310px !important;
    font-size:clamp(15px,4vw,17px) !important;
    line-height:1.04 !important;
    margin-bottom:7px !important;
  }

  .hero-lead{
    max-width:305px !important;
    font-size:13px !important;
    line-height:1.34 !important;
    margin-bottom:10px !important;
  }

  .hero-actions{
    width:auto !important;
  }

  .hero-actions .btn{
    width:auto !important;
    min-width:154px;
    min-height:42px !important;
    padding:0 16px !important;
    font-size:12px !important;
  }

  .slide-status{
    bottom:7px !important;
  }

  .dot{
    width:8px !important;
    height:8px !important;
  }

  .hero[data-campaign="diagnostico"] .hero-copy,
  .hero[data-campaign="mantencion"] .hero-copy,
  .hero[data-campaign="parabrisas"] .hero-copy,
  .hero[data-campaign="grua"] .hero-copy{
    max-width:100% !important;
  }

  .hero[data-campaign="diagnostico"] .hero-subtitle,
  .hero[data-campaign="diagnostico"] .hero-lead,
  .hero[data-campaign="mantencion"] .hero-subtitle,
  .hero[data-campaign="mantencion"] .hero-lead,
  .hero[data-campaign="parabrisas"] .hero-subtitle,
  .hero[data-campaign="parabrisas"] .hero-lead,
  .hero[data-campaign="grua"] .hero-subtitle,
  .hero[data-campaign="grua"] .hero-lead{
    width:auto !important;
  }

  /* ---------- FLOTAS / MARCAS ---------- */
  .transport-section{
    padding-bottom:38px !important;
  }

  .transport-intro-v58{
    padding-bottom:20px !important;
  }

  .brand-marquee-wrap{
    height:52px !important;
    margin:2px 0 14px !important;
  }

  .brand-marquee-track{
    gap:26px !important;
    padding-inline:18px !important;
  }

  .brand-logo-item{
    flex-basis:76px !important;
    width:76px !important;
    height:42px !important;
  }

  .transport-intro-v58 h2{
    font-size:clamp(32px,9.2vw,40px) !important;
    line-height:.96 !important;
  }

  .transport-intro-secondary{
    margin-top:15px !important;
    padding-left:12px !important;
  }

  .transport-intro-secondary > p{
    font-size:13px !important;
    line-height:1.48 !important;
  }

  .transport-capabilities{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    margin-top:12px !important;
  }

  .transport-capabilities span{
    font-size:11px !important;
  }

  /* Plan Empresas: en móvil se comporta como acordeón y no tapa cards. */
  .transport-plan-tab{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    width:100% !important;
    margin:0 0 12px !important;
    z-index:9 !important;
  }

  .transport-plan-handle{
    width:100% !important;
    min-height:48px !important;
    padding:0 14px !important;
    writing-mode:horizontal-tb !important;
    flex-direction:row !important;
    justify-content:space-between !important;
    border-radius:12px !important;
  }

  .transport-plan-handle-text{
    font-size:16px !important;
  }

  .transport-plan-popover{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    margin-top:8px !important;
    display:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    box-shadow:0 12px 28px rgba(0,0,0,.08) !important;
  }

  .transport-plan-tab.is-open .transport-plan-popover{
    display:block !important;
    transform:none !important;
  }

  .transport-plan-popover h3{
    max-width:260px !important;
    font-size:24px !important;
  }

  .transport-plan-action{
    min-height:46px !important;
  }

  .transport-grid{
    display:flex !important;
    width:auto !important;
    gap:10px !important;
    margin-inline:calc(var(--mobile-pad) * -1) !important;
    padding:2px var(--mobile-pad) 12px !important;
    overflow-x:auto !important;
    overscroll-behavior-inline:contain;
    scroll-padding-inline:var(--mobile-pad);
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }

  .transport-card{
    flex:0 0 calc(100vw - 46px) !important;
    max-width:326px !important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    border-radius:12px !important;
  }

  .transport-card-media{
    aspect-ratio:1.5 / 1 !important;
  }

  .transport-card-copy{
    min-height:128px !important;
    padding:13px 14px 14px !important;
  }

  .transport-card-title{
    min-height:31px !important;
    padding-bottom:8px !important;
  }

  .transport-card-title h3,
  .transport-card:nth-child(4) .transport-card-title h3,
  .transport-card:nth-child(5) .transport-card-title h3{
    font-size:18px !important;
  }

  .transport-card-copy p{
    margin-top:8px !important;
    font-size:12.5px !important;
    line-height:1.45 !important;
  }

  .transport-cta{
    margin-top:18px !important;
    padding:18px 16px !important;
    border-radius:12px !important;
  }

  .transport-cta-copy > span{
    font-size:8.5px !important;
  }

  .transport-cta h3{
    font-size:25px !important;
    line-height:.98 !important;
  }

  .transport-cta p{
    margin-top:7px !important;
    font-size:12.5px !important;
  }

  .transport-cta-button{
    min-height:48px !important;
    margin-top:14px !important;
  }

  /* ---------- GRÚA / PRT ---------- */
  .mobility-section{
    padding:24px 0 30px !important;
  }

  .mobility-grid{
    gap:14px !important;
  }

  .mobility-card{
    border-radius:13px !important;
  }

  .mobility-media{
    aspect-ratio:16 / 10 !important;
  }

  .mobility-service-tag{
    left:10px !important;
    bottom:10px !important;
    min-height:34px !important;
    padding:6px 9px 6px 7px !important;
    font-size:9px !important;
  }

  .mobility-body{
    padding:17px 14px 16px !important;
  }

  .mobility-body h3{
    font-size:23px !important;
    line-height:1.02 !important;
  }

  .mobility-body > p{
    margin-top:8px !important;
    font-size:12.5px !important;
    line-height:1.48 !important;
  }

  .mobility-prices{
    margin:16px 0 15px !important;
    padding:13px 0 !important;
  }

  .mobility-prices > div{
    padding:0 7px !important;
  }

  .mobility-prices span{
    margin-bottom:5px !important;
    font-size:8.5px !important;
  }

  .mobility-prices strong{
    font-size:18px !important;
  }

  .mobility-points{
    margin:16px 0 15px !important;
    padding:13px 0 !important;
    gap:10px 14px !important;
  }

  .mobility-points span{
    font-size:10.5px !important;
  }

  .mobility-cta{
    min-height:48px !important;
    font-size:11.5px !important;
  }

  /* ---------- KENDARK VEHÍCULOS ---------- */
  .vehicle-kavak-inner{
    padding:0 var(--mobile-pad) !important;
  }

  .vehicle-kavak-copy{
    padding:30px 0 24px !important;
  }

  .vehicle-kavak-kicker{
    margin-bottom:12px !important;
    font-size:9px !important;
  }

  .vehicle-kavak-copy h2{
    max-width:360px !important;
    font-size:clamp(34px,10vw,40px) !important;
    line-height:.94 !important;
  }

  .vehicle-kavak-copy p{
    margin-top:12px !important;
    max-width:330px !important;
    font-size:13px !important;
  }

  .vehicle-kavak-actions{
    width:100%;
    margin-top:18px !important;
    gap:8px !important;
  }

  .vehicle-kavak-primary,
  .vehicle-kavak-secondary{
    width:100% !important;
    min-height:46px !important;
    justify-content:center !important;
  }

  .vehicle-kavak-secondary{
    border:1px solid rgba(0,0,0,.12);
    border-radius:6px;
  }

  .vehicle-kavak-visual{
    height:235px !important;
  }

  .vehicle-kavak-visual img{
    object-position:69% 50% !important;
  }

  /* ---------- AGENDAMIENTO ---------- */
  .booking-section{
    padding:44px 0 48px !important;
  }

  .booking-shell{
    gap:22px !important;
  }

  .booking-intro h2{
    max-width:340px !important;
    font-size:clamp(38px,11vw,46px) !important;
    line-height:.92 !important;
  }

  .booking-intro > p{
    margin-top:13px !important;
    font-size:13px !important;
    line-height:1.5 !important;
  }

  .booking-facts{
    margin-top:18px !important;
  }

  .booking-fact{
    grid-template-columns:82px minmax(0,1fr) !important;
    padding:10px 0 !important;
  }

  .booking-card{
    width:100%;
    margin:0 !important;
    border-radius:13px !important;
    box-shadow:0 12px 34px rgba(0,0,0,.06) !important;
  }

  .booking-progress{
    padding:12px 10px !important;
    gap:5px !important;
  }

  .booking-progress-step{
    gap:4px !important;
  }

  .booking-progress-step span{
    width:24px !important;
    height:24px !important;
  }

  .booking-progress-step b{
    font-size:8px !important;
  }

  .booking-form{
    padding:20px 14px 18px !important;
  }

  .booking-step-head{
    margin-bottom:16px !important;
  }

  .booking-step-head h3{
    font-size:27px !important;
  }

  .booking-step-head p{
    font-size:12px !important;
  }

  .booking-field{
    margin-top:12px !important;
  }

  .booking-field input,
  .booking-field select,
  .booking-field textarea{
    min-height:50px !important;
    border-radius:9px !important;
    font-size:16px !important; /* evita zoom automático en iOS */
  }

  .booking-field textarea{
    min-height:88px !important;
  }

  .booking-service-grid{
    gap:7px !important;
  }

  .booking-service-option > span{
    min-height:58px !important;
    padding:10px 11px !important;
  }

  .booking-service-option b{
    font-size:12px !important;
  }

  .booking-service-option small{
    font-size:10px !important;
  }

  .booking-time-options{
    gap:5px !important;
  }

  .booking-time-options span{
    min-height:48px !important;
    font-size:11px !important;
  }

  .booking-step-actions{
    gap:8px !important;
    margin-top:18px !important;
  }

  .booking-back,
  .booking-next,
  .booking-submit{
    min-height:48px !important;
    font-size:11px !important;
  }

  .booking-next,
  .booking-submit{
    flex:1;
  }

  /* ---------- UBICACIÓN ---------- */
  .location-section{
    padding:24px 0 28px !important;
  }

  .location-shell{
    gap:16px !important;
  }

  .location-copy{
    max-width:none !important;
  }

  .location-kicker{
    margin-bottom:8px !important;
    font-size:8.5px !important;
  }

  .location-copy h2{
    max-width:none !important;
    font-size:clamp(31px,9vw,38px) !important;
    line-height:.98 !important;
  }

  .location-address{
    margin-top:8px !important;
    font-size:12.5px !important;
  }

  .location-meta.location-meta--compact{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    margin-top:13px !important;
  }

  .location-meta--compact .location-meta-item strong{
    font-size:12px !important;
  }

  .location-map-link{
    min-height:46px !important;
    margin-top:14px !important;
  }

  .location-map-card{
    height:270px !important;
    border-radius:10px !important;
  }

  /* Evita que el iframe capture el scroll vertical del teléfono.
     El botón ABRIR MAPA conserva la interacción principal. */
  .location-map-frame iframe{
    pointer-events:none;
  }

  .location-map-open{
    min-height:36px !important;
    font-size:9px !important;
  }

  /* ---------- WHATSAPP ---------- */
  .wa-widget{
    right:max(12px,env(safe-area-inset-right)) !important;
    bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px)) !important;
    z-index:950 !important;
  }

  .wa-fab{
    width:54px !important;
    height:54px !important;
    right:auto !important;
    bottom:auto !important;
  }

  .wa-fab .wa-official-icon{
    width:26px !important;
    height:26px !important;
  }

  .wa-message{
    display:none !important;
  }

  .wa-picker{
    width:min(286px,calc(100vw - 24px)) !important;
    max-height:min(380px,calc(100dvh - 100px));
    overflow:auto;
  }

  footer{
    padding:20px 16px calc(20px + env(safe-area-inset-bottom));
  }
}

@media (max-width:420px){
  .header-inner{
    grid-template-columns:92px minmax(0,1fr) 38px !important;
    gap:6px !important;
  }

  .brand{
    max-width:92px !important;
  }

  .header-search{
    height:34px !important;
    padding:0 8px !important;
  }

  .hero h1{
    font-size:clamp(35px,10.2vw,40px) !important;
  }

  .hero-subtitle{
    font-size:14.5px !important;
  }

  .hero-lead{
    font-size:12px !important;
  }

  .transport-card{
    flex-basis:calc(100vw - 40px) !important;
  }

  .mobility-prices strong{
    font-size:17px !important;
  }

  .location-meta.location-meta--compact{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:350px){
  .header-search-icon{
    display:none !important;
  }

  .header-inner{
    grid-template-columns:84px minmax(0,1fr) 36px !important;
  }

  .brand{
    max-width:84px !important;
  }

  .hero h1{
    font-size:33px !important;
  }

  .booking-progress-step b{
    display:none !important;
  }
}

@media (min-width:768px) and (max-width:1024px){
  .container{
    width:calc(100% - 40px) !important;
  }

  .transport-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .transport-card:last-child{
    grid-column:1 / -1;
  }

  .booking-shell{
    gap:30px !important;
  }

  .location-shell{
    grid-template-columns:1fr 1.35fr !important;
    gap:22px !important;
  }
}

/* Assets responsive optimizados */
.transport-card-media picture,
.mobility-media picture,
.vehicle-kavak-visual picture{
  display:block;
  width:100%;
  height:100%;
}

.transport-card-media picture img,
.mobility-media picture img{
  width:100%;
  height:100%;
  object-fit:cover;
}


/* ==================================================================
   FLOTAS · CTA LIVIANO
   ================================================================== */
.transport-cta{
  gap:22px;
  padding:20px 22px;
  border-radius:14px;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}

.transport-cta-copy > span{
  margin-bottom:6px;
  font-size:9px;
  letter-spacing:.12em;
}

.transport-cta h3{
  max-width:580px;
  font-size:clamp(23px,1.85vw,29px);
  line-height:.98;
}

.transport-cta p{
  margin-top:8px;
  font-size:12.5px;
  line-height:1.5;
}

.transport-cta-button{
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  font-size:11px;
  letter-spacing:.05em;
}

@media (max-width: 767px){
  .transport-cta{
    margin-top:18px !important;
    display:block !important;
    padding:16px 16px 17px !important;
    color:#171717 !important;
    background:#f7f6f2 !important;
    border:1px solid rgba(17,17,17,.08) !important;
    border-radius:14px !important;
    box-shadow:0 8px 20px rgba(0,0,0,.04) !important;
  }

  .transport-cta-copy > span{
    margin-bottom:7px !important;
    color:#a27600 !important;
    font-size:8px !important;
    letter-spacing:.14em !important;
  }

  .transport-cta h3{
    max-width:320px !important;
    color:#111 !important;
    font-size:22px !important;
    line-height:1.02 !important;
    letter-spacing:-.02em !important;
    text-transform:none !important;
  }

  .transport-cta p{
    max-width:340px !important;
    margin-top:8px !important;
    color:rgba(17,17,17,.62) !important;
    font-size:12.5px !important;
    line-height:1.48 !important;
  }

  .transport-cta-button{
    width:auto !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:44px !important;
    margin-top:14px !important;
    padding:0 18px !important;
    border-radius:999px !important;
    font-size:10.5px !important;
    line-height:1 !important;
    letter-spacing:.06em !important;
    white-space:nowrap !important;
    box-shadow:none !important;
  }
}

@media (max-width: 420px){
  .transport-cta h3{
    font-size:20px !important;
  }

  .transport-cta-button{
    width:100% !important;
    justify-content:center !important;
  }
}


/* ==================================================================
   GRÚA Y REVISIÓN TÉCNICA · ICONOGRAFÍA
   Usamos Bootstrap Icons para un look más estándar y limpio.
   ================================================================== */
.mobility-service-tag svg{display:none;}

.mobility-service-tag .bi{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  flex:0 0 22px;
  font-size:20px;
  line-height:1;
}

@media (max-width: 767px){
  .mobility-service-tag .bi{
    width:20px;
    height:20px;
    flex-basis:20px;
    font-size:18px;
  }
}


/* ==================================================================
   MOBILE · BARRA DE ACCESOS RÁPIDOS
   Llamar · WhatsApp · Sucursales, fija durante el scroll.
   ================================================================== */
.mobile-quick-actions{
  display:none;
}

@media (max-width:767px){
  html{
    scroll-padding-bottom:calc(82px + env(safe-area-inset-bottom));
  }

  body{
    padding-bottom:calc(72px + env(safe-area-inset-bottom));
  }

  .mobile-quick-actions{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1200;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    padding:7px 7px calc(7px + env(safe-area-inset-bottom));
    background:rgba(20,23,30,.98);
    border-top:1px solid rgba(255,255,255,.08);
    box-shadow:0 -10px 28px rgba(0,0,0,.16);
    backdrop-filter:blur(16px) saturate(115%);
    -webkit-backdrop-filter:blur(16px) saturate(115%);
  }

  .mobile-quick-action{
    min-width:0;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 10px;
    color:#fff;
    background:#2c3039;
    border:0;
    border-radius:13px;
    font-family:"Manrope","Inter",system-ui,sans-serif;
    font-size:13px;
    line-height:1;
    font-weight:750;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    transition:transform .14s ease, background .14s ease, opacity .14s ease;
  }

  .mobile-quick-action:active{
    transform:scale(.98);
    opacity:.92;
  }

  .mobile-quick-action--whatsapp{
    color:#fff;
    background:#25D366;
  }

  .mobile-quick-action:focus-visible{
    outline:2px solid rgba(255,255,255,.78);
    outline-offset:2px;
  }

  /* El acceso rápido reemplaza al FAB verde en teléfono. */
  .wa-widget{
    right:max(10px,env(safe-area-inset-right)) !important;
    bottom:calc(76px + env(safe-area-inset-bottom)) !important;
    z-index:1190 !important;
  }

  .wa-fab{
    display:none !important;
  }

  .wa-picker{
    width:min(292px,calc(100vw - 20px)) !important;
    max-height:min(380px,calc(100dvh - 150px)) !important;
  }

  footer{
    padding-bottom:20px !important;
  }
}

@media (max-width:390px){
  .mobile-quick-actions{
    gap:5px;
    padding-left:5px;
    padding-right:5px;
  }

  .mobile-quick-action{
    min-height:46px;
    padding:0 7px;
    border-radius:12px;
    font-size:12px;
  }
}


/* ==================================================================
   MOBILE · BARRA FLOTANTE
   Separada de los bordes, tipo cápsula con sombra suave.
   ================================================================== */
@media (max-width:767px){
  html{
    scroll-padding-bottom:calc(102px + env(safe-area-inset-bottom));
  }

  body{
    padding-bottom:calc(92px + env(safe-area-inset-bottom));
  }

  .mobile-quick-actions{
    left:12px !important;
    right:12px !important;
    bottom:calc(12px + env(safe-area-inset-bottom)) !important;
    gap:7px !important;
    padding:6px !important;
    background:rgba(20,23,30,.94) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    border-radius:20px !important;
    box-shadow:
      0 14px 34px rgba(0,0,0,.24),
      0 2px 8px rgba(0,0,0,.12),
      inset 0 1px 0 rgba(255,255,255,.04) !important;
    backdrop-filter:blur(18px) saturate(118%) !important;
    -webkit-backdrop-filter:blur(18px) saturate(118%) !important;
  }

  .mobile-quick-action{
    min-height:47px !important;
    border-radius:14px !important;
  }

  /* El selector de WhatsApp aparece por encima de la barra flotante. */
  .wa-widget{
    right:max(12px,env(safe-area-inset-right)) !important;
    bottom:calc(96px + env(safe-area-inset-bottom)) !important;
  }

  .wa-picker{
    max-height:min(380px,calc(100dvh - 180px)) !important;
  }
}

@media (max-width:390px){
  .mobile-quick-actions{
    left:8px !important;
    right:8px !important;
    bottom:calc(8px + env(safe-area-inset-bottom)) !important;
    gap:5px !important;
    padding:5px !important;
    border-radius:18px !important;
  }

  .mobile-quick-action{
    min-height:45px !important;
    border-radius:13px !important;
  }
}


/* ==================================================================
   MOBILE · BARRA FLOTANTE SLIM
   Más delgada para no tapar tanto contenido.
   ================================================================== */
@media (max-width:767px){
  html{
    scroll-padding-bottom:calc(84px + env(safe-area-inset-bottom)) !important;
  }

  body{
    padding-bottom:calc(76px + env(safe-area-inset-bottom)) !important;
  }

  .mobile-quick-actions{
    left:10px !important;
    right:10px !important;
    bottom:calc(10px + env(safe-area-inset-bottom)) !important;
    gap:5px !important;
    padding:5px !important;
    border-radius:18px !important;
    box-shadow:
      0 10px 24px rgba(0,0,0,.20),
      0 2px 6px rgba(0,0,0,.10),
      inset 0 1px 0 rgba(255,255,255,.04) !important;
  }

  .mobile-quick-action{
    min-height:40px !important;
    padding:0 8px !important;
    border-radius:12px !important;
    font-size:12px !important;
    font-weight:700 !important;
  }

  .wa-widget{
    right:max(10px,env(safe-area-inset-right)) !important;
    bottom:calc(82px + env(safe-area-inset-bottom)) !important;
  }

  .wa-picker{
    max-height:min(380px,calc(100dvh - 160px)) !important;
  }
}

@media (max-width:390px){
  html{
    scroll-padding-bottom:calc(80px + env(safe-area-inset-bottom)) !important;
  }

  body{
    padding-bottom:calc(72px + env(safe-area-inset-bottom)) !important;
  }

  .mobile-quick-actions{
    left:8px !important;
    right:8px !important;
    bottom:calc(8px + env(safe-area-inset-bottom)) !important;
    gap:4px !important;
    padding:4px !important;
    border-radius:16px !important;
  }

  .mobile-quick-action{
    min-height:38px !important;
    padding:0 6px !important;
    border-radius:11px !important;
    font-size:11.5px !important;
  }

  .wa-widget{
    right:max(8px,env(safe-area-inset-right)) !important;
    bottom:calc(78px + env(safe-area-inset-bottom)) !important;
  }
}


/* ==================================================================
   KENDARK v151 — PERFORMANCE / 60 FPS
   Reduce trabajo offscreen y efectos GPU costosos sin cambiar layout.
   ================================================================== */
.mobility-section,
.vehicle-kavak-section,
.booking-section{
  content-visibility:auto;
  contain-intrinsic-size:800px;
}

/* El mapa es la última sección: se mantiene renderizable para que pueda
   prepararse en segundo plano antes de que el usuario llegue. */
.location-section{
  content-visibility:visible;
}

.brand-marquee:not(.is-in-view) .brand-marquee-track{
  animation-play-state:paused !important;
}

.brand-marquee-track,
.contact-ticker-track{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* Bootstrap Icons oficiales embebidos como SVG: sin CSS/font externo. */
.mobility-service-tag svg.bi{
  display:inline-block !important;
  width:22px !important;
  height:22px !important;
  flex:0 0 22px !important;
  fill:currentColor !important;
  stroke:none !important;
}

@media (max-width:767px){
  /* Blur persistente es caro en GPU móvil; fondos siguen siendo visualmente equivalentes. */
  .mobile-quick-actions,
  .wa-picker,
  .transport-plan-popover{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .mobility-service-tag svg.bi{
    width:20px !important;
    height:20px !important;
    flex-basis:20px !important;
  }
}


/* v151.1 — trabajo cero cuando elementos animados están fuera de cámara. */
.contact-ticker:not(.is-in-view) .contact-ticker-track{
  animation-play-state:paused !important;
}

.wa-message,
.wa-message.is-visible{
  will-change:auto !important;
  animation:none !important;
}


/* ==================================================================
   KENDARK v155 — WHATSAPP MOBILE ROBUSTO, SIN DEPENDENCIA DE JS
   El botón central usa <details>/<summary> y links wa.me directos.
   ================================================================== */
.mobile-wa-menu{display:none;}

@media (max-width:767px){
  /* El selector desktop queda fuera del flujo en teléfono. */
  .wa-widget{display:none !important;}

  .mobile-wa-menu{
    position:relative;
    min-width:0;
    display:block;
  }

  .mobile-wa-menu > summary{
    list-style:none;
    width:100%;
    height:100%;
    user-select:none;
  }

  .mobile-wa-menu > summary::-webkit-details-marker{display:none;}
  .mobile-wa-menu > summary::marker{content:"";}

  .mobile-wa-sheet{
    position:fixed;
    left:12px;
    right:12px;
    bottom:calc(66px + env(safe-area-inset-bottom));
    z-index:1300;
    overflow:hidden;
    color:#111;
    background:rgba(255,255,255,.985);
    border:1px solid rgba(17,17,17,.10);
    border-radius:16px;
    box-shadow:0 20px 48px rgba(0,0,0,.22),0 5px 16px rgba(0,0,0,.08);
    transform-origin:bottom center;
    animation:kendarkMobileWaOpen .16s ease-out both;
  }

  .mobile-wa-sheet-head{
    padding:14px 16px 11px;
    border-bottom:1px solid rgba(17,17,17,.07);
  }

  .mobile-wa-sheet-head span{
    display:block;
    margin-bottom:4px;
    color:#877000;
    font-size:8px;
    font-weight:800;
    letter-spacing:.14em;
  }

  .mobile-wa-sheet-head strong{
    display:block;
    font-size:14px;
    line-height:1.2;
  }

  .mobile-wa-person{
    min-height:62px;
    display:grid;
    grid-template-columns:38px minmax(0,1fr) 28px;
    gap:11px;
    align-items:center;
    padding:8px 12px;
    color:#111;
    text-decoration:none;
    -webkit-tap-highlight-color:transparent;
  }

  .mobile-wa-person + .mobile-wa-person{
    border-top:1px solid rgba(17,17,17,.065);
  }

  .mobile-wa-person:active{background:#f4f5f2;}

  .mobile-wa-avatar{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#25D366;
    font-size:13px;
    font-weight:850;
  }

  .mobile-wa-person strong{
    display:block;
    font-size:13.5px;
    line-height:1.15;
  }

  .mobile-wa-person small{
    display:block;
    margin-top:2px;
    color:rgba(17,17,17,.52);
    font-size:10px;
    line-height:1.2;
    font-weight:600;
  }

  .mobile-wa-go{
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    border-radius:50%;
    color:#fff;
    background:#25D366;
    font-size:20px;
    line-height:1;
  }

  @keyframes kendarkMobileWaOpen{
    from{opacity:0;transform:translateY(6px) scale(.985);}
    to{opacity:1;transform:translateY(0) scale(1);}
  }
}

@media (max-width:390px){
  .mobile-wa-sheet{
    left:8px;
    right:8px;
    bottom:calc(60px + env(safe-area-inset-bottom));
  }
}


/* ==================================================================
   KENDARK v156 — WHATSAPP MOBILE EN TOP LAYER + MARCAS ROBUSTAS
   ================================================================== */
.brand-logo-item{position:relative;}
.brand-logo-fallback{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:#202020; font-family:"Manrope","Inter",system-ui,sans-serif;
  font-size:15px; line-height:1; font-weight:700; letter-spacing:-.025em; white-space:nowrap;
}
.brand-logo-item img{position:relative;z-index:1;background:#f7f7f5;}

.mobile-wa-dialog{display:none;}
@media (max-width:767px){
  .mobile-wa-menu{display:none !important;}
  .mobile-wa-dialog{
    width:min(342px,calc(100vw - 24px));
    max-width:none;
    margin:auto auto calc(68px + env(safe-area-inset-bottom));
    padding:0;
    color:#111;
    background:transparent;
    border:0;
    overflow:visible;
  }
  .mobile-wa-dialog[open]{display:block;}
  .mobile-wa-dialog::backdrop{background:rgba(0,0,0,.24);backdrop-filter:blur(2px);}
  .mobile-wa-dialog-card{
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(17,17,17,.08);
    border-radius:18px;
    box-shadow:0 22px 54px rgba(0,0,0,.24);
  }
  .mobile-wa-dialog-head{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    padding:14px 14px 12px 16px;
    border-bottom:1px solid rgba(17,17,17,.07);
  }
  .mobile-wa-dialog-head span{display:block;margin-bottom:4px;color:#7d6900;font-size:8px;font-weight:800;letter-spacing:.14em;}
  .mobile-wa-dialog-head strong{display:block;font-size:15px;line-height:1.2;}
  .mobile-wa-dialog-head form{margin:0;}
  .mobile-wa-dialog-close{
    width:30px;height:30px;padding:0;border:0;border-radius:50%;
    display:grid;place-items:center;background:#f1f2f0;color:#4a4f54;font-size:19px;line-height:1;
  }
  .mobile-wa-dialog-list{padding:6px;}
  .mobile-wa-dialog .mobile-wa-person{border-radius:12px;}
  .mobile-wa-dialog .mobile-wa-person + .mobile-wa-person{border-top:1px solid rgba(17,17,17,.06);}
  .brand-logo-fallback{font-size:13px;}
  .brand-logo-item img{max-width:72px;max-height:42px;}
}
@media (max-width:390px){
  .mobile-wa-dialog{width:calc(100vw - 16px);margin-bottom:calc(60px + env(safe-area-inset-bottom));}
}


/* v156.1 — proporciones correctas de logos con alt vacío + dialog anclado */
.brand-logo-item[aria-label="Citroën"] img{width:56px;max-height:56px;}
.brand-logo-item[aria-label="Peugeot"] img{width:54px;max-height:58px;}
.brand-logo-item[aria-label="Mercedes-Benz"] img{width:46px;height:46px;}
.brand-logo-item[aria-label="Hyundai"] img{width:68px;max-height:39px;}
.brand-logo-item[aria-label="Toyota"] img{width:55px;max-height:47px;}
.brand-logo-item[aria-label="Volkswagen"] img{width:46px;height:46px;}
.brand-logo-item[aria-label="Renault"] img{width:39px;max-height:47px;}
.brand-logo-item[aria-label="Kia"] img{width:70px;max-height:29px;}

@media (max-width:767px){
  .mobile-wa-dialog{
    position:fixed !important;
    inset:auto 0 calc(62px + env(safe-area-inset-bottom)) 0 !important;
    margin:0 auto !important;
  }
  .brand-logo-item[aria-label="Citroën"] img{width:44px;}
  .brand-logo-item[aria-label="Peugeot"] img{width:43px;}
  .brand-logo-item[aria-label="Mercedes-Benz"] img{width:36px;height:36px;}
  .brand-logo-item[aria-label="Hyundai"] img{width:56px;}
  .brand-logo-item[aria-label="Toyota"] img{width:45px;}
  .brand-logo-item[aria-label="Volkswagen"] img{width:37px;height:37px;}
  .brand-logo-item[aria-label="Renault"] img{width:32px;}
  .brand-logo-item[aria-label="Kia"] img{width:58px;}
}
@media (max-width:390px){
  .mobile-wa-dialog{inset:auto 0 calc(56px + env(safe-area-inset-bottom)) 0 !important;}
}


/* v156.2 — fallback de marcas solo cuando el recurso no carga */
.brand-logo-fallback{transition:opacity .12s ease;}
.brand-logo-item.brand-logo-loaded .brand-logo-fallback{opacity:0;}
.brand-logo-item[aria-label="Mercedes-Benz"] .brand-logo-fallback{
  position:relative;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
}
@media (max-width:767px){
  .brand-logo-item[aria-label="Mercedes-Benz"] .brand-logo-fallback{font-size:9px;}
}


/* ==================================================================
   KENDARK v157 — NETLIFY MOBILE ESTABLE
   - Carrusel de marcas 100% local/inline: sin imágenes remotas.
   - WhatsApp mobile con :target: no depende de JavaScript/dialog.
   ================================================================== */

/* Marcas: anula cualquier fallback/imagen histórica y usa SVG/wordmark local */
.brand-logo-fallback,
.brand-logo-item > img{display:none !important;}
.brand-logo-item{
  overflow:visible !important;
  color:#161616;
}
.brand-logo-svg{
  display:block;
  width:64px;
  height:48px;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.brand-mercedes{width:46px;height:46px;stroke-width:2.2;}
.brand-hyundai{width:68px;height:42px;stroke-width:4.2;}
.brand-toyota{width:58px;height:42px;stroke-width:3.2;}
.brand-vw{width:46px;height:46px;stroke-width:2.5;}
.brand-renault{width:44px;height:48px;stroke-width:3;}
.brand-citroen{width:62px;height:42px;stroke-width:5.2;}
.brand-wordmark{
  display:block;
  color:#151515;
  font-family:"Manrope","Inter",system-ui,sans-serif;
  font-size:17px;
  line-height:1;
  font-weight:800;
  letter-spacing:.04em;
  white-space:nowrap;
}
.brand-wordmark--peugeot{font-size:15px;letter-spacing:.1em;}
.brand-wordmark--kia{font-size:22px;letter-spacing:-.08em;font-weight:700;}

/* Retira completamente implementaciones mobile anteriores */
.mobile-wa-dialog,
.mobile-wa-sheet,
.mobile-wa-menu{display:none !important;}
.mobile-wa-close-anchor{
  position:fixed;
  width:1px;
  height:1px;
  overflow:hidden;
  pointer-events:none;
}
.mobile-wa-overlay{display:none;}

@media (max-width:767px){
  .brand-logo-svg{transform:scale(.86);transform-origin:center;}
  .brand-wordmark{font-size:14px;}
  .brand-wordmark--peugeot{font-size:12px;}
  .brand-wordmark--kia{font-size:19px;}

  .mobile-wa-overlay{
    position:fixed;
    inset:0;
    z-index:5000;
    display:block;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease, visibility 0s linear .18s;
  }
  .mobile-wa-overlay:target{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .18s ease, visibility 0s linear 0s;
  }
  .mobile-wa-backdrop{
    position:absolute;
    inset:0;
    display:block;
    background:rgba(0,0,0,.28);
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-wa-panel{
    position:absolute;
    left:12px;
    right:12px;
    bottom:calc(70px + env(safe-area-inset-bottom));
    overflow:hidden;
    color:#111;
    background:#fff;
    border:1px solid rgba(17,17,17,.08);
    border-radius:18px;
    box-shadow:0 22px 54px rgba(0,0,0,.24);
    transform:translateY(10px) scale(.985);
    transition:transform .18s ease;
  }
  .mobile-wa-overlay:target .mobile-wa-panel{
    transform:translateY(0) scale(1);
  }
  .mobile-wa-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 14px 12px 16px;
    border-bottom:1px solid rgba(17,17,17,.07);
  }
  .mobile-wa-panel-head > div > span{
    display:block;
    margin-bottom:4px;
    color:#8e6b00;
    font-size:8px;
    line-height:1;
    font-weight:800;
    letter-spacing:.14em;
  }
  .mobile-wa-panel-head strong{
    display:block;
    color:#171717;
    font-size:15px;
    line-height:1.2;
    font-weight:750;
  }
  .mobile-wa-panel-close{
    width:30px;
    height:30px;
    flex:0 0 30px;
    display:grid;
    place-items:center;
    color:#4f555a;
    background:#f1f2f0;
    border-radius:50%;
    font-size:20px;
    line-height:1;
    text-decoration:none;
  }
  .mobile-wa-panel-list{padding:6px;}
  .mobile-wa-person-v157{
    min-height:66px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 30px;
    gap:11px;
    align-items:center;
    padding:9px 10px;
    color:#111;
    border-radius:12px;
    text-decoration:none;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-wa-person-v157 + .mobile-wa-person-v157{
    border-top:1px solid rgba(17,17,17,.06);
  }
  .mobile-wa-avatar-v157{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    color:#fff;
    background:#25D366;
    border-radius:50%;
    font-size:14px;
    font-weight:850;
  }
  .mobile-wa-person-copy{min-width:0;display:block;}
  .mobile-wa-person-copy strong{
    display:block;
    color:#111;
    font-size:14px;
    line-height:1.15;
    font-weight:750;
  }
  .mobile-wa-person-copy small{
    display:block;
    margin-top:3px;
    color:rgba(17,17,17,.52);
    font-size:10.5px;
    line-height:1.2;
    font-weight:600;
  }
  .mobile-wa-person-go{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    color:#fff;
    background:#25D366;
    border-radius:50%;
    font-size:20px;
    line-height:1;
  }
  .mobile-quick-action--whatsapp{
    text-decoration:none !important;
  }
}
@media (max-width:390px){
  .mobile-wa-panel{
    left:8px;
    right:8px;
    bottom:calc(62px + env(safe-area-inset-bottom));
    border-radius:16px;
  }
}


/* ==================================================================
   KENDARK v158 — RESTAURACIÓN DEL CARRUSEL DE MARCAS ORIGINAL
   Mantiene exactamente las marcas/orden visual de la versión previa.
   WhatsApp v157 permanece intacto.
   ================================================================== */
.brand-logo-item > img{
  display:block !important;
}
.brand-logo-svg,
.brand-wordmark,
.brand-logo-fallback{
  display:none !important;
}
.brand-logo-item{
  overflow:visible !important;
}

/* Evita mostrar texto/ícono roto mientras una fuente remota resuelve. */
.brand-logo-item img{
  color:transparent;
  font-size:0;
}


/* ==================================================================
   KENDARK v159 — FIX ICONOS GRÚA / REVISIÓN TÉCNICA
   Los Bootstrap Icons embebidos usan relleno; una regla histórica
   anulaba el primer path y dejaba ambos pictogramas invisibles/incompletos.
   ================================================================== */
.mobility-service-tag svg.bi,
.mobility-service-tag svg.bi path,
.mobility-service-tag svg.bi path:first-child{
  display:inline-block !important;
  fill:currentColor !important;
  stroke:none !important;
}

.mobility-service-tag svg.bi{
  width:22px !important;
  height:22px !important;
  flex:0 0 22px !important;
}

@media (max-width:767px){
  .mobility-service-tag svg.bi{
    width:20px !important;
    height:20px !important;
    flex-basis:20px !important;
  }
}


/* ==================================================================
   KENDARK v162 — INSTALAR APP DESDE EL HEADER
   ================================================================== */
.btn-install{
  min-height:40px;
  height:40px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#fff;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.24);
  border-radius:5px;
  font-size:10.5px;
  font-weight:650;
  white-space:nowrap;
  cursor:pointer;
}
.btn-install svg,
.header-install-compact svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.btn-install:hover,
.btn-install.is-install-ready{
  color:#F8B800;
  border-color:rgba(248,184,0,.68);
  background:rgba(248,184,0,.07);
}
.header-install-compact{display:none;}

@media (min-width:1321px){
  .header-cta .btn-install{min-width:116px;}
}

@media (min-width:1101px) and (max-width:1320px){
  .header-cta .btn-install{
    width:40px !important;
    min-width:40px !important;
    padding:0 !important;
  }
  .header-cta .btn-install span{display:none;}
}

@media (min-width:701px) and (max-width:1100px){
  .header-cta.open .btn-install{
    min-width:132px;
    min-height:44px;
  }
}

@media (max-width:700px){
  .header-inner{
    grid-template-columns:clamp(88px,25vw,112px) minmax(0,1fr) 36px 38px !important;
    gap:6px !important;
  }
  .brand{grid-column:1 !important; max-width:112px !important;}
  .header-search{grid-column:2 !important;}
  .header-install-compact{
    grid-column:3 !important;
    grid-row:1 !important;
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    padding:0;
    color:#fff;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.22);
    border-radius:9px;
    cursor:pointer;
  }
  .header-install-compact.is-install-ready{
    color:#F8B800;
    border-color:rgba(248,184,0,.62);
  }
  .menu-btn{grid-column:4 !important;}
  .nav,
  .header-cta{grid-column:1 / -1 !important;}
  .header-cta .btn-install{display:none !important;}
}

@media (max-width:360px){
  .header-inner{
    grid-template-columns:84px minmax(0,1fr) 34px 36px !important;
    gap:5px !important;
  }
  .brand{max-width:84px !important;}
  .header-install-compact{width:34px;height:34px;border-radius:8px;}
  .menu-btn{width:36px !important;height:36px !important;min-width:36px !important;}
}

.pwa-install-help{
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:center;
  padding:20px;
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease,visibility 0s linear .2s;
}
.pwa-install-help.is-open{
  opacity:1;
  visibility:visible;
  transition:opacity .2s ease,visibility 0s linear 0s;
}
.pwa-install-help-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:rgba(0,0,0,.66);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.pwa-install-help-panel{
  position:relative;
  z-index:1;
  width:min(420px,100%);
  padding:20px;
  color:#111;
  background:#fff;
  border-radius:18px;
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  transform:translateY(10px) scale(.985);
  transition:transform .2s ease;
}
.pwa-install-help.is-open .pwa-install-help-panel{transform:translateY(0) scale(1);}
.pwa-install-help-top{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.pwa-install-help-kicker{color:#9b7200;font-size:9px;font-weight:800;letter-spacing:.16em;}
.pwa-install-help-close{
  width:32px;height:32px;padding:0;border:0;border-radius:50%;
  color:#626870;background:#f1f2ef;font-size:20px;line-height:1;cursor:pointer;
}
.pwa-install-help-panel h2{
  margin:15px 0 8px;
  color:#111;
  font-family:"Barlow Condensed","Arial Narrow",sans-serif;
  font-size:34px;
  line-height:.96;
  font-weight:700;
  text-transform:uppercase;
}
.pwa-install-help-panel > p{margin:0;color:#686868;font-size:13px;line-height:1.5;}
.pwa-install-help-panel ol{margin:17px 0 0;padding:0;list-style:none;counter-reset:pwa-step;display:grid;gap:10px;}
.pwa-install-help-panel li{
  counter-increment:pwa-step;
  min-height:42px;
  display:grid;
  grid-template-columns:30px 1fr;
  align-items:center;
  gap:10px;
  color:#202020;
  font-size:12.5px;
  line-height:1.4;
}
.pwa-install-help-panel li::before{
  content:counter(pwa-step);
  width:28px;height:28px;display:grid;place-items:center;
  color:#111;background:#F8B800;border-radius:50%;font-size:11px;font-weight:800;
}
.pwa-install-help-done{
  width:100%;min-height:46px;margin-top:18px;border:0;border-radius:10px;
  color:#111;background:#F8B800;font-size:11px;font-weight:800;cursor:pointer;
}
body.pwa-install-help-open{overflow:hidden;}

@media (max-width:600px){
  .pwa-install-help{align-items:end;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));}
  .pwa-install-help-panel{width:100%;padding:18px;border-radius:18px;}
  .pwa-install-help-panel h2{font-size:29px;}
}


/* ==================================================================
   KENDARK v163 — SANEAMIENTO FUNCIONAL SIN REDISEÑO
   ================================================================== */
.brand-logo-item .brand-logo-fallback{
  display:flex !important;
  pointer-events:none;
}
.brand-logo-item img.is-broken{
  display:none !important;
}
.btn-login:disabled{
  cursor:not-allowed;
}

/* ==================================================================
   KENDARK v164 — FIX CARRUSEL DE MARCAS
   - El fallback queda oculto salvo error real de imagen.
   - Las dos mitades del marquee usan exactamente las mismas medidas.
   - Evita texto de marca visible por debajo de SVG transparentes.
   ================================================================== */
.brand-logo-item .brand-logo-fallback{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.brand-logo-item.brand-logo-broken .brand-logo-fallback{
  display:flex !important;
  opacity:1 !important;
  visibility:visible !important;
  position:absolute !important;
  inset:0 !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:2 !important;
  background:#f7f7f5 !important;
}
.brand-logo-item.brand-logo-broken > img,
.brand-logo-item > img.is-broken{
  display:none !important;
}
.brand-logo-item > img{
  background:transparent !important;
}

/* Medidas por recurso: aplican también a la copia aria-hidden del loop. */
.brand-logo-item img[src*="Citro%C3%ABn_2021.svg"]{width:56px !important;max-height:56px !important;}
.brand-logo-item img[src*="Peugeot_Logo.svg"]{width:54px !important;max-height:58px !important;}
.brand-logo-item img[src*="Mercedes-Benz_Star_2022.svg"]{width:46px !important;height:46px !important;}
.brand-logo-item img[src*="Hyundai_symbol.svg"]{width:68px !important;max-height:39px !important;}
.brand-logo-item img[src*="Toyota_logo_(Red).svg"]{width:55px !important;max-height:47px !important;}
.brand-logo-item img[src*="Volkswagen_logo_2019.svg"]{width:46px !important;height:46px !important;}
.brand-logo-item img[src*="Renault_2021.svg"]{width:39px !important;max-height:47px !important;}
.brand-logo-item img[src*="KIA_logo3.svg"]{width:70px !important;max-height:29px !important;}

@media (max-width:767px){
  .brand-logo-item img[src*="Citro%C3%ABn_2021.svg"]{width:43px !important;max-height:43px !important;}
  .brand-logo-item img[src*="Peugeot_Logo.svg"]{width:42px !important;max-height:45px !important;}
  .brand-logo-item img[src*="Mercedes-Benz_Star_2022.svg"]{width:36px !important;height:36px !important;}
  .brand-logo-item img[src*="Hyundai_symbol.svg"]{width:55px !important;max-height:39px !important;}
  .brand-logo-item img[src*="Toyota_logo_(Red).svg"]{width:44px !important;max-height:47px !important;}
  .brand-logo-item img[src*="Volkswagen_logo_2019.svg"]{width:36px !important;height:36px !important;}
  .brand-logo-item img[src*="Renault_2021.svg"]{width:31px !important;max-height:47px !important;}
  .brand-logo-item img[src*="KIA_logo3.svg"]{width:57px !important;max-height:29px !important;}
}



/* ==================================================================
   KENDARK v165 — CIERRE TÉCNICO DEL CARRUSEL
   - El tamaño depende de data-brand, no de la URL remota.
   - Permite cambiar/proxificar el recurso sin alterar proporciones.
   ================================================================== */
.brand-logo-item[data-brand="citroen"] img{width:56px !important;max-height:56px !important;}
.brand-logo-item[data-brand="peugeot"] img{width:54px !important;max-height:58px !important;}
.brand-logo-item[data-brand="mercedes"] img{width:46px !important;height:46px !important;}
.brand-logo-item[data-brand="hyundai"] img{width:68px !important;max-height:39px !important;}
.brand-logo-item[data-brand="toyota"] img{width:55px !important;max-height:47px !important;}
.brand-logo-item[data-brand="volkswagen"] img{width:46px !important;height:46px !important;}
.brand-logo-item[data-brand="renault"] img{width:39px !important;max-height:47px !important;}
.brand-logo-item[data-brand="kia"] img{width:70px !important;max-height:29px !important;}
@media (max-width:767px){
  .brand-logo-item[data-brand="citroen"] img{width:43px !important;max-height:43px !important;}
  .brand-logo-item[data-brand="peugeot"] img{width:42px !important;max-height:45px !important;}
  .brand-logo-item[data-brand="mercedes"] img{width:36px !important;height:36px !important;}
  .brand-logo-item[data-brand="hyundai"] img{width:55px !important;max-height:39px !important;}
  .brand-logo-item[data-brand="toyota"] img{width:44px !important;max-height:47px !important;}
  .brand-logo-item[data-brand="volkswagen"] img{width:36px !important;height:36px !important;}
  .brand-logo-item[data-brand="renault"] img{width:31px !important;max-height:47px !important;}
  .brand-logo-item[data-brand="kia"] img{width:57px !important;max-height:29px !important;}
}


/* ==================================================================
   KENDARK v167 — CIERRE DE AUDITORÍA INTENSA
   - Evita solape CTA/dots en teléfonos angostos.
   - Mantiene el overlay WhatsApp móvil por encima de la barra rápida.
   ================================================================== */
@media (max-width:360px){
  .hero#inicio{min-height:clamp(650px,104svh,760px) !important;}
}
@media (prefers-reduced-motion:reduce){
  .hero .hero-art img,
  .slide-status .dot,
  .brand-marquee-track,
  .contact-ticker-track{
    transition:none !important;
    animation:none !important;
  }
}

/* ===== KENDARK v205 · Lavado & Detailing compacto =====
   Convierte la pieza en banner secundario: menor altura y copy más liviano. */
.wash-promo-section{
  background:#f7f7f5;
  padding:28px 0 34px;
}
.wash-promo-shell{width:100%;}
.wash-promo-media{
  position:relative;
  height:clamp(300px,24vw,380px);
  overflow:hidden;
  border-radius:18px;
  background:#e9eef1;
  box-shadow:0 12px 30px rgba(16,20,24,.08);
}
.wash-promo-media>img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 54%;
}
.wash-promo-copy{
  position:absolute;
  left:clamp(18px,2.6vw,42px);
  bottom:clamp(18px,2.4vw,34px);
  width:min(430px,40%);
  padding:20px 24px 22px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:15px;
  background:rgba(255,255,255,.91);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  box-shadow:0 9px 24px rgba(11,17,22,.10);
}
.wash-promo-kicker{
  display:block;
  margin-bottom:7px;
  color:#c99100;
  font:700 10px/1.2 Manrope,sans-serif;
  letter-spacing:.13em;
}
.wash-promo-copy h2{
  margin:0;
  color:#0b0b0c;
  font-family:'Barlow Condensed',Arial,sans-serif;
  font-size:clamp(38px,3vw,50px);
  font-weight:700;
  line-height:.91;
  letter-spacing:-.02em;
}
.wash-promo-copy h2 span{color:#d19a00;}
.wash-promo-copy p{
  margin:11px 0 0;
  max-width:390px;
  color:#4d5154;
  font:500 14px/1.45 Manrope,sans-serif;
}
@media(max-width:980px){
  .wash-promo-section{padding:26px 0 30px;}
  .wash-promo-media{height:320px;border-radius:16px;}
  .wash-promo-copy{width:min(400px,48%);padding:18px 20px 20px;}
  .wash-promo-copy h2{font-size:40px;}
  .wash-promo-copy p{font-size:13px;}
}
@media(max-width:700px){
  .wash-promo-section{padding:22px 0 26px;}
  .wash-promo-media{height:auto;border-radius:14px;}
  .wash-promo-media>img{height:220px;object-position:64% 48%;}
  .wash-promo-copy{
    position:relative;
    left:auto;bottom:auto;
    width:auto;
    padding:18px 17px 20px;
    border:0;
    border-radius:0;
    background:#fff;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .wash-promo-copy h2{font-size:37px;}
  .wash-promo-copy p{font-size:13.5px;margin-top:10px;}
}
@media(max-width:420px){
  .wash-promo-media>img{height:190px;}
  .wash-promo-copy{padding:16px 15px 18px;}
  .wash-promo-copy h2{font-size:34px;}
}

/* ==================================================================
   KENDARK v202 · GRÚA + REVISIÓN TÉCNICA COMPACTA
   Reduce altura visual manteniendo toda la información y CTAs.
   ================================================================== */
@media (min-width:981px){
  .mobility-section{
    padding:22px 0 30px !important;
  }
  .mobility-grid{
    gap:22px !important;
  }
  .mobility-card{
    border-radius:16px !important;
  }
  .mobility-media{
    aspect-ratio:16 / 5.4 !important;
  }
  .mobility-service-tag{
    left:16px !important;
    bottom:14px !important;
    min-height:36px !important;
    padding:7px 11px 7px 9px !important;
    gap:8px !important;
    border-radius:9px !important;
    font-size:10px !important;
  }
  .mobility-service-tag svg{
    width:19px !important;
    height:19px !important;
    flex-basis:19px !important;
  }
  .mobility-body{
    padding:18px 20px 17px !important;
  }
  .mobility-body h3{
    font-size:clamp(22px,1.55vw,28px) !important;
    line-height:1.04 !important;
  }
  .mobility-body>p{
    margin-top:8px !important;
    font-size:13px !important;
    line-height:1.45 !important;
  }
  .mobility-prices{
    margin:15px 0 13px !important;
    padding:11px 0 !important;
  }
  .mobility-prices>div{
    padding:0 12px !important;
  }
  .mobility-prices>div:first-child{padding-left:0 !important;}
  .mobility-prices>div:last-child{padding-right:0 !important;}
  .mobility-prices span{
    margin-bottom:4px !important;
    font-size:10px !important;
  }
  .mobility-prices strong{
    font-size:clamp(20px,1.45vw,25px) !important;
  }
  .mobility-points{
    margin:15px 0 13px !important;
    padding:11px 0 !important;
    gap:10px 18px !important;
  }
  .mobility-points span{
    font-size:11px !important;
  }
  .mobility-points svg{
    width:17px !important;
    height:17px !important;
    flex-basis:17px !important;
  }
  .mobility-cta{
    min-height:44px !important;
    padding:0 15px !important;
    border-radius:9px !important;
    font-size:11.5px !important;
  }
  .mobility-cta svg{
    width:18px !important;
    height:18px !important;
    flex-basis:18px !important;
  }
  .mobility-note{
    margin-top:7px !important;
    font-size:9px !important;
  }
}

@media (min-width:621px) and (max-width:980px){
  .mobility-section{padding:20px 0 30px !important;}
  .mobility-grid{max-width:760px !important;gap:18px !important;}
  .mobility-media{aspect-ratio:16 / 6.2 !important;}
  .mobility-body{padding:18px 20px !important;}
  .mobility-body h3{font-size:25px !important;}
  .mobility-body>p{font-size:13px !important;margin-top:8px !important;}
  .mobility-prices,.mobility-points{margin:15px 0 14px !important;padding:12px 0 !important;}
  .mobility-cta{min-height:46px !important;}
}

@media (max-width:620px){
  .mobility-section{padding:16px 0 24px !important;}
  .mobility-grid{gap:13px !important;}
  .mobility-card{border-radius:13px !important;}
  .mobility-media{aspect-ratio:16 / 8.5 !important;}
  .mobility-service-tag{bottom:10px !important;left:10px !important;min-height:34px !important;}
  .mobility-body{padding:16px 14px 15px !important;}
  .mobility-body h3{font-size:21px !important;line-height:1.05 !important;}
  .mobility-body>p{font-size:12.5px !important;line-height:1.43 !important;margin-top:7px !important;}
  .mobility-prices,.mobility-points{margin:14px 0 13px !important;padding:11px 0 !important;}
  .mobility-prices strong{font-size:18px !important;}
  .mobility-cta{min-height:44px !important;font-size:11.5px !important;}
  .mobility-note{margin-top:7px !important;font-size:9px !important;}
}


/* ==================================================================
   KENDARK v203 · CTA FLOTAS COMPACTO
   Reduce altura, ancho y jerarquía visual del bloque empresas.
   ================================================================== */
.transport-cta{
  width:min(100%,1180px) !important;
  margin:18px auto 0 !important;
  gap:18px !important;
  padding:12px 16px !important;
  border-radius:12px !important;
  box-shadow:0 6px 16px rgba(0,0,0,.06) !important;
}
.transport-cta-copy > span{
  margin-bottom:4px !important;
  font-size:8px !important;
  letter-spacing:.12em !important;
}
.transport-cta h3{
  max-width:520px !important;
  font-size:clamp(18px,1.45vw,22px) !important;
  line-height:1 !important;
}
.transport-cta p{
  max-width:620px !important;
  margin-top:5px !important;
  font-size:11.5px !important;
  line-height:1.35 !important;
}
.transport-cta-button{
  min-height:38px !important;
  padding:0 16px !important;
  font-size:10px !important;
  letter-spacing:.04em !important;
  box-shadow:none !important;
}
@media(max-width:767px){
  .transport-cta{
    width:100% !important;
    margin-top:14px !important;
    padding:13px 14px 14px !important;
    border-radius:12px !important;
  }
  .transport-cta-copy > span{font-size:7.5px !important;}
  .transport-cta h3{
    max-width:290px !important;
    font-size:19px !important;
    line-height:1.02 !important;
  }
  .transport-cta p{
    max-width:320px !important;
    margin-top:6px !important;
    font-size:11.5px !important;
    line-height:1.4 !important;
  }
  .transport-cta-button{
    min-height:40px !important;
    margin-top:11px !important;
    padding:0 16px !important;
    font-size:10px !important;
  }
}


/* ==================================================================
   KENDARK v204 · FLOTAS INTEGRADA
   Reemplaza la barra negra aislada por una franja corporativa clara,
   al mismo ancho del catálogo y con transición más corta a movilidad.
   ================================================================== */
.transport-section{
  padding-bottom:34px !important;
}
.transport-cta{
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  margin:20px 0 0 !important;
  padding:18px 20px 18px 24px !important;
  gap:28px !important;
  color:#111 !important;
  background:#fff !important;
  border:1px solid rgba(17,17,17,.10) !important;
  border-radius:14px !important;
  box-shadow:0 8px 24px rgba(17,17,17,.045) !important;
}
.transport-cta::before{
  content:'';
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:3px;
  border-radius:0 4px 4px 0;
  background:#F8B800;
}
.transport-cta-copy{
  display:grid !important;
  grid-template-columns:auto minmax(250px,.72fr) minmax(360px,1fr) !important;
  align-items:center !important;
  gap:18px !important;
  flex:1 1 auto !important;
}
.transport-cta-copy > span{
  margin:0 !important;
  padding:7px 10px !important;
  color:#8c6700 !important;
  background:#fff8dc !important;
  border:1px solid rgba(248,184,0,.28) !important;
  border-radius:999px !important;
  font-size:8.5px !important;
  line-height:1 !important;
  letter-spacing:.12em !important;
  white-space:nowrap !important;
}
.transport-cta h3{
  max-width:none !important;
  margin:0 !important;
  color:#111 !important;
  font-family:"Manrope","Inter",Arial,sans-serif !important;
  font-size:clamp(18px,1.35vw,22px) !important;
  line-height:1.15 !important;
  font-weight:750 !important;
  letter-spacing:-.025em !important;
  text-transform:none !important;
  white-space:nowrap !important;
}
.transport-cta p{
  max-width:none !important;
  margin:0 !important;
  color:rgba(17,17,17,.58) !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
}
.transport-cta-button{
  min-height:42px !important;
  padding:0 18px !important;
  border-radius:10px !important;
  font-size:10.5px !important;
  letter-spacing:.04em !important;
  box-shadow:none !important;
}
.mobility-section{
  padding-top:26px !important;
}

@media (max-width:1199px){
  .transport-cta-copy{
    grid-template-columns:auto minmax(220px,.8fr) minmax(280px,1fr) !important;
    gap:14px !important;
  }
  .transport-cta h3{white-space:normal !important;}
}

@media (max-width:900px){
  .transport-cta{
    align-items:flex-end !important;
    padding:17px 18px 17px 22px !important;
  }
  .transport-cta-copy{
    display:block !important;
  }
  .transport-cta-copy > span{
    display:inline-flex !important;
    margin-bottom:8px !important;
  }
  .transport-cta h3{
    font-size:20px !important;
  }
  .transport-cta p{
    margin-top:5px !important;
    max-width:560px !important;
  }
}

@media (max-width:767px){
  .transport-section{padding-bottom:24px !important;}
  .transport-cta{
    margin-top:12px !important;
    padding:15px 14px 15px 18px !important;
    border-radius:12px !important;
  }
  .transport-cta::before{
    top:14px;
    bottom:14px;
  }
  .transport-cta-copy > span{
    margin-bottom:7px !important;
    padding:6px 8px !important;
    font-size:7.5px !important;
  }
  .transport-cta h3{
    max-width:none !important;
    font-size:18px !important;
    line-height:1.15 !important;
  }
  .transport-cta p{
    margin-top:5px !important;
    font-size:11.5px !important;
    line-height:1.4 !important;
  }
  .transport-cta-button{
    min-height:40px !important;
    margin-top:12px !important;
    border-radius:9px !important;
    font-size:10px !important;
  }
  .mobility-section{padding-top:18px !important;}
}


/* ===== KENDARK v207 · controles del slide estilo hero ===== */
.wash-promo-controls{
  margin-top:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
}
.wash-promo-arrow{
  width:52px;
  height:52px;
  padding:0;
  border-radius:999px;
  border:1px solid rgba(16,20,24,.10);
  background:#fff;
  color:transparent;
  position:relative;
  display:grid;
  place-items:center;
  box-shadow:0 8px 22px rgba(16,20,24,.08);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.wash-promo-arrow::before{
  content:'';
  width:11px;
  height:11px;
  border-top:3px solid #111;
  border-right:3px solid #111;
  display:block;
}
.wash-promo-arrow[data-wash-prev]::before{transform:translateX(2px) rotate(-135deg);}
.wash-promo-arrow[data-wash-next]::before{transform:translateX(-2px) rotate(45deg);}
.wash-promo-arrow:hover{
  transform:translateY(-1px);
  border-color:rgba(16,20,24,.16);
  box-shadow:0 10px 24px rgba(16,20,24,.12);
}
.wash-promo-dots{
  display:flex;
  align-items:center;
  gap:10px;
}
.wash-promo-dot{
  width:12px;
  height:12px;
  border-radius:999px;
  border:0;
  background:#cfd3d8;
  cursor:pointer;
  padding:0;
  transition:width .18s ease, background .18s ease, opacity .18s ease;
  opacity:.95;
}
.wash-promo-dot.is-active{
  width:34px;
  background:#d4a000;
}
@media(max-width:700px){
  .wash-promo-controls{gap:12px;margin-top:12px;}
  .wash-promo-arrow{width:48px;height:48px;}
  .wash-promo-dot{width:10px;height:10px;}
  .wash-promo-dot.is-active{width:30px;}
}


/* ===== KENDARK v208 · slider Lavado/Detailing con controles superpuestos estilo hero ===== */
.wash-promo-carousel{position:relative;}
.wash-promo-track{position:relative;}
.wash-promo-slide{display:none;}
.wash-promo-slide.is-active{display:block;animation:washPromoFade .35s ease;}
@keyframes washPromoFade{from{opacity:.45}to{opacity:1}}
.wash-promo-controls{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:0 !important;
}
.wash-promo-arrow{
  width:46px !important;
  height:46px !important;
  border-radius:50% !important;
  border:1px solid rgba(17,17,17,.12) !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 7px 20px rgba(0,0,0,.10) !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  color:transparent !important;
  position:relative;
  display:grid;
  place-items:center;
}
/* v209: anula el chevron heredado de v207.
   v207 dibujaba la flecha con ::before y v208 agregó un <span>;
   ambos quedaban como hijos del grid y aparecían dos flechas apiladas. */
.wash-promo-arrow::before,
.wash-promo-arrow::after{
  content:none !important;
  display:none !important;
}
.wash-promo-arrow span{
  width:10px;
  height:10px;
  border-top:3px solid #111;
  border-right:3px solid #111;
  display:block;
  grid-area:1 / 1;
}
.wash-promo-prev span{transform:translateX(2px) rotate(-135deg);}
.wash-promo-next span{transform:translateX(-2px) rotate(45deg);}
.wash-promo-dots{display:flex;align-items:center;gap:10px;}
.wash-promo-dot{
  width:12px !important;
  height:12px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:#cfd3d8 !important;
  box-shadow:none !important;
  transition:width .18s ease,background .18s ease;
}
.wash-promo-dot.is-active{
  width:34px !important;
  background:#d4a000 !important;
}
@media(max-width:700px){
  .wash-promo-controls{bottom:10px;gap:10px;}
  .wash-promo-arrow{width:42px !important;height:42px !important;}
  .wash-promo-dot{width:10px !important;height:10px !important;}
  .wash-promo-dot.is-active{width:28px !important;}
}

/* KENDARK v212 · enlaces internos SEO sin recargar interfaz */
#contacto .seo-footer-links{width:min(1180px,calc(100% - 40px));margin:auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap}#contacto .seo-footer-links span{color:#aaa}#contacto .seo-footer-links a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25)}@media(max-width:700px){#contacto .seo-footer-links{width:calc(100% - 24px);gap:10px 14px;align-items:flex-start}#contacto .seo-footer-links strong,#contacto .seo-footer-links span{width:100%}}


/* KENDARK v216 · footer blindado para escritorio/móvil y preview local */
.kendark-footer{
  display:block !important;
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
  background:#050505 !important;
  color:#bdbdbd !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
  text-align:left !important;
  font-family:Manrope,Arial,sans-serif !important;
  font-size:13px !important;
  line-height:1.5 !important;
}
.kendark-footer,.kendark-footer *{box-sizing:border-box !important}
.kendark-footer-shell{
  display:block !important;
  position:relative !important;
  width:min(1180px,calc(100% - 48px)) !important;
  max-width:1180px !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 auto !important;
  padding:42px 0 24px !important;
}
.kendark-footer-grid{
  display:grid !important;
  grid-template-columns:minmax(240px,1.35fr) minmax(190px,1fr) minmax(180px,.9fr) minmax(160px,.75fr) !important;
  gap:34px !important;
  align-items:start !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
}
.kendark-footer-grid>div{display:block !important;min-width:0 !important;height:auto !important;position:relative !important}
.kendark-footer-brand a{display:inline-flex !important;align-items:center !important;width:auto !important;height:auto !important}
.kendark-footer-brand img{
  display:block !important;
  position:static !important;
  width:154px !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:154px !important;
  max-height:54px !important;
  margin:0 0 16px !important;
  object-fit:contain !important;
  object-position:left center !important;
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
}
.kendark-footer-brand p{margin:0 !important;max-width:330px !important;color:#929292 !important;font-size:13px !important;line-height:1.65 !important}
.kendark-footer-title{display:block !important;margin:0 0 14px !important;color:#fff !important;font-size:11px !important;font-weight:800 !important;line-height:1.2 !important;letter-spacing:.13em !important;text-transform:uppercase !important}
.kendark-footer-list{display:grid !important;grid-template-columns:1fr !important;gap:11px !important;margin:0 !important;padding:0 !important}
.kendark-footer a{color:#d7d7d7 !important;text-decoration:none !important}
.kendark-footer a:hover{color:#fff !important}
.kendark-footer-contact-link{display:flex !important;align-items:flex-start !important;gap:9px !important;width:auto !important;height:auto !important;font-size:13px !important;line-height:1.42 !important}
.kendark-footer-contact-link svg{
  display:block !important;
  position:static !important;
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  min-height:16px !important;
  max-width:16px !important;
  max-height:16px !important;
  flex:0 0 16px !important;
  margin:2px 0 0 !important;
  transform:none !important;
  overflow:visible !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  opacity:.84 !important;
}
.kendark-footer-contact-link span{display:block !important;min-width:0 !important}
.kendark-footer-contact-link small{display:block !important;margin:0 0 2px !important;color:#777 !important;font-size:10px !important;font-weight:750 !important;line-height:1.25 !important;letter-spacing:.05em !important;text-transform:uppercase !important}
.kendark-footer-hours{margin:0 0 13px !important;color:#d7d7d7 !important;font-size:13px !important;line-height:1.55 !important}
.kendark-footer-hours strong{color:#fff !important}
.kendark-footer-socials{display:flex !important;align-items:center !important;gap:9px !important;flex-wrap:wrap !important}
.kendark-footer-social{
  display:inline-flex !important;
  position:relative !important;
  align-items:center !important;
  justify-content:center !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  max-width:38px !important;
  max-height:38px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.025) !important;
  color:#fff !important;
  overflow:hidden !important;
}
.kendark-footer-social svg{
  display:block !important;
  position:static !important;
  width:17px !important;
  height:17px !important;
  min-width:17px !important;
  min-height:17px !important;
  max-width:17px !important;
  max-height:17px !important;
  margin:0 !important;
  transform:none !important;
  fill:currentColor !important;
  stroke:none !important;
}
.kendark-footer-social.is-pending{color:#686868 !important;cursor:default !important;opacity:.72 !important}
.kendark-footer-social-note{display:block !important;width:100% !important;margin:4px 0 0 !important;color:#666 !important;font-size:10px !important;line-height:1.4 !important}
.kendark-footer-bottom{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:34px 0 0 !important;
  padding:18px 0 0 !important;
  border-top:1px solid rgba(255,255,255,.09) !important;
  color:#666 !important;
  font-size:11px !important;
  line-height:1.4 !important;
}
.kendark-footer-bottom-links{display:flex !important;gap:18px !important;flex-wrap:wrap !important}
.kendark-footer-bottom a{color:#888 !important}
@media(max-width:900px){
  .kendark-footer-grid{grid-template-columns:1fr 1fr !important;gap:30px 28px !important}
}
@media(max-width:700px){
  .kendark-footer{padding:0 !important}
  .kendark-footer-shell{width:calc(100% - 32px) !important;padding:32px 0 108px !important}
  .kendark-footer-grid{grid-template-columns:1fr !important;gap:26px !important}
  .kendark-footer-brand img{width:140px !important;max-width:140px !important;max-height:50px !important}
  .kendark-footer-brand p{max-width:100% !important}
  .kendark-footer-bottom{align-items:flex-start !important;flex-direction:column !important;margin-top:28px !important;gap:12px !important}
  .kendark-footer-bottom-links{gap:10px 16px !important}
}
