/* ============================================================
   Hero Slider  -  slider principal de la portada (scoped .hero-slider)
   ============================================================ */

  .hero-slider {
  --hs-primary: #173856;
  --hs-primary-dark: #284D68;
  --hs-ink: #07182C;
  --hs-soft: #F7F8F8;
  --hs-ease: cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--hs-ink);
}

/* ---------- Track / slides ---------- */
  .hero-slider .hs-track {
  position: relative;
}
  .hero-slider .hs-slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  min-height: clamp(220px, 26vh, 300px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.9s var(--hs-ease);
}
  .hero-slider .hs-slide.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

/* ---------- Background image + Ken Burns ---------- */
  .hero-slider .hs-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: linear-gradient(120deg, #07182C, #07182C 55%, #173856);
}
  .hero-slider .hs-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.08);
}
  .hero-slider .hs-slide.is-active .hs-media img {
  animation: hsKenBurns 8s ease-out forwards;
}
@keyframes hsKenBurns {
  from { transform: scale(1.08); }
  to   { transform: scale(1.2) translate(-2%, -2%); }
}

/* ---------- Overlay for legibility ---------- */
  .hero-slider .hs-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(7, 24, 44, 0.94) 0%, rgba(7, 24, 44, 0.82) 42%, rgba(7, 24, 44, 0.55) 72%, rgba(7, 24, 44, 0.42) 100%),
    linear-gradient(0deg, rgba(7, 24, 44, 0.7) 0%, rgba(7, 24, 44, 0.15) 55%);
}
  .hero-slider .hs-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 80% at 15% 30%, rgba(174, 82, 49, 0.16), transparent 55%);
}

/* ---------- Inner content ---------- */
  .hero-slider .hs-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: clamp(28px, 3vw, 48px);
  padding-bottom: clamp(26px, 2.6vw, 44px);
}
  .hero-slider .hs-content {
  max-width: 640px;
}
  .hero-slider .hs-content > * {
  opacity: 0;
  transform: translateY(28px);
}
  .hero-slider .hs-slide.is-active .hs-content > * {
  animation: hsIn 0.75s var(--hs-ease) forwards;
}
  .hero-slider .hs-slide.is-active .hs-tag     { animation-delay: 0.15s; }
  .hero-slider .hs-slide.is-active .hs-title   { animation-delay: 0.28s; }
  .hero-slider .hs-slide.is-active .hs-text    { animation-delay: 0.42s; }
  .hero-slider .hs-slide.is-active .hs-actions { animation-delay: 0.56s; }
  .hero-slider .hs-slide.is-active .hs-stats   { animation-delay: 0.70s; }
@keyframes hsIn {
  to { opacity: 1; transform: none; }
}

/* Tag pill (glass on dark) */
  .hero-slider .hs-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: clamp(16px, 1.6vw, 26px);
  padding: 8px 18px 8px 12px;
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
  .hero-slider .hs-tag .bulb-vec { width: 22px; height: 22px; }
  .hero-slider .hs-tag p {
  margin: 0;
  color: #fff;
  font-weight: 500;
  font-size: clamp(13px, 0.95vw, 15px);
  letter-spacing: 0.01em;
}

/* Title */
  .hero-slider .hs-title {
  color: #fff;
  font-family: "Poppins", "Inter", sans-serif;
  font-weight: 600;
  font-size: clamp(34px, 4.4vw, 68px);
  line-height: 1.06;
  letter-spacing: -0.015em;
  margin-bottom: clamp(14px, 1.2vw, 22px);
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.25);
}
  .hero-slider .hs-title .color-primary {
  position: relative;
  color: #91A0AC;
  white-space: nowrap;
}
  .hero-slider .hs-title .color-primary::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.04em;
  height: 0.12em;
  background: linear-gradient(90deg, rgba(145, 160, 172, 0.95), rgba(145, 160, 172, 0.1));
  border-radius: 4px;
}

/* Paragraph */
  .hero-slider .hs-text {
  max-width: 33em;
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(15px, 1.1vw, 19px);
  line-height: 1.6;
  margin-bottom: clamp(26px, 2.2vw, 40px);
}

/* CTA row */
  .hero-slider .hs-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-bottom: clamp(28px, 2.4vw, 44px);
}
  .hero-slider .hs-actions .cus-btn {
  box-shadow: 0 14px 30px -14px rgba(23, 56, 86, 0.9);
}
/* Light variant of the outline button so it reads on dark imagery */
  .hero-slider .cus-btn-light {
  border-color: rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.06);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
  .hero-slider .cus-btn-light .text { color: #fff; }
  .hero-slider .cus-btn-light:hover { border-color: var(--hs-primary); }

/* Social proof */
  .hero-slider .hs-stats {
  display: flex;
  align-items: center;
  gap: 14px;
}
  .hero-slider .hs-stats .img-block { display: flex; align-items: center; }
  .hero-slider .hs-stats .img-block img {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.85);
  object-fit: cover;
}
  .hero-slider .hs-stats .img-block img + img { margin-left: -14px; }
  .hero-slider .hs-stats p {
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(14px, 1vw, 16px);
  font-weight: 500;
}
  .hero-slider .hs-stats .color-primary { color: #91A0AC; }

/* ---------- Arrows ---------- */
  .hero-slider .hs-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.12);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: #fff;
  cursor: pointer;
  transition: transform 0.3s var(--hs-ease), background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}
  .hero-slider .hs-prev { left: clamp(14px, 2.2vw, 44px); }
  .hero-slider .hs-next { right: clamp(14px, 2.2vw, 44px); }
  .hero-slider .hs-arrow:hover {
  background: var(--hs-primary);
  border-color: var(--hs-primary);
  box-shadow: 0 16px 30px -14px rgba(23, 56, 86, 0.9);
}
  .hero-slider .hs-prev:hover { transform: translateY(-50%) translateX(-3px); }
  .hero-slider .hs-next:hover { transform: translateY(-50%) translateX(3px); }
  .hero-slider .hs-arrow:active { transform: translateY(-50%) scale(0.9); }
  .hero-slider .hs-arrow:focus-visible {
  outline: 3px solid rgba(23, 56, 86, 0.6);
  outline-offset: 2px;
}

/* ---------- Dots ---------- */
  .hero-slider .hs-dots {
  position: absolute;
  left: 50%;
  bottom: clamp(20px, 3vw, 40px);
  transform: translateX(-50%);
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 10px;
}
  .hero-slider .hs-dot {
  position: relative;
  width: 12px;
  height: 12px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  cursor: pointer;
  overflow: hidden;
  transition: width 0.45s var(--hs-ease), background-color 0.3s ease;
}
  .hero-slider .hs-dot.is-active {
  width: 46px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.35);
}
  .hero-slider .hs-dot .hs-dot-fill {
  position: absolute;
  inset: 0;
  width: 0;
  background: var(--hs-primary);
  border-radius: inherit;
}
  .hero-slider .hs-dot.is-active .hs-dot-fill {
  width: 100%;
  transition: width var(--hs-duration, 6000ms) linear;
}
  .hero-slider.is-paused .hs-dot.is-active .hs-dot-fill { transition: none; }
  .hero-slider .hs-dot:focus-visible {
  outline: 3px solid rgba(23, 56, 86, 0.6);
  outline-offset: 3px;
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
.hero-slider .hs-overlay {
    background:
      linear-gradient(90deg, rgba(7, 24, 44, 0.82) 0%, rgba(7, 24, 44, 0.55) 60%, rgba(7, 24, 44, 0.35) 100%),
      linear-gradient(0deg, rgba(7, 24, 44, 0.6) 0%, rgba(7, 24, 44, 0) 50%);
  }
.hero-slider .hs-content { max-width: 100%; }
}
@media (max-width: 767px) {
.hero-slider .hs-slide { min-height: clamp(200px, 24vh, 260px); }
.hero-slider .hs-arrow { width: 44px; height: 44px; }
.hero-slider .hs-prev { left: 10px; }
.hero-slider .hs-next { right: 10px; }
}
@media (max-width: 575px) {
.hero-slider .hs-actions { gap: 12px; width: 100%; }
.hero-slider .hs-actions .cus-btn,
.hero-slider .hs-actions .cus-btn-2 { flex: 1 1 auto; text-align: center; }
.hero-slider .hs-stats .img-block img { width: 40px; height: 40px; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
.hero-slider .hs-media img,
.hero-slider .hs-content > * {
    animation: none !important;
    transition: opacity 0.3s ease !important;
  }
.hero-slider .hs-content > * { opacity: 1; transform: none; }
.hero-slider .hs-slide { transition: opacity 0.3s ease; }
.hero-slider .hs-dot.is-active .hs-dot-fill { transition: none; }
}
