.btn,.h2{font-family:DressCode,system-ui,sans-serif;text-transform:uppercase}.btn,.divider,.footer,.ph{background:var(--kaki)}.footer .center,.h2.center,.section.center,.section.center p{text-align:center}.btn,.h2,.mobile-menu nav a,.nav a{text-transform:uppercase}.mobile-menu nav a,a{text-decoration:none}*,.gallery{box-sizing:border-box}:root{--kaki:#5c604c;--beige:#fffef5;--text:var(--kaki);--container:1200px;--gap:40px}@font-face{font-family:DressCode;src:url('../fonts/DressCode-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}body,html{margin:0;padding:0;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}body{opacity:1!important;transition:none!important;background:var(--beige);color:var(--text);font-family:"EB Garamond",serif;line-height:1.6;font-size:19px;padding-top:140px}.container{width:calc(100% - 48px);max-width:var(--container);margin-inline:auto}.h2{font-weight:700;font-size:42px;line-height:1.05;letter-spacing:.02em;margin:0 0 8px}.nav,.nav a{letter-spacing:.06em;font-weight:600}.divider{width:140px;height:2px;margin:14px 0 22px;opacity:.8}p{margin:0 0 16px}.brandbar{position:relative;display:flex;align-items:center;justify-content:center}.ig,.nav a::after{position:absolute}.logo{margin-bottom:20px}.ig{right:0;top:0}.bee-divider,.hero .hero-kaki,.mobile-header,.nav a,.title-icon,.title-icon.right{position:relative}.nav{display:flex;justify-content:center;gap:26px}.nav a{opacity:.85;display:inline-block;padding-bottom:6px;color:#5c604c;transition:color .3s}.footer .legal,.nav a.active,.nav a:hover,img[loading=lazy].visible{opacity:1}.nav a::after{content:"";bottom:0;left:0;width:0%;height:2px;background-color:#5c604c;transition:width .3s;opacity:.9}.nav a.active::after,.nav a:hover::after{width:100%}.nav a:hover{color:#3f4234}.section{padding:56px 0}.grid-2{display:grid;grid-template-columns:520px 1fr;gap:var(--gap);align-items:start}.duo,.stack-2{display:grid;gap:20px}.grid-2.alt{grid-template-columns:1fr 520px}.duo{grid-template-columns:1fr 1fr}.bee-divider img,.btn,.section-icon img,.section.center .h2{display:inline-block}.textcol p{max-width:640px}.btn{color:#fff;padding:12px 18px;border-radius:2px;font-weight:700;line-height:1;letter-spacing:.05em;font-size:16px}.btn.ghost{background:0 0;color:var(--kaki);border:2px solid var(--kaki)}.ph{border-radius:2px}.portrait{aspect-ratio:4/5}.footer .cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;align-items:center}@media (max-width:1024px){.duo,.grid-2,.grid-2.alt{grid-template-columns:1fr}.grid-2,.grid-2.alt{gap:28px}.h2{font-size:36px}}@media (max-width:640px){.footer .cols,.footer .right{text-align:center}.nav{flex-wrap:wrap;gap:16px}.h2{font-size:32px}body{font-size:17px}.footer .cols{grid-template-columns:1fr}}.fade{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.fade.visible{opacity:1;transform:translateY(0)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px}.grid-4 .ph img{width:100%;height:100%;object-fit:cover;border-radius:2px}.h2.center{display:block;margin-left:auto;margin-right:auto}.section.center p{max-width:800px;margin:0 auto 30px}.divider2{width:60px;height:2px;background-color:#5a5a45;margin:10px auto 20px}.section.center .h2{text-align:center;margin:0 auto}.section.center .divider2{width:280px;height:2px;background-color:var(--kaki,#5d5f4e);margin:12px auto 40px}.contact{background-color:#fffef5;color:#5c604c}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;align-items:start}.contact-form .form-group{display:flex;flex-direction:column}.contact-form .form-group.full{grid-column:1/span 2}.contact-form button,.contact-form label{font-family:DressCode,serif!important;text-transform:uppercase;letter-spacing:2px;color:#5c604c;font-size:14px}.contact-form input,.contact-form textarea{font-family:'EB Garamond',serif;font-size:16px;padding:10px 12px;border:1px solid #dcd9cd;border-radius:2px;background:#fcfbf8;color:#5c604c;outline:0;transition:border-color .3s}.contact-form input:focus,.contact-form textarea:focus{border-color:#5c604c}.contact-form .btn{background-color:#5c604c;color:#fffef5;font-family:'DressCode Bold',serif;font-size:16px;letter-spacing:.5px;border:none;padding:12px 30px;border-radius:2px;cursor:pointer;transition:background .3s}.header,.header .logo,.nav{transition:.4s}.contact-form .btn:hover{background-color:#6d715a}.form-submit{grid-column:2;text-align:right}.form-message{margin-top:15px;display:none;font-family:'EB Garamond',serif;font-size:15px;padding:10px 15px;border-radius:4px}.form-message.success{color:#3b5430;background:#e6f3e2;border:1px solid #b8d7b0}.form-message.error{color:#7a1b1b;background:#fbeaea;border:1px solid #e2b2b2}.title-icon{display:flex;align-items:flex-start;gap:10px}.title-icon.right{justify-content:flex-start}.title-icon.right .title-picto{position:absolute;right:50px;top:10px}.title-picto{width:38px;height:auto;opacity:.9}.title-picto.small{width:58px;opacity:.9}.title-picto.smaller{width:78px;opacity:.9}.bee-divider{width:100%;margin-top:-60px;z-index:5;text-align:center}.bee-divider img{max-width:220px;height:auto;opacity:.9}.bee-divider-bottom{position:relative;width:100vw;left:50%;right:50%;z-index:10;display:flex;justify-content:center;overflow:hidden;margin:100px -50vw -90px}.bee-divider-bottom img{width:100%;height:auto;max-height:160px;object-fit:cover;mix-blend-mode:multiply}.section,.section.alt{padding-top:80px;padding-bottom:80px}.section-icon{text-align:center;margin-bottom:24px}.section-icon img{width:90px;height:auto;opacity:1;transition:transform .4s}.burger.active span:nth-child(2),.h2 span{opacity:0}.section-icon img:hover{transform:scale(1.05);opacity:1}.burger{display:none;flex-direction:column;justify-content:space-between;width:26px;height:18px;cursor:pointer}.burger span{height:3px;width:100%;background-color:#535743;border-radius:2px;transition:.3s}.burger.active span:first-child{transform:rotate(45deg) translateY(7px)}.burger.active span:nth-child(3){transform:rotate(-45deg) translateY(-7px)}.mobile-menu{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:80px}.mobile-header{width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:40px}.mobile-logo{width:120px;filter:brightness(1.3) contrast(1.3)!important;opacity:1!important;mix-blend-mode:normal!important}.close-btn{position:absolute;right:30px;top:10px;font-size:38px;color:#f8f6ed;cursor:pointer}.mobile-menu nav{display:flex;flex-direction:column;align-items:center;gap:18px}.mobile-menu nav a{color:#f8f6ed;font-family:"EB Garamond",serif;font-size:20px;transition:opacity .2s}.mobile-menu nav a:hover{opacity:.7}@media (max-width:768px){.contact-form{grid-template-columns:1fr}.form-submit{grid-column:1;text-align:left}.section{padding-top:80px;padding-bottom:80px}.nav.container{display:none}.burger{display:flex;position:absolute;top:32px;right:28px;z-index:1500}}.header,.mobile-menu{top:0;left:0;position:fixed}.ig-link{display:flex;justify-content:center;align-items:center;margin-top:20px}.mobile-footer{color:#fffef5;text-align:center;font-family:"EB Garamond",serif;font-size:14px;line-height:1.6;padding:40px 20px 30px;opacity:.85;border-top:1px solid rgba(248,246,237,.2);margin-top:30px}.mobile-footer .tel-link{color:#fffef5;text-decoration:none;font-weight:600}.mobile-footer .tel-link:hover{opacity:1;text-decoration:underline}.mobile-footer .hours{display:block;font-style:italic;margin-top:5px;font-size:13px;opacity:.9}.footer .right{display:flex;flex-direction:column;align-items:flex-end}.footer .footer-ig{margin-bottom:12px}.footer .footer-ig .ig-icon{width:30px;height:30px;opacity:.9;filter:brightness(1.1) contrast(1.1);transition:transform .3s,opacity .3s}.footer .footer-ig .ig-icon:hover,.header .social-icons img:hover,.ig-icon:hover{transform:scale(1.1);opacity:1}.footer{background:var(--kaki);color:#fff;margin-top:60px;padding:80px 0}.footer .cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;align-items:center}.footer .mini{height:110px;margin:0 auto 20px;display:block}.footer .legal{font-size:13px;line-height:1.6;opacity:.9;margin-top:6px}.footer .legal a{transition:opacity .2s;color:#b48a5a;text-decoration:underline}.footer .legal a:hover{opacity:.7;text-decoration:underline;color:#8d6c43}.footer .right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.footer .right a img{width:28px;height:28px;transition:transform .3s}.footer .right a img:hover{transform:scale(1.1)}.header{background:var(--beige);box-shadow:none;padding-top:40px;padding-bottom:10px;width:100%;z-index:100}.header .brandbar{display:flex;flex-direction:column;align-items:center;transition:.4s}.header .logo{height:150px}.nav{display:flex;justify-content:center;gap:28px;padding:16px 0}.header.scrolled{background:rgba(255,254,245,.9);backdrop-filter:blur(10px);box-shadow:0 2px 8px rgba(0,0,0,.06);padding-top:10px;padding-bottom:6px}.header.scrolled .brandbar{transform:translateY(-8px)}.header.scrolled .logo{height:80px;transform:translateY(-4px)}.header.scrolled .nav{gap:20px;padding:8px 0 10px;transform:translateY(-4px)}.hero .hero-kaki{width:100%;height:700px;min-height:480px;background-attachment:fixed;background-position:var(--fx,50%) var(--fy,50%);background-size:cover;background-repeat:no-repeat;border-radius:2px;margin:20px 0 60px}@media (min-width:1400px){.hero .hero-kaki{height:850px}}.grid-4 .ph img{transition:transform .6s,filter .6s}.grid-4 .ph:hover img{transform:scale(1.05);filter:brightness(1.05) contrast(1.05)}.h2 span{display:inline-block;transform:translateY(40px);animation:.8s forwards revealText}.mobile-menu.active,.section-divider img{transform:translateY(0)}@keyframes revealText{to{opacity:1;transform:translateY(0)}}@media screen and (max-width:768px){.header .ig{display:none!important;position:static!important;visibility:hidden!important}}.section-divider{text-align:center;margin:25px 0}.section-divider img{width:400px;height:auto;opacity:.8;display:inline-block;transition:opacity .8s,transform .8s}.burger{z-index:3000!important}.mobile-menu{width:100vw;height:100vh;z-index:2500;background-color:#535743;overflow-y:auto;transform:translateY(-100%);transition:transform .4s}body.menu-open{overflow:hidden;height:100vh}@media (max-width:900px){.title-icon.right .title-picto{position:static;margin-left:10px}.bee-divider img{max-width:250px;opacity:.8}.bee-divider-bottom img{max-height:100px}.footer .cols{grid-template-columns:1fr;gap:50px;text-align:center}.footer .right{align-items:center;text-align:center}.footer .right a img{margin:0 auto 10px}.contact-form .form-group.full,.form-submit{grid-column:1}.contact-form{grid-template-columns:1fr;gap:24px}.form-submit{text-align:left}.contact-form input,.contact-form textarea{width:100%;font-size:16px}.contact-form button{width:100%;text-align:center;font-size:15px;padding:14px 0}}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:60px auto 0;width:100%;max-width:1200px;padding:0 20px}.gallery img{width:100%;height:auto;object-fit:cover;border-radius:4px;display:block;transition:transform .4s,opacity .4s;cursor:pointer}.gallery img:hover{transform:scale(1.03);opacity:.95}.header .social-icons img,.ig-icon{opacity:.9;transition:transform .3s,opacity .3s}@media (max-width:1024px){.hero .hero-kaki{height:auto;min-height:clamp(520px,68vh,860px);background-attachment:scroll}.grid-2,.grid-2.alt{display:flex;flex-direction:column}.grid-2 .duo{order:2}.grid-2 .textcol{order:1}.gallery{grid-template-columns:repeat(2,1fr);gap:18px}}@media (max-width:640px){.hero .hero-kaki{height:auto;min-height:clamp(500px,78vh,900px);border-radius:0}.gallery{grid-template-columns:1fr;gap:14px}}.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);justify-content:center;align-items:center;z-index:5000}.lightbox.active{display:flex}.lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:6px;box-shadow:0 0 25px rgba(0,0,0,.5)}.footer-ig,.ig-link,.social-icons{display:flex;align-items:center;gap:12px}.ig-icon{width:28px;height:28px}.header .social-icons{position:absolute;top:10px;right:20px;display:flex;gap:12px;z-index:1200}.header .social-icons img{width:26px;height:26px}@media (max-width:768px){.header .social-icons{display:none!important}}.hero{min-height:80vh;overflow:hidden}.hero-image{display:block;width:100%;height:auto;object-fit:cover;max-height:90vh}.header{min-height:90px}.logo{width:140px;height:auto}img[loading=lazy]{transition:opacity .3s ease-in;opacity:0} /* === FIX CLS MENU MOBILE + ICONES === */
#mobileMenu,.mobile-menu{position:fixed;top:0;left:0;width:100vw;height:100vh;transform:translateY(-100%);transition:transform .4s ease;z-index:2500;background-color:#535743;overflow-y:auto;display:block;will-change:transform}
#mobileMenu.active,.mobile-menu.active{transform:translateY(0)}
body.menu-open{overflow:hidden;height:100vh}
.ig-icon,.footer .footer-ig .ig-icon,.header .social-icons img{width:28px;height:28px;aspect-ratio:1/1;display:inline-block}
.header{min-height:90px}
/* === FIX CLS BRAND BAR === */
.brandbar{min-height:160px}
/* === FIX CLS MOBILE MENU FINAL === */
#mobileMenu,.mobile-menu{position:fixed;inset:0;width:100vw;height:100vh;background-color:#535743;overflow-y:auto;transform:translateY(-100%);transition:transform .4s ease;z-index:2500;contain:layout paint;will-change:transform;visibility:hidden;pointer-events:none}
#mobileMenu.active,.mobile-menu.active{transform:translateY(0);visibility:visible;pointer-events:all}
body.menu-open{overflow:hidden;height:100vh}
body{opacity:1!important;transform:none!important}
/* === FIX DEFINITIF ESPACE ENTRE HERO ET SECTION === */
body {
  padding-top: 0 !important;
  margin: 0 !important;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2000;
}

.hero {
  margin: 0 !important;
  padding: 0 !important;
  min-height: auto !important;
}

.hero .hero-kaki {
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 100vh; /* prend toute la hauteur de l’écran */
  background-attachment: scroll !important;
  background-position: center center !important;
}

main,
section:first-of-type {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Ajustement responsive */
@media (max-width: 1024px) {
  .hero .hero-kaki {
    min-height: 90vh !important;
  }
  .header {
    background: var(--beige);
  }
}
/* === FIX FINAL : HERO NON MASQUÉ PAR LE HEADER === */
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2000;
  background: var(--beige);
}

body {
  padding-top: 140px !important; /* espace égal à la hauteur du header */
}

.hero {
  margin: 0 !important;
  padding-top: 0 !important;
}

.hero .hero-kaki {
  margin: 0 !important;
  padding-top: 0 !important;
  min-height: calc(100vh - 140px) !important; /* hero prend tout l'écran sans être masqué */
  background-position: center center !important;
  background-attachment: scroll !important;
}
/* === AJUSTEMENT FINAL HERO + ESPACE ENTRE SECTIONS === */

/* Hero : hauteur normale sur desktop */
.hero .hero-kaki {
  min-height: 70vh !important; /* hauteur équilibrée sur grand écran */
  background-size: cover !important;
  background-position: center center !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Hero plus haut sur mobile uniquement */
@media (max-width: 768px) {
  .hero .hero-kaki {
    min-height: 90vh !important; /* immersive uniquement sur petits écrans */
  }
}

/* Réduction de l’espace entre hero et 1re section sur desktop */
@media (min-width: 1025px) {
  main,
  section:first-of-type {
    margin-top: 0 !important;
    padding-top: 20px !important; /* espace visuel doux mais pas excessif */
  }

  .hero {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Sécurité pour ne pas casser les autres pages */
.page-template-default .hero,
.page-template-default .hero .hero-kaki {
  margin-bottom: 0 !important;
}
/* === FIX GLOBAL HERO & ESPACEMENT ENTRE HEADER / HERO / SECTION === */

/* Réinitialise les marges parasites */
body {
  padding-top: 140px !important; /* espace sous le header fixe */
}

/* Hero standard (index + autres pages) */
.hero,
.hero .hero-kaki {
  margin-top: 0 !important;
  padding-top: 0 !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

/* Hauteur équilibrée sur desktop */
.hero .hero-kaki {
  min-height: 70vh !important;
}

/* Hauteur immersive uniquement sur mobile */
@media (max-width: 768px) {
  .hero .hero-kaki {
    min-height: 90vh !important;
  }
}

/* Supprime le vide entre hero et la première section sur toutes les pages */
main,
section:first-of-type {
  margin-top: 0 !important;
  padding-top: 40px !important;
}

/* Cas spécifique : pages avec hero couleur (comme Contact) */
.hero-kaki[style*="background-color"],
.hero[style*="background-color"] {
  min-height: 40vh !important;
  padding-bottom: 0 !important;
}

/* Correction des sections trop espacées sur desktop */
@media (min-width: 1025px) {
  section:first-of-type {
    padding-top: 20px !important;
  }
}

/* Sécurité : évite que le header recouvre le haut du hero */
.header {
  z-index: 2000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}
.hero .hero-kaki {
  width: 100%;
  height: auto;
  min-height: clamp(520px, 70vh, 840px);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 2px;
}

@media (max-width: 1024px) {
  .hero .hero-kaki {
    min-height: clamp(500px, 78vh, 900px);
    border-radius: 0;
    background-attachment: scroll;
  }
}
/* === HERO RESPONSIVE ADAPTÉ === */
@media (max-width: 768px) {
  .hero-image {
    aspect-ratio: 4 / 3 !important; /* plus haut sur mobile */
  }
}

@media (min-width: 769px) {
  .hero-image {
    aspect-ratio: 16 / 7 !important; /* plus panoramique sur desktop */
  }
}
.fade, .fade-up, .fade-left, .fade-right, .zoom-in, .zoom-out {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-left { transform: translateX(-30px); }
.fade-right { transform: translateX(30px); }
.zoom-in { transform: scale(0.95); }
.zoom-out { transform: scale(1.05); }

.visible {
  opacity: 1 !important;
  transform: none !important;
}
/* === FIX : POSITION DU PICTO UNIQUEMENT POUR LA GALERIE === */
.section.center .section-icon.section-icongal {
  margin-top: 160px !important; /* Force la priorité sur la règle générique */
}

@media (max-width: 768px) {
  .section.center .section-icon.section-icongal {
    margin-top: 80px !important;
  }
}