
@font-face{font-family:Pop;font-weight:300;font-display:swap;src:url(fonts/poppins-l.woff) format("woff")}
@font-face{font-family:Pop;font-weight:400;font-display:swap;src:url(fonts/poppins.woff) format("woff")}
@font-face{font-family:Pop;font-weight:500;font-display:swap;src:url(fonts/poppins-m.woff) format("woff")}
:root{--brume:#e6ebef;--brume-e:#34485a;--sauge:#e7ece7;--sauge-e:#3b4f45;--poudre:#f0eaec;--poudre-e:#57464e;--blanc:#fbfcfd;--encre:#28323a;--doux:#66727b;--trait:#dfe5ea}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--blanc);color:var(--encre);font:300 17px/1.6 Pop,system-ui,sans-serif}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit}
h1,h2,h3{font-weight:500;margin:0;letter-spacing:-.025em;line-height:1.08;text-wrap:balance}
p{margin:0}
b,strong{font-weight:500}
.s{background:var(--brume);color:var(--brume-e)}.a{background:var(--sauge);color:var(--sauge-e)}.t{background:var(--poudre);color:var(--poudre-e)}.n{background:#fff;border:1px solid var(--trait)}
header.top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 28px;flex-wrap:wrap}
header.top img{width:190px;height:auto}
header.top nav{display:flex;gap:8px;flex-wrap:wrap}
header.top nav a{text-decoration:none;font-size:15px;font-weight:400;border-radius:999px;padding:7px 15px}
header.top nav a.c{border:1px solid var(--trait)}
header.top nav a[aria-current=page]{box-shadow:inset 0 0 0 2px currentColor}
.q{padding:22px 28px;font-size:clamp(30px,4.6vw,62px)}
.portes{display:flex;gap:10px;padding:0 10px;height:min(72vh,700px)}
.porte{flex:1;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;text-decoration:none;transition:flex .45s cubic-bezier(.2,.7,.2,1)}
.porte:hover,.porte:focus-visible{flex:1.7}
.porte figure{margin:0;flex:1;min-height:0}
.porte div{padding:22px 24px 26px}
.porte h2{font-size:clamp(24px,2.6vw,38px)}
.porte p{margin:8px 0 14px;min-height:3.2em}
.pill{display:inline-block;font-weight:500;border-radius:999px;padding:10px 20px;background:#fff;text-decoration:none;color:inherit}
.pill.o{background:none;box-shadow:inset 0 0 0 1.5px currentColor}
.bloc{margin:10px;border-radius:22px;padding:60px clamp(22px,5vw,72px)}
.bloc.g2{display:grid;grid-template-columns:5fr 6fr;gap:48px;align-items:center}
.bloc h1{font-size:clamp(34px,5vw,66px);margin-bottom:18px}
.bloc h2{font-size:clamp(28px,3.6vw,48px);margin-bottom:16px}
.bloc .lede{font-size:1.15em;font-weight:400;margin-bottom:14px}
.bloc p{max-width:36em}
.bloc ul.l{margin:18px 0 0;padding:0;list-style:none}
.bloc ul.l li{padding:10px 0;border-top:1px solid rgba(0,0,0,.12)}
.acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.ph{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ph figure{margin:0;border-radius:16px;overflow:hidden;aspect-ratio:1}
.ph figure:first-child{grid-column:1/-1;aspect-ratio:2/1}
.one{margin:0;border-radius:16px;overflow:hidden;aspect-ratio:4/3}
.crumb{padding:0 28px 6px;font-size:14px;color:var(--doux)}
.crumb a{color:inherit}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 10px}
.card{border-radius:22px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column}
.card figure{margin:0;aspect-ratio:4/3;overflow:hidden}.card figure img{aspect-ratio:4/3}
.card div{padding:20px 22px 24px}
.card h3{font-size:28px;margin-bottom:6px}
.card p{margin-bottom:14px}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}
.gal figure{margin:0;aspect-ratio:4/3;border-radius:16px;overflow:hidden}
.facts{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0;padding:0;list-style:none}
.facts li{background:#fff;border-radius:999px;padding:8px 16px;font-size:15px}
.films{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.films.solo{grid-template-columns:1fr;max-width:900px}
.film{margin:0}
.film .ecran{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#1d2a33 center/cover}
.film iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film .voile{position:absolute;inset:0}
.film.son .voile{display:none}
.film figcaption{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}
.film figcaption span{display:block;font-size:15px;opacity:.8}
.film button{font:inherit;font-weight:500;font-size:15px;cursor:pointer;border:0;background:var(--encre);color:#fff;border-radius:999px;padding:9px 18px}
.conf{padding:70px 28px;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:56px}
.conf h2{font-size:clamp(28px,3.4vw,44px);margin-bottom:14px}
.conf ul{margin:0;padding:0;list-style:none}.conf li{padding:11px 0;border-bottom:1px solid var(--trait);font-weight:400}.conf li span{font-weight:300;color:var(--doux)}
.uimla{display:flex;align-items:center;gap:14px;margin-top:20px;font-size:15px;color:var(--doux)}
.uimla img{width:54px;height:54px;object-fit:contain}
.fin{margin:10px;border-radius:22px;background:var(--encre);color:#fff;padding:64px clamp(22px,5vw,72px)}
.fin h2{font-size:clamp(28px,4.2vw,54px);margin-bottom:12px}
.fin p{color:#c9d2d8;max-width:38em}
.fin .ch{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.fin .ch a{border-radius:999px;padding:13px 24px;font-weight:500;text-decoration:none}
.fin small{display:block;margin-top:26px;font-size:15px;color:#b8c3cb}
footer{padding:22px 28px 34px;font-size:14px;color:var(--doux);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.legal{max-width:820px;margin:0 auto;padding:30px 28px 60px;display:grid;gap:18px}
.legal h1{font-size:clamp(32px,4.4vw,52px)}.legal h3{font-size:22px;margin-top:14px}
a:focus-visible,button:focus-visible{outline:3px solid var(--encre);outline-offset:3px}.fin a:focus-visible{outline-color:#fff}
@media(max-width:820px){header.top{padding:14px 16px}header.top img{width:160px}.q{padding:16px}.portes{flex-direction:column;height:auto}.porte figure{aspect-ratio:16/9;flex:none}.porte p{min-height:0}.bloc.g2,.conf,.films,.cards{grid-template-columns:1fr}.bloc.g2{gap:28px}.bloc{padding:40px 22px}.gal{grid-template-columns:1fr 1fr}.conf{gap:30px;padding:50px 22px}.bloc.g2 .ph{order:2}}
@media(prefers-reduced-motion:reduce){.porte{transition:none}html{scroll-behavior:auto}}
.bloc.bf{align-items:start}
.bref{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin:6px 0 0}
.bref div{border-top:1px solid var(--trait);padding-top:10px}
.bref dt{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--doux);font-weight:400}
.bref dd{margin:4px 0 0;font-weight:400}
.prog{list-style:none;margin:8px 0 0;padding:0;max-width:900px}
.prog li{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:12px 0;border-top:1px solid var(--trait)}
.prog li:last-child{border-bottom:1px solid var(--trait)}
.prog .j{font-weight:500;color:var(--poudre-e)}
.incl{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.incl h2{font-size:clamp(24px,2.8vw,36px)}
.incl .note{margin-top:18px;font-size:15px}
.cards.n5{grid-template-columns:repeat(3,1fr)}
.card .meta{display:block;font-size:14px;margin-bottom:12px;opacity:.85}
@media(max-width:820px){.bref{grid-template-columns:1fr 1fr;gap:14px 18px}.prog li{grid-template-columns:72px 1fr;gap:10px}.incl{grid-template-columns:1fr;gap:28px}.cards.n5{grid-template-columns:1fr}}
.sec{padding:44px 28px 18px;font-size:clamp(28px,3.6vw,48px)}
