:root{--primary: #7B1E3A;--primary-hover: #591128;--on-primary: #FFFFFF;--secondary: #E5B96A;--secondary-hover: #D3A34F;--bg: #FBF8F1;--surface: #FFFFFF;--text: #241A1C;--text-secondary: #4B4040;--text-strong: #1A1214;--text-muted: #746A68;--text-faint: #DED4C5;--fill: #F2EADB;--border: #DED4C5;--white: #FFFFFF;--callout-bg: #F2EADB;--callout-text: #241A1C;--callout-border: #E5B96A;--font-heading: 'Playfair Display',Georgia,serif;--font-body: 'DM Sans',Arial,sans-serif;--wine:var(--primary);--ink:var(--text);--paper:var(--bg);--cream:var(--fill);--gold:var(--secondary);--muted:var(--text-muted);--line:var(--border);--radius:18px;--serif:var(--font-heading);--sans:var(--font-body)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}a{color:inherit;text-decoration:none}.site-header{background:rgba(251,248,241,.94);backdrop-filter:blur(8px);border-bottom:1px solid rgba(123,30,58,.1);position:sticky;top:0;z-index:10}.nav-wrap{max-width:1220px;margin:auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font:20px/1 var(--serif)}.brand b{font-weight:800}.brand em{display:block;font:10px/1.5 var(--sans);color:var(--muted);font-style:normal;letter-spacing:.12em;text-transform:uppercase;margin-top:3px}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--wine);color:var(--gold);font:24px var(--serif)}.main-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.main-nav a:not(.nav-cta):hover{color:var(--wine)}.nav-cta,.button{background:var(--wine);color:#fff;padding:10px 16px;border-radius:100px;transition:.25s}.nav-cta:hover,.button:hover{background:var(--primary-hover);transform:translateY(-1px)}.menu-toggle{display:none;background:none;border:0;color:var(--wine)}.hero{max-width:1220px;margin:auto;padding:64px 24px 30px;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--wine);font-weight:700;display:flex;gap:8px;align-items:center}.eyebrow:before{content:'';display:inline-block;width:24px;height:1px;background:var(--wine)}h1,h2,h3{font-family:var(--serif);line-height:1.1;margin:0}h1{font-size:clamp(42px,5.6vw,76px);letter-spacing:-.045em;margin:15px 0 24px}h1 em{color:var(--wine);font-style:normal}.hero-copy{font-size:18px;max-width:560px;color:var(--text-secondary)}.hero-actions{display:flex;gap:14px;align-items:center;margin-top:30px}.text-link{font-weight:700;color:var(--wine);padding:10px}.hero-image{position:relative;min-height:475px}.hero-image img{width:100%;height:475px;object-fit:cover;border-radius:180px 180px 12px 12px;display:block;filter:saturate(.78)}.price-stamp{position:absolute;left:-38px;bottom:35px;background:var(--gold);border-radius:50%;height:142px;width:142px;display:grid;place-content:center;text-align:center;transform:rotate(-9deg);box-shadow:0 10px 22px #0002}.price-stamp strong{font:33px var(--serif);display:block}.price-stamp span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.trustbar{margin:34px auto 0;max-width:1172px;border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.trustbar div{padding:20px 28px;font-size:14px;border-right:1px solid var(--line)}.trustbar div:last-child{border:0}.trustbar b{color:var(--wine);display:block;font-size:17px}.section{max-width:1220px;margin:auto;padding:100px 24px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section h2{font-size:clamp(32px,4vw,52px);letter-spacing:-.035em;max-width:660px}.section-intro{max-width:410px;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}.grape-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.grape-card:hover{transform:translateY(-5px);border-color:var(--wine);box-shadow:0 13px 30px #3c19200d}.grape-card.featured{background:var(--wine);color:#fff}.grape-card .origin{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:700}.grape-card h3{font-size:34px;margin-top:12px}.grape-card p{font-size:14px;color:var(--muted);margin:12px 0}.grape-card.featured p{color:#f8e9e8}.grape-card .data{border-top:1px solid currentColor;padding-top:15px;display:flex;justify-content:space-between;font-size:13px;font-weight:700}.method-band{background:var(--cream)}.method-layout{max-width:1220px;margin:auto;padding:85px 24px;display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.method-layout h2{font-size:48px}.steps{border-top:1px solid #cdbfac}.step{display:grid;grid-template-columns:65px 1fr;gap:15px;padding:23px 0;border-bottom:1px solid #cdbfac}.step-num{font:28px var(--serif);color:var(--wine)}.step h3{font:21px var(--serif)}.step p{margin:4px 0 0;color:var(--muted);font-size:14px}.callout{border-left:4px solid var(--gold);padding:24px 28px;background:#fff;max-width:870px;margin:0 auto;font:24px/1.35 var(--serif)}.callout span{display:block;font:12px var(--sans);color:var(--muted);margin-top:10px}.cta-section{text-align:center;padding:95px 24px}.cta-section h2{font-size:50px;max-width:650px;margin:auto}.cta-section p{color:var(--muted);max-width:530px;margin:16px auto 26px}.button{display:inline-block;font-weight:700}.site-footer{background:#281a1e;color:#f8f0e9;padding:60px 24px 22px}.footer-grid,.footer-bottom{max-width:1172px;margin:auto}.footer-grid{display:grid;grid-template-columns:1.5fr .85fr .85fr .85fr 1.05fr;gap:32px}.footer-grid p{font-size:14px;color:#d5c3c2;max-width:340px}.footer-grid a:not(.brand){display:block;color:#f8f0e9;font-size:14px;margin:6px 0}.footer-label{color:var(--gold)!important;text-transform:uppercase;letter-spacing:.11em;font-size:11px!important;font-weight:700}.footer-bottom{border-top:1px solid #ffffff25;margin-top:45px;padding-top:18px;display:flex;justify-content:space-between;color:#c6b7b7;font-size:12px}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal-on-scroll.revealed{opacity:1;transform:none}.page-hero{max-width:1000px;margin:auto;padding:80px 24px 45px}.page-hero h1{font-size:clamp(44px,6vw,70px);max-width:850px}.page-hero p{font-size:18px;max-width:700px;color:var(--muted)}.catalogue{max-width:1172px;margin:0 auto 90px;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.finder{background:var(--wine);color:#fff;max-width:1172px;margin:25px auto 0;padding:35px;border-radius:var(--radius);display:flex;gap:30px;justify-content:space-between;align-items:center}.finder h2{font-size:28px}.finder p{margin:4px 0;color:#f2dadd}.finder input{border:0;border-radius:8px;padding:15px;width:310px;font:15px var(--sans)}.detail-card{max-width:1172px;margin:0 auto 80px;padding:35px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);display:grid;grid-template-columns:1fr 1fr;gap:50px}.detail-card h2{font-size:37px}.detail-card p{color:var(--muted)}.detail-card ul{padding-left:18px;color:var(--muted)}.compact-section{padding-top:40px;padding-bottom:80px}.editorial-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;border-top:1px solid var(--line)}.editorial-aside h2{margin-top:14px}.editorial-copy{font-size:17px;color:var(--text-secondary)}.editorial-copy p:first-child{margin-top:0}.editorial-copy strong{color:var(--wine)}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.guide-grid article{padding:26px 0;border-top:2px solid var(--gold)}.guide-grid span{color:var(--wine);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.guide-grid h3{font-size:25px;margin-top:12px}.guide-grid p{font-size:15px;color:var(--muted);margin-bottom:0}.faq-section{max-width:900px;margin:20px auto 95px;padding:0 24px}.faq-section h2{font-size:clamp(33px,4vw,48px);margin:14px 0 26px}.faq-section details{border-top:1px solid var(--line);padding:18px 0}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary{cursor:pointer;font:600 19px/1.35 var(--serif);list-style:none;padding-right:34px;position:relative}.faq-section summary::-webkit-details-marker{display:none}.faq-section summary:after{content:'+';position:absolute;right:3px;top:-4px;color:var(--wine);font:30px var(--sans);font-weight:400}.faq-section details[open] summary:after{content:'−'}.faq-section details p{color:var(--muted);max-width:760px;margin:14px 0 2px}@media(max-width:760px){.nav-wrap{padding:12px 18px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:62px;left:0;right:0;background:var(--paper);padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.hero{padding:46px 20px 16px;display:block}.hero-image{min-height:365px;margin-top:35px}.hero-image img{height:365px}.price-stamp{left:-5px;bottom:20px;width:118px;height:118px}.price-stamp strong{font-size:28px}.trustbar{margin:25px 20px 0;grid-template-columns:1fr}.trustbar div{border-right:0;border-bottom:1px solid var(--line);padding:14px}.trustbar div:last-child{border-bottom:0}.section{padding:70px 20px}.section-head,.method-layout{display:block}.section-intro{margin-top:16px}.feature-grid,.catalogue,.guide-grid{grid-template-columns:1fr}.grape-card{min-height:230px}.method-layout{padding:65px 20px}.method-layout h2{font-size:38px;margin-bottom:28px}.footer-grid{grid-template-columns:1fr;gap:20px}.footer-bottom{display:block}.footer-bottom span{display:block;margin:5px 0}.finder{margin:15px 20px;padding:25px;display:block}.finder input{width:100%;margin-top:14px}.detail-card{margin:0 20px 60px;padding:24px;display:block}.editorial-grid{display:block}.editorial-copy{margin-top:28px}.compact-section{padding-top:20px;padding-bottom:55px}.faq-section{margin-bottom:65px;padding:0 20px}.faq-section summary{font-size:18px}}/* CAV-OUTILS-05 — blocs partages des outils (formulaires sans JS, tableaux de releve) */
.breadcrumb{max-width:1220px;margin:auto;padding:18px 24px 0;font-size:13px;color:var(--text-muted)}
.breadcrumb a{color:var(--primary);font-weight:600}
.breadcrumb span{margin:0 6px;color:var(--text-faint)}
.cav-form{max-width:1172px;margin:0 auto 34px;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.cav-form-grid{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:18px;align-items:end}
.cav-form label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}
.cav-form input,.cav-form select{width:100%;max-width:420px;border:1px solid var(--border);border-radius:8px;padding:13px;font:15px var(--sans);background:var(--bg);color:var(--text)}
.cav-form button{margin-top:14px;border:0;cursor:pointer;font:700 15px var(--sans)}
.cav-form-grid button{margin-top:0}
.cav-resultat{max-width:1172px;margin:0 auto 40px;padding:0 24px}
.cav-resultat h2{font-size:clamp(26px,3vw,38px);margin-bottom:18px}
.cav-resultat h3{font-size:24px;margin:30px 0 14px}
.cav-vide-bloc{padding:28px;background:var(--fill);border-left:4px solid var(--secondary);border-radius:var(--radius);max-width:1124px}
.cav-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cav-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px;font-variant-numeric:tabular-nums}
.cav-table caption{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-weight:700;padding-bottom:10px}
.cav-table th,.cav-table td{border:1px solid var(--border);padding:11px 14px;text-align:left;vertical-align:top}
.cav-table thead th{background:var(--primary);color:var(--on-primary);font-weight:700}
.cav-table tbody th{background:var(--fill);font-weight:700;white-space:nowrap}
.cav-vide{color:var(--text-muted);font-style:italic}
.cav-note{max-width:1124px;margin:16px auto;font-size:14px;color:var(--text-secondary);border-left:3px solid var(--secondary);padding:12px 18px;background:var(--fill)}
@media(max-width:760px){.cav-form-grid{grid-template-columns:1fr}.cav-form{margin:0 20px 26px;padding:22px}.cav-resultat{padding:0 20px}}

/* ===== 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);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:850px){
.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 05c-outils-opti, une fois les pages d'outils en place.
 *
 * Le builder du front réserve `.container` (largeur de la home) aux pages
 * d'accueil et de service, et applique une colonne étroite aux pages de contenu
 * via `.guide-narrow` / `.article-narrow` / `.content-narrow` selon le builder.
 * Résultat : outils, piliers et pages éditoriales sont plus étroits que la home,
 * ce qui se voit immédiatement en passant de l'une à l'autre — et prive les
 * tableaux et les simulateurs de la largeur dont ils ont besoin.
 *
 * `!important` est ici délibéré, pas une facilité. Ce bloc est appendu à
 * `styles.css`, mais la contrainte de largeur est souvent déclarée dans une
 * feuille chargée APRÈS (`article.css` sur le builder Otomatic). À spécificité
 * égale, la dernière feuille gagne : sans `!important`, le bloc serait posé,
 * validé, et pourtant sans effet — un échec indiscernable d'un succès.
 *
 * Les CONTRÔLES de formulaire, eux, restent plafonnés : un `select` ou un
 * `input` étiré sur toute la largeur de la page n'est pas une préférence de
 * style, c'est une régression d'usage.
 */
.guide-narrow,
.article-narrow,
.content-narrow{max-width:none!important}

.guide-narrow select,.guide-narrow input[type=number],.guide-narrow input[type=text],
.article-narrow select,.article-narrow input[type=number],.article-narrow input[type=text],
.content-narrow select,.content-narrow input[type=number],.content-narrow input[type=text]{max-width:520px}

/*
 * Conteneurs posés par l'orchestrateur lui-même (pages légales, plan du site)
 * et par les blocs d'enrichissement des builders : `.wrap`, `.article-layout`,
 * `.narrow-content`. Sur les fronts qui ne les stylent pas — le cas de tout
 * builder non melodine — ces pages s'affichaient bord à bord, sans gouttière,
 * donc PLUS larges que la home : l'inverse exact du défaut corrigé au-dessus,
 * et invisible tant qu'on ne regarde que les pages d'outils.
 *
 * Les règles ci-dessous ne mordent que si la feuille du front ne définit pas
 * déjà ces classes, puisqu'elles sont posées en fin de feuille sans `!important`
 * et à spécificité minimale.
 */
.wrap,
.narrow-content,
.article-layout{width:min(1140px,calc(100% - 40px));margin-inline:auto}
.article-body{max-width:72ch}

@media(max-width:650px){
.wrap,
.narrow-content,
.article-layout{width:min(100% - 28px,1140px)}
}

/* Ancre de resultat : cible focusable sous le header sticky. Le smooth scroll global
   est neutralise pour ce chargement, sinon la page peint en haut puis descend en
   animation, ce qui se lit comme le defaut que l ancre corrige. */
#resultat{display:block;height:0;scroll-margin-top:96px}
html:has(#resultat[autofocus]){scroll-behavior:auto}

/* CAV-PILIERS-06 — ouverture normee et blocs des pages pilier */
.pil-reponse{max-width:1124px;margin:0 auto 26px;font:20px/1.55 var(--font-heading);color:var(--text)}
.pil-essentiel{max-width:1124px;margin:0 auto 22px;padding-left:20px}
.pil-essentiel li{margin:9px 0;color:var(--text-secondary);font-size:16px}
.pil-perimetre{max-width:1124px;margin:0 auto;padding:14px 18px;background:var(--fill);border-left:3px solid var(--secondary);font-size:15px;color:var(--text-secondary)}
.pil-methode{max-width:1124px;margin:auto;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.pil-methode h2{font-size:28px;margin-bottom:14px}
.pil-methode p{font-size:15px;color:var(--text-secondary);margin:10px 0}
.pil-methode a{color:var(--primary);font-weight:600;text-decoration:underline}
.pil-suite{max-width:1124px;margin:0 auto 22px;padding-left:20px}
.pil-suite li{margin:8px 0;font-weight:600;color:var(--text)}
.pil-cta{max-width:1124px;margin:auto;padding:32px;background:var(--fill);border-radius:var(--radius);text-align:center}
.pil-cta h2{font-size:30px;margin-bottom:10px}
.pil-cta p{color:var(--text-secondary);max-width:620px;margin:0 auto 18px}

/* ===== 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(--primary,#7B1E3A);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(--primary);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)}

/* ===== CAV-LARGEUR-UNIFIEE — toutes les pages sur la largeur de contenu de la home =====
   Reference : .section = boite 1220px + gouttiere 24px => bord de contenu a 1172px.
   Deux familles. Les blocs NUS (texte pose sur le fond) reprennent boite 1220 + gouttiere 24,
   donc leurs bords tombent exactement sur ceux de la home. Les blocs CARTE (fond, bordure,
   padding propre) sont cales a 1172, si bien que leur bord exterieur coincide avec le bord
   de contenu de la home. Les blocs d enveloppe 06a n avaient AUCUN conteneur : ils
   s etalaient bord a bord, ce que ce bloc corrige. ===== */
.page-hero,.faq-section,.catalogue,.cav-resultat,
.author-byline,.opening,.update-log,
.pil-reponse,.pil-essentiel,.pil-perimetre,.pil-suite{
  max-width:1220px;margin-left:auto;margin-right:auto;
  padding-left:24px;padding-right:24px;box-sizing:border-box}
.method-note,.author-footer,.cav-form,.cav-note,.cav-vide-bloc,.pil-methode,.pil-cta{
  max-width:1172px;margin-left:auto;margin-right:auto;box-sizing:border-box}
.page-hero h1{max-width:none}
.page-hero p{max-width:820px}
.answer,.scope,.essentials li,.pil-reponse,.pil-perimetre{max-width:75ch}
.pil-essentiel li,.pil-suite li{max-width:75ch}
.method-note p,.pil-methode p,.author-bio,.author-legit{max-width:80ch}
@media(max-width:760px){
.page-hero,.faq-section,.catalogue,.cav-resultat,
.author-byline,.opening,.update-log,
.pil-reponse,.pil-essentiel,.pil-perimetre,.pil-suite{padding-left:20px;padding-right:20px}
.method-note,.author-footer,.cav-form,.cav-note,.cav-vide-bloc,.pil-methode,.pil-cta{
  margin-left:20px;margin-right:20px}
}

/* CAV-IMAGES-07c — visuels des pages pilier et lockup de marque */
.pil-figure{margin:0 0 30px}
.pil-figure img{display:block;width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line)}
.pil-figure-hero{max-width:1000px;margin:0 auto 34px;padding:0 24px}
.editorial-copy .pil-figure{margin:30px 0}
.brand-logo{display:block;height:34px;width:auto}
.brand-domain{font:10px/1.5 var(--sans);color:var(--muted);font-style:normal;letter-spacing:.12em;text-transform:uppercase;padding-left:10px;border-left:1px solid var(--line)}
.brand-seed{display:block;width:35px;height:35px;object-fit:contain}
.footer-brand .brand-seed{filter:none}
.author-footer .author-card .author-img{border-radius:6px}
@media(max-width:760px){.brand-logo{height:29px}.brand-domain{display:none}.pil-figure-hero{padding:0 20px}}
