/**
 * Fichier  : /pages/homepage/section-1/assets/css/quote.css
 * Fonction : style de la citation de la section vision - page d'accueil
 */


/* ==================================================
   CEO QUOTE
================================================== */

.vision .ceo-quote {
    position: relative;
}

.vision .ceo-quote {
    width: 64%;
}

.vision .ceo-quote {
    margin-top: clamp(4em, 6vw, 7em);
    margin-left: 30%;
}

.vision .ceo-quote {
    padding-left: clamp(2em, 3.5vw, 3.5em);
}


/* ==================================================
   QUOTE INDEX
================================================== */

.vision .ceo-quote .index {
    position: absolute;
    top: .15em;
    left: 0;
}

.vision .ceo-quote .index {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.vision .ceo-quote .index svg {
    width: 22px;
    height: 22px;
}

.vision .ceo-quote .index svg {
    display: block;
}

.vision .ceo-quote .index svg {
    color: var(--color-primary);
}

.vision .ceo-quote .index i {
    width: 1px;
    height: 0;
}

.vision .ceo-quote .index i {
    display: block;
}

.vision .ceo-quote .index i {
    background:
        linear-gradient(
            180deg,
            var(--color-primary) 0%,
            rgba(233, 64, 27, .15) 100%
        );
}

.vision .ceo-quote .index i {
    transition:
        height 1s
        cubic-bezier(.22, 1, .36, 1);
}

.vision .ceo-quote.is-visible .index i {
    height: 76px;
}


/* ==================================================
   BLOCKQUOTE
================================================== */

.vision .ceo-quote blockquote {
    margin: 0;
    padding: 0;
}

.vision .ceo-quote blockquote {
    display: flex;
    flex-direction: column;
    gap: 1.15em;
}

.vision .ceo-quote blockquote p {
    max-width: 780px;
}

.vision .ceo-quote blockquote p {
    font-family: 'content-font';
    font-size: clamp(22px, 2vw, 32px);
    font-weight: 400;
    line-height: 1.38em;
    letter-spacing: -.015em;
    color: rgba(18, 18, 18, .64);
}

.vision .ceo-quote blockquote strong {
    font-family: 'bold-font';
    font-weight: 400;
    color: var(--color-black);
}

.vision .ceo-quote blockquote strong {
    transition: color .6s ease;
}

.vision .ceo-quote.is-visible blockquote strong {
    color: var(--color-primary);
}


/* ==================================================
   AUTHOR
================================================== */

.vision .ceo-quote .author {
    margin-top: clamp(2.5em, 4vw, 4em);
    padding-top: 1.25em;
}

.vision .ceo-quote .author {
    display: flex;
    align-items: baseline;
    gap: 12px;
}

.vision .ceo-quote .author {
    border-top: 1px solid rgba(0, 0, 0, .08);
}

.vision .ceo-quote .name {
    font-family: 'bold-font';
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--color-black);
}

.vision .ceo-quote .role {
    font-family: 'content-font';
    font-size: 11px;
    font-weight: 400;
    line-height: 1.4em;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: rgba(18, 18, 18, .42);
}


/* ==================================================
   ANIMATION
================================================== */

.vision .ceo-quote .line,
.vision .ceo-quote .author {
    opacity: 0;
    transform: translateY(22px);
}

.vision .ceo-quote .line,
.vision .ceo-quote .author {
    transition:
        opacity .75s ease,
        transform .9s cubic-bezier(.22, 1, .36, 1);
}

.vision .ceo-quote.is-visible .line,
.vision .ceo-quote.is-visible .author {
    opacity: 1;
    transform: translateY(0);
}

.vision .ceo-quote.is-visible .line--first {
    transition-delay: .08s;
}

.vision .ceo-quote.is-visible .line--second {
    transition-delay: .18s;
}

.vision .ceo-quote.is-visible .author {
    transition-delay: .28s;
}


/* ==================================================
   ACCESSIBILITÉ
================================================== */

@media (prefers-reduced-motion: reduce) {

    .vision .ceo-quote .line,
    .vision .ceo-quote .author {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .vision .ceo-quote .index i {
        height: 76px;
        transition: none;
    }

}


/* ==================================================
   TABLETTE
================================================== */

@media screen and (max-width: 1024px) {

    .vision .ceo-quote {
        width: auto;
    }

    .vision .ceo-quote {
        margin-top: 3.5em;
        margin-left: 0;
    }

    .vision .ceo-quote {
        padding-left: 2em;
    }

    .vision .ceo-quote blockquote p {
        max-width: 680px;
    }

    .vision .ceo-quote blockquote p {
        font-size: clamp(22px, 4vw, 30px);
    }

}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 640px) {

    .vision .ceo-quote {
        margin-top: 3em;
        padding-left: 1.35em;
    }

    .vision .ceo-quote .index {
        gap: 8px;
    }

    .vision .ceo-quote .index svg {
        width: 20px;
        height: 20px;
    }

    .vision .ceo-quote.is-visible .index i {
        height: 56px;
    }

    .vision .ceo-quote blockquote {
        gap: 1.1em;
    }

    .vision .ceo-quote blockquote p {
        font-size: clamp(20px, 5.8vw, 26px);
        line-height: 1.38em;
    }

    .vision .ceo-quote .author {
        margin-top: 2.5em;
    }

    .vision .ceo-quote .author {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .vision .ceo-quote .role {
        font-size: 10px;
    }

}