/* ===== Habillage du site (navigation, accueil, listes) =====
   Le chrome reprend la couverture : nuit olive + or du logo ; les listes sont sur papier. */
:root{
  --paper-site:#F4F0E6; --ink-site:#1C1E12; --muted-site:#5E5A48; --rule-site:rgba(28,30,18,.14);
  --card-site:#FFFDF7;
}
body.site{background:var(--paper-site);color:var(--ink-site)}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#15170B;padding:.5rem 1rem;z-index:50}
.skip:focus{left:8px;top:8px}

/* ---- barre de navigation ---- */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:rgba(17,19,9,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#F4EFE2;border-bottom:1px solid rgba(244,239,226,.12)}
.nav-in{max-width:76rem;margin:0 auto;padding-inline:clamp(16px,3vw,32px);height:60px;display:flex;align-items:center;gap:1.4rem}
.nav .brand{display:flex;align-items:center;flex:none}
.nav .brand img{height:26px;width:auto}
.nav-links{display:flex;gap:1.3rem;margin-left:auto;align-items:center}
.nav-links a{text-decoration:none;font-family:var(--sub);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.92rem;color:#E9E3CF;padding:.3rem 0;border-bottom:2px solid transparent}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:#fff;border-bottom-color:var(--gold)}
.btn-sub{display:inline-flex;align-items:center;gap:.5rem;background:var(--gold);color:#15170B!important;text-decoration:none;font-family:var(--sub);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.9rem;padding:.55rem .95rem;border:0!important;white-space:nowrap}
.btn-sub:hover{background:#FFD772}
.nav-menu{display:none;margin-left:auto}
.nav-menu summary{list-style:none;cursor:pointer;font-family:var(--sub);font-weight:600;text-transform:uppercase;letter-spacing:.08em;border:1px solid rgba(244,239,226,.3);padding:.4rem .8rem}
.nav-menu summary::-webkit-details-marker{display:none}
.nav-menu[open] .nav-panel{display:flex}
.nav-panel{display:none;position:absolute;left:0;right:0;top:60px;background:#111309;flex-direction:column;padding:.6rem clamp(16px,3vw,32px) 1.2rem;border-bottom:1px solid rgba(244,239,226,.15)}
.nav-panel a{color:#F4EFE2;text-decoration:none;font-family:var(--display);font-weight:700;font-size:1.25rem;padding:.6rem 0;border-top:1px solid rgba(244,239,226,.12)}
.nav-panel .btn-sub{margin-top:.8rem;justify-content:center}
@media (max-width:860px){.nav-links{display:none}.nav-menu{display:block}}

/* ---- gabarits ---- */
.shell{max-width:76rem;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.sec{padding-block:clamp(2.5rem,6vw,4.5rem)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.sec-head h2{font-family:var(--display);font-weight:800;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);line-height:1;margin:0;text-wrap:balance}
.sec-head p{margin:.5rem 0 0;color:var(--muted-site);max-width:38rem}
.more{font-family:var(--sub);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.88rem;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}
.eyebrow{font-family:var(--sub);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.85rem}

/* ---- héro de l'accueil ---- */
.hero-issue{background:var(--night);color:#F4EFE2}
.hero-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);align-items:center;padding-block:clamp(2rem,5vw,4rem)}
.hero-cover{display:block;box-shadow:0 0 0 2px rgba(244,193,79,.33),0 30px 60px -30px rgba(0,0,0,.9);transition:transform .3s}
.hero-cover:hover{transform:rotate(-1deg) translateY(-4px)}
.hero-cover img{width:100%;height:auto}
.hero-issue .eyebrow{color:var(--gold)}
.hero-issue h1{font-family:var(--display);font-weight:800;font-size:clamp(2.2rem,1.2rem + 4vw,4.4rem);line-height:.98;margin:.6rem 0 1.4rem;text-wrap:balance}
.hero-toc{list-style:none;padding:0;margin:0 0 1.8rem;border-top:1px solid rgba(244,239,226,.18)}
.hero-toc a{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1rem;padding:.6rem 0;border-bottom:1px solid rgba(244,239,226,.18);text-decoration:none;align-items:baseline}
.hero-toc .k{font-family:var(--sub);font-weight:600;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#C9C3AA}
.hero-toc .t{font-family:var(--display);font-weight:700;font-size:1.15rem;line-height:1.25}
.hero-toc a:hover .t{color:var(--gold)}
.cta-row{display:flex;gap:.8rem;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sub);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.95rem;padding:.75rem 1.2rem;text-decoration:none;border:2px solid currentColor}
.btn.solid{background:var(--gold);border-color:var(--gold);color:#15170B}
.btn.solid:hover{background:#FFD772;border-color:#FFD772}
@media (max-width:760px){.hero-grid{grid-template-columns:1fr}.hero-cover{max-width:20rem;margin-inline:auto}.hero-toc a{grid-template-columns:1fr;gap:.1rem}}

/* ---- cartes d'articles ---- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16.5rem),1fr));gap:clamp(14px,2vw,22px)}
.cards.six{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr))}
.card{display:flex;flex-direction:column;background:var(--card-site);text-decoration:none;color:var(--ink-site);border:1px solid var(--rule-site);transition:transform .2s,box-shadow .2s;min-width:0}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 30px -22px rgba(28,30,18,.55)}
.card .pic{aspect-ratio:4/3;overflow:hidden;background:var(--rc,#333);position:relative}
.card .pic img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .pic img{transform:scale(1.04)}
.card .pic.type{display:flex;align-items:flex-end;padding:1rem;color:var(--ri,#fff)}
.card .pic.type span{font-family:var(--display);font-weight:800;font-size:1.5rem;line-height:1.05;text-wrap:balance}
.card .body{padding:.9rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.45rem;flex:1}
.chip-r{align-self:flex-start;font-family:var(--sub);font-weight:700;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;background:var(--rc);color:var(--ri);padding:.18rem .5rem}
.card h3{font-family:var(--display);font-weight:700;font-size:1.18rem;line-height:1.2;margin:0;text-wrap:balance}
.card .sub{font-size:.9rem;color:var(--muted-site);line-height:1.4}
.card .meta{margin-top:auto;display:flex;justify-content:space-between;gap:.5rem;font-family:var(--mono);font-size:.74rem;color:var(--muted-site);padding-top:.4rem}
.card .meta b{font-weight:600;color:var(--ink-site)}
.badge-pdf{border:1px solid var(--rule-site);padding:0 .35rem}

/* ---- abonnement ---- */
.subscribe-band{background:var(--gold);color:#15170B}
.subscribe-in{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:1.5rem 3rem;align-items:center;padding-block:clamp(2rem,5vw,3rem)}
.subscribe-band h2{font-family:var(--display);font-weight:800;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);line-height:1.02;margin:0 0 .5rem}
.subscribe-band p{margin:0;max-width:36rem}
.subscribe-band .btn{border-color:#15170B;background:#15170B;color:var(--gold)}
.subscribe-band .btn:hover{background:#2A2D18}
@media (max-width:700px){.subscribe-in{grid-template-columns:1fr}}

/* ---- cours ---- */
.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:.8rem}
.course-link{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--card-site);border:1px solid var(--rule-site);border-left:5px solid var(--lv,#4A5320);padding:.85rem 1rem;text-decoration:none;color:var(--ink-site)}
.course-link:hover{border-color:var(--ink-site)}
.course-link b{font-family:var(--display);font-weight:700;font-size:1.05rem;line-height:1.2}
.course-link small{display:block;font-family:var(--sub);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;color:var(--muted-site)}
.course-link .n{font-family:var(--mono);font-size:.8rem;color:var(--muted-site);white-space:nowrap}
.lv-col{--lv:#163A9C}.lv-sec{--lv:#E0841A}

/* ---- rubriques ---- */
.rub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.8rem}
.rub-tile{display:flex;flex-direction:column;gap:.4rem;min-height:9rem;background:var(--rc);color:var(--ri);padding:1rem 1.1rem;text-decoration:none;transition:transform .2s}
.rub-tile:hover{transform:translateY(-3px)}
.rub-tile b{font-family:var(--display);font-weight:800;font-size:1.3rem;line-height:1.1}
.rub-tile span{font-size:.88rem;line-height:1.4;opacity:.92}
.rub-tile em{margin-top:auto;font-style:normal;font-family:var(--mono);font-size:.75rem;opacity:.85}

/* ---- numéros ---- */
.issues{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(46%,11rem),1fr));gap:clamp(12px,2vw,20px)}
.issue-tile{display:block;text-decoration:none;color:var(--ink-site)}
.issue-tile .cv{aspect-ratio:935/1210;box-shadow:0 14px 26px -18px rgba(0,0,0,.7);overflow:hidden;transition:transform .25s;background:var(--ic,#1C1E12);color:#F4EFE2;display:flex;flex-direction:column;justify-content:space-between;padding:1rem}
.issue-tile:hover .cv{transform:translateY(-4px) rotate(-1deg)}
.issue-tile .cv img{width:calc(100% + 2rem);height:calc(100% + 2rem);margin:-1rem;object-fit:cover}
.issue-tile .cv .lg{font-family:"Literata",serif;font-weight:600;font-size:1.5rem;color:var(--gold)}
.issue-tile .cv .big{font-family:var(--display);font-weight:800;font-size:3.4rem;line-height:.9}
.issue-tile .cap{display:flex;justify-content:space-between;font-family:var(--sub);font-weight:600;font-size:.95rem;margin-top:.55rem}
.issue-tile .cap span{color:var(--muted-site)}

/* ---- page de numéro ---- */
.issue-head{background:var(--night);color:#F4EFE2}
.issue-head .hero-grid{grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr)}
.note-box{background:var(--card-site);border:1px dashed var(--rule-site);padding:1rem 1.2rem;margin-bottom:1.6rem;font-size:.95rem}

/* ---- listes filtrables ---- */
.filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1.6rem}
.filters input[type=search]{flex:1 1 16rem;font:inherit;font-size:1rem;padding:.65rem .9rem;border:1px solid var(--rule-site);background:var(--card-site);color:var(--ink-site);min-width:0}
.fchip{font-family:var(--sub);font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;padding:.45rem .8rem;border:1px solid var(--rule-site);background:var(--card-site);color:var(--ink-site);cursor:pointer}
.fchip[aria-pressed="true"]{background:var(--ink-site);color:var(--paper-site);border-color:var(--ink-site)}
.group{margin-bottom:2.6rem}
.group-head{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap;border-bottom:3px solid var(--rc,var(--ink-site));padding-bottom:.5rem;margin-bottom:1rem}
.group-head h2{font-family:var(--display);font-weight:800;font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);margin:0}
.group-head p{margin:0;color:var(--muted-site);font-size:.92rem;flex:1 1 18rem}
.rows{list-style:none;margin:0;padding:0}
.rows li a{display:grid;grid-template-columns:4.2rem minmax(0,1fr) auto;gap:1rem;align-items:baseline;padding:.7rem 0;border-bottom:1px solid var(--rule-site);text-decoration:none;color:var(--ink-site)}
.rows li a:hover .t{text-decoration:underline;text-underline-offset:3px}
.rows .no{font-family:var(--mono);font-size:.8rem;color:var(--muted-site)}
.rows .t{font-family:var(--display);font-weight:700;font-size:1.08rem;line-height:1.25}
.rows .t small{display:block;font-family:var(--body);font-weight:400;font-size:.88rem;color:var(--muted-site);margin-top:.15rem}
.rows .st{font-family:var(--sub);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.rows .st.web{color:#2C6B2F}.rows .st.pdf{color:var(--muted-site)}
.rows .t small.hit{font-size:.84rem;line-height:1.45;margin-top:.3rem}
.rows .hit mark{background:#F4C14F66;color:inherit;padding:0 .1em}
.empty{color:var(--muted-site);font-style:italic}
[data-hide]{display:none!important}

/* ---- pied d'article : contexte ---- */
.after{background:var(--paper-site);color:var(--ink-site)}
.after .ctx{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:0 0 1.4rem}
.after .ctx a{font-family:var(--sub);font-weight:600;font-size:.88rem;text-decoration:none;border:1px solid var(--rule-site);background:var(--card-site);padding:.3rem .65rem;color:var(--ink-site)}
.after .ctx a:hover{border-color:var(--ink-site)}
.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.prevnext a{display:block;text-decoration:none;color:var(--ink-site);border-top:3px solid var(--ink-site);padding-top:.7rem}
.prevnext a.nx{text-align:right}
.prevnext span{font-family:var(--mono);font-size:.74rem;color:var(--muted-site);text-transform:uppercase;letter-spacing:.08em}
.prevnext b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(1.1rem,1rem + .6vw,1.5rem);line-height:1.15;margin-top:.3rem}
@media (max-width:600px){.prevnext{grid-template-columns:1fr}.prevnext a.nx{text-align:left}}

/* ---- prose simple (à propos) ---- */
.prose{max-width:40rem}
.prose h1{font-family:var(--display);font-weight:800;font-size:clamp(2.2rem,1.4rem + 3vw,3.6rem);line-height:1;margin:0 0 1.4rem}
.prose h2{font-family:var(--display);font-weight:800;font-size:1.5rem;margin:2.2rem 0 .8rem}
.page-title{font-family:var(--display);font-weight:800;font-size:clamp(2.2rem,1.4rem + 3vw,3.8rem);line-height:1;margin:0 0 .8rem;text-wrap:balance}
.page-lead{font-size:1.1rem;color:var(--muted-site);max-width:42rem;margin:0}

/* ---- pied de page ---- */
.footer{background:#0E0F07;color:#C9C3AA;font-size:.9rem}
.footer-in{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:2rem;padding-block:2.6rem 3rem}
.footer img{height:30px;width:auto;margin-bottom:.8rem}
.footer h3{font-family:var(--sub);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;color:#F4EFE2;margin:0 0 .7rem}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.footer a{color:#E9E3CF;text-decoration:none}
.footer a:hover{color:var(--gold)}
.footer .fine{grid-column:1/-1;font-family:var(--mono);font-size:.72rem;border-top:1px solid rgba(244,239,226,.12);padding-top:1.2rem;line-height:1.6}
@media (max-width:760px){.footer-in{grid-template-columns:1fr 1fr}.footer-in>div:first-child{grid-column:1/-1}}

.card.soon{opacity:.62;cursor:default}.card.soon:hover{transform:none;box-shadow:none}.card.soon:hover .pic img{transform:none}
.rows li .soon{display:grid;grid-template-columns:4.2rem minmax(0,1fr) auto;gap:1rem;align-items:baseline;padding:.7rem 0;border-bottom:1px solid var(--rule-site);color:var(--muted-site)}
.rows li .soon .t{color:var(--muted-site)}
#mot{scroll-margin-top:64px}
html,body{overflow-x:clip}

/* ---------- Version PDF (impression) ---------- */
.print-only{display:none}
.pdf-bar{position:fixed;right:clamp(12px,2.5vw,24px);bottom:clamp(12px,2.5vw,24px);z-index:40}
.pdf-btn{display:inline-flex;align-items:center;gap:.45rem;background:#F4EFE2;color:#15170B;border:1px solid rgba(21,23,11,.25);border-radius:999px;padding:.55rem .95rem;font:700 .78rem/1 "Barlow Semi Condensed",sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
.pdf-btn:hover,.pdf-btn:focus-visible{background:#F2C14E}
@media print{
  @page{size:letter;margin:16mm 16mm 18mm}
  :root,html,body{color-scheme:light !important;background:#fff !important;color:#111 !important}
  .skip,header.nav,.footer,.subscribe-band,.after,.pdf-bar,.lab,.chips,.check{display:none !important}
  .print-only{display:block !important}
  main{padding:0 !important}
  .view,.benford-page{--bg:#fff;--fg:#111;--muted:#444;--accent:#333;--accent-ink:#fff;--rule:#bbb;--card:#f3f3f3;--chart:#eee;background:#fff !important;color:#111 !important}
  .benford-page *,.view *{transform:none !important;color:#111 !important;text-shadow:none !important;box-shadow:none !important;background-color:transparent !important;background-image:none !important;border-color:#bbb !important}
  .benford-page *::before,.benford-page *::after,.view *::before,.view *::after{background:none !important;box-shadow:none !important}
  .view a{text-decoration:underline}
  .view h1,.view h2,.view h3{break-after:avoid;page-break-after:avoid}
  .benford-page img,.benford-page figure,.view img,.view figure,.view table,.view svg,.view .formula,.view blockquote{break-inside:avoid;page-break-inside:avoid}
  .view header img,.view [class*="hero"] img{max-height:8.5cm !important;width:100%;object-fit:cover}
  .benford-page img,.view img{max-width:100% !important;max-height:11cm;filter:none !important}
  .view figure img{margin-inline:auto}
  .view [class*="hero"],.view header{min-height:0 !important;padding-top:0 !important}
  .view [class*="hero"] .txt,.view header .txt{position:static !important;margin:0 !important}
  .view .gut,.view .col,.view .body{padding-left:0 !important;padding-right:0 !important;max-width:none !important}
  .view p,.view li{orphans:3;widows:3}
  .print-head{border-bottom:2px solid #111;padding-bottom:6mm;margin-bottom:6mm}
  .print-head .ph-revue{font:700 9pt/1.2 "Barlow Semi Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase;margin:0 0 3mm}
  .print-head .ph-titre{font:800 22pt/1.1 "Bricolage Grotesque",sans-serif;margin:0}
  .print-head .ph-sous{font:italic 12pt/1.3 Literata,serif;margin:2mm 0 0}
  .print-head .ph-meta{font:10pt/1.3 "IBM Plex Mono",monospace;margin:3mm 0 0}
  .view [class*="hero"] .title,.view [class*="hero"] .kicker,.view header .title,.view header .kicker,.view header h1{display:none !important}
  .lab-print{display:flex !important;gap:5mm;align-items:center;border:1.5px dashed #555;padding:4mm 5mm;margin:6mm 0;break-inside:avoid}
  .lab-print svg{width:26mm;height:26mm;flex:none}
  .lab-print p{margin:0;font-size:10pt;line-height:1.4}
  .print-foot{border-top:1px solid #111;margin-top:10mm;padding-top:3mm;font-size:9pt;line-height:1.4}
  .print-foot p{margin:0 0 1mm}
}
