/* Anima Musica — traitement « cinéma » des pages publics : image pleine largeur, peu de mots, pas de cartes.
   Chargé après refonte.css. Préfixe cn-. */
@font-face{font-family:Anima;src:url('fonts/montserrat-latin-300-normal.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:Anima;src:url('fonts/montserrat-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}

body.rf-site.cn-page{background:#000000;color:#fff}
body.cn-page .rf-header{position:absolute!important;background:linear-gradient(#000000c9,transparent)!important;backdrop-filter:none}

/* Panneau plein écran */
body.cn-page .cn-panel{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#000000;color:#fff;isolation:isolate}
body.cn-page .cn-panel.cn-short{min-height:72svh}
body.cn-page .cn-panel>img,body.cn-page .cn-panel>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0;z-index:-2}
body.cn-page .cn-panel>img.cn-kb{animation:cn-kb 22s ease-in-out infinite alternate}
@keyframes cn-kb{from{transform:scale(1)}to{transform:scale(1.08)}}
body.cn-page .cn-panel::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#000000f0 0%,#00000080 40%,#00000020 70%,#00000000 100%)}
body.cn-page .cn-panel.cn-left::after{background:linear-gradient(90deg,#000000e6 0%,#00000090 45%,#00000000 85%),linear-gradient(0deg,#000000c0,transparent 55%)}
body.cn-page .cn-copy{position:relative;width:min(1320px,calc(100% - 96px));margin:0 auto;padding:110px 0 90px}
body.cn-page .cn-copy.cn-center{text-align:center;display:flex;flex-direction:column;align-items:center}

/* Typographie : fin, aéré, capitales espacées */
body.cn-page .cn-eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;color:#75C4E7;margin:0 0 26px}
body.cn-page h1.cn-title,body.cn-page h2.cn-title{font-family:Anima,Montserrat,Arial,sans-serif;font-weight:300;letter-spacing:-.01em;line-height:1.05;color:#fff;margin:0 0 26px;max-width:16ch;text-wrap:balance}
body.cn-page h1.cn-title{font-size:clamp(2.8rem,6.4vw,6.2rem)}
body.cn-page h2.cn-title{font-size:clamp(2.2rem,4.6vw,4.4rem)}
body.cn-page .cn-title strong{font-weight:600}
body.cn-page .cn-text{font-size:17px;line-height:1.75;color:#d5e0e5;max-width:46ch;margin:0 0 36px;font-weight:300}
body.cn-page .cn-link{display:inline-flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;color:#fff;text-decoration:none;padding:16px 0;border-bottom:1px solid #ffffff66;transition:border-color .25s,gap .25s}
body.cn-page .cn-link:hover{border-color:#fff;gap:22px}
body.cn-page .cn-link.cn-fill{border:1px solid #ffffffaa;padding:18px 34px;border-radius:0}
body.cn-page .cn-link.cn-fill:hover{background:#fff;color:#000000}
body.cn-page .cn-actions{display:flex;gap:18px 36px;flex-wrap:wrap;align-items:center}

/* Défilement : indication discrète */
body.cn-page .cn-scroll{position:absolute;right:48px;bottom:40px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#ffffff99;writing-mode:vertical-rl;display:flex;gap:14px;align-items:center}
body.cn-page .cn-scroll::after{content:'';width:1px;height:56px;background:linear-gradient(#fff,transparent)}

/* Panneau sombre texte + média */
body.cn-page .cn-dark{background:#000000;padding:130px 0}
body.cn-page .cn-dark .cn-copy{padding:0;display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}
body.cn-page .cn-media{position:relative;aspect-ratio:9/16;max-width:360px;margin-left:auto;overflow:hidden;background:#000}
body.cn-page .cn-media video{width:100%;height:100%;object-fit:cover;display:block}
body.cn-page .cn-media-wide{aspect-ratio:4/3;max-width:none;margin:0}

/* Liste fine, filets, pas de cartes */
body.cn-page .cn-list{list-style:none;margin:0;padding:0;border-top:1px solid #ffffff2a}
body.cn-page .cn-list li{display:grid;grid-template-columns:44px 1fr;gap:26px;align-items:baseline;padding:22px 0;border-bottom:1px solid #ffffff2a}
body.cn-page .cn-list svg{width:28px;height:28px;fill:none;stroke:#75C4E7;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;align-self:center}
body.cn-page .cn-list strong{display:block;font-weight:500;font-size:17px;margin-bottom:4px;color:#fff}
body.cn-page .cn-list span{font-size:15px;color:#a9b8bf;font-weight:300;line-height:1.6}

/* Formules : trois colonnes à filets */
body.cn-page .cn-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ffffff2a;border-bottom:1px solid #ffffff2a}
body.cn-page .cn-col{padding:54px 40px;border-right:1px solid #ffffff2a;display:flex;flex-direction:column;gap:18px}
body.cn-page .cn-col:last-child{border-right:0}
body.cn-page .cn-col .cn-eyebrow{margin-bottom:6px}
body.cn-page .cn-col h3{font-family:Anima,Montserrat,Arial,sans-serif;font-weight:300;font-size:2rem;margin:0;letter-spacing:-.01em;color:#fff}
body.cn-page .cn-col ul{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:10px;font-size:15px;color:#c3cfd5;font-weight:300}
body.cn-page .cn-col ul li{padding-left:18px;position:relative}
body.cn-page .cn-col ul li::before{content:'';position:absolute;left:0;top:.7em;width:8px;height:1px;background:#75C4E7}
body.cn-page .cn-col .cn-link{margin-top:auto;align-self:flex-start}

/* Logos : blanc, sans boîtes */
body.cn-page .cn-logos-strip{background:#fff;color:#0a0a0a;padding:90px 0}
body.cn-page .cn-logos-strip .cn-eyebrow{color:#0a0a0a;text-align:center}
body.cn-page .cn-logos-strip h2{font-family:Anima,Montserrat,Arial,sans-serif;font-weight:300;font-size:clamp(1.9rem,3.4vw,3rem);text-align:center;margin:0 0 56px;color:#0a0a0a;letter-spacing:-.01em}
body.cn-page .cn-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:40px 72px}
body.cn-page .cn-logos img{height:62px;width:auto;max-width:190px;object-fit:contain;filter:grayscale(1);opacity:.78;transition:filter .3s,opacity .3s}
body.cn-page .cn-logos img:hover{filter:none;opacity:1}
body.cn-page .cn-logos-more{text-align:center;color:#536169;font-size:15px;margin:44px auto 0;max-width:62ch;font-weight:300}
body.cn-page .cn-logos-more strong{font-weight:500;color:#0a0a0a}

/* FAQ sur fond clair : conserve le composant existant, adoucit ses bords */
body.cn-page .amfaq{background:#f7f4ee;color:#0a0a0a}
body.cn-page .rf-footer{margin-top:0!important}

/* Apparition au défilement, depuis un état visible */
body.cn-page .cn-reveal{transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .9s}
body.cn-page .cn-reveal.cn-out{opacity:.001;transform:translateY(28px)}

@media(max-width:1100px){
body.cn-page .cn-copy{width:calc(100% - 48px);padding:100px 0 70px}
body.cn-page .cn-dark{padding:90px 0}
body.cn-page .cn-dark .cn-copy{grid-template-columns:1fr;gap:50px}
body.cn-page .cn-media{margin:0 auto}
body.cn-page .cn-cols{grid-template-columns:1fr;border:0}
body.cn-page .cn-col{border-right:0;border-top:1px solid #ffffff2a;padding:40px 0}
body.cn-page .cn-scroll{display:none}
body.cn-page .cn-logos{gap:28px 40px}
body.cn-page .cn-logos img{height:48px;max-width:150px}
}
@media(max-width:580px){
body.cn-page .cn-panel{min-height:92svh}
body.cn-page .cn-copy{width:calc(100% - 40px);padding:90px 0 56px}
body.cn-page h1.cn-title{font-size:2.6rem}
body.cn-page h2.cn-title{font-size:2.1rem}
body.cn-page .cn-list li{grid-template-columns:34px 1fr;gap:16px}
body.cn-page .cn-logos img{height:40px;max-width:120px}
}
@media(prefers-reduced-motion:reduce){body.cn-page .cn-panel>img.cn-kb{animation:none}body.cn-page .cn-reveal{transition:none}body.cn-page .cn-reveal.cn-out{opacity:1;transform:none}}
body.cn-page .cn-panel.cn-short::after{background:linear-gradient(0deg,#000000f2,#000000a6 60%,#00000070)}

/* Icônes prestations (SVG aplat, inversées sur fond sombre) */
body.cn-page .cn-icons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin-top:50px;border-top:1px solid #ffffff2a;padding-top:50px}
body.cn-page .cn-icons a{display:flex;flex-direction:column;align-items:center;gap:20px;text-decoration:none;color:#c3cfd5;font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;text-align:center;transition:color .25s}
body.cn-page .cn-icons img{width:84px;height:84px;filter:invert(1);opacity:.9;transition:transform .35s,opacity .25s}
body.cn-page .cn-icons a:hover{color:#fff}body.cn-page .cn-icons a:hover img{transform:translateY(-4px);opacity:1}
body.cn-page .cn-cols.cn-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:50px}
body.cn-page .cn-cols-4 .cn-col{padding:44px 28px}body.cn-page .cn-cols-4 .cn-col h3{font-size:1.6rem}
/* Étapes numérotées */
body.cn-page .cn-steps{list-style:none;margin:0;padding:0;border-top:1px solid #ffffff2a}
body.cn-page .cn-steps li{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #ffffff2a;font-size:15px;color:#a9b8bf;font-weight:300;line-height:1.55}
body.cn-page .cn-steps span{font-size:12px;letter-spacing:.2em;color:#75C4E7;font-weight:500;padding-top:3px}
body.cn-page .cn-steps strong{display:block;color:#fff;font-weight:500;font-size:16px;margin-bottom:2px}
/* Chiffres */
body.cn-page .cn-stats{display:grid;grid-template-columns:repeat(4,auto);gap:36px 56px;margin-top:10px}
body.cn-page .cn-stats strong{display:block;font-family:Anima,Montserrat,Arial,sans-serif;font-weight:300;font-size:clamp(2.2rem,4vw,3.6rem);line-height:1;color:#fff;font-variant-numeric:tabular-nums}
body.cn-page .cn-stats span{display:block;margin-top:10px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#c3cfd5;font-weight:500;max-width:16ch}
/* Citations */
body.cn-page .cn-quotes{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:70px auto 0;max-width:1000px}
body.cn-page .cn-quotes blockquote,body.cn-page .cn-quotes .cn-case{margin:0;border-left:1px solid #75C4E7;padding-left:26px}
body.cn-page .cn-quotes p{font-family:Anima,Montserrat,Arial,sans-serif;font-weight:300;font-size:1.25rem;line-height:1.55;color:#0a0a0a;margin:0 0 16px}
body.cn-page .cn-quotes cite{font-style:normal;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#536169;font-weight:500}
@media(max-width:1100px){body.cn-page .cn-icons{grid-template-columns:repeat(3,minmax(0,1fr))}body.cn-page .cn-cols.cn-cols-4{grid-template-columns:1fr 1fr;border:0}body.cn-page .cn-cols-4 .cn-col{border-right:0;border-top:1px solid #ffffff2a;padding:36px 0}body.cn-page .cn-stats{grid-template-columns:1fr 1fr}body.cn-page .cn-quotes{grid-template-columns:1fr;gap:36px}}
@media(max-width:580px){body.cn-page .cn-icons{grid-template-columns:1fr 1fr;gap:30px 12px}body.cn-page .cn-icons img{width:64px;height:64px}body.cn-page .cn-cols.cn-cols-4{grid-template-columns:1fr}}

/* ---- Variante claire (galerie) : même structure, fond blanc, photos pleine largeur ---- */
body.rf-site.cn-page.cn-light{background:#fff;color:#0a0a0a}
body.cn-page.cn-light .cn-dark{background:#fff;color:#0a0a0a}
body.cn-page.cn-light .cn-dark .cn-title,body.cn-page.cn-light .cn-dark h3,body.cn-page.cn-light .cn-steps strong,body.cn-page.cn-light .cn-list strong{color:#0a0a0a}
body.cn-page.cn-light .cn-dark .cn-text,body.cn-page.cn-light .cn-col ul,body.cn-page.cn-light .cn-steps li,body.cn-page.cn-light .cn-list span{color:#536169}
body.cn-page.cn-light .cn-dark .cn-link{color:#0a0a0a;border-color:#0a0a0a66}
body.cn-page.cn-light .cn-dark .cn-link:hover{border-color:#0a0a0a}
body.cn-page.cn-light .cn-dark .cn-eyebrow,body.cn-page.cn-light .cn-steps span{color:#0a0a0a}
body.cn-page.cn-light .cn-cols,body.cn-page.cn-light .cn-col,body.cn-page.cn-light .cn-steps,body.cn-page.cn-light .cn-steps li,body.cn-page.cn-light .cn-list,body.cn-page.cn-light .cn-list li,body.cn-page.cn-light .cn-icons{border-color:#0a0a0a22}
body.cn-page.cn-light .cn-icons img{filter:none}
body.cn-page.cn-light .cn-icons a{color:#0a0a0a}
body.cn-page.cn-light .cn-list svg{stroke:#0a0a0a}
body.cn-page.cn-light .cn-col ul li::before{background:#75C4E7}
body.cn-page.cn-light .cn-logos-strip{background:#f7f4ee}
body.cn-page.cn-light .cn-media{background:#f2f2f2}
body.cn-page.cn-light .rf-header{background:linear-gradient(#000000c9,transparent)!important}
/* Interrupteur d'aperçu */
.cn-switch{position:fixed;left:16px;bottom:16px;z-index:9999;display:flex;gap:6px;background:#0a0a0a;border:1px solid #ffffff44;border-radius:99px;padding:5px}
.cn-switch button{font:500 11px/1 Montserrat,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:transparent;border:0;border-radius:99px;padding:10px 14px;cursor:pointer}
.cn-switch button[aria-pressed=true]{background:#75C4E7;color:#0a0a0a}

/* ---- Bouton mode sombre / jour (dans le bandeau) ---- */
body.rf-site .rf-theme-toggle{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid #ffffff55;background:transparent;color:#fff;cursor:pointer;padding:0;transition:border-color .2s,background .2s}
body.rf-site .rf-theme-toggle:hover{border-color:#fff;background:#ffffff14}
body.rf-site .rf-theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
body.rf-site .rf-theme-toggle .rf-ico-sun{display:block}body.rf-site .rf-theme-toggle .rf-ico-moon{display:none}
body.rf-site .rf-theme-toggle[aria-pressed=true] .rf-ico-sun{display:none}body.rf-site .rf-theme-toggle[aria-pressed=true] .rf-ico-moon{display:block}
@media(max-width:1100px){body.rf-site .rf-theme-toggle{margin:10px 8px 0}}
body.cn-page .cn-caption{position:absolute;right:14px;bottom:12px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:#000000a6;padding:6px 10px}
body.cn-page .cn-media-stack{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:none;aspect-ratio:auto;background:none;margin:0}
body.cn-page .cn-media-stack .cn-media{max-width:none;margin:0}
body.cn-page .cn-media-stack .cn-media:first-child{grid-column:1/-1;aspect-ratio:3/2}
body.cn-page .cn-media-stack .cn-media:not(:first-child){aspect-ratio:1}

/* ---- Grille de publics : 4 tuiles photo pleine largeur, sans arrondi ---- */
body.cn-page .cn-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:50px}
body.cn-page .cn-tile{position:relative;display:flex;align-items:flex-end;min-height:56vh;overflow:hidden;text-decoration:none;color:#fff;background:#000;isolation:isolate}
body.cn-page .cn-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
body.cn-page .cn-tile:hover img{transform:scale(1.06)}
body.cn-page .cn-tile::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#000000e0,#00000040 55%,#00000000)}
body.cn-page .cn-tile>div{padding:40px 44px}
body.cn-page .cn-tile .cn-eyebrow{margin-bottom:12px}
body.cn-page .cn-tile h3{font-family:Anima,Montserrat,Arial,sans-serif;font-weight:300;font-size:clamp(1.5rem,2.4vw,2.3rem);margin:0;color:#fff;letter-spacing:-.01em;max-width:18ch}
@media(max-width:1100px){body.cn-page .cn-tile{min-height:44vh}body.cn-page .cn-tile>div{padding:28px}}
@media(max-width:580px){body.cn-page .cn-grid{grid-template-columns:1fr}body.cn-page .cn-tile{min-height:60vw}}
@media(prefers-reduced-motion:reduce){body.cn-page .cn-tile img{transition:none}}
body.cn-page .cn-tile>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
body.cn-page .cn-tile-p{margin:10px 0 0;font-size:15px;color:#d5e0e5;font-weight:300;max-width:40ch}
body.cn-page .cn-quotes{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

/* Pages mixtes : hero cinéma + corps clair d'origine */
body.cn-mixed .rf-header{position:absolute!important;background:linear-gradient(#000000c9,transparent)!important;backdrop-filter:none}
body.cn-mixed .cn-panel{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#000000;color:#fff;isolation:isolate}
body.cn-mixed .cn-panel.cn-short{min-height:72svh}
body.cn-mixed .cn-panel>img,body.cn-mixed .cn-panel>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0;z-index:-2}
body.cn-mixed .cn-panel>img.cn-kb{animation:cn-kb 22s ease-in-out infinite alternate}
body.cn-mixed .cn-panel::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#000000f0 0%,#00000080 40%,#00000020 70%,#00000000 100%)}
body.cn-mixed .cn-panel.cn-left::after{background:linear-gradient(90deg,#000000e6 0%,#00000090 45%,#00000000 85%),linear-gradient(0deg,#000000c0,transparent 55%)}
body.cn-mixed .cn-copy{position:relative;width:min(1320px,calc(100% - 96px));margin:0 auto;padding:110px 0 90px}
body.cn-mixed .cn-copy.cn-center{text-align:center;display:flex;flex-direction:column;align-items:center}
body.cn-mixed .cn-eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;color:#75C4E7;margin:0 0 26px}
body.cn-mixed h1.cn-title,body.cn-mixed h2.cn-title{font-family:Anima,Montserrat,Arial,sans-serif;font-weight:300;letter-spacing:-.01em;line-height:1.05;color:#fff;margin:0 0 26px;max-width:16ch;text-wrap:balance}
body.cn-mixed h1.cn-title{font-size:clamp(2.8rem,6.4vw,6.2rem)}
body.cn-mixed h2.cn-title{font-size:clamp(2.2rem,4.6vw,4.4rem)}
body.cn-mixed .cn-title strong{font-weight:600}
body.cn-mixed .cn-text{font-size:17px;line-height:1.75;color:#d5e0e5;max-width:46ch;margin:0 0 36px;font-weight:300}
body.cn-mixed .cn-link{display:inline-flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;color:#fff;text-decoration:none;padding:16px 0;border-bottom:1px solid #ffffff66;transition:border-color .25s,gap .25s}
body.cn-mixed .cn-link:hover{border-color:#fff;gap:22px}
body.cn-mixed .cn-link.cn-fill{border:1px solid #ffffffaa;padding:18px 34px;border-radius:0}
body.cn-mixed .cn-link.cn-fill:hover{background:#fff;color:#000000}
body.cn-mixed .cn-actions{display:flex;gap:18px 36px;flex-wrap:wrap;align-items:center}
body.cn-mixed .cn-scroll{position:absolute;right:48px;bottom:40px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#ffffff99;writing-mode:vertical-rl;display:flex;gap:14px;align-items:center}
body.cn-mixed .cn-scroll::after{content:'';width:1px;height:56px;background:linear-gradient(#fff,transparent)}
body.cn-mixed .cn-copy{width:calc(100% - 48px);padding:100px 0 70px}
body.cn-mixed .cn-scroll{display:none}
body.cn-mixed .cn-panel{min-height:92svh}
body.cn-mixed .cn-copy{width:calc(100% - 40px);padding:90px 0 56px}
body.cn-mixed h1.cn-title{font-size:2.6rem}
body.cn-mixed h2.cn-title{font-size:2.1rem}
body.cn-mixed .cn-panel>img.cn-kb{animation:none}
body.cn-mixed .cn-panel.cn-short::after{background:linear-gradient(0deg,#000000f2,#000000a6 60%,#00000070)}
body.cn-mixed .cn-panel{min-height:78svh}
body.cn-mixed .rf-header{position:absolute!important}
@keyframes cn-kb{from{transform:scale(1)}to{transform:scale(1.08)}}
@media(max-width:1100px){body.cn-mixed .cn-copy{width:calc(100% - 48px);padding:100px 0 60px}body.cn-mixed .cn-scroll{display:none}}
@media(max-width:580px){body.cn-mixed .cn-panel{min-height:70svh}body.cn-mixed h1.cn-title{font-size:2.5rem}body.cn-mixed .cn-copy{width:calc(100% - 40px)}}
@media(prefers-reduced-motion:reduce){body.cn-mixed .cn-panel>img.cn-kb{animation:none}}

/* ---- Hero sans texte (façon Simply Better) : image/vidéo seule, le texte suit ---- */
body.cn-page .cn-panel.cn-hero-pure,body.cn-mixed .cn-panel.cn-hero-pure{min-height:100svh;align-items:flex-end}
body.cn-page .cn-panel.cn-hero-pure::after,body.cn-mixed .cn-panel.cn-hero-pure::after{background:linear-gradient(0deg,#000000b0 0%,#00000000 35%),linear-gradient(180deg,#00000099,#00000000 30%)}
body.cn-page .cn-intro,body.cn-mixed .cn-intro{background:#000;color:#fff;padding:0}
body.cn-page .cn-intro .cn-copy-intro,body.cn-mixed .cn-intro .cn-copy-intro{padding:96px 0 90px;position:relative;width:min(1320px,calc(100% - 96px));margin:0 auto}
body.cn-mixed .cn-intro .cn-eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;color:#75C4E7;margin:0 0 26px}
body.cn-mixed .cn-intro h1.cn-title{font-family:Anima,Montserrat,Arial,sans-serif;font-weight:300;letter-spacing:-.01em;line-height:1.05;color:#fff;margin:0 0 26px;max-width:16ch;font-size:clamp(2.8rem,6.4vw,6.2rem)}
body.cn-mixed .cn-intro h1.cn-title strong{font-weight:600}
body.cn-mixed .cn-intro .cn-text{font-size:17px;line-height:1.75;color:#d5e0e5;max-width:46ch;margin:0 0 36px;font-weight:300}
body.cn-mixed .cn-intro .cn-link{display:inline-flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;color:#fff;text-decoration:none;padding:16px 0;border-bottom:1px solid #ffffff66}
body.cn-mixed .cn-intro .cn-link.cn-fill{border:1px solid #ffffffaa;padding:18px 34px}
body.cn-mixed .cn-intro .cn-actions{display:flex;gap:18px 36px;flex-wrap:wrap;align-items:center}
body.cn-page.cn-light .cn-intro{background:#fff;color:#0a0a0a}
body.cn-page.cn-light .cn-intro .cn-title,body.cn-page.cn-light .cn-intro .cn-eyebrow{color:#0a0a0a}
body.cn-page.cn-light .cn-intro .cn-text{color:#536169}
body.cn-page.cn-light .cn-intro .cn-link{color:#0a0a0a;border-color:#0a0a0a66}
/* Logo : « Musica » en bleu Anima, en gras */
body.rf-site .rf-logo span{color:#75C4E7!important;font-weight:700!important}
@media(max-width:1100px){body.cn-page .cn-intro .cn-copy-intro,body.cn-mixed .cn-intro .cn-copy-intro{width:calc(100% - 48px);padding:70px 0 60px}}
@media(max-width:580px){body.cn-page .cn-panel.cn-hero-pure,body.cn-mixed .cn-panel.cn-hero-pure{min-height:78svh}body.cn-page .cn-intro .cn-copy-intro,body.cn-mixed .cn-intro .cn-copy-intro{width:calc(100% - 40px);padding:56px 0 50px}body.cn-mixed .cn-intro h1.cn-title{font-size:2.5rem}}
/* Hero réduit sur les pages secondaires : le titre apparaît déjà en bas d'écran */
body.cn-page .cn-panel.cn-hero-pure.cn-hero-short,body.cn-mixed .cn-panel.cn-hero-pure.cn-hero-short{min-height:72svh}
body.cn-page .cn-hero-short+.cn-intro .cn-copy-intro,body.cn-mixed .cn-hero-short+.cn-intro .cn-copy-intro{padding:72px 0 80px}
@media(max-width:580px){body.cn-page .cn-panel.cn-hero-pure.cn-hero-short,body.cn-mixed .cn-panel.cn-hero-pure.cn-hero-short{min-height:58svh}}

/* Liste des cinq pôles */
body.cn-page .cn-list.cn-poles{margin-top:44px}
body.cn-page .cn-list.cn-poles li{grid-template-columns:56px 1fr;align-items:baseline;padding:26px 0}
body.cn-page .cn-list.cn-poles li>span{font-size:12px;letter-spacing:.3em;color:#75C4E7;font-weight:500}
body.cn-page .cn-list.cn-poles strong{font-family:Anima,Montserrat,Arial,sans-serif;font-weight:300;font-size:clamp(1.4rem,2.2vw,2rem);letter-spacing:-.01em;margin-bottom:8px}
body.cn-page .cn-list.cn-poles strong a{color:inherit;text-decoration:none}
body.cn-page .cn-list.cn-poles strong a:hover{color:#75C4E7}
body.cn-page .cn-list.cn-poles div>span{font-size:16px}
body.cn-page.cn-light .cn-list.cn-poles li>span{color:#0a0a0a}
@media(max-width:580px){body.cn-page .cn-list.cn-poles li{grid-template-columns:40px 1fr;padding:20px 0}}
body.cn-page .cn-list.cn-timeline li{grid-template-columns:76px 1fr}
body.cn-page .cn-list.cn-timeline li>span{letter-spacing:.12em;white-space:nowrap}

/* Les pages cinéma se terminent déjà par un panneau contact : pas de doublon dans le pied de page */
body.cn-page .rf-footer-top{display:none}
/* Tuiles « Pour vous » : texte lisible sur toute photo */
body.cn-page .cn-tile::after{background:linear-gradient(0deg,#000000f0 0%,#000000b0 38%,#00000030 70%,#00000000 100%)}
body.cn-page .cn-tile h3{font-weight:400;text-shadow:0 1px 14px #000000cc}
body.cn-page .cn-tile .cn-eyebrow{text-shadow:0 1px 10px #000000cc}
