/* ============================================================
   programme.css, page /programme
   Refaite le 18/10/2026 sur le modèle de la page programme
   d'Optigen : tout est lisible d'un coup, aucun panneau collant ni
   défilement automatique. Un titre marine, une fiche de conditions,
   puis des sections calmes faites de cartes blanches. Le seul
   mouvement est une apparition douce, voir programmeModules().
   ============================================================ */
.pg{--pg-navy:#1b2c6b;--pg-nuit:#101d4b;--pg-ink:#0a0e24;--pg-texte:#51596a;--pg-doux:#7a8291;--pg-filet:#e2e5ec;--pg-or:#e8921a;
  --pg-teinte:#f4f6fa;--pg-ombre:0 1px 2px rgba(13,23,63,.04),0 18px 40px -28px rgba(13,23,63,.28);
  --pg-ease:cubic-bezier(.16,1,.3,1);background:#fff;color:var(--pg-ink)}
.pg-in{max-width:1180px;margin:0 auto;padding:0 32px}
.pg-sur{display:block;margin-bottom:16px;font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--pg-navy)}
.pg h2{margin:0;font-size:clamp(30px,3.4vw,44px) !important;line-height:1.1;letter-spacing:-.02em;color:var(--pg-ink)}
.pg h3{margin:0;font-size:19px !important;font-weight:600 !important;line-height:1.3;color:var(--pg-ink)}
.pg .serif{font-weight:400}
.pg-intro{margin:18px 0 0;max-width:64ch;font-size:16.5px;line-height:1.65;color:var(--pg-texte)}
.pg-carte{background:#fff;border:1px solid var(--pg-filet);border-radius:16px;box-shadow:var(--pg-ombre)}

/* ── Titre ──────────────────────────────────────────────────*/
.pg-hero{padding:96px 0 132px;color:#fff;
  background:radial-gradient(70% 90% at 30% -10%,rgba(80,110,220,.35),transparent 60%),var(--pg-nuit)}
.pg-hero .pg-sur{color:rgba(255,255,255,.7)}
.pg-titre{margin:0 0 24px;max-width:15em;font-size:clamp(40px,5.4vw,72px) !important;font-weight:400 !important;line-height:1.04;letter-spacing:-.03em;color:#fff}
.pg-lead{margin:0 0 34px;max-width:60ch;font-size:17px;line-height:1.65;color:rgba(255,255,255,.78)}
.pg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.pg-actions .btn-duo{margin:0}
.pg-btn-ligne{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 22px;border-radius:999px;border:1px solid rgba(255,255,255,.3);
  font-size:15px;font-weight:500;color:#fff;text-decoration:none;transition:background .25s,border-color .25s}
.pg-btn-ligne:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6)}
.pg-btn-ligne:focus-visible,.pg a:focus-visible,.pg summary:focus-visible{outline:2px solid var(--pg-or);outline-offset:3px}

/* ── Fiche des conditions, posée à cheval sur le titre ─────*/
.pg-fiche{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:-64px 0 0;
  background:#fff;border:1px solid var(--pg-filet);border-radius:16px;box-shadow:0 24px 60px -32px rgba(13,23,63,.35)}
.pg-fiche div{padding:24px 22px}
.pg-fiche div + div{border-left:1px solid var(--pg-filet)}
.pg-fiche dt{margin-bottom:8px;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--pg-doux)}
.pg-fiche dd{margin:0;font-size:17px;font-weight:500;line-height:1.35;color:var(--pg-ink)}

/* ── Outils ────────────────────────────────────────────────*/
.pg-outils{padding:72px 0 8px;text-align:center}
.pg-outils .pg-sur{color:var(--pg-doux)}
.pg-outils ul{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 44px;margin:0;padding:22px 0;list-style:none;
  border-top:1px solid var(--pg-filet);border-bottom:1px solid var(--pg-filet)}
.pg-outils li{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;color:var(--pg-texte)}
.pg-outils img{width:26px;height:26px;object-fit:contain}

/* ── Sections ──────────────────────────────────────────────*/
.pg-sec{padding:104px 0}
.pg-sec--teinte{background:var(--pg-teinte)}
.pg-tete{max-width:760px;margin-bottom:44px}
.pg-duo{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
.pg-puces{margin:0;padding:0;list-style:none}
.pg-puces li{position:relative;padding-left:20px;font-size:15px;line-height:1.55;color:var(--pg-texte)}
.pg-puces li + li{margin-top:8px}
.pg-puces li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:2px;background:var(--pg-navy);opacity:.75}
.pg-puces--grand{padding:30px 32px}
.pg-puces--grand li{font-size:16px;color:var(--pg-ink)}
.pg-puces--grand li + li{margin-top:0;padding-top:14px;border-top:1px solid var(--pg-filet)}
.pg-puces--grand li:not(:last-child){padding-bottom:14px}
.pg-puces--grand li::before{top:calc(14px + .6em)}
.pg-puces--grand li:first-child::before{top:.6em}

/* ── Les modules, groupés par partie ───────────────────────*/
.pg-partie{display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;align-items:start}
.pg-partie + .pg-partie{margin-top:40px}
.pg-partie-l{position:sticky;top:120px;padding-top:6px}
.pg-partie-l span{display:block;margin-bottom:6px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--pg-or)}
.pg-partie-l b{display:block;font-size:17px;font-weight:600;line-height:1.35;color:var(--pg-navy)}
.pg-mods-l{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.pg-mod{display:grid;grid-template-columns:56px minmax(0,1fr) 132px;gap:24px;padding:28px 28px 28px 26px;
  background:#fff;border:1px solid var(--pg-filet);border-radius:16px;box-shadow:var(--pg-ombre);transition:border-color .3s,transform .4s var(--pg-ease)}
.pg-mod:hover{border-color:#c9cfdc;transform:translateY(-2px)}
.pg-mod-n{font-size:34px;font-weight:300;line-height:1;letter-spacing:-.03em;color:var(--pg-navy);font-variant-numeric:tabular-nums}
.pg-mod-d{display:block;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--pg-or)}
.pg-mod-c > p{margin:10px 0 16px;font-size:15.5px;line-height:1.6;color:var(--pg-texte)}
.pg-mod-l{margin:14px 0 0 !important;font-size:13.5px !important;color:var(--pg-doux) !important}
.pg-partenaire{margin:16px 0 0 !important;padding:14px 16px;border-radius:12px;background:#fdf4e7;font-size:14px !important;line-height:1.6 !important;color:var(--pg-ink) !important}
.pg-partenaire span{display:block;margin-top:6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#a8650c}
.pg-tuile{align-self:start;display:grid;place-items:center;aspect-ratio:1;border-radius:14px;background:var(--pg-teinte);gap:12px;padding:18px}
.pg-tuile img{width:100%;max-width:56px;height:auto;object-fit:contain}
.pg-tuile--n1 img{max-width:64px}
.pg-tuile--n4{grid-template-columns:1fr 1fr}
.pg-tuile--n4 img{max-width:34px}
.pg-tuile--n2{grid-template-columns:1fr 1fr}
.pg-tuile--n2 img{max-width:40px}
.pg-tuile--marine{background:var(--pg-nuit);color:#fff}

/* ── Déroulé, public, DDA ──────────────────────────────────*/
.pg-trois,.pg-quatre{display:grid;gap:16px;margin:0;padding:0;list-style:none}
.pg-trois{grid-template-columns:repeat(3,minmax(0,1fr))}
.pg-quatre{grid-template-columns:repeat(2,minmax(0,1fr))}
.pg-trois > li,.pg-quatre > li{padding:28px}
.pg-trois h3,.pg-quatre h3{margin-bottom:10px}
.pg-trois p,.pg-quatre p{margin:0;font-size:15.5px;line-height:1.65;color:var(--pg-texte)}
.pg-anim{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;margin-top:16px;padding:28px}
.pg-anim h3{margin-bottom:8px}
.pg-anim p{margin:0;max-width:60ch;font-size:15.5px;line-height:1.65;color:var(--pg-texte)}
.pg-anim-gens{display:flex;flex-wrap:wrap;gap:12px}
.pg-anim-gens a{display:flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;border-radius:999px;background:var(--pg-teinte);color:var(--pg-ink);text-decoration:none;transition:background .25s}
.pg-anim-gens a:hover{background:#e8ebf2}
.pg-anim-gens img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.pg-anim-gens span{display:flex;flex-direction:column;font-size:13px;line-height:1.3;color:var(--pg-doux)}
.pg-anim-gens b{font-size:15px;font-weight:600;color:var(--pg-navy)}
.pg-mention{margin:22px 0 0;font-size:13.5px;line-height:1.7;color:var(--pg-doux)}

/* ── FAQ ───────────────────────────────────────────────────*/
.pg-faq{padding:6px 28px}
.pg-faq details + details{border-top:1px solid var(--pg-filet)}
.pg-faq summary{position:relative;display:block;padding:20px 40px 20px 0;cursor:pointer;list-style:none;font-size:16.5px;font-weight:500;color:var(--pg-ink)}
.pg-faq summary::-webkit-details-marker{display:none}
.pg-faq summary::after{content:none}
.pg-plus{position:absolute;right:0;top:22px;width:20px;height:20px;transition:transform .35s var(--pg-ease)}
.pg-plus::before,.pg-plus::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--pg-navy);transform:translate(-50%,-50%)}
.pg-plus::after{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .3s}
.pg-faq details[open] .pg-plus{transform:rotate(180deg)}
.pg-faq details[open] .pg-plus::after{opacity:0}
.pg-faq details p{margin:0 0 20px;max-width:62ch;font-size:15.5px;line-height:1.7;color:var(--pg-texte)}

/* ── Autres formats et fin ─────────────────────────────────*/
.pg-sec--liens{padding:72px 0}
.pg-liens{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.pg-liens a{display:inline-flex;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--pg-filet);background:#fff;
  font-size:14.5px;font-weight:500;color:var(--pg-navy);text-decoration:none;transition:border-color .25s}
.pg-liens a:hover{border-color:var(--pg-navy)}
.pg-fin{padding:96px 0;color:#fff;background:radial-gradient(60% 90% at 85% 0%,rgba(80,110,220,.3),transparent 60%),var(--pg-nuit)}
.pg-fin .pg-sur{color:rgba(255,255,255,.7)}
.pg-fin h2{max-width:16em;color:#fff}
.pg-fin p{margin:18px 0 32px;max-width:60ch;font-size:16.5px;line-height:1.65;color:rgba(255,255,255,.75)}

/* ── Apparition ────────────────────────────────────────────*/
.pg .lx-revele{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .9s var(--pg-ease)}
.pg .lx-revele.est-la{opacity:1;transform:none}

@media (max-width:1080px){
  .pg-fiche{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pg-fiche div:nth-child(4){border-left:0}
  .pg-fiche div:nth-child(n+4){border-top:1px solid var(--pg-filet)}
  .pg-partie{grid-template-columns:minmax(0,1fr);gap:16px}
  .pg-partie-l{position:static}
}
@media (max-width:820px){
  .pg-in{padding:0 20px}
  .pg-hero{padding:64px 0 104px}
  .pg-fiche{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pg-fiche div{padding:18px 16px}
  .pg-fiche div + div{border-left:0}
  .pg-fiche div:nth-child(even){border-left:1px solid var(--pg-filet)}
  .pg-fiche div:nth-child(n+3){border-top:1px solid var(--pg-filet)}
  .pg-fiche div:last-child{grid-column:1 / -1;border-left:0}
  .pg-fiche dd{font-size:15.5px}
  .pg-outils{padding-top:56px}
  .pg-outils ul{gap:12px 24px}
  .pg-sec{padding:72px 0}
  .pg-duo,.pg-trois,.pg-quatre,.pg-anim{grid-template-columns:minmax(0,1fr)}
  .pg-duo{gap:28px}
  .pg-mod{grid-template-columns:minmax(0,1fr);gap:10px;padding:22px 20px}
  .pg-tuile{display:none}
  .pg-mod-n{font-size:26px}
  .pg-puces--grand{padding:22px 20px}
  .pg-trois > li,.pg-quatre > li,.pg-anim{padding:22px 20px}
  .pg-faq{padding:4px 20px}
  .pg-fin{padding:72px 0}
}
@media (prefers-reduced-motion:reduce){.pg *{transition:none !important;animation:none !important}}
