/* film.css — externalisé du <style> inline (move verbatim + font corps alignée --aion-font) */
:root{
      --film-r:18px;
      --film-max:1180px;
      --film-pad:clamp(16px, 3vw, 28px);
      --film-shadow:0 20px 56px rgba(0,0,0,.35);
      --film-shadow2:0 12px 28px rgba(0,0,0,.25);
    }
    *,*::before,*::after{box-sizing:border-box}
    body{
      margin:0;
      font-family:var(--aion-font, system-ui, -apple-system, sans-serif);
      background:var(--aion-deep);
      color:var(--aion-text);
    }
    img,video{max-width:100%;display:block}
    .wrap{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;overflow:hidden}
    .container{max-width:var(--film-max);margin:0 auto;padding:0 var(--film-pad)}

    /* Révélation au scroll */
    .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
    .reveal.in{opacity:1;transform:translateY(0)}

    .sec{padding:88px 0;position:relative}
    .sec.alt{
      background:
        radial-gradient(1100px 520px at 50% 0%,rgba(124,200,222,.06),transparent 70%),
        linear-gradient(180deg,var(--aion-navy),var(--aion-deep));
    }

    .tag{font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-weight:700;color:var(--aion-cta);margin:0 0 10px;opacity:.90}
    .title{margin:0 0 12px;font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:34px;font-weight:400;letter-spacing:-.01em;position:relative;padding-left:14px;line-height:1.2;color:var(--aion-mist)}
    .title::before{content:"";position:absolute;left:0;top:.24em;width:4px;height:1.05em;border-radius:3px;background:var(--aion-cta)}
    .lead{margin:0 0 26px;color:var(--aion-text);font-size:16.5px;line-height:1.75;max-width:980px;opacity:.92}

    /* HERO FILM */
    .heroFilm{
      position:relative;min-height:82vh;display:flex;align-items:flex-end;
      background:var(--aion-black);color:var(--aion-mist);isolation:isolate;overflow:hidden;
    }
    .heroFilmBg{
      position:absolute;inset:0;z-index:-3;
      background:url('medias/film-odyssey-bg.jpg') no-repeat center/cover;
      filter:brightness(.62) contrast(1.05) saturate(1.04);
      transform:scale(1.03);
    }
    .heroFilm::before{
      content:"";position:absolute;inset:0;z-index:-2;
      background:
        radial-gradient(900px 520px at 65% 40%, rgba(0,0,0,.28), rgba(0,0,0,0) 62%),
        linear-gradient(180deg, rgba(6,15,24,.50), rgba(6,15,24,.78) 60%, rgba(6,15,24,.92));
    }
    .heroFilm::after{
      content:"";position:absolute;left:0;right:0;bottom:0;height:220px;z-index:-1;
      background:linear-gradient(180deg, rgba(0,0,0,0), var(--aion-deep));
    }
    .heroFilmInner{width:100%;padding:160px var(--film-pad) 110px}
    @media(max-width:900px){.heroFilm{min-height:80vh}.heroFilmInner{padding:130px var(--film-pad) 90px}}

    .heroFilmGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:stretch}
    @media(max-width:980px){.heroFilmGrid{grid-template-columns:1fr}}

    .heroFilmCard{
      border-radius:var(--film-r);
      background:rgba(11,28,44,.45);
      border:1px solid rgba(200,168,114,.22);
      box-shadow:var(--film-shadow);
      backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
      padding:30px 34px;
    }
    @media(max-width:900px){.heroFilmCard{padding:24px 22px}}

    .kicker{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--aion-cta);opacity:.90}
    .h1{margin:0 0 12px;font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:clamp(34px,5.1vw,66px);font-weight:400;letter-spacing:-.02em;line-height:1.04;color:var(--aion-mist);text-shadow:0 16px 50px rgba(0,0,0,.32)}
    .meta{margin:0 0 14px;color:var(--aion-muted);font-size:12px;letter-spacing:.24em;text-transform:uppercase}
    .heroP{margin:0 0 18px;color:var(--aion-text);font-size:16.5px;line-height:1.7;max-width:680px;opacity:.94}
    .heroFilmInfos{margin:16px 0 0;display:flex;flex-wrap:wrap;gap:18px 30px;font-size:13px;color:var(--aion-muted)}
    .heroFilmInfos span{opacity:.92}
    .heroBtns{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}

    .heroFilmVideo{
      border-radius:var(--film-r);
      background:rgba(6,15,24,.72);
      border:1px solid rgba(200,168,114,.28);
      box-shadow:var(--film-shadow);
      overflow:hidden;
      position:relative;
    }
    .heroFilmVideo::before{
      content:"";position:absolute;inset:0;
      background:radial-gradient(800px 420px at 20% 0%, rgba(200,168,114,.10), transparent 60%);
      pointer-events:none;
    }
    .heroFilmVideoInner{position:relative;padding-top:56.25%}
    .heroFilmVideoInner video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000}
    .heroFilmCaption{position:relative;padding:10px 16px 14px;font-size:12px;color:var(--aion-muted)}

    /* Boutons, alignés palette --aion-cta */
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:10px;
      border-radius:999px;padding:10px 18px;font-weight:700;font-size:12.5px;letter-spacing:.08em;
      text-decoration:none;border:1px solid transparent;cursor:pointer;
      transition:transform .14s ease, filter .14s ease, box-shadow .14s ease, background .14s ease, color .14s ease, border-color .14s ease;
      text-transform:uppercase;
    }
    .btn:active{transform:translateY(1px)}
    .btn.primary{background:var(--aion-cta);color:var(--aion-deep);border-color:var(--aion-cta);box-shadow:0 18px 46px var(--aion-cta-glow)}
    .btn.primary:hover{background:var(--aion-cta-h);border-color:var(--aion-cta-h)}
    .btn.ghost{background:transparent;color:var(--aion-mist);border-color:rgba(200,168,114,.35)}
    .btn.ghost:hover{background:rgba(200,168,114,.08);border-color:var(--aion-cta)}
    .btn.light{background:var(--aion-mist);color:var(--aion-deep);border-color:rgba(0,0,0,.08);box-shadow:var(--film-shadow2)}
    .btn.light:hover{background:#fff}

    /* SYNOPSIS + FICHE TECHNIQUE */
    .split{display:grid;grid-template-columns:1.25fr .9fr;gap:40px;align-items:flex-start}
    @media(max-width:980px){.split{grid-template-columns:1fr;gap:30px}}

    .synopsis{font-size:16.5px;line-height:1.8;color:var(--aion-text);opacity:.92}
    .synopsis p{margin:0 0 16px}
    .synopsis strong{font-weight:700;color:var(--aion-mist)}

    .factCard{
      border-radius:var(--film-r);
      background:rgba(11,28,44,.55);
      border:1px solid var(--aion-line);
      box-shadow:var(--film-shadow2);
      padding:22px 22px 18px;
    }
    .factTitle{margin:0 0 12px;font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:20px;font-weight:400;letter-spacing:-.01em;color:var(--aion-mist)}
    .factGrid{display:grid;grid-template-columns:110px 1fr;gap:8px 16px;font-size:14px}
    @media(max-width:560px){.factGrid{grid-template-columns:1fr}}
    .fKey{font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.16em;color:var(--aion-cta);opacity:.85}
    .fVal{color:var(--aion-text);line-height:1.55;opacity:.90}

    /* STRUCTURE DU FILM */
    .chapters{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    @media(max-width:900px){.chapters{grid-template-columns:1fr}}
    .chapterCard{
      border-radius:var(--film-r);
      background:rgba(11,28,44,.55);
      border:1px solid var(--aion-line);
      box-shadow:var(--film-shadow2);
      padding:20px 20px 18px;
      transition:border-color .2s ease, transform .2s ease;
    }
    .chapterCard:hover{border-color:rgba(200,168,114,.35);transform:translateY(-2px)}
    .chapterCard h3{margin:0 0 6px;font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:21px;font-weight:400;letter-spacing:-.01em;color:var(--aion-mist)}
    .chapterMeta{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--aion-cta);margin-bottom:6px;font-weight:700;opacity:.85}
    .chapterCard p{margin:0;font-size:14.5px;line-height:1.7;color:var(--aion-text);opacity:.90}

    /* CTA FINAL (or champagne sur fond clair en contraste) */
    .ctaFilm{
      border-radius:calc(var(--film-r) + 4px);
      background:
        radial-gradient(900px 420px at 20% 0%, rgba(255,255,255,.12), transparent 60%),
        linear-gradient(135deg, var(--aion-cta), #9a8156);
      color:var(--aion-deep);
      box-shadow:0 26px 70px var(--aion-cta-glow);
      border:1px solid rgba(255,255,255,.18);
      padding:26px 26px 24px;
      display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;justify-content:space-between;
    }
    .ctaFilmText{max-width:640px}
    .ctaFilmText h2{margin:0 0 8px;font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:24px;font-weight:400;letter-spacing:-.01em;color:var(--aion-deep)}
    .ctaFilmText p{margin:0;font-size:15px;line-height:1.7;color:rgba(6,15,24,.85)}
    .ctaFilmActions{display:flex;gap:10px;flex-wrap:wrap}
    .ctaFilmActions .btn{box-shadow:0 14px 32px rgba(0,0,0,.22)}
