/* =========================================================================
   NÉVÉ — système « haute montagne », préfixe ne-
   Vocabulaire : vallon (largeur du contenu), refuge (en-tête), cordee
   (navigation, et le rail collant de lecture), crete (bande photo d'accueil,
   voilée de nuit), versant (bandeau de rubrique numéroté), serac/seracs
   (tuile et mosaïque), bulletin/entree (carnet daté du journal), quantieme
   (date), marque (kicker lichen), attaque (tête de page), approche (fil
   d'Ariane, séparateur /), panorama (pleine largeur), voie (colonne de
   lecture 62ch, sans lettrine), profil (tableaux), inventaire (liste à
   cocher), crevasse (erreurs fréquentes, fond nuit), horizon (à lire
   ensuite), camp (pied), cairn (ornement).
   Palette : neige froide, encre basalte, un fil myrtille et des repères
   lichen ; le glacier date, le lichen signale. 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. NEIGE ET ROCHE -------------------------------------------------- */
  --neige:         #f6f6f4;   /* fond de chaque page                          */
  --neige-creuse:  #e9e9e6;   /* versants alternés, zones de repos            */
  --neige-vive:    #fbfbfa;   /* cartes, lignes paires, encarts               */
  --basalte:       #262333;   /* encre du texte                               */
  --nuit:          #1d1a2b;   /* refuge, camp, crevasse, crete voilée         */
  --granit:        #5d5a6b;   /* chapôs, méta, texte d'accompagnement         */
  --bise:          #3a3450;   /* encre appuyée des titres sur neige           */
  --myrtille:      #5a4a92;   /* liens, repères (6.86:1 sur neige)            */
  --myrtille-nuit: #473b75;   /* appui au survol                              */
  --myrtille-givre:#8d7ec4;   /* myrtille sur fond nuit                       */
  --glacier:       #7fb6c9;   /* dates, médaillons                            */
  --lichen:        #7d6428;   /* kickers et marques sur neige                 */
  --lichen-nuit:   #c9b98a;   /* lichen sur fond nuit                         */
  --arete:         #d8d8d2;   /* filets                                       */
  --arete-nuit:    #3b3750;   /* filets sur fond nuit                         */

  /* Nuit d'hiver : la neige s'assombrit, l'encre s'éclaircit. */
  --ombre-neige:   #17151f;
  --ombre-creuse:  #201d2c;
  --ombre-texte:   #eceaf1;
  --ombre-tendre:  #a49fbd;

  /* ---- 2. TYPE : trois piles système, rien ne se charge ------------------ */
  --police-plaque: "Copperplate", "Copperplate Gothic Light", "Trajan Pro", "Times New Roman", serif;
  --police-lecture: "Garamond", "Apple Garamond", "Big Caslon", "Times New Roman", serif;
  --police-annexe: Geneva, Candara, Tahoma, Verdana, sans-serif;

  --titre-graisse: 500;
  --caps-ecart: 0.16em;

  --corps-taille: clamp(1.05rem, 1rem + 0.3vw, 1.14rem);
  --corps-interligne: 1.62;
  --h1-echelle: clamp(2.5rem, 1.3rem + 4.6vw, 5rem);
  --h2-echelle: clamp(1.32rem, 1.06rem + 1vw, 1.78rem);
  --h3-echelle: clamp(1.08rem, 1rem + 0.45vw, 1.3rem);

  /* ---- 3. RYTHME --------------------------------------------------------- */
  --mesure:        62ch;
  --echelle-large: 1280px;
  --marge:         clamp(1.1rem, 4vw, 3.5rem);
  --gouttiere:     clamp(1rem, 2.4vw, 1.8rem);
  --souffle:       clamp(2.2rem, 5vw, 4.6rem);
  --contrefort:    clamp(1.1rem, 3vw, 2.8rem);

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

@media (prefers-color-scheme: dark) {
  :root {
    --neige:        var(--ombre-neige);
    --neige-creuse: var(--ombre-creuse);
    --neige-vive:   #232030;
    --basalte:      var(--ombre-texte);
    --bise:         #c9c4e2;
    --granit:       var(--ombre-tendre);
    --myrtille:     #a897e0;
    --myrtille-nuit: #c3b5ee;
    --glacier:      #8fc3d6;
    --lichen:       #c9b98a;
    --arete:        #3b3750;
  }
}

/* =========================================================================
   BASE
   ========================================================================= */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--neige);
  color: var(--basalte);
  font-family: var(--police-lecture);
  font-size: var(--corps-taille);
  line-height: var(--corps-interligne);
  overflow-wrap: break-word;
}
img, svg { max-width: 100%; height: auto; display: block; }
svg.ne-cairn { display: inline-block; vertical-align: -0.14em; }

h1, h2, h3, h4 {
  font-family: var(--police-plaque);
  font-weight: var(--titre-graisse);
  line-height: 1.16;
  margin: 0;
  text-wrap: balance;
  color: var(--bise);
  letter-spacing: 0.02em;
}
h1 { font-size: var(--h1-echelle); }
h2 { font-size: var(--h2-echelle); }
h3 { font-size: var(--h3-echelle); }

p, ul, ol { margin: 0 0 1.05em; }
a {
  color: var(--myrtille);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
  transition: color var(--vitesse);
}
a:hover { color: var(--myrtille-nuit); }
:focus-visible {
  outline: 2px solid var(--myrtille);
  outline-offset: 3px;
}
hr { border: 0; border-top: 1px solid var(--arete); margin: var(--souffle) 0; }
strong { color: var(--bise); font-weight: 700; }

::selection { background: var(--myrtille); color: var(--neige-vive); }

/* Tout ce qui compte se lit en chiffres tabulaires : dates, grades, cm, kg. */
.ne-profil, .ne-quantieme, .ne-liste, .ne-crete__saison,
.ne-versant__numero, .ne-marque, .ne-serac__note2 {
  font-family: var(--police-annexe);
  font-variant-numeric: tabular-nums;
}

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

/* Lien d'évitement : toujours là, jamais vu sauf au clavier. */
.ne-directe {
  position: absolute; left: -9999px; top: 0;
  background: var(--nuit); color: var(--lichen-nuit);
  padding: 0.7rem 1.15rem; z-index: 60;
  font-family: var(--police-annexe); font-size: 0.85rem;
}
.ne-directe:focus { left: 0.6rem; top: 0.6rem; }

.ne-vallon {
  max-width: var(--echelle-large);
  margin-inline: auto;
  padding-inline: var(--marge);
}

/* ---- refuge : la porte du magazine -------------------------------------- */
.ne-refuge {
  background: var(--nuit);
  color: var(--ombre-tendre);
  border-bottom: 2px solid var(--glacier);
}
.ne-refuge__rangee {
  display: flex; flex-wrap: wrap; align-items: baseline;
  justify-content: space-between; gap: 0.4rem 2rem;
  padding-block: 0.95rem 0.85rem;
}
.ne-refuge__enseigne {
  font-family: var(--police-plaque);
  font-size: 1.5rem; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--neige-vive); text-decoration: none;
  transition: color var(--vitesse);
}
.ne-refuge__enseigne:hover { color: var(--lichen-nuit); }
.ne-refuge__enseigne span {
  display: block;
  font-family: var(--police-annexe);
  font-size: 0.8rem; font-weight: 400;
  letter-spacing: var(--caps-ecart);
  color: var(--ombre-tendre);
  margin-top: 0.15rem;
}
.ne-cordee ul {
  display: flex; flex-wrap: wrap; gap: 0.15rem 1.2rem;
  list-style: none; margin: 0; padding: 0;
  font-family: var(--police-annexe);
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: 0.11em;
}
.ne-cordee a { color: var(--ombre-tendre); text-decoration: none; transition: color var(--vitesse); }
.ne-cordee a:hover { color: var(--lichen-nuit); }
.ne-cordee a[aria-current="page"] { color: var(--glacier); }

/* =========================================================================
   LEVIER 1 · CRETE : bande photo voilée de nuit, jamais un écran plein.
   La photo 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é.
   ========================================================================= */

.ne-crete {
  position: relative;
  isolation: isolate;
  min-height: clamp(340px, 46vh, 580px);
  display: flex; align-items: flex-end;
  color: var(--neige-vive);
  border-bottom: 2px solid var(--glacier);
  overflow: hidden;
}
.ne-crete__photo {
  position: absolute; inset: 0; z-index: -2;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 38%;
}
.ne-crete::after {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: rgba(29, 26, 43, 0.8);
}
.ne-crete__texte {
  padding-block: clamp(1.6rem, 4vw, 2.8rem);
  width: 100%;
}
.ne-crete__marque {
  display: flex; align-items: center; gap: 0.6rem;
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: var(--caps-ecart);
  color: var(--lichen-nuit);
  margin-bottom: 1rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--arete-nuit);
}
.ne-crete h1 {
  font-size: clamp(1.9rem, 1.2rem + 3.2vw, 3.6rem);
  line-height: 0.98;
  text-transform: uppercase;
  color: var(--neige-vive);
  max-width: 22ch;
  margin-bottom: 0.9rem;
}
.ne-crete__chapo {
  max-width: 56ch;
  color: var(--ombre-tendre);
  font-size: 1.05rem;
  margin-bottom: 1.3rem;
}
.ne-crete__saison {
  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-ecart);
  color: var(--glacier);
  margin-bottom: 0;
}
.ne-crete__saison span + span::before { content: "/"; margin-right: 1.1rem; color: var(--arete-nuit); }

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

.ne-versant { padding-block: var(--contrefort) 0.4rem; }
.ne-versant--creux {
  background: var(--neige-creuse);
  padding-block: var(--contrefort);
  margin-block: var(--contrefort) 0;
  border-block: 1px solid var(--arete);
}
.ne-versant__front { margin-bottom: 1.5rem; }
.ne-versant__titre {
  display: flex; align-items: baseline; gap: 1rem;
  border-top: 2px solid var(--bise);
  padding-top: 0.8rem;
}
.ne-versant__numero {
  font-size: 1rem; font-weight: 400;
  letter-spacing: 0.1em;
  color: var(--lichen);
  white-space: nowrap;   /* la plage 01-06 ne se coupe pas sur deux lignes */
}
.ne-versant--creux .ne-versant__numero { color: var(--myrtille); }
.ne-versant__note {
  color: var(--granit);
  font-size: 1.08rem;
  max-width: 60ch;
  margin-bottom: 0;
}

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

.ne-flux { padding-block: var(--contrefort) 0; }
.ne-flux__titre {
  border-top: 2px solid var(--bise);
  padding-top: 0.8rem;
  margin: 0 0 1.3rem;
}
.ne-flux .ne-note { margin-top: 1.4rem; }

.ne-seracs {
  list-style: none; margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gouttiere);
}
.ne-serac--etroit { grid-column: span 1; }
.ne-serac--large  { grid-column: span 2; }
.ne-serac--plein  { grid-column: 1 / -1; }
/* Deux colonnes dès que l'écran se resserre : trois tuiles sous 980 px
   ne laissaient à chacune qu'un dixième de mosaïque. */
@media (max-width: 980px) {
  .ne-seracs { grid-template-columns: repeat(2, 1fr); }
  .ne-serac--large { grid-column: span 2; }
}
@media (max-width: 640px) {
  .ne-seracs { grid-template-columns: 1fr; }
  .ne-serac--etroit, .ne-serac--large, .ne-serac--plein { grid-column: 1 / -1; }
}

.ne-serac {
  display: block;
  color: inherit;
  text-decoration: none;
}
.ne-serac__cadre {
  border: 1px solid var(--arete);
  background: var(--neige-vive);
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.ne-serac__cadre--vaste { aspect-ratio: 21 / 9; }
.ne-serac__photo { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.9); }
.ne-serac__legende { padding-top: 0.75rem; }
.ne-serac__legende .ne-marque { margin-bottom: 0.35rem; }
.ne-serac__titre { margin-bottom: 0.3rem; }
.ne-serac__titre a, a.ne-serac__lien {
  color: var(--bise);
  text-decoration: none;
  border-bottom: 1px solid var(--arete);
  transition: color var(--vitesse), border-color var(--vitesse);
}
.ne-serac__titre a:hover, a.ne-serac__lien:hover {
  color: var(--myrtille);
  border-bottom-color: var(--myrtille);
}
.ne-serac__note {
  color: var(--granit);
  font-size: 0.97rem;
  margin-bottom: 0;
}
.ne-serac__note2 {
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: 0.13em;
  color: var(--lichen);
  margin: 0.5rem 0 0;
}

/* =========================================================================
   LEVIER 2 · BULLETIN : le carnet daté du journal, en vignettes illustrées.
   Chaque note porte sa photo, son quantième en pastille glacier et son
   titre ; la plus récente ouvre la rangée.
   ========================================================================= */

.ne-bulletin {
  list-style: none; margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gouttiere);
}
@media (max-width: 980px) { .ne-bulletin { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .ne-bulletin { grid-template-columns: 1fr; } }
.ne-entree {
  break-inside: avoid;
  display: flex; flex-direction: column;
  gap: 0.55rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid var(--arete);
}
.ne-entree__photo {
  width: 100%; aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid var(--arete);
}
.ne-entree h3 { font-size: 1.06rem; margin: 0; }
.ne-entree h3 a { color: var(--bise); text-decoration: none; transition: color var(--vitesse); }
.ne-entree h3 a:hover { color: var(--myrtille); }
.ne-entree p { font-size: 0.9rem; color: var(--granit); margin: 0; }

.ne-quantieme {
  display: inline-block;
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--nuit);
  background: var(--glacier);
  padding: 0.18rem 0.55rem;
  margin: 0 0 0.2rem;
  align-self: flex-start;
}

/* Entrée du bulletin sans photo (liste des dernières pages publiées de
   l'accueil) : un liseré glacier tient le rôle de la vignette. */
.ne-entree--texte {
  padding-left: 0.85rem;
  border-left: 3px solid var(--glacier);
}

/* ---- cairn : l'ornement qui sépare les altitudes ------------------------ */
.ne-cairn {
  display: flex; justify-content: center;
  color: var(--granit);
  padding-block: var(--contrefort) 0;
}

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

.ne-cirque { padding-top: 1rem; }

/* approche : le fil d'Ariane, séparé par des / */
.ne-approche ol {
  list-style: none; display: flex; flex-wrap: wrap; gap: 0.3rem;
  margin: 0 0 var(--contrefort);
  padding: 0.5rem 0;
  border-block: 1px solid var(--arete);
  font-family: var(--police-annexe);
  font-size: 0.8rem;
  text-transform: uppercase; letter-spacing: 0.09em;
}
.ne-approche li { display: flex; align-items: center; gap: 0.35rem; }
.ne-approche li + li::before { content: "/"; color: var(--glacier); }
.ne-approche a { color: var(--granit); text-decoration: none; }
.ne-approche a:hover { color: var(--myrtille); }
.ne-approche [aria-current="page"] { color: var(--myrtille); }

/* attaque : la tête de la page */
.ne-attaque { margin-bottom: 1.7rem; }
.ne-marque {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: var(--caps-ecart);
  color: var(--lichen);
  margin-bottom: 0.85rem;
}
.ne-attaque h1 {
  font-size: clamp(1.7rem, 1.2rem + 2.2vw, 2.7rem);
  margin-bottom: 0.85rem;
}
.ne-attaque__chapo {
  font-size: 1.18rem;
  line-height: 1.55;
  max-width: 56ch;
  color: var(--granit);
  font-style: italic;
  margin-bottom: 0;
}
.ne-liste {
  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(--arete);
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: 0.08em;
}
.ne-liste a { color: var(--granit); text-decoration: none; }
.ne-liste a:hover { color: var(--myrtille); }

/* panorama : l'image pleine largeur (jamais lazy sur la première) */
.ne-panorama { margin: 0 0 var(--contrefort); }
.ne-panorama__photo { width: 100%; border: 1px solid var(--arete); }
.ne-panorama figcaption {
  font-family: var(--police-annexe);
  font-size: 0.85rem; color: var(--granit);
  padding-top: 0.5rem;
}

/* =========================================================================
   LEVIER 3 · VOIE : la colonne de lecture, 62 chans, sans lettrine.
   Dès 1100 px, le rail ne-cordee--rail suit la lecture en position
   collante : sommaire des h2 réels de la page.
   ========================================================================= */

.ne-lecture {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--gouttiere);
  align-items: start;
}
@media (min-width: 1100px) {
  .ne-lecture { grid-template-columns: 230px minmax(0, 1fr); }
  .ne-cordee--rail { position: sticky; top: 1.2rem; }
}
.ne-cordee--rail {
  font-family: var(--police-annexe);
  font-size: 0.85rem;
  border-top: 2px solid var(--bise);
  padding-top: 0.7rem;
}
.ne-cordee--rail h2 {
  font-family: var(--police-annexe);
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: var(--caps-ecart);
  color: var(--lichen);
  margin-bottom: 0.6rem;
}
.ne-cordee--rail ol { list-style: none; margin: 0; padding: 0; counter-reset: voie; }
.ne-cordee--rail li { margin-bottom: 0.4rem; padding-left: 1.4em; position: relative; }
.ne-cordee--rail li::before {
  counter-increment: voie;
  content: counter(voie, decimal-leading-zero);
  position: absolute; left: 0;
  color: var(--glacier);
}
.ne-cordee--rail a { color: var(--granit); text-decoration: none; }
.ne-cordee--rail a:hover { color: var(--myrtille); }

.ne-voie {
  max-width: var(--mesure);
}
.ne-voie h2 {
  margin: 1.9rem 0 0.75rem;
  padding-top: 0.65rem;
  border-top: 1px solid var(--arete);
}
.ne-voie h3 { margin: 1.3rem 0 0.5rem; }
.ne-voie table { margin-bottom: 0; }
.ne-voie ul:not(.ne-inventaire) { padding-left: 1.25rem; }
.ne-voie ul:not(.ne-inventaire) li::marker { color: var(--glacier); }

/* =========================================================================
   PROFIL, INVENTAIRE, CREVASSE : les blocs de données
   ========================================================================= */

.ne-profil { margin-block: 1.3rem 1.6rem; overflow-x: auto; }
.ne-profil table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}
.ne-profil caption {
  caption-side: top; text-align: left;
  font-family: var(--police-annexe);
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: var(--caps-ecart);
  color: var(--lichen);
  padding-bottom: 0.5rem;
}
.ne-profil thead th {
  background: var(--bise);
  color: var(--neige-vive);
  text-align: left;
  font-family: var(--police-annexe);
  font-weight: 400; font-size: 0.85rem;
  letter-spacing: 0.05em;
  padding: 0.55rem 0.75rem;
  border-bottom: 2px solid var(--glacier);
}
.ne-profil tbody td, .ne-profil tbody th {
  padding: 0.55rem 0.75rem;
  border-bottom: 1px solid var(--arete);
  text-align: left;
  vertical-align: top;
}
.ne-profil tbody tr:nth-child(even) { background: var(--neige-vive); }

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

.ne-crevasse {
  background: var(--nuit);
  color: var(--ombre-tendre);
  border-left: 3px solid var(--myrtille-givre);
  padding: 1.15rem 1.35rem;
  margin-block: 1.6rem;
}
.ne-crevasse h2, .ne-crevasse h3 {
  font-size: 1.2rem;
  color: var(--lichen-nuit);
  margin: 0 0 0.65rem;
}
.ne-crevasse ul { list-style: none; margin: 0; padding: 0; }
.ne-crevasse li { position: relative; padding-left: 1.4rem; margin-bottom: 0.45rem; }
.ne-crevasse li::before {
  content: "";
  position: absolute; left: 0; top: 0.55em;
  width: 0.45em; height: 0.45em;
  background: var(--myrtille-givre);
  transform: rotate(45deg);
}

/* =========================================================================
   HORIZON, NOTE, CAMP
   ========================================================================= */

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

.ne-note {
  margin-top: 1.5rem;
  font-size: 0.92rem;
  font-family: var(--police-annexe);
  color: var(--granit);
  border-top: 1px solid var(--arete);
  padding-top: 0.9rem;
}

.ne-camp {
  margin-top: var(--souffle);
  background: var(--nuit);
  color: var(--ombre-tendre);
  border-top: 2px solid var(--glacier);
}
.ne-camp__rangee {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: var(--gouttiere);
  padding-block: 2.1rem;
}
@media (max-width: 860px) { .ne-camp__rangee { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ne-camp__rangee { grid-template-columns: 1fr; } }
.ne-camp h2 {
  font-family: var(--police-annexe);
  font-size: 0.8rem; font-weight: 400;
  text-transform: uppercase; letter-spacing: var(--caps-ecart);
  color: var(--lichen-nuit);
  margin-bottom: 0.75rem;
}
.ne-camp p, .ne-camp ul { font-size: 0.95rem; }
.ne-camp ul { list-style: none; margin: 0; padding: 0; }
.ne-camp li { margin-bottom: 0.4rem; }
.ne-camp a { color: var(--ombre-tendre); text-decoration: none; transition: color var(--vitesse); }
.ne-camp a:hover { color: var(--lichen-nuit); }
.ne-camp__base {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem;
  border-top: 1px solid var(--arete-nuit);
  padding-block: 1rem;
  font-family: var(--police-annexe);
  font-size: 0.85rem;
}

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

@media print {
  :root { --neige: #ffffff; --basalte: #000000; --bise: #000000; --myrtille: #000000; --lichen: #444444; --granit: #444444; }
  .ne-directe, .ne-cordee, .ne-horizon, .ne-cairn, .ne-crevasse { display: none; }
  body { font-size: 10.5pt; }
  .ne-crete { min-height: 0; background: #ffffff; color: #000000; }
  .ne-crete::after { display: none; }
  .ne-crete__photo { position: static; max-height: 4cm; }
  .ne-crete__marque, .ne-crete__saison, .ne-camp h2 { color: #000000; }
  .ne-refuge, .ne-camp { background: #ffffff; color: #000000; border-color: #000000; }
  a { color: #000000; text-decoration: underline; }
  .ne-serac__photo, .ne-entree__photo, .ne-panorama__photo { max-height: 6cm; object-fit: contain; }
  .ne-profil { overflow: visible; }
}
