/* --- Reset minimal + base --- */
body{font-family:'PT Serif',serif;background:#fcfbf7;margin:0;color:#111;}

/* --- Bandeau fixe en haut --- */
.top-banner{
  position:fixed;top:0;left:0;right:0;z-index:999;
  background:#b40000;color:#fff;display:flex;align-items:center;justify-content:space-between;
  height:70px;padding:0 1.5rem;box-shadow:0 2px 6px rgba(0,0,0,.3);
}
.logo-zone img{height:50px;width:auto;display:block}
.title-zone{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:900;text-align:center;flex:1;margin:0 1rem}
.date-zone{font-family:'Libre Baskerville',serif;font-size:.9rem;opacity:.95}

/* Décale le contenu pour ne pas passer sous le bandeau */
body{padding-top:80px}

/* --- Conteneur & manchette --- */
.container{max-width:1100px;margin:0 auto;padding:1rem 1.25rem 3rem}
header.masthead{text-align:center;border-bottom:4px double #1c1c1c;padding:.75rem 0;margin-bottom:1rem}
.topline{display:flex;justify-content:space-between;font:700 .8rem/1.2 'Libre Baskerville',serif;letter-spacing:.06em;text-transform:uppercase}
.brand{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(2.2rem,6vw,4rem);letter-spacing:.02em;margin:.25rem 0 .35rem}
.edition{font:700 .85rem/1.2 'Libre Baskerville',serif;letter-spacing:.08em;text-transform:uppercase}
nav.sections{border-top:1px solid #1c1c1c;border-bottom:1px solid #1c1c1c;padding:.35rem 0;margin:1rem 0;text-align:center;font:700 .8rem/1.2 'Libre Baskerville',serif;text-transform:uppercase;letter-spacing:.08em}
nav.sections a{color:inherit;text-decoration:none;padding:0 .6rem}
nav.sections a+a{border-left:1px solid #1c1c1c}

/* --- Zone de Une --- */
.front{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1rem}
.lead{border-right:1px solid #1c1c1c;padding-right:1rem}
h2.headline{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(1.6rem,3.5vw,2.4rem);line-height:1.05;margin:.2rem 0 .5rem}
.kicker{font-family:'Libre Baskerville',serif;font-weight:700;text-transform:uppercase;color:#b40000;letter-spacing:.06em}
.chapo{font-family:'Libre Baskerville',serif;font-weight:700;margin:.4rem 0 .6rem}
.meta{display:flex;gap:.75rem;flex-wrap:wrap;font:italic .85rem/1.2 'PT Serif',serif;color:#444;margin-bottom:.5rem}
.figure img{width:100%;display:block}
.legend{font-style:italic;color:#555;font-size:.85rem}
.copy{line-height:1.65}
.copy p{margin:0 0 .9rem}
.copy p:first-of-type::first-letter{float:left;font:900 3.2rem/.9 'Playfair Display',serif;padding:.1rem .35rem 0 0}

/* --- Brèves & multi-colonnes --- */
.briefs h3{font:900 1.05rem/1.2 'Playfair Display',serif;margin:0 0 .4rem;text-transform:uppercase;letter-spacing:.04em}
.briefs article{font-family:'PT Serif',serif;font-size:.95rem;line-height:1.45;margin-bottom:.8rem}
.briefs .title{font-weight:700}
.more{column-count:3;column-gap:1.25rem}
.story{break-inside:avoid;margin:0 0 1rem}
.story h4{font:900 1.15rem/1.15 'Playfair Display',serif;margin:0 0 .35rem}
.story .sub{font:700 .9rem/1.2 'Libre Baskerville',serif;color:#333;margin:0 0 .35rem}
.story .byline{font:italic .85rem/1.2 'PT Serif',serif;color:#555}
.story .thumb{width:100%;margin:.35rem 0 .35rem;display:block}

/* --- Tags --- */
.tags{margin:.5rem 0 .25rem;display:flex;flex-wrap:wrap;gap:.35rem}
.tag{font-family:'Libre Baskerville',serif;font-size:.8rem;border:1px solid #1c1c1c;border-radius:999px;padding:.1rem .5rem;text-decoration:none;color:#111}
.tag:hover{background:#111;color:#fcfbf7}

/* --- Filtre actif --- */
.filters{margin:.25rem 0 .75rem}
#filter-bar{font-family:'Libre Baskerville',serif;font-size:.9rem}
.badge{display:inline-block;border:1px solid #1c1c1c;border-radius:999px;padding:.15rem .55rem;margin-right:.5rem}
.clear{margin-left:.5rem}

/* --- Filet --- */
.rule{border-top:1px solid #1c1c1c;margin:1rem 0}

/* --- Responsive --- */
@media(max-width:1000px){.front{grid-template-columns:1fr}.lead{border-right:none;padding-right:0}}
@media(max-width:820px){.more{column-count:2}}
@media(max-width:560px){nav.sections{display:none}.more{column-count:1}}