.film-list h3 a { color: inherit; text-decoration: none; } .film-list h3 a:hover { text-decoration: underline; }
.film-row > a img {width:100%;height:auto;max-height:430px;object-fit:contain;object-position:top;display:block;}
.film-detail .editorial-grid .figure img {width:100%;max-height:710px;height:auto;object-fit:contain;object-position:top;}
.film-data {display:grid;grid-template-columns:1fr;gap:7px;padding:12px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.film-data div {display:grid;grid-template-columns:minmax(118px,33%) 1fr;align-items:start;gap:12px} .film-data dt {color:#b9a989} .film-data dd {margin:0;line-height:1.5}
.ras-video {max-width:950px;margin:12px 0 20px;} .ras-video video {width:100%;aspect-ratio:16/9;display:block;border-radius:9px;background:#060609;object-fit:contain}
.video-note,.media-pending {font-size:13px;color:#bfc4d2;line-height:1.6} .compact-video-details {margin-top:9px;max-width:100%;} .compact-video-details summary {cursor:pointer;color:#e8d4a6;font-size:13px;font-weight:600;}
.disc-card .ras-video video {width:100%;} .disc-card .ras-video {max-width:100%;margin-bottom:4px} .disc-card .ras-video .video-note {font-size:11px}
@media(max-width:700px){.film-data div{grid-template-columns:1fr;gap:1px}.film-detail .editorial-grid .figure img{max-height:480px}}

.ras-honeypot{position:absolute!important;left:-99999px!important;top:-99999px!important;opacity:0!important;pointer-events:none!important}

.pilot-section{margin-top:32px;padding-top:20px;border-top:1px solid #39343a;}
.pilot-section .ras-video video{width:100%;aspect-ratio:16/9;object-fit:contain;}

/* V2.5 - Logo de marque fourni (PNG transparent). Favicon distinct. */
/* Affichage clair sur fonds sombres, fichier master PNG laisse strictement intact. */
.site-header .brand img {display:block;width:100px;height:100px;max-width:none;object-fit:contain;border-radius:0;background:transparent;filter:brightness(0) invert(1)}
.site-header .brand {min-width:105px}
.footer-brand-mark {display:inline-block;line-height:0;margin-bottom:13px}
.footer-brand-mark img {display:block;width:138px;height:138px;object-fit:contain;background:transparent;filter:brightness(0) invert(1)}
.eyebrow-brand {display:flex;align-items:center;gap:12px;line-height:1.2}
.eyebrow-brand img,.page-top .eyebrow>img {display:block;width:82px;height:82px;object-fit:contain;background:transparent;filter:brightness(0) invert(1)}
.eyebrow-brand span {letter-spacing:.16em}
@media(max-width:950px){.site-header .brand img {width:79px;height:79px}.site-header .brand{min-width:82px}}
@media(max-width:650px){.site-header .brand img {width:70px;height:70px}.site-header .brand {min-width:71px}.footer-brand-mark img {width:118px;height:118px}.eyebrow-brand img,.page-top .eyebrow>img {width:70px;height:70px}}


/* V2.6 : affichage du logo officiel noir/alpha en blanc sur fonds sombres.
   Master PNG conserve strictement sans modification. Recadrage CSS de la zone
   utile du fichier source carre 1254 x 1254 - aucun cartouche. */
.site-header .brand img {
  width: 144px; height: 84px; max-width: none;
  object-fit: cover; object-position: center 60%;
  background: transparent; border: 0; border-radius: 0;
  filter: brightness(0) invert(1);
}
.site-header .brand { min-width: 144px; }
.footer-brand-mark img {
  width: 176px; height: 104px; max-width: none;
  object-fit: cover; object-position: center 60%;
  background: transparent; border: 0; border-radius: 0;
  filter: brightness(0) invert(1);
}
.eyebrow-brand img, .page-top .eyebrow > img {
  width: 132px; height: 76px; max-width: none;
  object-fit: cover; object-position: center 60%;
  background: transparent; border: 0; border-radius: 0;
  filter: brightness(0) invert(1);
}
@media(max-width:950px) {
  .site-header .brand img {width: 124px; height: 74px;}
  .site-header .brand {min-width: 124px;}
}
@media(max-width:650px) {
  .site-header .brand img {width: 112px; height: 66px;}
  .site-header .brand {min-width: 112px;}
  .footer-brand-mark img {width: 150px; height: 88px;}
  .eyebrow-brand img, .page-top .eyebrow > img {width: 112px; height: 66px;}
}

/* V3.2.1: existing native readers shown directly, without hidden <details>. */
.catalog-card .ras-video,.disc-card .ras-video{max-width:100%;min-width:0;margin:14px 0 2px}
.catalog-card .ras-video video,.disc-card .ras-video video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.catalog-card .catalog-text,.disc-card .disc-details{min-width:0}
@media(max-width:650px){
 /* Readable inline native video, while preserving original posters and all typography. */
 .catalog-grid{grid-template-columns:1fr}
 .catalog-card .catalog-art{aspect-ratio:16/9;max-height:270px}
 .catalog-card .catalog-art img{object-fit:contain}
 .disc-grid{grid-template-columns:1fr 1fr}
 .disc-card{min-width:0}
 .disc-card .ras-video{max-width:100%}
}
@media(max-width:420px){.disc-grid{grid-template-columns:1fr}.disc-card .disc-cover{max-width:220px;margin-inline:auto}}
/* Narrow-screen contact form: eliminate legacy grid min-content overflow. */
@media(max-width:650px){
 .contact-layout{grid-template-columns:minmax(0,1fr)}
 .contact-layout>.contact-board,.contact-layout>.contact-form{min-width:0;max-width:100%;width:100%}
 .contact-layout .contact-form>*{min-width:0;max-width:100%}
 .contact-layout .contact-form input,.contact-layout .contact-form textarea,.contact-layout .contact-form select{box-sizing:border-box;max-width:100%}
 .site-footer,.site-footer *{overflow-wrap:anywhere}
}

/* V3.3.1 - Readability only: historic cinema Portfolio synopses.
   Film posters, layout, navigation, video players and all other sections unchanged. */
.film-list .film-row p:not(.film-meta) {
  font-size: 14px;
  line-height: 1.85;
  margin-bottom: 18px;
}
.film-detail .editorial-long p:not(.film-meta) {
  line-height: 1.9;
  margin-bottom: 22px;
}
@media (max-width: 650px) {
  .film-list .film-row p:not(.film-meta) {
    font-size: 13px;
    line-height: 1.85;
    margin-bottom: 17px;
  }
  .film-list .film-row p.film-meta {
    font-size: 12px;
    line-height: 1.7;
  }
}
/* On phones, retain the established poster/title pairing but give the
   long synopsis the full card width instead of a narrow right column. */
@media (max-width: 650px) {
  .film-list .film-row {
    column-gap: 13px;
    row-gap: 12px;
  }
  .film-list .film-row > div {
    display: contents;
  }
  .film-list .film-row > a {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;
  }
  .film-list .film-row h3 {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin-bottom: 0;
  }
  .film-list .film-row p.film-meta {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin-bottom: 0;
  }
  .film-list .film-row p:not(.film-meta) {
    grid-column: 1 / -1;
    margin-bottom: 6px;
  }
}


/* V3.3.2 - Phone-only corrective layout after real smartphone review.
   Keep posters, artwork, videos, desktop layout and text completely intact. */
@media (max-width:650px) {
  /* Never confine a long synopsis or the awards list beside the poster. */
  .film-list .film-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 17px;
    min-width: 0;
  }
  .film-list .film-row > div {
    display: block;
    min-width: 0;
    width: 100%;
  }
  .film-list .film-row > a {
    display: block;
    width: min(100%, 174px);
    max-width: 100%;
    margin: 0 0 19px;
    align-self: flex-start;
  }
  .film-list .film-row > a img {
    width: 100%;
    height: auto;
    max-height: 275px;
    object-fit: contain;
  }
  .film-list .film-row h3 {
    font-size: 26px;
    line-height: 1.22;
    margin: 0 0 12px;
    overflow-wrap: anywhere;
  }
  .film-list .film-row p,
  .film-list .film-row p:not(.film-meta) {
    font-size: 15px;
    line-height: 1.8;
    margin: 0 0 19px;
    overflow-wrap: anywhere;
  }
  .film-list .film-row p.film-meta {
    font-size: 13px;
    line-height: 1.65;
    margin: 0 0 20px;
  }
  .film-list .film-row .awards-panel {
    box-sizing: border-box;
    width: 100%;
    margin: 18px 0;
    padding: 17px;
    overflow-wrap: anywhere;
  }
  .film-list .film-row .awards-panel p {
    font-size: 14px;
    line-height: 1.75;
  }
  /* Three feature cards on full usable width, not squeezed into two columns. */
  .projects-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .projects-grid .project-card { min-width: 0; }
  .projects-grid .project-card .copy { padding: 19px 20px 23px; }
  .projects-grid .project-card p { font-size: 14px; line-height: 1.7; }
  /* Restore the full language label where the handset has room. */
  .site-header .language { min-width: 0; }
  .site-header .language select { max-width: 126px; width: 126px; font-size: 11px; }
}
@media (max-width:360px) {
  .site-header .brand img { width: 92px; height: 57px; }
  .site-header .brand { min-width: 92px; }
  .site-header .language select { max-width: 109px; width: 109px; }
  .site-header .menu-trigger { padding: 2px 8px; }
}
