/* ===== HERO con video estilo "inversion.css" ===== */
.hero-corredor{
  position: relative;
  min-height: 62vh;
  display: flex;
  align-items: flex-end;
  color: #fff;
  background: #000; /* fallback mientras carga el video */
  overflow: hidden;
}

/* Capa del video */
.hero-corredor .video-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none; /* no capta clics */
}

/* Iframe en “cover” real (mismo patrón que inversion.css) */
.hero-corredor .video-bg iframe{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.78vh;   /* 100 * 16/9 -> cubre pantallas anchas */
  height: 100vh;
  min-width: 100%;   /* cubre pantallas altas */
  min-height: 56.25vw; /* 100 * 9/16 */
  transform: translate(-50%, -50%);
  border: 0;
}

/* Overlay con tu degradado #000 -> #003a66 (más legible) */
.hero-corredor .overlay{
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.55) 0%,
      rgba(0,58,102,.65) 60%,
      rgba(0,58,102,.92) 100%);
}

/* Contenido sobre el video */
.hero-corredor .content{
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: clamp(2rem, 8vh, 6rem);
  padding-bottom: clamp(1rem, 4vh, 2rem);
}

/* Brillito al título (opcional, igual que el de inversión) */
.hero-corredor .gradient-title{
  background: linear-gradient(90deg,#fff 0%,#bfe9ff 50%,#fff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: shine 5s linear infinite;
  background-size: 200% auto;
}
@keyframes shine { to { background-position: 200% center; } }

.text-white-75{ color: rgba(255,255,255,.85) !important; }

/* ===== Utilitarios ===== */
.section--light  { background: #f7f9fc; }
.section--accent { background: linear-gradient(180deg,#f7f9fc 0%, #eef4fa 100%); }
.eyebrow { text-transform: uppercase; font-size: .85rem; letter-spacing: .08em; opacity: .9; }
.checklist { list-style: none; padding-left: 0; margin: 0; }
.checklist li { margin: .45rem 0; }
.checklist i  { color: var(--bs-primary); }

/* Cards / KPIs */
.kpi i { font-size: 1.6rem; color: var(--bs-primary); }
.kpi .card-body { display: grid; gap: .35rem; }

/* Hover y microinteracciones */
.hover-raise { transition: transform .3s ease, box-shadow .3s ease; }
.hover-raise:hover { transform: translateY(-6px); box-shadow: 0 14px 30px rgba(0,0,0,.12); }

.kpi-hover { transition: transform .25s ease, box-shadow .25s ease; }
.kpi-hover:hover { transform: translateY(-6px); box-shadow: 0 12px 24px rgba(0,0,0,.14); }

.icon-pulse { animation: pulse 2.1s ease-in-out infinite; transform-origin: center; }
@keyframes pulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.12); } }

.icon-float { animation: float 4s ease-in-out infinite; }
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

/* Tilt suave en imágenes */
.hover-tilt { transform-style: preserve-3d; transition: transform .25s ease; }
.hover-tilt:hover { transform: perspective(800px) rotateX(2deg) rotateY(-2deg) scale(1.01); }

/* Quote */
.quote-banner {
  font-size: 1.25rem;
  text-align: center;
  padding: 1.75rem;
  border-radius: 14px;
  background: linear-gradient(90deg, #003a66 0%, #0b5a9a 100%);
  color: #fff;
}

/* Tabla comparativa: resaltar tercera columna */
.table-compare tbody tr td:nth-child(3) { font-weight: 600; color: #0b5a9a; }

/* Botón ripple sutil */
.btn-ripple { position: relative; overflow: hidden; cursor: pointer; }
.btn-ripple::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
  background: radial-gradient(circle at var(--x,50%) var(--y,50%), rgba(255,255,255,.3), transparent 45%);
  transform: scale(0); opacity: 0; transition: transform .5s ease, opacity .8s ease;
}
.btn-ripple:active::after { transform: scale(3); opacity: 1; }
/* fallback centrado */
.btn-ripple:where(:hover,:focus) { --x: 50%; --y: 50%; }

/* Galería auto-scroll (CSS-only) */
.auto-gallery {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 240px;
  gap: 12px;
  overflow: hidden;
  padding: 4px 2px;
  mask-image: linear-gradient(to right, transparent 0, black 5%, black 95%, transparent 100%);
  animation: scrollX 22s linear infinite;
}
.auto-gallery__item { height: 160px; }
.auto-gallery__item img {
  width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 12px; transform: translateZ(0);
}
.auto-gallery:hover { animation-play-state: paused; }
@keyframes scrollX { to { transform: translateX(-50%); } }

/* Accesibilidad: reducir movimiento */
@media (prefers-reduced-motion: reduce) {
  .icon-pulse, .icon-float, .hover-tilt, .auto-gallery { animation: none !important; transition: none !important; }
  .gradient-title { animation: none !important; }
}

/* Feature card sutil */
.feature-card { transition: background .25s ease, border-color .25s ease; }
.feature-card:hover { background: #eef6fd; border-color: #d3e8fb; }