.servicios-page {
  overflow: hidden;
  background: #fff;
  color: var(--vincula-black);
}

.servicios-hero {
  position: relative;
  overflow: hidden;
  padding: 92px 0 74px;
  background:
    radial-gradient(circle at 88% 22%, rgb(255 255 255 / 13%) 0 12%, transparent 12.5%),
    var(--vincula-purple);
}

.servicios-hero::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -130px;
  width: 390px;
  aspect-ratio: 1;
  border: 1px solid rgb(0 0 0 / 10%);
  border-radius: 50%;
  box-shadow:
    0 0 0 45px rgb(0 0 0 / 3%),
    0 0 0 90px rgb(0 0 0 / 2%);
}

.servicios-hero__content {
  position: relative;
  z-index: 1;
  max-width: 790px;
  margin: 0 auto;
  text-align: center;
}

.servicios-eyebrow,
.servicios-label {
  display: inline-flex;
  padding: 8px 17px;
  border-radius: 50px;
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}

.servicios-eyebrow {
  border: 1px solid rgb(0 0 0 / 22%);
}

.servicios-label {
  margin-bottom: 13px;
  background: rgb(120 94 240 / 12%);
  color: var(--vincula-purple);
}

.servicios-hero h1 {
  margin: 24px 0 20px;
  font-size: clamp(2.8rem, 5.5vw, 4.7rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -3px;
}

.servicios-hero__content > p {
  max-width: 650px;
  margin: 0 auto;
  font-size: 1.08rem;
  line-height: 1.8;
}

.servicios-breadcrumbs {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 0;
  margin: 28px 0 0;
  list-style: none;
  font-size: .82rem;
  font-weight: 700;
}

.servicios-breadcrumbs li + li::before {
  content: "·";
  margin-right: 10px;
}

.servicios-breadcrumbs a {
  color: #000;
  text-underline-offset: 4px;
}

.servicios-admin-button {
  display: inline-flex;
  margin-top: 24px;
  padding: 11px 19px;
  border-radius: 50px;
  background: var(--vincula-yellow);
  color: #000;
  font-weight: 750;
  text-decoration: none;
}

.servicios-catalogo {
  padding: 88px 0 104px;
  background: #fff;
}

.servicios-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}

.servicios-toolbar h2 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.15rem);
  font-weight: 800;
  letter-spacing: -1.8px;
}

.servicios-toolbar__count {
  flex-shrink: 0;
  padding: 9px 15px;
  border-radius: 50px;
  background: #f2f0f8;
  color: var(--vincula-dark);
  font-size: .78rem;
  font-weight: 700;
}

.servicios-filtros {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 42px;
  padding: 16px;
  border: 1px solid #e8e5ef;
  border-radius: 18px;
  background: #faf9fc;
}

.servicios-filtro {
  padding: 9px 15px;
  border-radius: 50px;
  color: var(--vincula-dark);
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}

.servicios-filtro:hover {
  color: var(--vincula-purple);
  transform: translateY(-1px);
}

.servicios-filtro.active {
  background: var(--vincula-purple);
  color: #fff;
  box-shadow: 0 5px 16px rgb(120 94 240 / 25%);
}

.servicios-catalogo .row > .col-xl-4:nth-child(6n + 1) {
  --service-accent: #e4579d;
  --service-contrast: #000;
}
.servicios-catalogo .row > .col-xl-4:nth-child(6n + 2) {
  --service-accent: #785ef0;
  --service-contrast: #fff;
}
.servicios-catalogo .row > .col-xl-4:nth-child(6n + 3) {
  --service-accent: #ffb000;
  --service-contrast: #000;
}
.servicios-catalogo .row > .col-xl-4:nth-child(6n + 4) {
  --service-accent: #779dff;
  --service-contrast: #000;
}
.servicios-catalogo .row > .col-xl-4:nth-child(6n + 5) {
  --service-accent: #5bb4a5;
  --service-contrast: #000;
}
.servicios-catalogo .row > .col-xl-4:nth-child(6n) {
  --service-accent: #009e73;
  --service-contrast: #000;
}

.servicio-card {
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--service-accent), transparent 60%);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 35px color-mix(in srgb, var(--service-accent), transparent 86%);
  transition: transform .4s cubic-bezier(.25, .46, .45, .94), box-shadow .4s ease;
}

.servicio-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 55px color-mix(in srgb, var(--service-accent), transparent 72%);
}

.servicio-card__visual {
  position: relative;
  display: grid;
  min-height: 225px;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 18%, rgb(255 255 255 / 25%) 0 10%, transparent 10.5%),
    radial-gradient(circle at 16% 88%, rgb(0 0 0 / 10%) 0 19%, transparent 19.5%),
    var(--service-accent);
}

.servicio-card__visual::before {
  content: "";
  position: absolute;
  inset: 22px;
  border: 1px solid color-mix(in srgb, var(--service-contrast), transparent 72%);
  border-radius: 16px;
}

.servicio-card__symbol {
  position: relative;
  z-index: 1;
  color: var(--service-contrast);
  font-size: 5.5rem;
  font-weight: 300;
  line-height: 1;
  transition: transform .45s ease;
}

.servicio-card:hover .servicio-card__symbol {
  transform: scale(1.12) rotate(5deg);
}

.servicio-card__modality {
  position: absolute;
  z-index: 2;
  top: 16px;
  left: 16px;
  padding: 7px 13px;
  border-radius: 50px;
  background: var(--vincula-yellow);
  color: #000;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.servicio-card__visual-label {
  position: absolute;
  z-index: 2;
  right: 17px;
  bottom: 15px;
  color: var(--service-contrast);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.servicio-card__body {
  display: flex;
  height: 100%;
  flex-direction: column;
  padding: 26px 24px 24px;
}

.servicio-card__tags {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 17px;
}

.servicio-card__tags span {
  color: var(--vincula-dark);
  font-size: .67rem;
  font-weight: 750;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.servicio-card__tags > span:first-child {
  padding: 5px 10px;
  border-radius: 50px;
  background: color-mix(in srgb, var(--service-accent), transparent 88%);
  color: color-mix(in srgb, var(--service-accent), black 28%);
}

.servicio-card h3 {
  margin: 0 0 12px;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -.5px;
}

.servicio-card h3 a {
  color: #000;
  text-decoration: none;
}

.servicio-card h3 a:hover {
  color: color-mix(in srgb, var(--service-accent), black 30%);
}

.servicio-card__body > p {
  flex-grow: 1;
  margin: 0 0 20px;
  color: var(--vincula-dark);
  font-size: .88rem;
  line-height: 1.7;
}

.servicio-card__metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-bottom: 22px;
}

.servicio-card__metrics > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--vincula-dark);
  font-size: .7rem;
  font-weight: 650;
}

.servicio-card__metrics > span > span {
  color: color-mix(in srgb, var(--service-accent), black 25%);
  font-size: .95rem;
}

.servicio-card__footer {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-top: 18px;
  border-top: 1px solid #eceaf0;
}

.servicio-card__professional {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
}

.servicio-card__professional > span {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  place-items: center;
  border-radius: 50%;
  background: var(--service-accent);
  color: var(--service-contrast);
  font-size: .68rem;
  font-weight: 800;
}

.servicio-card__professional small {
  overflow: hidden;
  color: var(--vincula-dark);
  font-size: .7rem;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.servicio-card__link {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 7px;
  color: color-mix(in srgb, var(--service-accent), black 30%);
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
}

.servicio-card__link:hover {
  color: color-mix(in srgb, var(--service-accent), black 48%);
}

.servicios-empty {
  padding: 70px 24px;
  border: 1px dashed #c8c8c8;
  border-radius: 20px;
  text-align: center;
}

.servicios-empty > span {
  color: var(--vincula-purple);
  font-size: 2rem;
}

.servicios-empty h3 {
  margin: 13px 0;
  font-size: 1.3rem;
}

.servicios-empty a {
  color: var(--vincula-purple);
  font-weight: 750;
}

@media (max-width: 991.98px) {
  .servicios-hero { padding: 76px 0 62px; }
  .servicios-catalogo { padding: 72px 0 84px; }
}

@media (max-width: 575.98px) {
  .servicios-hero { padding: 64px 8px 52px; }
  .servicios-hero h1 { letter-spacing: -1.8px; }
  .servicios-toolbar { align-items: flex-start; flex-direction: column; }
  .servicios-filtros { flex-wrap: nowrap; overflow-x: auto; }
  .servicios-filtro { flex: 0 0 auto; }
  .servicio-card__visual { min-height: 205px; }
  .servicio-card__footer { align-items: flex-start; flex-direction: column; }
}

/* Detalle de servicio */
.servicio-show-page {
  overflow: hidden;
  background: #fff;
  color: var(--vincula-black);
}

.servicio-show-hero {
  position: relative;
  overflow: hidden;
  padding: 68px 0 76px;
  background: var(--vincula-purple);
}

.servicio-show-hero::before {
  content: "";
  position: absolute;
  top: -170px;
  right: -110px;
  width: 470px;
  aspect-ratio: 1;
  border: 1px solid rgb(0 0 0 / 9%);
  border-radius: 50%;
  box-shadow: 0 0 0 58px rgb(255 255 255 / 4%), 0 0 0 116px rgb(0 0 0 / 2%);
}

.servicio-show-breadcrumbs {
  position: relative;
  z-index: 1;
  justify-content: flex-start;
  margin: 0 0 48px;
}

.servicio-show-breadcrumbs li:last-child {
  overflow: hidden;
  max-width: 40ch;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.servicio-show-hero .row {
  position: relative;
  z-index: 1;
}

.servicio-show-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 20px;
}

.servicio-show-tags span {
  padding: 8px 14px;
  border: 1px solid rgb(0 0 0 / 18%);
  border-radius: 50px;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .7px;
  text-transform: uppercase;
}

.servicio-show-tags span:first-child {
  border-color: var(--vincula-yellow);
  background: var(--vincula-yellow);
}

.servicio-show-hero h1 {
  max-width: 820px;
  margin: 0 0 20px;
  font-size: clamp(2.65rem, 6vw, 5.2rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -3px;
}

.servicio-show-hero .col-lg-8 > p {
  max-width: 680px;
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.75;
}

.servicio-show-hero__symbol {
  display: grid;
  width: min(260px, 75vw);
  aspect-ratio: 1;
  margin-left: auto;
  place-items: center;
  border: 1px solid rgb(0 0 0 / 16%);
  border-radius: 50%;
  background: rgb(255 255 255 / 9%);
  box-shadow: 0 0 0 20px rgb(255 255 255 / 4%);
}

.servicio-show-hero__symbol span {
  font-size: clamp(5rem, 11vw, 9rem);
  font-weight: 300;
  line-height: 1;
}

.servicio-show-hero__image {
  position: relative;
  width: min(500px, 88vw);
  aspect-ratio: 4 / 3;
  padding: 8px;
  margin-right: clamp(12px, 2vw, 32px);
  margin-left: auto;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 35%);
  border-radius: 26px;
  background: rgb(255 255 255 / 10%);
  box-shadow: 0 20px 48px rgb(45 34 91 / 24%);
}

.servicio-show-hero__image::after {
  position: absolute;
  z-index: 1;
  inset: 8px;
  border-radius: 18px;
  background: rgb(120 94 240 / 22%);
  content: "";
  pointer-events: none;
}

.servicio-show-hero__image img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 18px;
  object-fit: cover;
  object-position: center;
  opacity: .82;
}

.servicio-show-content {
  padding: 96px 0;
}

.servicio-show-description h2,
.servicio-show-team h2 {
  margin: 4px 0 24px;
  font-size: clamp(2.15rem, 4vw, 3.45rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -2px;
}

.servicio-show-description__text {
  color: var(--vincula-dark);
  font-size: 1.02rem;
  line-height: 1.85;
}

.servicio-show-description__text p:last-child {
  margin-bottom: 0;
}

.servicio-show-process {
  margin-top: 48px;
  padding-top: 39px;
  border-top: 1px solid #e5e2eb;
}

.servicio-show-process > h3 {
  margin-bottom: 22px;
  font-size: 1.45rem;
  font-weight: 800;
}

.servicio-show-step {
  height: 100%;
  padding: 23px 20px;
  border: 1px solid #e9e6ee;
  border-radius: 18px;
  background: #faf9fc;
}

.servicio-show-step > span {
  display: inline-grid;
  width: 38px;
  height: 38px;
  margin-bottom: 17px;
  place-items: center;
  border-radius: 50%;
  background: var(--vincula-yellow);
  font-size: .72rem;
  font-weight: 850;
}

.servicio-show-step h4 {
  margin-bottom: 9px;
  font-size: 1rem;
  font-weight: 800;
}

.servicio-show-step p {
  margin: 0;
  color: var(--vincula-dark);
  font-size: .79rem;
  line-height: 1.65;
}

.servicio-show-summary {
  position: sticky;
  top: 112px;
  overflow: hidden;
  padding: 28px;
  border: 1px solid #ddd8e8;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 55px rgb(42 31 86 / 12%);
}

.servicio-show-summary__heading {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 24px;
  border-bottom: 1px solid #ebe8f0;
}

.servicio-show-summary__heading > span {
  display: grid;
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  place-items: center;
  border-radius: 14px;
  background: var(--vincula-purple);
  color: #fff;
  font-size: 1.7rem;
}

.servicio-show-summary__heading small {
  color: var(--vincula-dark);
  font-size: .67rem;
  font-weight: 750;
  letter-spacing: .7px;
  text-transform: uppercase;
}

.servicio-show-summary__heading h2 {
  margin: 3px 0 0;
  font-size: 1.15rem;
  font-weight: 800;
}

.servicio-show-summary dl {
  margin: 8px 0 24px;
}

.servicio-show-summary dl > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 0;
  border-bottom: 1px solid #eeecf1;
}

.servicio-show-summary dt {
  color: var(--vincula-dark);
  font-size: .78rem;
  font-weight: 600;
}

.servicio-show-summary dd {
  margin: 0;
  font-size: .79rem;
  font-weight: 800;
  text-align: right;
}

.servicio-show-summary__button,
.servicio-show-team__all,
.servicio-show-empty a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 50px;
  font-weight: 800;
  text-decoration: none;
}

.servicio-show-summary__button {
  width: 100%;
  padding: 14px 20px;
  background: var(--vincula-yellow);
  color: #000;
}

.servicio-show-summary__button:hover {
  color: #000;
  transform: translateY(-1px);
}

.servicio-show-price-note {
  display: flex;
  gap: 10px;
  margin: 18px 0 0;
  color: var(--vincula-dark);
  font-size: .73rem;
  line-height: 1.55;
}

.servicio-show-price-note > span {
  display: grid;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  place-items: center;
  border-radius: 50%;
  background: #eeeafd;
  color: var(--vincula-purple);
  font-size: .68rem;
  font-weight: 850;
}

.servicio-show-summary__admin {
  display: block;
  margin-top: 17px;
  color: var(--vincula-purple);
  font-size: .74rem;
  font-weight: 750;
  text-align: center;
}

.servicio-show-team {
  padding: 90px 0 105px;
  background: #f5f3fa;
}

.servicio-show-team__heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 38px;
}

.servicio-show-team__heading h2 {
  margin-bottom: 12px;
}

.servicio-show-team__heading p {
  max-width: 650px;
  margin: 0;
  color: var(--vincula-dark);
  line-height: 1.7;
}

.servicio-show-team__all,
.servicio-show-empty a {
  flex: 0 0 auto;
  padding: 12px 19px;
  border: 1px solid var(--vincula-purple);
  color: var(--vincula-purple);
}

.servicio-show-team__all:hover,
.servicio-show-empty a:hover {
  background: var(--vincula-purple);
  color: #fff;
}

.servicio-show-profesional {
  display: flex;
  height: 100%;
  min-height: 270px;
  overflow: hidden;
  border: 1px solid #e2dfea;
  border-radius: 21px;
  background: #fff;
  box-shadow: 0 10px 32px rgb(40 31 76 / 8%);
  transition: transform .3s ease, box-shadow .3s ease;
}

.servicio-show-profesional:hover {
  transform: translateY(-5px);
  box-shadow: 0 17px 42px rgb(40 31 76 / 14%);
}

.servicio-show-profesional__portrait {
  display: grid;
  width: 38%;
  min-width: 170px;
  place-items: center;
  overflow: hidden;
  background: var(--vincula-purple);
}

.servicio-show-team .col-lg-6:nth-child(6n + 1) .servicio-show-profesional__portrait { background: #e4579d; }
.servicio-show-team .col-lg-6:nth-child(6n + 2) .servicio-show-profesional__portrait { background: #785ef0; }
.servicio-show-team .col-lg-6:nth-child(6n + 3) .servicio-show-profesional__portrait { background: #ffb000; }
.servicio-show-team .col-lg-6:nth-child(6n + 4) .servicio-show-profesional__portrait { background: #779dff; }
.servicio-show-team .col-lg-6:nth-child(6n + 5) .servicio-show-profesional__portrait { background: #5bb4a5; }
.servicio-show-team .col-lg-6:nth-child(6n) .servicio-show-profesional__portrait { background: #009e73; }

.servicio-show-profesional__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.servicio-show-profesional__portrait > span {
  font-size: 3.1rem;
  font-weight: 850;
}

.servicio-show-team .col-lg-6:nth-child(6n + 2) .servicio-show-profesional__portrait > span {
  color: #fff;
}

.servicio-show-profesional__body {
  display: flex;
  flex: 1;
  align-items: flex-start;
  flex-direction: column;
  padding: 27px 25px 24px;
}

.servicio-show-profesional__specialty {
  color: var(--vincula-purple);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .8px;
  text-transform: uppercase;
}

.servicio-show-profesional h3 {
  margin: 8px 0 5px;
  font-size: 1.24rem;
  font-weight: 800;
}

.servicio-show-profesional__profession {
  margin-bottom: 13px;
  color: var(--vincula-dark);
  font-size: .76rem;
  font-weight: 700;
}

.servicio-show-profesional__body > p:last-of-type {
  flex-grow: 1;
  margin-bottom: 18px;
  color: var(--vincula-dark);
  font-size: .78rem;
  line-height: 1.65;
}

.servicio-show-profesional__link {
  color: var(--vincula-purple);
  font-size: .78rem;
  font-weight: 850;
  text-decoration: none;
}

.servicio-show-profesional__link--muted {
  color: #777;
}

.servicio-show-empty {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 30px;
  border: 1px dashed #c8c8c8;
  border-radius: 20px;
  background: #fff;
}

.servicio-show-empty > span {
  color: var(--vincula-purple);
  font-size: 2.3rem;
}

.servicio-show-empty > div {
  flex: 1;
}

.servicio-show-empty h3 {
  margin-bottom: 6px;
  font-size: 1.15rem;
  font-weight: 800;
}

.servicio-show-empty p {
  margin: 0;
  color: var(--vincula-dark);
  font-size: .85rem;
}

@media (max-width: 991.98px) {
  .servicio-show-hero__symbol { margin: 10px auto 0; }
  .servicio-show-content { padding: 76px 0; }
  .servicio-show-summary { position: static; }
  .servicio-show-team { padding: 74px 0 88px; }
}

@media (max-width: 767.98px) {
  .servicio-show-hero { padding: 54px 0 62px; }
  .servicio-show-breadcrumbs { margin-bottom: 36px; }
  .servicio-show-hero h1 { letter-spacing: -2px; }
  .servicio-show-team__heading,
  .servicio-show-empty { align-items: flex-start; flex-direction: column; }
  .servicio-show-profesional { flex-direction: column; }
  .servicio-show-profesional__portrait {
    width: 100%;
    min-width: 0;
    height: 260px;
  }
}

/* Contraste sobre fondos morados */
.servicios-hero,
.servicio-show-hero {
  color: #fff;
}

.servicios-hero .servicios-eyebrow {
  border-color: var(--vincula-yellow);
  background: var(--vincula-yellow);
  color: #000;
}

.servicios-hero .servicios-breadcrumbs,
.servicios-hero .servicios-breadcrumbs a,
.servicio-show-hero .servicios-breadcrumbs,
.servicio-show-hero .servicios-breadcrumbs a {
  color: #fff;
}

.servicios-hero__content > p,
.servicio-show-hero .col-lg-8 > p {
  color: rgb(255 255 255 / 88%);
}

.servicio-show-tags span:first-child {
  color: #000;
}

/* Catálogo editorial de los cuatro servicios principales */
.servicios-grandes { display: grid; gap: 34px; }
.servicio-feature-card {
  --service-accent: #e4579d;
  display: grid;
  grid-template-columns: minmax(360px, 48%) minmax(0, 1fr);
  min-height: 445px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--service-accent), transparent 62%);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 55px color-mix(in srgb, var(--service-accent), transparent 88%);
  transition: transform .35s ease, box-shadow .35s ease;
}
.servicio-feature-card:hover {
  box-shadow: 0 24px 65px color-mix(in srgb, var(--service-accent), transparent 76%);
  transform: translateY(-8px);
}
.servicio-feature-card:nth-child(2) { --service-accent: #785ef0; }
.servicio-feature-card:nth-child(3) { --service-accent: #ffb000; }
.servicio-feature-card:nth-child(4) { --service-accent: #779dff; }
.servicio-feature-card:nth-child(even) { grid-template-columns: minmax(0, 1fr) minmax(360px, 48%); }
.servicio-feature-card:nth-child(even) .servicio-feature-card__visual { order: 2; }
.servicio-feature-card__visual {
  position: relative; display: grid; place-items: center; overflow: hidden;
  min-height: 100%; background: var(--service-accent); color: #000;
}
.servicio-feature-card:nth-child(2) .servicio-feature-card__visual { color: #fff; }
.servicio-feature-card__visual::after {
  display: none;
}
.servicio-feature-card__visual--image::after {
  display: block;
  content: "";
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, rgb(20 13 51 / 8%) 35%, rgb(20 13 51 / 68%) 100%);
  box-shadow: none;
}
.servicio-feature-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-position: center;
  object-fit: cover;
  z-index: 1;
  opacity: .94;
  transition: transform .5s cubic-bezier(.25, .46, .45, .94), opacity .35s ease;
}
.servicio-feature-card:hover .servicio-feature-card__image {
  opacity: 1;
  transform: scale(1.02);
}
.servicio-feature-card__visual--image .servicio-feature-card__area {
  z-index: 2;
  color: #fff;
  text-shadow: 0 1px 8px rgb(0 0 0 / 45%);
}
.servicio-feature-card__symbol { position: relative; z-index: 1; font-size: clamp(5rem, 10vw, 8rem); line-height: 1; }
.servicio-feature-card__area { position: absolute; z-index: 1; right: 24px; bottom: 24px; left: 24px; font-size: .72rem; font-weight: 850; letter-spacing: 1px; text-align: center; text-transform: uppercase; }
.servicio-feature-card__body { display: flex; align-items: flex-start; flex-direction: column; padding: clamp(30px, 5vw, 58px); }
.servicio-feature-card__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.servicio-feature-card__meta span { padding: 7px 12px; border-radius: 50px; background: #f1eefb; color: #5a477f; font-size: .67rem; font-weight: 750; }
.servicio-feature-card h3 { max-width: 760px; margin: 0 0 16px; font-size: clamp(1.8rem, 3.4vw, 3rem); font-weight: 850; letter-spacing: -1.5px; line-height: 1.08; }
.servicio-feature-card h3 a { color: #000; text-decoration: none; }
.servicio-feature-card__hook { margin: 0 0 14px; color: var(--vincula-purple); font-size: 1rem; font-weight: 800; line-height: 1.55; }
.servicio-feature-card__description { max-width: 720px; margin: 0; color: var(--vincula-dark); font-size: .92rem; line-height: 1.75; }
.servicio-feature-card__footer { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 20px; margin-top: auto; padding-top: 28px; }
.servicio-feature-card__footer > span { color: var(--vincula-dark); font-size: .75rem; }
.servicio-feature-card__footer strong { color: #000; }
.servicio-feature-card__link { display: inline-flex; align-items: center; gap: 12px; padding: 12px 19px; border-radius: 50px; background: var(--vincula-yellow); color: #000; font-size: .78rem; font-weight: 850; text-decoration: none; }
.servicio-show-hero__cta { display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; padding: 13px 20px; border-radius: 50px; background: var(--vincula-yellow); color: #000; font-size: .8rem; font-weight: 850; text-decoration: none; }
.servicio-detail-block { margin-top: 54px; padding-top: 45px; border-top: 1px solid #e5e2eb; }
.servicio-detail-block h2 { margin: 3px 0 25px; color: #000; font-size: clamp(1.7rem, 3vw, 2.5rem); font-weight: 850; letter-spacing: -1px; }
.servicio-detail-block--benefits ul { display: grid; gap: 12px; padding: 0; list-style: none; }
.servicio-detail-block--benefits li { position: relative; padding: 18px 20px 18px 52px; border-radius: 15px; background: #f7f5fc; color: var(--vincula-dark); line-height: 1.65; }
.servicio-detail-block--benefits li::before { content: "✓"; position: absolute; left: 20px; color: var(--vincula-green); font-weight: 900; }
.servicio-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.servicio-detail-grid article { display: flex; gap: 14px; padding: 20px; border: 1px solid #e6e2ec; border-radius: 16px; }
.servicio-detail-grid article > span { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 50%; background: var(--vincula-yellow); font-size: .67rem; font-weight: 850; }
.servicio-detail-grid p { margin: 4px 0 0; color: var(--vincula-dark); font-size: .82rem; line-height: 1.55; }
.servicio-detail-highlight { margin-top: 18px; padding: 24px; border-left: 5px solid var(--vincula-purple); border-radius: 0 16px 16px 0; background: #f2effd; }
.servicio-detail-highlight h3 { margin: 0 0 8px; font-size: 1rem; font-weight: 850; }
.servicio-detail-highlight p { margin: 0; color: var(--vincula-dark); font-size: .84rem; line-height: 1.7; }
.servicio-faq details { padding: 18px 0; border-bottom: 1px solid #e5e2eb; }
.servicio-faq summary { color: #000; font-weight: 800; cursor: pointer; }
.servicio-faq details p { margin: 14px 0 0; color: var(--vincula-dark); line-height: 1.7; }
.servicio-scope { margin-top: 40px; padding: 22px; border: 1px solid rgb(228 87 157 / 30%); border-radius: 16px; background: #fff7fb; }
.servicio-scope strong { color: #b83275; }
.servicio-scope p { margin: 7px 0 0; color: var(--vincula-dark); font-size: .82rem; line-height: 1.65; }
.servicio-show-price, .servicio-show-plans { padding: 17px 0; border-bottom: 1px solid #eeecf1; }
.servicio-show-price small, .servicio-show-plans small { color: var(--vincula-purple); font-size: .67rem; font-weight: 850; letter-spacing: .6px; text-transform: uppercase; }
.servicio-show-price p { margin: 7px 0 0; color: #000; font-size: .84rem; font-weight: 800; line-height: 1.55; }
.servicio-show-plans ul { padding-left: 18px; margin: 9px 0 0; color: var(--vincula-dark); font-size: .76rem; line-height: 1.55; }
.servicio-show-plans li + li { margin-top: 8px; }
@media (max-width: 991.98px) {
  .servicio-show-hero__image { margin: 18px auto 0; }
  .servicio-feature-card, .servicio-feature-card:nth-child(even) { grid-template-columns: 1fr; }
  .servicio-feature-card:nth-child(even) .servicio-feature-card__visual { order: 0; }
  .servicio-feature-card__visual { height: 320px; min-height: 320px; }
}

.servicio-form__current-image {
  position: relative;
  width: min(100%, 360px);
  aspect-ratio: 16 / 9;
  margin-bottom: 12px;
  overflow: hidden;
  border: 1px solid #ddd7e7;
  border-radius: 14px;
  background: #f3f0f8;
}

.servicio-form__current-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.servicio-form__current-image span {
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 6px 10px;
  border-radius: 50px;
  background: rgb(0 0 0 / 68%);
  color: #fff;
  font-size: .7rem;
  font-weight: 800;
}
@media (max-width: 575.98px) {
  .servicio-feature-card__visual { height: 240px; min-height: 240px; }
  .servicio-feature-card__footer { align-items: flex-start; flex-direction: column; }
  .servicio-detail-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .servicio-feature-card,
  .servicio-feature-card__image { transition: none; }
  .servicio-feature-card:hover,
  .servicio-feature-card:hover .servicio-feature-card__image { transform: none; }
}

/* Ajuste de legibilidad solicitado para tarjetas y datos del servicio */
.servicio-feature-card { min-height: 445px; }
.servicio-feature-card__area { font-size: .82rem; line-height: 1.4; }
.servicio-feature-card__meta span { padding: 8px 14px; font-size: .78rem; line-height: 1.45; }
.servicio-feature-card__hook { font-size: 1.12rem; line-height: 1.6; }
.servicio-feature-card__description { font-size: 1.02rem; line-height: 1.8; }
.servicio-feature-card__footer > span { font-size: .86rem; }
.servicio-feature-card__link { font-size: .9rem; }
.servicio-show-tags span { font-size: .8rem; }
.servicio-show-hero__cta { font-size: .92rem; }
.servicio-show-description__text { font-size: 1.08rem; }
.servicio-detail-block--benefits li { font-size: .96rem; }
.servicio-detail-grid p { font-size: .94rem; line-height: 1.65; }
.servicio-detail-highlight p,
.servicio-scope p { font-size: .95rem; }
.servicio-faq details p { font-size: .98rem; }
.servicio-show-summary dt,
.servicio-show-summary dd { font-size: .88rem; }
.servicio-show-price small,
.servicio-show-plans small { font-size: .76rem; }
.servicio-show-price p { font-size: .96rem; }
.servicio-show-plans ul { font-size: .88rem; }
.servicio-show-price-note { font-size: .84rem; }
.servicio-show-profesional__specialty { font-size: .76rem; line-height: 1.4; }
.servicio-show-profesional h3 { font-size: 1.4rem; }
.servicio-show-profesional__profession { font-size: .88rem; }
.servicio-show-profesional__body > p:last-of-type { font-size: .9rem; line-height: 1.7; }
.servicio-show-profesional__link { font-size: .9rem; }
