:root{
  --rouge:#b3241b; --rouge-fonce:#7e1812; --noir:#161412; --charbon:#23201c;
  --papier:#e8dcc0; --papier-fonce:#d6c6a1; --encre:#2a241d; --ocre:#c8962e;
  --gris:#8a8070; --trait:#b9a57c;
  --titre:"Oswald","Arial Narrow",Impact,sans-serif;
  --texte:"PT Serif",Georgia,serif;
  --machine:"Special Elite","Courier New",monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--noir);color:var(--encre);
  font-family:var(--texte);line-height:1.7;font-size:17px;
}

/* ---------- Affiche d'en-tête ---------- */
header{
  position:relative;overflow:hidden;min-height:88vh;
  display:grid;place-items:center;text-align:center;padding:60px 20px;
  background:
    linear-gradient(118deg,transparent 0 58%,var(--noir) 58% 100%),
    repeating-conic-gradient(from 0deg at 50% 115%,rgba(0,0,0,.10) 0 4deg,transparent 4deg 12deg),
    var(--rouge);
  border-bottom:10px solid var(--noir);
}
header:after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence baseFrequency='.85' numOctaves='2'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
}
.hero{position:relative;z-index:1;max-width:920px}
.logo{width:min(560px,86vw);height:auto;display:block;margin:0 auto 22px;filter:drop-shadow(10px 12px 0 rgba(0,0,0,.45))}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.etoile{width:96px;height:96px;margin:0 auto 10px;display:block;filter:drop-shadow(4px 4px 0 var(--noir))}
.kicker{
  display:inline-block;font-family:var(--titre);font-weight:500;letter-spacing:.35em;
  text-transform:uppercase;font-size:.85rem;color:var(--papier);
  background:var(--noir);padding:6px 16px;
}
.cyr{display:block;font-family:var(--titre);letter-spacing:.5em;color:var(--papier);opacity:.85;margin-top:18px;font-size:.95rem}
h1{
  font-family:var(--titre);font-weight:700;font-size:clamp(3.4rem,13vw,9rem);
  line-height:.9;margin:.15em 0 0;color:var(--papier);letter-spacing:.03em;
  text-shadow:6px 6px 0 var(--noir);
}
.year{
  display:inline-block;font-family:var(--titre);font-weight:700;
  font-size:clamp(2rem,6vw,3.6rem);letter-spacing:.35em;padding:0 .2em 0 .55em;
  color:var(--rouge);background:var(--papier);box-shadow:6px 6px 0 var(--noir);margin-top:14px;
}
.quote{font-style:italic;color:var(--papier);max-width:680px;margin:34px auto 0;font-size:1.1rem}

/* ---------- Navigation ---------- */
nav{
  position:sticky;top:0;z-index:5;background:var(--noir);
  border-bottom:4px solid var(--rouge);overflow:auto;white-space:nowrap;padding:12px 16px;text-align:center
}
nav a{
  color:var(--papier);text-decoration:none;margin:0 10px;font-family:var(--titre);
  font-size:.9rem;text-transform:uppercase;letter-spacing:.12em
}
nav a:before{content:"★ ";color:var(--rouge);font-size:.75em}
nav a:hover{color:var(--ocre)}

/* ---------- Dossier papier ---------- */
main{
  position:relative;max-width:980px;margin:48px auto 70px;padding:60px 64px 90px;
  background:
    radial-gradient(circle at 12% 8%,rgba(120,80,30,.10),transparent 30%),
    radial-gradient(circle at 88% 70%,rgba(120,80,30,.12),transparent 35%),
    var(--papier);
  box-shadow:0 0 0 1px #000,0 30px 80px rgba(0,0,0,.6);
  counter-reset:chapitre;
}
main:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='p'><feTurbulence baseFrequency='.6' numOctaves='3'/><feColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .2 0 0 0 .25 0'/></filter><rect width='200' height='200' filter='url(%23p)'/></svg>");
}
main > *{position:relative}
section{margin:0 0 80px;scroll-margin-top:70px}
h2{
  font-family:var(--titre);font-weight:700;font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.15;
  text-transform:uppercase;letter-spacing:.04em;color:var(--papier);
  background:var(--rouge);padding:12px 20px 12px 18px;margin:0 0 26px -64px;
  box-shadow:6px 6px 0 var(--noir);display:inline-block;max-width:calc(100% + 64px);
}
h2:before{
  counter-increment:chapitre;content:"№ " counter(chapitre);
  display:block;font-size:.5em;letter-spacing:.3em;color:var(--noir);
}
h3{
  font-family:var(--titre);font-weight:700;color:var(--rouge-fonce);text-transform:uppercase;
  letter-spacing:.08em;margin-top:38px;font-size:1.25rem
}
p{margin:1em 0}
strong{color:#000}
.lead{font-size:1.2rem}
.date{
  display:inline-block;font-family:var(--titre);font-weight:700;letter-spacing:.2em;
  color:var(--papier);background:var(--noir);padding:2px 12px
}

/* ---------- Transcriptions des bandes ---------- */
.testimony{
  position:relative;margin:26px 0;padding:22px 26px 22px 34px;
  background:rgba(255,250,235,.55);border:1px solid var(--trait);
  font-family:var(--machine);font-size:.98rem;line-height:1.75;
}
.testimony:before{content:"";position:absolute;left:14px;top:0;bottom:0;width:2px;background:var(--rouge)}
.testimony p{color:var(--encre)}
.testimony strong{color:var(--rouge-fonce)}

/* ---------- Documents officiels ---------- */
.redacted{background:var(--noir);color:var(--noir);padding:0 .3em;user-select:none}
.notice{
  position:relative;margin:34px auto;padding:28px 30px;max-width:640px;
  background:#f3ead2;color:var(--encre);font-family:var(--machine);
  border:2px solid var(--encre);outline:1px solid var(--encre);outline-offset:4px;
  box-shadow:8px 10px 0 rgba(0,0,0,.18);transform:rotate(-.6deg);
}
.notice strong{color:var(--rouge);font-family:var(--titre);letter-spacing:.12em;font-size:1.1em}
.notice:after{
  content:"СЕКРЕТНО";position:absolute;right:18px;bottom:14px;transform:rotate(-12deg);
  font-family:var(--titre);font-weight:700;letter-spacing:.2em;font-size:1rem;
  color:var(--rouge);border:3px solid var(--rouge);padding:2px 10px;opacity:.7
}

/* ---------- Étiquettes de cassettes et radio ---------- */
.radio{
  margin:32px 0;padding:18px 22px;background:var(--charbon);color:var(--papier);
  font-family:var(--machine);font-size:.92rem;letter-spacing:.04em;
  border-left:10px solid var(--rouge);box-shadow:6px 6px 0 rgba(0,0,0,.25)
}

/* ---------- Chronologie ---------- */
.timeline{border-left:3px solid var(--noir);margin-left:12px;padding-left:32px}
.timeline article{position:relative;margin:0 0 42px}
.timeline article:before{
  content:"★";position:absolute;left:-49px;top:28px;width:30px;height:30px;
  display:grid;place-items:center;background:var(--rouge);color:var(--papier);font-size:15px;
  border:3px solid var(--noir)
}

/* ---------- Cartes ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:26px}
.card{background:var(--noir);color:var(--papier);padding:22px;border-top:8px solid var(--rouge)}
.card b{font-family:var(--titre);text-transform:uppercase;letter-spacing:.1em;color:var(--ocre)}
.card p{margin-bottom:0}

/* ---------- Slogans ---------- */
.bigline{
  text-align:center;font-family:var(--titre);font-weight:700;text-transform:uppercase;
  font-size:clamp(1.5rem,4.6vw,2.6rem);line-height:1.2;letter-spacing:.03em;
  color:var(--papier);background:var(--noir);padding:28px 20px;margin:50px -64px;
  border-top:6px solid var(--rouge);border-bottom:6px solid var(--rouge)
}

footer{
  text-align:center;color:var(--gris);padding:40px 20px 60px;font-family:var(--titre);
  letter-spacing:.25em;font-size:.85rem;text-transform:uppercase
}
footer:before{content:"★";display:block;color:var(--rouge);font-size:1.6rem;margin-bottom:8px}

@media(max-width:700px){
  body{font-size:16px}
  main{margin:24px 0 50px;padding:40px 18px 60px}
  h2{margin-left:-18px;max-width:calc(100% + 18px)}
  .bigline{margin:40px -18px}
  .testimony{padding:16px 16px 16px 26px}
  .testimony:before{left:10px}
  .notice{padding:22px 18px 46px}
  .timeline{padding-left:24px}
  .timeline article:before{left:-40px}
  nav{text-align:left}
}

/* ---------- Poste radio (musique) ---------- */
.poste{
  position:fixed;right:18px;bottom:18px;z-index:10;display:flex;align-items:center;gap:10px;
  background:var(--noir);color:var(--papier);border:2px solid var(--rouge);
  padding:10px 16px;font-family:var(--titre);letter-spacing:.12em;text-transform:uppercase;
  font-size:.85rem;cursor:pointer;box-shadow:5px 5px 0 rgba(0,0,0,.45)
}
.poste:hover{background:var(--rouge)}
.poste .voyant{width:10px;height:10px;border-radius:50%;background:#4a3f36}
.poste.actif .voyant{background:#e33;box-shadow:0 0 8px #e33;animation:clignote 1.2s infinite}
@keyframes clignote{50%{opacity:.35}}

/* ---------- Liens légaux du pied de page ---------- */
.liens-legaux{display:block;margin-top:12px;letter-spacing:.12em;font-size:.75rem}
.liens-legaux a{color:var(--gris);margin:0 8px}
.liens-legaux a:hover{color:var(--ocre)}
