/* /servicios/ final candidate — isolated from the shared site shell. */
.page-services .simple-hero__shade {
  display: block !important;
  background: linear-gradient(90deg, rgba(11, 9, 16, .92) 0%, rgba(11, 9, 16, .64) 52%, rgba(11, 9, 16, .28) 100%);
}

.page-services .simple-hero__content > p { color: #f4efe6; }

.page-services .service-intro__grid {
  display: block;
  max-width: 1040px;
  margin-inline: auto;
  text-align: left;
}

.page-services .service-intro h2 {
  max-width: 16ch;
  margin-bottom: 1.5rem;
  color: #2f0b68;
  font-size: clamp(3.7rem, 6.8vw, 7.8rem);
  line-height: .94;
  text-wrap: balance;
}

.page-services .service-intro h2 em { color: #161115; }

.page-services .service-intro p {
  max-width: 68ch;
  margin: 0;
  font-size: clamp(1.08rem, 1.55vw, 1.3rem);
  line-height: 1.65;
}

.page-services .service-intro p,
.page-services .service-detail__lead,
.page-services .check-list li { color: #27222b; }

.page-services .service-detail {
  padding-block: clamp(2.25rem, 4vw, 4rem);
  scroll-margin-top: calc(var(--header-h) + 1rem);
}

.page-services .service-detail__grid {
  grid-template-columns: minmax(20rem, .78fr) minmax(0, 1.22fr);
  min-height: 42rem;
  overflow: clip;
  background: #f4efe6;
  transition: border-color .25s ease, box-shadow .25s ease;
}

/* Keep the visual/copy ratio identical when the visual moves to column two. */
.page-services .service-detail--reverse .service-detail__grid {
  grid-template-columns: minmax(0, 1.22fr) minmax(20rem, .78fr);
}

.page-services .service-detail__grid:hover,
.page-services .service-detail__grid:focus-within {
  border-color: rgba(75, 22, 168, .48);
  box-shadow: 0 1.2rem 3.5rem rgba(11, 9, 16, .09);
}

.page-services .service-detail__visual {
  min-height: 42rem;
  aspect-ratio: 4 / 5;
}

.page-services .service-detail__photo {
  transition: transform .65s cubic-bezier(.2, .7, .2, 1), filter .35s ease;
}

.page-services .service-detail__grid:hover .service-detail__photo,
.page-services .service-detail__grid:focus-within .service-detail__photo {
  transform: scale(1.025);
  filter: saturate(1.03) contrast(1.02);
}

.page-services .service-detail__shade {
  display: block !important;
  background: linear-gradient(180deg, rgba(11, 9, 16, .08), rgba(11, 9, 16, .58));
}

.page-services .service-detail__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2.5rem, 5vw, 6rem);
}

.page-services .service-detail__copy h2 {
  max-width: 13ch;
  margin-block: .65rem 1.1rem;
  font-size: clamp(3.15rem, 5.2vw, 6.35rem);
  text-wrap: balance;
}

.page-services .service-detail__lead {
  max-width: 42rem;
  font-size: clamp(1.05rem, 1.4vw, 1.3rem);
  line-height: 1.55;
}

.page-services .service-result { background: #ebe4dc; }
.page-services .service-result p { color: #161115; }
.page-services .check-list li { line-height: 1.45; }

.page-services .service-detail .button:focus-visible,
.page-services .project-card__link:focus-visible,
.page-services .services-cta .button:focus-visible {
  outline: 3px solid #b8f23d;
  outline-offset: 4px;
}

.page-services .integrated-process {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.page-services .integrated-process::before,
.page-services .integrated-process::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

.page-services .integrated-process::before {
  width: clamp(24rem, 46vw, 48rem);
  aspect-ratio: 1;
  top: -42%;
  right: -12%;
  border: 1px solid rgba(216, 239, 68, .25);
  border-radius: 50%;
  box-shadow: 0 0 0 clamp(3rem, 7vw, 8rem) rgba(47, 11, 104, .34);
}

.page-services .integrated-process::after {
  width: clamp(18rem, 34vw, 34rem);
  height: clamp(8rem, 16vw, 15rem);
  left: -8%;
  bottom: -4rem;
  border: 1px solid rgba(244, 239, 230, .18);
  background: rgba(47, 11, 104, .22);
  transform: rotate(-8deg);
}

.page-services .integrated-process > .shell { position: relative; z-index: 1; }

.page-services .integrated-process__flow > div {
  position: relative;
  color: #161115;
  background: #f4efe6;
  transition: background-color .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.page-services .integrated-process__flow > div:hover,
.page-services .integrated-process__flow > div:focus-visible {
  z-index: 2;
  color: #f4efe6;
  background: #2f0b68;
  box-shadow: 0 22px 55px rgba(0, 0, 0, .26);
  outline: 3px solid #b8f23d;
  outline-offset: -3px;
  transform: translateY(-10px);
}
.page-services .integrated-process__flow span { color: #2f0b68; }
.page-services .integrated-process__flow p { color: #4f4852; }
.page-services .integrated-process__flow > div:hover span,
.page-services .integrated-process__flow > div:focus-visible span { color: #b8f23d; }
.page-services .integrated-process__flow > div:hover p,
.page-services .integrated-process__flow > div:focus-visible p { color: #f4efe6; }
.page-services .services-projects .project-card__shade { display: block !important; }

.page-services .services-projects .related-projects__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.page-services .services-projects .project-card { min-height: 650px; }
.page-services .services-projects .project-card:nth-child(1) { grid-column: span 7; }
.page-services .services-projects .project-card:nth-child(2) { grid-column: span 5; }
.page-services .services-projects .project-card:nth-child(3) {
  grid-column: 1 / -1;
  min-height: 560px;
}

.page-services .services-projects .project-card__link:focus-visible {
  z-index: 6;
  inset: .45rem;
}

.page-services .services-projects .project-card__media img:first-child {
  object-fit: cover;
  object-position: center;
  transition: transform .55s cubic-bezier(.2, .7, .2, 1), filter .35s ease;
}

.page-services .services-projects .project-card:nth-child(1) .project-card__media img:first-child { object-position: center 44%; }
.page-services .services-projects .project-card:nth-child(2) .project-card__media img:first-child { object-position: center 38%; }
.page-services .services-projects .project-card:nth-child(3) .project-card__media img:first-child { object-position: center 48%; }

.page-services .services-projects .project-card:hover .project-card__media img:first-child,
.page-services .services-projects .project-card:focus-within .project-card__media img:first-child {
  transform: scale(1.035);
  filter: saturate(1.04) contrast(1.03);
}

.page-services .services-cta {
  position: relative;
  overflow: hidden;
  padding-block: clamp(5rem, 9vw, 9rem);
  background: #f4efe6;
  color: #2f0b68;
}

.page-services .services-cta::before,
.page-services .services-cta::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.page-services .services-cta::before {
  width: clamp(18rem, 34vw, 36rem);
  aspect-ratio: 1;
  right: -8%;
  top: -35%;
  border: clamp(1.4rem, 2.7vw, 3rem) solid rgba(215, 255, 36, .55);
  border-radius: 50%;
  box-shadow: 0 0 0 clamp(3rem, 7vw, 8rem) rgba(75, 22, 168, .13);
}

.page-services .services-cta::after {
  width: clamp(18rem, 32vw, 34rem);
  height: clamp(9rem, 15vw, 15rem);
  left: -6%;
  bottom: -5rem;
  border: 1px solid rgba(47, 11, 104, .16);
  background: rgba(75, 22, 168, .16);
  transform: rotate(7deg);
}

.page-services .services-cta .eyebrow,
.page-services .services-cta h2,
.page-services .services-cta h2 em {
  color: #2f0b68;
}

.page-services .services-cta a.button--lime,
.page-services .services-cta a.button--lime:link,
.page-services .services-cta a.button--lime:visited {
  color: var(--purple-dark) !important;
  background: var(--lime);
}

.page-services .services-cta a.button--lime:is(:hover, :focus-visible) {
  color: var(--lime) !important;
  background: var(--purple-dark);
}

.page-services .services-cta .button--lime:focus-visible {
  outline-color: var(--lime);
}

.page-services .services-cta__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(15rem, .75fr);
  gap: clamp(2rem, 8vw, 8rem);
  align-items: end;
}

.page-services .services-cta h2 {
  max-width: 13ch;
  margin-block: 1rem 1.4rem;
  font-size: clamp(3.7rem, 6.2vw, 7.5rem);
  text-wrap: balance;
}

.page-services .services-cta p {
  max-width: 39rem;
  color: #0b0910;
}

.page-services .services-cta__action {
  display: grid;
  gap: 1.25rem;
  justify-items: start;
  padding: 1.5rem 0 1.5rem 1.5rem;
  border-left: 1px solid rgba(47, 11, 104, .24);
}

.page-services .services-cta__action span {
  max-width: 24rem;
  color: #0b0910;
  font-size: .82rem;
  line-height: 1.55;
}

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

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

.page-services .services-cta a.button--lime > * {
  color: inherit !important;
}

.page-services .services-cta .button--lime:focus-visible {
  outline-color: #D7FF24;
}

@media (max-width: 900px) {
  .page-services .service-intro__grid,
  .page-services .service-detail__grid,
  .page-services .service-detail--reverse .service-detail__grid,
  .page-services .services-cta__grid { grid-template-columns: 1fr; }
  .page-services .service-detail--reverse .service-detail__visual { order: 0; }
  .page-services .service-detail__visual { min-height: auto; }
  .page-services .service-detail__copy h2 { max-width: 15ch; }
  .page-services .services-cta__action {
    padding: 1.5rem 0 0;
    border-top: 1px solid rgba(47, 11, 104, .24);
    border-left: 0;
  }
  .page-services .services-projects .related-projects__grid { grid-template-columns: 1fr; }
  .page-services .services-projects .project-card:nth-child(n) {
    grid-column: auto;
    min-height: 620px;
  }
}

@media (max-width: 620px) {
  .page-services .service-detail { padding-block: 1.2rem; }
  .page-services .service-detail__copy { padding: 2rem 1.35rem 2.35rem; }
  .page-services .service-detail__copy h2 { font-size: clamp(2.7rem, 13vw, 4rem); }
  .page-services .check-list { grid-template-columns: 1fr; }
  .page-services .service-intro h2 { font-size: clamp(3.05rem, 14vw, 4.7rem); }
  .page-services .integrated-process__flow > div { min-height: 190px; }
  .page-services .services-projects .project-card:nth-child(n) { min-height: 580px; }
}

@media (prefers-reduced-motion: reduce) {
  .page-services .service-detail__photo,
  .page-services .services-projects .project-card__media img:first-child,
  .page-services .service-detail__grid,
  .page-services .integrated-process__flow > div { transition: none; }
  .page-services .service-detail__grid:hover .service-detail__photo,
  .page-services .service-detail__grid:focus-within .service-detail__photo,
  .page-services .services-projects .project-card:hover .project-card__media img:first-child,
  .page-services .services-projects .project-card:focus-within .project-card__media img:first-child,
  .page-services .integrated-process__flow > div:hover,
  .page-services .integrated-process__flow > div:focus-visible { transform: none; }
}
