/* REVOLT v2.0.29 — Service Master editorial alignment corrections. */
:root {
  --service-editorial-guide: 96px;
}

/* 01 / HERO — the section label belongs to the title composition. */
.internal-page #inicio.service-v2-hero {
  align-items: center !important;
  padding-top: clamp(128px, 11vw, 178px) !important;
  padding-bottom: clamp(72px, 8vh, 112px) !important;
}

.internal-page #inicio.service-v2-hero .ip-hero__content {
  position: absolute;
  top: 50%;
  right: var(--service-editorial-guide);
  left: var(--service-editorial-guide);
  width: calc(100% - (2 * var(--service-editorial-guide))) !important;
  max-width: none !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: center;
  gap: clamp(24px, 2.4vh, 34px) !important;
  transform: translateY(-50%);
}

.internal-page #inicio.service-v2-hero .ip-hero__meta {
  position: absolute !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  left: 0 !important;
  margin: 0 !important;
  color: var(--pink, #ef008c) !important;
  transform: translateY(calc(-100% - clamp(18px, 2vh, 26px)));
}

.internal-page #inicio.service-v2-hero h1 {
  width: min(100%, 1040px) !important;
  max-width: 1040px !important;
  font-size: clamp(66px, 6.2vw, 112px) !important;
  line-height: .9 !important;
}

.internal-page #inicio.service-v2-hero .ip-hero__lead {
  width: min(100%, 570px) !important;
  max-width: 570px !important;
  margin: 0 !important;
  align-self: flex-start !important;
}

/* 02 / DESCRIPTION — one canvas, two equal tracks, no nested max-width. */
.internal-page #descripcion.service-v2-description {
  width: calc(100% - (2 * var(--service-editorial-guide))) !important;
  max-width: none !important;
  min-height: min(100svh, 980px) !important;
  margin-inline: var(--service-editorial-guide) !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto 1fr;
  gap: clamp(64px, 8vh, 96px) !important;
  align-content: center;
  padding-top: clamp(126px, 10vw, 172px) !important;
  padding-bottom: clamp(112px, 9vw, 156px) !important;
}

.internal-page #descripcion.service-v2-description .ip-kicker {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.internal-page #descripcion.service-v2-description .service-v2-description__content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: clamp(44px, 4.6vw, 88px) !important;
  align-items: start !important;
}

.internal-page #descripcion.service-v2-description h2 {
  width: min(100%, 720px) !important;
  max-width: 720px !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-self: start !important;
  font-size: clamp(48px, 4.25vw, 76px) !important;
  line-height: .94 !important;
  letter-spacing: -.055em !important;
  text-wrap: balance;
}

.internal-page #descripcion.service-v2-description .ip-copy {
  width: min(100%, 650px) !important;
  max-width: 650px !important;
  margin: 0 !important;
  justify-self: start !important;
}

/* Remaining editorial labels inherit the same Home guide. */
.internal-page #metodologia.service-v2-methodology .skills-v42__shell,
.internal-page #tags .service-v2-container {
  width: calc(100% - (2 * var(--service-editorial-guide))) !important;
  max-width: none !important;
  margin-inline: var(--service-editorial-guide) !important;
}

.internal-page #metodologia.service-v2-methodology {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.internal-page #conocimiento.explore-v38 {
  padding-left: var(--service-editorial-guide) !important;
  padding-right: var(--service-editorial-guide) !important;
}

.internal-page #conocimiento .explore-v38__shell {
  width: 100% !important;
  max-width: none !important;
}

@media (max-width: 1050px) {
  :root {
    --service-editorial-guide: 82px;
  }
}

@media (max-width: 900px) {
  .internal-page #descripcion.service-v2-description {
    min-height: auto !important;
    gap: 48px !important;
  }

  .internal-page #descripcion.service-v2-description .service-v2-description__content {
    grid-template-columns: 1fr !important;
    row-gap: 44px !important;
  }

  .internal-page #descripcion.service-v2-description h2,
  .internal-page #descripcion.service-v2-description .ip-copy {
    width: min(100%, 720px) !important;
  }
}

@media (max-width: 700px) {
  :root {
    --service-editorial-guide: 18px;
  }

  .internal-page #inicio.service-v2-hero {
    align-items: flex-end !important;
    padding-bottom: 64px !important;
  }

  .internal-page #inicio.service-v2-hero .ip-hero__content {
    top: auto;
    right: var(--service-editorial-guide);
    bottom: 64px;
    left: var(--service-editorial-guide);
    transform: none;
  }

  .internal-page #descripcion.service-v2-description {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
  }
}
