/* Calidad transversal: accesibilidad, foco y continuidad visual. */
.skip-link {
  position: fixed;
  z-index: 10000;
  top: 12px;
  left: 12px;
  padding: 11px 15px;
  border-radius: 8px;
  color: #031424;
  background: #e9fbff;
  font-weight: 800;
  transform: translateY(-180%);
  transition: transform .18s ease;
}

.skip-link:focus { transform: translateY(0); }

:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #76d5e5 !important;
  outline-offset: 3px;
}

/* El atributo de dimensiones de la imagen no debe expandir el logotipo del footer. */
.footer .footer-logo {
  display: block;
  width: 190px !important;
  height: 66px !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: none !important;
  aspect-ratio: 420 / 146;
  object-fit: contain;
  object-position: left center;
}

.service-carousel-dots button,
.experience-carousel-dots button,
.sector-carousel-dots button,
.service-page-carousel-dots button {
  min-width: 14px;
  min-height: 14px;
}

@media (max-width: 620px) {
  .footer .footer-logo {
    width: 164px !important;
    height: 57px !important;
  }

  /* Evita el tramo visual vacío antes de Soluciones por servicio. */
  .impact-band[data-astro-cid-j7pv25f6] { padding-bottom: 30px !important; }
  .intro[data-astro-cid-j7pv25f6] { padding: 42px 0 28px !important; }
  .services[data-astro-cid-j7pv25f6] { padding-top: 46px !important; }
}

/* En el inicio móvil la evidencia principal es el carrusel. Las reglas
   heredadas reservaban filas para tarjetas secundarias y dejaban un vacío. */
@media (max-width: 760px) {
  html { scroll-padding-bottom: 108px; }

  .hero[data-astro-cid-j7pv25f6] .hero-visual[data-astro-cid-j7pv25f6] {
    grid-template-rows: minmax(286px, 76vw) !important;
    gap: 0 !important;
  }

  .hero[data-astro-cid-j7pv25f6] .hero-service-carousel[data-astro-cid-j7pv25f6] {
    min-height: clamp(286px, 76vw, 330px) !important;
  }

  .hero[data-astro-cid-j7pv25f6] .hero-support-grid[data-astro-cid-j7pv25f6],
  .hero[data-astro-cid-j7pv25f6] .hero-visual-proof[data-astro-cid-j7pv25f6] {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}