@import url("https://fonts.googleapis.com/css2?family=Caveat:wght@500&display=swap");
/* ════════════════════════════════════════════════════════════════════════════
   Site Patientèle : base commune à toutes les pages.
   Charger après /brand/tokens.css. Repris des maquettes validées (design/components, design/tokens-alias.css) :
   ne pas redéfinir de couleur ici, tout passe par les tokens --p-* de la charte.
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Alias des maquettes → charte (design/tokens-alias.css) ── */
:root {
  --surface: var(--p-bg);
  --surface-raised: var(--p-card);
  --surface-tint: var(--p-tint);
  --ink: var(--p-ink);
  --ink-muted: var(--p-muted);
  --bordeaux: var(--p-bdx);
  --on-bordeaux: var(--p-bg);
  --bordeaux-text: var(--p-bdx);
  --surligneur: var(--p-hl);
  --on-surligneur: var(--p-ink);
  --line: var(--p-line);
  --line-strong: var(--p-line2);
  --focus: var(--p-bdx);

  --font-display: var(--p-sans);
  --font-sans: var(--p-sans);
  --font-voix: var(--p-serif);
  --font-mono: var(--p-mono);

  /* Absents de la charte : propres à la mise en page des maquettes */
  --space-1: 4px; --space-2: 8px; --space-3: 16px; --space-4: 24px;
  --space-5: 40px; --space-6: 64px; --space-7: 112px;
  --radius-0: 0px; --radius-1: 3px; --radius-pill: 999px;
  --shadow-carte: 0 1px 0 var(--p-line), 0 12px 28px -18px rgba(33, 18, 26, .35);
}

/* ── Composants de marque (design/components/bundle.css) ── */
/* Patientèle — composants. Toutes les couleurs viennent des tokens. */
.pt-root { background: var(--surface); color: var(--ink); font-family: var(--font-sans); font-size: 17px; line-height: 1.6; }
.pt-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); padding: var(--space-3); }
.pt-stack { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-3); }

/* Logo : mot-symbole typographique. L'accent grave est un trait de surligneur. */
.pt-logo { font-family: var(--font-display); font-weight: 800; letter-spacing: -0.045em; line-height: 1; color: var(--bordeaux); display: inline-flex; align-items: baseline; }
.pt-logo .e { position: relative; display: inline-block; }
.pt-logo .e::before { content: ""; position: absolute; left: 0.02em; right: 0.02em; top: -0.12em; height: 0.16em; background: var(--surligneur); transform: skewX(-18deg) rotate(-6deg); }
.pt-logo--inverse { color: var(--on-bordeaux); }
/* Logotype complet : « AGENCE » en surtitre mono, au-dessus de Patientèle, aligné à gauche. */
.pt-lockup{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.3em;line-height:1;color:var(--bordeaux)}
.pt-lockup .pt-logo{font-size:1em}
.pt-lockup .k{font-family:var(--font-mono,"IBM Plex Mono",Menlo,monospace);font-weight:500;font-size:max(10px,.3em);letter-spacing:.32em;text-transform:uppercase;line-height:1;padding-left:.06em}
.pt-lockup--inverse{color:var(--on-bordeaux)}

.pt-logo-sig { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-muted); margin-top: var(--space-2); }

/* Boutons */
.pt-btn { font-family: var(--font-sans); font-weight: 700; font-size: 16px; line-height: 1.2; padding: 14px 22px; border-radius: var(--radius-1); border: 1.5px solid transparent; cursor: pointer; display: inline-flex; align-items: center; gap: var(--space-2); text-decoration: none; }
.pt-btn:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.pt-btn--primaire { background: var(--bordeaux); color: var(--on-bordeaux); }
.pt-btn--primaire:hover { filter: brightness(1.12); }
.pt-btn--secondaire { background: transparent; color: var(--ink); border-color: var(--line-strong); }
.pt-btn--secondaire:hover { border-color: var(--ink); }
.pt-btn--lien { background: none; border: 0; padding: 0; color: var(--bordeaux-text); text-decoration: underline; text-underline-offset: 4px; }
.pt-btn .fleche { font-family: var(--font-mono); font-weight: 400; }

/* Le mot-clé : Fraunces italique, dans un titre en Jakarta. Toujours avec pt-surligne. */
.pt-mot { font-family: var(--font-voix); font-style: italic; font-weight: 400; letter-spacing: -0.01em; }

/* Surligné : 1 à 3 mots par écran, jamais plus. */
.pt-surligne { background: linear-gradient(transparent 12%, var(--surligneur) 12%, var(--surligneur) 88%, transparent 88%); color: var(--on-surligneur); padding: 0 0.12em; margin: 0 -0.04em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }

/* Créneau d'agenda : l'objet signature. */
.pt-creneau { background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-1); box-shadow: var(--shadow-carte); display: grid; grid-template-columns: auto 1fr; max-width: 380px; overflow: hidden; }
.pt-creneau .heure { font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.06em; padding: var(--space-3); border-right: 1px solid var(--line); color: var(--ink-muted); display: flex; flex-direction: column; gap: 2px; font-variant-numeric: tabular-nums; }
.pt-creneau .heure b { color: var(--ink); font-weight: 500; font-size: 18px; letter-spacing: 0; }
.pt-creneau .corps { padding: var(--space-3); display: flex; flex-direction: column; gap: var(--space-1); }
.pt-creneau .quoi { font-family: var(--font-display); font-size: 18px; line-height: 1.2; font-weight: 700; letter-spacing: -0.02em; }
.pt-creneau .qui { font-size: 14px; color: var(--ink-muted); }
.pt-creneau .statut { align-self: flex-start; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; background: var(--surligneur); color: var(--on-surligneur); border-radius: var(--radius-pill); padding: 3px 10px; margin-top: var(--space-1); }
.pt-creneau--vide .quoi { color: var(--ink-muted); font-family: var(--font-voix); font-style: italic; font-weight: 400; }
.pt-creneau--vide .statut { background: transparent; color: var(--ink-muted); border: 1px solid var(--line-strong); }

/* Citation de Jeanne */
.pt-citation { background: var(--surface-tint); padding: var(--space-4); max-width: 560px; display: flex; flex-direction: column; gap: var(--space-3); }
.pt-citation blockquote { margin: 0; font-family: var(--font-voix); font-style: italic; font-size: 24px; line-height: 1.35; color: var(--ink); }
.pt-citation figcaption { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); }
.pt-citation figcaption b { color: var(--ink); font-weight: 500; }

/* Bloc prix : le prix est affiché, c'est un parti pris. */
.pt-prix { background: var(--surface-raised); border: 1px solid var(--line); box-shadow: var(--shadow-carte); padding: var(--space-4); max-width: 420px; display: flex; flex-direction: column; gap: var(--space-3); }
.pt-prix .nom { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); }
.pt-prix .montant { font-family: var(--font-display); font-size: 60px; line-height: 1; font-weight: 800; letter-spacing: -0.04em; }
.pt-prix .montant small { font-family: var(--font-mono); font-size: 15px; letter-spacing: 0; color: var(--ink-muted); margin-left: var(--space-2); }
.pt-prix ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--space-2); font-size: 15px; }
.pt-prix li { display: grid; grid-template-columns: 22px 1fr; border-top: 1px solid var(--line); padding-top: var(--space-2); }
.pt-prix li::before { content: "—"; color: var(--bordeaux-text); }
.pt-prix .note { font-size: 13px; color: var(--ink-muted); }

/* ---------- L'humain ---------- */

/* Emplacement photo : en attendant les vraies photos du shooting. Grain + teinte chaude, légende qui décrit la photo attendue. */
.pt-photo { position: relative; overflow: hidden; background: var(--surface-tint); color: var(--ink); min-height: 180px; display: flex; align-items: flex-end; }
.pt-photo::before { content: ""; position: absolute; inset: 0; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.35'/></svg>"); mix-blend-mode: multiply; opacity: .5; pointer-events: none; }
.pt-photo--sombre { background: var(--bordeaux); color: var(--on-bordeaux); }
.pt-photo .legende { position: relative; font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; padding: var(--space-3); opacity: .85; max-width: 32ch; line-height: 1.5; }
.pt-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* Cadre créneau : la photo recadrée dans une fiche d'agenda, l'heure dans le coin. */
.pt-cadre { position: relative; border-radius: var(--radius-1); overflow: hidden; box-shadow: var(--shadow-carte); }
.pt-cadre .coin { position: absolute; top: 0; left: 0; z-index: 2; background: var(--surface-raised); color: var(--ink); font-family: var(--font-mono); font-size: 12px; letter-spacing: .06em; padding: 6px 10px; border-bottom-right-radius: var(--radius-1); font-variant-numeric: tabular-nums; }

/* Annotation manuscrite de Jeanne : 1 ou 2 par visuel, jamais plus. */
.pt-main { font-family: "Caveat", "Segoe Print", "Bradley Hand", cursive; font-weight: 500; color: var(--bordeaux-text); font-size: 26px; line-height: 1; }

/* Témoignage : vrai visage, nom, métier, ville, résultat pour le cabinet. */
.pt-temoignage { background: var(--surface-raised); border: 1px solid var(--line); padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-3); max-width: 380px; }
.pt-temoignage .qui { display: grid; grid-template-columns: 56px 1fr; gap: var(--space-3); align-items: center; }
.pt-temoignage .visage { width: 56px; height: 56px; border-radius: var(--radius-pill); min-height: 0; }
.pt-temoignage .nom { font-weight: 700; font-size: 16px; line-height: 1.3; letter-spacing: -.01em; }
.pt-temoignage .metier { font-size: 14px; color: var(--ink-muted); line-height: 1.3; }
.pt-temoignage blockquote { margin: 0; font-size: 17px; line-height: 1.55; }
.pt-temoignage .resultat { font-family: var(--font-mono); font-size: 13px; letter-spacing: .02em; border-top: 1px solid var(--line); padding-top: var(--space-2); display: flex; gap: var(--space-3); flex-wrap: wrap; font-variant-numeric: tabular-nums; }
.pt-temoignage .resultat b { font-weight: 500; background: var(--surligneur); color: var(--on-surligneur); padding: 0 4px; }

/* Duo : Jeanne et Salim, chacun avec son rôle. */
.pt-duo { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); max-width: 760px; }
.pt-duo .carte { display: flex; flex-direction: column; gap: var(--space-2); }
.pt-duo .pt-photo { aspect-ratio: 4 / 5; min-height: 0; max-width: 100%; }
.pt-duo .role { font-family: var(--font-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-muted); }
.pt-duo .nom { font-weight: 800; font-size: 26px; letter-spacing: -.03em; line-height: 1.1; }
.pt-duo p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ink-muted); }
@media (max-width: 560px) { .pt-duo { grid-template-columns: 1fr; } }

/* Lettre de Jeanne : signée à la main. */
.pt-lettre { background: var(--surface-raised); border: 1px solid var(--line); padding: var(--space-5); max-width: 620px; display: flex; flex-direction: column; gap: var(--space-3); }
.pt-lettre p { margin: 0; font-size: 17px; line-height: 1.7; }
.pt-lettre .signature { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-2); }
.pt-lettre .signature .visage { width: 64px; height: 64px; border-radius: var(--radius-pill); min-height: 0; }
.pt-lettre .signature .pt-main { font-size: 34px; }
.pt-lettre .signature small { display: block; font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-muted); }

/* Bouton lecture vidéo sur une vignette */
.pt-lecture { position: absolute; z-index: 2; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 72px; height: 72px; border-radius: var(--radius-pill); background: var(--surligneur); color: var(--on-surligneur); border: 0; font-size: 22px; display: grid; place-items: center; cursor: pointer; }
.pt-lecture:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.pt-sous-titre { position: absolute; z-index: 2; left: 50%; bottom: var(--space-4); transform: translateX(-50%); background: var(--ink); color: var(--surface); font-weight: 700; font-size: 15px; padding: 4px 10px; white-space: nowrap; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* ── Mise en page commune des pages intérieures, v2 (design/components/base.css) ── */
/* ===== BASE COMMUNE PATIENTÈLE v2 · sobre et claire (ne pas modifier, copier tel quel) ===== */
.pt-lockup{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.3em;line-height:1;color:var(--bordeaux);text-decoration:none}.pt-lockup .pt-logo{font-size:1em}.pt-lockup .k{font-family:var(--font-mono);font-weight:500;font-size:max(10px,.3em);letter-spacing:.32em;text-transform:uppercase;line-height:1;padding-left:.06em}
body{margin:0;background:var(--surface)}
.page{width:100%;background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:1.6;box-sizing:border-box;overflow:hidden}
.page *{box-sizing:border-box}
.page a:not(.pt-btn):not(.dos-card):not(.pt-lockup){color:var(--bordeaux-text)}
p{margin:0}
.wrap{margin:0 auto;width:100%;max-width:1160px;padding:0 48px}
.stack{display:flex;flex-direction:column}
.row{display:flex;flex-wrap:wrap;align-items:center}
.muted{color:var(--ink-muted)}
/* Typographie : une échelle, pas plus */
.lbl{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);line-height:1.4}
.h1{font-family:var(--font-display);font-weight:700;letter-spacing:-.035em;margin:0;text-wrap:balance;font-size:56px;line-height:1.04}
.h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;margin:0;text-wrap:balance;font-size:38px;line-height:1.1}
.h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;margin:0;font-size:22px;line-height:1.3}
.lead{color:var(--ink-muted);margin:0;font-size:20px;line-height:1.5;max-width:60ch}
/* Bandeau maquette, nav, pied */
.maquette{background:var(--ink);color:var(--surface);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-align:center;padding:8px 16px}
.nav{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding:20px 48px}
.nav nav{display:flex;gap:28px;font-size:15px;color:var(--ink-muted)}
.nav nav a{color:inherit !important;text-decoration:none}
.nav nav a.on{color:var(--ink) !important;font-weight:700}
.foot{border-top:1px solid var(--line);font-size:14px;color:var(--ink-muted)}
.foot-in{padding:40px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
.foot a{color:inherit !important;text-decoration:none}
.foot .liens{display:flex;flex-wrap:wrap;gap:6px 16px}
/* En-tête de page : kicker, H1 (seul titre surligné de la page), une phrase */
.en-tete{padding:80px 0 72px;display:flex;flex-direction:column;gap:20px;max-width:780px}
.en-tete .lead{max-width:56ch}
/* Sections : 96 px d'air, un filet entre deux, un seul type de contenu par section */
.sec{padding:96px 0;border-top:1px solid var(--line)}
.sec.tint{background:var(--surface-tint);border-top:0}
.sec.bande{background:var(--bordeaux);color:var(--on-bordeaux);border-top:0}
.sec.bande .lbl,.sec.bande .lead{color:var(--surface-tint)}
.sec.bande .h2,.sec.bande .h3{color:var(--on-bordeaux)}
.sec-head{display:flex;flex-direction:column;gap:14px;max-width:720px;margin-bottom:56px}
.sec-head .lead{font-size:19px}
.sec-head--court{margin-bottom:40px}
/* Grilles : deux, trois, quatre */
.deux{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:start}
.deux--texte{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.trois{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.quatre{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
/* Carte : un seul style, sans ombre */
.carte{background:var(--surface-raised);border:1px solid var(--line);padding:28px 32px;display:flex;flex-direction:column;gap:12px}
.carte .h3{font-size:20px}
.carte p{font-size:16px;line-height:1.55;color:var(--ink-muted)}
.tint .carte{border-color:transparent}
/* Chiffres : un filet au-dessus, le nombre, sa légende */
.chiffres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.chiffre{display:flex;flex-direction:column;gap:8px;border-top:2px solid var(--ink);padding-top:16px}
.chiffre .n{font-family:var(--font-mono);font-weight:500;font-size:48px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.chiffre .t{font-size:15px;line-height:1.4;color:var(--ink-muted)}
.bande .chiffre{border-top-color:var(--surface-tint)}
.bande .chiffre .t{color:var(--surface-tint)}
/* Définitions : terme en gras, explication dessous */
.def{display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.55;color:var(--ink-muted);border-top:1px solid var(--line);padding-top:14px}
.def b{color:var(--ink);font-size:16px}
/* Listes : tiret ou croix */
.liste{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;font-size:16px}
.liste li{position:relative;padding:12px 0 0 26px;border-top:1px solid var(--line);line-height:1.5}
.liste li::before{content:"—";color:var(--bordeaux-text);position:absolute;left:0;top:12px}
.liste.non li::before{content:"×";color:var(--ink-muted)}
.liste li b{display:block;color:var(--ink)}
/* Étude de cas : photo, texte, trois chiffres, une phrase de la cliente */
.cas{display:grid;grid-template-columns:300px minmax(0,1fr);gap:56px;align-items:start}
.cas + .cas{margin-top:72px;padding-top:72px;border-top:1px solid var(--line)}
.cas .corps{display:flex;flex-direction:column;gap:24px;max-width:640px}
.cas .corps p{font-size:17px}
.cas .corps p b{display:block;font-size:15px;color:var(--ink-muted);font-weight:600;margin-bottom:2px}
.cas .chiffres{gap:24px;margin-top:8px}
.cas .chiffre .n{font-size:36px}
.tint .cas + .cas{border-top-color:var(--line-strong)}
/* Citation sobre : filet à gauche, Fraunces */
.cit{margin:0;border-left:2px solid var(--ink);padding:4px 0 4px 24px;display:flex;flex-direction:column;gap:10px}
.cit blockquote{margin:0;font-family:var(--font-voix);font-style:italic;font-size:21px;line-height:1.4}
.cit figcaption{font-size:14px;color:var(--ink-muted)}
.cit figcaption b{color:var(--ink)}
/* Tableau */
.tab-box{overflow-x:auto;border:1px solid var(--line);background:var(--surface-raised)}
table.tab{width:100%;border-collapse:collapse;font-size:15px;min-width:720px}
table.tab th{text-align:left;font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);padding:14px 20px;border-bottom:1px solid var(--line)}
table.tab td{padding:16px 20px;border-bottom:1px solid var(--line);vertical-align:top}
table.tab tr:last-child td{border-bottom:0}
table.tab .n{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
table.tab tr.med td{background:var(--surface-tint)}
/* Étiquettes : Exemple, statut */
.tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-strong);color:var(--ink-muted);padding:2px 8px;align-self:flex-start;white-space:nowrap}
.pastille{display:inline-flex;align-items:center;gap:8px;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-1);padding:8px 12px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em}
.pastille i{font-style:normal;background:var(--surligneur);color:var(--on-surligneur);border-radius:999px;padding:2px 9px}
/* FAQ */
details{border-top:1px solid var(--line);padding:20px 0}
details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:700;font-size:18px;letter-spacing:-.01em;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--font-mono);font-weight:400;color:var(--bordeaux-text)}
details[open] summary::after{content:"−"}
details p{margin-top:10px;color:var(--ink-muted);max-width:68ch}
/* Photos */
.pt-photo img{filter:sepia(.14) saturate(.92) contrast(1.03)}
.pt-photo::before{z-index:1}
.pt-photo .legende{z-index:2;background:rgba(33,18,26,.55);color:#F7EEE9;margin:12px;padding:4px 8px}
.ph{background:var(--surface-tint);border:1px dashed var(--line-strong);display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.tint .ph{background:var(--surface)}
/* Bloc final : même rythme qu'une section, le seul autre titre surligné */
.final{padding:96px 0;border-top:1px solid var(--line)}
.final-in{display:flex;flex-direction:column;align-items:flex-start;gap:24px;max-width:720px}
/* Formulaire (fiche, lettre) */
.champ{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.champ input{font:inherit;font-weight:400;font-size:16px;padding:13px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-1);background:var(--surface);color:var(--ink);min-height:48px}
.fiche{background:var(--surface-raised);border:1px solid var(--line);display:grid;grid-template-columns:160px 1fr;gap:32px;padding:32px;align-items:center}
.fiche .couv{aspect-ratio:3/4;background:var(--bordeaux);color:var(--on-bordeaux);padding:16px;display:flex;flex-direction:column;justify-content:space-between;font-family:var(--font-display);font-weight:700;font-size:16px;line-height:1.15;letter-spacing:-.02em}
.fiche .couv .lbl{color:var(--surface-tint);font-size:10px}
/* Éditorial : Les Dossiers */
.prose{max-width:680px;font-size:18px;line-height:1.7}
.prose > * + *{margin-top:20px}
.prose h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.025em;font-size:30px;line-height:1.15;margin-top:64px;text-wrap:balance}
.prose h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.015em;font-size:21px;line-height:1.3;margin-top:36px}
.prose ul,.prose ol{padding-left:22px}
.prose li + li{margin-top:8px}
.byline{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--ink-muted);line-height:1.4}
.byline .visages{display:flex}
.byline .visages .pt-photo{width:40px;height:40px;border-radius:999px;min-height:0;border:2px solid var(--surface);flex:none}
.byline .visages .pt-photo + .pt-photo{margin-left:-10px}
.byline b{color:var(--ink);font-weight:700}
.dos-num{font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:.06em;color:var(--bordeaux-text)}
.reponse{background:var(--surface-raised);border:1px solid var(--line);padding:24px 28px;display:flex;flex-direction:column;gap:10px}
.reponse .lbl{color:var(--bordeaux-text)}
.sommaire{border-top:2px solid var(--ink);padding-top:14px;display:flex;flex-direction:column;gap:2px;font-size:15px}
.sommaire a{display:grid;grid-template-columns:32px 1fr;color:var(--ink) !important;text-decoration:none;padding:6px 0;border-bottom:1px solid var(--line);line-height:1.4}
.sommaire a span{font-family:var(--font-mono);font-size:12px;color:var(--bordeaux-text);padding-top:3px}
.encadre{padding:24px 28px;display:flex;flex-direction:column;gap:10px;font-size:16px;line-height:1.6}
.encadre--regle{background:var(--surface-raised);border:1px solid var(--line-strong)}
.encadre--regle .source{font-family:var(--font-mono);font-size:12px;color:var(--ink-muted)}
.encadre--chiffre{background:var(--bordeaux);color:var(--on-bordeaux)}
.encadre--chiffre .lbl{color:var(--surface-tint)}
.encadre--chiffre .n{font-family:var(--font-mono);font-weight:500;font-size:52px;line-height:1;letter-spacing:-.02em}
.encadre--cas{background:var(--surface-tint)}
.encadre--cas .lbl{color:var(--bordeaux-text)}
.oui-non{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.oui-non > div{border:1px solid var(--line);background:var(--surface-raised);padding:14px 16px;font-size:15px;line-height:1.5}
.oui-non .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:6px}
.oui-non .non .k{color:var(--ink-muted)}
.oui-non .non{text-decoration:line-through;text-decoration-color:rgba(110,90,97,.5);color:var(--ink-muted)}
.oui-non .oui .k{color:var(--bordeaux-text)}
.dos-card{display:flex;flex-direction:column;gap:12px;border-top:2px solid var(--ink);padding-top:16px;color:var(--ink);text-decoration:none}
.dos-card .h3{font-size:21px}
.dos-card p{font-size:15px;line-height:1.5;color:var(--ink-muted)}
.dos-card .meta{font-family:var(--font-mono);font-size:12px;color:var(--ink-muted);letter-spacing:.04em}
/* Tablette et petit portable */
@media (max-width: 1100px){
.wrap{padding:0 32px}
.nav{padding:18px 32px}
.deux,.deux--texte{gap:40px}
.quatre{grid-template-columns:repeat(2,minmax(0,1fr))}
.cas{grid-template-columns:240px minmax(0,1fr);gap:40px}
.h1{font-size:48px}
}
/* Mobile */
@media (max-width: 860px){
.wrap{padding:0 20px}
.nav{padding:14px 20px}
.nav nav{display:none}
.nav .pt-btn{padding:10px 14px;font-size:14px}
.h1{font-size:38px;line-height:1.06}
.h2{font-size:29px;line-height:1.12}
.h3{font-size:20px}
.lead{font-size:18px}
.en-tete{padding:48px 0 44px;gap:16px}
.sec,.final{padding:64px 0}
.sec-head{margin-bottom:36px;gap:12px}
.deux,.deux--texte,.trois,.quatre{display:flex;flex-direction:column;gap:24px}
.chiffres{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.chiffre .n{font-size:38px}
.cas{display:flex;flex-direction:column;gap:28px}
.cas + .cas{margin-top:56px;padding-top:56px}
.cas .media{max-width:320px}
.cas .chiffres{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cas .chiffre .n{font-size:28px}
.carte{padding:22px 20px}
.final-in .pt-btn--primaire{width:100%;justify-content:center}
.foot-in{flex-direction:column;gap:12px;padding:32px 0}
.prose{font-size:17px}
.prose h2{font-size:25px;margin-top:44px}
.encadre{padding:20px}
.encadre--chiffre .n{font-size:42px}
.oui-non{grid-template-columns:1fr}
.fiche{grid-template-columns:1fr;padding:20px;gap:20px}
.fiche .couv{width:130px}
summary{font-size:17px}
}
/* ===== FIN BASE COMMUNE v2 ===== */

/* ── Charte : mot-clé surligné en <em> dans les titres (remplace pt-mot + pt-surligne des maquettes) ── */
h1 em, h2 em, .p-hl { color: var(--on-surligneur); letter-spacing: -.01em; margin: 0 -.04em; }
.nav .pt-lockup { text-decoration: none; }

/* Formulaires e-mail pas encore branchés (data-bientot) : message à la place */
.bientot{font-size:15px;font-weight:600;color:var(--bordeaux-text);margin-top:10px}
