/* Mises en page propres à chaque partie (accueil, besoins, 01 à 07, carnet, pied).
   Mobile d'abord ; ordinateur à partir de 1024 px. Références : plan-du-site.md. */

/* ---------- parties : tête, titre, compteur ---------- */
.partie__tete { display: flex; align-items: baseline; gap: 6px 28px; flex-wrap: wrap; }
.partie__besoin { color: var(--encre-3); margin: 0; }
.partie__besoin--bloc { margin-top: 6px; }
.titre-partie { margin-top: clamp(20px, 2.6vw, 36px); max-width: 13em; font-size: clamp(2.5rem, 4.8vw + .6rem, 5.75rem); }
.partie__corps { margin-top: var(--s-titre); row-gap: var(--s-7); }
.partie__corps > * { grid-column: 1 / -1; }
/* compteur « 01 / 07 » : au niveau de la légende, à droite (comme la maquette) ; masqué sur téléphone */
.compteur { margin: 0 0 0 auto; text-align: right; color: var(--encre-3); }
@media (max-width: 767px) { .compteur { display: none; } }

/* =========================================================
   ACCUEIL
   ========================================================= */
.accueil {
  --accroche: var(--t-accroche);
  position: relative;
  display: flex;
  min-height: 100svh;
  padding-top: calc(var(--entete-h) + clamp(20px, 2.4vw, 36px));
}
.accueil__in { display: flex; flex-direction: column; width: 100%; padding-bottom: clamp(20px, 2.4vw, 32px); }
.accueil__adresse {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  max-width: 52rem;
  font-size: clamp(1.0625rem, .5vw + .98rem, 1.375rem);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.015em;
  text-wrap: balance;
}
.accueil__adresse::before { content: ""; flex: none; width: 40px; height: 1px; margin-top: .72em; background: var(--encre); }
.accueil__scene { position: relative; margin-top: clamp(18px, 2.2vw, 30px); }
.accroche { margin: 0; font-size: var(--accroche); font-weight: 300; line-height: .86; letter-spacing: -.058em; }
.accroche__ligne { display: block; width: max-content; max-width: none; white-space: nowrap; }
.accroche__ligne--2 { margin-left: 1.7em; margin-top: .07em; }
.accroche__ligne--3 { margin-top: .30em; }   /* la descendante du « p » de « comprendre. » passe entre le « f » et le « b » de « fabriquer. » */
.br-mobile { display: none; }
.accroche strong { font-weight: 600; }
.accroche b { font-weight: 500; }
.accueil__bloc { margin-top: clamp(22px, 3vw, 32px); max-width: 34rem; font-size: var(--t-texte); line-height: 1.5; color: var(--encre-2); text-wrap: pretty; }
.accueil__bloc p { margin: 0; }

.accueil__bas { display: grid; gap: 28px; margin-top: auto; padding-top: clamp(24px, 2.8vw, 44px); }
.accueil__actions { display: grid; justify-items: start; align-content: start; gap: 8px; }
.accueil__garantie { margin: 0; }
.accueil__actions .lien-secondaire { margin-top: 0; }

.acces-rapide ul { border-top: 1px solid var(--filet); }
.acces-rapide a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 44px;
  border-bottom: 1px solid var(--filet);
  font-family: var(--mono);
  font-size: var(--t-mono);
  font-weight: 500;
  letter-spacing: .07em;
  text-transform: uppercase;
  line-height: 1.3;
}
.acces-rapide__phrase { color: var(--encre); }
.acces-rapide__vers { display: inline-flex; align-items: center; gap: 8px; color: var(--encre-3); white-space: nowrap; flex: none; }

@media (max-width: 767px) {
  .accueil { --accroche: 15vw; }
  .accroche { letter-spacing: -.055em; }
  .accroche__ligne--2 { margin-left: .5em; }
  .br-mobile { display: inline; }
  .accueil__bloc { max-width: 22rem; }
}
@media (min-width: 1024px) {
  .accueil { --accroche: min(12.4vw, 18.5svh, 13.5rem); }   /* tablette en paysage : le paragraphe passe sous l'accroche, il faut de la place */
  .accueil__bas {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--gouttiere);
    align-items: end;
  }
  .accueil__actions { grid-column: 1 / 7; }
  .acces-rapide { grid-column: 7 / 13; }
  .acces-rapide a { min-height: 38px; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  .accueil__bas { padding-top: 20px; row-gap: 12px; }
  .accueil__bloc { margin-top: 16px; }
  .acces-rapide a { min-height: 34px; }
}
@media (min-width: 1024px) and (max-width: 1279px) and (pointer: coarse) { .acces-rapide a { min-height: 44px; } }
@media (min-width: 1024px) and (max-width: 1279px) and (max-height: 860px) and (pointer: coarse) { .accueil { --accroche: min(12.4vw, 12.5svh, 13.5rem); } }
@media (min-width: 1024px) and (max-width: 1279px) and (max-height: 860px) { .accueil { --accroche: min(12.4vw, 15svh, 13.5rem); } }
@media (min-width: 1280px) {
  .accueil { --accroche: min(12.4vw, 23svh, 13.5rem); }
  .accueil__bloc {
    position: absolute;
    left: 0;
    top: calc(var(--accroche) * .86 + .04 * var(--accroche));
    width: calc(var(--accroche) * 1.7 - var(--gouttiere) - 52px);
    margin: 0;
    font-size: clamp(14.5px, .94vw + 2.5px, 17px);
    line-height: 1.45;
  }
}
@media (min-width: 1280px) and (max-height: 940px) { .accueil { --accroche: min(12.4vw, 18svh, 13.5rem); } }
@media (min-width: 1280px) and (max-height: 800px) {
  .accueil { --accroche: min(12.4vw, 17svh, 13.5rem); }
  .accueil__bas { padding-top: 20px; }
  .acces-rapide a { min-height: 34px; }
}
@media (min-width: 1280px) and (max-height: 800px) and (pointer: coarse) { .acces-rapide a { min-height: 44px; } }
/* écran bas en paysage (téléphone tourné) : l'accroche ne remplit plus tout l'écran */
@media (max-height: 640px) and (orientation: landscape) {
  .accueil { --accroche: min(11vw, 20vh); }
  .accroche__ligne--2 { margin-left: 1.7em; }
  .br-mobile { display: none; }
}

/* =========================================================
   « DE QUOI AVEZ-VOUS BESOIN ? »
   ========================================================= */
.besoins { margin-top: clamp(56px, 6vw, 88px); }
.besoins .t-display { margin-top: 20px; max-width: 12em; font-size: var(--t-h2); line-height: 1; letter-spacing: -.04em; }
.rangees { margin-top: var(--s-titre); border-top: 1px solid var(--filet-fort); }
.rangees > li { border-bottom: 1px solid var(--filet); }
.rangee {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  padding: 24px 40px 26px 0;
}
.rangee__phrase { font-size: var(--t-rangee); font-weight: 300; line-height: .98; letter-spacing: -.045em; text-wrap: balance; }
.rangee__offre { color: var(--encre); }
.rangee__desc { margin-top: 6px; max-width: 34rem; font-size: var(--t-petit); line-height: 1.5; color: var(--encre-2); text-wrap: pretty; }
.rangee__fleche { position: absolute; right: 0; top: 28px; width: 14px; height: 14px; }
@media (min-width: 768px) {
  .rangee { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gouttiere); align-items: center; padding: 16px 0 18px; row-gap: 4px; }
  .rangee__phrase { grid-column: 1 / 8; grid-row: 1; }
  .rangee__offre { grid-column: 1 / 8; grid-row: 2; }
  .rangee__desc { grid-column: 8 / 12; grid-row: 1 / span 2; margin: 0 0 0 clamp(8px, 2vw, 40px); align-self: center; }
  .rangee__fleche { position: static; grid-column: 12; grid-row: 1 / span 2; justify-self: end; width: 16px; height: 16px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .rangee__phrase { grid-column: 1 / 13; }
  .rangee__offre { grid-column: 1 / 13; }
  .rangee__desc { grid-column: 1 / 12; grid-row: 3; margin: 4px 0 0; }
  .rangee__fleche { grid-row: 1; align-self: start; margin-top: .7em; }
}

/* =========================================================
   OFFRES (01 Sites, 02 Films, 03 assistant et outil) : un titre, une phrase, deux ou trois pastilles, un grand tirage
   ========================================================= */
.offre { margin-top: var(--s-titre); row-gap: var(--s-6); }
.offre > * { grid-column: 1 / -1; }
.offre__texte { display: grid; gap: var(--s-4); align-content: start; max-width: 34rem; }
.offre__valeur { font-size: var(--t-chapeau); line-height: 1.3; letter-spacing: -.015em; text-wrap: pretty; }
.pastilles { display: grid; gap: 8px; }
.pastilles li { padding: 9px 14px 10px; border: 1px solid var(--filet-fort); font-size: var(--t-petit); line-height: 1.4; text-wrap: pretty; }
.offre__ligne { display: block; padding-top: var(--s-3); border-top: 1px solid var(--filet-fort); font-size: var(--t-petit); line-height: 1.45; color: var(--encre-2); text-wrap: pretty; }
.offre__ligne .ico--fleche { width: 22px; margin: 0 8px; color: var(--encre); vertical-align: .05em; }
.offre__ligne strong { font-weight: 500; color: var(--encre); font-size: calc(var(--t-petit) * 1.06); }
.offre__note { font-size: var(--t-petit); line-height: 1.5; color: var(--encre-2); text-wrap: pretty; }
.offre__note .lien { color: var(--encre); font-weight: 500; white-space: nowrap; }
@media (min-width: 1024px) {
  .offre { align-items: start; }
  .offre__texte { grid-column: 1 / 5; }
  .offre__visuel { grid-column: 5 / 13; }
}

/* 01 Sites : le tirage, puis la phrase (à gauche) et l'annotation (à droite, qui désigne l'étiquette « projet concept ») */
.offre__visuel { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 24px; align-content: start; }
.offre__visuel > .tirage { grid-column: 1 / -1; grid-row: 2; }
.offre__visuel > .bascule { grid-column: 1 / -1; grid-row: 1; }
.offre__visuel .planche__phrase { grid-column: 1; grid-row: 3; margin-top: 14px; }
.annot { display: block; }
.annot--n1 { grid-column: 2; grid-row: 3; margin: 60px 6px 0 0; width: max-content; max-width: min(100%, 19ch); }
.annot--n1 .annotation { text-align: right; }
.annot--n1 .geste { left: 0; top: 0; width: 80px; height: 60px; }
.offre__visuel--film { display: block; }
@media (max-width: 767px) {
  .offre__visuel { grid-template-columns: minmax(0, 1fr); }
  .annot--n1 { grid-column: 1; grid-row: 3; justify-self: end; margin: 46px 4px 0 0; }
  .offre__visuel .planche__phrase { grid-row: 4; }
  .annotation { font-size: clamp(1.375rem, 1.8vw + 1.2rem, 1.625rem); }
}

/* 02 Films : la suite (volume, deux tirages décalés) */
.films__suite { margin-top: var(--s-7); row-gap: var(--s-6); }
.films__suite > * { grid-column: 1 / -1; }
.volume__ligne { font-size: clamp(2rem, 2.8vw + 1rem, 3.5rem); font-weight: 300; line-height: .98; letter-spacing: -.05em; text-wrap: balance; }
.volume__ligne strong { font-weight: 600; }
.volume__ligne .chiffres { letter-spacing: -.09em; margin-right: .06em; font-variant-numeric: proportional-nums; }
.volume__sous { margin-top: var(--s-3); max-width: 30rem; color: var(--encre-2); font-size: var(--t-petit); line-height: 1.5; text-wrap: pretty; }
.tirage--duo .tirage__legende { margin-top: 12px; }
@media (min-width: 768px) {
  .tirage--duo-a { grid-column: 1 / 7; }
  .tirage--duo-b { grid-column: 7 / 13; margin-top: clamp(32px, 5vw, 80px); }
}
@media (min-width: 1024px) {
  .films__suite { align-items: start; }
  .volume { grid-column: 1 / 5; }
  .tirage--duo-a { grid-column: 5 / 9; margin-top: 36px; }
  .tirage--duo-b { grid-column: 9 / 13; margin-top: 72px; }
}

/* =========================================================
   PARTIE 03 : GAGNER DU TEMPS (assistant, outil)
   ========================================================= */
.sous-partie { margin-top: var(--s-7); display: grid; gap: var(--s-6); border-top: 1px solid var(--filet); padding-top: var(--s-5); }
.sous-partie__texte .t-h2 { margin-top: 18px; max-width: 11em; }
.sous-partie__texte .offre__texte { margin-top: var(--s-5); }
.sous-partie__visuel { align-self: start; }
@media (min-width: 1024px) {
  .sous-partie { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gouttiere); align-items: start; }
  .sous-partie--a .sous-partie__texte { grid-column: 1 / 6; grid-row: 1; }
  .sous-partie--a .sous-partie__visuel { grid-column: 6 / 13; grid-row: 1; position: sticky; top: calc(var(--entete-h) + 32px); }
  .sous-partie--b .sous-partie__texte { grid-column: 8 / 13; grid-row: 1; }
  .sous-partie--b .sous-partie__visuel { grid-column: 1 / 8; grid-row: 1; position: sticky; top: calc(var(--entete-h) + 32px); }
}

/* =========================================================
   PARTIE 04 : MÉTHODE ET DEVIS
   ========================================================= */
.phrase-signee { margin: var(--s-7) 0 0; }
.phrase-signee p { max-width: 15em; font-size: var(--t-phrase); font-weight: 300; line-height: 1.02; letter-spacing: -.045em; text-wrap: balance; padding-left: .8em; text-indent: -.8em; }   /* guillemet suspendu : le texte reste aligné */
.phrase-signee .geste-cible { text-indent: 0; }
.phrase-signee strong { font-weight: 600; }
.phrase-signee__auteur { margin-top: var(--s-4); padding-left: .8em; }
.signature { width: clamp(200px, 15vw + 110px, 330px); height: auto; color: var(--main-trait); overflow: visible; margin-left: -6px; }
.titre-partie--methode { max-width: 11em; }
.titre-partie--temps { font-size: var(--t-h2); line-height: 1; letter-spacing: -.04em; max-width: 14em; }
.etapes { margin-top: var(--s-7); position: relative; display: grid; row-gap: var(--s-6); border-left: 1px solid var(--encre); padding-left: 20px; }
.etape { position: relative; }
.etape::before { content: ""; position: absolute; left: -23.5px; top: .4em; width: 6px; height: 6px; border-radius: 50%; background: var(--encre); }
.etape__n { font-size: clamp(3.5rem, 12vw, 4.5rem); }
@media (min-width: 768px) {
  .etapes { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--gouttiere); border-left: 0; padding-left: 0; border-top: 1px solid var(--encre); padding-top: var(--s-5); row-gap: var(--s-7); }
  .etape::before { left: 0; top: -28.5px; }
  .etape__n { font-size: clamp(4rem, 5vw + 1rem, 7rem); }
}
@media (min-width: 1024px) {
  .etapes { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto auto auto auto; row-gap: 0; }
  .etape { display: grid; grid-template-rows: subgrid; grid-row: span 4; align-content: start; }
  .etape__n { margin-bottom: 0; }
  .etape__recoit { margin-top: 14px; }
}
.prix { margin-top: var(--s-7); border-top: 1px solid var(--filet-fort); padding-top: var(--s-5); display: grid; gap: var(--s-5); }
.prix__titre { max-width: 8em; }
@media (min-width: 1024px) {
  .prix { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gouttiere); align-items: start; }
  .prix__titre { grid-column: 1 / 5; margin: 0; }
  .prix__lignes { grid-column: 5 / 13; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--gouttiere); align-items: start; }
  .prix__lignes > .prix__liens { grid-column: 1 / -1; }
}

/* =========================================================
   PARTIE 05 : QUI JE SUIS
   ========================================================= */
.titre-partie--qui { font-size: var(--t-h2); line-height: 1; letter-spacing: -.04em; max-width: 17em; }
.parcours__faits { font-size: clamp(1.4rem, 1.1vw + 1.05rem, 2.1rem); font-weight: 300; line-height: 1.12; letter-spacing: -.03em; text-wrap: pretty; }
.parcours__traduction { margin-top: var(--s-4); max-width: 30rem; color: var(--encre-2); text-wrap: pretty; }
.parcours__etiquette { color: var(--encre-3); margin-bottom: var(--s-3); }
.trois-lignes { display: grid; }
.trois-lignes li { display: grid; grid-template-columns: 2.4rem 1fr; gap: 12px; padding: 14px 0; border-top: 1px solid var(--filet-fort); }
.trois-lignes li:last-child { border-bottom: 1px solid var(--filet-fort); }
.trois-lignes .mono { color: var(--encre-3); padding-top: .35em; }
.trois-lignes p { font-size: var(--t-chapeau); line-height: 1.3; letter-spacing: -.015em; text-wrap: pretty; }
.frise { margin-top: var(--s-7); border-top: 1px solid var(--filet-fort); }
.frise__ligne { position: relative; display: grid; grid-template-columns: 1fr; padding: 22px 0; border-bottom: 1px solid var(--filet); }
.frise__dates { display: flex; align-items: center; gap: 8px; }
.frise__lieu { margin-bottom: 6px; }
.frise__texte { max-width: 34rem; }
@media (min-width: 768px) {
  .frise__ligne { grid-template-columns: 9rem 1fr; column-gap: 0; }
  .frise__dates { grid-column: 1; grid-row: 1; align-self: start; }
  .frise__lieu { grid-column: 1; grid-row: 2; margin: 2px 0 0; }
  .frise__texte { grid-column: 2; grid-row: 1 / span 2; padding-left: 28px; border-left: 1px solid var(--filet-fort); margin-block: -22px; padding-block: 22px; position: relative; }
  .frise__texte::before { content: ""; position: absolute; left: -3.5px; top: 29px; width: 6px; height: 6px; border-radius: 50%; background: var(--encre); }
}
@media (min-width: 1024px) {
  .parcours__gauche { grid-column: 1 / 6; }
  .parcours__droite { grid-column: 7 / 13; }
  .parcours__corps { align-items: start; }
}

/* =========================================================
   PARTIE 06 : QUESTIONS
   ========================================================= */
@media (min-width: 1024px) {
  .questions__gauche { grid-column: 1 / 6; }
  .lettre { grid-column: 6 / 13; }
  .questions__corps { align-items: start; }
}

/* =========================================================
   CARNET « EN CE MOMENT »
   ========================================================= */
.carnet { margin-top: clamp(56px, 6vw, 88px); }
.carnet__cadre { border-top: 1px solid var(--filet-fort); padding-top: var(--s-4); }
.carnet__tete { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.carnet__titre { margin: 0; }
.carnet__sous { color: var(--encre-3); margin: 0; }
.carnet__lignes { margin-top: var(--s-5); }
.carnet__ligne { display: grid; gap: 8px; padding: 20px 0; border-top: 1px solid var(--filet); }
.carnet__ligne:last-child { border-bottom: 1px solid var(--filet); }
.carnet__texte { max-width: 44rem; text-wrap: pretty; }
.carnet__texte strong { font-weight: 600; }
.carnet__statut { margin: 0; color: var(--encre); }
@media (min-width: 768px) {
  .carnet__ligne { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gouttiere); align-items: baseline; }
  .carnet__texte { grid-column: 1 / 9; }
  .carnet__statut { grid-column: 10 / 13; justify-self: end; }
}

/* =========================================================
   PARTIE 07 : CONTACT
   ========================================================= */
.contact__phrase { margin-top: var(--s-5); }
.contact__phrase .chapeau { max-width: 40rem; }
.contact__corps { margin-top: var(--s-7); row-gap: var(--s-8); }
.contact__corps > * { grid-column: 1 / -1; }
.contact__rdv { display: grid; gap: var(--s-4); align-content: start; justify-items: start; }
.contact__aide { color: var(--encre-2); max-width: 30rem; }
.contact__echange { max-width: 30rem; padding-top: var(--s-4); border-top: 1px solid var(--filet); font-size: var(--t-petit); line-height: 1.55; color: var(--encre-2); }
.contact__etiquette { display: block; color: var(--encre-3); margin-bottom: 6px; }
.contact__infos { display: grid; gap: 0; width: 100%; max-width: 30rem; border-top: 1px solid var(--filet-fort); }
.contact__infos > div { display: grid; grid-template-columns: 1fr; gap: 2px; padding: 12px 0; border-bottom: 1px solid var(--filet); align-items: baseline; }
.contact__infos dt { color: var(--encre-3); }
.contact__infos dd { margin: 0; overflow-wrap: anywhere; }
@media (min-width: 480px) and (max-width: 767px), (min-width: 1280px) { .contact__infos > div { grid-template-columns: 8.5rem 1fr; gap: 12px; } }
@media (min-width: 768px) {
  .contact__rdv { grid-column: 1 / 6; }
  .form { grid-column: 6 / 13; margin-left: clamp(0px, 2vw, 24px); }
  .contact__corps { align-items: start; row-gap: var(--s-6); }
}
@media (min-width: 1024px) {
  .contact__rdv { grid-column: 1 / 6; }
  .form { grid-column: 7 / 13; margin-left: 0; }
}

/* =========================================================
   PIED DE PAGE
   ========================================================= */
.pied { margin-top: var(--s-espace-partie); padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
.pied .conteneur { container-type: inline-size; }
.pied__nom { font-size: 14.7cqw; font-weight: 300; line-height: .84; letter-spacing: -.06em; white-space: nowrap; margin: 0; padding-top: var(--s-6); border-top: 1px solid var(--filet-fort); }
.pied__nom strong { font-weight: 600; }
.pied__ligne { margin: var(--s-6) 0 0; display: grid; gap: 18px; color: var(--encre-3); }
.pied__ligne p { margin: 0; }
.pied__col1 { display: grid; gap: 14px; align-content: start; }
.pied__liens { display: flex; flex-wrap: wrap; gap: 0 28px; align-content: start; }
.pied__liens a, .pied__liens span { display: inline-flex; align-items: center; gap: 6px; padding-block: 8px; }
.pied__liens a { color: var(--encre); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .28em; }
.pied__liens span { color: var(--encre-3); }
.pied__colophon { max-width: 28rem; text-transform: none; letter-spacing: .02em; font-family: var(--sans); font-size: var(--t-petit); line-height: 1.5; }
@media (min-width: 768px) {
  .pied__ligne { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gouttiere); align-items: start; }
  .pied__col1 { grid-column: 1 / 5; }
  .pied__liens { grid-column: 5 / 13; }
}
@media (min-width: 1024px) { .pied { padding-bottom: 48px; } }
@media (max-width: 479px) { .pied__nom { font-size: 14.7cqw; } }

/* =========================================================
   PAGES SIMPLES : mentions légales et 404
   ========================================================= */
.simple { min-height: 100svh; padding-top: calc(var(--entete-h) + var(--s-7)); padding-bottom: var(--s-9); }
.simple__col { max-width: var(--lecture); margin-inline: auto; padding-inline: var(--marge); }
.simple__retour { display: inline-flex; align-items: center; gap: 8px; margin-bottom: var(--s-6); font-weight: 500; }
.simple h1 { font-size: var(--t-h2); font-weight: 300; line-height: 1; letter-spacing: -.04em; margin-bottom: var(--s-6); }
.simple h1 strong { font-weight: 600; }
.simple h2 { margin: var(--s-6) 0 var(--s-2); padding-top: var(--s-3); border-top: 1px solid var(--filet-fort); font-size: var(--t-h3); font-weight: 600; letter-spacing: -.025em; line-height: 1.15; }
.simple p, .simple li { max-width: var(--lecture); text-wrap: pretty; }
.simple p + p { margin-top: .8em; }
.a-completer { display: inline-block; padding: 1px 6px; border: 1px dashed var(--encre-3); color: var(--encre-3); font-family: var(--mono); font-size: var(--t-mono); letter-spacing: .07em; text-transform: uppercase; line-height: 1.5; vertical-align: .08em; }
.page-404 { min-height: 100svh; display: flex; align-items: center; padding-top: var(--entete-h); }
.page-404__titre { font-size: var(--t-display); font-weight: 300; line-height: .92; letter-spacing: -.05em; max-width: 9em; text-wrap: balance; }
.page-404__titre strong { font-weight: 600; }
.page-404__liens { margin-top: var(--s-6); display: flex; flex-wrap: wrap; gap: 8px 32px; }

/* pied discret des pages simples (mentions légales, 404) */
.pied-simple { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding: var(--s-5) var(--marge) calc(var(--s-6) + env(safe-area-inset-bottom)); border-top: 1px solid var(--filet-fort); margin-top: var(--s-6); color: var(--encre-3); }
.pied-simple p { margin: 0; }
.pied-simple__liens { display: flex; flex-wrap: wrap; gap: 0 24px; }
.page-404 { min-height: calc(100svh - 160px); }
