:root{
  --bg:#0e0a08;--bg2:#161009;--card:#1c1512;--line:#2c211b;
  --txt:#f6ede2;--mute:#c4b4a5;--fire:#e8561c;--fire2:#ff7a35;--gold:#e9b44c;--r:14px;
  --f-display:"Cormorant",Georgia,serif;--f-body:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1)
}
[lang=ar]{--f-display:"Noto Naskh Arabic","Geeza Pro",serif;--f-body:"Noto Sans Arabic","Geeza Pro",Tahoma,sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--txt);font:16px/1.7 var(--f-body);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.w{max-width:1120px;margin:auto;padding:0 20px}
.narrow{max-width:640px}
section{padding:64px 0}
h1,h2,h3{font-family:var(--f-display);font-weight:600;line-height:1.1}
h1{font-size:2.6rem;margin-bottom:14px}
h2{font-size:1.8rem;margin:36px 0 8px;color:var(--gold)}
.mute{color:var(--mute);margin-bottom:24px}
.gap{margin-top:28px}
.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600}
[lang=ar] .eyebrow{letter-spacing:0;font-size:.95rem}

/* En-tête */
.nav{position:sticky;top:0;z-index:20;background:#0e0a08ee;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:background .3s,border-color .3s}
.nav .w{display:flex;align-items:center;gap:22px;padding-block:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-weight:700;font-size:1.25rem}
.brand img{width:64px;height:64px;border-radius:50%}
.nav nav{display:flex;gap:20px;flex:1;flex-wrap:wrap}
.nav nav a,.langs a{text-decoration:none;font-size:.88rem;color:var(--mute);transition:color .2s}
.nav nav a:hover,.langs a:hover,.langs b{color:var(--txt)}
.langs{display:flex;gap:12px;font-size:.88rem}
.dd{position:relative;display:inline-flex}
.dd>div{display:none;position:absolute;inset-inline-start:-14px;top:100%;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;min-width:210px;z-index:10}
.dd:hover>div,.dd:focus-within>div{display:block}
.dd>div a{display:block;padding:6px 0}
.page-index .nav{position:fixed;inset-inline:0;background:linear-gradient(#000c,#0000);border-color:transparent;backdrop-filter:none}
.page-index .nav.scrolled{background:#0e0a08ee;border-color:var(--line);backdrop-filter:blur(10px)}

/* Boutons */
.btn{display:inline-flex;align-items:center;min-height:44px;background:var(--fire);color:var(--bg);padding:12px 26px;border-radius:99px;font:600 .95rem var(--f-body);text-decoration:none;border:0;cursor:pointer;transition:background .2s,transform .2s var(--ease)}
.btn:hover{background:var(--fire2);transform:translateY(-1px)}
.btn.o{background:#0000;border:1px solid #fff6;color:var(--txt)}
.btn.o:hover{border-color:var(--txt);background:#ffffff14}
.btn.light{background:var(--txt);color:#1a0d06}
.btn.light:hover{background:#fff}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.link{display:inline-block;margin-top:14px;color:var(--gold);text-decoration:none;font-weight:600}
.link:hover{text-decoration:underline}

/* Accueil : hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:140px 0 110px;overflow:hidden;isolation:isolate}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 40%;z-index:-2;animation:zoom 18s var(--ease) both}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,var(--bg) 0%,#0e0a08cc 22%,#0e0a0822 55%,#0e0a0866 100%),
             linear-gradient(to right,#0e0a08e6,#0e0a0800 55%)}
[dir=rtl] .hero::before{background:linear-gradient(to top,var(--bg) 0%,#0e0a08cc 22%,#0e0a0822 55%,#0e0a0866 100%),linear-gradient(to left,#0e0a08e6,#0e0a0800 55%)}
.hero-txt{width:100%}
.hero h1{font-size:clamp(2.8rem,8vw,6.2rem);max-width:12ch;margin:14px 0 20px;letter-spacing:-.01em;text-wrap:balance}
[lang=ar] .hero h1{line-height:1.35;max-width:14ch}
.lead{font-size:clamp(1rem,1.6vw,1.15rem);color:var(--mute);max-width:520px;margin-bottom:30px}
.scroll-cue{position:absolute;bottom:28px;inset-inline-start:50%;translate:-50% 0;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);text-decoration:none;padding-bottom:34px}
[dir=rtl] .scroll-cue{translate:50% 0}
.scroll-cue::after{content:"";position:absolute;bottom:0;left:50%;width:1px;height:26px;background:linear-gradient(var(--gold),#0000);animation:drip 2s var(--ease) infinite}
@keyframes zoom{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* Braises */
.embers{position:absolute;inset:0;z-index:-1;pointer-events:none}
.embers i{position:absolute;bottom:-10px;width:4px;height:4px;border-radius:50%;background:var(--fire2);box-shadow:0 0 8px 2px #ff7a3599;opacity:0;animation:rise 9s linear infinite}
.embers i:nth-child(1){left:12%;animation-delay:0s}
.embers i:nth-child(2){left:28%;animation-delay:2.4s;animation-duration:11s}
.embers i:nth-child(3){left:41%;animation-delay:5s}
.embers i:nth-child(4){left:55%;animation-delay:1.2s;animation-duration:12s;width:3px;height:3px}
.embers i:nth-child(5){left:67%;animation-delay:3.6s}
.embers i:nth-child(6){left:78%;animation-delay:6.2s;animation-duration:10s}
.embers i:nth-child(7){left:88%;animation-delay:.8s;width:3px;height:3px}
.embers i:nth-child(8){left:35%;animation-delay:7.4s;animation-duration:13s}
@keyframes rise{0%{transform:translate(0,0);opacity:0}10%{opacity:.9}100%{transform:translate(40px,-90vh);opacity:0}}

/* Barre de progression (navigateurs récents ; ignorée ailleurs) */
.progress{position:fixed;top:0;inset-inline:0;height:3px;z-index:30;background:linear-gradient(90deg,var(--gold),var(--fire));transform-origin:left;transform:scaleX(0);animation:prog linear both;animation-timeline:scroll(root)}
[dir=rtl] .progress{transform-origin:right}
@supports not (animation-timeline:scroll()){.progress{display:none}}
@keyframes prog{to{transform:scaleX(1)}}

/* Récit en chapitres, intensité croissante */
.story{padding:96px 0 32px}
.ch{padding:72px 0;border-top:1px solid var(--line)}
.ch-in{display:grid;grid-template-columns:minmax(120px,240px) 1fr;gap:24px 48px;align-items:center}
.num{font-family:var(--f-display);font-size:clamp(5rem,13vw,10rem);line-height:.8;font-weight:700;color:#0000;-webkit-text-stroke:1.5px #e9b44cb3}
.ch h2{font-size:clamp(2rem,4.5vw,3.4rem);margin:0 0 12px;color:var(--txt)}
.ch p{color:var(--mute);font-size:1.1rem;max-width:46ch}
.ch2{background:radial-gradient(ellipse at 85% 50%,#3a160866,#0000 60%)}
.has-img .ch-in{grid-template-columns:minmax(120px,200px) 1fr 1.1fr}
.flip .ch-in{grid-template-columns:1.1fr minmax(120px,200px) 1fr}
.flip .ch-img{order:-1}
.ch-img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);box-shadow:0 30px 80px #0009}
.ch-img.wide{aspect-ratio:4/3}
.ch3{background:radial-gradient(ellipse at 15% 50%,#4a1c0c66,#0000 60%)}
.ch4{background:radial-gradient(ellipse at 50% 100%,#6b260c88,#0000 70%)}
.ch4 .num{-webkit-text-stroke-color:#ff7a35aa}

/* Final */
.climax{padding:120px 0;text-align:center;background:radial-gradient(ellipse at 50% 120%,var(--fire) 0%,#8a2e0c 35%,var(--bg) 75%)}
.climax h2{font-size:clamp(2.4rem,6vw,4.4rem);color:var(--txt);margin:0 0 14px}
.climax p{color:#f6ede2cc;max-width:480px;margin:0 auto 32px;font-size:1.1rem}
.climax .actions{justify-content:center}
.visit{padding:48px 0;border-top:1px solid var(--line)}
.visit-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.visit h3{font-family:var(--f-body);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
[lang=ar] .visit h3{letter-spacing:0;font-size:.95rem}
.visit p{color:var(--mute)}
.visit a{color:var(--txt)}

/* Révélation (uniquement si JS actif et animations autorisées) */
.js-reveal .reveal{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js-reveal .reveal.in{opacity:1;transform:none}

/* Menu : carte à prix, barre de catégories collée sous l'en-tête */
.mhead{position:relative;isolation:isolate;overflow:hidden;min-height:min(78svh,720px);display:flex;align-items:center;padding:72px 0 64px;text-align:center}
.mhead .hero-img{object-position:40% 70%;filter:saturate(1.1)}
.mhead::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,var(--bg) 0%,#0e0a08b3 30%,#0e0a0866 60%,#0e0a08d9 100%),radial-gradient(ellipse at 50% 45%,#0e0a08b3,#0000 60%)}
.mhead .w{width:100%}
.mhead h1{font-size:clamp(3rem,8vw,5.5rem);text-shadow:0 4px 30px #000c}
.mhead .lead{margin:0 auto;color:var(--txt)}
/* Lueur de braise fixe en bas d'écran, qui vacille pendant qu'on lit la carte */
.fireglow{position:fixed;inset-inline:0;bottom:0;height:45vh;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 120%,#e8561c55,#8a2e0c22 45%,#0000 75%);transform-origin:bottom;animation:flicker 4s ease-in-out infinite alternate}
@keyframes flicker{0%{opacity:.7;transform:scaleY(1)}35%{opacity:1;transform:scaleY(1.08)}60%{opacity:.8;transform:scaleY(.96)}100%{opacity:1;transform:scaleY(1.04)}}
.js-reveal .reveal .ml li{opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js-reveal .reveal.in .ml li{opacity:1;transform:none}
.ml li:nth-child(2){transition-delay:60ms}.ml li:nth-child(3){transition-delay:120ms}.ml li:nth-child(4){transition-delay:180ms}
.ml li:nth-child(5){transition-delay:240ms}.ml li:nth-child(6){transition-delay:300ms}.ml li:nth-child(7){transition-delay:360ms}.ml li:nth-child(8){transition-delay:420ms}
.emblem{width:170px;height:170px;border-radius:50%;margin:0 auto 22px;box-shadow:0 0 0 3px var(--gold),0 0 60px #e8561c55}
.mnav{position:sticky;top:var(--navh,69px);z-index:15;background:#0e0a08ee;backdrop-filter:blur(10px);border-block:1px solid var(--line)}
.mnav .w{display:flex;gap:10px;padding-block:10px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth}
.mnav .w::-webkit-scrollbar{display:none}
.mnav a{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:99px;color:var(--mute);text-decoration:none;font-size:.9rem;font-weight:500;white-space:nowrap;transition:color .2s,border-color .2s,background .2s}
.mnav a:hover{color:var(--txt);border-color:var(--gold)}
.mnav a[aria-current]{background:var(--gold);border-color:var(--gold);color:var(--bg);font-weight:600}
.mc{padding:64px 0;border-top:1px solid var(--line);scroll-margin-top:calc(var(--navh,69px) + 66px)}
.mnav+.mc{border-top:0}
.mc-in{display:grid;grid-template-columns:minmax(200px,1fr) 2fr;gap:20px 64px;align-items:start}
.mc header{position:sticky;top:calc(var(--navh,69px) + 96px)}
.mc .num{display:block;font-size:4.5rem;margin-bottom:10px}
.mc h2{font-size:clamp(1.9rem,3.5vw,2.6rem);margin:0 0 10px;color:var(--txt)}
.mc header p,.mc-txt{color:var(--mute);max-width:40ch}
.mc header .tag{margin-bottom:12px}
.hours-note{max-width:560px;margin:22px auto 0;padding:12px 20px;border:1px solid #e9b44c66;border-radius:12px;background:#0e0a08b3;color:var(--txt);font-size:.95rem}
.mc-txt{font-size:1.1rem}
.ml{list-style:none;padding:0}
.ml li{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:4px 12px;padding:16px 0;border-bottom:1px solid var(--line)}
.ml li:first-child{padding-top:0}
.ml span{font-family:var(--f-display);font-size:1.45rem;font-weight:600;line-height:1.25}
.ml i{border-bottom:1px dotted #e9b44c66;min-width:16px}
.ml b{color:var(--gold);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.ml small{grid-column:1/-1;color:var(--mute);font-size:.9rem}
.incl{margin-top:24px;padding:16px 20px;border-inline-start:3px solid var(--fire);background:var(--card);border-radius:0 10px 10px 0;color:var(--txt)}
[dir=rtl] .incl{border-radius:10px 0 0 10px}

/* À propos : origines, ligne de fumage 00:00 → 12:00, villes de la marque */
.ahead h1{max-width:14ch;margin:14px auto 18px;text-wrap:balance}
[lang=ar] .ahead h1{line-height:1.35}
.origin{padding:96px 0}
.origin-in{display:grid;grid-template-columns:1fr 1.3fr;gap:24px 64px;align-items:end}
.origin h2,.tl-h,.cities h2{font-size:clamp(2rem,4.5vw,3.4rem);color:var(--txt);margin:12px 0 0;text-wrap:balance}
.origin .big{font-family:var(--f-display);font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.55;border-inline-start:2px solid var(--gold);padding-inline-start:28px}
.tl-sec{padding:72px 0 96px;border-top:1px solid var(--line);background:radial-gradient(ellipse at 20% 100%,#3a160866,#0000 60%)}
.tl{--x:150px;list-style:none;padding:0;margin-top:56px;position:relative}
.tl::before,.tl::after{content:"";position:absolute;inset-inline-start:var(--x);top:14px;bottom:0;width:2px}
.tl::before{background:var(--line)}
.tl::after{background:linear-gradient(var(--gold),var(--fire));transform-origin:top;transform:scaleY(var(--p,1));box-shadow:0 0 12px #e8561c88}
.st{position:relative;padding:0 0 72px calc(var(--x) + 48px)}
[dir=rtl] .st{padding:0 calc(var(--x) + 48px) 72px 0}
.st:last-child{padding-bottom:0}
.st::before{content:"";position:absolute;inset-inline-start:calc(var(--x) - 7px);top:7px;width:16px;height:16px;border-radius:50%;z-index:1;background:var(--fire);border:2px solid var(--gold);box-shadow:0 0 0 6px #e8561c33,0 0 24px var(--fire);transition:background .3s,border-color .3s,box-shadow .3s}
.st.end::before{width:24px;height:24px;inset-inline-start:calc(var(--x) - 11px);top:3px}
.st time{position:absolute;inset-inline-start:0;top:-6px;width:calc(var(--x) - 32px);text-align:end;font-family:var(--f-display);font-size:2.4rem;font-weight:700;line-height:1;color:var(--gold);font-variant-numeric:tabular-nums;transition:color .3s}
.st h3{font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:8px}
.st p{color:var(--mute);font-size:1.1rem;max-width:46ch}
.st img{margin-top:28px;width:100%;max-width:520px;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);box-shadow:0 30px 80px #0009}
.tl-js .st:not(.on)::before{background:var(--bg);border-color:var(--line);box-shadow:none}
.tl-js .st:not(.on) time{color:var(--mute)}
.cities{text-align:center;padding:96px 0;border-top:1px solid var(--line)}
.cities .mute{max-width:560px;margin:16px auto 0;font-size:1.1rem}
.route{list-style:none;padding:0;margin-top:44px;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:12px 16px;font-family:var(--f-display);font-size:clamp(2rem,3.2vw,2.6rem);font-weight:700;line-height:1.1;color:var(--mute)}
.route li{position:relative}
.route li:not(:last-child)::after{content:"";display:inline-block;width:28px;height:2px;margin-inline-start:16px;vertical-align:middle;background:linear-gradient(90deg,var(--line),var(--gold))}
[dir=rtl] .route li:not(:last-child)::after{background:linear-gradient(-90deg,var(--line),var(--gold))}
.route .here{color:var(--fire2);text-shadow:0 0 40px #e8561c99}
.route small{position:absolute;inset-inline-start:0;top:100%;white-space:nowrap;font-family:var(--f-body);font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);text-shadow:none}
[lang=ar] .route small{letter-spacing:0;font-size:.95rem}

/* Autres pages */
.g{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.c{background:var(--card);border-radius:var(--r);padding:22px;border:1px solid var(--line)}
.c h3{color:var(--gold);margin-bottom:6px;font-size:1.3rem}
.c p{color:var(--mute);font-size:.95rem}
.tag{display:inline-block;font-size:.75rem;color:var(--gold);border:1px solid var(--gold);border-radius:99px;padding:2px 10px}
dl{display:grid;grid-template-columns:auto 1fr;gap:12px 24px}
dt{color:var(--gold);font-weight:600}
form{display:grid;gap:16px;margin-top:20px}
label{display:grid;gap:6px;font-size:.9rem;color:var(--mute)}
input,textarea,select{background:var(--card);color:var(--txt);border:1px solid #3a2d26;border-radius:10px;padding:12px;font:inherit;min-height:44px}
footer{text-align:center;color:var(--mute);font-size:.85rem;padding:28px 0;border-top:1px solid var(--line)}

/* Réservation : formulaire en 3 étapes, résumé en direct, infos à côté */
.bhead{padding:72px 0 40px;text-align:center;background:radial-gradient(ellipse at 50% 0%,#6b260c88,#0000 65%)}
.bhead h1{font-size:clamp(2.6rem,7vw,4.6rem);margin:12px 0 10px}
.bhead .lead{margin:0 auto}
.book{padding:24px 0 96px}
.book-in{display:grid;grid-template-columns:2fr 1fr;gap:48px;align-items:start}
.bform{gap:36px;margin:0}
fieldset{border:0;padding:0;margin:0;display:grid;gap:16px;min-width:0}
legend{display:flex;align-items:center;gap:14px;padding:0;margin-bottom:18px;font-family:var(--f-display);font-size:clamp(1.6rem,3vw,2.1rem);font-weight:600;line-height:1.2}
legend .n{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--gold);color:var(--gold);font-size:1.3rem}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,#0000 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat}
[dir=rtl] select{background-position:20px 55%,14px 55%}
input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:block;position:relative;color:var(--txt)}
.chip input{position:absolute;inset:0;opacity:0;margin:0;min-height:0}
.chip span{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid #3a2d26;background:var(--card);font-family:var(--f-display);font-size:1.5rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.chip:hover span{border-color:var(--gold)}
.chip input:checked+span{background:var(--fire);border-color:var(--fire);color:var(--bg);box-shadow:0 0 24px #e8561c66}
.chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}
.more{display:none;max-width:260px}
.chips:has(input[value=more]:checked)+.more{display:grid}
.send{padding-top:28px;border-top:1px solid var(--line);display:grid;gap:14px;justify-items:start}
.sum{font-family:var(--f-display);font-size:1.5rem;color:var(--gold);min-height:1.7em;line-height:1.3}
.send .btn{font-size:1.05rem}
.hint{color:var(--mute);font-size:.9rem;max-width:46ch}
.bside{position:sticky;top:calc(var(--navh,69px) + 24px);display:grid;gap:28px;padding:28px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg2)}
.bside h3{font-family:var(--f-body);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
[lang=ar] .bside h3{letter-spacing:0;font-size:.95rem}
.bside p{color:var(--mute)}
.bside a[href^=tel]{color:var(--txt);font-size:1.2rem;font-weight:600}
.evt{padding-top:24px;border-top:1px solid var(--line)}
.evt h3+p{margin-bottom:10px}

/* Événementiel : bandeau des occasions, 3 temps, salon VIP, devis */
.ehead .actions{justify-content:center;margin-top:8px}
.ehead .lead{margin-bottom:26px}
.occ{padding:28px 0;overflow:hidden;border-block:1px solid var(--line);background:var(--bg2)}
.occ-track{display:flex;width:max-content;animation:marquee 40s linear infinite}
.occ ul{display:flex;list-style:none;padding:0}
.occ li{font-family:var(--f-display);font-size:clamp(2rem,5vw,3.6rem);font-weight:600;white-space:nowrap;padding-inline-end:56px;color:var(--txt)}
.occ li::after{content:"✦";color:var(--fire);font-size:.5em;vertical-align:middle;margin-inline-start:56px}
.occ li:nth-child(even){color:var(--gold)}
@keyframes marquee{to{transform:translateX(-50%)}}
[dir=rtl] .occ-track{animation-name:marquee-rtl}
@keyframes marquee-rtl{to{transform:translateX(50%)}}
.how{padding:96px 0}
.how h2{font-size:clamp(2rem,4.5vw,3.4rem);color:var(--txt);margin:12px 0 0}
.how-in{list-style:none;padding:0;margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.how-in li{border-top:1px solid var(--line);padding-top:24px}
.how-in .num{display:block;font-size:5rem;margin-bottom:18px}
.how-in li:last-child .num{-webkit-text-stroke-color:#ff7a35aa}
.how-in h3{font-size:1.9rem;margin-bottom:8px}
.how-in p{color:var(--mute)}
.zone{margin-top:48px;padding:16px 20px;border-inline-start:3px solid var(--gold);background:var(--card);border-radius:0 10px 10px 0;max-width:640px}
[dir=rtl] .zone{border-radius:10px 0 0 10px}
.vip{padding:96px 0;border-top:1px solid var(--line);background:radial-gradient(ellipse at 85% 50%,#3a160866,#0000 60%)}
.vip-in{display:grid;grid-template-columns:1.1fr 1fr;gap:32px 64px;align-items:center}
.vip img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);box-shadow:0 30px 80px #0009}
.vip h2{font-size:clamp(2rem,4.5vw,3.4rem);color:var(--txt);margin:12px 0}
.vip p:not(.eyebrow){color:var(--mute);font-size:1.1rem;max-width:42ch}
.vip-facts{list-style:none;padding:0;margin-top:28px;display:flex;flex-wrap:wrap;gap:16px 40px}
.vip-facts li{color:var(--mute);font-size:.95rem}
.vip-facts b{display:block;font-family:var(--f-display);font-size:2.4rem;font-weight:700;line-height:1.1;color:var(--gold);font-variant-numeric:tabular-nums}
#devis{border-top:1px solid var(--line);padding-top:96px;scroll-margin-top:var(--navh,69px)}
.form-h{font-size:clamp(2.4rem,6vw,4rem);color:var(--txt);margin:0 0 40px;text-align:center}
.chip.txt span{width:auto;height:48px;padding:0 22px;border-radius:99px;font-size:1.2rem}

/* Contact : plan assombri, coordonnées en grand, état ouvert / fermé */
.cont-in{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:stretch}
.map{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 80px #0009;min-height:420px;background:var(--card)}
.map{display:flex}
.map-load{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px;text-align:center;text-decoration:none;background:radial-gradient(ellipse at 50% 60%,#3a160866,#0000 70%)}
.map-load small{color:var(--mute);font-size:.85rem;max-width:34ch}
.map-load:hover .btn{border-color:var(--txt);background:#ffffff14}
.map iframe{flex:1;display:block;width:100%;height:100%;min-height:420px;border:0;filter:invert(.92) hue-rotate(180deg) saturate(.5) sepia(.25)}
.cl{list-style:none;padding:0;display:grid;gap:0;align-content:start}
.cl li{padding:22px 0;border-bottom:1px solid var(--line)}
.cl li:first-child{padding-top:0}
.cl h3{font-family:var(--f-body);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
[lang=ar] .cl h3{letter-spacing:0;font-size:.95rem}
.cl p{color:var(--mute)}
.cl .link{margin-top:6px}
.cl .big{font-family:var(--f-display);font-size:2rem;font-weight:700;color:var(--txt);text-decoration:none}
.now{display:inline-flex;align-items:center;gap:8px;margin-top:8px;color:var(--mute);font-weight:600;font-size:.9rem}
.now::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mute)}
.now.on{color:var(--txt)}
.now.on::before{background:var(--fire2);box-shadow:0 0 10px var(--fire2);animation:flicker 2s ease-in-out infinite alternate}

@media(max-width:760px){
  .nav nav{order:3;flex-basis:100%;gap:16px}
  .dd>div,.dd:hover>div,.dd:focus-within>div{display:none}
  .hero{padding:170px 0 100px}
  .ch{padding:52px 0}
  .ch-in,.has-img .ch-in,.flip .ch-in{grid-template-columns:1fr;gap:8px}
  .flip .ch-img{order:0}
  .ch-img{aspect-ratio:4/3;margin-top:20px}
  .num{font-size:5rem}
  .mc{padding:44px 0}
  .mc-in{grid-template-columns:1fr}
  .mc header{position:static}
  .mc .num{font-size:3rem}
  .ml span{font-size:1.25rem}
  .origin{padding:64px 0}
  .origin-in{grid-template-columns:1fr}
  .tl{--x:7px;margin-top:40px}
  .st{padding:0 0 56px 40px}
  [dir=rtl] .st{padding:0 40px 56px 0}
  .st time{position:static;display:block;width:auto;text-align:start;font-size:1.6rem;margin-bottom:6px}
  .st.end::before{top:3px}
  .cities{padding:64px 0}
  .book-in{grid-template-columns:1fr}
  .bside{position:static}
  .row{grid-template-columns:1fr}
  .chip span{width:52px;height:52px}
  .how{padding:64px 0}
  .how-in{grid-template-columns:1fr;gap:28px}
  .vip{padding:64px 0}
  .vip-in{grid-template-columns:1fr}
  #devis{padding-top:64px}
  .cont-in{grid-template-columns:1fr;gap:32px}
  .map,.map iframe{min-height:300px}
  .cl{order:-1}
  .brand img{width:52px;height:52px}
  .route{flex-direction:column;align-items:center}
  .route small{position:static;display:block}
  .route li:not(:last-child)::after{display:block;width:2px;height:28px;margin:12px auto 0;background:linear-gradient(var(--line),var(--gold))}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .embers,.progress{display:none}
  .occ-track{width:auto}
  .occ-track ul+ul{display:none}
  .occ ul{flex-wrap:wrap;justify-content:center;padding:0 20px}
  html,.mnav .w{scroll-behavior:auto}
}

/* Page Confidentialité et mentions légales */
.legal{padding:24px 0 96px}
.legal .upd{color:var(--mute);font-size:.9rem;text-align:center}
.page-privacy .bhead h1{font-size:clamp(2.2rem,5.5vw,3.6rem);text-wrap:balance}
.legal .part{font-size:clamp(1.9rem,3.5vw,2.6rem);color:var(--txt);margin:72px 0 0;padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:90px}
.legal .part:first-of-type{margin-top:40px}
.legal h3{font-size:1.45rem;color:var(--gold);margin:40px 0 12px}
.legal p,.legal li{color:var(--mute)}
.legal p+p{margin-top:12px}
.legal ul{padding-inline-start:20px;margin-top:12px}
.legal li+li{margin-top:6px}
.legal strong{color:var(--txt);font-weight:600}
.legal a{color:var(--gold)}
.legal .kv{list-style:none;padding:0;border-top:1px solid var(--line)}
.legal .kv li{display:grid;grid-template-columns:minmax(0,15rem) 1fr;gap:4px 20px;align-items:baseline;margin:0;padding:12px 0;border-bottom:1px solid var(--line)}
.legal .kv b{color:var(--txt);font-weight:600;font-size:.9rem}
.legal .kv .tag{justify-self:start}
@media(max-width:760px){.legal .kv li{grid-template-columns:1fr}}
