.res-main { flex:1; display:flex; flex-direction:column; align-items:center; padding:4rem 2rem 5rem; text-align:center; }
    h1 { font-family:var(--font-titre); font-weight:700; font-size:clamp(1.6rem,4vw,2.4rem); line-height:1.15; margin-bottom:0.5rem; }
    h1 span { background:linear-gradient(135deg,var(--or-light),var(--or)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
    .section-titre { font-family:var(--font-titre); font-size:0.78rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--or); margin-bottom:0.5rem; }
    .page-intro { font-family:var(--font-serif); font-style:italic; font-size:clamp(0.9rem,2vw,1.05rem); color:rgba(248,246,242,0.65); margin-bottom:3rem; }
    .ressources-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:1.5rem; width:100%; max-width:900px; }
    .carte {
      background:rgba(91,45,142,0.12);
      border:1px solid rgba(201,168,76,0.2);
      border-radius:10px;
      padding:1.8rem;
      display:flex;
      flex-direction:column;
      gap:1rem;
      transition:border-color 0.25s,background 0.25s,transform 0.2s;
      text-align:center;               /* ← centre tout le texte de la carte */
      align-items:center;              /* ← centre les éléments flexibles */
    }
    .carte:hover { border-color:rgba(201,168,76,0.5); background:rgba(91,45,142,0.2); transform:translateY(-2px); }
    .carte-meta { display:flex; align-items:center; gap:0.8rem; justify-content:center; }  /* ← centrage des métadonnées */
    .carte-type { font-size:0.72rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--or); background:rgba(201,168,76,0.1); border:1px solid rgba(201,168,76,0.25); border-radius:4px; padding:0.2rem 0.6rem; }
    .carte-date { font-size:0.78rem; color:rgba(248,246,242,0.65); letter-spacing:0.05em; }
    .carte h2 { font-family:var(--font-titre); font-weight:700; font-size:clamp(1rem,2.5vw,1.2rem); line-height:1.3; color:var(--blanc); margin-top:0; }
    .carte-desc { font-size:0.88rem; color:rgba(248,246,242,0.75); line-height:1.6; }
    .carte-sources { font-size:0.75rem; color:rgba(248,246,242,0.55); letter-spacing:0.03em; font-style:italic; }
    .carte-actions {
      display: flex;
      justify-content: center;   /* ← centre le bouton horizontalement */
      margin-top: 0.3rem;
    }
    .btn-download {
      display:inline-flex;
      align-items:center;
      gap:0.5rem;
      background:linear-gradient(135deg,rgba(201,168,76,0.2),rgba(201,168,76,0.1));
      border:1px solid rgba(201,168,76,0.4);
      border-radius:6px;
      padding:0.55rem 1.2rem;
      font-family:var(--font-titre);
      font-weight:600;
      font-size:0.82rem;
      letter-spacing:0.06em;
      color:var(--or-light);
      text-decoration:none;
      text-transform:uppercase;
      transition:all 0.25s;
    }
    .btn-download:hover { background:linear-gradient(135deg,rgba(201,168,76,0.35),rgba(201,168,76,0.2)); border-color:var(--or); color:var(--or-pale); }
    .contact-bloc { margin-top:4rem; text-align:center; }
    .section-label { font-size:0.85rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:rgba(248,246,242,0.85); margin-bottom:0.7rem; }
    .contact-email { display:inline-flex; align-items:center; gap:0.5rem; font-family:var(--font-titre); font-weight:600; font-size:clamp(0.95rem,2vw,1.1rem); color:var(--or-light); text-decoration:none; border-bottom:1px solid rgba(201,168,76,0.3); padding-bottom:0.1rem; transition:color 0.25s,border-color 0.25s; }
    .contact-email:hover { color:var(--or-pale); border-color:var(--or); }
    .contact-sub { margin-top:0.8rem; font-size:0.82rem; color:rgba(248,246,242,0.6); letter-spacing:0.05em; }
    @media (max-width:480px) {
      .ressources-grid { grid-template-columns:1fr; }
      .carte-actions { flex-direction:column; align-items:center; }
    }
