@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,300..600;1,6..72,300..500&family=Manrope:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

/* ==========================================================================
   BOLDONE V7 — L'ATELIER STRATÉGIQUE
   Direction artistique validée le 28/07/2026.

   Chargé APRÈS main.css et editorial.css. Entièrement scopé sous
   body.atelier-mode : aucune page qui ne porte pas cette classe n'est
   affectée. Le portage se fait page par page.

   Principe directeur : la lumière. Le papier est le repos, l'encre est
   l'ombre, l'ambre est la lampe. L'ambre ne porte JAMAIS de texte sur
   papier (2,2:1) — elle ne vit que sur les fonds sombres (6,2:1).
   ========================================================================== */

body.atelier-mode {
  /* --- Substrats --- */
  --at-encre:      #171411;
  --at-encre-fond: #0F0D0B;
  --at-encre-haut: #241E19;
  --at-papier:     #E8DED0;
  --at-papier-lum: #F2EADF;
  --at-papier-omb: #DBCEBB;
  --at-papier-fonce: #D7C7B0;

  /* --- Matières --- */
  --at-noyer: #4A3020;
  --at-tabac: #815538;
  --at-ambre: #C58A4A;
  --at-olive: #394035;

  /* --- Encres de texte (toutes vérifiées AA) --- */
  --at-ivoire-72: rgba(232, 222, 208, .72);
  --at-ivoire-62: rgba(232, 222, 208, .62);
  --at-encre-62:  rgba(23, 20, 17, .62);
  --at-trait:       rgba(23, 20, 17, .15);
  --at-trait-clair: rgba(232, 222, 208, .18);

  /* --- Familles --- */
  --at-serif: "Newsreader", Georgia, serif;
  --at-sans:  "Manrope", system-ui, -apple-system, sans-serif;
  --at-mono:  "IBM Plex Mono", ui-monospace, monospace;

  /* --- Mesures --- */
  --at-page: 1280px;
  --at-marge: clamp(1.5rem, 5vw, 5.5rem);
  --at-souffle: clamp(4.5rem, 10vh, 8rem);

  background: var(--at-papier);
  color: var(--at-encre);
  font-family: var(--at-sans);
  font-size: 1.0625rem;
  line-height: 1.75;
  overflow-x: hidden;
}

/* Grain photographique — matière, pas décor */
body.atelier-mode::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9000;
  opacity: .05;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Neutralise le halo tungstène de la DA éditoriale v6 */
body.atelier-mode::before { display: none; }

.atelier-mode ::selection { background: var(--at-noyer); color: var(--at-papier); }
.atelier-mode :focus-visible { outline: 2px solid var(--at-tabac); outline-offset: 4px; }

.atelier-mode h1,
.atelier-mode h2,
.atelier-mode h3 {
  font-family: var(--at-serif);
  font-weight: 400;
  font-variation-settings: "opsz" 48;
  letter-spacing: -.018em;
  line-height: 1.1;
  margin: 0;
  color: inherit;
  text-wrap: balance;
}

.at-contenu {
  max-width: var(--at-page);
  margin-inline: auto;
  padding-inline: var(--at-marge);
}

.at-annot {
  display: block;
  font-family: var(--at-mono);
  font-size: .6875rem;
  font-weight: 400;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--at-tabac);
}

.at-prose { max-width: 58ch; }
.at-prose p { margin: 0 0 1.15em; }
.at-prose p:last-child { margin-bottom: 0; }

/* ==========================================================================
   EN-TÊTE
   ========================================================================== */

.atelier-mode .header {
  position: sticky;
  top: 0;
  background: rgba(232, 222, 208, .9);
  backdrop-filter: blur(14px) saturate(1.1);
  border-bottom: 1px solid var(--at-trait);
  padding: 0;
}

.atelier-mode .header__island {
  max-width: var(--at-page);
  margin-inline: auto;
  padding: 1.05rem var(--at-marge);
  display: flex;
  align-items: center;
  gap: 2.5rem;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  border-radius: 0;
}

.atelier-mode .header__logo {
  font-family: var(--at-sans);
  font-weight: 800;
  font-size: 1.15rem;
  letter-spacing: -.04em;
  color: var(--at-encre);
  text-decoration: none;
}
.atelier-mode .header__logo span { color: var(--at-tabac); }

.atelier-mode .header__nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 2rem;
}

.atelier-mode .header__link {
  font-family: var(--at-sans);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--at-encre-62);
  text-decoration: none;
  transition: color .35s ease;
}
.atelier-mode .header__link:hover,
.atelier-mode .header__link.active { color: var(--at-encre); }
.atelier-mode .header__link-dot { display: none; }

.atelier-mode .header__cta-group { display: flex; align-items: center; gap: 1.25rem; }

.atelier-mode .header__cta {
  font-family: var(--at-sans);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  border-radius: 0;
  border: 0;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
}
.atelier-mode .header__cta svg { display: none; }

.atelier-mode .header__cta--secondary {
  background: transparent;
  color: var(--at-encre-62);
  padding: 0;
  transition: color .35s ease;
}
.atelier-mode .header__cta--secondary:hover { color: var(--at-tabac); }

.atelier-mode .header__cta--primary {
  background: var(--at-encre);
  color: var(--at-papier);
  padding: .72rem 1.15rem;
  position: relative;
  overflow: hidden;
  transition: color .4s ease;
}
.atelier-mode .header__cta--primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--at-ambre);
  transform: translateY(101%);
  transition: transform .5s cubic-bezier(.22, .8, .3, 1);
}
.atelier-mode .header__cta--primary:hover { color: var(--at-encre); }
.atelier-mode .header__cta--primary:hover::before { transform: translateY(0); }
.atelier-mode .header__cta--primary > * { position: relative; z-index: 2; }

.atelier-mode .header__toggle-line { background: var(--at-encre); }

.atelier-mode .header__mobile-menu { background: var(--at-encre); }
.atelier-mode .header__mobile-link {
  font-family: var(--at-serif);
  color: var(--at-papier);
  font-size: 1.6rem;
}
.atelier-mode .header__mobile-link:hover { color: var(--at-ambre); }
.atelier-mode .header__mobile-cta .header__cta--secondary { color: var(--at-ivoire-72); }
.atelier-mode .header__mobile-cta .header__cta--primary {
  background: var(--at-ambre);
  color: var(--at-encre);
  justify-content: center;
  padding: 1rem;
}

/* ==========================================================================
   BOUTONS
   ========================================================================== */

.at-bouton {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  font-family: var(--at-sans);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--at-papier);
  background: var(--at-encre);
  padding: 1.05rem 1.9rem;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  transition: color .4s ease;
}
.at-bouton::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--at-ambre);
  transform: translateY(101%);
  transition: transform .55s cubic-bezier(.22, .8, .3, 1);
}
.at-bouton > * { position: relative; z-index: 2; }
.at-bouton:hover { color: var(--at-encre); }
.at-bouton:hover::before { transform: translateY(0); }
.at-fleche { transition: transform .45s cubic-bezier(.22, .8, .3, 1); }
.at-bouton:hover .at-fleche { transform: translateX(5px); }

/* Sur fond sombre, le bouton s'inverse : c'est l'ambre qui porte */
.at-chapitre .at-bouton,
.at-colophon .at-bouton { background: var(--at-ambre); color: var(--at-encre); }
.at-chapitre .at-bouton::before,
.at-colophon .at-bouton::before { background: var(--at-papier); }

.at-lien {
  font-family: var(--at-sans);
  font-size: .9rem;
  font-weight: 500;
  color: var(--at-encre);
  text-decoration: none;
  border-bottom: 1px solid var(--at-trait);
  padding-bottom: .28rem;
  transition: border-color .4s ease, color .4s ease;
}
.at-lien:hover { border-bottom-color: var(--at-tabac); color: var(--at-tabac); }

.at-actions {
  display: flex;
  align-items: center;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  flex-wrap: wrap;
}

/* ==========================================================================
   1 · HERO
   ========================================================================== */

.at-hero {
  padding-block: clamp(4.5rem, 12vh, 8rem) clamp(3.5rem, 8vh, 5.5rem);
  background: radial-gradient(115% 85% at 10% -12%,
    var(--at-papier-lum) 0%, var(--at-papier) 48%, var(--at-papier-omb) 100%);
}

.at-hero__annot {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: clamp(2rem, 5vh, 3.25rem);
}
.at-hero__annot .at-trait {
  height: 1px;
  flex: 1;
  max-width: 120px;
  background: var(--at-tabac);
  opacity: .4;
}
.at-hero__annot .at-lieu { margin-left: auto; color: var(--at-encre-62); }

.at-hero h1 {
  font-size: clamp(2.3rem, 5.2vw, 4.4rem);
  font-variation-settings: "opsz" 72;
  line-height: 1.07;
  letter-spacing: -.025em;
  max-width: 17ch;
  margin-bottom: clamp(1.75rem, 4vh, 2.5rem);
}
.at-hero h1 em { font-style: italic; color: var(--at-tabac); }

.at-hero__sous {
  font-family: var(--at-sans);
  font-size: clamp(1.02rem, 1.5vw, 1.18rem);
  line-height: 1.7;
  color: var(--at-tabac);
  max-width: 48ch;
  margin: 0 0 clamp(2rem, 4.5vh, 2.75rem);
}

.at-hero__prix {
  margin: clamp(1.75rem, 4vh, 2.5rem) 0 0;
  font-family: var(--at-mono);
  font-size: .75rem;
  letter-spacing: .1em;
  color: var(--at-encre-62);
}
.at-hero__prix b { color: var(--at-encre); font-weight: 500; }
.at-hero__prix a {
  color: var(--at-tabac);
  text-decoration: none;
  border-bottom: 1px solid var(--at-trait);
}
.at-hero__prix a:hover { border-bottom-color: var(--at-tabac); }

.at-hero__pied {
  margin-top: clamp(2rem, 5vh, 3rem);
  padding-top: 1.4rem;
  border-top: 1px solid var(--at-trait);
  display: flex;
  gap: .9rem;
  flex-wrap: wrap;
  font-family: var(--at-mono);
  font-size: .6875rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--at-encre-62);
}
.at-hero__pied .at-pt { color: var(--at-tabac); }

/* ==========================================================================
   2 · BANDE D'AUDIENCE
   ========================================================================== */

.at-bande {
  background: var(--at-encre);
  color: var(--at-papier);
  padding-block: clamp(2rem, 5vh, 2.75rem);
}
.at-bande__phrase {
  font-family: var(--at-serif);
  font-style: italic;
  font-size: clamp(1.1rem, 1.9vw, 1.4rem);
  font-variation-settings: "opsz" 24;
  color: var(--at-ambre);
  margin: 0 0 .9rem;
}
.at-bande__liste {
  margin: 0;
  font-family: var(--at-sans);
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: .06em;
  line-height: 2;
  color: var(--at-ivoire-72);
}

/* ==========================================================================
   3 · CHAPITRE ENCRE
   ========================================================================== */

.at-chapitre {
  color: var(--at-papier);
  background: radial-gradient(95% 75% at 16% 0%,
    var(--at-encre-haut) 0%, var(--at-encre) 46%, var(--at-encre-fond) 100%);
  padding-block: clamp(5rem, 13vh, 9rem);
}
.at-chapitre .at-annot {
  color: var(--at-ambre);
  margin-bottom: clamp(1.6rem, 4vh, 2.6rem);
}

.at-chapitre__corps {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}

.at-chapitre__phrase {
  font-family: var(--at-serif);
  font-size: clamp(1.9rem, 4.3vw, 3.4rem);
  font-variation-settings: "opsz" 60;
  line-height: 1.13;
  letter-spacing: -.02em;
  color: var(--at-ambre);
  max-width: 16ch;
  margin: 0;
}
.at-chapitre__phrase em { font-style: italic; }

.at-chapitre__prose {
  max-width: 50ch;
  color: var(--at-ivoire-72);
  padding-top: .6rem;
}
.at-chapitre__prose strong { color: var(--at-papier); font-weight: 600; }

@media (max-width: 880px) {
  .at-chapitre__corps { grid-template-columns: 1fr; gap: clamp(1.75rem, 4vh, 2.5rem); }
  .at-chapitre__phrase { max-width: 20ch; }
}

/* ==========================================================================
   FIGURES — appareil éditorial
   ========================================================================== */

.at-figure { margin: clamp(3rem, 7vh, 4.5rem) 0 0; }

.at-figure__legende {
  font-family: var(--at-mono);
  font-size: .6875rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--at-tabac);
  margin-top: 1.15rem;
  padding-top: .95rem;
  border-top: 1px solid var(--at-trait);
  line-height: 1.7;
}
.at-figure__legende b { color: var(--at-encre); font-weight: 500; }
.at-chapitre .at-figure__legende { color: var(--at-ambre); border-top-color: var(--at-trait-clair); }
.at-chapitre .at-figure__legende b { color: var(--at-papier); }

.at-diptyque {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: stretch;
}
.at-diptyque__volet { display: flex; flex-direction: column; }

.at-diptyque__etat {
  font-family: var(--at-mono);
  font-size: .625rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--at-ivoire-62);
  padding-bottom: .85rem;
  margin-bottom: 1.6rem;
  border-bottom: 1px solid var(--at-trait-clair);
}
.at-diptyque__volet--ordre .at-diptyque__etat { color: var(--at-ambre); }

.at-nuage { position: relative; flex: 1; min-height: 330px; }
.at-jeton {
  position: absolute;
  left: var(--x);
  top: var(--y);
  transform: rotate(var(--r));
  font-family: var(--at-sans);
  font-size: .78rem;
  font-weight: 500;
  color: var(--at-ivoire-72);
  border: 1px solid var(--at-trait-clair);
  padding: .42rem .8rem;
  white-space: nowrap;
  background: rgba(23, 20, 17, .35);
}

.at-colonne {
  list-style: none;
  margin: 0;
  padding: 0 0 0 1.6rem;
  border-left: 1px solid var(--at-ambre);
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 330px;
}
.at-colonne li {
  position: relative;
  font-family: var(--at-sans);
  font-size: .85rem;
  font-weight: 500;
  color: var(--at-papier);
  padding: .28rem 0;
}
.at-colonne li::before {
  content: '';
  position: absolute;
  left: -1.6rem;
  top: 50%;
  width: .85rem;
  height: 1px;
  background: var(--at-ambre);
}

@media (max-width: 760px) {
  .at-diptyque { grid-template-columns: 1fr; gap: 2.5rem; }
}

/* ==========================================================================
   SECTIONS CLAIRES
   ========================================================================== */

.at-section { padding-block: var(--at-souffle); }

.at-section__tete {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: end;
  margin-bottom: clamp(2.5rem, 6vh, 4rem);
}
.at-section__tete h2 {
  font-size: clamp(1.85rem, 3.5vw, 3rem);
  max-width: 16ch;
  margin-top: .9rem;
}
.at-section__tete h2 em { font-style: italic; color: var(--at-tabac); }
.at-section__tete .at-prose { color: var(--at-encre-62); font-size: 1rem; }

@media (max-width: 820px) {
  .at-section__tete { grid-template-columns: 1fr; align-items: start; }
}

/* ==========================================================================
   4 · LES PORTES — « Où en êtes-vous ? »
   ========================================================================== */

.at-portes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.at-porte {
  display: flex;
  flex-direction: column;
  padding: clamp(1.6rem, 3vw, 2.15rem);
  background: var(--at-papier-lum);
  border: 1px solid var(--at-trait);
  text-decoration: none;
  color: inherit;
  transition: background .45s ease, transform .45s cubic-bezier(.22, .8, .3, 1);
}
.at-porte:hover { background: var(--at-papier-fonce); transform: translateY(-3px); }

.at-porte__num {
  font-family: var(--at-mono);
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: .08em;
  color: var(--at-tabac);
  margin-bottom: 1.15rem;
}
.at-porte__plainte {
  font-family: var(--at-serif);
  font-style: italic;
  font-size: clamp(1.15rem, 1.9vw, 1.4rem);
  font-variation-settings: "opsz" 28;
  line-height: 1.35;
  margin: 0 0 1rem;
}
.at-porte__corps {
  margin: 0 0 1.6rem;
  font-size: .9375rem;
  line-height: 1.65;
  color: var(--at-encre-62);
  flex: 1;
}
.at-porte__reponse {
  font-family: var(--at-sans);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--at-tabac);
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--at-trait);
}
.at-porte:hover .at-porte__reponse .at-fleche { transform: translateX(5px); }

@media (max-width: 880px) { .at-portes { grid-template-columns: 1fr; } }

/* ==========================================================================
   5 · LA MÉTHODE
   ========================================================================== */

.at-methode {
  background: var(--at-papier-fonce);
  border-block: 1px solid rgba(23, 20, 17, .12);
}

.at-etapes {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1rem, 2.5vw, 2.25rem);
}
.at-etape {
  position: relative;
  padding-top: 1.6rem;
  border-top: 1px solid rgba(23, 20, 17, .22);
}
.at-etape::before {
  content: '';
  position: absolute;
  top: -4px;
  left: 0;
  width: 7px;
  height: 7px;
  background: var(--at-tabac);
  border-radius: 50%;
}
.at-etape__num {
  display: block;
  font-family: var(--at-mono);
  font-size: .6875rem;
  letter-spacing: .16em;
  color: var(--at-tabac);
  margin-bottom: .85rem;
}
.at-etape h3 { font-size: 1.3rem; font-variation-settings: "opsz" 24; margin-bottom: .5rem; }
.at-etape p { margin: 0; font-size: .9375rem; line-height: 1.6; color: var(--at-encre-62); }

.at-relance {
  margin-top: clamp(3rem, 7vh, 4.5rem);
  padding-top: clamp(2rem, 4vh, 2.75rem);
  border-top: 1px solid rgba(23, 20, 17, .22);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.at-relance p {
  margin: 0;
  font-family: var(--at-serif);
  font-style: italic;
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  font-variation-settings: "opsz" 28;
  max-width: 30ch;
}

@media (max-width: 820px) { .at-etapes { grid-template-columns: repeat(2, 1fr); row-gap: 2.5rem; } }
@media (max-width: 480px) { .at-etapes { grid-template-columns: 1fr; } }

/* ==========================================================================
   6 · LA PREUVE
   ========================================================================== */

.at-cas {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}

.at-cas__chapitre { margin-bottom: 1.75rem; }
.at-cas__chapitre h4 {
  font-family: var(--at-mono);
  font-size: .6875rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--at-tabac);
  margin: 0 0 .65rem;
}
.at-cas__chapitre p { margin: 0; color: var(--at-encre-62); }

.at-lettrine::first-letter {
  font-family: var(--at-serif);
  font-size: 3.5em;
  font-variation-settings: "opsz" 72;
  line-height: .82;
  float: left;
  padding: .06em .12em 0 0;
  color: var(--at-tabac);
}

.at-cas__cote {
  background: var(--at-noyer);
  color: var(--at-papier);
  padding: clamp(1.85rem, 3.5vw, 2.6rem);
}
.at-cas__mesures {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  padding-bottom: 1.85rem;
  border-bottom: 1px solid var(--at-trait-clair);
}
.at-cas__valeur {
  font-family: var(--at-serif);
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  font-variation-settings: "opsz" 32;
  color: var(--at-ambre);
  line-height: 1;
}
.at-cas__label {
  display: block;
  font-family: var(--at-mono);
  font-size: .625rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--at-ivoire-62);
  margin-top: .55rem;
  line-height: 1.4;
}
.at-cas__cite {
  margin: 1.85rem 0 0;
  font-family: var(--at-serif);
  font-style: italic;
  font-size: 1.075rem;
  line-height: 1.6;
  font-variation-settings: "opsz" 20;
  color: var(--at-ivoire-72);
}
.at-cas__auteur {
  display: block;
  margin-top: 1.15rem;
  font-family: var(--at-mono);
  font-size: .625rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--at-ambre);
}

.at-avis {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
  margin-top: clamp(3rem, 7vh, 4.5rem);
  padding-top: clamp(2.5rem, 5vh, 3.5rem);
  border-top: 1px solid var(--at-trait);
}
.at-avis__item { display: flex; flex-direction: column; }
.at-avis__mots {
  font-family: var(--at-serif);
  font-size: 1.05rem;
  line-height: 1.6;
  font-variation-settings: "opsz" 20;
  margin: 0 0 1.35rem;
  flex: 1;
}
.at-avis__qui {
  font-family: var(--at-sans);
  font-size: .85rem;
  font-weight: 600;
  padding-top: 1rem;
  border-top: 1px solid var(--at-trait);
  color: var(--at-encre);
  text-decoration: none;
  display: block;
  transition: color .35s ease;
}
a.at-avis__qui:hover { color: var(--at-tabac); }
.at-avis__quoi {
  display: block;
  font-family: var(--at-mono);
  font-size: .625rem;
  font-weight: 400;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--at-tabac);
  margin-top: .4rem;
  line-height: 1.6;
}

@media (max-width: 880px) {
  .at-cas { grid-template-columns: 1fr; }
  .at-avis { grid-template-columns: 1fr; }
}

/* ==========================================================================
   7 · COLOPHON — l'appel final
   ========================================================================== */

.at-colophon {
  background: radial-gradient(95% 75% at 84% 0%,
    var(--at-encre-haut) 0%, var(--at-encre) 46%, var(--at-encre-fond) 100%);
  color: var(--at-papier);
  padding-block: clamp(5rem, 12vh, 8.5rem);
}
.at-colophon .at-annot { color: var(--at-ambre); }
.at-colophon h2 {
  font-size: clamp(2rem, 4.2vw, 3.4rem);
  max-width: 18ch;
  margin: 1.3rem 0 1.75rem;
  color: var(--at-papier);
}
.at-colophon h2 em { font-style: italic; color: var(--at-ambre); }
.at-colophon__prose {
  max-width: 52ch;
  color: var(--at-ivoire-72);
  margin: 0 0 clamp(2.25rem, 5vh, 3rem);
}
.at-colophon__adresse {
  display: block;
  margin-top: clamp(2.5rem, 5vh, 3.25rem);
  padding-top: 1.5rem;
  border-top: 1px solid var(--at-trait-clair);
  font-family: var(--at-mono);
  font-size: .6875rem;
  font-style: normal;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--at-ivoire-62);
  line-height: 2;
}
.at-colophon__adresse a { color: var(--at-ivoire-72); text-decoration: none; }
.at-colophon__adresse a:hover { color: var(--at-ambre); }

/* ==========================================================================
   MOUVEMENT — lent, précis. Le contenu reste visible sans JS.
   ========================================================================== */

.js .at-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 1s cubic-bezier(.22, .8, .3, 1),
              transform 1s cubic-bezier(.22, .8, .3, 1);
}
.js .at-reveal.at-vu { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .js .at-reveal { opacity: 1; transform: none; transition: none; }
}
