:root{
  --page:#ffffff; --ink:#121212; --soft:#f3f3f0; --rule:#e2e2de; --muted:#56565d;
  --mark:#ffe24a; --mark-ink:#121212; --red:#d1301d; --green:#11804c; --ct:#0f6f63;
  --a-down:#e0442c; --a-mid:#2a59e0; --a-up:#7444cf; --a-bk:#12875a; --a-qn:#c98300;
  --display:"Archivo","Arial Narrow",Arial,sans-serif;
  --body:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --page:#111214; --ink:#f2f2ee; --soft:#1b1c1f; --rule:#2c2d31; --muted:#a6a7ae;
  --mark:#f0d33c; --mark-ink:#121212; --red:#ff7a63; --green:#4cc58a; --ct:#5fd0bf;
  --a-down:#ff6a52; --a-mid:#6b8cff; --a-up:#a582ff; --a-bk:#38b984; --a-qn:#f0aa2a; color-scheme:dark}}
:root[data-theme="dark"]{
  --page:#111214; --ink:#f2f2ee; --soft:#1b1c1f; --rule:#2c2d31; --muted:#a6a7ae;
  --mark:#f0d33c; --mark-ink:#121212; --red:#ff7a63; --green:#4cc58a; --ct:#5fd0bf;
  --a-down:#ff6a52; --a-mid:#6b8cff; --a-up:#a582ff; --a-bk:#38b984; --a-qn:#f0aa2a; color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--ink);font:17px/1.55 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:3px solid var(--a-mid);outline-offset:2px}
.wrap{max-width:880px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
header.top{border-bottom:2px solid var(--ink);padding-top:env(safe-area-inset-top,0px);background:var(--page)}
.bar{display:flex;align-items:center;gap:10px 14px;padding-block:12px 10px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto;min-width:0}
.ctlogo{display:block;width:150px;height:23px;background:var(--ink);-webkit-mask:url(/assets/ct_logo.be72e696.webp) left center/contain no-repeat;mask:url(/assets/ct_logo.be72e696.webp) left center/contain no-repeat;flex:none}
.ctl{display:block;flex:none;line-height:0}
a.prod{text-decoration:none;color:inherit}
.prod{border-left:2px solid var(--ink);padding-left:12px;line-height:1.05;white-space:nowrap}
.prod b{display:block;font:800 21px/1 var(--display);font-stretch:85%}
.prod span{font-size:12px;color:var(--muted)}
nav.links{display:flex;gap:2px;flex-wrap:wrap}
nav.links a{white-space:nowrap;font-weight:700;font-size:15px;text-decoration:none;padding:8px 12px;border-radius:4px}
nav.links a:hover{background:var(--soft)}
nav.links a[aria-current="page"]{background:var(--ink);color:var(--page)}
.back{margin:20px 0 0;font-size:15px}
.back a{font-weight:700;text-decoration:none;border-bottom:2px solid var(--mark)}
.kicker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:24px 0 8px;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.kicker .tm{color:var(--ink)}
h1.title{margin:0;font:800 clamp(38px,8vw,66px)/.95 var(--display);font-stretch:70%;letter-spacing:-.005em;text-wrap:balance;overflow-wrap:anywhere}
.desc{font-size:19px;color:var(--muted);margin:12px 0 0;max-width:60ch}
.lede{font-size:18px;max-width:62ch;margin:14px 0 0}
.bul{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;font:800 13px/1 var(--display);flex:none;letter-spacing:0}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.b{font-size:13px;font-weight:700;padding:3px 8px;border-radius:3px;border:1.5px solid var(--rule);white-space:nowrap}
.b.sold{background:var(--red);border-color:var(--red);color:#fff}
.b.free{border-color:var(--green);color:var(--green)}
.b.ct{border-color:var(--ct);color:var(--ct)}
.b.pk{background:var(--mark);border-color:var(--mark);color:var(--mark-ink)}
.picknote{margin:22px 0 0;background:var(--mark);color:var(--mark-ink);border-radius:6px;padding:14px 18px;max-width:64ch}
.picknote .lab{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.picknote p{margin:4px 0 0;font-size:19px;line-height:1.38;font-weight:700}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0}
.btn{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--ink);border-radius:4px;padding:10px 16px;font-weight:700;text-decoration:none;font-size:16px;line-height:1.2;background:var(--page)}
.btn:hover{background:var(--soft)}
.btn.primary{background:var(--ink);color:var(--page)}
.btn.primary:hover{opacity:.88}
dl.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:28px 0 0;border-top:2px solid var(--ink)}
dl.facts>div{padding:14px 0 16px;border-bottom:1px solid var(--rule);min-width:0}
dl.facts .wide{grid-column:1/-1}
dl.facts dt{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
dl.facts dd{margin:5px 0 0;overflow-wrap:anywhere}
.big{display:block;font:800 26px/1.08 var(--display);font-stretch:78%;font-variant-numeric:tabular-nums}
.sub{color:var(--muted);font-size:15.5px}
.lk{font-weight:700;text-decoration:none;border-bottom:1.5px solid var(--rule)}
.lk:hover{border-bottom-color:var(--ink)}
.note{color:var(--muted);font-size:15px;margin:14px 0 0;max-width:68ch}
h2.sec{font:800 30px/1 var(--display);font-stretch:72%;margin:44px 0 4px;padding-top:12px;border-top:2px solid var(--ink)}
h3.day{font:800 20px/1.1 var(--display);font-stretch:80%;margin:22px 0 0;text-transform:uppercase;letter-spacing:.02em}
.artist{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;border-top:1px solid var(--rule);padding:18px 0 8px}
.artist:first-of-type{border-top:0}
.mono{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:#fff;font:800 24px/1 var(--display);font-stretch:80%}
.mono.lg{width:84px;height:84px;font-size:32px}
.artist .an{font-weight:700;font-size:20px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;line-height:1.25}
.artist .an a{text-decoration:none}
.artist .an a:hover{text-decoration:underline}
.ai{color:var(--muted);font-size:15px}
.artist p,.bio{margin:8px 0 10px;font-size:16.5px;line-height:1.58;max-width:66ch}
.lis{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 0}
.lis a{font-weight:700;font-size:14px;text-decoration:none;border:1.5px solid var(--rule);border-radius:999px;padding:5px 12px}
.lis a:hover{border-color:var(--ink)}
.lis a.sp{border-color:#1db954}
.lis a.yt{border-color:#e62117}
.embeds{display:grid;gap:12px;margin:14px 0 6px;max-width:640px}
.embeds iframe{display:block;width:100%;border:0;border-radius:12px;background:var(--soft)}
.embeds .ytf{aspect-ratio:16/9;height:auto}
ul.shows{list-style:none;margin:8px 0 0;padding:0}
ul.shows li{border-bottom:1px solid var(--rule)}
ul.shows a{display:grid;grid-template-columns:130px minmax(0,1fr);gap:2px 18px;padding:13px 0;text-decoration:none}
ul.shows .when{font:800 19px/1.15 var(--display);font-stretch:80%;font-variant-numeric:tabular-nums}
ul.shows .when small{display:block;font:400 14px/1.35 var(--body);color:var(--muted);letter-spacing:0}
ul.shows .what b{display:block;font-size:17.5px;line-height:1.28}
ul.shows .what span{display:block;color:var(--muted);font-size:15px;margin-top:2px}
ul.shows .what mark{background:var(--mark);color:var(--mark-ink);padding:0 3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
ul.shows a:hover b{text-decoration:underline}
ul.cards{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
ul.cards a{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--rule);border-radius:4px;padding:12px 14px;text-decoration:none;height:100%}
ul.cards a:hover{border-color:var(--ink)}
ul.cards b{display:block;line-height:1.25}
ul.cards span.s{display:block;color:var(--muted);font-size:14.5px;margin-top:2px}
.feeds{display:grid;gap:10px;margin:14px 0 0}
.empty{color:var(--muted);padding:12px 0}
.fine{color:var(--muted);font-size:14px;margin:36px 0 0;max-width:70ch}
footer{margin-top:48px;border-top:2px solid var(--ink);padding-block:18px calc(30px + env(safe-area-inset-bottom,0px));font-size:14px;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}
footer .ctlogo{width:120px;height:18px;background:var(--muted)}
.mono.ph{overflow:hidden}
.mono.ph img{width:100%;height:100%;object-fit:cover;display:block}
.mono.sm40{width:40px;height:40px;font-size:15px;flex:none}
.mono.lg{width:120px;height:120px;font-size:44px;flex:none}
.ahead{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.pcr{font-size:12.5px;color:var(--muted);margin-top:4px}
.pcr a{color:inherit}
.rel{margin:4px 0 10px;font-size:15.5px}
.back .sep{color:var(--muted)}
.share{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:16px 0 0;font-size:15px}
.share .lbl{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.btn.sm{padding:6px 12px;font-size:14.5px;border-width:1.5px}
.hp{position:absolute;left:-9999px}
footer form.nlf{width:100%;display:grid;gap:10px;padding:16px 0 20px;margin-bottom:16px;border-bottom:1px solid var(--rule);color:var(--ink)}
form.nlf .nlh b,form.nlpage .nlh b{display:block;font:800 24px/1 var(--display);font-stretch:75%}
form.nlf .nlh span{font-size:15px;color:var(--muted)}
.nlr{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.nlr label{display:grid;gap:4px;font-size:13px;font-weight:700;flex:1 1 200px}
.nlr label i{font-weight:400;font-style:normal;color:var(--muted)}
.nlr input,.nlr select{border:1.5px solid var(--rule);background:var(--page);color:var(--ink);border-radius:6px;padding:10px 12px;font:inherit;font-size:16px;width:100%}
.nlr button{font:inherit;font-weight:700;cursor:pointer}
form.nlpage{display:grid;gap:12px;border:2px solid var(--ink);border-radius:6px;padding:18px;margin-top:24px;background:var(--soft)}
.fnav{padding-bottom:12px}
.fnav a{color:var(--ink);font-weight:700;text-decoration:none}
.fnav a:hover{text-decoration:underline}
#map{height:min(70vh,620px);border:2px solid var(--ink);border-radius:6px;margin-top:18px;background:var(--soft)}
.legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-weight:700;font-size:15px}
.legend>span{display:inline-flex;align-items:center;gap:6px}
.leaflet-popup-content{font:15px/1.4 var(--body);color:#121212;margin:12px 14px}
.leaflet-popup-content b{font-size:16px}
.leaflet-popup-content ul{margin:6px 0 0;padding-left:16px}
.leaflet-popup-content a{color:#2a59e0}
@media (max-width:640px){
  dl.facts{grid-template-columns:1fr}
  ul.shows a{grid-template-columns:104px minmax(0,1fr);gap:2px 12px}
  .ctlogo{width:118px;height:18px}
  .prod b{font-size:18px}
  nav.links{width:100%}
  nav.links a{padding:6px 10px}
  .artist{grid-template-columns:44px minmax(0,1fr);gap:12px}
  .artist .mono{width:44px;height:44px;font-size:17px}
}
@media (max-width:420px){.prod span{display:none}}
@media print{nav.links,.cta,.embeds{display:none}}
