:root{
  --font-sans: 'Franklin Gothic Book', 'Franklin Gothic', 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-sans-medium: 'Franklin Gothic Medium', 'Segoe UI Semibold', 'Helvetica Neue', Arial, sans-serif;
  --bg:#ffffff;
  --text:#2a2a28;
  --muted:#6f6f68;
  --line:#ddd8d0;
  --max-width:860px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{overflow-y:scroll;scrollbar-gutter:stable;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-sans);
  font-weight:400;
  font-size:1.15rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--max-width);margin:0 auto;padding:3rem 1.5rem 4rem;}
.wrap-wide{max-width:1290px;}
a{color:var(--text);}
a:hover{color:#000;}
.site-header{text-align:center;margin-bottom:2.5rem;}
.site-header h1{font-family:var(--font-sans-medium);font-size:1.75rem;font-weight:600;letter-spacing:0.02em;margin:0 0 1.2rem;}
.site-header h1 a{text-decoration:none;}
.site-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0.65rem 0;}
.site-nav ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:0.4rem 1.15rem;margin:0;padding:0;}
.site-nav a{text-decoration:none;font-size:0.92rem;letter-spacing:0.005em;white-space:nowrap;}
.site-nav a:hover{text-decoration:underline;}
main h2{font-family:var(--font-sans-medium);font-size:1.5rem;font-weight:600;margin:0 0 1.5rem;}
main p{margin:0 0 1.15rem;}
.hero-image{margin:0 0 2.5rem;}
.hero-image img{width:100%;height:auto;display:block;}
.members-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 2rem;}
.member{margin-bottom:2.75rem;}
.member img{width:100%;max-width:190px;height:auto;display:block;margin:0 0 1rem;border-radius:2px;}
.member h3{font-family:var(--font-sans-medium);margin:0 0 0.5rem;font-size:1.2rem;font-weight:600;}
.work{margin-bottom:1.75rem;}
.work p{margin:0 0 0.2rem;}
.work .composer{font-weight:600;}
.work .movements{color:var(--muted);font-size:0.95rem;margin-top:0.3rem;}
.dates-group h3{font-weight:600;color:var(--muted);margin:2rem 0 1rem;text-transform:uppercase;letter-spacing:0.04em;font-size:0.85rem;}
.dates-group:first-of-type h3{margin-top:0;}
.date-entry{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:0.3em;margin:0 0 0.7rem;}
.date-entry .lead{white-space:nowrap;}
.date-entry .date{font-weight:600;font-variant-numeric:tabular-nums;}
.date-entry .info{overflow-wrap:break-word;}
.note{color:var(--muted);font-size:0.95rem;font-style:italic;}
blockquote{margin:0 0 0.8rem;font-style:italic;}
.cite{color:var(--muted);font-size:0.95rem;font-style:normal;margin:0 0 1.15rem;}
address{font-style:normal;}
.site-footer{margin-top:3.5rem;padding-top:1.3rem;border-top:1px solid var(--line);text-align:center;font-size:0.85rem;color:var(--muted);}
@media (max-width:640px){
  .wrap-wide{max-width:var(--max-width);}
  .members-grid{grid-template-columns:1fr;gap:0;}
  .member img{max-width:220px;}
}
