
@font-face { font-family: "Ostrich Sans"; src: url(/assets/ostrich-sans-heavy.woff2) format("woff2"); font-weight: 800; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url(/assets/newsreader.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url(/assets/newsreader-italic.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Hanken Grotesk"; src: url(/assets/hanken-grotesk.woff2) format("woff2"); font-weight: 100 900; font-display: swap; }

:root {
  --slate: #141A22;
  --slate-2: #1A2230;
  --fjord: #3F4B58;
  --ink: #EFE9DC;
  --ink-2: rgba(239, 233, 220, .76);
  --ink-3: rgba(239, 233, 220, .6);
  --ember: #B1492A;
  --hl: rgba(239, 233, 220, .07);
  --slate-a: rgba(20, 26, 34, .88);
  --sans: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --serif: "Newsreader", Georgia, "Times New Roman", serif;
  --caps: "Ostrich Sans", "Arial Narrow", sans-serif;
  --gutter: clamp(1rem, 4vw, 3rem);
  --max: 76rem;
  --label: 9rem;
  --ease: cubic-bezier(.16, 1, .3, 1);
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scrollbar-color: var(--fjord) var(--slate); }
body { margin: 0; background: var(--slate); color: var(--ink); font: 400 1.0625rem/1.55 var(--sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--fjord); color: var(--ink); }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; border-radius: 1px; }
a { color: inherit; text-underline-offset: .22em; text-decoration-thickness: 1px; }
img { max-width: 100%; height: auto; display: block; }
picture { display: block; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.print-only { display: none; }
.sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: 1rem; top: -5rem; z-index: 20; padding: .75rem 1rem; background: var(--ink); color: var(--slate); font-weight: 600; text-decoration: none; }
.skip:focus { top: 1rem; }
.ico { width: 1.2rem; height: 1.2rem; flex: none; }
.dot { display: inline-block; width: .22rem; height: .22rem; margin: 0 .6em; border-radius: 50%; background: currentColor; opacity: .55; vertical-align: middle; }

.btns { display: flex; flex-wrap: wrap; gap: .75rem; }
.btn { display: inline-flex; align-items: center; gap: .55rem; min-height: 3rem; padding: 0 1.2rem; border: 1px solid rgba(239, 233, 220, .7);
  border-radius: 2px; background: transparent; color: var(--ink); font: 600 1rem/1 var(--sans); text-decoration: none; cursor: pointer;
  transition: background-color .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease); }
.btn:hover { border-color: var(--ink); background: rgba(239, 233, 220, .08); }
.btn.solid { background: var(--ink); border-color: var(--ink); color: var(--slate); }
.btn.solid:hover { background: #FFF8EA; border-color: #FFF8EA; color: var(--slate); }
.btn:disabled { opacity: .6; cursor: progress; }
.btn:active, .listen:active, .pad:active, .tix:active, .pv-play:active { transform: translateY(1px); }

.bar { position: absolute; top: 0; left: 0; right: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .5rem var(--gutter); background: linear-gradient(to bottom, rgba(20, 26, 34, .8), rgba(20, 26, 34, 0)); }
.bar-mark { display: inline-flex; align-items: center; min-height: 44px; }
.bar-wm { width: 8.5rem; height: auto; }
.bar nav { display: flex; gap: .15rem; }
.bar nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 .8rem; border-bottom: 2px solid transparent; font: 800 1.3rem/1 var(--caps); letter-spacing: .1em;
  text-transform: uppercase; text-decoration: none; text-shadow: 0 1px 10px rgba(20, 26, 34, .9); color: var(--ink); transition: border-color .2s var(--ease), color .2s var(--ease); }
.bar nav a:hover { border-bottom-color: var(--ink-3); }
.bar nav a { position: relative; }
.bar nav a .u { position: absolute; left: .8rem; right: .8rem; bottom: -2px; height: 2px; background: var(--ink); view-transition-name: tab-u; }
.bar nav a[aria-current="page"]:hover { border-bottom-color: transparent; }
.bar-page { position: sticky; background: var(--slate-a); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--fjord); }
.bar-page nav a { text-shadow: none; }
.pg-main { max-width: var(--max); margin: 0 auto; }
.pg-sheet { padding-top: 1.5rem; }
.ch.pg-ch { border-top: 0; padding-top: 1.5rem; }
.pg-main { min-height: calc(100svh - 12rem); }
.pg-ch .ch-h { font-size: 2.6rem; }
.ch-h a { text-decoration: none; }
.ch-h a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.front .ch-body .feature { padding-bottom: 1rem; }
.ch-list { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--fjord); }

.hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: max(34rem, calc(100svh - 5.5rem)); overflow: hidden; background: var(--slate); }
.hero .photo, .hero .photo img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero .photo img { object-fit: cover; object-position: 50% 35%; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(20, 26, 34, .88) 0%, rgba(20, 26, 34, .66) 30%, rgba(20, 26, 34, .14) 52%, rgba(20, 26, 34, 0) 64%),
              linear-gradient(0deg, var(--slate) 0%, rgba(20, 26, 34, 0) 20%); }
.hero-in { position: relative; z-index: 2; width: 100%; max-width: var(--max); margin: 0 auto; padding: 6.5rem var(--gutter) 4rem; }
.hero-in > * { max-width: min(40rem, 48vw); }
.place { margin: 0 0 1.25rem; font: 800 1.2rem/1.25 var(--caps); letter-spacing: .1em; text-transform: uppercase; }
.hero h1 { margin: 0; font-size: 1rem; line-height: 0; }
.hero .wm { width: 100%; height: auto; }
.tag { margin: 1.1rem 0 2rem; font: italic 400 clamp(1.75rem, 1.2rem + 1.6vw, 2.6rem)/1.1 var(--serif); }
.hero-list { display: flex; flex-wrap: wrap; align-items: center; column-gap: 1.5rem; margin: 1rem 0 0; font-size: .95rem; }
.hero-list a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink-2); }
.hero-list a:hover { color: var(--ink); text-decoration-thickness: 2px; }
.hero-next { gap: .5rem; text-decoration: none; color: var(--ink); }
.hero-next .np-w { font: 800 1.05rem/1 var(--caps); letter-spacing: .1em; text-transform: uppercase; }
.hero-next .np-t { text-decoration: underline; text-underline-offset: .22em; }
.hero-next:hover .np-t { text-decoration-thickness: 2px; }
.hero .wm { view-transition-name: wm; }
.cover-vt { view-transition-name: cover; }

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  .hero .photo img { animation: warm 2.2s var(--ease) both; }
  @keyframes warm { from { filter: saturate(.2) brightness(.82); } to { filter: none; } }
    .hero .wm { clip-path: inset(0 100% 0 0); animation: write .9s var(--ease) .35s forwards; }
  @keyframes write { to { clip-path: inset(0 0 0 0); } }
  .hero .tag, .hero .btns, .hero-list { opacity: 0; animation: rise .6s var(--ease) forwards; }
  .hero .tag { animation-delay: .95s; } .hero .btns { animation-delay: 1.05s; } .hero-list { animation-delay: 1.15s; }
  @keyframes rise { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
  .hero .hero-next .lamp { transform: scale(0); animation: arm .4s var(--ease) 1.4s forwards, rec 2.8s ease-in-out 1.8s infinite; }
  @keyframes arm { to { transform: none; } }
}

@media (max-width: 47.99em) {
  .bar { flex-wrap: wrap; row-gap: 0; }
  .bar-wm { width: 7rem; }
  .bar nav { flex: 1 1 100%; overflow-x: auto; scrollbar-width: none; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter); }
  .bar nav::-webkit-scrollbar { display: none; }
  .bar nav a { padding: 0 .6rem; font-size: 1.15rem; flex: none; }
  .bar nav a .u { left: .6rem; right: .6rem; }
  .bar-page nav { border-top: 1px solid rgba(63, 75, 88, .5); }
  .pg-ch .ch-h { font-size: 2.1rem; }
  .hero { align-items: flex-end; min-height: max(32rem, calc(100svh - 4.75rem)); }
  .hero .photo img { object-position: 52% 6%; }
  .hero::before { background: linear-gradient(180deg, rgba(20, 26, 34, .72) 0, rgba(20, 26, 34, 0) 16%), linear-gradient(0deg, var(--slate) 0%, rgba(20, 26, 34, .93) 38%, rgba(20, 26, 34, .45) 60%, rgba(20, 26, 34, 0) 74%); }
  .hero-in { padding: 7.5rem var(--gutter) 1.75rem; }
  .hero-in > * { max-width: 100%; }
  .place { font-size: 1.05rem; margin-bottom: 1rem; }
  .tag { margin: .9rem 0 1.5rem; }
  .hero .btn { flex: 1 1 auto; justify-content: center; }
}

.sheet { max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter) 1rem; }
.ch { display: grid; grid-template-columns: var(--label) minmax(0, 1fr); column-gap: 2rem; padding: 2.5rem 0 3.5rem; border-top: 1px solid var(--fjord); }
.ch-h { margin: 0; font: 800 2rem/1 var(--caps); letter-spacing: .08em; text-transform: uppercase; }
.ch-body { min-width: 0; }
.ch-wide { grid-column: 1 / -1; }
.more { margin: 1rem 0 0; }
.more a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink-2); }
.more a:hover { color: var(--ink); text-decoration-thickness: 2px; }
@media (max-width: 47.99em) { .ch { grid-template-columns: minmax(0, 1fr); row-gap: 1.25rem; padding: 2rem 0 2.75rem; } }

.feature { display: grid; grid-template-columns: minmax(9rem, 15rem) minmax(0, 1fr); gap: 1.75rem; align-items: center; padding-bottom: 2.5rem; }
.cover { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.f-title { margin: 0; font: 400 clamp(2rem, 1.4rem + 2vw, 3.25rem)/1.02 var(--serif); letter-spacing: -.015em; }
.f-meta { margin: .6rem 0 1.4rem; color: var(--ink-2); }
.f-meta time { white-space: nowrap; }
@media (max-width: 32em) {
  .feature .btns, .ek-head .btns { display: grid; grid-template-columns: 1fr 1fr; }
  .feature .btn.solid, .ek-head .btn.solid { grid-column: 1 / -1; }
  .feature .btn, .ek-head .btn { justify-content: center; }
}
@media (max-width: 32em) { .feature { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; } .feature .cover { max-width: 15rem; } }

.rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--fjord); }
.rows > li { border-bottom: 1px solid var(--fjord); }
.sheet-head, .row { display: grid; grid-template-columns: 2.75rem minmax(0, 1.25fr) minmax(0, 1fr) 7rem 1.25rem; column-gap: 1rem; align-items: baseline; }
.sheet-head { padding: 0 0 .55rem; font: 800 1rem/1 var(--caps); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.sheet-head span:nth-child(4) { text-align: right; }
.row { min-height: 3.5rem; padding: .85rem 0; color: var(--ink-2); text-decoration: none; transition: color .2s var(--ease); }
.seg-panel > .rows:first-child, .ch-body > .rows.dates:first-child { border-top: 0; }
.row .n { font: 800 1.1rem/1 var(--caps); letter-spacing: .1em; color: var(--ink-3); }
.row .t { font: 400 1.4rem/1.2 var(--serif); color: var(--ink); }
.row .w, .row .d { font-size: .95rem; }
.row .d { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.go { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.6; opacity: .55; justify-self: end; align-self: center; transition: opacity .2s; }
a.row:hover, a.row:focus-visible { color: var(--ink); }
a.row:hover .go, a.row:focus-visible .go { opacity: 1; }
@media (max-width: 40em) {
  .sheet-head { display: none; }
  .row { grid-template-columns: 2.25rem minmax(0, 1fr) 1.25rem; row-gap: .15rem; }
  .row .n { grid-row: 1; }
  .row .t { grid-column: 2; grid-row: 1; }
  .row .w { grid-column: 2; grid-row: 2; }
  .row .d { grid-column: 2; grid-row: 3; text-align: left; }
  .row .go { grid-column: 3; grid-row: 1; }
}

.session { margin: 0; }
.play { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #000; cursor: pointer; aspect-ratio: 16 / 9; overflow: hidden; }
.play img { width: 100%; height: 100%; object-fit: cover; opacity: .86; transition: opacity .3s var(--ease); }
.play:hover img { opacity: 1; }
.play .disc { transition: transform .3s var(--ease); }
.play:hover .disc, .play:focus-visible .disc { transform: scale(1.06); }
.disc { position: absolute; left: 1.25rem; bottom: 1.25rem; display: grid; place-items: center; width: 4rem; height: 4rem; border-radius: 50%; background: var(--ink); color: var(--slate);
  box-shadow: 0 6px 24px rgba(0, 0, 0, .35); }
.disc .ico { width: 1.5rem; height: 1.5rem; margin-left: .2rem; }
.play:focus-visible { outline-offset: 4px; }
.session iframe, .vid iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; background: #000; }
@media (prefers-reduced-motion: no-preference) {
  .session iframe, .vid iframe { animation: up .5s var(--ease) both; }
  @keyframes up { from { opacity: 0; } to { opacity: 1; } }
}
.session figcaption { margin-top: .85rem; color: var(--ink-2); font-size: .95rem; }
.cap-t { font: 400 1.25rem var(--serif); color: var(--ink); }
.session figcaption a { display: inline-block; padding: .8rem .25rem; margin: -.8rem 0; }

.dates > li { display: grid; grid-template-columns: 8.75rem minmax(0, 1fr) minmax(0, 11rem) auto; column-gap: 1rem; align-items: baseline; padding: .95rem 0; color: var(--ink-2); }
.acts { display: inline-flex; align-items: center; gap: .25rem; justify-self: end; }
.cal { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: var(--ink-3); transition: color .2s var(--ease), background-color .2s var(--ease); }
.cal:hover, .cal:focus-visible { color: var(--ink); background: var(--hl); }
.dates .d, .lshows .d { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .5rem; font-variant-numeric: tabular-nums; color: var(--ink); }
.lamp { display: none; width: .62rem; height: .62rem; border-radius: 50%; background: var(--ember); flex: none; align-self: center;
  box-shadow: 0 0 0 0 rgba(177, 73, 42, .45); }
@media (prefers-reduced-motion: no-preference) {
  .next .lamp { animation: rec 2.8s ease-in-out infinite; }
  @keyframes rec { 0%, 100% { box-shadow: 0 0 0 0 rgba(177, 73, 42, .5); } 50% { box-shadow: 0 0 0 .32rem rgba(177, 73, 42, 0); } }
  .lamp.still { animation-play-state: paused; }
}
.nx { display: none; font: 800 .95rem/1 var(--caps); letter-spacing: .14em; text-transform: uppercase; }
.next .lamp { display: inline-block; }
.next .nx { display: inline; }
.v { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.v .c { font: 800 1.05rem/1.15 var(--caps); letter-spacing: .09em; text-transform: uppercase; color: var(--ink-2); }
.v .r { font: 400 1.35rem/1.2 var(--serif); color: var(--ink); }
.v .b { font-size: .95rem; }
.x { font-size: .9rem; }
.tix { display: inline-flex; align-items: center; min-height: 44px; padding: 0 .3rem; font-weight: 600; color: var(--ink); }
.dates .next .r { font-size: 1.6rem; }
.dates .next .tix { padding: 0 1rem; border: 1px solid rgba(239, 233, 220, .7); border-radius: 2px; text-decoration: none; transition: border-color .2s var(--ease), background-color .2s var(--ease); }
.dates .next .tix:hover { border-color: var(--ink); background: var(--hl); }
@media (min-width: 48em) { .dates .lamp { margin-left: -1.12rem; } }
.nf-sec .dates > li { grid-template-columns: 7.5rem minmax(0, 1fr) auto; }
.nf-sec .dates .x { grid-column: 2; }
.nf-sec .nx { display: none; }
.sub { margin: 2.5rem 0 .75rem; font: 800 1.2rem/1 var(--caps); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); }
.played > li, .elive > li { display: grid; grid-template-columns: 8.75rem minmax(0, 1fr); column-gap: 1rem; align-items: baseline; padding: .8rem 0; }
.played > li, .played .r { color: var(--ink-3); }
.played .r { font-size: 1.2rem; }
.played .d, .elive .d { font-variant-numeric: tabular-nums; }
.empty { margin: 0; color: var(--ink-2); }
@media (max-width: 47.99em) {
  .dates > li { grid-template-columns: minmax(0, 1fr) auto; row-gap: .25rem; }
  .dates .d { grid-column: 1; }
  .dates .v { grid-column: 1; }
  .dates .x { grid-column: 1; }
  .dates .acts { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
  .played > li, .elive > li { grid-template-columns: 6.5rem minmax(0, 1fr); }
}

.signup { position: relative; }
.ch-wide .signup { display: grid; grid-template-columns: var(--label) minmax(0, 1fr); column-gap: 2rem; }
.ch-wide .s-head { grid-row: 1 / span 3; }
.s-head { margin: 0 0 .5rem; font: 800 2rem/1 var(--caps); letter-spacing: .08em; text-transform: uppercase; }
.s-sub { margin: 0 0 .9rem; color: var(--ink-2); }
.s-row { display: flex; gap: .75rem; max-width: 34rem; }
.s-row input { flex: 1; min-width: 0; min-height: 3rem; padding: .55rem 0; border: 0; border-bottom: 1px solid rgba(239, 233, 220, .6); border-radius: 0;
  background: transparent; color: var(--ink); font: 400 16px/1.3 var(--sans); caret-color: var(--ink); }
.s-row input::placeholder { color: var(--ink-3); }
.s-row input:focus { outline: none; border-bottom-color: var(--ink); box-shadow: 0 1px 0 var(--ink); }
.s-row input[aria-invalid="true"] { border-bottom-style: dashed; }
.s-note { margin: .7rem 0 0; min-height: 1.5em; color: var(--ink-2); }
.s-note.err { color: var(--ink); font-weight: 600; }
.signup.done .s-row { display: none; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 47.99em) { .ch-wide .signup { grid-template-columns: minmax(0, 1fr); } .ch-wide .s-head { grid-row: auto; } }

.contacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: 1.5rem 2.5rem; }
.contact { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 1rem; padding-top: .9rem; border-top: 1px solid var(--fjord); }
.role { grid-column: 1 / -1; margin: 0 0 .25rem; font: 800 1.1rem/1 var(--caps); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.mail { display: flex; align-items: center; min-height: 44px; font: 400 1.3rem/1.25 var(--serif); text-decoration: underline; text-decoration-color: var(--fjord); overflow-wrap: anywhere; transition: text-decoration-color .2s var(--ease); }
.mail:hover { text-decoration-color: var(--ink); }
.copy { min-height: 2.75rem; padding: 0 .9rem; font-size: .9rem; }
.copied { grid-column: 1 / -1; margin: .2rem 0 0; min-height: 1.2em; font-size: .85rem; color: var(--ink-2); }
.contact.small .mail { font-size: 1.1rem; }
.follow { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
.follow a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: 0 1rem 0 .8rem; border: 1px solid var(--fjord); border-radius: 999px; text-decoration: none; }
.follow a:hover { border-color: var(--ink); }

.foot { padding: 1.5rem var(--gutter) 2.5rem; border-top: 1px solid var(--fjord); }
.foot-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; max-width: var(--max); margin: 0 auto; color: var(--ink-2); font-size: .95rem; }
.foot-in p { margin: 0; }
.foot-wm { width: 9rem; height: auto; }
.foot a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; }

.lk { max-width: 30rem; margin: 0 auto; padding: 0 0 .5rem; }
.lk-hero { position: relative; isolation: isolate; aspect-ratio: 5 / 4; max-height: 52svh; min-height: 15rem; overflow: hidden; }
.lk-photo, .lk-photo img { position: absolute; inset: 0; width: 100%; height: 100%; }
.lk-photo img { object-fit: cover; object-position: 50% 30%; }
.lk-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, var(--slate) 2%, rgba(20, 26, 34, .82) 26%, rgba(20, 26, 34, 0) 58%); }
.lk-id { position: absolute; left: 1rem; right: 1rem; bottom: .75rem; z-index: 2; }
.lk-name { margin: 0; width: min(17rem, 78%); line-height: 0; }
.lk-name .wm { width: 100%; height: auto; }
.lk .tag { margin: .45rem 0 0; font-size: 1.55rem; }
.next-pill { position: absolute; top: .75rem; left: .75rem; z-index: 3; display: inline-flex; align-items: center; gap: .5rem; max-width: calc(100% - 4.75rem);
  min-height: 44px; padding: 0 .9rem 0 .8rem; border: 1px solid rgba(239, 233, 220, .4); border-radius: 999px; background: rgba(20, 26, 34, .74);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--ink); font-size: .88rem; text-decoration: none; white-space: nowrap; }
.np-w { font: 800 .95rem/1 var(--caps); letter-spacing: .12em; text-transform: uppercase; }
.np-c { overflow: hidden; text-overflow: ellipsis; }
.np-t { font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
.share { position: absolute; top: .75rem; right: .75rem; z-index: 3; display: grid; place-items: center; width: 44px; height: 44px; padding: 0;
  border: 1px solid rgba(239, 233, 220, .5); border-radius: 50%; background: rgba(20, 26, 34, .55); color: var(--ink); cursor: pointer; }
.share .ico { width: 1.15rem; height: 1.15rem; }
.share-note { margin: 0 1rem; min-height: 0; font-size: .85rem; color: var(--ink-2); text-align: right; }
.share-note:empty { display: none; }

.lk-new { padding: 1rem 1rem 1.35rem; }
.new-top { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .9rem; align-items: center; }
.new-t { margin: 0; font: 400 1.75rem/1.05 var(--serif); letter-spacing: -.01em; }
.new-m { margin: .35rem 0 0; color: var(--ink-2); font-size: .92rem; }
.new-m time { white-space: nowrap; }

.pv { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr) auto; align-items: center; gap: .75rem; margin: 1rem 0 .9rem; }
.pv-play { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; padding: 0; border: 1px solid var(--ink); border-radius: 50%;
  background: transparent; color: var(--ink); cursor: pointer; transition: background-color .2s var(--ease), color .2s var(--ease); }
.pv-play .ico { width: 1.35rem; height: 1.35rem; }
.pv-play .ico:first-child { margin-left: .15rem; }
.pv-play .ico + .ico, .pv.on .pv-play .ico:first-child { display: none; }
.pv.on .pv-play .ico + .ico { display: block; }
.pv.on .pv-play { background: var(--ink); color: var(--slate); }
.pv-meter { display: flex; align-items: center; gap: 3px; height: 2.25rem; }
.pv-meter i { transition: transform .1s linear, background-color .2s var(--ease); flex: 1; height: 100%; background: var(--fjord); border-radius: 1px; transform: scaleY(calc(var(--h) * .55)); transform-origin: center;
  transition: background-color .15s; }
.pv-meter i.lit { background: var(--ink); }
.pv-time { min-width: 2.4rem; text-align: right; font-size: .9rem; font-variant-numeric: tabular-nums; color: var(--ink-2); }
.pv.err .pv-time { color: var(--ink); }
.pv.mini { display: block; margin: 0; }
.pv.mini .pv-play { width: 2.75rem; height: 2.75rem; border-color: var(--fjord); }
.pv.mini .pv-play .ico { width: 1.1rem; height: 1.1rem; }
.pv.mini.on .pv-play { border-color: var(--ink); }

.listen { display: flex; align-items: center; justify-content: center; gap: .65rem; min-height: 3.75rem; padding: 0 1rem; background: var(--ink); color: var(--slate);
  font: 600 1.12rem/1 var(--sans); text-decoration: none; border-radius: 2px; transition: background-color .2s var(--ease); }
.listen .ico { width: 1.4rem; height: 1.4rem; }
.lk-new .chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .65rem; }
.lk-new .chip { flex: 1 1 auto; justify-content: center; }
.chip { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; padding: 0 .95rem; border: 1px solid var(--fjord); border-radius: 999px; text-decoration: none; font-size: .95rem; }
.chip[hidden] { display: none; }

.lk-sec { padding: 1.35rem 1rem; border-top: 1px solid var(--fjord); }
.lk-h { margin: 0 0 .75rem; font: 800 1.35rem/1 var(--caps); letter-spacing: .1em; text-transform: uppercase; }
.lk .more { margin: .5rem 0 0; }
.lshows { border-top: 0; }
.lshows > li:nth-child(n+4) { display: none; }
.lshows > li:nth-child(3), .lshows > li:last-child { border-bottom: 0; }
.lshows .next .lamp { display: none; }
.lrow { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: .75rem; align-items: center; min-height: 4rem; padding: .7rem 0; text-decoration: none; }
.lrow .d, .lrow .v { grid-column: 1; }
.lrow .v { margin-top: .15rem; }
.lrow .v .r { font-size: 1.2rem; }
.tix-b { grid-column: 2; grid-row: 1 / span 2; display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem; border: 1px solid rgba(239, 233, 220, .7);
  border-radius: 2px; font-weight: 600; font-size: .95rem; }

.lk-tipline { margin: 0 0 .75rem; color: var(--ink-2); font-size: .95rem; }
.listen.tip { background: transparent; color: var(--ink); border: 1px solid rgba(239, 233, 220, .7); }
@media (hover: hover) { .listen.tip:hover { background: rgba(239, 233, 220, .08); border-color: var(--ink); } }
.pads { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--fjord); }
.pad { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .4rem; min-height: 4.5rem; padding: .5rem; border-top: 1px solid var(--fjord);
  color: var(--ink); font-weight: 600; font-size: .9rem; text-align: center; text-decoration: none; transition: background-color .2s var(--ease); }
.pad .ico { width: 1.45rem; height: 1.45rem; }
.pad.solid { grid-column: 1 / -1; flex-direction: row; gap: .65rem; min-height: 3.75rem; border-top: 0; background: var(--ink); color: var(--slate); font-size: 1.08rem; }
.pad.wide { grid-column: 1 / -1; flex-direction: row; gap: .65rem; min-height: 3.75rem; border-top: 0; font-size: 1.08rem; }
.pad:not(.solid) + .pad:not(.solid) { border-left: 1px solid var(--fjord); }

.lmore { border-top: 0; }
.lmore > li:last-child { border-bottom: 0; }
.mrow { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr) 44px 44px; column-gap: .65rem; align-items: center; padding: .65rem 0; }
.mrow .r { font: 400 1.2rem/1.2 var(--serif); color: var(--ink); }
.mrow .b { font-size: .88rem; color: var(--ink-2); }
.ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: var(--ink); }
.ic .ico { width: 1.3rem; height: 1.3rem; }

.lk .session figcaption { font-size: .9rem; }
.lk .s-head { font-size: 1.35rem; letter-spacing: .1em; }
.lk .s-row .btn { min-width: 5rem; justify-content: center; }
.lk .follow { justify-content: center; margin: 0; }
.lk .contacts { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.lk-foot { text-align: center; }
.lk-foot .foot-in { justify-content: center; }

@media (hover: hover) {
  .listen:hover, .pad.solid:hover { background: #FFF8EA; }
  .pad:not(.solid):hover, .ic:hover { background: rgba(239, 233, 220, .07); }
  .chip:hover, .share:hover { border-color: var(--ink); }
  .pv-play:hover { background: rgba(239, 233, 220, .1); }
  .pv.on .pv-play:hover { background: #FFF8EA; }
  .lrow:hover .tix-b { border-color: var(--ink); }
}
@media (min-width: 30.01rem) { .lk { padding-top: 1.5rem; } .lk-hero { max-height: none; } }
@media (prefers-reduced-motion: no-preference) {
  .lk > * { animation: lift .7s var(--ease) both; }
  .lk > :nth-child(2) { animation-delay: .05s; } .lk > :nth-child(3) { animation-delay: .1s; } .lk > :nth-child(n+4) { animation-delay: .15s; }
  @keyframes lift { from { transform: translateY(8px); } to { transform: none; } }
}

.ek { max-width: var(--max); margin: 0 auto; padding: 2.5rem var(--gutter) 3rem; }
.ek-head { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 2.5rem; align-items: start; padding-bottom: 2.5rem; border-bottom: 1px solid var(--fjord); }
.ek-name { margin: 0; max-width: 34rem; line-height: 0; }
.ek-name .wm { width: 100%; height: auto; }
.ek .tag { margin: 1rem 0 .3rem; font-size: 2rem; }
.ek .place { margin: 0 0 1.5rem; color: var(--ink-2); font-size: 1.05rem; }
.spec { margin: 0 0 1.5rem; border-top: 1px solid var(--fjord); }
.spec > div { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 1rem; align-items: baseline; padding: .55rem 0; border-bottom: 1px solid var(--fjord); }
.spec dt { font: 800 1rem/1.5 var(--caps); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.spec dd { margin: 0; }
.spec a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }
.quote a { min-height: 44px; }
.portrait { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.ek-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 3rem; }
.ek-sec { padding: 2rem 0; border-bottom: 1px solid var(--fjord); }
.ek-h { margin: 0 0 1rem; font: 800 1.5rem/1 var(--caps); letter-spacing: .1em; text-transform: uppercase; }
.bio p { margin: 0 0 .9rem; max-width: 38rem; font: 400 1.15rem/1.5 var(--serif); }
.one-line { margin: 1.25rem 0 0; color: var(--ink-2); font-size: .95rem; }
.ol-k { margin-right: .4rem; font: 800 .95rem var(--caps); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.figs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem 1.5rem; margin: 0; }
.figs > div { display: flex; flex-direction: column; padding-top: .7rem; border-top: 1px solid var(--fjord); }
.figs dt { order: 2; margin-top: .25rem; color: var(--ink-2); font-size: .92rem; }
.figs dd { margin: 0; }
.fv { order: 1; font: 400 2.4rem/1 var(--serif); }
.fd { order: 3; margin-top: .2rem; color: var(--ink-3); font-size: .8rem; }
.epk-tracks .row, .press .row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 6.75rem 1rem; }
.epk-tracks .row .t, .press .row .t { font-size: 1.2rem; }
.quote { margin: 0 0 1.25rem; font: italic 400 1.4rem/1.35 var(--serif); }
.quote p { margin: 0; }
.quote footer { margin-top: .4rem; color: var(--ink-2); font: 400 .9rem var(--sans); }
.quote a { display: inline-block; padding: .6rem 0; }
.elive .r { font: 400 1.2rem/1.2 var(--serif); }
.elive .b { color: var(--ink-2); font-size: .92rem; }
.photos { list-style: none; display: flex; gap: 1.25rem; margin: 0; padding: 0; }
.photos > li { flex: var(--ar, 1) 1 0; min-width: 0; }
.photos a { display: block; color: var(--ink-2); font-size: .9rem; text-decoration: none; }
.photos img { width: 100%; height: auto; margin-bottom: .6rem; }
.pdl-s { margin-left: .5rem; color: var(--ink-3); text-decoration: none; display: inline-block; }
.sp-links { display: flex; flex-wrap: wrap; column-gap: 1.25rem; }
.pl { display: block; color: var(--ink); }
.pc { display: block; }
.pdl { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.pdl-t { text-decoration: underline; text-underline-offset: .22em; }
.pc:empty { display: none; }
@media (max-width: 30em) { .spec > div { grid-template-columns: 1fr; gap: .1rem; } }
.ek > .ek-sec.screen:last-child { border-bottom: 0; }
@media screen and (max-width: 51.24em) {
  .ek-head { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .ek-cols { grid-template-columns: minmax(0, 1fr); }
  .photos { flex-wrap: wrap; }
  .photos > li { flex: 1 1 100%; }
  .epk-tracks .row, .press .row { grid-template-columns: minmax(0, 1fr) 1rem; }
  .epk-tracks .row .t, .press .row .t { grid-column: 1; }
  .epk-tracks .row .w, .press .row .w, .epk-tracks .row .d, .press .row .d { grid-column: 1; text-align: left; }
  .epk-tracks .row .go, .press .row .go { grid-column: 2; grid-row: 1; }
}

.sp-main { max-width: 60rem; margin: 0 auto; padding: 2rem var(--gutter) 3rem; }
.sp-head { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 2rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--fjord); }
.sp-mark { display: block; width: 12rem; }
.sp-wm { width: 100%; height: auto; }
.sp-h { margin: 0; font: 800 2rem/1 var(--caps); letter-spacing: .08em; text-transform: uppercase; }
.sp-h span { display: block; margin-top: .3rem; font: 400 1.6rem/1.1 var(--serif); letter-spacing: 0; text-transform: none; }
.sp-who { margin: .35rem 0 0; color: var(--ink-2); }
.plot-wrap { margin: 1.5rem 0 .5rem; overflow-x: auto; }
.plot { display: block; width: 100%; height: auto; font-family: var(--sans); }
.plot .deck { fill: none; stroke: var(--fjord); stroke-width: 2; }
.plot .edge { fill: var(--ink-3); font: 800 20px var(--caps); letter-spacing: .14em; text-transform: uppercase; }
.plot .kit circle, .plot .amp, .plot .keys, .plot .who { fill: none; stroke: var(--ink); stroke-width: 1.5; }
.plot .who { stroke-dasharray: 3 3; }
.plot .mic { fill: var(--ink); }
.plot .mic.lead { fill: var(--ember); }
.plot .stand { stroke: var(--ink); stroke-width: 1.5; }
.plot .lbl, .plot .who-l { fill: var(--ink); font-size: 15px; font-weight: 600; }
.plot .amp-l, .plot .tiny { fill: var(--ink-2); font-size: 12px; }
.plot .in circle { fill: var(--ink); }
.plot .in text { fill: var(--slate); font-size: 13px; font-weight: 700; }
.sp-note { margin: 0 0 1.5rem; color: var(--ink-2); font-size: .9rem; }
.inputs { width: 100%; border-collapse: collapse; font-size: .95rem; }
.inputs th, .inputs td { padding: .6rem .5rem .6rem 0; border-bottom: 1px solid var(--fjord); text-align: left; vertical-align: baseline; }
.inputs thead th { font: 800 .95rem/1 var(--caps); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); border-bottom-color: var(--ink-3); }
.inputs tbody th { font: 800 1.1rem/1 var(--caps); letter-spacing: .08em; }
.inputs b { font-weight: 600; }
.sp-sum { margin-top: 1.75rem; }
.sp-h2 { margin: 0 0 .5rem; font: 800 1.3rem/1 var(--caps); letter-spacing: .1em; text-transform: uppercase; }
.sp-sum ul { margin: 0; padding-left: 1.1rem; }
.sp-foot { margin: 1.75rem 0 1.25rem; color: var(--ink-2); font-size: .95rem; }
.sp-other { margin: 1.25rem 0 0; color: var(--ink-2); }
.sp-other a { display: inline-flex; align-items: center; min-height: 44px; margin-right: 1rem; }
@media (max-width: 40em) {
  .inputs thead { display: none; }
  .inputs tr { display: grid; grid-template-columns: 3rem minmax(0, 1fr); padding: .5rem 0; border-bottom: 1px solid var(--fjord); }
  .inputs th, .inputs td { border: 0; padding: .1rem 0; }
  .inputs tbody th { grid-row: 1 / span 5; }
  .inputs td:empty { display: none; }
  .inputs td[data-l]::before { content: attr(data-l) ": "; color: var(--ink-3); }
  .plot { min-width: 38rem; }
}

.nf-main { display: grid; align-content: start; justify-items: start; gap: .75rem; min-height: 100svh; max-width: 44rem; margin: 0 auto; padding: 3rem var(--gutter) 4rem; }
.nf-mark { display: block; width: min(20rem, 70vw); margin-bottom: 1.25rem; }
.nf-mark .wm { width: 100%; height: auto; }
.nf-k { margin: 0; font: 800 1.1rem/1 var(--caps); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.nf-h { margin: 0; font: italic 400 clamp(2.2rem, 1.6rem + 2.5vw, 3.4rem)/1.05 var(--serif); }
.nf-p { margin: 0 0 1rem; color: var(--ink-2); font-size: 1.15rem; }
.nf-sec { width: 100%; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--fjord); }
.nf-sub { margin: 0 0 1rem; font: 800 1.2rem/1 var(--caps); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); }
.nf-new { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1.25rem; align-items: center; }
.nf-cover { display: block; }
.nf-cover .cover { max-width: 7rem; }
.nf-t { margin: 0; font: 400 1.6rem/1.1 var(--serif); }
.nf-m { margin: .2rem 0 .75rem; color: var(--ink-2); font-size: .95rem; }
.nf-new .pv.mini { display: inline-block; margin: 0 .75rem .5rem 0; vertical-align: middle; }
.nf-sec .dates > li { padding-top: 0; }
.nf-list { width: 100%; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--fjord); }
.nf-list .s-head { font-size: 1.2rem; letter-spacing: .1em; }
@media (prefers-reduced-motion: no-preference) {
  .nf-main > * { animation: lift .6s var(--ease) both; }
  .nf-main > :nth-child(2) { animation-delay: .05s; } .nf-main > :nth-child(3) { animation-delay: .1s; } .nf-main > :nth-child(n+4) { animation-delay: .15s; }
}


.vids { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1.25rem; margin: 1.75rem 0 0; padding: 0; }
.vid { display: flex; flex-direction: column; gap: .35rem; }
.vid .play img { filter: saturate(.55) brightness(.9); transition: filter .5s var(--ease), opacity .3s var(--ease); }
.vid .play:hover img, .vid .play:focus-visible img { filter: none; opacity: 1; }
.disc.small { width: 3rem; height: 3rem; left: .9rem; bottom: .9rem; }
.disc.small .ico { width: 1.15rem; height: 1.15rem; }
.vt { margin-top: .5rem; font: 400 1.2rem/1.2 var(--serif); }
.vm { font-size: .9rem; color: var(--ink-2); }
@media (max-width: 40em) { .vids { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; } }

.about { display: grid; grid-template-columns: minmax(0, 36rem) minmax(0, 16rem); gap: 3rem; align-items: start; }
.about-pic { margin: 0; }
.about-pic img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.about-pic figcaption { margin-top: .5rem; font-size: .9rem; color: var(--ink-3); }
@media (max-width: 47.99em) { .about { grid-template-columns: minmax(0, 1fr); gap: 2rem; } .about-pic { max-width: 16rem; } }
.about .bio p { font-size: 1.25rem; max-width: 36rem; }
.about .quote { margin: 1.75rem 0 0; max-width: 36rem; }

.feature.ep { align-items: start; }
.feature.ep .cover { max-width: 15rem; }
.f-words { margin: 0 0 1rem; max-width: 34rem; font: italic 400 1.2rem/1.4 var(--serif); color: var(--ink-2); }
.f-who { font: 400 .85rem var(--sans); font-style: normal; color: var(--ink-3); }
.ep-tracks { margin: 0 0 1.25rem; }
.ep-tracks .mrow { grid-template-columns: 2.75rem minmax(0, 1fr); }
#earlier .lmore { border-top: 1px solid var(--fjord); }
#earlier .lmore > li:last-child { border-bottom: 1px solid var(--fjord); }
#earlier .mrow .b time { white-space: nowrap; }
.feature .pv { margin: 0 0 1.25rem; max-width: 30rem; }

.rooms { margin: 1.25rem 0 0; max-width: 40rem; color: var(--ink-2); font-size: .95rem; }
.one-line-copy { margin: .4rem 0 0; display: flex; align-items: center; gap: .75rem; }
.one-line-copy .copied { font-size: .85rem; color: var(--ink-2); }
.ek .vids { margin-top: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 51.24em) { .ek .vids { grid-template-columns: minmax(0, 1fr); } }

.sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 8; display: flex; gap: .5rem; padding: .5rem var(--gutter) calc(.5rem + env(safe-area-inset-bottom));
  background: var(--slate-a); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-top: 1px solid var(--fjord);
  transform: translateY(100%); visibility: hidden; transition: transform .35s var(--ease), visibility 0s .35s; }
.sticky.on { transform: none; visibility: visible; transition: transform .35s var(--ease); }
html:has(.sticky.on) { scroll-padding-bottom: 5rem; }
.sticky[hidden] { display: none; }
.sk-listen, .sk-next { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: 0 1rem; border-radius: 2px;
  font: 600 .95rem/1 var(--sans); text-decoration: none; white-space: nowrap; }
.sk-listen { flex: 0 0 auto; background: var(--ink); color: var(--slate); }
.sk-next { flex: 1 1 auto; min-width: 0; border: 1px solid rgba(239, 233, 220, .4); color: var(--ink); }
@media (min-width: 64em) { .sticky { left: auto; right: var(--gutter); bottom: 1rem; max-width: 32rem; padding: .5rem; gap: .5rem; border: 1px solid var(--fjord); border-radius: 3px; } }

.tb-bar { position: sticky; background: var(--slate-a); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--fjord); }
.tb-bar nav a { font-size: 1.05rem; text-shadow: none; }
.tb-main { max-width: var(--max); margin: 0 auto; }
.tb-head { padding: 2rem var(--gutter) 2.25rem; }
.tb-title { margin: 0; font: 400 clamp(2.4rem, 1.5rem + 3vw, 4rem)/1 var(--serif); letter-spacing: -.02em; }
.tb-lede { margin: .9rem 0 0; max-width: 40rem; color: var(--ink-2); }
.tb-meta { display: flex; flex-wrap: wrap; align-items: center; margin: 1.1rem 0 0; color: var(--ink-3); font-size: .9rem; }
.print { min-height: 2.75rem; padding: 0 .8rem; font-size: .9rem; }
.tb-days { list-style: none; margin: 0; padding: 0; }
.tb-day { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); column-gap: 1.5rem; padding: 0 0 2.5rem; }
.tb-day + .tb-day { padding-top: 2.5rem; border-top: 1px solid var(--fjord); }
.tb-when { display: flex; flex-direction: column; line-height: 1; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.tb-when .dnum { font: 400 3.4rem/1 var(--serif); color: var(--ink); letter-spacing: -.03em; }
.tb-when .dmo, .tb-when .dwk { font: 800 1.05rem/1.2 var(--caps); letter-spacing: .12em; text-transform: uppercase; }
.tb-when .dwk { color: var(--ink-3); }
.tb-route { margin-top: .6rem; font-size: .85rem; line-height: 1.3; }
.tb-today[hidden] { display: none; }
.tb-today { display: inline-block; margin-top: .6rem; padding: .2rem .45rem; border: 1px solid var(--ink); border-radius: 2px; font: 800 .8rem/1 var(--caps); letter-spacing: .14em; text-transform: uppercase; color: var(--ink); }
.tb-card { min-width: 0; }
.tb-h { margin: 0; }
.tb-h .c { display: block; font: 800 1.05rem/1.15 var(--caps); letter-spacing: .09em; text-transform: uppercase; color: var(--ink-2); }
.tb-h .r { display: block; font: 400 2rem/1.1 var(--serif); }
.tb-h .b { display: block; margin-top: .25rem; font: 400 1rem/1.4 var(--sans); color: var(--ink-2); }
.tb-times { margin: .75rem 0 0; font: 600 1rem/1.5 var(--sans); color: var(--ink-2); }
.tb-set { display: flex; align-items: center; gap: .55rem; margin: .5rem 0 0; font: italic 400 1.2rem/1.3 var(--serif); }
.tb-set .lamp { display: inline-block; }
.tb-card .sub { margin-top: 1.75rem; }
.run > li { display: grid; grid-template-columns: 5rem minmax(0, 1fr); column-gap: 1rem; padding: .7rem 0; color: var(--ink-2); }
.run .rt { font-variant-numeric: tabular-nums; color: var(--ink); white-space: nowrap; }
.run .rw { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.run .rn { font: 400 1.2rem/1.2 var(--serif); color: var(--ink); }
.run .rd { font-size: .92rem; }
.run > li.me, .tb-contacts > div.me { background: linear-gradient(90deg, var(--hl), transparent 70%); margin: 0 -.5rem; padding-left: .5rem; padding-right: .5rem; }
.tb-day.past .tb-when .dnum, .tb-day.past .tb-h .r { color: var(--ink-2); }
.tb-day.past .lamp { display: none; }
.run > li.me .rn { font-style: italic; }
.tb-spec { margin: 1.75rem 0 0; }
.tb-spec > div { grid-template-columns: 6.5rem minmax(0, 1fr); }
.tb-spec dd { max-width: 44rem; }
.tb-plot { margin: .75rem 0 0; font-size: .95rem; }
.tb-plot a { display: inline-flex; align-items: center; min-height: 44px; }
.set-head { grid-template-columns: 2.75rem minmax(0, 1.4fr) minmax(0, 1fr) 5rem 3.5rem 3.5rem 2.5rem; }
.set-head span:nth-child(5), .set-head span:nth-child(6) { text-align: right; }
.tb-code { margin: 0 0 .5rem; font: 800 1.05rem/1.4 var(--caps); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); }
.tb-open { margin: .5rem 0 1.5rem; font: italic 400 1.2rem/1.35 var(--serif); color: var(--ink); max-width: 36rem; }
.setlist > li { display: grid; grid-template-columns: 2.75rem minmax(0, 1.4fr) minmax(0, 1fr) 5rem 3.5rem 3.5rem 2.5rem; column-gap: 1rem; align-items: baseline; min-height: 3.5rem; padding: .8rem 0; color: var(--ink-2); }
.setlist .n { font: 800 1.1rem/1 var(--caps); letter-spacing: .1em; color: var(--ink-3); }
.setlist .t { font: 400 1.35rem/1.2 var(--serif); color: var(--ink); }
.setlist .w { display: flex; flex-direction: column; gap: .1rem; font-size: .92rem; }
.setlist .ref { color: var(--ink-3); font-size: .85rem; }
.setlist .k, .setlist .l, .setlist .ck { font-variant-numeric: tabular-nums; font-size: .95rem; }
.setlist .l, .setlist .ck { text-align: right; }
.setlist .ck { color: var(--ink); }
.setlist .tag { margin-left: .6rem; padding: .15rem .4rem; border: 1px solid var(--fjord); border-radius: 2px; font: 800 .7rem/1 var(--caps); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); vertical-align: .2em; }
.setlist .fold { display: inline-grid; place-items: center; width: 44px; height: 44px; margin: -.6rem 0 -.6rem auto; border-radius: 50%; color: var(--ink-3); transition: color .2s var(--ease), background-color .2s var(--ease); }
.setlist .fold .go { width: 1.1rem; height: 1.1rem; opacity: 1; }
.setlist .fold:hover, .setlist .fold:focus-visible { color: var(--ink); background: var(--hl); }
.setlist .enc { min-height: 0; padding: 1.4rem 0 .4rem; border-bottom: 0; }
.setlist .enc .t { font: 800 1rem/1 var(--caps); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.setlist .encore .n { color: var(--ink); }
.blank { display: inline-block; width: 2.5rem; height: 1px; margin-bottom: .25rem; background: var(--ink-3); vertical-align: middle; }
.tb-listen { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; margin: 1.25rem 0 0; }
.tb-samply { color: var(--ink-3); font-size: .9rem; }
.tb-clock { margin: 1rem 0 0; color: var(--ink-2); font-size: .95rem; }
.ck-total { font: 400 1.4rem var(--serif); color: var(--ink); }
.ck-room { color: var(--ink); }
.tb-band > div, .tb-contacts > div { grid-template-columns: 11rem minmax(0, 1fr); }
.tb-contacts dt .role { display: block; margin-top: .15rem; font: 400 .85rem/1.3 var(--sans); letter-spacing: 0; text-transform: none; color: var(--ink-3); }
.tb-contacts dt { font-size: 1.05rem; color: var(--ink); letter-spacing: .08em; }
.tb-contacts dd { overflow-wrap: anywhere; }
.tb-contacts dd a { display: inline-flex; align-items: center; min-height: 44px; }
.tb-sheet .ch { padding: 2rem 0 3rem; }
@media (max-width: 47.99em) {
  .tb-day { grid-template-columns: minmax(0, 1fr); row-gap: .75rem; }
  .tb-when { flex-direction: row; align-items: baseline; gap: .5rem; }
  .tb-when .dnum { font-size: 2.2rem; }
  .tb-route { margin: 0 0 0 auto; text-align: right; }
  .tb-today { margin: 0 0 0 .5rem; align-self: center; }
  .set-head { display: none; }
  .setlist > li { grid-template-columns: 2.25rem minmax(0, 1fr) 3.5rem 44px; row-gap: .1rem; }
  .setlist .n { grid-row: 1; }
  .setlist .t { grid-column: 2; grid-row: 1; }
  .setlist .w { grid-column: 2; grid-row: 2; }
  .setlist .k { grid-column: 2; grid-row: 3; }
  .setlist .k::before { content: "Key "; color: var(--ink-3); }
  .setlist .l { display: none; }
  .setlist .ck { grid-column: 3; grid-row: 1; }
  .setlist .fold { grid-column: 4; grid-row: 1 / span 3; align-self: center; margin: 0; }
  .setlist .enc { grid-template-columns: 2.25rem minmax(0, 1fr); }
  .tb-spec > div, .tb-band > div, .tb-contacts > div { grid-template-columns: minmax(0, 1fr); gap: .15rem; }
  .run > li { grid-template-columns: 4.5rem minmax(0, 1fr); }
}

.seg { position: relative; display: flex; gap: 1.75rem; margin: 0 0 1.5rem; border-bottom: 1px solid var(--fjord); overflow-x: auto; scrollbar-width: none; }
.seg::-webkit-scrollbar { display: none; }
.seg button { flex: none; min-height: 44px; padding: 0; margin-bottom: -1px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--ink-3);
  font: 800 1.05rem/1 var(--caps); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; white-space: nowrap; transition: color .2s var(--ease); }
.seg button:hover { color: var(--ink-2); }
.seg button[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--ink); }
.seg.js button[aria-selected="true"] { border-bottom-color: transparent; }
.seg-u { position: absolute; left: 0; bottom: -1px; height: 2px; width: 0; background: var(--ink); pointer-events: none; transition: transform .3s var(--ease), width .3s var(--ease); }
.seg-panel[hidden], [data-seg-item][hidden] { display: none; }
@media (prefers-reduced-motion: no-preference) { .seg-panel { animation: up .2s var(--ease) both; } }
.stage-inline { margin-top: 1.5rem; }
.stage-inline .seg { margin-bottom: 1rem; }
.stage-inline .plot-wrap { margin: 0; }
.sp-in-l { margin: .5rem 0 0; font-size: .95rem; }
.sp-in-l a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink-2); }
.sp-in-l a:hover { color: var(--ink); }
.sp-main .seg { margin: 1.5rem 0 1rem; }
#live .seg-panel .played { margin-top: .25rem; }

@view-transition { navigation: auto; }
.bar-mark { view-transition-name: wm; }
.bar-page { view-transition-name: bar; }
::view-transition-group(tab-u) { animation-duration: .32s; animation-timing-function: var(--ease); }
::view-transition-old(root) { animation-duration: .12s; }
::view-transition-new(root) { animation-duration: .26s; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}

@media print {
  @page { size: letter; margin: 0; }
  html, body { background: var(--slate) !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body { font-size: 7.5pt; line-height: 1.32; }
  .skip, .screen, .copy, .copied, .signup, .photos, .btns, .foot, .go, .sr, .seg { display: none !important; }
  .seg-panel { animation: none !important; }
  .ek { max-width: none; padding: .4in .46in .25in; }
  .ek-head { grid-template-columns: 1.55fr 1fr; gap: .3in; padding-bottom: .16in; }
  .ek-name { max-width: 3.7in; }
  .ek .tag { margin: .09in 0 .02in; font-size: 15pt; }
  .ek .place { margin: 0 0 .1in; font-size: 8pt; }
  .spec { margin: 0; }
  .spec > div { grid-template-columns: .85in 1fr; padding: .035in 0; gap: .08in; }
  .spec dt { font-size: 8pt; }
  .spec a, .quote a { min-height: 0; }
  .print-only { display: block; }
  .print-links { margin: .06in 0 0; font-size: 8pt; color: var(--ink-2); }
  .asof { margin: .04in 0 0; font-size: 7.5pt; color: var(--ink-3); }
  .sp-links { display: none; }
  .portrait { width: 2in; margin-left: auto; }
  .ek-cols { display: block; column-count: 2; column-gap: .34in; margin-top: .06in; }
  .ek-sec { break-inside: avoid; padding: .08in 0 .1in; }
  .ek-h { margin: 0 0 .05in; font-size: 10.5pt; }
  .bio p { margin: 0 0 .05in; font-size: 8.3pt; line-height: 1.35; }
  .figs { gap: .06in .12in; }
  .figs > div { padding-top: .04in; }
  .fv { font-size: 15pt; }
  .figs dt { font-size: 7.5pt; }
  .fd { font-size: 7.5pt; margin-top: .02in; }
  .rows > li { break-inside: avoid; }
  .row, .played > li, .elive > li { min-height: 0; padding: .03in 0; }
  .epk-tracks .row, .press .row { grid-template-columns: 1fr 1.1fr .7in; column-gap: .08in; }
  .row .t, .epk-tracks .row .t, .press .row .t, .elive .r { font-size: 8.6pt; }
  .row .w, .row .d, .elive .b { font-size: 7.5pt; }
  .played > li, .elive > li { grid-template-columns: .75in 1fr; column-gap: .08in; }
  .played > li:nth-child(n+6) { display: none; }    .played .r { font-size: 8pt; }
  .played .b, .elive .b, .played > li { font-size: 7.5pt; }
  .ek-head { break-after: avoid; }
  .ek-cols { break-before: avoid; }
  .sub { margin: .07in 0 .03in; font-size: 8pt; }
  .quote { margin: 0 0 .05in; font-size: 9pt; }
  .quote footer { font-size: 7.5pt; margin-top: .02in; }
  .quote a { padding: 0; }
  a { text-decoration: none; }

    html:has(body.tb), body.tb { background: #fff !important; }
  @page tour { size: letter; margin: .5in .55in; }
  body.tb { page: tour; --slate: #fff; --ink: #141A22; --ink-2: #3F4B58; --ink-3: #5C6672; --fjord: #9AA3AD; font-size: 9.5pt; line-height: 1.4; }
  body.tb .bar, body.tb .sticky, body.tb .print, body.tb .tb-today { display: none !important; }
  body.tb .tb-head { padding: 0 0 .15in; }
  body.tb .tb-title { font-size: 22pt; }
  body.tb .tb-sheet { padding: 0; }
  body.tb .ch { grid-template-columns: 1in minmax(0, 1fr); padding: .15in 0 .2in; break-inside: auto; }
  body.tb .ch-h { font-size: 13pt; }
  body.tb .tb-day { break-inside: auto; padding-bottom: .2in; }
  body.tb .run > li, body.tb .setlist > li, body.tb .spec > div { break-inside: avoid; }
  body.tb .tb-when .dnum { font-size: 22pt; }
  body.tb .tb-h .r { font-size: 15pt; }
  body.tb .run > li, body.tb .setlist > li, body.tb .spec > div { padding: .04in 0; min-height: 0; }
  body.tb .run .rn, body.tb .setlist .t { font-size: 10.5pt; }
  body.tb .setlist .k { border-bottom: 1px solid var(--fjord); min-height: .2in; }
  body.tb .blank { background: var(--ink-3); }
  body.tb .lamp { box-shadow: none; animation: none; }
  body.tb a { color: var(--ink); }
  body.tb .foot { display: block !important; padding: .2in 0 0; }

    html:has(body.sp), body.sp { background: #fff !important; }
  body.sp { --slate: #fff; --ink: #141A22; --ink-2: #3F4B58; --ink-3: #5C6672; --fjord: #9AA3AD; font-size: 10pt; }
  .sp-main { max-width: none; padding: .5in .55in .4in; }
  .sp-mark { width: 1.9in; }
  .sp-h { font-size: 20pt; }
  .sp-h span { font-size: 15pt; }
  .plot-wrap { margin: .15in 0 .05in; overflow: visible; }
  .plot { max-height: 4.1in; }
  .plot .in text { fill: #fff; }
  .sp-note { margin-bottom: .12in; font-size: 8.5pt; }
  .inputs { font-size: 9.5pt; }
  .inputs th, .inputs td { padding: .05in .08in .05in 0; }
  .sp-sum { margin-top: .15in; break-inside: avoid; }
  .sp-h2 { font-size: 11pt; }
  .sp-foot { margin: .15in 0 0; font-size: 9pt; }
}
