/* YRALYS V5 - médias locaux, sans lecture automatique. */
.media-figure { margin:0; min-width:0; }
.media-frame { display:block; overflow:hidden; background:#DCE2DF; }
.media-frame img { display:block; width:100%; height:100%; object-fit:cover; }
.media-caption { display:flex; flex-direction:column; gap:4px; margin:13px 0 0; color:#4B575B; font-size:12px; line-height:1.55; }
.media-caption span:first-child { color:var(--mineral); font-family:var(--serif); font-size:17px; }
.media-caption a,.media-film a { text-underline-offset:3px; }
.hero-photo { align-self:center; }
.hero-photo .media-frame { aspect-ratio:4/5; }
.hero-photo img { object-position:50% 48%; }
.hero-photo .media-caption span:first-child { font-size:16px; }
.material-grid { display:grid; grid-template-columns:minmax(0,320px) repeat(2,minmax(0,1fr)); gap:28px; align-items:start; margin:55px 0 0; }
.material-grid .media-frame { aspect-ratio:4/5; }
.material-grid .media-figure:first-child { width:100%; max-width:320px; }
.material-grid .media-figure:first-child .media-frame { aspect-ratio:2/3; }
.material-grid .media-figure:nth-child(2) { margin-top:60px; }
.material-grid .media-figure:nth-child(3) { margin-top:120px; }
.media-pair { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin:55px 0 0; }
.media-pair .media-frame { aspect-ratio:3/2; }
.concept-photo { align-self:stretch; display:flex; flex-direction:column; padding:22px; }
.concept-photo .media-frame { flex:1; min-height:460px; }
.concept-photo img { object-fit:cover; object-position:50% 49%; }
.concept-photo .media-caption { margin-bottom:8px; }
.concept-glimpses .media-frame { aspect-ratio:16/10; }
.concept-glimpses .media-figure:first-child img { object-position:50% 51%; }
.section.green .media-caption,.section.green .media-caption span:first-child,.section.green .media-caption a { color:#fff; }
.media-capital { margin:38px 0 0; max-width:1000px; }
.media-capital .media-frame { aspect-ratio:21/8; }
.media-contact { margin-top:38px; }
.media-contact .media-frame { aspect-ratio:16/9; }
.media-contact img { object-position:50% 48%; }
.media-franchise-hero { margin-top:45px; }
.media-franchise-hero .media-frame { aspect-ratio:21/8; }
.media-franchise-hero img { object-position:50% 60%; }
.media-path-layout { display:grid; grid-template-columns:1fr .7fr; gap:45px; align-items:center; }
.media-path .media-frame { aspect-ratio:3/4; }
.media-films { margin-top:55px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.media-films>summary { padding:25px 0; color:var(--mineral); cursor:pointer; font:27px/1.3 var(--serif); }
.media-films>summary span { display:block; margin:8px 0 0 20px; color:#4B575B; font:14px/1.55 var(--sans); }
.media-film-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:8px 0 30px; }
.media-film { margin:0; min-width:0; }
.media-film video { width:100%; height:auto; aspect-ratio:16/9; display:block; background:#182A2B; }
.media-film figcaption { padding-top:16px; }
.media-film h3 { font-size:24px; margin:0 0 12px; }
.media-film p,.media-film a { font-size:13px; line-height:1.65; color:#4B575B; }
.media-film a { color:var(--mineral); }
.visual-credits { display:grid; grid-template-columns:1fr 1fr; gap:0 36px; }
.visual-credit { padding:24px 0; border-top:1px solid var(--line); scroll-margin-top:120px; }
.visual-credit h2 { font-size:25px; margin:0 0 12px; }
.visual-credit p { font-size:14px; line-height:1.65; margin:0 0 9px; }
.visual-credit a { text-underline-offset:4px; }
@media(max-width:1100px) { .material-grid { grid-template-columns:.8fr 1fr 1fr; gap:20px; } .media-film-grid { grid-template-columns:1fr 1fr; } .media-film:last-child { max-width:none; } }
@media(max-width:760px) {
 .hero-photo .media-frame { aspect-ratio:4/5; max-height:530px; }
 .media-caption { font-size:12px; }
 .media-caption span:first-child { font-size:17px; }
 .material-grid { grid-template-columns:1fr; gap:32px; margin-top:35px; }
 .material-grid .media-figure:first-child { margin-inline:auto; }
 .material-grid .media-figure:nth-child(n) { margin-top:0; }
 .material-grid .media-figure:not(:first-child) .media-frame { aspect-ratio:3/2; }
 .media-pair { grid-template-columns:1fr; gap:32px; margin-top:35px; }
 .concept-photo { padding:18px; }
 .concept-photo .media-frame { aspect-ratio:4/5; min-height:0; flex:none; }
 .media-capital .media-frame { aspect-ratio:3/2; }
 .media-franchise-hero .media-frame { aspect-ratio:4/3; }
 .media-path-layout { grid-template-columns:1fr; gap:26px; }
 .media-path { max-width:440px; width:100%; margin:auto; }
 .media-films { margin-top:38px; }
 .media-films>summary { font-size:25px; }
 .media-film-grid { grid-template-columns:1fr; gap:32px; }
 .visual-credits { grid-template-columns:1fr; }
}
