/* ════════════════════════════════════════════════════════════════════
   STANDARD CINÉMATIQUE FFGR UK — couche décorative vanilla (2026-06-04)
   grain film · monogramme FFGR · cartes 3D · lecteur score · montage 3D
   100% décoratif (aria-hidden) → zéro impact SEO/LCP. CSS custom, pas de dépendance.
   Palette FFGR UK : or #C9A84C · dark #080808 · ivoire #f5f0e8
   ════════════════════════════════════════════════════════════════════ */

/* Variables de repli si la page hôte ne les déclare pas (ru/zh ont leurs propres tokens) */
.cine-grain,.cine-mark,.cine-sound,.cm-scene{
  --cine-gold:#C9A84C;
  --cine-ivory:#f5f0e8;
}

/* ── COUCHE GLOBALE ───────────────────────────────────────────────── */
.cine-grain{position:fixed;inset:0;z-index:95;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='cg'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23cg)'/%3E%3C/svg%3E")}
.cine-mark{position:fixed;right:16px;bottom:14px;z-index:96;width:40px;height:40px;opacity:.4;pointer-events:none}
.cine-mark img{width:100%;height:100%;object-fit:contain}
.cine-sound{position:fixed;left:16px;bottom:14px;z-index:97;display:flex;align-items:center;gap:8px;background:rgba(8,8,8,.6);border:1px solid rgba(201,168,76,.3);color:var(--cine-gold);font-family:var(--f-sans,'Raleway',sans-serif);font-size:9px;letter-spacing:2px;text-transform:uppercase;padding:9px 13px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.cine-sound:hover{border-color:var(--cine-gold)}
.cine-eq{display:flex;gap:2px;align-items:flex-end;height:12px}
.cine-eq i{width:2px;height:12px;background:var(--cine-gold);animation:cineEq 1s ease-in-out infinite}
.cine-eq i:nth-child(2){animation-delay:.25s}.cine-eq i:nth-child(3){animation-delay:.5s}
.cine-sound.off .cine-eq i{animation-play-state:paused;height:3px}
@keyframes cineEq{0%,100%{height:3px}50%{height:12px}}

/* tilt 3D — transition fluide sur toutes les cartes existantes de FFGR UK */
.pilier-card,.testimonial-card,.sp-why-card,.service-card,.fleet-card,.airport-card,.number-card,.faq-item{transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .4s ease,box-shadow .4s ease,background .4s ease;transform-style:preserve-3d}

@media(max-width:767px){.cine-sound{display:none}.cine-mark{width:30px;height:30px;opacity:.32}}
@media(prefers-reduced-motion:reduce){.cine-grain{display:none}.cine-eq i{animation:none}}

/* ── MONTAGE CINÉMATIQUE 3D ───────────────────────────────────────── */
.cm-scene{position:relative;height:88vh;min-height:540px;background:#060606;overflow:hidden;display:flex;align-items:center;justify-content:center;perspective:1300px}
.cm-lbT,.cm-lbB{position:absolute;left:0;right:0;height:7vh;background:#000;z-index:4;pointer-events:none}
.cm-lbT{top:0}.cm-lbB{bottom:0}
.cm-frame{position:relative;width:88%;max-width:1320px;height:74vh;min-height:440px;overflow:hidden;border:1px solid rgba(201,168,76,.18);box-shadow:0 60px 120px -50px rgba(0,0,0,.9);transition:transform .5s cubic-bezier(.22,1,.36,1);transform-style:preserve-3d;will-change:transform}
.cm-slide{position:absolute;inset:-4%;background-size:cover;background-position:center;opacity:0;transform:scale(1.04) translateY(calc(var(--cm-par,0)*1px));transition:opacity 1.6s ease;will-change:transform,opacity}
.cm-slide.on{opacity:1;animation:cmKen 8s ease-out forwards}
@keyframes cmKen{0%{transform:scale(1.02) translate(0,calc(var(--cm-par,0)*1px))}100%{transform:scale(1.14) translate(-1.5%,calc(-1.5% + var(--cm-par,0)*1px))}}
.cm-grade{position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(6,6,6,.92),rgba(6,6,6,.15) 48%,rgba(6,6,6,.55));pointer-events:none}
.cm-cap{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:clamp(28px,5vw,64px);text-align:center}
.cm-kicker{font-family:var(--f-sans,'Raleway',sans-serif);font-size:10px;letter-spacing:6px;text-transform:uppercase;color:var(--cine-gold);margin-bottom:16px;opacity:0;animation:cmRise 1s ease .2s forwards}
.cm-title{font-family:var(--f-display,'Cormorant Garamond',Georgia,serif);font-weight:300;font-size:clamp(2.4rem,6vw,5.2rem);line-height:1;color:var(--cine-ivory);opacity:0;animation:cmRise 1.1s cubic-bezier(.22,1,.36,1) .35s forwards}
.cm-sub{font-family:var(--f-sans,'Raleway',sans-serif);font-size:13px;line-height:1.9;color:rgba(245,240,232,.6);max-width:30rem;margin:20px auto 0;opacity:0;animation:cmRise 1.1s ease .55s forwards}
@keyframes cmRise{0%{opacity:0;transform:translateY(26px);filter:blur(6px)}100%{opacity:1;transform:none;filter:blur(0)}}
.cm-dots{position:absolute;top:clamp(20px,4vh,34px);right:clamp(20px,4vw,40px);z-index:3;display:flex;gap:7px}
.cm-dots span{width:18px;height:2px;background:rgba(245,240,232,.25);transition:background .5s}
.cm-dots span.on{background:var(--cine-gold)}
@media(max-width:767px){.cm-scene{height:72vh;min-height:420px}.cm-frame{width:92%;height:60vh}.cm-lbT,.cm-lbB{height:4vh}}
@media(prefers-reduced-motion:reduce){.cm-slide{transition:none}.cm-slide.on{animation:none;transform:scale(1)}.cm-kicker,.cm-title,.cm-sub{animation:none;opacity:1}}
