*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;background:#dfff00;color:#111;--acid:#dfff00;--pink:#ff59d1;--ink:#111;font:14px/1.5 JinSans,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}header{display:flex;align-items:center;height:72px;justify-content:space-between;padding:0 4%;border-bottom:2px solid var(--ink);gap:20px}.wordmark{font:900 30px/.9 JinDisplay,Arial;letter-spacing:-2px}header nav{display:flex;gap:32px;font:10px monospace}header .gallery{font-size:10px;border-bottom:1px solid;padding-bottom:3px}.poster{padding:24px 4% 0;overflow:hidden}.poster-meta{display:flex;justify-content:space-between;gap:20px;font:10px/1.5 monospace;letter-spacing:.5px}.poster h1{font:900 clamp(130px,25.5vw,440px)/.82 JinDisplay,Impact,sans-serif;letter-spacing:-.075em;margin:32px 0 10px;position:relative;white-space:nowrap}.period{font:14px JinSans;position:absolute;top:5px;margin-left:20px;letter-spacing:0}.poster-lower{display:grid;grid-template-columns:1fr 2fr .65fr;align-items:center;gap:16px;min-height:330px}.manifesto{align-self:center;padding-top:25px}.manifesto>p{font-size:17px;font-weight:600;letter-spacing:-.5px;line-height:1.8}.manifesto>span{font:10px/1.6 monospace;display:block}.manifesto>a{display:inline-block;font:80px/1 JinSans;transform:rotate(-10deg);margin-top:18px}.frequency-art{position:relative;height:380px;display:grid;place-items:center;min-width:0}.frequency-art>svg{position:absolute;width:100%;height:100%}.cassette{position:relative;width:78%;aspect-ratio:1.68;background:var(--pink);border:2px solid var(--ink);border-radius:10px;transform:rotate(-13deg);padding:15px 18px;box-shadow:8px 8px 0 var(--ink)}.cassette-top{display:flex;justify-content:space-between;font:9px monospace;border-bottom:1px solid;padding-bottom:9px}.cassette-top b{font-size:12px}.tape-window{margin:13px 0 4px;background:#111;display:flex;justify-content:space-between;align-items:center;padding:7px 10px;color:var(--pink);height:45%;border-radius:40px}.tape-window>i{height:46px;width:46px;border:5px dashed var(--pink);border-radius:50%;display:block;position:relative}.tape-window>i:after{content:'';position:absolute;inset:8px;border:1px solid var(--pink);border-radius:50%}.tape-window span{font-size:50px;line-height:1}.tape-label{display:block;text-align:center;font:900 clamp(13px,1.6vw,25px) JinDisplay,Arial;letter-spacing:-.5px}.tape-foot{display:flex;justify-content:space-between;font:8px monospace;border-top:1px solid;margin-top:7px;padding-top:5px}.poster-side{text-align:right;align-self:center}.poster-side>span{font:9px/1.6 monospace}.poster-side strong{font:900 110px/.8 JinDisplay;display:block;margin:30px 0 20px;letter-spacing:-8px}.poster-side small{font:10px monospace;display:block;margin-top:15px;letter-spacing:2px}.poster-side p{font-size:9px;line-height:1.8}.signal-strip{display:flex;justify-content:space-around;align-items:center;gap:16px;background:#111;color:var(--acid);margin:10px -4.4% 0;padding:17px 4%;font:700 clamp(10px,1.4vw,20px) JinSans;letter-spacing:1px;white-space:nowrap}.signal-strip b{color:var(--pink);font-size:28px;line-height:1}.lineup{padding:76px 4% 85px}.section-label{display:flex;align-items:baseline;gap:32px;margin-bottom:25px}.section-label>span{font:10px monospace}.section-label h2{font-size:20px;letter-spacing:-1px;margin:0}.section-label small{font-size:9px;margin-left:auto}.lineup-list{border-top:2px solid}.lineup-list article{display:grid;grid-template-columns:170px 1fr 110px;gap:20px;align-items:center;border-bottom:1px solid;padding:25px 0}.lineup-list h3{font:900 clamp(28px,4.6vw,76px)/.95 JinDisplay,Impact,sans-serif;letter-spacing:-2px;margin:0}.slot{font:9px/1.8 monospace}.artist-zh{font-size:11px;text-align:right}.experience{background:var(--pink);padding:45px 4%;border-block:2px solid;display:grid;grid-template-columns:1fr 1.1fr .5fr;position:relative;overflow:hidden;align-items:center;gap:24px}.experience>div>p{font:9px monospace;letter-spacing:1px}.experience h2{font:900 clamp(55px,9vw,150px)/.82 JinDisplay,Impact;letter-spacing:-7px;margin:25px 0}.experience>div>span{font-size:10px}.resonance{height:300px;position:relative}.resonance i{position:absolute;inset:10px 20px;border:2px solid;border-radius:50%;transform:rotate(-24deg)}.resonance i:nth-child(2){inset:40px 20px}.resonance i:nth-child(3){inset:70px 20px}.resonance i:nth-child(4){inset:100px 20px}.resonance span{position:absolute;font:900 200px/.8 JinSans;top:40px;left:20%;color:var(--acid)}.experience-note{font-size:15px;font-weight:500;line-height:2;text-align:right}.tickets{background:#111;color:var(--acid);padding:80px 5%;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.ticket-heading>p:first-child{font:10px monospace;letter-spacing:1px}.ticket-heading h2{font:900 clamp(65px,8vw,140px)/.84 JinDisplay,Impact;letter-spacing:-5px;margin:32px 0}.ticket-heading h2 em{font-style:normal;color:var(--pink)}.ticket-heading>p{font-size:13px;line-height:1.9}.ticket-heading small{font-size:10px;color:#a5ad7c;display:block;line-height:1.9;margin-top:30px}.booking{border:1px solid #6a7040;align-self:start;min-width:0}.board-title{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #6a7040;font:12px monospace;letter-spacing:1px}.board-title>b{font:35px/.7 JinSans}.booking form{padding:0 24px}.booking label{display:flex;gap:23px;border-bottom:1px solid #4d542a;padding:23px 0;font:9px/1.5 monospace;letter-spacing:.5px}.booking label>span{color:var(--pink);font-size:15px}.booking label>div{flex:1;min-width:0}.booking select,.booking input{display:block;margin-top:10px;background:#111;color:var(--acid);border:0;width:100%;border-radius:0;padding:5px 0;font:14px JinSans;min-width:0}.booking input{font-size:24px}.booking option{background:#111;color:var(--acid)}#summary{padding:25px 24px 0}.summary-row{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}.summary-row strong{font:500 clamp(26px,3vw,45px) JinSans;letter-spacing:-2px}.downloads{display:grid;grid-template-columns:1.2fr 1fr;gap:1px;margin:25px 24px 0;background:var(--acid);border:1px solid var(--acid)}button{border:0;background:var(--acid);color:#111;padding:15px 12px;cursor:pointer;text-align:left;font:11px JinSans}button:last-child{background:#111;color:var(--acid)}button:hover{background:var(--pink);color:#111}button:disabled{opacity:.35;cursor:not-allowed}.fine{font:9px/1.8 monospace;color:#a7ad85;margin:20px 24px}#error{color:var(--pink);font-size:11px;margin:8px 24px}#error:empty{margin:0}#ticket-preview{padding:0 24px 24px}#ticket-preview svg{width:100%;height:auto;display:block}.booking:after{content:'';display:block;height:9px;background:repeating-linear-gradient(90deg,var(--acid) 0 7px,transparent 7px 14px)}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:35px 4%;border-top:1px solid #111}footer strong{font:900 28px JinDisplay;letter-spacing:-1px}footer p{font:9px/1.8 monospace}footer a{font:10px monospace;text-decoration:underline}:focus-visible{outline:3px solid #f02eab;outline-offset:5px}@media(max-width:900px){.poster-lower{grid-template-columns:.9fr 2fr}.poster-side{display:none}.frequency-art{height:330px}.lineup-list article{grid-template-columns:125px 1fr}.artist-zh{grid-column:2;text-align:left}.experience{grid-template-columns:1fr 1fr}.experience-note{display:none}.tickets{gap:6vw;grid-template-columns:.8fr 1.2fr}.ticket-heading h2{font-size:9vw}.booking form,.board-title{padding-inline:18px}.booking label{gap:15px}.downloads{grid-template-columns:1fr;margin-inline:18px}}@media(max-width:600px){header{height:57px;padding:0 18px;gap:12px}.wordmark{font-size:24px}header nav{gap:13px;font-size:8px}header nav a:nth-child(2){display:none}header .gallery{font-size:9px}.poster{padding:18px 18px 0}.poster-meta{font-size:7px;gap:8px}.poster-meta span:nth-child(2){display:none}.poster h1{font-size:25vw;letter-spacing:-.075em;margin:28px 0 8px}.period{font-size:9px;margin-left:7px}.poster-lower{grid-template-columns:1fr;gap:0;min-height:0}.manifesto{display:flex;justify-content:space-between;align-items:center;padding-top:10px;gap:16px}.manifesto>p{font-size:12px;margin:5px 0}.manifesto>span{font-size:7px}.manifesto>a{font-size:45px;margin:0}.frequency-art{height:270px}.cassette{width:75%;padding:12px 15px;box-shadow:6px 6px 0}.cassette-top{font-size:7px;padding-bottom:7px}.cassette-top b{font-size:9px}.tape-window{margin-top:10px;padding:5px 9px;height:40%}.tape-window>i{height:32px;width:32px;border-width:4px}.tape-window>i:after{inset:5px}.tape-window span{font-size:30px}.tape-label{font-size:16px}.tape-foot{font-size:6px;padding-top:4px;margin-top:5px}.signal-strip{margin:5px -18px 0;padding:14px 17px;gap:12px;justify-content:space-between;white-space:normal;font-size:8px;letter-spacing:.2px}.signal-strip span:last-child,.signal-strip b:last-of-type{display:none}.signal-strip b{font-size:21px}.lineup{padding:45px 18px}.section-label{flex-wrap:wrap;gap:12px;margin-bottom:18px}.section-label>span{font-size:8px}.section-label h2{font-size:17px}.section-label small{font-size:8px;margin-left:0;flex-basis:100%}.lineup-list article{grid-template-columns:1fr;gap:10px;padding:20px 0}.lineup-list h3{font-size:10vw;letter-spacing:-1px}.slot{font-size:8px}.slot br{display:none}.artist-zh{grid-column:1;font-size:9px}.experience{padding:30px 18px;gap:10px;grid-template-columns:1fr 1fr}.experience h2{font-size:17vw;letter-spacing:-3px;margin:20px 0}.experience>div>p{font-size:7px;letter-spacing:0}.experience>div>span{font-size:8px}.resonance{height:190px}.resonance i{inset:5px 0}.resonance i:nth-child(2){inset:30px 0}.resonance i:nth-child(3){inset:55px 0}.resonance i:nth-child(4){inset:80px 0}.resonance span{font-size:120px;left:8%;top:30px}.tickets{padding:45px 18px;grid-template-columns:1fr;gap:30px}.ticket-heading h2{font-size:18vw;letter-spacing:-3px;margin:22px 0}.ticket-heading h2 br{display:none}.ticket-heading>p{font-size:11px}.ticket-heading small{font-size:9px;margin-top:15px}.board-title{font-size:10px;padding-block:20px}.booking select{font-size:11px}.booking label{font-size:8px;padding-block:20px}.booking label>span{font-size:12px}.downloads{grid-template-columns:1.2fr 1fr;margin-inline:18px;gap:0}.downloads button{font-size:9px;padding:14px 9px}.summary-row strong{font-size:34px}#summary{padding-inline:18px}.fine{font-size:8px;margin-inline:18px}#ticket-preview{padding-inline:18px}footer{padding:25px 18px;align-items:start;flex-wrap:wrap;gap:16px}footer strong{font-size:23px}footer p{font-size:7px;margin:0}footer a{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* QA fix: grid tracks and form controls may shrink; preserve the hero composition. */
.tickets{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
.ticket-heading,.booking,.booking form,.booking label,.booking label>div{min-width:0;max-width:100%}
.ticket-heading h2{max-width:100%;overflow-wrap:anywhere}
.booking select,.booking input{width:100%;max-width:100%;min-width:0}
@media(max-width:900px) and (min-width:601px){.tickets{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
@media(max-width:600px){.tickets{grid-template-columns:minmax(0,1fr)}.ticket-heading h2{font-size:18vw;line-height:.9;letter-spacing:-3px}.ticket-heading h2 br{display:block}.ticket-heading h2 em{display:inline;white-space:normal}.booking form{width:100%}.booking label>div{width:calc(100% - 32px)}}
