.m30{background:#F7EFE0;color:#20263A;font-family:'Familjen Grotesk',sans-serif;padding:0}
.m30 .tag{background:#E08A3C;color:#20263A}
.m30 .hd{text-align:center;padding:1.6em 1.3em 1.3em;
  background:linear-gradient(175deg,#20263A 0%,#3E4A6B 62%,#B96A45 86%,#E08A3C 100%);
  color:#F7EFE0}
.m30 .hd h3{font:700 2.1em/1 'Syne',sans-serif;letter-spacing:.06em;
  text-transform:uppercase;margin:0}
.m30 .hd .bl{font:500 .54em/1.7 'IBM Plex Mono',monospace;letter-spacing:.24em;
  text-transform:uppercase;color:rgba(247,239,224,.92);margin:.6em 0 0;font-size:max(calc(2.2 * var(--u)),.54em)}
.m30 .hd .dt{font:500 .52em/1 'IBM Plex Mono',monospace;letter-spacing:.26em;
  text-transform:uppercase;color:#F5C98A;margin:.4em 0 0;font-size:max(calc(2.2 * var(--u)),.52em)}
.m30 .bd{padding:1.1em 1.3em 0}
.m30 .grp h4{font:500 .54em/1 'IBM Plex Mono',monospace;letter-spacing:.24em;
  text-transform:uppercase;color:#B96A45;margin:0 0 .85em;padding-bottom:.35em;
  border-bottom:1px solid rgba(32,38,58,.18);font-size:max(calc(2.5 * var(--u)),.54em)}
.m30 .ln{line-height:1.5}
.m30 .ln .p{font-weight:600}
.m30 .dsc{color:#6A7189}
.m30 .enc{background:color-mix(in srgb,#20263A 7%,transparent);border:calc(.4 * var(--u)) solid #20263A;margin:1em 0 0;
  padding:.7em 1.3em .8em;display:flex;align-items:baseline;gap:1.2em}
.m30 .enc h4{flex:none;font:700 1.15em/1 'Syne',sans-serif;letter-spacing:.06em;
  text-transform:uppercase;margin:0;color:#20263A;font-size:max(calc(2.5 * var(--u)),1.15em)}
.m30 .enc .it{flex:1 1 auto}
.m30 .enc .ln .t{font:500 .95em/1.3 'Familjen Grotesk',sans-serif}
.m30 .enc .ln .l{opacity:.3}
.m30 .enc .ln .p{color:#20263A}
.m30 .enc .dsc{}
.m30 .note{font:400 .56em/1.6 'IBM Plex Mono',monospace;letter-spacing:.05em;color:#6A7189;
  padding:0 1.3em;text-align:center;font-size:max(calc(2.2 * var(--u)),.56em)}
.m30 .ft{margin:.7em 1.3em 0;padding:.6em 0 1em;
  border-top:1px solid rgba(32,38,58,.16);text-align:center}
.m30 .ft .ad{font:500 .64em/1.5 'Familjen Grotesk',sans-serif;font-size:max(calc(2.2 * var(--u)),.64em)}
.m30 .ft .hr{font-family:'Familjen Grotesk',sans-serif;font-style:normal;color:#6A7189}
.m30 .ft .tt{font:400 .52em/1.6 'IBM Plex Mono',monospace;letter-spacing:.08em;
  text-transform:uppercase;color:#8A91A9;margin-top:.3em;font-size:max(calc(2.2 * var(--u)),.52em)}
.m30.d-ciel-etroit .hd h3{font-size:1.5em}
.m30.d-ciel-etroit .enc{flex-direction:column;gap:.2em}
.m30 .lgd,.m30 .mnt,.m30 .dcl{text-align:center}
.m30 .cls{justify-content:center}
/* CHAQUE ENFANT REPREND LA MARGE DU FORMAT, ET LA REGLE DOIT POUVOIR GAGNER.
   La feuille pose `padding:0` -- c'est ce qui laisse les bandeaux aller d'un
   bord a l'autre -- donc chaque enfant direct doit se voir redonner la marge du
   format. La regle le faisait sous `.mXX>*`, qui n'a qu'UN nom de classe et
   perd donc contre n'importe quel `.mXX .note{padding:0 1.2em}`, qui en a deux.
   Le texte se retrouvait a 4 mm du papier pour 15 declares.
   Le defaut a d'abord ete rattrape enfant par enfant, `.mXX>.bd` le
   2026-08-01; il est ressorti sur la note le 2026-08-02, et il serait ressorti
   sur la cle, les mentions et le titre. Un rattrapage par enfant ne ferme pas
   une regle qui perd: on lui donne le meme poids qu'aux declarations qu'elle
   doit couvrir, et les surcharges VOULUES restent ecrites APRES elle -- le
   pied, l'encart -- ou elles gagnent a l'ordre. */
.sh.m30>*{padding-inline:calc(var(--pad) * var(--u))}
.m30 .ft{margin-inline:calc(var(--pad) * var(--u));padding-inline:0}
/* LE BLOC TITRE EST CENTRE DANS SON BANDEAU, PAS POUSSE VERS LE BAS.
   La feuille pose `padding:0` pour que le bandeau aille d'un bord a
   l'autre, et le retrait du haut a ete redonne au titre pour qu'il ne
   colle pas a la coupe. Mais `padding-top` seul ECRASE le haut d'un
   raccourci symetrique et laisse le bas ou il etait: le texte se
   retrouvait bas dans son propre bandeau. Signale par le owner sur six
   modeles le 2026-08-01, present sur onze. C'est l'axe entier qui se
   redeclare, jamais un seul cote. */
.m30 .hd{padding-block:calc(var(--pad) * var(--u))}
.m30 .ft{padding-bottom:calc(var(--pad) * var(--u))}
.m30 .grp:has(>.fp)>h4{text-indent:.24em}
.m30 .enc{margin-inline:calc(var(--pad) * var(--u) - 1.1em);padding-inline:1.1em}

/* L'ENCART EST UN BALLON POUR UN SEUL PLAT, ET LE MOTEUR LUI EN DONNE SIX.
   `display:flex` sur `.enc` fait de CHAQUE `.it` un element de rangee: six
   plats sortent en six colonnes d'un mot de large, illisibles, et qui
   debordent -- `flex:1 1 auto` ne descend pas sous la largeur du plus long
   mot. Le dessin d'origine est juste, son hypothese ne l'est pas: rien ne
   garantit qu'une section detachee n'ait qu'une entree.
   Des qu'il y en a deux, on empile. Et on rend la ligne NORMALE au lieu de la
   garder alignee a droite: six lignes calees a droite auraient des bords
   gauches tous differents, soit exactement l'escalier que le banc compte. */
.m30 .enc:has(.it + .it){display:block}
.m30 .enc:has(.it + .it)>h4{display:block;margin:0 0 .35em;font-size:max(calc(2.5 * var(--u)),1.15em)}
.m30 .enc:has(.it + .it) .it{text-align:left}
.m30 .enc:has(.it + .it) .ln{justify-content:space-between;gap:.4em}
.m30 .enc:has(.it + .it) .ln .l{display:block}
.m30 .enc:has(.it + .it) .dsc{text-align:left}
