/* =========================================================================
   THE BRUSH & THE BAY — almanach de terrain, préfixe run-
   Vocabulaire du terrain de gibier : ground (largeur du contenu), blind
   (la cache : en-tête), flight (la volée : navigation, et le tide collant
   de reading), flyout (sortie au lever du jour : bande scene d'accueil,
   voilée), rise (bandeau de rubrique numéroté), stringer/landing (la ligne
   d'entrées datée du journal), stamp (le cachet de date), mark (kicker
   argile), threshold (tête de page), track (fil d'Ariane, séparateur /),
   vista (pleine largeur), channel (colonne de lecture 62ch, sans lettrine),
   table (tableaux), limit (roll à cocher, le bag limit), snag (erreurs
   fréquentes, fond nuit), beyond (à lire ensuite), roost (le dormoir :
   pied), blaze (l'ornement qui marque le sentier).
   Rythme : DEUX COLONNES asymétriques, fil dense à gauche, rail de saison
   à droite. Aucune mosaïque de cartes, aucune grille de vignettes.
   Palette : papier brume du bay (#d2d1d6, froid), encre brune, olive sec
   du brush pour les liens, eau du bay pour les dates, argile des pistes
   pour les kickers. Le papier est froid, les accents sont chauds : c'est
   une aube sur les flats. Aucune police distante, aucun dégradé décoratif,
   aucun emoji, aucun angle arrondi de carte.
   Mode sombre automatique (prefers-color-scheme).
   ========================================================================= */

:root {
  color-scheme: light dark;

  /* ---- 1. BRUME ET TERRE ------------------------------------------------- */
  --silt:         #d2d1d6;   /* fond de chaque page : la brume du bay        */
  --silt-worn:  #c6c5cb;   /* rises alternés, zones de repos            */
  --silt-lift:    #e6e5e9;   /* cartes, lignes paires, encarts               */
  --ink:       #2b2620;   /* encre du copy, brun de terre                 */
  --roost:          #1d2024;   /* blind, roost, snag, flyout voilée         */
  --mist:        #5d6066;   /* chapôs, méta, copy d'accompagnement         */
  --bark:          #2e3a35;   /* encre appuyée des heads : genévrier sombre  */
  --olive:      #5c5529;   /* trails et repères : olive sec du brush
                               (4.98:1 sur le papier brume)                */
  --olive-lift: #47411f;   /* appui au survol                              */
  --olive-pale:#b9b073;   /* olive sec sur fond nuit                      */
  --drift:       #558e89;   /* eau du bay : dates, pastilles, filets        */
  --clay:        #6d4536;   /* kickers et marks : argile des pistes
                               (5.43:1 sur le papier brume)                */
  --clay-roost:   #cf9c8a;   /* argile claire sur fond nuit                  */
  --wire:         #b3b2b8;   /* wires                                       */
  --wire-dim:    #33363c;   /* wires sur fond nuit                         */

  /* Nuit sur le bay : la brume s'assombrit, l'encre s'éclaircit. */
  --dusk-silt:   #1b1c1f;
  --dusk-worn:  #232428;
  --dusk-ink:   #dedde2;
  --dusk-mist:  #a5a7ad;

  /* ---- 2. TYPE : trois piles système, rien ne se charge ------------------ */
  --stack-head: "STIX Two Text", "STIXGeneral", "Times New Roman", serif;
  --stack-body: "PT Serif", "PT Serif Caption", "Times New Roman", serif;
  --stack-mark: "PT Mono", Menlo, "Courier New", monospace;

  --head-weight: 500;
  --caps-tracking: 0.16em;

  --body-size: clamp(1.05rem, 1rem + 0.3vw, 1.14rem);
  --body-leading: 1.62;
  --h1-scale: clamp(2.5rem, 1.3rem + 4.6vw, 5rem);
  --h2-scale: clamp(1.32rem, 1.06rem + 1vw, 1.78rem);
  --h3-scale: clamp(1.08rem, 1rem + 0.45vw, 1.3rem);

  /* ---- 3. RYTHME --------------------------------------------------------- */
  --measure:        62ch;
  --scale-broad: 1280px;
  --margin:         clamp(1.1rem, 4vw, 3.5rem);
  --gutter:     clamp(1rem, 2.4vw, 1.8rem);
  --breath:       clamp(2.2rem, 5vw, 4.6rem);
  --buttress:    clamp(1.1rem, 3vw, 2.8rem);

  /* ---- 4. DÉTAIL --------------------------------------------------------- */
  --cadence: 130ms ease;
}

@media (prefers-color-scheme: dark) {
  :root {
    --silt:        var(--dusk-silt);
    --silt-worn: var(--dusk-worn);
    --silt-lift:   #2a2b30;
    --ink:      var(--dusk-ink);
    --bark:         #cfd3d6;
    --mist:       var(--dusk-mist);
    --olive:     #b9b073;
    --olive-lift: #cdc489;
    --drift:      #6fa8a3;
    --clay:       #cf9c8a;
    --wire:        #3a3c42;
  }
}

/* =========================================================================
   SILL
   ========================================================================= */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--silt);
  color: var(--ink);
  font-family: var(--stack-body);
  font-size: var(--body-size);
  line-height: var(--body-leading);
  overflow-wrap: break-word;
}
img, svg { max-width: 100%; height: auto; display: block; }
svg.run-blaze { display: inline-block; vertical-align: -0.14em; }

h1, h2, h3, h4 {
  font-family: var(--stack-head);
  font-weight: var(--head-weight);
  line-height: 1.16;
  margin: 0;
  text-wrap: balance;
  color: var(--bark);
  letter-spacing: 0.02em;
}
h1 { font-size: var(--h1-scale); }
h2 { font-size: var(--h2-scale); }
h3 { font-size: var(--h3-scale); }

p, ul, ol { margin: 0 0 1.05em; }
a {
  color: var(--olive);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
  transition: color var(--cadence);
}
a:hover { color: var(--olive-lift); }
:focus-visible {
  outline: 2px solid var(--olive);
  outline-offset: 3px;
}
hr { border: 0; border-top: 1px solid var(--wire); margin: var(--breath) 0; }
strong { color: var(--bark); font-weight: 700; }

::selection { background: var(--olive); color: var(--silt-lift); }

/* Tout ce qui compte se lit en chiffres tabulaires : dates, grades, cm, kg. */
.run-table, .run-stamp, .run-roll, .run-flyout__outlook,
.run-rise__index, .run-mark {
  font-family: var(--stack-mark);
  font-variant-numeric: tabular-nums;
}

/* =========================================================================
   SQUELETTE
   ========================================================================= */

/* Trail d'évitement : toujours là, jamais vu sauf au clavier. */
.run-gap {
  position: absolute; left: -9999px; top: 0;
  background: var(--roost); color: var(--clay-roost);
  padding: 0.7rem 1.15rem; z-index: 60;
  font-family: var(--stack-mark); font-size: 0.85rem;
}
.run-gap:focus { left: 0.6rem; top: 0.6rem; }

.run-ground {
  max-width: var(--scale-broad);
  margin-inline: auto;
  padding-inline: var(--margin);
}

/* ---- blind : la porte du magazine -------------------------------------- */
.run-blind {
  background: var(--roost);
  color: var(--dusk-mist);
  border-bottom: 2px solid var(--drift);
}
.run-blind__bench {
  display: flex; flex-wrap: wrap; align-items: baseline;
  justify-content: space-between; gap: 0.4rem 2rem;
  padding-block: 0.95rem 0.85rem;
}
.run-blind__shingle {
  font-family: var(--stack-head);
  font-size: 1.5rem; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--silt-lift); text-decoration: none;
  transition: color var(--cadence);
}
.run-blind__shingle:hover { color: var(--clay-roost); }
.run-blind__shingle span {
  display: block;
  font-family: var(--stack-mark);
  font-size: 0.8rem; font-weight: 400;
  letter-spacing: var(--caps-tracking);
  color: var(--dusk-mist);
  margin-top: 0.15rem;
}
.run-flight ul {
  display: flex; flex-wrap: wrap; gap: 0.15rem 1.2rem;
  list-style: none; margin: 0; padding: 0;
  font-family: var(--stack-mark);
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: 0.11em;
}
.run-flight a { color: var(--dusk-mist); text-decoration: none; transition: color var(--cadence); }
.run-flight a:hover { color: var(--clay-roost); }
.run-flight a[aria-current="page"] { color: var(--drift); }

/* Le menu se replie sous 700 px : la case a cocher porte l'etat, le label
   est la poignee. Aucun JavaScript, l'etat reste focusable au clavier. */
.run-flight__latch {
  position: absolute;
  width: 1px; height: 1px;
  opacity: 0;
  margin: 0;
}
.run-flight__pull { display: none; }
@media (max-width: 700px) {
  .run-flight { width: 100%; }
  .run-flight__pull {
    display: inline-flex; align-items: center; gap: 0.55rem;
    cursor: pointer;
    font-family: var(--stack-mark);
    font-size: 0.8rem; font-weight: 400;
    text-transform: uppercase; letter-spacing: 0.11em;
    color: var(--dusk-mist);
    padding: 0.45rem 0;
  }
  .run-flight__bars {
    display: block; width: 1.05rem; height: 0.62rem;
    border-top: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    position: relative;
  }
  .run-flight__bars::before {
    content: ""; position: absolute; left: 0; right: 0; top: 50%;
    border-top: 1px solid currentColor;
  }
  .run-flight ul { display: none; }
  .run-flight__latch:checked ~ ul {
    display: flex; flex-direction: column; gap: 0;
    padding-bottom: 0.4rem;
  }
  .run-flight__latch:checked ~ ul li { padding: 0.34rem 0; border-top: 1px solid var(--wire); }
  .run-flight__latch:focus-visible ~ .run-flight__pull { outline: 2px solid var(--drift); outline-offset: 3px; }
}

/* =========================================================================
   LEVIER 1 · FLYOUT : bande scene voilée de nuit, jamais un écran full.
   La scene est une crête à l'aube ; le voile #1d1a2b à 80 % y est posé en
   dur : il ne suit pas le mode sombre, il porte la lisibilité.
   ========================================================================= */

.run-flyout {
  position: relative;
  isolation: isolate;
  min-height: clamp(340px, 46vh, 580px);
  display: flex; align-items: flex-end;
  color: var(--silt-lift);
  border-bottom: 2px solid var(--drift);
  overflow: hidden;
}
.run-flyout__scene {
  position: absolute; inset: 0; z-index: -2;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 38%;
}
.run-flyout::after {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: rgba(29, 32, 36, 0.82);
}
.run-flyout__copy {
  padding-block: clamp(1.6rem, 4vw, 2.8rem);
  width: 100%;
}
.run-flyout__mark {
  display: flex; align-items: center; gap: 0.6rem;
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: var(--caps-tracking);
  color: var(--clay-roost);
  margin-bottom: 1rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--wire-dim);
}
.run-flyout h1 {
  font-size: clamp(1.9rem, 1.2rem + 3.2vw, 3.6rem);
  line-height: 0.98;
  text-transform: uppercase;
  color: var(--silt-lift);
  max-width: 22ch;
  margin-bottom: 0.9rem;
}
.run-flyout__brief {
  max-width: 56ch;
  color: var(--dusk-mist);
  font-size: 1.05rem;
  margin-bottom: 1.3rem;
}
.run-flyout__outlook {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 1.1rem;
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: var(--caps-tracking);
  color: var(--drift);
  margin-bottom: 0;
}
.run-flyout__outlook span + span::before { content: "/"; margin-right: 1.1rem; color: var(--wire-dim); }

/* =========================================================================
   RISE : bandeau de rubrique, numéro affiché en grand
   ========================================================================= */

.run-rise { padding-block: var(--buttress) 0.4rem; }
.run-rise--hollow {
  background: var(--silt-worn);
  padding-block: var(--buttress);
  margin-block: var(--buttress) 0;
  border-block: 1px solid var(--wire);
}
.run-rise__brow { margin-bottom: 1.5rem; }
.run-rise__head {
  display: flex; align-items: baseline; gap: 1rem;
  border-top: 2px solid var(--bark);
  padding-top: 0.8rem;
}
.run-rise__index {
  font-size: 1rem; font-weight: 400;
  letter-spacing: 0.1em;
  color: var(--clay);
  white-space: nowrap;   /* la plage 01-06 ne se coupe pas sur deux lignes */
}
.run-rise--hollow .run-rise__index { color: var(--olive); }
.run-rise__memo {
  color: var(--mist);
  font-size: 1.08rem;
  max-width: 60ch;
  margin-bottom: 0;
}

/* =========================================================================
   BUTTES : la mosaïque des rubriques, trois colonnes qui respirent
   (deux à partir de 980 px, une sur téléphone) — jamais enfermée dans la
   channel de reading 62 ch, qui sert au corps des articles.
   ========================================================================= */

.run-flats { padding-block: var(--buttress) 0; }
.run-flats__head {
  border-top: 2px solid var(--bark);
  padding-top: 0.8rem;
  margin: 0 0 1.3rem;
}
.run-flats .run-memo { margin-top: 1.4rem; }

/* =========================================================================
   LEVIER 2 · STRINGER : la ligne d'entrées datée du journal. UN fil, jamais
   une grille : chaque entrée occupe toute la largeur de la colonne, scene
   en vignette quand il y en a une, date en pastille d'eau du bay.
   ========================================================================= */

.run-stringer {
  list-style: none; margin: 0; padding: 0;
  border-bottom: 1px solid var(--wire);
}
.run-landing {
  break-inside: avoid;
  display: grid;
  grid-template-columns: minmax(148px, 28%) minmax(0, 1fr);
  gap: 0 1rem;
  padding-block: 1.05rem;
  border-top: 1px solid var(--wire);
}
.run-landing__scene {
  grid-row: 1;
  width: 100%; aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid var(--wire);
}
.run-landing > div { grid-row: 1; }
.run-landing h3 { font-size: 1.06rem; margin: 0 0 0.3rem; }
.run-landing h3 a { color: var(--bark); text-decoration: none; transition: color var(--cadence); }
.run-landing h3 a:hover { color: var(--olive); }
.run-landing p { font-size: 0.9rem; color: var(--mist); margin: 0; }
@media (max-width: 700px) {
  .run-landing { grid-template-columns: 1fr; }
  .run-landing > div { grid-row: auto; }
  .run-landing__scene { max-width: 240px; }
}

.run-stamp {
  display: inline-block;
  font-size: 0.78rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--roost);
  background: var(--drift);
  padding: 0.18rem 0.55rem;
  margin: 0 0 0.2rem;
}

/* Entrée du stringer sans scene (le fil des dernières pages de l'accueil) :
   un filet d'eau du bay tient le rôle de la vignette et resserre le texte. */
.run-landing--copy {
  grid-template-columns: minmax(0, 1fr);
  border-left: 3px solid var(--drift);
  padding-left: 0.95rem;
}

/* ---- blaze : l'ornement qui marque le sentier --------------------------- */
.run-blaze {
  display: flex; justify-content: center;
  color: var(--mist);
  padding-block: var(--buttress) 0;
}

/* =========================================================================
   BASIN : le corps des pages intérieures
   ========================================================================= */

.run-basin { padding-top: 1rem; }

/* track : le fil d'Ariane, séparé par des / */
.run-track__bench { padding-top: 0.2rem; }
.run-track ol {
  list-style: none; display: flex; flex-wrap: wrap; gap: 0.3rem;
  margin: 0 0 var(--buttress);
  padding: 0.5rem 0;
  border-block: 1px solid var(--wire);
  font-family: var(--stack-mark);
  font-size: 0.8rem;
  text-transform: uppercase; letter-spacing: 0.09em;
}
.run-track li { display: flex; align-items: center; gap: 0.35rem; }
.run-track li + li::before { content: "/"; color: var(--drift); }
.run-track a { color: var(--mist); text-decoration: none; }
.run-track a:hover { color: var(--olive); }
.run-track [aria-current="page"] { color: var(--olive); }

/* threshold : la tête de la page */
.run-threshold { margin-bottom: 1.7rem; }
.run-mark {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: var(--caps-tracking);
  color: var(--clay);
  margin-bottom: 0.85rem;
}
.run-threshold h1 {
  font-size: clamp(1.7rem, 1.2rem + 2.2vw, 2.7rem);
  margin-bottom: 0.85rem;
}
.run-threshold__brief {
  font-size: 1.18rem;
  line-height: 1.55;
  max-width: 56ch;
  color: var(--mist);
  font-style: italic;
  margin-bottom: 0;
}
.run-roll {
  list-style: none; display: flex; flex-wrap: wrap; gap: 0.3rem 1.3rem;
  margin: 1rem 0 0; padding: 0.6rem 0;
  border-block: 1px solid var(--wire);
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: 0.08em;
}
.run-roll a { color: var(--mist); text-decoration: none; }
.run-roll a:hover { color: var(--olive); }

/* vista : l'image pleine largeur (jamais lazy sur la première) */
.run-vista { margin: 0 0 var(--buttress); }
.run-vista__scene { width: 100%; border: 1px solid var(--wire); }
.run-vista figcaption {
  font-family: var(--stack-mark);
  font-size: 0.85rem; color: var(--mist);
  padding-top: 0.5rem;
}

/* =========================================================================
   LEVIER 3 · READING : deux colonnes asymetriques. A gauche la colonne de
   lecture (62ch, sans lettrine), a droite le rail (230 px) qui suit au
   defilement : sommaire des h2 de la page, ou rail de saison sur l'accueil.
   ========================================================================= */

.run-reading {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--gutter);
  align-items: start;
}
@media (min-width: 1100px) {
  .run-reading { grid-template-columns: minmax(0, 1fr) 230px; }
  .run-flight--tide { position: sticky; top: 1.2rem; }
}
/* Sous 1100 px la grille est a une colonne : le rail remonte au-dessus du
   corps, sinon un sommaire de page arrive apres ce qu'il resume. */
@media (max-width: 1099px) { .run-flight--tide { order: -1; } }
.run-flight--tide {
  font-family: var(--stack-mark);
  font-size: 0.85rem;
  border-top: 2px solid var(--bark);
  padding-top: 0.7rem;
}
.run-flight--tide h2 {
  font-family: var(--stack-mark);
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: var(--caps-tracking);
  color: var(--clay);
  margin-bottom: 0.6rem;
}
.run-flight--tide ol { list-style: none; margin: 0; padding: 0; counter-reset: channel; }
.run-flight--tide li { margin-bottom: 0.4rem; padding-left: 1.4em; position: relative; }
.run-flight--tide li::before {
  counter-increment: channel;
  content: counter(channel, decimal-leading-zero);
  position: absolute; left: 0;
  color: var(--drift);
}
.run-flight--tide a { color: var(--mist); text-decoration: none; }
.run-flight--tide a:hover { color: var(--olive); }

.run-channel {
  max-width: var(--measure);
}
.run-channel h2 {
  margin: 1.9rem 0 0.75rem;
  padding-top: 0.65rem;
  border-top: 1px solid var(--wire);
}
.run-channel h3 { margin: 1.3rem 0 0.5rem; }
.run-channel table { margin-bottom: 0; }
.run-channel ul:not(.run-limit) { padding-left: 1.25rem; }
.run-channel ul:not(.run-limit) li::marker { color: var(--drift); }

/* =========================================================================
   TABLE, LIMIT, SNAG : les blocs de données
   ========================================================================= */

.run-table { margin-block: 1.3rem 1.6rem; overflow-x: auto; }
.run-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}
.run-table caption {
  caption-side: top; text-align: left;
  font-family: var(--stack-mark);
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: var(--caps-tracking);
  color: var(--clay);
  padding-bottom: 0.5rem;
}
.run-table thead th {
  background: var(--bark);
  color: var(--silt-lift);
  text-align: left;
  font-family: var(--stack-mark);
  font-weight: 400; font-size: 0.85rem;
  letter-spacing: 0.05em;
  padding: 0.55rem 0.75rem;
  border-bottom: 2px solid var(--drift);
}
.run-table tbody td, .run-table tbody th {
  padding: 0.55rem 0.75rem;
  border-bottom: 1px solid var(--wire);
  text-align: left;
  vertical-align: top;
}
.run-table tbody tr:nth-child(even) { background: var(--silt-lift); }

.run-limit {
  background: var(--silt-lift);
  border: 1px solid var(--wire);
  border-left: 3px solid var(--drift);
  padding: 1.15rem 1.35rem;
  margin-block: 1.6rem;
}
.run-limit h2, .run-limit h3 { font-size: 1.2rem; margin: 0 0 0.65rem; }
.run-limit ul { list-style: none; margin: 0; padding: 0; }
.run-limit li { position: relative; padding-left: 1.4rem; margin-bottom: 0.45rem; }
.run-limit li::before {
  content: "";
  position: absolute; left: 0; top: 0.5em;
  width: 0.55em; height: 0.2em;
  background: var(--drift);
}

.run-snag {
  background: var(--roost);
  color: var(--dusk-mist);
  border-left: 3px solid var(--olive-pale);
  padding: 1.15rem 1.35rem;
  margin-block: 1.6rem;
}
.run-snag h2, .run-snag h3 {
  font-size: 1.2rem;
  color: var(--clay-roost);
  margin: 0 0 0.65rem;
}
.run-snag ul { list-style: none; margin: 0; padding: 0; }
.run-snag li { position: relative; padding-left: 1.4rem; margin-bottom: 0.45rem; }
.run-snag li::before {
  content: "";
  position: absolute; left: 0; top: 0.55em;
  width: 0.45em; height: 0.45em;
  background: var(--olive-pale);
  transform: rotate(45deg);
}

/* =========================================================================
   BEYOND, MEMO, ROOST
   ========================================================================= */

.run-beyond {
  margin-top: 1.9rem;
  border-block: 1px solid var(--wire);
  padding-block: 1rem;
}
.run-beyond h2 { font-size: 1.15rem; margin-bottom: 0.65rem; }
.run-beyond ul { list-style: none; margin: 0; padding: 0; }
.run-beyond li { margin-bottom: 0.4rem; }

.run-memo {
  margin-top: 1.5rem;
  font-size: 0.92rem;
  font-family: var(--stack-mark);
  color: var(--mist);
  border-top: 1px solid var(--wire);
  padding-top: 0.9rem;
}

.run-roost {
  margin-top: var(--breath);
  background: var(--roost);
  color: var(--dusk-mist);
  border-top: 2px solid var(--drift);
}
.run-roost__bench {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: var(--gutter);
  padding-block: 2.1rem;
}
@media (max-width: 860px) { .run-roost__bench { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .run-roost__bench { grid-template-columns: 1fr; } }
.run-roost h2 {
  font-family: var(--stack-mark);
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: var(--caps-tracking);
  color: var(--clay-roost);
  margin-bottom: 0.75rem;
}
.run-roost p, .run-roost ul { font-size: 0.95rem; }
.run-roost ul { list-style: none; margin: 0; padding: 0; }
.run-roost li { margin-bottom: 0.4rem; }
.run-roost a { color: var(--dusk-mist); text-decoration: none; transition: color var(--cadence); }
.run-roost a:hover { color: var(--clay-roost); }
.run-roost__sill {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem;
  border-top: 1px solid var(--wire-dim);
  padding-block: 1rem;
  font-family: var(--stack-mark);
  font-size: 0.85rem;
}

/* =========================================================================
   IMPRESSION : le magazine sur papier
   ========================================================================= */

@media print {
  :root { --silt: #ffffff; --ink: #000000; --bark: #000000; --olive: #000000; --clay: #444444; --mist: #444444; }
  .run-gap, .run-flight, .run-beyond, .run-blaze, .run-snag { display: none; }
  body { font-size: 10.5pt; }
  .run-flyout { min-height: 0; background: #ffffff; color: #000000; }
  .run-flyout::after { display: none; }
  .run-flyout__scene { position: static; max-height: 4cm; }
  .run-flyout__mark, .run-flyout__outlook, .run-roost h2 { color: #000000; }
  .run-blind, .run-roost { background: #ffffff; color: #000000; border-color: #000000; }
  a { color: #000000; text-decoration: underline; }
  .run-landing__scene, .run-vista__scene, .run-flyout__scene { max-height: 6cm; object-fit: contain; }
  .run-table { overflow: visible; }
}
