/* El slide conserva la proporcion del banner y contiene todos sus elementos. */
.hero { min-height: 0; padding: 0; background: #07131d; }
.hero > .container { width: 100%; max-width: none; padding: 0; }
.hero > .container > .row { display: block; min-height: 0; margin: 0; padding: 0; }
.hero--carousel > .container > .row > .hero-copy { display: none; }
.hero > .container > .row > .col-lg-6:last-child { width: 100%; max-width: none; margin: 0; padding: 0; }
.hero--fallback { min-height: clamp(520px, 70vh, 720px); background: radial-gradient(circle at 75% 40%, #12445b 0, transparent 32%), linear-gradient(120deg, #07121a, #0b202c 62%, #08141e); }
.hero--fallback > .container { max-width: 1240px; padding-right: .75rem; padding-left: .75rem; }
.hero--fallback > .container > .row { display: flex; min-height: clamp(520px, 70vh, 720px); }
.hero--fallback > .container > .row > .hero-copy { display: block; width: min(760px, 100%); padding: 5rem 0; }
.hero--fallback > .container > .row > .hero-media { display: none; }
.hero .engine-stage { position: relative; display: block; width: 100%; max-width: 1400px; min-height: 0; margin: 0 auto; padding-top: 62px; isolation: isolate; }
.hero .engine-stage::before { content: 'ENVÍOS COORDINADOS A TODO EL PERÚ  ·  ATENCIÓN DIRECTA Y RESPALDO EYS'; position: absolute; inset: 0 0 auto; z-index: 3; display: flex; height: 62px; align-items: center; justify-content: center; padding: 0 3rem; background: #071016; color: #d9e7ec; font-size: .85rem; font-weight: 700; letter-spacing: .12em; line-height: 1.2; text-align: center; }
.hero .engine-stage .carousel-inner { position: relative; width: 100%; aspect-ratio: 1280 / 620; max-height: min(620px, calc(100vh - 144px)); overflow: hidden; background: #0b202b; }
.hero .engine-stage .carousel-item { position: relative; height: 100%; overflow: hidden; background: #0b202b; }
.hero .engine-stage .carousel-item img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: none; }
.hero .engine-stage .carousel-item img[src*="engine-placeholder.svg"] { object-position: center top; }
.hero .engine-stage .carousel-item::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #06131d9c 0, transparent 52%), linear-gradient(0deg, #06131d8f, transparent 35%); pointer-events: none; }
.hero .engine-stage .stage-label { position: absolute; right: 5rem; bottom: 2rem; left: 5rem; z-index: 2; display: flex; align-items: center; justify-content: flex-end; gap: 0; padding: 0; border: 0; background: transparent; }
.hero .engine-stage .stage-copy { display: none; }
.hero .engine-stage .stage-actions { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: flex-end; gap: .75rem; margin-left: auto; }
.hero .engine-stage .stage-action { position: relative; inset: auto; display: inline-flex; min-width: 144px; min-height: 52px; flex: 0 0 auto; align-items: center; justify-content: center; gap: .5rem; margin: 0!important; padding: .75rem 1rem; border: 1px solid transparent; border-radius: 4px; background: var(--red); box-shadow: 0 8px 20px rgba(0,0,0,.24); color: #fff; font: 900 .74rem/1.05 Inter, sans-serif; letter-spacing: .04em; text-align: center; text-transform: uppercase; white-space: normal; }
.hero .engine-stage .stage-action > span { display: inline-block!important; color: inherit; font: inherit; }
.hero .engine-stage .stage-action.is-secondary { background: var(--blue); }
.hero .engine-stage .stage-action.is-whatsapp { background: #22c46c; color: #04180d; }
.hero .engine-stage .stage-action.is-secondary.is-whatsapp { border-color: #22c46c; background: rgba(5,29,21,.94); color: #73e9a7; }
.hero .engine-stage .stage-action.is-whatsapp::before { content: none!important; display: none!important; }
.hero .engine-stage .wa-icon { width: 18px; height: 18px; flex: 0 0 18px; fill: currentColor; }
.hero .engine-stage > .carousel-control-prev, .hero .engine-stage > .carousel-control-next { top: 62px; bottom: 0; width: 4.5rem; opacity: 1; }
.hero .engine-stage > .carousel-control-prev { left: 0; }
.hero .engine-stage > .carousel-control-next { right: 0; }
.hero .engine-stage .carousel-indicators { bottom: .8rem; z-index: 4; margin: 0; }
.hero .engine-stage .carousel-indicators [data-bs-target] { width: 2rem; height: .22rem; margin: 0 .25rem; border: 0; border-radius: 2px; background-color: #fff; opacity: .55; }
.hero .engine-stage .carousel-indicators .active { background-color: var(--red); opacity: 1; }
.hero .engine-stage .carousel-pause, .hero .engine-stage .carousel-previews { display: none!important; }
@media (max-width: 767px) {
  .hero .engine-stage { padding-top: 44px; }
  .hero .engine-stage::before { height: 44px; padding: 0 2.8rem; font-size: .56rem; letter-spacing: .08em; }
  .hero .engine-stage > .carousel-control-prev, .hero .engine-stage > .carousel-control-next { top: 44px; width: 2.75rem; }
  .hero .engine-stage .stage-label { right: 2.9rem; bottom: 2rem; left: 2.9rem; }
  .hero .engine-stage .stage-actions { width: 100%; justify-content: center; }
  .hero .engine-stage .stage-action { min-width: 0; flex: 1 1 140px; min-height: 44px; padding: .6rem .7rem; font-size: .62rem; }
  .hero .engine-stage .carousel-indicators { bottom: .55rem; }
}
@media (max-width: 480px) {
  .hero .engine-stage .stage-label { bottom: 1.8rem; }
  .hero .engine-stage .stage-actions { display: grid; grid-template-columns: 1fr; }
}
