.eventDetailPage { min-height:100vh; background:#090909; color:#fff; }
.detailUnavailable { min-height:70vh; padding:clamp(150px,20vw,250px) 6vw 90px; background:#111; color:#f5f0e6; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:20px; }
.detailUnavailable p { margin:0; color:#f4a6cb; font-size:12px; font-weight:900; letter-spacing:1.5px; }
.detailUnavailable h1 { max-width:900px; margin:0; font-size:clamp(44px,8vw,110px); line-height:.9; letter-spacing:-.05em; }
.detailUnavailable span { max-width:650px; color:#d7d2c8; font-size:16px; line-height:1.55; }
.detailUnavailable a { min-height:48px; display:flex; align-items:center; padding:14px 20px; border:1px solid currentColor; color:inherit; text-decoration:none; font-size:12px; font-weight:900; letter-spacing:1px; }
.detailNav { height:92px; display:flex; justify-content:space-between; align-items:center; padding:0 4vw; border-bottom:1px solid #ffffff20; }
.detailNav img,.detailFooter img { width:150px; display:block; }
.detailNav>a:last-child { min-width:44px; min-height:44px; display:flex; align-items:center; color:#fff; text-decoration:none; font-size:12px; font-weight:950; letter-spacing:1.5px; }
.detailHero { min-height:720px; display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); position:relative; overflow:hidden; background:radial-gradient(circle at 78% 42%,#521047,transparent 34%),#090909; }
.detailHero:before { content:"BAD / EVENT"; position:absolute; right:-2vw; top:45%; color:transparent; -webkit-text-stroke:1px #ffffff17; font-size:13vw; font-weight:950; transform:rotate(-7deg); white-space:nowrap; }
.detailArt { width:min(39vw,500px); margin:4vw auto; position:relative; overflow:hidden; transform:rotate(-1.25deg); box-shadow:18px 18px 0 #ff3d7829; }
.detailArt img { width:100%; height:100%; object-fit:cover; display:block; }
.detailArt>span { position:absolute; inset:auto 0 0; background:#d8ff37; color:#111; padding:15px 17px; font-size:12px; font-weight:950; letter-spacing:1.5px; }
.detailIntro { position:relative; z-index:1; min-width:0; align-self:center; padding:70px 5vw 70px 2vw; }
.detailIntro>p:first-child,.detailDescription>div:first-child>p,.detailFlyer>div>p { color:#d8ff37; font-size:12px; font-weight:950; letter-spacing:2px; }
.detailIntro h1 { font-size:clamp(48px,5.7vw,92px); margin:32px 0; line-height:.83; text-wrap:balance; }
.detailIntro h1 span,.detailIntro h1 i { display:block; }
.detailIntro h1 i { margin-top:14px; font-size:.54em; line-height:1; }
.detailIntro h1 i,.detailDescription h2 i { font-family:Georgia,serif; font-weight:400; color:#ff3d78; }
.detailLead { max-width:610px; color:#d2cec7; font-family:Georgia,serif; font-size:20px; line-height:1.55; }
.detailTicket { min-height:64px; display:flex; align-items:center; justify-content:space-between; max-width:560px; margin-top:38px; background:#d8ff37; color:#111; padding:0 24px; text-decoration:none; font-size:12px; font-weight:950; letter-spacing:1.7px; }
.detailInfo { display:grid; grid-template-columns:repeat(4,1fr); background:#eeeae2; color:#111; padding:0 4vw; }
.detailInfo>div,.detailInfo>a { min-height:160px; padding:35px 25px 30px 0; border-right:1px solid #aaa; display:flex; flex-direction:column; gap:9px; }
.detailInfo>div:not(:first-child),.detailInfo>a:not(:first-child) { padding-left:25px; }
.detailInfo>div:last-child,.detailInfo>a:last-child { border:0; }
.detailMap { color:#111; text-decoration:none; }
.detailMap:hover b { color:#b91751; }
.detailMap strong { min-height:44px; width:max-content; margin-top:auto; border-bottom:1px solid #111; display:flex; align-items:center; font-size:12px; letter-spacing:1.3px; }
.detailInfo small { color:#505050; font-size:12px; font-weight:950; letter-spacing:1.4px; }
.detailInfo b { font-size:22px; line-height:1.18; }
.detailInfo span { color:#666; font-size:13px; line-height:1.5; }
.detailDescription { padding:110px 4vw; display:grid; grid-template-columns:.9fr 1.1fr; gap:7vw; }
.detailDescription h2,.detailFlyer h2 { font-size:clamp(52px,7vw,100px); line-height:.8; letter-spacing:-.07em; margin:30px 0; }
.detailBody>p { color:#e5e0d8; font-family:Georgia,serif; font-size:23px; line-height:1.55; margin:0 0 44px; }
.detailBody dl { display:grid; grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr); border-top:1px solid #333; }
.detailBody dl>dt,.detailBody dl>dd { display:block; width:auto; margin:0; padding:20px 0; border-bottom:1px solid #333; font-size:13px; line-height:1.45; }
.detailBody dt { color:#888; text-transform:uppercase; letter-spacing:1px; }
.detailBody dd { text-align:right; }
.detailBody a { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:flex-end; color:#d8ff37; text-decoration:none; }
.addressMap { min-width:44px; min-height:44px; padding:6px 0; display:grid; align-content:center; justify-items:end; gap:5px; }
.addressMap small { color:#aaa; font-size:12px; font-weight:950; letter-spacing:1.2px; }
.detailFlyer { padding:100px 8vw; background:#ff3d78; color:#111; display:grid; grid-template-columns:1fr .7fr; gap:10vw; align-items:center; }
.detailFlyer>div>p { color:#111; }
.detailFlyer>div>span { max-width:440px; display:block; font-family:Georgia,serif; font-style:italic; font-size:17px; line-height:1.5; }
.detailFlyer>a { min-width:44px; min-height:44px; display:block; position:relative; transform:rotate(3deg); box-shadow:20px 20px 0 #1113; }
.detailFlyer img { display:block; width:100%; max-height:650px; object-fit:cover; }
.detailFlyer a>b { position:absolute; inset:auto 0 0; min-height:44px; background:#111; color:#fff; padding:16px; display:flex; align-items:center; font-size:12px; letter-spacing:1.2px; }
.detailFooter { min-height:260px; padding:52px 4vw; display:grid; grid-template-columns:1.3fr .55fr .8fr 1.2fr .75fr auto; gap:3vw; align-items:start; border-top:1px solid #ffffff20; }
.detailFooterBrand,.detailFooterContact,.detailFooterOpportunities,.detailFooterLegal,.detailFooterNav { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.detailFooterBrand p,.detailFooterBrand small { margin:6px 0 0; color:#aaa; font-size:12px; font-weight:950; letter-spacing:1.5px; }
.detailFooter a { min-height:44px; display:flex; align-items:center; color:#fff; font-size:12px; font-weight:950; letter-spacing:1.3px; text-decoration:none; }
.detailFooter a small { color:#aaa; font-size:12px; letter-spacing:.6px; margin-left:5px; }
.detailFooterTicket { min-width:120px; justify-content:center; padding:0 18px; border:1px solid #d8ff37; color:#d8ff37!important; }
@media(hover:hover){
  .detailNav>a:last-child,.detailTicket,.detailMap,.detailBody a,.detailFlyer>a,.detailFooter a { transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease; }
  .detailNav>a:last-child:hover,.detailBody a:hover,.detailFooter a:hover { color:#ff3d78; }
  .detailTicket:hover { background:#ff3d78; transform:translateY(-3px); box-shadow:8px 8px 0 #d8ff37; }
  .detailMap:hover { background:#fff8; padding-left:14px; }
  .detailFlyer>a:hover { transform:rotate(1deg) translateY(-5px); box-shadow:25px 25px 0 #1115; }
}
@media(max-width:800px){
  .detailNav>a:last-child,.addressMap,.detailBody a,.detailFlyer>a,.detailFooter a { min-width:48px; min-height:48px; }
  .detailNav { height:78px; }
  .detailNav img,.detailFooter img { width:125px; }
  .detailHero { grid-template-columns:1fr; padding-bottom:60px; }
  .detailArt { width:auto; height:120vw; margin:10vw 8vw 3vw; }
  .detailIntro { padding:35px 5vw; }
  .detailIntro h1 { font-size:10.4vw; line-height:.86; letter-spacing:-.055em; }
  .detailIntro h1 i { margin-top:12px; font-size:.6em; }
  .detailLead { font-size:18px; }
  .detailTicket { min-height:64px; align-items:center; }
  .detailInfo { grid-template-columns:1fr 1fr; padding:0 5vw; }
  .detailInfo>div,.detailInfo>a { min-height:145px; border-bottom:1px solid #aaa; }
  .detailInfo>a:nth-child(2) { border-right:0; }
  .detailInfo>div:nth-child(3) { padding-left:0; border-bottom:0; }
  .detailInfo>div:nth-child(4) { border-bottom:0; }
  .detailDescription,.detailFlyer { grid-template-columns:1fr; padding:80px 5vw; gap:45px; }
  .detailDescription h2,.detailFlyer h2 { font-size:14.5vw; line-height:.84; }
  .detailBody>p { font-size:20px; }
  .detailBody dl { grid-template-columns:minmax(115px,.8fr) minmax(0,1.2fr); }
  .detailBody dl>dt,.detailBody dl>dd { font-size:12px; padding:17px 0; }
  .detailBody a { min-height:44px; display:inline-flex; align-items:center; }
  .detailFlyer>a { margin:0 8vw; }
  .detailFooter { grid-template-columns:1fr 1fr; gap:28px 8vw; }
  .detailFooterBrand { grid-column:1/3; }
  .detailFooter a { min-width:44px; min-height:44px; }
  .detailFooterTicket { grid-column:1/3; min-height:56px!important; }
}
