/* RAC V8 — film manifeste : poster, déclencheurs et dialogue cinéma natif. */
:root { --film-lime:#c8d422; --film-paper:#f0f4ed; --film-ease:cubic-bezier(.16,1,.3,1); }
.film-trigger { cursor:pointer; }
.film-trigger:focus-visible,.film-shell :focus-visible { outline:2px solid var(--film-lime);outline-offset:5px; }
.film-play-icon { width:15px;height:15px;display:block;fill:currentColor;stroke:none;flex-shrink:0; }
.v7 .hero-copy .buttons { flex-wrap:wrap;gap:12px; }
.v7 .film-hero-trigger { display:inline-flex;align-items:center;justify-content:flex-start;gap:13px;padding:10px 16px 10px 9px;border:1px solid #b2ccaa45;border-radius:8px;min-height:54px;background:#06242655;backdrop-filter:blur(8px);color:#f3f6ef;text-decoration:none;transition:background .3s,border-color .3s,transform .3s; }
.film-mini-play { width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid #c8d4229c;background:#c8d42218;color:#d7e54a;position:relative; }
.film-mini-play::after { content:'';position:absolute;inset:-5px;border:1px solid #c8d42233;border-radius:50%;transition:transform .4s,opacity .4s; }
.film-hero-trigger:hover { transform:translateY(-2px);border-color:#c8d42299!important;background:#18423a99!important; }
.film-hero-trigger:hover .film-mini-play::after { transform:scale(1.12);opacity:.5; }
.film-trigger-copy { display:flex;flex-direction:column;gap:0;align-items:flex-start; }
.film-trigger-copy strong { font-size:12px;font-weight:700;line-height:1.5; }
.film-trigger-copy small { font-size:9px;letter-spacing:.12em;color:#b4c5b1;line-height:1.7;text-transform:uppercase; }
.v7 .film-feature { position:relative;padding:94px 0;background:#071f21;overflow:hidden;border-top:1px solid #809c632a;border-bottom:1px solid #809c632a; }
.film-feature::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 75% 40%,#52713f26,transparent 60%);pointer-events:none; }
.film-feature-layout { display:grid;grid-template-columns:.8fr 1.5fr;gap:70px;align-items:center;position:relative; }
.film-feature-copy { position:relative;z-index:1; }
.film-feature-copy .eyebrow { color:#cedb7b;display:flex;align-items:center;gap:9px;margin-bottom:24px; }
.film-tick { display:inline-block;width:21px;height:1px;background:#c8d422; }
.v7 .film-feature h2 { font-size:clamp(34px,3.5vw,52px);font-weight:600;line-height:1.13;letter-spacing:-.045em;margin:0 0 23px;color:var(--film-paper); }
.film-feature h2 em { color:#ccd956;font-style:normal; }
.v7 .film-feature-copy p { color:#b7c9bf;font-size:14px;line-height:1.9;max-width:330px;margin:0 0 24px; }
.film-spec { display:flex;align-items:center;gap:11px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#92ada4;margin:24px 0; }
.film-spec b { color:#c8d422;font-size:12px;font-weight:500;letter-spacing:.06em; }
.film-spec i { width:3px;height:3px;background:#6f8980;border-radius:50%; }
.v7 .film-text-link { display:inline-flex;align-items:center;gap:11px;color:#e5eddd;border-bottom:1px solid #78938388;padding-bottom:7px;font-size:12px; }
.film-text-link:hover { color:#d3e14e; }
.film-feature-screen { display:block;position:relative;isolation:isolate;aspect-ratio:16/9;border-radius:15px;border:1px solid #c9e29445;box-shadow:0 30px 65px #000b,0 0 65px #b3c7460b;text-decoration:none;overflow:hidden;background:#061f20;transform:translateZ(0); }
.film-feature-screen img { width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--film-ease),filter .8s; }
.film-feature-screen::after { content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#041b1a15 40%,#031e1db0);border-radius:inherit;box-shadow:inset 0 0 0 5px #ffffff02; }
.film-feature-screen:hover img { transform:scale(1.035);filter:brightness(1.1); }
.film-frame-label { position:absolute;z-index:2;left:20px;top:18px;display:flex;gap:8px;align-items:center;font-size:8px;letter-spacing:.2em;color:#eef4e5;background:#051e21ba;backdrop-filter:blur(8px);padding:7px 9px;border-radius:3px;border:1px solid #bacd6f3b; }
.film-frame-label::before { content:'';height:5px;width:5px;background:var(--film-lime);border-radius:50%; }
.film-screen-bottom { position:absolute;z-index:2;bottom:21px;left:23px;right:22px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#f4f6e6; }
.film-screen-bottom strong { font-weight:600;font-size:16px;display:block;line-height:1.5; }
.film-screen-bottom small { color:#c6d3bf;font-size:9px;letter-spacing:.14em; }
.film-big-play { width:58px;height:58px;border-radius:50%;background:var(--film-lime);color:#173321;display:grid;place-items:center;box-shadow:0 0 0 7px #e5ed9f15,0 0 0 8px #e5ed9f40;transition:transform .45s var(--film-ease),box-shadow .45s;flex-shrink:0; }
.film-big-play svg { width:21px;height:21px; }
.film-feature-screen:hover .film-big-play { transform:scale(1.1);box-shadow:0 0 0 10px #e5ed9f10,0 0 0 11px #e5ed9f33; }
.film-poster-caption { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 2px 0;color:#99b5a8;font-size:9px;letter-spacing:.12em;text-transform:uppercase; }
.film-poster-caption span:last-child { letter-spacing:0;text-transform:none; }
.film-dialog { padding:0;border:0;background:transparent;color:#eff4ed;max-width:none;max-height:none;overflow:visible;width:min(1120px,calc(100vw - 64px));box-sizing:border-box;outline:none; }
.film-dialog:not([open]) { display:none!important; }
.film-dialog::backdrop { background:rgba(1,11,12,.88);backdrop-filter:blur(16px) saturate(.6);-webkit-backdrop-filter:blur(16px) saturate(.6);animation:film-backdrop-in .4s ease both; }
.film-shell { max-height:94svh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:#071d20;border:1px solid #bfd2844f;box-shadow:0 45px 110px #000b,0 0 90px #87a62b15;border-radius:16px;position:relative;scrollbar-width:thin;scrollbar-color:#576f4d #092426; }
.film-dialog[open] .film-shell { transform-origin:var(--film-origin,50% 50%);animation:film-cinema-in .5s var(--film-ease) both; }
.film-dialog.is-closing .film-shell { animation:film-cinema-out .19s ease-in both; }
.film-dialog.is-closing::backdrop { animation:film-backdrop-out .19s ease-in both; }
.film-topbar { display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 21px;background:linear-gradient(120deg,#12342f,#081d20);border-bottom:1px solid #8fa65435; }
.film-brand-block { display:flex;align-items:center;gap:18px;min-width:0; }
.film-brand-block img { width:62px;height:40px;object-fit:contain; }
.film-brand-separator { width:1px;height:28px;background:#93aa7139; }
.v7 .film-heading { font-size:17px;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:0;color:#eef4e8; }
.film-kicker { display:block;font-size:8px;letter-spacing:.16em;margin-bottom:5px;color:#b5c889; }
.film-close-group { display:flex;align-items:center;gap:10px;flex-shrink:0; }
.film-escape { font-size:9px;letter-spacing:.12em;color:#81998c; }
.film-close { border:1px solid #96b28d4d;background:#f1f6dd08;color:#eaf0e1;border-radius:50%;height:39px;width:39px;display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s; }
.film-close svg { width:18px;height:18px; }
.film-close:hover { background:#c8d422;border-color:#c8d422;color:#123127; }
.film-player-wrap { position:relative;background:#000;isolation:isolate; }
.film-player { display:block;width:100%;aspect-ratio:16/9;max-height:calc(94svh - 218px);object-fit:contain;background:#000; }
.film-player::cue { background:#001b1be8;color:white;font-family:'Segoe UI',Arial,sans-serif;font-size:clamp(13px,1.5vw,22px);line-height:1.5; }
.film-loading { position:absolute;inset:0 0 45px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;background:#05191fcc;z-index:2;pointer-events:none;font-size:12px;color:#e5edcf; }
.film-loading::before { content:'';width:28px;height:28px;border:1px solid #9cad6355;border-top:1px solid #c8d422;border-radius:50%;animation:film-spin 1s linear infinite; }
.film-error { position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:#092426f5;z-index:5;padding:25px;gap:20px;color:#e7eddf; }
.film-error p { margin:0;font-size:14px; }
.film-error a { color:#d8e66c;text-decoration:underline;font-size:13px; }
.film-controls-bar { padding:12px 21px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #87a17422;font-size:10px; }
.film-now-playing { display:flex;align-items:center;gap:10px;min-width:0; }
.film-live-dot { height:5px;width:5px;background:#c8d422;border-radius:50%;flex-shrink:0; }
.film-time { font-variant-numeric:tabular-nums;letter-spacing:.08em;color:#cfd9bb;white-space:nowrap; }
.film-media-note { color:#93aea0;border-left:1px solid #88a76f39;padding-left:12px; }
.film-mini-actions { display:flex;gap:8px;align-items:center; }
.film-cc { min-height:30px;display:inline-flex;align-items:center;gap:7px;border:1px solid #b8c99142;color:#ccdcb9;background:#ffffff04;border-radius:5px;padding:5px 9px;font-size:10px;cursor:pointer;white-space:nowrap; }
.film-cc b { font-size:9px;letter-spacing:-.03em;border:1px solid #98b080;padding:0 2px;line-height:1.2; }
.film-cc[aria-pressed=true] { background:#c8d42216;border-color:#c8d422;color:#dfeb86; }
.film-transcript-link { color:#a9bcae;font-size:10px;padding:6px 5px;text-decoration:underline;text-underline-offset:4px; }
.film-chapters { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0 18px 13px; }
.film-chapter { text-align:left;border:0;border-radius:0;position:relative;color:#a8beaf;background:none;cursor:pointer;padding:14px 10px 9px;min-width:0; }
.film-chapter + .film-chapter { border-left:1px solid #7b99672a; }
.film-chapter:after { position:absolute;content:'';bottom:0;left:10px;right:10px;height:2px;background:#516842;transform:scaleX(0);transform-origin:left;transition:transform .3s; }
.film-chapter[aria-current=true]::after { transform:scaleX(1);background:#b9c836; }
.film-chapter:hover { color:#f0f4d4;background:#d1df9b06; }
.film-chapter-time { display:block;font-size:8px;letter-spacing:.1em;color:#85a473;margin-bottom:4px;font-variant-numeric:tabular-nums; }
.film-chapter strong { display:block;font-size:11px;line-height:1.3;white-space:normal;font-weight:600;color:inherit; }
.film-chapter[aria-current=true] { color:#e2eaca; }
.film-end-screen { position:absolute;inset:0 0 38px;background:linear-gradient(135deg,#052528ed,#031114f7);z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px; }
.film-end-screen .eyebrow { color:#cad66a;font-size:9px;letter-spacing:.18em;margin:0 0 18px; }
.v7 .film-end-screen h3 { margin:0 0 25px;color:#f0f3e9;font-size:clamp(24px,3.4vw,44px);line-height:1.15;letter-spacing:-.04em; }
.film-end-actions { display:flex;align-items:center;gap:12px;justify-content:center;flex-wrap:wrap; }
.v7 .film-end-actions .button { font-size:12px;min-height:42px;padding:11px 18px; }
.film-replay { border:0;background:transparent;color:#9fb7a6;margin-top:15px;display:flex;align-items:center;gap:7px;cursor:pointer;font-size:11px;padding:6px; }
.film-replay svg { width:15px;height:15px; }
html.film-is-open,body.film-is-open { overflow:hidden!important; }
body.film-is-open main *,body.film-is-open .header *,body.film-is-open footer * { animation-play-state:paused!important; }
.film-route-hero { padding:62px 0 70px;background:radial-gradient(ellipse at 65% 60%,#64893f22,transparent 65%),#061e20; }
.film-route-top { display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px; }
.v7 .film-route-hero h1 { font-size:clamp(42px,5.6vw,78px);line-height:1.06;letter-spacing:-.045em;font-weight:600;margin:18px 0 0; }
.film-route-top p { font-size:14px;color:#a3bbaa;max-width:330px;margin:0; }
.film-route-stage { max-width:1050px;margin:0 auto; }
.film-route-stage .film-feature-screen { border-radius:17px; }
.film-route-stage .film-screen-bottom { bottom:26px;left:28px;right:28px; }
.film-route-stage .film-big-play { width:74px;height:74px; }
.film-route-chapters { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px; }
.film-route-chapters a { border-top:1px solid #71894870;padding:16px 10px;display:flex;flex-direction:column;gap:6px;color:#ecf2df;transition:background .25s,border-color .25s; }
.film-route-chapters a:hover { border-color:#c8d422;background:#c8d42207; }
.film-route-chapters small { color:#bfcc71;font-size:9px;letter-spacing:.1em; }
.film-route-chapters strong { font-weight:500;font-size:14px; }
.film-route-chapters span.film-route-caption { color:#9ab0a2;font-size:11px;line-height:1.7; }
.v7 .film-transcript-section { background:#edf1e8;color:#113530;padding:70px 0; }
.film-transcript-layout { display:grid;grid-template-columns:.9fr 1.2fr;gap:90px; }
.v7 .film-transcript-layout h2 { font-size:40px;margin:12px 0 18px; }
.film-transcript-aside p { color:#526d60;font-size:13px; }
.film-transcript-text { border-left:1px solid #9eaf8a7a;padding-left:35px; }
.v7 .film-transcript-text p { font-size:17px;line-height:1.9;color:#24483d;margin:0 0 18px; }
.film-download-caption { display:inline-block;color:#284d3d;text-decoration:underline;text-underline-offset:4px;font-size:12px;margin-top:10px; }
@keyframes film-cinema-in { from{opacity:0;transform:translateY(18px) scale(.96);filter:blur(4px)}to{opacity:1;transform:none;filter:none} }
@keyframes film-cinema-out { to{opacity:0;transform:translateY(10px) scale(.98)} }
@keyframes film-backdrop-in { from{opacity:0}to{opacity:1} }
@keyframes film-backdrop-out { to{opacity:0} }
@keyframes film-spin { to{transform:rotate(360deg)} }
@media(min-width:1800px){.film-dialog{width:1240px}}
@media(max-width:1100px){.film-feature-layout{gap:35px;grid-template-columns:.85fr 1.35fr}.film-feature h2{font-size:38px!important}.film-dialog{width:calc(100vw - 40px)}.film-transcript-layout{gap:50px}}
@media(max-width:760px){.v7 .film-feature{padding:56px 0}.film-feature-layout{grid-template-columns:1fr;gap:32px}.film-feature-copy p{max-width:540px}.film-feature-copy .eyebrow{margin-bottom:18px}.film-feature h2{font-size:40px!important}.film-spec{margin:18px 0}.film-dialog{width:calc(100vw - 24px)}.film-topbar{padding:12px 14px;gap:8px}.film-brand-block{gap:11px}.film-brand-block img{width:46px;height:32px}.film-heading{font-size:14px!important}.film-kicker{font-size:7px}.film-escape{display:none}.film-close{width:36px;height:36px}.film-player{max-height:calc(94svh - 204px)}.film-controls-bar{padding:10px 12px;gap:8px;flex-wrap:wrap}.film-media-note{display:none}.film-chapters{padding:0 8px 10px}.film-chapter{padding:12px 6px 8px}.film-chapter strong{font-size:9px;line-height:1.5}.film-chapter-time{font-size:8px}.film-chapter::after{left:6px;right:6px}.film-transcript-link{font-size:9px}.film-end-screen{padding:18px}.film-end-screen .eyebrow{margin-bottom:10px;font-size:8px}.v7 .film-end-screen h3{font-size:25px;margin-bottom:12px}.v7 .film-end-actions .button{font-size:10px;padding:9px 12px;min-height:36px}.film-replay{font-size:10px;margin-top:8px}.film-route-hero{padding:36px 0 50px}.film-route-top{display:block;margin-bottom:25px}.film-route-top p{margin-top:22px;font-size:13px}.film-route-stage .film-big-play{width:51px;height:51px}.film-route-stage .film-screen-bottom{left:15px;right:17px;bottom:17px}.film-route-chapters{grid-template-columns:repeat(2,1fr);gap:5px 16px}.film-route-chapters strong{font-size:13px}.film-transcript-layout{grid-template-columns:1fr;gap:25px}.v7 .film-transcript-layout h2{font-size:32px}.film-transcript-text{padding-left:20px}.v7 .film-transcript-section{padding:50px 0}}
@media(max-width:420px){.film-big-play{width:44px;height:44px}.film-screen-bottom{bottom:16px;left:16px;right:17px}.film-screen-bottom strong{font-size:13px}.film-screen-bottom small{font-size:8px}.film-frame-label{left:14px;top:14px;font-size:7px}.film-poster-caption{font-size:8px}.film-poster-caption span:last-child{max-width:120px;text-align:right}.film-dialog{width:calc(100vw - 14px)}.film-shell{border-radius:11px}.film-close{width:34px;height:34px}.film-topbar{padding:11px}.film-end-screen .eyebrow{display:none}.v7 .film-end-screen h3{font-size:22px;margin-bottom:10px}.film-cc{font-size:9px;padding:4px 6px}.film-mini-actions{gap:5px}.film-time{font-size:9px}.film-transcript-link{padding:5px 3px}}
@media(max-height:540px) and (orientation:landscape){.film-dialog{width:min(900px,calc(100vw - 40px))}.film-topbar{padding:7px 13px}.film-brand-block img{height:24px}.film-close{height:30px;width:30px}.film-player{max-height:calc(94svh - 108px)}.film-chapters{display:none}.film-controls-bar{padding:7px 14px}.film-shell{max-height:96svh}.film-dialog[open] .film-shell{animation-duration:.2s}}
body.motion-paused .film-feature-screen img,body.motion-paused .film-mini-play::after,body.motion-paused .film-big-play { transition:none!important; }
body.motion-paused .film-shell,body.motion-paused .film-loading::before { animation:none!important; }
body.motion-paused .film-dialog::backdrop { animation:none!important; }
@media(prefers-reduced-motion:reduce){.film-dialog *,.film-dialog::backdrop,.film-feature *,.film-hero-trigger,.film-hero-trigger *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.film-feature-screen:hover img,.film-feature-screen:hover .film-big-play,.film-hero-trigger:hover{transform:none!important}}
