/* Hoosier Sun Journal ,  peau "ligne d'alimentation" (préfixe ndn-)
   Direction adaptée : Le Carnet d'Établi / matière braise-douce.
   Police : Vollkorn (titres) + Open Sans (texte). Deux fichiers locaux, préchargés.
   Règle négative : l'orange de mesure (--ndn-metre) ne remplit jamais un bouton
   ni un aplat de section ; il marque uniquement un jalon de chronologie. */

@font-face {
  font-family: Vollkorn;
  src: url(/vollkorn-v13-latin-700.woff2) format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url(/open-sans-latin-regular.woff2) format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url(/open-sans-latin-700.woff2) format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --ndn-craie: #FBF3E8;
  --ndn-craie-chaude: #F6E8D4;
  --ndn-encre: #2B1D12;
  --ndn-encre-doux: #5B4632;
  --ndn-atelier: #2F4F6B;
  --ndn-atelier-sombre: #22405A;
  --ndn-metre: #C4601F;
  --ndn-braise: #C0562F;
  --ndn-braise-vive: #C02F99;
  --ndn-filet: #E5D3B8;
  --ndn-filet-fort: #B9A78C;
  --ndn-ardoise: #1D211F;
  --ndn-veille-fond: #F4E7D3;
  --ndn-titre: Vollkorn, 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
  --ndn-texte: 'Open Sans', -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --ndn-mono: ui-monospace, 'SFMono-Regular', 'Cascadia Mono', Menlo, monospace;
  --ndn-pas: 1.5rem;
  --ndn-gouttiere: clamp(1.25rem, 4vw, 3rem);
  --ndn-mesure: 68ch;
  --ndn-rayon: 16px;
  --ndn-rayon-sm: 12px;
  --ndn-ombre-douce: 0 8px 22px rgba(43,29,18,.10);
  --ndn-ombre-vive: 0 12px 32px rgba(192,47,153,.18);
  --ndn-ombre-atelier: 0 10px 26px rgba(47,79,107,.22);
  --ndn-ombre-appui: 0 4px 12px rgba(196,96,31,.20);
  --ndn-ratio-paysage: 3/2;
  --ndn-ratio-carre: 1/1;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { overflow-x: clip; }

body {
  margin: 0;
  background: var(--ndn-craie);
  color: var(--ndn-encre);
  font-family: var(--ndn-texte);
  font-size: clamp(1rem, 1.05vw + .85rem, 1.125rem);
  line-height: 1.6;
  overflow-x: clip;
}

img { display: block; max-width: 100%; height: auto; }

a { color: var(--ndn-atelier-sombre); text-decoration-thickness: 1.5px; text-underline-offset: 2px; }
a:hover { color: var(--ndn-braise); }
:focus-visible { outline: 3px solid var(--ndn-metre); outline-offset: 3px; border-radius: 4px; }

h1, h2, h3, h4 { font-family: var(--ndn-titre); font-weight: 700; letter-spacing: -.01em; line-height: 1.15; margin: 0 0 .5em; }
h1 { font-size: clamp(1.85rem, 3.6vw + 1rem, 3rem); }
h2 { font-size: clamp(1.4rem, 1.4vw + 1.1rem, 1.9rem); }
h3 { font-size: clamp(1.1rem, .8vw + 1rem, 1.35rem); }
h4 { font-size: 1.02rem; }

p { margin: 0 0 1em; }

/* Accessibilité */
.ndn-evitement {
  position: absolute; left: -9999px; top: 0;
  background: var(--ndn-atelier); color: var(--ndn-craie);
  padding: .75rem 1rem; border-radius: var(--ndn-rayon-sm); z-index: 999;
  text-decoration: none; font-weight: 700;
}
.ndn-evitement:focus { left: var(--ndn-gouttiere); top: 1rem; }

/* Conteneur */
.ndn-gain {
  width: min(100% - 2 * var(--ndn-gouttiere), 76rem);
  margin-inline: auto;
  min-width: 0;
}

/* ---------- En-tête ---------- */
.ndn-entete {
  background: rgba(251,243,232,.96);
  color: var(--ndn-encre);
  box-shadow: 0 1px 0 var(--ndn-filet), 0 10px 24px rgba(43,29,18,.06);
}
.ndn-entete__liseret {
  height: 6px;
  background: repeating-linear-gradient(90deg, var(--ndn-metre) 0 18px, var(--ndn-braise) 18px 36px, var(--ndn-atelier) 36px 54px);
}
.ndn-entete__interieur {
  display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem;
  padding: 1rem 0; min-width: 0;
}
.ndn-enseigne {
  display: inline-flex; align-items: center; gap: .75rem;
  color: var(--ndn-atelier-sombre); text-decoration: none; font-family: var(--ndn-titre);
  font-weight: 700; font-size: clamp(1.2rem, 1vw + 1rem, 1.55rem); letter-spacing: .01em;
}
.ndn-enseigne__marque { flex: none; }
.ndn-devise {
  margin: 0; flex: 1 1 auto; min-width: 0;
  font-size: .82rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ndn-braise);
}
.ndn-parcours { min-width: 0; margin-left: auto; }
.ndn-parcours ul { display: flex; flex-wrap: wrap; gap: .35rem .25rem; list-style: none; margin: 0; padding: 0; }
.ndn-parcours__lien {
  display: inline-block; padding: .45rem .85rem; border-radius: 999px;
  color: var(--ndn-atelier-sombre); text-decoration: none; font-size: .92rem; font-weight: 700;
  background: transparent; box-shadow: inset 0 0 0 1px rgba(47,79,107,.22);
  transition: background .15s;
}
.ndn-parcours__lien:hover,
.ndn-parcours__lien[aria-current="page"] {
  background: var(--ndn-atelier); color: var(--ndn-craie);
  box-shadow: var(--ndn-ombre-atelier);
}

/* ---------- Préambule ---------- */
.ndn-preambule { padding: clamp(2rem, 5vw, 4rem) 0 clamp(1.5rem, 3vw, 2.5rem); }
.ndn-preambule--large .ndn-preambule__trame {
  display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3rem); align-items: end;
}
.ndn-preambule__chapeau { min-width: 0; }
.ndn-preambule__chapeau h1 { margin-bottom: .6rem; }
.ndn-preambule__chapeau p {
  max-width: 52ch; color: var(--ndn-encre-doux); font-size: 1.06rem;
}
.ndn-oeil {
  font: 700 .74rem/1.3 var(--ndn-mono); letter-spacing: .18em; text-transform: uppercase;
  color: var(--ndn-braise); margin-bottom: .85rem;
}
.ndn-releve-bloc {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0; border-top: 1px solid var(--ndn-filet); padding-top: 1rem; margin: 0;
}
.ndn-releve-bloc__cellule { min-width: 0; padding-inline: .75rem; border-left: 2px solid var(--ndn-filet-fort); }
.ndn-releve-bloc__cellule:first-child { border-left: none; padding-left: 0; }
.ndn-releve-bloc dt {
  font: 700 .68rem/1.3 var(--ndn-mono); letter-spacing: .1em; text-transform: uppercase;
  color: var(--ndn-encre-doux); margin-bottom: .25rem;
}
.ndn-releve-bloc dd {
  margin: 0; font-family: var(--ndn-titre); font-weight: 700;
  font-size: clamp(1.3rem, 1vw + 1rem, 1.7rem); font-variant-numeric: tabular-nums;
  color: var(--ndn-atelier-sombre);
}

/* ---------- Aube : bandeau de lever de soleil (signature) ---------- */
.ndn-aube {
  position: relative; isolation: isolate; overflow: hidden;
  margin-top: clamp(1rem, 2.5vw, 2rem);
  padding: clamp(2rem, 5vw, 3.75rem) clamp(1.25rem, 4vw, 3.5rem);
  border-radius: 24px; color: var(--ndn-craie);
  background:
    radial-gradient(120% 140% at 92% 108%, rgba(232,140,58,.95) 0%, rgba(192,86,47,.85) 22%, rgba(47,79,107,0) 55%),
    linear-gradient(160deg, #22405A 0%, #2F4F6B 48%, #4A4A63 100%);
  box-shadow: 0 22px 48px rgba(34,64,90,.28), inset 0 0 0 1px rgba(251,243,232,.08);
}
.ndn-aube::after {
  content: ""; position: absolute; inset: auto 0 0 0; height: 6px; z-index: -1;
  background: repeating-linear-gradient(90deg, var(--ndn-metre) 0 18px, var(--ndn-braise) 18px 36px, transparent 36px 54px);
  opacity: .9;
}
.ndn-aube__soleil {
  position: absolute; z-index: -1; right: clamp(-9rem, -6vw, -3rem); bottom: clamp(-12rem, -9vw, -5rem);
  width: clamp(18rem, 34vw, 30rem); height: auto; pointer-events: none;
}
.ndn-aube__soleil circle { fill: #F2A65A; opacity: .9; }
.ndn-aube__soleil g { stroke: #F6C38A; stroke-width: 7; stroke-linecap: round; opacity: .55; }
.ndn-aube h1 { color: #FFF8EE; font-size: clamp(2.1rem, 4.2vw + 1rem, 3.6rem); text-shadow: 0 2px 18px rgba(0,0,0,.18); }
.ndn-aube .ndn-preambule__chapeau p { color: rgba(251,243,232,.9); }
.ndn-aube .ndn-oeil { color: #F6C38A; }
.ndn-aube .ndn-releve-bloc { border-top-color: rgba(251,243,232,.22); }
.ndn-aube .ndn-releve-bloc__cellule { border-left-color: rgba(251,243,232,.28); }
.ndn-aube .ndn-releve-bloc dt { color: rgba(251,243,232,.72); }
.ndn-aube .ndn-releve-bloc dd { color: #FFF8EE; }
.ndn-aube .ndn-releve-bloc { background: rgba(29,33,31,.22); border-radius: var(--ndn-rayon); padding: 1rem 1.1rem; border-top: none; backdrop-filter: blur(2px); }
.ndn-aube--rubrique { padding-block: clamp(1.75rem, 4vw, 3rem); }
.ndn-aube--rubrique + .ndn-gain { margin-top: clamp(1.25rem, 2.5vw, 1.75rem); }
.ndn-oeil__mot { white-space: nowrap; }
.ndn-aube .ndn-oeil { letter-spacing: .12em; line-height: 1.6; }
.ndn-aube--rubrique .ndn-preambule__chapeau p:last-child { max-width: 58ch; margin-bottom: 0; font-size: 1.08rem; }

.ndn-vedette__cachet {
  position: absolute; left: 1rem; bottom: 1rem; display: inline-flex; align-items: center; gap: .55rem;
  padding: .4rem .8rem .4rem .45rem; border-radius: 999px;
  background: rgba(251,243,232,.94); color: var(--ndn-atelier-sombre);
  font: 700 .74rem/1.2 var(--ndn-mono); letter-spacing: .08em; text-transform: uppercase;
  box-shadow: 0 6px 18px rgba(0,0,0,.22);
}
.ndn-vedette__cachet b { background: var(--ndn-metre); color: #fff; padding: .25rem .5rem; border-radius: 999px; font-weight: 700; }
.ndn-releve__duree {
  font: 600 .72rem/1.2 var(--ndn-mono); letter-spacing: .08em; text-transform: uppercase;
  color: var(--ndn-encre-doux); padding-left: .6rem; border-left: 2px solid var(--ndn-filet-fort);
}

/* ---------- Section ---------- */
.ndn-rayon { padding: clamp(1.5rem, 3vw, 2.5rem) 0; }
.ndn-rayon__tete {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1rem;
  border-top: 2px solid var(--ndn-atelier); padding-top: .85rem; margin-bottom: 1.5rem;
}
.ndn-rayon__tete h2 { margin: 0; }
.ndn-rayon__phrase { margin: 0; color: var(--ndn-encre-doux); font-size: .98rem; max-width: 60ch; }
.ndn-rayon__decompte {
  margin-left: auto; font: 700 .8rem/1 var(--ndn-mono); letter-spacing: .08em;
  color: var(--ndn-encre-doux); background: var(--ndn-craie-chaude);
  padding: .35rem .7rem; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--ndn-filet);
}

/* ---------- VEDETTE ---------- */
.ndn-rayon--vedette { padding-top: 1rem; margin-top: clamp(1.25rem, 2.5vw, 2rem); }
.ndn-vedette {
  display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2.25rem); align-items: center;
  background: var(--ndn-craie-chaude); border-radius: 20px;
  padding: clamp(1rem, 2.5vw, 1.75rem);
  box-shadow: var(--ndn-ombre-douce), 0 1px 0 rgba(43,29,18,.05);
}
.ndn-vedette__vignette { margin: 0; min-width: 0; }
.ndn-vedette__vignette a { display: block; position: relative; border-radius: var(--ndn-rayon); overflow: hidden; }
.ndn-vedette__vignette img {
  width: 100%; aspect-ratio: var(--ndn-ratio-paysage); object-fit: cover;
  border-radius: var(--ndn-rayon); transition: transform .35s;
}
.ndn-vedette__vignette a:hover img { transform: scale(1.02); }
.ndn-vedette__voile {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(29,33,31,0) 60%, rgba(29,33,31,.38) 100%);
}
.ndn-vedette__texte { min-width: 0; }
.ndn-vedette__rubrique { margin: .35rem 0 .5rem; }
.ndn-vedette__titre { font-size: clamp(1.45rem, 1.9vw + 1rem, 2.2rem); margin: .35rem 0 .65rem; }
.ndn-vedette__titre a { color: var(--ndn-encre); text-decoration: none; }
.ndn-vedette__titre a:hover { color: var(--ndn-braise); }
.ndn-vedette__abrege { color: var(--ndn-encre-doux); font-size: 1.02rem; max-width: 44ch; }
.ndn-vedette__actions { margin: .75rem 0 0; }

.ndn-bouton {
  display: inline-block; padding: .7rem 1.2rem; border-radius: 999px;
  background: var(--ndn-atelier); color: var(--ndn-craie); text-decoration: none;
  font-weight: 700; font-size: .95rem; box-shadow: var(--ndn-ombre-atelier);
  transition: transform .15s, box-shadow .15s;
}
.ndn-bouton:hover { background: var(--ndn-atelier-sombre); color: var(--ndn-craie); transform: translateY(-1px); box-shadow: 0 14px 30px rgba(34,64,90,.30); }

/* ---------- Casier (grille des cartes) ---------- */
.ndn-casier {
  display: grid; gap: clamp(1rem, 2.2vw, 1.5rem);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}
.ndn-casier--suite { margin-top: clamp(1rem, 2.2vw, 1.5rem); }

.ndn-entree {
  display: flex; flex-direction: column; min-width: 0;
  background: #fff; border-radius: var(--ndn-rayon);
  overflow: hidden; box-shadow: var(--ndn-ombre-douce);
  transition: transform .18s, box-shadow .18s;
}
.ndn-entree:hover { transform: translateY(-3px); box-shadow: var(--ndn-ombre-vive); }
.ndn-entree__vignette { margin: 0; overflow: hidden; }
.ndn-entree__vignette img {
  width: 100%; aspect-ratio: var(--ndn-ratio-paysage); object-fit: cover;
  transition: transform .4s;
}
.ndn-entree:hover .ndn-entree__vignette img { transform: scale(1.03); }
.ndn-entree__texte { padding: 1rem 1.15rem 1.15rem; min-width: 0; flex: 1; display: flex; flex-direction: column; }
.ndn-entree__titre { font-size: 1.15rem; margin: .35rem 0 .5rem; }
.ndn-entree__titre a { color: var(--ndn-encre); text-decoration: none; }
.ndn-entree__titre a:hover { color: var(--ndn-braise); text-decoration: underline; }
.ndn-entree__abrege { color: var(--ndn-encre-doux); font-size: .96rem; margin: 0 0 auto; }

.ndn-entree--ligne {
  display: grid; grid-template-columns: minmax(0, 13rem) minmax(0, 1fr);
  gap: 1.25rem; align-items: start; padding: clamp(.75rem, 1.6vw, 1rem); height: 100%;
}
.ndn-entree--ligne .ndn-entree__vignette { border-radius: var(--ndn-rayon-sm); align-self: start; }
.ndn-entree--ligne .ndn-entree__vignette img { aspect-ratio: 4/3; height: auto; border-radius: var(--ndn-rayon-sm); }
.ndn-entree--ligne .ndn-entree__texte { padding: .15rem .25rem 0 0; }

/* ---------- Relevé (date mono + pastille) ---------- */
.ndn-releve {
  display: flex; align-items: baseline; gap: .55rem;
  margin: 0; padding: 0;
}
.ndn-releve__date {
  font: 700 .72rem/1.2 var(--ndn-mono); letter-spacing: .08em; text-transform: uppercase;
  color: var(--ndn-braise); font-variant-numeric: tabular-nums;
  position: relative; padding-left: 1rem;
}
.ndn-releve__date::before {
  content: ""; position: absolute; left: 0; top: 50%; width: 8px; height: 8px;
  border-radius: 50%; background: var(--ndn-metre); transform: translateY(-50%);
}
.ndn-releve--fiche { margin-top: .5rem; }

/* ---------- Piliers (rubrique + date + durée) ---------- */
.ndn-veille {
  display: flex; flex-wrap: wrap; gap: .5rem .9rem;
  border-top: 1px solid var(--ndn-filet); padding-top: .5rem; margin-top: 1rem;
}
.ndn-veille span {
  font: 600 .68rem/1.4 var(--ndn-mono); letter-spacing: .08em; text-transform: uppercase;
  color: var(--ndn-encre-doux); padding-left: .7rem; border-left: 2px solid var(--ndn-filet-fort);
}
.ndn-veille span:first-child { border-left: none; padding-left: 0; }

/* ---------- Compact (petites entrées) ---------- */
.ndn-compact {
  list-style: none; margin: clamp(1rem, 2.2vw, 1.5rem) 0 0; padding: 0;
  display: grid; gap: 0; border-top: 1px solid var(--ndn-filet);
}
.ndn-compact__item {
  display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 1rem;
  padding: .9rem 0; border-bottom: 1px solid var(--ndn-filet); align-items: center;
  min-width: 0;
}
.ndn-compact__vignette { margin: 0; min-width: 0; }
.ndn-compact__vignette img {
  width: 100%; aspect-ratio: var(--ndn-ratio-carre); object-fit: cover;
  border-radius: var(--ndn-rayon-sm); box-shadow: var(--ndn-ombre-douce);
}
.ndn-compact__texte { min-width: 0; }
.ndn-compact__titre { font-size: 1.06rem; margin: .25rem 0 .15rem; }
.ndn-compact__titre a { color: var(--ndn-encre); text-decoration: none; }
.ndn-compact__titre a:hover { color: var(--ndn-braise); text-decoration: underline; }
.ndn-compact__mention { margin: 0; font-size: .8rem; color: var(--ndn-encre-doux); }

/* ---------- Veille (section large retournée) ---------- */
.ndn-rayon--veille {
  background: var(--ndn-veille-fond);
  background-image: repeating-linear-gradient(135deg, rgba(196,96,31,.06) 0 1px, transparent 1px 22px);
  margin: clamp(1.5rem, 3vw, 2.5rem) 0;
  padding: clamp(2rem, 4vw, 3rem) var(--ndn-gouttiere);
  border-radius: var(--ndn-rayon);
  box-shadow: inset 0 0 0 1px rgba(185,167,140,.35);
}
.ndn-rayon--veille > * { width: min(100%, 76rem); margin-inline: auto; }
.ndn-veille-colonnes {
  display: grid; gap: clamp(1.25rem, 3vw, 2.5rem);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
}
.ndn-veille-colonne {
  min-width: 0; padding-left: 1.1rem; border-left: 2px solid var(--ndn-filet-fort);
}
.ndn-veille-colonne:first-child { border-left: none; padding-left: 0; }
.ndn-veille-colonne__titre { margin-bottom: .35rem; }
.ndn-veille-colonne__titre a { color: var(--ndn-encre); text-decoration: none; }
.ndn-veille-colonne__titre a:hover { color: var(--ndn-braise); }
.ndn-veille-colonne__intro { color: var(--ndn-encre-doux); font-size: .93rem; margin-bottom: .85rem; }
.ndn-veille-colonne__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: .85rem; }
.ndn-veille-colonne__liste li {
  display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: .75rem;
  align-items: center; min-width: 0;
}
.ndn-veille-item__vignette { margin: 0; min-width: 0; }
.ndn-veille-item__vignette img {
  width: 100%; aspect-ratio: var(--ndn-ratio-carre); object-fit: cover;
  border-radius: var(--ndn-rayon-sm); box-shadow: var(--ndn-ombre-douce);
}
.ndn-veille-item__titre { font-size: .98rem; margin: 0 0 .15rem; }
.ndn-veille-item__titre a { color: var(--ndn-encre); text-decoration: none; }
.ndn-veille-item__titre a:hover { color: var(--ndn-braise); text-decoration: underline; }
.ndn-veille-colonne__renvoi { margin-top: .85rem; }

.ndn-renvoi {
  display: inline-block; font-weight: 700; color: var(--ndn-atelier-sombre);
  text-decoration: none; border-bottom: 2px solid var(--ndn-metre);
  padding-bottom: 2px;
}
.ndn-renvoi:hover { color: var(--ndn-braise); border-bottom-color: var(--ndn-braise); }

/* ---------- Bande sombre ---------- */
.ndn-tribune { background: var(--ndn-ardoise); color: var(--ndn-craie); margin: clamp(1.5rem, 3vw, 2.5rem) 0; }
.ndn-tribune__interieur {
  padding: clamp(1.75rem, 4vw, 2.75rem) 0;
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 1rem;
}
.ndn-tribune__oeil {
  flex: 0 0 auto; margin: 0; font: 700 .72rem/1 var(--ndn-mono);
  letter-spacing: .16em; text-transform: uppercase; color: var(--ndn-metre);
  padding: .35rem .7rem; border-radius: 999px; background: rgba(196,96,31,.15);
  box-shadow: inset 0 0 0 1px rgba(196,96,31,.4);
}
.ndn-tribune__titre {
  flex: 1 1 24rem; min-width: 0; margin: 0;
  font-size: clamp(1.2rem, 1.4vw + .9rem, 1.75rem);
}
.ndn-tribune__titre a { color: var(--ndn-craie); text-decoration: none; }
.ndn-tribune__titre a:hover { color: var(--ndn-metre); }
.ndn-tribune__date {
  flex: 0 0 auto; margin: 0; font: 600 .78rem/1 var(--ndn-mono);
  letter-spacing: .08em; text-transform: uppercase; color: rgba(246,232,212,.7);
}

/* ---------- Comptoir (réseau) ---------- */
.ndn-comptoir { padding: clamp(1.5rem, 3vw, 2.5rem) 0; }
.ndn-comptoir__liste {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: .85rem 2rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
}
.ndn-comptoir__item {
  min-width: 0; border-top: 1px solid var(--ndn-filet); padding-top: .75rem;
  font-size: .96rem;
}
.ndn-comptoir__item--vide { color: var(--ndn-encre-doux); font-style: italic; }
.ndn-comptoir__item a { font-weight: 700; }

/* ---------- Rubrique (page de période) ---------- */
.ndn-onglets {
  display: flex; flex-wrap: wrap; gap: .5rem;
  padding: .35rem; border-radius: 999px; background: var(--ndn-craie-chaude);
  box-shadow: inset 0 0 0 1px var(--ndn-filet); margin-bottom: 1rem;
  width: fit-content; max-width: 100%;
}
.ndn-onglet {
  padding: .4rem .95rem; border-radius: 999px; text-decoration: none;
  color: var(--ndn-atelier-sombre); font-weight: 700; font-size: .9rem;
  transition: background .15s;
}
.ndn-onglet:hover { background: rgba(47,79,107,.08); }
.ndn-onglet--courant { background: var(--ndn-atelier); color: var(--ndn-craie); box-shadow: var(--ndn-ombre-atelier); }
.ndn-onglet--courant:hover { background: var(--ndn-atelier-sombre); color: var(--ndn-craie); }

.ndn-frise { display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); }
.ndn-frise__mois { min-width: 0; }
.ndn-frise__seuil {
  font: 700 .78rem/1.4 var(--ndn-mono); letter-spacing: .16em; text-transform: uppercase;
  color: var(--ndn-encre-doux); padding-bottom: .5rem;
  border-bottom: 2px solid var(--ndn-filet-fort); margin-bottom: 1rem;
}
.ndn-frise__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(1rem, 2vw, 1.5rem); grid-template-columns: repeat(auto-fill, minmax(min(100%, 34rem), 1fr)); }
.ndn-frise__liste > li { min-width: 0; }

.ndn-poste { min-width: 0; }
.ndn-poste .ndn-entree { border-top: 4px solid var(--ndn-atelier); }
.ndn-poste:nth-child(3n+2) .ndn-entree { border-top-color: var(--ndn-braise); }
.ndn-poste:nth-child(3n) .ndn-entree { border-top-color: var(--ndn-metre); }

/* ---------- Remontée ---------- */
.ndn-remontee { padding: clamp(1rem, 2vw, 1.5rem) 0 0; }
.ndn-remontee ol { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; font-size: .82rem; }
.ndn-remontee li + li::before { content: "›"; margin-right: .5rem; color: var(--ndn-filet-fort); }
.ndn-remontee a { color: var(--ndn-encre-doux); text-decoration: none; }
.ndn-remontee a:hover { color: var(--ndn-braise); text-decoration: underline; }

/* ---------- Article ---------- */
.ndn-fiche { padding-bottom: 1rem; }
.ndn-entete-fiche { padding-top: clamp(1.25rem, 3vw, 2rem); padding-bottom: .5rem; }
.ndn-entete-fiche__cote { display: flex; flex-wrap: wrap; gap: .75rem; align-items: baseline; margin-bottom: .5rem; }
.ndn-cote {
  display: inline-block; padding: .2rem .55rem; border-radius: 8px;
  background: var(--ndn-atelier); color: var(--ndn-craie);
  font: 700 .72rem/1 var(--ndn-mono); letter-spacing: .08em;
  box-shadow: var(--ndn-ombre-atelier);
}
.ndn-mention { font: 700 .8rem/1 var(--ndn-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ndn-braise); text-decoration: none; border-bottom: 2px solid var(--ndn-braise); padding-bottom: 2px; }
.ndn-mention:hover { color: var(--ndn-metre); border-color: var(--ndn-metre); }
.ndn-entete-fiche h1 { font-size: clamp(1.7rem, 3.2vw + .9rem, 2.75rem); margin: .5rem 0 .6rem; }
.ndn-chapeau { font-size: clamp(1.05rem, .6vw + 1rem, 1.22rem); color: var(--ndn-encre-doux); max-width: var(--ndn-mesure); }

.ndn-planche { margin-block: 1rem 1.75rem; }
.ndn-planche img {
  width: 100%; aspect-ratio: 21/9; object-fit: cover; border-radius: var(--ndn-rayon);
  box-shadow: var(--ndn-ombre-douce);
}
.ndn-planche__legende {
  margin-top: .6rem; font-size: .84rem; color: var(--ndn-encre-doux); max-width: var(--ndn-mesure);
}

.ndn-duo {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 15rem);
  gap: clamp(1.5rem, 3vw, 2.5rem); align-items: start;
}
.ndn-corps { min-width: 0; max-width: var(--ndn-mesure); }
.ndn-corps > p { font-size: 1.04rem; }
.ndn-corps h2 { margin-top: 1.75rem; scroll-margin-top: 1rem; }
.ndn-corps h3 { margin-top: 1.35rem; }
.ndn-corps ul, .ndn-corps ol { padding-left: 1.2rem; }
.ndn-corps li { margin-bottom: .4rem; }
.ndn-corps blockquote {
  margin: 1.25rem 0; padding: .85rem 1.1rem; border-left: 4px solid var(--ndn-metre);
  background: var(--ndn-craie-chaude); border-radius: 0 var(--ndn-rayon-sm) var(--ndn-rayon-sm) 0;
  color: var(--ndn-encre); font-family: var(--ndn-titre); font-size: 1.05rem;
}
.ndn-corps--service { max-width: var(--ndn-mesure); }

.ndn-releve-rail {
  min-width: 0; font-size: .9rem;
  position: sticky; top: 1rem;
  background: var(--ndn-craie-chaude); border-radius: var(--ndn-rayon);
  padding: 1rem 1.15rem; box-shadow: var(--ndn-ombre-douce);
}
.ndn-releve-rail h2 {
  font-size: .82rem; font-family: var(--ndn-mono); font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--ndn-braise);
  margin-bottom: .5rem;
}
.ndn-releve-rail__sommaire { list-style: none; margin: 0 0 1.25rem; padding: 0; }
.ndn-releve-rail__sommaire li { margin-bottom: .35rem; }
.ndn-releve-rail__sommaire a { color: var(--ndn-encre); text-decoration: none; border-bottom: 1px dotted var(--ndn-filet-fort); }
.ndn-releve-rail__sommaire a:hover { color: var(--ndn-braise); border-bottom-style: solid; }
.ndn-releve-rail__sources { list-style: none; margin: 0; padding: 0; }
.ndn-releve-rail__sources li { margin-bottom: .35rem; }
.ndn-releve-rail__sources a { color: var(--ndn-atelier-sombre); }

.ndn-voisinage { margin-top: clamp(1.5rem, 3vw, 2.5rem); }

/* ---------- Pied ---------- */
.ndn-pied {
  background: var(--ndn-ardoise); color: var(--ndn-craie);
  margin-top: clamp(2rem, 4vw, 3rem); padding: clamp(2rem, 4vw, 3rem) 0 0;
  border-radius: var(--ndn-rayon) var(--ndn-rayon) 0 0;
}
.ndn-pied__colonnes {
  display: grid; gap: clamp(1.5rem, 3vw, 2.5rem);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
}
.ndn-pied__colonne { min-width: 0; }
.ndn-pied h2 {
  font-family: var(--ndn-mono); font-size: .78rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--ndn-metre);
  margin-bottom: .75rem;
}
.ndn-pied p { color: rgba(246,232,212,.85); font-size: .94rem; }
.ndn-pied__note { color: rgba(246,232,212,.7); font-size: .86rem; font-style: italic; }
.ndn-pied ul { list-style: none; margin: 0; padding: 0; }
.ndn-pied li { margin-bottom: .35rem; }
.ndn-pied a { color: var(--ndn-craie); text-decoration: none; }
.ndn-pied a:hover { color: var(--ndn-metre); text-decoration: underline; }
.ndn-pied__ligne {
  padding: 1rem 0; margin-top: clamp(1.25rem, 2.5vw, 2rem);
  border-top: 1px solid rgba(246,232,212,.15);
  font: 600 .78rem/1.4 var(--ndn-mono); letter-spacing: .06em;
  color: rgba(246,232,212,.6);
}

/* ---------- Tableaux larges ---------- */
.ndn-tableau-defilant { overflow-x: auto; margin: 1rem 0; border-radius: var(--ndn-rayon-sm); box-shadow: var(--ndn-ombre-douce); }
.ndn-tableau-defilant > table { width: 100%; border-collapse: collapse; min-width: 28rem; background: #fff; }
.ndn-tableau-defilant th, .ndn-tableau-defilant td { padding: .6rem .85rem; text-align: left; border-bottom: 1px solid var(--ndn-filet); }
.ndn-tableau-defilant th { background: var(--ndn-craie-chaude); font-family: var(--ndn-mono); font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; color: var(--ndn-encre-doux); }

/* ---------- Responsive ---------- */
@media (max-width: 60rem) {
  .ndn-vedette { grid-template-columns: minmax(0, 1fr); }
  .ndn-vedette__abrege { max-width: none; }
  .ndn-duo { grid-template-columns: minmax(0, 1fr); }
  .ndn-releve-rail { position: static; }
}

@media (max-width: 40rem) {
  .ndn-preambule--large .ndn-preambule__trame { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .ndn-releve-bloc { grid-template-columns: minmax(0, 1fr); }
  .ndn-releve-bloc__cellule { border-left: none; padding: .5rem 0; border-top: 1px solid var(--ndn-filet); }
  .ndn-releve-bloc__cellule:first-child { border-top: none; }
  .ndn-entree--ligne { grid-template-columns: 96px minmax(0, 1fr); gap: .85rem; }
  .ndn-entree--ligne .ndn-entree__vignette img { aspect-ratio: 1/1; }
  .ndn-entree--ligne .ndn-entree__abrege { display: none; }
  .ndn-devise { display: none; }
  .ndn-parcours { width: 100%; margin-left: 0; }
  .ndn-parcours ul { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
  .ndn-parcours li { flex: none; }
  .ndn-parcours__lien { font-size: .85rem; padding: .4rem .75rem; }
  .ndn-entete__interieur { padding: .7rem 0; }
  .ndn-aube { border-radius: 18px; }
  .ndn-vedette__cachet { left: .65rem; bottom: .65rem; font-size: .66rem; }
  .ndn-compact__item { grid-template-columns: 84px minmax(0, 1fr); }
  .ndn-veille-colonne__liste li { grid-template-columns: 72px minmax(0, 1fr); }
  .ndn-veille-colonne { border-left: none; padding-left: 0; border-top: 2px solid var(--ndn-filet-fort); padding-top: 1rem; }
  .ndn-veille-colonne:first-child { border-top: none; padding-top: 0; }
  .ndn-tribune__interieur { flex-direction: column; align-items: flex-start; }
  .ndn-entete__interieur { gap: .75rem; }
  .ndn-planche img { aspect-ratio: 4/3; }
  .ndn-releve { padding-top: .5rem; }
}

@media (max-width: 90rem) and (min-width: 40.01rem) {
  .ndn-devise { display: none; }
}

@media (min-width: 120rem) {
  .ndn-gain { width: min(100% - 2 * var(--ndn-gouttiere), 88rem); }
  .ndn-preambule--large .ndn-preambule__trame { gap: 4rem; }
}
