:root {
  --internal-max: 1760px;
  --internal-gutter: clamp(22px, 3vw, 58px);
  --internal-line: #dedbd5;
  --internal-copper: #b77953;
  --internal-muted: #625e58;
}

/* Lisibilité commune à toutes les pages internes. */
.main-nav a { font-size: 13px; letter-spacing: .07em; }
.session-link { padding: 11px 16px; font-size: 13px; }
.site-search label { font-size: 16px; }
.site-search input, .site-search button { font-size: 13px; }
.breadcrumbs {
  width: min(calc(100% - var(--internal-gutter) * 2), var(--internal-max));
  max-width: none;
  min-height: 48px;
  margin-inline: auto;
  padding: 14px 0;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  color: #66615b;
  font-size: 15px;
  line-height: 1.45;
}
.breadcrumbs a { color: #34312e; text-decoration: underline; text-decoration-color: #c7c1ba; text-underline-offset: 3px; }
.breadcrumbs span[aria-current="page"] { color: #79736d; }
.article-copy .eyebrow, .related-section .eyebrow { font-size: 13px; line-height: 1.35; }

/* Fiches détaillées : une vraie largeur éditoriale, sans colonne étriquée. */
.article-hero { min-height: 610px; grid-template-columns: minmax(0, 1.04fr) minmax(460px, .96fr); }
.article-copy { padding: clamp(58px, 6vw, 108px) var(--internal-gutter); }
.article-copy h1 { max-width: 940px; font-size: clamp(52px, 4.7vw, 84px); line-height: .98; }
.article-copy .lead { max-width: 900px; color: #d4d0cb; font-size: clamp(18px, 1.25vw, 21px); line-height: 1.62; }
.article-meta { gap: 12px 28px; color: #aaa49d; font-size: 13px; line-height: 1.45; }
.article-hero figure { min-height: 610px; background: #171717; }
.article-hero figure::after { background: linear-gradient(90deg, rgba(11,11,11,.58), transparent 30%), linear-gradient(0deg, rgba(0,0,0,.3), transparent 45%); }
.article-hero figure img { filter: saturate(.78) brightness(.9); }
.article-hero figcaption { right: 22px; bottom: 18px; max-width: 70%; color: #ddd8d2; font-size: 13px; line-height: 1.45; }
.quick-facts { margin-top: 30px; }
.quick-facts span { min-height: 78px; padding: 16px; font-size: 17px; line-height: 1.2; }
.quick-facts small { margin-bottom: 7px; font-size: 12px; }

.article-grid {
  width: min(calc(100% - var(--internal-gutter) * 2), 1680px);
  max-width: none;
  grid-template-columns: clamp(225px, 18vw, 275px) minmax(0, 1fr);
  justify-content: center;
  gap: clamp(48px, 5vw, 82px);
  padding: 96px 0 135px;
}
.article-toc { top: 22px; }
.article-toc strong { padding: 18px 0 14px; font-size: 13px; }
.article-toc a { padding: 12px 0; color: #5f5a54; font-size: 15px; line-height: 1.35; }
.article-body { width: 100%; max-width: 1280px; }
.article-body > section { margin-bottom: 92px; }
.article-body h2 { max-width: 1050px; font-size: clamp(40px, 3.45vw, 62px); }
.article-body h3 { font-size: clamp(25px, 2vw, 31px); }
.article-body p { max-width: 1060px; color: #44413d; font-size: 18px; line-height: 1.72; }
.answer-box { padding: clamp(36px, 4vw, 58px)!important; }
.answer-box > span, .article-body .kicker { font-size: 12px; line-height: 1.35; }
.answer-box h2 { font-size: clamp(36px, 3vw, 48px); }
.answer-box p { max-width: 1080px; font-size: 21px; line-height: 1.65; }
.numbered-steps span, .technique-grid b, .practical-grid span, .error-list span { font-size: 12px; }
.experience-note > span { font-size: 12px; }
.numbered-steps p { font-size: 18px; }
.can-cannot span, .program-weeks span, .session-blueprint span, .decision-strip span, .evidence-level > span { font-size: 12px; }
.can-cannot p, .technique-grid p, .program-weeks p, .session-blueprint p, .practical-grid p, .experience-note p, .felt p, .safety p { font-size: 16px; line-height: 1.65; }
.can-cannot > div { min-height: 310px; }
.decision-strip strong { font-size: 23px; }
.practical-grid article { min-height: 245px; padding: 34px; }
.error-list p { font-size: 17px; }
.inline-media-grid figcaption { padding: 16px 18px; font-size: 14px; line-height: 1.55; }
.responsive-table th { font-size: 13px; }
.responsive-table td { font-size: 15px; }
.article-body summary { padding: 22px 45px 22px 0; font-size: 23px; }
.article-body details p { padding-bottom: 22px; font-size: 16px; }
.sources li { padding: 23px 0; }
.sources li strong { font-size: 21px; }
.sources li span { margin-top: 5px; font-size: 15px; line-height: 1.45; }
.sources li a { font-size: 14px; }
.author-card { gap: 32px; padding: 38px; }
.author-card span { font-size: 12px; }
.author-card strong { font-size: 24px; }
.author-card p { font-size: 15px; line-height: 1.6; }
.author-card > a, .author-card > div a { font-size: 13px; }
.tool-fields label, .tool-box > small { font-size: 13px; }
.tool-result span { font-size: 13px; }
.tool-result p { font-size: 15px; }

/* V12 : portée, validation, critères d'arrêt et alternatives visibles. */
.v12-scope { padding: clamp(34px, 4vw, 52px); border: 1px solid var(--internal-line); background: #faf9f7; }
.v12-scope > div { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 28px; border-top: 1px solid var(--internal-line); border-left: 1px solid var(--internal-line); }
.v12-scope article { min-height: 190px; padding: 27px; border-right: 1px solid var(--internal-line); border-bottom: 1px solid var(--internal-line); background: #fff; }
.v12-scope article span, .v12-program-check span, .v12-stop-grid span, .v12-alternative-grid span { display: block; color: #9d603f; font-size: 12px; font-weight: 700; letter-spacing: .1em; line-height: 1.35; text-transform: uppercase; }
.v12-scope article p { margin: 25px 0 0; font-size: 16px; line-height: 1.65; }

.v12-program-check { margin: 0 0 34px; padding: 30px; border-left: 4px solid #b77953; background: #f2efea; }
.v12-program-check strong { display: block; margin-top: 8px; font: 500 27px/1.2 Georgia, serif; }
.v12-program-check > p { margin: 17px 0 0; font-size: 16px; }
.v12-program-check dl { display: grid; grid-template-columns: repeat(4, 1fr); margin: 24px 0 18px; border-top: 1px solid #d3cdc5; border-left: 1px solid #d3cdc5; }
.v12-program-check dl div { min-width: 0; padding: 17px; border-right: 1px solid #d3cdc5; border-bottom: 1px solid #d3cdc5; }
.v12-program-check dt { color: #766f68; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.v12-program-check dd { margin: 8px 0 0; color: #272522; font: 500 17px/1.35 Georgia, serif; }
.v12-program-check small { color: #68625c; font-size: 13px; line-height: 1.45; }

.v12-stop-grid, .v12-alternative-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 30px; border-top: 1px solid var(--internal-line); border-left: 1px solid var(--internal-line); }
.v12-stop-grid article, .v12-alternative-grid article { min-height: 250px; padding: 29px; border-right: 1px solid var(--internal-line); border-bottom: 1px solid var(--internal-line); }
.v12-stop-grid h3, .v12-alternative-grid h3 { margin: 28px 0 12px; font-size: 25px; line-height: 1.12; }
.v12-stop-grid p, .v12-alternative-grid p { margin: 0; font-size: 15px; line-height: 1.65; }
.v12-alternative-grid h3 a { color: #8f5334; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.review-status { padding: 20px!important; border: 1px solid #cfbfaf!important; background: #fffaf5; }
.review-status.is-pending > span { color: #99552f; }
.review-status.is-verified { border-color: #9eb09b!important; background: #f4f8f2; }
.review-status p b { color: #34302c; }

/* Pages de confiance, légales, recherche et service. */
.technical-hero > div > p:not(.eyebrow) { font-size: 19px; }
.technical-hero > div > span, .technical-hero > aside span, .technical-content > section > span, .technical-answer > span, .technical-contact > span { font-size: 13px; }
.technical-hero > aside p { font-size: 15px; line-height: 1.6; }
.technical-layout {
  width: min(calc(100% - var(--internal-gutter) * 2), 1680px);
  grid-template-columns: clamp(225px, 18vw, 275px) minmax(0, 1280px);
  gap: clamp(48px, 5vw, 82px);
}
.technical-index strong { font-size: 13px; }
.technical-index a { padding: 12px 0; font-size: 15px; }
.technical-content p { max-width: 1080px; font-size: 18px; line-height: 1.72; }
.technical-contact a { font-size: 13px; }
.search-page > form label, .search-results small, .search-results span { font-size: 13px; }
.search-page input, .result-count { font-size: 16px; }
.search-results p { font-size: 15px; line-height: 1.6; }

.related-section { padding-left: var(--internal-gutter); padding-right: var(--internal-gutter); }
.related-section > header, .related-section > div { width: min(100%, var(--internal-max)); margin-left: auto; margin-right: auto; }
.related-section > div { grid-template-columns: repeat(3, 1fr); gap: 18px; }
.related-section img { height: 230px; }
.related-section small { font-size: 13px; }
.related-section h3 { font-size: 25px; }
.related-section a > span { font-size: 13px; }

/* Pages-rubriques : répertoire visuel, dense et réellement navigable. */
.hub-v7 { background: #fff; }
.hub-hero-v7 { min-height: 620px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(460px, .95fr); background: #090909; color: #fff; }
.hub-hero-copy { padding: clamp(60px, 6vw, 112px) var(--internal-gutter); display: flex; flex-direction: column; justify-content: center; }
.hub-kicker, .hub-section-heading > div > p, .hub-confidence > div > p, .hub-faq > header > p { margin: 0 0 13px; color: #d09069; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.hub-hero-copy h1 { max-width: 970px; margin: 0; font: 500 clamp(54px, 5vw, 88px)/.96 Georgia, serif; letter-spacing: -.055em; }
.hub-hero-copy > p:not(.hub-kicker) { max-width: 850px; margin: 28px 0 0; color: #d1cdc8; font-size: clamp(18px, 1.25vw, 21px); line-height: 1.65; }
.hub-hero-v7 > figure { min-height: 620px; margin: 0; position: relative; overflow: hidden; background: #171717; }
.hub-hero-v7 > figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,9,9,.55), transparent 35%), linear-gradient(0deg, rgba(0,0,0,.42), transparent 55%); }
.hub-hero-v7 > figure img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.02); }
.hub-hero-v7 figcaption { position: absolute; z-index: 2; right: 22px; bottom: 18px; color: #ded9d3; font-size: 12px; }
.hub-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.hub-button { min-height: 50px; padding: 0 21px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #8e5e43; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hub-button.primary { background: linear-gradient(135deg, #c38761, #9d603f); border: 0; }
.hub-actions form { min-width: min(100%, 430px); display: grid; grid-template-columns: 1fr auto; }
.hub-actions input { min-width: 0; height: 50px; padding: 0 15px; border: 1px solid #4a4743; border-right: 0; background: #171717; color: #fff; font-size: 14px; }
.hub-actions button { padding: 0 17px; border: 1px solid #4a4743; background: #252321; color: #fff; font-size: 12px; }
.hub-stats { margin-top: 38px; padding-top: 22px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #3b3835; }
.hub-stats span { min-height: 55px; padding: 0 18px; display: flex; align-items: center; gap: 11px; border-left: 1px solid #3b3835; color: #aaa59f; font-size: 13px; line-height: 1.35; }
.hub-stats span:first-child { padding-left: 0; border-left: 0; }
.hub-stats strong { color: #d89a75; font: 500 30px Georgia, serif; }

.hub-jump { min-height: 112px; padding: 22px var(--internal-gutter); display: grid; grid-template-columns: minmax(230px, .28fr) 1fr; gap: 40px; align-items: center; border-bottom: 1px solid var(--internal-line); background: #fff; }
.hub-jump > div { display: grid; }
.hub-jump > div span { color: #a56542; font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.hub-jump > div strong { margin-top: 4px; font: 500 23px Georgia, serif; }
.hub-jump nav { display: flex; flex-wrap: wrap; gap: 9px; }
.hub-jump nav a { padding: 10px 13px; border: 1px solid #d2cec8; background: #f8f7f4; font-size: 13px; }

.hub-directory, .hub-featured, .hub-method-v7, .hub-confidence, .hub-faq { padding: clamp(75px, 7vw, 118px) var(--internal-gutter); }
.hub-directory > *, .hub-featured > *, .hub-method-v7 > *, .hub-confidence, .hub-faq > * { width: min(100%, var(--internal-max)); margin-left: auto; margin-right: auto; }
.hub-section-heading { margin-bottom: 42px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .65fr); gap: 65px; align-items: end; }
.hub-section-heading h2, .hub-confidence h2, .hub-faq h2 { max-width: 980px; margin: 0; font: 500 clamp(43px, 4vw, 68px)/1 Georgia, serif; letter-spacing: -.05em; }
.hub-section-heading > p { margin: 0; color: var(--internal-muted); font-size: 17px; line-height: 1.7; }
.hub-group-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--internal-line); border-left: 1px solid var(--internal-line); }
.hub-group-grid > article { min-height: 330px; padding: 29px; border-right: 1px solid var(--internal-line); border-bottom: 1px solid var(--internal-line); background: #fff; }
.hub-group-grid article > header span { color: #9d603f; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.hub-group-grid h3 { min-height: 64px; margin: 18px 0 20px; font: 500 28px/1.08 Georgia, serif; letter-spacing: -.035em; }
.hub-group-grid article > div { border-top: 1px solid var(--internal-line); }
.hub-group-grid a { min-height: 45px; padding: 9px 0; display: grid; grid-template-columns: 1fr auto; gap: 15px; align-items: center; border-bottom: 1px solid var(--internal-line); color: #45413c; font-size: 14px; line-height: 1.35; }
.hub-group-grid a b { color: var(--internal-copper); font-size: 17px; }

.hub-featured { background: #f2f0ec; }
.hub-card-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.hub-card-grid > a { min-width: 0; background: #fff; border: 1px solid #dedad3; transition: transform .25s, box-shadow .25s; }
.hub-card-grid > a:hover { transform: translateY(-3px); box-shadow: 0 18px 45px rgba(0,0,0,.09); }
.hub-card-grid figure { height: 215px; margin: 0; overflow: hidden; background: #111; }
.hub-card-grid img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.68); transition: .35s; }
.hub-card-grid a:hover img { transform: scale(1.035); filter: saturate(.9); }
.hub-card-grid a > div { padding: 22px; }
.hub-card-grid small { color: #9d603f; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hub-card-grid h3 { min-height: 60px; margin: 12px 0 10px; font: 500 25px/1.08 Georgia, serif; letter-spacing: -.035em; }
.hub-card-grid p { min-height: 94px; margin: 0; color: #65605a; font-size: 14px; line-height: 1.6; }
.hub-card-grid a > div > span { margin-top: 18px; padding-top: 14px; display: flex; justify-content: space-between; border-top: 1px solid var(--internal-line); font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }

.hub-method-v7 { background: #fff; }
.hub-method-v7 > div { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--internal-line); border-left: 1px solid var(--internal-line); }
.hub-method-v7 article { min-height: 285px; padding: 31px; border-right: 1px solid var(--internal-line); border-bottom: 1px solid var(--internal-line); }
.hub-method-v7 article > span { color: #a56542; font-size: 13px; letter-spacing: .12em; }
.hub-method-v7 h3 { margin: 40px 0 12px; font: 500 28px Georgia, serif; }
.hub-method-v7 article p { color: #5f5a54; font-size: 16px; line-height: 1.65; }

.hub-confidence { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(390px, .85fr); gap: 0; color: #fff; }
.hub-confidence > div { padding: clamp(42px, 5vw, 75px); background: #111; }
.hub-confidence > div > strong { display: block; margin: 29px 0 20px; color: #f1efeb; font: 500 clamp(24px, 2vw, 32px)/1.35 Georgia, serif; }
.hub-confidence > div > p:last-child { color: #aaa59f; font-size: 16px; line-height: 1.7; }
.hub-confidence > aside { padding: clamp(42px, 5vw, 75px); display: grid; grid-template-columns: 58px 1fr; gap: 24px; align-content: center; background: #25120c; }
.hub-confidence > aside > span { width: 52px; height: 52px; display: grid; place-content: center; border: 1px solid #c3805a; border-radius: 50%; color: #d79670; font: 500 28px Georgia, serif; }
.hub-confidence aside strong { font: 500 28px Georgia, serif; }
.hub-confidence aside p { color: #d2c6bf; font-size: 16px; line-height: 1.65; }

.hub-faq { display: grid; grid-template-columns: minmax(300px, .42fr) minmax(0, 1fr); gap: clamp(55px, 7vw, 120px); background: #f6f4f0; }
.hub-faq > div { border-top: 2px solid #111; }
.hub-faq details { border-bottom: 1px solid #d5d0c9; }
.hub-faq summary { padding: 24px 45px 24px 0; position: relative; cursor: pointer; font: 500 23px Georgia, serif; }
.hub-faq summary::after { content: "+"; position: absolute; right: 9px; color: #a56542; }
.hub-faq details[open] summary::after { content: "−"; }
.hub-faq details p { max-width: 980px; padding: 0 50px 24px 0; color: #57524c; font-size: 16px; line-height: 1.7; }

/* Footer et consentement : plus aucun texte microscopique sur les pages internes. */
.footer-grid h2 { font-size: 13px; }
.footer-grid a { font-size: 14px; line-height: 1.5; }
.semantiak > span { font-size: 13px; }
.semantiak p { font-size: 14px; line-height: 1.5; }
.footer-bottom { font-size: 13px; }
.cookie-panel p { font-size: 14px; line-height: 1.5; }
.cookie-actions button { min-height: 44px; font-size: 12px; }
.footer-brand small, .semantiak .footer-audit { font-size: 13px; line-height: 1.45; }

@media (min-width: 1500px) {
  .article-grid { grid-template-columns: 275px minmax(0, 1320px); }
}

@media (max-width: 1250px) {
  .hub-group-grid { grid-template-columns: repeat(2, 1fr); }
  .hub-card-grid { grid-template-columns: repeat(3, 1fr); }
  .hub-method-v7 > div { grid-template-columns: repeat(2, 1fr); }
  .related-section > div { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 980px) {
  .main-nav a { font-size: 13px; }
  .breadcrumbs { min-height: 44px; font-size: 14px; }
  .article-hero, .hub-hero-v7 { grid-template-columns: 1fr; }
  .article-copy, .hub-hero-copy { padding: 66px var(--internal-gutter); }
  .article-hero figure, .hub-hero-v7 > figure { min-height: 460px; }
  .article-grid { display: block; padding-top: 58px; }
  .article-toc { display: none; }
  .v12-scope > div, .v12-stop-grid, .v12-alternative-grid { grid-template-columns: repeat(2, 1fr); }
  .v12-program-check dl { grid-template-columns: repeat(2, 1fr); }
  .hub-jump { grid-template-columns: 1fr; gap: 20px; }
  .hub-section-heading { grid-template-columns: 1fr; gap: 22px; }
  .hub-confidence, .hub-faq { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .breadcrumbs { width: calc(100% - 36px); }
  .article-copy h1, .hub-hero-copy h1 { font-size: clamp(44px, 13vw, 62px); }
  .article-copy .lead, .hub-hero-copy > p:not(.hub-kicker) { font-size: 17px; }
  .article-meta { font-size: 13px; }
  .article-hero figure, .hub-hero-v7 > figure { min-height: 340px; }
  .quick-facts, .hub-stats { grid-template-columns: 1fr; }
  .quick-facts span, .hub-stats span { min-height: 66px; border-left: 0; border-top: 1px solid #373532; }
  .hub-stats span { padding: 12px 0; }
  .article-body p { font-size: 17px; }
  .article-body h2 { font-size: 38px; }
  .answer-box p { font-size: 19px; }
  .v12-scope { padding: 25px 18px; }
  .v12-scope > div, .v12-stop-grid, .v12-alternative-grid, .v12-program-check dl { grid-template-columns: 1fr; }
  .v12-scope article, .v12-stop-grid article, .v12-alternative-grid article { min-height: 0; }
  .v12-program-check { padding: 24px 19px; }
  .hub-group-grid, .hub-card-grid, .hub-method-v7 > div { grid-template-columns: 1fr; }
  .hub-group-grid h3, .hub-card-grid h3 { min-height: 0; }
  .hub-card-grid p { min-height: 0; }
  .hub-actions { display: grid; }
  .hub-actions form { min-width: 0; }
  .hub-jump, .hub-directory, .hub-featured, .hub-method-v7, .hub-confidence, .hub-faq { padding-left: 18px; padding-right: 18px; }
  .hub-confidence { padding-left: 0; padding-right: 0; }
  .related-section > div { grid-template-columns: 1fr; }
}
.v13-validation-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1rem 0}.v12-program-check .v13-validation-status span{display:flex;flex-direction:column;gap:.22rem;padding:.72rem .8rem;border:1px solid #d3cdc5;border-radius:.65rem;background:#fff;color:#34312e;font-size:.92rem;font-weight:500;letter-spacing:normal;line-height:1.35;text-transform:none}.v13-validation-status b{font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:#6b645e}
@media (max-width:760px){.v13-validation-status{grid-template-columns:1fr}}

/* V14 : profil de lecture et contrôles utiles sur les pages jusque-là les plus génériques. */
.v14-reader-profile { padding: clamp(32px, 4vw, 54px); border: 1px solid #d8d2ca; background: #f7f5f1; }
.v14-reader-profile > div { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 30px; border-top: 1px solid #d8d2ca; border-left: 1px solid #d8d2ca; }
.v14-reader-profile article { min-width: 0; min-height: 245px; padding: 24px; border-right: 1px solid #d8d2ca; border-bottom: 1px solid #d8d2ca; background: #fff; }
.v14-reader-profile article > span, .v14-editorial-controls article > span { color: #9b5d3c; font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.v14-reader-profile article > strong { min-height: 56px; margin: 24px 0 12px; display: block; font: 500 22px/1.2 Georgia, serif; }
.v14-reader-profile article > p { margin: 0; color: #59544e; font-size: 16px; line-height: 1.62; }
.v14-editorial-controls > div { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 26px; border-top: 1px solid var(--internal-line); border-left: 1px solid var(--internal-line); }
.v14-editorial-controls article { min-height: 180px; padding: 28px; border-right: 1px solid var(--internal-line); border-bottom: 1px solid var(--internal-line); }
.v14-editorial-controls article p { margin: 30px 0 0; font-size: 17px; line-height: 1.65; }

.hub-decision-v14 { padding: clamp(75px, 7vw, 118px) var(--internal-gutter); background: #f7f5f1; }
.hub-decision-v14 > * { width: min(100%, var(--internal-max)); margin-left: auto; margin-right: auto; }
.hub-decision-v14 > div { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #d5cfc7; border-left: 1px solid #d5cfc7; }
.hub-decision-v14 article { min-height: 240px; padding: 29px; border-right: 1px solid #d5cfc7; border-bottom: 1px solid #d5cfc7; background: #fff; }
.hub-decision-v14 article b { color: #aa6a48; font: 500 19px Georgia, serif; }
.hub-decision-v14 article span { margin: 40px 0 12px; display: block; font: 500 27px/1.1 Georgia, serif; }
.hub-decision-v14 article p { margin: 0; color: #5b5650; font-size: 16px; line-height: 1.65; }
.hub-decision-v14 > aside { margin-top: 22px; padding: 22px 25px; display: grid; grid-template-columns: minmax(260px, .36fr) 1fr; gap: 34px; border-left: 4px solid #a96745; background: #191817; color: #fff; }
.hub-decision-v14 > aside strong { font: 500 20px Georgia, serif; }
.hub-decision-v14 > aside p { margin: 0; color: #d0cac4; font-size: 15px; line-height: 1.55; }

@media (max-width: 1250px) {
  .v14-reader-profile > div { grid-template-columns: repeat(3, 1fr); }
  .hub-decision-v14 > div { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .v14-reader-profile { padding: 24px 18px; }
  .v14-reader-profile > div, .v14-editorial-controls > div, .hub-decision-v14 > div { grid-template-columns: 1fr; }
  .v14-reader-profile article, .v14-editorial-controls article, .hub-decision-v14 article { min-height: 0; }
  .hub-decision-v14 { padding-left: 18px; padding-right: 18px; }
  .hub-decision-v14 > aside { grid-template-columns: 1fr; gap: 12px; }
}

/* V15 : vraies fiches nominatives, lisibles comme des dossiers et non comme un annuaire mince. */
.v15-coach-profile,
.v15-coach-timeline,
.v15-coach-offers,
.v15-coach-analysis { scroll-margin-top: 110px; }
.v15-identity-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 28px; border-top: 1px solid var(--internal-line); border-left: 1px solid var(--internal-line); }
.v15-identity-grid article { min-width: 0; min-height: 150px; padding: 26px; border-right: 1px solid var(--internal-line); border-bottom: 1px solid var(--internal-line); background: #fff; }
.v15-identity-grid span,
.v15-coach-timeline article > span,
.v15-coach-offers article > span { display: block; color: #985a39; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.v15-identity-grid strong { margin-top: 28px; display: block; font: 500 22px/1.25 Georgia, serif; }
.v15-coach-timeline > div { position: relative; margin-top: 30px; padding-left: 38px; border-left: 2px solid #b87552; }
.v15-coach-timeline article { position: relative; padding: 0 0 34px 24px; }
.v15-coach-timeline article:last-child { padding-bottom: 0; }
.v15-coach-timeline article::before { content: ""; width: 13px; height: 13px; position: absolute; top: 2px; left: -45px; border: 3px solid #f7f5f1; border-radius: 50%; background: #a96240; box-shadow: 0 0 0 1px #a96240; }
.v15-coach-timeline h3 { margin: 9px 0 8px; font: 500 28px/1.15 Georgia, serif; }
.v15-coach-timeline article p { max-width: 980px; margin: 0; color: #56514b; }
.v15-coach-offers > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 28px; border-top: 1px solid var(--internal-line); border-left: 1px solid var(--internal-line); }
.v15-coach-offers article { min-width: 0; min-height: 245px; padding: 29px; border-right: 1px solid var(--internal-line); border-bottom: 1px solid var(--internal-line); background: #f8f6f2; }
.v15-coach-offers h3 { margin: 36px 0 13px; font: 500 27px/1.12 Georgia, serif; }
.v15-coach-offers article p { margin: 0; color: #59544e; font-size: 17px; line-height: 1.65; }
.v15-coach-analysis > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 30px; background: #d7d1ca; border: 1px solid #d7d1ca; }
.v15-coach-analysis article { min-height: 190px; padding: 31px; background: #fff; }
.v15-coach-analysis h3 { margin: 0 0 19px; font: 500 26px/1.15 Georgia, serif; }
.v15-coach-analysis article p { margin: 0; color: #57524c; font-size: 17px; line-height: 1.65; }
.v15-coach-source-note { margin: 24px 0 0; padding: 22px 25px; border-left: 4px solid #a96442; background: #1d1b19; color: #d8d2cc; font-size: 16px !important; line-height: 1.65 !important; }

@media (max-width: 1100px) {
  .v15-identity-grid { grid-template-columns: repeat(2, 1fr); }
  .v15-coach-offers > div { grid-template-columns: 1fr; }
  .v15-coach-offers article { min-height: 0; }
}
@media (max-width: 720px) {
  .v15-identity-grid,
  .v15-coach-analysis > div { grid-template-columns: 1fr; }
  .v15-identity-grid article,
  .v15-coach-analysis article { min-height: 0; }
  .v15-coach-timeline > div { padding-left: 27px; }
  .v15-coach-timeline article { padding-left: 17px; }
  .v15-coach-timeline article::before { left: -34px; }
}

/* V16 : répertoire nominatif séparé des guides, immédiatement sous le héros coach. */
.coach-directory-v16 { padding: clamp(55px, 5.5vw, 86px) var(--internal-gutter); scroll-margin-top: 90px; background: #151412; color: #fff; }
.coach-directory-v16 > header,
.coach-directory-grid-v16 { width: min(100%, var(--internal-max)); margin-left: auto; margin-right: auto; }
.coach-directory-v16 > header { margin-bottom: 36px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(380px, .7fr); gap: 72px; align-items: end; }
.coach-directory-v16 > header p { margin: 0; color: #bdb6ae; font-size: 17px; line-height: 1.7; }
.coach-directory-v16 > header div p { margin-bottom: 11px; color: #d58f66; font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.coach-directory-v16 h2 { margin: 0; max-width: 900px; color: #fff; font: 500 clamp(43px, 4vw, 66px)/1 Georgia, serif; letter-spacing: -.05em; }
.coach-directory-grid-v16 { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.coach-directory-grid-v16 > a { min-width: 0; overflow: hidden; background: #fff; color: #181614; border: 1px solid #312e2a; transition: transform .22s ease, box-shadow .22s ease; }
.coach-directory-grid-v16 > a:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(0,0,0,.34); }
.coach-directory-grid-v16 figure { height: 190px; margin: 0; overflow: hidden; background: #272522; }
.coach-directory-grid-v16 img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.03); transition: transform .3s ease, filter .3s ease; }
.coach-directory-grid-v16 a:hover img { transform: scale(1.035); filter: saturate(1); }
.coach-directory-grid-v16 a > div { padding: 19px 18px 17px; }
.coach-directory-grid-v16 small { color: #9a5b39; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.coach-directory-grid-v16 h3 { margin: 10px 0 9px; font: 500 24px/1.05 Georgia, serif; letter-spacing: -.03em; }
.coach-directory-grid-v16 p { min-height: 76px; margin: 0; color: #625d57; font-size: 13px; line-height: 1.48; }
.coach-directory-grid-v16 span { margin-top: 16px; padding-top: 13px; display: flex; justify-content: space-between; border-top: 1px solid #ddd8d1; color: #25211e; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.coach-directory-grid-v16 b { color: #a86240; font-size: 16px; }

@media (max-width: 1450px) {
  .coach-directory-grid-v16 { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 980px) {
  .coach-directory-v16 > header { grid-template-columns: 1fr; gap: 20px; }
  .coach-directory-grid-v16 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .coach-directory-v16 { padding-left: 18px; padding-right: 18px; }
  .coach-directory-grid-v16 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coach-directory-grid-v16 figure { height: 155px; }
  .coach-directory-grid-v16 p { min-height: 0; }
}
@media (max-width: 460px) {
  .coach-directory-grid-v16 { grid-template-columns: 1fr; }
  .coach-directory-grid-v16 figure { height: 240px; }
}
