
:root{
  --fire:#FF4D00;--ember:#FF8C00;
  --gold:#C9A84C;--gold-light:#E8C97A;--gold-dim:rgba(201,168,76,.18);
  --smoke:#1a1410;--ash:#0D0B08;--dark2:#111111;--dark3:#1A1A1A;
  --cream:#F0E6D3;--dim:rgba(240,230,211,.5);
  --bg:var(--ash);--bg2:var(--dark2);--bg3:var(--dark3);
  --text:var(--cream);--text-dim:rgba(240,230,211,.5);
  --border:rgba(255,255,255,.06);
  --card-bg:rgba(255,255,255,.03);
  --transition-theme:background .4s ease,color .4s ease,border-color .4s ease,box-shadow .4s ease;
}

/* ══ MODE CLAIR ══ */
body.light-mode{
  --ash:#f5f0e8;--dark2:#ede6d6;--dark3:#e5dcc8;
  --smoke:#ddd5c0;
  --cream:#2a1f0a;--dim:rgba(42,31,10,.55);
  --bg:var(--ash);--bg2:var(--dark2);--bg3:var(--dark3);
  --text:var(--cream);--text-dim:rgba(42,31,10,.55);
  --border:rgba(0,0,0,.08);
  --card-bg:rgba(0,0,0,.03);
}
body.light-mode{background:var(--ash);color:var(--cream);}
body.light-mode nav{background:rgba(245,240,232,.95)!important;}
body.light-mode nav.scrolled{background:rgba(245,240,232,.97)!important;border-bottom:1px solid rgba(201,168,76,.25);}
body.light-mode .nav-logo{color:#2a1f0a!important;}
body.light-mode .nav-links a{color:rgba(42,31,10,.7)!important;}
body.light-mode .nav-links a:hover{color:var(--gold)!important;}
body.light-mode .menu-section{background:var(--dark2);}
body.light-mode .mli{border-bottom-color:rgba(0,0,0,.06);}
body.light-mode .mli:hover{background:rgba(201,168,76,.08);}
body.light-mode .mli-name{color:#2a1f0a;}
body.light-mode .mli-desc{color:rgba(42,31,10,.55);}
body.light-mode .testi-section{background:var(--dark2);}
body.light-mode .testi-card{background:rgba(0,0,0,.04);border-color:rgba(201,168,76,.2);}
body.light-mode .testi-card:hover{background:rgba(0,0,0,.06);}
body.light-mode .testi-name{color:#2a1f0a;}
body.light-mode .testi-text{color:rgba(42,31,10,.7);}
body.light-mode .histoire-section{background:var(--dark3);}
body.light-mode .histoire-lead{color:#2a1f0a;}
body.light-mode .histoire-body{color:rgba(42,31,10,.65);}
body.light-mode footer{background:#2a1f0a!important;color:var(--cream)!important;}
body.light-mode .contact-section{background:var(--dark2);}
body.light-mode .form-card{background:rgba(0,0,0,.04)!important;}
body.light-mode input,body.light-mode textarea,body.light-mode select{background:rgba(0,0,0,.05)!important;color:#2a1f0a!important;border-color:rgba(0,0,0,.12)!important;}
body.light-mode .sec-label{color:var(--gold);}
body.light-mode .mob-bar{background:rgba(245,240,232,.97)!important;border-top-color:rgba(201,168,76,.2)!important;}
body.light-mode .mob-bar a{color:rgba(42,31,10,.6)!important;}
body.light-mode .mob-bar a.active{color:var(--gold)!important;}
body,body *{transition:var(--transition-theme);}
/* Exceptions : pas de transition sur les animations */
body #scroll-bar{transition:none!important;}

/* ══ BOUTON TOGGLE ══ */
.theme-toggle{
  position:fixed;
  top:1rem;right:1rem;
  z-index:9990;
  background:rgba(13,11,8,.85);
  border:1px solid rgba(201,168,76,.4);
  border-radius:50%;
  width:42px;height:42px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;
  cursor:pointer;
  backdrop-filter:blur(10px);
  box-shadow:0 2px 16px rgba(0,0,0,.5);
  transition:background .3s,border-color .3s,transform .2s,box-shadow .3s;
  padding:0;
}
.theme-toggle:hover{
  background:rgba(201,168,76,.2);
  border-color:var(--gold);
  transform:scale(1.12);
  box-shadow:0 4px 22px rgba(201,168,76,.3);
}
.theme-toggle.spinning{animation:themeSpin .4s cubic-bezier(.4,0,.2,1) forwards;}
@keyframes themeSpin{
  0%  {transform:rotate(0deg)   scale(1);}
  50% {transform:rotate(200deg) scale(1.2);}
  100%{transform:rotate(360deg) scale(1);}
}
body.light-mode .theme-toggle{background:rgba(245,240,232,.9);border-color:rgba(201,168,76,.5);box-shadow:0 2px 16px rgba(0,0,0,.15);}
@media(max-width:768px){.theme-toggle{top:.7rem;right:.7rem;width:38px;height:38px;font-size:1rem;}}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{
  scroll-behavior:smooth;
  scroll-padding-top:70px;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
body{
  font-family:'Barlow',sans-serif;
  background:var(--ash);
  color:var(--cream);
  overflow-x:hidden;
  width:100%;
  max-width:100%;
  position:relative;
}
/* ══ CURSEUR — normal ══ */
/* curseur feu désactivé */
#cur, .cur-ring, .fire-particle { display: none !important; }
}
nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:1.2rem 3rem;display:flex;justify-content:space-between;align-items:center;transition:background .4s;}
nav.scrolled{background:rgba(13,11,8,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(201,168,76,.15);}
.nav-logo{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:3px;color:#fff;text-decoration:none;}
.nav-logo span{color:var(--gold);}
.nav-links{display:flex;gap:2rem;list-style:none;align-items:center;}
.nav-links a{font-size:.68rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:rgba(240,230,211,.65);text-decoration:none;transition:color .2s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .3s;}
.nav-links a:hover{color:var(--gold);}.nav-links a:hover::after{transform:scaleX(1);}
.nav-call{background:var(--gold)!important;color:#000!important;padding:.5rem 1.4rem;font-weight:800!important;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%);}
.nav-call:hover{background:var(--gold-light)!important;}.nav-call::after{display:none!important;}
.hero{position:relative;width:100%;max-width:100%;height:100vh;height:100dvh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0A0805;box-sizing:border-box;}
#vid-main{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.48) saturate(1.6) contrast(1.1);z-index:1;}
.hero-grad{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(to bottom,rgba(13,11,8,.6) 0%,transparent 25%,transparent 58%,rgba(13,11,8,1) 100%),radial-gradient(ellipse at 50% 85%,rgba(255,77,0,.13) 0%,transparent 55%);}
.hero-grain{display:none;}
.hero-content{position:relative;z-index:5;text-align:center;padding:0 2rem;display:flex;flex-direction:column;align-items:center;}
.hero-eyebrow{font-size:clamp(1.8rem,3vw,2.7rem);font-weight:800;letter-spacing:8px;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem;opacity:0;animation:fadeUp 1s ease .4s both;}
.hero-eyebrow::before,.hero-eyebrow::after{content:'';width:50px;height:1px;background:var(--gold);}
.hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(5rem,16vw,13rem);line-height:.88;color:#fff;letter-spacing:4px;text-shadow:0 2px 60px rgba(0,0,0,.8),0 0 120px rgba(255,77,0,.15);}
.title-line{display:block;overflow:hidden;}
.tw{display:inline-block;opacity:0;transform:translateY(105%);animation:revWord .9s cubic-bezier(.16,1,.3,1) both;}
.tw1{animation-delay:.55s;}.tw2{color:var(--fire);animation-delay:.78s;}
.hero-sub{font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:900;letter-spacing:6px;text-transform:uppercase;color:rgba(240,230,211,.99);margin-top:1.5rem;margin-bottom:3rem;opacity:0;animation:fadeUp 1s ease 1.1s both;text-shadow:0 2px 12px rgba(0,0,0,.7);}
.hero-btns{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center;opacity:0;animation:fadeUp 1s ease 1.3s both;}
.btn-fire{background:var(--fire);color:#fff;padding:1.1rem 3rem;font-size:.72rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;text-decoration:none;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);transition:background .25s,transform .25s;display:inline-flex;align-items:center;gap:.8rem;border:none;cursor:pointer;font-family:'Barlow',sans-serif;}
.btn-fire:hover{background:var(--ember);transform:translateY(-3px);}
.btn-ghost{background:transparent;color:var(--cream);padding:1.1rem 3rem;font-size:.72rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;text-decoration:none;border:1px solid rgba(240,230,211,.35);transition:border-color .25s,color .25s;display:inline-flex;align-items:center;gap:.8rem;}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
.scroll-ind{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:.6rem;color:rgba(240,230,211,.35);font-size:.58rem;letter-spacing:4px;text-transform:uppercase;opacity:0;animation:fadeIn 1s ease 2.2s both;}
.scroll-arr{width:22px;height:22px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:rotate(45deg);animation:bounce 1.8s ease-in-out infinite;}
@keyframes bounce{0%,100%{transform:rotate(45deg) translateY(0);}50%{transform:rotate(45deg) translateY(7px);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes revWord{from{opacity:0;transform:translateY(105%);}to{opacity:1;transform:translateY(0);}}
.marquee{background:var(--fire);overflow:hidden;white-space:nowrap;padding:.9rem 0;position:relative;z-index:10;}
.mtrack{display:inline-flex;animation:mq 24s linear infinite;}
.mitem{font-family:'Bebas Neue',sans-serif;font-size:1.05rem;letter-spacing:3px;color:#fff;padding:0 2rem;display:inline-flex;align-items:center;gap:1.5rem;}
.mdot{width:4px;height:4px;background:rgba(255,255,255,.4);border-radius:50%;flex-shrink:0;}
@keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
/* ══ RÉVÉLATIONS CINÉMATIQUES ══ */
[data-r]{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
/* Default: slide up */
[data-r]:not([data-anim]){transform:translateY(50px);}
[data-r][data-anim="left"]{transform:translateX(-60px);}
[data-r][data-anim="right"]{transform:translateX(60px);}
[data-r][data-anim="bottom"]{transform:translateY(70px);}
[data-r][data-anim="scale"]{transform:translateY(40px) scale(.96);}
/* Visible state */
[data-r].vis{opacity:1;transform:translateY(0) translateX(0) scale(1);}
/* Staggered delay for siblings */
[data-r]:nth-child(2){transition-delay:.1s;}
[data-r]:nth-child(3){transition-delay:.2s;}
[data-r]:nth-child(4){transition-delay:.3s;}
[data-r]:nth-child(5){transition-delay:.4s;}
/* ══ LETTER REVEAL ══ */
[data-letter] .lr-char{display:inline;opacity:0;transition:opacity .35s ease,transform .35s ease;transition-delay:var(--cd,0s);vertical-align:baseline;}
[data-letter].lr-vis .lr-char{opacity:1;}
[data-letter] em .lr-char{color:inherit;}
.menu-section{background:var(--dark2);padding:6rem 0;}
.sec-label{font-size:.62rem;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.8rem;}
.sec-title{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5vw,3.5rem);color:var(--gold);font-weight:700;}
.menu-inner{max-width:900px;margin:0 auto;}
.menu-header{padding:0 2rem;margin-bottom:2rem;}
.menu-tabs{display:flex;flex-wrap:wrap;padding:0 2rem;border-bottom:1px solid rgba(201,168,76,.15);}
.mtab{padding:.75rem 1.5rem;font-size:.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--dim);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;transition:color .2s,border-color .2s;font-family:'Barlow',sans-serif;}
.mtab:hover{color:#fff;}.mtab.active{color:var(--gold);border-bottom-color:var(--gold);}
.menu-list{padding:0 1.5rem;}
.mli{
  display:flex;align-items:center;gap:1.2rem;padding:1.1rem 1rem;
  border-bottom:1px solid rgba(255,255,255,.04);
  border-radius:8px;margin-bottom:.4rem;
  transition:background .3s,border-color .3s,transform .25s,box-shadow .3s;
  position:relative;overflow:hidden;
}
.mli::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.04) 0%,transparent 60%);
  opacity:0;transition:opacity .3s;border-radius:8px;
}
.mli:hover{
  background:rgba(201,168,76,.07);
  border-color:rgba(201,168,76,.2);
  transform:translateX(4px);
  box-shadow:inset 0 0 0 1px rgba(201,168,76,.12),0 4px 20px rgba(0,0,0,.2);
}
.mli:hover::before{opacity:1;}
.mli-img{
  width:70px;height:70px;border-radius:50%;flex-shrink:0;overflow:hidden;
  border:2px solid rgba(201,168,76,.2);
  box-shadow:0 0 0 0 rgba(201,168,76,0);
  transition:border-color .3s,box-shadow .3s,transform .3s;
}
.mli:hover .mli-img{
  border-color:rgba(201,168,76,.6);
  box-shadow:0 0 14px rgba(201,168,76,.25);
  transform:scale(1.06);
}
.mli-img img{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:50%;display:block;}
.mli-info{flex:1;min-width:0;}
.mli-name{font-family:'Playfair Display',serif;font-size:1rem;color:#fff;font-weight:700;margin-bottom:.25rem;transition:color .3s;}
.mli:hover .mli-name{color:var(--gold);}
.mli-desc{font-size:.82rem;color:var(--dim);font-style:italic;line-height:1.45;}
.mli-dots{flex:1;border-bottom:1px dotted rgba(201,168,76,.22);margin:0 .8rem .5rem;min-width:20px;align-self:flex-end;}
.mli-price{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--gold);font-weight:700;white-space:nowrap;flex-shrink:0;}
.mli-cat{padding:1.5rem .5rem .4rem;font-size:.62rem;font-weight:800;letter-spacing:4px;text-transform:uppercase;color:rgba(201,168,76,.45);}
.mli.hidden,.mli-cat.hidden{display:none;}
.truck-section{background:var(--smoke);padding:5rem 0 0;}
.truck-hd{text-align:center;padding:0 2rem 3rem;}
.truck-hd h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,5vw,4rem);color:#fff;letter-spacing:3px;}
.truck-hd p{color:var(--dim);font-size:.95rem;font-weight:300;margin-top:.8rem;}
.truck-gif-wrap{width:100%;overflow:hidden;display:block;line-height:0;}
.truck-gif-wrap img{width:100%;height:auto;display:block;}
.emp-section{background:var(--ash);}
.emp-hd{background:var(--dark2);padding:3rem 2rem 2rem;border-bottom:1px solid rgba(201,168,76,.15);}
.emp-hd h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,3.2rem);color:#fff;font-weight:900;line-height:1.1;margin-top:.6rem;}
.emp-hd h2 em{color:var(--gold);font-style:italic;}
.emp-list{max-width:900px;margin:0 auto;}
.emp-item{padding:2.5rem 2rem;border-bottom:1px solid rgba(201,168,76,.1);transition:opacity .2s;}
.emp-item:hover{opacity:.9;}.emp-item.gold{background:var(--gold);}.emp-item.dark{background:var(--dark3);}
.emp-num{font-family:'Playfair Display',serif;font-size:2.8rem;font-weight:900;color:rgba(0,0,0,.18);line-height:1;margin-bottom:.4rem;}
.emp-item.dark .emp-num{color:var(--gold);opacity:.4;}
.emp-name{font-family:'Playfair Display',serif;font-size:clamp(1.2rem,3vw,1.7rem);color:#111;font-weight:700;margin-bottom:.4rem;line-height:1.2;}
.emp-item.dark .emp-name{color:#fff;}
.emp-hours{font-size:.95rem;color:rgba(0,0,0,.55);font-weight:600;letter-spacing:1px;margin-bottom:1rem;}
.emp-item.dark .emp-hours{color:rgba(255,255,255,.7);}
.emp-lnk{font-size:.65rem;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--ash);text-decoration:none;border-bottom:1px solid rgba(0,0,0,.3);padding-bottom:1px;}
.emp-item.dark .emp-lnk{color:var(--gold);border-bottom-color:rgba(201,168,76,.4);}
.emp-btns{padding:2rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;background:var(--dark2);}
.emp-btns a{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 2rem;font-family:'Barlow',sans-serif;font-size:.7rem;font-weight:800;letter-spacing:3px;text-transform:uppercase;text-decoration:none;transition:background .2s;}
.a-map{border:1px solid var(--gold);color:var(--gold);background:transparent;}.a-map:hover{background:rgba(201,168,76,.1);}
.a-call{background:var(--gold);color:#000;}.a-call:hover{background:var(--gold-light);}
.map-wrap{border:1px solid rgba(201,168,76,.2);overflow:hidden;position:relative;}
.map-lbl{position:absolute;top:1.2rem;left:1.2rem;z-index:10;background:rgba(13,11,8,.92);backdrop-filter:blur(8px);padding:.6rem 1.2rem;border-left:2px solid var(--fire);font-size:.6rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--cream);}

/* ═══════════════════════════════════════
   SECTION CONTACT — STYLE DORÉ PREMIUM
═══════════════════════════════════════ */
.contact-section{
  background:var(--dark2);
  padding:8rem 0;
  position:relative;
  overflow:hidden;
}
/* Fond radial doré ambiant */
.contact-section::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(201,168,76,.05) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 50%, rgba(255,77,0,.04) 0%, transparent 55%);
  pointer-events:none;
}
/* Ligne déco haut */
.contact-section::after{
  content:'';position:absolute;top:0;left:10%;right:10%;height:1px;
  background:linear-gradient(to right,transparent,var(--gold),transparent);
  opacity:.35;
}

.contact-wrap{
  max-width:700px;margin:0 auto;padding:0 2rem;
  position:relative;z-index:1;
}

/* En-tête section */
.contact-head{text-align:center;margin-bottom:4rem;}
.contact-head .sec-label{text-align:center;margin-bottom:1rem;}
.contact-head h2{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(3rem,8vw,6rem);
  letter-spacing:4px;line-height:.9;
  color:#fff;margin-bottom:1.2rem;
}
.contact-head h2 em{
  color:var(--gold);font-style:normal;
  text-shadow:0 0 40px rgba(201,168,76,.3);
}
.contact-head p{
  color:var(--dim);font-size:1rem;font-weight:300;
  max-width:460px;margin:0 auto;line-height:1.7;
}

/* Carte formulaire */
.form-card{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(201,168,76,.15);
  padding:3.5rem;
  position:relative;
  /* Coins coupés style brand */
  clip-path:polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 20px 100%, 0 calc(100% - 20px));
}
/* Accent coin doré */
.form-card::before{
  content:'';position:absolute;top:0;right:0;
  width:60px;height:60px;
  background:linear-gradient(225deg, rgba(201,168,76,.25) 0%, transparent 60%);
  pointer-events:none;
}

/* Champs */
.f-group{
  display:flex;flex-direction:column;gap:0;
  position:relative;margin-bottom:1.8rem;
}
.f-row{
  display:grid;grid-template-columns:1fr 1fr;
  gap:1.4rem;margin-bottom:1.8rem;
}
@media(max-width:580px){.f-row{grid-template-columns:1fr;gap:0;margin-bottom:0;} .f-row .f-group{margin-bottom:1.8rem;}}

.f-label{
  font-size:.6rem;font-weight:800;letter-spacing:5px;text-transform:uppercase;
  color:rgba(201,168,76,.7);margin-bottom:.55rem;display:flex;align-items:center;gap:.5rem;
}
.f-label .opt{
  font-weight:400;letter-spacing:1px;text-transform:none;
  font-size:.72rem;color:rgba(240,230,211,.28);
}

/* Wrapper avec bordure animée */
.f-input-wrap{
  position:relative;
}
/* Bordure dorée animée au focus — pseudo-élément */
.f-input-wrap::after{
  content:'';
  position:absolute;inset:0;
  border:1px solid transparent;
  pointer-events:none;
  transition:border-color .3s;
  background:
    linear-gradient(var(--dark2),var(--dark2)) padding-box,
    linear-gradient(135deg, var(--gold), var(--ember), var(--gold)) border-box;
  opacity:0;
  transition:opacity .35s ease;
}
.f-input-wrap.focused::after{opacity:1;}

/* Glow hover */
.f-input-wrap:hover .f-input,
.f-input-wrap:hover .f-textarea{
  border-color:rgba(201,168,76,.35);
  background:rgba(255,255,255,.05);
}

.f-input,
.f-textarea{
  width:100%;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(201,168,76,.2);
  color:var(--cream);
  font-family:'Barlow',sans-serif;
  font-size:.95rem;font-weight:300;
  padding:.95rem 1.3rem;
  outline:none;
  transition:border-color .3s, background .3s, box-shadow .3s;
  -webkit-appearance:none;
  border-radius:0;
  position:relative;z-index:1;
  background:transparent;
}
.f-input::placeholder,
.f-textarea::placeholder{color:rgba(240,230,211,.2);}

.f-input:focus,
.f-textarea:focus{
  border-color:transparent;
  box-shadow:0 0 0 1px transparent, 0 4px 24px rgba(201,168,76,.08);
}

.f-textarea{
  resize:vertical;min-height:160px;max-height:320px;line-height:1.65;
}

/* Compteur caractères */
.char-row{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:.5rem;
}
.char-hint{font-size:.7rem;color:rgba(240,230,211,.25);}
.char-count{
  font-size:.7rem;font-weight:700;letter-spacing:1px;
  color:rgba(240,230,211,.3);transition:color .25s;
}
.char-count.warn{color:var(--ember);}
.char-count.danger{color:var(--fire);animation:pulse .6s ease infinite alternate;}
@keyframes pulse{from{opacity:1;}to{opacity:.5;}}

/* Erreur */
.f-error{
  font-size:.72rem;color:var(--fire);margin-top:.4rem;
  opacity:0;transform:translateY(-3px);
  transition:opacity .2s,transform .2s;
  pointer-events:none;
}
.f-error.show{opacity:1;transform:translateY(0);}
.f-input.err,.f-textarea.err{border-color:rgba(255,77,0,.5)!important;}

/* Honeypot */
.hp{position:absolute;left:-9999px;opacity:0;pointer-events:none;}

/* Bouton submit */
.submit-row{margin-top:.5rem;display:flex;justify-content:flex-end;}
.btn-send{
  background:linear-gradient(135deg, var(--gold) 0%, var(--ember) 100%);
  color:#0D0B08;
  padding:1.1rem 3.2rem;
  font-family:'Barlow',sans-serif;
  font-size:.72rem;font-weight:800;letter-spacing:4px;text-transform:uppercase;
  border:none;cursor:pointer;
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);
  transition:filter .25s,transform .25s,opacity .2s;
  display:inline-flex;align-items:center;gap:.8rem;
  position:relative;overflow:hidden;
}
/* Shimmer hover */
.btn-send::before{
  content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);
  transition:left .5s;
}
.btn-send:hover::before{left:130%;}
.btn-send:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-2px);}
.btn-send:disabled{opacity:.5;cursor:not-allowed;}
/* Spinner */
.btn-send .spin{
  width:16px;height:16px;
  border:2px solid rgba(0,0,0,.2);border-top-color:#0D0B08;
  border-radius:50%;animation:rot .7s linear infinite;display:none;
}
.btn-send.loading .btn-txt{display:none;}
.btn-send.loading .spin{display:block;}
@keyframes rot{to{transform:rotate(360deg);}}

/* ── MESSAGE MERCI ── */
.thanks-box{
  display:none;
  flex-direction:column;align-items:center;
  text-align:center;
  padding:4rem 2rem;
  border:1px solid rgba(201,168,76,.25);
  background:rgba(201,168,76,.04);
  position:relative;
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));
  animation:cardIn .5s ease both;
}
@keyframes cardIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.thanks-box.show{display:flex;}

/* Flamme animée */
.thanks-flame{
  font-size:4rem;margin-bottom:1.5rem;
  animation:flameDance 1.5s ease-in-out infinite alternate;
  display:inline-block;
}
@keyframes flameDance{
  from{transform:scale(1) rotate(-3deg);}
  to{transform:scale(1.12) rotate(3deg);}
}

.thanks-box h3{
  font-family:'Bebas Neue',sans-serif;
  font-size:3rem;letter-spacing:4px;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  margin-bottom:.8rem;line-height:1;
}
.thanks-box p{
  color:var(--dim);font-size:1rem;font-weight:300;
  max-width:380px;margin:0 auto 2.2rem;line-height:1.7;
}
/* Ligne déco */
.thanks-divider{
  width:80px;height:1px;
  background:linear-gradient(to right,transparent,var(--gold),transparent);
  margin:.8rem auto 1.8rem;
}
.btn-again{
  background:transparent;
  border:1px solid rgba(201,168,76,.4);
  color:var(--gold);
  padding:.85rem 2.4rem;
  font-family:'Barlow',sans-serif;
  font-size:.7rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  cursor:pointer;
  transition:background .2s,border-color .2s,transform .2s;
}
.btn-again:hover{
  background:rgba(201,168,76,.08);
  border-color:var(--gold);
  transform:translateY(-2px);
}

/* FOOTER & CTA */
.cta-section{background:var(--smoke);padding:7rem 0;text-align:center;position:relative;}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(255,77,0,.08) 0%,transparent 60%);pointer-events:none;}
.cta-section h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(3.5rem,9vw,7rem);color:#fff;letter-spacing:4px;line-height:.92;margin-bottom:1.4rem;}
.cta-section h2 em{color:var(--fire);font-style:normal;}
.cta-section p{color:var(--dim);max-width:460px;margin:0 auto 2.5rem;font-size:.95rem;font-weight:300;}
.cta-phone{display:inline-flex;align-items:center;gap:1rem;background:var(--fire);color:#fff;text-decoration:none;padding:1.2rem 3.5rem;font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:3px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);transition:background .2s,transform .2s;}
.cta-phone:hover{background:var(--ember);transform:translateY(-3px);}
/* Réseaux sociaux */
.social-bar{background:#070503;border-top:1px solid rgba(201,168,76,.12);padding:1.6rem 3rem;display:flex;justify-content:center;align-items:center;gap:1.2rem;flex-wrap:wrap;}
.social-label{font-size:.58rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:rgba(240,230,211,.3);margin-right:.4rem;}
.social-link{display:inline-flex;align-items:center;gap:.55rem;padding:.65rem 1.4rem;border:1px solid rgba(240,230,211,.1);color:rgba(240,230,211,.55);text-decoration:none;font-size:.65rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;transition:border-color .25s,color .25s,background .25s,transform .2s;}
.social-link:hover{transform:translateY(-2px);}
.social-link.fb{--sc:#1877F2;}.social-link.fb:hover{border-color:var(--sc);color:var(--sc);background:rgba(24,119,242,.07);}
.social-link.ig{--sc:#E1306C;}.social-link.ig:hover{border-color:var(--sc);color:var(--sc);background:rgba(225,48,108,.07);}
.social-link.tk{--sc:#69C9D0;}.social-link.tk:hover{border-color:var(--sc);color:var(--sc);background:rgba(105,201,208,.07);}
.social-link svg{width:14px;height:14px;fill:currentColor;flex-shrink:0;}
footer{background:#070503;padding:1.6rem 3rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,77,0,.1);flex-wrap:wrap;gap:1rem;}
.foot-logo{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:3px;color:#fff;}
.foot-logo span{color:var(--fire);}
footer p{font-size:.68rem;color:rgba(240,230,211,.3);letter-spacing:2px;}
.mob-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:500;background:var(--dark2);border-top:1px solid rgba(201,168,76,.3);padding:.6rem 0;}
.mob-bar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;text-decoration:none;color:var(--dim);font-size:.58rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
.mob-bar a.call{color:var(--gold);}.mbi{font-size:1.3rem;}
@media(max-width:768px){
  nav{padding:.9rem 1.2rem;}.nav-links{display:none;}
  .hero-title{font-size:clamp(3rem,16vw,6rem);}
  .hero-eyebrow{font-size:1rem;letter-spacing:3px;margin-bottom:.5rem;}
  .hero-sub{font-size:1.1rem;letter-spacing:3px;margin-top:.8rem;margin-bottom:1.5rem;}
  .hero-content{padding-top:1rem;gap:0;}
  .mli-dots{display:none;}.mli-img{width:56px;height:56px;}
  .mob-bar{display:flex;}footer{padding-bottom:5rem;}
  /* ══ MENU TABS SCROLL SNAP MOBILE ══ */
  .menu-tabs{
    display:flex;flex-wrap:nowrap;
    overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;padding:0 1rem;
    gap:.5rem;
    border-bottom:1px solid rgba(201,168,76,.15);
  }
  .menu-tabs::-webkit-scrollbar{display:none;}
  .mtab{
    scroll-snap-align:start;flex-shrink:0;
    white-space:nowrap;
  }
  .menu-tabs,.menu-list{padding:0 .5rem;}.menu-header{padding:0 1rem;}
  .emp-btns{flex-direction:column;align-items:center;}
  .contact-wrap{padding:0 1.2rem;}
  .form-card{padding:2rem 1.4rem;}
  .submit-row{justify-content:stretch;}.btn-send{width:100%;justify-content:center;}
  .social-bar{padding:1.4rem 1rem;gap:.7rem;}
  .social-label{width:100%;text-align:center;margin-right:0;}
  .social-link{padding:.55rem 1rem;font-size:.6rem;}
}

/* ═══════════════════════════════════════
   SECTION ÉVÉNEMENTS — CARROUSEL
═══════════════════════════════════════ */
.events-section{
  background:var(--smoke);
  padding:7rem 0 5rem;
  position:relative;
  overflow:hidden;
}
.events-section::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 30% 0%,rgba(255,77,0,.06) 0%,transparent 55%),
             radial-gradient(ellipse at 70% 100%,rgba(201,168,76,.05) 0%,transparent 55%);
  pointer-events:none;
}
.events-head{
  text-align:center;
  padding:0 2rem 4rem;
  position:relative;z-index:1;
}
.events-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(2.6rem,7vw,5.5rem);
  letter-spacing:3px;line-height:.92;
  color:#fff;margin-bottom:1rem;margin-top:.5rem;
}
.events-title em{color:var(--fire);font-style:normal;}
.events-sub{
  color:var(--dim);font-size:1rem;font-weight:300;
  max-width:500px;margin:0 auto;line-height:1.7;
}

/* Carrousel wrapper */
.ev-carousel-wrap{
  position:relative;
  max-width:960px;
  margin:0 auto;
  padding:0 1rem;
  overflow:hidden;
}
.ev-track{
  display:flex;
  transition:transform .55s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}

/* Carte événement */
.ev-card{
  flex:0 0 100%;
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  background:var(--dark2);
  border:1px solid rgba(201,168,76,.14);
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px));
  overflow:hidden;
}

/* Image */
.ev-img-wrap{
  position:relative;
  overflow:hidden;
  min-height:420px;
}
.ev-img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s ease;
  filter:brightness(.85) saturate(1.2);
}
.ev-card:hover .ev-img{transform:scale(1.04);}
.ev-img-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,77,0,.18) 0%,rgba(13,11,8,.55) 100%);
  pointer-events:none;
}
.ev-badge{
  position:absolute;top:1.2rem;left:1.2rem;
  background:rgba(13,11,8,.85);backdrop-filter:blur(10px);
  border:1px solid rgba(201,168,76,.35);
  padding:.4rem 1rem;
  font-size:.6rem;font-weight:800;letter-spacing:3px;text-transform:uppercase;
  color:var(--gold);
}

/* Corps texte */
.ev-body{
  padding:2.5rem 2.2rem;
  display:flex;flex-direction:column;
  gap:1rem;
  overflow-y:auto;
  max-height:480px;
}
.ev-price-tag{
  font-size:.65rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  color:rgba(240,230,211,.4);
}
.ev-price-tag strong{color:var(--gold);font-size:.9rem;letter-spacing:1px;}
.ev-name{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.5rem,3vw,2rem);
  color:#fff;font-weight:700;line-height:1.15;
}
.ev-desc{
  font-size:.9rem;color:var(--dim);font-weight:300;line-height:1.65;
  border-left:2px solid var(--fire);padding-left:1rem;
}
.ev-services{
  list-style:none;display:flex;flex-direction:column;gap:.9rem;
}
.ev-services li{
  display:flex;gap:.8rem;align-items:flex-start;
  font-size:.83rem;color:rgba(240,230,211,.7);line-height:1.5;
}
.ev-services li strong{color:var(--cream);}
.ev-icon{font-size:1rem;flex-shrink:0;margin-top:.05rem;}
.ev-cta{
  display:inline-flex;align-items:center;gap:.6rem;
  background:linear-gradient(135deg,var(--fire),var(--ember));
  color:#fff;text-decoration:none;
  padding:.9rem 2rem;
  font-size:.68rem;font-weight:800;letter-spacing:3px;text-transform:uppercase;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);
  transition:filter .25s,transform .2s;
  align-self:flex-start;margin-top:.4rem;
}
.ev-cta:hover{filter:brightness(1.15);transform:translateY(-2px);}

/* Dots */
.ev-dots{
  display:flex;justify-content:center;gap:.7rem;
  margin-top:2rem;
}
.ev-dot{
  width:10px;height:10px;border-radius:50%;
  background:rgba(240,230,211,.2);border:none;cursor:pointer;
  transition:background .3s,transform .3s;padding:0;
}
.ev-dot.active{background:var(--fire);transform:scale(1.3);}

/* Arrows */
.ev-arrow{
  position:absolute;top:45%;transform:translateY(-50%);
  background:rgba(13,11,8,.8);backdrop-filter:blur(8px);
  border:1px solid rgba(201,168,76,.3);
  color:var(--gold);
  width:46px;height:46px;
  font-size:1.2rem;
  cursor:pointer;
  transition:background .2s,transform .2s,border-color .2s;
  display:flex;align-items:center;justify-content:center;
  z-index:10;
}
.ev-arrow:hover{background:rgba(255,77,0,.2);border-color:var(--fire);color:#fff;transform:translateY(-50%) scale(1.08);}
.ev-prev{left:.5rem;}
.ev-next{right:.5rem;}

@media(max-width:768px){
  .ev-card{grid-template-columns:1fr;clip-path:none;}
  .ev-img-wrap{min-height:220px;}
  .ev-body{padding:1.8rem 1.4rem;max-height:none;}
  .ev-name{font-size:1.4rem;}
  .events-head{padding:0 1.2rem 3rem;}
  .ev-arrow{width:38px;height:38px;font-size:1rem;}
}


/* ═══════════════════════════
   BOUTON PLAY + MODAL VIDÉO
═══════════════════════════ */
.btn-play{
  position:relative;
  width:82px;height:82px;
  background:rgba(255,77,0,.15);
  border:2px solid rgba(255,77,0,.6);
  border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;
  margin-top:2.2rem;
  opacity:0;animation:fadeIn 1s ease 1.6s both;
  transition:background .3s,border-color .3s,transform .3s;
  flex-shrink:0;
}
.btn-play:hover{background:rgba(255,77,0,.3);border-color:var(--fire);transform:scale(1.1);}
/* Pulse rings */
.btn-play::before,.btn-play::after{
  content:'';
  position:absolute;inset:-10px;
  border-radius:50%;
  border:1.5px solid rgba(255,77,0,.45);
  animation:pulseRing 2.2s ease-out infinite;
}
.btn-play::after{
  inset:-22px;
  border-color:rgba(255,77,0,.22);
  animation-delay:.7s;
}
@keyframes pulseRing{
  0%{transform:scale(.85);opacity:.9;}
  70%{transform:scale(1.3);opacity:0;}
  100%{transform:scale(1.3);opacity:0;}
}
/* Triangle play icon */
.play-icon{
  width:0;height:0;
  border-top:14px solid transparent;
  border-bottom:14px solid transparent;
  border-left:22px solid #fff;
  margin-left:5px;
  filter:drop-shadow(0 0 8px rgba(255,77,0,.8));
}
.btn-play-label{
  font-size:.58rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;
  color:rgba(240,230,211,.55);margin-top:.6rem;
  opacity:0;animation:fadeIn 1s ease 1.8s both;
}

/* Modal */
.yt-modal{
  display:none;
  position:fixed;inset:0;z-index:9000;
  align-items:center;justify-content:center;
}
.yt-modal.open{display:flex;}
.yt-backdrop{
  position:absolute;inset:0;
  background:rgba(7,5,3,.92);
  backdrop-filter:blur(14px);
  cursor:pointer;
  animation:fadeIn .35s ease both;
}
.yt-box{
  position:relative;z-index:1;
  width:min(880px,94vw);
  aspect-ratio:16/9;
  background:#000;
  box-shadow:0 0 80px rgba(255,77,0,.25),0 0 160px rgba(0,0,0,.8);
  animation:modalIn .4s cubic-bezier(.16,1,.3,1) both;
}
.yt-box iframe{
  width:100%;height:100%;border:none;display:block;
}
.yt-close{
  position:absolute;top:-3rem;right:0;
  background:none;border:none;cursor:pointer;
  color:rgba(240,230,211,.7);
  font-size:1.2rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  font-family:'Barlow',sans-serif;
  display:flex;align-items:center;gap:.5rem;
  transition:color .2s;
  padding:.4rem 0;
}
.yt-close:hover{color:#fff;}
.yt-close-x{
  width:28px;height:28px;
  border:1px solid rgba(240,230,211,.3);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;line-height:1;
  transition:border-color .2s,background .2s;
}
.yt-close:hover .yt-close-x{border-color:#fff;background:rgba(255,77,0,.2);}
@keyframes modalIn{
  from{opacity:0;transform:scale(.92) translateY(24px);}
  to{opacity:1;transform:scale(1) translateY(0);}
}

/* ═══════════════════════════════════════
   SECTION PARALLAX — Nos Spécialités
═══════════════════════════════════════ */
.parallax-section {
  background: var(--ash);
  padding: 7rem 0 0;
  position: relative;
  overflow: visible;
}
.parallax-section::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse at 0% 50%, rgba(255,77,0,.05) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 50%, rgba(201,168,76,.04) 0%, transparent 50%);
}
.plx-head {
  text-align: center;
  padding: 0 2rem;
  margin-bottom: 4rem;
  position: relative; z-index: 1;
}
.plx-head h2 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(2.8rem, 7vw, 5.5rem);
  letter-spacing: 4px; line-height: .92;
  color: #fff; margin-bottom: .8rem;
}
.plx-head h2 em { color: var(--gold); font-style: normal; }
.plx-head p { color: var(--dim); font-size: .95rem; font-weight: 300; }

/* Grille 3 colonnes × 2 rangées */
.plx-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto;
  gap: 3px;
  position: relative; z-index: 1;
}

/* Chaque cellule */
.plx-cell {
  position: relative;
  overflow: hidden;
  height: 440px;
  background: #0D0B08;
  transform-style: preserve-3d;
  transition: box-shadow .4s ease;
}
.plx-cell:hover {
  box-shadow: 0 0 0 2px rgba(201,168,76,.3), inset 0 0 60px rgba(0,0,0,.3);
  z-index: 2;
}
/* Décalage vertical rangée 2 */
.plx-cell:nth-child(n+4) {
  margin-top: -70px;
}

/* Image — déborde intentionnellement pour le parallax */
.plx-img {
  position: absolute;
  top: -20%;
  left: 0;
  width: 100%;
  height: 140%;          /* 40% de plus que la cellule */
  object-fit: cover;
  object-position: var(--pos, center center);  /* centrage précis par plat */
  transform: translateY(0px);
  will-change: transform;
  transition: filter .5s ease;
  filter: brightness(.72) saturate(1.25);
}
.plx-cell:hover .plx-img {
  filter: brightness(.88) saturate(1.45);
}

/* Overlay dégradé bas */
.plx-overlay {
  position: absolute; inset: 0; z-index: 2;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(13,11,8,0) 30%,
    rgba(13,11,8,.92) 100%
  );
}

/* Légende */
.plx-label {
  position: absolute;
  bottom: 1.6rem; left: 1.6rem; right: 1.6rem;
  z-index: 3;
}
.plx-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem; font-weight: 700;
  color: #fff; display: block;
  margin-bottom: .3rem;
  text-shadow: 0 1px 10px rgba(0,0,0,.7);
}
.plx-sub {
  font-size: .62rem; font-weight: 700;
  letter-spacing: 3px; text-transform: uppercase;
  color: var(--gold); display: block;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .35s ease, transform .35s ease;
}
.plx-cell:hover .plx-sub {
  opacity: 1;
  transform: translateY(0);
}

/* Ligne feu bas au hover */
.plx-cell::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(to right, var(--fire), var(--gold));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s cubic-bezier(.4,0,.2,1);
  z-index: 4;
}
.plx-cell:hover::after { transform: scaleX(1); }

/* Numéro décoratif */
.plx-num {
  position: absolute;
  top: 1.2rem; right: 1.4rem;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 3.5rem; line-height: 1;
  color: rgba(255,255,255,.06);
  z-index: 3;
  pointer-events: none;
}

/* ── Responsive ── */
@media(max-width: 900px) {
  .plx-grid { grid-template-columns: repeat(2, 1fr); }
  .plx-cell:nth-child(n+4) { margin-top: 0; }
  .plx-cell { height: 300px; }
  .plx-img { top: -10%; height: 120%; }
  .plx-sub { opacity: 1; transform: translateY(0); }
}
@media(max-width: 500px) {
  .plx-grid { grid-template-columns: 1fr; }
  .plx-cell { height: 280px; }
}


/* ══ NOTRE HISTOIRE ══ */
.histoire-section{position:relative;background:var(--dark3);padding:7rem 2rem;overflow:hidden;}
.histoire-inner{position:relative;z-index:2;}
.histoire-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;width:100%;}
/* ══ NOTRE HISTOIRE IMAGE ══ */
.histoire-img-wrap{position:relative;border-radius:4px;overflow:hidden;cursor:default;width:100%;max-width:100%;}
.histoire-img{width:100%;max-width:100%;display:block;filter:brightness(.85) saturate(1.2);}
.histoire-img-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,77,0,.18) 0%,transparent 50%,rgba(201,168,76,.12) 100%);
  mix-blend-mode:screen;pointer-events:none;
}
/* Cadre doré */
.histoire-img-wrap::before{
  content:'';position:absolute;inset:0;
  border:2px solid transparent;
  background:linear-gradient(var(--dark3),var(--dark3)) padding-box,
             linear-gradient(135deg,var(--gold),transparent 60%) border-box;
  z-index:2;pointer-events:none;
  opacity:.4;
}
.histoire-badge{
  position:absolute;bottom:1.2rem;left:1.2rem;z-index:3;
  background:rgba(13,11,8,.85);backdrop-filter:blur(8px);
  border:1px solid rgba(201,168,76,.4);
  color:var(--gold);font-size:.65rem;font-weight:700;letter-spacing:3px;
  text-transform:uppercase;padding:.5rem 1rem;
}
.histoire-content{display:flex;flex-direction:column;gap:1.4rem;min-width:0;overflow:hidden;}
.histoire-lead{font-size:1.05rem;font-weight:300;line-height:1.8;color:var(--cream);overflow-wrap:break-word;word-break:break-word;}
.histoire-body{font-size:.92rem;font-weight:300;line-height:1.75;color:rgba(240,230,211,.7);overflow-wrap:break-word;word-break:break-word;}
.histoire-stats{display:flex;gap:2rem;margin-top:.5rem;padding-top:1.5rem;border-top:1px solid rgba(201,168,76,.15);flex-wrap:wrap;}
.hstat{display:flex;flex-direction:column;gap:.3rem;}
.hstat-num{font-family:'Bebas Neue',sans-serif;font-size:2.2rem;color:var(--gold);line-height:1;}
.hstat-label{font-size:.6rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(240,230,211,.5);}
@media(max-width:768px){
  .histoire-section{padding:4rem 1.2rem;}
  .histoire-inner{grid-template-columns:1fr;gap:2rem;}
  .histoire-img-wrap{width:100%;max-width:100%;margin:0 auto;}
  .histoire-content{width:100%;max-width:100%;}
  .histoire-stats{gap:1.2rem;}
  .hstat-num{font-size:1.7rem;}
}

/* ══ SCROLL PROGRESS BAR ══ */
#scroll-bar{position:fixed;top:0;left:0;height:3px;width:0%;z-index:9999;background:linear-gradient(90deg,var(--fire,#ff4d00),var(--gold,#c9a84c),var(--fire,#ff4d00));background-size:200% 100%;animation:pgradient 2s linear infinite;transition:width .1s linear;box-shadow:0 0 8px rgba(255,77,0,.6);}
@keyframes pgradient{0%{background-position:0% 0%}100%{background-position:200% 0%}}

/* ══ TÉMOIGNAGES ══ */
.testi-section{background:var(--dark2);padding:7rem 0 5rem;overflow:hidden;}
.testi-head{text-align:center;padding:0 2rem 3rem;max-width:600px;margin:0 auto;}
.testi-rating-global{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:1rem;}
.testi-score{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;color:var(--gold);line-height:1;}
.testi-stars-global{color:#f1c40f;font-size:1.3rem;letter-spacing:2px;}
.testi-count{font-size:.65rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(240,230,211,.4);}
.testi-track-wrap{position:relative;padding:0 1rem;}
.testi-track{display:flex;gap:1.5rem;transition:transform .5s cubic-bezier(.16,1,.3,1);will-change:transform;padding:1rem 2rem 2rem;}
.testi-card{flex:0 0 320px;background:rgba(255,255,255,.03);border:1px solid rgba(201,168,76,.12);border-radius:4px;padding:1.8rem;display:flex;flex-direction:column;gap:1rem;transition:border-color .3s,transform .3s;}
.testi-card:hover{border-color:rgba(201,168,76,.35);transform:translateY(-3px);}
.testi-top{display:flex;align-items:center;gap:.8rem;}
.testi-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem;flex-shrink:0;}
.testi-meta{flex:1;display:flex;flex-direction:column;gap:.15rem;}
.testi-name{font-size:.85rem;font-weight:600;color:var(--cream);}
.testi-date{font-size:.65rem;color:rgba(240,230,211,.4);letter-spacing:1px;}
.testi-google{width:18px;height:18px;flex-shrink:0;}
.testi-stars{color:#f1c40f;font-size:.95rem;letter-spacing:2px;}
.testi-text{font-size:.88rem;font-weight:300;line-height:1.7;color:rgba(240,230,211,.75);flex:1;}
.testi-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.05);border:1px solid rgba(201,168,76,.2);color:var(--gold);width:44px;height:44px;border-radius:50%;font-size:1.1rem;cursor:pointer;transition:background .2s,border-color .2s;z-index:2;}
.testi-arrow:hover{background:rgba(201,168,76,.15);border-color:var(--gold);}
.testi-prev{left:.2rem;}.testi-next{right:.2rem;}
.testi-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.5rem;}
.testi-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.15);cursor:pointer;transition:background .3s,width .3s;border:none;}
.testi-dot.active{background:var(--gold);width:20px;border-radius:3px;}
@media(max-width:600px){.testi-card{flex:0 0 280px;}}

/* ══ BANNIÈRE ÉVÉNEMENT ══ */
#event-banner{
  position:fixed;top:0;left:0;right:0;z-index:100000;
  transform:translateY(-110%);
  transition:transform .5s cubic-bezier(.16,1,.3,1);
  pointer-events:none;
}
#event-banner.evb-show{transform:translateY(0);pointer-events:all;}
.evb-inner{
  max-width:860px;margin:0 auto;
  background:rgba(13,11,8,.97);
  border:1px solid rgba(201,168,76,.35);
  border-radius:0 0 6px 6px;
  display:grid;grid-template-columns:auto 1fr;
  overflow:hidden;
  box-shadow:0 4px 40px rgba(0,0,0,.6),0 0 0 1px rgba(201,168,76,.1);
  backdrop-filter:blur(12px);
  position:relative;
}
.evb-inner::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(255,77,0,.04),transparent 40%);
  pointer-events:none;
}
.evb-img-wrap{position:relative;overflow:hidden;max-width:260px;}
.evb-img{width:100%;height:auto;object-fit:contain;display:block;
  transition:transform 6s ease;filter:brightness(.9) saturate(1.2);}
#event-banner.evb-show .evb-img{transform:scale(1.06);}
.evb-img-shine{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.08) 0%,transparent 60%);
  pointer-events:none;
}
.evb-content{
  padding:1.2rem 3rem 1.2rem 1.4rem;
  display:flex;flex-direction:column;justify-content:center;gap:.5rem;
}
.evb-label{
  font-size:.6rem;font-weight:700;letter-spacing:3px;
  text-transform:uppercase;color:var(--gold);
}
.evb-titre{
  font-family:'Bebas Neue',sans-serif;font-size:1.6rem;
  color:var(--cream);line-height:1.1;margin:0;
}
.evb-sous{
  font-size:.8rem;font-weight:300;
  color:rgba(240,230,211,.6);line-height:1.5;margin:0;
}
.evb-btn{
  display:inline-block;margin-top:.4rem;
  background:var(--gold);color:var(--dark);
  font-size:.65rem;font-weight:700;letter-spacing:2.5px;
  text-transform:uppercase;text-decoration:none;
  padding:.55rem 1.2rem;border-radius:2px;
  transition:background .2s,transform .2s;
  align-self:flex-start;
}
.evb-btn:hover{background:#e0ba56;transform:translateX(3px);}
.evb-close{
  position:absolute;top:.6rem;right:.6rem;
  background:rgba(245,158,11,.2);border:1.5px solid rgba(245,158,11,.7);
  color:#f59e0b;width:28px;height:28px;border-radius:50%;
  font-size:.8rem;cursor:pointer;z-index:1;
  transition:color .2s,background .2s,border-color .2s;
}
.evb-close:hover{color:#fff;background:rgba(255,77,0,.5);border-color:rgba(255,77,0,.8);}
@media(max-width:600px){
  .evb-inner{grid-template-columns:1fr;margin:0;}
  .evb-img-wrap{height:auto;}
  .evb-img{width:100%;height:auto;object-fit:contain;filter:none;}
  #event-banner.evb-show .evb-img{transform:none;}
  .evb-content{padding:1rem 2.5rem 1rem 1rem;}
  .evb-titre{font-size:1.3rem;}
}

/* ══ ÉTOILES ANIMÉES CARROUSEL ══ */
.star{
  display:inline-block;
  opacity:0;transform:scale(0) rotate(-30deg);
  transition:opacity .4s ease,transform .5s cubic-bezier(.34,1.56,.64,1);
  transition-delay:var(--sd,0s);
}
.testi-card.star-vis .star{opacity:1;transform:scale(1) rotate(0deg);}
.star-full{color:#f1c40f;filter:drop-shadow(0 0 4px rgba(241,196,15,.6));}
.star-empty{color:rgba(241,196,15,.25);}
/* Global rating stars always visible */
.testi-stars-global .star{opacity:1;transform:scale(1) rotate(0deg);transition-delay:var(--sd,0s);}
.testi-stars-global{animation:starsAppear 1s ease forwards;}
@keyframes starsAppear{
  from{filter:brightness(0);}
  to{filter:brightness(1);}
}

/* ══ PAGE LOADER ══ */
#page-loader{
  position:fixed;
  top:0;left:0;right:0;bottom:0;
  width:100%;height:100%;
  z-index:99999;
  background:var(--ash);
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;
  transition:opacity .6s ease, visibility .6s ease;
  /* Fix centrage Chrome mobile */
  min-height: 100dvh;
  min-height: -webkit-fill-available;
}
.loader-inner{
  display:flex;flex-direction:column;align-items:center;gap:1.4rem;
  width:100%;
  text-align:center;
}
#page-loader.loader-hide{opacity:0;visibility:hidden;pointer-events:none;}
.loader-inner{display:flex;flex-direction:column;align-items:center;gap:1.4rem;}
.loader-flame-wrap{position:relative;width:60px;height:80px;}
.loader-glow{
  position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);
  width:40px;height:12px;
  background:rgba(255,100,0,.4);
  border-radius:50%;
  filter:blur(8px);
  animation:glowPulse 1s ease-in-out infinite alternate;
}
@keyframes glowPulse{0%{opacity:.4;transform:translateX(-50%) scaleX(.8);}100%{opacity:.9;transform:translateX(-50%) scaleX(1.3);}}
.loader-flame{filter:drop-shadow(0 0 10px #ff6600) drop-shadow(0 0 25px #ff3300);}
.lf-halo{animation:lFlame 1.8s ease-in-out infinite alternate;transform-origin:50% 95%;}
.lf-outer{animation:lFlame 1.2s ease-in-out infinite alternate;transform-origin:50% 95%;}
.lf-mid{animation:lFlame 0.9s ease-in-out infinite alternate-reverse;transform-origin:50% 95%;}
.lf-inner{animation:lFlame 0.6s ease-in-out infinite alternate;transform-origin:50% 95%;}
.lf-core{animation:coreFlicker .35s ease-in-out infinite alternate;}
@keyframes lFlame{
  0%  {transform:scaleX(1)    scaleY(1)    rotate(-2deg);}
  50% {transform:scaleX(.88)  scaleY(1.07) rotate(1deg);}
  100%{transform:scaleX(1.08) scaleY(.95)  rotate(2.5deg);}
}
.loader-logo{display:flex;flex-direction:column;align-items:center;gap:.1rem;}
.loader-logo-s{
  font-family:'Barlow',sans-serif;font-size:1.1rem;font-weight:300;
  letter-spacing:8px;text-transform:uppercase;
  color:var(--cream);opacity:0;
  animation:logoFadeIn .8s ease .3s forwards;
}
.loader-logo-b{
  font-family:'Bebas Neue',sans-serif;font-size:3rem;letter-spacing:6px;
  color:var(--gold);
  background:linear-gradient(90deg,var(--gold),#fff9a0,var(--gold));
  background-size:200%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  animation:logoFadeIn .8s ease .5s forwards, shimmer 2s linear .8s infinite;
  opacity:0;
}
@keyframes logoFadeIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.loader-bar-wrap{
  width:160px;height:2px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden;
}
.loader-bar{
  height:100%;width:0%;
  background:linear-gradient(90deg,var(--fire),var(--gold));
  border-radius:2px;
  transition:width .05s linear;
  box-shadow:0 0 8px rgba(255,77,0,.6);
}
.loader-tagline{
  font-size:.6rem;letter-spacing:4px;text-transform:uppercase;
  color:rgba(240,230,211,.3);
  opacity:0;animation:logoFadeIn .6s ease .8s forwards;
}
.loader-logo-img{
  width:140px;
  opacity:0;
  animation:logoFadeIn .8s ease 1.1s forwards;
  filter:drop-shadow(0 0 10px rgba(255,120,0,.25));
  margin-top:.6rem;
}

/* ══ HERO TEXTE KINÉTIQUE ══ */
.hero-title .tw{
  display:inline-block;
  clip-path:inset(0 100% 0 0);
  animation:revealWord 1s cubic-bezier(.16,1,.3,1) forwards;
}
.tw1{animation-delay:1.2s;}
.tw2{animation-delay:1.5s;}
@keyframes revealWord{
  0%  {clip-path:inset(0 100% 0 0);transform:translateY(20px);}
  100%{clip-path:inset(0 0% 0 0);transform:translateY(0);}
}
.hero-eyebrow{
  opacity:0;transform:translateY(16px);
  animation:heroFadeUp .7s ease 1s forwards;
}
.hero-sub{
  opacity:0;transform:translateY(16px);
  animation:heroFadeUp .7s ease 1.9s forwards;
}
.hero-btns{
  opacity:0;transform:translateY(16px);
  animation:heroFadeUp .7s ease 2.1s forwards;
}
.btn-play,.btn-play-label{
  opacity:0;
  animation:heroFadeUp .7s ease 2.3s forwards;
}
.scroll-ind{
  opacity:0;
  animation:heroFadeUp .7s ease 2.5s forwards;
}
@keyframes heroFadeUp{
  from{opacity:0;transform:translateY(16px);}
  to{opacity:1;transform:translateY(0);}
}

/* ══ SMOOTH NAV TRANSITIONS ══ */
.nav-links a{position:relative;}
.nav-links a::after{
  content:'';position:absolute;bottom:-4px;left:0;right:0;
  height:1px;background:linear-gradient(90deg,var(--fire),var(--gold));
  transform:scaleX(0);transform-origin:left;
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.nav-links a:hover::after,.nav-links a.nav-active::after{transform:scaleX(1);}

/* ══ EFFET FEU SUR LES TITRES ══ */
[data-letter].lr-vis{position:relative;}
[data-letter].lr-vis::after{
  content:attr(data-fire-text);
  position:absolute;inset:0;
  background:linear-gradient(
    180deg,
    transparent 0%,
    transparent 40%,
    rgba(255,120,0,.15) 65%,
    rgba(255,60,0,.35) 80%,
    rgba(255,77,0,.5) 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  pointer-events:none;
  animation:fireLick 2.5s ease-in-out infinite;
  filter:blur(.3px);
}
@keyframes fireLick{
  0%,100%{opacity:0;transform:translateY(3px);}
  40%    {opacity:.6;transform:translateY(0);}
  70%    {opacity:.4;transform:translateY(1px);}
}

/* Flammes CSS sous les em dorés */
[data-letter] em{
  position:relative;
  display:inline-block;
}
[data-letter].lr-vis em::before{
  content:'';
  position:absolute;
  bottom:-4px;left:10%;right:10%;
  height:4px;
  background:linear-gradient(90deg,transparent,var(--fire),var(--gold),var(--fire),transparent);
  border-radius:50%;
  filter:blur(2px);
  animation:flameLine 2s ease-in-out infinite;
  transform-origin:center;
}
@keyframes flameLine{
  0%,100%{opacity:0;transform:scaleX(.4) translateY(2px);}
  50%    {opacity:.8;transform:scaleX(1)   translateY(0);}
}
/* Étincelles au-dessus des titres visibles */
[data-letter].lr-vis .lr-char:nth-child(3n){
  animation:charEmber 3s ease-in-out infinite;
  animation-delay:calc(var(--sd,0s) + .5s);
}
@keyframes charEmber{
  0%,85%,100%{text-shadow:none;}
  90%{text-shadow:0 -4px 8px rgba(255,150,0,.9),0 -8px 16px rgba(255,77,0,.5);}
}

/* ══ MORPHING BACKGROUND ══ */
/* Base layer partagé par toutes les sections */
.menu-section,
.parallax-section,
.histoire-section,
.emp-section,
.events-section,
.testi-section,
.contact-section{
  background-attachment:local;
  position:relative;
}
/* Particule de fumée/braise désactivée sur les autres sections */
.section-ember{ display: none !important; }
@keyframes emberDrift{
  0%  {opacity:0;transform:translate(0,0) scale(1);}
  15% {opacity:var(--eo,.12);}
  85% {opacity:var(--eo,.12);}
  100%{opacity:0;transform:translate(var(--ex,20px),var(--ey,-80px)) scale(0);}
}
/* Overlay morphing désactivé */
.menu-section::after,
.testi-section::after,
.events-section::after{
  display:none;
}
@keyframes morphBg{
  0%  {--gx:15%;--gy:85%;--gx2:85%;--gy2:15%;opacity:.6;}
  33% {--gx:75%;--gy:30%;--gx2:25%;--gy2:70%;opacity:1;}
  66% {--gx:50%;--gy:60%;--gx2:50%;--gy2:40%;opacity:.8;}
  100%{--gx:20%;--gy:80%;--gx2:80%;--gy2:20%;opacity:.6;}
}
.testi-section::after{--mb-dur:15s;}
.events-section::after{--mb-dur:10s;}
/* Grain texture désactivé */
.histoire-section::before{
  display:none;
}
@keyframes grainShift{
  0%  {transform:translate(0,0);}
  25% {transform:translate(-2px,1px);}
  50% {transform:translate(1px,-2px);}
  75% {transform:translate(2px,1px);}
  100%{transform:translate(-1px,2px);}
}

/* ══ BOUTONS EFFET LIQUIDE (RIPPLE FEU) ══ */
.btn-fire,.btn-ghost,.btn-send,.btn-again,.nav-call,.evb-btn{
  overflow:hidden;
  position:relative;
}
.ripple-fx{
  position:absolute;
  border-radius:50%;
  transform:scale(0);
  animation:rippleAnim .6s ease-out forwards;
  pointer-events:none;
  z-index:0;
}
.btn-fire .ripple-fx{background:rgba(255,255,255,.25);}
.btn-ghost .ripple-fx{background:rgba(201,168,76,.3);}
.btn-send .ripple-fx{background:rgba(255,255,255,.2);}
.btn-again .ripple-fx{background:rgba(201,168,76,.25);}
.nav-call .ripple-fx{background:rgba(0,0,0,.15);}
.evb-btn .ripple-fx{background:rgba(0,0,0,.1);}
@keyframes rippleAnim{
  0%  {transform:scale(0);opacity:.8;}
  100%{transform:scale(3.5);opacity:0;}
}
/* Contenu au-dessus du ripple */
.btn-fire>*,.btn-ghost>*,.btn-send>*,.btn-again>*{position:relative;z-index:1;}

/* ══ PRIX BRILLANTS MENU ══ */
.mli-price{
  font-family:'Playfair Display',serif;
  font-size:1.1rem;font-weight:700;
  white-space:nowrap;flex-shrink:0;
  position:relative;
  background:linear-gradient(90deg,var(--gold) 0%,#fff9c0 40%,var(--gold) 55%,#e8c97a 100%);
  background-size:250% 100%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  animation:priceShimmer 4s ease-in-out infinite;
  animation-play-state:paused;
}
.mli:hover .mli-price{
  animation-play-state:running;
}
/* Shimmer permanent sur prix du CTA et événements */
.mli-price.shimmer-always{
  animation-play-state:running;
}
@keyframes priceShimmer{
  0%  {background-position:250% 0;}
  60% {background-position:-50% 0;}
  100%{background-position:250% 0;}
}

/* ══ PALMIERS TROPICAUX ══ */
.palm {
  position: absolute;
  bottom: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0.82;
}
.palm-left {
  left: -20px;
}
.palm-right {
  right: -20px;
}
.histoire-section {
  position: relative;
  overflow: visible;
}
.hero {
  overflow: visible;
}

/* ══ COLIBRI ══ */
.colibri {
  display: inline-flex;
  align-items: center;
  margin-left: 0.3rem;
  vertical-align: middle;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.15));
}
/* ══ MENU DECO : HIBISCUS + COLIBRI ══ */
.menu-header {
  position: relative;
}
.menu-deco {
  position: absolute;
  right: 0;
  top: -60px;
  display: flex;
  align-items: flex-end;
  gap: 4px;
  pointer-events: none;
}
.hibiscus-menu {
  width: 100px;
  height: auto;
  filter: drop-shadow(2px 4px 8px rgba(0,0,0,0.25));
}
.colibri-photo-menu {
  width: 130px;
  height: auto;
  filter: drop-shadow(2px 4px 8px rgba(0,0,0,0.18));
  margin-bottom: 25px;
}
@media (max-width: 600px) {
  .menu-deco { top: -50px; }
  .hibiscus-menu { width: 65px; }
  .colibri-photo-menu { width: 85px; margin-bottom: 15px; }
}

/* ══════════════════════════════════════════
   💨 FUMÉE DÉCORATIVE
══════════════════════════════════════════ */

/* Fumée sur les titres — overlay dans le conteneur */
.plx-head { overflow: visible !important; }
.truck-hd  { overflow: visible !important; }

/* ══ FUMÉE SUR LES TITRES — ancrée aux bords du bloc titre ══ */
.titre-fumee {
  position: absolute;
  width: 280px;
  top: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 10;
}
.titre-fumee-left {
  left: 0;
  transform: scaleX(-1);
}
.titre-fumee-right {
  right: 0;
}
.titre-fumee img {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  display: block;
  mix-blend-mode: screen;
  opacity: 0.75;
}
.titre-fumee .fumee-a {
  animation: smokeFadeA 5.6s linear infinite;
}
.titre-fumee .fumee-b {
  animation: smokeFadeB 5.6s linear infinite;
  animation-delay: -2.8s;
}

@media (max-width: 768px) {
  .titre-fumee { width: 180px; }
}

/* ══ FUMÉE CUISINE CRÉOLE — CROSS-FADE NATUREL ══
   Technique : 2 images superposées identiques.
   fumee-a joue en opacité pleine, fumee-b commence à mi-cycle
   décalé de 5.6s/2 = 2.8s. Les deux fondus se croisent
   → jamais de coupure visible.
   Durée totale = 5.6s (durée exacte du webp animé × 2 pour
   que le crossfade complète un cycle pendant que le webp
   redémarre en douceur sous le fondu).
*/

/* Conteneur positionné absolument dans .plx-cell */
.fumee-wrap {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
  overflow: hidden;
}
.fumee-wrap--gauche {
  transform: scaleX(-1);
}

/* Les deux couches de fumée */
.fumee-cell {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: right center;
  mix-blend-mode: screen;
  pointer-events: none;
  display: block;
}

/* Couche A : visible → invisible en 5.6s */
.fumee-a {
  animation: smokeFadeA 5.6s linear infinite;
}
/* Couche B : décalée de 2.8s (demi-cycle), invisible → visible → invisible */
.fumee-b {
  animation: smokeFadeB 5.6s linear infinite;
  animation-delay: -2.8s;
}

@keyframes smokeFadeA {
  0%   { opacity: 0.65; }
  40%  { opacity: 0.65; }
  50%  { opacity: 0;    }  /* fondu sortant sur 10% = 0.56s */
  55%  { opacity: 0;    }  /* invisible pendant que le webp repart depuis frame 0 */
  65%  { opacity: 0.65; }  /* fondu entrant */
  100% { opacity: 0.65; }
}

@keyframes smokeFadeB {
  0%   { opacity: 0.65; }
  40%  { opacity: 0.65; }
  50%  { opacity: 0;    }
  55%  { opacity: 0;    }
  65%  { opacity: 0.65; }
  100% { opacity: 0.65; }
}

@media (max-width: 768px) {
  .fumee-wrap { opacity: 0.5; }
}
