:root{
 --ink:#24202c;--sky:#fff1fa;--blue:#9ee7ff;--mint:#b9ffd7;--lav:#d8c5ff;
 --orange:#ff9eaa;--yellow:#fff28b;--violet:#b4a0ff;--gray:#f6dff0;
 --paper:#fffdfb;--line:2px solid var(--ink);--round:30px;
}
body{background:var(--sky);background-image:radial-gradient(#d6c1f4 1.1px,transparent 1.1px);background-size:19px 19px}
.marquee{background:var(--violet);color:var(--ink);border-bottom:var(--line);font-size:12px}
.marquee .star{color:#ff6584}
nav{padding-top:23px}
.brand-mark{background:var(--orange);box-shadow:3px 3px 0 var(--ink);animation:tiny-wiggle 4s ease-in-out infinite}
.navlinks a,.btn{border:var(--line);box-shadow:3px 3px 0 var(--ink);transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,background .22s}
.navlinks a:hover,.btn:hover{transform:translate(2px,2px) rotate(-1deg);box-shadow:1px 1px 0 var(--ink)}
.btn-dark{background:var(--ink);color:white}
.hero{min-height:690px}
.hero:before{content:"";position:absolute;left:4%;top:11%;width:80px;height:80px;border:3px solid var(--ink);border-radius:50%;background:var(--mint);transform:rotate(-18deg);animation:bob 5s ease-in-out infinite}
.hero:after{content:"✳";position:absolute;right:43%;top:10%;font-size:62px;color:var(--orange);transform:rotate(15deg);animation:spin-slow 18s linear infinite}
.eyebrow{background:var(--paper);border:var(--line);border-radius:var(--pill);padding:10px 15px;width:max-content;max-width:100%;box-shadow:3px 3px 0 var(--ink)}
.hero h1{font-family:Impact,'Anton',sans-serif;text-shadow:4px 4px 0 var(--lav);letter-spacing:-.035em;animation:pop-in .75s cubic-bezier(.2,.9,.3,1) both}
.hero h1 .outline{-webkit-text-stroke:2.5px var(--ink);color:var(--orange);text-shadow:4px 4px 0 var(--blue)}
.subline{background:var(--paper);border:var(--line);border-radius:20px;padding:13px 16px;box-shadow:4px 4px 0 var(--ink)}
.hero-art{isolation:isolate}
.orb{background:var(--blue);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);animation:orb-dance 9s ease-in-out infinite}
.orb:before{border-color:var(--orange);border-width:19px;filter:none;animation:ring-spin 12s ease-in-out infinite}
.orb:after{border-color:var(--lav);border-width:17px;animation:ring-spin 15s ease-in-out infinite reverse}
.jack-sticker{border:2px solid var(--ink);border-radius:18px;box-shadow:4px 4px 0 var(--ink);animation:bob 4s ease-in-out infinite}
.sticker-one{background:var(--mint);color:var(--ink);animation-delay:-1s}
.sticker-two{background:var(--orange);animation-delay:-2s}
.sticker-three{background:var(--yellow);animation-delay:-.5s}
.venue-chip{border:2px solid var(--ink);border-radius:19px;box-shadow:4px 4px 0 var(--ink);background:var(--paper)}
.tickerline{background:var(--mint);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.section{position:relative}
.section-label{display:inline-block;background:var(--yellow);border:2px solid var(--ink);border-radius:var(--pill);padding:8px 12px;box-shadow:2px 2px 0 var(--ink)}
.section h2{ text-shadow:3px 3px 0 var(--lav)}
.intro-copy{background:var(--paper);border:2px solid var(--ink);border-radius:25px;padding:23px;box-shadow:5px 5px 0 var(--ink)}
.note-card{background:var(--orange);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:30px}
.info-section{background:var(--paper);background-image:radial-gradient(#d9c7f5 1px,transparent 1px);background-size:17px 17px}
.info-card{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);transition:transform .25s}
.info-card:hover{transform:translateY(-5px) rotate(-1deg)}
.info-card:nth-child(1){background:var(--blue);color:var(--ink)}
.info-card:nth-child(2){background:var(--yellow);color:var(--ink)}
.info-card:nth-child(3){background:var(--lav);color:var(--ink)}
.lineup{background:var(--lav);background-image:radial-gradient(#fff8fd 1.4px,transparent 1.4px);background-size:21px 21px}
.lineup-poster{background:var(--orange);color:var(--ink);border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink);position:relative;overflow:hidden}
.lineup-poster:after{content:"✳  ♡  ✳";font-size:35px;letter-spacing:14px;position:absolute;right:-12px;top:40%;transform:rotate(-15deg);opacity:.45}
.ticket-section{background:var(--mint)}
.ticket-box{border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink);border-radius:34px}
.ticket-sticker{background:var(--orange);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);animation:sticker-wobble 3.5s ease-in-out infinite}
.faq{background:var(--sky)}
.faq-item{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);transition:background .2s,transform .2s}
.faq-item[open]{background:var(--yellow);transform:rotate(-.3deg)}
footer{background:var(--violet);color:var(--ink);border-top:2px solid var(--ink)}
.footer-meta{color:var(--ink)}
.footer-bottom{border-color:var(--ink);color:#3f354f}
.reveal{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.reveal.is-visible{opacity:1;transform:translateY(0) scale(1)}
.hero-copy{animation:rise-in .8s .1s both}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes bob{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -12px;rotate:3deg}}
@keyframes orb-dance{0%,100%{transform:rotate(-15deg) scale(1)}50%{transform:rotate(-7deg) scale(1.035)}}
@keyframes ring-spin{0%,100%{rotate:0deg}50%{rotate:20deg}}
@keyframes spin-slow{to{transform:rotate(375deg)}}
@keyframes tiny-wiggle{0%,90%,100%{transform:rotate(-9deg)}93%{transform:rotate(4deg)}96%{transform:rotate(-15deg)}}
@keyframes sticker-wobble{0%,100%{transform:rotate(10deg) scale(1)}50%{transform:rotate(4deg) scale(1.04)}}
@keyframes pop-in{0%{opacity:0;transform:scale(.88) rotate(-2deg)}70%{opacity:1;transform:scale(1.03) rotate(.5deg)}100%{transform:scale(1) rotate(0)}}
@keyframes rise-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){
 .hero:before{width:50px;height:50px;left:2%;top:5%}
 .hero:after{right:8%;top:2%;font-size:42px}
 .hero-art{overflow:visible}
 .info-card:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
 .brand-mark,.hero h1,.orb,.orb:before,.orb:after,.jack-sticker,.ticket-sticker,.hero:after,.hero-copy{animation:none!important}
 .reveal{opacity:1;transform:none;transition:none}
}

/* Logo 56 à la place de la flèche de la billetterie + halo souris plus subtil */
.jk-checkout-mark{width:34px!important;height:34px!important;border:2px solid #21152d!important;border-radius:50%!important;background:linear-gradient(135deg,#b8f7d8 0%,#d8b8ff 48%,#f12b78 100%)!important;color:#21152d!important;font-family:Impact,'Anton',sans-serif!important;font-size:16px!important;font-weight:1000!important;letter-spacing:-.08em!important;box-shadow:2px 2px 0 #21152d!important;transform:rotate(-8deg)!important}
.jk-ticket-stage:hover:before{opacity:.42!important}
.jk-ticket-stage:hover:after{opacity:.30!important}
.jk-ticket-stage:hover .jk-ticket-art{filter:drop-shadow(0 12px 0 #21152d12) drop-shadow(0 26px 24px #21152d40) drop-shadow(0 0 15px #ff39b83d)!important}
