@font-face { font-family: Zodiak; src: url(polices/zodiak.woff2) format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: Zodiak; src: url(polices/zodiak-italique.woff2) format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face { font-family: Switzer; src: url(polices/switzer.woff2) format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: Switzer; src: url(polices/switzer-italique.woff2) format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face { font-family: "Red Hat Mono"; src: url(polices/redhatmono.woff2) format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap; }

:root {
    --nuit: #17131F;
    --nuit-haute: #211B2D;
    --nuit-basse: #0F0C15;
    --filet: #372F48;
    --craie: #F3EFE6;
    --craie-douce: #BBB3C9;
    --surligne: #FFD84A;
    --listing: #E9F0E4;
    --listing-bande: #DCE8D5;
    --listing-filet: #C3D3BB;
    --encre: #17131F;
    --encre-douce: #4B4459;
    --alerte: #FF7A59;
    --teinte: var(--surligne);
    --marge: 0px;
    --col: 72px;
    --serif: Zodiak, Georgia, "Times New Roman", serif;
    --sans: Switzer, "Helvetica Neue", Arial, sans-serif;
    --mono: "Red Hat Mono", ui-monospace, Menlo, Consolas, monospace;
    /* ce que voit une scène : les scènes claires et jaunes redéfinissent ces quatre-là */
    --fond: var(--nuit);
    --texte: var(--craie);
    --texte-doux: var(--craie-douce);
    --trait: var(--filet);
    --selection: var(--surligne);
    --quadrillage: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='48'%3E%3Cpath d='M95.5 0v48M0 47.5h96' fill='none' stroke='%23231D30'/%3E%3C/svg%3E");
}
@media (min-width: 900px) { :root { --marge: 48px; --col: 96px; } }

*, *::before, *::after { box-sizing: border-box; }
html { scrollbar-color: #4C4263 var(--nuit-basse); -webkit-text-size-adjust: 100%; scroll-padding-top: 88px; }
body { margin: 0; background: var(--nuit); color: var(--craie); font: 400 17px/1.55 var(--sans); caret-color: var(--surligne); counter-reset: rangee; -webkit-font-smoothing: antialiased; }
::selection { background: var(--surligne); color: var(--encre); }
:focus-visible { outline: 2px solid var(--selection); outline-offset: 2px; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
button, input, select, textarea { font: inherit; color: inherit; }
table { border-collapse: collapse; }
time, .lmd-champs, table { font-variant-numeric: tabular-nums; }

.lmd-hors-ecran, .lmd-aller:not(:focus) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.lmd-aller:focus { position: fixed; top: 8px; left: 8px; z-index: 99; background: var(--surligne); color: var(--encre); padding: 10px 14px; }
.lmd-trait { flex: none; }

/* --------------------------------------------------------------- barre */

.lmd-barre { position: sticky; top: 0; z-index: 50; background: var(--nuit); border-bottom: 1px solid var(--filet); }
.lmd-barre-ligne { display: flex; align-items: stretch; gap: 8px; height: 60px; padding: 0 8px 0 16px; }
.lmd-marque { display: inline-flex; align-items: center; gap: 10px; color: var(--craie); text-decoration: none; font: 500 21px/1 var(--serif); letter-spacing: -.01em; white-space: nowrap; margin-right: auto; }
.lmd-marque i { font-style: italic; color: var(--surligne); }
.lmd-marque-cellule { color: var(--surligne); width: 24px; height: 24px; }

.lmd-bouton-loupe, .lmd-bouton-menu { width: 44px; background: none; border: 0; display: grid; place-items: center; cursor: pointer; }
.lmd-bouton-menu i { width: 20px; height: 2px; background: currentColor; box-shadow: 0 -6px, 0 6px; transition: box-shadow .15s ease-out; }
.lmd-bouton-menu[aria-expanded="true"] i { box-shadow: 0 0, 0 0; }
.lmd-bouton-loupe[aria-expanded="true"] { color: var(--surligne); }

.lmd-tiroir { display: none; padding: 12px 16px 16px; border-top: 1px solid var(--filet); }
.lmd-tiroir.lmd-ouvert { display: block; }

.lmd-recherche { display: flex; align-items: stretch; border: 1px solid var(--trait); background: var(--fond); max-width: 720px; }
.lmd-recherche:focus-within { outline: 2px solid var(--selection); outline-offset: -1px; }
.lmd-recherche input { flex: 1; min-width: 0; border: 0; background: none; padding: 12px; font: 400 16px var(--sans); outline: none; }
.lmd-recherche input::placeholder { color: var(--texte-doux); opacity: 1; }
.lmd-recherche button { width: 48px; border: 0; border-left: 1px solid var(--trait); background: none; cursor: pointer; display: grid; place-items: center; }
.lmd-recherche button:hover { background: var(--selection); color: var(--fond); }
.lmd-fx { font: italic 500 15px/1 var(--serif); color: var(--texte-doux); padding: 0 12px; display: grid; place-items: center; border-right: 1px solid var(--trait); }

.lmd-menu-court { display: none; }
.lmd-menu-entree { white-space: nowrap; }
@media (min-width: 900px) and (max-width: 1239px) { .lmd-menu-long { display: none; } .lmd-menu-court { display: inline; } }
/* menu : panneau plein écran sur mobile, ligne + panneaux sur ordinateur */
.lmd-menu { display: none; position: fixed; inset: 61px 0 0 0; overflow-y: auto; background: var(--nuit); padding: 8px 16px 120px; }
.lmd-menu-ouvert .lmd-menu { display: block; }
.lmd-menu-ouvert { overflow: hidden; }
.lmd-menu > ul > li { border-bottom: 1px solid var(--filet); padding: 14px 0; }
.lmd-menu-entree { display: flex; align-items: center; gap: 6px; text-decoration: none; font: 500 26px/1.15 var(--serif); }
.lmd-menu-entree::before { content: ""; width: 10px; height: 10px; background: var(--teinte); flex: none; margin-right: 6px; }
.lmd-menu-entree .lmd-trait { display: none; }
.lmd-menu-annexe .lmd-menu-entree { font: 500 17px var(--sans); }
.lmd-menu-annexe .lmd-menu-entree::before { display: none; }
.lmd-panneau-liste { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.lmd-panneau-liste a { display: block; text-decoration: none; font: 500 15px var(--sans); padding: 8px 12px; border: 1px solid var(--filet); }
.lmd-panneau-tout, .lmd-panneau-articles { display: none; }

.lmd-regle { display: flex; height: 22px; overflow: hidden; background: var(--nuit-basse); border-bottom: 1px solid var(--filet); font: 500 11px/21px var(--mono); color: #9C93B1; user-select: none; }
.lmd-regle b { flex: 0 0 var(--marge); border-right: 1px solid var(--filet); }
.lmd-regle span { flex: 0 0 var(--col); text-align: center; border-right: 1px solid var(--filet); }

@media (min-width: 900px) {
    .lmd-barre-ligne { height: 68px; padding: 0 16px 0 calc(var(--marge) + 48px); gap: 0; }
    .lmd-marque { font-size: 24px; margin-right: 40px; }
    .lmd-bouton-menu { display: none; }
    .lmd-bouton-loupe { width: 52px; margin-left: auto; border-left: 1px solid var(--filet); }
    .lmd-tiroir { padding: 16px 16px 20px calc(var(--marge) + 48px); }
    .lmd-menu { display: block; position: static; overflow: visible; padding: 0; background: none; }
    .lmd-menu > ul { display: flex; height: 100%; }
    .lmd-menu > ul > li { border: 0; padding: 0; display: flex; }
    .lmd-menu-annexe { display: none !important; }
    .lmd-menu-entree { font: 500 15px/1 var(--sans); padding: 0 16px; gap: 4px; position: relative; }
    .lmd-menu-entree::before { position: absolute; left: 16px; right: 16px; top: 0; width: auto; height: 3px; margin: 0; transform: scaleY(0); transform-origin: top; transition: transform .18s ease-out; }
    .lmd-menu li:hover > .lmd-menu-entree::before, .lmd-menu li:focus-within > .lmd-menu-entree::before, .lmd-menu-entree[aria-current]::before { transform: none; }
    .lmd-menu-entree .lmd-trait { display: block; width: 14px; height: 14px; opacity: .6; }
    .lmd-panneau { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--nuit-haute); border-top: 1px solid var(--filet); border-bottom: 3px solid var(--teinte); box-shadow: 0 24px 40px rgba(8, 5, 14, .5); }
    .lmd-menu li:hover > .lmd-panneau, .lmd-menu li:focus-within > .lmd-panneau { display: block; }
    .lmd-panneau-dedans { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; padding: 36px 48px 40px calc(var(--marge) + 48px); max-width: 1400px; }
    .lmd-panneau-liste { display: block; margin: 0; columns: 2; column-gap: 32px; }
    .lmd-panneau-liste li { break-inside: avoid; }
    .lmd-panneau-liste a { border: 0; border-bottom: 1px solid var(--filet); padding: 12px 0; font: 500 24px/1.15 var(--serif); transition: color .15s, padding-left .2s ease-out; }
    .lmd-panneau-liste a:hover { color: var(--teinte); padding-left: 8px; }
    .lmd-panneau-tout { display: block; }
    .lmd-panneau-charge .lmd-panneau-dedans { grid-template-columns: 1fr; }
    .lmd-panneau-charge .lmd-panneau-liste { columns: 4; }
    .lmd-panneau-charge .lmd-panneau-liste a { font-size: 19px; padding: 9px 0; }
    .lmd-panneau-tout a { font: 600 14px var(--sans); display: flex; align-items: center; gap: 6px; border-bottom: 0; color: var(--craie-douce); }
    .lmd-panneau-articles { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-content: start; }
    .lmd-panneau-legende { grid-column: 1 / -1; font: 500 12px var(--mono); color: var(--craie-douce); text-transform: uppercase; letter-spacing: .06em; }
    .lmd-panneau-article { text-decoration: none; font: 500 17px/1.3 var(--sans); display: grid; gap: 12px; }
    .lmd-panneau-article:hover span:last-child { text-decoration: underline; text-decoration-color: var(--teinte); text-underline-offset: 4px; }
}

/* --------------------------------------------------------------- la feuille */

.lmd-feuille { position: relative; display: block; }
.lmd-feuille::after { content: ""; position: absolute; top: 0; bottom: 0; left: var(--marge); width: 1px; background: var(--filet); opacity: .7; pointer-events: none; z-index: 3; }
.lmd-scene { position: relative; background: var(--fond) var(--quadrillage) var(--marge) 0; color: var(--texte); padding: 56px 0; }
.lmd-plage { margin: 0 16px; max-width: 1296px; }
.lmd-rangee::before { counter-increment: rangee; content: counter(rangee); position: absolute; left: 0; width: var(--marge); text-align: center; font: 500 11px/1 var(--mono); color: #9C93B1; padding-top: 6px; display: none; }
@media (min-width: 900px) {
    .lmd-scene { padding: 88px 0; }
    .lmd-plage { margin: 0 32px 0 calc(var(--marge) + 48px); }
    .lmd-rangee::before { display: block; }
}

.lmd-claire { --fond: var(--listing); --texte: var(--encre); --texte-doux: var(--encre-douce); --trait: #9FB396; --selection: var(--encre);
    --quadrillage: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cpath fill='%23DCE8D5' d='M0 48h96v48H0z'/%3E%3Cpath d='M95.5 0v96' fill='none' stroke='%23CBDAC3'/%3E%3C/svg%3E"); }
.lmd-claire .lmd-rangee::before { color: #6F8566; }

.lmd-active { position: relative; outline: 2px solid var(--selection); }
.lmd-active::after { content: ""; position: absolute; right: -7px; bottom: -7px; width: 12px; height: 12px; background: var(--selection); border: 2px solid var(--fond); }

.lmd-intertitre { margin-bottom: 40px; display: grid; gap: 16px; }
.lmd-intertitre h2 { font: 500 clamp(30px, 4.3vw, 58px)/1.02 var(--serif); letter-spacing: -.022em; max-width: 21ch; text-wrap: balance; }
.lmd-intertitre h2 em, .lmd-ouverture h1 em { font-style: italic; color: var(--teinte); }
.lmd-claire .lmd-intertitre h2 em, .lmd-methode h2 em { color: inherit; background: var(--surligne); padding: 0 .12em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.lmd-claire .lmd-intertitre h2 { line-height: 1.14; }
.lmd-intertitre p { font-size: 18px; max-width: 58ch; color: var(--texte-doux); }
@media (min-width: 900px) {
    .lmd-intertitre { grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: 48px; margin-bottom: 56px; }
    .lmd-intertitre p { grid-column: 1; }
}

.lmd-suite { display: inline-flex; align-items: center; gap: 8px; font: 600 15px/1.2 var(--sans); text-decoration: none; padding: 10px 0; border-bottom: 2px solid var(--selection); white-space: nowrap; justify-self: start; }
.lmd-suite .lmd-trait { transition: transform .2s ease-out; width: 18px; height: 18px; }
.lmd-suite:hover .lmd-trait { transform: translateX(5px); }

.lmd-etiquette { display: inline-block; font: 600 11px/1 var(--mono); letter-spacing: .05em; text-transform: uppercase; padding: 5px 7px 4px; background: var(--teinte); color: var(--encre); white-space: nowrap; }
.lmd-vignette { display: block; overflow: hidden; aspect-ratio: 3 / 2; background: var(--teinte); }
.lmd-vignette img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2, .7, .3, 1); }
a:hover > .lmd-vignette img, article:hover .lmd-vignette img { transform: scale(1.05); }

.lmd-vignette-vide { background: none; border: 1px solid var(--trait); }
.lmd-fiche > .lmd-vignette-vide { display: none; }
.lmd-titre a { text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat; transition: background-size .25s ease-out; }
article:hover .lmd-titre a { background-size: 100% 2px; }

.lmd-champs { display: flex; flex-wrap: wrap; gap: 0; }
.lmd-champs div { border: 1px solid var(--trait); padding: 6px 10px 5px; margin: 0 -1px -1px 0; }
.lmd-champs dt { font: 500 10px/1.2 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--texte-doux); }
.lmd-champs dd { font: 500 14px/1.3 var(--mono); }

/* index : une ligne par article */
.lmd-index { border-bottom: 1px solid var(--trait); }
.lmd-index-tete { display: flex; align-items: end; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding-bottom: 16px; }
.lmd-index-tete h2 { font: 500 clamp(24px, 2.6vw, 34px)/1.1 var(--serif); letter-spacing: -.015em; }
.lmd-ligne { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 8px 16px; align-items: start; padding: 18px 0; border-top: 1px solid var(--trait); }
.lmd-ligne .lmd-titre { font: 500 20px/1.2 var(--serif); letter-spacing: -.01em; }
.lmd-ligne .lmd-extrait { font-size: 15px; color: var(--texte-doux); margin-top: 6px; display: none; }
.lmd-ligne-cote { grid-column: 2; display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; font: 500 12px var(--mono); color: var(--texte-doux); }
.lmd-index-vide { padding: 24px 0; border-top: 1px solid var(--trait); }
@media (min-width: 900px) {
    .lmd-ligne { grid-template-columns: 144px minmax(0, 1fr) minmax(200px, 288px); gap: 8px 32px; align-items: center; padding: 20px 0; }
    .lmd-ligne .lmd-titre { font-size: 26px; }
    .lmd-ligne .lmd-extrait { display: block; max-width: 62ch; }
    .lmd-ligne-cote { grid-column: 3; flex-direction: column; align-items: flex-end; text-align: right; }
    .lmd-ligne-cote .lmd-champs { justify-content: flex-end; }
}

/* fiche : image et texte */
.lmd-fiche { display: grid; gap: 16px; align-content: start; }
.lmd-fiche .lmd-titre { font: 500 24px/1.12 var(--serif); letter-spacing: -.015em; margin: 12px 0 8px; text-wrap: balance; }
.lmd-fiche .lmd-extrait { color: var(--texte-doux); font-size: 16px; margin-bottom: 14px; max-width: 56ch; }

/* --------------------------------------------------------------- accueil : ouverture */

.lmd-ouverture { padding-bottom: 0; }
.lmd-ouverture .lmd-plage { display: grid; gap: 40px; }
.lmd-ouverture h1 { font: 500 clamp(40px, 12.2vw, 64px)/1 var(--serif); letter-spacing: -.028em; text-wrap: balance; }
.lmd-chapo { font-size: 19px; line-height: 1.5; color: var(--texte-doux); max-width: 54ch; margin-top: 24px; }

.lmd-stack { background: var(--nuit-haute); z-index: 2; margin: 0 2px -40px; box-shadow: 0 30px 50px -20px rgba(8, 5, 14, .7); }
.lmd-stack-titre { font: 600 13px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; padding: 12px 16px; background: var(--surligne); color: var(--encre); }
.lmd-stack-formule { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--filet); font: 500 13.5px var(--mono); color: var(--craie-douce); }
.lmd-stack-formule .lmd-fx { border: 0; padding: 0 4px 0 0; }
.lmd-stack-arguments { display: grid; gap: 12px; padding: 16px; border-bottom: 1px solid var(--filet); }
.lmd-stack-arguments label > span { display: block; font: 500 10px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--craie-douce); margin-bottom: 7px; }
.lmd-stack select { width: 100%; appearance: none; -webkit-appearance: none; border: 1px solid var(--filet); border-radius: 0; background: var(--nuit) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23FFD84A' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center; color: var(--surligne); font: 600 14px/1.2 var(--sans); padding: 12px 30px 12px 11px; cursor: pointer; text-overflow: ellipsis; }
.lmd-stack select option { color: var(--craie); background: var(--nuit); }
.lmd-stack-resultat { width: 100%; }
.lmd-stack-resultat thead th { font: 500 10px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: #8C83A1; text-align: left; padding: 10px 16px 8px; border-bottom: 1px solid var(--filet); }
.lmd-stack-resultat th:last-child, .lmd-stack-resultat td:last-child { text-align: right; white-space: nowrap; }
.lmd-stack-resultat tbody th { font: 500 11px/1.3 var(--mono); letter-spacing: .04em; text-transform: uppercase; color: var(--craie-douce); text-align: left; vertical-align: top; padding: 15px 8px 12px 16px; width: 27%; border-bottom: 1px solid var(--filet); }
.lmd-stack-resultat tbody td { padding: 12px 16px 12px 8px; vertical-align: top; border-bottom: 1px solid var(--filet); font: 500 15px/1.3 var(--mono); }
.lmd-stack-resultat tbody td a, .lmd-stack-resultat tbody td span { font: 600 16px/1.3 var(--sans); text-underline-offset: 3px; text-decoration-color: #6E6486; }
.lmd-stack-resultat tbody td a:hover { text-decoration-color: var(--surligne); }
.lmd-stack-resultat tbody td b { font: 500 13px var(--mono); color: var(--surligne); margin-left: 6px; white-space: nowrap; }
.lmd-stack-resultat small { display: block; font: 400 13px/1.4 var(--sans); color: var(--craie-douce); margin-top: 3px; }
.lmd-stack-resultat tfoot th, .lmd-stack-resultat tfoot td { background: var(--surligne); color: var(--encre); padding: 14px 16px; }
.lmd-stack-resultat tfoot th { text-align: left; font: 600 14px/1.2 var(--sans); }
.lmd-stack-resultat tfoot td { font: 600 22px/1 var(--mono); letter-spacing: -.02em; }
.lmd-stack-garde { position: relative; padding: 14px 16px; font-size: 14.5px; line-height: 1.45; border-bottom: 1px solid var(--filet); }
.lmd-stack-garde::before { content: ""; position: absolute; top: 0; right: 0; border: solid transparent; border-width: 0 14px 14px 0; border-right-color: var(--alerte); }
.lmd-stack-garde b { display: block; font: 500 10px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--alerte); margin-bottom: 6px; }
.lmd-stack-source { padding: 10px 16px 12px; font: 400 12px/1.45 var(--sans); color: #9189A6; }
@keyframes lmd-recalcul { 0% { background: var(--surligne); color: var(--encre); } 100% { background: transparent; } }
@media (prefers-reduced-motion: no-preference) {
    .lmd-recalcul tbody tr > * { animation: lmd-recalcul .5s ease-out backwards; animation-delay: calc(var(--i) * 70ms); }
}

.lmd-histogramme { display: flex; align-items: flex-end; height: 120px; margin-left: var(--marge); overflow: hidden; pointer-events: none; }
.lmd-histogramme i { flex: 0 0 var(--col); height: calc(var(--h) * 17px); background: var(--listing) linear-gradient(var(--listing-filet) 1px, transparent 1px) 0 0 / 100% 17px; border-right: 1px solid var(--listing-filet); }
.lmd-histogramme i:nth-child(even) { background-color: var(--listing-bande); }
.lmd-histogramme::before { content: ""; flex: 0 0 var(--marge); height: 17px; background: var(--listing); margin-left: calc(-1 * var(--marge)); }
.lmd-histogramme-jaune { margin-top: 56px; margin-bottom: -56px; height: 68px; }
.lmd-histogramme-jaune i, .lmd-histogramme-jaune i:nth-child(even), .lmd-histogramme-jaune::before { background-color: var(--surligne); background-image: linear-gradient(#EFC734 1px, transparent 1px); border-color: #EFC734; }

@media (min-width: 900px) {
    .lmd-ouverture { padding-top: 72px; }
    .lmd-ouverture .lmd-plage { grid-template-columns: minmax(0, 1fr) minmax(420px, 500px); gap: 56px; align-items: start; }
    .lmd-ouverture h1 { font-size: clamp(46px, 5.1vw, 80px); line-height: .98; }
    .lmd-ouverture-texte { padding-bottom: 150px; }
    .lmd-stack { margin: 0 0 -56px; position: relative; }
    .lmd-stack-arguments { grid-template-columns: 1fr 1fr; }
    .lmd-histogramme { height: 168px; margin-top: -112px; }
    .lmd-histogramme i { height: calc(var(--h) * 24px); background-size: 100% 24px; }
    .lmd-histogramme::before { height: 24px; }
    .lmd-histogramme-jaune { height: 96px; margin-top: 72px; margin-bottom: -88px; }
}

/* --------------------------------------------------------------- accueil : duels */

.lmd-duels { padding-top: 96px; }
/* les trois portes d'entrée du site */
.lmd-portes { display: grid; border: 1px solid var(--encre); background: var(--listing); margin-bottom: 72px; }
.lmd-porte { padding: 0 20px 24px; border-top: 1px solid var(--encre); }
.lmd-porte:first-child { border-top: 0; }
.lmd-porte::after { content: ""; display: block; height: 8px; background: var(--teinte); margin: 0 -20px; order: -1; }
.lmd-porte { display: flex; flex-direction: column; }
.lmd-porte h2 { font: 500 clamp(30px, 8vw, 38px)/1 var(--serif); letter-spacing: -.025em; margin: 24px 0 12px; }
.lmd-porte h2 a { text-decoration: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.lmd-porte h2 .lmd-trait { width: 30px; height: 30px; flex: none; margin-bottom: 2px; transition: transform .2s ease-out; }
.lmd-porte h2 a:hover .lmd-trait { transform: translateX(6px); }
.lmd-porte p { font-size: 16px; line-height: 1.45; color: var(--encre-douce); margin-bottom: 20px; max-width: 38ch; }
.lmd-porte ul { display: flex; flex-wrap: wrap; margin-top: auto; }
.lmd-porte li a { display: block; padding: 9px 13px 8px; margin: 0 -1px -1px 0; border: 1px solid var(--encre); text-decoration: none; font: 600 13.5px/1.2 var(--sans); background: var(--listing); transition: background-color .15s; }
.lmd-porte li a:hover { background: var(--teinte); }
@media (min-width: 900px) {
    .lmd-portes { grid-template-columns: repeat(3, 1fr); margin-bottom: 120px; }
    .lmd-porte { padding: 0 32px 32px; border-top: 0; border-left: 1px solid var(--encre); }
    .lmd-porte:first-child { border-left: 0; }
    .lmd-porte::after { margin: 0 -32px; }
    .lmd-porte h2 { font-size: clamp(32px, 3.2vw, 46px); margin: 36px 0 16px; }
}
.lmd-duels-grille { display: grid; border: 1px solid var(--encre); background: var(--listing); }
.lmd-duel { padding: 24px 16px; border-top: 1px solid var(--encre); display: grid; gap: 20px; align-content: start; }
.lmd-duel:first-child { border-top: 0; }
.lmd-duel h3 { font: 500 clamp(38px, 11vw, 56px)/.92 var(--serif); letter-spacing: -.03em; }
.lmd-duel h3 span { display: block; }
.lmd-duel h3 i { display: block; font-size: .42em; line-height: 1.5; letter-spacing: 0; color: var(--encre-douce); }
.lmd-duel table { width: 100%; font: 500 13.5px/1.35 var(--mono); }
.lmd-duel thead th { text-align: left; font: 600 13px var(--sans); padding: 0 8px 8px 0; border-bottom: 2px solid var(--encre); }
.lmd-duel tbody th { text-align: left; font: 500 12.5px/1.3 var(--sans); color: var(--encre-douce); padding: 10px 10px 10px 0; width: 30%; vertical-align: top; border-bottom: 1px solid var(--trait); }
.lmd-duel tbody td { padding: 10px 8px 10px 0; vertical-align: top; border-bottom: 1px solid var(--trait); }
.lmd-duel-verdict { background: var(--surligne); border: 1px solid var(--encre); padding: 14px 16px; margin: 20px 0 8px; font: 500 15.5px/1.45 var(--sans); }
.lmd-releve { font: 400 12.5px var(--mono); color: var(--encre-douce); margin: 14px 0 0; }
.lmd-duels .lmd-index { margin-top: 72px; }
@media (min-width: 900px) {
    .lmd-duels { padding-top: 152px; }
    .lmd-duels-grille { grid-template-columns: 1fr 1fr; }
    .lmd-duel { padding: 40px 40px 36px; }
    .lmd-duel + .lmd-duel + .lmd-duel { border-left: 1px solid var(--encre); }
    .lmd-duel h3 { font-size: clamp(44px, 4.6vw, 68px); }
    .lmd-duel-grand { grid-column: 1 / -1; grid-template-columns: minmax(0, 6fr) minmax(0, 7fr); gap: 56px; align-items: center; padding: 56px 40px; }
    .lmd-duel-grand h3 { font-size: clamp(56px, 6.4vw, 100px); line-height: .88; }
    .lmd-duel-grand table { font-size: 15px; }
}

/* marches : la feuille claire descend en escalier dans la scène sombre */
.lmd-marches { position: absolute; top: 0; left: var(--marge); right: 0; display: flex; pointer-events: none; }
.lmd-marches i { flex: 0 0 calc(var(--col) * 2); background: var(--listing) linear-gradient(var(--listing-filet) 1px, transparent 1px) 0 0 / 100% 24px; border-right: 1px solid var(--listing-filet); height: 72px; }
.lmd-marches i:nth-child(2) { height: 48px; background-color: var(--listing-bande); }
.lmd-marches i:nth-child(3) { height: 24px; }
.lmd-marches i:nth-child(4) { height: 48px; flex-basis: var(--col); background-color: var(--listing-bande); }
.lmd-marches { overflow: hidden; }
.lmd-marches i:nth-child(n+5) { height: 24px; }
.lmd-marches i:nth-child(3n+5) { height: 48px; flex-basis: var(--col); background-color: var(--listing-bande); }
.lmd-marches i:nth-child(4n+7) { height: 72px; }
.lmd-marches-claires i { background-color: var(--nuit); background-image: linear-gradient(var(--filet) 1px, transparent 1px); border-color: var(--filet); }
.lmd-marches-claires i:nth-child(2), .lmd-marches-claires i:nth-child(4) { background-color: var(--nuit-haute); }

/* --------------------------------------------------------------- accueil : formations, guides, méthode, fil */

.lmd-formations { padding-top: 136px; }
.lmd-formations-grille { display: grid; gap: 40px; }
@media (min-width: 900px) {
    .lmd-formations { padding-top: 176px; }
    .lmd-formations-grille { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: auto 1fr; gap: 40px 56px; }
    .lmd-formations-grille .lmd-fiche:nth-child(2)::before { display: none; }
    .lmd-formations-grille .lmd-fiche:first-child { grid-row: span 2; }
    .lmd-formations-grille .lmd-fiche:first-child .lmd-titre { font-size: clamp(30px, 3.2vw, 46px); line-height: 1.04; }
    .lmd-fil-business .lmd-fiche:not(:first-of-type) { grid-template-columns: 200px minmax(0, 1fr); gap: 24px; align-items: start; }
    .lmd-formations-grille .lmd-fiche:not(:first-child) .lmd-vignette { aspect-ratio: 2 / 1; }
    .lmd-formations-grille .lmd-fiche:not(:first-child) .lmd-extrait, .lmd-fil-business .lmd-fiche:not(:first-of-type) .lmd-extrait { display: none; }
}

.lmd-guides { padding-top: 0; }
.lmd-filtre { display: flex; border: 1px solid var(--trait); background: var(--nuit); min-width: min(100%, 400px); }
.lmd-filtre:focus-within { outline: 2px solid var(--selection); outline-offset: -1px; }
.lmd-filtre input { flex: 1; min-width: 0; border: 0; background: none; padding: 12px; outline: none; font-size: 16px; }
.lmd-filtre input::placeholder { color: var(--texte-doux); opacity: 1; }
.lmd-guides .lmd-index { margin-bottom: 28px; }
.lmd-guides .lmd-ligne[hidden] { display: none; }

.lmd-methode { --fond: var(--surligne); --texte: var(--encre); --texte-doux: #4A3F12; --trait: var(--encre); --selection: var(--encre);
    --quadrillage: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='48'%3E%3Cpath d='M95.5 0v48M0 47.5h96' fill='none' stroke='%23EFC734'/%3E%3C/svg%3E"); }
.lmd-methode .lmd-rangee::before { color: #8A7414; }
.lmd-methode h2 { max-width: none; }
.lmd-methode { padding-bottom: 0; }
.lmd-methode + .lmd-scene { padding-top: 120px; }
.lmd-sources { display: grid; border: 1px solid var(--encre); margin-bottom: -56px; background: var(--craie); position: relative; z-index: 2; box-shadow: 10px 10px 0 var(--encre); }
.lmd-sources li { padding: 20px 20px 24px; border-top: 1px solid var(--encre); }
.lmd-sources li:first-child { border-top: 0; }
.lmd-sources li { position: static; }
.lmd-sources span { display: inline-block; font: 600 12px/1 var(--mono); background: var(--encre); color: var(--surligne); padding: 5px 8px; margin-bottom: 18px; }
.lmd-sources h3 { font: 500 24px/1.1 var(--serif); letter-spacing: -.015em; margin-bottom: 10px; }
.lmd-sources p { font-size: 15.5px; line-height: 1.45; }
@media (min-width: 900px) {
    .lmd-sources { grid-template-columns: repeat(4, 1fr); }
    .lmd-sources li { border-top: 0; border-left: 1px solid var(--encre); padding: 24px 24px 32px; }
    .lmd-sources li:first-child { border-left: 0; }
}

.lmd-fil-colonnes { display: grid; gap: 64px; }
.lmd-fil-business { display: grid; gap: 40px; align-content: start; }
.lmd-fil-business .lmd-intertitre { margin-bottom: 0; }
.lmd-fil-actus h2 { font: 500 34px/1 var(--serif); letter-spacing: -.02em; padding-bottom: 16px; border-bottom: 3px solid var(--teinte); }
.lmd-fil-actus h2 a { text-decoration: none; }
.lmd-breve { padding: 16px 0 18px; border-bottom: 1px solid var(--trait); display: grid; gap: 6px; }
.lmd-breve time { font: 500 12px var(--mono); color: var(--teinte); text-transform: uppercase; letter-spacing: .04em; }
.lmd-breve .lmd-titre { font: 500 18px/1.3 var(--sans); }
.lmd-fil-actus .lmd-suite { margin-top: 20px; }
@media (min-width: 900px) {
    .lmd-fil-colonnes { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 72px; }
    .lmd-fil-business .lmd-fiche:first-of-type { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center; }
    .lmd-fil-business .lmd-fiche:first-of-type .lmd-titre { font-size: clamp(28px, 2.6vw, 38px); line-height: 1.06; }
    .lmd-fil-actus { border-left: 1px solid var(--filet); padding-left: 32px; }
}

/* --------------------------------------------------------------- pied et onglets */

.lmd-pied { background: var(--nuit-basse); border-top: 1px solid var(--filet); --fond-marque: var(--nuit-basse); }
.lmd-pied-dedans { display: grid; gap: 40px; padding: 56px 16px 48px; }
.lmd-pied-marque p { color: var(--craie-douce); font-size: 15.5px; max-width: 40ch; margin-top: 16px; }
.lmd-pied-courriel { color: var(--craie); text-underline-offset: 4px; text-decoration-color: var(--surligne); }
.lmd-pied-plan { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 24px; }
.lmd-pied-titre { font: 500 20px/1.2 var(--serif); margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.lmd-pied-titre::before { content: ""; width: 9px; height: 9px; background: var(--teinte); }
.lmd-pied-titre a { text-decoration: none; }
.lmd-pied-plan li a { display: inline-block; padding: 5px 0; font-size: 15px; color: var(--craie-douce); text-decoration: none; }
.lmd-pied-plan a:hover { color: var(--craie); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--teinte); }
.lmd-pied-ligne { font: 400 12px/1.5 var(--mono); color: #8C83A1; padding: 16px 16px 92px; }

.lmd-onglets ul { display: flex; }
.lmd-onglets a { display: block; position: relative; text-decoration: none; text-align: center; font: 600 12px/1 var(--sans); }
.lmd-onglets a::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--teinte); }
.lmd-onglets a[aria-current] { background: var(--teinte); color: var(--encre); }
.lmd-onglets-pied { display: none; }
.lmd-onglets-pouce { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--nuit-basse); border-top: 1px solid var(--filet); padding-bottom: env(safe-area-inset-bottom); }
.lmd-onglets-pouce li { flex: 1 1 0; min-width: 0; border-right: 1px solid var(--filet); }
.lmd-onglets-pouce li:last-child { border-right: 0; }
.lmd-onglets-pouce a { padding: 19px 2px 16px; }
@media (min-width: 900px) {
    .lmd-pied-dedans { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 72px; padding: 80px 32px 72px calc(var(--marge) + 48px); }
    .lmd-pied-plan { grid-template-columns: repeat(4, 1fr); }
    .lmd-onglets-pouce { display: none; }
    .lmd-onglets-pied { display: block; border-top: 1px solid var(--filet); padding-left: var(--marge); }
    .lmd-onglets-pied li { border-right: 1px solid var(--filet); flex: 1 1 0; }
    .lmd-onglets-pied li:first-child { border-left: 1px solid var(--filet); }
    .lmd-onglets-pied a { padding: 22px 16px 20px; font-size: 15px; transition: background-color .15s, color .15s; }
    .lmd-onglets-pied a:hover { background: var(--teinte); color: var(--encre); }
    .lmd-pied-ligne { padding: 14px 32px 20px calc(var(--marge) + 48px); border-top: 1px solid var(--filet); }
}

/* --------------------------------------------------------------- barre de formule (fil d'Ariane) */

.lmd-formule { display: flex; border: 1px solid var(--trait); font: 500 12.5px/1 var(--mono); margin-bottom: 36px; max-width: 760px; background: var(--fond); }
.lmd-ref { padding: 10px 12px; border-right: 1px solid var(--trait); min-width: 48px; text-align: center; color: var(--texte-doux); }
.lmd-formule .lmd-fx { font-size: 14px; }
.lmd-formule ol { display: flex; align-items: center; min-width: 0; padding: 0 12px; white-space: nowrap; overflow: hidden; }
.lmd-formule li { overflow: hidden; text-overflow: ellipsis; flex: 0 1 auto; }
.lmd-formule li:not(:last-child) { flex: none; }
.lmd-formule li + li::before { content: "/"; margin: 0 8px; color: var(--texte-doux); }
.lmd-formule a { text-decoration: none; }
.lmd-formule a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lmd-formule [aria-current] { color: var(--texte-doux); }

/* --------------------------------------------------------------- rubrique */

.lmd-bandeau { padding: 32px 0 0; }
.lmd-bandeau-teinte { --fond: var(--teinte); --texte: var(--encre); --texte-doux: rgba(23, 19, 31, .78); --trait: var(--encre); --selection: var(--encre);
    --quadrillage: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='48'%3E%3Cpath d='M95.5 0v48M0 47.5h96' fill='none' stroke='%2317131F' stroke-opacity='.13'/%3E%3C/svg%3E"); }
.lmd-bandeau-teinte .lmd-rangee::before { color: rgba(23, 19, 31, .6); }
/* le corps du titre se règle sur sa longueur : un mot long ne se coupe pas */
.lmd-bandeau h1 { font: 500 min(84px, calc(150vw / var(--lettres, 8)))/.92 var(--serif); letter-spacing: -.035em; text-wrap: balance; }
.lmd-bandeau h1 small { font: 500 14px var(--mono); letter-spacing: 0; vertical-align: middle; }
.lmd-vue-rubrique.search .lmd-bandeau h1, .lmd-vue-rubrique.author .lmd-bandeau h1 { font-size: clamp(32px, 5vw, 60px); line-height: 1; letter-spacing: -.02em; }
.lmd-bandeau .lmd-chapo { color: var(--texte); max-width: 52ch; }
.lmd-bandeau .lmd-chapo p + p { margin-top: 12px; }
.lmd-sous-onglets { margin-top: 32px; }
.lmd-sous-onglets ul { display: flex; flex-wrap: wrap; }
.lmd-sous-onglets a { display: block; padding: 11px 16px 10px; margin: 0 -1px -1px 0; border: 1px solid var(--trait); text-decoration: none; font: 600 14px/1.2 var(--sans); transition: background-color .15s, color .15s; }
.lmd-sous-onglets a:hover, .lmd-sous-onglets a[aria-current] { background: var(--texte); color: var(--fond); }
.lmd-bandeau .lmd-recherche { margin-top: 28px; }
.lmd-bandeau .lmd-histogramme { margin-top: 40px; height: 85px; }
.search .lmd-bandeau-texte, .author .lmd-bandeau-texte { display: block; }
.lmd-liste { padding-top: 40px; }
.lmd-liste .lmd-index > :first-child { border-top: 0; }
.lmd-liste .lmd-fiche { padding-bottom: 32px; }
.lmd-rien { font: 500 22px/1.3 var(--serif); }
@media (min-width: 900px) {
    .lmd-bandeau { padding-top: 40px; }
    .lmd-bandeau h1 { font-size: min(176px, 10.5vw, calc(150vw / var(--lettres, 8))); line-height: .88; }
    .lmd-bandeau .lmd-histogramme { height: 120px; margin-top: 24px; }
    .lmd-bandeau-texte .lmd-chapo { margin-top: 28px; font-size: 20px; }
    .lmd-liste { padding-top: 56px; }
    .lmd-liste .lmd-fiche { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 48px; align-items: center; padding-bottom: 48px; }
    .lmd-liste .lmd-fiche .lmd-titre { font-size: clamp(32px, 3.4vw, 50px); line-height: 1.02; }
}

.lmd-pages { margin-top: 48px; }
.lmd-pages .nav-links { display: flex; flex-wrap: wrap; }
.lmd-pages .page-numbers { display: block; min-width: 46px; padding: 13px 14px 12px; margin-right: -1px; border: 1px solid var(--trait); text-align: center; text-decoration: none; font: 500 14px/1 var(--mono); }
.lmd-pages a.page-numbers:hover, .lmd-pages .current { background: var(--texte); color: var(--fond); }

/* --------------------------------------------------------------- article */

.lmd-entete-article { padding: 32px 0 48px; }
.lmd-entete-grille { display: grid; gap: 32px; }
.lmd-entete-texte h1 { font: 500 clamp(32px, 8vw, 46px)/1.04 var(--serif); letter-spacing: -.024em; text-wrap: balance; }
.lmd-papier-page .lmd-entete-texte h1 { margin-top: 0; font-size: clamp(40px, 7vw, 84px); line-height: .95; }
.lmd-signature { margin-top: 24px; font: 500 13px/1.5 var(--mono); color: var(--texte-doux); display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; }
.lmd-signature a { color: var(--texte); text-underline-offset: 3px; }
.lmd-entete-texte .lmd-champs { margin-top: 20px; }
.lmd-entete-image { aspect-ratio: 3 / 2; background: var(--teinte); overflow: hidden; }
.lmd-entete-image img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 900px) {
    .lmd-entete-article { padding: 40px 0 72px; }
    .lmd-entete-grille { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: center; }
    .lmd-entete-texte h1 { font-size: clamp(40px, 4.2vw, 66px); line-height: 1; }
}

/* l'avis en bref d'un test : la plage sélectionnée, sous le titre */
.lmd-apercu { margin-top: 40px; background: var(--nuit-haute); max-width: 1296px; }
.lmd-apercu h2 { font: 600 13px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; padding: 12px 16px; background: var(--surligne); color: var(--encre); }
.lmd-apercu-corps { display: grid; }
.lmd-apercu p { font: 500 20px/1.35 var(--serif); letter-spacing: -.01em; padding: 20px 16px 22px; text-wrap: pretty; }
.lmd-usages { padding: 0 16px 22px; }
.lmd-usages h3 { font: 500 10px/1.2 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--craie-douce); margin-bottom: 10px; }
.lmd-usages ul { display: flex; flex-wrap: wrap; gap: 8px; }
.lmd-usages li::first-letter { text-transform: uppercase; }
.lmd-usages li { font: 500 14px/1.2 var(--sans); padding: 8px 12px 7px; border: 1px solid var(--filet); background: var(--nuit); }
.lmd-apercu .lmd-champs { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--filet); }
.lmd-apercu .lmd-champs div { border: 0; border-right: 1px solid var(--filet); border-bottom: 1px solid var(--filet); margin: 0; padding: 14px 16px 15px; }
.lmd-apercu .lmd-champs div:nth-child(even) { border-right: 0; }
.lmd-apercu .lmd-champs dt { margin-bottom: 6px; }
.lmd-apercu .lmd-champs dd { font: 600 16px/1.3 var(--sans); }
@media (min-width: 900px) {
    .lmd-apercu { margin-top: 56px; }
    .lmd-apercu-corps { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
    .lmd-apercu p { font-size: 24px; padding: 28px 32px 24px 24px; }
    .lmd-apercu-avis { align-self: center; }
    .lmd-usages { padding: 0 32px 28px 24px; }
    .lmd-apercu .lmd-champs { border-top: 0; border-left: 1px solid var(--filet); }
    .lmd-apercu .lmd-champs div { padding: 20px 24px 22px; }
    .lmd-apercu .lmd-champs div:nth-last-child(-n+2) { border-bottom: 0; }
    .lmd-apercu .lmd-champs dd { font-size: 18px; }
}

.lmd-comparer { margin-top: 72px; padding-top: 22px; border-top: 1px solid var(--filet); }
.lmd-texte .lmd-comparer > h2 { border: 0; padding: 0; margin: 0 0 28px; }
.lmd-texte .lmd-comparer > h2::before { content: none; }
.lmd-comparer-grille { display: grid; gap: 32px; margin-bottom: 28px; }
@media (max-width: 699px) { .lmd-comparer .lmd-fiche { grid-template-columns: 112px minmax(0, 1fr); gap: 14px; } .lmd-comparer .lmd-fiche .lmd-titre { font-size: 18px; margin: 8px 0 10px; } .lmd-comparer-grille { gap: 22px; } }
.lmd-comparer .lmd-fiche .lmd-titre { font-size: 21px; margin: 10px 0 12px; }
.lmd-comparer .lmd-fiche .lmd-extrait, .lmd-comparer .lmd-rangee::before { display: none; }
.lmd-texte .lmd-comparer a { text-decoration: none; }
.lmd-texte .lmd-comparer a:hover { background-color: transparent; color: inherit; }
.lmd-comparer-pilier { display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; align-items: center; padding: 20px 22px; background: var(--surligne); color: var(--encre); }
.lmd-texte a.lmd-comparer-pilier:hover { background: var(--craie); color: var(--encre); }
.lmd-comparer-pilier span { font: 600 11px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; grid-column: 1; }
.lmd-comparer-pilier strong { font: 500 22px/1.2 var(--serif); letter-spacing: -.01em; color: inherit; grid-column: 1; }
.lmd-comparer-pilier .lmd-trait { grid-column: 2; grid-row: 1 / 3; width: 28px; height: 28px; }
@media (min-width: 700px) { .lmd-comparer-grille { grid-template-columns: repeat(3, 1fr); gap: 28px; } }

.lmd-reference { font: 600 12px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; display: inline-block; background: var(--encre); color: var(--listing); padding: 7px 10px 6px; margin-bottom: 16px; }
.lmd-liste .lmd-index > .lmd-reference + .lmd-fiche { border-top: 0; }

.lmd-lecture { padding-top: 0; }
/* le texte se lit sur un fond uni : le quadrillage reste dans les marges */
.lmd-texte { background: var(--nuit); box-shadow: 0 0 0 24px var(--nuit); }
@media (max-width: 899px) { .lmd-lecture { background-image: none; } .lmd-texte { box-shadow: none; } }
.lmd-sommaire { margin-bottom: 40px; border: 1px solid var(--filet); }
.lmd-sommaire summary { cursor: pointer; padding: 14px 16px; font: 600 12px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--craie-douce); list-style: none; display: flex; justify-content: space-between; }
.lmd-sommaire summary::-webkit-details-marker { display: none; }
.lmd-sommaire summary::after { content: "+"; font-size: 16px; }
.lmd-sommaire details[open] summary::after { content: "−"; }
.lmd-sommaire ol { counter-reset: partie; border-top: 1px solid var(--filet); }
.lmd-sommaire li { counter-increment: partie; border-bottom: 1px solid var(--filet); }
.lmd-sommaire li:last-child { border-bottom: 0; }
.lmd-sommaire a { display: grid; grid-template-columns: 34px 1fr; text-decoration: none; font: 500 14.5px/1.35 var(--sans); color: var(--craie-douce); transition: color .15s; }
.lmd-sommaire a::before { content: counter(partie); font: 500 11px/1.8 var(--mono); text-align: center; border-right: 1px solid var(--filet); padding: 9px 0; color: #7D7492; }
.lmd-sommaire a > span { padding: 9px 10px 9px 10px; }
.lmd-sommaire a:hover, .lmd-sommaire a.lmd-ici { color: var(--craie); }
.lmd-sommaire a.lmd-ici::before { background: var(--surligne); color: var(--encre); }
@media (min-width: 1100px) {
    .lmd-lecture-grille { display: grid; grid-template-columns: 232px minmax(0, 1fr); gap: 64px; align-items: start; }
    .lmd-lecture-grille > .lmd-texte { grid-column: 2; }
    .lmd-sommaire { position: sticky; top: 92px; max-height: calc(100vh - 116px); overflow-y: auto; margin: 0; scrollbar-width: thin; }
    .lmd-sommaire summary { pointer-events: none; }
    .lmd-sommaire summary::after { content: none !important; }
}

/* le texte : colonne de lecture, et ce qui a le droit d'en sortir */
.lmd-texte { --mesure: 700px; min-width: 0; font-size: 18px; line-height: 1.65; }
.lmd-texte > * { max-width: var(--mesure); margin-bottom: 1.35em; }
.lmd-texte > :last-child { margin-bottom: 0; }
.lmd-texte > figure.wp-block-table, .lmd-texte > .alignwide, .lmd-texte > .lmd-profils, .lmd-texte > .lmd-auteur, .lmd-texte > .lmd-comparer { max-width: 1000px; }
.lmd-texte p { text-wrap: pretty; }
.lmd-texte a { text-decoration: underline; text-decoration-color: var(--teinte); text-decoration-thickness: 2px; text-underline-offset: 4px; transition: background-color .15s, color .15s; }
.lmd-texte a:hover { background: var(--surligne); color: var(--encre); }
.lmd-texte strong { font-weight: 650; color: #fff; }
.lmd-texte h2 { font: 500 clamp(28px, 3.4vw, 40px)/1.08 var(--serif); letter-spacing: -.02em; margin: 2.1em 0 .7em; padding-top: 22px; border-top: 1px solid var(--filet); text-wrap: balance; max-width: 1000px; }
.lmd-texte h2:first-child { margin-top: 0; }
.lmd-texte h2::before { counter-increment: rangee; content: counter(rangee); position: absolute; left: 0; width: var(--marge); text-align: center; font: 500 11px/1 var(--mono); letter-spacing: 0; color: #9C93B1; padding-top: 14px; }
@media (max-width: 899px) { .lmd-texte h2::before { display: none; } }
.lmd-texte h3 { font: 600 22px/1.25 var(--sans); letter-spacing: -.01em; margin: 1.8em 0 .6em; }
.lmd-texte h4 { font: 600 18px/1.3 var(--sans); margin: 1.6em 0 .5em; }
.lmd-texte ul:not([class*="lmd-"]) > li, .lmd-texte ol:not([class*="lmd-"]) > li { position: relative; padding-left: 28px; margin-bottom: .5em; }
.lmd-texte ul > li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 8px; height: 8px; background: var(--craie-douce); }
.lmd-texte ol { counter-reset: pas; }
.lmd-texte ol > li { counter-increment: pas; }
.lmd-texte ol:not(.lmd-etapes) > li::before { content: counter(pas); position: absolute; left: 0; top: .28em; font: 600 13px/1.4 var(--mono); color: var(--craie-douce); }
.lmd-texte blockquote { margin-left: 0; margin-right: 0; padding-left: 24px; border-left: 3px solid var(--teinte); font: italic 400 22px/1.4 var(--serif); }
.lmd-texte blockquote cite { display: block; margin-top: 10px; font: 500 13px var(--mono); color: var(--craie-douce); }
.lmd-texte figure img { width: 100%; }
.lmd-texte figcaption { font: 400 13px/1.45 var(--mono); color: var(--craie-douce); margin-top: 10px; }
.lmd-texte hr { border: 0; border-top: 1px solid var(--filet); margin: 2.5em 0; }
.lmd-texte mark { background: var(--surligne); color: var(--encre); padding: 0 .22em; }
.lmd-texte code { font: 500 .88em var(--mono); background: var(--nuit-haute); border: 1px solid var(--filet); padding: 1px 6px; }

/* tableaux : larges, et la ligne du choix est la plage sélectionnée */
.lmd-texte figure.wp-block-table { overflow-x: auto; margin-top: 2em; margin-bottom: 2em; scrollbar-width: thin; }
.lmd-texte table { width: 100%; min-width: 560px; font-size: 15.5px; line-height: 1.4; }
.lmd-texte thead th { background: var(--craie); color: var(--encre); font: 600 12px/1.3 var(--mono); letter-spacing: .04em; text-transform: uppercase; text-align: left; padding: 13px 16px 11px; border: 1px solid var(--craie); border-right-color: #CFC9BC; white-space: nowrap; }
.lmd-texte td, .lmd-texte tbody th { padding: 14px 16px; border: 1px solid var(--filet); vertical-align: top; text-align: left; }
.lmd-texte tbody tr:nth-child(even) > * { background: #1C1726; }
.lmd-texte td:first-child, .lmd-texte tbody th { font-weight: 650; color: #fff; }
.lmd-texte tr:has(mark) > * { background: #2B2530; border-top: 2px solid var(--surligne); border-bottom: 2px solid var(--surligne); }
.lmd-texte tr:has(mark) > :first-child { border-left: 2px solid var(--surligne); }
.lmd-texte tr:has(mark) > :last-child { border-right: 2px solid var(--surligne); }
.lmd-texte .wp-block-table figcaption { text-align: left; }
.lmd-texte td mark { background: none; color: var(--surligne); font-weight: 650; padding: 0; }
.lmd-defile::before { content: "Tableau large : faites-le défiler"; display: block; position: sticky; left: 0; font: 500 11px/1 var(--mono); letter-spacing: .04em; text-transform: uppercase; color: var(--craie-douce); margin-bottom: 10px; }

/* encarts */
.lmd-texte :is(.lmd-outil, .lmd-garde, .lmd-verdict, .lmd-bref, .lmd-oui, .lmd-non, .lmd-plus, .lmd-moins) :is(p, ul, ol, figure, .wp-block-buttons) + :is(p, ul, ol, figure, .wp-block-buttons) { margin-top: .9em; }
.lmd-outil .lmd-avis { margin: 1.2em 0 0; }
.lmd-outil .lmd-avis ul { background: var(--nuit); }
.lmd-outil .lmd-avis li strong { font-size: 32px; }
.lmd-texte [class*="lmd-"] > :last-child { margin-bottom: 0; }
.lmd-bref, .lmd-garde, .lmd-verdict, .lmd-chiffre, .lmd-outil { margin-top: 2em; margin-bottom: 2em; }
.lmd-bref::before, .lmd-garde::before, .lmd-oui::before, .lmd-non::before, .lmd-plus::before, .lmd-moins::before, .lmd-avis::before { display: block; font: 600 12px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; margin-bottom: 16px; }

.lmd-bref { background: var(--nuit-haute); border: 1px solid var(--filet); border-top: 3px solid var(--teinte); padding: 24px 22px 26px; }
.lmd-bref::before { content: "L’essentiel en bref"; color: var(--teinte); }
.lmd-bref li { font-size: 17px; line-height: 1.5; }
.lmd-bref ul > li::before { background: var(--teinte); }

.lmd-chiffre { background: var(--surligne); color: var(--encre); padding: 26px 24px 24px; display: grid; gap: 10px; }
.lmd-chiffre p { margin: 0; font-size: 17px; line-height: 1.45; }
.lmd-chiffre p:first-child { font: 500 clamp(52px, 9vw, 84px)/.92 var(--serif); letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.lmd-chiffre strong { color: inherit; }
.lmd-chiffre a { text-decoration-color: var(--encre); }
.lmd-chiffre a:hover { background: var(--encre); color: var(--surligne); }

.lmd-garde { position: relative; background: #241E30; border: 1px solid var(--filet); padding: 22px 22px 24px; font-size: 16.5px; line-height: 1.55; }
.lmd-garde::before { content: "À garder en tête"; color: var(--alerte); }
.lmd-garde::after { content: ""; position: absolute; top: -1px; right: -1px; border: solid transparent; border-width: 0 20px 20px 0; border-right-color: var(--alerte); }

.lmd-verdict { position: relative; outline: 2px solid var(--surligne); background: var(--nuit-haute); padding: 28px 24px 30px; }
.lmd-verdict::after { content: ""; position: absolute; right: -7px; bottom: -7px; width: 12px; height: 12px; background: var(--surligne); border: 2px solid var(--nuit); }
.lmd-verdict { font-size: 19px; }
.lmd-texte .wp-block-group__inner-container { display: contents; }

.lmd-profils { display: grid; gap: 0; margin-top: 2em; margin-bottom: 2em; }
.lmd-oui, .lmd-non, .lmd-plus, .lmd-moins { background: var(--nuit-haute); border: 1px solid var(--filet); padding: 22px 22px 24px; margin: 0 -1px -1px 0; font-size: 16.5px; }
.lmd-oui, .lmd-plus { border-top: 3px solid #3DD68C; }
.lmd-non, .lmd-moins { border-top: 3px solid var(--alerte); }
.lmd-plus::before { content: "Points forts"; color: #3DD68C; }
.lmd-moins::before { content: "Points faibles"; color: var(--alerte); }
.lmd-plus ul > li::before { background: #3DD68C; }
.lmd-moins ul > li::before { background: var(--alerte); }
.lmd-oui::before { content: "Fait pour vous si"; color: #3DD68C; }
.lmd-non::before { content: "Pas pour vous si"; color: var(--alerte); }
.lmd-oui ul > li::before { background: #3DD68C; }
.lmd-non ul > li::before { background: var(--alerte); }

/* avis d'utilisateurs relevés sur des plateformes : la note vient d'ailleurs, elle est sourcée */
.lmd-avis { margin-top: 2em; margin-bottom: 2em; }
.lmd-avis::before { content: "Avis d’utilisateurs"; color: var(--craie-douce); }
.lmd-avis ul { display: grid; border: 1px solid var(--filet); background: var(--nuit-haute); }
.lmd-texte .lmd-avis ul > li { padding: 20px 22px 22px; margin: 0 -1px -1px 0; border: 1px solid var(--filet); font: 500 13px/1.45 var(--mono); color: var(--craie-douce); }
.lmd-avis ul > li::before { content: none; }
.lmd-avis li strong { display: block; font: 500 44px/1 var(--serif); letter-spacing: -.03em; color: var(--craie); margin-bottom: 10px; font-variant-numeric: tabular-nums; }
.lmd-avis p { font: 400 13px/1.5 var(--mono); color: var(--craie-douce); margin-top: 12px; }
/* notes par critère relevées sur une plateforme d'avis : une note globale, puis une barre par critère */
.lmd-notes { margin-top: 2em; margin-bottom: 2em; border: 1px solid var(--filet); background: var(--nuit-haute); padding: 22px 22px 24px; display: grid; gap: 20px 40px; }
.lmd-notes::before { content: "Avis d’utilisateurs, par critère"; display: block; font: 600 12px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--craie-douce); grid-column: 1 / -1; }
.lmd-texte .lmd-notes p:first-of-type { margin: 0; max-width: 230px; font: 500 13px/1.45 var(--mono); color: var(--craie-douce); }
.lmd-notes p:first-of-type strong { display: block; font: 500 64px/.95 var(--serif); letter-spacing: -.035em; color: var(--surligne); margin-bottom: 10px; font-variant-numeric: tabular-nums; }
.lmd-texte .lmd-notes ul { margin: 0; display: grid; gap: 14px; align-content: center; }
.lmd-texte .lmd-notes ul > li { padding: 0; margin: 0; display: grid; grid-template-columns: minmax(110px, 9em) 1fr auto; gap: 14px; align-items: center; font: 500 14.5px/1.2 var(--sans); }
.lmd-texte .lmd-notes ul > li::before { content: ""; position: static; grid-column: 2; grid-row: 1; width: auto; height: 8px; background: linear-gradient(90deg, var(--jauge, var(--surligne)) var(--part, 0%), var(--filet) var(--part, 0%)); }
.lmd-notes li strong { grid-column: 3; font: 600 15px/1 var(--mono); color: var(--jauge, var(--craie)); min-width: 3.4em; text-align: right; }
.lmd-notes li.lmd-haut { --jauge: #3DD68C; }
.lmd-notes li.lmd-bas { --jauge: var(--alerte); }
.lmd-texte .lmd-notes p:last-child:not(:first-of-type) { grid-column: 1 / -1; margin: 0; font: 400 13px/1.5 var(--mono); color: var(--craie-douce); }
@media (min-width: 700px) { .lmd-notes { grid-template-columns: 230px 1fr; padding: 28px 32px 30px; } }
.lmd-plus li > strong:first-child, .lmd-moins li > strong:first-child { display: block; font-size: 17px; margin-bottom: 2px; }
.lmd-texte .lmd-plus ul > li, .lmd-texte .lmd-moins ul > li { margin-bottom: .9em; }

.lmd-outil { border: 1px solid var(--filet); background: var(--nuit-haute); padding: 24px 22px 26px; }
.lmd-outil h3 { font: 500 30px/1.05 var(--serif); letter-spacing: -.02em; margin: 0 0 12px; }
.lmd-outil table { min-width: 0; margin: 16px 0; font-size: 15px; }
.lmd-outil figure.wp-block-table { margin: 16px 0; }

.lmd-etapes > li { position: relative; padding: 20px 0 22px 64px; border-top: 1px solid var(--filet); margin: 0; min-height: 84px; }
.lmd-etapes > li:last-child { border-bottom: 1px solid var(--filet); }
.lmd-etapes > li::before { content: counter(pas); position: absolute; left: 0; top: 20px; width: 44px; height: 44px; display: grid; place-items: center; background: var(--teinte); color: var(--encre); font: 600 18px/1 var(--mono); }
.lmd-etapes > li > strong:first-child { display: block; font: 600 20px/1.25 var(--sans); margin-bottom: 6px; }

.lmd-source { font: 400 13px/1.5 var(--mono); color: var(--craie-douce); padding-left: 14px; border-left: 2px solid var(--filet); }

.lmd-texte .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.lmd-texte .wp-block-button__link, .lmd-texte .wpforms-submit { display: inline-block; background: var(--surligne); color: var(--encre); border: 2px solid var(--surligne); border-radius: 0; font: 600 16px/1.2 var(--sans); padding: 14px 22px 13px; text-decoration: none; cursor: pointer; transition: background-color .15s, color .15s; }
.lmd-texte .wp-block-button__link:hover, .lmd-texte .wpforms-submit:hover { background: transparent; color: var(--surligne); }
.lmd-texte .is-style-outline .wp-block-button__link { background: transparent; color: var(--craie); border-color: var(--filet); }

.lmd-texte details { border-top: 1px solid var(--filet); margin-bottom: 0; }
.lmd-texte details + :not(details) { margin-top: 2em; }
.lmd-texte details:has(+ :not(details)), .lmd-texte details:last-child { border-bottom: 1px solid var(--filet); }
.lmd-texte summary { cursor: pointer; list-style: none; padding: 18px 40px 18px 0; position: relative; font: 600 18px/1.35 var(--sans); }
.lmd-texte summary::-webkit-details-marker { display: none; }
.lmd-texte summary .lmd-faq-q { font: inherit; letter-spacing: inherit; margin: 0; padding: 0; display: block; }
.lmd-texte summary .lmd-faq-q::before { content: none; }
.lmd-texte summary::after { content: "+"; position: absolute; right: 4px; top: 14px; font: 400 26px/1 var(--mono); color: var(--craie-douce); }
.lmd-texte details[open] summary::after { content: "−"; }
.lmd-texte details > :not(summary) { margin: 0 0 18px; color: #DDD7E6; }

.lmd-auteur { display: grid; grid-template-columns: 72px 1fr; gap: 20px; margin-top: 72px; padding: 24px 0 0; border-top: 1px solid var(--filet); font-size: 15.5px; line-height: 1.55; color: var(--craie-douce); }
.lmd-auteur-cellule { width: 64px; height: 64px; display: grid; place-items: center; font: 500 34px/1 var(--serif); color: var(--surligne); margin: 2px; }
.lmd-auteur p + p, .lmd-bandeau .lmd-chapo p + p { margin-top: 12px; }
.author .lmd-bandeau .lmd-chapo { max-width: 68ch; font-size: 17px; margin-top: 28px; }
.lmd-auteur-nom { font: 500 22px/1.2 var(--serif); color: var(--craie); margin-bottom: 8px; }

@media (min-width: 700px) {
    .lmd-bref, .lmd-garde, .lmd-outil { padding: 28px 32px 32px; }
    .lmd-verdict { padding: 34px 36px 38px; }
    /* le texte passe sous le chiffre dès qu'il lui reste moins de 280 px */
    .lmd-chiffre { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 28px; padding: 30px 32px; }
    .lmd-chiffre p:first-child { flex: none; max-width: 100%; }
    .lmd-chiffre p:last-child { flex: 1 1 280px; }
    .lmd-profils { grid-template-columns: 1fr 1fr; }
    .lmd-oui, .lmd-non, .lmd-plus, .lmd-moins { padding: 26px 28px 30px; }
    .lmd-avis ul { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
}

/* formulaire de contact (WPForms) */
.lmd-texte .wpforms-container { margin-top: 2em; --wpforms-field-border-radius: 0; --wpforms-button-border-radius: 0; }
.lmd-texte .wpforms-container .wpforms-field { padding: 0 0 22px; }
.lmd-texte .wpforms-container .wpforms-field-label { font: 600 14px/1.3 var(--sans); color: var(--craie); margin-bottom: 8px; display: block; }
.lmd-texte .wpforms-container .wpforms-required-label { color: var(--alerte); }
.lmd-texte div.wpforms-container-full { margin-left: 0; margin-right: 0; }
.lmd-texte .wpforms-container ul > li { padding-left: 0; margin: 0; display: flex; gap: 12px; align-items: flex-start; }
.lmd-texte .wpforms-container ul > li::before { content: none; }
.lmd-texte div.wpforms-container-full input[type=checkbox] { width: 20px; height: 20px; flex: none; margin: 3px 0 0; accent-color: var(--surligne); }
.lmd-texte div.wpforms-container-full .wpforms-field-label-inline { color: var(--craie); font: 400 15px/1.5 var(--sans); }
.lmd-texte div.wpforms-container-full input:not([type=checkbox]):not([type=radio]), .lmd-texte div.wpforms-container-full textarea, .lmd-texte div.wpforms-container-full select { width: 100%; max-width: 100%; background: var(--nuit-haute); border: 1px solid var(--filet); border-radius: 0; color: var(--craie); padding: 13px 14px; font: 400 16px/1.4 var(--sans); box-shadow: none; height: auto; }
.lmd-texte div.wpforms-container-full input:not([type=checkbox]):focus, .lmd-texte div.wpforms-container-full textarea:focus { outline: 2px solid var(--surligne); outline-offset: -1px; border-color: var(--surligne); box-shadow: none; }
.lmd-texte div.wpforms-container-full textarea { min-height: 170px; }
.lmd-texte div.wpforms-container-full .wpforms-field-sublabel, .lmd-texte div.wpforms-container-full .wpforms-field-description { color: var(--craie-douce); font-size: 13px; }
.lmd-texte div.wpforms-container-full button[type=submit].wpforms-submit { background: var(--surligne); color: var(--encre); border: 2px solid var(--surligne); border-radius: 0; height: auto; font: 600 16px/1.2 var(--sans); padding: 14px 24px 13px; box-shadow: none; }
.lmd-texte div.wpforms-container-full button[type=submit].wpforms-submit:hover { background: transparent; color: var(--surligne); }
.lmd-texte .wpforms-container label.wpforms-error { color: var(--alerte); font-size: 13px; }
.lmd-texte .wpforms-confirmation-container-full { background: var(--nuit-haute); border: 1px solid var(--filet); border-top: 3px solid #3DD68C; color: var(--craie); padding: 20px 22px; }

.lmd-courriel { font: 500 clamp(20px, 3.4vw, 30px)/1.2 var(--serif); }

/* --------------------------------------------------------------- page introuvable */

.lmd-erreur { padding-top: 32px; }
.lmd-erreur-code { display: inline-block; font: 600 clamp(64px, 17vw, 190px)/.9 var(--mono); letter-spacing: -.06em; color: var(--alerte); padding: .08em .12em; margin: 8px 0 40px; }
.lmd-erreur h1 { font: 500 clamp(30px, 5vw, 58px)/1.02 var(--serif); letter-spacing: -.022em; }
.lmd-erreur .lmd-recherche { margin-top: 32px; }

body { padding-bottom: 0; }
