/* Memorial content pages — layers on top of styles.css design tokens
   (--navy #0a2342, --navy-2 #123158, --gold #b08d57, --red #9e1b32,
    --card, --line, --radius, --shadow). Include AFTER styles.css. */

.mem-intro{font-size:16px;color:var(--muted);max-width:760px;margin:0 0 20px}
.mem-intro strong{color:var(--ink)}

/* Page sub-nav / filters */
.mem-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 20px}
.mem-filters .chip{display:inline-block;background:#eef1f6;color:var(--navy);border:1px solid var(--line);
  border-radius:20px;padding:6px 14px;font-size:14px}
.mem-filters .chip:hover{border-color:var(--gold);text-decoration:none}
.mem-filters .chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.mem-search{display:flex;gap:8px;max-width:460px;margin:0 0 18px}
.mem-search input{flex:1}

/* Honoree cards */
.honoree-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:8px}
.honoree-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.honoree-card .hc-photo{width:100%;height:230px;object-fit:cover;object-position:top center;background:#eef1f6}
.honoree-card .hc-noimg{width:100%;height:120px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--navy),var(--navy-2));color:var(--gold);font-size:40px}
.honoree-card .hc-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px}
.hc-year{display:inline-block;align-self:flex-start;background:var(--gold);color:#fff;font-size:12px;
  font-weight:700;letter-spacing:.5px;border-radius:14px;padding:2px 10px;text-transform:uppercase}
.hc-year.vfts{background:var(--red)}
.hc-name{color:var(--navy);font-size:18px;font-weight:700;margin:2px 0}
.hc-bio{color:var(--muted);font-size:14px;line-height:1.5;white-space:pre-line}
.hc-bio.clamp{display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}
.hc-source{margin-top:8px;font-size:12px}

/* Full bio expander */
details.hc-more summary{cursor:pointer;color:var(--navy-2);font-size:13px;font-weight:600;margin-top:6px;list-style:none}
details.hc-more summary::-webkit-details-marker{display:none}
details.hc-more summary::before{content:"Read full biography ▾";}
details.hc-more[open] summary::before{content:"Hide biography ▴";}
details.hc-more .hc-fulltext{white-space:pre-line;color:var(--ink);font-size:14px;line-height:1.6;margin-top:8px}

/* Section listings (monument names, contributors) */
.mem-section{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}
.mem-section > h2{margin:0;background:var(--navy);color:#fff;font-size:15px;letter-spacing:.5px;
  text-transform:uppercase;padding:11px 18px;display:flex;justify-content:space-between;align-items:center}
.mem-section > h2 .count{font-size:12px;color:#c7d3e3;font-weight:400;text-transform:none}
.name-cols{column-width:220px;column-gap:28px;padding:16px 18px;margin:0}
.name-cols .name-item{break-inside:avoid;padding:3px 0;font-size:15px;color:var(--ink);
  border-bottom:1px solid #f0f2f6}
.name-item .pow-kia{display:inline-block;margin-left:6px;font-size:11px;font-weight:700;color:#8a5a00;
  background:#fff2cc;border-radius:4px;padding:0 5px}

.mem-meta{color:var(--muted);font-size:14px;margin:0 0 14px}

/* Contact */
.contact-cols{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}
.contact-info{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:22px}
.contact-info h2{margin:0 0 10px;color:var(--navy);font-size:18px}
.contact-info dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}
.contact-info dt{font-weight:600;color:var(--muted);font-size:14px}
.contact-info dd{margin:0;font-size:14px}
.contact-info .addr{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}

@media (max-width:680px){
  .contact-cols{grid-template-columns:1fr}
}

/* ============================================================
   Contributors — "Wall of Honor"
   ============================================================ */
.contrib-hero{text-align:center;max-width:720px;margin:6px auto 30px;padding:0 6px}
.contrib-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:2.5px;
  text-transform:uppercase;color:var(--gold)}
.contrib-eyebrow::before,.contrib-eyebrow::after{content:"";display:inline-block;width:26px;height:1px;
  background:var(--gold);vertical-align:middle;margin:0 10px;opacity:.7}
.contrib-hero h1{margin:8px 0 0;font-size:clamp(30px,6vw,44px);color:var(--navy);line-height:1.1}
.contrib-lede{font-size:16px;line-height:1.6;color:var(--muted);max-width:600px;margin:14px auto 0;text-wrap:balance}
.contrib-stats{margin:18px 0 0;font-size:14px;color:var(--muted)}
.contrib-stats strong{color:var(--navy);font-size:16px}
.contrib-stats .dot{color:var(--gold);margin:0 8px}

/* Lead Donor spotlight ------------------------------------- */
.lead-spotlight{position:relative;text-align:center;background:
  radial-gradient(120% 140% at 50% -20%,rgba(176,141,87,.10),transparent 60%),
  linear-gradient(180deg,#fff,#fbfaf7);
  border:1px solid var(--line);border-top:4px solid var(--gold);
  border-radius:16px;box-shadow:var(--shadow);
  padding:34px 26px 30px;margin:0 auto 34px;max-width:680px;overflow:hidden}
.tier-ribbon{display:inline-block;background:var(--gold);color:#fff;font-size:11px;font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;border-radius:20px;padding:5px 16px;margin-bottom:18px}
.lead-mark{display:flex;align-items:center;justify-content:center;min-height:120px;margin-bottom:8px}
.lead-logo{max-width:min(340px,80%);max-height:130px;width:auto;height:auto;object-fit:contain}
.lead-monogram{display:inline-flex;align-items:center;justify-content:center;width:120px;height:120px;
  border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:var(--gold);
  font-family:var(--display,"Georgia",serif);font-size:46px;font-weight:700;letter-spacing:1px}
.lead-name{font-family:var(--display,"Georgia",serif);font-size:clamp(22px,4vw,30px);font-weight:700;
  color:var(--navy);margin-top:6px;line-height:1.2}
.lead-thanks{font-size:14px;color:var(--muted);font-style:italic;margin:8px auto 0;max-width:420px}

/* Tier sections (Major / Plaza / others) ------------------- */
.tier{margin:0 0 38px}
.tier-head{display:flex;align-items:baseline;gap:12px;padding-bottom:10px;margin-bottom:6px;
  border-bottom:2px solid var(--line)}
.tier-head h2{margin:0;color:var(--navy);font-size:clamp(20px,3.5vw,26px);
  font-family:var(--display,"Georgia",serif)}
.tier-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;
  padding:0 8px;border-radius:14px;background:var(--navy);color:#fff;font-size:12px;font-weight:700}
.tier-sub{margin:0 0 18px;color:var(--muted);font-size:14.5px;line-height:1.5}

/* Logo card grid ------------------------------------------- */
.logo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}
.logo-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--shadow);overflow:hidden;transition:transform .15s,border-color .15s,box-shadow .15s}
.logo-card:hover{transform:translateY(-3px);border-color:var(--gold);
  box-shadow:0 6px 22px rgba(10,35,66,.12)}
.lc-mark{display:flex;align-items:center;justify-content:center;height:104px;padding:16px 18px;
  background:#fff;border-bottom:1px solid #f0f2f6}
.lc-mark img{max-width:100%;max-height:72px;width:auto;height:auto;object-fit:contain}
.lc-monogram{display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;
  border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:var(--gold);
  font-family:var(--display,"Georgia",serif);font-size:26px;font-weight:700}
.logo-card.no-logo .lc-mark{background:linear-gradient(180deg,#fafbfc,#f4f6f9)}
.lc-name{flex:1;padding:12px 16px;font-size:14px;font-weight:600;color:var(--navy-2);line-height:1.35}

/* General contributors list -------------------------------- */
.general-tier .general-list{list-style:none;margin:0;padding:0;
  column-width:230px;column-gap:30px}
.gen-item{break-inside:avoid;display:flex;align-items:center;gap:8px;
  padding:7px 0;border-bottom:1px solid #f0f2f6;font-size:15px;color:var(--ink);line-height:1.35}
.gen-item.has-logo{font-weight:600;color:var(--navy)}
.gen-logo{flex:0 0 auto;width:30px;height:22px;object-fit:contain;object-position:left center}
.gen-name{min-width:0;overflow-wrap:anywhere}

@media (max-width:480px){
  .logo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
  .lc-mark{height:90px;padding:12px}
  .lead-spotlight{padding:26px 16px 24px}
}

@media (prefers-reduced-motion:reduce){
  .logo-card,.logo-card:hover{transition:none;transform:none}
}
