/* Olga Thomas — Composer site · concert-hall daylight key */
:root{
  --hall:#FAF7F0;          /* warm ivory daylight */
  --hall-soft:#F1ECE0;
  --ink:#232838;           /* deep navy-charcoal */
  --ink-dim:#6A6F7E;
  --gold:#A8843C;          /* champagne-gold, deepened for daylight */
  --gold-soft:#C9AE72;
  --rule:#E0D8C6;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;background:var(--hall);}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
body{
  background:var(--hall);
  color:var(--ink);
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:20px; line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto;}
a{color:var(--gold); text-decoration:none;}
a:hover{text-decoration:underline;}
a:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
.label{
  font-family:'Jost', sans-serif; font-weight:400; font-size:12px;
  letter-spacing:0.32em; text-transform:uppercase; color:var(--gold);
}
/* ---------- NAV ---------- */
header.site{
  background:var(--hall);
  border-bottom:1px solid var(--rule);
  padding:26px 24px 22px; text-align:center;
}
header.site .name{
  font-size:26px; letter-spacing:0.12em; font-weight:600; color:var(--ink);
  text-transform:uppercase;
}
header.site .name a{color:var(--ink);}
header.site .name a:hover{text-decoration:none; color:var(--gold);}
nav.main{margin-top:14px;}
nav.main a{
  font-family:'Jost',sans-serif; font-size:12.5px; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--ink-dim); margin:0 13px;
  padding-bottom:4px;
}
nav.main a:hover{color:var(--gold); text-decoration:none;}
nav.main a.here{color:var(--gold); border-bottom:1px solid var(--gold);}
/* ---------- STRUCTURE ---------- */
section{padding:74px 24px; background:var(--hall);}
section.alt{background:var(--hall-soft); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);}
.inner{max-width:760px; margin:0 auto;}
.act{text-align:center; margin-bottom:36px;}
.act h1,.act h2{
  font-weight:500; font-size:clamp(30px,4vw,42px); letter-spacing:0.02em; margin-top:10px;
}
p{margin-bottom:1.1em;}
p.dim{color:var(--ink-dim);}
.orn{display:flex; align-items:center; justify-content:center; gap:14px; color:var(--gold-soft); width:min(380px,70vw); margin:0 auto;}
.orn::before,.orn::after{content:""; height:1px; flex:1; background:linear-gradient(90deg,transparent,var(--gold-soft));}
.orn::after{background:linear-gradient(90deg,var(--gold-soft),transparent);}
/* ---------- HERO (home) ---------- */
.hero{
  text-align:center; padding:96px 24px 84px;
  background:
    radial-gradient(ellipse 85% 55% at 50% -15%, #FFFDF7 0%, transparent 65%),
    var(--hall);
}
.hero h1{font-size:clamp(40px,6vw,64px); font-weight:500; letter-spacing:0.04em;}
.hero .role{
  font-family:'Jost',sans-serif; font-weight:300; font-size:14px;
  letter-spacing:0.3em; text-transform:uppercase; color:var(--ink-dim); margin-top:14px;
}
.hero .strap{
  font-size:clamp(21px,2.6vw,26px); font-style:italic; max-width:30em;
  margin:26px auto 0; color:var(--ink);
}
/* ---------- CARDS ---------- */
.cards{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:26px; max-width:980px; margin:0 auto;
}
.card{
  background:#FFFEFA; border:1px solid var(--rule); border-radius:3px;
  padding:30px 26px; text-align:center;
  box-shadow:0 1px 0 rgba(35,40,56,0.03);
}
.card .label{display:block; margin-bottom:10px;}
.card h3{font-size:24px; font-weight:600; margin-bottom:10px;}
.card p{font-size:18px; color:var(--ink-dim); margin-bottom:14px;}
.card a.more{font-family:'Jost',sans-serif; font-size:12px; letter-spacing:0.2em; text-transform:uppercase;}
/* ---------- DISCOGRAPHY ---------- */
.disc{max-width:820px; margin:0 auto;}
.rel{
  display:flex; gap:26px; align-items:flex-start;
  padding:30px 0; border-bottom:1px solid var(--rule);
}
.rel img{width:132px; flex:0 0 132px; border:1px solid var(--rule);}
.rel h3{font-size:23px; font-weight:600;}
.rel .meta{font-family:'Jost',sans-serif; font-size:11.5px; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin:4px 0 10px;}
.rel p{font-size:18px; margin-bottom:10px;}
.rel a.listen{font-family:'Jost',sans-serif; font-size:12px; letter-spacing:0.2em; text-transform:uppercase;}
@media (max-width:560px){ .rel{flex-direction:column;} .rel img{width:180px; flex:none;} }
/* ---------- BUTTONS ---------- */
.btn-row{display:flex; gap:18px; justify-content:center; flex-wrap:wrap; margin-top:30px;}
a.btn{
  font-family:'Jost',sans-serif; font-size:13px; letter-spacing:0.24em; text-transform:uppercase;
  color:var(--ink); border:1px solid var(--gold); padding:14px 30px; border-radius:2px;
  transition:background .25s, color .25s;
}
a.btn:hover{background:var(--gold); color:#FFFDF7; text-decoration:none;}
a.btn.solid{background:var(--gold); color:#FFFDF7;}
a.btn.solid:hover{background:var(--ink);}
/* ---------- GALLERY ---------- */
.grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:16px; max-width:980px; margin:0 auto;
}
.grid img{width:100%; border:1px solid var(--rule); background:#fff;}
/* ---------- FOOTER ---------- */
footer.site{
  border-top:1px solid var(--rule); background:var(--hall);
  padding:44px 24px 56px; text-align:center;
  font-family:'Jost',sans-serif; font-weight:300; font-size:13px;
  letter-spacing:0.08em; color:var(--ink-dim);
}
footer.site .socials{margin-bottom:14px;}
footer.site .socials a{margin:0 10px;}
blockquote{
  border-left:2px solid var(--gold-soft); padding:4px 0 4px 24px;
  margin:26px 0; font-size:22px; font-style:italic;
}

/* ---------- VISUAL ARCHIVE ---------- */
.archive-intro{max-width:42em; margin:12px auto 0; text-align:center;}
.archive-block{max-width:1080px; margin:52px auto 0; padding:0 20px;}
.archive-block h3{text-align:center; font-size:clamp(25px,3vw,33px); font-weight:500; margin:0 0 10px;}
.archive-note{max-width:46em; margin:0 auto 24px; text-align:center; font-size:17px;}
.story-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px; align-items:start;}
.story-grid figure{margin:0; background:#fff; border:1px solid var(--rule); box-shadow:0 2px 10px rgba(35,40,56,.06);}
.story-grid img{display:block; width:100%; height:auto;}
.story-grid figcaption{padding:13px 15px 15px; font-size:15px; line-height:1.45; color:var(--ink-dim); text-align:left;}
.feature-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.kirk-grid{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));}
.kirk-grid .wide{grid-column:span 2;}
@media (max-width:620px){.kirk-grid .wide{grid-column:span 1;}.archive-block{padding:0 14px;}}
