/* Aerotv web v8: logos de clientes. */

.clients-logos {
  list-style: none; padding: 0; margin: 8px 0 0;
  display: grid; grid-template-columns: repeat(5, 1fr); max-width: 1100px; margin-left: auto; margin-right: auto;
  gap: clamp(28px, 4vw, 56px) clamp(20px, 3vw, 44px);
  align-items: center; justify-items: center;
}
.clients-logos li { display: flex; align-items: center; justify-content: center; width: 100%; height: 72px; }
.clients-logos img {
  width: auto; max-width: 100%; max-height: 52px; object-fit: contain;
  filter: brightness(0) invert(1); opacity: .82;
  transition: opacity .2s;
}
.clients-logos li:hover img { opacity: 1; }
/* Logos sobre fondo negro: el negro desaparece contra la web */
.clients-logos img.is-dark { filter: none; mix-blend-mode: screen; max-height: 64px; }
/* Escudos e insignias: se muestran en su color */
.clients-logos img.is-color { filter: none; opacity: .95; max-height: 64px; }
.clients-logos img.is-round { border-radius: 50%; }

/* Defensa: bloque aparte, debajo del resto */
.defense {
  position: relative;
  margin-top: clamp(48px, 6vw, 80px);
  border: 1px solid rgba(51, 181, 200, .45); border-radius: 14px;
  padding: clamp(28px, 4vw, 44px) clamp(20px, 4vw, 48px);
  text-align: center;
  background: linear-gradient(180deg, rgba(0, 151, 178, .07), rgba(0, 151, 178, 0) 70%);
  box-shadow: 0 0 0 1px rgba(51, 181, 200, .06), 0 0 18px rgba(0, 151, 178, .22), inset 0 0 22px rgba(0, 151, 178, .08);
}
/* Reflejo de luz que recorre el borde superior */
.defense::before {
  content: ""; position: absolute; top: -1px; left: 12%; right: 12%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(160, 230, 240, .9), transparent);
}
.defense__title { color: var(--sky); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 26px; }
.defense__logos { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: clamp(28px, 5vw, 72px); }
.defense__logos li { height: 96px; display: flex; align-items: center; }
.defense__logos img { width: auto; max-height: 96px; max-width: 200px; object-fit: contain; }
.defense__logos img.is-dark { mix-blend-mode: screen; }

/* Air to Air Digital: etiqueta permanente en todo lo generado */
.ai-chip {
  position: absolute; right: 12px; bottom: 12px; z-index: 2;
  padding: 5px 10px; border-radius: 999px;
  background: rgba(10,10,10,.62); border: 1px solid rgba(51,181,200,.55);
  color: var(--white); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  pointer-events: none;
}
.ai-chip--real { border-color: rgba(255,255,255,.6); }
.ai-chip--hero { right: var(--pad); bottom: 24px; }

.how__video { position: relative; aspect-ratio: 16 / 9; background: var(--cockpit); margin-bottom: 32px; }
.how__video video { height: 100%; object-fit: cover; }
.how__steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--tarmac); border: 1px solid var(--tarmac); counter-reset: paso; }
.how__steps li { counter-increment: paso; background: var(--black); padding: 24px 22px; }
.how__steps li::before { content: counter(paso, decimal-leading-zero); display: block; font-family: "Okta Neue", Montserrat, sans-serif; font-size: 28px; color: var(--blue); margin-bottom: 10px; }
.how__steps strong { display: block; color: var(--white); font-size: 18px; margin-bottom: 4px; }
.how__steps span { font-size: 15px; }

.ai-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.ai-item { position: relative; margin: 0; aspect-ratio: 16 / 9; overflow: hidden; background: var(--fuselage); }
.ai-item--wide { grid-column: span 2; }
.ai-item video { height: 100%; object-fit: cover; transition: transform .6s; }
.ai-item:hover video { transform: scale(1.03); }
.ai-item figcaption { position: absolute; left: 0; bottom: 0; padding: 10px 16px; background: rgba(10,10,10,.72); color: var(--white); font-size: 13px; font-weight: 500; }

.compare-ai { display: grid; grid-template-columns: 1.6fr 1fr; gap: 12px; margin-top: 40px; align-items: stretch; }
.compare-ai figure { position: relative; margin: 0; overflow: hidden; background: var(--fuselage); }
.compare-ai img { height: 100%; object-fit: cover; }

@media (max-width: 860px) {
  .how__steps { grid-template-columns: 1fr 1fr; }
  .ai-grid { grid-template-columns: 1fr; }
  .ai-item--wide { grid-column: auto; }
  .compare-ai { grid-template-columns: 1fr; }
  .compare-ai figure:last-child { max-width: 360px; }
}

@media (max-width: 1100px) { .clients-logos { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 560px)  { .defense__logos li { height: 72px; } .defense__logos img { max-height: 72px; max-width: 140px; } }
@media (max-width: 560px)  { .clients-logos { grid-template-columns: repeat(3, 1fr); } .clients-logos li { height: 60px; } .clients-logos img { max-height: 40px; } }
