/* =========================================================
   VISION PAGE ONLY
    contact.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,.06) 0%,
            rgba(0,0,0,.16) 55%,
            rgba(0,0,0,.24) 78%,

            rgba(250,248,244,.25) 92%,
            rgba(250,248,244,.70) 97%,
            #FAF8F4 100%
        );
}

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

.contact-intro{
    text-align:center;
    padding:110px 20px 40px;
    max-width:1100px;
    margin:0 auto;
}


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

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

.form-contact{
    margin-top:45px;
}

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

.form-group{
    flex:1;

    display:flex;
    flex-direction:column;

    margin-bottom:42px;
}

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

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

    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;
    line-height:1.55;

    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:150px;
    padding-top:13px;
}
.select-luxe{
    appearance:none;
    cursor:pointer;
}

.optional{
    font-size:.75em;
    font-weight:400;
    opacity:.55;
    text-transform:none;
    letter-spacing:normal;
}

.form-note{
    max-width:620px;
    margin-top:-16px;
}

.form-note__label{
    margin:0 0 10px 0;

    font-size:0.68rem;
    text-transform:uppercase;
    letter-spacing:2.6px;
    color:#888;
}

.form-note__text{
    margin:0;

    font-family:'Montserrat',sans-serif;
    font-size:0.9rem;
    line-height:2;
    font-weight:300;
    color:#8f8880;
}

.form-note__price{
    font-weight:600;
    color:#6f6961;
}

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

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

    background:rgba(0,0,0,.10);

    margin:55px 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.82rem;
}

.rgpd-group a{
    color:#111;
    text-decoration:underline;
}
/* =========================================================
   DÉLAI DE RÉPONSE
========================================================= */

.contact-response-time{

    margin:48px auto 32px;

    text-align:center;

    font-family:'Playfair Display',serif;
    font-style:italic;

    font-size:1rem;

    line-height:1.8;

    color:#746d66;

    opacity:.95;
}
/* =========================================================
   CTA FINAL
========================================================= */

.cta-final{
    margin-top:65px;
    margin-bottom:70px;
}

.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.985);

    z-index:9999;

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

    padding:48px 24px;

    opacity:0;
    visibility:hidden;

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

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

.thanks-content{
    width:min(100%, 700px);

    text-align:center;

    opacity:0;
    transform:translateY(10px);

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

.thanks-overlay.active .thanks-content{
    opacity:1;
    transform:translateY(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;
    }

    .custom-dropdown__option{
        padding:15px 20px;
    }

    .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.55rem;
}

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

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

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

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

.contact-intro + .section-blanche .texte-seo{
    margin-top:0;
}
/* =========================================================
   LORSQUE LE MESSAGE PART
========================================================= */

.thanks-text{
    margin-top:18px;

    font-family:'Montserrat',sans-serif;
    font-size:1rem;
    line-height:2;
    color:#67615a;
    font-weight:300;

    letter-spacing:.01em;
}

.thanks-title{
    margin-bottom:22px;
}

.thanks-subtitle{
    margin:0;

    font-family:'Playfair Display',serif;
    font-style:italic;

    font-size:1.24rem;

    color:#3f3a34;
}

.thanks-text--secondary{
    margin-top:16px;
}

.thanks-divider{
    width:100%;
    max-width:380px;
    height:1px;

    margin:46px auto 38px;

    background:linear-gradient(90deg, rgba(199,178,153,0) 0%, rgba(199,178,153,.7) 30%, rgba(199,178,153,.7) 70%, rgba(199,178,153,0) 100%);
}

.thanks-signature{
    margin:0;

    display:flex;
    flex-direction:column;
    align-items:center;

    gap:8px;
}

.thanks-signature__name{
    font-family:'Playfair Display',serif;
    font-size:1.3rem;

    color:#1f1b18;
}

.thanks-signature__role{
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:4.2px;

    color:#8c857d;
}

.thanks-actions{
    margin-top:42px;

    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:18px;
}

.btn-experience.btn-thanks{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-height:52px;
    padding:16px 28px;

    border:1px solid #c7b299;
    border-radius:4px;

    background:transparent;
    color:#5f5448;

    letter-spacing:0.2em;
    font-size:0.64rem;
    line-height:1;

    transition:
    background-color .35s ease,
    color .35s ease,
    border-color .35s ease,
    transform .35s ease;
}

.btn-experience.btn-thanks:hover{
    background:#c7b299;
    border-color:#c7b299;
    color:#fff;

    transform:translateY(-1px);
}

.btn-experience.btn-thanks:focus-visible{
    outline:1px solid #c7b299;
    outline-offset:3px;
}

/* =========================================================
   NOTRE PREMIER ÉCHANGE
========================================================= */

.contact-conversation{

    max-width:700px;

    margin:90px auto;

    text-align:center;
}

.contact-conversation .separator-line{

    margin:0 auto 40px;
}

.contact-conversation .tagline-editorial{

    margin:0 0 28px;
}

.contact-conversation-text{

    margin:0 auto;

    max-width:580px;

    font-family:'Montserrat',sans-serif;

    font-size:1.02rem;

    line-height:2;

    font-weight:300;

    color:#4b4742;
}

.contact-conversation-signature{

    margin-top:40px;

    font-family:'Montserrat',sans-serif;

    font-size:.72rem;

    text-transform:uppercase;

    letter-spacing:4px;

    color:#8d857d;

    line-height:2;
}

.contact-conversation-signature span{

    display:block;

    margin-top:12px;

    font-family:'Playfair Display',serif;

    font-style:italic;

    text-transform:none;

    letter-spacing:0;

    font-size:1.35rem;

    color:#222;
}

@media (max-width:768px){

    .contact-conversation{

        margin:70px auto;

        padding:0 20px;
    }

    .contact-conversation-text{

        font-size:.97rem;

        line-height:1.9;
    }

    .contact-conversation-signature{

        margin-top:32px;
    }

    .contact-conversation-signature span{

        font-size:1.15rem;
    }

    .thanks-overlay{
        padding:34px 18px;
    }

    .thanks-subtitle{
        font-size:1.12rem;
    }

    .thanks-text{
        font-size:.94rem;
        line-height:1.9;
    }

    .thanks-divider{
        margin:36px auto 30px;
    }

    .thanks-signature__name{
        font-size:1.15rem;
    }

    .thanks-signature__role{
        letter-spacing:3.2px;
        font-size:.66rem;
    }

    .thanks-actions{
        margin-top:34px;
        gap:14px;
    }

    .btn-experience.btn-thanks{
        width:100%;
        max-width:330px;
        min-height:50px;

        padding:15px 22px;

        letter-spacing:.16em;
        font-size:.62rem;
    }

}

/* =========================================================
   TEXTE SOUS LE CTA
========================================================= */

.cta-description{

    max-width:680px;

    margin:38px auto 0;

    text-align:center;

    font-family:'Montserrat',sans-serif;

    font-size:1rem;

    font-weight:300;

    line-height:1.95;

    color:#4d4944;

    letter-spacing:.01em;
}