/* Exact production adjustments authorized by Gabriela on 2026-10-05. */

/* Servicios: every capability image fills its complete grid area without distortion. */
.page-services .service-detail__grid {
  align-items: stretch;
}

.page-services .service-detail__visual {
  align-self: stretch;
  width: 100%;
  height: 100%;
  min-height: 42rem;
  aspect-ratio: auto;
}

.page-services .service-detail__photo {
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* CTA final: explicit normal/link/visited and reciprocal interaction states. */
.page-contact .contact-form {
  scroll-margin-top: calc(var(--header-h) + 1rem);
}

html body.page-services .services-cta a.button--lime,
html body.page-services .services-cta a.button--lime:link,
html body.page-services .services-cta a.button--lime:visited,
html body.page-about .cta-band a.button--lime,
html body.page-about .cta-band a.button--lime:link,
html body.page-about .cta-band a.button--lime:visited {
  border-color: #D7FF24;
  background: #D7FF24;
  color: #2F0B68 !important;
}

html body.page-services .services-cta a.button--lime:is(:hover, :focus, :focus-visible, :active),
html body.page-about .cta-band a.button--lime:is(:hover, :focus, :focus-visible, :active) {
  border-color: #2F0B68;
  background: #2F0B68;
  color: #D7FF24 !important;
}

html body.page-services .services-cta a.button--lime:is(:focus, :focus-visible),
html body.page-about .cta-band a.button--lime:is(:focus, :focus-visible) {
  outline: 3px solid #D7FF24;
  outline-offset: 4px;
}

@media (max-width: 900px) {
  .page-services .service-detail__visual {
    height: clamp(30rem, 125vw, 42rem);
    min-height: 30rem;
  }
}

@media (max-width: 620px) {
  .page-services .service-detail__visual {
    height: clamp(29rem, 130vw, 36rem);
    min-height: 29rem;
  }
}
