:root{
  --paper:#F7F4EE;--paper-2:#EFE9DC;--ink:#1A1612;--ink-soft:#3C342B;
  --muted:#8C8273;--accent:#C5341E;--accent-dark:#962413;--rule:#DCD4C5;--navy:#152340;
  --display:"Newsreader",Georgia,serif;--util:"Archivo",system-ui,sans-serif;--wrap:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--display);
  font-size:19px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:24px}
.wrap--wide{max-width:1200px}
.wrap--read{max-width:740px}
a{color:inherit}
img{max-width:100%;display:block}

/* Masthead */
.masthead{background:var(--navy);padding-block:16px}
.masthead-inner{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.brand{display:flex;flex-direction:row;align-items:center;gap:14px;text-decoration:none;cursor:pointer}
.brand-portrait{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2px solid rgba(247,244,238,.85);flex:none}
.brand-text{display:flex;flex-direction:column;gap:.22rem}
.wordmark{font-family:var(--display);font-weight:600;font-size:1.85rem;line-height:1;letter-spacing:-.01em;color:var(--paper)}
.brand-tag{font-family:var(--util);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.nav{display:flex;gap:1.3rem;font-family:var(--util);font-weight:600;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}
.nav a{text-decoration:none;color:#C3CCDA;cursor:pointer;padding-bottom:3px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.nav a:hover{color:#fff}
.nav a.is-active{color:#fff;border-color:var(--accent)}

/* Generic eyebrow / titles */
.eyebrow{font-family:var(--util);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 .9rem}
.readmore{display:inline-flex;align-items:center;gap:.5rem;margin-top:.2rem;font-family:var(--util);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:3px;cursor:pointer}
.readmore:hover{color:var(--accent)}

/* Hero édito (home) */
.hero{padding-top:46px;padding-bottom:8px}
.hero-title{font-family:var(--display);font-weight:600;font-size:clamp(2.6rem,6vw,4rem);line-height:1.02;letter-spacing:-.02em;margin:0 0 1rem}
.hero-meta{font-family:var(--util);font-size:.78rem;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;margin:0 0 1.6rem}
.prose{max-width:64ch}
.prose p{margin:0 0 1.1rem;color:var(--ink-soft)}
.prose p:first-of-type::first-letter{font-family:var(--display);float:left;font-size:3.6rem;line-height:.78;font-weight:600;padding:.06em .12em 0 0;color:var(--accent)}
.prose .sign{font-family:var(--util);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-top:2rem}

/* Enquêtes bandeau (home) */
.band{background:var(--paper-2);border-top:4px solid var(--accent);border-bottom:1px solid var(--rule);margin-top:44px;padding-block:30px 34px}
.band-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:24px}
.band-kicker{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--util);font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.band-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.band-title{font-family:var(--display);font-weight:600;font-size:1.9rem;line-height:1.05;margin:.45rem 0 0}
.band-title em{font-style:italic;color:var(--ink-soft);font-weight:500}
.band-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;text-align:right}
.band-rhythm{font-family:var(--util);font-size:.7rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:5px 10px}
.band-all{font-family:var(--util);font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;cursor:pointer;border-bottom:2px solid var(--accent);padding-bottom:2px}
.band-all:hover{color:var(--accent)}
.band-grid{display:grid;grid-template-columns:repeat(3,1fr) 1.05fr;gap:0;border-top:1px solid var(--rule)}
.dcard{padding:20px 22px 20px 0;border-right:1px solid var(--rule)}
.dcard:first-child{padding-left:0}
.tag{display:inline-block;font-family:var(--util);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;margin-bottom:.65rem}
.tag--encours{background:var(--accent);color:#fff}
.tag--avenir{background:transparent;color:var(--accent-dark);border:1px solid var(--accent-dark)}
.tag--publiee{background:transparent;color:var(--muted);border:1px solid var(--rule)}
.dcard h4{font-family:var(--display);font-weight:600;font-size:1.2rem;line-height:1.16;margin:0 0 .4rem}
.dcard p{font-family:var(--display);font-size:.95rem;color:var(--ink-soft);margin:0;line-height:1.45}
.dtip{background:var(--ink);color:var(--paper);padding:20px 22px;margin:-1px -22px -1px 0;display:flex;flex-direction:column;justify-content:center}
.dtip h4{font-family:var(--display);font-weight:600;font-size:1.25rem;margin:0 0 .4rem}
.dtip p{font-family:var(--util);font-size:.76rem;line-height:1.5;color:#d8d0c2;margin:0 0 1rem}
.tip-btn{display:inline-block;align-self:flex-start;font-family:var(--util);font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--paper);text-decoration:none;padding:9px 14px}
.tip-btn:hover{background:#fff}

/* Section rule + cards (archive) */
.section-rule{display:flex;align-items:baseline;gap:1rem;margin:54px 0 28px;border-top:1px solid var(--ink);padding-top:16px}
.section-rule h2{font-family:var(--display);font-weight:600;font-size:1.6rem;margin:0}
.section-rule span{font-family:var(--util);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.card{padding-top:18px;border-top:2px solid var(--rule)}
.card .c-date{font-family:var(--util);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 .5rem}
.card h3{font-family:var(--display);font-weight:600;font-size:1.3rem;line-height:1.14;margin:0 0 .5rem}
.card h3 a{text-decoration:none;cursor:pointer}
.card h3 a:hover{color:var(--accent)}
.card p{font-family:var(--display);font-size:.98rem;color:var(--ink-soft);margin:0;line-height:1.45}

/* Full article (édito page) */
.article{padding-top:46px}
.article .hero-title{font-size:clamp(2.4rem,5.5vw,3.6rem)}
.article-body{max-width:70ch}
.article-body p{margin:0 0 1.15rem;color:var(--ink-soft)}
.article-body p:first-of-type::first-letter{font-family:var(--display);float:left;font-size:3.8rem;line-height:.76;font-weight:600;padding:.06em .12em 0 0;color:var(--accent)}
.article-body .sign{font-family:var(--util);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:2.4rem}

/* Image placeholders inside article */
.figph{margin:2rem 0;border:1.5px dashed var(--accent);background:rgba(197,52,30,.04);
  aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:24px;gap:.5rem}
.figph .ph-mark{font-family:var(--util);font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.figph .ph-cap{font-family:var(--display);font-style:italic;font-size:1rem;color:var(--ink-soft);max-width:46ch}
/* Real figures */
.fig{margin:2rem 0}
.fig img{width:100%;height:auto;border:1px solid var(--rule)}
.fig.fig--doc img{max-width:560px;margin-inline:auto}
.fig--photo img{margin-inline:auto}
.fig figcaption{font-family:var(--util);font-size:.72rem;letter-spacing:.04em;color:var(--muted);margin-top:.7rem;line-height:1.4}
.fig-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.fig-pair img{width:100%;height:auto;border:1px solid var(--rule)}
/* Black testimony callout (Enquêtes) */
.enq-callout{background:var(--ink);color:var(--paper);margin-top:40px;padding:32px 34px;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.enq-callout p{font-family:var(--display);font-size:1.7rem;line-height:1.25;margin:0;max-width:24ch}
.enq-callout a{font-family:var(--util);font-weight:700;font-size:.84rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink);background:var(--paper);text-decoration:none;
  padding:14px 20px;white-space:nowrap}
.enq-callout a:hover{background:#fff}

/* Enquêtes page */
.page-head{padding-top:54px;max-width:64ch}
.page-head h1{font-family:var(--display);font-weight:600;font-size:clamp(2.6rem,6vw,4rem);line-height:1.02;letter-spacing:-.02em;margin:0 0 1.2rem}
.accroche{font-family:var(--display);font-style:italic;font-size:1.4rem;line-height:1.4;color:var(--ink);max-width:54ch;margin:0;border-left:3px solid var(--accent);padding-left:1.1rem}
.rhythm{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--util);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:6px 12px;margin-top:1.6rem}
.enq-list{margin-top:44px}
.enq-row{display:grid;grid-template-columns:160px 1fr;gap:30px;padding:28px 0;border-top:1px solid var(--rule)}
.enq-row:last-child{border-bottom:1px solid var(--rule)}
.enq-when{font-family:var(--util);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.enq-status .tag{margin-bottom:.5rem}
.enq-body h3{font-family:var(--display);font-weight:600;font-size:1.7rem;line-height:1.1;margin:0 0 .5rem}
.enq-body p{margin:0;color:var(--ink-soft);max-width:68ch}
.enq-tip{margin-top:34px;font-family:var(--util);font-size:.86rem;color:var(--ink-soft)}
.enq-tip a{color:var(--accent);font-weight:700;text-decoration:none}
.enq-tip a:hover{text-decoration:underline}

/* Débat page */
.debat{padding-top:54px}
.debat h1{font-family:var(--display);font-weight:600;font-size:clamp(2.6rem,6vw,4rem);line-height:1.02;letter-spacing:-.02em;margin:0 0 1.1rem}
.debat .lede{font-size:1.25rem;color:var(--ink-soft);max-width:56ch;margin:0 0 2rem}
.debat-img{border:1px solid var(--rule)}
.debat-img img{width:100%;height:auto}
.debat-cap{font-family:var(--util);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-top:.7rem}

/* Contact page */
.contact{padding-top:54px}
.contact-grid{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start;margin-top:8px}
.contact-photo{border:1px solid var(--rule)}
.contact-photo img{width:100%;height:auto}
.contact h1{font-family:var(--display);font-weight:600;font-size:clamp(2.4rem,5vw,3.4rem);line-height:1.04;margin:0 0 1rem}
.contact p{color:var(--ink-soft);max-width:52ch}
.contact .mailbig{display:inline-block;margin-top:1.2rem;font-family:var(--display);font-size:1.5rem;font-weight:600;color:var(--accent);text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:3px}
.contact .mailbig:hover{color:var(--accent-dark)}
.contact .name{font-family:var(--util);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:.8rem 0 0}

/* Footer */
.site-footer{margin-top:64px;border-top:1px solid var(--ink);padding-block:32px 44px}
.footer-inner{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.footer-brand{font-family:var(--display);font-weight:600;font-size:1.4rem;margin:0}
.footer-tag{font-family:var(--util);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:.3rem 0 0}
.footer-nav{display:flex;flex-wrap:wrap;gap:1.1rem;font-family:var(--util);font-weight:600;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.footer-nav a{text-decoration:none;color:var(--ink-soft);cursor:pointer}
.footer-nav a:hover{color:var(--accent)}

.view{display:none}
.view.is-shown{display:block}

@media (max-width:860px){
  .band-grid{grid-template-columns:1fr 1fr}
  .dcard{border-right:0;border-bottom:1px solid var(--rule);padding:18px 0}
  .dtip{margin:0;grid-column:1 / -1}
  .cards{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr;gap:24px}
  .contact-photo{max-width:280px}
}
@media (max-width:620px){
  body{font-size:18px}
  .nav{gap:.9rem;font-size:.66rem}
  .band-grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .enq-row{grid-template-columns:1fr;gap:10px}
  .band-head{align-items:flex-start}
  .band-meta{align-items:flex-start;text-align:left}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto}}

/* PV cliquable vers PDF */
.fig--pv{margin:2rem 0}
.fig--pv a{display:block;text-decoration:none;border:1px solid var(--rule);background:#fff}
.fig--pv img{width:100%;height:auto;display:block}
.fig--pv .pv-open{display:block;background:var(--ink);color:var(--paper);font-family:var(--util);font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:13px 16px;text-align:center;transition:background .15s}
.fig--pv a:hover .pv-open{background:var(--accent)}

/* ===== Courrier des lecteurs ===== */
.article-body h2{font-family:var(--display);font-weight:600;font-size:1.7rem;line-height:1.15;margin:2.6rem 0 .8rem;padding-top:1.3rem;border-top:1px solid var(--rule);color:var(--ink)}
.article-body h3{font-family:var(--display);font-weight:600;font-size:1.28rem;margin:1.9rem 0 .6rem;color:var(--accent-dark)}
.article-body ul{margin:0 0 1.2rem;padding-left:1.2rem}
.article-body li{margin:0 0 .7rem;color:var(--ink-soft);line-height:1.55}
.article-body li strong,.article-body p strong{color:var(--ink)}
.letter-figure{margin:0 auto 2rem;max-width:360px}
.letter-figure img{width:100%;border:1px solid var(--rule)}
.letter-lede{font-family:var(--display);font-style:italic;color:var(--muted);margin:0 0 1.6rem}
.courrier-home{margin-top:8px}
.ch-intro{max-width:64ch;color:var(--ink-soft);margin:0 0 1.5rem}
.ch-featured{border-left:3px solid var(--accent);padding-left:1.3rem}
.ch-featured .eyebrow{margin-bottom:.5rem}
.ch-featured h3{font-family:var(--display);font-weight:600;font-size:1.6rem;line-height:1.14;margin:0 0 .5rem}
.ch-featured h3 a{text-decoration:none}
.ch-featured h3 a:hover{color:var(--accent)}
.ch-featured p{color:var(--ink-soft);max-width:64ch;margin:0 0 .9rem}
.courrier-cta{background:var(--ink);color:var(--paper);padding:26px 30px;margin:32px 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.courrier-cta p{font-family:var(--display);font-size:1.25rem;margin:0;max-width:60ch}
.btn-send{display:inline-block;font-family:var(--util);font-weight:700;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);background:var(--paper);text-decoration:none;padding:14px 22px;white-space:nowrap}
.btn-send:hover{background:#fff}
.letter-list{margin-top:8px}
.letter-row{padding:26px 0;border-top:1px solid var(--rule)}
.letter-row:last-child{border-bottom:1px solid var(--rule)}
.letter-row .l-meta{font-family:var(--util);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 .4rem}
.letter-row h3{font-family:var(--display);font-weight:600;font-size:1.7rem;line-height:1.12;margin:0 0 .5rem}
.letter-row h3 a{text-decoration:none}
.letter-row h3 a:hover{color:var(--accent)}
.letter-row p{margin:0;color:var(--ink-soft);max-width:70ch}
