:root{--primary: #8A6A4F;--primary-hover: #755841;--on-primary: #FFFFFF;--secondary: #2B2622;--secondary-hover: #3D3630;--bg: #F5F1EA;--surface: #FBF8F3;--text: #2B2622;--text-secondary: #5A514A;--text-strong: #1A1613;--text-muted: #6E645A;--text-faint: #C9C0B4;--fill: #EFEAE1;--border: #DED5C7;--white: #FFFFFF;--callout-bg: #EFEAE1;--callout-text: #2B2622;--callout-border: #DED5C7;--dark-color: #2B2622;--blue:var(--primary);--sky:var(--text-faint);--ink:var(--text);--muted:var(--text-muted);--sand:var(--fill);--cream:var(--bg);--line:var(--border);--serif:'Instrument Sans',Helvetica,Arial,sans-serif;--sans:'Source Serif 4',Georgia,serif;--mono:'Instrument Sans',Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.narrow{width:min(760px,calc(100% - 40px))}.site-header{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;background:rgba(245,241,234,.94);position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:700;display:flex;align-items:center;line-height:1.05;font-size:17px}.brand em{font:600 17px var(--serif)}.brand-mark{width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font:600 22px var(--serif);margin-right:9px}.site-header nav{display:flex;gap:28px;font-size:14px;font-weight:600}.site-header nav a:hover,.text-link:hover{color:var(--blue)}.nav-cta{font-size:13px;font-weight:700;display:flex;gap:7px;align-items:center}.nav-cta svg{width:15px}.hero{padding:76px 0 58px;background:linear-gradient(120deg,#F5F1EA 53%,#EFEAE1)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.eyebrow,.section-kicker{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin:0 0 18px}.hero h1,.page-hero h1{font:700 clamp(44px,5.2vw,76px)/1.06 var(--serif);letter-spacing:-.05em;margin:0 0 25px}.hero h1 i,h2 i,h1 i{font-weight:600;color:var(--blue)}.lede{color:var(--muted);font-size:19px;line-height:1.6;max-width:610px}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:34px}.button{display:inline-flex;align-items:center;gap:10px;background:var(--blue);color:#fff;border:1px solid var(--blue);padding:13px 18px;font-size:14px;font-weight:700;transition:.25s}.button:hover{background:var(--primary-hover);transform:translateY(-2px)}.button svg{width:17px}.button-outline{background:transparent;color:var(--blue)}.text-link{color:var(--blue);font-weight:700;font-size:14px}.hero-image{margin:0;position:relative}.hero-image img{display:block;width:100%;height:540px;object-fit:cover;filter:saturate(.7)}.hero-image figcaption{position:absolute;bottom:0;left:0;background:var(--ink);color:#fff;padding:12px 16px;font:11px var(--mono);max-width:260px}.metrics-band{background:var(--ink);color:#fff}.metrics{display:grid;grid-template-columns:repeat(4,1fr)}.metrics>div{padding:28px;border-right:1px solid rgba(255,255,255,.16);display:flex;align-items:center;gap:13px}.metrics strong{font:600 25px var(--serif);white-space:nowrap}.metrics span{font-size:11px;line-height:1.35;color:var(--text-faint)}.section{padding:120px 0}.split-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:80px}.split-heading h2,.section h2,.section-top h2,.callout h2{font:600 clamp(33px,4vw,55px)/1.15 var(--serif);letter-spacing:-.04em;margin:0}.split-heading p{margin:0 0 17px;color:var(--muted)}.ritual-section{background:var(--sand);padding:100px 0}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px;gap:20px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border)}.timeline article{padding:24px 20px 0;border-right:1px solid var(--border);min-height:245px}.timeline article:first-child{padding-left:0}.timeline article:last-child{border:0}.time,.card-label,.footer-label{font:500 11px var(--mono);letter-spacing:.08em;color:var(--blue)}.timeline svg{width:25px;margin:26px 0 10px;color:var(--blue)}h3{font-size:19px;line-height:1.25;margin:0 0 10px}.timeline p,.data-foot{font-size:14px;color:var(--muted);line-height:1.55}.source-note,.asterisk{font:12px var(--mono);color:var(--muted);margin:35px 0 0}.source-note a{text-decoration:underline}.evidence-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:110px;align-items:center}.evidence-copy>p:not(.eyebrow){color:var(--muted);max-width:450px}.evidence-copy .button{margin-top:15px}.data-card{background:var(--surface);padding:40px;box-shadow:0 18px 45px rgba(43,38,34,.08)}.data-card h3{font:600 27px var(--serif);margin:12px 0 30px}.bar-row{display:grid;grid-template-columns:125px 1fr 40px;align-items:center;gap:12px;margin:18px 0;font-size:13px}.bar-row b{height:7px;background:var(--fill)}.bar-row b i{display:block;height:100%;background:var(--blue)}.bar-row em{font:12px var(--mono);font-style:normal}.callout{background:var(--blue);color:white;padding:77px 0}.callout-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:center}.callout .eyebrow{color:var(--white)}.callout p:not(.eyebrow){color:var(--fill)}.button-light{background:#fff;color:var(--blue);border-color:#fff;margin-top:12px}.button-light:hover{background:var(--fill)}.page-hero{padding:100px 0 86px;background:var(--sand)}.protocol-layout{display:grid;grid-template-columns:250px 1fr;gap:100px;padding:90px 0}.protocol-layout aside{height:max-content;background:var(--fill);padding:28px;position:sticky;top:110px;font-size:13px}.protocol-layout aside p,.protocol-layout aside span{color:var(--muted);display:block;margin:0 0 4px}.protocol-layout aside strong{display:block;line-height:1.35}.protocol-layout aside hr{border:0;border-top:1px solid var(--border);margin:19px 0}.protocol-steps article{display:grid;grid-template-columns:135px 1fr;gap:38px;padding:0 0 48px;margin-bottom:47px;border-bottom:1px solid var(--line)}.step-number{font:500 21px var(--mono);color:var(--blue)}.step-number span{display:block;font-size:11px;color:var(--muted);margin-top:5px}.protocol-steps h2{font:600 34px var(--serif);margin:0 0 12px}.protocol-steps p{color:var(--muted);margin:0}.faq{padding-top:10px}.faq-grid,.finding-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}.faq-grid article,.finding-grid article{padding:28px;background:var(--surface);border-top:3px solid var(--primary)}.faq-grid p,.finding-grid p{color:var(--muted);font-size:14px;margin:0}.report-stats{margin-top:-40px;position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 14px 38px rgba(43,38,34,.1)}.report-stats article{background:var(--surface);padding:25px;border-right:1px solid var(--line)}.report-stats strong{display:block;font:600 30px var(--serif);color:var(--blue)}.report-stats span{font-size:13px;line-height:1.35;display:block}.findings{padding-bottom:80px}.finding-num{font:14px var(--mono)!important;color:var(--blue)!important;margin-bottom:30px!important}.table-section{padding-bottom:120px}.table-wrap{overflow:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:700px;font-size:14px}.table-wrap th{text-align:left;background:var(--ink);color:white;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:16px}.table-wrap td{padding:19px 16px;border-bottom:1px solid var(--line)}.method-grid{padding:100px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.method-grid article{padding:32px;background:var(--surface)}.method-grid article:nth-child(even){background:var(--sand)}.method-grid span{font:14px var(--mono);color:var(--blue)}.method-grid h2{font:600 31px var(--serif);margin:35px 0 12px}.method-grid p{font-size:14px;color:var(--muted);margin:0}.method-notes{padding:100px 0;background:var(--ink);color:#fff}.method-notes p{color:var(--text-faint)}.method-notes strong{color:#fff}.site-footer{background:var(--secondary);color:var(--text-faint);padding-top:62px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr .7fr .7fr;gap:32px}.site-footer .brand{color:#fff}.brand-footer{margin-bottom:17px}.site-footer p{font-size:13px;line-height:1.65;max-width:360px}.site-footer a:not(.brand){display:block;font-size:13px;margin:8px 0}.footer-label{color:var(--sky)!important}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.13);margin-top:50px;padding:20px 0;font:11px var(--mono)}.not-found{min-height:65vh;padding:120px 0}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal-on-scroll.revealed{opacity:1;transform:none}@media(max-width:800px){.site-header nav,.nav-cta{display:none}.hero{padding:54px 0}.hero-grid,.split-heading,.evidence-grid,.callout-inner{grid-template-columns:1fr;gap:35px}.hero-image img{height:380px}.metrics{grid-template-columns:repeat(2,1fr)}.metrics>div{padding:19px}.section,.ritual-section{padding:72px 0}.timeline{grid-template-columns:repeat(2,1fr)}.timeline article:nth-child(2){border-right:0}.timeline article:nth-child(3){padding-left:0}.evidence-grid{gap:45px}.page-hero{padding:72px 0}.protocol-layout{grid-template-columns:1fr;gap:40px;padding:60px 0}.protocol-layout aside{position:static}.protocol-steps article{grid-template-columns:1fr;gap:12px;margin-bottom:30px;padding-bottom:30px}.faq-grid,.finding-grid{grid-template-columns:1fr}.report-stats{grid-template-columns:repeat(2,1fr)}.method-grid{padding:60px 0;grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}}@media(max-width:480px){.wrap,.narrow{width:min(100% - 28px,1120px)}.hero h1,.page-hero h1{font-size:43px}.lede{font-size:17px}.hero-actions{flex-wrap:wrap}.metrics strong{font-size:20px}.timeline{grid-template-columns:1fr}.timeline article,.timeline article:nth-child(3){border-right:0;padding-left:0;min-height:0}.data-card{padding:26px 20px}.bar-row{grid-template-columns:100px 1fr 32px}.report-stats article{padding:18px}.method-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin:5px 0}}
/* ===== BLOC SOUS-MENU OUTILS — sans JavaScript (hover + focus-within) ===== */
.nav-item{position:relative;display:inline-flex;align-items:center}
.has-sub>a::after{content:"";display:inline-block;width:5px;height:5px;margin-left:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.has-sub::after{content:"";position:absolute;top:100%;left:0;right:0;height:18px}
.sub-nav{position:absolute;top:calc(100% + 18px);left:-16px;z-index:30;min-width:296px;flex-direction:column;gap:1px;padding:8px;background:var(--surface);border:1px solid var(--line);box-shadow:0 18px 34px rgba(31,58,77,.14);display:none}
.has-sub:hover>.sub-nav,.has-sub:focus-within>.sub-nav{display:flex}
.sub-nav a{display:block;padding:9px 12px;font-size:13px;font-weight:700;line-height:1.25;white-space:nowrap;border-left:2px solid transparent}
.sub-nav a small{display:block;margin-top:2px;font-family:var(--font-body,var(--sans));font-size:11px;font-weight:400;color:var(--text-muted)}
.sub-nav a:hover,.sub-nav a:focus{background:var(--fill);color:var(--primary);border-left-color:var(--primary)}
.sub-nav a:hover small,.sub-nav a:focus small{color:var(--text-secondary)}
.sub-nav-all{margin-top:5px;border-top:1px solid var(--line);padding-top:11px!important;color:var(--primary)}
@media(max-width:800px){
.nav-item{display:block}
.has-sub::after{display:none}
.has-sub>a::after{transform:rotate(45deg) translateY(-2px)}
.sub-nav{position:static;display:flex;min-width:0;margin:9px 0 4px 2px;padding:2px 0 2px 14px;border:0;border-left:2px solid var(--line);box-shadow:none;background:transparent;gap:0}
.sub-nav a{white-space:normal;padding:7px 0;font-size:13px;border-left:0}
.sub-nav a small{display:none}
.sub-nav a:hover,.sub-nav a:focus{background:transparent}
.sub-nav-all{padding-top:8px!important}
}

/* ===== BLOC LARGEUR UNIFIÉE — toutes les pages à la largeur de la home ===== */
/*
 * Posé par 06a2-largeur-contenu. Les sélecteurs ci-dessous ont été RELEVÉS
 * dans les feuilles réellement chargées par le front, pas devinés : c'est la
 * correction du défaut d'origine, où une liste de classes supposées rendait
 * le bloc inerte sans que rien ne le signale.
 *
 * Largeur de référence relevée sur `.container` : la largeur de `.container`.
 *
 * `!important` est délibéré. Une contrainte peut être déclarée dans une
 * feuille chargée APRÈS celle-ci, ou plus bas dans ce même fichier par un
 * bloc appendu ultérieurement : à spécificité égale elle gagnerait, et le
 * bloc serait posé, validé, et sans effet.
 *
 * Les contrôles de formulaire, les images et les cartes sont épargnés.
 *
 * Ce qui suit la borne « relevé automatique : fin » est CONSERVÉ au rejeu :
 * c'est là que vivent les règles tranchées à la main. N'écris rien au-dessus.
 */

/* --- relevé automatique : début --- */
.lede{max-width:none!important}   /* styles.css : 610px */
.site-footer p{max-width:none!important}   /* styles.css : 360px */
.source-list{max-width:none!important}   /* styles.css : 820px */
.pilier-essentiel li{max-width:none!important}   /* styles.css : 74ch */
.pilier-perimetre{max-width:none!important}   /* styles.css : 74ch */
.hero-copy{max-width:none!important}   /* styles.css : 74ch */
.hero-banner .hero-copy{max-width:none!important}   /* styles.css : 62ch */
.hero-banner .lede{max-width:none!important}   /* styles.css : 60ch */

/* Grilles à deux colonnes relevées, NON collapsées d'office : une grille de
   cartes se collapserait à tort. À trancher au brief 06a2, puis à écrire
   SOUS la borne de fin ci-dessous. */
/*   .hero-grid { grid-template-columns: 1.05fr .95fr }  (styles.css) */
/*   .footer-grid { grid-template-columns: 1fr 1fr }  (styles.css) */
/* --- relevé automatique : fin --- */

/* Règles tranchées à la main, conservées au rejeu de 06a2. */
/* Règles tranchées à la main, conservées au rejeu de 06a2. */
/* --- tranchées 06a2 (grilles de texte uniquement) --- */
/* .split-heading : un h2 à gauche, le corps du texte à droite. Grille de TEXTE :
   elle bride le corps à 0.9fr, soit nettement moins que la largeur de la home. */
.split-heading{grid-template-columns:1fr!important;gap:26px!important}
/* .callout-inner : même patron, intitulé puis texte et bouton. Grille de TEXTE. */
.callout-inner{grid-template-columns:1fr!important;gap:26px!important}
/* NON collapsées, délibérément :
   .hero-grid   — composition texte + <figure class="hero-image"> : grille de mise en
                  page, pas de texte. La collapser empilerait le visuel sous le titre.
   .footer-grid — cinq colonnes de liens : grille de CARTES. De plus, le 1fr 1fr relevé
                  provient de la media query <=800px ; une règle inconditionnelle ici
                  la neutraliserait et casserait le footer mobile. */


/* Règles tranchées à la main, conservées au rejeu de 06a2. */
.content-narrow{max-width:none!important}
.content-narrow select,.content-narrow input[type=number],.content-narrow input[type=text]{max-width:520px}
.article-layout{width:min(1140px,calc(100% - 40px));margin-inline:auto}
.article-body{max-width:72ch}
.article-layout{width:min(100% - 28px,1140px)}

/* ===== ENVELOPPE + OUVERTURE NORMÉE (couches 1 et 2 du gabarit) ===== */
.author-card{display:flex;gap:18px;align-items:flex-start;margin:0 0 22px;padding:20px 22px;background:var(--fill);border-left:3px solid var(--primary)}
.author-card .author-avatar{flex:0 0 auto;line-height:0}
.author-card .author-img{object-fit:cover}
.author-footer .author-card .author-img{width:88px;height:88px;object-fit:cover;border-radius:var(--radius-round, 50%)}
.author-footer .author-card .author-monogram{width:88px;height:88px;font-size:30px}
.author-name{margin:0;font-family:var(--font-heading);font-size:16px;font-weight:700;line-height:1.3}
.author-name a{color:var(--text-strong)}
.author-name a:hover{color:var(--primary)}
.author-job{display:block;margin-top:3px;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:1.1px;color:var(--text-muted)}
.author-legit{margin:11px 0 0;font-size:14.5px;line-height:1.5;font-weight:600;color:var(--text-strong)}
.author-bio{margin:7px 0 0;font-size:13.5px;line-height:1.55;color:var(--text-secondary)}
.author-links{margin:10px 0 0;font-size:13px}
.author-links a{color:var(--primary);font-weight:700;border-bottom:1px solid currentColor}
.page-dates{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0 0 22px;font-size:12px;color:var(--text-muted)}
.page-dates time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-secondary)}
.method-note{margin:0 0 26px;padding:17px 19px;background:var(--callout-bg);border:1px solid var(--callout-border);border-left:3px solid var(--primary)}
.method-note-title{margin:0 0 6px;font-family:var(--font-heading);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--callout-text)}
.method-note p:last-child{margin:0;font-size:14px;line-height:1.6;color:var(--callout-text)}
.opening{margin:0 0 34px}
.opening .answer{margin:0;padding:22px 24px;background:var(--secondary);color:var(--white);font-family:var(--font-heading);font-size:clamp(17px,1.9vw,20px);line-height:1.45;letter-spacing:-.2px}
.essentials{margin:0;padding:20px 24px;background:var(--surface);border:1px solid var(--border);border-top:0}
.essentials-title{margin:0 0 10px;font-family:var(--font-heading);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted)}
.essentials ul{margin:0;padding:0;list-style:none}
.essentials li{position:relative;padding:7px 0 7px 22px;font-size:15px;line-height:1.5;color:var(--text)}
.essentials li::before{content:"";position:absolute;left:0;top:15px;width:8px;height:2px;background:var(--primary)}
.scope{margin:0;padding:14px 24px;background:var(--fill);border:1px solid var(--border);border-top:0;font-size:13.5px;line-height:1.55;color:var(--text-secondary)}
.scope span{font-family:var(--font-heading);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.1px;color:var(--text-muted);margin-right:6px}
.scope a{color:var(--secondary);font-weight:700;border-bottom:1px solid currentColor}
.scope a:hover{color:var(--primary)}
.update-log{margin:0;padding:20px 22px;border-top:2px solid var(--secondary);background:var(--fill)}
.update-log-title{margin:0 0 9px;font-family:var(--font-heading);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted)}
.update-log ul{margin:0;padding:0;list-style:none}
.update-log li{padding:6px 0;font-size:13.5px;line-height:1.5;color:var(--text-secondary);border-bottom:1px solid var(--border)}
.update-log li:last-child{border-bottom:0}
.update-log time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;color:var(--text-strong)}
@media(max-width:640px){.author-card{padding:16px}.opening .answer{padding:18px}.essentials,.scope{padding:16px 18px}}

/* Signature de tête — identité et dates sur une seule ligne. Le parcours de
   l'auteur n'est pas ici : il se lit en pied, via .author-footer. */
.author-byline{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin:0 0 26px;padding-bottom:14px;border-bottom:1px solid var(--border,#D3CEC1);font-size:13px;color:var(--text-secondary,#4A554D)}
.byline-author a{color:var(--secondary,#3A4A3F);font-weight:700;border-bottom:1px solid currentColor}
.byline-author a:hover{color:var(--primary,#A65E2E)}
.author-byline .page-dates{margin:0;gap:6px 18px}

/* Pied d'article — la carte auteur complète, détachée du corps du texte. */
.author-footer{margin:38px 0 22px;border-top:2px solid var(--secondary,#3A4A3F)}
.author-footer .author-card{margin:0}

/* Signature dans le hero d'article (blog) : le hero est un aplat sombre, la
   signature doit y passer en blanc. Sans cette règle, elle hérite des couleurs
   pensées pour un fond clair et devient illisible (contraste ~1,1:1). */
.guide-hero .author-byline,
.guide-hero .author-byline .page-dates,
.guide-hero .byline-author a,
.guide-hero .page-dates time{color:#FFFFFF}
.guide-hero .author-byline{border-bottom-color:rgba(255,255,255,.28)}

/* ===== SOURCES — liens sortants cités près de l'affirmation ===== */
.source-note a[rel~="nofollow"]{color:var(--secondary);font-weight:600;border-bottom:1px solid var(--text-faint)}
.source-note a[rel~="nofollow"]:hover{color:var(--primary);border-bottom-color:var(--primary)}
.tool-table a[rel~="nofollow"]{font-weight:600;text-decoration:none;border-bottom:1px solid var(--text-faint)}
.tool-table a[rel~="nofollow"]:hover{color:var(--primary);border-bottom-color:var(--primary)}
.source-list{list-style:none;margin:0;padding:0;max-width:820px}
.source-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.source-list li:last-child{border-bottom:0}
.source-list span{display:block;margin-top:2px;font-size:11px;color:var(--text-muted)}

/* piliers 06 */.pilier-ouverture{margin:0 0 40px}.pilier-essentiel{margin:0 0 22px;padding-left:20px}.pilier-essentiel li{margin:0 0 10px;font-size:15px;line-height:1.6;color:var(--text-secondary);max-width:74ch}.pilier-perimetre{font-size:14px;line-height:1.6;color:var(--text-muted);border-left:2px solid var(--border);padding-left:16px;max-width:74ch}.pilier-sommaire{background:var(--fill);padding:24px 28px}.pilier-sommaire ol{margin:0;padding-left:20px}.pilier-sommaire li{margin:0 0 8px;font-size:14px}.pilier-sommaire a{text-decoration:underline}.pilier-sommaire a:hover{color:var(--primary)}section[id]{scroll-margin-top:100px}
/* hero pleine section */.hero-grid{grid-template-columns:1fr!important;gap:38px!important}.hero-copy{max-width:74ch}.hero-image-full{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.hero-image-full img{width:100%;height:clamp(260px,38vw,480px);object-fit:cover;object-position:center}.hero-image-full figcaption{position:static;max-width:none;background:var(--secondary);color:var(--fill);padding:10px 0;text-align:center}.hero{padding-bottom:0;overflow-x:clip}@media(max-width:800px){.hero-image-full img{height:clamp(200px,52vw,320px)}}
/* hero texte sur image */.hero-banner{position:relative;isolation:isolate;padding:0!important;overflow:hidden;background:var(--secondary)}.hero-banner .hero-image-bg{position:absolute;inset:0;width:100%;max-width:none;height:100%;margin:0;z-index:0}.hero-banner .hero-image-bg img{width:100%;height:100%;object-fit:cover;object-position:center;filter:none}.hero-banner .hero-image-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(43,38,34,.90) 0%,rgba(43,38,34,.86) 46%,rgba(43,38,34,.45) 100%)}.hero-banner .hero-grid{position:relative;z-index:1;grid-template-columns:1fr!important;min-height:clamp(420px,44vw,560px);align-content:center;padding:72px 0 84px}.hero-banner .hero-copy{max-width:62ch}.hero-banner .eyebrow{color:var(--fill)}.hero-banner h1{color:var(--white)}.hero-banner h1 i{color:var(--text-faint)}.hero-banner .lede{color:var(--fill);max-width:60ch}.hero-banner .text-link{color:var(--white);text-decoration:underline;text-underline-offset:3px}.hero-banner .text-link:hover{color:var(--text-faint)}.hero-banner .hero-image-bg figcaption{position:absolute;left:0;right:0;bottom:0;background:none;color:var(--text-faint);font:400 11px var(--mono);letter-spacing:.06em;max-width:none;padding:0 0 14px;text-align:center;z-index:2}@media(max-width:800px){.hero-banner .hero-grid{min-height:clamp(360px,68vw,460px);padding:56px 0 64px}.hero-banner .hero-image-bg::after{background:linear-gradient(180deg,rgba(43,38,34,.86) 0%,rgba(43,38,34,.90) 100%)}.hero-banner .hero-image-bg figcaption{font-size:10px}}
/* ── Visuels du relevé (étape 07c) ──────────────────────────────────────────
   Registre documentaire : études d'objet et de matière posées sur papier.
   Les figures gardent leur ratio (pas de hauteur fixe héritée d'un cadre pensé
   pour une photo de bandeau), et la légende reste sous le cadre. */
.brand-logo{height:30px;width:auto;display:block}
.page-figure{margin:38px auto 0;max-width:1120px;padding:0 24px}
.page-figure img{width:100%;height:auto;display:block;border-radius:var(--radius,4px)}
.page-figure figcaption{margin-top:10px;font:11px var(--mono);letter-spacing:.04em;color:var(--muted)}
.section-figure{margin:0 0 26px}
.section-figure img{width:100%;height:auto;display:block;border-radius:var(--radius,4px)}
.section-figure figcaption{margin-top:9px;font:11px var(--mono);letter-spacing:.04em;color:var(--muted)}
.author-card .author-img{border:1px solid var(--line,#DED5C7)}
@media(max-width:760px){.brand-logo{height:25px}.page-figure{padding:0 18px;margin-top:26px}}
