/* DA 02b lecafedelapaix v1 */:root{--primary: #2F4B7C;--primary-hover: #243B63;--on-primary: #FFFFFF;--secondary: #1B1E1C;--secondary-hover: #2A2E2B;--bg: #F4F1EA;--surface: #FFFFFF;--text: #1B1E1C;--text-secondary: #4A4F4B;--text-strong: #0F110F;--text-muted: #6E736F;--text-faint: #C9C6BE;--fill: #EAE6DD;--border: #D8D4C9;--white: #FFFFFF;--callout-bg: #E8EDF5;--callout-text: #243B63;--callout-border: #B9C7DE;--ink: #1B1E1C;--blue: #2F4B7C;--sky: #B9C7DE;--cream: #EAE6DD;--paper: #F4F1EA;--line: #D8D4C9;--orange: #2F4B7C;--muted: #6E736F;--serif: 'Bitter',Georgia,serif;--sans: 'IBM Plex Sans',Arial,sans-serif;--mono: 'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;--shadow: 0 18px 45px rgba(27,30,28,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}a{text-decoration:none;color:inherit}.shell{width:min(1160px,calc(100% - 40px));margin:auto}.topline{background:var(--ink);color:#C9C6BE;font-size:.75rem;font-weight:600}.topline-inner{min-height:36px;display:flex;justify-content:space-between;align-items:center}.topline span{display:flex;gap:6px;align-items:center}.topline svg{width:13px}.nav-wrap{height:92px;display:flex;align-items:center;justify-content:space-between}.brand{font:700 1.15rem/0.9 var(--serif);display:flex;align-items:center;gap:10px;letter-spacing:-.04em}.brand em{color:var(--blue);font-style:normal}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--blue);color:#fff;border-radius:50%}.brand-mark svg{width:22px}.main-nav{display:flex;gap:27px;align-items:center;font-size:.88rem;font-weight:700}.main-nav>a:not(.nav-tool){transition:color .2s}.main-nav>a:not(.nav-tool):hover{color:var(--blue)}.nav-tool{background:#E8EDF5;color:var(--blue);padding:10px 14px;border-radius:7px;display:flex;align-items:center;gap:8px}.nav-tool svg{width:17px}.nav-toggle{display:none;border:0;background:transparent;color:var(--ink)}.hero{background:var(--cream);padding:72px 0 0;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:700;color:var(--blue);margin:0 0 15px}.hero .eyebrow{display:flex;align-items:center;gap:8px}.hero .eyebrow span{width:30px;height:2px;background:var(--orange)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);letter-spacing:-.045em;line-height:1.05}h1{font-size:clamp(3.2rem,5.6vw,5.5rem);margin-bottom:24px}h1 em,h2 em{font-style:normal;color:var(--blue)}.hero-lead{font-size:1.08rem;max-width:565px;color:#4A4F4B}.hero-actions{display:flex;align-items:center;gap:26px;margin:31px 0}.button{border:0;border-radius:6px;padding:14px 18px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 .86rem var(--sans);cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button svg{width:16px}.button-primary{background:var(--blue);color:#fff;box-shadow:0 8px 18px rgba(47,75,124,.22)}.button-dark{background:var(--ink);color:#fff}.text-link,.pill-link{font-weight:700;font-size:.87rem;display:flex;align-items:center;gap:8px}.text-link span{border-bottom:1px solid var(--ink)}.text-link svg,.pill-link svg{width:16px}.hero-proof{display:flex;gap:28px;padding-top:15px}.hero-proof>div{display:flex;gap:8px;align-items:center}.hero-proof b{font:700 1.6rem var(--serif);color:var(--orange)}.hero-proof span{font-size:.67rem;line-height:1.25;color:var(--muted);font-weight:600}.hero-visual{height:510px;position:relative;align-self:end}.hero-visual>img{width:100%;height:100%;object-fit:cover;display:block;border-radius:170px 170px 0 0}.paper-note{position:absolute;z-index:1;left:-40px;top:50px;background:#EAE6DD;padding:20px 25px;transform:rotate(-5deg);box-shadow:var(--shadow);font-family:var(--serif)}.paper-note span{display:block;color:var(--orange);font:700 .66rem var(--sans);text-transform:uppercase;letter-spacing:.1em}.paper-note strong{display:block;font-size:1.28rem;line-height:1.1;margin:6px 0}.paper-note small{font:600 .68rem var(--sans)}.price-stamp{position:absolute;z-index:2;right:-22px;bottom:35px;width:100px;height:100px;border-radius:50%;background:var(--blue);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(9deg);border:3px solid #B9C7DE}.price-stamp span,.price-stamp small{font-size:.56rem;text-transform:uppercase;letter-spacing:.07em}.price-stamp b{font:700 1.5rem var(--serif);line-height:1.2}.strip{background:var(--blue);color:#fff}.strip-inner{min-height:80px;display:flex;align-items:center;gap:44px}.strip p{font:600 .82rem var(--sans);margin:0;white-space:nowrap}.strip-inner>div{display:flex;justify-content:space-between;width:100%;gap:14px}.strip span{font-size:.76rem;font-weight:600;display:flex;gap:8px;align-items:center}.strip b{font:700 1.15rem var(--serif);color:var(--sky)}.section{padding:110px 0}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.section-head h2,.tool-copy h2,.decision-copy h2,.newsletter h2{font-size:clamp(2.3rem,4vw,3.6rem);margin:0}.section-intro{max-width:330px;color:var(--muted);font-size:.96rem;margin:0 0 5px}.featured-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:20px}.feature-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:transform .25s,box-shadow .25s}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.feature-card img{width:100%;height:210px;object-fit:cover;display:block}.main-card img{height:310px}.feature-content{padding:20px}.tag{font-size:.65rem;text-transform:uppercase;color:var(--blue);letter-spacing:.08em;font-weight:700;margin-bottom:10px}.feature-card h3{font-size:1.45rem;margin-bottom:10px}.main-card h3{font-size:1.8rem}.feature-card p:not(.tag){font-size:.87rem;color:var(--muted)}.card-bottom{border-top:1px solid var(--line);padding-top:15px;margin-top:15px;display:flex;justify-content:space-between;align-items:center}.card-bottom b{color:var(--orange);font-size:1.25rem}.card-bottom small{color:var(--muted);font:600 .65rem var(--sans)}.card-bottom a{display:grid;place-items:center;color:var(--blue);width:34px;height:34px;border-radius:50%;background:#E8EDF5}.card-bottom svg{width:18px}.pillars{background:#EAE6DD;padding:105px 0}.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #D8D4C9;border-radius:8px;overflow:hidden}.pillar{padding:27px 22px;background:#F4F1EA;border-right:1px solid #D8D4C9;min-height:280px;display:flex;flex-direction:column;transition:background .2s}.pillar:last-child{border:0}.pillar:hover{background:#fff}.pillar-num{color:#C9C6BE;font:700 1.45rem var(--serif)}.pillar>svg{color:var(--blue);margin:22px 0 18px;width:29px;height:29px}.pillar h3{font-size:1.25rem;margin-bottom:11px}.pillar p{font-size:.84rem;color:var(--muted);margin-bottom:18px}.pill-link{margin-top:auto;color:var(--blue);font-size:.78rem}.tool-section{background:var(--ink);color:#fff;padding:105px 0}.tool-layout{display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:100px}.tool-copy h2 em{color:var(--sky)}.tool-copy>p:not(.eyebrow){color:#C9C6BE;max-width:400px;font-size:1rem;margin:24px 0}.quote{border-left:2px solid var(--orange);padding-left:15px;color:#fff;font:1.05rem var(--serif);max-width:330px}.calculator-card{background:#fff;color:var(--ink);padding:31px;border-radius:10px;box-shadow:0 22px 0 rgba(0,0,0,.12)}.calc-title,.table-title{display:flex;align-items:center;gap:13px}.calc-icon{display:grid;place-items:center;width:43px;height:43px;background:#E8EDF5;color:var(--blue);border-radius:8px}.calc-icon svg{width:22px}.calc-title h3,.table-title h3{font-size:1.25rem;margin:0}.calc-title p{font-size:.72rem;color:var(--muted);margin:2px 0}.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:26px 0}.calc-fields label:first-child{grid-column:1/-1}label{font-size:.72rem;font-weight:700;color:#4A4F4B}input,select{display:block;width:100%;margin-top:5px;border:1px solid #D8D4C9;border-radius:5px;padding:11px 12px;font:600 .95rem var(--sans);color:var(--ink);background:#fff}input:focus,select:focus{outline:2px solid var(--sky);border-color:var(--blue)}.calc-result{background:var(--cream);border-radius:7px;padding:18px;text-align:center}.calc-result span,.calc-result small{display:block;color:var(--muted);font-size:.7rem;font-weight:600}.calc-result strong{font:700 2.55rem var(--serif);color:var(--orange);line-height:1.1;display:block;margin:3px}.decision-section{padding:110px 0;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.decision-copy>p:not(.eyebrow){color:var(--muted);max-width:470px;margin:20px 0}.converter{border:1px solid var(--line);border-radius:9px;padding:20px;max-width:470px}.select-row{display:grid;grid-template-columns:1fr 100px;gap:12px}.quantity-output{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.quantity-output p{font-size:.8rem;margin-bottom:7px}.quantity-output ul{list-style:none;padding:0;margin:0}.quantity-output li{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line);padding:8px 0;font-size:.8rem}.quantity-output li strong{color:var(--blue)}.quantity-output li small{font-size:.65rem;color:var(--muted)}.cut-table{border:1px solid var(--line);border-radius:10px;padding:28px;background:#fff;box-shadow:var(--shadow)}.table-title{margin-bottom:21px}.table-title .eyebrow{font-size:.58rem;margin:0 0 2px}.cut-row{display:grid;grid-template-columns:1.05fr 1.25fr .35fr;gap:8px;padding:13px 8px;border-bottom:1px solid var(--line);font-size:.76rem;align-items:center}.cut-head{padding-top:0;text-transform:uppercase;font-size:.59rem;letter-spacing:.08em;color:var(--muted);font-weight:700}.cut-row strong{font-size:.82rem}.cut-row b{color:var(--orange)}.recommended{background:#E8EDF5;margin:0 -8px;padding-left:16px;padding-right:16px;border-radius:4px}.recommended em{display:block;color:var(--blue);font:700 .57rem var(--sans);text-transform:uppercase;letter-spacing:.04em}.table-note{font-size:.7rem;color:var(--muted);display:flex;gap:7px;margin:17px 0 0}.table-note svg{min-width:15px;width:15px;color:var(--blue)}.newsletter{background:var(--orange);color:#fff;padding:68px 0}.newsletter .eyebrow{color:#E8EDF5}.newsletter-inner{display:grid;grid-template-columns:1.05fr .7fr 1fr;gap:50px;align-items:center}.newsletter h2{font-size:2.45rem}.newsletter p:not(.eyebrow){font-size:.87rem;margin:0}.newsletter form{display:flex;gap:7px;flex-wrap:wrap}.newsletter input{flex:1;min-width:175px;border:none;margin:0}.site-footer{background:#1B1E1C;color:#C9C6BE;padding:55px 0 18px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}.footer-brand{color:#fff}.footer-brand .brand-mark{background:var(--orange)}.footer-grid p{max-width:280px;font-size:.82rem;color:#C9C6BE;margin:15px 0}.footer-grid h3{font:700 .78rem var(--sans);text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:14px}.footer-grid>div:not(:first-child) a{display:block;color:#C9C6BE;font-size:.78rem;margin:8px 0}.footer-grid>div:not(:first-child) a:hover{color:#fff}.footer-bottom{border-top:1px solid #2A2E2B;margin-top:35px;padding-top:17px;display:flex;justify-content:space-between;font-size:.68rem;color:#C9C6BE}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal-on-scroll.revealed{opacity:1;transform:none}.error-page{min-height:55vh;padding:100px 0}.error-page>p:not(.eyebrow){color:var(--muted);margin-bottom:25px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:850px){.main-nav{position:absolute;display:none;top:92px;left:0;right:0;z-index:5;background:#fff;padding:20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:15px}.main-nav.open{display:flex}.nav-tool{justify-content:center}.nav-toggle{display:block}.hero{padding-top:50px}.hero-grid,.tool-layout,.decision-section{grid-template-columns:1fr;gap:45px}.hero-visual{height:400px;margin-left:36px}.featured-grid{grid-template-columns:1fr 1fr}.main-card{grid-column:1/-1}.pillar-grid{grid-template-columns:1fr 1fr}.pillar:nth-child(2){border-right:0}.pillar:nth-child(-n+2){border-bottom:1px solid #D8D4C9}.newsletter-inner{grid-template-columns:1fr 1fr}.newsletter form{grid-column:1/-1}.tool-layout{gap:45px}.decision-section{gap:40px}.decision-copy{order:1}.cut-table{order:2}}@media(max-width:560px){.shell{width:min(100% - 28px,1160px)}.topline-inner span:last-child{display:none}.nav-wrap{height:74px}.main-nav{top:74px}.hero{padding-top:38px}.hero-grid{gap:28px}.hero-lead{font-size:.98rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-proof{gap:15px}.hero-proof b{font-size:1.3rem}.hero-visual{height:330px;margin-left:20px}.paper-note{left:-15px;top:25px;padding:14px}.price-stamp{right:-11px;width:85px;height:85px}.strip{padding:18px 0}.strip-inner{display:block}.strip p{margin-bottom:10px}.strip-inner>div{display:grid;grid-template-columns:1fr 1fr}.strip span{font-size:.65rem}.section,.pillars,.tool-section,.decision-section{padding:67px 0}.section-head{display:block;margin-bottom:28px}.section-intro{margin-top:14px}.featured-grid{grid-template-columns:1fr}.main-card{grid-column:auto}.main-card img,.feature-card img{height:220px}.pillar-grid{grid-template-columns:1fr}.pillar{min-height:0;border-right:0;border-bottom:1px solid #D8D4C9}.pillar:nth-child(2){border-bottom:1px solid #D8D4C9}.pillar:last-child{border-bottom:0}.pillar>svg{margin:13px 0}.tool-layout{gap:35px}.calculator-card{padding:20px}.calc-fields{grid-template-columns:1fr}.calc-fields label:first-child{grid-column:auto}.decision-section{display:flex;flex-direction:column}.select-row{grid-template-columns:1fr 86px}.cut-table{padding:20px;width:100%}.newsletter{padding:55px 0}.newsletter-inner,.footer-grid{grid-template-columns:1fr;gap:26px}.newsletter h2{font-size:2.15rem}.footer-bottom{gap:8px;flex-direction:column}.footer-grid p{margin-bottom: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(--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: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}

/* ===== 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: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)}


/* ===== BLOC MARQUE + VISUELS ÉDITORIAUX (front ET thème du blog) ===== */
/* La règle .brand-mark d'origine dessine un disque coloré de 42 px : elle doit être
   neutralisée quand la marque porte le wordmark. Sélecteur à 3 classes pour passer
   devant .footer-brand .brand-mark, de même spécificité. */
.brand.brand-logo{gap:0}
.brand.brand-logo .brand-mark{display:block;width:auto;height:auto;background:none;border-radius:0;place-items:initial}
.brand.brand-logo{flex:0 0 auto}
.brand.brand-logo .brand-mark img{display:block;width:auto;height:48px;max-width:100%}
.site-footer .brand.brand-logo .brand-mark img{height:40px}
/* Portrait de l'auteur, bloc de pied de page. */
.author-card{display:flex;gap:20px;align-items:flex-start}
.author-portrait{flex:0 0 96px;width:96px;height:96px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}
/* Visuels éditoriaux : figure pleine largeur + légende datée. */
.page-visual{margin:32px 0;padding:0}
.page-visual img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--border)}
.page-visual figcaption{margin-top:10px;font-size:.78rem;line-height:1.45;color:var(--text-muted)}
.page-visual-hero{margin:8px 0 34px}
/* Entre 851 et 1100 px la nav est dense : on resserre les gouttières plutôt que
   de rapetisser la marque. */
@media(max-width:1200px){.main-nav{gap:20px}}
@media(max-width:850px){.brand.brand-logo .brand-mark img{height:32px}}
@media(max-width:560px){
.brand.brand-logo .brand-mark img{height:26px}
.site-footer .brand.brand-logo .brand-mark img{height:32px}
.author-card{gap:14px}.author-portrait{flex-basis:72px;width:72px;height:72px}
}


/* ===== CARTES RECETTES — surface cliquable ==========================
   Le lien ne couvrait que la flèche de bas de carte : le titre et l'image
   ne menaient nulle part, alors que la carte entière se lit comme un lien.
   On étend la zone de clic au bloc, sans dupliquer le lien dans le DOM. */
.feature-card{position:relative}
.feature-card .card-bottom a::after{content:"";position:absolute;inset:0;z-index:1}
.feature-card .card-bottom a:focus-visible::after{outline:2px solid var(--primary);outline-offset:3px;border-radius:10px}
.feature-card h3{transition:color .2s}
.feature-card:hover h3{color:var(--primary)}
