:root {
  --ink: #1d1b19;
  --muted: #6b625a;
  --paper: #f5f0e8;
  --card: #fffdf9;
  --line: #d8cec1;
  --accent: #a92e2e;
  --accent-dark: #772020;
  --dark: #191716;
  --cream: #eadcc9;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.65;
}
a { color: var(--accent-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--accent); }
.wrap { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }
header {
  background: var(--dark);
  color: #fff;
  border-bottom: 4px solid var(--accent);
}
.top { display: flex; justify-content: space-between; gap: 24px; align-items: end; padding: 22px 0 16px; }
.brand { font: 700 1.75rem/1 Arial, Helvetica, sans-serif; letter-spacing: .08em; }
.tag { margin-top: 8px; color: #d9d1c8; font-size: .98rem; }
.est { color: var(--cream); font-size: .9rem; white-space: nowrap; }
nav { display: flex; gap: 8px; flex-wrap: wrap; padding: 0 0 16px; }
nav a { color: #fff; text-decoration: none; background: #2a2522; border: 1px solid #3b332e; border-radius: 999px; padding: 7px 11px; font: 700 .78rem/1 Arial, sans-serif; }
nav a:hover { background: var(--accent-dark); }
main { padding: 44px 0 70px; }
.hero { padding: 52px 0 38px; max-width: 850px; }
.kicker { color: var(--accent); font: 700 .78rem/1 Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
h1 { font-size: clamp(2.5rem, 7vw, 5rem); line-height: .98; margin: 12px 0 22px; letter-spacing: -.035em; }
h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.1; margin: 0 0 14px; }
h3 { line-height: 1.2; margin: 0 0 8px; }
p { margin: 0 0 14px; }
.intro { font-size: 1.2rem; color: #4f4842; max-width: 800px; }
.button { display: inline-block; margin-top: 10px; background: var(--accent); color: #fff; padding: 11px 17px; border-radius: 4px; text-decoration: none; font: 700 .88rem/1 Arial, sans-serif; }
.button:hover { background: var(--accent-dark); color: #fff; }
.notice { background: #efe3d3; border-left: 5px solid var(--accent); padding: 17px 19px; margin: 0 0 28px; }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.card, .memory, article.card { background: var(--card); border: 1px solid var(--line); border-radius: 7px; padding: 23px; box-shadow: 0 6px 20px rgba(45, 32, 20, .05); }
.card h3 { color: #29221d; }
.small, .meta { color: var(--muted); font-size: .9rem; }
.section { margin-top: 36px; }
.timeline { border-left: 2px solid var(--line); margin: 20px 0 0 7px; padding-left: 24px; }
.item { position: relative; padding: 0 0 25px; }
.item::before { content: ''; position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--accent); left: -30px; top: .55em; }
.poem { white-space: pre-line; background: #f0e7db; border-left: 3px solid var(--accent); padding: 17px; font-style: italic; margin: 16px 0; }
.memory { margin-bottom: 16px; }
.image-card img { display: block; width: 100%; height: auto; border-radius: 4px; margin-bottom: 12px; }
.contribute { margin-top: 28px; border-top: 5px solid var(--accent); }
.email { font: 700 1.05rem/1.4 Arial, sans-serif; color: var(--accent-dark); }
footer { background: #211d1a; color: #cfc5bb; padding: 28px 0; font-size: .9rem; }
footer span { margin-left: 18px; }
@media (max-width: 720px) {
  .wrap { width: min(100% - 22px, 1120px); }
  .top { align-items: flex-start; flex-direction: column; gap: 10px; }
  .est { white-space: normal; }
  .grid { grid-template-columns: 1fr; }
  main { padding-top: 28px; }
  .hero { padding-top: 30px; }
  footer span { display: block; margin: 7px 0 0; }
}

.featured { grid-column: 1 / -1; border-top: 5px solid var(--accent); }
.filter { background: var(--card); border: 1px solid var(--line); border-radius: 7px; padding: 18px; margin: 24px 0; }
.filter label { display:block; margin-bottom:8px; }
.filter input { width:100%; max-width:700px; padding:12px 13px; border:1px solid var(--line); border-radius:4px; background:#fff; font:1rem Georgia,serif; }

.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.chip{border:1px solid var(--line);background:#f7f1e9;color:var(--ink);border-radius:999px;padding:8px 11px;font:700 .78rem Arial,sans-serif;cursor:pointer}.chip:hover,.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.results-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:18px 0 12px}.archive-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.archive-row{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:13px 15px}.archive-artist{font-weight:700}.archive-detail{color:var(--muted);font-size:.92rem}.section{margin-top:28px}@media(max-width:720px){.archive-list{grid-template-columns:1fr}.results-head{display:block}.results-head .small{display:block;margin-top:5px}}

.away-feature { padding: 30px; }
.away-feature .lead { font-size: 1.25rem; color: #4f4842; }
.away-photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:24px 0 28px; }
.away-photo-grid figure, .wide-photo { margin:0; }
.away-photo-grid img, .wide-photo img { display:block; width:100%; height:auto; border-radius:5px; }
.away-photo-grid figcaption, .wide-photo figcaption { color:var(--muted); font-size:.88rem; margin-top:7px; }
.article-copy { max-width:850px; }
.article-copy h3 { margin:30px 0 10px; font-size:1.45rem; }
.article-copy ul { margin-top:0; }
.article-note { font-style:italic; color:#5f5045; border-left:3px solid var(--accent); padding-left:14px; }
.wide-photo { margin:24px 0 30px; }
@media(max-width:720px){.away-feature{padding:20px}.away-photo-grid{grid-template-columns:1fr}}

.event-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.event-links a{display:inline-block;padding:8px 11px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font:700 .78rem Arial,sans-serif;background:#f7f1e9}.event-links a:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.event-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.event-meta .card{padding:16px}.source-box{margin-top:24px;background:#efe3d3;border-left:5px solid var(--accent);padding:18px}.event-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.event-gallery figure{margin:0;background:var(--card);border:1px solid var(--line);padding:8px;border-radius:6px}.event-gallery img{width:100%;height:auto;display:block;border-radius:4px}.event-gallery figcaption{font-size:.82rem;color:var(--muted);padding:7px 2px 2px}@media(max-width:720px){.event-meta{grid-template-columns:1fr}.event-gallery{grid-template-columns:1fr 1fr}}

/* Keyboard focus */
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

.related-records ul{margin:10px 0 16px;padding-left:20px}.related-records li{margin:7px 0}.related-records a{font-weight:600}

.archive-trail{margin-top:1.5rem}.archive-trail .event-links{margin-top:.75rem}

.timeline{position:relative;margin:1.5rem 0 2rem;padding-left:1.25rem}.timeline:before{content:"";position:absolute;left:.42rem;top:.25rem;bottom:.25rem;width:2px;background:currentColor;opacity:.14}.timeline-year{font-weight:800;font-size:1.35rem;margin:1.5rem 0 .7rem;padding-left:.25rem}.timeline-item{position:relative;margin:0 0 1rem;padding-left:1rem}.timeline-dot{position:absolute;left:-.93rem;top:1.35rem;width:.72rem;height:.72rem;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px var(--bg,#fff)}.timeline-item .card{margin:0}.timeline-item h2{margin:.25rem 0 .45rem}.timeline-item .event-links{display:flex;gap:1rem;flex-wrap:wrap}
@media(max-width:700px){.timeline{padding-left:.85rem}.timeline-item{padding-left:.65rem}.timeline-dot{left:-.72rem}}

.date-status{display:inline-block;margin:.25rem 0 .6rem;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.02em}.date-status.confirmed{border:1px solid currentColor}.date-status.pending{border:1px dashed currentColor;opacity:.8}

/* v236 accessibility and navigation pass */
.skip-link { position:absolute; left:-9999px; top:8px; z-index:9999; padding:.65rem 1rem; background:var(--dark); color:#fff; text-decoration:none; border-radius:4px; }
.skip-link:focus { left:8px; }
nav a:focus-visible, a.button:focus-visible, a:focus-visible { outline:3px solid var(--accent); outline-offset:3px; border-radius:2px; }
main { scroll-margin-top: 1rem; }
.site-footer-links { margin-top:.75rem; display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; }
.site-footer-links a { font-size:.95rem; }
@media print { nav, .skip-link, .site-footer-links { display:none !important; } body { background:#fff; } a { color:inherit; text-decoration:underline; } }

.home-cover-collage{margin:0 0 1.25rem;border:1px solid #d9d9d9;background:#fff;padding:.35rem}.home-cover-collage img{display:block;width:100%;height:auto}.home-cover-collage figcaption{font-size:.9rem;padding:.5rem .35rem .2rem}.cover-collage{margin:1.25rem 0;padding:.5rem;border:1px solid #d9d9d9;background:#fff}.cover-collage img{display:block;width:100%;height:auto}.cover-collage figcaption{font-size:.9rem;padding:.55rem .25rem .15rem}

.library-transcription { margin: 34px 0; }
.library-transcription pre { white-space: pre-wrap; overflow-wrap: anywhere; background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 24px; font: .93rem/1.6 Georgia, 'Times New Roman', serif; box-shadow: 0 4px 18px rgba(0,0,0,.04); }

.home-collage { margin: 0 0 40px; }
.home-collage a { display: block; }
.home-collage img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: 7px; }
.home-collage figcaption { margin-top: 8px; color: var(--muted); font-size: .9rem; }

.archive-transcription { font: inherit; line-height: 1.75; overflow-wrap: break-word; }
.archive-transcription p { margin: 0 0 1rem; }

