
/* ==========================================================
   ALET V7.23 — CORRECCIÓN ESTRUCTURAL FINAL
   ========================================================== */
:root{
  --alet-red:#d82027;
  --alet-navy:#071f3d;
  --alet-header-h:104px;
}

/* ---------- HEADER: logo y menú legibles ---------- */
body > header.site-header{
  height:var(--alet-header-h) !important;
  min-height:var(--alet-header-h) !important;
  padding:0 3.2vw !important;
  display:grid !important;
  grid-template-columns:104px minmax(0,1fr) 168px !important;
  align-items:center !important;
  gap:24px !important;
}

body > header.site-header .brand{
  width:88px !important;
  height:88px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

body > header.site-header .brand img{
  width:auto !important;
  height:78px !important;
  max-height:78px !important;
  object-fit:contain !important;
  transform:none !important;
}

body > header.site-header #nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(21px,1.8vw,32px) !important;
  white-space:nowrap !important;
  font-size:13.5px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  letter-spacing:.012em !important;
  font-stretch:normal !important;
  transform:none !important;
}

body > header.site-header #nav a{
  font-size:13.5px !important;
  line-height:1.25 !important;
  padding:18px 0 !important;
  transform:none !important;
}

body > header.site-header .header-cta{
  justify-self:end !important;
  min-height:44px !important;
  padding:10px 16px !important;
  font-size:12.5px !important;
  border-radius:8px !important;
}

/* ---------- TODAS LAS LÍNEAS: rojas y una sola animación ---------- */
.alet-v723-line{
  display:block !important;
  height:3px !important;
  min-height:3px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#d82027 !important;
  background-color:#d82027 !important;
  box-shadow:none !important;
  opacity:1 !important;
  transform:scaleX(1) !important;
  transform-origin:center center !important;
  animation:none !important;
}

.alet-v723-line::before,
.alet-v723-line::after{
  display:none !important;
  content:none !important;
  animation:none !important;
}

/* estado inicial solo cuando JS ya está activo */
html.v723-lines-ready .alet-v723-line:not(.v723-played){
  opacity:0 !important;
  transform:scaleX(0) !important;
}

.alet-v723-line.v723-play{
  animation:v723LineOnce .88s cubic-bezier(.20,.78,.23,1) 1 forwards !important;
}

.alet-v723-line.v723-played{
  opacity:1 !important;
  transform:scaleX(1) !important;
}

@keyframes v723LineOnce{
  0%{opacity:0;transform:scaleX(0)}
  68%{opacity:1;transform:scaleX(1.06)}
  100%{opacity:1;transform:scaleX(1)}
}

/* líneas principales */
#nosotros .about-rule{
  width:72px !important;
  margin:15px 0 20px !important;
}
#servicios .services-v5-title-line,
#personal .yellow-stroke,
#acreditaciones .permit-v6-redline,
#clientes .clients-v6-redline,
#contacto .contact-main-line{
  width:112px !important;
  height:3px !important;
  background:#d82027 !important;
}

/* posiciones principales */
#servicios .services-v5-title-line,
#acreditaciones .permit-v6-redline,
#clientes .clients-v6-redline{
  margin:14px auto 18px !important;
}

#personal h2{
  position:relative !important;
  padding-bottom:20px !important;
}
#personal h2 > .yellow-stroke{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  bottom:0 !important;
  margin:0 0 0 -56px !important;
  background:#d82027 !important;
}

#contacto .contact-main-line{
  margin:12px 0 18px !important;
}

/* líneas secundarias */
#servicios .service-v5-gold-line,
#acreditaciones .permit-v5-red-line,
#clientes .clients-v6-subline{
  width:48px !important;
  height:3px !important;
  margin:10px auto 12px !important;
  background:#d82027 !important;
}

#contacto .contact-info-line{
  width:96px !important;
  height:3px !important;
  margin:12px 0 18px auto !important;
  background:#d82027 !important;
}

/* refuerzo específico: Personal nunca amarillo */
#personal .yellow-stroke,
#personal .yellow-stroke::before,
#personal .yellow-stroke::after,
#servicios .service-v5-gold-line{
  background:#d82027 !important;
  background-color:#d82027 !important;
  border-color:#d82027 !important;
}

/* ---------- CARRUSELES: MISMA VELOCIDAD ---------- */
#clientes .private-track-v6,
#clientes .government-track-v6{
  animation-name:aletClientsScrollV6 !important;
  animation-duration:34s !important;
  animation-timing-function:linear !important;
  animation-iteration-count:infinite !important;
}

#clientes .clients-v6-carousel:hover .clients-v6-track{
  animation-play-state:paused !important;
}

/* ---------- CONTACTO: sin altura forzada y footer pegado ---------- */
body main > section#contacto.contact-v6{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  padding:28px clamp(28px,4vw,68px) 0 !important;
  overflow:visible !important;
  display:block !important;
  scroll-margin-top:calc(var(--alet-header-h) + 4px) !important;
}

body main > section#contacto.contact-v6 > .contact-v6-inner{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  width:min(1420px,100%) !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.72fr) minmax(330px,.72fr) !important;
  gap:clamp(34px,4vw,56px) !important;
  align-items:stretch !important;
}

body main > section#contacto.contact-v6 .contact-v6-main{
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 0 22px !important;
  align-self:start !important;
}

body main > section#contacto.contact-v6 .contact-v6-info{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  padding:34px 34px 26px !important;
  align-self:stretch !important;
  border-radius:14px 14px 0 0 !important;
}

body main > section#contacto.contact-v6 .contact-v6-actions{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

body > footer.site-footer-v714{
  margin:0 !important;
  padding:0 !important;
  border-top:3px solid #d82027 !important;
}

body > footer.site-footer-v714 .footer-v714-inner{
  min-height:76px !important;
  padding:12px 0 10px !important;
  gap:8px !important;
}

/* ---------- WhatsApp: brillo y respiración ---------- */
.whatsapp-float{
  transform-origin:center !important;
  animation:v723Whats 2.15s ease-in-out infinite !important;
}
@keyframes v723Whats{
  0%,100%{
    transform:scale(1);
    filter:brightness(1);
    box-shadow:0 10px 24px rgba(37,211,102,.20);
  }
  50%{
    transform:scale(1.10);
    filter:brightness(1.09);
    box-shadow:0 14px 30px rgba(37,211,102,.34);
  }
}

/* ---------- Responsive ---------- */
@media(max-width:1280px){
  body > header.site-header{
    grid-template-columns:90px minmax(0,1fr) 150px !important;
    padding:0 2.2vw !important;
  }
  body > header.site-header .brand img{
    height:68px !important;
    max-height:68px !important;
  }
  body > header.site-header #nav,
  body > header.site-header #nav a{
    font-size:12.3px !important;
  }
  body > header.site-header #nav{
    gap:16px !important;
  }
}

@media(max-width:900px){
  body > header.site-header{
    height:82px !important;
    min-height:82px !important;
    grid-template-columns:70px minmax(0,1fr) 48px !important;
  }
  body > header.site-header .brand img{
    height:58px !important;
    max-height:58px !important;
  }
  body > header.site-header .header-cta{
    display:none !important;
  }
  body main > section#contacto.contact-v6 > .contact-v6-inner{
    grid-template-columns:1fr !important;
  }
}

@media(prefers-reduced-motion:reduce){
  html.v723-lines-ready .alet-v723-line,
  .alet-v723-line.v723-play,
  .whatsapp-float{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
  }
}


/* ==========================================================
   ALET V7.24 — MENÚ INTEGRADO + CONTACTO LIMPIO
   ========================================================== */

/* ---------- HEADER: el logo forma parte del bloque del menú ---------- */
body > header.site-header.header-v724{
  height:96px !important;
  min-height:96px !important;
  padding:0 clamp(28px,3vw,54px) !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  column-gap:34px !important;
  background:#fff !important;
}

body > header.site-header.header-v724 .brand{
  width:auto !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:0 !important;
  margin:0 !important;
}

body > header.site-header.header-v724 .brand img{
  height:68px !important;
  width:auto !important;
  max-height:68px !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 !important;
}

body > header.site-header.header-v724 #nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(22px,1.7vw,30px) !important;
  white-space:nowrap !important;
  font-size:13px !important;
  line-height:1.2 !important;
}

body > header.site-header.header-v724 #nav a{
  font-size:13px !important;
  line-height:1.2 !important;
  padding:18px 0 !important;
}

body > header.site-header.header-v724 .header-cta{
  justify-self:end !important;
  margin:0 !important;
}

/* ---------- CONTACTO: sin formulario, solo mensaje + info ---------- */
body main > section#contacto.contact-v6{
  padding-top:34px !important;
  padding-bottom:0 !important;
  min-height:0 !important;
  height:auto !important;
}

body main > section#contacto.contact-v6 > .contact-v6-inner{
  grid-template-columns:minmax(0,1fr) minmax(340px,430px) !important;
  gap:clamp(54px,6vw,90px) !important;
  align-items:stretch !important;
}

body main > section#contacto.contact-v6 .contact-v6-main{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  min-height:430px !important;
  padding:0 0 28px !important;
}

body main > section#contacto.contact-v6 .contact-v6-main h2{
  max-width:860px !important;
  margin:0 0 10px !important;
}

body main > section#contacto.contact-v6 .contact-v6-lead{
  max-width:760px !important;
  margin:6px 0 0 !important;
  line-height:1.55 !important;
}

body main > section#contacto.contact-v6 .contact-main-line{
  margin:14px 0 18px !important;
}

body main > section#contacto.contact-v6 .contact-v6-info{
  align-self:stretch !important;
  min-height:430px !important;
  height:auto !important;
  margin:0 !important;
  border-radius:14px 14px 0 0 !important;
}

/* Footer pegado a contacto */
body > footer.site-footer-v714{
  margin-top:0 !important;
}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  body > header.site-header.header-v724{
    grid-template-columns:auto 1fr auto !important;
    column-gap:22px !important;
    padding:0 24px !important;
  }
  body > header.site-header.header-v724 .brand img{
    height:60px !important;
    max-height:60px !important;
  }
  body > header.site-header.header-v724 #nav{
    gap:16px !important;
  }
  body > header.site-header.header-v724 #nav a{
    font-size:11.8px !important;
  }
}

@media(max-width:900px){
  body > header.site-header.header-v724{
    height:82px !important;
    min-height:82px !important;
  }
  body > header.site-header.header-v724 .brand img{
    height:54px !important;
    max-height:54px !important;
  }

  body main > section#contacto.contact-v6 > .contact-v6-inner{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  body main > section#contacto.contact-v6 .contact-v6-main{
    min-height:auto !important;
    padding-bottom:8px !important;
  }

  body main > section#contacto.contact-v6 .contact-v6-info{
    min-height:auto !important;
    border-radius:14px 14px 0 0 !important;
  }
}


/* ==========================================================
   ALET V7.25 — CORRECCIÓN PUNTUAL DE LÍNEAS
   ========================================================== */

/* NUESTRO PERSONAL — línea roja debajo del título principal */
#personal .section-title::after,
#personal .personal-title::after,
#personal h2::after,
#nuestro-personal .section-title::after,
#nuestro-personal h2::after{
  content:"" !important;
  display:block !important;
  width:112px !important;
  height:4px !important;
  margin:18px auto 0 !important;
  background:#ed1c24 !important;
  border-radius:999px !important;
  opacity:1 !important;
  transform:none !important;
}

/* PERMISOS — quitar únicamente líneas decorativas dentro de las 4 tarjetas */
#permisos .permit-card h3::before,
#permisos .permit-card h3::after,
#permisos .permit-card .card-line,
#permisos .permit-card .mini-line,
#permisos .permit-card .underline,
#permisos .permit-card .accent-line,
#permisos .cert-card h3::before,
#permisos .cert-card h3::after,
#permisos .cert-card .card-line,
#permisos .cert-card .mini-line,
#permisos .cert-card .underline,
#permisos .cert-card .accent-line,
#permisos .permit-item h3::before,
#permisos .permit-item h3::after,
#permisos .permit-item .card-line,
#permisos .permit-item .mini-line,
#permisos .permit-item .underline,
#permisos .permit-item .accent-line,
#permisos .permits-grid article h3::before,
#permisos .permits-grid article h3::after,
#permisos .permits-grid article .card-line,
#permisos .permits-grid article .mini-line,
#permisos .permits-grid article .underline,
#permisos .permits-grid article .accent-line{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
  border:0 !important;
  background:none !important;
  animation:none !important;
}

/* CLIENTES — quitar líneas debajo de Sector privado / Sector gobierno */
#clientes .client-sector-title::before,
#clientes .client-sector-title::after,
#clientes .sector-title::before,
#clientes .sector-title::after,
#clientes h3::before,
#clientes h3::after,
#clientes h4::before,
#clientes h4::after,
#clientes .sector-line,
#clientes .client-line,
#clientes .mini-line,
#clientes .underline{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
  background:none !important;
  border:0 !important;
  animation:none !important;
}

/* SERVICIOS — quitar líneas pequeñas dentro de las 5 tarjetas */
#servicios .service-card h3::before,
#servicios .service-card h3::after,
#servicios .service-card h4::before,
#servicios .service-card h4::after,
#servicios .service-card .card-line,
#servicios .service-card .mini-line,
#servicios .service-card .underline,
#servicios .service-card .accent-line,
#servicios .services-card h3::before,
#servicios .services-card h3::after,
#servicios .services-card .card-line,
#servicios .services-card .mini-line,
#servicios .services-card .underline,
#servicios .services-grid article h3::before,
#servicios .services-grid article h3::after,
#servicios .services-grid article .card-line,
#servicios .services-grid article .mini-line,
#servicios .services-grid article .underline{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
  background:none !important;
  border:0 !important;
  animation:none !important;
}

/* IMPORTANTE: no tocar las líneas principales de sección */
#servicios > .section-title::after,
#servicios .services-title::after,
#permisos > .section-title::after,
#permisos .permits-title::after,
#clientes > .section-title::after,
#clientes .clients-title::after{
  background:#ed1c24 !important;
}


/* ==========================================================
   ALET V7.26 — CORRECCIÓN REAL DE LÍNEAS (DOM + CSS)
   ========================================================== */

/* Nuestro personal: única línea roja bajo el título principal. */
#personal h2{
  position:relative !important;
  padding-bottom:22px !important;
}
#personal h2 > .personal-title-redline{
  position:absolute !important;
  left:50% !important;
  bottom:0 !important;
  width:112px !important;
  height:3px !important;
  margin:0 0 0 -56px !important;
  display:block !important;
  background:#d82027 !important;
  background-color:#d82027 !important;
  border:0 !important;
  border-radius:999px !important;
  transform-origin:center center !important;
}
#personal h2 > .personal-title-redline::before,
#personal h2 > .personal-title-redline::after{
  display:none !important;
  content:none !important;
}

/* Los elementos señalados fueron eliminados del HTML; esto impide que CSS antiguo los regenere. */
#servicios .service-v5-card .service-v5-gold-line,
#acreditaciones .permit-v5-item .permit-v5-red-line,
#clientes .clients-v6-group .clients-v6-subline{
  display:none !important;
  content:none !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:none !important;
  border:0 !important;
  animation:none !important;
}

/* Sin pseudo-líneas accidentales en esos subtítulos/tarjetas. */
#servicios .service-v5-card h3::before,
#servicios .service-v5-card h3::after,
#acreditaciones .permit-v5-item h3::before,
#acreditaciones .permit-v5-item h3::after,
#clientes .clients-v6-group h3::before,
#clientes .clients-v6-group h3::after{
  display:none !important;
  content:none !important;
}

/* Conservar visibles las líneas PRINCIPALES de Servicios, Permisos y Clientes. */
#servicios .services-v5-title-line,
#acreditaciones .permit-v6-redline,
#clientes .clients-v6-redline{
  display:block !important;
  width:112px !important;
  height:3px !important;
  background:#d82027 !important;
  background-color:#d82027 !important;
  border-radius:999px !important;
}
