/*
Theme Name: BrassardAmérique
Author: Seobooster Ltd
Description: Thème sur-mesure code-pur v4 — fonds d'archives / généalogie & héritage (familles souches de la Nouvelle-France). Direction héraldique : frontispice symétrique, épine de filiation, page savante annotée. Émaux patinés, neutres parchemin tièdes-froids, IM Fell + EB Garamond + Archivo + Courier Prime, coins vifs, doubles filets or, aucune ombre douce.
Version: 4.0
*/

/* ============================================================= FONTS (self-hosted, P-086) */
@font-face{font-family:'IM Fell DW Pica';src:url('fonts/imfell-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IM Fell DW Pica';src:url('fonts/imfell-400i.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
/* EB Garamond — latin + latin-ext (œ, æ, accents) */
@font-face{font-family:'EB Garamond';src:url('fonts/ebgaramond-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'EB Garamond';src:url('fonts/ebgaramond-400-ext.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'EB Garamond';src:url('fonts/ebgaramond-400i.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'EB Garamond';src:url('fonts/ebgaramond-400i-ext.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'EB Garamond';src:url('fonts/ebgaramond-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'EB Garamond';src:url('fonts/ebgaramond-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Archivo';src:url('fonts/archivo-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Archivo';src:url('fonts/archivo-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Courier Prime';src:url('fonts/courierprime-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

/* ============================================================= TOKENS */
:root{
  /* émaux (tinctures) */
  --encre:#1b1d22; --bordeaux:#6d1f2c; --bordeaux-d:#551723; --or:#a17c3a; --or-lo:#8a6a31;
  --sinople:#31513f; --azur:#2c4658;
  /* neutres parchemin (tièdes-froids, greigés) */
  --velin:#e9e5d8; --verge:#f4f1e7; --greige:#d7d2c3; --graphite:#5f5d55; --velin-clair:#e7e2d3;
  --line:#cdc7b6; --line-strong:#b7b09b;

  /* rôles sémantiques (clair) */
  --bg:var(--velin); --surface:var(--verge); --band:var(--greige);
  --ink:var(--encre); --muted:var(--graphite); --faint:#7c786c;
  --accent:var(--bordeaux); --accent-d:var(--bordeaux-d); --gold:var(--or); --gold-ink:#74561f; --on-accent:#f6efe9;
  --rule:var(--line); --rule-2:var(--line-strong);
  --onink:var(--velin-clair);
  /* séries */
  --t-famille:var(--bordeaux); --t-patronyme:var(--or-lo); --t-migration:var(--sinople); --t-methode:var(--azur);
  /* bandes sombres internes (frontispice / pied) — constantes quel que soit le thème */
  --dark-bg:#191b20; --dark-ink:var(--velin-clair); --dark-rule:#3b3d45; --dark-gold:#c2a05b; --dark-accent:#c98089;

  --f-display:'IM Fell DW Pica','EB Garamond',Georgia,serif;
  --f-body:'EB Garamond','Iowan Old Style',Georgia,serif;
  --f-label:'Archivo','Helvetica Neue',system-ui,sans-serif;
  --f-mono:'Courier Prime','Courier New',monospace;
  --wrap:1140px; --measure:66ch;
  --page-frame:1px solid var(--rule-2);
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#191b20; --surface:#22242c; --band:#2b2d36;
    --ink:#e7e2d3; --muted:#a8a390; --faint:#8b8779;
    --accent:#cb7d86; --accent-d:#b96b74; --gold:#c2a05b; --gold-ink:#c8a862; --on-accent:#1c0f13;
    --rule:#3a3c45; --rule-2:#4a4c55; --onink:#e7e2d3;
    --t-famille:#cb7d86; --t-patronyme:#c2a05b; --t-migration:#7fab8c; --t-methode:#83a5bd;
    --page-frame:1px solid var(--rule-2);
  }
}
:root[data-theme="light"]{
  --bg:var(--velin); --surface:var(--verge); --band:var(--greige);
  --ink:var(--encre); --muted:var(--graphite); --faint:#7c786c;
  --accent:var(--bordeaux); --accent-d:var(--bordeaux-d); --gold:var(--or); --gold-ink:#74561f; --on-accent:#f6efe9;
  --rule:var(--line); --rule-2:var(--line-strong); --onink:var(--velin-clair);
  --t-famille:var(--bordeaux); --t-patronyme:var(--or-lo); --t-migration:var(--sinople); --t-methode:var(--azur);
  --page-frame:1px solid var(--line-strong);
}
:root[data-theme="dark"]{
  --bg:#191b20; --surface:#22242c; --band:#2b2d36;
  --ink:#e7e2d3; --muted:#a8a390; --faint:#8b8779;
  --accent:#cb7d86; --accent-d:#b96b74; --gold:#c2a05b; --gold-ink:#c8a862;
  --rule:#3a3c45; --rule-2:#4a4c55; --onink:#e7e2d3;
  --t-famille:#cb7d86; --t-patronyme:#c2a05b; --t-migration:#7fab8c; --t-methode:#83a5bd;
  --page-frame:1px solid #4a4c55;
}

/* ============================================================= BASE */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font:400 19px/1.62 var(--f-body);
  font-variant-numeric:oldstyle-nums;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{line-height:1.16;text-wrap:balance;margin:0;color:var(--ink)}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--on-accent);padding:10px 16px;font:600 13px/1 var(--f-label);letter-spacing:.06em;z-index:200}
.skip-link:focus{left:8px;top:8px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* liens — bordeaux, filet or persistant qui s'épaissit au survol (coup de plume) */
a{color:var(--accent);text-decoration:none}
.entry-content a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--gold);
  text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-thickness .2s ease,text-decoration-color .2s ease}
.entry-content a:hover,.entry-content a:focus-visible{text-decoration-thickness:2.5px;text-decoration-color:var(--accent)}
a:visited{color:var(--accent-d)}

/* labels / kickers en Archivo petites capitales */
.kicker{font:600 12px/1.3 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 12px;display:inline-block}

/* boutons-cachets : double filet, Archivo petites capitales */
.ba-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  background:var(--accent);color:var(--on-accent);
  font:600 13px/1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;
  padding:14px 24px;border:0;border-radius:1px;cursor:pointer;
  box-shadow:inset 0 0 0 1px var(--accent), inset 0 0 0 3px var(--bg), inset 0 0 0 4px var(--gold);
  transition:background .18s ease,transform .18s ease}
.ba-btn:hover{background:var(--accent-d);transform:translateY(-1px);text-decoration:none}
.ba-btn.ghost{background:transparent;color:var(--accent);
  box-shadow:inset 0 0 0 1px var(--rule-2), inset 0 0 0 3px var(--bg), inset 0 0 0 4px var(--rule-2)}
.ba-btn.ghost:hover{background:transparent;color:var(--accent-d)}

/* équerres d'angle réutilisables (4 coins en filet or) */
.brackets{position:relative;
  --bk:16px; --bt:1.5px; --bc:var(--gold);
  background-image:
    linear-gradient(var(--bc),var(--bc)),linear-gradient(var(--bc),var(--bc)),
    linear-gradient(var(--bc),var(--bc)),linear-gradient(var(--bc),var(--bc)),
    linear-gradient(var(--bc),var(--bc)),linear-gradient(var(--bc),var(--bc)),
    linear-gradient(var(--bc),var(--bc)),linear-gradient(var(--bc),var(--bc));
  background-repeat:no-repeat;
  background-size:
    var(--bk) var(--bt),var(--bt) var(--bk),
    var(--bk) var(--bt),var(--bt) var(--bk),
    var(--bk) var(--bt),var(--bt) var(--bk),
    var(--bk) var(--bt),var(--bt) var(--bk);
  background-position:
    left 10px top 10px,left 10px top 10px,
    right 10px top 10px,right 10px top 10px,
    left 10px bottom 10px,left 10px bottom 10px,
    right 10px bottom 10px,right 10px bottom 10px}

/* chips de tincture (blasonnement) */
.chip{display:inline-flex;align-items:center;gap:7px;
  font:600 11px/1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);background:var(--surface);
  border:1px solid var(--rule);border-radius:1px;padding:6px 10px}
.chip::before{content:"";width:8px;height:8px;background:var(--t-famille);border-radius:1px}
.chip--famille::before{background:var(--t-famille)}
.chip--patronyme::before{background:var(--t-patronyme)}
.chip--migration::before{background:var(--t-migration)}
.chip--methode::before{background:var(--t-methode)}

/* sceau « source vérifiée » */
.seal{width:96px;height:96px;flex:none;color:var(--gold)}
.seal--sm{width:64px;height:64px}

/* filets décoratifs */
.rule-double{height:0;border:0;border-top:2px solid var(--gold);position:relative;margin:14px auto}
.rule-double::after{content:"";position:absolute;left:0;right:0;top:4px;border-top:1px solid var(--gold);opacity:.75}

/* ============================================================= HEADER */
.site-head{position:sticky;top:0;z-index:60;background:var(--bg);
  background:color-mix(in srgb,var(--bg) 92%,transparent);
  backdrop-filter:blur(6px);border-bottom:1px solid var(--rule);
  box-shadow:0 1px 0 var(--gold)}
.site-head .wrap{display:flex;align-items:center;gap:22px;min-height:74px}
.site-head__brand{display:inline-flex}
.ba-word{display:inline-flex;align-items:center;gap:11px;color:var(--ink)}
.ba-blason{flex:none}
.ba-blason__shield{stroke:var(--accent)}
.ba-blason__inner{stroke:var(--gold)}
.ba-blason__lys{fill:var(--gold)}
.ba-word__txt{display:flex;flex-direction:column;line-height:1}
.ba-word__name{font:400 24px/1 var(--f-display);color:var(--ink);letter-spacing:.01em}
.ba-word__sub{font:600 9.5px/1 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin-top:5px}
/* nav Archivo petites-caps AVEC séparateurs (jamais de puces brutes) */
nav.nav{margin-left:auto}
nav.nav ul{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}
nav.nav li{list-style:none;display:flex;align-items:center}
nav.nav li:not(:first-child){border-left:1px solid var(--rule)}
nav.nav a{display:inline-block;color:var(--ink);
  font:600 12px/1 var(--f-label);letter-spacing:.13em;text-transform:uppercase;
  padding:8px 18px;transition:color .18s ease}
nav.nav a:hover{color:var(--accent);text-decoration:none}
.head-cta{color:var(--accent) !important;box-shadow:inset 0 0 0 1px var(--gold);border-radius:1px;margin-left:8px}
.head-cta:hover{background:var(--accent);color:#f6efe9 !important}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--rule);border-radius:1px;
  font-size:20px;line-height:1;padding:8px 11px;cursor:pointer;color:var(--ink)}

/* ============================================================= FRONTISPICE */
.frontispiece{padding:12px 0 0}
.frontispiece__frame{max-width:820px;margin:26px auto 0;padding:clamp(34px,6vw,64px) clamp(22px,5vw,60px);
  text-align:center;background:var(--surface);
  border:var(--page-frame);
  box-shadow:inset 0 0 0 5px var(--bg),inset 0 0 0 6px var(--gold)}
.frontispiece__blason{margin:0 auto 20px;color:var(--accent)}
.frontispiece__blason .sh{stroke:var(--accent);fill:none}
.frontispiece__blason .in{stroke:var(--gold);fill:none}
.frontispiece__blason .ly{fill:var(--gold)}
.frontispiece__over{font:600 12px/1.4 var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 18px}
.frontispiece__title{font:400 clamp(38px,7vw,66px)/1.04 var(--f-display);color:var(--ink);letter-spacing:.01em;margin:0}
.frontispiece__title em{font-style:italic;color:var(--accent)}
.frontispiece__rule{width:min(280px,70%);height:0;margin:22px auto 20px;border:0;border-top:2px solid var(--gold);position:relative}
.frontispiece__rule::after{content:"";position:absolute;left:0;right:0;top:4px;border-top:1px solid var(--gold);opacity:.7}
.frontispiece__rule::before{content:"❧";position:absolute;left:50%;top:-14px;transform:translateX(-50%);background:var(--surface);padding:0 12px;color:var(--gold-ink);font-size:18px;line-height:1}
.frontispiece__sub{font:500 15px/1.5 var(--f-body);font-variant:small-caps;letter-spacing:.08em;color:var(--muted);margin:0 auto;max-width:52ch}
.frontispiece__lede{font:400 20px/1.6 var(--f-body);color:var(--ink);max-width:56ch;margin:22px auto 0}
.frontispiece__edition{font:400 13px/1.6 var(--f-mono);color:var(--faint);margin:26px 0 0;letter-spacing:.02em}

/* ============================================================= SECTIONS génériques */
.reg-section{padding:64px 0}
.reg-section--band{background:var(--band);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.reg-head{text-align:center;max-width:60ch;margin:0 auto 40px}
.reg-head .kicker{color:var(--gold-ink)}
.reg-head h2{font:500 clamp(26px,4vw,38px)/1.12 var(--f-body);font-variant:small-caps;letter-spacing:.02em}
.reg-head p{color:var(--muted);margin:12px auto 0;max-width:54ch}
.reg-head__sep{width:64px;border-top:1px solid var(--gold);margin:16px auto 0}

/* FAQ — questions au généalogiste (dépliants réglés) */
details.faq{background:var(--surface);border:1px solid var(--rule);border-left:2px solid var(--gold);border-radius:1px;padding:16px 20px}
details.faq summary{cursor:pointer;list-style:none;font:400 20px/1.3 var(--f-display);color:var(--ink);display:flex;justify-content:space-between;gap:14px;align-items:baseline}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";font:400 22px/1 var(--f-body);color:var(--gold);flex:none}
details.faq[open] summary::after{content:"–"}
details.faq p{margin:12px 0 0;font:400 17px/1.6 var(--f-body);color:var(--muted)}

/* RÉPERTOIRE — index de registre réglé, une entrée par filet or (pas de tuiles) */
.repertoire{max-width:820px;margin:0 auto;border-top:2px solid var(--gold)}
.reg-index__item{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:18px;
  padding:22px 6px;border-bottom:1px solid var(--rule);color:var(--ink)}
.reg-index__item:hover{text-decoration:none}
.reg-index__item:hover .reg-index__label{color:var(--accent)}
.reg-index__bullet{width:12px;height:12px;border-radius:1px;transform:translateY(2px);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.reg-index__item--famille .reg-index__bullet{background:var(--t-famille)}
.reg-index__item--patronyme .reg-index__bullet{background:var(--t-patronyme)}
.reg-index__item--migration .reg-index__bullet{background:var(--t-migration)}
.reg-index__item--methode .reg-index__bullet{background:var(--t-methode)}
.reg-index__body{min-width:0}
.reg-index__label{display:block;font:400 24px/1.15 var(--f-display);color:var(--ink);transition:color .18s ease}
.reg-index__desc{display:block;font:400 16px/1.5 var(--f-body);color:var(--muted);margin-top:4px}
.reg-index__tag{font:600 10px/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin-top:8px;display:inline-block}
.reg-index__folio{font:400 14px/1 var(--f-mono);color:var(--faint);white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}

/* ÉPINE DE FILIATION — colonne verticale centrale, fiches-actes datées en frise */
.filiation{position:relative;max-width:900px;margin:0 auto;padding:8px 0}
.filiation::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;
  background:linear-gradient(var(--gold),var(--gold)) center/2px 100% no-repeat;transform:translateX(-1px)}
.filiation__entry{position:relative;width:calc(50% - 40px);margin:0 0 34px}
.filiation__entry:nth-child(odd){margin-left:0}
.filiation__entry:nth-child(even){margin-left:calc(50% + 40px)}
.filiation__node{position:absolute;top:26px;width:13px;height:13px;background:var(--bg);
  border:2px solid var(--gold);border-radius:50%;z-index:2}
.filiation__entry:nth-child(odd) .filiation__node{right:-47px}
.filiation__entry:nth-child(even) .filiation__node{left:-47px}
.filiation__date{font:400 14px/1 var(--f-mono);color:var(--accent);letter-spacing:.03em;
  font-variant-numeric:lining-nums;margin:0 0 8px;display:block}
.filiation__card{background:var(--surface);border:1px solid var(--rule);padding:20px 22px;
  box-shadow:inset 0 0 0 1px var(--bg),inset 0 0 0 2px var(--rule)}
.filiation__card h3{font:400 21px/1.2 var(--f-display);color:var(--ink);margin:0 0 6px}
.filiation__card p{font:400 15.5px/1.55 var(--f-body);color:var(--muted);margin:0}
.filiation__cite{display:block;font:400 12.5px/1.4 var(--f-mono);color:var(--faint);margin-top:10px}

/* ============================================================= LEAD (acte / cachet) */
.lead-section{background:var(--dark-bg);color:var(--dark-ink);padding:70px 0;
  border-top:1px solid var(--dark-gold);border-bottom:1px solid var(--dark-gold)}
.lead-grid{max-width:940px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.lead-intro .kicker{color:var(--dark-gold)}
.lead-intro h2{font:400 clamp(28px,4vw,40px)/1.1 var(--f-display);color:var(--dark-ink);margin:0 0 14px}
.lead-intro p{color:#c9c0ad;font-size:17px}
.lead-intro__seal{margin-top:22px;color:var(--dark-gold)}
.lead-frame{background:var(--verge);color:var(--encre);padding:26px;border-radius:1px;
  box-shadow:inset 0 0 0 4px var(--verge),inset 0 0 0 5px var(--or)}
.lead-frame__title{font:400 22px/1.2 var(--f-display);color:var(--encre);margin:0 0 4px}
.lead-frame__acte{font:400 12px/1 var(--f-mono);color:#7c786c;letter-spacing:.04em;margin:0 0 16px}
/* champs du formulaire */
.ba-lead label{display:block;font:600 13px/1.4 var(--f-label);letter-spacing:.01em;color:#57544b;margin:16px 0 0}
.ba-lead input,.ba-lead select{width:100%;margin-top:7px;padding:12px 13px;border:1px solid var(--line-strong);
  border-radius:1px;font:400 17px/1.3 var(--f-body);color:var(--encre);background:#fff}
.ba-lead input:focus,.ba-lead select:focus{outline:2px solid var(--or);outline-offset:0;border-color:var(--bordeaux)}
.ba-lead h3{font:600 12px/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--bordeaux);margin:0 0 4px}
.ba-lead .ba-btn{margin-top:20px;width:100%}
.ba-lead .ba-row{display:flex;gap:12px;margin-top:20px}
.ba-lead .ba-row .ba-btn{margin-top:0}
.ba-consent{display:flex!important;align-items:flex-start;gap:9px;text-transform:none!important;letter-spacing:0!important;
  font:400 13px/1.45 var(--f-body)!important;color:#57544b!important;margin-top:16px}
.ba-consent input{width:auto!important;margin:3px 0 0!important}
.ba-mini{font:400 12.5px/1.5 var(--f-mono);color:#807c70;text-align:left;margin:16px 0 0}
.ba-ok{background:#eaf1ea;border:1px solid var(--sinople);color:#274a37;border-radius:1px;padding:13px 16px;margin:0 0 16px;font:500 15px/1.4 var(--f-body)}

/* ============================================================= FICHES / ARCHIVES (index, author) */
.arch-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post-card{position:relative;background:var(--surface);border:1px solid var(--rule);border-top:2px solid var(--gold);
  display:flex;flex-direction:column;border-radius:1px}
.post-card:hover{border-color:var(--rule-2)}
.post-card .thumb{aspect-ratio:16/10;background:var(--band);overflow:hidden;border-bottom:1px solid var(--rule)}
.post-card .thumb img{width:100%;height:100%;object-fit:cover}
.post-card .body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px}
.post-card .cat{font:600 10px/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.post-card h3{font:400 21px/1.18 var(--f-display)}
.post-card h3 a{color:var(--ink);background:none}
.post-card h3 a:hover{color:var(--accent)}
.post-card .dek{font:400 15px/1.5 var(--f-body);color:var(--muted);margin:0}
.arch-pager{text-align:center;margin-top:34px}
.arch-pager a,.arch-pager .current{display:inline-block;font:400 15px/1 var(--f-mono);color:var(--accent);
  padding:8px 12px;border:1px solid var(--rule);margin:0 3px;border-radius:1px}
.arch-pager .current{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}

/* ============================================================= SINGLE — document savant */
.single-doc{max-width:1080px;margin:0 auto;padding:34px 22px 0;
  display:grid;grid-template-columns:minmax(0,1fr) 214px;gap:44px;align-items:start}
.doc-main{min-width:0;max-width:var(--measure)}
/* fil d'ariane / titre courant */
.ba-bc{font:600 11px/1.4 var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0 0 22px}
.ba-bc ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.ba-bc a{color:var(--muted)}
.ba-bc li:not(:last-child)::after{content:"›";margin-left:8px;color:var(--gold)}
.doc-title{margin:0 0 8px}
.doc-title .kicker{color:var(--gold-ink)}
.entry-title{font:400 clamp(30px,4.6vw,46px)/1.08 var(--f-display);margin:6px 0 14px}
.entry-meta{font:400 14px/1.5 var(--f-mono);color:var(--muted);margin:0 0 22px;font-variant-numeric:lining-nums}
.entry-meta a{color:var(--accent)}
.doc-figure{margin:0 0 28px;border:1px solid var(--rule);padding:6px;background:var(--surface)}
.doc-figure img{width:100%;border-radius:0}
.doc-figure figcaption{font:400 12.5px/1.4 var(--f-mono);color:var(--faint);padding:8px 4px 2px}

/* corps de texte */
.entry-content{font:400 19.5px/1.68 var(--f-body);color:var(--ink)}
.entry-content>*{margin:0 0 1.15em}
/* lettrine sur le 1er paragraphe */
.entry-content>p:first-of-type::first-letter{
  font-family:var(--f-display);font-size:4.1em;line-height:.78;float:left;
  color:var(--accent);margin:.02em .12em -.06em 0;font-weight:400}
.entry-content h2{font:500 30px/1.18 var(--f-body);font-variant:small-caps;letter-spacing:.02em;
  margin:1.7em 0 .5em;padding-bottom:.28em;border-bottom:1px solid var(--gold)}
.entry-content h3{font:italic 400 25px/1.25 var(--f-body);margin:1.4em 0 .35em;color:var(--ink)}
.entry-content ul,.entry-content ol{padding-left:1.3em}
.entry-content li{margin:.42em 0}
.entry-content ul li::marker{color:var(--gold)}
.entry-content img{margin:1.5em 0;border:1px solid var(--rule);padding:5px;background:var(--surface)}
/* exergue entre deux filets */
.entry-content blockquote{margin:1.7em 0;padding:22px 8px;text-align:center;
  border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);
  font:italic 400 22px/1.5 var(--f-body);color:var(--accent);font-variant:small-caps;letter-spacing:.02em}
.entry-content blockquote p{margin:0}
.entry-content blockquote cite{display:block;font:400 12px/1 var(--f-mono);color:var(--faint);
  font-style:normal;letter-spacing:.08em;text-transform:uppercase;margin-top:12px}
/* tableau-registre réglé */
.entry-content table{width:100%;border-collapse:collapse;margin:1.6em 0;
  font:400 16px/1.4 var(--f-body);font-variant-numeric:lining-nums tabular-nums}
.entry-content thead th{font:600 11px/1.3 var(--f-label);letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink);background:var(--band);border-bottom:2px solid var(--gold)}
.entry-content th,.entry-content td{padding:10px 13px;text-align:left;border-bottom:1px solid var(--rule)}
.entry-content tbody tr:nth-child(even){background:var(--surface)}
.entry-content .lede,.entry-content .chapeau{font:400 21px/1.55 var(--f-body);color:var(--muted)}
/* pull inline marginalia (si présent dans le contenu) */
.marginalia{font:400 13px/1.5 var(--f-mono);color:var(--muted);border-left:2px solid var(--gold);
  padding-left:12px;margin:0 0 1.15em}

/* marge savante (colonne latérale) */
.doc-margin{position:sticky;top:100px;border-left:1px solid var(--rule);padding-left:20px;
  font:400 13px/1.55 var(--f-mono);color:var(--muted)}
.doc-margin__head{font:600 10px/1.3 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 12px}
.doc-margin dl{margin:0;display:grid;gap:12px}
.doc-margin dt{font:600 9.5px/1.3 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.doc-margin dd{margin:2px 0 0;color:var(--ink);font-variant-numeric:lining-nums}
.doc-margin__note{margin-top:18px;padding-top:14px;border-top:1px solid var(--rule);font-style:italic;font-family:var(--f-body);font-size:14px}

/* colophon d'auteur */
.author-box{display:flex;gap:18px;align-items:flex-start;background:var(--surface);
  border:1px solid var(--rule);border-top:2px solid var(--gold);padding:22px;margin:36px 0 0;border-radius:1px}
.author-box .av{width:60px;height:60px;flex:none;display:flex;align-items:center;justify-content:center;
  font:400 26px/1 var(--f-display);color:var(--gold-ink);background:var(--band);
  border:1px solid var(--gold);border-radius:50%}
.author-box__role{font:600 10px/1 var(--f-label);letter-spacing:.13em;text-transform:uppercase;color:var(--gold-ink);display:block;margin:0 0 5px}
.author-box strong{font:400 20px/1.1 var(--f-display);display:block}
.author-box strong a{color:var(--ink);background:none}
.author-box p{font:400 15.5px/1.55 var(--f-body);color:var(--muted);margin:6px 0 0}

/* cul-de-lampe */
.culdelampe{text-align:center;margin:44px 0 8px;color:var(--gold)}
.culdelampe svg{display:inline-block}

/* CTA in-article */
.cta-inline{background:var(--band);border:1px solid var(--rule);border-top:2px solid var(--gold);
  padding:26px;margin:34px 0 0;border-radius:1px}
.cta-inline h2{font:400 24px/1.2 var(--f-display);margin:0 0 6px}
.cta-inline>p{color:var(--muted);margin:0 0 8px}

/* ============================================================= AUTHOR / 404 */
.author-head{background:var(--band);border-bottom:1px solid var(--gold);padding:52px 0}
.author-head .wrap{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}
.author-head .av{width:104px;height:104px;flex:none;display:flex;align-items:center;justify-content:center;
  font:400 42px/1 var(--f-display);color:var(--gold-ink);background:var(--surface);
  border:1px solid var(--gold);border-radius:50%}
.author-head h1{font:400 clamp(30px,4.4vw,44px)/1.06 var(--f-display);margin:6px 0 8px}
.author-head p{color:var(--muted);max-width:60ch;margin:0}
.notfound{text-align:center;max-width:56ch;margin:0 auto;padding:80px 22px}
.notfound h1{font:400 clamp(30px,5vw,48px)/1.08 var(--f-display);margin:10px 0 14px}
.notfound p{color:var(--muted);font-size:19px;margin:0 0 26px}

/* ============================================================= FLEURON / FOOTER */
.fleuron{text-align:center;padding:40px 0 4px;color:var(--gold)}
.fleuron svg{stroke:var(--gold);fill:var(--gold);display:inline-block}
.site-foot{background:var(--dark-bg);color:var(--dark-ink);margin-top:8px;padding:52px 0 26px;
  border-top:1px solid var(--dark-gold)}
.site-foot a{color:#d8ccb6}
.site-foot a:hover{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:38px;padding-bottom:30px;
  border-bottom:1px solid var(--dark-rule)}
.foot-col--brand .ba-word__name{color:var(--dark-ink)}
.foot-col--brand .ba-blason__shield{stroke:var(--dark-accent)}
.foot-blurb{font:400 16px/1.55 var(--f-body);color:#c9c0ad;max-width:38ch;margin:16px 0 0}
.foot-note{font:400 13px/1.5 var(--f-mono);color:#8f8876;max-width:40ch;margin:12px 0 0}
.foot-col h4{font:600 11px/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--dark-gold);margin:0 0 16px}
.foot-col ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.foot-col li{border-left:1px solid var(--dark-rule);padding-left:12px}
.foot-col a{font:400 16px/1.3 var(--f-body)}
.foot-legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;
  font:400 12.5px/1.5 var(--f-mono);color:#8f8876}
.foot-colophon{color:#a39b87}

/* ============================================================= RESPONSIVE */
@media (max-width:960px){
  .single-doc{grid-template-columns:1fr;gap:26px}
  .doc-margin{position:static;border-left:0;border-top:1px solid var(--rule);padding:18px 0 0}
  .doc-main{max-width:none}
}
@media (max-width:840px){
  .lead-grid{grid-template-columns:1fr;gap:28px}
  .arch-list{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  /* épine → colonne unique alignée à gauche */
  .filiation::before{left:7px}
  .filiation__entry,.filiation__entry:nth-child(odd),.filiation__entry:nth-child(even){width:auto;margin-left:34px}
  .filiation__entry:nth-child(odd) .filiation__node,.filiation__entry:nth-child(even) .filiation__node{left:-33px;right:auto}
}
@media (max-width:600px){
  body{font-size:18px}
  nav.nav{display:none}
  .burger{display:block}
  nav.nav.open{display:block;position:absolute;top:74px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--gold)}
  nav.nav.open ul{flex-direction:column;align-items:stretch;padding:10px 22px}
  nav.nav.open li{border-left:0;border-top:1px solid var(--rule)}
  nav.nav.open li:first-child{border-top:0}
  nav.nav.open a{padding:13px 0}
  .head-cta{margin:8px 0 0}
  .reg-section{padding:46px 0}
  .arch-list{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:26px}
  .reg-index__item{grid-template-columns:auto 1fr;gap:14px}
  .reg-index__folio{grid-column:2;text-align:left}
}

/* ============================================================= MOTION (sobre, archivistique) */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(4px);animation:ink-set .5s ease forwards}
  @keyframes ink-set{to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
