/* Durable static archive stylesheet. No external dependencies. */
:root { color-scheme: dark; --bg:#000; --fg:#f1f1ed; --muted:#aaa; --line:#333; --accent:#fff; --max:74rem; }
* { box-sizing:border-box; }
html { background:var(--bg); color:var(--fg); font-family:Georgia, 'Times New Roman', serif; line-height:1.55; }
body { margin:0; background:#000; }
a { color:var(--accent); text-underline-offset:.2em; }
a:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.site-header { max-width:var(--max); margin:0 auto; padding:1.5rem 2rem; display:flex; justify-content:space-between; gap:2rem; border-bottom:1px solid var(--line); }
.brand { font-family:Arial,sans-serif; font-weight:700; text-decoration:none; letter-spacing:.04em; }
nav { display:flex; flex-wrap:wrap; gap:1rem; font-family:Arial,sans-serif; font-size:.9rem; }
.page-shell { max-width:var(--max); margin:0 auto; padding:4rem 2rem 6rem; }
.hero { min-height:68vh; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(16rem,.95fr); align-items:center; gap:4rem; }
.hero figure { margin:0; }
.hero img { width:100%; height:auto; display:block; filter:grayscale(100%); }
.hero figcaption { color:var(--muted); font-family:Arial,sans-serif; font-size:.75rem; margin-top:.45rem; }
.eyebrow { color:var(--muted); font-family:Arial,sans-serif; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; }
h1,h2,h3 { font-weight:400; line-height:1.12; }
h1 { font-size:clamp(2.4rem,7vw,6.5rem); margin:.2em 0 .35em; }
.work-page h1 { font-size:clamp(2rem,5vw,4.5rem); max-width:22ch; }
h2 { font-size:1.7rem; margin-top:2.7rem; }
.lead { font-size:clamp(1.15rem,2vw,1.5rem); max-width:38rem; }
.lede { max-width:50rem; font-size:1.2rem; }
.compact { color:var(--muted); font-family:Arial,sans-serif; font-size:.9rem; }
.groups,.work-list { list-style:none; padding:0; margin:2rem 0; }
.groups { display:grid; grid-template-columns:repeat(auto-fit,minmax(16rem,1fr)); gap:1rem; }
.groups a,.work-list li { display:block; border-top:1px solid var(--line); padding:1.2rem 0; }
.groups a { text-decoration:none; font-size:1.25rem; }
.work-list .meta { color:var(--muted); font-family:Arial,sans-serif; font-size:.82rem; margin-top:.35rem; }
.metadata { display:grid; grid-template-columns:minmax(8rem,12rem) 1fr; max-width:60rem; border-top:1px solid var(--line); }
.metadata dt,.metadata dd { margin:0; padding:.7rem 0; border-bottom:1px solid var(--line); }
.metadata dt { color:var(--muted); font-family:Arial,sans-serif; }
.review { display:inline-block; margin-left:.5rem; color:#f2c879; font-family:Arial,sans-serif; font-size:.8rem; }
.downloads { margin-top:3rem; border:1px solid var(--line); padding:1.5rem; }
.button { display:inline-block; padding:.75rem 1rem; border:1px solid #eee; margin:.4rem .5rem .4rem 0; text-decoration:none; font-family:Arial,sans-serif; }
.button.secondary { border-color:#666; color:#ddd; }
.canonical-note { color:var(--muted); max-width:54rem; font-size:.92rem; }
.identifiers { width:100%; border-collapse:collapse; }
.identifiers th,.identifiers td { padding:.65rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.site-footer { max-width:var(--max); margin:0 auto; padding:1.5rem 2rem 3rem; border-top:1px solid var(--line); color:var(--muted); font-family:Arial,sans-serif; font-size:.8rem; }
@media (max-width:700px) { .site-header { display:block; } nav { margin-top:1rem; } .hero { grid-template-columns:1fr; padding-top:2rem; } .metadata { grid-template-columns:1fr; } .metadata dt { border-bottom:0; padding-bottom:0; } }
@media print { html,body { background:#fff; color:#000; } .site-header,.site-footer { border-color:#aaa; } a { color:#000; } }
