/* Blog refresh: stronger editorial hierarchy and a more distinctive reading experience */
.blog-hero { position: relative; padding: 104px 0 78px; overflow: hidden; background: linear-gradient(135deg,#e8f7f4 0%,#f4f2ff 58%,#fff4f1 100%); }
.blog-hero::after { content:""; position:absolute; width:420px;height:420px; right:-120px;top:-180px;border:70px solid rgba(99,102,241,.08);border-radius:50%; }
.blog-hero .container { position:relative; z-index:1; }
.blog-hero h1 { max-width:760px; margin:0 auto 16px; font-size:clamp(2.3rem,5vw,3.5rem); letter-spacing:-.04em; }
.blog-hero p { max-width:680px; }
.blog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:1050px; }
.blog-card { display:flex; flex-direction:column; min-height:100%; }
.blog-card:first-child { grid-column:span 2; display:grid; grid-template-columns:1.05fr 1fr; }
.blog-card .blog-thumb-wrap { width:auto; min-width:0; }
.blog-card .blog-thumb { min-height:210px; }
.blog-card:first-child .blog-thumb { min-height:100%; }
.blog-card-body { padding:26px 28px; }
.blog-card h2 { font-size:1.28rem; }
.blog-card:first-child h2 { font-size:1.55rem; }
.blog-card:hover { transform:translateY(-6px); }
.blog-card::after { content:""; display:block; width:0; height:3px; background:var(--gradient-brand); transition:width .35s ease; }
.blog-card:hover::after { width:100%; }
.article-header { padding:76px 0 42px; background:linear-gradient(135deg,#eaf8f5,#f4f2ff); }
.article-header .container { max-width:820px !important; }
.article-header h1 { font-size:clamp(2.15rem,4.5vw,3.25rem); letter-spacing:-.04em; }
.article-hero-img {
  height: 430px;
  max-width: 1000px;
  border-radius: 28px;
  /* Aère la transition entre l'illustration et le début de l'article. */
  margin-top: 12px;
  margin-bottom: 52px;
}
.prose { max-width:740px; }
.prose > p:first-of-type::first-letter { float:left; font:800 4.2rem/.82 var(--font-heading); color:var(--color-primary); padding:7px 10px 0 0; }
.prose h2 { font-size:1.7rem; letter-spacing:-.025em; }
.prose blockquote { margin:2.5rem -3rem; padding:28px 34px; border-left:5px solid var(--color-accent); border-radius:0 18px 18px 0; background:linear-gradient(135deg,#fff5f6,#f5f1ff); font:600 1.18rem/1.65 var(--font-heading); color:var(--color-text); }
.prose .article-cta { border-radius:24px; margin:3rem -2rem; }
@media (max-width:760px) {
  .blog-grid { grid-template-columns:1fr; }
  .blog-card:first-child { grid-column:auto; display:flex; }
  .blog-card:first-child h2 { font-size:1.28rem; }
  .article-hero-img { height:240px; border-radius:20px; margin-bottom:32px; }
  .prose blockquote,.prose .article-cta { margin-left:0; margin-right:0; }
}
