/* =========================================================
   Sophie Artonne Consulting — feuille de style commune
   Direction : « La Revue » + « Le Point » (validée le 13/10/2026)
   ========================================================= */

/* ---------- Tokens ---------- */
:root{
  /* Palette (présentation 2026) */
  --creme:#FAF5EE;          /* fond de page */
  --encre:#1A1A1A;          /* texte, titres, sections sombres */
  --vermillon:#D94F1E;      /* le point, grands titres, filets — jamais en texte courant */
  --brun:#4A4640;           /* texte secondaire (8,6 sur crème) */
  --lin:#D8CFC2;            /* filets fins */
  --sable:#E5DBCB;          /* fonds alternés */
  --peche:#F5A97F;          /* libellés sur fond encre (9,0) */

  /* Dérivés accessibles du vermillon */
  --vermillon-fonce:#B8441A; /* fond des boutons (blanc dessus : 5,4) */
  --vermillon-texte:#A93B12; /* liens et texte sur crème (5,8) */
  --vermillon-nuit:#E06A3B;  /* accent sur fond encre (5,2) */

  /* Typographies */
  --f-titre:"Gloock", Georgia, "Times New Roman", serif;
  --f-texte:"Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-rubrique:"Space Grotesk", system-ui, sans-serif;

  /* Échelle (fluide 375 → 1280 px) */
  --t-accroche:clamp(2.75rem, 1.4rem + 6vw, 6.25rem);
  --t-h1:clamp(1.35rem, 1.1rem + .9vw, 1.75rem);
  --t-h2:clamp(2rem, 1.3rem + 3vw, 3.5rem);
  --t-h3:clamp(1.3rem, 1.1rem + .8vw, 1.75rem);
  --t-corps:clamp(1.0625rem, 1rem + .25vw, 1.1875rem);
  --t-chapo:clamp(1.2rem, 1.05rem + .6vw, 1.45rem);
  --t-petit:.9375rem;
  --t-rubrique:.78rem;

  /* Espacements */
  --s-1:.5rem; --s-2:1rem; --s-3:1.5rem; --s-4:2.5rem; --s-5:4rem; --s-6:clamp(4rem, 3rem + 5vw, 8rem);
  --gouttiere:clamp(1rem, .5rem + 3vw, 3.5rem);
  --largeur:80rem;
  --mesure:38rem;
  --rayon:2px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;background:var(--creme);color:var(--encre);font-family:var(--f-texte);font-size:var(--t-corps);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
h1,h2,h3{font-family:var(--f-titre);font-weight:400;line-height:1.08;margin:0;text-wrap:balance}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
a{color:var(--vermillon-texte);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
strong{font-weight:600}
:focus-visible{outline:3px solid var(--vermillon);outline-offset:3px;border-radius:1px}
::selection{background:var(--peche);color:var(--encre)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.evitement{position:absolute;left:var(--gouttiere);top:-4rem;background:var(--encre);color:var(--creme);padding:.6rem 1rem;z-index:100}
.evitement:focus{top:.5rem}

.conteneur{max-width:var(--largeur);margin:0 auto;padding:0 var(--gouttiere)}
.mesure{max-width:var(--mesure)}

/* Le point : signature graphique unique */
.pt{color:var(--vermillon)}
.nuit .pt{color:var(--vermillon-nuit)}

/* ---------- Bouton (un seul libellé : « Parlons de votre sujet ») ---------- */
.btn{display:inline-flex;align-items:center;gap:.75rem;background:var(--vermillon-fonce);color:#fff;font-family:var(--f-texte);font-weight:600;font-size:1.0625rem;line-height:1.2;padding:1rem 1.5rem;border:0;border-radius:var(--rayon);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s}
.btn::after{content:"";width:.5rem;height:.5rem;border-radius:50%;background:#fff;transition:transform .2s}
.btn:hover{background:var(--vermillon-texte)}
.btn:hover::after{transform:translateX(4px)}
.btn--menu{padding:.6rem 1rem;font-size:1rem}
.btn--menu::after{display:none}

/* Lien éditorial avec point (« Voir les repères de marché ») */
.lien-point{display:inline-flex;align-items:baseline;gap:.6rem;font-weight:600;color:var(--encre);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.15rem}
.lien-point::after{content:"";flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--vermillon);align-self:center;transition:transform .2s}
.lien-point:hover::after{transform:translateX(4px) scale(1.25)}
.nuit .lien-point{color:var(--creme)}
.nuit .lien-point::after{background:var(--vermillon-nuit)}

/* ---------- En-tête et menu ---------- */
.entete{position:sticky;top:0;z-index:50;background:var(--creme);border-bottom:1px solid var(--encre)}
.entete .conteneur{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem}
.logo img{height:clamp(28px, 2vw + 20px, 36px);width:auto}
.menu{display:flex;align-items:center;gap:clamp(1rem, 2vw, 2rem)}
.menu>ul{display:flex;align-items:center;gap:clamp(1rem, 2vw, 2rem);list-style:none;margin:0;padding:0}
.menu a:not(.btn),.menu summary{color:var(--encre);text-decoration:none;font-size:1rem;cursor:pointer}
.menu a:not(.btn):hover,.menu summary:hover{color:var(--vermillon-texte)}
.menu a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--vermillon);text-decoration-thickness:2px}
.sous-menu{position:relative}
.sous-menu summary{list-style:none;display:flex;align-items:center;gap:.4rem}
.sous-menu summary::-webkit-details-marker{display:none}
.sous-menu summary::after{content:"";width:.4rem;height:.4rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.sous-menu[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.sous-menu ul{position:absolute;top:calc(100% + 1.1rem);left:-1.25rem;min-width:22rem;list-style:none;margin:0;padding:.5rem 1.25rem;background:var(--creme);border:1px solid var(--encre)}
.sous-menu li+li{border-top:1px solid var(--lin)}
.sous-menu ul a{display:block;padding:.75rem 0;font-family:var(--f-titre);font-size:1.15rem!important;line-height:1.2}

/* Menu mobile : <details>, fonctionne sans JavaScript */
.menu-mobile{display:none}
@media (max-width:900px){
  .menu{display:none}
  .menu-mobile{display:block}
  .menu-mobile summary{list-style:none;cursor:pointer;font-weight:600;font-size:1rem;display:flex;align-items:center;gap:.6rem;padding:.6rem 0}
  .menu-mobile summary::-webkit-details-marker{display:none}
  .menu-mobile summary::before{content:"";width:1.3rem;height:.7rem;border-top:2px solid var(--encre);border-bottom:2px solid var(--encre)}
  .menu-mobile[open] summary::before{height:0;border-bottom:0;transform:rotate(0)}
  .menu-mobile .panneau{position:fixed;inset:4.5rem 0 0 0;background:var(--creme);overflow:auto;padding:1.5rem var(--gouttiere) 3rem;border-top:1px solid var(--encre)}
  .menu-mobile ul{list-style:none;margin:0;padding:0}
  .menu-mobile li{border-bottom:1px solid var(--lin)}
  .menu-mobile a:not(.btn){display:block;padding:1rem 0;font-family:var(--f-titre);font-size:1.6rem;color:var(--encre);text-decoration:none}
  .menu-mobile .sous a{font-size:1.15rem;padding:.7rem 0 .7rem 1rem;font-family:var(--f-texte)}
  .menu-mobile .btn{margin-top:2rem}
}

/* ---------- Rubriques (structure « revue ») ---------- */
.section{padding:var(--s-6) 0}
.section + .section{border-top:1px solid var(--lin)}
.alt{background:var(--sable)}
.nuit{background:var(--encre);color:var(--creme)}
.nuit a{color:var(--peche)}
.section.alt,.section.nuit,.section.alt + .section,.section.nuit + .section{border-top:0}

.rubrique{display:flex;justify-content:space-between;gap:1rem;font-family:var(--f-rubrique);font-size:var(--t-rubrique);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--brun);padding-bottom:.75rem;margin-bottom:var(--s-4);border-bottom:2px solid var(--encre)}
.rubrique .num{color:var(--vermillon-texte)}
.nuit .rubrique{color:var(--peche);border-color:var(--creme)}
.nuit .rubrique .num{color:var(--vermillon-nuit)}

.titre-section{font-size:var(--t-h2);max-width:20ch;margin-bottom:var(--s-4)}
.chapo{font-size:var(--t-chapo);line-height:1.5;max-width:var(--mesure)}
.secondaire{color:var(--brun)}
.nuit .secondaire{color:var(--lin)}

/* ---------- Hero (gabarit A) ---------- */
.hero{padding:clamp(2.5rem, 2rem + 4vw, 6rem) 0 var(--s-5)}
.hero .accroche{font-family:var(--f-titre);font-size:var(--t-accroche);line-height:.98;letter-spacing:-.015em;margin:0;max-width:14ch}
.hero .bas{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-4);align-items:end;margin-top:var(--s-5);padding-top:var(--s-3);border-top:1px solid var(--encre)}
.hero h1{font-size:var(--t-h1);line-height:1.2;max-width:28ch}
.hero .sous-titre{color:var(--brun);margin:.35rem 0 0}
@media (max-width:760px){.hero .bas{grid-template-columns:1fr}}

/* ---------- Bloc réponse ---------- */
.reponse{font-size:var(--t-chapo);line-height:1.55;max-width:var(--mesure);padding-left:1.25rem;border-left:3px solid var(--vermillon)}

/* ---------- Colonnes éditoriales ---------- */
.deux-col{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--s-5);align-items:start}
@media (max-width:900px){.deux-col{grid-template-columns:1fr;gap:var(--s-4)}}

.citation{font-family:var(--f-titre);font-size:clamp(1.6rem, 1.2rem + 1.8vw, 2.5rem);line-height:1.15;margin:0}

/* ---------- Sommaire des spécialités (4, à égalité) ---------- */
.sommaire{list-style:none;margin:0;padding:0;counter-reset:s}
.sommaire li{counter-increment:s;border-top:1px solid var(--encre)}
.sommaire li:last-child{border-bottom:1px solid var(--encre)}
.sommaire a{display:grid;grid-template-columns:4rem minmax(0,1fr) minmax(0,1fr) 1.5rem;gap:var(--s-3);align-items:baseline;padding:var(--s-4) 0;color:var(--encre);text-decoration:none}
.sommaire a::before{content:"0" counter(s);font-family:var(--f-rubrique);font-size:.95rem;color:var(--vermillon-texte)}
.sommaire h3{font-size:var(--t-h3);transition:color .15s}
.sommaire p{color:var(--brun);margin:0}
.sommaire .puce{width:.8rem;height:.8rem;border-radius:50%;border:1.5px solid var(--encre);align-self:center;justify-self:end;transition:background .2s,border-color .2s,transform .2s}
.sommaire a:hover h3{color:var(--vermillon-texte)}
.sommaire a:hover .puce{background:var(--vermillon);border-color:var(--vermillon);transform:scale(1.2)}
@media (max-width:760px){
  .sommaire a{grid-template-columns:2.5rem minmax(0,1fr) 1rem;row-gap:.5rem}
  .sommaire p{grid-column:2}
  .sommaire .puce{grid-column:3;grid-row:1}
}

/* ---------- Cas (sujet, angle, média, ce qui a changé) ---------- */
.cas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}
.cas article{border-top:2px solid var(--encre);padding-top:var(--s-3)}
.cas dl{margin:0}
.cas dt{font-family:var(--f-rubrique);font-size:var(--t-rubrique);letter-spacing:.12em;text-transform:uppercase;color:var(--brun);margin-top:var(--s-3)}
.cas dt:first-child{margin-top:0}
.cas dd{margin:.3rem 0 0}
.cas .sujet{font-family:var(--f-titre);font-size:1.4rem;line-height:1.2}
.a-rediger{background:repeating-linear-gradient(-45deg,transparent 0 6px,rgba(217,79,30,.08) 6px 12px);color:var(--brun);font-style:italic;padding:0 .3rem}
@media (max-width:900px){.cas{grid-template-columns:1fr}}

/* ---------- Méthode ---------- */
.etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s-3);counter-reset:e}
.etapes li{counter-increment:e;border-top:1px solid var(--encre);padding-top:var(--s-3)}
.etapes li::before{content:"0" counter(e);display:block;font-family:var(--f-rubrique);color:var(--vermillon-texte);font-size:.95rem;margin-bottom:var(--s-2)}
.etapes h3{font-size:var(--t-h3);margin-bottom:.6rem}
.etapes p{color:var(--brun);font-size:1rem}
@media (max-width:1100px){.etapes{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}}
@media (max-width:760px){.etapes{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.etapes{grid-template-columns:1fr}}

/* ---------- Binôme ---------- */
.binome{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--s-5);align-items:center}
.binome figure{margin:0}
.binome figcaption{font-size:var(--t-petit);color:var(--lin);margin-top:.6rem}
.binome h2{font-size:var(--t-h2);margin-bottom:var(--s-4)}
@media (max-width:900px){.binome{grid-template-columns:1fr}.binome figure{max-width:30rem}}

/* ---------- Refus ---------- */
.refus{list-style:none;margin:0;padding:0;max-width:48rem}
.refus li{display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:.75rem;padding:1.1rem 0;border-bottom:1px solid var(--lin);font-size:var(--t-chapo);line-height:1.4}
.refus li::before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:var(--vermillon);margin-top:.6em}
.refus small{display:block;font-size:1rem;color:var(--brun);margin-top:.3rem}

/* ---------- Tarif ---------- */
.tarif{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--s-5);align-items:start}
.prix{font-family:var(--f-titre);font-size:clamp(3.5rem, 2rem + 6vw, 7rem);line-height:.95;margin:0}
.prix small{display:block;font-family:var(--f-texte);font-size:var(--t-chapo);color:var(--brun);margin-top:.75rem}
.conditions{list-style:none;margin:var(--s-4) 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}
.conditions li{border-top:1px solid var(--encre);padding-top:.75rem}
.conditions strong{display:block;font-family:var(--f-titre);font-weight:400;font-size:1.5rem;line-height:1.15;margin-bottom:.3rem}
.conditions span{color:var(--brun);font-size:1rem}
@media (max-width:900px){.tarif{grid-template-columns:1fr}}
@media (max-width:560px){.conditions{grid-template-columns:1fr}}

/* ---------- FAQ (toujours visible : pas d'accordéon) ---------- */
.faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4) var(--s-5)}
.faq div{border-top:1px solid var(--encre);padding-top:var(--s-3)}
.faq h3{font-size:var(--t-h3);margin-bottom:.75rem}
.faq p{color:var(--brun)}
@media (max-width:760px){.faq{grid-template-columns:1fr}}

/* ---------- Appel final ---------- */
.appel{text-align:left}
.appel h2{font-size:var(--t-h2);max-width:18ch;margin-bottom:var(--s-3)}
.appel p{max-width:var(--mesure);margin-bottom:var(--s-4)}

/* ---------- Pied de page ---------- */
.pied{background:var(--encre);color:var(--creme);padding:var(--s-5) 0 var(--s-4);font-size:var(--t-petit)}
.pied a{color:var(--creme);text-decoration:none}
.pied a:hover{text-decoration:underline}
.pied .grille{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:var(--s-4)}
.pied .signature{font-family:var(--f-titre);font-size:clamp(1.6rem, 1.2rem + 1.5vw, 2.25rem);line-height:1.1;margin:0 0 var(--s-2)}
.pied h2{font-family:var(--f-rubrique);font-size:var(--t-rubrique);letter-spacing:.14em;text-transform:uppercase;color:var(--peche);margin-bottom:var(--s-2)}
.pied ul{list-style:none;margin:0;padding:0;line-height:2.1}
.pied .legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:var(--s-5);padding-top:var(--s-3);border-top:1px solid rgba(250,245,238,.2);color:var(--lin)}
@media (max-width:900px){.pied .grille{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pied .grille{grid-template-columns:1fr}}

/* =========================================================
   Gabarits B (page sujet) et G (Idées : liste et article)
   ========================================================= */

/* Fil d'Ariane */
.ariane{font-size:var(--t-petit);color:var(--brun);padding-top:var(--s-3)}
.ariane ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.ariane li+li::before{content:"/";margin-right:.4rem;color:var(--lin)}
.ariane a{color:var(--brun);text-decoration:none}
.ariane a:hover{color:var(--vermillon-texte);text-decoration:underline}

/* En-tête de page intérieure */
.tete{padding:var(--s-4) 0 var(--s-5)}
.tete h1{font-size:var(--t-h2);max-width:22ch;margin-bottom:var(--s-4)}
.tete .rubrique{margin-bottom:var(--s-4)}

/* Bloc à rédiger (maquette) */
.a-rediger-bloc{border:1px dashed var(--vermillon-texte);background:repeating-linear-gradient(-45deg,transparent 0 8px,rgba(217,79,30,.05) 8px 16px);padding:1rem 1.25rem;color:var(--brun);font-size:1rem;max-width:var(--mesure)}
.a-rediger-bloc strong{display:block;font-family:var(--f-rubrique);font-size:var(--t-rubrique);letter-spacing:.12em;text-transform:uppercase;color:var(--vermillon-texte);margin-bottom:.3rem}

/* Conviction (citation signée) */
.conviction{margin:0;max-width:44rem}
.conviction p{font-family:var(--f-titre);font-size:clamp(1.7rem, 1.2rem + 2vw, 2.75rem);line-height:1.15;margin:0 0 var(--s-3)}
.conviction footer{font-size:var(--t-petit);color:var(--lin)}
.conviction footer a{color:var(--peche)}

/* Corps de texte éditorial */
.corps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--mesure));gap:var(--s-5)}
.corps>.blocs{grid-column:2}
.corps h2{font-size:var(--t-h3);margin:0 0 var(--s-2)}
.corps .bloc+.bloc{margin-top:var(--s-5)}
.corps aside{grid-column:1;grid-row:1;position:sticky;top:6rem;align-self:start}
@media (max-width:900px){.corps{grid-template-columns:1fr;gap:var(--s-4)}.corps>.blocs{grid-column:1}.corps aside{position:static;grid-row:auto}}

/* Chiffre clé daté et sourcé */
.chiffre{border-top:2px solid var(--encre);padding-top:var(--s-3)}
.chiffre .valeur{font-family:var(--f-titre);font-size:clamp(3rem, 2rem + 4vw, 5rem);line-height:1;margin:0 0 .5rem}
.chiffre p{margin:0 0 .5rem}
.chiffre .source{font-size:.875rem;color:var(--brun)}

/* Clients et références */
.clients-liste{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-family:var(--f-titre);font-size:1.5rem}
.clients-liste .reference{font-style:italic}
.legende{font-size:.875rem;color:var(--brun);margin:0}

/* Autres sujets */
.autres{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}
.autres a{display:block;border-top:1px solid var(--encre);padding-top:var(--s-2);font-family:var(--f-titre);font-size:1.3rem;line-height:1.2;color:var(--encre);text-decoration:none}
.autres a:hover{color:var(--vermillon-texte)}
.autres small{display:block;font-family:var(--f-rubrique);font-size:var(--t-rubrique);letter-spacing:.12em;text-transform:uppercase;color:var(--brun);margin-bottom:.4rem}
@media (max-width:760px){.autres{grid-template-columns:1fr}}

/* Liste d'articles (Idées) */
.articles{list-style:none;margin:0;padding:0}
.articles li{border-top:1px solid var(--encre)}
.articles li:last-child{border-bottom:1px solid var(--encre)}
.articles a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) 1.5rem;gap:var(--s-4);padding:var(--s-4) 0;color:var(--encre);text-decoration:none;align-items:baseline}
.articles .meta{font-size:var(--t-petit);color:var(--brun);line-height:1.5}
.articles h2{font-size:var(--t-h3);margin-bottom:.6rem;transition:color .15s}
.articles p{color:var(--brun);margin:0}
.articles .puce{width:.8rem;height:.8rem;border-radius:50%;border:1.5px solid var(--encre);align-self:center;transition:background .2s,border-color .2s,transform .2s}
.articles a:hover h2{color:var(--vermillon-texte)}
.articles a:hover .puce{background:var(--vermillon);border-color:var(--vermillon);transform:scale(1.2)}
@media (max-width:760px){.articles a{grid-template-columns:minmax(0,1fr) 1rem;gap:.6rem 1rem}.articles .meta{grid-column:1 / -1}}

/* Article */
.article-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;font-size:var(--t-petit);color:var(--brun);border-top:1px solid var(--encre);padding-top:var(--s-2);margin-top:var(--s-4)}
.article-meta a{color:var(--encre)}
.prose{max-width:var(--mesure)}
.prose h2{font-size:var(--t-h3);margin:var(--s-5) 0 var(--s-2)}
.prose > :first-child{margin-top:0}
.auteur{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:var(--s-3);align-items:start;border-top:2px solid var(--encre);padding-top:var(--s-3);margin-top:var(--s-5);max-width:var(--mesure)}
.auteur img{width:5rem;height:5rem;border-radius:50%;object-fit:cover;object-position:50% 25%}
.auteur p{margin:0;font-size:1rem;color:var(--brun)}
.auteur strong{display:block;color:var(--encre);font-size:1.0625rem}
.temps{list-style:none;margin:0 0 1em;padding:0;counter-reset:t}
.temps li{counter-increment:t;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.5rem;padding:.75rem 0;border-top:1px solid var(--lin)}
.temps li::before{content:counter(t);font-family:var(--f-titre);font-size:1.4rem;line-height:1.2;color:var(--vermillon-texte)}
.temps strong{display:block}

/* Clients et références : nom + sujet porté (pages sujets, /references) */
.clients-porte{list-style:none;margin:0 0 1rem;padding:0;max-width:56rem}
.clients-porte li{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:.4rem var(--s-4);align-items:baseline;padding:1.1rem 0;border-top:1px solid var(--encre)}
.clients-porte li:last-child{border-bottom:1px solid var(--encre)}
.clients-porte .nom{font-family:var(--f-titre);font-size:clamp(1.35rem, 1.1rem + 1vw, 1.75rem);line-height:1.15}
.clients-porte .reference .nom{font-style:italic}
.clients-porte .base{color:var(--brun)}
.clients-porte .statut{display:inline-block;margin-left:.4rem;font-family:var(--f-rubrique);font-size:var(--t-rubrique);letter-spacing:.1em;text-transform:uppercase;color:var(--brun)}
@media (max-width:760px){.clients-porte li{grid-template-columns:1fr}}
.clients-porte a.nom{color:var(--encre);text-decoration:none;justify-self:start;background-image:linear-gradient(var(--vermillon),var(--vermillon));background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .2s,color .15s}
.clients-porte a.nom:hover{color:var(--vermillon-texte);background-size:100% 1px}
.externe{font-family:var(--f-texte);font-size:.6em;margin-left:.3em;vertical-align:.35em;color:var(--vermillon-texte)}

/* Références (anciens clients) en colonnes compactes */
.refs-titre{font-family:var(--f-rubrique);font-size:var(--t-rubrique);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--brun);margin:var(--s-5) 0 var(--s-2)}
.refs-grille{list-style:none;margin:0 0 1rem;padding:0;columns:3 14rem;column-gap:var(--s-4)}
.refs-grille li{break-inside:avoid;border-top:1px solid var(--lin);padding:.6rem 0}
.refs-grille .nom{font-family:var(--f-titre);font-style:italic;font-size:1.25rem;line-height:1.2;color:var(--encre);text-decoration:none}
.refs-grille a.nom:hover{color:var(--vermillon-texte)}
.refs-grille .base{display:block;font-size:.9rem;color:var(--brun);margin-top:.2rem}

/* Cas sur fond encre (page Références) */
.cas-nuit article{border-color:var(--creme)}
.cas-nuit dt{color:var(--peche)}
.cas-nuit .a-rediger{color:var(--lin);background:repeating-linear-gradient(-45deg,transparent 0 6px,rgba(245,169,127,.12) 6px 12px)}
.clients-porte li,.refs-grille li{scroll-margin-top:6rem}
.clients-porte li:target .nom,.refs-grille li:target .nom{color:var(--vermillon-texte)}
.cas-titre{font-size:var(--t-h3);margin:0 0 var(--s-3)}
.cas-nuit dd{color:var(--creme)}

/* Tableau des repères de marché (page Tarifs) */
.tableau-defile{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.reperes{border-collapse:collapse;width:100%;min-width:40rem;font-size:1rem}
table.reperes caption{caption-side:bottom;text-align:left;font-size:var(--t-petit);color:var(--brun);padding-top:.75rem}
table.reperes th,table.reperes td{text-align:left;vertical-align:top;padding:1rem .75rem 1rem 0;border-bottom:1px solid var(--lin)}
table.reperes thead th{font-family:var(--f-rubrique);font-size:var(--t-rubrique);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--brun);border-bottom:2px solid var(--encre)}
table.reperes tbody th{font-weight:600}
table.reperes tr.nous th,table.reperes tr.nous td{background:var(--sable);border-bottom:2px solid var(--encre)}
table.reperes tr.nous th{padding-left:.75rem;box-shadow:inset 3px 0 0 var(--vermillon)}
.prix .prix-plus{display:block;font-family:var(--f-titre);font-size:clamp(1.3rem, 1.1rem + .8vw, 1.7rem);line-height:1.2;color:var(--encre);margin-top:1.25rem;max-width:18ch}
.note-frais{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--encre);font-size:1rem}
.prix .ht{font-size:.38em;letter-spacing:.02em}
.etapes.etapes-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.etapes.etapes-3{grid-template-columns:1fr}}
.etapes-3 p{font-size:1.0625rem}

/* Page À propos */
.portraits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5)}
.portrait{scroll-margin-top:6rem}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;margin-bottom:var(--s-3)}
.portrait h2{font-size:var(--t-h2);margin-bottom:.3rem}
.portrait .role{font-family:var(--f-rubrique);font-size:var(--t-rubrique);letter-spacing:.12em;text-transform:uppercase;color:var(--vermillon-texte);margin-bottom:var(--s-3)}
.mot{margin:var(--s-3) 0 0;padding-left:1.25rem;border-left:3px solid var(--vermillon)}
.mot p{font-family:var(--f-titre);font-size:1.3rem;line-height:1.3}
@media (max-width:760px){.portraits{grid-template-columns:1fr}}
.manifeste{max-width:44rem;scroll-margin-top:6rem}
.manifeste-titre{font-size:var(--t-h2);margin-bottom:var(--s-4)}
.manifeste p{font-size:var(--t-chapo);line-height:1.55;color:var(--creme)}
.manifeste .manifeste-fin{font-family:var(--f-titre);font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);line-height:1.2;margin-top:var(--s-4)}
.signature-manifeste{font-family:var(--f-titre);font-size:1.4rem}
.signature-manifeste span:last-child{font-family:var(--f-texte);font-size:1rem;color:var(--lin)}
.temoignages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}
.temoignages figure{margin:0;border-top:2px solid var(--encre);padding-top:var(--s-3);display:flex;flex-direction:column;justify-content:space-between;gap:var(--s-3)}
.temoignages blockquote{margin:0}
.temoignages blockquote p{font-family:var(--f-titre);font-size:1.25rem;line-height:1.3}
.temoignages figcaption{font-size:var(--t-petit);color:var(--brun)}
.temoignages figcaption strong{display:block;color:var(--encre)}
@media (max-width:900px){.temoignages{grid-template-columns:1fr}}
.groupe-temoignages{margin-top:var(--s-5)}
.groupe-temoignages:first-of-type{margin-top:0}
.sous-titre{font-size:var(--t-h3);margin-bottom:var(--s-3)}
.temoignages blockquote p{font-size:1.1rem}

/* Formulaire de contact */
.form{display:grid;gap:1.25rem;align-content:start}
.form label{display:block;font-weight:600;font-size:1rem;margin-bottom:.35rem}
.form input,.form textarea{width:100%;font:inherit;font-size:1.0625rem;padding:.85rem .9rem;border:1px solid var(--brun);background:#fff;color:var(--encre);border-radius:var(--rayon);transition:border-color .15s,box-shadow .15s}
.form input:focus-visible,.form textarea:focus-visible{outline:3px solid var(--vermillon);outline-offset:1px}
.form input:user-valid,.form textarea:user-valid{border-color:#2F6B2F}
.form input:user-invalid,.form textarea:user-invalid{border-color:var(--vermillon-texte);box-shadow:inset 3px 0 0 var(--vermillon-texte)}
.form .aide,.form .rgpd{font-size:.875rem;color:var(--brun);margin:.35rem 0 0}
.form .piege{position:absolute;left:-9999px}
.form .btn{font-size:1.1rem}
.etapes.etapes-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.etapes.etapes-4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.etapes.etapes-4{grid-template-columns:1fr}}
.cas article p{margin:0}
.legal-texte h2{font-size:var(--t-h3);margin:var(--s-4) 0 var(--s-2)}
.legal-texte h2:first-child{margin-top:0}
.legal-texte p{font-size:1.0625rem}
.mot-contact{margin-top:var(--s-4)}
.mot-contact .suite{font-family:var(--f-texte);font-size:1.0625rem;color:var(--brun);margin-top:.5rem}
.mot-contact .soleil{color:var(--vermillon);font-size:1.2em}

/* Note de lecture adaptée (pied de page) */
.lecture-adaptee{margin:var(--s-5) 0 0;padding-top:var(--s-3);border-top:1px solid rgba(250,245,238,.2);max-width:48rem;font-size:var(--t-petit);line-height:1.6;color:var(--lin)}
.lecture-adaptee strong{color:var(--creme)}
.lecture-adaptee a{color:var(--peche);text-decoration:underline}
.lecture-adaptee .soleil{color:var(--vermillon-nuit)}
.lecture-adaptee + .legal{margin-top:var(--s-3)}
.form .obligatoire{font-size:.9375rem;color:var(--brun);margin:0}
.form .erreur{color:var(--vermillon-texte);font-size:.9375rem;font-weight:600;margin:.4rem 0 0}
.form .erreur:empty{display:none}
.form [aria-invalid="true"]{border-color:var(--vermillon-texte);box-shadow:inset 3px 0 0 var(--vermillon-texte)}
.nuit a.btn,.nuit a.btn:hover{color:#fff}

/* Accessibilité : reflow à 320 px et texte à 200 % (RGAA 10.11, 10.4) */
.btn{white-space:normal;max-width:100%}
.btn--menu{white-space:nowrap}
.deux-col>*,.binome>*,.tarif>*,.corps>*{min-width:0}
a[href^="mailto:"]{overflow-wrap:anywhere}
h1,h2,h3{overflow-wrap:break-word;hyphens:manual}
body{overflow-x:clip}
.tarif{grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr))}
.etapes li,.conditions li{overflow-wrap:break-word;min-width:0}

/* Schéma « Notre métier » (home) */
.schema{list-style:none;margin:var(--s-5) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4);position:relative}
.schema::before{content:"";position:absolute;top:1.5rem;left:.75rem;right:calc(33.333% - 1.5rem);height:1px;background:var(--encre)}
.schema li{position:relative;padding-top:3.75rem}
.schema .noeud{position:absolute;top:.75rem;left:0;width:1.5rem;height:1.5rem;border-radius:50%;border:1.5px solid var(--encre);background:var(--sable);transition:background .2s}
.schema li:hover .noeud{background:var(--encre)}
.schema .arrivee .noeud{top:0;left:-.75rem;width:3rem;height:3rem;border:0;background:none}
.schema .soleil-svg{width:100%;height:100%;fill:var(--vermillon);stroke:var(--vermillon)}
.schema .etiquette{font-family:var(--f-rubrique);font-size:var(--t-rubrique);letter-spacing:.12em;text-transform:uppercase;color:var(--brun);margin:0 0 .4rem}
.schema h3{font-size:var(--t-h3);margin:0 0 .5rem}
.schema li>p:last-child{color:var(--brun);font-size:1.0625rem;margin:0}
@media (max-width:760px){
  .schema{grid-template-columns:1fr;gap:var(--s-3)}
  .schema::before{top:.75rem;bottom:2.5rem;left:.75rem;right:auto;width:1px;height:auto}
  .schema li{padding:0 0 0 3rem}
  .schema .noeud{top:.1rem}
  .schema .arrivee .noeud{top:-.6rem;left:-.75rem}
}
@media (prefers-reduced-motion:reduce){.schema .noeud{transition:none}}
@media (max-width:760px){
  .schema::before{display:none}
  .schema li:not(:last-child)::after{content:"";position:absolute;left:.75rem;top:1.6rem;bottom:calc(-1 * var(--s-3) + .1rem);width:1px;background:var(--encre)}
}

/* Bandeau de consentement (Google Analytics) */
.consentement{position:fixed;left:var(--gouttiere);right:var(--gouttiere);bottom:var(--gouttiere);z-index:90;display:flex;justify-content:flex-end;pointer-events:none}
.consentement[hidden]{display:none}
.consentement-carte{pointer-events:auto;max-width:34rem;background:var(--creme);color:var(--encre);border:1px solid var(--encre);box-shadow:0 12px 32px -16px rgba(26,26,26,.45);padding:1.5rem}
.consentement h2{font-size:1.4rem;margin:0 0 .6rem}
.consentement p{font-size:.95rem;line-height:1.55;margin:0 0 1.1rem;color:var(--brun)}
.consentement a{color:var(--vermillon-texte)}
.consentement-boutons{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.btn-choix{font:inherit;font-weight:600;font-size:1rem;padding:.8rem 1rem;border:1.5px solid var(--encre);background:var(--creme);color:var(--encre);border-radius:var(--rayon);cursor:pointer;transition:background .15s,color .15s}
.btn-choix:hover{background:var(--encre);color:var(--creme)}
.lien-cookies{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:none}
.lien-cookies:hover{text-decoration:underline}
@media (max-width:560px){.consentement{left:.75rem;right:.75rem;bottom:.75rem}.consentement-carte{padding:1.15rem}}
@media print{.consentement{display:none}}
.legal-texte ul{margin:0 0 1em;padding-left:1.25rem}
.legal-texte li{font-size:1.0625rem;line-height:1.6;margin-bottom:.4rem}
.legal-texte code{font-family:inherit;font-size:inherit;font-weight:600;background:none;padding:0}

/* Harmonisation typographique (22/10/2026) : trois tailles de texte seulement
   19 px = texte courant (--t-corps) · 17 px = texte secondaire (--t-second) · 15 px = petit texte (--t-petit) */
:root{--t-second:1.0625rem}
.legal-texte p,.legal-texte li{font-size:var(--t-corps)}
.etapes p,.etapes-3 p,.schema li>p:last-child,.note-frais,.portrait p,.mot-contact .suite,.cas article p{font-size:var(--t-second)}
.legende,.chiffre .source,.form .aide,.form .rgpd,.form .obligatoire,.lecture-adaptee,.refus small{font-size:var(--t-petit)}
