
:root{--ink:#28243a;--cream:#fffaf1;--purple:#7652a8;--pink:#e86f9e;--orange:#ee9c55;--teal:#56aaa5;--yellow:#f1c85b;--card:#fff;--muted:#6f6879}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--cream);line-height:1.55}a{color:inherit}.wrap{max-width:1120px;margin:auto;padding:0 22px}nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0;gap:20px}.brand{font-size:1.25rem;font-weight:900}.brand span{color:var(--purple)}.links{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.links a{text-decoration:none;font-weight:650}.btn{display:inline-block;background:var(--purple);color:white!important;padding:12px 20px;border-radius:999px;text-decoration:none;font-weight:800;border:0;cursor:pointer}.btn.alt{background:white;color:var(--purple)!important}.hero{padding:72px 0 80px;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}.eyebrow{font-weight:850;color:var(--pink);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}h1{font-size:clamp(3rem,7vw,6rem);line-height:.92;margin:12px 0 22px;letter-spacing:-.06em}h2{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1;margin:0 0 16px}.paint{background:linear-gradient(90deg,var(--purple),var(--pink),var(--orange));-webkit-background-clip:text;color:transparent}.hero p{font-size:1.15rem;max-width:650px}.art{min-height:430px;border-radius:40px;background:radial-gradient(circle at 30% 30%,var(--yellow) 0 11%,transparent 12%),radial-gradient(circle at 72% 25%,var(--pink) 0 14%,transparent 15%),radial-gradient(circle at 35% 72%,var(--teal) 0 18%,transparent 19%),radial-gradient(circle at 75% 72%,var(--orange) 0 22%,transparent 23%),#e7dcf4;position:relative;overflow:hidden;box-shadow:0 28px 70px #372d5718}.art:after{content:'CREATE • PLAY • CONNECT';position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:1.7rem;font-weight:950;transform:rotate(-9deg)}section{padding:75px 0}.intro{max-width:700px;font-size:1.08rem}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px}.card{background:var(--card);border-radius:28px;padding:30px;box-shadow:0 14px 40px #362d5510}.icon{font-size:2.4rem}.card h3{font-size:1.35rem;margin:15px 0 8px}.kids{border-top:8px solid var(--yellow)}.adult{border-top:8px solid var(--pink)}.face{border-top:8px solid var(--teal)}.events{background:#2e2942;color:white}.event{background:#ffffff12;border:1px solid #ffffff20;border-radius:25px;padding:25px;display:flex;flex-direction:column;min-height:300px}.event .meta{color:#f4d57d;font-weight:750;text-transform:uppercase;font-size:.82rem;letter-spacing:.05em}.event h3{font-size:1.45rem;margin:10px 0}.event p{margin:7px 0}.event .grow{flex:1}.capacity{height:9px;background:#ffffff22;border-radius:10px;overflow:hidden;margin:16px 0 8px}.capacity span{display:block;height:100%;background:linear-gradient(90deg,var(--yellow),var(--orange));border-radius:10px}.event-foot{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:14px}.price{font-weight:850;font-size:1.1rem}.sold{font-weight:900;color:#f3c8d8}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:190px;gap:14px;margin-top:30px}.gallery-card{border-radius:22px;overflow:hidden;position:relative;background:#eadff3;min-height:190px;box-shadow:0 12px 35px #30264a12}.gallery-card:first-child{grid-row:span 2}.gallery-card img{width:100%;height:100%;object-fit:cover;display:block}.gallery-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 16px 14px;color:#fff;background:linear-gradient(transparent,#211a35dd)}.gallery-card h3{margin:0;font-size:1rem}.gallery-card p{margin:4px 0 0;font-size:.86rem}.gallery-placeholder{border-radius:22px;display:grid;place-items:center;text-align:center;font-weight:900;padding:22px;background:#eadff3}.gallery-placeholder:nth-child(2){background:#f8dce7}.gallery-placeholder:nth-child(3){background:#d9eeeb}.gallery-placeholder:nth-child(4){background:#fae6cf}.gallery-placeholder:first-child{grid-row:span 2}.empty-wide{grid-column:1/-1;background:white;border:1px dashed #cfc3d8;border-radius:22px;padding:30px;text-align:center;color:var(--muted)}.cta{text-align:center;padding:95px 20px}.cta p{max-width:600px;margin:15px auto 28px}footer{padding:35px 0;border-top:1px solid #ddd2c5;font-size:.9rem}.footerrow{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.muted{color:var(--muted)}
@media(max-width:800px){.hero{grid-template-columns:1fr;padding-top:40px}.art{min-height:300px}.grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery-card:first-child,.gallery-placeholder:first-child{grid-row:auto;grid-column:span 2}.links a:not(.btn){display:none}}@media(max-width:520px){.gallery{grid-template-columns:1fr}.gallery-card:first-child,.gallery-placeholder:first-child{grid-column:auto}.event-foot{align-items:flex-start;flex-direction:column}}

button,input,textarea,select{font:inherit}button:disabled{opacity:.55;cursor:not-allowed}.page-head{padding:42px 0 20px}.page-head h1{font-size:clamp(2.5rem,6vw,4rem);line-height:1.05}.booking-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:28px;margin:30px 0 60px}.booking-panel{background:white;border-radius:26px;padding:28px;box-shadow:0 14px 40px #362d5510}.booking-panel h2{font-size:1.8rem}.booking-panel label{display:block;font-weight:750;margin:15px 0}.booking-panel input{width:100%;border:1px solid #d8cbe1;padding:12px;border-radius:10px;margin-top:7px}.booking-panel .btn{width:100%;margin-top:14px;min-height:48px}.event-photo{display:block;width:100%;height:auto;object-fit:contain;border-radius:20px;background:#fff}.event-detail-photo{max-height:none;box-shadow:0 14px 40px #362d5514}.event .event-photo{aspect-ratio:4/5;object-fit:contain;margin-bottom:15px;background:#fffaf1}.event-copy{white-space:pre-wrap;overflow-wrap:anywhere}.photo-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0}.photo-strip img{width:100%;border-radius:14px;aspect-ratio:4/3;object-fit:cover}.status-message{padding:14px;border-radius:12px;background:#f0e8f8;margin:16px 0;overflow-wrap:anywhere}.status-message:empty{display:none}.test-banner{background:#fff0c3;border:1px solid #d8b45a;color:#5e4714;padding:14px;border-radius:14px;margin:16px 0}.summary{display:grid;grid-template-columns:minmax(110px,1fr) 2fr;gap:12px}.summary dt{font-weight:750}.summary dd{margin:0;overflow-wrap:anywhere}.small{font-size:.88rem}.nav-back{display:flex;gap:15px;flex-wrap:wrap}.filter-links{display:flex;gap:15px;margin-top:20px;flex-wrap:wrap}.filter-links a{background:#eee5f7;padding:10px 20px;border-radius:30px;text-decoration:none}.loading{padding:40px 0}a:focus-visible,button:focus-visible{outline:3px solid #e86f9e;outline-offset:4px}.event{overflow:hidden}.event h3{overflow-wrap:anywhere}.event .btn{margin-top:12px}.checkout-wrap{max-width:760px;margin:20px auto 60px}[hidden]{display:none!important}@media(max-width:760px){.booking-layout{grid-template-columns:1fr}.booking-panel{padding:22px}.summary{grid-template-columns:1fr}.summary dd{margin-bottom:8px}nav .brand{font-size:1.05rem}.wrap{padding:0 16px}}
.events.booking-panel{background:#2e2942;color:white}#past .event{background:white;border:1px solid #e8deed}#past .event .meta{color:var(--purple)}
