#hero.event-campaign{position:relative;padding:0;margin:0;max-width:none;background:#10100f;overflow:hidden;color:#fff;isolation:isolate;scroll-margin-top:70px;touch-action:pan-y}
.campaign-track{display:flex;transition:transform 1.1s cubic-bezier(.22,.61,.25,1)}
.campaign-slide{position:relative;flex:0 0 100%;min-width:0;height:clamp(640px,82svh,1000px);overflow:hidden;display:flex;align-items:flex-end;justify-content:center}
.campaign-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;z-index:-2}
.campaign-slide:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.4) 62%,rgba(0,0,0,.85) 100%)}
.campaign-copy{width:100%;text-align:center;padding:40px 24px 105px}
.campaign-kicker{font:600 12px/1.5 Arial,sans-serif;letter-spacing:.2em;margin:0 0 14px}
#hero .campaign-copy h2{font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;font-size:clamp(44px,5.8vw,96px);font-weight:900;letter-spacing:-.04em;line-height:1.08;margin:0 0 20px;color:inherit}
.campaign-description{font-size:clamp(14px,1.3vw,20px);line-height:1.8;margin:0 auto 25px;letter-spacing:.04em}
.campaign-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.campaign-actions a{display:inline-flex;align-items:center;justify-content:center;border-radius:40px;padding:12px 25px;background:#fff;color:#151515;text-decoration:none;font:600 15px/1.4 Arial,"PingFang SC",sans-serif;transition:background .2s}
.campaign-actions a:hover{background:#d5c194}
.campaign-controls{position:absolute;bottom:24px;right:28px;display:flex;gap:10px}
#hero button{border:0;cursor:pointer;color:inherit}
.campaign-controls button{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.2);font:32px/1 Arial;backdrop-filter:blur(12px)}
.campaign-controls .campaign-pause{font-size:20px;background:transparent;border:2px solid #fff!important}
.campaign-dots{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;gap:12px}
.campaign-dots button{padding:0;width:7px;height:7px;border-radius:50%;background:#ffffff60}
.campaign-dots button[aria-current=true]{background:#fff;box-shadow:0 0 0 4px #ffffff20}
.campaign-preview{position:absolute;top:28px;left:30px;font-size:12px;letter-spacing:.16em;opacity:.7;color:#222}
.campaign-wear{background:#ecebe7;color:#151515}
.campaign-wear .campaign-image{height:74%;object-fit:contain;mix-blend-mode:multiply;object-position:center 30%}
.campaign-wear:after{background:linear-gradient(180deg,transparent 35%,#ecebe700 48%,#ecebe7 77%)}
.campaign-wear .campaign-actions a{background:#191919;color:white}
#hero[data-slide="1"] .campaign-controls{color:#161616}
#hero[data-slide="1"] .campaign-controls .campaign-pause{border-color:#161616!important}
#hero[data-slide="1"] .campaign-controls button{background:#00000010}
#hero[data-slide="1"] .campaign-dots button{background:#0004}
#hero[data-slide="1"] .campaign-dots button[aria-current=true]{background:#111}
#hero :focus-visible{outline:2px solid #bb9546;outline-offset:6px}
@media(max-width:600px){.campaign-slide{height:760px;height:90svh;min-height:620px;max-height:860px}.campaign-copy{padding:28px 20px 112px}#hero .campaign-copy h2{font-size:42px}.campaign-description{font-size:13px}.campaign-controls{right:18px;bottom:22px}.campaign-dots{left:27px;transform:none;bottom:40px}.campaign-wear .campaign-image{height:65%;object-fit:cover;object-position:50% 45%}.campaign-kicker{font-size:10px}.campaign-preview{left:20px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.campaign-track{transition:none}}
.campaign-slide{isolation:isolate}

body.viewing-campaign .hero-ticket-btn{opacity:0;pointer-events:none;visibility:hidden}
.campaign-wear .campaign-image{height:53%;object-fit:contain;object-position:center}
body.viewing-campaign .hero-ticket-btn{opacity:0!important;pointer-events:none!important;visibility:hidden!important}
@media(max-width:600px){.campaign-wear .campaign-image{height:51%;object-fit:contain}}

/* Restore the original poster-and-details composition without boxed rows. */
#hero .campaign-original{display:block;height:auto;min-height:640px;background:#14130f;padding:80px 6vw 95px;color:#eee7da}
#hero .campaign-original:after{display:none}
#hero .campaign-original .event-inner{width:100%;max-width:1280px;margin:auto}
#hero .event-details{padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}
#hero .event-item,#hero .event-item:hover{padding:19px 0;border:0;border-bottom:1px solid #c9b58d33;border-radius:0;background:none;box-shadow:none;transform:none}
#hero .event-item:last-child{border-bottom:0}
#hero .campaign-wear{height:auto;min-height:640px}
#hero .campaign-dots button{width:9px;height:9px}
@media(max-width:600px){#hero .campaign-original{padding:60px 7vw 80px}#hero .event-item{padding:18px 0}#hero .campaign-wear{min-height:700px}}
.campaign-track{will-change:transform;transition:transform .8s cubic-bezier(.22,.61,.25,1)}
.event-campaign.is-dragging .campaign-track{transition:none}
#hero{touch-action:pan-y;cursor:grab}
#hero.is-dragging{cursor:grabbing;user-select:none}
#hero .campaign-wear{color:#fff;background:#161616}
.campaign-wear-photos{position:absolute;inset:0;z-index:-2;display:grid;grid-template-columns:1fr 1fr}
.campaign-wear-photos img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 44%;pointer-events:none}
#hero .campaign-wear:after{background:linear-gradient(180deg,#0000 35%,#0008 65%,#000d 100%)}
#hero .campaign-wear .campaign-actions a{background:#fff;color:#111}
#hero[data-slide="1"] .campaign-dots button{background:#ffffff60}
#hero[data-slide="1"] .campaign-dots button[aria-current=true]{background:#fff}
@media(max-width:600px){.campaign-wear-photos{grid-template-columns:1fr 1fr}.campaign-wear-photos img{object-position:50% 40%}}
@media(prefers-reduced-motion:reduce){.campaign-track{transition:none}}
/* Keep the complete photographs visible, separate from captions. */
#hero .campaign-wear,#hero .campaign-ticket{display:flex;flex-direction:column;justify-content:center;align-items:stretch;height:auto;max-height:none;min-height:640px;background:#171716}
#hero .campaign-wear-photos{position:relative;inset:auto;z-index:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:36px 5vw 0}
#hero .campaign-wear-photos img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;object-position:center}
#hero .campaign-wear:after,#hero .campaign-ticket:after{display:none}
#hero .campaign-wear .campaign-copy,#hero .campaign-ticket .campaign-copy{padding:28px 24px 95px}
#hero .campaign-wear h2,#hero .campaign-ticket h2{font-size:clamp(32px,4.5vw,64px)}
.ticket-photo-wrap{display:flex;justify-content:center;padding:32px 5vw 0;min-height:0}
.ticket-photo-wrap img{display:block;width:100%;height:460px;object-fit:contain}
@media(max-width:600px){#hero .campaign-wear-photos{grid-template-columns:1fr;gap:10px;padding:26px 18px 0}#hero .campaign-wear-photos img{max-height:260px}#hero .campaign-wear,#hero .campaign-ticket{min-height:0;justify-content:flex-start}#hero .campaign-wear .campaign-copy,#hero .campaign-ticket .campaign-copy{padding:26px 18px 94px}#hero .campaign-copy h2{overflow-wrap:anywhere}#hero .ticket-photo-wrap{padding:26px 18px 0}.ticket-photo-wrap img{height:auto;max-height:540px;object-fit:contain}}
/* Ticket editorial composition */
#hero .campaign-ticket{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:0;padding:70px 7vw 100px;background:radial-gradient(ellipse at 25% 45%,#393025 0%,#171613 58%,#10100f 100%);position:relative}
#hero .campaign-ticket .ticket-photo-wrap{padding:0;position:relative;grid-column:1;grid-row:1;transform:rotate(-3deg);margin:0 4vw 0 0}
#hero .campaign-ticket .ticket-photo-wrap:before{content:"";position:absolute;inset:16px -16px -16px 16px;border:1px solid #bda27560;z-index:-1}
#hero .campaign-ticket .ticket-photo-wrap img{height:560px;object-fit:contain;filter:drop-shadow(0 25px 28px #0008)}
#hero .campaign-ticket .campaign-copy{grid-column:2;grid-row:1;text-align:left;padding:30px 0 30px 4vw;border-left:1px solid #bda27550}
#hero .campaign-ticket .campaign-kicker{color:#c5ac80;font-size:11px;letter-spacing:.16em;line-height:2}
#hero .campaign-ticket h2{font-size:clamp(68px,9vw,140px);letter-spacing:.08em;font-family:var(--font-heading,"Songti SC",serif);font-weight:500;line-height:1.1;margin:28px 0 38px}
#hero .campaign-ticket .campaign-description{font-size:16px;line-height:2;letter-spacing:.12em;padding-top:22px;border-top:1px solid #bda27550;max-width:330px;margin:0}
@media(max-width:600px){#hero .campaign-ticket{display:flex;flex-direction:column;padding:42px 24px 100px;gap:0;justify-content:flex-start}#hero .campaign-ticket .ticket-photo-wrap{order:2;width:100%;margin:0;transform:rotate(-2deg)}#hero .campaign-ticket .ticket-photo-wrap img{width:100%;height:auto;max-height:470px;object-fit:contain}#hero .campaign-ticket .campaign-copy{display:contents}#hero .campaign-ticket .campaign-kicker{order:0;align-self:flex-start;margin:0 0 16px;font-size:9px}#hero .campaign-ticket h2{order:1;align-self:flex-start;font-size:70px;margin:0 0 -12px;z-index:2;text-shadow:0 4px 24px #000;letter-spacing:.1em}#hero .campaign-ticket .campaign-description{order:3;align-self:stretch;max-width:none;margin:34px 0 0;padding-top:16px;font-size:12px;text-align:left}}

#event .event-details{padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}
#event .event-item,#event .event-item:hover{padding:19px 0;border:0;border-bottom:1px solid #c9b58d33;border-radius:0;background:none;box-shadow:none;transform:none}
#event .event-item:last-child{border-bottom:0}
#hero.hero-carousel{padding:0;display:block;min-height:0;height:auto;overflow:hidden}
#hero .campaign-home{flex:0 0 100%;width:100%;min-height:100svh;height:100svh;padding:0;display:flex;background:#080808}
#hero .campaign-home:after{display:none}
#hero .campaign-home .hero-inner{position:relative;z-index:2}
#hero .campaign-home .hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#hero .campaign-home .hero-overlay{position:absolute;inset:0}
#hero .campaign-wear,#hero .campaign-ticket{min-height:100svh}
#hero .campaign-home .hero-scroll{bottom:70px}
/* Each carousel slot must be exactly one viewport wide, including its padding. */
#hero.hero-carousel{width:100%;max-width:100%;margin:0;box-sizing:border-box;left:auto;right:auto}
#hero>.campaign-track{width:100%;gap:0;margin:0;padding:0;box-sizing:border-box}
#hero>.campaign-track>.campaign-slide{box-sizing:border-box;flex:0 0 100%;width:100%;min-width:0;max-width:100%;margin:0}
#hero .campaign-home .hero-inner{box-sizing:border-box;margin-inline:auto;left:auto;right:auto;transform:none;width:90%;max-width:1440px;text-align:center}
#hero .campaign-home .hero-copy{margin:0 auto;text-align:center}
/* Align the original Hero's supporting copy with its title's left edge. */
#hero .campaign-home .hero-inner,#hero .campaign-home .hero-copy{text-align:left}
#hero .campaign-home .hero-kicker,#hero .campaign-home .hero-en,#hero .campaign-home .hero-date{text-align:left;margin-left:0;margin-right:0;align-self:flex-start}
/* Reserve space beneath the fixed navigation in the clothing Hero. */
#hero .campaign-wear{box-sizing:border-box;padding-top:calc(110px + env(safe-area-inset-top,0px));padding-bottom:24px;justify-content:center}
#hero .campaign-wear-photos{padding-top:12px;align-items:center}
#hero .campaign-wear .campaign-copy{padding-top:24px;padding-bottom:90px}
@media(max-width:600px){#hero .campaign-wear{padding-top:calc(96px + env(safe-area-inset-top,0px));justify-content:flex-start}#hero .campaign-wear-photos{padding:8px 22px 0;gap:14px}#hero .campaign-wear-photos img{max-height:none;width:100%;height:auto;aspect-ratio:1.5;object-fit:contain}#hero .campaign-wear .campaign-copy{padding:26px 22px 90px}#hero .campaign-wear h2{font-size:clamp(28px,7.5vw,40px);line-height:1.25}#hero .campaign-wear .campaign-kicker{font-size:9px;letter-spacing:.12em}}
/* New portrait campaign artwork and two ticket photographs. */
#hero .campaign-wear-photos{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);max-width:1360px;width:100%;margin-inline:auto;box-sizing:border-box}
#hero .campaign-wear-photos img{height:440px;aspect-ratio:auto;object-fit:contain}
#hero .campaign-ticket .ticket-photo-wrap{display:grid;grid-template-columns:1fr;gap:18px;transform:none;margin-right:3vw}
#hero .campaign-ticket .ticket-photo-wrap img{width:100%;height:auto;max-height:290px;aspect-ratio:1.5;object-fit:contain}
#hero .campaign-ticket .ticket-photo-wrap:before{display:none}
@media(max-width:600px){#hero .campaign-wear-photos{display:block;padding:8px 18px 0}#hero .campaign-wear-photos img:first-child{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}#hero .campaign-wear-photos img:nth-child(2){display:none}#hero .campaign-ticket .ticket-photo-wrap{display:grid;width:100%;gap:14px;margin:0;transform:none}#hero .campaign-ticket .ticket-photo-wrap img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}#hero .campaign-ticket h2{margin-bottom:22px}#hero .campaign-ticket{padding-top:calc(100px + env(safe-area-inset-top,0px))}}
/* Art-directed images: soft silhouettes and an overlapping ticket spread. */
#hero .campaign-wear{background:radial-gradient(ellipse at 30% 35%,#51423555,transparent 60%),#171716}
#hero .campaign-wear-photos{gap:0;padding-inline:7vw;align-items:center}
#hero .campaign-wear-photos img{border-radius:48% 48% 6% 6% / 12% 12% 4% 4%;filter:drop-shadow(0 22px 30px #0005)}
#hero .campaign-wear-photos img:first-child{position:relative;z-index:1;transform:rotate(-2deg);object-fit:contain}
#hero .campaign-wear-photos img:nth-child(2){margin-left:-4%;width:104%;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 94%,transparent);border-radius:0}
#hero .campaign-ticket .ticket-photo-wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;padding:25px 0}
#hero .campaign-ticket .ticket-photo-wrap img{max-height:none;aspect-ratio:1.5;object-fit:cover;box-shadow:0 25px 45px #0005;border-radius:5px}
#hero .campaign-ticket .ticket-photo-wrap img:first-child{grid-column:1/12;grid-row:1;transform:rotate(-5deg);mask-image:linear-gradient(180deg,#000 85%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 85%,transparent)}
#hero .campaign-ticket .ticket-photo-wrap img:nth-child(2){grid-column:3/13;grid-row:2;margin-top:-16%;transform:rotate(5deg);border:5px solid #bba782;box-sizing:border-box;z-index:1}
@media(max-width:600px){
 #hero .campaign-wear-photos{padding:12px 12px 0}
 #hero .campaign-wear-photos img:first-child{transform:none;border-radius:44% 44% 0 0 / 5% 5% 0 0;mask-image:linear-gradient(180deg,#000 92%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 92%,transparent)}
 #hero .campaign-wear .campaign-copy{padding-top:8px}
 #hero .campaign-ticket .ticket-photo-wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;width:100%;padding:18px 0 12px}
 #hero .campaign-ticket .ticket-photo-wrap img{width:100%;height:auto;aspect-ratio:1.5}
 #hero .campaign-ticket .ticket-photo-wrap img:nth-child(2){border-width:3px}
}
/* Keep the floating navigation out of the artwork until an upward scroll. */
.site-header.scroll-nav{translate:0 calc(-100% - 48px);opacity:0;pointer-events:none;transition:translate .38s cubic-bezier(.22,.61,.25,1),opacity .25s ease}
.site-header.scroll-nav.scroll-nav-visible{translate:0 0;opacity:1;pointer-events:auto}
@media(prefers-reduced-motion:reduce){.site-header.scroll-nav{transition:none}}
/* Preserve the fade, remove arch crops and separate the ticket photographs. */
#hero .campaign-wear-photos img:first-child{border-radius:0;transform:none}
#hero .campaign-ticket .ticket-photo-wrap{gap:24px}
#hero .campaign-ticket .ticket-photo-wrap img:first-child{grid-column:1/13;transform:none}
#hero .campaign-ticket .ticket-photo-wrap img:nth-child(2){grid-column:1/13;margin-top:0;transform:none;border:0}
.site-header.scroll-nav.scroll-nav-visible{opacity:1!important;visibility:visible!important;translate:0 0!important;pointer-events:auto;z-index:9999}
