:root{--ink:#492747;--purple:#69356d;--pink:#d3348b;--gold:#b68a45;--paper:#fffafc;--line:#e8d9e4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:14px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #e494c1;outline-offset:5px}.site-header{height:76px;background:#fffafcf5;display:flex;align-items:center;justify-content:space-between;padding:0 4%;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.wordmark{font-family:Georgia,serif;font-size:27px;font-style:italic;line-height:1}.wordmark span{display:block;font-family:Arial,sans-serif;font-size:9px;font-style:normal;letter-spacing:1.6px;margin-top:8px}nav{display:flex;align-items:center;gap:25px;font-size:10px;font-weight:bold;letter-spacing:1px}nav a:hover{color:var(--pink)}.nav-ticket{border:1px solid var(--gold);padding:9px 18px}.menu-toggle{display:none}.hero{height:min(900px,calc(100svh - 76px));min-height:680px;position:relative;background:url('assets/palace.webp') center 51%/cover no-repeat;color:white;text-align:center;display:grid;place-items:center;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#26102e0a,#39123e12 50%,#321133c9)}.hero-content{position:relative;width:100%;padding:18px 20px 65px}.hero-eyebrow{font-size:10px;letter-spacing:4px;text-shadow:0 2px 8px #300b39;margin:0 0 4px}h1{margin:0;line-height:0}.hero-logo{width:min(760px,68vw);max-height:490px;object-fit:contain;filter:drop-shadow(0 8px 20px #38113175)}.hero-date{font-family:Georgia,serif;font-size:56px;line-height:1.15;text-shadow:0 2px 10px #4b1b47}.hero-date>span{font-size:30px}.hero-date small{display:inline-block;font:10px Arial,sans-serif;letter-spacing:1px;width:76px;line-height:1.6;text-align:left}.hero-venue{font-size:19px;letter-spacing:5px;margin:13px 0 6px}.hero-time{font-size:11px;letter-spacing:1.5px;margin:0 0 21px}.hero-time i{font-style:normal;color:#ffd596;margin:0 12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:13px 28px;background:var(--purple);color:white;font-size:12px;letter-spacing:1px;transition:background .2s,transform .2s}.button:hover{background:#933b88;transform:translateY(-2px)}.hero-button{border:1px solid #f5d0a2;background:#fff8ef;color:#592c58;min-width:255px}.hero-button:hover{background:#ffe3f1}.scroll-cue{position:absolute;bottom:17px;font-size:8px;letter-spacing:2px}.scroll-cue span{display:block;font-size:19px}.ribbon{background:var(--purple);color:#f9e9f4;text-align:center;white-space:nowrap;overflow:hidden;font:12px Georgia,serif;letter-spacing:4px;padding:17px 0}.ribbon span{color:#d9b177;margin:0 35px}.section{max-width:1120px;padding:90px 40px;margin:auto}.section-label{font:10px Arial,sans-serif;letter-spacing:2px;color:#966486;margin-bottom:17px}h2{font-family:Georgia,"Yu Mincho",serif;font-size:42px;line-height:1.35;font-weight:normal;margin:0}h2>span{display:block;font:12px "Hiragino Kaku Gothic ProN",sans-serif;margin-top:10px;letter-spacing:2px;color:#916b86}h2 em{font-style:normal;color:#ae458a}.about-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:75px}.about h2{font-size:36px;line-height:1.8;letter-spacing:2px}.ornament{margin-top:38px;color:var(--gold);letter-spacing:5px}.lead{font-size:22px;line-height:1.7;letter-spacing:1px;margin:0 0 25px}.about-copy p:not(.lead){color:#775c70;font-size:13px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.tags span{border:1px solid var(--line);padding:4px 10px;font:9px Arial,sans-serif;letter-spacing:1px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.heading-star{font-size:56px;color:var(--gold);font-family:Georgia,serif}.info{border-top:1px solid var(--line)}.info-panel{display:grid;grid-template-columns:30% 1fr;border:1px solid var(--line);background:white}.info-date{background:#f6edf4;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:35px 20px}.info-date p{font:10px Arial,sans-serif;letter-spacing:2px;margin:8px 0}.info-date strong{font:70px Georgia,serif}.info-date strong span{font-size:35px;color:var(--gold);margin:0 4px}dl{margin:0;padding:15px 32px}dl>div{display:grid;grid-template-columns:85px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}dl>div:last-child{border:0}dt{font-size:10px;letter-spacing:1px;color:#94758b}dd{margin:0;font-size:14px}dd small{display:block;font-size:11px;letter-spacing:1px}.time-values{display:flex;gap:22px}.time-values span{font-size:9px}.time-values b{display:block;font:23px Georgia,serif}.divider{padding:0 12px;color:var(--gold)}.pill{border:1px solid #d9c6d6;font:9px Arial,sans-serif;letter-spacing:1.5px;padding:8px 14px;border-radius:20px;white-space:nowrap}.section-intro{font-size:13px;color:#7f6679;margin-bottom:30px}.lineup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.artist-card{min-width:0}.artist-portrait{aspect-ratio:4/5;background:#f2e8f1;display:grid;place-items:center;overflow:hidden}.artist-portrait img{width:100%;height:100%;object-fit:cover}.artist-card h3{font-size:14px;margin:12px 0 2px}.artist-link{font-size:11px;color:var(--pink)}.placeholder .artist-portrait{background:linear-gradient(140deg,#f7edf4,#ede2f1);border:1px solid #eaddea;font:45px Georgia,serif;color:#c4a3bd;position:relative}.placeholder .artist-portrait:after{content:'';position:absolute;inset:12px;border:1px solid #dac5d655}.placeholder p{font:8px Arial,sans-serif;letter-spacing:1.8px;text-align:center;margin:15px 0}.fine-note{font-size:11px;color:#987b90;margin-top:24px}.fashion-wrap{background:#f3e8f0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fashion{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:90px}.fashion-art{position:relative;padding:20px 30px;text-align:center}.fashion-art>span{position:absolute;font-size:50px;color:var(--gold);top:0;right:0}.fashion-art>span:last-child{bottom:0;top:auto;left:0;right:auto;font-size:32px}.fashion-frame{border:1px solid #c6a980;padding:32px 10px;background:linear-gradient(160deg,#fffcfa,#f5deeb);outline:1px solid #cfb892;outline-offset:9px;border-radius:140px 140px 0 0}.fashion-frame p{font:15px Georgia,serif;letter-spacing:4px;line-height:1.6}.fashion-frame b{font:italic 150px Georgia,serif;color:#9b5183;text-shadow:2px 2px #e6c58c}.fashion-frame small{display:block;font:8px Arial,sans-serif;letter-spacing:2px}.fashion h2{font-size:34px}.fashion .lead{margin-top:28px}.fashion-copy>p:not(.lead){font-size:13px}.fashion-note{border-top:1px solid #dbc9d6;margin-top:25px;padding-top:20px}.fashion-note span{font:9px Arial,sans-serif;color:#9a6b39;letter-spacing:2px}.fashion-note p{margin:6px 0;font-size:12px}.schedule-summary{display:flex;justify-content:center;gap:65px;padding:25px 0 35px}.schedule-summary>div{text-align:center}.schedule-summary span{display:block;font:9px Arial,sans-serif;letter-spacing:2px}.schedule-summary strong{font:37px Georgia,serif}.schedule-summary i{color:var(--gold);font-size:27px;font-style:normal;align-self:center}.schedule{border:1px solid var(--line);background:white;text-align:center;padding:30px 15px;color:#82647a}.schedule small{font-size:11px}.schedule-list{text-align:left}.schedule-list>div{grid-template-columns:100px 1fr}.ticket-wrap{background:#f7edf3}.ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.ticket-card{padding:32px 35px;border:1px solid #dccbd7;background:#fff}.vip{background:#653568;color:#fff3fb;border-color:#653568;position:relative}.ticket-top{display:flex;justify-content:space-between;gap:12px;font:9px Arial,sans-serif;letter-spacing:1.5px;border-bottom:1px solid #ddcbd8;padding-bottom:20px}.vip .ticket-top{border-color:#967197;color:#f4d298}.ticket-card h3{font-weight:normal;font-size:16px;margin:25px 0 8px}.price{font:52px Georgia,serif;margin:0 0 24px}.price small{font:14px sans-serif}.ticket-card ul{padding:0;list-style:none;font-size:13px;margin:0 0 28px;min-height:93px}.ticket-card li{padding:4px 0}.ticket-card li:before{content:'✧';margin-right:12px;color:#ebc286}.standard-copy{min-height:93px;font-size:13px;margin-bottom:28px}.pending-button{display:block;padding:12px;border:1px solid #bca8b8;text-align:center;font-size:12px;background:#f8f2f6;color:#866e7f}.vip .pending-button{background:#ffffff12;color:#fff0fa;border-color:#b68cb4}.ticket-action .button{width:100%}.ticket-action>small{display:block;font-size:10px;text-align:center;margin-top:7px;color:#927d8d}.vip .ticket-action>small{color:#dcc7dc}.ticket-footnote{font-size:11px;text-align:center;margin-top:24px;color:#8b6d80}.access-layout{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.location-label{font:10px Arial,sans-serif;letter-spacing:2px;color:var(--gold)}.access h3{font-size:26px;font-weight:normal;margin:15px 0}.access-layout p{font-size:12px}.map-placeholder{background:#f4edf3;border:1px solid var(--line);min-height:240px;display:flex;flex-direction:column;justify-content:center;align-items:center}.map-placeholder>span{font-size:50px;color:var(--gold);line-height:1.5}.map-placeholder strong{font-size:16px;font-weight:normal}.map-placeholder small{font:8px Arial,sans-serif;letter-spacing:1.3px;margin-top:15px}.map-button{margin-top:15px}footer{background:#4d2855;color:#f4e8f2;text-align:center;padding:65px 20px 30px}footer .footer-title{font:italic 37px Georgia,serif;color:#e9c394;margin:0 0 25px}footer p{font:13px Georgia,serif;letter-spacing:1px;line-height:2}footer p span{font-size:9px}footer a{display:block;margin:30px 0;font-size:9px;letter-spacing:2px}footer>small{font-size:8px;color:#bea7bf}.mobile-ticket{display:none}@media(min-width:1400px){.lineup-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.placeholder:last-child{display:none}.lineup-grid:has(.placeholder){grid-template-columns:repeat(4,minmax(0,1fr))}.lineup-grid:has(.placeholder) .placeholder:last-child{display:block}}
@media(max-width:1000px){nav{gap:13px;font-size:9px}.site-header{padding:0 25px}.section{padding:70px 30px}.about-layout{gap:35px}.about h2{font-size:30px}.fashion{gap:40px}.fashion h2{font-size:29px}.ticket-card{padding:28px 25px}.ticket-top{font-size:8px}.info-panel{grid-template-columns:29% 1fr}}
@media(max-width:700px){html{scroll-padding-top:75px}.site-header{height:64px;padding:0 20px}.wordmark{font-size:23px}.wordmark span{font-size:7px}.menu-toggle{display:block;background:none;border:0;color:var(--ink);font-size:10px;letter-spacing:1px;padding:12px 0 12px 12px}.menu-toggle span{font-size:20px;margin-left:8px}nav{display:none;position:absolute;top:64px;left:0;width:100%;background:#fffafc;padding:22px;box-shadow:0 15px 25px #49274718;grid-template-columns:1fr 1fr;gap:16px}nav.open{display:grid}nav a{padding:10px;font-size:11px}.hero{height:calc(100svh - 64px);min-height:650px;max-height:960px;background-position:center center}.hero-content{padding:45px 12px 75px}.hero-eyebrow{font-size:8px;letter-spacing:2.3px;margin-bottom:25px}.hero-logo{width:100%;max-width:520px;max-height:none}.hero-date{font-size:46px;margin-top:30px}.hero-date>span{font-size:24px}.hero-date small{font-size:8px;width:62px}.hero-venue{font-size:16px;margin:14px 0 10px;letter-spacing:4px}.hero-time{font-size:9px;letter-spacing:.5px;margin-bottom:24px}.hero-time i{margin:0 7px}.hero-shade{background:linear-gradient(180deg,#32113305,#32113308 40%,#321133b8)}.ribbon{font-size:10px;padding:14px 0;letter-spacing:3px}.ribbon span{margin:0 18px}.section{padding:60px 23px}.section-label{font-size:8px;letter-spacing:1.7px;margin-bottom:13px}h2{font-size:33px}h2>span{font-size:10px}.section-heading{margin-bottom:26px}.heading-star{font-size:40px}.about-layout{grid-template-columns:1fr;gap:25px}.about h2{font-size:29px;line-height:1.7}.ornament{margin:20px 0 0}.lead{font-size:21px}.about-copy p:not(.lead){font-size:12px}.info-panel{grid-template-columns:1fr}.info-date{padding:23px}.info-date strong{font-size:60px}.info-date p{font-size:9px}.info-panel dl{padding:8px 19px}dl>div{grid-template-columns:60px 1fr;gap:10px;padding:17px 0}dd{font-size:12px}.divider{display:block;height:8px;font-size:0}.time-values{gap:17px}.time-values b{font-size:22px}.pill{font-size:7px;padding:7px 10px;letter-spacing:.7px}.lineup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 15px}.placeholder p{font-size:7px;letter-spacing:1px}.section-intro{font-size:12px}.fashion{grid-template-columns:1fr;gap:40px}.fashion-art{max-width:280px;margin:auto;width:100%}.fashion-frame{padding:25px 10px}.fashion-frame b{font-size:110px}.fashion-frame p{font-size:12px}.fashion h2{font-size:29px}.fashion-copy>p:not(.lead){font-size:12px}.schedule-summary{gap:17px;padding:15px 0 30px}.schedule-summary strong{font-size:30px}.schedule-summary i{font-size:20px}.schedule-summary span{font-size:8px}.schedule{padding:22px 15px;font-size:12px}.schedule small{display:block;margin-top:8px;font-size:10px}.schedule-list{padding:0 4px}.schedule-list>div{grid-template-columns:60px 1fr}.ticket-grid{grid-template-columns:1fr;gap:20px}.ticket-card{padding:26px}.ticket-card h3{font-size:15px}.price{font-size:48px}.ticket-card ul,.standard-copy{min-height:0}.ticket-footnote{text-align:left;font-size:10px}.access-layout{grid-template-columns:1fr;gap:25px}.map-placeholder{min-height:200px}footer{padding-bottom:105px}footer .footer-title{font-size:30px}.mobile-ticket{position:fixed;bottom:0;left:0;right:0;z-index:15;display:flex;justify-content:space-between;align-items:center;background:#613569f5;color:white;padding:13px 23px calc(13px + env(safe-area-inset-bottom));border-top:1px solid #d5ad86;font:12px Georgia,serif;letter-spacing:2px;backdrop-filter:blur(10px)}.mobile-ticket span{font:10px sans-serif;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* October update */
.hero-date{font-weight:bold;color:#fff6df;text-shadow:0 2px 5px #200826}.hero-date small{font-weight:bold}.hero-venue{font-weight:800;text-shadow:0 2px 4px #200826}.hero-time{font-weight:700;margin-bottom:0;text-shadow:0 2px 4px #200826}.hero-logo{max-height:430px}.button{justify-content:center;text-align:center}.hero-button{gap:25px}.artist-portrait{aspect-ratio:16/9}.artist-card{border:1px solid var(--line);border-top:4px solid var(--group-color);background:white;border-radius:5px;overflow:hidden}.artist-card-link{display:block;position:relative}.artist-card-link:hover .artist-portrait img{transform:scale(1.025)}.artist-portrait img{transition:transform .2s}.artist-card h3{margin:12px 13px 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.artist-card .artist-link{display:block;padding:4px 13px 0;font-size:10px}.artist-band{display:block;background:var(--group-color);color:white;font-size:9px;letter-spacing:.5px;padding:5px 12px}.artist-preference{font-size:10px;line-height:1.7;color:#84697c;margin:8px 13px 14px}.lineup-controls{display:flex;justify-content:space-between;gap:18px;align-items:start;flex-wrap:wrap;margin:25px 0}.lineup-controls label{font-size:11px;white-space:nowrap}select{font:inherit;color:var(--ink);padding:8px;border:1px solid var(--line);background:white;margin-left:8px}.lineup-filters{display:flex;gap:7px;flex-wrap:wrap}.filter-button{background:white;border:1px solid var(--group-color,#69356d);color:var(--group-color,#69356d);padding:7px 10px;font-size:10px;cursor:pointer;border-radius:20px}.filter-button[aria-pressed=true]{background:var(--group-color,#69356d);color:white}.schedule{padding:8px 28px}.schedule-list{padding:0}.schedule-list>div{grid-template-columns:145px 1fr;border-left:4px solid var(--group-color);padding:13px 18px;border-bottom:1px solid var(--line)}.schedule-list dt{font-size:12px;letter-spacing:0;color:var(--ink)}.schedule-list dd{font-size:13px}.schedule-list dd small{font-size:10px;color:#87687e;margin-top:3px}.schedule-row.fashion{display:grid;background:#f6e9f2;font-weight:bold;gap:16px}.schedule-row.benefit{background:#f2edf6}.google-map{width:100%;height:310px;border:0}#address{white-space:pre-line}.map-placeholder{padding:0;overflow:hidden}.ticket-action .button{justify-content:center}
@media(max-width:700px){.hero-date{margin-top:0;font-size:42px}.hero-time{font-size:9px;margin:0}.hero-venue{margin:8px 0}.hero-logo{max-height:none}.hero-eyebrow{margin-bottom:15px}.hero-content{padding-top:25px}.lineup-controls{gap:15px}.artist-card h3{font-size:12px;margin:10px 10px 0}.artist-card .artist-link{padding-left:10px}.artist-band{font-size:8px;padding:5px 8px}.artist-preference{font-size:9px;margin:7px 10px 12px}.schedule{padding:5px 8px}.schedule-list>div{grid-template-columns:96px 1fr;padding:12px 9px;gap:9px}.schedule-list dt{font-size:10px}.schedule-list dd{font-size:12px}.schedule-row.fashion{gap:9px}.google-map{height:270px}}

.artist-portrait img{object-fit:contain}.artist-portrait{background:#f4edf3}.hero-details .hero-time{margin-bottom:0}

/* Responsive hero flow: scroll cue follows content, never overlays it. */
.hero{height:auto;max-height:none;min-height:min(900px,calc(100svh - 76px));display:flex;flex-direction:column;justify-content:center;overflow:visible;padding:32px 0 20px;gap:22px}.hero-content{flex:0 0 auto;padding:0 20px;width:100%;margin:auto 0 0}.hero-details{margin:22px auto 24px;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none;border-radius:0}.hero-date,.hero-venue,.hero-time{font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:#fff;text-shadow:0 2px 3px #321133,0 0 16px #321133e0}.hero-date{font-size:clamp(38px,4vw,56px);font-weight:800;letter-spacing:1px;font-variant-numeric:tabular-nums}.hero-date>span{font-size:.55em}.hero-date small{font-size:11px;font-weight:700;letter-spacing:.8px}.hero-venue{font-size:20px;font-weight:700;letter-spacing:3px;margin:12px 0 8px}.hero-time{font-size:13px;font-weight:700;letter-spacing:1px;line-height:1.8;margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 10px}.hero-time i{margin:0 2px}.scroll-cue{position:relative;bottom:auto;left:auto;flex:0 0 auto;display:block;margin:auto 0 0;padding:8px 12px 0;line-height:1.5;text-shadow:0 2px 5px #321133}.scroll-cue span{margin-top:5px}.artist-card .artist-link{padding-bottom:13px}.access-layout{grid-template-columns:minmax(240px,.75fr) minmax(0,1.65fr);gap:40px}.google-map{height:330px;display:block}.schedule-row.live{background:color-mix(in srgb,var(--group-color) 6%,white)}.schedule-row.fashion{background:color-mix(in srgb,var(--group-color) 14%,white)}
@media(max-width:700px){.hero{height:auto;max-height:none;min-height:calc(100svh - 64px);padding:30px 0 calc(75px + env(safe-area-inset-bottom));gap:22px}.hero-content{padding:0 12px}.hero-details{margin:25px auto 22px}.hero-date{margin:0;font-size:clamp(34px,10vw,46px)}.hero-date small{font-size:9px;width:65px}.hero-venue{font-size:17px;margin:12px 0 9px}.hero-time{font-size:10px;letter-spacing:.4px;gap:3px 5px}.hero-eyebrow{margin-bottom:15px}.scroll-cue{padding-top:5px}.access-layout{grid-template-columns:1fr;gap:25px}.google-map{height:270px}}
@media(max-height:600px) and (min-width:701px){.hero{padding-top:25px}.hero-logo{width:min(500px,55vw);max-height:290px}.hero-details{margin:12px auto 18px}}

/* Neutral timetable backgrounds; retain frame colors in left bars. */
.schedule-row.live{background:#fff}.schedule-row.fashion{background:#f5f5f6}

/* Show each portrait at its natural ratio, including lettering at the edges. */
.artist-portrait{display:block;aspect-ratio:auto;overflow:visible;height:auto;min-height:0}.artist-portrait img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}.lineup-grid{align-items:start}
/* The generic last-row border reset must not remove the colored frame bar. */
.schedule-list>.schedule-row:last-child{border-left:4px solid var(--group-color);border-bottom:0}
/* Refined serif lettering with a restrained rose-gold glow. */
.hero-date,.hero-venue,.hero-time{font-family:Georgia,"Times New Roman","Hiragino Mincho ProN","Yu Mincho",serif;color:#fff7eb;text-shadow:0 2px 3px #35103be6,0 0 7px #ffe1bb75,0 0 18px #ef9ecd55}.hero-date{font-weight:700;letter-spacing:2px}.hero-date small{font-family:Georgia,"Times New Roman",serif;letter-spacing:.8px}.hero-venue{font-weight:600;letter-spacing:4px}.hero-time{font-weight:700;letter-spacing:1.2px}
@media(max-width:700px){.hero-date{letter-spacing:1px}.hero-venue{letter-spacing:3px}.hero-time{font-size:11px;letter-spacing:.5px}}

/* Equal portrait boxes; contain preserves the entire supplied photograph. */
.artist-portrait{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;height:auto;min-height:0;overflow:hidden;background:#f5f0f4}.artist-portrait img{display:block;width:100%;height:100%;min-height:0;max-width:100%;object-fit:contain;object-position:center}.artist-card-link:hover .artist-portrait img{transform:none}.lineup-grid{align-items:stretch}
/* Tall serif numerals, generous line spacing, and a heavier Mincho venue. */
.hero-date,.hero-time{font-family:"Baskerville","Palatino","Palatino Linotype","Times New Roman",serif;font-weight:700;font-stretch:normal;line-height:1.4;letter-spacing:1px}.hero-date{font-size:clamp(44px,4.5vw,64px)}.hero-date small{font-family:"Baskerville","Palatino","Times New Roman",serif;font-weight:700;line-height:1.6}.hero-time{font-size:16px;line-height:1.8}.hero-venue{font-family:"Hiragino Mincho ProN","YuMincho","Yu Mincho",serif;font-weight:900;font-size:23px;line-height:1.7;text-shadow:0 1px 2px #35103b,0 0 8px #ffe1bb70,0 0 18px #ef9ecd50;-webkit-text-stroke:.25px currentColor}.hero-button{position:relative;display:inline-flex;justify-content:center;gap:0;padding-left:45px;padding-right:45px;min-width:270px;text-align:center}.hero-button>span{position:absolute;right:20px;top:50%;transform:translateY(-50%);line-height:1}
@media(max-width:700px){.hero-date{font-size:clamp(40px,11vw,50px)}.hero-date small{font-size:9px}.hero-time{font-size:12px;letter-spacing:.5px}.hero-venue{font-size:20px;letter-spacing:3px}.hero-button{min-width:270px}}

/* A subtle ornamental backing connects the portrait and artist caption. */
.artist-card{background:linear-gradient(145deg,#fffafc 0%,#f7eaf3 72%,#eee5f4 100%);box-shadow:0 4px 14px #69356d08}.artist-card-link{isolation:isolate;height:100%;padding-bottom:8px}.artist-card-link:after{content:'✧';position:absolute;right:13px;bottom:15px;z-index:-1;font-family:Georgia,serif;font-size:37px;line-height:1;color:#b78aab35;pointer-events:none}.artist-portrait{background-color:#f8eef5;background-image:radial-gradient(circle at 15% 20%,#ffffffd9 0,transparent 40%),radial-gradient(circle at 85% 85%,#e5d3ed99 0,transparent 45%),repeating-linear-gradient(135deg,transparent 0 18px,#c49dba12 18px 19px,transparent 19px 36px)}.artist-card h3{position:relative;padding-bottom:8px}.artist-card h3:after{content:'';display:block;width:28px;height:1px;margin-top:10px;background:linear-gradient(90deg,#b68a45aa,#b68a4500)}.artist-card .artist-link{font-weight:600;letter-spacing:.8px;padding-top:0;padding-bottom:9px;color:#946183}
@media(max-width:700px){.artist-card-link:after{font-size:29px;right:9px;bottom:13px}.artist-card h3{padding-bottom:7px}.artist-card h3:after{margin-top:8px;width:23px}}

/* Clean captions; fill unused photo space with a soft version of that photo. */
.artist-card{background:#fff;box-shadow:none}.artist-card-link{padding-bottom:0}.artist-card-link:after,.artist-card h3:after{content:none}.artist-card h3{padding-bottom:0}.artist-card .artist-link{font-weight:400;letter-spacing:0;padding-top:4px;padding-bottom:13px}.artist-portrait{position:relative;isolation:isolate;background:#eee8ed;background-image:none;overflow:hidden;aspect-ratio:4/3}.artist-portrait:before{content:'';position:absolute;inset:-16px;z-index:-2;background-image:var(--portrait-background);background-size:cover;background-position:center;filter:blur(14px);opacity:.55}.artist-portrait:after{content:'';position:absolute;inset:0;z-index:-1;background:#fff6fb33;pointer-events:none}.artist-portrait img{width:100%;height:100%;object-fit:contain;object-position:center;position:relative}

.artist-portrait.gentle-crop img{object-fit:cover}

/* Multiple appearance frames share one card and both filter memberships. */
.artist-bands{display:flex}.artist-bands .artist-band{flex:1;text-align:center}.schedule-list>.schedule-row{font-weight:500;color:#492747}.schedule-list>.schedule-row dt,.schedule-list>.schedule-row dd{font-weight:500;color:#492747}.schedule-list>.schedule-row.fashion{font-weight:500}footer .footer-title{font-size:clamp(25px,3vw,37px)}

.benefit-section{margin-top:42px}.benefit-section h3{font-size:21px;font-weight:500;line-height:1.5;margin:0 0 10px}.benefit-section h3 span{display:inline-block;font:9px Arial,sans-serif;letter-spacing:1.7px;color:#94758b;margin-left:18px}.benefit-intro{font-size:12px;color:#806879;margin:0 0 18px}.benefit-session{background:#fff}.benefit-session:nth-child(even){background:#f5f5f6}
@media(max-width:700px){.benefit-section{margin-top:32px}.benefit-section h3{font-size:19px}.benefit-section h3 span{display:block;margin:7px 0 0}.benefit-intro{font-size:11px}}

/* A slightly taller common frame accommodates names within portrait photographs. */
.artist-portrait{aspect-ratio:1/1}.lineup-more{text-align:center;font:italic 26px Georgia,serif;color:#795675;margin:32px 0 0;letter-spacing:1px}
/* Hero typography matches the EVENT INFO date and detail text. */
.hero-date{font-family:Georgia,serif;font-weight:400;line-height:1.15;letter-spacing:0}.hero-date small{font-family:Arial,sans-serif;font-weight:400}.hero-venue,.hero-time{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:400;line-height:1.9;-webkit-text-stroke:0}.hero-venue{letter-spacing:3px}.hero-time{letter-spacing:1px}

.artist-portrait.gentle-crop img{object-fit:contain}

/* Landscape cards; portrait lettering may retain narrow side gutters. */
.artist-portrait{aspect-ratio:4/3}.artist-portrait.gentle-crop img{object-fit:cover}

/* Contrast the VIP purchase action against the purple ticket card. */
.vip .ticket-action .button{background:#fff5e6;color:#54265c;border:1px solid #e5bd80;font-weight:700;box-shadow:0 3px 10px #32113326}.vip .ticket-action .button:hover{background:#ffe5bb;color:#49204f}.vip .ticket-action .button:focus-visible{outline:3px solid #fff;outline-offset:4px}
