*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Georgia,'Times New Roman',serif;line-height:1.8;color:#222;background:#f4f1eb}
.Content_area__z6DXa{max-width:1100px;margin:0 auto;padding:0 24px}
.Content_foot__KOQIm{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:48px 0;text-align:center;margin-bottom:48px}
.Content_foot__KOQIm h1{font-size:36px;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px}
.Content_foot__KOQIm p{font-size:16px;opacity:.8;font-style:italic}
.Content_foot__KOQIm .Article_content__wpzfe{color:#fff;text-decoration:none;font-size:20px;letter-spacing:1px;text-transform:uppercase}
.Article_item__gOWK8{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}
.Module_box__H7Lba{background:#fff;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:28px;transition:box-shadow .2s}
.Module_box__H7Lba:hover{box-shadow:0 4px 20px rgba(0,0,0,.14)}
.Module_box__H7Lba h2{font-size:22px;margin-bottom:10px;line-height:1.3}
.Module_box__H7Lba h2 a{color:#2c3e50;text-decoration:none}
.Module_box__H7Lba .Hero_section__MXnzQ{font-size:12px;color:#888;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}
.Module_box__H7Lba p{font-size:15px;color:#555;margin-bottom:14px}
.Post_link__sQCRC{color:#e74c3c;text-decoration:none;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px}
.Layout_inner__kFfN1{max-width:780px;margin:0 auto;padding:0 24px 60px}
.Layout_inner__kFfN1 h1{font-size:36px;margin-bottom:10px;line-height:1.2}
.Layout_inner__kFfN1 .Hero_section__MXnzQ{font-size:13px;color:#888;display:block;margin-bottom:28px;text-transform:uppercase;letter-spacing:1px}
.Layout_inner__kFfN1 h2{font-size:24px;margin:36px 0 14px}
.Layout_inner__kFfN1 h3{font-size:19px;margin:28px 0 10px}
.Layout_inner__kFfN1 p{margin-bottom:18px;font-size:17px}
.Layout_inner__kFfN1 ul,.Layout_inner__kFfN1 ol{margin:0 0 18px 28px}
.Layout_inner__kFfN1 a{color:#e74c3c}
.Layout_inner__kFfN1 img{max-width:100%;height:auto;border-radius:4px;margin:20px 0}
.Layout_foot__MwGGr{border-top:2px solid #ddd;padding:28px 0;margin-top:48px;text-align:center;font-size:13px;color:#888}
.Layout_foot__MwGGr a{color:#888}
.Grid_main__L77vX{border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:14px 0;margin-bottom:28px;font-size:14px;color:#888;font-style:italic;text-align:center}
.Banner_inner__KYoiJ{background:#f9f3e3;padding:16px 20px;margin-top:28px;font-size:13px;color:#7a6230;border-radius:4px}
.Container_box__PKEX8{font-size:11px;color:#888;margin:-22px 0 28px;text-transform:uppercase;letter-spacing:1.5px}
.Main_wrap__cqT1P{margin:0 0 28px}
.Footer_foot__i1rEa{width:100%;height:auto;border-radius:4px}
.Footer_title__JM0OY{border-top:2px solid #ddd;margin-top:40px;padding-top:24px}
.Footer_title__JM0OY h4{font-size:16px;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;color:#888}
.mag-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mag-related-item a{color:#2c3e50;text-decoration:none;font-size:15px}
.mag-related-item a:hover{color:#e74c3c}
.Module_main__gcb31{background:#fff;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:22px 28px;margin-top:28px}
.Module_main__gcb31 p{font-size:15px;padding:4px 0;margin:0}
.Module_main__gcb31 .Hero_section__MXnzQ{margin:0 8px 0 0;display:inline}
.Module_main__gcb31 a{color:#2c3e50;text-decoration:none}
.Module_main__gcb31 a:hover{color:#e74c3c}
/* === Theme === */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');
body{font-family:'Montserrat',sans-serif;color:#2C2C2C;background:#F9F7F2}
.Content_foot__KOQIm{background:#2D3E33;color:#fff}
.Content_foot__KOQIm h1{font-family:'Libre Baskerville',serif;color:#fff}
.Content_foot__KOQIm p{color:rgba(255,255,255,.75)}
.Content_foot__KOQIm a{color:#fff;text-decoration:none}
.card h2{font-family:'Libre Baskerville',serif}
.card h2 a{color:#2D3E33}
.card h2 a:hover{color:#C17F42}
.read-more{color:#C17F42}
.article-content h1{font-family:'Libre Baskerville',serif}
.article-content h2{font-family:'Libre Baskerville',serif}
.article-content a{color:#C17F42}
.article-content img{border-radius:8px}
.affiliate-disclosure{border-radius:8px}
.ymyl-disclaimer{border-radius:8px}
/* === Custom === */
/* eq-cheval-fr — magazine template
   Palette : châtaignier (#7A3D28) + forêt (#3A6B4A) + blé doré (#C4924A)
   Frédéric Lambert — débourrage en campagne normande */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');

/* ─── Design tokens ──────────────────────────────────────────────── */

:root {
  --color-primary:          #7A3D28;
  --color-primary-dark:     #5C2B1A;
  --color-secondary:        #3A6B4A;
  --color-accent:           #C4924A;
  --color-accent-light:     #EDD9A3;
  --color-bg:               #FAF5EE;
  --color-surface:          #F3EDE0;
  --color-text:             #281A10;
  --color-text-muted:       #6B5040;
  --color-border:           #D4C4A8;
  --color-border-light:     #EDE5D5;

  --font-heading:           'Playfair Display', Georgia, serif;
  --font-body:              'Libre Baskerville', Georgia, serif;
  --font-size-base:         17px;
  --font-size-sm:           15px;
  --font-size-lg:           19px;
  --font-size-xl:           24px;
  --font-weight-normal:     400;
  --font-weight-semibold:   600;
  --font-weight-bold:       700;

  --line-height-body:       1.75;
  --line-height-heading:    1.2;
  --letter-spacing-heading: -0.01em;

  --border-radius:          6px;
  --border-radius-sm:       3px;

  --spacing-sm:             1rem;
  --spacing-md:             1.5rem;
  --spacing-lg:             2.5rem;

  --max-width-prose:        68ch;
  --max-width-container:    860px;
}

/* ─── Base ───────────────────────────────────────────────────────── */

:root body {
  background-color: var(--color-bg);
  color:            var(--color-text);
  font-family:      var(--font-body);
  font-size:        var(--font-size-base);
  font-weight:      var(--font-weight-normal);
  line-height:      var(--line-height-body);
  -webkit-font-smoothing: antialiased;
}

:root a {
  color:           var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

:root a:hover,
:root a:focus {
  color:           var(--color-secondary);
  text-decoration: none;
}

:root img {
  max-width:    100%;
  height:       auto;
  border-radius: var(--border-radius);
}

/* ─── Headings ───────────────────────────────────────────────────── */

:root h1,
:root h2,
:root h3,
:root h4,
:root h5,
:root h6 {
  font-family:     var(--font-heading);
  font-weight:     var(--font-weight-bold);
  line-height:     var(--line-height-heading);
  letter-spacing:  var(--letter-spacing-heading);
  color:           var(--color-text);
  margin-top:      var(--spacing-lg);
  margin-bottom:   var(--spacing-sm);
}

:root h1 { font-size: clamp(1.75rem, 4vw, 2.5rem); }
:root h2 { font-size: clamp(1.35rem, 3vw, 1.85rem); }
:root h3 { font-size: clamp(1.15rem, 2.5vw, 1.4rem); font-weight: var(--font-weight-semibold); }
:root h4 { font-size: 1.1rem; font-weight: var(--font-weight-semibold); }

/* ─── Prose ──────────────────────────────────────────────────────── */

:root p {
  max-width:     var(--max-width-prose);
  margin-top:    0;
  margin-bottom: var(--spacing-sm);
}

:root ul,
:root ol {
  max-width:     var(--max-width-prose);
  padding-left:  1.4rem;
  margin-bottom: var(--spacing-sm);
}

:root li {
  margin-bottom: 0.4rem;
}

:root ul li::marker {
  color: var(--color-primary);
}

:root ol li::marker {
  color:       var(--color-primary);
  font-weight: var(--font-weight-semibold);
}

:root blockquote {
  max-width:     var(--max-width-prose);
  margin:        var(--spacing-md) 0;
  padding:       var(--spacing-sm) var(--spacing-md);
  border-left:   4px solid var(--color-accent);
  background:    var(--color-surface);
  border-radius: 0 var(--border-radius) var(--border-radius) 0;
  color:         var(--color-text-muted);
  font-style:    italic;
}

:root blockquote p {
  margin-bottom: 0;
}

:root strong, :root b {
  font-weight: var(--font-weight-bold);
  color:       var(--color-text);
}

:root em, :root i {
  font-style: italic;
}

:root hr {
  border:        none;
  border-top:    1px solid var(--color-border);
  margin:        var(--spacing-lg) 0;
}

/* ─── Magazine header ────────────────────────────────────────────── */

:root .Content_foot__KOQIm,
:root header.site-header {
  background-color: var(--color-primary-dark);
  color:            #FFF8F0;
  padding:          var(--spacing-md) var(--spacing-lg);
}

:root .Content_foot__KOQIm h1,
:root header.site-header h1 {
  font-family:    var(--font-heading);
  color:          #FFF8F0;
  margin-top:     0;
  letter-spacing: -0.02em;
}

:root .Content_foot__KOQIm p,
:root header.site-header p {
  color:       rgba(255, 248, 240, 0.75);
  font-size:   var(--font-size-sm);
  margin-bottom: 0;
}

:root .Content_foot__KOQIm a,
:root header.site-header a {
  color:           #FFF8F0;
  text-decoration: none;
}

:root .Content_foot__KOQIm a:hover,
:root header.site-header a:hover {
  color:           var(--color-accent-light);
  text-decoration: none;
}

/* ─── Magazine nav / category bar ────────────────────────────────── */

:root .mag-nav,
:root nav.site-nav {
  background-color: var(--color-primary);
  padding:          0.5rem var(--spacing-lg);
}

:root .mag-nav a,
:root nav.site-nav a {
  color:           #FFF8F0;
  text-decoration: none;
  font-size:       var(--font-size-sm);
  font-weight:     var(--font-weight-semibold);
  margin-right:    var(--spacing-md);
  display:         inline-block;
  padding:         0.3rem 0;
}

:root .mag-nav a:hover,
:root nav.site-nav a:hover {
  color: var(--color-accent-light);
}

/* ─── Cards ──────────────────────────────────────────────────────── */

:root .card {
  background:    var(--color-surface);
  border:        1px solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow:      hidden;
  transition:    box-shadow 0.18s ease, transform 0.18s ease;
}

:root .card:hover {
  box-shadow: 0 4px 18px rgba(40, 26, 16, 0.1);
  transform:  translateY(-2px);
}

:root .card h2 {
  font-family: var(--font-heading);
  font-size:   1.2rem;
  margin-top:  0;
  margin-bottom: 0.5rem;
}

:root .card h2 a {
  color:           var(--color-text);
  text-decoration: none;
}

:root .card h2 a:hover {
  color: var(--color-primary);
}

:root .card-body {
  padding: var(--spacing-sm) var(--spacing-md);
}

:root .card .read-more,
:root .read-more {
  color:           var(--color-secondary);
  font-weight:     var(--font-weight-semibold);
  font-size:       var(--font-size-sm);
  text-decoration: none;
}

:root .card .read-more:hover,
:root .read-more:hover {
  color:           var(--color-primary);
  text-decoration: underline;
}

/* ─── Article content ────────────────────────────────────────────── */

:root .article-content {
  max-width: var(--max-width-container);
  margin:    0 auto;
  padding:   var(--spacing-lg) var(--spacing-md);
}

:root .article-content h1 {
  font-family:    var(--font-heading);
  font-size:      clamp(1.75rem, 4vw, 2.4rem);
  color:          var(--color-text);
  margin-top:     0;
}

:root .article-content h2 {
  font-family:  var(--font-heading);
  border-bottom: 2px solid var(--color-border-light);
  padding-bottom: 0.3rem;
}

:root .article-content h3 {
  font-family: var(--font-heading);
  color:       var(--color-primary);
}

:root .article-content a {
  color:                var(--color-primary);
  text-underline-offset: 2px;
}

:root .article-content a:hover {
  color: var(--color-secondary);
}

:root .article-content img {
  border-radius: var(--border-radius);
  margin:        var(--spacing-md) 0;
}

/* ─── Author byline ──────────────────────────────────────────────── */

:root .byline,
:root .author-meta {
  font-size:   var(--font-size-sm);
  color:       var(--color-text-muted);
  margin-bottom: var(--spacing-md);
  padding-bottom: var(--spacing-sm);
  border-bottom: 1px solid var(--color-border-light);
}

/* ─── Category badge ─────────────────────────────────────────────── */

:root .category-label,
:root .tag {
  display:          inline-block;
  background-color: var(--color-accent-light);
  color:            var(--color-primary-dark);
  font-size:        13px;
  font-weight:      var(--font-weight-semibold);
  padding:          0.2rem 0.6rem;
  border-radius:    var(--border-radius-sm);
  text-transform:   uppercase;
  letter-spacing:   0.04em;
  text-decoration:  none;
}

/* ─── Footer ─────────────────────────────────────────────────────── */

:root footer,
:root .site-footer {
  background-color: var(--color-primary-dark);
  color:            rgba(255, 248, 240, 0.7);
  font-size:        var(--font-size-sm);
  padding:          var(--spacing-lg) var(--spacing-md);
  margin-top:       var(--spacing-lg);
}

:root footer a,
:root .site-footer a {
  color:           rgba(255, 248, 240, 0.85);
  text-decoration: none;
}

:root footer a:hover,
:root .site-footer a:hover {
  color:           var(--color-accent-light);
}

/* ─── Utility: featured / accent strip ──────────────────────────── */

:root .featured-strip {
  background-color: var(--color-secondary);
  color:            #F0F8F4;
  padding:          var(--spacing-sm) var(--spacing-lg);
  font-size:        var(--font-size-sm);
  font-weight:      var(--font-weight-semibold);
  letter-spacing:   0.03em;
  text-transform:   uppercase;
}

/* === R2 fixes (2026-06-22T10:40:20.303222+00:00) === */

/* Fix 1 — Logo nav en casse mixte, pas tout en capitales */
.Article_content__wpzfe {
  text-transform: none;
}

/* Fix 2 — H2 d'article plus aérés pour faciliter le scan */
.Layout_inner__kFfN1 article h2 {
  margin-top:    2.5em;
  margin-bottom: 0.6em;
}

/* Fix 3 — Interligne généreux pour les longs paragraphes Libre Baskerville */
.Layout_inner__kFfN1 article p {
  line-height: 1.75;
}

/* Fix 4 — Disclaimer affiliation discret, non intrusif */
.Grid_main__L77vX .disclaimer,
.Grid_main__L77vX [class*="disclaimer"],
.Grid_main__L77vX [class*="affili"] {
  font-size:  0.82em;
  color:      #8a7060;
  border:     none;
  background: transparent;
  margin:     0.25em 0 1em 0;
}

/* Fix 5 — Bandeau 'À savoir' sobre, note de bas de page plutôt qu'alerte */
.Banner_inner__KYoiJ {
  background:   transparent;
  border-left:  3px solid #C8A882;
  padding:      0.5em 0.8em;
  font-size:    0.85em;
  color:        #7a6858;
  margin-top:   2em;
}

/* === R3 fixes (2026-06-22T11:20:20.156865+00:00) === */

/* Fix R3-1 — Titre du site en casse mixte, pas tout en capitales */
nav.Content_foot__KOQIm h1 {
  text-transform: none;
}

/* Fix R3-2 — Lien "Continue Reading →" en casse mixte, moins agressif */
.Post_link__sQCRC {
  text-transform: none;
}

/* Fix R3-3 — H3 d'article en châtaignier pour faciliter le scan visuel */
.Layout_inner__kFfN1 article h3 {
  color:     var(--color-primary);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
}

/* === R4 fixes (2026-06-22T12:00:21.634903+00:00) === */

/* Fix R4-1 — H3 d'article : espace aérien suffisant au-dessus pour ancrer le scan */
.Layout_inner__kFfN1 article h3 {
  margin-top:    2em;
  margin-bottom: 0.4em;
}

/* Fix R4-2 — Label 'Articles connexes' en casse mixte, cohérent avec le ton éditorial */
.Footer_title__JM0OY h4 {
  text-transform: none;
  font-size:      0.95rem;
  letter-spacing: 0.02em;
}

/* Fix R4-3 — Confirmer text-transform: none sur lien de nav article (renforce R2 Fix 1) */
.Article_content__wpzfe {
  text-transform: none;
}

/* === QA round-1 fixes (2026-07-26T06:02:19+0800) === */
/* Signature éditoriale « Main Légère » — carnet de débourrage normand.
   Sélecteurs 100 % structurels (element + :has à un seul niveau) : robustes
   quelle que soit l'obfuscation des classes. Palette inchangée :
   châtaignier #7A3D28 · forêt #3A6B4A · blé doré #C4924A · crème #FAF5EE.
   DOM réel — homepage : body>nav (bandeau) / body>main>div>div (cartes) ;
   article : body>main:has(>article) (titre + article + aside connexes). */

/* ─── Bandeau-titre : photo + monogramme fer à cheval + manifeste ──── */

:root body > nav:first-child {
  position: relative;
  background-color: var(--color-primary-dark);
  background-image:
    linear-gradient(rgba(23,15,9,0.58), rgba(28,18,12,0.78)),
    url("/theme-assets/hero-masthead.jpg");
  background-size: cover;
  background-position: center 38%;
  padding: clamp(2.6rem, 6vw, 4.8rem) 1.5rem clamp(2rem, 4vw, 3rem);
  text-align: center;
  border-bottom: 3px solid var(--color-accent);
}

:root body > nav:first-child > div {
  max-width: 720px;
  margin: 0 auto;
  padding: 0;
}

:root body > nav:first-child > div::before {
  content: "";
  display: block;
  width: 54px;
  height: 54px;
  margin: 0 auto 1.05rem;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%3E%3Cpath%20d%3D%27M14%205c-4%204-6%2010-6%2017%200%209%206%2015%2016%2015s16-6%2016-15c0-7-2-13-6-17%27%20fill%3D%27none%27%20stroke%3D%27%23C4924A%27%20stroke-width%3D%273.4%27%20stroke-linecap%3D%27round%27%2F%3E%3Ccircle%20cx%3D%2712.5%27%20cy%3D%2712%27%20r%3D%271.7%27%20fill%3D%27%23C4924A%27%2F%3E%3Ccircle%20cx%3D%2735.5%27%20cy%3D%2712%27%20r%3D%271.7%27%20fill%3D%27%23C4924A%27%2F%3E%3Ccircle%20cx%3D%279%27%20cy%3D%2721%27%20r%3D%271.7%27%20fill%3D%27%23C4924A%27%2F%3E%3Ccircle%20cx%3D%2739%27%20cy%3D%2721%27%20r%3D%271.7%27%20fill%3D%27%23C4924A%27%2F%3E%3Ccircle%20cx%3D%279.5%27%20cy%3D%2730%27%20r%3D%271.7%27%20fill%3D%27%23C4924A%27%2F%3E%3Ccircle%20cx%3D%2738.5%27%20cy%3D%2730%27%20r%3D%271.7%27%20fill%3D%27%23C4924A%27%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

:root body > nav:first-child h1 {
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 600;
  color: #FBF3E7;
  font-size: clamp(2.2rem, 6vw, 3.5rem);
  line-height: 1.05;
  letter-spacing: 0.005em;
  margin: 0;
  text-transform: none;
  text-shadow: 0 2px 14px rgba(0,0,0,0.42);
}

:root body > nav:first-child h1::before {
  content: "MÉTHODES · TRAVAIL À PIED · MISE EN CONFIANCE";
  display: block;
  font-family: var(--font-body);
  font-style: normal;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.26em;
  color: var(--color-accent);
  margin-bottom: 0.85rem;
  text-shadow: none;
}

:root body > nav:first-child p {
  color: rgba(251,243,231,0.86);
  font-family: var(--font-body);
  font-style: italic;
  font-size: var(--font-size-sm);
  line-height: 1.6;
  max-width: 48ch;
  margin: 0.85rem auto 0;
}

/* ─── Accueil : grille magazine 6 colonnes (une-à-la-une → sélection → journal) */

:root body > main:not(:has(> article)) {
  max-width: none;
  width: auto;
  padding: 0;
}

:root body > main:not(:has(> article)) > div {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1.9rem 1.6rem;
  counter-reset: pick;
  max-width: 1080px;
  margin: clamp(2rem, 4vw, 3.2rem) auto clamp(3rem, 6vw, 5rem);
  padding: 0 1.5rem;
}

/* carte générique (base commune) */
:root body > main:not(:has(> article)) > div > div {
  grid-column: span 3;
  display: flex;
  flex-direction: column;
  background: #FFFCF6;
  border: 1px solid var(--color-border-light);
  border-radius: var(--border-radius);
  padding: 1.5rem 1.6rem;
  transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

:root body > main:not(:has(> article)) > div > div:hover {
  box-shadow: 0 10px 28px rgba(40,26,16,0.11);
  transform: translateY(-2px);
  border-color: var(--color-border);
}

:root body > main:not(:has(> article)) > div > div > p:first-child {
  order: -1;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-secondary);
  margin: 0 0 0.5rem;
}

:root body > main:not(:has(> article)) > div > div > h2 {
  font-family: var(--font-heading);
  font-size: 1.28rem;
  line-height: 1.24;
  margin: 0 0 0.55rem;
}

:root body > main:not(:has(> article)) > div > div > h2 > a {
  color: var(--color-text);
  text-decoration: none;
}

:root body > main:not(:has(> article)) > div > div > h2 > a:hover {
  color: var(--color-primary);
}

:root body > main:not(:has(> article)) > div > div > h2 + p {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  line-height: 1.65;
  margin: 0 0 1rem;
}

:root body > main:not(:has(> article)) > div > div > a {
  margin-top: auto;
  color: var(--color-primary);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: none;
  text-decoration: none;
}

:root body > main:not(:has(> article)) > div > div > a:hover {
  color: var(--color-secondary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* — UNE À LA UNE : première carte pleine largeur, la voix forte — */
:root body > main:not(:has(> article)) > div > div:first-child {
  grid-column: 1 / -1;
  background: var(--color-surface);
  border: none;
  border-top: 4px solid var(--color-primary);
  border-radius: 0;
  padding: clamp(1.8rem, 4vw, 3rem) clamp(1.6rem, 4vw, 3rem) clamp(2rem, 4vw, 2.8rem);
}

:root body > main:not(:has(> article)) > div > div:first-child:hover {
  transform: none;
  box-shadow: none;
  border-color: var(--color-primary);
}

:root body > main:not(:has(> article)) > div > div:first-child > p:first-child {
  color: var(--color-primary);
  font-size: 13px;
  letter-spacing: 0.16em;
}

:root body > main:not(:has(> article)) > div > div:first-child > p:first-child::before {
  content: "Dernier carnet · ";
  color: var(--color-secondary);
}

:root body > main:not(:has(> article)) > div > div:first-child > h2 {
  font-size: clamp(1.9rem, 4.6vw, 3.1rem);
  line-height: 1.08;
  letter-spacing: -0.015em;
  margin-bottom: 0.9rem;
  max-width: 20ch;
}

:root body > main:not(:has(> article)) > div > div:first-child > h2 + p {
  font-size: var(--font-size-lg);
  color: var(--color-text);
  line-height: 1.7;
  max-width: 54ch;
}

/* lettrine — ancre typographique de la une */
:root body > main:not(:has(> article)) > div > div:first-child > h2 + p::first-letter {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 3.4em;
  float: left;
  line-height: 0.72;
  margin: 0.06em 0.09em 0 0;
  color: var(--color-primary);
}

/* CTA en pilule contournée */
:root body > main:not(:has(> article)) > div > div:first-child > a {
  align-self: flex-start;
  border: 1.5px solid var(--color-primary);
  border-radius: 999px;
  padding: 0.5rem 1.4rem;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

:root body > main:not(:has(> article)) > div > div:first-child > a:hover {
  background: var(--color-primary);
  color: #FBF3E7;
  text-decoration: none;
}

/* — SÉLECTION DE FRÉDÉRIC : bande de 3 cartes (2,3,4) — */
:root body > main:not(:has(> article)) > div > div:nth-child(2),
:root body > main:not(:has(> article)) > div > div:nth-child(3),
:root body > main:not(:has(> article)) > div > div:nth-child(4) {
  grid-column: span 2;
  margin-top: 3.1rem;
  background: #FFFCF6;
  border-top: 3px solid var(--color-accent);
}

:root body > main:not(:has(> article)) > div > div:nth-child(2) {
  position: relative;
}

:root body > main:not(:has(> article)) > div > div:nth-child(2)::before {
  content: "Sélection de Frédéric — à lire d'abord";
  position: absolute;
  top: -2.25rem;
  left: 0;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-primary);
  white-space: nowrap;
}

:root body > main:not(:has(> article)) > div > div:nth-child(2) > h2::before,
:root body > main:not(:has(> article)) > div > div:nth-child(3) > h2::before,
:root body > main:not(:has(> article)) > div > div:nth-child(4) > h2::before {
  counter-increment: pick;
  content: "N° " counter(pick, upper-roman);
  display: block;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--color-accent);
  margin-bottom: 0.35rem;
}

:root body > main:not(:has(> article)) > div > div:nth-child(2) > h2,
:root body > main:not(:has(> article)) > div > div:nth-child(3) > h2,
:root body > main:not(:has(> article)) > div > div:nth-child(4) > h2 {
  font-size: 1.15rem;
}

/* — LE JOURNAL : grille chronologique 2 colonnes, filets sobres — */
:root body > main:not(:has(> article)) > div > div:nth-child(n+5) {
  grid-column: span 3;
  border: none;
  border-top: 1px solid var(--color-border);
  border-radius: 0;
  background: transparent;
  padding: 1.6rem 0.2rem 0.4rem;
}

:root body > main:not(:has(> article)) > div > div:nth-child(n+5):hover {
  transform: none;
  box-shadow: none;
  border-color: var(--color-primary);
}

:root body > main:not(:has(> article)) > div > div:nth-child(5) {
  margin-top: 3.1rem;
  position: relative;
}

:root body > main:not(:has(> article)) > div > div:nth-child(5)::before {
  content: "Le journal — tous les carnets";
  position: absolute;
  top: -2.2rem;
  left: 0;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-secondary);
  white-space: nowrap;
}

/* ─── Article : titre monumental, kicker, lettrine, dinkus, citation ── */

:root body > main:has(> article) > h1 {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.1;
  letter-spacing: -0.015em;
  max-width: 22ch;
  margin: 0.4rem 0 1.4rem;
}

:root body > main:has(> article) > h1::before {
  content: "Le carnet de Frédéric";
  display: block;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 0.9rem;
}

:root body > main:has(> article) > h1::after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  background: var(--color-accent);
  margin-top: 1.2rem;
}

/* lettrine du premier paragraphe */
:root body > main:has(> article) > article > p:first-of-type::first-letter {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 3.2em;
  float: left;
  line-height: 0.72;
  margin: 0.05em 0.1em 0 0;
  color: var(--color-primary);
}

/* dinkus entre sections (sauf la première h2) */
:root body > main:has(> article) > article > h2 {
  border-bottom: none;
  padding-bottom: 0;
  text-align: left;
}

:root body > main:has(> article) > article > h2:not(:first-of-type)::before {
  content: "✦ ✦ ✦";
  display: block;
  text-align: center;
  color: var(--color-accent);
  font-size: 0.8rem;
  letter-spacing: 0.5em;
  margin: 0.4rem 0 1.8rem;
  text-indent: 0.5em;
}

/* citation à guillemet suspendu */
:root body > main:has(> article) article blockquote {
  position: relative;
  border-left: 4px solid var(--color-primary);
  padding-left: 2.4rem;
}

:root body > main:has(> article) article blockquote::before {
  content: "\201C";
  position: absolute;
  left: 0.5rem;
  top: -0.35rem;
  font-family: var(--font-heading);
  font-size: 3.2rem;
  line-height: 1;
  color: var(--color-accent);
}

/* encart « À savoir » — note de terrain sobre */
:root body > main:has(> article) > article > div {
  background: var(--color-surface);
  border: none;
  border-left: 3px solid var(--color-primary);
  border-radius: 0 var(--border-radius) var(--border-radius) 0;
  padding: 1rem 1.3rem;
  margin-top: 2.5rem;
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

/* ─── Articles connexes (aside) ──────────────────────────────────── */

:root body > main:has(> article) > aside {
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-border);
}

:root body > main:has(> article) > aside > h4 {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-secondary);
  margin: 0 0 1rem;
}

:root body > main:has(> article) > aside > div {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem 1.5rem;
}

:root body > main:has(> article) > aside > div > div {
  border-top: 2px solid var(--color-border-light);
  padding-top: 0.7rem;
}

:root body > main:has(> article) > aside > div > div > a {
  font-family: var(--font-heading);
  font-size: 1.05rem;
  line-height: 1.3;
  color: var(--color-text);
  text-decoration: none;
}

:root body > main:has(> article) > aside > div > div > a:hover {
  color: var(--color-primary);
}

/* ─── Accueil responsive : la grille 6-col retombe en pile ────────── */

@media (max-width: 720px) {
  :root body > main:not(:has(> article)) > div {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  :root body > main:not(:has(> article)) > div > div,
  :root body > main:not(:has(> article)) > div > div:first-child,
  :root body > main:not(:has(> article)) > div > div:nth-child(2),
  :root body > main:not(:has(> article)) > div > div:nth-child(3),
  :root body > main:not(:has(> article)) > div > div:nth-child(4),
  :root body > main:not(:has(> article)) > div > div:nth-child(n+5) {
    grid-column: 1 / -1;
  }
  :root body > main:not(:has(> article)) > div > div:nth-child(2),
  :root body > main:not(:has(> article)) > div > div:nth-child(5) {
    margin-top: 3rem;
  }
  :root body > main:not(:has(> article)) > div > div:nth-child(3),
  :root body > main:not(:has(> article)) > div > div:nth-child(4) {
    margin-top: 0;
  }
  :root body > main:not(:has(> article)) > div > div > a {
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
  }
}


/* === QA tail polish (2026-07-28T16:07:23.085316+00:00) — style Lambda [SB-20] compact tail across templates === */
/* The tail wrapper is always the LAST block child of <main> on the homepage,
   containing title-only rows of older articles. Various templates use different
   inner structures (ul>li / p / direct <a>) — this handles all three. */

:root main > *:last-child:not(:has(h2)):not(:has(h1)):not(:has(article)) {
  grid-column: 1 / -1;
  max-width: min(720px, 92vw);
  margin: 88px auto 0;
  padding: 40px 0 32px;
  border-top: 2px double rgba(0, 0, 0, .16);
  background: transparent;
  box-shadow: none;
}

:root main > *:last-child:not(:has(h2)):not(:has(h1)):not(:has(article))::before {
  content: "\2014  MORE FROM THE ARCHIVE  \2014";
  display: block;
  text-align: center;
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  opacity: .5;
  margin-bottom: 36px;
}

/* Any list / paragraph rows: 2-col on desktop, single on mobile */
:root main > *:last-child ul {
  list-style: none;
  padding: 0;
  margin: 0;
  columns: 2;
  column-gap: 48px;
}
@media (max-width: 899px) {
  :root main > *:last-child ul { columns: 1; }
}

:root main > *:last-child li,
:root main > *:last-child > p,
:root main > *:last-child > a {
  padding: 10px 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 15px;
  line-height: 1.4;
  border-bottom: 1px dotted rgba(0, 0, 0, .12);
  break-inside: avoid;
  display: block;
}

:root main > *:last-child li a,
:root main > *:last-child p a,
:root main > *:last-child > a {
  text-decoration: none;
  font-weight: 600;
}

:root main > *:last-child li a:hover,
:root main > *:last-child p a:hover,
:root main > *:last-child > a:hover {
  text-decoration: underline;
}

/* dates (first inline child of li/p) — subtle mono */
:root main > *:last-child p > :first-child,
:root main > *:last-child li > :first-child:not(a) {
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 11px;
  letter-spacing: .1em;
  opacity: .5;
  margin-right: 10px;
}
