/* =========================================================
   VISION PAGE ONLY
   vision.css
========================================================= */

/* =========================================================
   HERO VISION
========================================================= */

.contact-hero{
    position:relative;
    height:48vh;
    overflow:hidden;
}

.contact-hero-image{
    position:absolute;
    inset:0;
}

.contact-hero-image img{
    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center center;

    animation:visionHeroZoom 24s ease-in-out infinite alternate;
}

@keyframes visionHeroZoom{

    0%{
        transform:scale(1);
    }

    100%{
        transform:scale(1.05);
    }
}

.contact-hero-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        to bottom,
        rgba(0,0,0,0.08),
        rgba(0,0,0,0.28)
    );
}

/* =========================================================
   INTRO
========================================================= */

.contact-intro{
    text-align:center;

    padding:120px 20px 90px 20px;

    max-width:900px;
    margin:0 auto;
}

.contact-intro .titre-serif{
    margin-top:18px;
}

/* =========================================================
   FORMULAIRE
========================================================= */

.form-contact{
    text-align:left;
    margin-top:70px;
}

.form-row{
    display:flex;
    gap:30px;
    margin-bottom:10px;
}

.form-group{
    flex:1;

    display:flex;
    flex-direction:column;

    margin-bottom:45px;
}

.form-group label{
    font-size:0.65rem;

    text-transform:uppercase;
    letter-spacing:3px;

    margin-bottom:14px;

    color:#888;
}

.form-group input,
.form-group textarea,
.select-luxe{

    width:100%;

    border:none;
    border-bottom:1px solid #ddd;

    padding:14px 0;

    background:transparent;

    font-family:'Montserrat',sans-serif;
    font-size:0.92rem;

    outline:none;

    transition:
    border-color .35s ease;
}

.form-group input:focus,
.form-group textarea:focus,
.select-luxe:focus{
    border-bottom:1px solid #111;
}

.form-group textarea{
    resize:vertical;
}
.form-group textarea{
    min-height:140px;
    padding-top:12px;
}
.select-luxe{
    appearance:none;
    cursor:pointer;
}

/* =========================================================
   SEPARATOR
========================================================= */

.separator-line{
    width:80px;
    height:1px;

    background:#ddd;

    margin:70px auto;
}

/* =========================================================
   RGPD
========================================================= */

.rgpd-group{
    flex-direction:row;

    align-items:flex-start;

    gap:16px;

    margin-top:10px;
}

.rgpd-group input{
    width:auto;
    margin-top:5px;

    cursor:pointer;
}

.rgpd-group label{
    text-transform:none;

    letter-spacing:0.5px;

    line-height:1.7;

    font-size:0.85rem;
}

.rgpd-group a{
    color:#111;
    text-decoration:underline;
}

/* =========================================================
   CTA FINAL
========================================================= */

.cta-final{
    margin-top:80px;
    margin-bottom:80px;

    display:flex;
    justify-content:center;
}

.cta-wrapper{
    display:flex;
    flex-direction:column;
    align-items:center;

    gap:24px;
}

.mention-recommandation{
    font-family:'Playfair Display',serif;
    font-style:italic;

    font-size:0.95rem;

    color:#777;
}

/* =========================================================
   BOUTON
========================================================= */

.btn-experience{
    display:inline-block;

    padding:20px 54px;

    background:#111;
    color:#fff;

    border:1px solid #111;

    text-decoration:none;
    text-transform:uppercase;

    letter-spacing:7px;
    font-size:0.66rem;
    font-weight:300;

    cursor:pointer;

    transition:
    all .35s ease;
}

.btn-experience:hover{

    background:transparent;
    color:#111;

    transform:translateY(-1px);
}

/* =========================================================
   OVERLAY MERCI
========================================================= */

.thanks-overlay{
    position:fixed;
    inset:0;

    background:rgba(253,252,249,0.98);

    z-index:9999;

    display:flex;
    justify-content:center;
    align-items:center;

    opacity:0;
    visibility:hidden;

    transition:
    opacity .8s ease,
    visibility .8s ease;
}

.thanks-overlay.active{
    opacity:1;
    visibility:visible;
}

.thanks-content{
    text-align:center;
}

.line-loader{
    width:120px;
    height:1px;

    background:#111;

    margin:40px auto 0 auto;

    animation:lineLoader 2s ease infinite;
}

@keyframes lineLoader{

    0%{
        transform:scaleX(0);
        opacity:0;
    }

    50%{
        transform:scaleX(1);
        opacity:1;
    }

    100%{
        transform:scaleX(0);
        opacity:0;
    }
}

/* =========================================================
   FADE IN
========================================================= */

.fade-in{
    opacity:0;

    transform:translateY(22px);

    transition:
    opacity .9s ease,
    transform .9s ease;
}

.fade-in.visible{
    opacity:1;
    transform:translateY(0);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:768px){

    .contact-hero{
        height:34vh;
    }

    .contact-intro{
        padding:90px 20px 60px 20px;
    }

    .form-row{
        flex-direction:column;
        gap:0;
    }

    .btn-experience{
        padding:16px 32px;
        letter-spacing:4px;
    }

    .mention-recommandation{
        text-align:center;
        line-height:1.7;
    }
}

.contact-intro{
    max-width:1100px;
}

.contact-intro .italique-serif{
    font-size:1.7rem;
}

.contact-intro + .section-blanche .texte-seo{
    font-size:1.05rem;
    line-height:2;
}

/* =========================================================
   RESSERRER L'INTRO
========================================================= */

.contact-intro{
    padding-bottom:40px;
}

.contact-intro + .section-blanche{
    padding-top:20px;
}

.contact-intro + .section-blanche .texte-seo{
    margin-top:0;
}