/* Stage — a wall of a name, releases, shows as tickets. */
:root { --t-font-display: "Bebas Neue", Impact, sans-serif; --t-font-body: "Inter", system-ui, sans-serif; --t-max: 1200px; --t-radius: 6px; --t-radius-sm: 4px; }

.t-hero--marquee .t-cover { aspect-ratio: 16 / 7; max-height: 560px; }
.t-hero--marquee .t-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, var(--t-bg) 5%, transparent 60%); }
.t-hero--marquee .t-hero__inner { margin-block-start: clamp(-110px, -18vw, -260px); position: relative; z-index: 1; grid-template-columns: 1fr; gap: 12px; padding-block: 0 clamp(20px, 3vw, 40px); }
.t-hero--marquee .t-hero__media { margin: 0; }
.t-hero--marquee .t-photo { width: 80px; border-radius: 50%; box-shadow: 0 0 0 3px var(--t-accent); }
.t-hero--marquee .t-name { font-size: clamp(4rem, 16vw, 12rem); line-height: .85; letter-spacing: .01em; font-weight: 400; text-transform: uppercase; }
.t-hero--marquee .t-headline { font-family: var(--t-font-display); font-size: clamp(1.4rem, 3vw, 2.2rem); letter-spacing: .04em; text-transform: uppercase; color: var(--t-accent-text); max-width: none; }
.t-hero--marquee .t-tagline { font-size: var(--t-size-2); }
.btn { --bs-btn-border-radius: 4px; font-family: var(--t-font-display); font-size: var(--t-size-3); letter-spacing: .06em; --bs-btn-padding-y: .5rem; --bs-btn-padding-x: 1.4rem; }
.t-link { border-radius: 4px; }

/* releases: square covers */
.t-section--portfolio .t-section__title { display: none; }
.t-gallery { grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 16px; }
.t-gallery__item img { aspect-ratio: 1; }
.t-gallery__item figure { border-radius: var(--t-radius); box-shadow: 0 20px 50px -24px rgba(0,0,0,.7); }
.t-gallery figcaption strong { font-family: var(--t-font-display); font-size: var(--t-size-3); letter-spacing: .03em; }

/* shows (custom section) as tickets */
.t-section--custom .t-list--plain { gap: 8px; }
.t-section--custom .t-list--plain li { display: flex; align-items: center; gap: 16px; padding: 14px 18px; background: var(--t-surface); border: 1px solid var(--t-line); border-radius: var(--t-radius); font-weight: 500; position: relative; overflow: hidden; }
.t-section--custom .t-list--plain li::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--t-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--t-accent) 30%, transparent); flex: none; }
.t-section--custom .t-list--plain li::after { content: ""; position: absolute; inset-block: 0; inset-inline-end: 56px; border-inline-start: 2px dashed var(--t-line); }

.t-section__title { font-family: var(--t-font-display); font-weight: 400; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: .04em; text-transform: uppercase; }
.t-section--summary .t-section__title { display: none; }
.t-summary { font-size: clamp(1.2rem, 2.4vw, 1.7rem); font-weight: 500; max-width: 44ch; }
.t-quote { border: 0; background: transparent; padding: 0; }
.t-quote blockquote { font-family: var(--t-font-display); font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1; letter-spacing: .02em; text-transform: uppercase; }
.t-quote__mark { display: none; }
.card { box-shadow: none; }
.t-card .t-item__title { font-family: var(--t-font-display); font-size: var(--t-size-4); letter-spacing: .03em; font-weight: 400; }
.t-chip { border-radius: 4px; }
.t-footer { border-color: var(--t-line); }

/* the tour strip under marquee lights (the Stage signature) */
.t-tour { width: min(100% - 2 * var(--t-gutter), var(--t-max)); margin: 8px auto 0; background: var(--t-surface); border-radius: var(--t-radius); padding: 18px 16px 16px; position: relative; border: 2px solid var(--t-line); }
.t-tour::before, .t-tour::after { content: ""; position: absolute; inset-inline: 10px; height: 10px; background: radial-gradient(circle, var(--t-accent2) 3px, transparent 4px) 0 0 / 22px 10px repeat-x; }
.t-tour::before { top: 3px; } .t-tour::after { bottom: 3px; }
.t-tour__label { margin: 0 0 10px; font-family: var(--t-font-display); font-size: var(--t-size-3); letter-spacing: .12em; text-transform: uppercase; color: var(--t-accent-text); text-align: center; }
.t-tour ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
.t-tour__date { display: grid; gap: 2px; background: var(--t-bg); border: 1px solid var(--t-line); border-radius: var(--t-radius-sm); padding: 10px 12px; text-align: center; }
.t-tour__when { font-family: var(--t-font-display); font-size: var(--t-size-3); letter-spacing: .04em; color: var(--t-accent-text); }
.t-tour__what { font-size: var(--t-size-0); font-weight: 500; }
