@import url('https://fonts.googleapis.com/css2?family=Bangers&family=Barlow+Condensed:wght@600;700;800;900&display=swap');
/* A comic-poster design system: deep ocean blue, electric cyan, acid lime and magenta. */
:root{--ink:#102d4b;--purple:#006c98;--dark:#053a5b;--pink:#e52c92;--yellow:#dcf34b;--cyan:#57dfed;--cream:#fffef6;--muted:#526976;--magenta:#af1b79;--blue:#00658d}
body{background:var(--cream)}
h1,h2,h3{font-family:'Bangers','Arial Rounded MT Bold',Impact,sans-serif;font-weight:400;letter-spacing:.015em}
h2{font-size:clamp(43px,4.6vw,64px);line-height:1.02}
h3{letter-spacing:.02em}
.eyebrow{font-family:'Barlow Condensed','DM Sans',sans-serif;font-size:13px;letter-spacing:.15em;font-weight:800}
.preview-bar{background:#082c47;color:#d7eff7;border-bottom:1px solid #4ba5c45c}
.preview-dot{background:var(--yellow)}
.site-header{background:#fffef9;border-bottom:4px solid #0c3851;padding:10px 6%;min-height:102px}
.brand{flex-basis:180px;max-width:180px;transform:rotate(-3deg)}
.brand img{width:100%;max-height:85px;object-fit:contain}
.site-header nav>a{font-size:13px}
.site-header nav>a:hover{color:var(--magenta)}
.button{border:2px solid var(--ink);border-radius:2px;box-shadow:4px 5px 0 var(--ink);font-family:'Barlow Condensed','DM Sans',sans-serif;font-size:18px;letter-spacing:.025em;font-weight:800;padding:15px 23px}
.button:hover{transform:translate(-1px,-3px);box-shadow:5px 8px 0 var(--ink)}
.button-small{font-size:14px;padding:12px 18px}
.button-purple{background:var(--magenta);color:white}
.button-dark{background:#073f60!important;color:white!important}
.button-yellow{background:var(--yellow);color:#103148}
.hero{background:#006b95;border-bottom:6px solid #053450;isolation:isolate}
.hero:before{inset:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;background:repeating-conic-gradient(from 260deg at 72% 55%,#ffffff00 0deg 13deg,#72dbed17 13deg 23deg,#003f652e 23deg 31deg);z-index:-2}
.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#00577a8c,transparent 60%),radial-gradient(ellipse at 75% 50%,transparent,#00345429)}
.hero-inner{grid-template-columns:1.12fr 1fr;padding:61px 6% 60px;min-height:672px;gap:36px}
.hero .eyebrow{font-size:12px;color:#e8fbff;background:#063e60;display:inline-flex;transform:rotate(-1deg);padding:8px 12px;border:1px solid #8bdbed4d;box-shadow:3px 3px 0 #043753}
.hero .eyebrow>span{background:var(--yellow);border-radius:1px;transform:rotate(45deg);width:7px;height:7px}
h1{font-size:clamp(76px,8.2vw,108px);font-weight:400;line-height:.9;margin-top:12px;margin-bottom:28px;letter-spacing:.025em;text-transform:uppercase;filter:drop-shadow(5px 7px 0 #003e5b)}
.hero-line{display:block;transform-origin:0% 50%;width:max-content;max-width:100%;-webkit-text-stroke:1px #ffffff}
.hero-line:first-child{transform:rotate(-3deg)}
.hero-line:nth-child(2){margin:7px 0 0 28px;transform:rotate(1deg);font-size:.83em}
.hero-line.lime-line{color:var(--yellow);-webkit-text-stroke:1px var(--yellow);transform:rotate(-2deg);margin-top:8px;font-size:1.14em}
.hero-intro{font-size:16px;line-height:1.75;max-width:500px;color:#e5f7fc}
.hero-actions{gap:23px}
.hero-actions .text-link{color:white;text-decoration-color:var(--yellow);text-decoration-thickness:2px}
.hero-tags{color:#dbf6ff;font-size:10px;gap:14px}
.hero-tags span:before{color:var(--yellow)}
.hero-art{height:500px;margin-top:40px}
.hero-disc{background:#0182b2;width:390px;height:390px;border:9px solid #58d9eb;border-radius:49% 51% 47% 53%;box-shadow:0 0 0 5px #00435e,0 0 0 16px #0179a2;transform:translate(-50%,-50%) rotate(-9deg);background-image:radial-gradient(#8be9f236 1.2px,transparent 1.2px);background-size:10px 10px}
.comic-burst{position:absolute;left:50%;top:48%;width:430px;height:440px;transform:translate(-50%,-50%) rotate(-5deg);background:var(--yellow);clip-path:polygon(50% 3%,58% 17%,73% 2%,74% 24%,98% 17%,85% 36%,100% 43%,88% 53%,99% 69%,80% 70%,85% 94%,66% 81%,56% 99%,46% 83%,25% 99%,27% 78%,4% 84%,17% 62%,0 53%,16% 44%,4% 23%,28% 28%,28% 5%,41% 20%);opacity:.95;z-index:0}
.hero-art .mascot{top:-4%;width:282px;z-index:2;filter:drop-shadow(7px 8px 0 #063f637a);transform:translateX(-50%) rotate(-7deg)}
.sticker{background:var(--pink);color:white;border:3px solid #4c1956;box-shadow:5px 6px 0 #4c1956;right:-2%;top:-7%;padding:15px 18px;transform:rotate(10deg);z-index:4}
.sticker strong{font-family:'Bangers',Impact,sans-serif;font-size:31px;letter-spacing:.035em;font-weight:400;line-height:.98}
.sticker span{font-size:9px;letter-spacing:.13em}
.music-note{color:white;filter:drop-shadow(3px 4px 0 #004662);font-family:'Bangers',sans-serif}
.note-one{left:-3%;top:9%;font-size:80px;transform:rotate(-17deg)}
.note-two{right:-6%;top:49%;color:var(--pink);font-size:78px;transform:rotate(14deg)}
.spark-one{color:white;top:7%;right:27%;font-size:35px}
.spark-two{color:var(--pink);left:-1%;bottom:11%;font-size:55px}
.event-ticket{background:white;border:4px solid #b01b7e;border-radius:0;box-shadow:6px 7px 0 #0b3e5b;left:0;right:0;bottom:-7px;transform:rotate(-3deg);padding:17px 20px 11px}
.event-ticket:before,.event-ticket:after{display:none}
.event-ticket strong{font-family:'Bangers',Impact,sans-serif;font-size:29px;letter-spacing:.025em;font-weight:400}
.event-ticket>span{color:#076b8d;letter-spacing:.14em}
.ticket-bars{height:15px;margin-top:11px}
.ticket-bars i{background:var(--magenta)}
.ticket-bars i:nth-child(3n){background:var(--cyan)}
.ticket-bars i:nth-child(3n+1){background:var(--yellow)}
.energy-strip{background:var(--yellow);border-top:3px solid #002b47;border-bottom:3px solid #002b47;color:#06425e;font-family:'Barlow Condensed',sans-serif;font-size:18px;letter-spacing:.12em;font-weight:800;padding:12px 3%}
.energy-strip b{color:var(--magenta);font-size:23px}
.section-heading>p:last-child{font-size:16px}
.how-section{position:relative;background:#fffef6}
.how-section .section-heading:after{content:'';display:block;background:var(--pink);width:115px;height:7px;transform:rotate(-3deg);margin-top:30px;box-shadow:6px 4px 0 #ffe0f3}
.journey{gap:32px;margin-top:8px}
.journey li{border-top:3px solid #c3dce5}
.journey li:before{color:#298ba7;font-family:'Bangers',sans-serif;font-size:31px}
.step-number{background:var(--yellow)!important;color:#063a53!important;border:2px solid #063a53;border-radius:3px;box-shadow:3px 3px 0 #063a53;font-family:'Bangers',sans-serif;font-size:23px;font-weight:400;transform:rotate(-5deg)}
.journey li:nth-child(2) .step-number{background:#f282c0!important;transform:rotate(4deg)}
.journey li:nth-child(3) .step-number{background:#66deeb!important;transform:rotate(-4deg)}
.journey h3{font-size:29px;margin-bottom:14px}
.journey p{font-size:14px}
.program-section{background:#e5f5f7;background-image:radial-gradient(#b9e0e6 1px,transparent 1px);background-size:16px 16px;border-top:3px solid #c8e9ee;border-bottom:3px solid #c8e9ee}
.program-heading h2{font-size:60px}
.pink-text{color:var(--magenta);text-shadow:2px 2px 0 #ffffff}
.segmented{border:2px solid #0c3c56;border-radius:3px;box-shadow:3px 3px 0 #a4d0df;background:white}
.segmented button{border-radius:0;color:#3e6478;font-family:'Barlow Condensed',sans-serif;font-size:15px;letter-spacing:.025em;font-weight:700}
.segmented .active{background:#075c7d}
.duration-control>span{color:#436c7b}
.program-card{border:3px solid #073c57;border-radius:3px;box-shadow:7px 8px 0 #0b4862;background:#fffef9}
.card-ribbon{background:var(--yellow);border-bottom:3px solid #073c57;font-family:'Barlow Condensed',sans-serif;font-size:14px;letter-spacing:.12em;padding:9px 30px}
.dance .card-ribbon{background:#60d9e8}
.card-top{padding-top:32px}
.card-top .eyebrow{color:#00749a;font-size:12px}
.card-top h3{font-size:43px;line-height:1.02;letter-spacing:.02em}
.program-icon{color:var(--magenta);font-size:50px}
.dance .program-icon{color:#04759c}
.program-description{font-size:14px}
.price>span{font-family:'Barlow Condensed',sans-serif;font-size:57px;font-weight:800;letter-spacing:-.035em}
.price small{font-weight:700}
.duration{border-color:#c8dde4}
.included li:before{color:#007ba0}
.card-bottom .button{font-size:18px;letter-spacing:.025em}
.card-bottom p{color:#426478}
.pricing-note{color:#446a7d;background:#e5f5f7}
.addons{border-color:#9fcbd8}
.addons h3{font-size:29px;line-height:1.05}
.addons .eyebrow{font-size:11px}
.addons p{color:#476875;font-size:13px}
.addon-icon{color:var(--magenta)}
.addons .text-link{color:#005a7e}
.toolkit-section{background:#fffef7}
.toolkit-section .section-heading{max-width:820px}
.purple-text{color:#00759e}
.tool-tabs{gap:11px}
.tool-tabs button{border-radius:2px;padding:18px 15px}
.tool-tabs button[aria-selected=true]{background:#edf9c7;border:2px solid #8da528;box-shadow:4px 4px 0 #b7d646}
.tool-tabs button:hover{background:#f1f9d9}
.tool-tabs strong{font-family:'Barlow Condensed',sans-serif;font-size:23px;letter-spacing:.015em;font-weight:800}
.tab-icon{border:2px solid #15506a;border-radius:3px;color:#006d91;background:#fff;font-size:25px;box-shadow:2px 2px 0 #b9dde5}
.tool-tabs small{color:#567383}
.preview-stage{background:#087aa0;background-image:repeating-conic-gradient(from 20deg at 50% 45%,#ffffff00 0deg 16deg,#62d3e621 16deg 26deg,#00547a44 26deg 37deg);border:4px solid #0b4463;border-radius:1px;box-shadow:8px 8px 0 #afdbeb;min-height:620px;position:relative;overflow:hidden;padding:24px 38px}
.sample-label{background:var(--yellow);color:#124256;padding:5px 12px;width:max-content;max-width:100%;margin:0 auto 24px;font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.1em;font-weight:800;transform:rotate(1deg);border:2px solid #0a3f5b;box-shadow:3px 3px 0 #0a3f5b}
.school-poster{background:#00638e;background-image:repeating-conic-gradient(from 190deg at 50% 40%,#005e8900 0deg 18deg,#5bc5dd38 18deg 29deg);border:5px solid white;box-shadow:5px 5px 0 #e33196,10px 10px 0 #043d61;min-height:435px;transform:rotate(-4deg);padding:18px 19px}
.school-poster>img:first-child{width:74%;max-height:108px;object-fit:contain;position:relative;z-index:2}
.school-poster>p{font-family:'Barlow Condensed',sans-serif;font-size:12px;color:var(--yellow);letter-spacing:.08em;margin:13px 0 5px}
.school-poster h3{font-family:'Bangers',sans-serif;font-size:75px;color:white;text-shadow:4px 4px 0 #004566;line-height:.88;letter-spacing:.03em;transform:rotate(-2deg);margin-bottom:13px}
.poster-details{background:#fff;box-shadow:3px 4px 0 #612258;border:3px solid var(--magenta);padding:5px;color:#005d80;width:max-content;max-width:90%;font-family:'Barlow Condensed',sans-serif;font-size:12px}
.poster-mascot{width:128px;bottom:24px;right:-2px;z-index:1}
.poster-star{color:var(--yellow);top:130px;right:25px}
.poster-footer{background:var(--yellow);color:#003c58;font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:800;letter-spacing:.06em;padding:8px;border-top:2px solid #003c58;z-index:4}
.sample-caption{color:white;font-size:12px;line-height:1.7;text-shadow:0 1px 0 #005779;margin-top:25px}
.paper{border:3px solid var(--magenta);box-shadow:7px 8px 0 #004761;min-height:435px}
.paper-label{font-family:'Barlow Condensed',sans-serif;font-size:11px;color:#006d92;letter-spacing:.1em;border-color:var(--magenta)}
.paper h3{font-size:34px;letter-spacing:.015em}
.sample-table>div:first-child{background:#e4f3f7;color:#005d7f}
.announcement{background:var(--yellow);border:3px solid #17384d;box-shadow:7px 8px 0 #8f1a70;min-height:435px}
.giant-quote{color:#b1247d}
.announcement h3{font-size:38px}
.music-demo{background:#073f62;background-image:radial-gradient(#2b7d9d 1px,transparent 1px);background-size:12px 12px;box-shadow:7px 8px 0 var(--magenta);min-height:435px}
.music-demo h3{font-size:38px;color:var(--yellow)}
.music-demo .eyebrow{font-size:10px;color:#cef3ff}
.music-demo>p:not(.eyebrow){color:#d5f1fa}
.record{border-color:#379bb5}
.record span{color:white;background:var(--magenta)}
.demo-song{background:#002c4bdd;border:1px solid #549bb0}
.demo-status{border-color:#6eafc1}
.after-booking{border:2px solid #cae1e8;border-radius:2px;background:#eff9fb;box-shadow:4px 4px 0 #d9edf3}
.after-booking>span{color:var(--magenta)}
.after-booking p{color:#48677a}
.after-booking a{color:#005c7c}
.faq-section{background:#f3f8e4;border-top:3px solid #e3edc3;border-bottom:3px solid #e3edc3}
.faq-section h2{font-size:49px}
.faq-section .eyebrow{color:#5b6c1f}
.faqs details{border-color:#ccdab1}
.faqs summary span{color:#a12077;font-weight:600}
.faqs details p{color:#4e686e}
.booking-section{background:#005b82;isolation:isolate;gap:80px;border-bottom:6px solid #07344e}
.booking-section:before{content:'';position:absolute;inset:0;z-index:-1;background:repeating-conic-gradient(from 5deg at 80% 45%,transparent 0deg 15deg,#6de1ed15 15deg 26deg,#002f5159 26deg 35deg)}
.booking-section .eyebrow{color:#dcf34b}
.booking-section h2{font-size:clamp(49px,5.6vw,72px);text-shadow:4px 5px 0 #003a5b;letter-spacing:.02em;transform:rotate(-1deg);line-height:1.02}
.booking-section h2>span{color:var(--yellow)}
.booking-copy>p:not(.eyebrow){color:#e4f6ff}
.booking-copy>.booking-note{color:#c2e4ef!important}
.booking-spark{color:#0581a8}
.booking-pass{border-radius:1px;border:4px solid #e53897;box-shadow:8px 10px 0 #012f4e;transform:rotate(4deg)}
.pass-top{border-radius:0;background:var(--yellow);color:#123c51;border-bottom:3px solid #0a3c57;font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.11em;font-weight:800}
.pass-body .eyebrow{font-size:11px}
.pass-body li{border-color:#c5dce5}
.pass-body li span{font-family:'Bangers',sans-serif;font-size:18px;color:#a3227b}
.pass-bottom{border-color:#b8d5df;color:#006d95;background:#e6f5fa}
footer{background:#fffef7}
footer img{max-height:105px;width:185px;object-fit:contain}
footer small{border-color:#cbdce1}
@media(min-width:1450px){.hero-inner{padding-left:40px;padding-right:40px}}
@media(max-width:1050px){.brand{max-width:160px}.hero-inner{gap:20px;min-height:620px}.hero-art{height:460px}.hero-disc{width:335px;height:335px}.comic-burst{width:360px;height:395px}.hero-art .mascot{width:260px}.sticker{right:-1%;padding:13px}.sticker strong{font-size:27px}.note-one{font-size:65px;left:-3%}.note-two{font-size:65px;right:-5%}.event-ticket strong{font-size:25px}.hero .button{font-size:16px}.hero-actions .text-link{font-size:12px}.program-heading h2{font-size:54px}.tool-tabs strong{font-size:21px}.preview-stage{padding:24px}.faq-section h2{font-size:44px}.booking-section{gap:45px}}
@media(max-width:760px){.site-header{padding:9px 5%;min-height:88px;border-bottom-width:3px}.brand{max-width:145px}.brand img{max-height:70px}.site-header nav>.button{font-size:12px;padding:11px;box-shadow:3px 3px 0 #102d4b}.hero-inner{padding:37px 6% 42px;gap:20px}.hero .eyebrow{font-size:10px;padding:7px 10px}h1{font-size:clamp(69px,15vw,96px);margin-top:18px;margin-bottom:27px;filter:drop-shadow(4px 5px 0 #003e5b)}.hero-line:nth-child(2){margin-left:20px}.hero-intro{font-size:15px;line-height:1.75}.hero-actions .button{font-size:16px;padding:14px 18px}.hero-actions .text-link{font-size:11px}.hero-tags{font-size:9px;gap:10px}.hero-art{margin-top:30px;height:425px;max-width:380px}.hero-disc{width:320px;height:320px}.comic-burst{width:365px;height:375px;top:43%}.hero-art .mascot{top:-9%;width:245px}.sticker{right:0;top:-5%;padding:13px 15px}.sticker strong{font-size:26px}.note-one{top:5%;left:-2%;font-size:65px}.note-two{top:46%;right:-3%;font-size:65px}.spark-one{top:5%;right:31%}.spark-two{bottom:12%;left:1%}.event-ticket{left:3%;right:1%;bottom:0;padding:16px 16px 10px}.event-ticket strong{font-size:25px}.event-ticket>span{font-size:8px}.energy-strip{font-size:16px;padding:10px 6%;gap:20px}.energy-strip b{font-size:19px}h2{font-size:46px}.section-heading>p:last-child{font-size:14px}.how-section .section-heading:after{height:6px;margin-top:23px}.journey h3{font-size:27px}.journey p{font-size:12px}.step-number{font-size:21px}.program-heading h2{font-size:48px}.segmented button{font-size:15px;padding:10px 20px}.card-ribbon{font-size:12px;padding:10px 25px}.card-top h3{font-size:42px}.card-top .eyebrow{font-size:11px}.price>span{font-size:55px}.card-bottom .button{font-size:18px}.program-card{box-shadow:5px 6px 0 #0b4862}.addons h3{font-size:31px}.addons p{font-size:12px}.tool-tabs button{padding:10px;gap:8px;border:2px solid transparent}.tool-tabs strong{font-size:16px}.tool-tabs button:last-child strong{font-size:16px}.tool-tabs button[aria-selected=true]{box-shadow:3px 3px 0 #b7d646}.tab-icon{width:29px;height:29px;font-size:20px;flex-shrink:0}.preview-stage{padding:22px 22px;min-height:605px;box-shadow:6px 6px 0 #afdbeb}.sample-label{font-size:11px;padding:4px 8px;margin-bottom:22px}.school-poster{max-width:300px;min-height:435px;width:94%}.school-poster h3{font-size:74px}.sample-caption{font-size:11px}.after-booking{padding:19px}.after-booking p{font-size:11px}.faq-section h2{font-size:46px}.booking-section h2{font-size:54px}.booking-copy .eyebrow{font-size:10px}.booking-copy .button{font-size:17px;gap:18px}.booking-pass{width:95%}.pass-top{font-size:12px}.pass-body .eyebrow{font-size:10px}footer img{width:165px;max-height:95px}}
@media(max-width:360px){.brand{max-width:130px}.site-header nav>.button{font-size:11px;padding:10px}h1{font-size:64px}.hero-art{height:395px}.hero-disc{width:280px;height:280px}.comic-burst{width:318px;height:340px}.hero-art .mascot{width:220px;top:-7%}.sticker strong{font-size:24px}.event-ticket strong{font-size:22px}.tool-tabs strong,.tool-tabs button:last-child strong{font-size:15px}.preview-stage{padding:22px 14px}.sample-label{font-size:10px}}
/* Shared campaign artwork, reused unchanged from the school-poster design. */
.school-poster{padding:0;min-height:435px;overflow:hidden}
.school-poster .poster-art{display:block;width:100%;height:auto;max-height:none;object-fit:contain;margin:0;border-bottom:3px solid #62e0ec}
.school-poster .poster-school{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:800;letter-spacing:.1em;text-align:center;margin:15px 12px 3px;color:var(--yellow)}
.poster-event-title{font-family:'Bangers',Impact,sans-serif;font-size:24px;letter-spacing:.03em;text-align:center;line-height:1.1;margin:0 10px 12px;color:#fff}
.poster-information{background:white;color:#005c82;box-shadow:3px 3px 0 #542158;border:3px solid var(--magenta);margin:10px 18px;padding:5px 9px;transform:rotate(1deg)}
.poster-information:nth-of-type(3){transform:rotate(-1deg)}
.poster-information span{display:block;font-family:'Barlow Condensed',sans-serif;font-size:9px;letter-spacing:.12em;font-weight:800;line-height:1.2}
.poster-information strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;line-height:1.5}
.school-poster .poster-footer{position:relative;margin-top:16px;font-size:10px;padding:8px}
@media(max-width:760px){.school-poster{min-height:435px}.school-poster .poster-art{width:100%;max-height:none}.poster-event-title{font-size:25px}}
/* Shared palette with the matching school poster. */
:root{--ink:#052855;--purple:#0755a0;--dark:#052855;--pink:#d400aa;--yellow:#e9f82b;--cyan:#10cbf4;--magenta:#b0008e;--blue:#0755a0}
.hero{background-color:#0755a0}
.hero:before{background:repeating-conic-gradient(from 260deg at 72% 55%,#ffffff00 0deg 13deg,#10cbf41f 13deg 23deg,#0528553d 23deg 31deg)}
.hero:after{background:linear-gradient(90deg,#0535777d,transparent 60%),radial-gradient(ellipse at 75% 50%,transparent,#05285529)}
.hero-disc{background-color:#0877c4;border-color:#10cbf4;box-shadow:0 0 0 5px #052855,0 0 0 16px #1166ae}
.preview-stage{background-color:#0755a0}
.school-poster{background-color:#0755a0}
.booking-section{background-color:#074681}
.booking-section:before{background:repeating-conic-gradient(from 5deg at 80% 45%,transparent 0deg 15deg,#10cbf41c 15deg 26deg,#05285569 26deg 35deg)}
