:root {
  --rose: #f2a9b8;
  --rose-clair: #f8c9d3;
  --rouge: #b4162c;
  --blanc: #fff9fa;
  --ombre: rgba(78, 5, 22, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--rose);
  color: var(--rouge);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
p { text-wrap: pretty; }
::selection { background: var(--rouge); color: var(--rose-clair); }

.navigation {
  position: fixed;
  z-index: 50;
  top: 14px;
  left: 16px;
  width: calc(100% - 32px);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 22px;
  padding: 11px 15px;
  border: 1px solid rgba(180, 22, 44, .28);
  border-radius: 999px;
  background: rgba(248, 201, 211, .86);
  box-shadow: 0 10px 35px rgba(85, 8, 24, .09);
  backdrop-filter: blur(18px) saturate(145%);
}
.marque { font-size: 19px; font-weight: 800; letter-spacing: -.05em; }
.marque span { margin: 0 4px; }
.navigation nav {
  display: flex;
  justify-content: center;
  gap: clamp(14px, 2.2vw, 34px);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.navigation nav a { position: relative; padding: 8px 0; }
.navigation nav a::after {
  content: "";
  position: absolute;
  right: 100%;
  bottom: 3px;
  left: 0;
  height: 1px;
  background: currentColor;
  transition: right .25s ease;
}
.navigation nav a:hover::after,
.navigation nav a:focus-visible::after,
.navigation nav a[aria-current="page"]::after { right: 0; }
.contact-haut {
  padding: 10px 14px;
  border: 1px solid var(--rouge);
  border-radius: 999px;
  background: var(--rouge);
  color: var(--rose-clair);
  font-size: 10px;
  letter-spacing: .05em;
}
a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

.accueil {
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, .94fr);
  overflow: hidden;
  background: var(--rose-clair);
}
.accueil-texte {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 142px clamp(34px, 6vw, 104px) 58px;
}
.eyebrow, .repere {
  margin: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.accueil-manifeste {
  max-width: 650px;
  margin: 26px 0 0;
  padding: 22px 0 24px;
  border-top: 1px solid rgba(180, 22, 44, .32);
  border-bottom: 1px solid rgba(180, 22, 44, .32);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2.15vw, 32px);
  font-style: italic;
  line-height: 1.22;
  letter-spacing: -.02em;
}
.accueil h1 {
  margin: 42px 0 48px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 5.1vw, 79px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.052em;
}
.accueil h1 span { display: block; }
.accueil-intro {
  max-width: 680px;
  padding-left: 28px;
  border-left: 2px solid currentColor;
}
.accueil-intro p { margin: 0 0 1.35em; font-size: clamp(17px, 1.45vw, 21px); line-height: 1.55; }
.accueil-intro p:last-child { margin-bottom: 0; }
.portes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 48px;
}
.porte {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.porte span { font-size: 22px; transition: transform .2s ease; }
.porte:hover span, .porte:focus-visible span { transform: translate(5px, -3px); }
.accueil-visuel {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 108px clamp(28px, 4vw, 70px) 48px;
  background: var(--rouge);
}
.accueil-visuel figure { width: min(100%, 760px); margin: 0; }
.accueil-visuel img {
  width: 100%;
  height: auto;
  border: 12px solid var(--rose-clair);
  box-shadow: 0 35px 90px rgba(48, 0, 12, .34);
}
.accueil-visuel figcaption {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding-top: 13px;
  color: var(--rose-clair);
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.page-entete {
  min-height: 76svh;
  display: grid;
  grid-template-columns: .55fr 1.45fr;
  align-items: end;
  gap: 8vw;
  padding: 170px 7vw 80px;
  border-bottom: 2px solid currentColor;
}
.page-entete h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(72px, 11.5vw, 176px);
  font-weight: 400;
  line-height: .78;
  letter-spacing: -.07em;
}
.page-entete h1 em { font-weight: 400; }
.page-chapeau { align-self: center; max-width: 700px; margin: 80px 0 0; font-size: clamp(21px, 2.15vw, 33px); line-height: 1.25; }
.signature-recherche {
  display: grid;
  grid-template-columns: .55fr 1.45fr;
  gap: 8vw;
  padding: clamp(86px, 10vw, 156px) 7vw;
  border-bottom: 2px solid currentColor;
  background: var(--blanc);
}
.signature-recherche > .repere { padding-top: .55em; }
.signature-recherche-texte { max-width: 1120px; }
.signature-recherche-texte p {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(27px, 3.45vw, 54px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.signature-recherche-texte p + p { margin-top: .28em; }
.signature-recherche-texte p:nth-child(4) {
  margin-top: 1.12em;
  padding-top: 1.08em;
  border-top: 1px solid rgba(180, 22, 44, .42);
}
.signature-recherche-texte p:last-child {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-style: italic;
}
.section { padding: clamp(82px, 9vw, 142px) 7vw; border-bottom: 2px solid currentColor; }
.section-rouge { background: var(--rouge); color: var(--rose-clair); }
.section-claire { background: var(--rose-clair); }
.section-titre {
  display: grid;
  grid-template-columns: .55fr 1.45fr;
  gap: 8vw;
  margin-bottom: clamp(54px, 7vw, 104px);
}
.section-titre h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 7.3vw, 110px);
  font-weight: 400;
  line-height: .86;
  letter-spacing: -.055em;
}
.section-titre p:last-child { align-self: end; max-width: 650px; margin: 0; font-size: 18px; line-height: 1.58; }

.portrait-parcours { display: grid; grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr); gap: 9vw; align-items: start; }
.portrait-parcours figure { position: sticky; top: 105px; margin: 0; }
.portrait-parcours figure img {
  display: block;
  width: min(100%, 510px);
  height: auto;
  aspect-ratio: 29 / 40;
  object-fit: contain;
  box-shadow: 22px 22px 0 rgba(180, 22, 44, .13);
}
.portrait-parcours figcaption, .legende {
  padding-top: 12px;
  border-top: 1px solid currentColor;
  font-size: 9px;
  letter-spacing: .13em;
  line-height: 1.45;
  text-transform: uppercase;
}
.parcours-texte blockquote { margin: 0 0 44px; font-family: Georgia, serif; font-size: clamp(30px, 3.8vw, 54px); line-height: 1.08; letter-spacing: -.035em; }
.parcours-texte > p { margin: 0 0 1.55em; font-size: 18px; line-height: 1.62; }
.identite { padding: 24px 0; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 700; letter-spacing: .08em; line-height: 1.55; text-transform: uppercase; }

.livres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; }
.livre { min-height: 430px; display: flex; flex-direction: column; padding: 28px; border-right: 2px solid currentColor; }
.livre:last-child { border-right: 0; }
.livre-numero { font-size: 11px; letter-spacing: .15em; }
.livre h3 { margin: auto 0 24px; font-family: Georgia, serif; font-size: clamp(35px, 4vw, 58px); font-weight: 400; line-height: .94; letter-spacing: -.04em; }
.livre p { margin: 0; font-size: 15px; line-height: 1.55; }
.livre-etat { display: block; margin-top: 22px; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

.recherche-grille { display: grid; grid-template-columns: .65fr 1.35fr; gap: 9vw; }
.mots { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .14em; line-height: 2; text-transform: uppercase; }
.recherche-texte p { margin: 0 0 1.4em; font-size: clamp(22px, 2.4vw, 34px); line-height: 1.35; }
.recherche-texte p:last-child { margin-bottom: 0; }

.secret-layout { display: grid; grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr); gap: 9vw; align-items: start; }
.secret-entete { position: sticky; top: 105px; }
.secret-entete h2 { margin: 54px 0 0; font-family: Georgia, serif; font-size: clamp(58px, 8vw, 122px); font-weight: 400; line-height: .82; letter-spacing: -.06em; }
.secret-texte { max-width: 790px; margin-left: auto; }
.secret-texte p { margin: 0 0 1.5em; font-size: 18px; line-height: 1.66; }
.secret-texte .secret-chapeau { padding-bottom: 1em; border-bottom: 1px solid rgba(248, 201, 211, .5); font-family: Georgia, serif; font-size: clamp(30px, 3.4vw, 48px); line-height: 1.15; }
.secret-texte .secret-bascule { margin: 1.9em 0 1.3em; font-family: Georgia, serif; font-size: clamp(32px, 4vw, 56px); line-height: 1.08; }

.documents { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.document {
  min-height: 330px;
  display: flex;
  flex-direction: column;
  padding: clamp(28px, 4vw, 50px);
  border: 1px solid currentColor;
  background: var(--rouge);
  color: var(--rose-clair);
  transition: transform .25s ease, box-shadow .25s ease;
}
.document:nth-child(2) { background: transparent; color: var(--rouge); }
.document:hover, .document:focus-visible { transform: translateY(-6px); box-shadow: 0 30px 60px var(--ombre); }
.document small { font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.document h3 { margin: auto 0 18px; font-family: Georgia, serif; font-size: clamp(42px, 5vw, 72px); font-weight: 400; line-height: .9; }
.document span { display: flex; justify-content: space-between; padding-top: 16px; border-top: 1px solid currentColor; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.dessins-intro { display: block; }
.dessins-intro figure { width: 100%; margin: 0; }
.dessins-intro img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto;
  object-fit: contain !important;
  box-shadow: 0 28px 70px var(--ombre);
}
.dessins-intro blockquote { width: min(900px, 82%); margin: clamp(58px, 8vw, 110px) 0 0 auto; font-family: Georgia, serif; font-size: clamp(38px, 5.6vw, 82px); line-height: .98; letter-spacing: -.05em; }
.galerie-grille { display: grid; grid-template-columns: repeat(12, 1fr); gap: 6vw 2vw; align-items: start; }
.galerie-item { grid-column: span 4; margin: 0; }
.galerie-item:nth-child(1), .galerie-item:nth-child(6) { grid-column: span 7; }
.galerie-item:nth-child(2), .galerie-item:nth-child(7) { grid-column: span 5; margin-top: 8vw; }
.galerie-item:nth-child(4), .galerie-item:nth-child(9) { margin-top: 5vw; }
.galerie-item a { display: block; overflow: hidden; background: var(--rose); box-shadow: 0 16px 38px rgba(83, 7, 24, .08); }
.galerie-item img { width: 100%; height: auto; transition: transform .55s ease; }
.galerie-item a:hover img, .galerie-item a:focus-visible img { transform: scale(1.018); }
.galerie-item figcaption { display: flex; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid currentColor; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }

.series { display: grid; gap: clamp(70px, 9vw, 130px); }
.serie { display: grid; grid-template-columns: .55fr 1.45fr; gap: 8vw; }
.serie-entete { position: sticky; top: 105px; align-self: start; }
.serie-entete h2 { margin: 34px 0 18px; font-family: Georgia, serif; font-size: clamp(42px, 5vw, 76px); font-weight: 400; line-height: .93; letter-spacing: -.045em; }
.serie-entete p { margin: 0; max-width: 340px; font-size: 15px; line-height: 1.55; }
.liste-textes { border-top: 2px solid currentColor; }
.texte-lien { display: grid; grid-template-columns: 45px 1fr auto; gap: 20px; align-items: center; padding: 27px 0; border-bottom: 2px solid currentColor; transition: padding .2s ease, background .2s ease; }
.texte-lien:hover, .texte-lien:focus-visible { padding-right: 14px; padding-left: 14px; background: rgba(180, 22, 44, .06); }
.texte-lien small { font-size: 9px; letter-spacing: .13em; }
.texte-lien h3 { margin: 0 0 8px; font-family: Georgia, serif; font-size: clamp(27px, 3vw, 43px); font-weight: 400; line-height: 1; letter-spacing: -.035em; }
.texte-lien p { margin: 0; font-size: 14px; line-height: 1.45; }
.texte-lien > span { font-size: 21px; }
.tous-textes { display: flex; justify-content: space-between; gap: 20px; margin: 70px 0 0 31%; padding: 22px 0; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

.axes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; }
.axe { min-height: 310px; display: flex; flex-direction: column; padding: 28px; border-right: 2px solid currentColor; }
.axe:last-child { border-right: 0; }
.axe small { font-size: 10px; letter-spacing: .13em; }
.axe h3 { margin: auto 0 18px; font-family: Georgia, serif; font-size: 35px; font-weight: 400; line-height: .98; }
.axe p { margin: 0; font-size: 15px; line-height: 1.5; }
.transmission-grille { display: grid; grid-template-columns: .65fr 1.35fr; gap: 9vw; }
.transmission-grille h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(48px, 7vw, 105px); font-weight: 400; line-height: .86; letter-spacing: -.055em; }
.transmission-texte p { margin: 0 0 1.55em; font-size: 18px; line-height: 1.62; }
.bouton-ligne { display: flex; justify-content: space-between; margin-top: 44px; padding: 20px 0; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

.pied {
  min-height: 300px;
  display: grid;
  grid-template-columns: 1fr 1fr auto auto;
  gap: 26px;
  align-items: end;
  padding: 60px 7vw;
  background: var(--rouge);
  color: var(--rose-clair);
}
.pied p, .pied a { margin: 0; font-size: 11px; line-height: 1.45; letter-spacing: .11em; text-transform: uppercase; }
.pied a { padding-bottom: 4px; border-bottom: 1px solid currentColor; }

/* À propos — deuxième niveau de lecture */
.apropos-entete {
  min-height: 64svh;
  display: grid;
  grid-template-columns: .55fr 1.45fr;
  align-items: end;
  gap: 8vw;
  padding: 180px 7vw 84px;
  border-bottom: 2px solid currentColor;
}
.apropos-entete h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(76px, 12vw, 180px);
  font-weight: 400;
  line-height: .78;
  letter-spacing: -.07em;
}
.apropos-corps {
  display: grid;
  grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
  gap: 8vw;
  padding: clamp(90px, 11vw, 170px) 7vw;
  background: var(--rose-clair);
  border-bottom: 2px solid currentColor;
}
.apropos-dessin {
  position: sticky;
  top: 125px;
  align-self: start;
  width: min(100%, 440px);
  margin: 0 auto;
}
.apropos-dessin img {
  width: 100%;
  height: auto;
  box-shadow: 22px 22px 0 rgba(180, 22, 44, .13);
}
.apropos-dessin figcaption {
  margin-top: 22px;
  padding-top: 12px;
  border-top: 1px solid currentColor;
  font-size: 10px;
  line-height: 1.55;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.apropos-texte { width: min(100%, 830px); }
.apropos-texte p {
  margin: 0 0 2em;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2.15vw, 32px);
  line-height: 1.48;
  letter-spacing: -.018em;
}
.apropos-texte .apropos-ouverture {
  margin-bottom: 2.35em;
  font-size: clamp(31px, 3.5vw, 52px);
  line-height: 1.22;
  letter-spacing: -.035em;
}
.apropos-texte .phrase-cle {
  margin: 2.5em 0;
  padding: 1.1em 0;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  font-size: clamp(32px, 4vw, 58px);
  line-height: 1.12;
}
.apropos-texte .vers-silence {
  margin-top: 3.2em;
  padding-top: 1.5em;
  border-top: 2px solid currentColor;
}
.vers-silence a { display: inline; border-bottom: 1px solid currentColor; }
.apropos-ressources {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 42px;
  margin-top: 62px;
  padding-top: 26px;
  border-top: 1px solid currentColor;
}
.apropos-ressources a {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.silence-entree .page-chapeau a { border-bottom: 1px solid currentColor; }

@media (max-width: 980px) {
  .navigation { grid-template-columns: auto 1fr; border-radius: 22px; }
  .navigation nav { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3px 8px; width: 100%; padding-top: 5px; font-size: 8px; }
  .navigation nav a { text-align: center; }
  .contact-haut { grid-column: 2; grid-row: 1; justify-self: end; }
  .accueil { grid-template-columns: 1fr; }
  .accueil-texte { min-height: auto; padding-top: 180px; }
  .accueil-visuel { min-height: auto; padding-top: 60px; }
  .accueil-visuel figure { width: min(74vw, 680px); }
  .page-entete { min-height: 68svh; padding-top: 205px; }
  .pied { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .navigation { top: 8px; left: 8px; width: calc(100% - 16px); padding: 9px 11px 7px; }
  .navigation nav { grid-template-columns: repeat(3, minmax(0, 1fr)); font-size: clamp(7px, 2vw, 8.5px); letter-spacing: .03em; }
  .navigation nav a { min-height: 32px; display: flex; align-items: center; justify-content: center; }
  .contact-haut { padding: 8px 10px; font-size: 8.5px; }
  .accueil-texte { padding: 172px 20px 55px; }
  .accueil h1 { margin: 24px 0 38px; font-size: clamp(42px, 13vw, 62px); }
  .accueil-intro { padding-left: 18px; }
  .portes { grid-template-columns: 1fr; gap: 8px; margin-top: 38px; }
  .accueil-visuel { padding: 55px 20px 45px; }
  .accueil-visuel figure { width: 100%; }
  .accueil-visuel img { border-width: 7px; }
  .page-entete { min-height: 66svh; grid-template-columns: 1fr; gap: 35px; padding: 188px 20px 60px; }
  .page-entete h1 { font-size: clamp(64px, 20vw, 102px); }
  .signature-recherche {
    grid-template-columns: 1fr;
    gap: 34px;
    padding: 74px 20px 84px;
  }
  .signature-recherche > .repere { padding-top: 0; }
  .signature-recherche-texte p {
    font-size: clamp(25px, 8.2vw, 38px);
    line-height: 1.1;
  }
  .page-chapeau { margin: 0; font-size: 20px; }
  .section { padding: 78px 20px; }
  .section-titre, .portrait-parcours, .recherche-grille, .secret-layout, .dessins-intro, .serie, .transmission-grille { grid-template-columns: 1fr; gap: 46px; }
  .section-titre { margin-bottom: 54px; }
  .section-titre h2 { font-size: 53px; }
  .section-titre p:last-child { font-size: 16px; }
  .portrait-parcours figure, .secret-entete, .serie-entete { position: static; }
  .portrait-parcours figure { width: 80%; margin-left: auto; }
  .parcours-texte > p, .secret-texte p, .transmission-texte p { font-size: 16px; }
  .livres { grid-template-columns: 1fr; }
  .livre { min-height: 310px; border-right: 0; border-bottom: 2px solid currentColor; }
  .livre:last-child { border-bottom: 0; }
  .recherche-texte p { font-size: 23px; }
  .documents { grid-template-columns: 1fr; }
  .dessins-intro blockquote { font-size: 50px; }
  .dessins-intro blockquote { width: 100%; }
  .galerie-grille { grid-template-columns: repeat(2, 1fr); gap: 42px 12px; }
  .galerie-item, .galerie-item:nth-child(1), .galerie-item:nth-child(2), .galerie-item:nth-child(4), .galerie-item:nth-child(6), .galerie-item:nth-child(7), .galerie-item:nth-child(9) { grid-column: span 1; margin-top: 0; }
  .galerie-item:nth-child(1), .galerie-item:nth-child(6) { grid-column: 1 / -1; }
  .texte-lien { grid-template-columns: 34px 1fr auto; gap: 10px; }
  .texte-lien p { display: none; }
  .tous-textes { margin-left: 0; }
  .axes { grid-template-columns: 1fr; }
  .axe { min-height: 245px; border-right: 0; border-bottom: 2px solid currentColor; }
  .axe:last-child { border-bottom: 0; }
  .pied { min-height: 270px; grid-template-columns: 1fr; gap: 18px; padding: 50px 20px; }
  .apropos-entete { min-height: 58svh; grid-template-columns: 1fr; gap: 32px; padding: 188px 20px 62px; }
  .apropos-entete h1 { font-size: clamp(67px, 21vw, 104px); }
  .apropos-corps { grid-template-columns: 1fr; gap: 66px; padding: 90px 20px; }
  .apropos-dessin { position: static; width: min(82vw, 380px); margin: 0 auto; }
  .apropos-dessin img { box-shadow: 12px 12px 0 rgba(180, 22, 44, .13); }
  .apropos-texte p { font-size: 21px; line-height: 1.55; }
  .apropos-texte .apropos-ouverture { font-size: 31px; }
  .apropos-texte .phrase-cle { font-size: 36px; }
}

@media (max-width: 420px) {
  .navigation nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .accueil-texte, .page-entete { padding-top: 220px; }
  .accueil h1 { font-size: 42px; }
  .apropos-entete { padding-top: 220px; }
  .galerie-grille { grid-template-columns: 1fr; }
  .galerie-item, .galerie-item:nth-child(1), .galerie-item:nth-child(6) { grid-column: 1; }
  .accueil-visuel figcaption { display: block; line-height: 1.5; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}


/* V28 — passerelle galerie + Carnets nomades */
.galerie-passerelle {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
  padding: 13px 18px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.galerie-passerelle:hover, .galerie-passerelle:focus-visible { background: var(--rouge); color: var(--rose-clair); transform: translateX(4px); }
.galerie-passerelle span { font-size: 16px; }

.nomades-entete {
  min-height: 78svh;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 8vw;
  align-items: end;
  padding: 190px 7vw 88px;
  border-bottom: 2px solid currentColor;
  background: var(--rose-clair);
}
.nomades-entete h1 {
  margin: 34px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(76px, 11vw, 170px);
  font-weight: 400;
  line-height: .78;
  letter-spacing: -.07em;
}
.nomades-entete h1 em { font-weight: 400; }
.nomades-intro { max-width: 560px; padding-bottom: 6px; }
.nomades-intro p { margin: 0 0 38px; font-size: clamp(19px, 1.8vw, 27px); line-height: 1.48; }
.retour-galerie { display: inline-block; padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.nomades-rail-section { padding: clamp(82px, 9vw, 130px) 0 clamp(100px, 12vw, 170px); overflow: hidden; background: var(--rouge); color: var(--rose-clair); }
.nomades-rail-entete { display: grid; grid-template-columns: .55fr 1.45fr; gap: 8vw; padding: 0 7vw; margin-bottom: 72px; }
.nomades-rail-entete h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(50px, 7vw, 105px); font-weight: 400; line-height: .86; letter-spacing: -.055em; }
.nomades-rail {
  display: flex;
  gap: clamp(18px, 3vw, 46px);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  padding: 0 7vw 30px;
  scrollbar-width: thin;
}
.nomade-carte {
  flex: 0 0 auto;
  width: min(72vw, 760px);
  scroll-snap-align: center;
  margin: 0;
}
.nomade-carte:nth-child(even) { width: min(48vw, 520px); padding-top: 8vw; }
.nomade-carte img { width: 100%; height: auto; max-height: 72svh; object-fit: contain; background: var(--rose-clair); }
.nomade-carte figcaption { display: flex; justify-content: space-between; gap: 18px; padding-top: 14px; border-top: 1px solid currentColor; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.nomade-attente {
  flex: 0 0 min(72vw, 760px);
  min-height: 52svh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(28px, 5vw, 70px);
  border: 1px solid currentColor;
  scroll-snap-align: center;
}
.nomade-attente span { font-family: Georgia, serif; font-size: clamp(65px, 10vw, 150px); line-height: .8; }
.nomade-attente p { max-width: 620px; margin: auto 0 28px; font-family: Georgia, serif; font-size: clamp(34px, 5vw, 70px); line-height: .98; letter-spacing: -.045em; }
.nomade-attente small { max-width: 520px; font-size: 10px; line-height: 1.5; letter-spacing: .11em; text-transform: uppercase; }

@media (max-width: 720px) {
  .galerie-passerelle { margin-top: 22px; }
  .nomades-entete { min-height: auto; grid-template-columns: 1fr; gap: 50px; padding: 205px 20px 70px; }
  .nomades-entete h1 { font-size: clamp(68px, 20vw, 100px); }
  .nomades-intro p { font-size: 19px; }
  .nomades-rail-entete { grid-template-columns: 1fr; gap: 30px; padding: 0 20px; margin-bottom: 52px; }
  .nomades-rail { padding: 0 20px 24px; }
  .nomade-carte, .nomade-carte:nth-child(even), .nomade-attente { width: 82vw; flex-basis: 82vw; padding-top: 0; }
  .nomade-attente { min-height: 54svh; }
}
\n\n/* V31 — Carnets nomades : planche de feuillets interactive */\n.nomades-planche-section {\n  padding: clamp(76px, 8vw, 120px) 0 clamp(100px, 10vw, 150px);\n  background: var(--rouge);\n  color: var(--rose-clair);\n}\n.nomades-planche {\n  width: min(1240px, 88vw);\n  margin: 0 auto;\n  display: grid;\n  grid-template-columns: repeat(12, 1fr);\n  gap: clamp(24px, 4vw, 62px) clamp(18px, 3vw, 42px);\n  align-items: start;\n}\n.nomade-feuillet {\n  margin: 0;\n  position: relative;\n  transition: transform .28s ease;\n}\n.nomade-feuillet::before {\n  content: '';\n  position: absolute;\n  inset: -9px -8px 26px;\n  background: rgba(255,255,255,.09);\n  border: 1px solid rgba(255,255,255,.22);\n  transform: rotate(var(--tilt, 0deg));\n  pointer-events: none;\n}\n.nomade-feuillet:hover { transform: translateY(-7px) rotate(calc(var(--tilt, 0deg) * -.35)); }\n.nomade-feuillet.f1 { grid-column: 1 / span 4; --tilt: -1.4deg; }\n.nomade-feuillet.f2 { grid-column: 6 / span 5; margin-top: 7vw; --tilt: 1.1deg; }\n.nomade-feuillet.f3 { grid-column: 2 / span 6; --tilt: .7deg; }\n.nomade-feuillet.f4 { grid-column: 9 / span 4; margin-top: -2vw; --tilt: -1.1deg; }\n.nomade-feuillet.f5 { grid-column: 1 / span 4; margin-top: 3vw; --tilt: 1deg; }\n.nomade-feuillet.f6 { grid-column: 5 / span 4; margin-top: 10vw; --tilt: -1deg; }\n.nomade-feuillet.f7 { grid-column: 9 / span 4; margin-top: 2vw; --tilt: .8deg; }\n.nomade-feuillet.f8 { grid-column: 3 / span 5; margin-top: 1vw; --tilt: -1deg; }\n.nomade-open {\n  display: block; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; cursor: zoom-in;\n}\n.nomade-open img {\n  display: block; width: 100%; height: auto; max-height: 460px; object-fit: contain; background: #fff;\n  box-shadow: 0 18px 38px rgba(0,0,0,.14);\n}\n.nomade-feuillet figcaption {\n  position: relative; z-index: 2; display: flex; justify-content: space-between; gap: 16px;\n  padding-top: 11px; font-size: 9px; letter-spacing: .13em; text-transform: uppercase;\n}\n.nomade-feuillet figcaption span:first-child { font-family: Georgia, serif; font-size: 17px; letter-spacing: 0; }\n.nomades-note {\n  width: min(1240px, 88vw); margin: clamp(70px, 9vw, 130px) auto 0; padding-top: 22px;\n  border-top: 1px solid currentColor; font-family: Georgia, serif; font-size: clamp(24px, 3vw, 43px); font-style: italic; line-height: 1.12;\n}\n.nomades-lightbox {\n  width: min(92vw, 1100px); height: min(92vh, 900px); padding: 52px 28px 22px; border: 0;\n  background: var(--rose-clair); color: var(--rouge); overflow: hidden;\n}\n.nomades-lightbox::backdrop { background: rgba(41, 0, 16, .86); backdrop-filter: blur(6px); }\n.nomades-lightbox img { display: block; max-width: 100%; max-height: calc(100% - 45px); width: auto; height: auto; margin: 0 auto; object-fit: contain; }\n.nomades-lightbox p { margin: 12px 0 0; text-align: center; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }\n.nomades-fermer { position: absolute; top: 10px; right: 16px; border: 0; background: none; color: inherit; font: 36px/1 Georgia, serif; cursor: pointer; }\n@media (max-width: 720px) {\n  .nomades-planche { width: calc(100% - 40px); grid-template-columns: repeat(2, 1fr); gap: 34px 16px; }\n  .nomade-feuillet.f1,.nomade-feuillet.f2,.nomade-feuillet.f3,.nomade-feuillet.f4,.nomade-feuillet.f5,.nomade-feuillet.f6,.nomade-feuillet.f7,.nomade-feuillet.f8 { grid-column: auto; margin-top: 0; }\n  .nomade-feuillet.f3,.nomade-feuillet.f8 { grid-column: 1 / -1; width: 78%; justify-self: center; }\n  .nomade-open img { max-height: 330px; }\n  .nomades-note { width: calc(100% - 40px); }\n  .nomades-lightbox { width: 96vw; height: 88vh; padding: 48px 12px 18px; }\n}\n
/* V32 — Carnets nomades : navigation visible + images réduites + mur de carnet */
@media (min-width: 981px) {
  .navigation { gap: 14px; padding-left: 13px; padding-right: 13px; }
  .navigation nav { gap: clamp(9px, 1.15vw, 18px); font-size: 9px; letter-spacing: .08em; }
  .navigation nav a[href="carnets-nomades.html"] {
    padding: 8px 11px;
    border: 1px solid rgba(180,22,44,.35);
    border-radius: 999px;
    white-space: nowrap;
  }
  .navigation nav a[href="carnets-nomades.html"]::after { display:none; }
  .navigation nav a[href="carnets-nomades.html"]:hover,
  .navigation nav a[href="carnets-nomades.html"][aria-current="page"] {
    background: var(--rouge); color: var(--rose-clair);
  }
}

/* Une planche plus proche d'un carnet / mur d'atelier que d'une galerie plein écran */
.nomades-planche-section { overflow: hidden; }
.nomades-planche {
  width: min(940px, 84vw);
  gap: clamp(42px, 6vw, 84px) clamp(24px, 4vw, 52px);
}
.nomade-feuillet { max-width: 100%; }
.nomade-feuillet.f1 { grid-column: 1 / span 3; --tilt:-2deg; }
.nomade-feuillet.f2 { grid-column: 5 / span 4; margin-top: 5vw; --tilt:1.4deg; }
.nomade-feuillet.f3 { grid-column: 9 / span 3; margin-top: 1vw; --tilt:-.7deg; }
.nomade-feuillet.f4 { grid-column: 2 / span 3; margin-top: -1vw; --tilt:1.6deg; }
.nomade-feuillet.f5 { grid-column: 6 / span 3; margin-top: 7vw; --tilt:-1.2deg; }
.nomade-feuillet.f6 { grid-column: 10 / span 3; margin-top: 0; --tilt:1deg; }
.nomade-feuillet.f7 { grid-column: 3 / span 4; margin-top: 1vw; --tilt:-.8deg; }
.nomade-feuillet.f8 { grid-column: 8 / span 3; margin-top: 6vw; --tilt:1.7deg; }
.nomade-open img {
  width: auto;
  max-width: 100%;
  max-height: 300px;
  margin: 0 auto;
  object-fit: contain;
  border: 7px solid rgba(255,255,255,.92);
}
.nomade-feuillet::before { inset: -7px -6px 23px; }
.nomades-note { width: min(940px, 84vw); }

@media (max-width: 980px) {
  .navigation nav a[href="carnets-nomades.html"] { font-weight: 800; }
  .nomades-planche { width: min(760px, calc(100% - 48px)); }
  .nomade-open img { max-height: 270px; }
}
@media (max-width: 720px) {
  .nomades-planche { width: calc(100% - 40px); grid-template-columns: repeat(2, minmax(0,1fr)); gap: 42px 18px; }
  .nomade-feuillet.f1,.nomade-feuillet.f2,.nomade-feuillet.f3,.nomade-feuillet.f4,
  .nomade-feuillet.f5,.nomade-feuillet.f6,.nomade-feuillet.f7,.nomade-feuillet.f8 {
    grid-column:auto; margin-top:0; width:auto; justify-self:stretch;
  }
  .nomade-feuillet.f2,.nomade-feuillet.f7 { transform: translateY(26px); }
  .nomade-open img { max-height: 220px; border-width:5px; }
  .navigation nav a[href="carnets-nomades.html"] { border-bottom: 1px solid currentColor; }
}

/* V33 — Carnets nomades : présentation éditoriale, sobre et professionnelle */
.page-nomades .nomades-entete { min-height: 66svh; padding-bottom: 68px; }
.page-nomades .nomades-planche-section { background: #fff8f8; color: var(--rouge); padding-top: clamp(68px,7vw,105px); }
.page-nomades .nomades-rail-entete { width:min(1120px,88vw); margin:0 auto 58px; padding:0; grid-template-columns:.65fr 1.35fr; }
.page-nomades .nomades-rail-entete h2 { font-size:clamp(44px,5.8vw,82px); }
.page-nomades .nomades-planche {
  width:min(1120px,88vw); margin:0 auto; display:grid; grid-template-columns:repeat(12,1fr);
  gap:clamp(42px,5vw,70px) clamp(20px,2.6vw,34px); align-items:start;
}
.page-nomades .nomade-feuillet { margin:0!important; transform:none!important; }
.page-nomades .nomade-feuillet::before { display:none; }
.page-nomades .nomade-feuillet.f1 {grid-column:1/span 3}.page-nomades .nomade-feuillet.f2{grid-column:4/span 4;margin-top:24px!important}.page-nomades .nomade-feuillet.f3{grid-column:8/span 3}.page-nomades .nomade-feuillet.f4{grid-column:10/span 3;margin-top:34px!important}
.page-nomades .nomade-feuillet.f5 {grid-column:1/span 3;margin-top:8px!important}.page-nomades .nomade-feuillet.f6{grid-column:4/span 3;margin-top:36px!important}.page-nomades .nomade-feuillet.f7{grid-column:7/span 3}.page-nomades .nomade-feuillet.f8{grid-column:10/span 3;margin-top:28px!important}
.page-nomades .nomade-open { padding:8px; background:#fff; box-shadow:0 10px 26px rgba(79,19,34,.10); transition:transform .25s ease,box-shadow .25s ease; }
.page-nomades .nomade-open:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(79,19,34,.16); }
.page-nomades .nomade-open img { width:100%; max-width:100%; max-height:245px; border:0; margin:0; object-fit:contain; background:#fff; box-shadow:none; }
.page-nomades .nomade-feuillet figcaption { border:0; padding:11px 4px 0; color:#6f4c53; font-size:8px; letter-spacing:.14em; }
.page-nomades .nomade-feuillet figcaption span:first-child { color:var(--rouge); font-size:14px; }
.page-nomades .nomades-note { width:min(1120px,88vw); color:var(--rouge); border-color:rgba(180,22,44,.25); font-size:clamp(22px,2.4vw,34px); }
@media(max-width:900px){
 .page-nomades .nomades-planche{grid-template-columns:repeat(2,minmax(0,1fr));width:min(700px,88vw);gap:44px 24px}
 .page-nomades .nomade-feuillet.f1,.page-nomades .nomade-feuillet.f2,.page-nomades .nomade-feuillet.f3,.page-nomades .nomade-feuillet.f4,.page-nomades .nomade-feuillet.f5,.page-nomades .nomade-feuillet.f6,.page-nomades .nomade-feuillet.f7,.page-nomades .nomade-feuillet.f8{grid-column:auto;margin-top:0!important}
 .page-nomades .nomade-open img{max-height:235px}
}
@media(max-width:560px){
 .page-nomades .nomades-planche{width:calc(100% - 40px);gap:36px 14px}
 .page-nomades .nomade-open{padding:5px}.page-nomades .nomade-open img{max-height:185px}
 .page-nomades .nomades-rail-entete{width:calc(100% - 40px);grid-template-columns:1fr;gap:24px}
}

/* V34 — Carnets nomades : grille éditoriale compacte, régulière et sans trous */
.page-nomades .nomades-planche {
  width: min(1180px, 92vw);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: clamp(14px, 1.8vw, 24px);
  row-gap: clamp(34px, 4vw, 52px);
  align-items: start;
}
.page-nomades .nomade-feuillet,
.page-nomades .nomade-feuillet.f1,
.page-nomades .nomade-feuillet.f2,
.page-nomades .nomade-feuillet.f3,
.page-nomades .nomade-feuillet.f4,
.page-nomades .nomade-feuillet.f5,
.page-nomades .nomade-feuillet.f6,
.page-nomades .nomade-feuillet.f7,
.page-nomades .nomade-feuillet.f8,
.page-nomades .nomade-feuillet.f9,
.page-nomades .nomade-feuillet.f10 {
  grid-column: auto;
  margin: 0 !important;
  width: 100%;
}
.page-nomades .nomade-open {
  width: 100%;
  height: clamp(215px, 19vw, 280px);
  padding: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  box-shadow: 0 8px 22px rgba(79,19,34,.10);
  border: 1px solid rgba(180,22,44,.07);
}
.page-nomades .nomade-open img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  background: #fff;
}
.page-nomades .nomade-feuillet figcaption {
  min-height: 28px;
  padding: 9px 3px 0;
}
.page-nomades .nomades-note { width: min(1180px, 92vw); }
.page-nomades .nomades-manifeste {
  width: min(920px, 92vw);
  margin: 0 auto clamp(54px, 6vw, 82px);
  padding: 0 0 0 clamp(18px, 2.2vw, 30px);
  border-left: 2px solid var(--rouge);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(23px, 2.4vw, 35px);
  font-style: italic;
  line-height: 1.34;
  letter-spacing: -.018em;
}
@media (max-width: 980px) {
  .page-nomades .nomades-planche { grid-template-columns: repeat(3, minmax(0,1fr)); width: min(860px, 90vw); }
  .page-nomades .nomade-open { height: clamp(215px, 29vw, 275px); }
}
@media (max-width: 650px) {
  .page-nomades .nomades-planche { grid-template-columns: repeat(2, minmax(0,1fr)); width: calc(100% - 32px); gap: 28px 12px; }
  .page-nomades .nomade-open { height: clamp(185px, 55vw, 245px); padding: 5px; }
  .page-nomades .nomade-feuillet figcaption { font-size: 7px; }
  .page-nomades .nomades-manifeste { width: calc(100% - 40px); margin-bottom: 48px; }
}

/* V35 — note de fin Carnets nomades */
.page-nomades .nomades-note {
  width: min(1180px, 92vw);
  margin: 34px auto 0;
  padding-top: 12px;
  text-align: right;
  font-family: Georgia, serif;
  font-size: clamp(13px, 1.15vw, 16px);
  font-style: italic;
  font-weight: 400;
  line-height: 1.45;
  border-top: 1px solid rgba(180,22,44,.16);
}

/* V48 — hiérarchie générale : trois parcours et accès directs */
.acces-directs {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  white-space: nowrap;
}
.acces-directs > a:not(.contact-haut) {
  padding: 7px 0 5px;
  border-bottom: 1px solid rgba(180, 22, 44, .5);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.acces-directs > a:not(.contact-haut):hover,
.acces-directs > a:not(.contact-haut):focus-visible { border-bottom-color: currentColor; }

/* Accueil — manifeste, phrase d'orientation et trois portes */
.accueil-texte { padding-top: 124px; }
.accueil-manifeste {
  margin-top: 22px;
  padding: 18px 0 20px;
  font-size: clamp(20px, 1.8vw, 28px);
  line-height: 1.24;
}
.accueil h1 { margin: 30px 0 25px; font-size: clamp(42px, 4.4vw, 69px); }
.accueil-orientation {
  max-width: 680px;
  margin: 0;
  padding-left: 24px;
  border-left: 2px solid currentColor;
  font-size: clamp(16px, 1.28vw, 19px);
  line-height: 1.5;
}
.portes { margin-top: 30px; }
.porte { min-height: 62px; padding: 14px 0; }
.porte strong { font: inherit; }
.porte i { font-style: normal; opacity: .55; }
.porte-recherche { grid-column: 1 / -1; }

/* Dessins — la phrase manifeste ouvre directement sur les œuvres */
.manifeste-dessin {
  max-width: 820px;
  padding: 30px 0;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 2.45vw, 38px);
  font-style: italic;
  line-height: 1.25;
}

/* Écriture — une entrée indépendante du travail plastique */
.ecriture-cartes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
}
.ecriture-carte {
  min-height: 510px;
  display: flex;
  flex-direction: column;
  padding: clamp(24px, 3vw, 42px);
  border-right: 2px solid currentColor;
}
.ecriture-carte:last-child { border-right: 0; }
.ecriture-carte small {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.ecriture-carte h3 {
  margin: 70px 0 30px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(37px, 4vw, 58px);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.045em;
}
.ecriture-carte p { margin: 0 0 1.2em; font-size: 15px; line-height: 1.58; }
.ecriture-carte > a {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid currentColor;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.45;
  text-transform: uppercase;
}
.ecriture-carte-rouge { background: var(--rouge); color: var(--rose-clair); }
.selection-textes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 6vw;
  border-top: 2px solid currentColor;
}
.selection-textes .texte-lien { border-top: 0; }

/* Recherche — documents immédiatement identifiables */
.section-titre-compact { margin-bottom: clamp(46px, 5vw, 74px); }
.recherche-ressources {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
}
.recherche-ressources a {
  min-height: 250px;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr;
  gap: 24px;
  padding: clamp(24px, 3vw, 38px);
  border-right: 2px solid currentColor;
  transition: background .2s ease, color .2s ease;
}
.recherche-ressources a:last-child { border-right: 0; }
.recherche-ressources a:hover,
.recherche-ressources a:focus-visible { background: var(--rouge); color: var(--rose-clair); }
.recherche-ressources small {
  grid-column: 1 / -1;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.recherche-ressources strong {
  align-self: end;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(36px, 4vw, 58px);
  font-weight: 400;
}
.recherche-ressources span { align-self: end; font-size: 24px; }

@media (max-width: 1180px) {
  .navigation { gap: 14px; }
  .navigation nav { gap: clamp(9px, 1.25vw, 18px); font-size: 9px; letter-spacing: .09em; }
  .acces-directs { gap: 9px; }
  .contact-haut { padding-right: 11px; padding-left: 11px; }
}

@media (max-width: 980px) {
  .acces-directs { grid-column: 2; grid-row: 1; }
  .accueil-texte { padding-top: 185px; }
  .ecriture-cartes { grid-template-columns: 1fr; }
  .ecriture-carte { min-height: 360px; border-right: 0; border-bottom: 2px solid currentColor; }
  .ecriture-carte:last-child { border-bottom: 0; }
  .ecriture-carte h3 { margin-top: 50px; }
  .selection-textes { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .acces-directs { gap: 8px; }
  .acces-directs > a:not(.contact-haut) { font-size: 7.5px; letter-spacing: .04em; }
  .acces-directs .contact-haut { padding: 7px 8px; font-size: 7.5px; }
  .accueil-texte { padding-top: 178px; }
  .accueil-manifeste { font-size: 21px; }
  .accueil h1 { margin: 28px 0 25px; }
  .accueil-orientation { padding-left: 16px; font-size: 16px; }
  .porte-recherche strong { max-width: 250px; line-height: 1.45; }
  .manifeste-dessin { padding: 22px 0; font-size: 22px; }
  .ecriture-carte { min-height: 330px; padding: 28px 20px; }
  .ecriture-carte h3 { margin: 46px 0 25px; font-size: 42px; }
  .selection-textes .texte-lien p { display: block; font-size: 13px; }
  .recherche-ressources { grid-template-columns: 1fr; }
  .recherche-ressources a { min-height: 180px; border-right: 0; border-bottom: 2px solid currentColor; }
  .recherche-ressources a:last-child { border-bottom: 0; }
}

@media (max-width: 390px) {
  .navigation { column-gap: 8px; }
  .acces-directs { gap: 6px; }
  .acces-directs .contact-haut { padding-right: 6px; padding-left: 6px; }
  .marque { font-size: 17px; }
}


/* V51 — Vidéos : mini-chaîne intégrée */
.videos-entete { background: var(--rouge); color: var(--rose-clair); }
.videos-section { min-height: 70vh; }
.videos-grille { display: grid; grid-template-columns: repeat(12, 1fr); gap: 28px; }
.video-carte { grid-column: 1 / -1; margin: 0; }
.video-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #111; box-shadow: 0 30px 80px rgba(48,0,12,.15); }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-meta { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 16px 0 0; border-top: 2px solid currentColor; margin-top: 14px; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.video-meta a { border-bottom: 1px solid currentColor; padding-bottom: 3px; }
@media (min-width: 1100px) {
  .video-carte-principale { grid-column: 2 / span 10; }
}
@media (max-width: 720px) {
  .video-meta { align-items: flex-start; flex-direction: column; gap: 10px; }
}


/* V54 — nouveau film : accroche home + hiérarchie vidéo */
.accueil-figure { position: relative; }
.film-home {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 45px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 18px 20px;
  border: 1px solid rgba(248,201,211,.72);
  background: rgba(180,22,44,.93);
  color: var(--rose-clair);
  box-shadow: 0 18px 45px rgba(48,0,12,.28);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  transition: transform .22s ease, background .22s ease;
}
.film-home:hover, .film-home:focus-visible { transform: translateY(-4px); background: rgba(153,13,34,.97); }
.film-home-play {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 13px;
  padding-left: 2px;
}
.film-home-texte { display: block; min-width: 0; }
.film-home-texte small { display: block; margin-bottom: 5px; font-size: 8px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.film-home-texte strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: clamp(16px, 1.55vw, 23px); font-weight: 400; line-height: 1.08; letter-spacing: -.02em; }
.film-home-fleche { font-size: 24px; }
.video-nouveau { margin-bottom: 14px; font-size: 9px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.video-titre { margin: 0 0 30px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(38px, 5vw, 72px); font-weight: 400; line-height: .95; letter-spacing: -.045em; }
.video-titre em { font-weight: 400; }
#film-dessine-ecrit { scroll-margin-top: 130px; }
@media (max-width: 720px) {
  .film-home { left: 12px; right: 12px; bottom: 40px; gap: 11px; padding: 13px 14px; }
  .film-home-play { width: 36px; height: 36px; font-size: 11px; }
  .film-home-texte strong { font-size: 15px; }
  .film-home-fleche { font-size: 19px; }
  .video-titre { margin-bottom: 22px; }
}


/* V56 — Dessiner l’attention : corpus de recherche-création */
.attention-passerelle { margin-left: 10px; }
.signature-recherche-lien {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  margin-top: clamp(44px, 5vw, 72px);
  padding: 18px 0;
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: padding .2s ease, background .2s ease;
}
.signature-recherche-lien:hover,
.signature-recherche-lien:focus-visible { padding-right: 14px; padding-left: 14px; background: rgba(180,22,44,.06); }
.signature-recherche-lien span { font-size: 19px; }
.attention-entete { background: var(--rose-clair); }
.attention-chapeau strong { display: block; margin-bottom: .25em; font-size: .46em; font-family: Arial, Helvetica, sans-serif; font-style: normal; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.attention-chapeau em { font-family: Georgia, "Times New Roman", serif; font-style: italic; }
.attention-oeuvres { padding: clamp(90px, 10vw, 150px) 7vw clamp(110px, 12vw, 180px); background: var(--rose-clair); border-bottom: 2px solid currentColor; }
.attention-corpus-entete { display: grid; grid-template-columns: .55fr 1.45fr; gap: 8vw; margin-bottom: clamp(70px, 8vw, 120px); }
.attention-corpus-entete h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(48px, 7.3vw, 110px); font-weight: 400; line-height: .86; letter-spacing: -.055em; }
.attention-grille { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-flow: dense; gap: clamp(40px, 6vw, 88px) 2.2vw; align-items: start; }
.attention-item { grid-column: span 4; margin: 0; }
.attention-item.landscape { grid-column: span 6; }
.attention-item:nth-child(4n+2):not(.landscape) { margin-top: 5vw; }
.attention-item:nth-child(7n+1).portrait { grid-column: span 5; }
.attention-item:nth-child(7n+1).portrait + .attention-item.portrait { grid-column: span 3; margin-top: 8vw; }
.attention-item a { display: block; overflow: hidden; background: #fff; box-shadow: 0 18px 44px rgba(83,7,24,.09); }
.attention-item img { display: block; width: 100%; height: auto; transition: transform .55s ease; }
.attention-item a:hover img,
.attention-item a:focus-visible img { transform: scale(1.015); }
.attention-item figcaption { display: flex; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid currentColor; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.attention-fin { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); background: var(--blanc); }
.attention-fin a { min-height: 230px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr; gap: 24px; padding: clamp(28px, 4vw, 54px) 7vw; border-right: 2px solid currentColor; transition: background .2s ease, color .2s ease; }
.attention-fin a:last-child { border-right: 0; }
.attention-fin a:hover,
.attention-fin a:focus-visible { background: var(--rouge); color: var(--rose-clair); }
.attention-fin small { grid-column: 1 / -1; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.attention-fin strong { align-self: end; font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 3.4vw, 50px); font-weight: 400; line-height: 1; }
.attention-fin span { align-self: end; font-size: 24px; }
@media (max-width: 720px) {
  .attention-passerelle { margin-left: 0; }
  .signature-recherche-lien { align-items: flex-start; }
  .attention-oeuvres { padding: 78px 20px 100px; }
  .attention-corpus-entete { grid-template-columns: 1fr; gap: 34px; margin-bottom: 56px; }
  .attention-corpus-entete h2 { font-size: 53px; }
  .attention-grille { grid-template-columns: repeat(2, 1fr); gap: 42px 12px; }
  .attention-item,
  .attention-item.landscape,
  .attention-item:nth-child(7n+1).portrait,
  .attention-item:nth-child(7n+1).portrait + .attention-item.portrait { grid-column: span 1; margin-top: 0; }
  .attention-item.landscape { grid-column: 1 / -1; }
  .attention-item:nth-child(4n+2):not(.landscape) { margin-top: 0; }
  .attention-fin { grid-template-columns: 1fr; }
  .attention-fin a { min-height: 170px; border-right: 0; border-bottom: 2px solid currentColor; padding: 32px 20px; }
  .attention-fin a:last-child { border-bottom: 0; }
}
