:root{--red:#b40819;--paper:#faf8f1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:48px}body{margin:0;background:#eeeae2;color:#171717;font-family:"Arial","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-weight:600}.page{max-width:724px;margin:auto;background:radial-gradient(ellipse at 40% 20%,#fffefa70,transparent 65%),var(--paper)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 27px}header img{width:181px;display:block}nav{display:flex;align-items:center;gap:23px;font-size:10px}nav .button{padding:7px 25px;font-size:11px}.button{display:inline-flex;justify-content:center;align-items:center;border:1px solid #d52c39;border-radius:3px;background:linear-gradient(110deg,#bd1322,#a40010);color:white;font-weight:800;letter-spacing:.04em;padding:12px 20px;white-space:nowrap}.button:hover{filter:brightness(1.12)}a:focus-visible,button:focus-visible{outline:3px solid #e0aa40;outline-offset:3px}.light{background:#fffcf6;color:var(--red)}.hero{height:482px;position:relative;overflow:hidden;background:#f5efe3}.hero-art{position:absolute;inset:0;background:url('assets/derived/hero-art.png') center/100% 100%;clip-path:polygon(0 0,100% 0,100% 100%,58% 100%,58% 86%,41% 86%,41% 100%,0 100%,0 96%,39% 96%,39% 51%,0 51%)}.hero-info{position:absolute;left:41px;top:252px}.hero-info p{margin:0;color:#a80d1b;font-size:19px;letter-spacing:.03em}.hero-info h1{font-family:Arial,sans-serif;font-weight:900;font-size:60px;letter-spacing:-2px;line-height:1.08;color:#a20b18;margin:4px 0 0}.hero-info h1 span{font-size:46px}.hero-info h1 small{display:inline-block;background:var(--red);color:#fff;font-size:23px;letter-spacing:0;padding:2px 4px;vertical-align:6px}.hero-info h2{font-size:32px;margin:0;line-height:1.2;letter-spacing:-1.5px}.hero-info .times{font-size:15px;color:#222;margin-top:5px;letter-spacing:.015em}.hero-actions{display:flex;gap:11px;margin-top:16px;align-items:center}.hero-actions .button{height:50px;font-size:19px;padding:10px 26px}.hero-actions .light{font-size:14px;padding:10px 16px;height:42px}.about{height:213px;position:relative;text-align:center;padding-top:20px}.about h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:33px;line-height:1.25;color:#a70615;margin:0 0 9px;font-weight:900}.about p{font-size:14px;line-height:1.7;margin:0}.about .signature{text-align:right;padding-right:59px;font-size:16px;transform:rotate(-8deg);height:24px}.leaf{position:absolute;width:75px}.leaf-left{left:-6px;top:24px;transform:rotate(-30deg)}.leaf-right{right:8px;top:76px}.goal{display:flex;align-items:center;gap:14px;margin:0 25px;color:var(--red);font-size:17px;font-weight:900}.goal:before,.goal:after{content:"";height:1px;background:#b71b28;flex:1}.section{padding:8px 26px 0;position:relative}.section-title{display:flex;gap:12px;align-items:center;margin:0 0 10px;color:var(--red);font-size:19px;letter-spacing:1px;line-height:28px}.section-title:after{content:"";height:1px;background:#c8182b;flex:1;align-self:end;margin-bottom:7px}.lineup{height:106px}.lineup-row{display:grid;grid-template-columns:1fr 1fr;text-align:center;align-items:center;height:61px}.lineup h3{margin:0;font-size:33px}.lineup-row>div{border-left:2px solid #d2d2d2}.lineup-row>div h3{font-size:28px}.guest-label{display:inline-block;background:#b60918;color:#fff;font-size:12px;padding:1px 15px}.lineup-leaf{position:absolute;width:54px;right:15px;top:57px}.ticket{height:211px}.ticket-row{display:grid;grid-template-columns:350px 1fr;gap:15px}.ticket table{border-collapse:collapse;width:100%;font-family:Arial,sans-serif}.ticket th,.ticket td{height:49px;border-bottom:3px solid #fff}.ticket th{background:#242522;color:white;width:126px;font-size:17px}.ticket th strong{font-size:32px}.ticket tr:first-child th{background:#a80716}.ticket td{background:#f0ebde;color:#ad0b1a;text-align:center;font-size:29px;font-weight:800}.ticket-action{padding-top:9px}.ticket-action .button{width:100%;display:flex;flex-direction:column;font-size:24px;gap:4px;padding:17px 5px 7px}.ticket-action small{font-size:12px;font-weight:600}.ticket-action p{font-size:12px;margin-top:22px}.stream{height:120px;display:flex;align-items:center;gap:22px;padding:15px 30px;color:#fff;background:linear-gradient(#ac0017da,#ad0017df),url('assets/background.png') center 65%/cover}.broadcast{font-size:36px;letter-spacing:-7px;width:104px;align-self:stretch;display:grid;place-items:center;border-right:1px solid #fff9;padding-right:22px}.stream p{font-size:20px;margin:0 0 2px}.stream h2{font-size:42px;letter-spacing:5px;margin:0;line-height:1.2}.stream small{font-size:21px;letter-spacing:0}.stream .button{font-size:18px;padding:15px 20px;margin-left:auto}.support{height:159px}.info-row{display:flex;gap:24px;align-items:center}.icon{width:82px;height:82px;flex-shrink:0;color:var(--red)}.info-row h3{font-size:21px;color:var(--red);margin:0 0 3px}.info-row p{font-size:14px;line-height:1.55;margin:0}.support strong{color:var(--red);display:block;font-size:17px;margin-top:8px}.support-button{position:absolute;right:26px;bottom:11px;font-size:12px;padding:10px}.goods{height:128px}.goods .info-row{gap:20px}.goods dl{width:232px;flex-shrink:0;margin:0}.goods dl div{display:flex;justify-content:space-between;border-bottom:1px solid #bbb;padding:4px 12px;font-size:21px}.goods dd{margin:0;min-width:73px}.goods .info-row>p{border-left:2px solid #d0d0d0;padding:8px 0 8px 20px;font-size:14px}.sponsor{height:121px}.handshake{font-size:61px;filter:grayscale(1);color:#ba1424}.access{height:163px}.access-row{display:grid;grid-template-columns:1fr 1fr;margin:4px 0 0}.date{padding:0 13px 0 18px}.date h3{font-size:23px;letter-spacing:-1px;margin:0;white-space:nowrap}.date h3 span{font-family:Arial,sans-serif;font-size:50px;color:#a90719;letter-spacing:-3px}.date p{font-size:14px;margin:0;white-space:nowrap}.venue{border-left:2px solid #d5d5d5;padding-left:18px}.venue h3{font-size:26px;margin:0 0 3px;letter-spacing:-1px}.venue p{font-size:13px;line-height:1.4;margin:0 0 6px}.venue strong{font-size:12px;color:var(--red)}.guide{height:121px}.guide .info-row{gap:26px;padding-left:21px}.warning{border:4px solid var(--red);color:var(--red);border-radius:50%;width:47px;height:47px;font-size:39px;text-align:center;line-height:39px;flex-shrink:0}.guide ul{font-size:12px;line-height:1.8;margin:0;padding-left:17px}.closing{height:212px;position:relative;text-align:center;padding-top:6px;background:linear-gradient(110deg,#78040baa,#7e060433),url('assets/background.png') center/cover;color:#f8d77d}.closing h2{font-family:"Yu Mincho",serif;font-style:italic;font-size:53px;margin:0;line-height:1.15}.closing h2 span{font-family:Arial,sans-serif;font-size:78px;font-weight:900}.closing>p{font-family:"Yu Mincho",serif;font-size:29px;margin:0 0 17px;letter-spacing:3px;font-weight:900}.closing>div{display:flex;justify-content:center;gap:14px}.closing .button{height:49px;padding:10px 28px;font-size:17px;border-color:#e8c5aa}.dark{background:#160d0acf}.closing aside{position:absolute;right:17px;bottom:11px;font-family:"Yu Mincho",serif;font-style:italic;font-size:21px;line-height:1.1;color:white;transform:rotate(-12deg)}footer{height:94px;background:#111 url('assets/derived/footer-art.png') center/cover;position:relative}footer>a{position:absolute;inset:0 32% 0 32%}footer img,footer p{visibility:hidden}dialog{border:1px solid #b40819;border-radius:5px;background:var(--paper);max-width:calc(100% - 32px);padding:32px;color:#222}dialog::backdrop{background:#0008}dialog h2{color:var(--red);font-size:22px}dialog p{line-height:1.8;font-size:14px}.close{position:absolute;right:8px;top:3px;border:0;background:none;font-size:28px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Reference-view refinements after browser comparison. */
@media(min-width:724px){.hero-art{clip-path:polygon(0 0,100% 0,100% 100%,58% 100%,58% 81%,47% 81%,47% 51%,0 51%)}.hero-info h1{line-height:1;margin:0}.hero-info h2{font-size:31px}.hero-actions{margin-top:13px}.hero-actions .button{padding:10px 26px;font-size:18px}.hero-actions .light{padding:10px 16px;font-size:14px}.stream{gap:20px;padding:15px 26px}.broadcast{width:107px;flex-shrink:0}.stream>div:nth-child(2){position:relative;flex:1;min-width:0;white-space:nowrap}.stream p{font-size:19px}.stream h2{font-size:42px;letter-spacing:3px}.stream small{font-size:21px;letter-spacing:0}.stream .button{flex-shrink:0;font-size:17px;padding:15px 20px}.about .signature{transform:none;font-style:italic;font-family:"Yu Mincho",serif;line-height:1.1;padding-top:2px}.support .info-row p{font-weight:500}.support-button{bottom:13px}.closing{background:linear-gradient(110deg,#80000acf,#85000a66),url('assets/background.png') center/cover}.closing>p{margin-bottom:10px}.closing h2{line-height:1.05}footer{margin-top:0}}
body{font-weight:500}h1,h2,h3,.button,th,td,.goal{font-weight:800}.handshake{filter:none;font-size:0;background:url('assets/derived/handshake.png') center/contain no-repeat}
footer p{margin:0}


/* Mobile composition: content remains in normal flow at every text size. */
@media (max-width: 723px) {
  html { scroll-padding-top: 72px; }
  body { font-size: 15px; line-height: 1.8; }
  .page { width: 100%; }
  header { min-height: 62px; height: auto; padding: 9px 18px; gap: 12px; position: sticky; top: 0; z-index: 10; background: var(--paper); box-shadow: 0 1px 0 #a908191a; }
  header>a { min-width: 0; }
  header img { width: 155px; max-width: 100%; }
  nav { flex-shrink: 0; }
  nav>a:not(.button) { display: none; }
  nav .button { min-height: 44px; padding: 8px 13px; font-size: 12px; }
  .button { min-height: 52px; white-space: normal; text-align: center; line-height: 1.5; padding: 13px 16px; }
  .hero { height: auto; overflow: visible; background: #f5efe3; }
  .hero-art { position: relative; inset: auto; width: 100%; aspect-ratio: 1.24; clip-path: none; background: url('assets/derived/hero-title.png') center top / 100% auto no-repeat, url('assets/background.png') center bottom / auto 72% no-repeat; }
  .hero-art:after { content: ''; position: absolute; right: 4%; bottom: 0; width: 78%; height: 69%; background: url('assets/artist.png') center bottom / contain no-repeat; }
  .hero-info { position: relative; inset: auto; padding: 20px 20px 26px; background: linear-gradient(#f5efe3,#faf8f1); }
  .hero-info p { font-size: 15px; font-weight: 700; }
  .hero-info h1 { font-size: clamp(44px, 12vw, 66px); line-height: 1.15; letter-spacing: -2px; margin: 7px 0 3px; white-space: nowrap; }
  .hero-info h1 span { font-size: .77em; }
  .hero-info h1 small { font-size: .4em; vertical-align: .13em; }
  .hero-info h2 { font-size: clamp(23px, 6.3vw, 33px); letter-spacing: -.05em; line-height: 1.4; }
  .hero-info .times { font-size: 12px; line-height: 1.9; margin-top: 7px; letter-spacing: 0; }
  .hero-actions { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 19px; }
  .hero-actions .button, .hero-actions .light { width: 100%; height: auto; min-height: 52px; padding: 13px 12px; font-size: 17px; }
  .hero-actions .light { font-size: 15px; }
  .about { height: auto; padding: 34px 24px 28px; }
  .about h2 { font-size: clamp(21px,5.6vw,29px); line-height: 1.6; margin: 0 0 18px; letter-spacing: -.05em; }
  .about h2 br { display: none; }
  .about p { font-size: 14px; line-height: 1.95; text-align: left; }
  .about p br { display: none; }
  .about .signature { height: auto; padding: 12px 0 0; text-align: right; transform: none; font-family: 'Yu Mincho',serif; font-style: italic; font-size: 15px; }
  .leaf { width: 33px; opacity: .65; pointer-events: none; }
  .leaf-left { left: 3px; top: 9px; }
  .leaf-right { right: 3px; top: auto; bottom: 64px; }
  .goal { font-size: 14px; line-height: 1.7; gap: 9px; margin: 25px 0 0; }
  .goal:before,.goal:after { min-width: 9px; }
  .section { height: auto; padding: 20px 20px 24px; }
  .section-title { font-size: 19px; line-height: 1.5; margin-bottom: 20px; gap: 12px; }
  .lineup-row { height: auto; grid-template-columns: 1fr; gap: 22px; padding: 0 12px 8px; }
  .lineup h3 { font-size: 30px; line-height: 1.5; }
  .lineup-row>div { border-left: 0; border-top: 1px solid #d7d0c4; padding-top: 18px; }
  .lineup-row>div h3 { font-size: 28px; margin-top: 7px; }
  .guest-label { font-size: 12px; padding: 3px 16px; }
  .lineup-leaf { right: 20px; top: 65px; width: 37px; }
  .ticket-row { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .ticket th { width: 34%; }
  .ticket th,.ticket td { height: 58px; }
  .ticket td { font-size: 29px; }
  .ticket-action { padding: 0; }
  .ticket-action .button { font-size: clamp(18px,5.1vw,24px); padding: 17px 10px; gap: 4px; }
  .ticket-action small { font-size: 12px; }
  .ticket-action p { font-size: 12px; line-height: 1.8; margin: 12px 0 0; }
  .stream { height: auto; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 16px 12px; padding: 25px 20px; }
  .broadcast { width: auto; padding: 0 10px 0 0; font-size: 23px; letter-spacing: -5px; }
  .stream p { font-size: 13px; line-height: 1.7; margin: 0 0 5px; }
  .stream h2 { font-size: 32px; letter-spacing: 2px; line-height: 1.5; }
  .stream small { display: inline-block; font-size: 14px; letter-spacing: 0; }
  .stream .button { grid-column: 1/-1; width: 100%; margin: 0; font-size: 16px; }
  .info-row { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 14px; align-items: start; }
  .icon { width: 42px; height: 53px; }
  .info-row h3 { font-size: 19px; line-height: 1.65; margin-bottom: 9px; }
  .info-row p { font-size: 14px; line-height: 1.9; }
  .desktop { display: none; }
  .support strong { font-size: 15px; line-height: 1.8; margin-top: 13px; }
  .support-button { position: static; display: flex; width: 100%; margin-top: 20px; font-size: 15px; }
  .goods .info-row { gap: 16px 14px; }
  .goods dl { width: auto; min-width: 0; }
  .goods dl div { font-size: 17px; padding: 7px 0; gap: 8px; }
  .goods dd { min-width: auto; white-space: nowrap; }
  .goods .info-row>p { grid-column: 1/-1; border-left: 0; margin: 0; padding: 0; font-size: 14px; }
  .handshake { font-size: 0; }
  .access-row { grid-template-columns: minmax(0,1fr); gap: 23px; margin: 0; }
  .date { padding: 0; }
  .date h3 { font-size: clamp(19px,5vw,24px); line-height: 1.3; letter-spacing: -.05em; }
  .date h3 span { font-size: clamp(40px,11vw,54px); letter-spacing: -.07em; }
  .date p { font-size: 12px; white-space: normal; line-height: 1.9; margin-top: 8px; }
  .venue { padding: 20px 0 0; border-left: 0; border-top: 1px solid #d7d0c4; }
  .venue h3 { font-size: clamp(23px,6vw,29px); line-height: 1.5; letter-spacing: -.05em; margin: 0 0 9px; }
  .venue p { font-size: 14px; line-height: 1.9; margin: 0 0 9px; }
  .venue strong { font-size: 13px; }
  .guide .info-row { padding: 0; gap: 14px; }
  .warning { width: 39px; height: 39px; line-height: 31px; font-size: 31px; }
  .guide ul { font-size: 13px; line-height: 1.9; padding-left: 16px; }
  .guide li+li { margin-top: 7px; }
  .closing { height: auto; padding: 30px 20px 24px; background: linear-gradient(110deg,#710009df,#63000499),url('assets/background.png') center/cover; }
  .closing h2 { font-size: clamp(33px,8.5vw,46px); line-height: 1.25; }
  .closing h2 span { font-size: clamp(56px,15vw,75px); }
  .closing>p { font-size: 19px; line-height: 1.7; letter-spacing: .03em; margin: 8px 0 22px; }
  .closing>div { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .closing .button { width: 100%; height: auto; font-size: 16px; padding: 13px 10px; }
  .closing aside { position: static; transform: none; margin-top: 21px; font-size: 17px; line-height: 1.7; }
  .closing aside br { display: none; }
  footer { height: auto; padding: 25px 20px; display: flex; flex-direction: column; align-items: center; gap: 13px; background: #151513; }
  footer>a { position: static; display: block; width: min(245px,85%); }
  footer img { visibility: visible; display: block; width: 100%; height: auto; }
  footer p { visibility: visible; color: #dedbd1; font-size: 12px; line-height: 1.8; text-align: center; }
  dialog { width: calc(100% - 32px); padding: 24px; }
}
@media (max-width: 723px) {
 .hero-art { background-image: url('assets/derived/mobile-title.png'),url('assets/background.png'); }
 .about h2 br { display: block; }
 .about h2 { font-size: clamp(18px,5vw,28px); letter-spacing: -.06em; }
 .about .leaf-right { bottom: 40px; }
 footer>a { aspect-ratio: 249/62; background: url('assets/derived/footer-logo.png') center/contain no-repeat; }
 footer img { visibility: hidden; }
}
@media (min-width: 724px) {
 .stream { gap: 16px; }
 .broadcast { width: 90px; }
 .stream h2 { font-size: 36px; letter-spacing: 1px; }
 .stream small { font-size: 17px; }
 .stream p { font-size: 17px; }
}
/* Final links and accessible, responsive venue map. */
.lineup { height: auto; padding-bottom: 18px; }
.lineup-row { height: auto; min-height: 90px; }
.lineup-row>.members { border: 0; }
.lineup-row>.members h3 { font-size: 30px; }
.social-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 0 12px; margin-top: 6px; }
.social-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; color: #971020; text-underline-offset: 4px; }
.social-links a:hover { text-decoration: underline; }
.lineup-leaf { pointer-events: none; }
.access { height: auto; padding-bottom: 22px; }
.venue-links { display: flex; gap: 12px; margin-top: 22px; }
.venue-links a { flex: 1; min-height: 48px; font-size: 14px; }
.venue-map { display: block; width: 100%; height: 300px; border: 1px solid #d9cebb; margin-top: 16px; background: #eee8dc; }
.broadcast svg { width: 100%; max-width: 52px; height: 48px; }
nav a[aria-current="location"] { color: var(--red); }
@media (max-width: 723px) {
 .lineup-row>.members { padding: 0; }
 .lineup-row>.members h3 { font-size: 30px; }
 .lineup-row>.guest { padding-top: 18px; }
 .social-links { gap: 0 15px; }
 .social-links a { font-size: 13px; }
 .venue-links { flex-direction: column; gap: 10px; }
 .venue-links a { font-size: 15px; min-height: 52px; }
 .venue-map { height: 280px; }
 .broadcast { padding-right: 8px; }
}

/* Completion pass: responsive hero copy, expanded event details, and safe CTA flow. */
.hero-slogan { display: none; }
.hero-tagline { font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-weight: 900; }
.ticket { height: auto; padding-bottom: 26px; }
.ticket-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 20px; }
.ticket-details details,
.route-details details { border: 1px solid #d7c7b1; background: #fffdf8; }
.ticket-details .purchase-notes { grid-column: 1/-1; }
.ticket-details summary,
.route-details summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 11px 14px; color: var(--red); cursor: pointer; list-style-position: inside; font-weight: 800; }
.ticket-details summary span,
.route-details summary span { min-width: 0; }
.ticket-details summary small,
.route-details summary small { flex-shrink: 0; font-size: 11px; }
.ticket-details details[open] summary,
.route-details details[open] summary { border-bottom: 1px solid #d7c7b1; background: #f8f1e5; }
.ticket-details details>ol,
.ticket-details details>p,
.ticket-details details>div,
.route-details details>div { margin: 0; padding: 14px 18px 17px; font-size: 13px; line-height: 1.85; }
.ticket-details ol,
.ticket-details ul,
.route-details ul { padding-left: 1.35em; }
.ticket-details li+li,
.route-details li+li { margin-top: 6px; }
.ticket-details h3,
.route-details h3 { margin: 17px 0 3px; color: var(--red); font-size: 14px; }
.ticket-details h3:first-child,
.route-details h3:first-child { margin-top: 0; }
.ticket-details .contact { margin-bottom: 0; }
.ticket-details .contact a,
.route-details a { color: var(--red); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.support { height: auto; padding-bottom: 20px; }
.support-button { position: static; display: flex; width: max-content; max-width: 100%; margin: 14px 0 0 auto; }
.route-details { margin-top: 18px; }
.closing { height: auto; min-height: 126px; display: grid; place-items: center; padding: 30px 22px; }
.closing>div { width: 100%; }

@media (max-width: 723px) {
  .hero-art { aspect-ratio: 1.16; overflow: hidden; }
  .hero-slogan { display: block; position: absolute; z-index: 2; top: 26px; right: 0; min-height: 154px; padding: 9px 7px 8px; color: #fff; background: linear-gradient(180deg,rgba(75,7,8,.78),rgba(155,12,20,.5)); font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 14px; font-weight: 800; line-height: 1.65; letter-spacing: .12em; writing-mode: vertical-rl; text-shadow: 0 1px 2px #300; }
  .hero-info { padding-top: 25px; }
  .hero-info .hero-tagline { display: flex; align-items: center; gap: 9px; font-size: clamp(19px,5.3vw,23px); line-height: 1.55; letter-spacing: -.035em; }
  .hero-info .hero-tagline:before { content: ""; flex: 0 0 19px; height: 3px; background: var(--red); }
  .ticket-details { grid-template-columns: minmax(0,1fr); margin-top: 22px; }
  .ticket-details .purchase-notes { grid-column: auto; }
  .ticket-details summary,
  .route-details summary { min-height: 56px; padding: 13px 15px; font-size: 15px; }
  .ticket-details summary small,
  .route-details summary small { font-size: 11px; }
  .ticket-details details>ol,
  .ticket-details details>p,
  .ticket-details details>div,
  .route-details details>div { padding: 16px 17px 19px; font-size: 14px; line-height: 1.9; }
  .support-button { width: 100%; margin-top: 20px; }
  .route-details { margin-top: 22px; }
  .closing { min-height: 0; padding: 24px 20px; }
}

@media (max-width: 340px) {
  .hero-info .hero-tagline { display: block; white-space: nowrap; font-size: 16px; letter-spacing: -.06em; }
  .hero-info .hero-tagline:before { display: none; }
}

/* Keep both guests in the existing column, with natural height on all screens. */
.lineup-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lineup-row > div { min-width: 0; }
.lineup-row > .guest { padding-inline: 16px; }
.guest-performer { margin-top: 10px; }
.guest-performer + .guest-performer { border-top: 1px solid #d7d0c4; padding-top: 14px; margin-top: 10px; }
.guest-affiliation { margin: 4px 0 0; font-size: 14px; line-height: 1.7; }
.lineup .lineup-leaf { top: auto; bottom: 8px; width: 32px; }
@media (max-width: 723px) {
  .lineup-row { grid-template-columns: minmax(0, 1fr); }
  .lineup-row > .guest { padding-inline: 0; }
}

/* Production credit sits below the existing footer artwork. */
.site-credit { display: block; color: #dedbd1; text-align: center; font-size: 11px; font-weight: 500; line-height: 1.8; letter-spacing: .04em; }
@media (min-width: 724px) {
  footer { height: 130px; background-size: auto 94px; background-position: center top; background-repeat: no-repeat; }
  footer > a { bottom: 36px; }
  footer .site-credit { position: absolute; right: 0; bottom: 0; left: 0; padding: 8px 20px; }
}
@media (max-width: 723px) {
  footer .site-credit { margin-top: 3px; }
}
