/* Ajustes transversales de rendimiento y accesibilidad. */
.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 10000;
  padding: 10px 16px;
  border-radius: 999px;
  background: #2c2822;
  color: #fff;
  font: 700 14px/1.2 'DM Sans', sans-serif;
  text-decoration: none;
  transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }

/* El título principal debe poder pintarse sin esperar una animación. */
.hero h1,
.hero-new h1 { animation: none !important; }
.hero-text > *,
.hero-image,
.hero-new,
.hero-new .hero-new-text > * {
  animation: none !important;
}

/* Contraste legible sin alterar la paleta cálida del sitio. */
.sec-tag { color: #9b4f31 !important; }
.internacional .sec-tag,
.ig-section .sec-tag { color: #efcf9f !important; }
.ig-section > a { color: #fff !important; }
.comotrabajamos-sub,
.zonas-intro,
.zonas-tipo-cliente { color: #62584f !important; }
.ig-section > a { background: #9b4f31 !important; }
#faq p { color: #675e55 !important; }
#faq > div > div:first-child { color: #466b5c !important; }
.f-col ul li,
.f-col ul a { color: #aaa7a3 !important; }
.descanso-mode > span,
.descanso-panel-title > span { color: #9b4f31 !important; }
.descanso-mode small,
.descanso-panel-title > p { color: #62584f !important; }

/* Reduce el trabajo inicial de maquetación en páginas largas. */
@supports (content-visibility: auto) {
  body > section:not(.hero):not(.hero-new):not(.cuotas-banda) {
    content-visibility: auto;
    contain-intrinsic-size: auto 760px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
