:root {
  --v8-ink: #11100f;
  --v8-copper: #b97650;
  --v8-paper: #f5f3ef;
  --v8-line: #dcd7d0;
  --v8-muted: #635e58;
}

/* Finition commune V8 */
:focus-visible { outline: 3px solid #d08b61; outline-offset: 3px; }
.eyebrow, .kicker { font-size: 13px; line-height: 1.35; }
.button, .btn { font-size: 13px; }
.main-nav a { font-size: 13px; }
.session-link { padding: 11px 16px; font-size: 13px; }
.diagnostic-card label span { font-size: 13px; }
.diagnostic-card label b { font-size: 12px; }
.diagnostic-card select { font-size: 14px; }
.diagnostic-card > small { font-size: 12px; line-height: 1.45; }
.diagnostic-result { padding: 14px; font-size: 14px; line-height: 1.55; }
.hero-proof span { min-height: 48px; font-size: 13px; }
.goal-cards strong { font-size: 16px; }
.goal-cards small { font-size: 13px; line-height: 1.35; }
.catalog-heading > a { font-size: 13px; }
.image-card p, .coach-cta p, .program-cta p { font-size: 14px; line-height: 1.5; }
.image-card span, .coach-cta span, .program-cta span, .program-card div > a, .duo-card span, .journal-card span { font-size: 13px; }
.coach-cta small, .program-cta small, .program-card small, .journal-card small { font-size: 13px; line-height: 1.4; }
.zone-grid strong, .tool-grid strong { font-size: 14px; }
.zone-grid small, .tool-grid small { font-size: 13px; }
.program-card p, .duo-card > div > p:not(.eyebrow), .journal-card p { font-size: 14px; line-height: 1.55; }
.journal-lead p { font-size: 16px; }
.footer-grid h2, .footer-grid h3 { font-size: 13px; }
.footer-grid a { font-size: 14px; line-height: 1.5; }
.footer-brand p, .semantiak p { font-size: 14px; line-height: 1.55; }
.footer-brand small, .semantiak > span, .footer-bottom, .semantiak .footer-audit { font-size: 13px; line-height: 1.45; }
.cookie-panel p { font-size: 14px; }
.cookie-actions button { min-height: 44px; font-size: 12px; }
.mobile-nav span, .menu-toggle b { font-size: 11px; }
.hero-copy > p:not(.eyebrow) { max-width: 620px; font-size: 17px; line-height: 1.65; }
.journal-heading > p { font-size: 16px; line-height: 1.7; }
.save-guide { width: fit-content; margin-top: 18px; padding: 12px 16px; border: 1px solid #625d57; background: transparent; color: #eeeae5; font-size: 13px; font-weight: 700; letter-spacing: .035em; cursor: pointer; }
.save-guide[aria-pressed="true"] { border-color: #c7835d; background: #c7835d; color: #100e0d; }
.home-trust-v8 { padding: clamp(68px, 7vw, 112px) 3vw; border-top: 1px solid #d8d3cc; background: #f2f0ec; }
.home-trust-v8 .wide-shell { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .7fr); gap: clamp(45px, 7vw, 120px); align-items: end; }
.home-trust-v8 h2 { max-width: 850px; margin: 0; font: 500 clamp(40px, 4vw, 68px)/1 Georgia, serif; letter-spacing: -.05em; }
.home-trust-v8 > .wide-shell > p { margin: 0; color: #5d5852; font-size: 17px; line-height: 1.75; }
.home-trust-v8 nav { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #cbc5bd; border-left: 1px solid #cbc5bd; }
.home-trust-v8 nav a { min-height: 64px; padding: 18px 22px; display: flex; align-items: center; justify-content: space-between; border-right: 1px solid #cbc5bd; border-bottom: 1px solid #cbc5bd; font-size: 14px; font-weight: 700; }
.home-trust-v8 nav a::after { content: "→"; color: var(--v8-copper); font-size: 20px; }

/* Nouveaux blocs éditoriaux par famille */
.v8-profile-grid { margin: 32px 0 40px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--v8-line); border-left: 1px solid var(--v8-line); }
.v8-profile-grid > div { min-height: 126px; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--v8-line); border-bottom: 1px solid var(--v8-line); background: #faf9f7; }
.v8-profile-grid span, .v8-decision-path article > span, .v8-scorecard article span, .v8-evidence article > span, .v8-recovery article > span { color: #9a5d3b; font-size: 12px; font-weight: 800; letter-spacing: .105em; text-transform: uppercase; }
.v8-profile-grid strong { margin-top: 16px; font: 500 21px/1.25 Georgia, serif; }

.v8-decision-path > div { margin-top: 34px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--v8-line); border-left: 1px solid var(--v8-line); }
.v8-decision-path article { min-height: 235px; padding: 28px; display: flex; flex-direction: column; border-right: 1px solid var(--v8-line); border-bottom: 1px solid var(--v8-line); }
.v8-decision-path article b { margin-bottom: auto; color: #c5beb6; font: 500 34px Georgia, serif; }
.v8-decision-path article p { margin: 12px 0 0; font-size: 16px; line-height: 1.55; }

.v8-scorecard > div { margin-top: 36px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--v8-line); border-left: 1px solid var(--v8-line); }
.v8-scorecard article { min-height: 180px; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--v8-line); border-bottom: 1px solid var(--v8-line); background: #fff; }
.v8-scorecard article strong { margin-top: 28px; font: 500 22px/1.35 Georgia, serif; }

.v8-evidence > div, .v8-recovery > div { margin-top: 36px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.v8-evidence article, .v8-recovery article { min-height: 270px; padding: 30px; border: 1px solid var(--v8-line); background: #f8f7f4; }
.v8-evidence article:first-child { border-top: 5px solid #47725a; }
.v8-evidence article:nth-child(2) { border-top: 5px solid #bd8b3f; }
.v8-evidence article:nth-child(3) { border-top: 5px solid #9a4c42; }
.v8-evidence h3, .v8-recovery h3 { margin: 22px 0 15px; font: 500 25px/1.25 Georgia, serif; }
.v8-evidence p, .v8-recovery p { margin: 0; font-size: 15px; line-height: 1.65; }
.v8-recovery article[data-status="vert"] { border-top: 6px solid #4f805f; }
.v8-recovery article[data-status="orange"] { border-top: 6px solid #c08336; }
.v8-recovery article[data-status="rouge"] { border-top: 6px solid #a8433c; }
.v8-check-table .btn { margin-top: 22px; }
.v8-workout-table a { color: #8f5131; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.author-card { grid-template-columns: repeat(4, 1fr); }
.author-card > div { padding-right: 24px; border-right: 1px solid #d4d1cb!important; }
.author-card > div:last-child { padding-right: 0; border-right: 0!important; }
.author-card p a { color: #9b5b39; font-weight: 700; text-decoration: underline; }
.source-scope { max-width: 1060px; margin: 0 0 26px; padding: 20px 22px; border-left: 4px solid #b97650; background: #f4f1ed; color: #514c47!important; font-size: 15px!important; line-height: 1.65!important; }

/* Outils : chacun possède une interface et une sortie réellement distinctes. */
.tool-v8 { padding: clamp(34px, 4vw, 58px)!important; border: 1px solid #cfc8bf; background: linear-gradient(145deg, #faf9f7, #efebe5); }
.tool-heading { margin-bottom: 34px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(290px, .55fr); gap: 35px; align-items: end; }
.tool-heading h2 { margin-bottom: 0; }
.tool-heading > p { margin: 0; color: #625c55; font-size: 15px; line-height: 1.65; }
.tool-v8 .tool-fields { gap: 12px; }
.tool-v8 .tool-fields label { min-width: 0; padding: 16px; border: 1px solid #d2cbc2; background: #fff; color: #504a44; font-size: 13px; font-weight: 700; }
.tool-v8 input, .tool-v8 select { width: 100%; min-height: 48px; margin-top: 9px; padding: 0 12px; border: 1px solid #bbb2a8; background: #fff; color: #171513; font-size: 16px; }
.tool-v8 input[type="range"] { padding: 0; }
.tool-v8 output { min-height: 48px; padding: 12px 16px; display: flex; align-items: center; border: 1px solid #bbb2a8; background: #171513; color: #fff; font: 500 22px Georgia, serif; }
.tool-actions { margin: 22px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }
.tool-preset { padding: 25px; border: 1px solid #cfc8bf; background: #fff; }
.tool-preset > strong { display: block; font: 500 28px Georgia, serif; }
.tool-preset > span { margin-top: 8px; display: block; color: #9a5d3b; font-size: 14px; font-weight: 800; }
.tool-preset > p { margin-bottom: 0; font-size: 15px; }
.tool-checks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.tool-checks label { min-height: 62px; padding: 15px; display: flex; gap: 11px; align-items: center; border: 1px solid #d2cbc2; background: #fff; font-size: 15px; }
.tool-checks input { width: 22px; min-height: 22px; margin: 0; }
.tool-result { margin-top: 20px; }
.tool-result strong { display: block; }
.tool-result ul, .tool-result ol { margin: 12px 0 0; padding-left: 20px; color: #49443f; font-size: 15px; line-height: 1.65; }
.tool-result a { color: #8e4f2f; font-weight: 800; text-decoration: underline; }

/* Pages de confiance : identité distincte des guides d’entraînement. */
.trust-v8 { background: #fff; }
.trust-hero-v8 { min-height: 560px; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(380px, .62fr); background: #111; color: #fff; }
.trust-hero-v8 > div { padding: clamp(58px, 7vw, 116px) var(--internal-gutter, 4vw); display: flex; flex-direction: column; justify-content: center; }
.trust-hero-v8 h1 { max-width: 980px; margin: 12px 0 25px; font: 500 clamp(52px, 5vw, 88px)/.98 Georgia, serif; letter-spacing: -.055em; }
.trust-hero-v8 > div > p:not(.eyebrow) { max-width: 900px; margin: 0; color: #ccc6bf; font-size: 19px; line-height: 1.68; }
.trust-meta { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 10px; }
.trust-meta span { padding: 9px 12px; border: 1px solid #514c47; color: #c7c0b8; font-size: 12px; }
.trust-hero-v8 > aside { padding: clamp(42px, 5vw, 78px); display: flex; flex-direction: column; justify-content: center; background: #24120c; }
.trust-hero-v8 > aside > span, .trust-owner span { color: #d08b61; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.trust-hero-v8 > aside strong { margin: 24px 0; font: 500 clamp(24px, 2.2vw, 34px)/1.4 Georgia, serif; }
.trust-hero-v8 > aside a { color: #fff; font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.trust-layout-v8 { width: min(calc(100% - var(--internal-gutter, 4vw) * 2), 1680px); margin: 0 auto; padding: 95px 0 130px; display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: clamp(50px, 6vw, 95px); }
.trust-layout-v8 > nav { height: fit-content; position: sticky; top: 22px; display: grid; border-top: 2px solid #111; }
.trust-layout-v8 > nav strong { padding: 18px 0 14px; font-size: 12px; letter-spacing: .12em; }
.trust-layout-v8 > nav a { padding: 12px 0; border-top: 1px solid #ddd8d1; color: #57514b; font-size: 14px; }
.trust-layout-v8 > div { max-width: 1280px; }
.trust-layout-v8 section { margin-bottom: 92px; }
.trust-layout-v8 h2 { margin: 0 0 32px; font: 500 clamp(40px, 3.6vw, 62px)/1 Georgia, serif; letter-spacing: -.05em; }
.trust-policy-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--v8-line); border-left: 1px solid var(--v8-line); }
.trust-policy-grid article { min-height: 245px; padding: 30px; border-right: 1px solid var(--v8-line); border-bottom: 1px solid var(--v8-line); }
.trust-policy-grid span { color: #9a5d3b; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.trust-policy-grid h3 { margin: 28px 0 12px; font: 500 27px Georgia, serif; }
.trust-policy-grid p, .trust-control p, .trust-owner p { color: #514c46; font-size: 16px; line-height: 1.7; }
.trust-application ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--v8-line); }
.trust-application li { padding: 20px 0; display: grid; grid-template-columns: 58px 1fr; gap: 25px; border-bottom: 1px solid var(--v8-line); }
.trust-application li b { color: #a46340; font: 500 25px Georgia, serif; }
.trust-application li p { margin: 0; font-size: 17px; line-height: 1.65; }
.trust-control { display: grid; grid-template-columns: repeat(2, 1fr); }
.trust-control > div { min-height: 220px; padding: 30px; background: #151515; color: #fff; }
.trust-control > div + div { background: #2a140d; }
.trust-control h3 { margin: 0 0 15px; font: 500 27px Georgia, serif; }
.trust-control p { color: #d3cdc6; }
.trust-layout-v8 summary { padding: 22px 45px 22px 0; border-bottom: 1px solid var(--v8-line); cursor: pointer; font: 500 22px Georgia, serif; }
.trust-layout-v8 details p { padding: 0 0 22px; font-size: 16px; line-height: 1.7; }
.trust-owner { margin-top: 35px; display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--v8-line); }
.trust-owner > div { padding: 28px; }
.trust-owner > div + div { border-left: 1px solid var(--v8-line); }
.trust-owner strong { margin-top: 10px; display: block; font: 500 26px Georgia, serif; }
.trust-owner a { font-size: 13px; font-weight: 800; text-decoration: underline; }

@media (max-width: 1050px) {
  .home-trust-v8 .wide-shell, .tool-heading, .trust-hero-v8 { grid-template-columns: 1fr; }
  .v8-profile-grid, .v8-decision-path > div { grid-template-columns: repeat(2, 1fr); }
  .trust-layout-v8 { display: block; }
  .trust-layout-v8 > nav { display: none; }
  .author-card { grid-template-columns: repeat(2, 1fr); }
  .author-card > div:nth-child(2) { border-right: 0!important; }
}

@media (max-width: 720px) {
  .home-trust-v8 { padding-inline: 18px; }
  .home-trust-v8 .wide-shell { gap: 28px; }
  .home-trust-v8 nav, .v8-profile-grid, .v8-decision-path > div, .v8-scorecard > div, .v8-evidence > div, .v8-recovery > div, .tool-checks, .trust-policy-grid, .trust-control, .trust-owner { grid-template-columns: 1fr; }
  .trust-owner > div + div { border-left: 0; border-top: 1px solid var(--v8-line); }
  .trust-hero-v8 h1 { font-size: 46px; }
  .trust-layout-v8 { width: calc(100% - 36px); padding-top: 65px; }
  .trust-layout-v8 h2 { font-size: 38px; }
  .tool-v8 { padding: 24px!important; }
  .hero-copy > p:not(.eyebrow) { font-size: 16px; }
  .tool-actions { display: grid; }
  .author-card { grid-template-columns: 1fr; }
  .author-card > div { padding: 0 0 20px; border-right: 0!important; border-bottom: 1px solid #d4d1cb; }
}
