/* ---- feuille de la page /ia-responsable ---- */
/* Page de reference : elle se lit, elle ne s'anime pas. Aucune classe reveal. */
  .memo-version { margin-top: 1.25rem; font-size: 0.92rem; color: var(--texte-2); }
  /* Deux colonnes : le titre de section reste visible, le contenu remplit la largeur. */
  .memo-grille { display: grid; gap: 2rem; }
  /* overflow: hidden des bandes casse le collant ; clip coupe pareil sans creer de conteneur de defilement. */
  #principes, #cadre, #questions, #sources { overflow: clip; }
  @media (min-width: 980px) {
    .memo-grille { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.6fr); gap: 4.5rem; align-items: start; }
    .memo-grille > .entete-section { position: sticky; top: calc(var(--h-nav) + 2rem); margin: 0; }
    .memo-grille > .entete-section h2 { margin-top: 0; }
  }
  .principes { list-style: none; margin: 0; padding: 0; counter-reset: p; display: grid; gap: 0; }
  .principes li { counter-increment: p; display: grid; grid-template-columns: 2.75rem 1fr;
                  gap: 0 1.25rem; padding: 1.6rem 0; border-top: 1px solid var(--bord); }
  .principes .num { display: block; margin-top: 0.55rem; text-align: center; font-family: var(--font-mono);
                    font-size: 0.78rem; letter-spacing: 0.08em; color: var(--texte-2); }
  .principes li:last-child { border-bottom: 1px solid var(--bord); }

  .principes h3 { margin: 0 0 0.45rem; font-size: 1.2rem; font-weight: 500; line-height: 1.3; }
  .principes p { margin: 0; line-height: 1.62; }
  .couts { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
           gap: 1.25rem; margin-top: 2.25rem; }
  .couts article { border-top: 1px solid var(--bord-sombre); padding-top: 1.25rem; }
  .cout-chiffre { margin: 0 0 0.2rem; font-family: var(--font-titre); font-size: clamp(2.4rem, 1.6rem + 2.2vw, 3.4rem);
                  font-weight: 500; line-height: 1; letter-spacing: -0.03em; color: var(--accent); }
  .cout-chiffre span { font-size: 0.42em; letter-spacing: 0; margin-left: 0.25em; color: rgba(255, 255, 255, 0.86); }
  .cout-legende { margin: 0 0 1rem !important; font-size: 0.88rem; color: rgba(255, 255, 255, 0.62) !important; }
  .couts h3 { margin: 0 0 0.5rem; font-size: 1.05rem; font-weight: 500; color: #FFFFFF; }
  .couts p { margin: 0; line-height: 1.6; color: rgba(255, 255, 255, 0.78); }
  /* Frise : un rail, un point par date, plein si en vigueur, creux si a venir. */
  .calendrier { list-style: none; padding: 0; margin: 0; position: relative; }
  .calendrier::before { content: ""; position: absolute; left: 0.45rem; top: 0.6rem; bottom: 0.6rem; width: 2px; background: var(--bord); }
  .calendrier li { position: relative; display: grid; grid-template-columns: 9.5rem 1fr; gap: 0.25rem 1.25rem;
                   padding: 0.9rem 0 0.9rem 2.1rem; }
  .calendrier li::before { content: ""; position: absolute; left: 0; top: 1.15rem; width: 0.95rem; height: 0.95rem;
                           border-radius: 50%; background: var(--fond-carte); border: 2px solid var(--texte-2); }
  .calendrier li.passe::before { background: var(--accent-fonce); border-color: var(--accent-fonce); }
  .calendrier strong { font-weight: 500; }
  .calendrier .etat { grid-column: 2; font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.08em;
                      text-transform: uppercase; color: var(--texte-2); }
  .calendrier li.passe .etat { color: var(--accent-fonce); }
  .calendrier li.aujourdhui { padding-top: 0.4rem; padding-bottom: 0.4rem; }
  .calendrier li.aujourdhui::before { top: 0.62rem; width: 0.95rem; height: 0.95rem; background: var(--accent); border-color: var(--accent);
                                       box-shadow: 0 0 0 5px rgba(var(--accent-rgb), 0.2); }
  .calendrier li.aujourdhui strong { font-family: var(--font-mono); font-size: 0.78rem; letter-spacing: 0.08em;
                                     text-transform: uppercase; color: var(--accent-fonce); }
  .faq-memo { margin: 0; }
  .faq-memo details { border-top: 1px solid var(--bord-sombre); padding: 1rem 0; }
  .faq-memo details:last-child { border-bottom: 1px solid var(--bord-sombre); }
  .faq-memo summary { cursor: pointer; font-weight: 500; color: #FFFFFF; list-style: none; }
  .faq-memo summary::-webkit-details-marker { display: none; }
  .faq-memo summary::after { content: "+"; float: right; color: rgba(255,255,255,0.6); }
  .faq-memo details[open] summary::after { content: "\2212"; }
  .faq-memo p { margin: 0.6rem 0 0; line-height: 1.6; color: rgba(255, 255, 255, 0.78); }
  .sources-memo { margin: 0; padding-left: 1.1rem; }
  .sources-memo li { margin: 0.4rem 0; line-height: 1.5; color: var(--texte-2); }
  .sources-memo a { word-break: break-word; }
  @media (max-width: 560px) {
    .principes li { grid-template-columns: 2.4rem 1fr; }
    .calendrier li { grid-template-columns: 1fr; gap: 0.2rem; }
    .calendrier .etat { grid-column: 1; }
  }

/* ---- feuille de la page /ia-responsable ---- */
.ariane-nav{margin:0 0 1.1rem;font-size:.9rem;opacity:.78}.ariane-nav a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.ariane-nav span[aria-current]{font-weight:600}
