.sr-seulement{ position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.choreo .piste{ overflow: clip; position: relative; height: calc(var(--piste, 300) * 1svh); padding: 0; }
.choreo .piste > .plateau{ position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; }
.choreo .piste > .plateau > .scene{ position: absolute; inset: 0; container-type: size; }
.plateau > .scene-tete{ position: absolute; z-index: 3; left: max(var(--marge), 24px); top: clamp(84px, 11vh, 120px); max-width: min(46ch, 46vw); display: grid; gap: 10px; pointer-events: none; }
.plateau > .scene-tete .repere{ margin: 0; color: var(--accent); font-size: var(--t-mono); }
.plateau > .scene-tete h2{ margin: 0; font-size: clamp(1.5rem, 1rem + 1.7vw, 2.5rem); line-height: 1.08; text-wrap: balance; }
.claire .plateau > .scene-tete .repere, .section.claire .plateau > .scene-tete .repere{ color: var(--clair-texte-2); }
.plateau > .scene-tete[data-pos='haut-droite']{ left: auto; right: max(var(--marge), 24px); text-align: right; justify-items: end; }
.plateau > .scene-tete[data-pos='centre']{ left: 50%; top: 50%; transform: translate(-50%, -50%); text-align: center; justify-items: center; max-width: min(60ch, 80vw); }
.plateau > .scene-tete[data-pos='bas']{ top: auto; bottom: clamp(72px, 9vh, 104px); }
.plateau > .scene-legende{ position: absolute; z-index: 3; left: max(var(--marge), 24px); bottom: clamp(72px, 9vh, 104px); max-width: min(52ch, 44vw); font-size: var(--t-corps); line-height: 1.45; color: var(--texte-2); pointer-events: none; }
.plateau > .scene-legende p{ margin: 0; }
.mot{ display: inline; }
@media (max-width: 700px){.plateau > .scene-tete{ left: var(--gouttiere); right: var(--gouttiere-d); top: 76px; max-width: none; }
.plateau > .scene-legende{ left: var(--gouttiere); right: var(--gouttiere-d); bottom: 28px; max-width: none; font-size: var(--t-petit); }
}
.choreo .piste.statique{ height: auto; }
.choreo .piste.statique > .plateau{ position: relative; height: auto; min-height: min(100svh, 760px); }
.choreo .piste.statique > .plateau > .scene{ position: relative; inset: auto; min-height: min(78svh, 700px); }
.choreo .piste.statique > .plateau > .scene-tete, .choreo .piste.statique > .plateau > .scene-legende{ position: relative; left: auto; bottom: auto; top: auto; max-width: 62ch; margin: 24px max(var(--marge), 16px); }
.plateau.entree-douce{ animation: entree-douce 200ms linear both; }
@keyframes entree-douce{ from { opacity: 0; } to { opacity: 1; } }
.choreo .maquette{ display: none; }
