:root{
  --bg:#f6efe0; --card:#fbf6ea; --ink:#2c2418; --muted:#6b5d47;
  --line:#e3d6b8; --accent:#7a2e2e; --link:#8a3a2a;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"EB Garamond",Georgia,"Times New Roman",serif;
  font-size:19px; line-height:1.65;
}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
.top{
  background:#33291a; color:#f3e9d2; padding:6px 16px; font-size:15px;
  letter-spacing:.02em;
}
.top a{color:#f3e9d2;display:inline-block;padding:7px 6px}
main{max-width:760px;margin:0 auto;padding:26px 20px 40px}
.crumb{font-size:14px;color:var(--muted);margin:2px 0 18px}
.crumb span{color:var(--ink)}
h1{
  font-family:"Fraunces","Playfair Display",Georgia,serif;
  font-weight:900; font-size:2.15rem; line-height:1.12; margin:.1em 0 .35em;
}
h1 .years{font-weight:400;color:var(--muted);font-size:1.4rem;white-space:nowrap}
h2{
  font-family:"Fraunces",Georgia,serif; font-weight:600; font-size:1.25rem;
  margin:1.5em 0 .3em; padding-bottom:.15em; border-bottom:1px solid var(--line);
}
.bio{font-size:1.08rem}
.bio strong{font-weight:600}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin:6px 0 22px}
.gal figure{margin:0;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.gal img{width:100%;height:190px;object-fit:cover;display:block}
.gal figcaption{font-size:12px;color:var(--muted);padding:7px 9px;line-height:1.4}
.gal figure:only-child{max-width:340px}
.src{padding-left:1.1em;font-size:.96rem;color:var(--muted)}
.src li{margin:.2em 0}
.cta{margin:2em 0 0}
.btn{
  display:inline-block;background:var(--accent);color:#fdf6e7;padding:11px 20px;
  border-radius:999px;font-size:1rem;letter-spacing:.01em;
}
.btn:hover{background:#5f2020;text-decoration:none}
.foot{
  max-width:760px;margin:0 auto;padding:22px 20px 40px;color:var(--muted);
  font-size:14px;border-top:1px solid var(--line)
}
/* hub / index */
.lead{font-size:1.1rem;color:var(--muted);margin:.2em 0 1.4em}
.alpha{position:sticky;top:0;background:var(--bg);padding:10px 0;border-bottom:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:5px 10px;font-size:.95rem;z-index:2}
.grp{margin:1.6em 0 .2em;font-family:"Fraunces",Georgia,serif;font-size:1.5rem;color:var(--accent)}
.plist{list-style:none;padding:0;margin:0;column-width:330px;column-gap:34px}
.plist li{margin:.16em 0;break-inside:avoid;font-size:1rem}
.plist .yr{color:var(--muted);font-size:.9em}
@media(max-width:520px){
  body{font-size:18px}
  h1{font-size:1.75rem}
  h1 .years{font-size:1.15rem}
}

/* branch landing pages */
.hero-era{font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:.2em 0 .1em}
.hero-lead{font-size:1.2rem;color:var(--muted);font-style:italic;margin:.1em 0 1em}
.story p{font-size:1.08rem;margin:.6em 0}
.feat{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin:20px 0 6px}
.feat a{display:block;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;color:inherit}
.feat a:hover{border-color:#b9a67e;text-decoration:none;box-shadow:0 3px 10px rgba(0,0,0,.08)}
.feat img{width:100%;height:150px;object-fit:cover;display:block}
.feat .cap{padding:7px 9px;font-size:.82rem;line-height:1.3}
.feat .cap b{font-weight:600;display:block}
.feat .cap span{color:var(--muted);font-size:.9em}
.count{color:var(--muted);font-weight:400;font-size:.7em}
.related{display:flex;flex-wrap:wrap;gap:10px;margin:.4em 0}
.related a{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 15px;font-size:.95rem}
.related a:hover{border-color:#b9a67e;text-decoration:none}
