:root {
    --paper: #F4F0E7;
    --ink: #25231F;
    --forest: #28513C;
    --wood: #704A36;
    --rule: rgba(37,35,31,.20);
    --serif: "Merriweather", Georgia, serif;
    --sans: "Inter", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { background: var(--paper); color: var(--ink); }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--serif); }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--forest); }
.site-shell { width: min(1120px, calc(100% - 48px)); margin: 0 auto; }
.site-header { display:flex; justify-content:space-between; gap:40px; align-items:flex-start; padding:34px 0 24px; border-bottom:1px solid var(--rule); }
.brand { font-family: var(--serif); color:var(--forest); font-size:clamp(2.7rem,5.2vw,4.7rem); line-height:.95; letter-spacing:-.045em; }
.tagline { margin-top:10px; color:var(--forest); font-style:italic; font-size:clamp(.98rem,1.6vw,1.25rem); }
.main-nav { padding-top:14px; }
.main-nav ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:28px; }
.main-nav a { font-family:var(--sans); color:var(--forest); font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; }
.hero { padding:40px 0 44px; border-bottom:1px solid var(--rule); }
.hero h1 { margin:0 0 18px; max-width:820px; font-size:clamp(2.4rem,4.8vw,4.15rem); line-height:1.08; font-weight:400; letter-spacing:-.035em; }
.hero-copy { max-width:640px; font-size:clamp(1.02rem,1.55vw,1.22rem); line-height:1.52; }
.hero-copy p { margin:0 0 18px; }
.hero-copy p:last-child { margin-bottom:0; }
.section-label,.eyebrow { font-family:var(--sans); color:var(--forest); font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; font-weight:600; }
.latest,.explore-block,.submit-cta,.archive-wrap { padding:30px 0 50px; border-bottom:1px solid var(--rule); }
.post-list { margin-top:12px; }
.post-row { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:40px; align-items:end; padding:24px 0; border-bottom:1px solid var(--rule); }
.post-row:last-child { border-bottom:0; }
.post-row h2 { margin:6px 0 0; max-width:740px; font-size:clamp(1.65rem,3.1vw,2.65rem); line-height:1.16; font-weight:400; letter-spacing:-.025em; }
.post-meta { font-size:.98rem; line-height:1.45; }
.post-meta .author-name { color:var(--wood); }
.post-meta time { color:rgba(37,35,31,.62); font-size:.92rem; }
.all-posts-link { display:inline-flex; align-items:center; justify-content:center; margin-top:22px; min-height:44px; padding:12px 18px; background:var(--forest); color:var(--paper); border:1px solid var(--forest); font-family:var(--sans); font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; transition:background .15s ease,color .15s ease; }
.all-posts-link:hover { background:transparent; color:var(--forest); }
.explore-grid { margin-top:20px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px 32px; max-width:800px; }
.explore-grid a { font-size:1.28rem; }
.submit-cta .cta-title { display:inline-block; margin-top:14px; font-size:clamp(1.9rem,4.2vw,3.4rem); color:var(--forest); }
.site-footer { display:grid; grid-template-columns:1fr auto; gap:48px; padding:34px 0 48px; }
.footer-statement { margin:0 0 20px; line-height:1.5; }
.footer-nav { display:flex; flex-wrap:wrap; gap:18px; }
.footer-nav a { font-family:var(--sans); font-size:.74rem; letter-spacing:.04em; }
.footer-brand { min-width:240px; color:var(--forest); }
.brand-small { font-size:1.15rem; font-weight:700; }
.article-wrap,.page-wrap { max-width:840px; margin:0 auto; padding:56px 0 72px; }
.article-header,.page-header { margin-bottom:36px; }
.article-header h1,.page-header h1,.archive-header h1 { margin:10px 0 16px; font-size:clamp(2.5rem,5.4vw,4.7rem); line-height:1.1; font-weight:400; letter-spacing:-.035em; }
.article-meta { display:flex; flex-wrap:wrap; gap:18px; font-family:var(--sans); font-size:.9rem; }
.article-meta .author-name { color:var(--wood); }
.article-meta time { color:rgba(37,35,31,.64); }
.gh-content { font-size:clamp(1.08rem,1.8vw,1.28rem); line-height:1.82; }
.gh-content > * { max-width:740px; margin-left:auto; margin-right:auto; }
.gh-content h2,.gh-content h3 { line-height:1.3; margin-top:2.2em; }
.gh-content blockquote { border-left:2px solid var(--forest); padding-left:24px; font-style:italic; }
.gh-content img { max-width:100%; height:auto; }
.article-note { margin-top:52px; padding-top:18px; border-top:1px solid var(--rule); font-size:.94rem; line-height:1.6; }
.article-tags { margin-top:22px; display:flex; flex-wrap:wrap; gap:12px; }
.article-tags a { font-family:var(--sans); font-size:.78rem; color:var(--forest); text-transform:uppercase; letter-spacing:.04em; }
.archive-header { margin-bottom:18px; }
.pagination { margin-top:28px; font-family:var(--sans); }
@media (max-width: 760px) {
    .site-shell { width:min(100% - 28px,1120px); }
    .site-header { display:block; padding-top:24px; }
    .main-nav { padding-top:22px; }
    .main-nav ul { gap:12px 20px; }
    .hero { padding:34px 0 38px; }
    .hero h1 { font-size:clamp(2.2rem,11vw,3.3rem); }
    .post-row { grid-template-columns:1fr; gap:12px; align-items:start; }
    .post-row h2 { font-size:clamp(1.7rem,8vw,2.35rem); }
    .explore-grid { grid-template-columns:1fr 1fr; }
    .site-footer { grid-template-columns:1fr; }
    .footer-brand { min-width:0; }
    .article-wrap,.page-wrap { padding:42px 0 56px; }
}

/* Ghost Koenig editor width helpers */
.gh-content .kg-width-wide {
    width: min(1100px, 100vw - 48px);
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}
.gh-content .kg-width-full {
    width: 100vw;
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}

/* BLOG-LA v0.4 — publication model */
.article-classification { display:flex; flex-wrap:wrap; gap:8px 16px; font-family:var(--sans); color:var(--forest); font-size:.78rem; line-height:1.4; letter-spacing:.07em; font-weight:600; }
.article-classification span + span::before { content:"·"; margin-right:16px; color:var(--wood); }
.article-themes { margin-top:28px; }
.article-tags { margin-top:10px; }
.article-tags a { border-bottom:1px solid rgba(40,81,60,.35); padding-bottom:2px; }
.article-actions { display:flex; align-items:center; gap:14px; margin-top:30px; padding:22px 0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.share-link { appearance:none; border:0; background:transparent; padding:0; color:var(--forest); cursor:pointer; font-family:var(--sans); font-size:.78rem; font-weight:600; letter-spacing:.07em; }
.share-status { font-family:var(--sans); color:var(--wood); font-size:.72rem; letter-spacing:.05em; }
.post-navigation { display:grid; grid-template-columns:1fr 1fr; gap:42px; padding:30px 0; border-bottom:1px solid var(--rule); }
.post-nav-item { display:flex; flex-direction:column; gap:9px; }
.post-nav-item strong { font-weight:400; font-size:1.15rem; line-height:1.35; }
.post-nav-next { text-align:right; }
.article-submit { display:inline-flex; margin-top:30px; padding:12px 18px; background:var(--forest); color:var(--paper); border:1px solid var(--forest); font-family:var(--sans); font-size:.78rem; font-weight:600; letter-spacing:.06em; }
.article-submit:hover { background:transparent; color:var(--forest); }
@media (max-width:760px){.post-navigation{grid-template-columns:1fr;gap:26px}.post-nav-next{text-align:left}.article-classification span + span::before{margin-right:10px}}

/* BLOG-LA v0.5 — Explorer */
.explorer-page { padding:52px 0 72px; }
.explorer-header { max-width:850px; padding-bottom:34px; border-bottom:1px solid var(--rule); }
.explorer-header h1 { margin:10px 0 16px; font-size:clamp(2.7rem,5vw,4.6rem); line-height:1.08; font-weight:400; letter-spacing:-.035em; }
.explorer-header p { max-width:720px; margin:0; font-size:1.08rem; line-height:1.65; }
.explorer-search { padding:30px 0; border-bottom:1px solid var(--rule); }
.explorer-search label { display:block; margin-bottom:12px; }
.explorer-search input { width:100%; max-width:760px; appearance:none; border:0; border-bottom:1px solid var(--ink); border-radius:0; background:transparent; padding:10px 0 12px; color:var(--ink); font-family:var(--serif); font-size:clamp(1.15rem,2vw,1.5rem); outline:none; }
.explorer-search input::placeholder { color:rgba(37,35,31,.42); }
.explorer-search input:focus { border-bottom-color:var(--forest); }
.explorer-filters { display:grid; grid-template-columns:1fr 1fr; gap:0 54px; border-bottom:1px solid var(--rule); }
.filter-group { padding:26px 0 30px; border-bottom:1px solid var(--rule); }
.filter-group:nth-last-child(-n+2) { border-bottom:0; }
.filter-group-wide { grid-column:1 / -1; }
.filter-links { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:14px; }
.filter-links button,.explorer-reset { appearance:none; border:0; background:transparent; padding:0 0 3px; color:var(--ink); cursor:pointer; font-family:var(--serif); font-size:1.08rem; border-bottom:1px solid transparent; }
.filter-links button:hover,.filter-links button.is-active { color:var(--forest); border-bottom-color:var(--forest); }
.filter-themes button { font-size:1rem; }
.explorer-reset-wrap { padding:22px 0; border-bottom:1px solid var(--rule); }
.explorer-reset { font-family:var(--sans); color:var(--forest); font-size:.78rem; font-weight:600; letter-spacing:.07em; text-transform:uppercase; }
.explorer-results { padding-top:30px; }
.explorer-post-list { margin-top:10px; }
.explorer-classification { display:flex; flex-wrap:wrap; gap:8px 14px; }
.explorer-classification span + span::before { content:"·"; margin-right:14px; color:var(--wood); }
.explorer-empty { margin:34px 0 0; font-size:1.1rem; }
.explorer-post[hidden] { display:none !important; }
@media (max-width:760px){
    .explorer-page{padding:38px 0 56px}.explorer-header{padding-bottom:28px}.explorer-filters{grid-template-columns:1fr;gap:0}.filter-group-wide{grid-column:auto}.filter-group:nth-last-child(-n+2){border-bottom:1px solid var(--rule)}.filter-group:last-child{border-bottom:0}.filter-links{gap:10px 18px}.explorer-search input{font-size:1.08rem}
}

/* BLOG-LA v0.6 — Recherches */
.research-page{padding:52px 0 72px}.research-header{max-width:880px;padding-bottom:34px;border-bottom:1px solid var(--rule)}.research-header h1{margin:10px 0 16px;font-size:clamp(2.7rem,5vw,4.6rem);line-height:1.08;font-weight:400;letter-spacing:-.035em}.research-header p{max-width:760px;margin:0;font-size:1.08rem;line-height:1.65}.research-search{padding:30px 0;border-bottom:1px solid var(--rule)}.research-search label{display:block;margin-bottom:12px}.research-search input{width:100%;max-width:820px;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;padding:10px 0 12px;color:var(--ink);font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.5rem);outline:none}.research-filters{display:grid;grid-template-columns:1fr 1fr;gap:0 54px;border-bottom:1px solid var(--rule)}.research-filters>section{padding:26px 0 30px}.research-reset-wrap{padding:22px 0;border-bottom:1px solid var(--rule)}.research-results{padding-top:30px}.research-list{margin-top:10px}.research-row{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:42px;padding:26px 0;border-bottom:1px solid var(--rule)}.research-row[hidden]{display:none}.research-classification{display:flex;gap:10px 16px;flex-wrap:wrap;font-family:var(--sans);color:var(--forest);font-size:.78rem;font-weight:600;letter-spacing:.07em}.research-classification span+span:before{content:'·';margin-right:16px;color:var(--wood)}.research-row h2{margin:7px 0 10px;max-width:760px;font-size:clamp(1.55rem,2.8vw,2.35rem);line-height:1.18;font-weight:400}.research-author{color:var(--wood);font-size:1rem}.research-row-side{align-self:end;font-size:.94rem;line-height:1.55;color:rgba(37,35,31,.72)}.research-submit,.research-external{display:inline-flex;margin-top:30px;padding:12px 18px;background:var(--forest);color:var(--paper);border:1px solid var(--forest);font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.06em}.research-submit:hover,.research-external:hover{background:transparent;color:var(--forest)}
.research-detail{max-width:880px;margin:0 auto;padding:56px 0 72px}.research-detail-header{padding-bottom:30px;border-bottom:1px solid var(--rule)}.research-detail-header h1{margin:10px 0 20px;font-size:clamp(2.5rem,5.2vw,4.6rem);line-height:1.09;font-weight:400;letter-spacing:-.035em}.research-detail-author{color:var(--wood);font-size:1.2rem;margin-bottom:6px}.research-detail-institution{font-size:1rem;color:rgba(37,35,31,.72)}.research-meta-list{margin:0;padding:24px 0;border-bottom:1px solid var(--rule)}.research-meta-list>div{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:6px 0}.research-meta-list dt{font-family:var(--sans);color:var(--forest);font-size:.75rem;font-weight:600;letter-spacing:.07em}.research-meta-list dd{margin:0}.research-description{padding:34px 0 10px}.research-description p{max-width:740px;margin:12px 0 0;font-size:clamp(1.08rem,1.8vw,1.28rem);line-height:1.75}.research-back{margin-top:28px;padding-top:24px;border-top:1px solid var(--rule)}.research-back a{font-family:var(--sans);color:var(--forest);font-size:.78rem;font-weight:600;letter-spacing:.06em}
@media(max-width:760px){.research-page{padding:38px 0 56px}.research-filters{grid-template-columns:1fr}.research-filters>section+section{border-top:1px solid var(--rule)}.research-row{grid-template-columns:1fr;gap:12px}.research-row-side{align-self:auto}.research-detail{padding:42px 0 56px}.research-meta-list>div{grid-template-columns:1fr;gap:4px}}


/* BLOG-LA v0.7 — contribution by email */
.contact-page{max-width:900px;margin:0 auto;padding:52px 0 72px}.contact-page-header{max-width:820px;padding-bottom:34px;border-bottom:1px solid var(--rule)}.contact-page-header h1{margin:10px 0 16px;font-size:clamp(2.7rem,5vw,4.6rem);line-height:1.08;font-weight:400;letter-spacing:-.035em}.contact-page-header p{max-width:760px;margin:0;font-size:1.08rem;line-height:1.65}.contact-instructions{border-bottom:1px solid var(--rule)}.contact-step{padding:25px 0;border-bottom:1px solid var(--rule)}.contact-step:last-child{border-bottom:0}.contact-step p{max-width:760px;margin:10px 0 0;font-size:1.05rem;line-height:1.7}.contact-email{color:var(--wood);font-weight:400}.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 18px;padding:30px 0 18px}.contact-primary,.contact-copy{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.06em}.contact-primary{background:var(--forest);border:1px solid var(--forest);color:var(--paper)}.contact-primary:hover{background:transparent;color:var(--forest)}.contact-copy{appearance:none;background:transparent;border:1px solid var(--forest);color:var(--forest);cursor:pointer}.contact-copy:hover{background:var(--forest);color:var(--paper)}.contact-copy-status{font-family:var(--sans);font-size:.72rem;letter-spacing:.05em;color:var(--wood)}.contact-private{max-width:720px;margin:0;padding-bottom:28px;font-size:.9rem;line-height:1.6;color:rgba(37,35,31,.68)}.contact-before{display:flex;flex-wrap:wrap;gap:8px 20px;padding-top:24px;border-top:1px solid var(--rule);font-size:.95rem}.contact-before a{font-family:var(--sans);font-size:.76rem;font-weight:600;letter-spacing:.06em;color:var(--forest)}.contact-before span{color:rgba(37,35,31,.68)}.research-info-list>.contact-step{border-bottom:1px solid var(--rule)}.research-submit-fields{margin:0;padding:0}.research-submit-fields>div{display:grid;grid-template-columns:180px 1fr;gap:26px;padding:15px 0;border-bottom:1px solid var(--rule)}.research-submit-fields>div:last-child{border-bottom:0}.research-submit-fields dt{font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.06em;color:var(--forest)}.research-submit-fields dd{margin:0;line-height:1.55}.research-external[hidden]{display:none!important}
@media(max-width:760px){.contact-page{padding:38px 0 56px}.contact-page-header{padding-bottom:28px}.contact-actions{align-items:stretch}.contact-primary,.contact-copy{width:100%}.contact-copy-status{width:100%;text-align:center}.research-submit-fields>div{grid-template-columns:1fr;gap:5px}}

/* BLOG-LA v0.8 — editorial pages and accordions */
.editorial-page{max-width:900px;margin:0 auto;padding:52px 0 72px}.editorial-header{padding-bottom:34px;border-bottom:1px solid var(--rule)}.editorial-header h1{margin:10px 0 16px;font-size:clamp(2.7rem,5vw,4.6rem);line-height:1.08;font-weight:400;letter-spacing:-.035em}.editorial-lead{max-width:760px;margin:0;font-size:1.08rem;line-height:1.7}.editorial-prose{max-width:760px;padding-top:10px;font-size:clamp(1.04rem,1.6vw,1.2rem);line-height:1.78}.editorial-prose h2{margin:2.4em 0 .8em;font-family:var(--sans);font-size:.78rem;line-height:1.45;letter-spacing:.07em;color:var(--forest)}.editorial-prose blockquote,.accordion-body blockquote{margin:1.5em 0;border-left:2px solid var(--forest);padding-left:22px;font-style:italic}.accordion-list{border-bottom:1px solid var(--rule)}.accordion-list details{border-bottom:1px solid var(--rule)}.accordion-list details:last-child{border-bottom:0}.accordion-list summary{position:relative;list-style:none;cursor:pointer;padding:25px 48px 25px 0;font-family:var(--sans);font-size:.82rem;line-height:1.5;font-weight:600;letter-spacing:.055em;color:var(--ink)}.accordion-list summary::-webkit-details-marker{display:none}.accordion-list summary::after{content:'+';position:absolute;right:2px;top:50%;transform:translateY(-50%);font-family:var(--serif);font-size:1.45rem;font-weight:300;color:var(--forest)}.accordion-list details[open] summary::after{content:'−'}.accordion-list summary:focus-visible{outline:2px solid var(--forest);outline-offset:5px}.accordion-body{max-width:760px;padding:0 48px 25px 0;font-size:1.04rem;line-height:1.72}.accordion-body p{margin:0 0 1em}.accordion-body p:last-child{margin-bottom:0}.editorial-contact{max-width:760px;padding:34px 0 0}.editorial-contact>p:not(.eyebrow){font-size:1.04rem;line-height:1.7}.editorial-contact .contact-primary{margin-top:10px}.editorial-prose a,.accordion-body a{color:var(--forest);border-bottom:1px solid rgba(40,81,60,.35)}
@media(max-width:760px){.editorial-page{padding:38px 0 56px}.editorial-header{padding-bottom:28px}.accordion-list summary{padding:22px 38px 22px 0;font-size:.78rem}.accordion-body{padding:0 30px 22px 0;font-size:1rem}}

/* BLOG-LA v1.0 — identité de marque finale */
:root { --sans: "IBM Plex Sans", Arial, sans-serif; }
.brand { display:block; width:clamp(230px,26vw,330px); line-height:1; }
.brand img { display:block; width:100%; height:auto; }
.tagline { color:var(--wood); }
.brand-small { display:block; width:150px; height:auto; }
.footer-brand .tagline { font-size:.95rem; }
.email-link { color:var(--forest); border-bottom:1px solid rgba(40,81,60,.35); }
.email-link:hover { color:var(--forest); border-bottom-color:var(--forest); }
.primary-cta { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin-top:22px; padding:12px 18px; background:var(--forest); color:var(--paper); border:1px solid var(--forest); font-family:var(--sans); font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; transition:background .15s ease,color .15s ease; }
.primary-cta:hover { background:transparent; color:var(--forest); }
.submit-cta .primary-cta { margin-top:16px; }
.research-header + .primary-cta, .research-page > .primary-cta { margin-top:30px; }
@media(max-width:760px){.brand{width:min(270px,78vw)}.brand-small{width:140px}}
