/* Composants de cette seule page — piliers sur camel (pillars) et certifications — déplacés de components.css (performance : chaque page ne
   charge que ses styles, AGENTS.md). À remettre dans components.css dès qu’un autre template les utilise. */
/* Piliers sur camel — template-parts/components/pillars.php, Figma Nos engagements 12202:2494 : 80 px sous le
   titre, citation à 162 px du haut de la photo, 48 px entre la photo et les piliers, trois lignes réservées aux
   titres des piliers pour aligner les textes. */
.mm-pillars { row-gap: var(--maestra-space-xl); }
.mm-pillars__title { grid-column: 1 / 6; font-size: var(--maestra-h2); line-height: .9; color: var(--maestra-pink); text-wrap: initial; }
.mm-pillars__quote { grid-column: 1 / 4; align-self: start; max-width: 10em; margin-top: 10.125rem; font: italic 400 var(--maestra-h4)/1.3 var(--maestra-serif); }
.mm-pillars__body { grid-column: 5 / 13; display: flex; flex-direction: column; gap: var(--maestra-space-l); }
.mm-pillars__photo { aspect-ratio: 919 / 514; }
.mm-pillars__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--maestra-space); margin: 0; padding: 0; list-style: none; }
.mm-pillars__list li { display: flex; flex-direction: column; gap: var(--maestra-space-xs); min-width: 0; padding-block: var(--maestra-space-s); border-top: 1px solid var(--maestra-rule-inverse); }
.mm-pillars__number { color: var(--maestra-pink); font-size: var(--maestra-text-xs); line-height: 1.5; }
.mm-pillars__list h3 { min-height: 3.6em; font: 500 var(--maestra-h5)/1.2 var(--maestra-serif); font-variant-caps: small-caps; letter-spacing: -.01em; }
.mm-pillars__list p { font-size: var(--maestra-text-sm); line-height: 1.6; }
.mm-pillars__list li:nth-child(2) { --mm-delay: .11s; }
.mm-pillars__list li:nth-child(3) { --mm-delay: .22s; }
@media (47.5rem < width <= 68.75rem) {
	.mm-pillars__title { grid-column: 1 / 9; }
	.mm-pillars__quote { grid-column: 1 / 8; max-width: none; margin-top: 0; }
	.mm-pillars__body { grid-column: 1 / -1; }
}
@media (width <= 47.5rem) {
	.mm-pillars { row-gap: var(--maestra-space-l); }
	.mm-pillars__title, .mm-pillars__quote, .mm-pillars__body { grid-column: 1 / -1; }
	.mm-pillars__quote { margin-top: 0; }
	.mm-pillars__list { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.mm-pillars__list h3 { min-height: 0; }
}
/* Certifications — template-parts/components/certifications.php, Figma Nos engagements 12595:2022 : cartes de
   448 px (colonnes 5 à 8 et 9 à 12 ; Figma : 48 px entre elles et départ à 448 px, ici la gouttière de 24 px pour
   tomber sur la grille), 200 px entre deux cartes d'une colonne, seconde colonne décalée de 269 px par ses marges
   (la ligne de la grille garde la hauteur de la carte : l'ordre de lecture reste celui de la liste), 80 px avant
   l'encadré. Titres de 24 px de Figma en --maestra-h6 (21 px, comme le Journal, D17) ; intitulés gris en
   --maestra-grey au lieu du noir à 50 % (contraste AA). */
.mm-certifications { grid-column: 1 / -1; row-gap: var(--maestra-space-xl); align-items: start; }
.mm-certifications__label { grid-column: 1 / 4; color: var(--maestra-ink); }
.mm-certifications__list { --mm-stagger: 16.8125rem; grid-column: 5 / 13; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--maestra-space); row-gap: 12.5rem; align-items: start; margin: 0; padding: 0; list-style: none; }
.mm-certifications__item:nth-child(even) { --mm-delay: .09s; margin-block: var(--mm-stagger) calc(-1 * var(--mm-stagger)); }
.mm-certifications__list:has(> :nth-child(even):last-child) { padding-bottom: var(--mm-stagger); }
.mm-certifications__item { display: flex; flex-direction: column; align-items: flex-start; gap: var(--maestra-space-s); min-width: 0; border-top: 1px solid var(--maestra-rule); }
.mm-certifications__meta { display: flex; align-self: stretch; align-items: center; justify-content: space-between; gap: var(--maestra-space-xs); padding-block: .5rem var(--maestra-space-s); font-size: var(--maestra-text-sm); line-height: 1.6; }
.mm-certifications__logos { display: flex; flex-wrap: wrap; align-items: center; gap: var(--maestra-space-s); }
.mm-certifications__logo img { display: block; width: auto; max-width: 100%; height: var(--mm-logo-height); }
.mm-certifications__mark { width: min-content; font: italic 400 var(--maestra-editorial)/1 var(--maestra-serif); }
.mm-certifications__name { font: italic 400 var(--maestra-text-base)/1.5 var(--maestra-serif); letter-spacing: 0; }
.mm-certifications__facts { display: flex; flex-direction: column; gap: var(--maestra-space-s); margin: 0; }
.mm-certifications__facts > div { display: flex; flex-direction: column; gap: var(--maestra-space-2xs); }
.mm-certifications__facts dt { color: var(--maestra-grey); letter-spacing: -.02em; }
.mm-certifications__facts dd { margin: 0; font-size: var(--maestra-text-lg); line-height: 1.6; }
.mm-certifications__facts .mm-certifications__guarantee { max-width: 22.75rem; font: italic 400 var(--maestra-h6)/1 var(--maestra-serif); letter-spacing: .01em; }
.mm-certifications__progress { grid-column: 5 / 13; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--maestra-space-s) var(--maestra-space); padding-block: var(--maestra-space-s); border-top: 1px solid var(--maestra-rule); }
.mm-certifications__progress > .mm-certifications__meta { grid-column: 1 / -1; }
.mm-certifications__progress h3 { font: 500 var(--maestra-h5)/1.2 var(--maestra-serif); font-variant-caps: small-caps; letter-spacing: -.01em; }
.mm-certifications__progress h3 span { display: block; }
.mm-certifications__progress-text { display: flex; flex-direction: column; gap: var(--maestra-space-s); max-width: 26.375rem; }
.mm-certifications__progress-text > p { font-size: var(--maestra-text-sm); line-height: 1.6; text-align: justify; hyphens: auto; text-wrap: wrap; }
.mm-certifications__progress-text .mm-certifications__facts { padding-top: var(--maestra-space-s); border-top: 1px solid var(--maestra-rule); }
@media (width <= 68.75rem) {
	.mm-certifications { row-gap: var(--maestra-space-l); }
	.mm-certifications__label, .mm-certifications__list, .mm-certifications__progress { grid-column: 1 / -1; }
	.mm-certifications__list { --mm-stagger: 8rem; row-gap: 6rem; }
}
@media (width <= 47.5rem) {
	.mm-certifications__list { --mm-stagger: 0rem; grid-template-columns: minmax(0, 1fr); row-gap: var(--maestra-space-l); }
	.mm-certifications__progress { grid-template-columns: minmax(0, 1fr); }
	.mm-certifications__progress-text > p { text-align: left; hyphens: manual; text-wrap: pretty; }
}

/* Nos engagements — page-engagements.php, Figma 12202:2411 : 80 px entre le titre d'une section et son
   contenu ; texte d'« Une exigence qui donne du sens » justifié (447 px, colonnes 9 à 12). Hero : voile de
   30 % (Figma) et dégradé shade (contraste AA, comme La Maison) ; sous sm, le dégradé seul, déjà sombre. */
.mm-engagements__objects, .mm-engagements__standards { row-gap: var(--maestra-space-xl); }
.mm-engagements__standards .mm-section-heading__text p { text-align: justify; hyphens: auto; text-wrap: wrap; }
@media (width <= 47.5rem) {
	.mm-engagements .mm-photo-hero__photo { --mm-photo-hero-overlay: 0%; }
	.mm-engagements__objects, .mm-engagements__standards { row-gap: var(--maestra-space-l); }
	.mm-engagements__standards .mm-section-heading__text p { text-align: left; hyphens: manual; text-wrap: pretty; }
}
