/*
 * Babajaga V2 - Final Contact.
 *
 * La chiusura richiama il campo a onde della Hero come ritorno all'origine:
 * un solo gesto atmosferico, una domanda editoriale e contatti diretti.
 */

:where(body.pagina-home-v2, [data-babajaga-tema="v2"]) {
    --colore-contatto-superficie: var(--colore-nero-profondo);
    --colore-contatto-carta: var(--colore-carta-fredda);
    --colore-contatto-testo: var(--colore-bianco-assoluto);
    --colore-contatto-secondario: color-mix(
        in srgb,
        var(--colore-contatto-testo) 72%,
        transparent
    );
    --colore-contatto-linea: color-mix(
        in srgb,
        var(--colore-contatto-testo) 18%,
        transparent
    );
    --colore-contatto-webgl-inchiostro-rgb: 5 5 7;
    --colore-contatto-webgl-carta-rgb: 241 240 236;
    --colore-contatto-webgl-blu-rgb: 60 102 255;
    --colore-contatto-webgl-viola-rgb: 114 87 255;
    --colore-contatto-webgl-magenta-rgb: 255 43 156;

    --altezza-palco-contatto: clamp(42rem, 86vh, 56rem);
    --spazio-superiore-contatto: clamp(4rem, 8vw, 7rem);
    --spazio-inferiore-contatto: clamp(4.5rem, 8vw, 7rem);
    --dimensione-domanda-contatto: clamp(3.5rem, 10.4vw, 6rem);
    --allungamento-domanda-contatto: 78%;
    --asse-larghezza-domanda-contatto: 78;
    --peso-domanda-contatto: 760;
    --interlinea-domanda-contatto: 0.84;
    --tracciamento-domanda-contatto: -0.04em;
    --contatto-webgl-fps-mobile: 28;
    --contatto-webgl-fps-desktop: 40;
    --contatto-webgl-dpr-massimo: 1.35;
    --contatto-webgl-scala-mobile: 0.78;
    --contatto-webgl-scala-desktop: 1;
    --contatto-webgl-budget-mobile: 720000;
    --contatto-webgl-budget-desktop: 1800000;
    --contatto-motion-start-mobile: top 62%;
    --contatto-motion-start-desktop: top 56%;
    --contatto-motion-onda-start: top bottom;
    --contatto-motion-onda-end-mobile: top 30%;
    --contatto-motion-onda-end-desktop: top 24%;
    --contatto-motion-scrub-mobile: 0.42;
    --contatto-motion-scrub-desktop: 0.68;
}

@supports (height: 1svh) {
    :where(body.pagina-home-v2, [data-babajaga-tema="v2"]) {
        --altezza-palco-contatto: clamp(42rem, 86svh, 56rem);
    }
}

body.pagina-home-v2 .final-contact-v2 {
    position: relative;
    z-index: 90;
    isolation: isolate;
    overflow: clip;
    background: var(--colore-contatto-carta);
    color: var(--colore-contatto-testo);
}

body.pagina-home-v2 .final-contact-v2__stage {
    position: relative;
    min-block-size: var(--altezza-palco-contatto);
    overflow: clip;
    background: var(--colore-contatto-superficie);
}

body.pagina-home-v2 .final-contact-v2__fallback,
body.pagina-home-v2 .final-contact-v2__canvas {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    pointer-events: none;
}

body.pagina-home-v2 .final-contact-v2__fallback {
    background:
        radial-gradient(
            96% 18% at 18% 105%,
            var(--colore-contatto-carta) 0 56%,
            transparent 58%
        ),
        radial-gradient(
            112% 34% at 72% 111%,
            var(--colore-blu-segnale) 0 53%,
            transparent 55%
        ),
        radial-gradient(
            118% 48% at 24% 116%,
            var(--colore-viola-elettrico) 0 55%,
            transparent 57%
        ),
        radial-gradient(
            122% 60% at 72% 121%,
            var(--colore-magenta-segnale) 0 55%,
            transparent 57%
        );
    opacity: 1;
    transition: opacity var(--durata-base) var(--curva-uscita);
}

body.pagina-home-v2 .final-contact-v2__canvas {
    opacity: 0;
    transition: opacity var(--durata-base) var(--curva-uscita);
}

body.pagina-home-v2 .final-contact-v2.is-canvas-ready .final-contact-v2__canvas {
    opacity: 1;
}

body.pagina-home-v2 .final-contact-v2.is-canvas-ready .final-contact-v2__fallback {
    opacity: 0;
}

body.pagina-home-v2 .final-contact-v2__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-block-size: var(--altezza-palco-contatto);
    padding-block: var(--spazio-superiore-contatto) var(--spazio-inferiore-contatto);
}

body.pagina-home-v2 .final-contact-v2__question {
    display: flex;
    flex-direction: column;
    inline-size: 100%;
    max-inline-size: none;
    margin: 0;
    color: var(--colore-contatto-testo);
    font-family: var(--famiglia-display);
    font-size: var(--dimensione-domanda-contatto);
    font-stretch: var(--allungamento-domanda-contatto);
    font-variation-settings:
        "wdth" var(--asse-larghezza-domanda-contatto),
        "wght" var(--peso-domanda-contatto);
    font-weight: var(--peso-domanda-contatto);
    line-height: var(--interlinea-domanda-contatto);
    letter-spacing: var(--tracciamento-domanda-contatto);
    text-transform: uppercase;
    text-wrap: balance;
}

body.pagina-home-v2 .final-contact-v2__question-line {
    display: block;
    inline-size: max-content;
    max-inline-size: 100%;
    overflow: hidden;
    padding-block: 0.035em;
}

body.pagina-home-v2 .final-contact-v2__question-line + .final-contact-v2__question-line {
    align-self: flex-end;
}

body.pagina-home-v2 .final-contact-v2__question-line > span {
    display: block;
}

body.pagina-home-v2 .final-contact-v2__channels {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 0.9fr) minmax(0, 0.72fr);
    border-block-start: var(--spessore-linea) solid var(--colore-contatto-linea);
}

body.pagina-home-v2 .final-contact-v2__channel {
    position: relative;
    display: grid;
    align-content: center;
    min-block-size: 5.75rem;
    padding-block: var(--spazio-4);
    padding-inline-end: var(--spazio-4);
    color: inherit;
    text-decoration: none;
    overflow: hidden;
}

body.pagina-home-v2 .final-contact-v2__channel + .final-contact-v2__channel {
    border-inline-start: var(--spessore-linea) solid var(--colore-contatto-linea);
    padding-inline-start: var(--spazio-4);
}

body.pagina-home-v2 .final-contact-v2__channel strong,
body.pagina-home-v2 .final-contact-v2__channel span {
    position: relative;
    z-index: 1;
    overflow-wrap: anywhere;
}

body.pagina-home-v2 .final-contact-v2__channel strong {
    color: var(--colore-contatto-testo);
    font-size: clamp(1rem, 1.5vw, 1.3rem);
    font-weight: var(--peso-medio);
    letter-spacing: -0.02em;
    line-height: 1.2;
}

body.pagina-home-v2 .final-contact-v2__channel:first-child strong {
    font-size: clamp(1rem, 1.8vw, 1.45rem);
}

body.pagina-home-v2 .final-contact-v2__channel span {
    margin-block-start: var(--spazio-2);
    color: var(--colore-contatto-secondario);
    font-size: var(--testo-minimo);
    font-weight: var(--peso-medio);
    letter-spacing: 0.055em;
    line-height: 1.35;
    text-transform: uppercase;
}

body.pagina-home-v2 .final-contact-v2__channel--link::after {
    position: absolute;
    inset-inline: 0;
    inset-block-end: 0;
    block-size: var(--spessore-linea);
    background: var(--colore-magenta-segnale);
    content: "";
    transform: scaleX(0);
    transform-origin: 0 50%;
    transition: transform 360ms var(--curva-uscita);
}

body.pagina-home-v2 .final-contact-v2__channel--link strong {
    transition: transform 360ms var(--curva-uscita);
}

body.pagina-home-v2 .final-contact-v2__channel--link:hover::after,
body.pagina-home-v2 .final-contact-v2__channel--link:focus-visible::after {
    transform: scaleX(1);
}

body.pagina-home-v2 .final-contact-v2__channel--link:hover strong,
body.pagina-home-v2 .final-contact-v2__channel--link:focus-visible strong {
    transform: translateX(0.35rem);
}

body.pagina-home-v2 .final-contact-v2__channel--link:focus-visible {
    outline: 2px solid var(--colore-bianco-assoluto);
    outline-offset: -2px;
}

body.pagina-home-v2 .final-contact-v2__channel--pending strong {
    color: var(--colore-contatto-secondario);
}

body.pagina-home-v2 #footer.ct-footer {
    position: relative;
    z-index: 90;
}

body.pagina-home-v2 .final-contact-v2[data-final-contact-motion="active"]
    [data-final-contact-title-line] {
    will-change: transform;
}

body.pagina-home-v2 .final-contact-v2[data-final-contact-motion="active"]
    [data-final-contact-channel] {
    will-change: transform, opacity;
}

@media (max-width: 47.999rem) {
    :where(body.pagina-home-v2, [data-babajaga-tema="v2"]) {
        --altezza-palco-contatto: clamp(38rem, 82vh, 44rem);
        --spazio-superiore-contatto: clamp(3.5rem, 14vw, 5rem);
        --spazio-inferiore-contatto: clamp(2.5rem, 10vw, 4rem);
        --dimensione-domanda-contatto: clamp(3.2rem, 16.5vw, 4.5rem);
    }

    body.pagina-home-v2 .final-contact-v2__question {
        max-inline-size: none;
    }

    body.pagina-home-v2 .final-contact-v2__question-line + .final-contact-v2__question-line {
        align-self: flex-start;
        margin-inline-start: clamp(0.75rem, 8vw, 2.25rem);
    }

    body.pagina-home-v2 .final-contact-v2__channels {
        grid-template-columns: 1fr;
    }

    body.pagina-home-v2 .final-contact-v2__channel {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        min-block-size: 3.8rem;
        padding: var(--spazio-3) 0;
        border-block-end: var(--spessore-linea) solid var(--colore-contatto-linea);
    }

    body.pagina-home-v2 .final-contact-v2__channel:first-child strong {
        font-size: 1rem;
    }

    body.pagina-home-v2 .final-contact-v2__channel + .final-contact-v2__channel {
        border-inline-start: 0;
        padding-inline-start: 0;
    }

    body.pagina-home-v2 .final-contact-v2__channel span {
        margin-block-start: 0;
        text-align: end;
    }

}

@supports (height: 1svh) {
    @media (max-width: 47.999rem) {
        :where(body.pagina-home-v2, [data-babajaga-tema="v2"]) {
            --altezza-palco-contatto: clamp(38rem, 82svh, 44rem);
        }
    }
}

@media (forced-colors: active) {
    body.pagina-home-v2 .final-contact-v2__canvas,
    body.pagina-home-v2 .final-contact-v2__fallback {
        display: none;
    }

    body.pagina-home-v2 .final-contact-v2__stage {
        border-block-start: 1px solid CanvasText;
    }
}

@media print, (prefers-reduced-motion: reduce) {
    body.pagina-home-v2 .final-contact-v2__canvas {
        display: none;
    }

    body.pagina-home-v2 .final-contact-v2__fallback {
        opacity: 1;
        transition: none;
    }

    body.pagina-home-v2 .final-contact-v2__channel--link::after,
    body.pagina-home-v2 .final-contact-v2__channel--link strong {
        transition: none;
    }
}
