/* Nexora — blog public. S'appuie sur les tokens sémantiques de nexora.css
   (--bg, --fg, --hairline…) pour suivre le thème clair/sombre. */
.blog-wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,5vw,56px)}
.blog-hero{padding:clamp(120px,16vh,200px) 0 clamp(30px,5vh,60px)}
.blog-hero__eyebrow{font-family:var(--mono,'DM Mono',monospace);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--fg-soft,#8a8472);display:block;margin-bottom:14px}
.blog-hero h1{font-family:var(--font-serif,'Fraunces',serif);font-weight:400;font-size:clamp(2.6rem,7vw,5rem);line-height:1.02;margin:0;color:var(--fg)}
.blog-hero p{max-width:46ch;margin:18px 0 0;color:var(--fg-soft,#6b6b5f);font-size:1.05rem;line-height:1.6}

.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:clamp(24px,3vw,44px);padding-bottom:clamp(60px,10vh,120px)}
.blog-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border-bottom:1px solid var(--hairline,#e3dac8);padding-bottom:22px}
.blog-card:hover .blog-card__title{color:var(--terracotta,#c4673f)}
.blog-card__cover{aspect-ratio:16/10;width:100%;object-fit:cover;border-radius:12px;background:var(--hairline,#e3dac8);margin-bottom:18px}
.blog-card__meta{font-family:var(--mono,'DM Mono',monospace);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-soft,#8a8472);display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.blog-card__title{font-family:var(--font-serif,'Fraunces',serif);font-weight:400;font-size:1.5rem;line-height:1.15;margin:0 0 8px;transition:color .25s}
.blog-card__excerpt{color:var(--fg-soft,#6b6b5f);line-height:1.55;margin:0}
.blog-empty{padding:60px 0 140px;color:var(--fg-soft,#8a8472)}

/* Article */
.article{padding-bottom:clamp(60px,10vh,120px)}
.article__head{max-width:760px;margin:0 auto;padding:clamp(110px,15vh,190px) 0 0;text-align:center}
.article__tags{font-family:var(--mono,'DM Mono',monospace);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terracotta,#c4673f);margin-bottom:18px}
.article__title{font-family:var(--font-serif,'Fraunces',serif);font-weight:400;font-size:clamp(2.2rem,5.5vw,4rem);line-height:1.05;margin:0;color:var(--fg)}
.article__meta{margin:22px 0 0;font-family:var(--mono,'DM Mono',monospace);font-size:.78rem;letter-spacing:.06em;color:var(--fg-soft,#8a8472);display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.article__cover{width:100%;max-width:1000px;margin:clamp(32px,5vh,56px) auto;border-radius:16px;display:block;aspect-ratio:16/9;object-fit:cover}
.article__body{max-width:720px;margin:0 auto;font-size:1.15rem;line-height:1.75;color:var(--fg)}
.article__body h2{font-family:var(--font-serif,'Fraunces',serif);font-weight:400;font-size:1.9rem;line-height:1.15;margin:1.8em 0 .5em}
.article__body h3{font-family:var(--font-serif,'Fraunces',serif);font-weight:400;font-size:1.45rem;margin:1.5em 0 .4em}
.article__body p{margin:0 0 1.2em}
.article__body img{max-width:100%;height:auto;border-radius:12px;margin:1.5em 0}
.article__body a{color:var(--terracotta,#c4673f);text-underline-offset:3px}
.article__body blockquote{border-left:3px solid var(--terracotta,#c4673f);margin:1.6em 0;padding:.4em 1.4em;font-style:italic;color:var(--fg-soft,#6b6b5f)}
.article__body ul,.article__body ol{padding-left:1.4em;margin:0 0 1.2em}
.article__body li{margin:.4em 0}
.article__body pre{background:var(--ink,#2E3A2A);color:#f4ede0;padding:18px;border-radius:12px;overflow:auto;font-size:.95rem}
.article__body figure{margin:1.6em 0}
.article__more{max-width:1000px;margin:clamp(50px,8vh,90px) auto 0;border-top:1px solid var(--hairline,#e3dac8);padding-top:34px}
.article__more h2{font-family:var(--font-serif,'Fraunces',serif);font-weight:400;font-size:1.5rem;margin:0 0 22px}
