:root{
  --bg:#333333;
  --bg2:#292929;
  --panel:#3b3b3b;
  --panel2:#454545;
  --ink:#f4f4f1;
  --muted:#d8d8d1;
  --soft:#bdbdb6;
  --accent:#97af1e;
  --accent2:#c6df4d;
  --line:rgba(255,255,255,.14);
  --line2:rgba(151,175,30,.45);
  --shadow:0 18px 42px rgba(0,0,0,.28);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at top left,rgba(151,175,30,.09),transparent 32rem),linear-gradient(180deg,#383838 0,#303030 42rem,#333 100%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.55}
img{display:block;max-width:100%;height:auto}
a{color:var(--accent2);text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{color:#e4f78a}
.archive-notice{min-height:42px;display:flex;gap:12px;align-items:center;justify-content:center;padding:9px 18px;background:#242424;border-bottom:1px solid var(--line);color:#ededed;font-size:14px;line-height:1.35;text-align:center}.archive-notice a{font-weight:700;text-decoration:none}.archive-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:24px 0 48px}.archive-section{margin-top:22px}.archive-hero,.panel,.timeline-widget,.notes,.piece-card,.module-card,.source-card,.cc-card{background:rgba(59,59,59,.93);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.archive-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:22px;align-items:center;padding:28px}.hero-media{margin:0;background:#202020;border:1px solid var(--line);border-radius:18px;padding:10px}.hero-media img{border-radius:12px;aspect-ratio:16/9;object-fit:cover}.hero-media figcaption{margin-top:10px;color:var(--soft);font-size:13px}.eyebrow{margin:0 0 10px;color:var(--accent2);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.archive-hero h1,.page-hero h1{margin:0 0 14px;font-size:clamp(2rem,4vw,3.6rem);line-height:.98;letter-spacing:-.03em}.archive-lead,.page-lead{max-width:74ch;margin:0;color:#eeeeea;font-size:18px;line-height:1.62}.hero-actions,.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--ink);font-weight:750;text-decoration:none}.btn:hover{border-color:var(--accent2);color:#fff}.btn-primary{background:var(--accent);border-color:var(--accent);color:#151515}.btn-primary:hover{color:#000;background:var(--accent2)}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin:0 0 14px}.section-heading h2{margin:0;font-size:clamp(1.35rem,2.6vw,2.1rem);letter-spacing:-.025em}.section-heading p{margin:6px 0 0;max-width:70ch;color:var(--muted)}.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.module-card{padding:16px;min-height:168px;display:flex;flex-direction:column}.module-card h3{margin:0 0 8px;font-size:1.05rem}.module-card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.48}.module-card .card-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;padding-top:14px}.small-link{display:inline-flex;min-height:34px;align-items:center;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.045);font-size:13px;font-weight:700;text-decoration:none}.principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.principle{padding:15px;background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:16px}.principle strong{display:block;margin-bottom:6px;color:#fff}.principle span{color:var(--muted);font-size:14px}.page-hero{padding:26px 0 6px}.timeline-widget{padding:14px}.timeline-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.timeline-filter{min-height:34px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.05);color:var(--ink);padding:0 11px;font-weight:750;cursor:pointer}.timeline-filter.is-active,.timeline-filter:hover{background:var(--accent);border-color:var(--accent);color:#151515}.timeline-layout{display:grid;grid-template-columns:370px minmax(0,1fr);gap:14px;min-height:520px}.timeline-track{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 215px);min-height:460px;overflow:auto;padding-right:4px}.timeline-point{width:100%;display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;align-items:start;text-align:left;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.045);color:var(--ink);padding:11px;cursor:pointer}.timeline-point:hover,.timeline-point.is-active{border-color:var(--accent2);background:rgba(151,175,30,.13)}.timeline-point-date{display:block;color:var(--accent2);font-size:12px;font-weight:900;letter-spacing:.05em}.timeline-point-type{display:block;color:var(--soft);font-size:12px;line-height:1.3}.timeline-point strong{display:block;font-size:14.5px;line-height:1.25}.timeline-detail{background:#f7f7f2;color:#1f1f1b;border-radius:16px;padding:20px;min-height:460px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.timeline-detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.timeline-detail-date,.timeline-detail-category{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:900}.timeline-detail-date{background:#1f1f1b;color:#fff}.timeline-detail-category{background:#dfe6b6;color:#1f1f1b}.timeline-detail h3{margin:0 0 10px;color:#111;font-size:clamp(1.45rem,3vw,2.2rem);letter-spacing:-.03em}.timeline-detail p{color:#333;font-size:16px;line-height:1.62}.timeline-detail-summary{font-weight:750}.timeline-detail-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.timeline-detail-link{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border-radius:999px;background:#333;color:#fff;text-decoration:none;font-size:14px;font-weight:800}.timeline-detail-link:hover{background:#111;color:#fff}.timeline-media{margin:14px 0 0;border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.12);background:#e5e5dc}.timeline-media img{width:100%;max-height:320px;object-fit:contain;background:#eee}.piece-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.piece-card{overflow:hidden;background:rgba(59,59,59,.96)}.piece-card figure{margin:0;background:#222;border-bottom:1px solid var(--line)}.piece-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.piece-card-body{padding:15px}.piece-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:rgba(151,175,30,.18);border:1px solid rgba(151,175,30,.3);color:#eef8af;font-size:11px;font-weight:800}.piece-card h3{margin:0 0 8px;font-size:1.1rem}.piece-card p{margin:0;color:var(--muted);font-size:14.5px}.piece-card a{display:inline-flex;margin-top:12px}.notes,.panel{padding:18px}.notes h2,.panel h2{margin-top:0}.note-list{margin:0;padding-left:18px;color:var(--muted)}.note-list li+li{margin-top:7px}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.source-card{padding:16px}.source-card h3{margin:0 0 8px}.source-card p{margin:0;color:var(--muted)}.footer-mini{margin-top:24px;color:var(--soft);font-size:13px;text-align:center}.high-contrast{color:#fff}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
/* compatibility with older archive pages */
.hero,.guided-route,.overview,.timeline,.sources,.essay-hero,.essay-panel{background:rgba(59,59,59,.93);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-copy,.overview-card,.source-card{background:transparent;border:none;box-shadow:none}.route-grid,.stage-grid,.comparison-grid,.method-grid,.milestone-grid,.evidence-grid{display:grid;gap:13px;padding:0 18px 18px}.route-grid,.stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.comparison-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.method-grid,.milestone-grid,.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-step,.stage-card,.comparison-card,.method-card,.milestone-card,.evidence-card{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:16px;color:var(--ink);padding:16px}.route-step p,.stage-card p,.comparison-card p,.method-card p,.milestone-body p,.evidence-card p,.method-list li,.evidence-list li{color:var(--muted)}.section-head{padding:18px}.section-head h2{color:#fff}.section-head p{color:var(--muted)}
@media(max-width:980px){.archive-hero,.timeline-layout{grid-template-columns:1fr}.module-grid,.principles,.piece-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-track{max-height:none;min-height:auto}.timeline-detail{min-height:auto}.archive-hero{padding:20px}.hero-media{grid-row:auto}.route-grid,.stage-grid,.comparison-grid,.method-grid,.milestone-grid,.evidence-grid{grid-template-columns:1fr}}
@media(max-width:620px){.archive-shell{width:min(100% - 20px,1180px);padding-top:14px}.module-grid,.principles,.piece-grid,.source-grid{grid-template-columns:1fr}.archive-notice{display:block}.archive-hero h1,.page-hero h1{font-size:2rem}.archive-lead,.page-lead{font-size:16px}.timeline-point{grid-template-columns:72px minmax(0,1fr)}}

/* Embedded SWF/Ruffle panel inside timeline details */
.timeline-swf-card{
  margin:18px 0;
  padding:12px;
  border:1px solid rgba(198,223,77,.28);
  border-radius:18px;
  background:rgba(0,0,0,.28);
  box-shadow:0 14px 40px rgba(0,0,0,.22) inset;
}
.timeline-swf-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin:0 0 10px;
  color:#f2f2f2;
  font-size:.88rem;
}
.timeline-swf-head span{
  color:#c6df4d;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.timeline-swf-host{
  width:calc(100% * var(--swf-display-scale, .7));
  max-width:100%;
  margin-inline:auto;
  aspect-ratio:var(--swf-ratio, 485 / 575);
  min-height:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:14px;
  background:#000;
}
.timeline-swf-host .timeline-ruffle-player,
.timeline-swf-host ruffle-player{
  width:100%;
  height:100%;
  display:block;
}
.timeline-swf-status{
  color:#e8e8e8;
  padding:18px;
  text-align:center;
}
@media (max-width: 760px){
  .timeline-swf-host{width:100%;}
  .timeline-swf-head{display:block;}
  .timeline-swf-head span{display:block;margin-top:4px;}
}


.timeline-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:16px 0 4px;
}
.timeline-gallery-item{
  display:grid;
  grid-template-rows:1fr auto;
  gap:8px;
  align-items:end;
  padding:10px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  background:#e8e8df;
  color:#1f1f1b;
  text-decoration:none;
  font-weight:850;
  font-size:13px;
}
.timeline-gallery-item:hover{
  background:#dfe6b6;
  color:#111;
}
.timeline-gallery-item img{
  width:100%;
  height:150px;
  object-fit:contain;
  background:#f8f8f2;
  border-radius:10px;
}
.timeline-gallery-item span{
  display:block;
  line-height:1.25;
}
@media(max-width:620px){.timeline-gallery{grid-template-columns:1fr}.timeline-gallery-item img{height:180px}}


.timeline-slideshow{
  position:relative;
  min-height:340px;
  margin:16px 0 4px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  background:#e8e8df;
}
.timeline-slide{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:8px;
  padding:10px;
  opacity:0;
  color:#1f1f1b;
  text-decoration:none;
  font-weight:850;
  cursor:default;
  animation:archiveSlide calc(var(--slide-count, 4) * 4s) infinite;
  animation-delay:calc(var(--slide-index, 0) * 4s);
}
.timeline-slide img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
  background:#f8f8f2;
  border-radius:10px;
}
.timeline-slide span{
  display:block;
  line-height:1.25;
  text-align:center;
}
.timeline-slideshow:hover .timeline-slide{
  animation-play-state:paused;
}
@keyframes archiveSlide{
  0%, 20% {opacity:1; z-index:2;}
  25%, 100% {opacity:0; z-index:1;}
}
@media (prefers-reduced-motion: reduce){
  .timeline-slide{animation:none;opacity:0;}
  .timeline-slide:first-child{opacity:1;}
}
@media(max-width:620px){.timeline-slideshow{min-height:300px}}


/* V24 · page préambule laboratoire */
.prelude-hero .page-lead a,
.archive-lead a{color:#c6df4d;font-weight:850;text-decoration:none;border-bottom:1px solid rgba(198,223,77,.45)}
.prelude-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.prelude-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.05);box-shadow:var(--shadow)}
.prelude-card h2{margin:8px 0 10px;color:#fff;font-size:1.25rem}
.prelude-card p{margin:0;color:var(--muted);line-height:1.65}
.prelude-date{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:rgba(151,175,30,.2);border:1px solid rgba(151,175,30,.34);color:#eef8af;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.prelude-focus{padding:18px}
.facsimile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.facsimile-card{margin:0;padding:10px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid var(--line)}
.facsimile-card img{width:100%;max-height:560px;object-fit:contain;background:#f5f5ef;border-radius:10px}
.facsimile-card figcaption{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.4;text-align:center}
.prelude-transition{padding:20px}.prelude-transition p{color:var(--muted);font-size:16px;line-height:1.7}
@media(max-width:900px){.prelude-grid,.facsimile-grid{grid-template-columns:1fr}.facsimile-card img{max-height:none}}


/* V25 · préambule laboratoire recentré sur l'histoire du laboratoire */
.context-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.context-block{padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.05);box-shadow:var(--shadow)}
.context-block-wide{grid-column:1/-1}
.context-block h2{margin:8px 0 10px;color:#fff;font-size:1.25rem}
.context-block p{margin:0 0 10px;color:var(--muted);line-height:1.68}
.context-block p:last-child{margin-bottom:0}
@media(max-width:900px){.context-story{grid-template-columns:1fr}.context-block-wide{grid-column:auto}}


/* V34 · carousel de vignettes cartographiques en accueil */
.hero-carousel-card{overflow:hidden;padding:12px;background:linear-gradient(180deg,#242424,#1f1f1f)}
.archive-carousel-heading{display:flex;justify-content:space-between;gap:12px;align-items:end;margin:0 0 10px;color:#fff}
.archive-carousel-heading span{color:var(--accent2);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.archive-carousel-heading strong{font-size:14px;text-align:right;line-height:1.25}
.archive-carousel{position:relative;overflow:hidden;border-radius:14px;background:#141414;border:1px solid rgba(255,255,255,.12);height:286px}
.archive-carousel::before,.archive-carousel::after{content:"";position:absolute;top:0;bottom:0;width:52px;z-index:2;pointer-events:none}
.archive-carousel::before{left:0;background:linear-gradient(90deg,#141414,rgba(20,20,20,0))}
.archive-carousel::after{right:0;background:linear-gradient(270deg,#141414,rgba(20,20,20,0))}
.archive-carousel-track{height:100%;display:flex;gap:12px;align-items:center;width:max-content;padding:12px;animation:archiveCarousel 58s linear infinite}
.archive-carousel:hover .archive-carousel-track{animation-play-state:paused}
.archive-carousel-item{flex:0 0 205px;height:252px;border-radius:13px;background:#f2f2ec;border:1px solid rgba(255,255,255,.18);padding:8px;display:grid;place-items:center;box-shadow:0 12px 24px rgba(0,0,0,.22)}
.archive-carousel-item img{width:100%;height:100%;object-fit:contain;border-radius:8px;background:#fff;aspect-ratio:auto}
@keyframes archiveCarousel{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 6px))}}
@media(max-width:980px){.archive-carousel{height:260px}.archive-carousel-item{flex-basis:190px;height:226px}.archive-carousel-heading{display:block}.archive-carousel-heading strong{text-align:left;display:block;margin-top:2px}}
@media(max-width:620px){.archive-carousel{height:232px}.archive-carousel-item{flex-basis:170px;height:198px}.archive-carousel-track{gap:10px;padding:10px}.archive-carousel::before,.archive-carousel::after{width:34px}}
@media (prefers-reduced-motion: reduce){.archive-carousel-track{animation:none;overflow-x:auto;max-width:100%}.archive-carousel{overflow-x:auto}}


/* V35 · bloc de sortie de période */
.trajectory-outro p{max-width:86ch;margin:0;color:var(--muted);font-size:16px;line-height:1.68}
.trajectory-outro p+p{margin-top:10px}
.trajectory-outro h2{color:#fff}

/* ==========================================================================\n   V36 · Identité Archives — strate documentaire du Lab Manoux\n   Le HTML, les contenus et les parcours restent inchangés.\n   Aucun effet rétro : l'identité vient du papier, des filets, des cotes et\n   d'une hiérarchie éditoriale plus sèche.\n   ========================================================================== */

:root{
  --archive-paper:#f3f1e9;
  --archive-sheet:#fbfaf5;
  --archive-sheet-2:#efede3;
  --archive-ink:#292a27;
  --archive-muted:#67685f;
  --archive-soft:#898a80;
  --archive-rule:#cbc9bd;
  --archive-rule-strong:#a5a499;
  --archive-olive:#97af1e;
  --archive-olive-dark:#687c0d;
  --archive-olive-pale:#e9edcf;
  --archive-black:#242522;
  --archive-shadow:0 9px 28px rgba(36,37,34,.07);
  --archive-radius:4px;

  /* aliases used by the existing pages */
  --bg:var(--archive-paper);
  --bg2:#ebe9df;
  --panel:var(--archive-sheet);
  --panel2:var(--archive-sheet-2);
  --ink:var(--archive-ink);
  --muted:var(--archive-muted);
  --soft:var(--archive-soft);
  --accent:var(--archive-olive);
  --accent2:var(--archive-olive-dark);
  --line:var(--archive-rule);
  --line2:var(--archive-olive);
  --shadow:var(--archive-shadow);
  --radius:var(--archive-radius);
}

html{background:var(--archive-paper)}
body{
  background:
    linear-gradient(90deg,var(--archive-olive) 0 4px,transparent 4px),
    var(--archive-paper);
  color:var(--archive-ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  letter-spacing:.002em;
}

body::before{
  content:"";
  position:fixed;
  inset:0 0 auto 0;
  height:1px;
  background:rgba(41,42,39,.18);
  pointer-events:none;
  z-index:50;
}

a{color:var(--archive-olive-dark)}
a:hover{color:#3e4d05}
a:focus-visible,button:focus-visible{outline:3px solid rgba(151,175,30,.36);outline-offset:3px}

.archive-shell{width:min(1160px,calc(100% - 48px));padding:30px 0 58px}
.archive-section{margin-top:30px}

/* Bandeau = cartouche de conservation, pas alerte produit */
.archive-notice{
  min-height:38px;
  justify-content:flex-start;
  padding:8px max(24px,calc((100vw - 1160px)/2));
  background:var(--archive-black);
  border:0;
  border-bottom:1px solid #10110f;
  color:#e9e8e1;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:11px;
  letter-spacing:.035em;
  text-align:left;
}
.archive-notice strong{color:#cbdc72;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.archive-notice a{color:#f1f2e8;border-bottom:1px solid rgba(241,242,232,.36)}
.archive-notice a:hover{color:#dce98e}
.archive-notice .archive-lab-return{color:#cbdc72;white-space:nowrap}
@media(max-width:620px){.archive-notice .archive-lab-return{display:inline-block;margin-right:10px}}

/* Surfaces : feuilles et dossiers, angles courts, filets nets */
.archive-hero,.panel,.timeline-widget,.notes,.piece-card,.module-card,.source-card,.cc-card,
.hero,.guided-route,.overview,.timeline,.sources,.essay-hero,.essay-panel,
.prelude-card,.context-block{
  background:var(--archive-sheet);
  border:1px solid var(--archive-rule);
  border-radius:var(--archive-radius);
  box-shadow:var(--archive-shadow);
}

.archive-hero{
  position:relative;
  grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr);
  gap:30px;
  align-items:start;
  padding:30px 32px 32px 36px;
  border-left:4px solid var(--archive-olive);
}
.archive-hero::after{
  content:"ARCHIVES · LCA";
  position:absolute;
  top:12px;
  right:14px;
  color:var(--archive-soft);
  font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.15em;
}

.eyebrow{
  margin-bottom:13px;
  color:var(--archive-olive-dark);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
}
.archive-hero h1,.page-hero h1{
  max-width:13ch;
  margin-bottom:17px;
  color:var(--archive-black);
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Baskerville,Georgia,serif;
  font-size:clamp(2.3rem,4.8vw,4.15rem);
  font-weight:600;
  line-height:.94;
  letter-spacing:-.045em;
}
.archive-lead,.page-lead{
  color:#4d4e48;
  font-size:17px;
  line-height:1.68;
}
.prelude-hero .page-lead a,.archive-lead a{
  color:var(--archive-olive-dark);
  border-bottom-color:rgba(104,124,13,.42);
}

.hero-media{
  background:#e8e6db;
  border:1px solid var(--archive-rule);
  border-radius:2px;
  padding:8px;
  box-shadow:none;
}
.hero-media img{border-radius:0}
.hero-media figcaption{
  padding:3px 2px 0;
  color:var(--archive-muted);
  font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

/* Actions : onglets de dossier plutôt que pills */
.hero-actions,.actions{gap:8px;margin-top:22px}
.btn,.small-link,.timeline-detail-link{
  min-height:38px;
  border-radius:2px;
  border:1px solid var(--archive-rule-strong);
  background:transparent;
  color:var(--archive-ink);
  font-size:12px;
  font-weight:760;
  letter-spacing:.015em;
}
.btn:hover,.small-link:hover{border-color:var(--archive-olive-dark);background:var(--archive-olive-pale);color:#252a13}
.btn-primary{
  background:var(--archive-black);
  border-color:var(--archive-black);
  color:#f5f4ec;
}
.btn-primary:hover{background:var(--archive-olive-dark);border-color:var(--archive-olive-dark);color:#fff}

/* Titres de sections = intertitres de dossier */
.section-heading{
  position:relative;
  align-items:start;
  padding-top:13px;
  border-top:1px solid var(--archive-rule-strong);
}
.section-heading::before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:56px;
  border-top:3px solid var(--archive-olive);
}
.section-heading h2,.section-head h2,.notes h2,.panel h2,.trajectory-outro h2{
  color:var(--archive-black);
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Baskerville,Georgia,serif;
  font-weight:600;
  letter-spacing:-.025em;
}
.section-heading p,.section-head p{color:var(--archive-muted)}

/* Modules documentaires */
.module-grid,.principles,.piece-grid,.source-grid,.route-grid,.stage-grid,.comparison-grid,.method-grid,.milestone-grid,.evidence-grid{gap:10px}
.module-card,.piece-card,.source-card,.route-step,.stage-card,.comparison-card,.method-card,.milestone-card,.evidence-card,.principle{
  position:relative;
  background:var(--archive-sheet);
  border:1px solid var(--archive-rule);
  border-radius:3px;
  color:var(--archive-ink);
  box-shadow:none;
}
.module-card{min-height:158px;padding:17px 16px 15px}
.module-card::before,.source-card::before,.piece-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:42px;
  border-top:3px solid var(--archive-olive);
}
.module-card h3,.piece-card h3,.source-card h3{color:var(--archive-black)}
.module-card p,.piece-card p,.source-card p,.route-step p,.stage-card p,.comparison-card p,.method-card p,.milestone-body p,.evidence-card p,.method-list li,.evidence-list li{color:var(--archive-muted)}
.principle{background:transparent;padding:14px;border-left:3px solid var(--archive-rule-strong)}
.principle strong{color:var(--archive-black)}
.principle span{color:var(--archive-muted)}

/* Cartes / fac-similés : bord de document, pas carte UI */
.piece-card{overflow:hidden}
.piece-card figure{background:#e8e6db;border-bottom:1px solid var(--archive-rule);padding:7px}
.piece-card img{border:1px solid #d4d2c7;border-radius:0;background:#fff}
.piece-card-body{padding:15px 16px 17px}
.piece-meta,.milestone-meta,.stage-meta{gap:5px}
.chip,.prelude-date{
  min-height:22px;
  padding:0 7px;
  border-radius:1px;
  border:1px solid #c8cf9f;
  background:#eef0df;
  color:#53620e;
  font:750 10px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.04em;
  text-transform:uppercase;
}

/* Frise : inventaire / registre */
.page-hero{padding:30px 0 14px;border-bottom:1px solid var(--archive-rule)}
.page-hero h1{max-width:none;font-size:clamp(2.2rem,4vw,3.5rem)}
.timeline-widget{padding:12px}
.timeline-controls{padding:2px 0 10px;margin-bottom:10px;border-bottom:1px solid var(--archive-rule)}
.timeline-filter{
  min-height:32px;
  border-radius:2px;
  border-color:var(--archive-rule);
  background:#f7f5ee;
  color:var(--archive-muted);
  font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
.timeline-filter.is-active,.timeline-filter:hover{background:var(--archive-black);border-color:var(--archive-black);color:#fff}
.timeline-layout{grid-template-columns:350px minmax(0,1fr);gap:12px}
.timeline-track{gap:5px;padding-right:6px}
.timeline-point{
  grid-template-columns:78px minmax(0,1fr);
  gap:9px;
  border-radius:2px;
  border-color:var(--archive-rule);
  background:#f7f6f0;
  color:var(--archive-ink);
  padding:10px 11px;
}
.timeline-point:hover,.timeline-point.is-active{
  border-color:#8f9d47;
  background:var(--archive-olive-pale);
  box-shadow:inset 3px 0 0 var(--archive-olive);
}
.timeline-point-date{color:var(--archive-olive-dark);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.timeline-point-type{color:var(--archive-soft)}
.timeline-detail{
  background:#fdfcf7;
  color:var(--archive-ink);
  border:1px solid var(--archive-rule);
  border-radius:2px;
  box-shadow:none;
  padding:24px 26px;
}
.timeline-detail-date,.timeline-detail-category{min-height:24px;border-radius:1px;font-size:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.timeline-detail-date{background:var(--archive-black);color:#fff}
.timeline-detail-category{background:var(--archive-olive-pale);color:#4f5f08;border:1px solid #cad39f}
.timeline-detail h3{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Baskerville,Georgia,serif;font-weight:600;color:var(--archive-black)}
.timeline-detail p{color:#4c4d47}
.timeline-detail-link{background:var(--archive-black);border-color:var(--archive-black);color:#fff}
.timeline-detail-link:hover{background:var(--archive-olive-dark)}
.timeline-media,.timeline-gallery-item,.timeline-slideshow{border-radius:2px;background:#eceae0;border-color:var(--archive-rule)}
.timeline-gallery-item img,.timeline-slide img{border-radius:0;background:#fff}

/* Panneaux secondaires */
.notes,.panel,.prelude-focus,.prelude-transition{padding:20px 22px}
.note-list{color:var(--archive-muted)}
.context-story,.prelude-grid,.facsimile-grid{gap:10px}
.context-block,.prelude-card{padding:18px 20px}
.context-block h2,.prelude-card h2{color:var(--archive-black);font-family:"Iowan Old Style","Palatino Linotype",Palatino,Baskerville,Georgia,serif;font-weight:600}
.context-block p,.prelude-card p,.prelude-transition p,.trajectory-outro p{color:var(--archive-muted)}
.facsimile-card{border-radius:2px;background:#ebe9df;border-color:var(--archive-rule);padding:8px}
.facsimile-card img{border-radius:0;background:#fff}
.facsimile-card figcaption{color:var(--archive-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}

/* Carrousel d'accueil : table lumineuse / planche-contact */
.hero-carousel-card{
  padding:9px;
  background:#e6e4da;
  border-radius:2px;
  box-shadow:none;
}
.archive-carousel-heading{margin:2px 2px 8px;color:var(--archive-black);align-items:center}
.archive-carousel-heading span{
  color:var(--archive-olive-dark);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:9px;
  letter-spacing:.14em;
}
.archive-carousel-heading strong{font-size:12px;font-weight:650;color:var(--archive-muted)}
.archive-carousel{height:286px;border-radius:1px;background:#d9d7cd;border-color:#c4c2b7}
.archive-carousel::before{background:linear-gradient(90deg,#d9d7cd,rgba(217,215,205,0))}
.archive-carousel::after{background:linear-gradient(270deg,#d9d7cd,rgba(217,215,205,0))}
.archive-carousel-item{
  border-radius:1px;
  background:#fdfcf7;
  border:1px solid #c8c6bb;
  padding:7px;
  box-shadow:0 4px 10px rgba(36,37,34,.08);
}
.archive-carousel-item img{border-radius:0;background:#fff}

/* Flash/Ruffle : conserver l'objet technique, simplifier le cadre */
.timeline-swf-card{border-radius:2px;background:#252623;border-color:#111;box-shadow:none}
.timeline-swf-head{color:#f2f1e9;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.timeline-swf-head span{color:#c6d970}
.timeline-swf-host{border-radius:0}

.footer-mini{
  margin-top:34px;
  padding-top:12px;
  border-top:1px solid var(--archive-rule);
  color:var(--archive-soft);
  font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  text-align:left;
}
.high-contrast{color:var(--archive-black)}

/* Dark / Atelier : même logique documentaire, pas simple inversion */
@media (prefers-color-scheme: dark){
  :root{
    --archive-paper:#292a28;
    --archive-sheet:#333431;
    --archive-sheet-2:#30312e;
    --archive-ink:#eeeee8;
    --archive-muted:#c5c5bd;
    --archive-soft:#9fa098;
    --archive-rule:#50514c;
    --archive-rule-strong:#686960;
    --archive-olive-dark:#c1d35f;
    --archive-olive-pale:#42482b;
    --archive-black:#20211f;
    --archive-shadow:0 10px 30px rgba(0,0,0,.2);
  }
  html{background:var(--archive-paper)}
  body{background:linear-gradient(90deg,var(--archive-olive) 0 4px,transparent 4px),var(--archive-paper)}
  a{color:#c9dc68} a:hover{color:#e4eea9}
  .archive-hero h1,.page-hero h1,.section-heading h2,.section-head h2,.notes h2,.panel h2,.trajectory-outro h2,
  .module-card h3,.piece-card h3,.source-card h3,.principle strong,.context-block h2,.prelude-card h2{color:#f1f1eb}
  .archive-lead,.page-lead,.section-heading p,.section-head p,.module-card p,.piece-card p,.source-card p,.principle span,
  .context-block p,.prelude-card p,.prelude-transition p,.trajectory-outro p,.note-list{color:var(--archive-muted)}
  .prelude-hero .page-lead a,.archive-lead a{color:#c9dc68;border-bottom-color:rgba(201,220,104,.42)}
  .hero-media,.hero-carousel-card,.piece-card figure,.facsimile-card{background:#262724}
  .hero-media img,.facsimile-card img,.piece-card img{background:#f8f7f2}
  .btn,.small-link{color:var(--archive-ink);background:transparent}
  .btn:hover,.small-link:hover{background:#41472b;color:#eef2d4}
  .btn-primary{background:#ecece5;border-color:#ecece5;color:#242522}.btn-primary:hover{background:#c4d660;border-color:#c4d660;color:#20211f}
  .timeline-filter{background:#2c2d2a;color:#c8c8c1}.timeline-filter.is-active,.timeline-filter:hover{background:#ecece5;border-color:#ecece5;color:#242522}
  .timeline-point{background:#30312e;color:var(--archive-ink)}
  .timeline-point:hover,.timeline-point.is-active{background:#41462d;border-color:#809139}
  .timeline-detail{background:#efeee8;color:#282924;border-color:#a9a79c}
  .timeline-detail h3{color:#1f201d}.timeline-detail p{color:#44453f}
  .timeline-detail-category{background:#dde4b5;color:#384303;border-color:#bfc98f}
  .archive-carousel{background:#222320;border-color:#4a4b46}
  .archive-carousel::before{background:linear-gradient(90deg,#222320,rgba(34,35,32,0))}
  .archive-carousel::after{background:linear-gradient(270deg,#222320,rgba(34,35,32,0))}
  .archive-carousel-heading{color:#eee}.archive-carousel-heading strong{color:#bfc0b8}.archive-carousel-heading span{color:#c9dc68}
  .archive-carousel-item{background:#f7f6f0;border-color:#494a45}
  .chip,.prelude-date{background:#3e4429;border-color:#5d682d;color:#d7e591}
  .footer-mini{color:var(--archive-soft)}
  .high-contrast{color:#fff}
}

/* Responsive : densité conservée, sans scroll horizontal */
@media(max-width:980px){
  .archive-shell{width:min(100% - 32px,1160px)}
  .archive-hero{grid-template-columns:1fr;padding:26px 24px 28px 28px}
  .archive-hero h1{max-width:16ch}
  .timeline-layout{grid-template-columns:1fr}
}
@media(max-width:620px){
  body{background:var(--archive-paper)}
  .archive-shell{width:min(100% - 22px,1160px);padding-top:18px}
  .archive-notice{padding:8px 12px;font-size:10px}
  .archive-hero{padding:24px 17px 20px 20px;border-left-width:3px}
  .archive-hero::after{display:none}
  .archive-hero h1,.page-hero h1{font-size:2.25rem}
  .archive-lead,.page-lead{font-size:15.5px}
  .section-heading{display:block}
  .timeline-detail{padding:18px 16px}
  .timeline-point{grid-template-columns:70px minmax(0,1fr)}
  .archive-carousel-heading{display:block}
  .archive-carousel-heading strong{display:block;margin-top:3px;text-align:left}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}
