:root{--lav:#b9a2ff;--violet:#8d72ff;--mint:#a6f7c8;--orange:#ff5b42;--yellow:#ffe66d;--sky:#fff3fb;--round:30px}
html{scroll-padding-top:100px}
body{background:var(--sky);background-image:radial-gradient(#cdbbff 1.3px,transparent 1.3px);background-size:24px 24px}
.marquee{box-shadow:0 3px 0 var(--ink);}
nav{position:sticky;top:43px;z-index:900;background:rgba(255,243,251,.92);backdrop-filter:blur(14px);border-bottom:var(--line)}
.brand-mark{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.brand:hover .brand-mark{transform:rotate(-12deg) scale(1.08)}
.hero{min-height:min(800px,calc(100svh - 100px));padding-top:70px;padding-bottom:75px;gap:10px}
.hero-copy{position:relative;z-index:3}
.eyebrow{width:fit-content;background:white;border:var(--line);border-radius:999px;padding:10px 14px;box-shadow:3px 3px 0 var(--ink)}
.hero h1{font-size:clamp(100px,14vw,220px);line-height:.75;letter-spacing:-.055em;margin:32px 0 30px;text-shadow:5px 5px 0 var(--mint)}
.hero h1 .outline{-webkit-text-stroke:2px var(--ink);color:var(--lav);text-shadow:5px 5px 0 var(--orange)}
.subline{max-width:470px;font-size:clamp(18px,2.1vw,25px);line-height:1.4}
.btn{transition:transform .22s ease,box-shadow .22s ease,background .22s ease;box-shadow:3px 3px 0 var(--ink)}
.btn:hover{transform:translate(-2px,-3px);box-shadow:6px 6px 0 var(--ink)}.btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}
.hero-art{transform:rotate(1.5deg)}.jackikor-illustration{filter:drop-shadow(9px 12px 0 rgba(9,9,9,.14));animation:jackikor-float 7s ease-in-out infinite}
@keyframes jackikor-float{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -10px;rotate:1.3deg}}
.jack-sticker{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.hero-art:hover .sticker-one{transform:rotate(5deg) translateY(-5px)}.hero-art:hover .sticker-two{transform:rotate(-7deg) translateY(-4px)}.hero-art:hover .sticker-three{transform:rotate(4deg) translateY(-5px)}
.section{position:relative}.section-inner{max-width:1240px}.section-label{display:inline-flex;align-items:center;gap:9px;background:var(--yellow);border:var(--line);border-radius:999px;padding:9px 14px;box-shadow:3px 3px 0 var(--ink);margin-bottom:24px}
.section h2,.intro-grid h2{letter-spacing:-.045em;text-wrap:balance}
.note-card,.info-card,.faq-item,.lineup-poster,.ticket-box{box-shadow:6px 6px 0 var(--ink);transition:transform .3s ease,box-shadow .3s ease}
.info-card:hover,.note-card:hover,.faq-item:hover{transform:translateY(-4px);box-shadow:9px 10px 0 var(--ink)}
.tickerline{background:var(--mint);padding:18px 0}.tickerline div{animation-duration:34s}
.lineup-poster{background:var(--lav);transform:rotate(-1deg)}.lineup-poster:hover{transform:rotate(0deg) translateY(-3px)}
.ticket-box{background:var(--orange);color:var(--ink);border:2px solid var(--ink);border-radius:32px;padding:clamp(26px,5vw,62px)}.ticket-sticker{animation:ticket-bob 4.5s ease-in-out infinite}
@keyframes ticket-bob{0%,100%{transform:rotate(8deg) translateY(0)}50%{transform:rotate(3deg) translateY(-7px)}}
.faq-item[open]{background:#fff}.footer-logo{letter-spacing:-.06em}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}
:focus-visible{outline:3px solid #5c4ade;outline-offset:4px}
@media(max-width:850px){nav{top:40px}.hero{min-height:unset;padding-top:35px}.hero h1{font-size:clamp(86px,18vw,150px);margin:22px 0}.hero-art{transform:none}.jackikor-illustration{animation-duration:8s}.section{padding-top:64px;padding-bottom:64px}}
@media(max-width:460px){nav{top:38px}.hero{padding-bottom:52px}.hero h1{font-size:22vw;text-shadow:3px 3px 0 var(--mint)}.hero h1 .outline{text-shadow:3px 3px 0 var(--orange)}.eyebrow{font-size:10px}.subline{font-size:17px}.section-label{font-size:10px}.ticket-box{border-radius:24px}}
@media(prefers-reduced-motion:reduce){.jackikor-illustration,.ticket-sticker{animation:none!important}.reveal{opacity:1;transform:none;transition:none}.btn,.info-card,.note-card,.faq-item{transition:none}}
