/* Proposition : navigation éditoriale et accès immédiat aux films. */
.blog-hero,.hero-grid { min-height:0; }
.hero-grid { padding:48px 6vw 44px; }
.hero-copy { max-width:1000px; }
.hero-title { font-size:clamp(3.8rem,6.7vw,6.5rem); max-width:960px; }
.hero-description { margin-top:22px; }
.journal-navigation { background:var(--sage); padding:0 max(5vw,calc((100vw - 1200px)/2)) 26px; }
.journal-filters { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; padding:16px; border-top:1px solid #35383725; }
.journal-filter { display:flex; align-items:center; justify-content:center; gap:13px; min-height:48px; padding:11px 19px; border:1px solid transparent; border-radius:999px; background:transparent; color:var(--ink); font-family:var(--ui); font-size:.78rem; font-weight:600; cursor:pointer; transition:background .2s,color .2s; }
.journal-filter:hover { background:#ffffff80; }
.journal-filter[aria-pressed="true"] { background:var(--ink); color:var(--paper); }
.journal-filter-count { font-size:.65rem; opacity:.65; font-weight:400; }
.journal-filter:disabled { opacity:.4; cursor:default; }
.journal-filter:focus-visible,a:focus-visible { outline:2px solid var(--terra-dark); outline-offset:5px; }
.blog-library { padding:42px 0 72px; width:min(1200px,90%); margin-inline:auto; }
.library-heading { margin-bottom:26px; }
.article-group[hidden] { display:none; }
.article-group + .article-group { margin-top:50px; padding-top:40px; }
.article-group-heading { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:24px; }
.article-group-heading > p { display:none; }
.article-group-heading h2 { font-size:clamp(2.5rem,3.7vw,3.5rem); }
.article-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.article-card { display:flex; flex-direction:column; min-height:0; height:auto; border:0; border-radius:8px; box-shadow:0 8px 26px #35383709; }
.article-media,.article-media img { min-height:0; height:auto; }
.article-media { height:260px; flex:none; }
.article-media img,.article-media picture { height:100%; min-height:0; }
.article-media img { transition:transform .7s var(--ease); }
.article-card:hover .article-media img { transform:scale(1.025); }
.article-card:first-of-type .article-media img { object-position:center; }
[data-category="films"] .article-card:nth-child(2) .article-media img { object-position:50% 54%; }
.article-card-body { justify-content:flex-start; flex:1; min-height:0; padding:25px 26px 29px; }
.article-meta { font-size:.55rem; letter-spacing:1.2px; gap:7px 10px; }
.article-meta > :not(:first-child) { padding-left:10px; }
.article-meta > :not(:first-child)::before { width:3px; height:3px; }
.article-card h2,.article-card:first-of-type h2 { font-size:clamp(2.1rem,2.85vw,2.8rem); line-height:1.03; margin-top:19px; max-width:none; }
.article-card .title-tail { white-space:normal; }
.article-link { margin-top:auto; padding-top:25px; letter-spacing:1.4px; font-size:.6rem; }
.article-list:has(> .article-card:only-child) { grid-template-columns:1fr; }
.article-list > .article-card:only-child { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.article-list > .article-card:only-child .article-media { height:360px; }
.article-list > .article-card:only-child .article-card-body { justify-content:center; padding:40px; }
.article-list > .article-card:only-child .article-link { margin-top:25px; padding-top:0; }
.blog-introduction { max-width:1200px; width:90%; margin:0 auto 80px; padding:48px 0 0; border-top:1px solid #35383725; align-items:start; }
.introduction-copy h2 { font-size:clamp(2.8rem,4.2vw,4.2rem); }
.editorial-categories { align-self:center; }
.journal-results { color:var(--muted); font-size:.72rem; }
@media(max-width:1060px) {
  .journal-filter { padding-inline:14px; font-size:.72rem; }
  .article-list { gap:16px; }
  .article-media { height:220px; }
  .article-card-body { padding:22px 20px 26px; }
}
@media(max-width:800px) {
  .article-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .article-card h2 { font-size:2.5rem; }
  .blog-introduction { grid-template-columns:1fr; gap:32px; }
}
@media(max-width:560px) {
  .hero-grid { padding:38px 6vw 30px; }
  .hero-title { font-size:clamp(3.2rem,13vw,4.4rem); }
  .hero-kicker { font-size:.72rem; letter-spacing:2px; }
  .hero-description { font-size:.86rem; line-height:1.75; }
  .journal-navigation { padding:0 5vw 20px; }
  .journal-filters { gap:7px; padding:16px 0 0; justify-content:flex-start; }
  .journal-filter { font-size:.71rem; padding:9px 12px; min-height:44px; gap:9px; border-color:#35383720; }
  .journal-filter[data-filter="films"] { order:-2; }
  .journal-filter[data-filter="all"] { order:-1; }
  .blog-library { padding:32px 0 48px; }
  .library-heading { flex-direction:row; align-items:center; }
  .section-kicker { letter-spacing:2px; font-size:.55rem; }
  .article-list { grid-template-columns:1fr; gap:24px; }
  .article-media { height:280px; }
  .article-card h2 { font-size:2.65rem; }
  .article-card-body { padding:25px 26px 30px; }
  .article-list > .article-card:only-child { display:flex; }
  .article-list > .article-card:only-child .article-media { height:280px; }
  .article-list > .article-card:only-child .article-card-body { padding:25px 26px 30px; }
  .blog-introduction { padding-top:32px; margin-bottom:55px; }
  .introduction-copy > p { font-size:.9rem; }
}

/* Affinage de la V1 : mêmes colonnes et mêmes dimensions d'images. */
:root { --journal-ease:cubic-bezier(.22,1,.36,1); }
.hero-grid { padding-bottom:38px; }
.hero-kicker { font-size:.78rem; letter-spacing:2.6px; }
.hero-description { color:#646D67; }
.journal-navigation { padding-bottom:30px; }
.journal-filters { gap:8px; padding:17px 12px; border-top:0; border-radius:18px; background:transparent; box-shadow:none; }
/* Pastilles mates : une seule surface, sans reflet ni relief. */
.journal-filter { min-height:50px; padding:8px 14px 8px 20px; gap:15px; border:1px solid #CDD5CF; background:#F7F5F1; color:#59635C; font-size:.75rem; font-weight:600; letter-spacing:.015em; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; transition:transform .4s var(--journal-ease),color .3s var(--journal-ease),background .3s var(--journal-ease),border-color .3s var(--journal-ease); }
.journal-filter::before { content:none; }
.journal-filter:hover:not(:disabled) { color:var(--ink); background:#FFFEFB; border-color:#AEBDB2; box-shadow:none; transform:translateY(-1px); }
.journal-filter:active:not(:disabled) { transform:scale(.985); }
.journal-filter[aria-pressed="true"],.journal-filter[aria-pressed="true"]:hover { background:var(--terra-dark); color:var(--white); border-color:var(--terra-dark); box-shadow:none; }
.journal-filter-count { display:grid; place-items:center; min-width:25px; height:22px; padding-left:12px; border-left:1px solid #D7DDD8; border-radius:0; background:transparent; color:#727D75; box-shadow:none; opacity:1; font-family:var(--ui); font-size:.63rem; font-weight:500; line-height:1; transition:color .3s var(--journal-ease),border-color .3s var(--journal-ease); }
.journal-filter[aria-pressed="true"] .journal-filter-count { background:transparent; color:#fff; border-color:#D99280; box-shadow:none; }
.journal-filter:disabled { opacity:.42; background:transparent; border-color:transparent; box-shadow:none; }
.journal-filter:disabled .journal-filter-count { background:transparent; box-shadow:none; }
.blog-library { padding-top:40px; }
.library-heading { margin-bottom:18px; gap:24px; }
.library-heading::after { content:''; flex:1; height:1px; background:rgba(53,56,55,.1); order:1; }
.library-heading .journal-results { order:2; font-size:.65rem; letter-spacing:.03em; }
.library-heading .section-kicker { font-size:.56rem; letter-spacing:2.8px; }
.article-group-heading { margin-bottom:28px; }
.article-group-heading h2 { font-size:clamp(2.5rem,3.7vw,3.5rem); letter-spacing:-.045em; }
.article-card { border-radius:12px; background:#FFFEFB; box-shadow:0 5px 15px rgba(53,56,55,.025),0 18px 45px rgba(53,56,55,.04),inset 0 0 0 1px rgba(53,56,55,.055); transition:box-shadow .4s var(--journal-ease); }
.article-card:hover { box-shadow:0 7px 18px rgba(53,56,55,.035),0 22px 50px rgba(53,56,55,.07),inset 0 0 0 1px rgba(53,56,55,.09); }
.article-media img { transition:transform .75s var(--journal-ease); }
.article-card:hover .article-media img { transform:scale(1.018); }
.article-meta { color:#A6503D; font-size:.56rem; font-weight:600; letter-spacing:1.1px; gap:8px 10px; }
.article-card h2 { line-height:1.045; letter-spacing:-.035em; }
.article-link { color:var(--terra-dark); gap:14px; font-size:.59rem; letter-spacing:1.5px; }
.article-link svg { width:25px; height:25px; padding:4px; border-radius:50%; background:#E4E9E580; transition:transform .35s var(--journal-ease),background .35s var(--journal-ease); }
.article-link:hover svg { transform:translateX(3px); background:var(--sage); }
.blog-introduction { border-color:rgba(53,56,55,.1); }
@media(min-width:1024px) {
  .hero-copy { max-width:1200px; width:100%; }
  .hero-title { max-width:none; font-size:clamp(3.75rem,6.1vw,6.2rem); white-space:nowrap; }
  .hero-description { max-width:none; font-size:clamp(.84rem,1.2vw,1.06rem); white-space:nowrap; }
}
@media(max-width:1060px) { .journal-filter { padding-left:16px; padding-right:12px; gap:12px; font-size:.72rem; } }
@media(max-width:560px) {
  .hero-grid { padding-bottom:28px; }
  .hero-kicker { font-size:.7rem; }
  .journal-navigation { padding-bottom:24px; }
  .journal-filters { padding:12px; gap:7px; border-radius:15px; }
  .journal-filter { min-height:44px; padding:7px 11px 7px 14px; font-size:.69rem; gap:10px; }
  .journal-filter-count { min-width:22px; height:20px; padding-left:9px; font-size:.6rem; }
  .blog-library { padding-top:31px; }
  .library-heading { gap:14px; }
  .library-heading .section-kicker { letter-spacing:1.7px; }
  .article-group-heading { margin-bottom:23px; }
}
@media(prefers-reduced-motion:reduce) { .journal-filter,.journal-filter::before,.journal-filter-count,.article-card,.article-media img,.article-link svg { transition:none; } }
