/* YORU — mobile composé à part, immersif (spec 2026-10-05). Chargé en dernier, sauf sur la porte.
 * Tous les effets existants restent ; on ajoute des effets liés au défilement. Ordinateur inchangé. */

/* contenu web seul / mobile seul */
@media (min-width:901px){.mob-seul{display:none!important}}
@media (max-width:900px){.web-seul{display:none!important}}

/* ---------- effets au défilement (mobile) ---------- */
@media (max-width:900px){
  /* photo qui se dévoile : s'ouvre de bas en haut et dézoome au rythme du doigt (--p fourni par effets.js sur [data-vue]) */
  [data-devoile]{--q:clamp(0,calc((var(--p,1) - .05)/.36),1);overflow:hidden;clip-path:inset(calc((1 - var(--q))*100%) 0 0 0)!important;transition:none!important;will-change:clip-path}
  [data-devoile] img{transform:scale(calc(1.15 - var(--q)*.15))!important;transform-origin:50% 100%;transition:none!important}
  /* rangées à glisser : elles entrent de la droite à leur apparition */
  [data-glisse].entre-d{opacity:1;transform:none}
  [data-glisse].entre-d>*{translate:70px 0;transition:translate 1.1s cubic-bezier(.2,.7,.2,1),transform .4s,opacity .4s}
  [data-glisse].entre-d.vu>*{translate:0 0}
  [data-glisse].entre-d>*:nth-child(2){transition-delay:90ms,0s,0s}[data-glisse].entre-d>*:nth-child(3){transition-delay:180ms,0s,0s}
  /* grands titres : les mots s'allument l'un après l'autre */
  .titre-mots .mt{display:inline-block;opacity:.12;filter:blur(3px);transition:opacity .6s ease calc(var(--k)*80ms),filter .6s ease calc(var(--k)*80ms)}
  .titre-mots.vu .mt{opacity:1;filter:none}
  /* trait néon entre les sections : se trace d'un bord à l'autre */
  .neon-sep[data-vue] i{transform:scaleX(clamp(0,calc((var(--p,1) - .08)*3.2),1));transition:none}
  .neon-sep[data-vue] i:first-child{transform-origin:100% 50%}.neon-sep[data-vue] i:last-child{transform-origin:0 50%}
  /* hero qui s'estompe et recule en le quittant */
  [data-recule] .vues,[data-recule] .h-centre,[data-recule] .cl-hero-grille{opacity:clamp(.35,calc(1 - (var(--p,.5) - .5)*1.6),1);transform:scale(clamp(.93,calc(1 - (var(--p,.5) - .5)*.14),1))}
  /* descente restaurant ↔ club : plus épinglée, l'effet se joue pendant qu'on passe dessus */
  .descente{height:auto!important}
  .descente .colle{position:relative!important;height:70svh!important}
  .descente .photo{transform:scale(calc(1.4 - var(--p,.5)*.25))!important;filter:brightness(calc(.5 + var(--p,.5)*.4))!important}
  html.js .descente .contenu{opacity:clamp(0,calc(var(--p,1)*3.2 - .7),1)!important;transform:translateY(calc((1 - min(1,var(--p,1)*2))*50px))!important}
}
.fige [data-devoile]{clip-path:none!important}.fige [data-devoile] img,.fige [data-recule] *{transform:none!important;opacity:1!important}
.fige .titre-mots .mt{opacity:1;filter:none}.fige [data-glisse].entre-d>*{translate:0 0}
@media (prefers-reduced-motion:reduce){
  [data-devoile]{clip-path:none!important}[data-devoile] img{transform:none!important}
  .titre-mots .mt{opacity:1!important;filter:none!important}[data-glisse].entre-d>*{translate:0 0!important}
  [data-recule] .vues,[data-recule] .h-centre,[data-recule] .cl-hero-grille{opacity:1!important;transform:none!important}
}

/* ---------- éléments communs (mobile) ---------- */
@media (max-width:900px){
  /* corps de texte lisible */
  main p{font-size:max(16px,1em)}
  main .h-centre p{font-size:16px!important}
  /* bulle du chat : 48 px, s'efface quand on descend */
  .chat-bulle{right:14px;bottom:14px;padding:2px!important;gap:0}
  .chat-bulle .rond{width:42px;height:42px;background-size:38px}
  .chat-bulle.efface{opacity:0;transform:translateY(24px) scale(.8);pointer-events:none}
  .pied .bas{margin-top:8px!important;padding-top:8px!important;gap:6px!important;font-size:14px}
  .pied .bas{line-height:1.7}
}

/* ---------- accueil restaurant (mobile) ---------- */
@media (max-width:900px){
  /* ruban de plats : juste sous « Une nuit à Tokyo » */
  .statement{padding:50px 0 18px!important}
  .statement .st{font-size:15vw;margin:0 0 26px!important}
  .statement .defile{margin:0!important}
  .bande{padding:0 0 18px;background:var(--nuit)}
  .bande figure{width:38vw}
  .bande img{filter:none}
  /* expérience : une grande photo dévoilée, titre, une phrase, chiffres */
  .exp{padding:46px 0 40px!important}
  .exp-fond,.exp-halo{display:none}
  .exp-grille{gap:0!important}
  .exp-photo{margin:22px -20px 0;aspect-ratio:16/11}
  .exp-photo img{width:100%;height:100%;object-fit:cover;display:block}
  .exp-texte>p{margin-top:20px}
  .exp .chiffres{margin-top:26px;padding-top:20px}
  /* la carte : 6 familles en grandes tuiles photo, cadre LED qui tourne */
  .menu-t{padding:40px 0!important}
  .mt-panneau{padding:38px 16px 30px!important}
  .mt-panneau .mt-tete{margin-bottom:22px}
  .mt-panneau .mt-tete p{display:none}
  .mt-panneau .mt-kanji{display:none}
  .mt-panneau .mt-liste{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:26px!important}
  .mt-panneau .mt-liste li{position:relative;border-radius:6px;padding:2px;overflow:hidden;isolation:isolate}
  .mt-panneau .mt-liste li::before{content:"";position:absolute;inset:-60%;z-index:-1;background:conic-gradient(from 0deg,#3fd7ff00 0 55%,#3fd7ff 70%,#ff29a8 85%,#3fd7ff00 100%);animation:tourne 3.2s linear infinite}
  .mt-panneau .mt-liste a{display:block!important;position:relative;aspect-ratio:4/3;padding:0!important;border:0!important;border-radius:5px;overflow:hidden;background:#03070f}
  .mt-panneau .mt-liste img{width:100%!important;height:100%!important;border-radius:0!important;object-fit:cover;box-shadow:none!important}
  .mt-panneau .mt-liste a::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(#03070f00 40%,#03070fe6)}
  .mt-panneau .mt-liste span{position:absolute;left:10px;right:10px;bottom:28px;z-index:2;font-size:21px!important;line-height:1.05;text-shadow:0 2px 12px #000}
  .mt-panneau .mt-liste small{display:block!important;position:absolute;left:10px;bottom:8px;z-index:2;font-size:15px!important;letter-spacing:.06em}
  .mt-panneau .mt-liste .pts,.mt-panneau .mt-liste a::after{display:none}
  /* bar : photo pleine largeur dévoilée, une phrase, cocktails à glisser */
  .bar-t{padding:0 0 40px!important}
  .bar-grille{gap:0!important}
  .bar-photo{margin:0 -20px 24px;aspect-ratio:16/10;border-radius:0;box-shadow:none}
  .bar-rang{list-style:none;margin-top:22px!important}
  .bar-rang>li{display:flex;flex-direction:column;gap:6px;padding:20px 18px;border:1px solid #ff29a866;border-radius:6px;background:#06183dd9}
  .bar-rang>li span{font-family:var(--italique);font-style:italic;font-size:26px;color:#fff}
  .bar-rang>li i{display:none}
  .bar-rang>li b{font-family:var(--display);font-weight:400;font-size:22px;color:var(--rose);text-shadow:0 0 10px #ff29a888}
  .bar-rang>li{flex-basis:62%!important;max-width:62%!important}
  /* galerie et réservation compactes */
  .gal{padding:40px 0!important}
  .gal .mosaique[data-glisse]>*{aspect-ratio:1!important}
  .resa-t{padding:50px 0!important}
  .resa-t .resa-info{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.mt-panneau .mt-liste li::before{animation:none}}

/* ---------- club (mobile) ---------- */
@media (max-width:900px){
  .cl-soirees{padding-top:0!important}
  .cl-soirees-titre{padding-top:46px}
  .cl-piste-ligne{margin-top:16px;font-family:var(--display);font-size:22px!important;letter-spacing:.04em;color:#eafcff;text-shadow:0 0 14px #3fd7ff}
  .cl-piste-txt{padding-bottom:22px!important}
  /* carrés : photo pleine largeur dévoilée, une phrase, cocktails à glisser, numéro */
  .cl-carres{padding:0 0 44px!important}
  .cl-carres-grille{gap:0!important}
  .cl-carres-photo{margin:0 -20px 26px!important;aspect-ratio:16/10!important;border-radius:0!important}
  .cl-carres-photo img{border-radius:0!important}
  .cl-carres-photo .cl-cadre,.cl-carres-photo .cl-carres-k{display:none}
  .cl-carres .cc-liste{margin-top:20px!important}
  .cl-carres .btn{margin-top:22px}
  /* étapes : trois cartes à glisser avec grandes photos */
  .cl-etapes{padding:46px 0!important}
  .cl-etapes-tete{margin-bottom:24px!important}
  .cl-zig-fil{display:none!important}
  .cl-zig{gap:14px!important;flex-direction:row!important}
  .cl-zig li{display:block!important;padding:0!important;border:1px solid #ff29a855;border-radius:6px;background:#06183dd9;overflow:hidden}
  .cl-zig figure{order:0!important;aspect-ratio:4/3!important;border-radius:0!important;box-shadow:none!important}
  .cl-zig-n{position:absolute!important;left:14px!important;top:14px!important;transform:none!important;width:44px!important;height:44px!important;font-size:18px!important}
  .cl-zig-txt{text-align:left!important;padding:16px 16px 20px}
  .cl-zig h3{font-size:28px!important}
  .cl-zig p{margin:8px 0 0!important;font-size:16px!important}
  /* privatiser : bloc nuit cerclé de rose */
  .cl-privat{margin:0 16px;padding:40px 4px!important;background:radial-gradient(ellipse 80% 70% at 50% 0%,#ff29a826,#03070f 70%)!important;border:1px solid #ff29a8;border-radius:8px;box-shadow:0 0 30px #ff29a855,inset 0 0 30px #ff29a822}
  .cl-privat::before{color:#ff29a812!important}
  .cl-privat-grille{gap:16px!important}
  .cl-privat .lbl{color:#ffc2e4!important}
  .cl-privat h2 em{color:var(--rose)!important;text-shadow:0 0 14px #ff29a888}
  .cl-privat .btn--blanc-c{background:var(--rose)!important;color:#fff!important;border-color:var(--rose)!important;box-shadow:0 0 24px #ff29a888}
  /* accès compact */
  .acces-c{padding:46px 0!important}
  .acc-grille{margin-top:20px!important}
  .acc-grille>div,.acc-grille>div+div{padding:14px 0!important}
  .acc-grille h3{font-size:26px!important;margin-bottom:4px!important}
  .acc-k{display:none!important}
  .acc-grille p a{display:inline-flex;align-items:center;min-height:44px}
}
@media (max-width:900px){
  .descente .etage{display:none!important}
}
.fige .descente .contenu{opacity:1!important;transform:none!important}

/* ---------- le lieu : galerie néon (ordinateur et mobile) ---------- */
.lc{--lw:min(62vw,1000px);--bar:96px;height:min(76vh,760px)!important;overflow:hidden;background:radial-gradient(ellipse 70% 60% at 50% 45%,#0a2250,var(--nuit) 70%)!important}
.lc .lc-diapo{inset:28px auto auto 50%!important;width:var(--lw);height:calc(100% - var(--bar) - 28px);margin-left:calc(var(--lw)/-2);border-radius:6px;overflow:hidden;
  opacity:0;transform:translateX(0) scale(.7);filter:brightness(.4);z-index:0;
  transition:transform 1s cubic-bezier(.65,0,.25,1),opacity 1s ease,filter 1s ease!important}
.lc .lc-diapo[data-pos="0"]{opacity:1;transform:none;filter:none;z-index:2;box-shadow:0 30px 80px #000c,0 0 40px #3fd7ff33}
.lc .lc-diapo[data-pos="-1"]{opacity:.7;transform:translateX(-92%) scale(.78);z-index:1}
.lc .lc-diapo[data-pos="1"]{opacity:.7;transform:translateX(92%) scale(.78);z-index:1}
.lc .lc-diapo[data-pos="-2"]{transform:translateX(-170%) scale(.6)}
.lc .lc-diapo[data-pos="2"]{transform:translateX(170%) scale(.6)}
.lc .lc-diapo img{transform:scale(1.08)!important;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)!important}
.lc .lc-diapo[data-pos="0"] img{transform:scale(1)!important}
.lc .lc-diapo.trace::before{z-index:3;padding:3px}
.lc .lc-diapo[data-pos="0"].trace::before{opacity:1;animation:tour 3.2s linear infinite}
.lc .lc-diapo figcaption{left:28px!important;bottom:24px!important;font-size:clamp(28px,3vw,46px)!important;opacity:0;transition:opacity .6s .5s}
.lc .lc-diapo[data-pos="0"] figcaption{opacity:1}
/* barre sous le cadre : compteur, points, pause */
.lc-compte{position:absolute;left:calc(50% - var(--lw)/2);bottom:24px;z-index:3;display:flex;align-items:baseline;gap:8px;font-family:var(--display);color:#fff}
.lc-compte b{font-weight:400;font-size:44px;line-height:1;color:var(--rose);text-shadow:0 0 16px #ff29a888}
.lc-compte span{font-size:20px;color:#cfe3f5}
.lc .lc-points{bottom:22px!important;gap:0!important;left:50%!important;right:auto!important;transform:translateX(-50%);pointer-events:none}.lc .lc-point{pointer-events:auto}
.lc .lc-point{position:relative;width:44px!important;height:44px!important;padding:0;background:none!important;border-radius:0!important}
.lc .lc-point::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#ffffff59;transition:width .3s,margin .3s,background .3s}
.lc .lc-point.on::before{width:24px;margin-left:-12px;border-radius:4px;background:linear-gradient(90deg,#3fd7ff,#ff29a8);box-shadow:0 0 10px #ff29a888}
.lc .lc-pause{right:calc(50% - var(--lw)/2)!important;bottom:22px!important;margin:0!important}
.lc .lc-prec,.lc .lc-suiv{top:calc((100% - var(--bar) + 28px)/2)!important}
.lc .lc-prec{left:calc(50% - var(--lw)/2 - 28px)!important}.lc .lc-suiv{right:calc(50% - var(--lw)/2 - 28px)!important}
@media (max-width:900px){
  .lc{--lw:80vw;--bar:150px;height:min(74svh,640px)!important}
  .lc .lc-diapo{top:20px!important;height:calc(100% - var(--bar) - 20px)}
  .lc .lc-diapo[data-pos="-1"]{transform:translateX(-96%) scale(.86)}
  .lc .lc-diapo[data-pos="1"]{transform:translateX(96%) scale(.86)}
  .lc .lc-diapo figcaption{left:16px!important;bottom:14px!important;font-size:28px!important}
  .lc-compte{left:50%;transform:translateX(-50%);bottom:26px}.lc-compte b{font-size:36px}.lc-compte span{font-size:17px}
  .lc .lc-points{display:none!important}
  .lc .lc-pause{right:auto!important;left:50%!important;margin-left:-22px!important;bottom:84px!important}
  .lc .lc-prec,.lc .lc-suiv{top:auto!important;bottom:22px!important;width:48px!important;height:48px!important}
  .lc .lc-prec{left:10vw!important}.lc .lc-suiv{right:10vw!important}
}
@media (prefers-reduced-motion:reduce){.lc .lc-diapo,.lc .lc-diapo img{transition:none!important}.lc .lc-diapo.trace::before{animation:none}}
html:not(.js) .lc .lc-diapo{position:relative;top:auto;left:auto;width:auto;margin:0 0 8px;height:60vh;opacity:1;transform:none;filter:none}
html:not(.js) .lc-compte{display:none}

/* ---------- le lieu, carte, contact (mobile) ---------- */
@media (max-width:900px){
  /* galerie du lieu : grandes photos à glisser */
  .galerie-lieu{padding:30px 0 44px!important}
  .grille-lieu[data-glisse]{margin:0!important}
  .grille-lieu[data-glisse]>figure{flex:0 0 82%!important;max-width:82%!important}
  .grille-lieu[data-glisse] .g-ouvrir{aspect-ratio:4/5!important}
  .grille-lieu figcaption{font-size:22px!important;left:14px!important;bottom:12px!important}
  /* photo du club : plus claire, sans texture */
  .lieu-club{min-height:56svh}
  .lieu-club .photo{filter:brightness(.68)!important}
  .lieu-club::before,.lieu-club::after{display:none!important}
  .lieu-club .contenu{background:radial-gradient(ellipse 70% 60% at 50% 50%,#03070fb3,#03070f00 75%)}
}
@media (max-width:900px){
  .c-infos{padding:26px 20px!important}
  .c-infos dd a{display:inline-flex;align-items:center;min-height:44px}
  .c-infos dl div{padding:10px 0!important}
  .c-actions{gap:10px!important}
}
@media (max-width:900px){.pied .bas{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center}}
@media (max-width:900px){
  /* soirées du club : deux cartes claires (vendredi, samedi), plus de story à taper */
  .cl-soirees-titre{margin-bottom:22px!important;padding:0 20px!important}
  .cl-ecran{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px;height:auto!important;min-height:0!important;padding:0 16px}
  .cl-soir{height:auto!important;aspect-ratio:1/1;border:1px solid #ff29a866!important;border-radius:8px}
  .cl-soir--d{border-color:#3fd7ff66!important}
  .cl-soir-k{top:16px!important;font-size:24px!important}.cl-soir--g .cl-soir-k{left:14px!important}.cl-soir--d .cl-soir-k{right:14px!important}
  .cl-soir-txt{left:18px!important;right:18px!important;bottom:18px!important}
  .cl-soir h3{font-size:56px!important}
  .cl-soir-txt p{margin:8px 0 14px!important;font-size:16px!important}
  .cl-soir--d .cl-soir-txt{text-align:right}
  /* cuisine : rangée plus compacte */
  .cuisine{padding:46px 0 40px!important}
  .cu-tete{margin-bottom:20px!important}
  .cu-rang figure{aspect-ratio:4/3!important;height:auto!important}
  .cu-rang figure img{height:100%!important}
  .cu-rang h3{font-size:28px!important}
}
@media (max-width:900px){.cu-rang[data-glisse]{padding-left:20px!important;padding-right:20px!important;scroll-padding-inline:20px}}
.tete .langue{display:inline-flex;align-items:center;justify-content:center;line-height:1}
@media (max-width:900px){
  /* carte : une rubrique ouverte garde un fond nuit sous ses plats (lisible sur la vague blanche) */
  .carte-fond .rubrique.ouverte{background:linear-gradient(170deg,#06183dfa,#03070ffa);border-radius:16px;box-shadow:0 0 0 1px #ff29a866,0 24px 50px #03070f55;padding-bottom:10px}
  .carte-fond .rubrique.ouverte .articles{padding:0 16px}
}
@media (max-width:900px){.cu-rang[data-glisse]{scroll-snap-type:none!important;scroll-behavior:auto!important}}
@media (max-width:900px){.mosaique[data-glisse]>.fxc:nth-child(n+3){--d:120ms!important}}
.menu-m nav{align-items:center;text-align:center;padding:84px 28px 190px!important;gap:10px!important}.menu-m .bas{justify-content:center;justify-self:stretch}
/* menu : à la fermeture, liens et boutons s'effacent tout de suite (les délais ne servent qu'à l'ouverture) */
.menu-m nav a,.menu-m .bas,.menu-m .fermer{transition:opacity .15s ease,transform .15s ease!important;transition-delay:0s!important}
.menu-ouvert .menu-m nav a{transition:opacity .5s,transform .6s cubic-bezier(.2,.8,.2,1)!important;transition-delay:calc(.25s + var(--i)*.06s)!important}
.menu-ouvert .menu-m .bas{transition:opacity .5s .5s!important}
.menu-ouvert .menu-m .fermer{transition:opacity .4s .3s!important}
@media (max-width:900px){
  /* piste du club : plus d'écran vide, la photo reste visible, voile seulement sous le texte */
  .cl-piste{min-height:66svh!important;justify-content:flex-end}
  .cl-piste-voile{background:linear-gradient(#03070f40,#03070f00 30%,#03070f00 45%,#03070fe0 82%)!important}
  .cl-piste-txt{padding-top:24px!important}
}
@media (max-width:900px){.article .nouveau{font-size:15px!important;padding:3px 10px!important}}

/* ---------- boutons mobiles plus fins (精致) : hauteur 48, filet 1 px, plus de gros halo ---------- */
@media (max-width:900px){
  .btn{min-height:48px!important;padding:0 24px!important;font-size:15px!important;font-weight:600!important;letter-spacing:.05em!important;border-width:1px!important;gap:10px}
  .btn--grand{min-height:54px!important;padding:0 32px!important;font-size:16px!important}
  .btn--elec,.c-actions .btn--cobalt{background:linear-gradient(135deg,#8ae9ff,#3fd7ff 55%,#22b9e8)!important;border-color:#bff4ff99!important;color:#00131c!important;box-shadow:inset 0 1px 0 #ffffffb3,0 6px 18px #3fd7ff38!important}
  .mt-panneau .btn--elec{background:linear-gradient(135deg,#5fdcff,#a86bff 55%,#ff29a8)!important;color:#fff!important;border-color:#ffffff59!important;box-shadow:inset 0 1px 0 #ffffff66,0 6px 18px #ff29a838!important}
  .btn--rose{background:linear-gradient(135deg,#ff6cc4,#ff29a8 55%,#d9168c)!important;border-color:#ffc2e499!important;box-shadow:inset 0 1px 0 #ffffff80,0 6px 18px #ff29a838!important}
  .btn--blanc,.btn--blanc-c{box-shadow:inset 0 -1px 0 #0000001a,0 6px 18px #0000004d!important}
  .btn--fil,.btn--fil-c,.c-actions .btn--fil-n{background:#ffffff0d!important;border-color:#ffffff59!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .btn:active{transform:scale(.98);box-shadow:none!important}
  /* « Réserver » de l'en-tête : pastille fine en verre sombre, liseré cyan */
  .tete .reserver-m{min-height:42px!important;padding:0 18px!important;font-size:14px!important;letter-spacing:.08em!important;background:#03070fb3!important;color:#bff4ff!important;border:1px solid #3fd7ffb3!important;box-shadow:0 0 14px #3fd7ff2e,inset 0 0 10px #3fd7ff1a!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  body[data-univers="club"] .tete .reserver-m,body[data-univers="club"] .tete .btn--elec{color:#ffd0ea!important;border-color:#ff29a8b3!important;box-shadow:0 0 14px #ff29a82e,inset 0 0 10px #ff29a81a!important}
}

/* ---------- pied de page mobile : épuré, centré, filets fins ---------- */
@media (max-width:900px){
  .pied{padding:40px 0 22px!important;text-align:center}
  .pied-m{display:flex!important;flex-direction:column;align-items:center;gap:0}
  .pm-tete{display:flex;flex-direction:column;align-items:center;gap:6px;padding-bottom:20px}
  .pm-tete .logo{width:46px!important;height:46px!important;margin:0 0 4px!important;background-size:40px!important}
  .pm-tete b{font-family:var(--display);font-weight:400;font-size:20px;letter-spacing:.12em;color:#fff}
  .pm-tete a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:#cfe3f5;border-bottom:1px solid #3fd7ff59;line-height:1.3}
  .pm-bloc{width:100%;border-top:1px solid #ffffff17;padding:18px 0}
  .pm-bloc h4{font-family:var(--italique)!important;font-style:italic;font-weight:400;font-size:19px!important;color:#9fdcf2;margin:0 0 8px!important;letter-spacing:.02em!important}
  .pm-heures{width:min(300px,100%);margin:0 auto}
  .pm-heures>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0}
  .pm-heures dt{font-size:15px;color:#cfe3f5}
  .pm-heures dd{margin:0;font-size:15px;color:#fff;white-space:nowrap}
  .pm-heures>div:last-child dt,.pm-heures>div:last-child dd{color:#ffc2e4}
  .pm-tel{display:inline-flex;align-items:center;min-height:48px;font-family:var(--display);font-size:28px;letter-spacing:.06em;color:#fff;text-shadow:0 0 18px #3fd7ff55}
  .pm-liens{display:flex;flex-wrap:wrap;justify-content:center;column-gap:8px;row-gap:0}
  .pm-liens a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;font-size:15px;color:#e3eef8}
  .pm-reseaux{padding:4px 0 0}
  .pm-reseaux a{color:#9fdcf2}
  .pied .bas{margin-top:14px!important;padding-top:14px!important;border-top:1px solid #ffffff17;font-size:13.5px;color:#9fb3c8}
}
/* bouton de langue de l'en-tête (mobile) : juste « EN » en petites capitales espacées, trait cyan dessous ; zone de toucher 44 px */
@media (max-width:900px){
  .tete .langue{position:relative;min-width:0!important;min-height:0!important;width:auto!important;height:auto!important;padding:6px 4px!important;border:0!important;border-radius:0;background:none!important;font-size:12px!important;font-weight:600;letter-spacing:.24em;text-indent:.24em;color:#e3eef8;opacity:1}
  .tete .langue::before{content:"";position:absolute;left:50%;bottom:0;width:14px;height:1px;margin-left:-7px;background:var(--elec);box-shadow:0 0 6px var(--elec)}
  body[data-univers="club"] .tete .langue::before{background:var(--rose);box-shadow:0 0 6px var(--rose)}
  .tete .langue::after{content:"";position:absolute;inset:-12px -12px}
}
@media (max-width:900px){
  /* menu plein écran : Réserver en grand, puis téléphone + petite pastille de langue */
  .menu-m .bas{display:grid!important;grid-template-columns:1fr auto;gap:10px!important;width:min(340px,calc(100% - 40px));justify-self:center;padding:0 0 max(34px,env(safe-area-inset-bottom))!important}
  .menu-m .bas>.btn:first-child{grid-column:1/-1}
  .menu-m .bas>.btn:last-child{min-width:0!important;padding:0 16px!important;font-size:12px!important;letter-spacing:.16em!important;border-color:#ffffff3d!important;background:#03070f66!important}
  /* haut de page restaurant et club : titre et boutons remontés */
  .h-yoru[data-plein] .h-centre{padding-bottom:max(13svh,60px)!important}
  .cl-hero[data-plein] .cl-hero-grille{padding-bottom:max(7svh,44px)!important}
}
@media (max-width:900px){
  .menu-m .bas>.btn:nth-child(2):last-child{grid-column:1/-1;justify-self:center;min-width:64px!important}
  /* bandeau « Montparnasse · Tokyo by night » : un peu plus bas sous la phrase */
  .statement .defile{margin-top:30px!important}
}
@media (max-width:900px){
  /* bandeau « Montparnasse · Tokyo by night » : séparation entre la phrase d'accroche et « Une nuit à Tokyo » */
  .statement{padding-bottom:0!important}
  .statement .defile{margin:34px 0 0!important;padding:14px 0!important;background:#03070fd9;border-top:1px solid #3fd7ff40;border-bottom:1px solid #3fd7ff40;box-shadow:0 0 24px #3fd7ff1a}
}
@media (max-width:900px){
  /* menu plein écran : boutons du bas un par ligne, centrés */
  .menu-m .bas{display:flex!important;flex-direction:column!important;align-items:center!important;gap:10px!important;width:100%!important}
  .menu-m .bas>.btn{width:min(300px,calc(100% - 40px))!important}
  .menu-m .bas>.btn:last-child{width:auto!important;min-width:64px!important}
}
/* carte (ordinateur) : flèches de la barre des catégories, fondus sur les bords */
.pastilles .p-prec,.pastilles .p-suiv{display:none}
@media (min-width:901px){
  .pastilles{position:sticky}
  .pastilles-piste{cursor:grab;user-select:none}.pastilles-piste.tire{cursor:grabbing}.pastilles-piste.tire a{pointer-events:none}
  .pastilles .p-prec,.pastilles .p-suiv{display:flex;position:absolute;top:0;bottom:1px;z-index:2;width:84px;align-items:center;border:0;padding:0;font-size:30px;line-height:1;color:#fff;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s}
  .pastilles .p-prec{left:0;justify-content:flex-start;padding-left:22px;background:linear-gradient(90deg,#03070f 40%,#03070f00)}
  .pastilles .p-suiv{right:0;justify-content:flex-end;padding-right:22px;background:linear-gradient(270deg,#03070f 40%,#03070f00)}
  .pastilles .p-prec.on,.pastilles .p-suiv.on{opacity:1;pointer-events:auto}
  .pastilles .p-prec:hover,.pastilles .p-suiv:hover{color:var(--elec);text-shadow:0 0 12px var(--elec)}
}

/* ---------- mobile : respiration (marges latérales 24 px, sections aérées, interlignes) ---------- */
@media (max-width:900px){
  .wrap{padding-left:24px!important;padding-right:24px!important}
  main p{line-height:1.7}
  main .lbl{display:inline-block;margin-bottom:14px!important}
  main h2{margin-bottom:6px}
  main h2+p,main .fx>h2+p{margin-top:18px!important}
  .exp{padding:72px 0 64px!important}
  .exp-photo{margin:30px -24px 6px!important}
  .exp-texte>p{margin-top:24px!important}
  .exp .chiffres{margin-top:34px!important;padding-top:26px!important}
  .bande{padding-bottom:26px!important}
  .cuisine{padding:72px 0 60px!important}
  .cu-tete{margin-bottom:30px!important}
  .menu-t{padding:64px 0!important}
  .mt-panneau{padding:46px 20px 38px!important}
  .mt-panneau .mt-tete{margin-bottom:30px!important}
  .mt-panneau .mt-liste{gap:14px!important;margin-bottom:34px!important}
  .bar-t{padding-bottom:64px!important}
  .bar-photo{margin:0 -24px 34px!important}
  .bar-rang{margin-top:30px!important}
  .gal{padding:64px 0!important}
  .gal .mt-tete{margin-bottom:30px}
  .gal .btn{margin-top:26px}
  .resa-t{padding:76px 0!important}
  .resa-t .resa-info{margin-top:20px!important}
  .resa-bouton{margin:30px 0 8px}
  [data-glisse]{margin-left:-24px!important;margin-right:-24px!important;padding-left:24px!important;padding-right:24px!important;scroll-padding-inline:24px;gap:16px!important}
  .cu-rang[data-glisse]{margin:0!important}
  .grille-lieu[data-glisse]{margin:0!important}
  .points{margin-top:20px!important}
  /* club */
  .cl-soirees-titre{padding:64px 24px 0!important;margin-bottom:30px!important}
  .cl-ecran{padding:0 20px!important;gap:16px!important}
  .cl-piste-txt{padding-bottom:34px!important}
  .cl-etapes{padding:72px 0!important}
  .cl-etapes-tete{margin-bottom:32px!important}
  .cl-carres{padding-bottom:64px!important}
  .cl-carres-photo{margin:0 -24px 34px!important}
  .cl-carres .cc-liste{margin-top:28px!important}
  .cl-privat{margin:24px 20px!important;padding:48px 8px!important}
  /* carte, lieu, contact */
  .carte-fond .rubrique{margin-bottom:20px!important}
  .carte-fond .article{padding-top:16px!important;padding-bottom:16px!important}
  .galerie-lieu{padding:44px 0 56px!important}
  .c-infos{padding:32px 24px!important}
  .c-infos dl div{padding:14px 0!important}
  .c-actions{margin-top:26px}
}
@media (max-width:900px){
  /* menu : « EN » au même dessin que dans l'en-tête (lettres espacées, trait dessous) */
  .menu-m .bas>.btn:last-child{position:relative;min-height:44px!important;min-width:44px!important;width:auto!important;padding:0 8px!important;border:0!important;background:none!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none;font-size:12px!important;font-weight:600!important;letter-spacing:.24em!important;text-indent:.24em;color:#e3eef8!important}
  .menu-m .bas>.btn:last-child{text-decoration:underline!important;text-decoration-color:var(--elec)!important;text-decoration-thickness:1px!important;text-underline-offset:7px}
  body[data-univers="club"] .menu-m .bas>.btn:last-child{text-decoration-color:var(--rose)!important}
}
/* ruban de plats : défilé par le script (plus d'animation CSS), glissable à la main */
.bande.bande--libre{overflow:hidden;cursor:grab;touch-action:pan-y}
.bande.bande--libre::-webkit-scrollbar{display:none}
.bande.bande--libre .bande-piste{animation:none!important;will-change:transform}
.bande.bande--libre.tire{cursor:grabbing}.bande.bande--libre.tire img{pointer-events:none}
.bande img{-webkit-user-drag:none;user-select:none}
/* flèche « remonter en haut » (mobile) : rond de verre en bas à gauche */
.vers-haut{position:fixed;right:16px;bottom:72px;z-index:59;width:44px;height:44px;border-radius:50%;border:1px solid #3fd7ff80;background:#03070fb3;color:#eafcff;font-size:20px;line-height:1;display:grid;place-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 0 14px #3fd7ff33;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .35s,transform .35s}
.vers-haut.on{opacity:1;transform:none;pointer-events:auto}
body[data-univers="club"] .vers-haut{border-color:#ff29a880;box-shadow:0 0 14px #ff29a833}
@media (min-width:901px){.vers-haut{display:none}}
@media (max-width:900px){
  /* galerie de l'accueil : mosaïque comme sur ordinateur (grande salle + plats, salle en largeur, alternance) */
  .gal .mosaique{display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-auto-rows:28vw!important;gap:8px!important;margin:0!important;padding:0!important;overflow:visible!important}
  .gal .mosaique>figure{margin:0;height:auto!important;aspect-ratio:auto!important;grid-column:auto!important;grid-row:auto!important;border-radius:4px;overflow:hidden}
  .gal .mosaique>figure img{width:100%;height:100%;object-fit:cover}
  .gal .mosaique>.m0{grid-column:span 2!important;grid-row:span 2!important}
  .gal .mosaique>.m3{grid-column:span 3!important}
  .gal .mosaique>.m5,.gal .mosaique>.m6{grid-column:span 2!important}
  .gal .mosaique+.points{display:none!important}
}
/* mobile : bulle du chat (48 px) et flèche « haut » (44 px) centrées sur la même verticale */
@media (max-width:900px){
  .chat-bulle{right:16px!important;bottom:16px!important}
  .vers-haut{right:19px!important;bottom:78px!important}
}
/* club (mobile) : plus clair — numérotation continue, un seul endroit pour appeler par bloc, pas de kanji coupé */
@media (max-width:900px){
  body[data-univers="club"] main{counter-reset:sec}
  body[data-univers="club"] main .lbl b{position:relative;color:transparent!important;text-shadow:none!important}
  body[data-univers="club"] main .lbl b::after{counter-increment:sec;content:counter(sec,decimal-leading-zero);position:absolute;left:0;top:0;color:var(--rose);text-shadow:0 0 10px #ff29a888}
  .cl-soir .btn{display:none!important}
  .cl-soir-txt p{margin-bottom:0!important}
  .cl-piste-k{display:none!important}
}
/* club (mobile) : « CLUB » centré sous « YORU » (l'espacement des lettres est compensé à gauche) */
@media (max-width:900px){
  .enseigne-c{display:inline-flex!important;align-items:center!important}
  .enseigne-c .ec-2{padding-left:.4em}
}
@media (max-width:900px){body[data-univers="resto"] .menu-m .bas a[href^="tel:"]{display:none!important}}
/* club (mobile) : haut de page centré comme celui du restaurant (étiquette, enseigne, phrase, boutons) */
@media (max-width:900px){
  .cl-hero .cl-hero-g{text-align:center!important;align-items:center!important;display:flex!important;flex-direction:column!important}
  .cl-hero .cl-hero-g .lbl{text-align:center}
  .cl-hero .cl-hero-g p{margin-left:auto!important;margin-right:auto!important;max-width:32ch}
  .cl-hero .h-actions{justify-content:center!important;width:100%}
}
