/* ═══════════════════ FLUID · « La Galerie » (exposition plein écran, scroll-snap) ═══════════════════ */
html[data-da="fluid"]{scroll-snap-type:y proximity;}
html[data-da="fluid"] .gl-counter-in{display:none;}
html[data-da="fluid"] .gl{width:100%;}
html[data-da="fluid"] .gl-screen{min-height:100vh;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;padding:7rem clamp(1.2rem,6vw,5rem) 6rem;position:relative;}
html[data-da="fluid"] .gl-kicker{font-family:var(--mono);font-size:.68rem;letter-spacing:.34em;text-transform:uppercase;color:var(--green);display:block;margin-bottom:1.4rem;}
/* — Écran d'ouverture — */
html[data-da="fluid"] .gl-open{flex-direction:column;text-align:center;}
html[data-da="fluid"] .gl-open-name{font-family:var(--display);font-weight:700;font-size:clamp(3.6rem,15vw,11rem);line-height:.9;letter-spacing:-.03em;text-shadow:0 6px 60px rgba(11,6,22,.6);}
html[data-da="fluid"] .gl-open-name em{font-style:normal;color:var(--green);}
html[data-da="fluid"] .gl-open-line{margin-top:1.8rem;font-family:var(--mono);font-size:.9rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text);opacity:.8;}
html[data-da="fluid"] .gl-scroll-cue{position:absolute;bottom:2.4rem;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text);text-shadow:0 2px 14px rgba(11,6,22,.9);animation:glCue 2.4s var(--ease) infinite;}
@keyframes glCue{0%,100%{opacity:.35;transform:translate(-50%,0)}50%{opacity:.9;transform:translate(-50%,6px)}}
/* — Écran œuvre — */
html[data-da="fluid"] .gl-work-inner{display:flex;flex-direction:column;gap:1.2rem;max-width:min(1300px,94vw);width:100%;}
html[data-da="fluid"] .gl-work-media{width:100%;height:min(62vh,58vw);border-radius:var(--radius);overflow:hidden;border:1px solid rgba(var(--blue-rgb),.55);box-shadow:0 44px 130px -44px rgba(31,209,196,.6),0 0 0 1px rgba(var(--green-rgb),.18);background:rgba(11,6,22,.55);}
html[data-da="fluid"] .gl-work-media img,html[data-da="fluid"] .gl-work-media video{width:100%;height:100%;object-fit:cover;display:block;}
/* cartel = étiquette de musée sur panneau translucide (lisible sur le fond animé) */
html[data-da="fluid"] .gl-cartel{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"idx idx" "name btn" "med btn" "phrase btn";gap:.2rem 2rem;align-items:center;
  background:rgba(11,6,22,.68);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(var(--text-rgb),.16);border-radius:calc(var(--radius)*.7);padding:1.1rem 1.5rem;}
html[data-da="fluid"] .gl-cartel-idx{grid-area:idx;font-family:var(--mono);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--green);}
html[data-da="fluid"] .gl-work-name{grid-area:name;font-family:var(--display);font-weight:700;font-size:clamp(1.9rem,3.6vw,3.1rem);line-height:1.02;letter-spacing:-.02em;margin:.2rem 0 .3rem;color:#FFF;overflow-wrap:break-word;hyphens:none;}
html[data-da="fluid"] .gl-cartel-med{grid-area:med;font-family:var(--mono);font-size:.84rem;line-height:1.6;color:var(--text);margin-bottom:.3rem;}
html[data-da="fluid"] .gl-cartel-k{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;margin-right:.5rem;}
html[data-da="fluid"] .gl-cartel-phrase{grid-area:phrase;font-size:1.02rem;line-height:1.55;color:var(--text);margin:0;}
html[data-da="fluid"] .gl-more{grid-area:btn;justify-self:end;font-family:var(--mono);font-size:.8rem;color:#FFF;background:rgba(var(--green-rgb),.14);border:1px solid rgba(var(--green-rgb),.75);border-radius:100px;padding:.65rem 1.3rem;cursor:pointer;white-space:nowrap;transition:all .3s var(--ease);}
html[data-da="fluid"] .gl-more:hover,html[data-da="fluid"] .gl-more:focus-visible{background:var(--green);color:#0B0616;border-color:var(--green);box-shadow:0 10px 40px -12px var(--green);}
/* — Cartel d'artiste — */
html[data-da="fluid"] .gl-artiste-inner{max-width:640px;text-align:center;}
html[data-da="fluid"] .gl-artiste-bio{font-family:var(--display);font-weight:400;font-size:clamp(1.5rem,4vw,2.4rem);line-height:1.3;letter-spacing:-.01em;text-shadow:0 4px 44px rgba(11,6,22,.9),0 1px 3px rgba(11,6,22,.7);}
html[data-da="fluid"] .gl-artiste-bio b{color:var(--green);font-weight:700;}
html[data-da="fluid"] .gl-artiste-sub{margin-top:1.6rem;font-family:var(--mono);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text);opacity:.85;text-shadow:0 2px 18px rgba(11,6,22,.8);}
/* — Livre d'or — */
html[data-da="fluid"] .gl-livredor-inner{text-align:center;}
html[data-da="fluid"] .gl-livredor-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem 2.5rem;margin-bottom:2rem;}
html[data-da="fluid"] .gl-livredor-links a{font-family:var(--display);font-weight:700;font-size:clamp(1.6rem,4vw,2.6rem);color:#FFF;text-decoration:none;transition:color .3s var(--ease);letter-spacing:-.01em;text-shadow:0 4px 40px rgba(11,6,22,.9),0 1px 3px rgba(11,6,22,.7);}
html[data-da="fluid"] .gl-livredor-links a:hover,html[data-da="fluid"] .gl-livredor-links a:focus-visible{color:var(--green);}
html[data-da="fluid"] .gl-livredor-dispo{font-family:var(--mono);font-size:.82rem;letter-spacing:.06em;color:var(--text);margin-bottom:1.4rem;text-shadow:0 2px 18px rgba(11,6,22,.8);}
html[data-da="fluid"] .gl-livredor-cv{font-family:var(--mono);font-size:.82rem;color:var(--blue);text-decoration:none;border-bottom:1px solid var(--blue);padding-bottom:2px;}
html[data-da="fluid"] .gl-livredor-cv:hover,html[data-da="fluid"] .gl-livredor-cv:focus-visible{color:var(--green);border-color:var(--green);}
/* — Compteur d'exposition + rail de points (fixes) — */
#gl-counter,#gl-rail{display:none;}
html[data-da="fluid"] #gl-counter{display:block;position:fixed;left:50%;bottom:1.3rem;transform:translateX(-50%);z-index:150;font-family:var(--mono);font-size:.74rem;letter-spacing:.24em;color:#FFF;pointer-events:none;background:rgba(11,6,22,.68);border:1px solid rgba(var(--text-rgb),.2);padding:.42rem 1.05rem;border-radius:100px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
html[data-da="fluid"] #gl-rail{display:flex;flex-direction:column;gap:.7rem;position:fixed;right:1.2rem;top:50%;transform:translateY(-50%);z-index:150;background:rgba(11,6,22,.55);border:1px solid rgba(var(--text-rgb),.16);padding:.75rem .5rem;border-radius:100px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
html[data-da="fluid"] #gl-rail button{width:11px;height:11px;border-radius:50%;border:1px solid rgba(var(--text-rgb),.85);background:rgba(var(--text-rgb),.22);padding:0;cursor:pointer;transition:all .3s var(--ease);}
html[data-da="fluid"] #gl-rail button.on{background:var(--green);border-color:var(--green);box-shadow:0 0 12px var(--green);transform:scale(1.25);}
/* — Notice (overlay) — */
html[data-da="fluid"] .gl-overlay{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:rgba(11,6,22,.72);backdrop-filter:blur(10px);}
html[data-da="fluid"] .gl-overlay[hidden]{display:none;}
html[data-da="fluid"] .gl-overlay-panel{position:relative;max-width:560px;width:100%;background:rgba(18,10,36,.96);border:1px solid rgba(var(--green-rgb),.3);border-radius:var(--radius);padding:clamp(1.8rem,4vw,2.6rem);box-shadow:0 40px 120px -30px rgba(0,0,0,.7);}
html[data-da="fluid"] .gl-overlay-close{position:absolute;top:1rem;right:1rem;width:34px;height:34px;border-radius:50%;border:1px solid rgba(var(--text-rgb),.25);background:none;color:var(--text);cursor:pointer;font-size:.9rem;}
html[data-da="fluid"] .gl-overlay-close:hover,html[data-da="fluid"] .gl-overlay-close:focus-visible{border-color:var(--green);color:var(--green);}
html[data-da="fluid"] .gl-ov-idx{font-family:var(--mono);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--green);}
html[data-da="fluid"] .gl-ov-title{font-family:var(--display);font-weight:700;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1;margin:.5rem 0 .9rem;}
html[data-da="fluid"] .gl-ov-med{font-family:var(--mono);font-size:.8rem;color:var(--blue);margin-bottom:1rem;}
html[data-da="fluid"] .gl-ov-desc{font-size:1rem;line-height:1.7;color:var(--text);opacity:.9;margin-bottom:1.4rem;}
html[data-da="fluid"] .gl-ov-link{font-family:var(--mono);font-size:.82rem;color:var(--green);text-decoration:none;border-bottom:1px solid var(--green);padding-bottom:2px;}
body.gl-lock{overflow:hidden;}
@media(max-width:820px){
  html[data-da="fluid"] .gl-screen{padding:5.5rem 1rem 5rem;}
  html[data-da="fluid"] .gl-work-inner{gap:.9rem;}
  html[data-da="fluid"] .gl-work-media{height:min(44vh,68vw);}
  html[data-da="fluid"] .gl-cartel{grid-template-columns:1fr;grid-template-areas:"idx" "name" "med" "phrase" "btn";padding:1rem 1.1rem;gap:.25rem;}
  html[data-da="fluid"] .gl-more{justify-self:start;margin-top:.6rem;}
  html[data-da="fluid"] #gl-rail{right:.55rem;gap:.5rem;padding:.6rem .4rem;}
  html[data-da="fluid"] #gl-rail button{width:9px;height:9px;}
}

/* ── Invitation aux ambiances : chaque récit signale le sélecteur, dans sa langue ── */
.da-invite{font-family:var(--mono);font-size:.76rem;letter-spacing:.03em;line-height:1.7;color:rgba(var(--text-rgb),.8);}
.da-invite .inv-star{color:var(--green);animation:invStar 2.6s ease-in-out infinite;display:inline-block;}
.da-invite .inv-path{color:rgba(var(--text-rgb),.5);white-space:nowrap;}
@keyframes invStar{0%,100%{opacity:1;transform:none}50%{opacity:.45;transform:scale(.85)}}
@media(prefers-reduced-motion:reduce){.da-invite .inv-star{animation:none;}}
/* terminal : teaser des ambiances — encart système + 4 pastilles cliquables */
.hero-themes{margin-top:1.7rem;max-width:600px;padding:.95rem 1.05rem 1rem;
  border:1px dashed rgba(var(--green-rgb),.6);background:rgba(var(--green-rgb),.06);border-radius:var(--radius);
  box-shadow:0 0 28px -10px rgba(var(--green-rgb),.5);}
.ht-head{font-family:var(--mono);font-size:.76rem;line-height:1.6;color:rgba(var(--text-rgb),.92);margin-bottom:.8rem;}
.ht-head b{color:var(--green);}
.ht-pills{display:flex;flex-wrap:wrap;gap:.55rem;}
.ht-pill{display:flex;align-items:center;gap:.6rem;padding:.5rem .85rem .5rem .55rem;
  background:rgba(var(--bg2-rgb),.9);border:1px solid rgba(var(--text-rgb),.16);border-radius:calc(var(--radius) + 2px);
  cursor:pointer;font-family:var(--mono);text-align:left;
  transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease);
  animation:htIn .55s var(--ease) both;}
.ht-pill:nth-child(1){animation-delay:.55s}.ht-pill:nth-child(2){animation-delay:.7s}
.ht-pill:nth-child(3){animation-delay:.85s}.ht-pill:nth-child(4){animation-delay:1s}
@keyframes htIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ht-pill:hover,.ht-pill:focus-visible{transform:translateY(-2px);border-color:var(--green);
  box-shadow:0 10px 26px -12px rgba(var(--green-rgb),.65);outline:none;}
.ht-pill .sw{width:26px;height:26px;flex:none;border-radius:6px;border:1px solid rgba(255,255,255,.14);}
.ht-txt{display:flex;flex-direction:column;gap:.1rem;}
.ht-name{font-size:.74rem;font-weight:700;letter-spacing:.02em;color:var(--text);}
.ht-tag{font-size:.63rem;color:var(--muted);font-style:italic;}
.ht-path{margin-top:.75rem;font-family:var(--mono);font-size:.68rem;font-weight:600;color:var(--green);}
.ht-path::after{content:' ↗';font-weight:700;}
@media(prefers-reduced-motion:reduce){.ht-pill{animation:none;}}
@media(max-width:600px){.ht-pills{flex-direction:column;}.ht-pill{width:100%;}}
html[data-da="mise-en-place"] .mn-invite{margin-top:1.2rem;font-size:.72rem;color:var(--green2);}
html[data-da="mise-en-place"] .mn-invite .inv-path{color:var(--muted);}
html[data-da="compile"] li.da-invite{color:var(--green2);}
html[data-da="compile"] li.da-invite::before{display:none;}
html[data-da="fluid"] .gl-open-invite{margin-top:1.1rem;color:#FFF;text-shadow:0 2px 16px rgba(11,6,22,.85);}
html[data-da="fluid"] .gl-open-invite .inv-path{color:var(--text);opacity:.75;}
html[data-da="atelier"] .rv-invite{margin-top:1rem;font-size:.72rem;color:var(--green);}
html[data-da="atelier"] .rv-invite .inv-path{color:var(--muted);}
@media(max-width:600px){.da-invite .inv-path{white-space:normal;}}

