/* InStudy — DA V3 de la home (marbre, encre, ardoise, Newsreader + Hanken Grotesk) */
:root {
  --ink: #0d0f12; --ink-2: #16191e; --marble: #f1f0ec; --stone: #e4e3de; --fog: #c9c9c6;
  --slate: #8fa9c4; --klein: #3c5470; --klein-ink: #2c3f55; --klein-soft: #8fa9c4;
  --muted: #5f636a; --line: rgba(13,15,18,.13);
  --green: var(--klein); --deep: var(--ink); --mint: var(--marble); --mist: var(--stone); --paper: #f8f7f4;
  --accent: var(--klein);
  --sans: "Hanken Grotesk", system-ui, sans-serif;
  --serif: "Newsreader", Georgia, serif; --display: "Newsreader", Georgia, serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
}
body:has(.deck) { background: var(--ink); }
body:not(:has(.deck)) { background: var(--paper); }
h1, h2 { font-family: var(--sans); font-weight: 500; letter-spacing: -.045em; line-height: 1; }
h1 em, h2 em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.01em; font-size: 1.08em; color: var(--klein); }
h3, h4 { letter-spacing: -.015em; }
.eyebrow, .index, .source, .counter, .edition, .print-slide { letter-spacing: .06em; text-transform: uppercase; }
.eyebrow { color: var(--klein); }

/* Header */
.deck-header { background: var(--ink); border-bottom: 1px solid rgba(255,255,255,.08); color: var(--marble); }
.brand { font: 600 1.45rem/1 var(--sans); letter-spacing: -.03em; }
.deck-header .brand { color: var(--marble); }
.brand i { font: italic 500 1.6rem/1 var(--serif); letter-spacing: 0; }
.brand span { color: #9aa0a8; font-family: var(--mono); font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.deck-header .brand span { border-left-color: rgba(255,255,255,.14); }
.view-switch { background: rgba(255,255,255,.07); border-radius: 999px; }
.view-switch span { color: #9aa0a8; border-radius: 999px; }
.view-switch input:checked + span { background: var(--marble); color: var(--ink); }
.jump-label select { background: transparent; color: var(--marble); border-bottom-color: rgba(255,255,255,.2); }
.jump-label select option { color: var(--ink); }

/* Slides as rounded panels on ink */
.slide { border-bottom: 0; }
[data-view="slides"] .deck { background: var(--ink); }
[data-view="slides"] .slide { padding: 10px 16px 0; background: var(--ink); }
[data-view="slides"] .slide > .slide-inner { width: 100%; max-width: none; border-radius: 18px; padding-inline: max(28px, calc((100% - 1240px) / 2)); }
[data-view="reading"] .slide { padding: 5px 16px; background: var(--ink); }
[data-view="reading"] .slide > .slide-inner { width: 100%; border-radius: 18px; padding-inline: max(28px, calc((100% - 1240px) / 2)); }
.paper > .slide-inner { background: var(--paper); }
.mist > .slide-inner { background: var(--stone); }
.cover > .slide-inner { background: var(--marble); }
.dark > .slide-inner { background: var(--ink-2); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }

/* Cover */
.cover > .slide-inner { position: relative; overflow: hidden; }
.cover .cover-top, .cover .cover-main, .cover .cover-bottom { position: relative; z-index: 2; }
.cover-art { position: absolute; z-index: 1; right: 0; top: 0; bottom: 0; width: 48%; margin: 0; }
.cover-art img { width: 100%; height: 100%; object-fit: cover; object-position: 62% 50%; filter: grayscale(1) contrast(1.05) brightness(1.05); mix-blend-mode: multiply;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 42%); mask-image: linear-gradient(90deg, transparent 0, #000 42%); }
.cover-art figcaption { position: absolute; right: 20px; bottom: 18px; font: 400 .65rem/1.5 var(--mono); letter-spacing: .06em; color: #1d2024; background: rgba(241,240,236,.85); padding: 6px 10px; border-radius: 6px; }
.cover-pretitle { font: 400 .8rem/1.5 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--klein); }
.cover-main h1 { max-width: 12ch; }
.cover-main h1 em { color: var(--klein); }
.cover-deck { color: #3a3d42; max-width: 40ch; }
.cover-facts strong { font: 500 3rem/1 var(--sans); letter-spacing: -.06em; }
.cover-facts span { color: #3a3d42; }
.cover-meta { font: 400 .72rem/2 var(--mono); letter-spacing: .06em; color: #3a3d42; }
.cover-meta b { color: var(--klein); font-weight: 400; }
.primary-link { background: var(--klein); border-radius: 999px; padding: 15px 24px; }
.primary-link:hover { background: var(--klein-ink); }

/* Cards, quotes, stats */
.summary-card { background: var(--stone); border-radius: 14px; }
.summary-card:hover { background: #dcdad3; border-color: rgba(60,84,112,.35); }
.summary-card .index { color: var(--klein); }
.mist .summary-card { background: var(--paper); }
.takeaway > span { color: var(--klein); }
.verbatim { background: var(--ink); color: var(--marble); border-radius: 14px; }
.verbatim > .eyebrow { color: var(--klein-soft); }
.verbatim blockquote { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.005em; }
.verbatim figcaption { color: rgba(241,240,236,.7); }
.verbatim figcaption strong { color: var(--marble); }
.action-strip .eyebrow { color: var(--klein); }
.detail-trigger { color: var(--ink); background: transparent; border: 0; box-shadow: inset 0 0 0 1.5px var(--ink); border-radius: 999px; padding: 12px 20px; }
.detail-trigger:hover { background: var(--ink); color: var(--marble); }
.text-button { color: var(--klein); }
.column-label { color: var(--klein); border-color: var(--klein); }
.usage-grid > div:last-child .column-label { color: #2c3f55; border-color: var(--slate); }
.large-stat, .step-number { font-family: var(--sans); font-weight: 500; letter-spacing: -.06em; color: var(--klein); }
.bar-track { background: rgba(13,15,18,.08); border-radius: 3px; overflow: hidden; }
.bar-track > div { background: var(--klein); }
.chart-row:nth-of-type(3) .bar-track > div { background: #4f6886; }
.chart-row:nth-of-type(4) .bar-track > div { background: var(--slate); }
.chart-row:nth-of-type(5) .bar-track > div { background: #2c3f55; }
.impact-chain { border-radius: 14px; overflow: hidden; }
.impact-chain h3 { font: 500 2rem/1.1 var(--sans); letter-spacing: -.04em; }
.impact-chain li:last-child { background: var(--klein); }
.impact-chain li:last-child .index, .impact-chain li:last-child p { color: #dce6f0; }
.pilot-grid > div { border-top-color: rgba(13,15,18,.18); }
.example-prompt h3, .closing-question p { font-family: var(--serif); font-style: italic; }
.closing-question em { color: var(--klein); }
.foundation-measures span { color: var(--klein); }

/* Dark slide */
.dark { color: var(--marble); }
.dark h2 em, .dark .large-stat { color: var(--klein-soft); }
.dark .eyebrow, .dark .source { color: var(--slate); }
.result-stat p, .result-caveat { color: rgba(241,240,236,.65); }
.result-story > p { color: rgba(241,240,236,.85); }
.result-story .verbatim { background: transparent; border-top-color: rgba(255,255,255,.12); }
.result-story .verbatim figcaption { color: rgba(241,240,236,.6); }
.result-caveat { border-top-color: rgba(255,255,255,.12); }

/* Footer & controls */
.deck-footer { background: var(--ink); border-top: 0; color: var(--marble); }
.footer-label, #slide-name, .counter { color: #9aa0a8; }
.progress-track { background: rgba(255,255,255,.12); }
#slide-progress { background: var(--klein-soft); }
.slide-controls button { background: transparent; color: var(--marble); border-color: rgba(255,255,255,.2); border-radius: 999px; }
.slide-controls button:not(:disabled):hover { background: var(--klein); border-color: var(--klein); }

/* Dialogs */
dialog { border-radius: 16px; background: var(--paper); }
dialog::backdrop { background: rgba(13,15,18,.55); }
.dialog-top { background: var(--paper); }
.close-dialog { background: var(--stone); border-radius: 999px; }
.dialog-content h2 { letter-spacing: -.04em; }
.dialog-content .dialog-action { border-top-color: var(--klein); }

/* Plan de recherche page */
.plan-content h3, .footer-brand { font-family: var(--sans); font-weight: 500; letter-spacing: -.03em; }
.plan-content h2 em, .plan-content h1 em { color: var(--klein); }

.logo { font-weight: 600; }
@media (max-width: 800px) {
  .cover-art { width: 100%; height: 46%; top: auto; opacity: .28; }
  .cover-art figcaption { display: none; }
  .deck-header { gap: 10px; }
  .jump-label select { width: 118px; }
  [data-view="slides"] .slide, [data-view="reading"] .slide { padding-inline: 8px; }
  [data-view="slides"] .slide > .slide-inner, [data-view="reading"] .slide > .slide-inner { padding-inline: 20px; }
}

@media (max-width: 520px) {
  .view-switch { display: none; }
  .deck-header { overflow: hidden; }
  .cover-meta { font-size: .64rem; }
}

.deck:focus { outline: none; }
.deck:focus-visible { outline: 2px solid var(--klein); outline-offset: -2px; }

/* ===== Inspiré de la home InStudy ===== */
h2 { font-size: clamp(2.5rem, 4.4vw, 4.4rem); letter-spacing: -.05em; line-height: .98; }
.eyebrow { letter-spacing: .08em; }

/* Hero */
.cover .slide-inner { text-align: center; }
.cover-top { justify-content: center; gap: 10px; }
.cover-tag { font: 400 .7rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); padding: 8px 12px; border-radius: 999px; box-shadow: inset 0 0 0 1px rgba(13,15,18,.18); }
.cover-tag + .cover-tag { color: var(--klein); box-shadow: inset 0 0 0 1px rgba(60,84,112,.3); }
.cover-main { display: flex; flex-direction: column; align-items: center; }
.cover-pretitle { margin-bottom: 18px; }
.cover-main h1 { max-width: 15ch; font-size: clamp(3rem, 7.2vw, 7.4rem); line-height: .92; letter-spacing: -.055em; }
.cover-main h1 em { font-size: 1.06em; line-height: .85; }
.cover-deck { margin: 30px auto 0; max-width: 52ch; font-size: 1.15rem; line-height: 1.5; }
.cover-bottom { align-items: flex-end; text-align: left; }
.cover-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.ghost-link { font: 500 .875rem/1 var(--sans); padding: 15px 22px; border-radius: 999px; text-decoration: none; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); }
.ghost-link:hover { background: var(--ink); color: var(--marble); }
.primary-link { background: var(--ink); }
.primary-link:hover { background: var(--klein); }

/* Synthèse en bento */
.summary-grid { grid-template-columns: 1.35fr 1fr 1fr; grid-auto-rows: minmax(170px, auto); gap: 10px; }
.summary-card { position: relative; overflow: hidden; border: 0; border-radius: 16px; padding: 26px; grid-template-columns: 1fr 16px; grid-template-rows: auto 1fr; align-content: end; background: var(--ink-2); color: var(--marble); }
.summary-card .index { position: absolute; right: 18px; top: -18px; font: 500 150px/1 var(--sans); letter-spacing: -.08em; color: rgba(255,255,255,.08); padding: 0; }
.summary-card > div { grid-column: 1; align-self: end; position: relative; }
.summary-card .card-arrow { grid-column: 2; align-self: end; }
.summary-card h3 { font-size: 1.3rem; letter-spacing: -.025em; }
.summary-card p { color: rgba(241,240,236,.66); }
.summary-card:nth-child(1) { grid-row: span 2; background: var(--klein); }
.summary-card:nth-child(1) h3 { font-size: clamp(1.8rem, 2.6vw, 2.5rem); line-height: 1.02; letter-spacing: -.04em; max-width: 12ch; }
.summary-card:nth-child(1) .index { font-size: 260px; color: rgba(255,255,255,.13); }
.summary-card:nth-child(1) p { color: rgba(255,255,255,.8); max-width: 34ch; }
.summary-card:nth-child(3) { background: #d7d6d1; color: var(--ink); }
.summary-card:nth-child(3) .index { color: rgba(13,15,18,.07); }
.summary-card:nth-child(3) p { color: #555a60; }
.summary-card:nth-child(4) { grid-column: 2 / 4; }
.summary-card:hover { background: var(--ink); }
.summary-card:nth-child(1):hover { background: var(--klein-ink); }
.summary-card:nth-child(3):hover { background: #cfcdc6; }
.mist .summary-card { background: var(--ink-2); }

/* Insights : liste numérotée façon "Le problème" */
.observation-list { counter-reset: obs; gap: 0; }
.observation { counter-increment: obs; display: grid; grid-template-columns: 44px 1fr; column-gap: 0; padding: 18px 0; border-top: 1px solid var(--line); }
.observation + .observation { padding-top: 18px; }
.observation::before { content: "0" counter(obs); grid-row: 1 / 4; font: 400 .75rem/2.3 var(--mono); color: var(--muted); }
.observation h3 { font-size: 1.3rem; letter-spacing: -.025em; }
.verbatim blockquote { font-size: clamp(1.7rem, 2.3vw, 2.2rem); line-height: 1.15; }
.action-strip { border-top: 0; margin-top: auto; background: var(--ink); color: var(--marble); border-radius: 14px; padding: 22px 26px; }
.action-strip .eyebrow { color: var(--klein-soft); }
.action-strip h3 { font-size: 1.35rem; letter-spacing: -.02em; }
.action-strip p { color: rgba(241,240,236,.7); }
.action-strip .detail-trigger { color: var(--marble); box-shadow: inset 0 0 0 1.5px rgba(241,240,236,.6); }
.action-strip .detail-trigger:hover { background: var(--klein); color: #fff; box-shadow: inset 0 0 0 1.5px var(--klein); }

/* Corpus : chiffre en tuile */
.chart-intro { background: var(--ink-2); color: var(--marble); border-radius: 16px; padding: 28px; align-self: stretch; }
.chart-intro .large-stat { color: var(--marble); font-size: 6.5rem; }
.chart-intro h3 { color: var(--marble); }
.chart-intro p { color: rgba(241,240,236,.66); }

/* Cas d'activation façon étude de cas */
.result-layout { grid-template-columns: 1.3fr 1fr; }
.result-stat { order: 2; text-align: right; }
.result-stat .large-stat { font-size: clamp(5rem, 10vw, 10rem); line-height: .9; letter-spacing: -.07em; color: var(--marble); }
.result-stat p { margin-left: auto; max-width: 28ch; }
.result-story { order: 1; }

/* Impact, étapes */
.impact-chain { border: 0; gap: 10px; }
.impact-chain li { background: var(--stone); border-radius: 16px; }
.impact-chain li + li { border-left: 0; }
.mist .impact-chain li { background: var(--paper); }
.step-number { font-size: 4rem; }

/* Question finale façon manifeste */
.closing-question { border: 0; background: var(--ink); color: var(--marble); border-radius: 16px; padding: 44px 40px; }
.closing-question .eyebrow { color: var(--klein-soft); }
.closing-question p { font: 500 clamp(2rem, 3.8vw, 3.6rem)/1.02 var(--sans); letter-spacing: -.045em; max-width: 20ch; margin-top: 14px; }
.closing-question mark { background: var(--klein); color: #fff; border-radius: 10px; padding: 0 .12em; }
.closing-question em { font: italic 400 1.08em var(--serif); color: var(--marble); letter-spacing: -.01em; }
.closing-question .sig { display: block; margin-top: 22px; font: 400 .8rem/1 var(--mono); color: #9aa0a8; letter-spacing: .02em; }

@media (max-width: 760px) {
  .summary-grid { grid-template-columns: 1fr; }
  .summary-card:nth-child(1) { grid-row: auto; min-height: 260px; }
  .summary-card:nth-child(4) { grid-column: auto; }
  .cover-bottom { align-items: stretch; }
  .cover-actions { justify-content: stretch; }
  .cover-actions a { flex: 1; justify-content: center; text-align: center; }
  .result-layout { grid-template-columns: 1fr; }
  .result-stat { order: 0; text-align: left; }
  .result-stat p { margin-left: 0; }
  .impact-chain li:nth-child(n+3) { border-top: 0; }
  .closing-question { padding: 30px 24px; }
}

/* correctifs */
.nowrap { white-space: nowrap; }
.cover-main h1 { max-width: 16ch; }
.deck:focus, .slide:focus, .slide-inner:focus, main:focus { outline: none; }
.summary-grid { grid-auto-rows: minmax(190px, auto); }
.summary-card { display: flex; flex-direction: column; justify-content: flex-end; padding: 26px 64px 26px 26px; }
.summary-card .index { top: 6px; right: 16px; font-size: 96px; line-height: 1; }
.summary-card:nth-child(1) .index { top: 0; font-size: 200px; }
.summary-card .card-arrow { position: absolute; right: 24px; bottom: 26px; }
.summary-card > div { max-width: 44ch; }
@media (max-width: 760px) { .summary-card { min-height: 190px; } }
.summary-card { align-items: flex-start; text-align: left; }
.summary-card > div { width: 100%; margin: 0; }
.summary-card > div { align-self: flex-start; }


/* ===== DA V3 (home InStudy) ===== */
h1, h2 { font-family: var(--display); font-weight: 300; letter-spacing: -.025em; line-height: 1.04; font-variation-settings: "opsz" 72; }
h1 em, h2 em { font-family: var(--display); font-style: italic; font-weight: 300; font-size: 1em; letter-spacing: -.02em; color: var(--klein); }
h3, h4 { letter-spacing: -.01em; font-weight: 500; }
body { font-family: var(--sans); }
.brand, .brand .logo { font: 500 1.3rem/1 var(--sans); letter-spacing: -.02em; }
.brand i { font: italic 400 1.5rem/1 var(--display); }
.brand span { font: 400 .8rem/1 var(--sans); letter-spacing: 0; text-transform: none; color: #9aa0a8; }

/* Hero : dégradé lumineux + pastille */
.cover > .slide-inner { background: radial-gradient(90% 70% at 50% 30%, #f7f6f2 0%, #ebeae5 45%, #dcdfe3 100%), #ebeae5; }
.cover-tag { font: 400 .8rem/1.3 var(--sans); letter-spacing: 0; text-transform: none; background: rgba(255,255,255,.7); box-shadow: inset 0 0 0 1px rgba(60,84,112,.2); color: #1d2024; padding: 8px 16px 8px 8px; display: inline-flex; gap: 10px; align-items: center; }
.cover-tag b { font: 400 .7rem/1 var(--mono); letter-spacing: .08em; background: var(--klein); color: #fff; padding: 5px 8px; border-radius: 999px; }
.cover-tag + .cover-tag { display: none; }
.cover-main h1 { font-size: clamp(2.6rem, 5.4vw, 5.4rem); line-height: 1.02; letter-spacing: -.025em; max-width: 17ch; }
.cover-main h1 em { display: block; font-size: 1em; line-height: 1.02; }
.cover-deck { color: #3a3d42; font-size: 1.1rem; }
.primary-link:hover { background: var(--klein-ink); }

/* Chiffres légers, interlettrage normal */
.large-stat, .step-number, .cover-facts strong { font-family: var(--sans); font-weight: 300; letter-spacing: -.015em; }
.result-stat .large-stat { letter-spacing: -.015em; font-weight: 300; }
.summary-card .index { font-family: var(--display); font-weight: 300; letter-spacing: 0; }
.impact-chain h3 { font: 300 2rem/1.1 var(--display); letter-spacing: -.02em; }

/* Bento : tuile 1 en dégradé ardoise, comme la tuile « 8 ans » */
.summary-card:nth-child(1) { background: linear-gradient(135deg, #2c3f55, #4f6886); }
.summary-card:nth-child(1):hover { background: linear-gradient(135deg, #243446, #435a76); }
.summary-card:nth-child(1) h3 { font: 300 clamp(1.8rem, 2.6vw, 2.5rem)/1.05 var(--display); letter-spacing: -.02em; }

/* Citations et manifeste en Newsreader */
.verbatim blockquote { font-family: var(--display); font-weight: 300; font-style: italic; letter-spacing: -.01em; }
.example-prompt h3, .closing-question p em { font-family: var(--display); font-weight: 300; }
.closing-question { background: radial-gradient(40% 60% at 10% 100%, rgba(143,169,196,.14), transparent 70%), var(--ink); }
.closing-question p { font: 300 clamp(2rem, 3.8vw, 3.6rem)/1.08 var(--display); letter-spacing: -.02em; }
.closing-question mark { background: var(--klein); }
.action-strip .detail-trigger:hover { background: var(--klein-soft); color: var(--ink); box-shadow: none; }

/* ===== Alignement sur la home locale (sections Rapport, Méthode, Manifeste) ===== */
/* Synthèse = section « Ce que dit le rapport » */
#synthese .summary-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: auto; gap: 10px; }
#synthese .summary-card, #synthese .summary-card:nth-child(n) { grid-row: auto; grid-column: auto; background: var(--marble); color: var(--ink); border-radius: 14px; padding: 26px 24px 28px; display: flex; flex-direction: column; justify-content: flex-start; gap: 14px; min-height: 0; }
#synthese .summary-card:hover { background: #fff; }
#synthese .summary-card .index, #synthese .summary-card:nth-child(1) .index { position: static; font: 400 .75rem/1 var(--mono); letter-spacing: .08em; color: var(--accent); }
#synthese .summary-card h3, #synthese .summary-card:nth-child(1) h3 { font: 300 1.65rem/1.15 var(--display); letter-spacing: -.02em; max-width: none; margin: 0 0 14px; color: var(--ink); }
#synthese .summary-card p { font-size: .95rem; line-height: 1.5; color: #3a3d42; max-width: none; }
#synthese .summary-card p b { display: block; font: 400 .7rem/1.6 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 4px; }
#synthese .summary-card .card-arrow { position: static; margin-top: auto; align-self: flex-end; color: var(--accent); }
#synthese .summary-card > div { max-width: none; }
.reading { display: grid; grid-template-columns: 1.3fr 1fr; gap: 56px; align-items: center; border-top: 1px solid var(--line); padding-top: 28px; margin-top: auto; }
.reading .statement { font: 300 clamp(1.7rem, 2.8vw, 2.6rem)/1.15 var(--display); letter-spacing: -.02em; max-width: 26ch; }
.reading .statement em { font-style: italic; color: var(--accent); }
.reading blockquote { margin: 0; font: italic 300 1.4rem/1.35 var(--display); }
.reading blockquote cite { display: block; margin-top: 12px; font: normal 400 .75rem var(--mono); color: var(--muted); }

/* Méthode = lignes « Comment je travaille » */
#methode .method-grid { grid-template-columns: 1fr; gap: 0; }
#methode .method-grid > div { display: grid; grid-template-columns: 200px 1fr; column-gap: 24px; border-top: 1px solid var(--line); padding: 18px 0; }
#methode .method-grid > div > .eyebrow { grid-row: 1 / 3; font: 400 .75rem/2.2 var(--mono); letter-spacing: .08em; color: var(--accent); margin: 0; }
#methode .method-grid h3 { font: 300 1.5rem/1.2 var(--display); margin: 0 0 6px; }
#methode .method-grid p { font-size: 1.05rem; color: #3a3d42; }

/* Manifeste : surlignage ardoise clair, texte encre */
.closing-question mark { background: linear-gradient(180deg, #a9bdd3, #8fa9c4); color: var(--ink); }
.cover-meta b { color: var(--accent); }

@media (max-width: 900px) { #synthese .summary-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) {
  #synthese .summary-grid { grid-template-columns: 1fr; }
  .reading { grid-template-columns: 1fr; gap: 20px; }
  #methode .method-grid > div { grid-template-columns: 1fr; }
  #methode .method-grid > div > .eyebrow { grid-row: auto; }
}
#methode .slide-inner { gap: 18px; }
#methode .method-grid > div { padding: 12px 0; }
#methode .method-grid h3 { font-size: 1.3rem; margin-bottom: 2px; }
#methode .method-grid p { font-size: .95rem; }
#methode .closing-question { padding: 26px 32px; }
#methode .closing-question p { font-size: clamp(1.6rem, 2.6vw, 2.4rem); max-width: 30ch; }
#methode .closing-question .sig { margin-top: 12px; }
@media (min-width: 900px) { .cover-main h1 { max-width: none; } .cover-main h1 em { white-space: nowrap; } }

/* ===== Resynchro home 30/09 fin d'après-midi : titres sans 500 serrés, accent Newsreader italique ===== */
h1, h2, h3 { font-family: var(--sans); font-weight: 500; letter-spacing: -.035em; line-height: 1.04; font-variation-settings: normal; }
h1 em, h2 em { font-family: var(--display); font-style: italic; font-weight: 400; letter-spacing: -.01em; color: var(--accent); }
h2 { letter-spacing: -.04em; }
.dark h2 em { color: var(--accent-light); }
/* Hero : titre en dégradé encre, accent plein */
.cover-main h1 { font-weight: 500; letter-spacing: -.045em; line-height: .98; font-size: clamp(2.5rem, 5.4vw, 5.5rem);
  background: linear-gradient(180deg, #0d0f12 55%, #3a3e45 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.cover-main h1 em { -webkit-text-fill-color: var(--accent); letter-spacing: -.02em; line-height: 1.02; padding-bottom: .06em; }
/* Chiffres */
.large-stat, .result-stat .large-stat, .step-number, .cover-facts strong { font-weight: 500; letter-spacing: -.04em; }
.impact-chain h3, .summary-card:nth-child(1) h3 { font-family: var(--sans); font-weight: 500; letter-spacing: -.035em; }
.observation h3, .action-strip h3, .method-grid h3, #methode .method-grid h3 { font-family: var(--sans); font-weight: 500; letter-spacing: -.02em; }
/* Lecture + manifeste en sans 500 */
.reading .statement { font: 500 clamp(1.7rem, 2.8vw, 2.6rem)/1.1 var(--sans); letter-spacing: -.035em; }
.reading .statement em { font-family: var(--display); font-weight: 400; letter-spacing: -.01em; }
.closing-question p, #methode .closing-question p { font-family: var(--sans); font-weight: 500; letter-spacing: -.04em; line-height: 1.04; }
.closing-question p em { font-family: var(--display); font-weight: 400; letter-spacing: -.01em; }

/* 4 enseignements = tuiles teintées de la home */
#synthese .summary-card, #synthese .summary-card:nth-child(n) { --fg: var(--ink); --soft: #4d5157; --hi: var(--accent);
  position: relative; overflow: hidden; isolation: isolate; border-radius: 18px; padding: 30px 28px 26px; min-height: 300px; color: var(--fg); box-shadow: none; transition: transform .2s ease, box-shadow .2s ease; }
#synthese .summary-card::before { content: attr(data-n); position: absolute; right: 14px; top: -26px; z-index: -1; font: 300 170px/1 var(--display); letter-spacing: -.02em; color: currentColor; opacity: .09; }
#synthese .summary-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(13,15,18,.14); }
#synthese .summary-card.d-slate { background: linear-gradient(140deg, #2c3f55 0%, #4f6886 100%); --fg: #fff; --soft: #e6ecf2; --hi: #fff; }
#synthese .summary-card.d-mist  { background: radial-gradient(120% 90% at 80% 0%, #eef1f4 0%, #cfd8e2 100%); }
#synthese .summary-card.d-night { background: radial-gradient(90% 80% at 100% 100%, rgba(143,169,196,.28), transparent 60%), #1c2330; --fg: var(--marble); --soft: #b4bcc6; --hi: var(--accent-light); }
#synthese .summary-card.d-stone { background: linear-gradient(160deg, #f1efe9 0%, #d9d5cb 100%); }
#synthese .summary-card .index, #synthese .summary-card:nth-child(1) .index { font: 500 .75rem/1 var(--mono); letter-spacing: .1em; color: var(--hi); }
#synthese .summary-card h3, #synthese .summary-card:nth-child(1) h3 { font: 500 1.55rem/1.12 var(--sans); letter-spacing: -.03em; color: var(--fg); margin: 6px 0 16px; }
#synthese .summary-card p { color: var(--fg); font-size: 1rem; }
#synthese .summary-card p b { color: var(--soft); }
#synthese .summary-card .card-arrow { color: var(--fg); width: 34px; height: 34px; border-radius: 999px; display: grid; place-items: center; box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 35%, transparent); }
#synthese .summary-card:hover .card-arrow { background: color-mix(in srgb, currentColor 12%, transparent); }
#synthese .slide-inner { gap: 18px; }
#synthese .summary-card, #synthese .summary-card:nth-child(n) { min-height: 250px; padding: 24px 24px 20px; }
#synthese .summary-card h3, #synthese .summary-card:nth-child(1) h3 { font-size: 1.4rem; margin: 4px 0 10px; }
#synthese .summary-card p { font-size: .94rem; }
#synthese .reading { padding-top: 20px; }
#synthese .reading .statement { font-size: clamp(1.4rem, 2.2vw, 2rem); }
#synthese .reading blockquote { font-size: 1.2rem; }

/* ===== Écrans peu hauts (fenêtre, portable, artifact intégré) : tout doit tenir sans scroll ===== */
@media (max-height: 900px) and (min-width: 761px) {
  [data-view="slides"] { grid-template-rows: 54px minmax(0, 1fr) 50px; }
  .deck-header { height: 54px; }
  [data-view="slides"] .slide { padding-top: 6px; }
  [data-view="slides"] .slide > .slide-inner { padding-block: 18px; gap: 12px; }
  h2 { font-size: clamp(1.9rem, 6.4vh, 3.6rem); }
  .slide-heading > .eyebrow { margin-bottom: 4px; }
  .slide-heading > p { margin-top: 6px; font-size: .95rem; }
  .cover-main h1 { font-size: clamp(2.2rem, 9vh, 5rem); }
  .cover-deck { margin-top: 14px; font-size: 1rem; }
  .cover-top { margin: 0; }
  .observation { padding: 10px 0; }
  .observation h3 { font-size: 1.1rem; margin-bottom: 2px; }
  .observation p { font-size: .92rem; }
  .observation .source { margin-top: 4px; }
  .insight-layout, .chart-layout, .result-layout, .usage-grid { gap: 24px; }
  .verbatim { padding: 18px 22px; }
  .verbatim > .eyebrow { margin-bottom: 6px; }
  .verbatim blockquote { font-size: clamp(1.2rem, 3.8vh, 1.8rem); }
  .verbatim figcaption { margin-top: 8px; }
  .action-strip { padding: 12px 20px; gap: 14px; }
  .action-strip h3 { font-size: 1.05rem; }
  .action-strip p { font-size: .88rem; margin-top: 2px; }
  .detail-trigger { padding: 9px 16px; }
  .usage-grid li { padding: 7px 0; }
  .usage-grid li span { font-size: .86rem; }
  .quote-ribbon .verbatim { padding: 12px 18px; }
  .quote-ribbon blockquote { font-size: 1.2rem; }
  .takeaway, .reading { padding-top: 10px; }
  .large-stat, .chart-intro .large-stat { font-size: clamp(3rem, 11vh, 5.5rem); }
  .chart-intro { padding: 20px; }
  .chart-row { margin-bottom: 8px; }
  .impact-chain li { padding: 16px; }
  .impact-chain h3 { font-size: 1.5rem; margin-block: 10px 6px; }
  .result-stat .large-stat { font-size: clamp(3.5rem, 13vh, 7rem); }
  .pilot-grid > div { padding-top: 12px; }
  .pilot-grid h3 { margin-block: 8px 6px; }
  .step-number { font-size: 2.6rem; }
  #synthese .summary-card, #synthese .summary-card:nth-child(n) { min-height: 0; padding: 18px 18px 16px; }
  #synthese .summary-card::before { font-size: 120px; top: -18px; }
  #synthese .summary-card h3, #synthese .summary-card:nth-child(1) h3 { font-size: 1.15rem; margin: 2px 0 6px; }
  #synthese .summary-card p { font-size: .84rem; line-height: 1.4; }
  #synthese .summary-card .card-arrow { width: 28px; height: 28px; margin-top: 8px; }
  #synthese .reading .statement { font-size: clamp(1.1rem, 3.6vh, 1.7rem); }
  #synthese .reading blockquote { font-size: 1rem; }
  #methode .method-grid > div { padding: 7px 0; }
  #methode .method-grid h3 { font-size: 1.05rem; }
  #methode .method-grid p { font-size: .84rem; line-height: 1.4; }
  #methode .closing-question { padding: 16px 24px; }
  #methode .closing-question p { font-size: clamp(1.2rem, 4vh, 2rem); margin-top: 6px; }
  #methode .closing-question .sig { margin-top: 6px; }
}

/* Ajustement automatique (fit.js) : réduit le contenu, pas le panneau */
[data-view="slides"] .slide > .slide-inner > * { zoom: var(--fit, 1); }
