/*
 * Babajaga V2 - capitolo editoriale Servizi.
 * Il componente possiede il proprio contratto percettivo, la composizione e
 * il fallback progressivo. Consuma soltanto primitive e ruoli condivisi da
 * fondazioni.css.
 */

:where(body.pagina-home-v2, [data-babajaga-tema="v2"]) {
    --colore-superficie-servizi: var(--colore-carta-luminosa);
    --colore-inchiostro-servizi: var(--colore-nero-profondo);
    --colore-titolo-servizi-inverso: var(--colore-carta-fredda);
    --colore-transizione-servizi: var(--colore-magenta-segnale);
    --colore-haze-servizi: color-mix(
        in srgb,
        var(--colore-transizione-servizi) 54%,
        transparent
    );
    --colore-copy-servizi: color-mix(
        in srgb,
        var(--colore-inchiostro-servizi) 72%,
        transparent
    );
    --colore-linea-servizi: color-mix(
        in srgb,
        var(--colore-inchiostro-servizi) 20%,
        transparent
    );
    --colore-media-principale-servizi: var(--colore-grafite);
    --colore-media-secondario-servizi: color-mix(
        in srgb,
        var(--colore-supporto-immagine) 82%,
        var(--colore-superficie-servizi)
    );

    --dimensione-titolo-servizi: var(--dimensione-titolo-lavori);
    --allungamento-titolo-servizi: var(--allungamento-titolo-lavori);
    --asse-larghezza-titolo-servizi: var(--asse-larghezza-titolo-lavori);
    --peso-titolo-servizi: var(--peso-titolo-lavori);
    --interlinea-titolo-servizi: var(--interlinea-titolo-lavori);
    --tracciamento-titolo-servizi: var(--tracciamento-display);
    --rientro-titolo-servizi-inizio: var(--rientro-titolo-lavori-inizio);
    --rientro-titolo-servizi-fine: var(--rientro-titolo-lavori-fine);
    --correzione-ottica-titolo-servizi-x: 0px;
    --dimensione-riga-servizi: clamp(1.85rem, 9.5vw, 3rem);
    --allungamento-riga-servizi: var(--allungamento-editoriale);
    --asse-larghezza-riga-servizi: var(--asse-larghezza-editoriale);
    --peso-riga-servizi: 520;
    --interlinea-riga-servizi: 0.92;
    --tracciamento-riga-servizi: var(--tracciamento-editoriale);
    --tracciamento-meta-servizi: 0.04em;
    --misura-copy-servizi: 43ch;
    --dimensione-profilo-servizi: clamp(1.55rem, 7vw, 2.6rem);
    --interlinea-profilo-servizi: 1.02;
    --misura-profilo-servizi: 24ch;

    --altezza-soglia-servizi: clamp(15rem, 40svh, 18rem);
    --posizione-y-titolo-servizi: 50%;
    --spazio-composizione-servizi: var(--spazio-5);
    --spazio-profilo-servizi: clamp(3rem, 9vw, 5rem);
    --spazio-lista-servizi: clamp(4rem, 12vw, 7rem);
    --spazio-riga-servizi: clamp(1.5rem, 2.5vw, 2.5rem);
    --spazio-didascalia-servizi: var(--spazio-2);
    --larghezza-preview-servizio: min(calc(var(--passo-griglia) * 2), 20rem);
    --rapporto-preview-servizio: 16 / 9;
    --colore-placeholder-preview-servizio: color-mix(
        in srgb,
        var(--colore-inchiostro-servizi) 14%,
        var(--colore-superficie-servizi)
    );
    --durata-preview-servizio: 280ms;
    --easing-preview-servizio: cubic-bezier(0.16, 1, 0.3, 1);
    --rapporto-media-principale-servizi: 4 / 5;
    --rapporto-media-sinistro-servizi: 4 / 5;
    --rapporto-media-destro-servizi: 1 / 1;
    --posizione-media-principale-servizi: 50% 40%;
    --posizione-media-sinistro-servizi: 50% 48%;
    --posizione-media-destro-servizi: 50% 44%;
    --larghezza-media-principale-mobile: 100%;
    --larghezza-media-sinistro-mobile: 43%;
    --larghezza-media-destro-mobile: 38%;
    --stop-solido-haze-servizi: 78%;
    --stop-morbido-haze-servizi: 93%;
    --spessore-edge-servizi: 2.6;
    --opacita-edge-servizi: 0.72;

    --motion-servizi-clip-iniziale: polygon(
        0% 0%, 100% 0%, 100% 88%, 82% 82%,
        63% 91%, 41% 84%, 19% 92%, 0% 86%
    );
    --motion-servizi-clip-intermedio: polygon(
        0% 0%, 100% 0%, 100% 54%, 82% 49%,
        63% 58%, 41% 50%, 19% 60%, 0% 53%
    );
    --motion-servizi-clip-finale: polygon(
        0% 0%, 100% 0%, 100% 15%, 82% 12%,
        63% 18%, 41% 13%, 19% 20%, 0% 15%
    );
    --motion-servizi-haze-clip-iniziale: polygon(
        0% 0%, 100% 0%, 100% 94%, 82% 88%,
        63% 97%, 41% 90%, 19% 98%, 0% 92%
    );
    --motion-servizi-haze-clip-finale: polygon(
        0% 0%, 100% 0%, 100% 21%, 82% 18%,
        63% 24%, 41% 19%, 19% 26%, 0% 21%
    );
    --motion-servizi-clip-uscita: polygon(
        0% 0%, 100% 0%, 100% 0%, 82% 0%,
        63% 0%, 41% 0%, 19% 0%, 0% 0%
    );
    --motion-servizi-start: top 92%;
    --motion-servizi-end: bottom 72%;
    --motion-servizi-end-mobile: top 52%;
    --motion-servizi-fase-media: 0.52;
    --motion-servizi-fase-finale: 0.82;
    --motion-servizi-uscita-durata: 0.18;
    --motion-servizi-foto-start: top 86%;
    --motion-servizi-foto-end: center 52%;
    --motion-servizi-foto-scrub: 0.46;
    --motion-servizi-foto-primary-y: 18;
    --motion-servizi-foto-left-x: -15;
    --motion-servizi-foto-left-y: 10;
    --motion-servizi-foto-right-x: 17;
    --motion-servizi-foto-right-y: -8;
    --motion-servizi-foto-scala: 1.035;
    --motion-servizi-foto-primary-clip-iniziale: inset(16% 0 0 0);
    --motion-servizi-foto-primary-clip-finale: inset(0% 0 0 0);
    --motion-servizi-foto-left-clip-iniziale: inset(0 100% 0 0);
    --motion-servizi-foto-left-clip-finale: inset(0 0% 0 0);
    --motion-servizi-foto-right-clip-iniziale: inset(0 0 0 100%);
    --motion-servizi-foto-right-clip-finale: inset(0 0 0 0%);
    --motion-servizi-foto-primary-inizio: 0;
    --motion-servizi-foto-primary-durata: 0.86;
    --motion-servizi-foto-secondary-inizio: 0.14;
    --motion-servizi-foto-secondary-durata: 0.86;
    --motion-servizi-riga-start: top 88%;
    --motion-servizi-riga-linea-durata: 0.32;
    --motion-servizi-riga-titolo-inizio: 0.05;
    --motion-servizi-riga-titolo-durata: 0.5;
    --motion-servizi-riga-copy-inizio: 0.12;
    --motion-servizi-riga-copy-durata: 0.42;
    --motion-servizi-riga-titolo-y: 28;
    --motion-servizi-riga-copy-y: 10;
    --motion-servizi-curva-riga: power3.out;
    --motion-servizi-mobile-uscita-y: -104;
}

body.pagina-home-v2 .services-editorial {
    position: relative;
    overflow: clip;
    background: var(--colore-superficie-servizi);
    color: var(--colore-inchiostro-servizi);
}

body.pagina-home-v2 .services-editorial__threshold {
    position: relative;
    isolation: isolate;
    min-block-size: var(--altezza-soglia-servizi);
    overflow: clip;
}

body.pagina-home-v2 .services-editorial__title-shell {
    position: absolute;
    z-index: 1;
    inset-block-start: var(--posizione-y-titolo-servizi);
    inset-inline: 0;
}

body.pagina-home-v2 .services-editorial__title {
    --titolo-display-scala-fallback: var(--dimensione-titolo-servizi);
    --titolo-display-allungamento: var(--allungamento-titolo-servizi);
    --titolo-display-asse-larghezza: var(--asse-larghezza-titolo-servizi);
    --titolo-display-peso: var(--peso-titolo-servizi);
    --titolo-display-interlinea: var(--interlinea-titolo-servizi);
    --titolo-display-tracciamento: var(--tracciamento-titolo-servizi);
    --titolo-display-rientro-inizio: var(--rientro-titolo-servizi-inizio);
    --titolo-display-rientro-fine: var(--rientro-titolo-servizi-fine);
    --titolo-display-correzione-ottica-x: var(--correzione-ottica-titolo-servizi-x);

    position: relative;
    margin: 0;
    color: var(--colore-inchiostro-servizi);
    text-transform: uppercase;
}

body.pagina-home-v2 .services-editorial__title--inverse {
    display: block;
    color: var(--colore-titolo-servizi-inverso);
}

body.pagina-home-v2 .services-editorial__curtain {
    position: absolute;
    inset: 0;
    opacity: 0;
    clip-path: var(--motion-servizi-clip-uscita);
    pointer-events: none;
}

body.pagina-home-v2 .services-editorial__curtain--haze {
    z-index: 2;
    background: linear-gradient(
        to bottom,
        var(--colore-transizione-servizi) 0%,
        var(--colore-transizione-servizi) var(--stop-solido-haze-servizi),
        var(--colore-haze-servizi) var(--stop-morbido-haze-servizi),
        transparent 100%
    );
}

body.pagina-home-v2 .services-editorial__curtain--solid {
    z-index: 3;
    overflow: hidden;
    background: var(--colore-transizione-servizi);
}

body.pagina-home-v2 .services-editorial__edge {
    position: absolute;
    z-index: 4;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    overflow: visible;
    pointer-events: none;
}

body.pagina-home-v2 .services-editorial__edge path {
    fill: none;
    stroke: var(--colore-transizione-servizi);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: var(--spessore-edge-servizi);
    opacity: 0;
    filter: url(#services-editorial-edge-softness);
    vector-effect: non-scaling-stroke;
}

body.pagina-home-v2 .services-editorial__composition {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: repeat(var(--colonne-griglia), minmax(0, 1fr));
    align-items: start;
    padding-block: var(--spazio-composizione-servizi) 0;
}

body.pagina-home-v2 .services-editorial__photo {
    min-inline-size: 0;
    margin: 0;
}

body.pagina-home-v2 .services-editorial__photo--primary {
    grid-column: 1 / -1;
    z-index: 2;
    inline-size: var(--larghezza-media-principale-mobile);
    justify-self: center;
}

body.pagina-home-v2 .services-editorial__photo--secondary {
    display: none;
    position: absolute;
    z-index: 1;
}

body.pagina-home-v2 .services-editorial__photo--left {
    inset-block-start: 19%;
    inset-inline-start: -7%;
    inline-size: var(--larghezza-media-sinistro-mobile);
}

body.pagina-home-v2 .services-editorial__photo--right {
    inset-block-start: 34%;
    inset-inline-end: -6%;
    inline-size: var(--larghezza-media-destro-mobile);
}

body.pagina-home-v2 .services-editorial__photo-field {
    position: relative;
    display: block;
    inline-size: 100%;
    overflow: hidden;
    background: var(--colore-media-secondario-servizi);
}

body.pagina-home-v2 .services-editorial__photo--primary .services-editorial__photo-field {
    aspect-ratio: var(--rapporto-media-principale-servizi);
    background: var(--colore-media-principale-servizi);
}

body.pagina-home-v2 .services-editorial__photo--left .services-editorial__photo-field {
    aspect-ratio: var(--rapporto-media-sinistro-servizi);
}

body.pagina-home-v2 .services-editorial__photo--right .services-editorial__photo-field {
    aspect-ratio: var(--rapporto-media-destro-servizi);
}

body.pagina-home-v2 .services-editorial__image {
    display: block;
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

body.pagina-home-v2 .services-editorial__photo--primary .services-editorial__image {
    object-position: var(--posizione-media-principale-servizi);
}

body.pagina-home-v2 .services-editorial__photo--left .services-editorial__image {
    object-position: var(--posizione-media-sinistro-servizi);
}

body.pagina-home-v2 .services-editorial__photo--right .services-editorial__image {
    object-position: var(--posizione-media-destro-servizi);
}

body.pagina-home-v2 .services-editorial__photo figcaption {
    margin-block-start: var(--spazio-didascalia-servizi);
    color: var(--colore-copy-servizi);
    font-size: var(--testo-minimo);
    font-weight: var(--peso-medio);
    letter-spacing: var(--tracciamento-meta-servizi);
    text-transform: uppercase;
}

body.pagina-home-v2 .services-editorial__profile {
    padding-block-start: var(--spazio-profilo-servizi);
}

body.pagina-home-v2 .services-editorial__profile-lead,
body.pagina-home-v2 .services-editorial__profile-signature,
body.pagina-home-v2 .services-editorial__profile-copy p {
    margin: 0;
}

body.pagina-home-v2 .services-editorial__profile-lead {
    grid-column: 1 / -1;
    max-inline-size: var(--misura-profilo-servizi);
    font-family: var(--famiglia-display);
    font-size: var(--dimensione-profilo-servizi);
    font-stretch: var(--allungamento-editoriale);
    font-variation-settings:
        "wdth" var(--asse-larghezza-editoriale),
        "wght" 520;
    font-weight: 520;
    line-height: var(--interlinea-profilo-servizi);
    letter-spacing: var(--tracciamento-editoriale);
    text-wrap: balance;
}

body.pagina-home-v2 .services-editorial__profile-signature {
    display: grid;
    gap: var(--spazio-1);
    color: var(--colore-copy-servizi);
    font-size: var(--testo-minimo);
    line-height: var(--interlinea-corpo);
    text-transform: uppercase;
}

body.pagina-home-v2 .services-editorial__profile-signature strong {
    color: var(--colore-inchiostro-servizi);
    font-weight: var(--peso-medio);
}

body.pagina-home-v2 .services-editorial__profile-details {
    grid-column: 1 / -1;
    display: grid;
    gap: var(--spazio-5);
    margin-block-start: var(--spazio-6);
}

body.pagina-home-v2 .services-editorial__profile-copy {
    display: grid;
    gap: var(--spazio-4);
    max-inline-size: 60ch;
    color: var(--colore-copy-servizi);
    font-size: var(--testo-piccolo);
    line-height: var(--interlinea-corpo);
}

body.pagina-home-v2 .services-editorial__index {
    padding-block: var(--spazio-lista-servizi) var(--spazio-capitolo);
}

body.pagina-home-v2 .services-editorial__row {
    --motion-servizi-riga-progress: 1;

    position: relative;
    display: grid;
    grid-template-columns: repeat(var(--colonne-griglia), minmax(0, 1fr));
    gap: var(--spazio-4) 0;
    padding-block: var(--spazio-riga-servizi);
}

body.pagina-home-v2 .services-editorial__row:last-child {
    border-block-end: var(--spessore-linea) solid var(--colore-linea-servizi);
}

body.pagina-home-v2 .services-editorial__row-preview {
    display: none;
    margin: 0;
}

body.pagina-home-v2 .services-editorial__row-rule {
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    block-size: var(--spessore-linea);
    background: var(--colore-linea-servizi);
    pointer-events: none;
    transform: scaleX(var(--motion-servizi-riga-progress));
    transform-origin: left center;
}

body.pagina-home-v2 .services-editorial__row h3,
body.pagina-home-v2 .services-editorial__row p {
    margin: 0;
}

body.pagina-home-v2 .services-editorial__row h3 {
    grid-column: 1 / -1;
    font-family: var(--famiglia-display);
    font-size: var(--dimensione-riga-servizi);
    font-stretch: var(--allungamento-riga-servizi);
    font-variation-settings:
        "wdth" var(--asse-larghezza-riga-servizi),
        "wght" var(--peso-riga-servizi);
    font-weight: var(--peso-riga-servizi);
    line-height: var(--interlinea-riga-servizi);
    letter-spacing: var(--tracciamento-riga-servizi);
    text-wrap: balance;
}

body.pagina-home-v2 .services-editorial__row p {
    grid-column: 1 / -1;
    max-inline-size: var(--misura-copy-servizi);
    color: var(--colore-copy-servizi);
    font-size: var(--testo-piccolo);
    line-height: var(--interlinea-corpo);
}

body.pagina-home-v2 .services-editorial[data-services-threshold-rendering="active"]
    .services-editorial__curtain {
    will-change: clip-path, opacity;
}

body.pagina-home-v2 .services-editorial[data-services-photos-rendering="active"]
    .services-editorial__photo {
    will-change: transform, clip-path;
}

body.pagina-home-v2 .services-editorial[data-services-motion="reduced"]
    .services-editorial__curtain,
body.pagina-home-v2 .services-editorial[data-services-motion="reduced"]
    .services-editorial__edge {
    display: none;
}

@media (min-width: 48rem) {
    :where(body.pagina-home-v2, [data-babajaga-tema="v2"]) {
        --altezza-soglia-servizi: clamp(31rem, 72svh, 46rem);
        --posizione-y-titolo-servizi: 50%;
        --spazio-composizione-servizi: clamp(3rem, 5vw, 5.5rem);
        --spazio-profilo-servizi: clamp(5rem, 8vw, 8rem);
        --spazio-lista-servizi: clamp(6rem, 10vw, 10rem);
        --dimensione-riga-servizi: clamp(2rem, 4.6vw, 5.5rem);
        --dimensione-profilo-servizi: clamp(2rem, 4vw, 4rem);
        --motion-servizi-start: top 92%;
        --motion-servizi-end: bottom 72%;
        --motion-servizi-scrub: 0.18;
        --motion-servizi-foto-start: top 84%;
        --motion-servizi-foto-end: center 52%;
    }

    body.pagina-home-v2 .services-editorial__photo--secondary {
        position: relative;
        display: block;
        inset: auto;
        inline-size: auto;
        grid-row: 1;
    }

    body.pagina-home-v2 .services-editorial__photo--left {
        grid-column: 1 / span 2;
        margin-block-start: clamp(6rem, 11vw, 9rem);
    }

    body.pagina-home-v2 .services-editorial__photo--primary {
        grid-column: 2 / span 4;
        grid-row: 1;
        inline-size: 100%;
    }

    body.pagina-home-v2 .services-editorial__photo--right {
        grid-column: 5 / span 2;
        inline-size: 100%;
        margin-block-start: clamp(2rem, 4vw, 4rem);
        justify-self: end;
    }

    body.pagina-home-v2 .services-editorial__profile-lead {
        grid-column: 1 / span 3;
    }

    body.pagina-home-v2 .services-editorial__profile-details {
        grid-column: 4 / -1;
        align-self: start;
        margin-block-start: 0;
    }

    body.pagina-home-v2 .services-editorial__row {
        align-items: start;
    }

    body.pagina-home-v2 .services-editorial__row h3 {
        grid-column: 1 / span 4;
    }

    body.pagina-home-v2 .services-editorial__row p {
        grid-column: 5 / -1;
        justify-self: end;
    }
}

@media (min-width: 64rem) {
    :where(body.pagina-home-v2, [data-babajaga-tema="v2"]) {
        --spazio-riga-servizi: clamp(2rem, 3.1vw, 3.5rem);
    }

    body.pagina-home-v2 .services-editorial__photo--left {
        grid-column: 1 / span 3;
        margin-block-start: clamp(6rem, 9vw, 10rem);
    }

    body.pagina-home-v2 .services-editorial__photo--primary {
        grid-column: 4 / span 5;
    }

    body.pagina-home-v2 .services-editorial__photo--right {
        grid-column: 9 / -1;
        margin-block-start: clamp(2rem, 3vw, 3rem);
    }

    body.pagina-home-v2 .services-editorial__profile-lead {
        grid-column: 4 / span 5;
    }

    body.pagina-home-v2 .services-editorial__profile-details {
        grid-column: 9 / -1;
    }

    body.pagina-home-v2 .services-editorial__row h3 {
        grid-column: 4 / span 5;
    }

    body.pagina-home-v2 .services-editorial__row p {
        grid-column: 9 / -1;
    }
}

@media (min-width: 64rem) and (hover: hover) and (pointer: fine) {
    body.pagina-home-v2 .services-editorial__row {
        z-index: 0;
    }

    body.pagina-home-v2 .services-editorial__row:hover {
        z-index: 2;
    }

    body.pagina-home-v2 .services-editorial__row-preview {
        position: absolute;
        z-index: 2;
        inset-block-start: 50%;
        inset-inline-start: var(--passo-griglia);
        display: block;
        inline-size: var(--larghezza-preview-servizio);
        aspect-ratio: var(--rapporto-preview-servizio);
        pointer-events: none;
        opacity: 0;
        transform: translate3d(-50%, calc(-50% + var(--spazio-3)), 0);
        transform-origin: center;
        transition:
            opacity 140ms ease-out,
            transform var(--durata-preview-servizio) var(--easing-preview-servizio);
    }

    body.pagina-home-v2 .services-editorial__row-preview-field {
        display: block;
        inline-size: 100%;
        block-size: 100%;
        overflow: hidden;
        background-color: var(--colore-placeholder-preview-servizio);
        background-image: var(--services-preview-image, none);
        background-position: center;
        background-size: cover;
    }

    body.pagina-home-v2 .services-editorial__row h3,
    body.pagina-home-v2 .services-editorial__row p {
        position: relative;
        z-index: 3;
    }

    body.pagina-home-v2 .services-editorial__row h3 {
        transition: color 180ms ease-out;
    }

    body.pagina-home-v2 .services-editorial__row-rule {
        transition: background-color 180ms ease-out;
    }

    body.pagina-home-v2 .services-editorial__row:hover .services-editorial__row-preview {
        opacity: 1;
        transform: translate3d(-50%, -50%, 0);
    }

    body.pagina-home-v2 .services-editorial__row:hover h3 {
        color: var(--colore-transizione-servizi);
    }
}

@media (max-width: 47.999rem) {
    body.pagina-home-v2 .services-editorial[data-services-threshold-rendering="active"]
        .services-editorial__curtain,
    body.pagina-home-v2 .services-editorial[data-services-threshold-rendering="active"]
        .services-editorial__edge,
    body.pagina-home-v2 .services-editorial[data-services-threshold-rendering="active"]
        .services-editorial__curtain--solid .services-editorial__title-shell {
        will-change: transform;
    }

    body.pagina-home-v2 .services-editorial[data-services-photos-rendering="active"]
        .services-editorial__photo {
        will-change: transform, opacity;
    }

    body.pagina-home-v2 .services-editorial__photo--primary {
        grid-column: 1 / -1;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.pagina-home-v2 .services-editorial[data-services-threshold-rendering="active"]
        .services-editorial__curtain,
    body.pagina-home-v2 .services-editorial[data-services-threshold-rendering="active"]
        .services-editorial__title,
    body.pagina-home-v2 .services-editorial[data-services-photos-rendering="active"]
        .services-editorial__photo {
        will-change: auto;
    }
}

@media (min-width: 64rem) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: reduce) {
    body.pagina-home-v2 .services-editorial__row-preview {
        transform: translate3d(-50%, -50%, 0);
        transition: opacity 1ms linear;
    }

    body.pagina-home-v2 .services-editorial__row:hover .services-editorial__row-preview {
        transform: translate3d(-50%, -50%, 0);
    }

    body.pagina-home-v2 .services-editorial__row h3,
    body.pagina-home-v2 .services-editorial__row-rule {
        transition-duration: 1ms;
    }
}
