/* ============================================================
   LES CALLUNES — style partagé
   ============================================================ */
:root{
  --calcaire:#EFE7D8;
  --calcaire-warm:#E7DBC6;
  --terracotta:#C56B5C;
  --brique:#8B3A2E;
  --bruyere:#7D6E5C;
  --or:#B89968;
  --encre:#1A1612;
  --sauge:#3B4A3D;
  --text-on-light:#241E19;
  --text-on-dark:#EFE7D8;
  --muted-light:#6B5D4F;
  --font-display:'Fraunces',Georgia,serif;
  --font-body:'DM Sans',system-ui,sans-serif;
  --font-script:'Caveat',cursive;
  --maxw:1280px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--calcaire);color:var(--text-on-light);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* grain */
body::before{content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- Loader ---------- */
#loader{position:fixed;inset:0;z-index:10000;background:var(--encre);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .8s ease,visibility .8s}
#loader.done{opacity:0;visibility:hidden}
.loader-logo{width:120px;height:120px;margin-bottom:1.4rem;animation:logoPulse 2s ease-in-out infinite}
@keyframes logoPulse{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}
.loader-bar{width:min(220px,50vw);height:1px;background:rgba(239,231,216,.2);position:relative;overflow:hidden}
.loader-bar i{position:absolute;inset:0;background:var(--or);transform-origin:left;transform:scaleX(0);transition:transform .3s}
.loader-sub{margin-top:1rem;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--bruyere)}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:1.1rem clamp(1.2rem,4vw,3rem);transition:background .4s,padding .4s,box-shadow .4s}
.site-header.scrolled{background:rgba(26,22,18,.9);backdrop-filter:blur(12px);padding:.7rem clamp(1.2rem,4vw,3rem);box-shadow:0 1px 0 rgba(184,153,104,.2)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brand img{width:52px;height:52px;object-fit:contain}
.brand .b-name{font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--calcaire);line-height:1}
.brand .b-stars{font-size:.6rem;color:var(--or);letter-spacing:.1em}
.nav-links{display:flex;gap:1.8rem;align-items:center}
.nav-links a{font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--calcaire);text-decoration:none;position:relative;transition:color .3s;opacity:.92}
.nav-links a:hover{opacity:1}
.nav-links a.active{color:var(--or)}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--terracotta);transition:width .3s}
.nav-links a:hover::after{width:100%}
.nav-cta{border:1px solid var(--or);padding:.5rem 1.1rem!important;border-radius:2px;color:var(--or)!important}
.lang-switch{display:flex;gap:.4rem;font-size:.78rem;color:var(--calcaire);align-items:center}
.lang-switch button{background:none;border:none;color:inherit;cursor:pointer;font-family:var(--font-body);font-size:.78rem;letter-spacing:.05em;opacity:.5;transition:opacity .3s}
.lang-switch button.active{opacity:1;font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--terracotta)}
.header-right{display:flex;align-items:center;gap:1.4rem}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;z-index:1001}
.burger span{width:26px;height:2px;background:var(--calcaire);transition:.3s}

/* ---------- Canvas scroll-vidéo ---------- */
.canvas-wrap{position:fixed;inset:0;z-index:0;background:var(--encre)}
#vCanvas{width:100%;height:100%;display:block}
.canvas-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(26,22,18,.25),transparent 30%,transparent 65%,rgba(26,22,18,.55));pointer-events:none}
#scrollContainer{position:relative;z-index:1}
.dark-veil{position:fixed;inset:0;z-index:1;background:var(--encre);opacity:0;pointer-events:none}

/* hero overlay (texte sur vidéo) */
.v-hero{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;z-index:2;color:var(--calcaire);padding:0 1.5rem}
.v-hero .eyebrow{font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;color:var(--or);margin-bottom:1.4rem;opacity:0;animation:fadeUp 1s ease .4s forwards}
.v-hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(3rem,10vw,8rem);line-height:.92;letter-spacing:-.01em}
.v-hero h1 .word{display:inline-block;overflow:hidden;vertical-align:bottom}
.v-hero h1 .word span{display:inline-block;transform:translateY(110%);animation:wordUp 1.1s cubic-bezier(.2,.7,.2,1) forwards}
.v-hero h1 .word:nth-child(2) span{animation-delay:.12s}
@keyframes wordUp{to{transform:translateY(0)}}
.v-hero .tagline{margin-top:1.6rem;font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(1.05rem,2.4vw,1.5rem);opacity:0;animation:fadeUp 1s ease .9s forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.scroll-cue{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:.6rem;opacity:0;animation:fadeUp 1s ease 1.3s forwards}
.scroll-cue .line{width:1px;height:38px;background:linear-gradient(var(--or),transparent);animation:cue 2s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleY(.4);opacity:.4}50%{transform:scaleY(1);opacity:1}}

/* spacer scroll (laisse défiler la vidéo) */
/* zone de défilé vidéo : hero (100vh) + ce spacer = distance de défilé */
.v-spacer{height:110vh}
/* marqueur invisible : la vidéo finit ici */
#videoScrollEnd{height:0;width:100%}
/* buffer : la dernière frame reste figée ~1,2 écran avant le contenu */
.v-buffer{height:120vh}

/* ---------- Sélecteur 3 voies (accueil) ---------- */
.chooser-stage{position:relative;z-index:2;min-height:100vh;display:flex;align-items:center;padding:6rem 0}
.chooser-inner{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,5vw,3rem)}
.chooser-title{text-align:center;color:var(--calcaire);margin-bottom:3rem}
.chooser-title .ct-label{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--or);display:block;margin-bottom:1rem}
.chooser-title h2{font-family:var(--font-display);font-weight:300;font-style:italic;font-size:clamp(1.8rem,4.5vw,3rem);line-height:1.05}
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.door{position:relative;aspect-ratio:3/4.3;border-radius:3px;overflow:hidden;cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center;isolation:isolate;border:1px solid rgba(184,153,104,.3);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.door video,.door .door-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center;z-index:0;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .6s}
.door::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(26,22,18,.92),rgba(26,22,18,.62));transition:opacity .5s}
.door-label{position:relative;z-index:2;text-align:center;color:var(--calcaire);padding:1.5rem}
.door-label .dl-num{font-family:var(--font-display);font-style:italic;font-size:1rem;color:var(--or);margin-bottom:.6rem;opacity:.9}
.door-label h3{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,4vw,3.2rem);line-height:.95;letter-spacing:.01em;text-shadow:0 2px 30px rgba(26,22,18,.6);opacity:.92}
.door-label .dl-sub{margin-top:1rem;font-size:.82rem;letter-spacing:.04em;color:rgba(239,231,216,.85);max-height:0;overflow:hidden;opacity:0;transition:max-height .5s,opacity .5s,margin .5s}
.door-label .dl-go{margin-top:1.2rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terracotta);opacity:0;transform:translateY(8px);transition:.4s}
.door:hover{transform:translateY(-6px)}
.door:hover video,.door:hover .door-bg{transform:scale(1.07)}
.door:hover::after{opacity:.55}
.door:hover .door-label .dl-sub{max-height:80px;opacity:1;margin-top:1rem}
.door:hover .door-label .dl-go{opacity:1;transform:none}

/* ---------- Sections claires standard ---------- */
.section{position:relative;z-index:2;background:var(--calcaire)}
.section.dark{background:var(--encre);color:var(--text-on-dark)}
.section.warm{background:var(--calcaire-warm)}
.section.sauge{background:var(--sauge);color:var(--text-on-dark)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:clamp(4rem,9vw,7rem) clamp(1.2rem,5vw,3rem)}
.sec-label{font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--terracotta);margin-bottom:1.2rem;display:block}
.section.dark .sec-label,.section.sauge .sec-label{color:var(--or)}
.sec-num{font-family:var(--font-display);font-style:italic;color:var(--or);margin-right:.5rem}
h2.big{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,4.8vw,3.4rem);line-height:1.06;margin-bottom:1.4rem}
h2.big em{font-style:italic;color:var(--or)}
.lead{color:var(--muted-light);font-size:1.05rem;max-width:52ch;margin-bottom:1.6rem}
.section.dark .lead,.section.sauge .lead{color:rgba(239,231,216,.78)}

/* filet */
.filet{display:flex;align-items:center;gap:1rem;justify-content:center;max-width:280px;margin:0 auto}
.filet::before,.filet::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--or),transparent)}
.filet .dot{width:5px;height:5px;border:1px solid var(--or);transform:rotate(45deg)}

/* grid 2 col */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.flip .grid2{direction:rtl}.flip .grid2>*{direction:ltr}
.visual{position:relative;aspect-ratio:4/3;border-radius:3px;overflow:hidden;border:1px solid rgba(122,93,79,.2)}
.visual img{width:100%;height:100%;object-fit:cover}
.visual .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--bruyere);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:1rem;background:linear-gradient(160deg,#cdbfa6,#a8957c)}

/* specs */
.spec-list{list-style:none;margin:1.6rem 0;border-top:1px solid rgba(122,93,79,.22)}
.section.dark .spec-list,.section.sauge .spec-list{border-color:rgba(239,231,216,.2)}
.spec-list li{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid rgba(122,93,79,.18);font-size:.92rem}
.section.dark .spec-list li,.section.sauge .spec-list li{border-color:rgba(239,231,216,.15)}
.spec-list li span:first-child{font-weight:500}
.spec-list li span:last-child{color:var(--muted-light);text-align:right}
.section.dark .spec-list li span:last-child,.section.sauge .spec-list li span:last-child{color:rgba(239,231,216,.7)}
.spec-ico{display:inline-block;width:15px;height:15px;vertical-align:-2px;margin-right:7px;opacity:.85}
.spec-list li span:first-child .spec-ico{margin-right:7px}

/* tags */
.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0}
.tag{font-size:.72rem;letter-spacing:.04em;padding:.35rem .8rem;border:1px solid rgba(122,93,79,.35);border-radius:20px;color:var(--bruyere)}
.section.dark .tag,.section.sauge .tag{border-color:rgba(239,231,216,.25);color:rgba(239,231,216,.8)}

/* boutons */
.btn{display:inline-flex;align-items:center;gap:.7rem;background:var(--brique);color:var(--calcaire);text-decoration:none;padding:.95rem 1.8rem;border-radius:2px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;transition:background .3s,transform .3s;border:none;cursor:pointer;font-family:var(--font-body)}
.btn:hover{background:var(--terracotta);transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--brique);border:1px solid var(--brique)}
.section.dark .btn.ghost,.section.sauge .btn.ghost,.v-hero .btn.ghost{color:var(--or);border-color:var(--or)}
.btn.ghost:hover{background:var(--brique);color:var(--calcaire)}
.section.dark .btn.ghost:hover{background:var(--or);color:var(--encre)}
.btn-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.note{font-size:.78rem;color:var(--muted-light);margin-top:1rem}
.section.dark .note,.section.sauge .note{color:rgba(239,231,216,.6)}

/* galerie scroll */
.scroll-gallery{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,300px);gap:1.2rem;overflow-x:auto;padding:1rem 0 2rem;scroll-snap-type:x mandatory;scrollbar-width:thin}
.g-card{scroll-snap-align:start;background:var(--calcaire);border:1px solid rgba(122,93,79,.2);border-radius:3px;overflow:hidden}
.g-card .gc-img{aspect-ratio:4/3;background:linear-gradient(160deg,#cdbfa6,#9d8a70);display:flex;align-items:center;justify-content:center;color:rgba(36,28,23,.4);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;overflow:hidden}
.g-card .gc-img img{width:100%;height:100%;object-fit:cover}
.g-card .gc-body{padding:1.2rem}
.g-card h4{font-family:var(--font-display);font-weight:500;font-size:1.15rem;margin-bottom:.3rem}
.g-card .gc-price{color:var(--terracotta);font-size:.9rem;font-weight:500}
.g-card .gc-desc{color:var(--muted-light);font-size:.84rem;margin-top:.5rem}

/* avis */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.review-card{background:rgba(239,231,216,.06);border:1px solid rgba(239,231,216,.14);border-radius:3px;padding:1.8rem}
.section:not(.dark):not(.sauge) .review-card{background:#fff;border-color:rgba(122,93,79,.18)}
.review-card .stars{color:var(--or);font-size:.85rem;letter-spacing:.15em;margin-bottom:1rem}
.review-card p{font-size:.92rem;font-style:italic;font-family:var(--font-display);font-weight:300;line-height:1.55}
.section.dark .review-card p,.section.sauge .review-card p{color:rgba(239,231,216,.85)}
.review-card .who{margin-top:1.2rem;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--terracotta);font-family:var(--font-body);display:flex;justify-content:space-between;align-items:center}
.review-card .who .src{color:var(--muted-light);font-size:.66rem}
.section.dark .review-card .who .src{color:rgba(239,231,216,.5)}
.reviews-score{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:1rem;font-size:.9rem}
.reviews-score strong{font-family:var(--font-display);font-size:1.9rem;color:var(--or)}

/* stats */
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center}
.stat .stat-num{font-family:var(--font-display);font-weight:400;font-size:clamp(2.5rem,6vw,4rem);color:var(--or);line-height:1}
.stat .stat-suffix{font-size:1.4rem;color:var(--terracotta)}
.stat .stat-label{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-light);margin-top:.6rem}
.section.dark .stat .stat-label,.section.sauge .stat .stat-label{color:rgba(239,231,216,.6)}

/* formulaire */
.form-card{background:#fff;border:1px solid rgba(122,93,79,.2);border-radius:4px;padding:clamp(1.6rem,4vw,2.6rem)}
.section.dark .form-card{background:rgba(239,231,216,.04);border-color:rgba(239,231,216,.15)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.field label{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bruyere)}
.field input,.field select,.field textarea{font-family:var(--font-body);font-size:.95rem;padding:.8rem .9rem;border:1px solid rgba(122,93,79,.3);border-radius:2px;background:var(--calcaire);color:var(--text-on-light);transition:border .3s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--terracotta)}
.field textarea{resize:vertical;min-height:90px}
.form-msg{margin-top:1rem;font-size:.88rem;padding:.8rem 1rem;border-radius:2px;display:none}
.form-msg.ok{display:block;background:rgba(59,74,61,.12);color:var(--sauge);border:1px solid var(--sauge)}

/* reels instagram */
.reels{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:760px;margin:0 auto}
.reel{position:relative;border-radius:6px;overflow:hidden;border:1px solid rgba(239,231,216,.15);background:#000;aspect-ratio:9/16}
.reel iframe{width:100%;height:100%;border:0}
.reel-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--calcaire);text-align:center;padding:1.5rem;background:linear-gradient(160deg,#3b2e26,#1a1612)}
.reel-fallback a{color:var(--or)}

/* socials */
.social-row{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:1.5rem}
.social-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.5rem;border:1px solid var(--or);border-radius:40px;color:var(--calcaire);text-decoration:none;font-size:.84rem;letter-spacing:.04em;transition:background .3s,color .3s}
.social-btn:hover{background:var(--or);color:var(--encre)}

/* contact / map */
.contact-line{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(239,231,216,.12)}
.contact-line .cl-label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bruyere);min-width:90px;padding-top:.2rem}
.contact-line a,.contact-line span{color:var(--calcaire);text-decoration:none;font-size:1rem}
.contact-line a:hover{color:var(--terracotta)}
.map-box{border-radius:3px;overflow:hidden;min-height:340px;border:1px solid rgba(239,231,216,.15)}
.map-box iframe{width:100%;height:100%;min-height:340px;border:0;filter:grayscale(.3) sepia(.15)}

/* marquee */
.marquee{overflow:hidden;padding:clamp(2rem,5vw,3.5rem) 0;white-space:nowrap;position:relative;z-index:2}
.marquee-track{display:inline-flex;will-change:transform}
.marquee-track span{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(2.2rem,7vw,5rem);padding:0 2rem;opacity:.92}
.marquee-track .o{color:var(--terracotta)}

/* footer */
footer{background:var(--encre);color:rgba(239,231,216,.6);padding:3rem 0 2rem;border-top:1px solid rgba(239,231,216,.1);position:relative;z-index:2}
footer .f-grid{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,5vw,3rem);display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
footer .f-brand{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}
footer .f-brand img{width:48px;height:48px;object-fit:contain}
footer .f-brand .fb-name{font-family:var(--font-display);font-style:italic;color:var(--calcaire);font-size:1.3rem}
footer h5{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:1rem}
footer a{color:rgba(239,231,216,.7);text-decoration:none;display:block;padding:.25rem 0;font-size:.9rem}
footer a:hover{color:var(--terracotta)}
footer .f-legal{font-size:.74rem;line-height:1.7;color:rgba(239,231,216,.5)}
.credit-bar{max-width:var(--maxw);margin:2rem auto 0;padding:1.5rem clamp(1.2rem,5vw,3rem) 0;border-top:1px solid rgba(239,231,216,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.8rem}
.credit-bar .man{display:flex;align-items:center;gap:.8rem}
.credit-bar a.man-link{color:var(--or);text-decoration:none;font-weight:500}
.credit-bar a.man-insta{display:inline-flex;align-items:center;gap:.4rem;color:rgba(239,231,216,.7);border:1px solid rgba(184,153,104,.4);padding:.4rem .9rem;border-radius:30px;text-decoration:none;font-size:.76rem}
.credit-bar a.man-insta:hover{background:var(--or);color:var(--encre)}

/* CTA flottant */
.float-cta{position:fixed;bottom:1.5rem;right:1.5rem;z-index:900;background:var(--brique);color:var(--calcaire);padding:.95rem 1.6rem;border-radius:40px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;box-shadow:0 8px 30px rgba(26,22,18,.35);transition:transform .3s,background .3s;display:flex;align-items:center;gap:.6rem;opacity:0;transform:translateY(20px);pointer-events:none}
.float-cta.show{opacity:1;transform:none;pointer-events:auto}
.float-cta:hover{background:var(--terracotta);transform:translateY(-3px)}

/* back link (pages internes) */
.back-link{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.5rem;color:var(--or);text-decoration:none;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:1.5rem clamp(1.2rem,5vw,3rem)}
.back-link:hover{color:var(--terracotta)}

/* i18n */
/* i18n : FR par défaut, EN et IT masqués */
[data-en],[data-it]{display:none!important}
html[lang="en"] [data-fr],html[lang="en"] [data-it]{display:none!important}
html[lang="en"] [data-en]{display:revert!important}
html[lang="it"] [data-fr],html[lang="it"] [data-en]{display:none!important}
html[lang="it"] [data-it]{display:revert!important}

/* responsive */
@media(max-width:900px){
  .nav-links{position:fixed;inset:0;background:var(--encre);flex-direction:column;justify-content:center;gap:1.8rem;transform:translateX(100%);transition:transform .4s;font-size:1.1rem}
  .nav-links.open{transform:none}
  .burger{display:flex}
  .doors{grid-template-columns:1fr;gap:1rem}
  .door{aspect-ratio:16/10}
  .door-label .dl-sub{max-height:80px;opacity:1;margin-top:1rem}
  .door-label .dl-go{opacity:1;transform:none}
  .grid2,.contact-grid{grid-template-columns:1fr}
  .flip .grid2{direction:ltr}
  .reviews-grid,.reels{grid-template-columns:1fr}
  .stats-row{grid-template-columns:1fr;gap:2.5rem}
  .form-row{grid-template-columns:1fr}
  footer .f-grid{grid-template-columns:1fr;gap:1.5rem}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* ---------- Sections avec fond image (frame vidéo) + masque sombre ---------- */
.section.has-bg{position:relative;color:var(--text-on-dark);overflow:hidden}
.section.has-bg .sec-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;transform:scale(1.02)}
.section.has-bg .sec-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(26,22,18,.72),rgba(26,22,18,.6))}
.section.has-bg .wrap{position:relative;z-index:2}
.section.has-bg .sec-label{color:var(--or)}
.section.has-bg .lead{color:rgba(239,231,216,.85)}

