/* =============================================================================
   Detalle de servicio — vista producto logístico (ICASA SaaS)
   Paleta: #006837 · #004d29 · #eaf7f0 · texto #0f2744
   ============================================================================= */

:root {
    --svc-green: #006837;
    --svc-green-dark: #004d29;
    --svc-green-mid: #008a4a;
    --svc-green-soft: #eaf7f0;
    --svc-white: #ffffff;
    --svc-gray-50: #f6f8f7;
    --svc-gray-100: #eef1f0;
    --svc-text: #0f2744;
    --svc-text-muted: #4a6274;
    --svc-border: rgba(0, 104, 55, 0.12);
    --svc-shadow: 0 4px 24px rgba(15, 39, 68, 0.06);
    --svc-shadow-hover: 0 20px 50px rgba(0, 104, 55, 0.12);
    --svc-radius: 16px;
    --svc-radius-lg: 22px;
    --svc-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --svc-t: 250ms;
}

.svc-page {
    --font-display: "Montserrat", "Inter", system-ui, sans-serif;
    --font-body: "Inter", system-ui, sans-serif;
    font-family: "Inter", system-ui, -apple-system, sans-serif;
    color: var(--svc-text);
    background: var(--svc-white);
    -webkit-font-smoothing: antialiased;
}

/* —— Hero: layout fijo en todos los servicios (el volver NO va con el bloque al fondo) —— */
.svc-hero {
    position: relative;
    isolation: isolate;
    display: block;
    padding: 0;
    overflow: hidden;
    /* Fondo neutro: sólo visible en los bordes o si no hay imagen */
    background: #0d0f0e;
}

.svc-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 1;
}

.svc-hero__media picture {
    display: block;
    width: 100%;
    height: 100%;
}

.svc-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    /* Sin animación ni opacidad: la foto se ve tal cual */
}

.svc-hero__frame {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    width: 100%;
    /* Móvil/tablet: altura moderada; desktop en @media (min-width: 769px) */
    min-height: clamp(26rem, 58vh, 42rem);
}

/* PC / escritorio: hero más alto para que la foto no se recorte arriba/abajo */
@media (min-width: 769px) {
    .svc-hero__frame {
        min-height: clamp(36rem, 72vh, 56rem);
    }

    .svc-hero__bottom {
        padding-bottom: clamp(2.5rem, 6vh, 4rem);
    }

    .svc-hero__media img {
        object-position: center 40%;
    }
}

/* Primera franja: “Volver” con aire respecto al borde superior (misma posición en todos los servicios) */
.svc-hero__strip {
    flex-shrink: 0;
    width: 100%;
    padding-top: max(env(safe-area-inset-top, 0px), clamp(1rem, 2.6vh, 1.65rem));
    padding-bottom: clamp(0.4rem, 1vh, 0.65rem);
}

.svc-hero__strip .svc-hero__back {
    margin-right: auto;
}

/* Empuja el titular hacia la parte baja del hero sin mover el botón */
.svc-hero__spacer {
    flex: 1 1 0;
    min-height: 1rem;
    width: 100%;
    pointer-events: none;
}

.svc-hero__bottom {
    flex-shrink: 0;
    width: 100%;
    padding-bottom: clamp(2rem, 5.5vh, 3.25rem);
    /* Misma grilla horizontal que .svc-hero__strip (.container): el titular alinea con el botón */
}

/* Titular: alineado al mismo eje izquierdo que “Volver” (sin margen extra) */
.svc-hero__copy {
    max-width: min(40rem, 100%);
    margin-left: 0;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.svc-hero__back {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--svc-green-dark);
    text-decoration: none;
    padding: 0.5rem 1rem 0.5rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 104, 55, 0.28);
    background: rgba(234, 247, 240, 0.88);
    backdrop-filter: blur(10px);
    -webkit-tap-highlight-color: transparent;
    transition:
        color var(--svc-t) var(--svc-ease),
        background var(--svc-t) var(--svc-ease),
        border-color var(--svc-t) var(--svc-ease),
        transform var(--svc-t) var(--svc-ease);
}

@media (hover: hover) and (pointer: fine) {
    .svc-hero__back:hover {
        color: var(--svc-green);
        background: rgba(234, 247, 240, 0.98);
        border-color: rgba(0, 104, 55, 0.45);
        transform: translateY(-1px);
    }
}

.svc-hero__back:focus-visible {
    outline: 2px solid var(--svc-green-mid);
    outline-offset: 3px;
}

.svc-hero__eyebrow {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--svc-green);
    margin: 0 0 0.7rem;
    line-height: 1.5;
}

.svc-hero__title {
    font-family: "Montserrat", "Inter", sans-serif;
    font-weight: 800;
    font-size: clamp(1.85rem, 4.5vw, 2.85rem);
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: var(--svc-green-dark);
    margin: 0 0 0.9rem;
    text-shadow: none;
    overflow-wrap: anywhere;
}

.svc-hero__lead {
    font-size: clamp(1.02rem, 1.4vw, 1.15rem);
    line-height: 1.7;
    color: rgba(0, 104, 55, 0.88);
    margin: 0 0 1.35rem;
    max-width: 36rem;
}

.svc-hero__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 0.75rem;
    list-style: none;
    margin: 0.15rem 0 0;
    padding: 0;
}

.svc-hero__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.95rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--svc-white);
    background: linear-gradient(145deg, #007a42 0%, var(--svc-green-dark) 100%);
    border: 1px solid rgba(0, 77, 41, 0.65);
    border-radius: 999px;
    box-shadow: 0 4px 14px rgba(0, 40, 22, 0.2);
}

/* Franja bajo el hero (fuera de la imagen): flecha centrada como Contacto */
.svc-hero-scroll-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0.75rem 1rem 1.1rem;
    box-sizing: border-box;
    background: linear-gradient(180deg, #f6f8f7 0%, var(--svc-white) 100%);
    border-bottom: 1px solid rgba(0, 104, 55, 0.08);
}

.svc-hero-scroll-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0 auto;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    color: var(--svc-green);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.1);
    cursor: pointer;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.svc-hero-scroll-btn:hover {
    background: #fff;
    transform: translateY(2px);
    box-shadow: 0 6px 18px rgba(0, 104, 55, 0.15);
}

.svc-hero-scroll-btn:focus-visible {
    outline: 2px solid var(--svc-green-mid);
    outline-offset: 3px;
}

.svc-hero-scroll-btn i {
    font-size: 1.25rem;
    line-height: 1;
}

/* Ancla de scroll: inicio del contenido bajo la franja de la flecha */
.svc-detalle-scroll-anchor {
    display: block;
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    scroll-margin-top: calc(var(--nav-bar-stack, 5.75rem) + 0.65rem);
    pointer-events: none;
}

/* —— Secciones genéricas —— */
.svc-section {
    padding: clamp(3rem, 7vw, 5rem) 0;
}

.svc-section[data-svc-reveal] {
    opacity: 0;
    transform: translateY(14px);
    transition:
        opacity calc(var(--svc-t) * 1.2) var(--svc-ease),
        transform calc(var(--svc-t) * 1.2) var(--svc-ease);
}

.svc-section[data-svc-reveal].svc-reveal--visible {
    opacity: 1;
    transform: none;
}

.svc-benefits {
    background: linear-gradient(180deg, var(--svc-gray-50) 0%, var(--svc-white) 28%);
}

.svc-process {
    background: linear-gradient(180deg, var(--svc-gray-50) 0%, var(--svc-white) 80%);
    border-top: 1px solid var(--svc-border);
    border-bottom: 1px solid var(--svc-border);
}

.svc-prose {
    background:
        radial-gradient(circle at 1.5px 1.5px, rgba(0, 104, 55, 0.065) 1.5px, transparent 0)
        0 0 / 26px 26px,
        linear-gradient(180deg, #eff4f1 0%, var(--svc-white) 55%);
    border-top: 1px solid rgba(0, 104, 55, 0.08);
}

.svc-cta-final {
    padding: clamp(3rem, 8vw, 5rem) 0 clamp(4rem, 10vw, 6rem);
    background: linear-gradient(180deg, var(--svc-white) 0%, var(--svc-green-soft) 55%, var(--svc-gray-50) 100%);
}

.svc-section__head {
    text-align: center;
    max-width: 36rem;
    margin: 0 auto clamp(2.25rem, 5vw, 3rem);
}

.svc-section__title {
    font-family: "Montserrat", "Inter", sans-serif;
    font-weight: 700;
    font-size: clamp(1.35rem, 2.8vw, 1.75rem);
    letter-spacing: -0.02em;
    color: var(--svc-green-dark);
    margin: 0 0 0.5rem;
}

.svc-section__title--left {
    text-align: left;
    margin-left: 0;
}

.svc-section__subtitle {
    margin: 0;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--svc-text-muted);
}

.container--narrow {
    max-width: 44rem;
}

.container--cta {
    max-width: 38rem;
}

/* —— Beneficios (cards) —— */
.svc-benefits__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1rem, 2.5vw, 1.35rem);
}

@media (max-width: 639.98px) {
    .svc-benefits__grid {
        grid-template-columns: 1fr;
    }
}

.svc-benefit-card {
    position: relative;
    padding: clamp(1.35rem, 3vw, 1.75rem);
    background: linear-gradient(145deg, #007a42 0%, var(--svc-green-dark) 100%);
    border: 1px solid rgba(0, 77, 41, 0.65);
    border-radius: var(--svc-radius-lg);
    box-shadow: 0 14px 40px rgba(0, 40, 22, 0.22);
    -webkit-tap-highlight-color: transparent;
    /* Transiciones para hover Y para la entrada escalonada */
    transition:
        opacity 0.5s var(--svc-ease),
        transform 0.5s var(--svc-ease),
        border-color 0.28s var(--svc-ease),
        box-shadow 0.28s var(--svc-ease),
        background 0.28s ease,
        color 0.28s ease;
}

/* ── Entrada escalonada: las cards salen de abajo cuando el contenedor se revela ── */
.svc-benefits[data-svc-reveal] .svc-benefit-card {
    opacity: 0;
    transform: translateY(24px);
}

.svc-benefits.svc-reveal--visible .svc-benefit-card {
    opacity: 1;
    transform: translateY(0);
}

.svc-benefits.svc-reveal--visible .svc-benefit-card:nth-child(1) { transition-delay: 80ms; }
.svc-benefits.svc-reveal--visible .svc-benefit-card:nth-child(2) { transition-delay: 175ms; }
.svc-benefits.svc-reveal--visible .svc-benefit-card:nth-child(3) { transition-delay: 270ms; }
.svc-benefits.svc-reveal--visible .svc-benefit-card:nth-child(4) { transition-delay: 365ms; }
.svc-benefits.svc-reveal--visible .svc-benefit-card:nth-child(5) { transition-delay: 460ms; }
.svc-benefits.svc-reveal--visible .svc-benefit-card:nth-child(6) { transition-delay: 555ms; }

/* ── Escritorio: hover (ratón) ── */
@media (hover: hover) and (pointer: fine) {
    .svc-benefit-card:hover,
    .svc-benefit-card:active {
        transition-delay: 0ms;
        background: var(--svc-white);
        border-color: var(--svc-border);
        box-shadow: 0 22px 52px rgba(15, 39, 68, 0.1), 0 8px 24px rgba(0, 104, 55, 0.08);
        transform: translateY(-7px) scale(1.015);
    }

    .svc-benefits.svc-reveal--visible .svc-benefit-card:hover,
    .svc-benefits.svc-reveal--visible .svc-benefit-card:active {
        transform: translateY(-7px) scale(1.015);
    }

    .svc-benefit-card:hover .svc-benefit-card__icon,
    .svc-benefit-card:active .svc-benefit-card__icon {
        background: linear-gradient(145deg, var(--svc-green-soft) 0%, rgba(234, 247, 240, 0.4) 100%);
        border-color: rgba(0, 104, 55, 0.1);
        color: var(--svc-green);
    }

    .svc-benefit-card:hover .svc-benefit-card__title,
    .svc-benefit-card:active .svc-benefit-card__title {
        color: var(--svc-text);
    }

    .svc-benefit-card:hover .svc-benefit-card__desc,
    .svc-benefit-card:active .svc-benefit-card__desc {
        color: var(--svc-text-muted);
    }
}

/* ── Móvil / táctil: tap deja la tarjeta destacada (.svc-benefit-card--active) ── */
@media (hover: none), (pointer: coarse) {
    .svc-benefit-card[data-svc-benefit-card] {
        cursor: pointer;
    }

    .svc-benefit-card.svc-benefit-card--active {
        transition-delay: 0ms;
        background: var(--svc-white);
        border-color: var(--svc-border);
        box-shadow: 0 22px 52px rgba(15, 39, 68, 0.1), 0 8px 24px rgba(0, 104, 55, 0.08);
        transform: translateY(-7px) scale(1.015);
    }

    .svc-benefits.svc-reveal--visible .svc-benefit-card.svc-benefit-card--active {
        transform: translateY(-7px) scale(1.015);
    }

    .svc-benefit-card.svc-benefit-card--active .svc-benefit-card__icon {
        background: linear-gradient(145deg, var(--svc-green-soft) 0%, rgba(234, 247, 240, 0.4) 100%);
        border-color: rgba(0, 104, 55, 0.1);
        color: var(--svc-green);
    }

    .svc-benefit-card.svc-benefit-card--active .svc-benefit-card__title {
        color: var(--svc-text);
    }

    .svc-benefit-card.svc-benefit-card--active .svc-benefit-card__desc {
        color: var(--svc-text-muted);
    }

    .svc-benefit-card.svc-benefit-card--active:focus-visible {
        outline: 2px solid var(--svc-green);
        outline-offset: 3px;
    }
}

/* ── Ícono (estado base: sobre fondo verde) ── */
.svc-benefit-card__icon {
    width: 3.25rem;
    height: 3.25rem;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: #fff;
    transition:
        background 0.28s ease,
        border-color 0.28s ease,
        color 0.28s ease;
}

.svc-benefit-card__icon i {
    font-size: 1.65rem;
    line-height: 1;
}

.svc-benefit-card__icon svg {
    width: 1.65rem;
    height: 1.65rem;
    stroke-width: 1.65;
}

/* ── Título (base: claro sobre verde) ── */
.svc-benefit-card__title {
    font-family: "Montserrat", "Inter", sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #fff;
    margin: 0 0 0.5rem;
    transition: color 0.28s ease;
}

/* ── Descripción ── */
.svc-benefit-card__desc {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.88);
    transition: color 0.28s ease;
}

.svc-benefit-card__icon,
.svc-benefit-card__title,
.svc-benefit-card__desc {
    position: relative;
    z-index: 1;
}

/* —— Proceso: workflow logístico (raíles + estados; animación vía JS una sola vez) —— */
.svc-process__track {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
    position: relative;
}

.svc-process__step {
    position: relative;
    flex: 1 1 200px;
    max-width: 280px;
    min-width: min(100%, 200px);
    padding: 1.25rem 1rem 1.5rem;
    text-align: center;
}

/* Numeración */
.svc-process__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin: 0 auto 1rem;
    font-family: "Montserrat", "Inter", sans-serif;
    font-weight: 800;
    font-size: 0.95rem;
    color: var(--svc-white);
    border-radius: 50%;
    position: relative;
    z-index: 2;
    transition:
        opacity 0.35s var(--svc-ease),
        transform 0.45s var(--svc-ease),
        box-shadow 0.45s var(--svc-ease),
        background 0.35s ease,
        filter 0.35s ease;
}

.svc-process__step--pending .svc-process__num {
    opacity: 0.42;
    transform: scale(0.94);
    background: linear-gradient(145deg, #8eb8a4 0%, #6d9684 100%);
    box-shadow: none;
    filter: saturate(0.75);
}

.svc-process__step--active .svc-process__num {
    opacity: 1;
    transform: scale(1.08);
    background: linear-gradient(145deg, var(--svc-green) 0%, var(--svc-green-dark) 100%);
    box-shadow:
        0 0 0 3px rgba(0, 104, 55, 0.22),
        0 10px 32px rgba(0, 104, 55, 0.38);
}

.svc-process__step--done .svc-process__num {
    opacity: 1;
    transform: scale(1);
    background: linear-gradient(145deg, var(--svc-green) 0%, var(--svc-green-dark) 100%);
    box-shadow: 0 6px 22px rgba(0, 104, 55, 0.26);
    filter: none;
}

.svc-process__body {
    position: relative;
    z-index: 2;
    padding: 0.95rem 1rem 1rem;
    margin-top: 0.65rem;
    border-radius: var(--svc-radius);
    border: 1px solid var(--svc-border);
    background: var(--svc-white);
    box-shadow: var(--svc-shadow);
    transition:
        opacity 0.35s var(--svc-ease),
        border-color 0.38s var(--svc-ease),
        background 0.38s ease,
        box-shadow 0.38s var(--svc-ease);
}

/* Pending: apagado, sin profundidad */
.svc-process__step--pending .svc-process__body {
    background: var(--svc-gray-100);
    border-color: rgba(15, 39, 68, 0.06);
    box-shadow: none;
    opacity: 0.55;
}

/* Active: resaltado en verde corporativo */
.svc-process__step--active .svc-process__body {
    background: linear-gradient(145deg, #eaf7f0 0%, #f3fbf7 100%);
    border-color: rgba(0, 104, 55, 0.38);
    box-shadow: 0 8px 30px rgba(0, 104, 55, 0.13);
    opacity: 1;
}

/* Done: completado, limpio */
.svc-process__step--done .svc-process__body {
    background: var(--svc-white);
    border-color: rgba(0, 104, 55, 0.22);
    box-shadow: 0 3px 14px rgba(0, 104, 55, 0.07);
    opacity: 1;
}

/* La opacidad de título/desc se maneja en el card (.svc-process__body) por estado.
   Solo el color del título activo cambia a verde. */
.svc-process__step--pending .svc-process__title,
.svc-process__step--pending .svc-process__desc {
    opacity: 1;
}

.svc-process__step--active .svc-process__title,
.svc-process__step--done .svc-process__title,
.svc-process__step--active .svc-process__desc,
.svc-process__step--done .svc-process__desc {
    opacity: 1;
}

.svc-process__title {
    font-family: "Montserrat", "Inter", sans-serif;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--svc-green-dark);
    margin: 0 0 0.4rem;
    letter-spacing: -0.01em;
    transition: color 0.3s ease;
}

.svc-process__step--active .svc-process__title {
    color: var(--svc-green);
}

.svc-process__desc {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--svc-text-muted);
}

/* Raíl: track gris + relleno verde (scale) */
.svc-process__rail {
    display: none;
    pointer-events: none;
}

.svc-process__rail-track,
.svc-process__rail-fill {
    position: absolute;
    inset: 0;
    border-radius: 2px;
}

.svc-process__rail-track {
    background: #d5e0da;
}

.svc-process__rail--h .svc-process__rail-fill {
    background: linear-gradient(90deg, var(--svc-green) 0%, #00a651 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.58s var(--svc-ease);
}

.svc-process__rail--h.svc-process__rail--filled .svc-process__rail-fill {
    transform: scaleX(1);
}

.svc-process__rail--v .svc-process__rail-fill {
    background: linear-gradient(180deg, var(--svc-green) 0%, rgba(0, 104, 55, 0.35) 100%);
    transform: scaleY(0);
    transform-origin: center top;
    transition: transform 0.58s var(--svc-ease);
}

.svc-process__rail--v.svc-process__rail--filled .svc-process__rail-fill {
    transform: scaleY(1);
}

/* Desktop: línea horizontal entre pasos */
@media (min-width: 768px) {
    .svc-process__rail--h {
        display: block;
        position: absolute;
        top: 2.6rem;
        left: calc(50% + 1.375rem);
        width: calc(100% - 2.75rem);
        height: 2px;
        z-index: 0;
    }

    .svc-process__rail--v {
        display: none !important;
    }
}

/* Móvil: línea vertical bajo el número */
@media (max-width: 767.98px) {
    .svc-process__track {
        flex-direction: column;
        align-items: stretch;
        max-width: 22rem;
        margin: 0 auto;
    }

    .svc-process__step {
        max-width: none;
        text-align: left;
        display: grid;
        grid-template-columns: 2.75rem 1fr;
        gap: 0 1rem;
        padding: 0.5rem 0 1.35rem;
        align-items: start;
    }

    .svc-process__rail--h {
        display: none !important;
    }

    .svc-process__step:not(:last-child) .svc-process__rail--v {
        display: block;
        position: absolute;
        left: 1.375rem;
        top: 2.85rem;
        bottom: 0;
        width: 2px;
        transform: translateX(-50%);
        z-index: 0;
    }

    .svc-process__num {
        margin: 0;
        grid-column: 1;
        grid-row: 1;
        align-self: start;
        justify-self: center;
        margin-top: 0.55rem;
    }

    .svc-process__body {
        grid-column: 2;
        grid-row: 1;
        margin-top: 0;
        padding: 0.8rem 0.9rem 0.85rem;
    }
}

/* —— Prosa / HTML del admin (sólo dentro de .svc-prose__card: texto sobre verde; hover → oscuro) —— */
.svc-prose__card .svc-prose__content,
.svc-prose__card .service-detail-content {
    font-size: 1.0625rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.92);
}

.svc-prose__card .svc-prose__content p,
.svc-prose__card .service-detail-content p {
    margin-bottom: 1.1rem;
}

.svc-prose__card .svc-prose__content h2,
.svc-prose__card .svc-prose__content h3,
.svc-prose__card .svc-prose__content h4,
.svc-prose__card .service-detail-content h2,
.svc-prose__card .service-detail-content h3,
.svc-prose__card .service-detail-content h4 {
    font-family: "Montserrat", "Inter", sans-serif;
    font-weight: 700;
    color: #fff;
    margin-top: 1.75rem;
    margin-bottom: 0.65rem;
    letter-spacing: -0.02em;
}

.svc-prose__card .service-detail-content h2 {
    font-size: 1.35rem;
}

.svc-prose__card .service-detail-content h3 {
    font-size: 1.1rem;
}

.svc-prose__card .svc-prose__content ul,
.svc-prose__card .svc-prose__content ol,
.svc-prose__card .service-detail-content ul,
.svc-prose__card .service-detail-content ol {
    margin-bottom: 1.15rem;
    padding-left: 1.35rem;
}

.svc-prose__card .svc-prose__content a,
.svc-prose__card .service-detail-content a {
    color: #e8fff4;
    font-weight: 600;
    text-underline-offset: 2px;
}

.svc-prose__card .svc-prose__content a:hover,
.svc-prose__card .service-detail-content a:hover {
    color: #fff;
}

/* —— CTA card + formulario compacto —— */
.svc-cta-card {
    background: var(--svc-white);
    border: 1px solid var(--svc-border);
    border-radius: var(--svc-radius-lg);
    box-shadow: 0 24px 60px rgba(15, 39, 68, 0.08);
    padding: clamp(1.5rem, 4vw, 2.25rem);
}

.svc-cta-card__head {
    margin-bottom: 1.5rem;
    text-align: center;
}

.svc-cta-card__title {
    font-family: "Montserrat", "Inter", sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: -0.02em;
    color: var(--svc-text);
    margin: 0 0 0.35rem;
}

.svc-cta-card__lead {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--svc-text-muted);
}

.svc-cta-form__row {
    margin-bottom: 0.85rem;
}

.svc-cta-form__row--2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1rem;
}

@media (max-width: 575.98px) {
    .svc-cta-form__row--2 {
        grid-template-columns: 1fr;
    }
}

.svc-cta-form__field {
    margin: 0;
}

.svc-cta-form__label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--svc-text-muted);
    margin-bottom: 0.35rem;
}

.svc-cta-form__input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 0.9375rem;
    color: var(--svc-text);
    background: var(--svc-gray-50);
    border: 1px solid rgba(15, 39, 68, 0.08);
    border-radius: 10px;
    padding: 0.55rem 0.75rem;
    transition:
        border-color var(--svc-t) var(--svc-ease),
        box-shadow var(--svc-t) var(--svc-ease),
        background var(--svc-t) var(--svc-ease);
}

.svc-cta-form__input::placeholder {
    color: #8aa0ae;
}

.svc-cta-form__input:hover {
    border-color: rgba(0, 104, 55, 0.2);
}

.svc-cta-form__input:focus {
    outline: none;
    border-color: var(--svc-green);
    background: var(--svc-white);
    box-shadow: 0 0 0 3px rgba(0, 104, 55, 0.12);
}

.svc-cta-form__textarea {
    resize: vertical;
    min-height: 4.5rem;
    line-height: 1.5;
}

.svc-cta-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.1rem;
    align-items: center;
    justify-content: center;
}

.svc-cta-form__submit {
    flex: 1 1 auto;
    min-width: min(100%, 10rem);
    padding: 0.7rem 1.25rem;
    font-family: "Montserrat", "Inter", sans-serif;
    font-weight: 700;
    font-size: 0.8125rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--svc-white);
    background: linear-gradient(145deg, var(--svc-green) 0%, var(--svc-green-dark) 100%);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(0, 104, 55, 0.25);
    transition:
        transform var(--svc-t) var(--svc-ease),
        box-shadow var(--svc-t) var(--svc-ease),
        filter var(--svc-t) var(--svc-ease);
}

@media (hover: hover) and (pointer: fine) {
    .svc-cta-form__submit:hover {
        transform: translateY(-1px);
        box-shadow: 0 10px 28px rgba(0, 104, 55, 0.32);
    }
}

.svc-cta-form__submit:focus-visible {
    outline: 2px solid var(--svc-green-mid);
    outline-offset: 3px;
}

.svc-cta-form__wa {
    flex: 1 1 auto;
    min-width: min(100%, 10rem);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.7rem 1.25rem;
    font-family: "Montserrat", "Inter", sans-serif;
    font-weight: 700;
    font-size: 0.8125rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--svc-green-dark) !important;
    background: var(--svc-white);
    border: 1px solid var(--svc-border);
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(15, 39, 68, 0.05);
    transition:
        border-color var(--svc-t) var(--svc-ease),
        background var(--svc-t) var(--svc-ease),
        transform var(--svc-t) var(--svc-ease);
}

.svc-cta-form__wa .bi {
    font-size: 1.1rem;
}

@media (hover: hover) and (pointer: fine) {
    .svc-cta-form__wa:hover {
        border-color: rgba(0, 104, 55, 0.35);
        background: var(--svc-green-soft);
        transform: translateY(-1px);
    }
}

.svc-cta-form__wa:focus-visible {
    outline: 2px solid var(--svc-green);
    outline-offset: 3px;
}

.svc-cta-card__foot {
    margin: 1.25rem 0 0;
    text-align: center;
    font-size: 0.875rem;
}

.svc-cta-card__link {
    color: var(--svc-text-muted);
    font-weight: 500;
    text-decoration: none;
    border-bottom: 1px solid rgba(15, 39, 68, 0.2);
    transition: color var(--svc-t) var(--svc-ease), border-color var(--svc-t) var(--svc-ease);
}

.svc-cta-card__link:hover {
    color: var(--svc-green);
    border-color: var(--svc-green);
}

/* Accesibilidad: sin animación de entrada */
@media (prefers-reduced-motion: reduce) {
    .svc-hero-scroll-btn:hover {
        transform: none;
    }

    .svc-section[data-svc-reveal] {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .svc-benefits[data-svc-reveal] .svc-benefit-card {
        opacity: 1;
        transform: none;
    }

    .svc-benefit-card,
    .svc-benefit-card__icon,
    .svc-benefit-card__title,
    .svc-benefit-card__desc,
    .svc-process__body,
    .svc-cta-form__submit,
    .svc-cta-form__wa,
    .svc-hero__back {
        transition: none;
    }

    @media (hover: hover) and (pointer: fine) {
        .svc-benefit-card:hover,
        .svc-cta-form__submit:hover,
        .svc-cta-form__wa:hover,
        .svc-hero__back:hover,
        .svc-prose__card:hover {
            transform: none;
        }
    }

    @media (hover: none), (pointer: coarse) {
        .svc-benefit-card.svc-benefit-card--active,
        .svc-benefits.svc-reveal--visible .svc-benefit-card.svc-benefit-card--active {
            transform: none;
        }
    }

    .svc-process__rail--h .svc-process__rail-fill,
    .svc-process__rail--v .svc-process__rail-fill,
    .svc-process__num {
        transition: none;
    }

    .svc-cta-card::before {
        animation: none;
    }

    .svc-prose__card,
    .svc-prose__card-title,
    .svc-prose__card .svc-prose__content,
    .svc-prose__card .service-detail-content {
        transition: none;
    }

    .svc-prose__card:active {
        transform: none;
    }
}

/* ═══════════════════════════════════════════════════════════════════════
   REDISEÑO RADICAL v2 — Capas visuales, dark process, ornamentos
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Eyebrow / label de sección ── */
.svc-section__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--svc-green);
    margin-bottom: 0.8rem;
}

.svc-section__eyebrow::before {
    content: '';
    display: inline-block;
    width: 1.15rem;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    flex-shrink: 0;
}

.svc-section__eyebrow--light {
    color: rgba(74, 222, 128, 0.82);
}

.svc-section__eyebrow--cta {
    color: var(--svc-green-mid);
}

/* ── Acento bajo el título de sección (benefits + process) ── */
.svc-benefits .svc-section__title::after,
.svc-process .svc-section__title::after {
    content: '';
    display: block;
    width: 2.75rem;
    height: 3px;
    border-radius: 2px;
    margin: 0.6rem auto 0;
    background: linear-gradient(90deg, var(--svc-green) 0%, rgba(0, 104, 55, 0.2) 100%);
}

.svc-process .svc-section__title::after {
    background: linear-gradient(90deg, rgba(74, 222, 128, 0.9) 0%, rgba(74, 222, 128, 0.12) 100%);
}

/* ── Benefits: dot-grid bg + counter watermark ── */
.svc-benefits {
    background:
        radial-gradient(circle at 1.5px 1.5px, rgba(0, 104, 55, 0.065) 1.5px, transparent 0)
        0 0 / 26px 26px,
        linear-gradient(180deg, #eff4f1 0%, var(--svc-white) 55%);
}

/* Overflow necesario para que el watermark se recorte en el borde */
.svc-benefit-card {
    overflow: hidden;
}

/* Counter: reset + incremento */
.svc-benefits__grid {
    counter-reset: svc-benefit;
}

.svc-benefit-card {
    counter-increment: svc-benefit;
}

/* Watermark numérico en cada card */
.svc-benefit-card::before {
    content: counter(svc-benefit, decimal-leading-zero);
    position: absolute;
    bottom: -1rem;
    right: 0.45rem;
    font-size: 6.5rem;
    font-weight: 900;
    line-height: 1;
    font-family: "Montserrat", "Inter", sans-serif;
    letter-spacing: -0.06em;
    color: rgba(255, 255, 255, 0.12);
    pointer-events: none;
    z-index: 0;
    transition: color 0.28s ease;
}

.svc-benefit-card:hover::before,
.svc-benefit-card:active::before,
.svc-benefit-card.svc-benefit-card--active::before {
    color: rgba(0, 104, 55, 0.06);
}

/* ── Process: DARK THEME ── */

/* Sección: fondo oscuro con cortes diagonales superior e inferior */
.svc-process {
    background: #071810;
    border-top: none;
    border-bottom: none;
    clip-path: polygon(0 3.25rem, 100% 0, 100% calc(100% - 3.25rem), 0 100%);
    padding-top:    calc(clamp(3rem, 7vw, 5rem) + 4.5rem);
    padding-bottom: calc(clamp(3rem, 7vw, 5rem) + 4.5rem);
    margin-top:    -2.5rem;
    margin-bottom: -2.5rem;
    position: relative;
    z-index: 2;
}

/* Grid sutil sobre el fondo oscuro */
.svc-process::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(0, 168, 81, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 168, 81, 0.05) 1px, transparent 1px);
    background-size: 40px 40px;
    pointer-events: none;
    z-index: 0;
}

/* Textos de cabecera sobre fondo oscuro */
.svc-process .svc-section__title {
    color: rgba(255, 255, 255, 0.96);
}

.svc-process .svc-section__subtitle {
    color: rgba(255, 255, 255, 0.52);
}

/* Body-card en modo oscuro */
.svc-process .svc-process__body {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: none;
}

.svc-process .svc-process__step--pending .svc-process__body {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.06);
    box-shadow: none;
    opacity: 0.42;
}

.svc-process .svc-process__step--active .svc-process__body {
    background: rgba(0, 168, 81, 0.18);
    border-color: rgba(74, 222, 128, 0.48);
    box-shadow: 0 8px 32px rgba(0, 168, 81, 0.2);
    opacity: 1;
}

.svc-process .svc-process__step--done .svc-process__body {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(74, 222, 128, 0.22);
    box-shadow: none;
    opacity: 1;
}

/* Colores de texto en oscuro */
.svc-process .svc-process__title {
    color: rgba(255, 255, 255, 0.88);
}

.svc-process .svc-process__step--active .svc-process__title {
    color: #4ade80;
}

.svc-process .svc-process__step--done .svc-process__title {
    color: rgba(255, 255, 255, 0.85);
}

.svc-process .svc-process__desc {
    color: rgba(255, 255, 255, 0.5);
}

.svc-process .svc-process__step--active .svc-process__desc,
.svc-process .svc-process__step--done .svc-process__desc {
    color: rgba(255, 255, 255, 0.62);
}

/* Número en oscuro */
.svc-process .svc-process__step--pending .svc-process__num {
    background: rgba(255, 255, 255, 0.1);
    opacity: 0.52;
    box-shadow: none;
    filter: none;
}

/* Rail en oscuro */
.svc-process .svc-process__rail-track {
    background: rgba(255, 255, 255, 0.1);
}

/* ── CTA: barra animada + orb ── */
.svc-cta-card {
    position: relative;
    overflow: hidden;
    box-shadow:
        0 32px 80px rgba(15, 39, 68, 0.09),
        0 0 0 1px rgba(0, 104, 55, 0.07) inset;
}

/* Barra superior animada */
.svc-cta-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(
        90deg,
        var(--svc-green-dark) 0%,
        #00d67a 35%,
        #00a651 60%,
        var(--svc-green-dark) 100%
    );
    background-size: 250% 100%;
    animation: svc-cta-bar 3.5s linear infinite;
    z-index: 2;
}

@keyframes svc-cta-bar {
    0%   { background-position: 250% 0; }
    100% { background-position: -250% 0; }
}

/* Orb decorativo fondo carta */
.svc-cta-card::after {
    content: '';
    position: absolute;
    bottom: -3.5rem;
    right: -3.5rem;
    width: 14rem;
    height: 14rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 104, 55, 0.07) 0%, transparent 68%);
    pointer-events: none;
    z-index: 0;
}

/* Asegurar que el contenido de la carta quede sobre los pseudo-elementos */
.svc-cta-card > * {
    position: relative;
    z-index: 1;
}

/* ── CTA: fondo de sección más cálido ── */
.svc-cta-final {
    background: linear-gradient(180deg, #f3f7f4 0%, #edf5ef 60%, #f0f8f3 100%);
}

/* ═══════════════════════════════════════════════════════════════════════
   EN DETALLE — card rectangular solo texto
   Orden: Hero → En detalle → Beneficios → Proceso → Galería
   ═══════════════════════════════════════════════════════════════════════ */

.svc-detail-prose {
    background:
        radial-gradient(circle at 8% 18%, rgba(0, 104, 55, 0.08) 0%, transparent 26%),
        linear-gradient(180deg, #f8fbf9 0%, #ffffff 100%);
    border-top: 1px solid var(--svc-border);
    padding-top: clamp(3rem, 7vw, 5rem);
}

.svc-detail-prose__card {
    position: relative;
    overflow: hidden;
    border-radius: clamp(1.25rem, 2.8vw, 1.85rem);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.96) 0%, rgba(246, 250, 248, 0.98) 100%);
    border: 1px solid rgba(0, 104, 55, 0.14);
    box-shadow:
        0 2px 8px rgba(15, 39, 68, 0.05),
        0 22px 58px rgba(0, 104, 55, 0.10);
    padding: clamp(1.7rem, 4vw, 3rem);
}

.svc-detail-prose__card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 0.45rem;
    background: linear-gradient(180deg, var(--svc-green) 0%, var(--svc-green-dark) 100%);
}

.svc-detail-prose__card::after {
    content: "";
    position: absolute;
    right: -8rem;
    top: -8rem;
    width: 20rem;
    height: 20rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 104, 55, 0.08) 0%, transparent 68%);
    pointer-events: none;
}

.svc-detail-prose__head,
.svc-detail-prose__body {
    position: relative;
    z-index: 1;
}

.svc-detail-prose__title {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    letter-spacing: -0.035em;
    color: var(--svc-green-dark);
    margin: 0.35rem 0 1.35rem;
}

.svc-detail-prose__body {
    max-width: 72rem;
    columns: 1;
    font-size: clamp(1rem, 1.2vw, 1.08rem);
    line-height: 1.82;
    color: var(--svc-text-muted);
}

@media (min-width: 992px) {
    .svc-detail-prose__body {
        columns: 2;
        column-gap: clamp(2rem, 4vw, 3.5rem);
    }
}

.svc-detail-prose__body p,
.svc-detail-prose__body li {
    break-inside: avoid;
}

.svc-detail-prose__body p {
    margin: 0 0 1rem;
}

.svc-detail-prose__body h2,
.svc-detail-prose__body h3,
.svc-detail-prose__body h4,
.svc-detail-prose__body strong {
    color: var(--svc-green-dark);
}

.svc-detail-prose__body h2,
.svc-detail-prose__body h3,
.svc-detail-prose__body h4 {
    font-family: var(--font-display);
    margin: 1.15rem 0 0.55rem;
    break-after: avoid;
}

.svc-detail-prose__body a {
    color: var(--svc-green);
    font-weight: 700;
}

/* Este bloque queda reservado para texto: las fotos viven en el carrusel final. */
.svc-detail-prose__body img,
.svc-detail-prose__body picture,
.svc-detail-prose__body figure {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   GALERÍA FINAL — carrusel grande de imágenes
   ═══════════════════════════════════════════════════════════════════════ */

.svc-detail-gallery {
    background:
        linear-gradient(180deg, #ffffff 0%, #f3f8f5 100%);
    border-top: 1px solid var(--svc-border);
}

.svc-detail-gallery__shell {
    position: relative;
    overflow: hidden;
    border-radius: clamp(1.25rem, 2.6vw, 2rem);
    border: 1px solid rgba(0, 104, 55, 0.14);
    background: #061b11;
    box-shadow:
        0 2px 8px rgba(15, 39, 68, 0.08),
        0 28px 70px rgba(0, 40, 22, 0.22);
}

.svc-detail-gallery__carousel,
.svc-detail-gallery__carousel .carousel-inner,
.svc-detail-gallery__carousel .carousel-item {
    height: clamp(22rem, 56vw, 38rem);
}

.svc-detail-gallery__carousel .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.svc-detail-gallery__carousel::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.10) 0%, transparent 28%, rgba(0, 0, 0, 0.18) 100%);
    z-index: 1;
}

.svc-detail-gallery__carousel .carousel-control-prev,
.svc-detail-gallery__carousel .carousel-control-next {
    z-index: 2;
    width: clamp(3.5rem, 8vw, 6.5rem);
    opacity: 0.92;
}

.svc-detail-gallery__carousel .carousel-control-prev-icon,
.svc-detail-gallery__carousel .carousel-control-next-icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    background-size: 52%;
    background-color: rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(8px);
    filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.35));
}

@media (max-width: 767.98px) {
    .svc-detail-gallery__carousel,
    .svc-detail-gallery__carousel .carousel-inner,
    .svc-detail-gallery__carousel .carousel-item {
        height: clamp(16rem, 70vw, 24rem);
    }

    .svc-detail-prose__body {
        columns: 1;
    }
}

/* ═══════════════════════════════════════════════════════════════════════
   PROSE CARD — "En detalle" (mismo lenguaje que benefit cards: verde → hover blanco)
   ═══════════════════════════════════════════════════════════════════════ */

.svc-prose__card {
    position: relative;
    background: linear-gradient(145deg, #007a42 0%, var(--svc-green-dark) 100%);
    border: 1px solid rgba(0, 77, 41, 0.65);
    border-radius: var(--svc-radius-lg);
    box-shadow: 0 14px 40px rgba(0, 40, 22, 0.22);
    padding: clamp(1.75rem, 4.5vw, 3rem) clamp(1.75rem, 4.5vw, 3rem) clamp(1.75rem, 4.5vw, 2.75rem);
    overflow: hidden;
    -webkit-tap-highlight-color: transparent;
    transition:
        border-color 0.28s var(--svc-ease),
        box-shadow 0.28s var(--svc-ease),
        background 0.28s ease,
        transform 0.28s var(--svc-ease);
}

.svc-prose__card::after {
    content: '';
    position: absolute;
    bottom: -5rem;
    right: -5rem;
    width: 22rem;
    height: 22rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 68%);
    pointer-events: none;
    z-index: 0;
    transition: opacity 0.28s ease;
}

/* Eyebrow + título del card (estado base: claro) */
.svc-prose__card > .svc-section__eyebrow {
    position: relative;
    z-index: 1;
    color: rgba(255, 255, 255, 0.88);
}

.svc-prose__card > .svc-section__eyebrow::before {
    background: rgba(255, 255, 255, 0.55);
}

.svc-prose__card-title {
    font-family: "Montserrat", "Inter", sans-serif;
    font-size: clamp(1.15rem, 2.6vw, 1.5rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #fff;
    margin: 0.3rem 0 1.25rem;
    position: relative;
    z-index: 1;
    transition: color 0.28s ease;
}

.svc-prose__card .svc-prose__content,
.svc-prose__card .service-detail-content {
    position: relative;
    z-index: 1;
    transition: color 0.28s ease;
}

@media (hover: hover) and (pointer: fine) {
    .svc-prose__card:hover {
        background: var(--svc-white);
        border-color: var(--svc-border);
        box-shadow:
            0 22px 52px rgba(15, 39, 68, 0.1),
            0 8px 24px rgba(0, 104, 55, 0.08);
        transform: translateY(-5px) scale(1.01);
    }

    .svc-prose__card:hover::after {
        opacity: 0.35;
        background: radial-gradient(circle, rgba(0, 104, 55, 0.06) 0%, transparent 68%);
    }

    .svc-prose__card:hover > .svc-section__eyebrow {
        color: var(--svc-green);
    }

    .svc-prose__card:hover > .svc-section__eyebrow::before {
        background: currentColor;
    }

    .svc-prose__card:hover .svc-prose__card-title {
        color: var(--svc-green-dark);
    }

    .svc-prose__card:hover .svc-prose__content,
    .svc-prose__card:hover .service-detail-content {
        color: var(--svc-text);
    }

    .svc-prose__card:hover .svc-prose__content h2,
    .svc-prose__card:hover .svc-prose__content h3,
    .svc-prose__card:hover .svc-prose__content h4,
    .svc-prose__card:hover .service-detail-content h2,
    .svc-prose__card:hover .service-detail-content h3,
    .svc-prose__card:hover .service-detail-content h4 {
        color: var(--svc-green-dark);
    }

    .svc-prose__card:hover .svc-prose__content a,
    .svc-prose__card:hover .service-detail-content a {
        color: var(--svc-green);
    }

    .svc-prose__card:hover .svc-prose__content a:hover,
    .svc-prose__card:hover .service-detail-content a:hover {
        color: var(--svc-green-dark);
    }
}

.svc-prose__card:active {
    background: var(--svc-white);
    border-color: var(--svc-border);
    box-shadow: 0 8px 28px rgba(15, 39, 68, 0.08);
    transform: translateY(-2px) scale(0.995);
}

.svc-prose__card:active > .svc-section__eyebrow {
    color: var(--svc-green);
}

.svc-prose__card:active > .svc-section__eyebrow::before {
    background: currentColor;
}

.svc-prose__card:active .svc-prose__card-title {
    color: var(--svc-green-dark);
}

.svc-prose__card:active .svc-prose__content,
.svc-prose__card:active .service-detail-content {
    color: var(--svc-text);
}

.svc-prose__card:active .svc-prose__content h2,
.svc-prose__card:active .svc-prose__content h3,
.svc-prose__card:active .svc-prose__content h4,
.svc-prose__card:active .service-detail-content h2,
.svc-prose__card:active .service-detail-content h3,
.svc-prose__card:active .service-detail-content h4 {
    color: var(--svc-green-dark);
}

.svc-prose__card:active .svc-prose__content a,
.svc-prose__card:active .service-detail-content a {
    color: var(--svc-green);
}

.svc-prose__narrow-wrap {
    max-width: min(720px, 96vw);
    margin-inline: auto;
}

/* ═══════════════════════════════════════════════════════════════════════
   MOBILE — ajustes globales ≤ 768 px
   ═══════════════════════════════════════════════════════════════════════ */

@media (max-width: 767.98px) {

    /* Process: diagonal de clip-path más corta en pantallas pequeñas */
    .svc-process {
        clip-path: polygon(0 2rem, 100% 0, 100% calc(100% - 2rem), 0 100%);
        padding-top:    calc(clamp(2rem, 5vw, 3.5rem) + 3rem);
        padding-bottom: calc(clamp(2rem, 5vw, 3.5rem) + 3rem);
        margin-top:    -1.75rem;
        margin-bottom: -1.75rem;
    }

    /* Benefit cards: watermark más compacto */
    .svc-benefit-card::before {
        font-size: 5rem;
        bottom: -0.5rem;
        right:  0.5rem;
    }

    /* Prose card: más compacto */
    .svc-prose__card {
        padding: 1.5rem 1.25rem;
    }

    /* CTA form: mayor espacio en el contenedor estrecho */
    .svc-cta-card {
        padding: 1.75rem 1.25rem;
    }

    /* Eyebrow: ligeramente más pequeño */
    .svc-section__eyebrow {
        font-size: 0.55rem;
    }

    /* Hero detalle: casi pantalla completa en móvil (más aire para título, lead y badges) */
    .svc-hero {
        min-height: calc(100svh - var(--nav-bar-stack, 5.75rem));
    }

    .svc-hero__frame {
        min-height: calc(100svh - var(--nav-bar-stack, 5.75rem));
    }

    .svc-hero__spacer {
        flex: 1 1 auto;
        min-height: clamp(5rem, 22vh, 11rem);
    }

    .svc-hero__bottom {
        padding-bottom: max(2rem, calc(1.75rem + env(safe-area-inset-bottom, 0px)));
    }

    .svc-hero-scroll-wrap {
        padding: 0.65rem 1rem max(0.85rem, calc(0.5rem + env(safe-area-inset-bottom, 0px)));
    }

    .svc-hero__media img {
        object-position: center 32%;
    }

    .svc-hero__title {
        font-size: clamp(1.5rem, 7vw, 2.35rem);
        margin-bottom: 0.65rem;
    }

    .svc-hero__lead {
        font-size: 0.9375rem;
        line-height: 1.55;
        margin-bottom: 1rem;
    }

    .svc-hero__badges {
        gap: 0.4rem 0.55rem;
    }

    .svc-hero__badge {
        font-size: 0.6875rem;
        padding: 0.35rem 0.7rem;
    }
}

@supports (-webkit-touch-callout: none) {
    @media (max-width: 767.98px) {
        .svc-hero,
        .svc-hero__frame {
            min-height: 100svh;
        }
    }
}
