<link rel="stylesheet" href="css/style.css?v=99">
:root{--ink:#2f332f;--muted:#6d716b;--paper:#f7f3eb;--paper2:#eee8dc;--sage:#6f7d68;--terracotta:#a9684f;--white:#fffdf9;--line:#ddd6ca}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}p{margin:.75rem 0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.15;margin:0 0 1rem}h1{font-size:clamp(2.8rem,6vw,5.4rem)}h2{font-size:clamp(2rem,4vw,3.2rem)}h3{font-size:1.6rem}.container{width:min(1120px,92%);margin:auto}.topbar{font-size:.82rem;color:#fff;background:var(--sage);padding:.45rem 0}.topbar .container{display:flex;justify-content:flex-end;gap:1.2rem}.header{background:rgba(247,243,235,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{font-family:Georgia,serif;font-size:1.35rem;white-space:nowrap}.brand small{display:block;font-family:Arial,sans-serif;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-top:.15rem}.menu{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:1.15rem;font-size:.92rem}.menu a{padding:.4rem 0;border-bottom:1px solid transparent}.menu a:hover{border-color:var(--terracotta);color:var(--terracotta)}.hero{min-height:72vh;display:grid;place-items:center;text-align:center;background:linear-gradient(rgba(38,43,37,.34),rgba(38,43,37,.48)),linear-gradient(135deg,#89927f,#c9b69e 55%,#7b6b5a);color:#fff;padding:7rem 1rem}.hero-inner{max-width:850px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;margin-bottom:1.1rem;opacity:.9}.hero p{font-size:1.18rem;max-width:720px;margin:1.2rem auto 2rem}.actions{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap}.btn{display:inline-block;border:1px solid rgba(255,255,255,.7);padding:.75rem 1.25rem;border-radius:2px}.btn.primary{background:#fff;color:var(--ink);border-color:#fff}.section{padding:5.5rem 0}.section.alt{background:var(--paper2)}.two{display:grid;grid-template-columns:1.05fr .95fr;gap:5rem;align-items:center}.visual{
    min-height: 430px;
    border-radius: 2px;
    background: transparent;
    position: relative;
    overflow: hidden;
    padding: 0;
    border: none;}

.



/* Suppression de tous les cadres décoratifs */
section.section .two > .visual::before,
section.section .two > .visual::after {
    display: none !important;
    content: none !important;
    border: 0 !important;
    transform: none !important;
}

/* La photo remplit entièrement son emplacement */
section.section .two > .visual img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
}

@media (max-width: 850px) {
    section.section .two > .visual {
        height: 330px !important;
        min-height: 330px !important;
    }
}
/* =================================
   CARROUSEL PHOTOGRAPHIQUE
   ================================= */

section.section .two > .visual {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 430px !important;
    min-height: 430px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    border: none !important;
    border-radius: 2px;
}

/* Suppression des cadres décoratifs */

section.section .two > .visual::before,
section.section .two > .visual::after {
    display: none !important;
    content: none !important;
}

/* Fenêtre du carrousel */

.carousel {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* Bande des photos */

.carousel-track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform .7s ease-in-out;
}

/* Photos */

.carousel-track img {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 100%;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: 100% !important;
    object-fit: cover !important;
    object-position: center;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Flèches */

.carousel button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,.8);
    color: #2f332f;
    font-size: 27px;
    line-height: 1;
    cursor: pointer;
    transition: background .2s;
}

.carousel button:hover {
    background: white;
}

.carousel-prev {
    left: 12px;
}

.carousel-next {
    right: 12px;
}

/* Version mobile */

@media (max-width: 850px) {
    section.section .two > .visual {
        height: 330px !important;
        min-height: 330px !important;
    }
}
/* CORRECTION PRIORITAIRE DU CARROUSEL */

section.section .two > .visual .carousel {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

section.section .two > .visual .carousel-track {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    transition: transform 0.7s ease-in-out !important;
}

section.section .two > .visual .carousel-track img {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 0 !important;
    max-width: 100% !important;
    object-fit: cover !important;
    display: block !important;
}


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

/* Caché sur PC */
.menu-toggle{
    display:none;
}

/* Mobile */
@media screen and (max-width:768px){

    /* Masquer le bandeau supérieur */
    .topbar{
        display:none !important;
    }

    /* En-tête */
    .nav{
        display:flex !important;
        flex-wrap:wrap !important;
        justify-content:space-between !important;
        align-items:center !important;
        gap:10px;
    }

    /* Bouton hamburger */
    .menu-toggle{
        display:block !important;
        width:45px;
        height:45px;
        padding:0;
        background:#fff;
        color:#333;
        border:1px solid #ccc;
        border-radius:4px;
        font-size:30px;
        line-height:43px;
        text-align:center;
        cursor:pointer;
        z-index:1000;
    }

    /* Menu fermé */
    .menu{
        display:none !important;
        width:100%;
        flex-direction:column;
        gap:0;
        margin-top:10px;
        background:var(--paper);
    }

    /* Menu ouvert */
    .menu.open{
        display:flex !important;
    }

    .menu a{
        display:block;
        padding:12px;
        border-bottom:1px solid var(--line);
    }

    /* Photo au-dessus du texte */
    .two{
        display:flex !important;
        flex-direction:column !important;
        gap:25px;
    }

    .two > .visual{
        width:100%;
        order:1;
    }

    .two > div:not(.visual){
        width:100%;
        order:2;
    }
}
/* =================================
   CARROUSEL - PC ET MOBILE
================================= */

.carousel {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.carousel-track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform 0.6s ease;
}

.carousel-track img {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    min-width: 100%;
    object-fit: cover;
    display: block;
}

.carousel button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,.85);
    color: #2f332f;
    font-size: 27px;
    cursor: pointer;
}

.carousel-prev {
    left: 12px;
}

.carousel-next {
    right: 12px;
}

/* =====================================
   CORRECTION DEFINITIVE DU MENU MOBILE
===================================== */

/* Sur PC : aucun bouton */
.menu-toggle {
    display: none;
}

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

    /* Bandeau supérieur masqué */
    .topbar {
        display: none !important;
    }

    /* En-tête */
    .header .nav {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        min-height: 70px;
        gap: 10px;
    }

    /* Bouton visible sur mobile */
    .header .menu-toggle {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 1001 !important;
        border: 1px solid var(--line);
        background: var(--paper);
        color: var(--ink);
        border-radius: 5px;
        padding: 8px 13px;
        font-size: 25px;
        line-height: 1;
        cursor: pointer;
    }

    /* Menu fermé */
    .header nav.menu {
        display: none !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        flex-direction: column !important;
        order: 3;
        margin: 0 !important;
        padding: 0 !important;
        background: var(--paper);
    }

    /* Menu ouvert */
    .header nav.menu.open {
        display: flex !important;
    }

    .header nav.menu a {
        display: block;
        padding: 12px;
        border-bottom: 1px solid var(--line);
    }
}
/* PC */
.menu-toggle{
    display:none !important;
}

/* Mobile */
@media screen and (max-width:768px){

    .menu-toggle{
        display:block !important;
        background:#fff;
        color:#333;
        border:1px solid #ccc;
        padding:8px 12px;
        font-size:28px;
        cursor:pointer;
    }

}

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

    .two{
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:25px !important;
    }

    .two > .visual{
        width:100% !important;
        order:1;
    }

    .two > div:not(.visual){
        width:100% !important;
        order:2;
    }

}
/* ===== CORRECTION MOBILE ===== */

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

    .topbar{
        display:none;
    }

    .header{
        position:relative;
        z-index:1000;
    }

    .nav{
        display:flex !important;
        flex-wrap:wrap !important;
        align-items:center !important;
        justify-content:space-between !important;
    }

    .menu-toggle{
        display:block !important;
        position:relative !important;
        z-index:2000 !important;
        background:#fff !important;
        border:1px solid #ccc !important;
        padding:8px 12px !important;
        font-size:28px !important;
    }

    .menu{
        display:none !important;
        width:100% !important;
        flex-direction:column !important;
    }

    .menu.open{
        display:flex !important;
    }

    /* PHOTO AU-DESSUS DU TEXTE */

    .two{
        display:block !important;
    }

    .two > .visual{
        width:100% !important;
        margin-bottom:25px !important;
    }

    .two > div{
        width:100% !important;
    }
}