:root{--mister-blue:#084b9b;--mister-blue-dark:#032b5c;--mister-red:#d3262f;--mister-gold:#ffc838;--mister-cream:#fff8e8;--mister-purple:#5a175f}
html{scroll-behavior:smooth}.mister-page{background:#f8f2e8;color:#14213b}.mister-page h1,.mister-page h2,.mister-page h3{font-family:"Fredoka","DM Sans",sans-serif}.mister-header{color:white;background:rgba(3,31,68,.96);box-shadow:0 8px 30px rgba(0,0,0,.18)}.mister-header .brand,.mister-header nav a{color:white}.mister-header .nav-cta{background:var(--mister-gold);color:#17213a}

.sucrette-oracle{position:relative;min-height:780px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:30px;padding:145px max(6vw,calc((100vw - 1180px)/2)) 0;color:white;overflow:hidden;background:radial-gradient(circle at 76% 43%,rgba(211,90,255,.28),transparent 28%),radial-gradient(circle at 18% 18%,rgba(255,207,70,.18),transparent 26%),linear-gradient(145deg,#180c35,#421153 55%,#13072c)}.sucrette-oracle:before,.oracle-stars{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,#fff 1px,transparent 1px),radial-gradient(circle,#ffd86c 1.2px,transparent 1.2px);background-size:55px 55px,83px 83px;background-position:12px 18px,29px 7px;opacity:.24}.oracle-copy{position:relative;z-index:3;padding-bottom:90px}.oracle-copy .back-link{display:inline-block;margin-bottom:40px;color:#eadfff}.mister-kicker{font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#ffdf79}.oracle-copy h1{max-width:720px;margin:12px 0 25px;font-size:clamp(2.9rem,5.3vw,5.7rem);line-height:.98;color:white}.oracle-copy h1 span{font-size:.63em;color:#ffdf79}.oracle-copy>p:last-of-type{max-width:680px;font-size:1.18rem;line-height:1.75;color:#f1e8f5}.oracle-button{margin-top:28px;padding:16px 25px;border:0;border-radius:999px;background:linear-gradient(135deg,#ffd74e,#ffb51f);color:#2e163c;font:800 1rem "DM Sans",sans-serif;cursor:pointer;box-shadow:0 12px 35px rgba(255,195,43,.28);transition:transform .25s,box-shadow .25s}.oracle-button:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(255,195,43,.4)}.oracle-scene{position:relative;align-self:end;justify-self:center;width:min(470px,40vw);height:650px;display:flex;align-items:flex-end;justify-content:center}.oracle-scene img{position:relative;z-index:2;max-height:610px;max-width:100%;filter:drop-shadow(0 18px 25px rgba(0,0,0,.45))}.oracle-table{position:absolute;z-index:4;bottom:-15px;width:130%;height:190px;border-radius:50% 50% 0 0;background:linear-gradient(#7a2f83,#351044);box-shadow:inset 0 14px 0 rgba(255,255,255,.08),0 -12px 60px rgba(0,0,0,.35)}.crystal-glow{position:absolute;z-index:1;left:50%;bottom:205px;width:210px;height:210px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,#fff 0 7%,#79e8ff 22%,rgba(119,89,255,.8) 50%,transparent 72%);filter:blur(3px);opacity:.7;animation:crystalPulse 2.6s ease-in-out infinite}.sucrette-oracle.revealing .crystal-glow{animation:revealFlash 1.15s ease-out}.sucrette-oracle.revealing .oracle-scene img{animation:oracleNod 1.15s ease-out}@keyframes crystalPulse{50%{transform:translateX(-50%) scale(1.1);filter:blur(5px);opacity:1}}@keyframes revealFlash{35%{transform:translateX(-50%) scale(1.7);opacity:1;filter:blur(12px)}100%{transform:translateX(-50%) scale(1);opacity:.7}}@keyframes oracleNod{40%{transform:rotate(-3deg) translateY(-12px)}}

.mister-hero{min-height:760px;display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:center;padding:100px max(6vw,calc((100vw - 1180px)/2));color:white;background:radial-gradient(circle at 15% 20%,rgba(41,126,220,.5),transparent 32%),linear-gradient(135deg,#031e43,#0758a6 55%,#031b3c);overflow:hidden}.mister-copy{position:relative;z-index:2}.mister-copy h2{margin:12px 0 18px;color:white;font-size:clamp(4.2rem,8vw,8rem);line-height:.82;letter-spacing:-.055em;text-shadow:0 8px 0 #021b3c}.mister-copy h2 span{display:block;color:var(--mister-gold);font-size:.86em}.mister-subtitle{max-width:640px;font-size:clamp(1.2rem,2vw,1.55rem)}.mister-dates{display:flex;align-items:center;gap:22px;margin:36px 0 25px}.mister-dates div{display:flex;align-items:center;gap:14px}.mister-dates strong{font-size:4.2rem;line-height:1;color:var(--mister-gold)}.mister-dates span{font-weight:700;line-height:1.35}.mister-dates i{font-family:"Playfair Display",serif;font-size:2rem;color:#9bcaff}.mister-location{font-size:1.08rem;line-height:1.6}.booking-soon,.cast-soon{display:inline-flex;margin-top:24px;padding:14px 22px;border:2px solid var(--mister-gold);border-radius:999px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--mister-gold)}.hero-figures{position:relative;min-height:590px}.hero-figures img{position:absolute;bottom:0;max-height:540px;filter:drop-shadow(0 25px 30px rgba(0,0,0,.35))}.hero-figures img:nth-child(1){left:0;z-index:2;max-height:440px;transform:rotate(-5deg)}.hero-figures img:nth-child(2){left:25%;z-index:3}.hero-figures img:nth-child(3){right:-5%;z-index:1;max-height:450px;transform:rotate(6deg)}

.synopsis-section{display:grid;grid-template-columns:.42fr 1fr;align-items:end;gap:70px;padding:105px max(6vw,calc((100vw - 1080px)/2));background:var(--mister-cream)}.synopsis-section h2{color:var(--mister-blue-dark);font-size:clamp(2.5rem,4vw,4.5rem)}.synopsis-section p{font-size:1.12rem;line-height:1.8}.synopsis-figure img{display:block;max-height:500px;max-width:100%;margin:auto;filter:drop-shadow(0 20px 20px rgba(4,41,88,.2))}

.characters-section{padding:110px max(4vw,calc((100vw - 1280px)/2));background:linear-gradient(#fff,#eef6ff)}.characters-heading{text-align:center;max-width:780px;margin:0 auto 55px}.characters-heading h2{color:var(--mister-blue-dark);font-size:clamp(2.5rem,4.8vw,4.8rem)}.characters-heading>p:last-child{font-size:1.1rem}.characters-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.character-card{position:relative;overflow:hidden;border:1px solid #dbe6f1;border-radius:26px;background:white;box-shadow:0 15px 40px rgba(4,41,88,.08);transition:transform .3s,box-shadow .3s}.character-card:hover{transform:translateY(-7px);box-shadow:0 22px 50px rgba(4,41,88,.15)}.character-card button{width:100%;padding:22px 18px 20px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.figure{height:330px;display:flex;align-items:flex-end;justify-content:center}.figure img{max-width:95%;max-height:320px;filter:drop-shadow(0 14px 12px rgba(11,41,78,.18));transform-origin:50% 90%}.character-name{display:block;margin-top:16px;color:var(--mister-blue-dark);font:700 1.55rem "Fredoka",sans-serif}.click-hint{display:block;margin-top:4px;color:#67788d;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.character-details{display:none;padding:0 25px 28px;text-align:center}.character-details h3{margin:0;color:var(--mister-red);font-size:1.5rem}.character-details p{line-height:1.55}.character-details .actor{margin:.3rem 0 1rem;color:#5b6b7c}.character-card.is-open .character-details{display:block;animation:detailsIn .35s ease-out}.character-card.is-open .click-hint{color:var(--mister-red)}@keyframes detailsIn{from{opacity:0;transform:translateY(-8px)}}.character-card.animating img{animation-duration:1.35s;animation-timing-function:ease-in-out}.move-strut.animating img{animation-name:strut}.move-rock.animating img{animation-name:rock}.move-twirl.animating img{animation-name:twirl}.move-salute.animating img{animation-name:salute}.move-kiss.animating img{animation-name:kiss}.move-dab.animating img{animation-name:dab}.move-club.animating img{animation-name:club}.move-warrior.animating img{animation-name:warrior}.move-oracle.animating img{animation-name:oracle}@keyframes strut{25%{transform:translateX(-12px) rotate(-4deg)}50%{transform:translateX(12px) rotate(4deg)}75%{transform:translateX(-6px) rotate(-2deg)}}@keyframes rock{20%,60%{transform:rotate(-6deg) translateY(-8px)}40%,80%{transform:rotate(6deg) translateY(-3px)}}@keyframes twirl{45%{transform:rotateY(180deg) scale(1.04)}90%{transform:rotateY(360deg)}}@keyframes salute{35%{transform:translateY(-10px) scale(1.03)}55%{transform:translateY(0)}75%{transform:translateY(-5px)}}@keyframes kiss{30%{transform:rotate(-5deg) translateX(-6px)}55%{transform:rotate(4deg) translateX(6px) scale(1.05)}}@keyframes dab{25%{transform:rotate(-8deg) translateY(-8px)}55%{transform:rotate(7deg) translateY(4px)}80%{transform:rotate(-3deg)}}@keyframes club{30%{transform:translateY(-13px) rotate(-4deg)}50%{transform:translateY(8px) scaleY(.95)}70%{transform:translateY(-4px)}}@keyframes warrior{20%{transform:translate(-8px,-10px) rotate(-4deg)}45%{transform:translate(10px,-18px) rotate(5deg)}70%{transform:translate(-5px,-6px) rotate(-3deg)}}@keyframes oracle{35%{transform:scale(1.07);filter:drop-shadow(0 0 22px #ac76ff)}70%{transform:scale(.98)}}

.planche-section{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start;padding:110px max(5vw,calc((100vw - 1240px)/2));background:linear-gradient(135deg,#321a17,#6c2e20);color:#fff6ed}.planche-image{position:sticky;top:120px}.planche-image img{display:block;width:100%;border-radius:26px;box-shadow:0 30px 70px rgba(0,0,0,.4);border:2px solid rgba(255,218,149,.35)}.planche-copy h2{color:#ffdc8b;font-size:clamp(2.7rem,4vw,4.4rem)}.planche-copy h3{margin-top:28px;color:#ffdc8b}.planche-copy p,.planche-copy li{line-height:1.7}.planche-copy ul{columns:2;gap:35px;padding-left:1.2rem}.planche-copy li{break-inside:avoid;margin-bottom:7px}.planche-price{margin:25px 0 0;color:#ffdc8b;font:700 3rem "Fredoka",sans-serif}.planche-price span{font:600 1rem "DM Sans",sans-serif;color:white}.planche-note{margin:26px 0;padding:22px;border:1px solid rgba(255,220,139,.45);border-radius:18px;background:rgba(255,255,255,.08)}.planche-note p{margin:7px 0 0}.planche-closing{font-style:italic}.planche-copy .button{margin-top:12px;background:#ffcf65;color:#382116}

.mister-info{padding:105px max(6vw,calc((100vw - 1180px)/2));background:white}.info-heading{text-align:center;margin-bottom:50px}.info-heading h2{color:var(--mister-blue-dark)}.info-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.info-cards article{padding:30px;border:1px solid #dce5ef;border-radius:20px;background:#f6f9fc}.info-cards span{display:block;margin-bottom:16px;color:var(--mister-red);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.info-cards strong{display:block;color:var(--mister-blue-dark);font-size:1.2rem}.info-cards p{margin:10px 0 0;line-height:1.6}.info-cards .booking-card{background:var(--mister-blue-dark);color:white}.info-cards .booking-card strong{color:var(--mister-gold)}.show-booking{position:relative}.booking-character{position:absolute;right:max(2vw,20px);top:25px;max-width:150px;transform:rotate(6deg)}.booking-character img{width:100%;filter:drop-shadow(0 12px 12px rgba(0,0,0,.2))}.meal-field{display:grid;grid-template-columns:1fr auto;gap:4px 18px;align-items:center;padding:18px 20px!important;border:2px solid #e7bc66!important;border-radius:16px;background:#fff8e8!important}.meal-field span{font-weight:800;color:#5b3712}.meal-field small{grid-column:1;color:#785b39}.meal-field input{grid-column:2;grid-row:1/3;width:90px!important;margin:0!important}

.parking-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding:105px max(6vw,calc((100vw - 1180px)/2));background:#e8f0f8}.parking-section h2{color:var(--mister-blue-dark)}.parking-options{display:grid;grid-template-columns:1fr 1fr;gap:22px}.parking-options article{position:relative;padding:34px;background:white;border-radius:20px;box-shadow:0 16px 40px rgba(4,41,88,.08)}.parking-number{display:block;color:var(--mister-red);font-weight:800}.parking-options h3{margin:30px 0 10px;color:var(--mister-blue-dark);font-size:1.35rem}.parking-options p{line-height:1.65}.cast-space{display:flex;align-items:center;justify-content:space-between;gap:60px;padding:85px max(6vw,calc((100vw - 1180px)/2));color:white;background:linear-gradient(115deg,#531331,#7c1a43)}.cast-space h2{color:white}.cast-space p{max-width:720px}.cast-soon{flex:none;color:#ffe099;border-color:#ffe099}

@media(max-width:1000px){.sucrette-oracle{grid-template-columns:1fr;min-height:auto;padding-bottom:0}.oracle-copy{padding-bottom:25px}.oracle-scene{width:min(440px,80vw);height:540px}.oracle-scene img{max-height:520px}.mister-hero{grid-template-columns:1fr}.hero-figures{min-height:520px}.synopsis-section{grid-template-columns:.35fr 1fr}.characters-grid{grid-template-columns:repeat(2,1fr)}.planche-section{grid-template-columns:1fr}.planche-image{position:relative;top:auto}.info-cards{grid-template-columns:1fr 1fr}.parking-section{grid-template-columns:1fr;gap:40px}.cast-space{align-items:flex-start;flex-direction:column}.booking-character{display:none}}
@media(max-width:620px){.sucrette-oracle{padding:125px 20px 0}.oracle-copy h1{font-size:2.7rem}.oracle-scene{width:92vw;height:470px}.oracle-scene img{max-height:460px}.oracle-table{height:130px}.crystal-glow{bottom:140px;width:160px;height:160px}.mister-hero{padding:75px 20px}.mister-copy h2{font-size:4.1rem}.mister-dates{gap:12px}.mister-dates strong{font-size:3.2rem}.mister-dates span{font-size:.9rem}.hero-figures{min-height:340px}.hero-figures img{max-height:330px!important}.synopsis-section{grid-template-columns:1fr;padding:75px 20px}.synopsis-figure{display:none}.characters-section,.mister-info,.parking-section,.cast-space,.planche-section{padding:75px 20px}.characters-grid{grid-template-columns:1fr}.figure{height:300px}.figure img{max-height:290px}.planche-copy ul{columns:1}.info-cards,.parking-options{grid-template-columns:1fr}.cast-space{gap:20px}.meal-field{grid-template-columns:1fr}.meal-field input,.meal-field small{grid-column:1;grid-row:auto;width:100%!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.crystal-glow,.character-card.animating img,.sucrette-oracle.revealing .oracle-scene img{animation:none!important}.character-card,.oracle-button{transition:none}}
.figure{position:relative;overflow:hidden}.figure img.sprite-strip{position:absolute;left:50%;bottom:0;height:100%;width:auto;max-width:none;max-height:none;transform:translateX(-12.5%);filter:drop-shadow(0 14px 12px rgba(11,41,78,.18));will-change:transform}.character-card.animating .figure img.sprite-strip{animation:spriteFrames 1.8s steps(1,end) forwards}.character-card.animation-finished .figure img.sprite-strip{transform:translateX(-87.5%)}@keyframes spriteFrames{0%,24%{transform:translateX(-12.5%)}25%,49%{transform:translateX(-37.5%)}50%,74%{transform:translateX(-62.5%)}75%,100%{transform:translateX(-87.5%)}}@media(prefers-reduced-motion:reduce){.character-card.animating .figure img.sprite-strip{animation:none}.character-card.animation-finished .figure img.sprite-strip{transform:translateX(-87.5%)}}
