/* CLEAN MINDS FILMS — finitions pro : photos, vidéos, lightbox, accessibilité (animations existantes inchangées) */
.cmf-logo{width:auto;max-width:200px;object-fit:contain;flex:none}
img{image-rendering:auto}
img.cmf-fade{opacity:0}
img{transition:opacity .5s ease}
.loc-card img,.prod-card img,.production-mosaic img,.location-tile img,.service-panel img,.about-portrait img{
  object-fit:cover;backface-visibility:hidden;-webkit-font-smoothing:subpixel-antialiased;image-orientation:from-image}
.loc-card,.prod-card,.production-mosaic a,.location-tile{background:#05060c;box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 18px 40px -26px rgba(0,0,0,.75)}
.loc-card::after,.prod-card::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(239,228,207,.08);transition:box-shadow .3s}
.loc-card:hover::after,.prod-card:hover::after{box-shadow:inset 0 0 0 1px rgba(216,176,112,.55)}
.loc-card:focus-visible,.prod-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.hero-bg img,.page-hero img{image-rendering:-webkit-optimize-contrast}
@media (max-width:700px){.production-mosaic{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important}.production-mosaic a{aspect-ratio:4/3}.production-mosaic a:first-child{grid-column:span 2;grid-row:auto!important}}

/* Blocs vidéo */
.cmf-video{margin:0 auto}.cmf-video.cmf-narrow{max-width:760px}.cmf-video.cmf-wide{max-width:1080px}.cmf-video.cmf-full{max-width:none}
.cmf-video-head{margin-bottom:clamp(22px,3.5vw,38px)}.cmf-video-head p{color:var(--mute);max-width:62ch;margin-top:14px}
.cmf-video-frame{position:relative;aspect-ratio:16/9;background:#000;border:1px solid var(--line2);overflow:hidden;box-shadow:0 30px 80px -40px rgba(0,0,0,.9)}
.cmf-video-frame iframe,.cmf-video-frame video,.cmf-video-poster{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;background:#000}
.cmf-video-frame video{object-fit:contain}
.cmf-video-poster{padding:0;cursor:pointer;display:grid;place-items:center;color:#120e08;background:radial-gradient(80% 80% at 50% 40%,#1a1f35,#05060c)}
.cmf-video-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82;transition:.6s}
.cmf-video-poster:hover img{opacity:1;transform:scale(1.03)}
.cmf-play{position:relative;width:78px;height:78px;border-radius:50%;background:var(--gold);display:grid;place-items:center;box-shadow:0 0 0 10px rgba(216,176,112,.22);transition:.3s}
.cmf-video-poster:hover .cmf-play{transform:scale(1.08);box-shadow:0 0 0 16px rgba(216,176,112,.18)}
.cmf-play svg{margin-left:3px}

/* Lightbox galerie */
.lightbox{touch-action:pan-y}
.lightbox .lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(239,228,207,.3);background:rgba(10,12,22,.6);color:#efe4cf;font-size:26px;cursor:pointer;z-index:3;transition:.25s}
.lightbox .lb-nav:hover{background:var(--gold);color:#120e08;border-color:var(--gold)}
.lightbox .lb-prev{left:clamp(8px,2vw,28px)}.lightbox .lb-next{right:clamp(8px,2vw,28px)}
.lightbox .lb-count{position:absolute;top:22px;left:24px;font:500 12px/1 var(--mono);letter-spacing:.14em;color:var(--gold);z-index:3}
.lightbox figure{margin:0}.lightbox figcaption{display:flex;gap:14px;justify-content:space-between;margin-top:12px;color:#d8cfbd}
.lightbox.zoomed img{cursor:zoom-out;transform:scale(1.7)!important;transition:transform .3s}.lightbox:not(.zoomed) img{cursor:zoom-in}
.lightbox.zoomed figure{overflow:hidden}
@media (max-width:700px){.lightbox .lb-nav{width:40px;height:40px;font-size:20px}}

/* V5 — aperçu admin + photos ajoutées */
.cmf-preview-badge{position:fixed;left:50%;bottom:16px;z-index:9999;transform:translateX(-50%);padding:9px 14px;border:1px solid var(--gold);background:rgba(5,6,12,.94);color:var(--gold2);font:700 10px/1 var(--mono);letter-spacing:.12em;box-shadow:0 10px 30px rgba(0,0,0,.35);pointer-events:none}
.cmf-photo-added{margin:0 auto}.cmf-photo-added.cmf-narrow{max-width:760px}.cmf-photo-added.cmf-wide{max-width:1080px}.cmf-photo-added.cmf-full{max-width:none}.cmf-photo-added img{width:100%;max-height:78vh;object-fit:cover;border:1px solid var(--line2);background:#05060c;box-shadow:0 30px 80px -44px rgba(0,0,0,.9)}.cmf-photo-added.contain img{object-fit:contain}.cmf-photo-added figcaption{margin-top:12px;color:var(--mute);font-size:13px;line-height:1.5}
.video-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
@media(max-width:700px){.cmf-logo{max-width:150px}.cmf-photo-added img{max-height:70vh}.cmf-preview-badge{bottom:8px;max-width:calc(100vw - 20px);white-space:nowrap}}

/* V6 video CMS */
.cmf-video-meta{margin-top:10px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.cmf-admin-video-card .video-frame iframe,.cmf-admin-video-card .video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}


/* ===== V10 — hero editorial + Cambria adaptée ===== */
.hero-title-wrap{position:relative;width:min(930px,94vw);padding:18px 0 16px;margin-top:8px}
.hero-title-wrap::before{content:"";display:block;width:clamp(72px,10vw,142px);height:2px;margin-bottom:18px;background:linear-gradient(90deg,var(--gold),rgba(216,176,112,.08));box-shadow:0 0 22px rgba(216,176,112,.18)}
.hero-title-label{display:block;margin-bottom:12px;color:var(--gold2);font:600 10px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase}
.hero-statement{position:relative;width:min(10.7ch,100%);font-family:var(--display);font-size:clamp(3.15rem,7.6vw,7.35rem);font-weight:700;line-height:.87;letter-spacing:-.042em;text-transform:none;text-wrap:balance}
.hero-statement .ln{position:relative;display:block;overflow:visible;padding:0}
.hero-statement .ln>span{display:inline-block}
.hero-statement .ln:nth-child(1){padding-left:.02em}
.hero-statement .ln:nth-child(2){margin-left:clamp(26px,6.5vw,108px);font-size:.72em;font-weight:400;font-style:italic;color:var(--gold2);letter-spacing:-.025em}
.hero-statement .ln:nth-child(2)::before{content:"";position:absolute;right:calc(100% + 16px);top:56%;width:clamp(22px,4vw,58px);height:1px;background:var(--gold);opacity:.76}
.hero-statement .ln:nth-child(3){margin-left:clamp(7px,1.9vw,30px)}
.hero-statement::after{content:"";position:absolute;left:100%;bottom:.13em;width:clamp(42px,7vw,92px);height:1px;background:linear-gradient(90deg,var(--gold),transparent);opacity:.72}
html[dir="rtl"] .hero-statement{letter-spacing:0;line-height:1.08;width:min(12ch,100%)}
html[dir="rtl"] .hero-statement .ln:nth-child(2){margin-left:0;margin-right:clamp(26px,6vw,90px);font-style:normal}
html[dir="rtl"] .hero-statement .ln:nth-child(2)::before{right:auto;left:calc(100% + 16px)}
html[dir="rtl"] .hero-statement .ln:nth-child(3){margin-left:0;margin-right:clamp(7px,2vw,30px)}

/* Les tailles individuelles du hero restent responsives : la valeur admin devient le plafond. */
.hero-statement .cmf-text-style{line-height:inherit}

/* Cambria : proportions et graisse adaptées à une sérif éditoriale. */
html[data-cmf-typography="cambria"] body{font-kerning:normal;text-rendering:optimizeLegibility;letter-spacing:.002em;line-height:1.72}
html[data-cmf-typography="cambria"] .h2,
html[data-cmf-typography="cambria"] .page-title,
html[data-cmf-typography="cambria"] .big-copy,
html[data-cmf-typography="cambria"] .service-panel h3,
html[data-cmf-typography="cambria"] .cap-card h3,
html[data-cmf-typography="cambria"] .cta-band h2,
html[data-cmf-typography="cambria"] .service-detail h2,
html[data-cmf-typography="cambria"] .about-copy h2,
html[data-cmf-typography="cambria"] .workflow h3,
html[data-cmf-typography="cambria"] .principle b,
html[data-cmf-typography="cambria"] .project-feature b,
html[data-cmf-typography="cambria"] .reference-card h3{
  font-weight:700!important;line-height:.98;letter-spacing:-.024em;text-transform:none!important
}
html[data-cmf-typography="cambria"] .brand b{font-weight:700;letter-spacing:.045em}
html[data-cmf-typography="cambria"] .eyebrow,
html[data-cmf-typography="cambria"] .kicker-line{font-weight:600;letter-spacing:.14em}
html[data-cmf-typography="cambria"] .links a,
html[data-cmf-typography="cambria"] .btn{font-weight:600}
html[data-cmf-typography="cambria"] .lead,
html[data-cmf-typography="cambria"] .body-copy,
html[data-cmf-typography="cambria"] .head p{line-height:1.7}

@media(max-width:820px){
  .hero-title-wrap{width:100%;padding-top:12px}
  .hero-title-label{font-size:9px;letter-spacing:.16em}
  .hero-statement{font-size:clamp(2.75rem,13vw,5.15rem);line-height:.91;width:min(10.6ch,100%)}
  .hero-statement .ln:nth-child(2){margin-left:clamp(18px,9vw,58px)}
  .hero-statement::after{display:none}
}
@media(max-width:480px){
  .hero-statement{font-size:clamp(2.55rem,12.6vw,4.15rem);letter-spacing:-.035em}
  .hero-title-wrap::before{margin-bottom:13px}
  .hero-title-label{margin-bottom:10px}
}
