
:root{--ink:#1f2527;--muted:#657074;--paper:#f6f4ef;--soft:#e8eceb;--line:#cfd6d4;--deep:#263235;--accent:#8f6d48;--white:#fff;--max:1180px}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;line-height:1.65}
a{color:inherit}.wrap{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:10;background:rgba(246,244,239,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.08}
.brand-small,.eyebrow,.work-type{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:700}
.brand-small{color:var(--muted)}.brand-title{font-family:Georgia,"Times New Roman",serif;font-size:1.6rem}
.main-nav{display:flex;gap:24px;font-size:.95rem}.main-nav a{text-decoration:none}.main-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.hero-image{width:100%;min-height:58vh;background:linear-gradient(90deg,rgba(19,27,30,.18),rgba(19,27,30,0) 58%),url("christopher-painter-hero.png");background-size:cover;background-position:center 32%}
.hero-copy{padding-block:72px 82px;max-width:920px}.eyebrow{color:var(--accent);margin:0 0 12px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.08;margin-top:0}
h1{font-size:clamp(3.2rem,8vw,7.4rem);margin-bottom:18px;letter-spacing:-.035em}
h2{font-size:clamp(2.2rem,4.4vw,4.1rem);margin-bottom:20px} h3{font-size:1.8rem;margin-bottom:18px}
.standfirst{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.3rem,2.6vw,2rem);color:var(--deep);margin:0 0 28px}
.intro{font-size:1.13rem;max-width:820px;color:#394245}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.button{display:inline-block;border:1px solid var(--deep);padding:12px 18px;text-decoration:none;font-weight:600;transition:.2s ease}
.button:hover{background:var(--deep);color:var(--white)}.button-primary{background:var(--deep);color:var(--white)}.button-primary:hover{background:transparent;color:var(--deep)}
.quote-band{background:var(--deep);color:var(--white);padding:42px 0}
blockquote{margin:0;max-width:900px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,2.8vw,2.15rem);line-height:1.35}
blockquote cite{display:block;margin-top:12px;font-family:"Segoe UI",Arial,sans-serif;font-size:.9rem;font-style:normal;color:#d7dddd}
.section{padding:92px 0}.section-soft{background:var(--soft)}.section-heading{max-width:720px;margin-bottom:42px}.section-heading>p:last-child{color:var(--muted)}
.work-grid,.repertoire-grid,.listen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.work-card,.listen-card{min-height:320px;padding:34px;border:1px solid var(--line);background:rgba(255,255,255,.35);display:flex;flex-direction:column}
.work-type{color:var(--accent);margin:0 0 16px}.work-card p,.repertoire-card p,.listen-card p{color:#3e4749}
.card-links{margin-top:auto;padding-top:24px;display:flex;gap:18px}.card-links a,.text-link,.contact-links a{text-underline-offset:5px}
.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}.prose{font-size:1.08rem;max-width:650px}.text-link{display:inline-block;margin-top:12px;font-weight:700}
.contact-section{background:#ddd8ce}.contact-links{display:flex;flex-direction:column;gap:9px;margin-top:24px}
.site-footer{background:#171d1f;color:#d9dede;padding:30px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;font-size:.9rem}.footer-inner p{margin:0}.site-footer a{color:inherit;text-underline-offset:4px}
.page-hero{padding:92px 0 76px;background:linear-gradient(180deg,#e3e8e6 0%,var(--paper) 100%)}.page-hero .intro{max-width:780px}
.category-nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.category-nav a{border:1px solid var(--deep);padding:10px 15px;text-decoration:none;font-weight:600}.category-nav a:hover{background:var(--deep);color:var(--white)}
.repertoire-card{padding:34px;border-top:1px solid var(--line);min-height:280px;display:flex;flex-direction:column}.repertoire-card .text-link{margin-top:auto;padding-top:20px}
.more-music{margin-top:34px;padding:28px 34px;border-left:3px solid var(--accent);background:rgba(255,255,255,.35)}
.listen-card{min-height:330px}.listen-card .button{margin-top:auto;align-self:flex-start}.listen-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.audio-row{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.audio-row h3{margin-bottom:8px}.audio-row p{margin-top:0;margin-bottom:0;color:#465053}.audio-row .work-type{color:var(--accent);margin-bottom:8px}
.retrospective-hero{background:linear-gradient(180deg,rgba(227,232,230,.92),rgba(246,244,239,.98)),url("christopher-painter-hero.png");background-size:cover;background-position:center 28%}
.opportunity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.opportunity-card{padding:30px;border:1px solid var(--line);background:rgba(255,255,255,.45);min-height:300px;display:flex;flex-direction:column}.opportunity-card .text-link{margin-top:auto;padding-top:18px}
.brochure-section{background:#ece7de}
@media(max-width:900px){.opportunity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.header-inner{min-height:auto;padding-block:16px;align-items:flex-start}.main-nav{display:none}.hero-image{min-height:34vh}.hero-copy{padding-block:54px 62px}.work-grid,.repertoire-grid,.listen-grid,.split,.audio-row{grid-template-columns:1fr}.split{gap:22px}.section{padding:68px 0}.work-card{min-height:0}.footer-inner{flex-direction:column}.page-hero{padding:64px 0 54px}.audio-row .button{justify-self:start}}
@media(max-width:620px){.opportunity-grid{grid-template-columns:1fr}}


.archive-section {
  background: #f1eee7;
}

.archive-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
  gap: 22px;
  align-items: stretch;
}

.archive-feature,
.archive-card {
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
}

.archive-feature {
  display: grid;
  grid-template-rows: minmax(320px, 1fr) auto;
}

.archive-feature img,
.archive-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.archive-feature img {
  max-height: 520px;
  object-position: center;
}

.archive-feature figcaption {
  padding: 26px 30px 28px;
}

.archive-feature figcaption blockquote {
  color: var(--ink);
  font-size: clamp(1.2rem, 2.1vw, 1.7rem);
  line-height: 1.4;
}

.archive-feature figcaption p {
  margin: 12px 0 0;
  color: var(--muted);
}

.archive-pair {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 22px;
}

.archive-card {
  display: grid;
  grid-template-columns: minmax(120px, .9fr) minmax(145px, 1.1fr);
  min-height: 245px;
}

.archive-card img {
  min-height: 245px;
}

.archive-card figcaption {
  padding: 24px;
  align-self: center;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.1rem;
  line-height: 1.45;
}

@media (max-width: 860px) {
  .archive-layout {
    grid-template-columns: 1fr;
  }

  .archive-pair {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: none;
  }

  .archive-card {
    grid-template-columns: 1fr;
  }

  .archive-card img {
    height: 300px;
  }
}

@media (max-width: 620px) {
  .archive-pair {
    grid-template-columns: 1fr;
  }

  .archive-feature {
    grid-template-rows: auto auto;
  }

  .archive-feature img {
    max-height: none;
  }
}
