/* Release pages — shared stylesheet.
 *
 * External rather than inlined, unlike index.html. The SPA is one
 * self-contained file on purpose; these are 245 generated files, and inlining
 * would mean 245 copies of the same rules in the repo and a 245-file diff every
 * time a colour changes. One cached request is the better trade here.
 *
 * Tokens copied from scripts/template.html — keep them in step by hand. */

:root{
  --bg:#0b0b0c; --bg-2:#141416; --bg-3:#1c1c1f;
  --fg:#f4f2ec; --fg-2:#a6a39a; --fg-3:#88867e;
  --line:#2a2a2d; --accent:#f2751f;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  background:var(--bg);color:var(--fg);
  font-family:"Inter",system-ui,sans-serif;font-weight:300;
  font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
a{color:inherit}
.wrap{max-width:960px;margin:0 auto;padding:0 32px}

header.site{border-bottom:1px solid var(--line)}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 0;gap:20px}
.brand{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:21px;text-decoration:none;letter-spacing:.02em}
.topbar nav{display:flex;gap:24px;text-transform:uppercase;letter-spacing:.16em;font-size:11px}
.topbar nav a{color:var(--fg-2);text-decoration:none}
.topbar nav a:hover{color:var(--fg)}

.crumb{font-size:12px;color:var(--fg-3);margin:26px 0 0;letter-spacing:.04em}
.crumb a{color:var(--fg-2);text-decoration:none}
.crumb a:hover{color:var(--accent)}

.rel{display:grid;grid-template-columns:300px 1fr;gap:44px;margin:26px 0 10px;align-items:start}
.cover{aspect-ratio:1;background:#000;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.cover img{width:100%;height:100%;object-fit:cover;display:block}
.cover .none{color:var(--fg-3);font-size:11px;text-transform:uppercase;letter-spacing:.2em;text-align:center;padding:16px}
.shots{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.shots img{width:52px;height:52px;object-fit:cover;border:1px solid var(--line)}
.imgcredit{font-size:11px;color:var(--fg-3);margin-top:10px;line-height:1.5}
.imgcredit a{color:var(--fg-3)}

h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:46px;line-height:1.08;letter-spacing:.01em}
.artist{color:var(--fg-2);margin-top:6px;font-size:17px}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.tag{border:1px solid var(--line);color:var(--fg-2);font-size:10px;text-transform:uppercase;letter-spacing:.16em;padding:5px 10px}
.tag.on{border-color:var(--accent);color:var(--accent)}

dl.facts{margin-top:26px;display:grid;grid-template-columns:auto 1fr;gap:10px 22px;font-size:14px}
dl.facts dt{color:var(--fg-3);text-transform:uppercase;letter-spacing:.14em;font-size:10px;padding-top:4px}
dl.facts dd{color:var(--fg)}

.notes{margin-top:24px;color:var(--fg-2);border-left:2px solid var(--line);padding-left:16px}

.links{margin-top:26px;display:flex;gap:10px;flex-wrap:wrap}
.links a{border:1px solid var(--line);padding:9px 15px;text-decoration:none;font-size:12px;color:var(--fg-2);letter-spacing:.04em}
.links a:hover{border-color:var(--accent);color:var(--accent)}

section{margin-top:52px}
h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:25px;margin-bottom:16px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:11px 0;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--fg-3);text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:400}
td.role{color:var(--fg-2)}
ul.audio{list-style:none;font-size:14px}
ul.audio li{padding:10px 0;border-bottom:1px solid var(--line)}
ul.audio a{color:var(--fg-2);text-decoration:none}
ul.audio a:hover{color:var(--accent)}

.cta{margin:56px 0 0;padding:26px;border:1px solid var(--line);background:var(--bg-2)}
.cta a{color:var(--accent);text-decoration:none}

footer.site{border-top:1px solid var(--line);margin-top:64px;padding:30px 0 56px;color:var(--fg-3);font-size:12px;line-height:1.7}
footer.site a{color:var(--fg-2)}

@media (max-width:760px){
  .wrap{padding:0 20px}
  .rel{grid-template-columns:1fr;gap:26px}
  .cover{max-width:320px}
  h1{font-size:34px}
}
