:root{--paper:#f3ecdc;--paper-light:#fbf7ed;--ink:#292822;--forest:#31483b;--forest-dark:#20372d;--gold:#a4874e;--line:#c7b99b;--muted:#6c685f}
*{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:inherit}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.1rem 4vw;background:rgba(251,247,237,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}.brand img{width:54px;height:62px}.brand strong{display:block;color:var(--forest-dark);font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500}.brand small{display:block;color:var(--gold);font-family:Arial,sans-serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.main-nav{display:flex;flex-wrap:wrap;gap:1.5rem;font-family:Arial,sans-serif;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.main-nav a{text-decoration:none;color:var(--forest-dark)}.main-nav a:hover{text-decoration:underline}
.hero{min-height:650px;display:grid;place-items:center;padding:6rem 1.5rem;background:linear-gradient(rgba(243,236,220,.79),rgba(243,236,220,.92)),radial-gradient(circle at 50% 20%,#fffdf6 0,transparent 42%);border-bottom:1px solid var(--line)}.hero-inner{max-width:980px;text-align:center}
.eyebrow,.section-kicker{color:var(--forest);font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem}.hero h1{margin:.7rem auto 1.3rem;max-width:1000px;font-size:clamp(3rem,6.4vw,6.5rem);font-weight:500;line-height:1.02}.hero-copy{max-width:790px;margin:0 auto;font-size:1.15rem}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem}
.button{display:inline-block;padding:.85rem 1.3rem;border:1px solid var(--forest);text-decoration:none;font-family:Arial,sans-serif;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;cursor:pointer}.button.primary{background:var(--forest);color:#fff}.button.secondary{background:transparent;color:var(--forest)}
.intro{max-width:860px;margin:0 auto;padding:5rem 1.5rem 3rem;text-align:center}.intro h2,.preserve h2,.initiative h2{margin:.35rem 0 1rem;font-weight:500;line-height:1.15;font-size:clamp(2.1rem,4vw,3.7rem)}
.pathways{max-width:1180px;margin:0 auto;padding:1rem 1.5rem 5rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.pathway{background:var(--paper-light);border:1px solid var(--line);padding:2rem;min-height:300px;display:flex;flex-direction:column}.pathway .icon{color:var(--gold);font-size:1.6rem}.pathway h3{color:var(--forest-dark);font-size:1.65rem;font-weight:500;margin:.8rem 0 .4rem}.pathway p{color:var(--muted)}.pathway a{margin-top:auto;padding-top:1rem;color:var(--forest);font-family:Arial,sans-serif;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;text-decoration:none}
.preserve{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center;padding:6rem max(6vw,1.5rem);background:var(--paper-light);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.preserve-copy{max-width:700px}blockquote{margin:0;color:var(--forest-dark);font-size:clamp(2.8rem,5vw,5.5rem);line-height:1.05;font-style:italic}
.initiative{max-width:1040px;margin:0 auto;padding:5rem 1.5rem;display:grid;grid-template-columns:120px 1fr;gap:2rem;align-items:center}.initiative img{width:100px}
.site-footer{display:flex;justify-content:space-between;gap:2rem;align-items:end;padding:3rem 4vw;background:var(--forest-dark);color:#f6f1e5}.site-footer p{margin:.2rem 0}.footer-motto{font-style:italic;color:#d7c7a0}

/* Directory */
.directory-page{max-width:1000px;margin:0 auto;padding:5rem 1.5rem 8rem}.directory-page h1{font-size:clamp(3rem,7vw,5.5rem);font-weight:500;margin:.2rem 0}.lead{font-size:1.1rem;max-width:720px}.search-label{display:block;margin-top:2rem;font-family:Arial,sans-serif;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--forest)}.search-input{width:100%;padding:1rem 1.1rem;margin:.5rem 0 1.5rem;background:var(--paper-light);border:1px solid var(--line);font:inherit;font-size:1.1rem}.results{display:grid;gap:.8rem}.result-card{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:1.3rem 1.5rem;border:1px solid var(--line);background:var(--paper-light);text-decoration:none}.result-card strong{display:block;font-size:1.35rem;color:var(--forest-dark)}.result-card small{display:block;color:var(--muted)}

/* Memorial */
.memorial-page{max-width:1180px;margin:0 auto;padding:0 1.5rem 7rem}.record-hero{padding:5rem 0 3rem;border-bottom:1px solid var(--line)}.record-heading{display:grid;grid-template-columns:150px 1fr;gap:2rem;align-items:center}.portrait-placeholder{width:140px;height:140px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;background:var(--paper-light)}.portrait-placeholder img{width:70px}.record-heading h1{font-size:clamp(3.2rem,7vw,6rem);font-weight:500;line-height:1;margin:.2rem 0}.record-dates{font-size:1.8rem;color:var(--gold);margin:.2rem 0}.record-location{font-family:Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--forest);font-size:.82rem}
.quick-record{margin:2rem 0 5rem;background:var(--paper-light);border:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.quick-record>div{padding:2rem;border-right:1px solid var(--line)}.quick-record>div:last-child{border-right:0}.quick-record h2{font-size:1rem;font-family:Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);margin:0 0 1.4rem}dl{margin:0;display:grid;grid-template-columns:minmax(90px,.65fr) 1.35fr;gap:.6rem 1rem}dt{font-weight:bold}dd{margin:0}dd span{color:var(--muted)}.collection-summary{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.collection-summary span{color:var(--forest);margin-right:.6rem}
.story-section,.historical-section,.sources-section{max-width:920px;margin:0 auto;padding:4rem 0;border-top:1px solid var(--line)}.story-section h2,.historical-section h2,.sources-section h2,.contribute-section h2{font-size:clamp(2.6rem,5vw,4.2rem);font-weight:500;line-height:1.05;margin:.3rem 0 1.5rem}.story-copy{font-size:1.12rem;max-width:790px}.story-copy p:first-child::first-letter{float:left;font-size:4.5rem;line-height:.8;padding:.15rem .45rem 0 0;color:var(--forest)}.section-intro{max-width:700px;color:var(--muted)}
.artifact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.artifact-card{text-align:left;border:1px solid var(--line);background:var(--paper-light);padding:0;cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;min-height:370px}.artifact-image-wrap{height:190px;overflow:hidden;background:#e7dfcf;border-bottom:1px solid var(--line)}.artifact-image-wrap img{width:100%;height:100%;object-fit:cover;filter:sepia(.08)}.artifact-year,.artifact-type,.artifact-card strong,.artifact-open{margin-left:1.1rem;margin-right:1.1rem}.artifact-year{margin-top:1rem;font-family:Arial,sans-serif;color:var(--gold);font-size:.75rem;letter-spacing:.12em}.artifact-type{font-family:Arial,sans-serif;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-top:.4rem}.artifact-card strong{font-size:1.2rem;line-height:1.25;margin-top:.25rem}.artifact-open{margin-top:auto;padding:1rem 0;color:var(--forest);font-family:Arial,sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.sources-section ul{padding-left:1.2rem}.contribute-section{max-width:920px;margin:0 auto;padding:4rem 0;display:grid;grid-template-columns:100px 1fr;gap:2rem;align-items:center;border-top:1px solid var(--line)}.contribute-section img{width:90px}

/* Modals */
.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:2rem}.modal-backdrop{position:absolute;inset:0;background:rgba(26,30,26,.78)}.modal-panel{position:relative;z-index:1;width:min(1000px,92vw);max-height:90vh;overflow:auto;background:var(--paper-light);border:1px solid var(--line);padding:2rem}.modal-panel h2{font-size:2.2rem;font-weight:500;margin:.3rem 0}.modal-panel>img{display:block;width:100%;height:auto;margin-top:1.5rem}.modal-close{position:absolute;right:1rem;top:.7rem;border:0;background:transparent;font-size:2rem;cursor:pointer;color:var(--forest)}.modal-open{overflow:hidden}.map-panel{width:min(1100px,94vw)}.map-location-card{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--line);margin:1rem 0;background:var(--paper)}.map-location-card span{color:var(--forest)}.map-wrap{position:relative;background:#fff;border:1px solid var(--line)}.map-wrap img{display:block;width:100%;height:auto}.map-callout{position:absolute;left:4%;bottom:4%;background:var(--forest-dark);color:white;padding:.65rem .85rem;font-family:Arial,sans-serif;font-size:.78rem;letter-spacing:.06em}.map-note{font-size:.88rem;color:var(--muted);font-style:italic}

@media(max-width:900px){.site-header{position:static;align-items:flex-start}.main-nav{gap:.8rem}.pathways{grid-template-columns:repeat(2,1fr)}.preserve{grid-template-columns:1fr}.quick-record{grid-template-columns:1fr}.quick-record>div{border-right:0;border-bottom:1px solid var(--line)}.quick-record>div:last-child{border-bottom:0}.artifact-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.site-header{flex-direction:column}.main-nav{width:100%;justify-content:space-between}.brand strong{font-size:1rem}.hero{min-height:auto;padding:4.5rem 1.25rem}.pathways{grid-template-columns:1fr}.initiative{grid-template-columns:1fr;text-align:center}.initiative img{margin:auto}.site-footer{flex-direction:column;align-items:flex-start}.record-heading{grid-template-columns:1fr}.portrait-placeholder{width:110px;height:110px}.artifact-grid{grid-template-columns:1fr}.contribute-section{grid-template-columns:1fr}.result-card{align-items:flex-start;flex-direction:column}.map-location-card{flex-direction:column}dl{grid-template-columns:1fr}dt{margin-top:.6rem}}
@media print{.site-header,.site-footer,.button,.artifact-open{display:none!important}.memorial-page{max-width:none}.artifact-grid{grid-template-columns:repeat(2,1fr)}body{background:#fff}.quick-record,.artifact-card{background:#fff}}

.quick-record[data-cols="2"]{grid-template-columns:repeat(2,1fr)}
.quick-record[data-cols="1"]{grid-template-columns:1fr}
.button.disabled,.button:disabled{opacity:.5;cursor:not-allowed}

/* v0.5 Research Collection checklist */
.research-checklist{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.8rem;
}
.research-checklist li{
  display:flex;
  align-items:center;
  gap:.75rem;
  color:var(--ink);
}
.research-checklist .status-dot{
  width:1.55rem;
  height:1.55rem;
  flex:0 0 1.55rem;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-family:Arial,sans-serif;
  font-size:.9rem;
  line-height:1;
  border:1px solid #cfc8b8;
  background:#d8d3c8;
  color:transparent;
}
.research-checklist li.complete .status-dot{
  background:#4f6f53;
  border-color:#4f6f53;
  color:#fff;
}
.research-checklist li.missing{
  color:#4f4c45;
}

/* v0.6 Public Burial Directory */
.burial-directory{max-width:1180px}
.directory-search-panel{margin:2rem 0 1rem;padding:1.5rem;background:#f3f0e8;border:1px solid #ded8ca;border-radius:10px}
.directory-search-panel .search-input{margin-bottom:.55rem}
.search-help{margin:.2rem 0 0;color:#686258;font-size:.95rem}
.directory-meta{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid #d9d3c6;color:#6b655b;font-size:.9rem}
.burial-results{display:grid}
.burial-row{display:grid;grid-template-columns:minmax(240px,1.3fr) minmax(280px,1.4fr) auto;gap:2rem;align-items:center;padding:1.25rem .2rem;border-bottom:1px solid #e2ddd2}
.burial-row h2{font-size:1.15rem;margin:0 0 .45rem}
.burial-dates{display:flex;gap:1rem;flex-wrap:wrap;font-size:.9rem;color:#625d54}
.burial-dates b{font-weight:600}
.burial-location{display:grid;gap:.3rem}
.location-label{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:#7a746a}
.burial-location strong{font-size:.95rem;font-weight:600}
.foundation-badge{display:inline-block;padding:.42rem .7rem;border:1px solid #cbc5b8;border-radius:999px;color:#746e64;font-size:.78rem;white-space:nowrap}
.button.compact{padding:.55rem .8rem;font-size:.8rem;white-space:nowrap}
.directory-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:2rem 0}
.directory-pagination button{border:1px solid #bcb5a7;background:#fff;padding:.65rem .9rem;border-radius:6px;cursor:pointer}
.directory-pagination button:disabled{opacity:.4;cursor:not-allowed}
.no-results{text-align:center;padding:3rem 1rem}
@media(max-width:760px){
 .directory-meta{display:grid}
 .burial-row{grid-template-columns:1fr;gap:.8rem}
 .burial-action{padding-top:.2rem}
}

/* v0.6.1 calmer framed burial directory */
.burial-directory .lead{
  max-width:900px;
  line-height:1.6;
}
.directory-search-panel{
  max-width:none;
  padding:1.25rem 1.4rem;
}
.directory-search-panel .search-label{
  display:block;
  margin-bottom:.55rem;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:#314c41;
}
.directory-search-panel .search-input{
  display:block;
  width:100%;
  box-sizing:border-box;
  min-height:52px;
  padding:.8rem 1rem;
  font:inherit;
  font-size:1rem;
  border:1px solid #cfc6b4;
  background:#fffdf8;
}
.directory-meta{
  margin-top:.35rem;
  padding:.7rem .1rem .8rem;
}
.burial-frame{
  margin-top:.8rem;
  border:1px solid #cfc6b4;
  background:#fffdf8;
  box-shadow:0 8px 24px rgba(50,45,35,.05);
}
.burial-frame-header{
  display:grid;
  grid-template-columns:minmax(230px,1.25fr) minmax(300px,1.5fr) 150px;
  gap:1.5rem;
  padding:.75rem 1.1rem;
  border-bottom:1px solid #d8d0c1;
  background:#f3eee2;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.7rem;
  color:#5f5a50;
}
.burial-results{
  display:block;
  height:560px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.burial-row{
  grid-template-columns:minmax(230px,1.25fr) minmax(300px,1.5fr) 150px;
  gap:1.5rem;
  padding:.9rem 1.1rem;
  background:#fffdf8;
}
.burial-row:nth-child(even){
  background:#faf7ef;
}
.burial-row h2{
  font-size:1.05rem;
  line-height:1.2;
  margin:0 0 .3rem;
}
.burial-dates{
  gap:.7rem;
  font-size:.82rem;
}
.burial-location{
  gap:.22rem;
}
.burial-location strong{
  line-height:1.35;
}
.foundation-badge{
  font-size:.72rem;
  padding:.36rem .58rem;
}
.directory-pagination{
  padding:1rem 0 .25rem;
}
@media(max-width:760px){
  .burial-frame-header{display:none}
  .burial-results{height:60vh}
  .burial-row{
    grid-template-columns:1fr;
    gap:.55rem;
    padding:1rem;
  }
}

/* v0.6.2 spreadsheet-style burial directory */
.burial-sheet{
  margin-top:.75rem;
  border:1px solid #c8c1b3;
  background:#fffdf8;
  box-shadow:0 6px 18px rgba(50,45,35,.04);
  overflow:hidden;
}
.burial-sheet-header,
.burial-sheet-row{
  display:grid;
  grid-template-columns:minmax(210px,1.8fr) 92px 92px minmax(110px,1fr) 95px 58px 58px 82px;
  align-items:center;
}
.burial-sheet-header{
  position:sticky;
  top:0;
  z-index:2;
  min-height:30px;
  padding:0 .65rem;
  background:#eee8db;
  border-bottom:1px solid #c8c1b3;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-size:.64rem;
  font-weight:700;
  color:#5e594f;
}
.burial-results{
  height:660px;
  overflow:auto;
  scrollbar-gutter:stable;
  background:#fffdf8;
}
.burial-sheet-row{
  min-height:22px;
  padding:0 .65rem;
  border-bottom:1px solid #e8e3d9;
  font-size:.75rem;
  line-height:1.1;
  color:#312f2a;
}
.burial-sheet-row:nth-child(even){
  background:#faf7f0;
}
.burial-sheet-row:hover{
  background:#f1ecdf;
}
.burial-sheet-row .cell{
  min-width:0;
  padding:.25rem .45rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  border-right:1px solid #eee9df;
}
.burial-sheet-row .cell:last-child{border-right:0}
.name-cell{
  font-weight:600;
  color:#233f35;
}
.record-cell{
  text-align:center;
}
.record-cell a{
  color:#27493d;
  font-size:.7rem;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}
.foundation-dot{
  color:#b5aea0;
  font-size:1rem;
}
.burial-directory .directory-search-panel{
  margin-bottom:.65rem;
}
.burial-directory .directory-meta{
  font-size:.78rem;
  padding:.4rem 0 .55rem;
}
.directory-pagination{
  padding:.7rem 0 .1rem;
  font-size:.8rem;
}
@media(max-width:900px){
  .burial-sheet{
    overflow-x:auto;
  }
  .burial-sheet-header,
  .burial-sheet-row{
    min-width:900px;
  }
  .burial-results{
    height:62vh;
  }
}
