*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{overflow-x:clip;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,video{display:block}
.scene{position:relative;height:300svh}
.stage{position:sticky;top:0;height:100svh;overflow:hidden}
.film{position:absolute;inset:0;z-index:5}
.film video{width:100%;height:100%;object-fit:cover}
.nav{position:absolute;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(16px,4vw,40px)}
.nav ul{display:none;list-style:none;gap:26px}
.nav .logo{font-size:1.25rem}
.nav .cta{padding:10px 16px;border-radius:99px;font-size:.875rem;font-weight:700;white-space:nowrap}
@media(min-width:900px){.nav ul{display:flex}}
.horaire{padding:clamp(56px,10vw,120px) clamp(16px,5vw,64px)}
.horaire h2{margin-bottom:28px}
.cartes{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.cartes li{list-style:none;padding:18px}
.cartes b{display:block}
.retour{position:fixed;z-index:50;left:12px;bottom:12px;padding:6px 10px;border-radius:8px;background:#000c;color:#fff;font:600 12px/1.2 system-ui,sans-serif}
.retour a{text-decoration:underline}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}
