/*====================================================L'ATELIER AU FIL DE SOISTYLE.CSS====================================================*//***************VARIABLES****************/:root{    --rose:#E89AA8;    --rose-clair:#F7D9DE;    --beige:#FDF9F6;    --blanc:#ffffff;    --marron:#6E4B40;    --gris:#777;    --gris-clair:#ececec;    --ombre:0 10px 35px rgba(0,0,0,.08);    --radius:18px;    --transition:.35s ease;}/****************RESET****************/*{    margin:0;    padding:0;    box-sizing:border-box;}html{    scroll-behavior:smooth;}body{    background:var(--beige);    color:var(--marron);    font-family:'Poppins',sans-serif;    line-height:1.8;    overflow-x:hidden;}/****************TYPOGRAPHIE****************/h1,h2,h3,h4{    font-family:'Cormorant Garamond',serif;    font-weight:700;    color:var(--marron);}h1{    font-size:70px;    line-height:1.1;}h2{    font-size:50px;    margin-bottom:30px;}h3{    font-size:30px;}p{    color:#6d6765;    margin-bottom:20px;}a{    text-decoration:none;    color:inherit;}img{    width:100%;    display:block;}/****************CONTAINER****************/.container{    width:90%;    max-width:1200px;    margin:auto;}/****************HEADER****************/header{    position:fixed;    top:0;    left:0;    width:100%;    z-index:999;    background:white;    box-shadow:var(--ombre);}header .container{    display:flex;    justify-content:space-between;    align-items:center;    padding:18px 0;}.logo img{    width:180px;}/****************MENU****************/nav ul{    display:flex;    list-style:none;    gap:35px;}nav a{    font-weight:500;    position:relative;    transition:var(--transition);}nav a::after{    content:"";    position:absolute;    left:0;    bottom:-6px;    width:0;    height:2px;    background:var(--rose);    transition:.4s;}nav a:hover::after,nav a.active::after{    width:100%;}nav a:hover{    color:var(--rose);}/****************BOUTONS****************/.btn-primary{    display:inline-block;    background:var(--rose);    color:white;    padding:15px 35px;    border-radius:50px;    transition:var(--transition);    box-shadow:var(--ombre);}.btn-primary:hover{    transform:translateY(-4px);    background:#dd7f92;}.btn-secondary{    display:inline-block;    margin-left:15px;    border:2px solid var(--rose);    padding:15px 35px;    border-radius:50px;    transition:.4s;}.btn-secondary:hover{    background:var(--rose);    color:white;}.btn-light{    background:white;    color:var(--rose);    padding:15px 40px;    border-radius:40px;    display:inline-block;    transition:.3s;}.btn-light:hover{    transform:translateY(-3px);}.btn-header{    background:var(--rose);    color:white;    padding:12px 30px;    border-radius:40px;}/****************HERO****************/.hero{    padding-top:180px;    padding-bottom:120px;    position:relative;}.hero::before{    content:"";    position:absolute;    width:500px;    height:500px;    background:var(--rose-clair);    border-radius:50%;    right:-150px;    top:-120px;    opacity:.5;}.hero-content{    display:grid;    grid-template-columns:1fr 1fr;    gap:70px;    align-items:center;}.subtitle{    color:var(--rose);    font-weight:600;    letter-spacing:3px;    text-transform:uppercase;}.hero span{    color:var(--rose);}.hero p{    font-size:18px;    margin:30px 0;}.hero-image img{    border-radius:25px;    box-shadow:var(--ombre);}.hero-buttons{    margin-top:35px;}/*====================================================PARTIE 2Présentation - Avantages - Aperçu AteliersTémoignages - CTA====================================================*//****************SECTIONS****************/section{    padding:100px 0;    position:relative;}.section-subtitle{    display:inline-block;    color:var(--rose);    font-weight:600;    text-transform:uppercase;    letter-spacing:2px;    margin-bottom:15px;}.section-intro{    max-width:700px;    margin:0 auto 50px;    text-align:center;    color:var(--gris);}/****************PRESENTATION****************/.presentation{    background:white;}.presentation .container{    display:grid;    grid-template-columns:1fr 1fr;    gap:80px;    align-items:center;}.presentation-image{    position:relative;}.presentation-image img{    border-radius:25px;    box-shadow:var(--ombre);}.presentation-image::before{    content:"";    position:absolute;    width:220px;    height:220px;    background:var(--rose-clair);    border-radius:50%;    left:-40px;    bottom:-40px;    z-index:-1;}.presentation-text h2{    margin-bottom:25px;}.presentation-text p{    margin-bottom:20px;}/****************AVANTAGES****************/.advantages{    background:var(--beige);    text-align:center;}.cards{    display:grid;    grid-template-columns:repeat(4,1fr);    gap:30px;    margin-top:60px;}.card{    background:white;    padding:45px 30px;    border-radius:20px;    box-shadow:var(--ombre);    transition:.35s;    position:relative;    overflow:hidden;}.card::before{    content:"";    position:absolute;    top:0;    left:0;    width:100%;    height:5px;    background:var(--rose);}.card:hover{    transform:translateY(-12px);}.card i{    font-size:45px;    color:var(--rose);    margin-bottom:20px;}.card h3{    margin-bottom:15px;}.card p{    margin:0;}/****************APERÇU ATELIERS****************/.preview{    background:white;    text-align:center;}.preview-grid{    display:grid;    grid-template-columns:repeat(3,1fr);    gap:35px;    margin:60px 0;}.preview-grid article{    background:var(--beige);    border-radius:25px;    overflow:hidden;    box-shadow:var(--ombre);    transition:.4s;}.preview-grid article:hover{    transform:translateY(-10px);}.preview-grid img{    height:260px;    object-fit:cover;    transition:.4s;}.preview-grid article:hover img{    transform:scale(1.08);}.preview-grid h3{    margin:25px 0 15px;}.preview-grid p{    padding:0 25px 30px;}/****************TEMOIGNAGES****************/.testimonials{    background:linear-gradient(180deg,#fff,#fdf7f8);    text-align:center;}.testimonial-grid{    display:grid;    grid-template-columns:repeat(3,1fr);    gap:30px;    margin-top:60px;}.testimonial-grid article{    background:white;    padding:40px;    border-radius:20px;    box-shadow:var(--ombre);    position:relative;}.testimonial-grid article::before{    content:"";    font-size:70px;    color:var(--rose-clair);    position:absolute;    top:15px;    left:20px;}.testimonial-grid p{    margin-top:25px;    font-style:italic;}.testimonial-grid span{    display:block;    margin-top:20px;    font-weight:600;    color:var(--rose);}/****************CTA****************/.cta{    background:linear-gradient(135deg,var(--rose),#d8798d);    color:white;    text-align:center;}.cta h2{    color:white;}.cta p{    color:white;    max-width:700px;    margin:25px auto 40px;}/****************PAGE HERO****************/.page-hero{    padding-top:180px;    padding-bottom:90px;    text-align:center;    background:linear-gradient(to bottom,#fff,#fdf6f7);}.page-hero h1{    margin:20px 0;}.page-hero p{    max-width:700px;    margin:auto;}/****************DECORATIONS****************/.presentation::after{    content:"";    position:absolute;    right:80px;    top:60px;    font-size:90px;    color:rgba(232,154,168,.15);}.preview::before{    content:"";    position:absolute;    left:80px;    bottom:40px;    font-size:70px;    color:rgba(232,154,168,.15);}.advantages::before{    content:"";    position:absolute;    right:100px;    top:40px;    font-size:60px;    opacity:.2;}/****************ANIMATIONS****************/.card,.preview-grid article,.testimonial-grid article{    animation:fadeUp .8s ease both;}@keyframes fadeUp{    from{        opacity:0;        transform:translateY(40px);    }    to{        opacity:1;        transform:translateY(0);    }}/*====================================================PARTIE 3PAGE ATELIERS - TARIFS - RESERVATIONCONTACT - FAQ - FOOTER====================================================*//**********************INTRO ATELIER**********************/.atelier-intro{    text-align:center;    background:#fff;}.atelier-intro p{    max-width:800px;    margin:auto;}/**********************CARTE ATELIER**********************/.atelier-list{    background:var(--beige);}.atelier-card{    display:grid;    grid-template-columns:45% 55%;    gap:60px;    align-items:center;    margin-bottom:80px;    background:white;    border-radius:25px;    overflow:hidden;    box-shadow:var(--ombre);}.atelier-card.reverse{    grid-template-columns:55% 45%;}.atelier-card.reverse .atelier-image{    order:2;}.atelier-card.reverse .atelier-content{    order:1;}.atelier-image{    overflow:hidden;    height:100%;}.atelier-image img{    width:100%;    height:100%;    object-fit:cover;    transition:.5s;}.atelier-card:hover img{    transform:scale(1.08);}.atelier-content{    padding:50px;}.niveau{    display:inline-block;    padding:8px 18px;    background:var(--rose-clair);    color:var(--rose);    border-radius:30px;    margin-bottom:20px;    font-weight:600;}.atelier-content h2{    margin-bottom:20px;}.atelier-content ul{    list-style:none;    margin:30px 0;}.atelier-content li{    padding:10px 0;    border-bottom:1px dashed #e6d7d7;}.atelier-footer{    display:flex;    justify-content:space-between;    align-items:center;    margin-top:35px;}.price{    font-size:32px;    font-family:'Cormorant Garamond',serif;    font-weight:bold;    color:var(--rose);}/**********************TARIFS**********************/.tarifs{    background:white;    text-align:center;}.tarifs-grid{    display:grid;    grid-template-columns:repeat(3,1fr);    gap:35px;    margin-top:60px;}.tarif{    background:var(--beige);    padding:45px;    border-radius:25px;    transition:.4s;    box-shadow:var(--ombre);}.tarif:hover{    transform:translateY(-12px);}.tarif span{    display:block;    font-size:55px;    color:var(--rose);    font-family:'Cormorant Garamond';    margin:20px 0;}.featured{    background:var(--rose);    color:white;    transform:scale(1.05);}.featured h3,.featured span,.featured p{    color:white;}/**********************CONTACT**********************/.contact-section{    background:var(--beige);}.contact-grid{    display:grid;    grid-template-columns:35% 65%;    gap:60px;}.contact-info{    display:flex;    flex-direction:column;    gap:25px;}.info-card{    background:white;    padding:30px;    border-radius:20px;    box-shadow:var(--ombre);}.info-card h3{    margin-bottom:15px;    color:var(--rose);}/**********************FORMULAIRE**********************/.reservation-form{    background:white;    padding:50px;    border-radius:25px;    box-shadow:var(--ombre);}.form-row{    display:grid;    grid-template-columns:1fr 1fr;    gap:25px;}.form-group{    margin-bottom:25px;}.form-group label{    display:block;    margin-bottom:10px;    font-weight:600;}input,select,textarea{    width:100%;    padding:15px 20px;    border:2px solid #eee;    border-radius:15px;    font-family:'Poppins';    transition:.3s;    outline:none;}input:focus,textarea:focus,select:focus{    border-color:var(--rose);    box-shadow:0 0 0 5px rgba(232,154,168,.15);}textarea{    resize:vertical;    min-height:170px;}button{    border:none;    cursor:pointer;    font-size:16px;}/**********************GOOGLE MAP**********************/.map iframe{    width:100%;    height:450px;    border:none;}/**********************FAQ**********************/.faq{    background:white;}.faq h2{    text-align:center;    margin-bottom:50px;}.faq-item{    background:var(--beige);    padding:30px;    border-radius:18px;    margin-bottom:20px;    transition:.3s;}.faq-item:hover{    transform:translateX(10px);}.faq-item h3{    color:var(--rose);    margin-bottom:15px;}/**********************FOOTER**********************/footer{    background:#5b4036;    color:white;    padding-top:70px;}.footer-grid{    display:grid;    grid-template-columns:2fr 1fr 1fr;    gap:60px;}footer h3{    color:white;    margin-bottom:20px;}footer p,footer li{    color:#f2e8e4;}footer ul{    list-style:none;}footer li{    margin-bottom:10px;}footer a{    transition:.3s;}footer a:hover{    color:var(--rose-clair);    padding-left:5px;}.copyright{    text-align:center;    padding:30px 0;    margin-top:50px;    border-top:1px solid rgba(255,255,255,.15);    font-size:14px;}/**********************PETITES ANIMATIONS**********************/.atelier-card,.tarif,.info-card,.reservation-form,.faq-item{    transition:.35s;}.atelier-card:hover,.info-card:hover,.reservation-form:hover{    transform:translateY(-5px);}/*====================================================PARTIE 4RESPONSIVE - ANIMATIONS - DECORATIONS====================================================*//**********************DECORATIONS**********************/.hero::after{    content:"";    position:absolute;    width:280px;    height:280px;    border:2px dashed rgba(232,154,168,.3);    border-radius:50%;    bottom:-120px;    left:-120px;}.presentation::before{    content:"";    position:absolute;    top:0;    right:0;    width:200px;    height:200px;    background:radial-gradient(circle,var(--rose-clair),transparent);    opacity:.35;}.preview::after{    content:"";    position:absolute;    left:50%;    bottom:-40px;    transform:translateX(-50%);    width:180px;    height:6px;    background:repeating-linear-gradient(        90deg,        var(--rose) 0,        var(--rose) 10px,        transparent 10px,        transparent 20px    );    border-radius:20px;}/**********************LIGNE DE COUTURE**********************/.stitch-line{    width:100%;    height:3px;    background:repeating-linear-gradient(        to right,        var(--rose),        var(--rose) 8px,        transparent 8px,        transparent 16px    );    margin:70px auto;    opacity:.35;}/**********************SCROLLBAR**********************/::-webkit-scrollbar{    width:10px;}::-webkit-scrollbar-track{    background:var(--beige);}::-webkit-scrollbar-thumb{    background:var(--rose);    border-radius:20px;}/**********************SELECTION**********************/::selection{    background:var(--rose);    color:white;}/**********************ANIMATIONS**********************/@keyframes float{    0%{        transform:translateY(0px);    }    50%{        transform:translateY(-12px);    }    100%{        transform:translateY(0px);    }}.hero-image{    animation:float 5s ease-in-out infinite;}@keyframes pulse{    0%{        transform:scale(1);    }    50%{        transform:scale(1.03);    }    100%{        transform:scale(1);    }}.btn-primary{    animation:pulse 5s infinite;}/**********************HOVER IMAGES**********************/img{    transition:.4s;}img:hover{    transform:scale(1.02);}/**********************BOUTON RETOUR HAUT**********************/.top-button{    position:fixed;    bottom:30px;    right:30px;    width:55px;    height:55px;    background:var(--rose);    color:white;    border-radius:50%;    display:flex;    align-items:center;    justify-content:center;    font-size:24px;    text-decoration:none;    box-shadow:var(--ombre);    transition:.35s;    z-index:999;}.top-button:hover{    transform:translateY(-6px);}/**********************FORMULAIRE**********************/input:hover,textarea:hover,select:hover{    border-color:var(--rose);}/**********************TABLETTES**********************/@media(max-width:992px){.hero-content,.presentation .container,.contact-grid,.atelier-card,.atelier-card.reverse{grid-template-columns:1fr;}.atelier-card.reverse .atelier-image,.atelier-card.reverse .atelier-content{order:initial;}.cards{grid-template-columns:repeat(2,1fr);}.preview-grid{grid-template-columns:repeat(2,1fr);}.tarifs-grid{grid-template-columns:1fr;}.footer-grid{grid-template-columns:1fr;text-align:center;}.hero{text-align:center;}.hero-buttons{display:flex;justify-content:center;flex-wrap:wrap;}}/**********************MOBILE**********************/@media(max-width:768px){h1{font-size:45px;}h2{font-size:36px;}.cards{grid-template-columns:1fr;}.preview-grid{grid-template-columns:1fr;}.testimonial-grid{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}nav ul{flex-direction:column;gap:20px;}header .container{flex-direction:column;gap:20px;}.logo img{width:150px;}.hero{padding-top:140px;}.btn-primary,.btn-secondary,.btn-light{display:block;width:100%;text-align:center;margin-bottom:15px;}}/**********************PETITS MOBILES**********************/@media(max-width:480px){.container{width:92%;}.hero{padding-top:120px;}section{padding:70px 0;}.card,.tarif,.info-card,.reservation-form{padding:25px;}.hero-buttons{display:block;}}/**********************TRANSITIONS**********************/section,.card,.tarif,.preview-grid article,.testimonial-grid article,.atelier-card,.info-card{transition:.35s ease;}/*====================================================PARTIE 5FINITIONS PREMIUML'ATELIER AU FIL DE SOI====================================================*//**********************FADE IN AU CHARGEMENT**********************/body{    animation:pageFade 1s ease;}@keyframes pageFade{    from{        opacity:0;    }    to{        opacity:1;    }}/**********************APPARITION AU SCROLL**********************/.fade-up{    opacity:0;    transform:translateY(60px);    transition:.8s;}.fade-up.visible{    opacity:1;    transform:translateY(0);}.fade-left{    opacity:0;    transform:translateX(-60px);    transition:.8s;}.fade-left.visible{    opacity:1;    transform:translateX(0);}.fade-right{    opacity:0;    transform:translateX(60px);    transition:.8s;}.fade-right.visible{    opacity:1;    transform:translateX(0);}/**********************OMBRE PREMIUM**********************/.card,.tarif,.atelier-card,.info-card,.reservation-form,.preview-grid article,.testimonial-grid article{    box-shadow:    0 10px 35px rgba(0,0,0,.06),    0 25px 60px rgba(0,0,0,.04);}/**********************SURVOL CARTES**********************/.card:hover,.tarif:hover,.preview-grid article:hover,.info-card:hover,.testimonial-grid article:hover{    transform:translateY(-10px);}/**********************ICONES**********************/i{    transition:.35s;}.card:hover i{    transform:rotate(-8deg) scale(1.15);}/**********************IMAGES**********************/.hero-image img,.presentation img,.preview img,.atelier-image img{    border-radius:22px;}.hero-image{    position:relative;}.hero-image::after{    content:"";    position:absolute;    inset:15px;    border:2px dashed rgba(232,154,168,.3);    border-radius:22px;}/**********************BOUTONS**********************/.btn-primary,.btn-secondary,.btn-light,.btn-header{    position:relative;    overflow:hidden;}.btn-primary::before,.btn-header::before{    content:"";    position:absolute;    left:-120%;    top:0;    width:100%;    height:100%;    background:rgba(255,255,255,.25);    transform:skewX(-30deg);    transition:.7s;}.btn-primary:hover::before,.btn-header:hover::before{    left:120%;}/**********************LIENS**********************/a{    transition:.3s;}/**********************TABLEAUX**********************/table{    width:100%;    border-collapse:collapse;}th{    background:var(--rose);    color:white;    padding:15px;}td{    padding:15px;    border-bottom:1px solid #eee;}/**********************LISTES**********************/ul li{    transition:.3s;}.atelier-content li:hover{    padding-left:10px;    color:var(--rose);}/**********************FORMULAIRE**********************/input,textarea,select{    background:#fff;}input::placeholder,textarea::placeholder{    color:#bbb;}/**********************FOCUS ACCESSIBILITE**********************/a:focus,button:focus,input:focus,textarea:focus,select:focus{    outline:none;}/**********************FOOTER**********************/footer{    position:relative;}footer::before{    content:"";    position:absolute;    top:0;    left:0;    width:100%;    height:6px;    background:linear-gradient(        to right,        var(--rose),        var(--rose-clair),        var(--rose)    );}/**********************BADGES**********************/.badge{    display:inline-block;    padding:8px 18px;    border-radius:30px;    background:var(--rose);    color:white;    font-size:14px;}/**********************GALERIE**********************/.gallery{    display:grid;    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));    gap:25px;}.gallery img{    height:260px;    object-fit:cover;    transition:.45s;}.gallery img:hover{    transform:scale(1.06);}/**********************EFFET VERRE**********************/.glass{    background:rgba(255,255,255,.65);    backdrop-filter:blur(12px);    border:1px solid rgba(255,255,255,.4);}/**********************DECORATIONS**********************/.fleur{    position:absolute;    width:90px;    opacity:.08;    pointer-events:none;}.fleur.top-left{    top:30px;    left:30px;}.fleur.bottom-right{    bottom:40px;    right:40px;}/**********************LIGNE COUTURE**********************/.sewing-line{    width:100%;    height:2px;    margin:60px auto;    background:repeating-linear-gradient(        to right,        var(--rose),        var(--rose) 8px,        transparent 8px,        transparent 18px    );    animation:moveLine 8s linear infinite;}@keyframes moveLine{    from{        background-position:0;    }    to{        background-position:300px;    }}/**********************MENU HOVER**********************/nav li{    position:relative;}nav li::before{    content:"";    position:absolute;    width:6px;    height:6px;    background:var(--rose);    border-radius:50%;    bottom:-14px;    left:50%;    transform:translateX(-50%) scale(0);    transition:.3s;}nav li:hover::before{    transform:translateX(-50%) scale(1);}/**********************FIN**********************/