@import url('/assets/partners/icefire/fonts.css');
:root{font-family:Manrope,system-ui,sans-serif;color:#29235f;background:#f8f7ff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink:#17104b;--muted:#79769c;--brand-gradient:linear-gradient(115deg,#3267da,#6545cf 58%,#b32e92)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}button,a,input,select,textarea{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7048e8}button{cursor:pointer}button svg,a svg{flex-shrink:0}img{display:block;max-width:100%}p,h1,h2,h3{margin:0}ul{list-style:none;padding:0;margin:0}.page-width{width:min(100% - 6.1vw,1352px);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:100;transform:translateY(-160%);background:white;padding:12px 20px;border-radius:12px}.skip-link:focus{transform:translateY(0)}
.button{min-height:clamp(52px,5vw,72px);display:inline-flex;align-items:center;justify-content:center;gap:15px;border:1px solid transparent;border-radius:999px;padding:0 clamp(23px,3.2vw,46px);font-weight:700;font-size:clamp(15px,1.46vw,21px);line-height:1.25;white-space:nowrap;transition:box-shadow .2s,transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}.button-primary{background:var(--brand-gradient);color:#fff;box-shadow:0 9px 20px #6747d119}.button-primary:hover{box-shadow:0 10px 24px #6747d131}.button-secondary{background:#ffffff9c;border-color:#ded7ff;color:#211858;box-shadow:0 4px 14px #a89bd110}.button-secondary:hover{background:#fff}.text-button{border:0;background:none;padding:6px 0;color:#6942cd;text-decoration:underline;text-underline-offset:4px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:none;border-radius:50%}.icon-button:hover{background:#ece7ff}
.site-header{position:relative;z-index:5;background:#fbfaff}.header-inner{max-width:1440px;min-height:96px;padding:12px clamp(24px,2.6vw,38px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;color:#130e4a}.wordmark img{width:46px;height:52px;object-fit:contain}.wordmark-text{display:flex;flex-direction:column;font-size:22px;font-weight:800;line-height:1.1;letter-spacing:-.5px}.wordmark-tld{font-size:13px;font-weight:800;letter-spacing:2.2px;color:#6a48d2;margin-top:5px}.desktop-nav{display:flex;align-items:center;gap:clamp(16px,1.55vw,23px);margin-inline:10px auto;font-size:clamp(13px,1.2vw,17px);color:#777192}.desktop-nav a{padding:14px 0;white-space:nowrap;transition:color .2s}.desktop-nav a:hover,.login-link:hover{color:#6745d1}.desktop-nav .home-link{background:#ffffffa6;padding:18px 20px;border-radius:999px;color:#6b45e2}.header-actions{display:flex;align-items:center;gap:25px}.login-link{font-size:17px;color:#716b8e}.header-create{min-height:54px;font-size:17px;padding-inline:25px;gap:0}.menu-toggle,.mobile-nav{display:none}
.hero{position:relative;isolation:isolate;background:#f2efff;overflow:hidden;max-width:1920px;margin:auto;min-height:704px}.hero-art{position:absolute;z-index:-1;inset:0 0 0 auto;width:78%;height:100%;object-fit:cover;object-position:right center}.hero-content{position:relative;z-index:1}.breadcrumbs{display:flex;gap:14px;align-items:center;padding-top:24px;font-size:17px;line-height:26px;color:#77709f}.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}.breadcrumbs [aria-current]{color:#31255e}.breadcrumbs>span[aria-hidden]{color:#b4a8d2}.hero-copy{padding-top:55px;max-width:830px}.eyebrow{font-size:clamp(13px,1.38vw,20px);letter-spacing:1.8px;line-height:1.4;font-weight:700;color:#cb429e}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(86px,8.2vw,118px);line-height:1.08;font-weight:700;letter-spacing:-3px;color:var(--ink);margin-top:18px}.hero-subtitle{font-family:Georgia,'Times New Roman',serif;font-weight:700;color:var(--ink);font-size:clamp(34px,3.75vw,54px);line-height:1.1;letter-spacing:-1.4px;margin-top:9px;max-width:810px}.hero-experience{font-size:clamp(22px,2.3vw,33px);color:#7c77a2;line-height:1.4;margin-top:17px}.hero-buttons{display:flex;align-items:center;gap:22px;margin-top:30px}.hero-features{display:flex;position:relative;z-index:1;gap:54px;align-items:center;padding-top:62px;padding-bottom:46px}.hero-features li{display:flex;align-items:center;gap:17px;font-size:17px;line-height:1.45;color:#797198}.hero-features svg{color:#7750f0;flex-shrink:0}
.programmes{padding-top:64px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px}.section-heading h2{font-size:clamp(38px,4.6vw,66px);letter-spacing:-2.7px;line-height:1.15;font-weight:800;color:var(--ink);margin-top:16px}.section-intro{font-size:clamp(15px,1.45vw,21px);line-height:1.45;color:#7d779d;padding-bottom:4px}.programme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.programme-card{min-width:0;border:1px solid #e5ddff;background:linear-gradient(155deg,#ffffff85,#faf5ffb3);border-radius:28px;padding:21px 21px 28px;transition:border-color .2s,box-shadow .2s}.programme-card:has(button:hover),.programme-card:focus-within{border-color:#c5b3f5;box-shadow:0 12px 30px #6c4db80a}.programme-image-button{display:block;position:relative;width:100%;padding:0;border:0;background:#e9e3fa;border-radius:18px;overflow:hidden;isolation:isolate}.programme-image-button img{width:100%;aspect-ratio:1.24;height:auto;object-fit:cover;transition:transform .4s}.programme-image-button:hover img{transform:scale(1.035)}.image-action{position:absolute;display:flex;align-items:center;justify-content:center;gap:12px;inset:auto 0 0;background:#251346d9;color:#fff;padding:12px;font-size:16px;font-weight:600;transform:translateY(100%);transition:transform .2s}.programme-image-button:hover .image-action,.programme-image-button:focus-visible .image-action{transform:translateY(0)}.programme-content{padding:15px 4px 0}.programme-content h3{font-size:clamp(24px,2.28vw,33px);font-weight:800;line-height:1.25;letter-spacing:-1px;color:var(--ink)}.programme-name{display:inline;padding:0;background:none;border:0;font:inherit;text-align:left;line-height:inherit;letter-spacing:inherit}.programme-name:hover{color:#7145d3}.programme-price{font-weight:800;font-size:clamp(31px,3.2vw,46px);letter-spacing:-1.6px;line-height:1.2;margin-top:6px;background:linear-gradient(110deg,#5046de,#8a36c1);background-clip:text;-webkit-background-clip:text;color:transparent;width:fit-content}.programme-details{margin-top:30px;min-height:127px;display:flex;flex-direction:column;gap:12px;color:#30205e;font-size:clamp(16px,1.52vw,22px);line-height:1.4}.programme-details li{display:flex;align-items:center;gap:13px}.programme-details svg{flex-shrink:0;color:#7951f2;width:31px;height:31px}.programme-details li:last-child svg{color:#aa42d7}.programme-description{margin-top:28px;font-size:clamp(16px,1.52vw,22px);line-height:1.42;color:#7d769e;min-height:151px}.price-note{display:flex;justify-content:center;gap:12px;align-items:center;color:#847ba6;font-size:clamp(13px,1.21vw,17px);line-height:1.5;margin-top:16px}.price-note svg{color:#6050b7;flex-shrink:0}
.contact{padding-top:30px;padding-bottom:34px}.contact-panel{position:relative;isolation:isolate;overflow:hidden;border-radius:28px;background:linear-gradient(115deg,#e7e4ff,#f0e6fd 65%,#f3dcfa);display:flex;align-items:center;min-height:280px;padding:38px 55px;gap:40px}.contact-copy{width:52%;flex-shrink:0}.contact-copy h2{font-family:Georgia,'Times New Roman',serif;color:var(--ink);font-weight:700;font-size:clamp(31px,3.55vw,51px);line-height:1.15;letter-spacing:-1.4px}.contact-copy p{font-size:clamp(16px,1.52vw,22px);line-height:1.35;color:#7e73a0;margin-top:9px;margin-bottom:20px}.contact-copy .button{min-height:68px;padding-inline:46px}.contact-person{border-left:1px solid #d6c9f5;padding-left:49px;display:flex;flex-direction:column;gap:15px;position:relative;z-index:2;white-space:nowrap}.contact-person p,.contact-person a{display:flex;align-items:center;gap:16px;font-size:clamp(19px,1.8vw,26px);font-weight:600;color:var(--ink);line-height:1.25}.contact-person a:hover{color:#7044d0}.contact-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:linear-gradient(135deg,#8061e8,#3d6cdd);width:43px;height:43px;border-radius:50%;color:#fff}.contact-balloons{position:absolute;z-index:-1;right:-32px;bottom:-40px;width:300px;height:300px;object-fit:contain}
.booking-dialog{position:fixed;inset:0;width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:30px;border:1px solid #e1d6fa;border-radius:28px;background:#fbfaff;color:#29235f;box-shadow:0 24px 100px #160a5333;overflow:auto}.booking-dialog::backdrop{background:#22124172;backdrop-filter:blur(5px)}.dialog-topline{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-topline .eyebrow{font-size:12px;letter-spacing:1.4px}.booking-dialog h2{font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1.12;letter-spacing:-.6px;margin-top:14px;color:var(--ink)}.dialog-intro{font-size:15px;color:#797295;line-height:1.55;margin:14px 0 24px}.field{display:block;font-size:14px;font-weight:700;margin-bottom:20px}.optional{font-size:12px;font-weight:400;color:#8b81a5}.field input,.field select{display:block;width:100%;height:50px;padding:11px 13px;border:1px solid #dcd2f3;border-radius:12px;background:#fff;color:#29235f;font-size:14px;font-weight:500;margin-top:7px;min-width:0;color-scheme:light}.field input::placeholder{color:#968caa}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-submit{width:100%;font-size:16px;min-height:54px;padding:10px 20px}.form-note{font-size:12px;line-height:1.5;color:#857c9c;text-align:center;margin-top:12px}.dialog-phone{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;margin-top:22px;padding-top:19px;border-top:1px solid #e8e0f7}.dialog-phone:hover{color:#7044d0}.message-review textarea{display:block;resize:vertical;min-height:205px;width:100%;border:1px solid #e0d6f3;background:#f3effb;color:#3c2c63;border-radius:14px;padding:16px;font-size:14px;line-height:1.55}.review-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.review-actions .button{min-height:52px;padding:12px 20px;font-size:14px;gap:9px}.edit-details{display:block;margin:18px auto 0;font-size:14px}
@media(min-width:1441px){.hero-content,.hero-features{max-width:1352px}.hero-art{width:calc(50% + 410px)}}
@media(max-width:1250px) and (min-width:1025px){.header-inner{gap:16px;min-height:82px}.wordmark{gap:8px}.wordmark img{width:36px;height:42px}.wordmark-text{font-size:18px}.wordmark-tld{font-size:10px}.desktop-nav{gap:13px;margin-inline:0}.desktop-nav .home-link{padding:14px}.header-actions{gap:16px}.header-create{font-size:13px;min-height:46px;padding-inline:18px}.login-link{font-size:14px}.hero{min-height:630px}.hero-copy{padding-top:44px;max-width:650px}.hero-features{padding-top:45px;gap:30px}.hero-features li{font-size:14px}.hero-features svg{width:32px}.hero h1{font-size:100px}.hero-subtitle{font-size:45px;max-width:610px}.hero-experience{font-size:27px}.hero-buttons{gap:16px}.hero-buttons .button{padding-inline:30px}.contact-panel{padding:32px;gap:26px;min-height:250px}.contact-person{padding-left:30px}.contact-balloons{right:-50px;width:250px}.programme-card{padding:16px 16px 24px}.programme-description{min-height:137px}.programme-details{min-height:112px;gap:9px;margin-top:23px}.programme-details svg{width:25px;height:25px}.programme-description{margin-top:20px}}
@media(max-width:1024px){.header-inner{min-height:80px;padding:12px 24px}.desktop-nav{display:none}.menu-toggle{display:inline-flex}.header-actions{gap:15px}.header-create{font-size:14px;min-height:46px;padding-inline:22px}.login-link{font-size:15px}.wordmark img{width:38px;height:44px}.wordmark-text{font-size:20px}.wordmark-tld{font-size:11px}.mobile-nav{display:flex;position:absolute;top:100%;left:0;right:0;background:#fbfaff;box-shadow:0 18px 35px #31216a14;border-top:1px solid #eee8f8;padding:20px 24px 25px;gap:0;flex-direction:column}.mobile-nav>a{font-size:16px;min-height:47px;display:flex;align-items:center}.mobile-nav .button{margin-top:12px;justify-content:center;align-self:flex-start}.hero{min-height:615px}.hero-copy{padding-top:42px;max-width:610px}.hero h1{font-size:89px}.hero-subtitle{font-size:40px;max-width:560px}.hero-experience{font-size:24px}.hero-buttons{gap:13px}.hero-buttons .button{font-size:14px;padding-inline:24px;min-height:54px}.hero-art{width:86%;opacity:.88}.hero-features{padding-top:42px;padding-bottom:32px;gap:30px}.hero-features li{font-size:13px;gap:10px}.hero-features svg{width:30px;height:30px}.eyebrow{font-size:13px}.breadcrumbs{font-size:14px}.programme-card{padding:13px 13px 23px;border-radius:21px}.programme-image-button{border-radius:13px}.programme-content{padding:12px 3px 0}.programme-content h3{font-size:23px;letter-spacing:-.8px}.programme-price{font-size:31px;letter-spacing:-1px}.programme-details{font-size:14px;margin-top:22px;gap:10px;min-height:108px}.programme-details li{gap:8px}.programme-details svg{width:24px;height:24px}.programme-description{font-size:15px;line-height:1.5;margin-top:18px;min-height:157px}.section-heading h2{font-size:41px;letter-spacing:-1.5px}.section-intro{font-size:14px}.programme-grid{gap:12px}.programmes{padding-top:45px}.contact-panel{padding:30px;min-height:238px;gap:22px}.contact-copy{width:52%}.contact-copy h2{font-size:34px}.contact-copy p{font-size:15px}.wide-break{display:none}.contact-copy .button{font-size:15px;min-height:52px;padding-inline:28px}.contact-person{padding-left:24px;gap:12px}.contact-person p,.contact-person a{font-size:18px;gap:10px}.contact-icon{width:35px;height:35px}.contact-icon svg{width:21px}.contact-balloons{right:-55px;width:225px;height:225px}.price-note{font-size:12px}}
@media(max-width:740px){.page-width{width:calc(100% - 40px)}.header-inner{padding:12px 20px;min-height:74px}.wordmark{gap:9px}.wordmark img{width:34px;height:40px}.wordmark-text{font-size:18px}.wordmark-tld{font-size:10px;letter-spacing:1.6px;margin-top:3px}.header-create,.login-link{display:none}.header-actions{gap:0}.hero{display:flex;flex-direction:column;min-height:0;background:#f3efff}.hero-art{position:relative;inset:auto;order:2;z-index:0;width:100%;height:330px;opacity:1;object-fit:cover;object-position:100% 45%;margin-top:8px}.hero-content{order:1}.breadcrumbs{font-size:12px;gap:10px;padding-top:19px;line-height:20px}.hero-copy{padding-top:33px;max-width:none}.hero-copy .eyebrow{font-size:11px;letter-spacing:1.25px}.hero h1{font-size:clamp(60px,12vw,83px);letter-spacing:-2.3px;margin-top:12px}.hero-subtitle{font-size:clamp(29px,5.8vw,39px);letter-spacing:-.8px;line-height:1.13;margin-top:10px;max-width:600px}.desktop-break{display:none}.hero-experience{font-size:20px;margin-top:14px}.hero-buttons{flex-wrap:wrap;gap:12px;margin-top:25px}.hero-buttons .button{font-size:14px;min-height:52px;padding-inline:23px;gap:9px}.hero-buttons .button svg{width:19px}.hero-features{order:3;display:grid;grid-template-columns:1fr;gap:18px;padding:20px 0 28px}.hero-features li{font-size:14px;gap:14px;line-height:1.45}.hero-features li br{display:none}.hero-features li span{max-width:none}.hero-features svg{width:27px;height:27px}.programmes{padding-top:39px}.section-heading{display:block;margin-bottom:25px}.section-heading .eyebrow{font-size:11px;letter-spacing:1.5px}.section-heading h2{font-size:clamp(32px,7vw,45px);letter-spacing:-1.5px;line-height:1.15;margin-top:12px}.section-intro{font-size:14px;margin-top:15px;padding:0;max-width:440px;line-height:1.5}.section-intro br{display:none}.programme-grid{grid-template-columns:1fr;gap:20px}.programme-card{padding:16px 16px 24px;border-radius:23px}.programme-image-button{border-radius:15px}.programme-image-button img{aspect-ratio:1.24}.programme-content{padding:15px 2px 0}.programme-content h3{font-size:27px;letter-spacing:-.8px}.programme-price{font-size:35px;margin-top:5px}.programme-details{font-size:16px;margin-top:22px;min-height:0;gap:10px}.programme-details li{gap:10px}.programme-details svg{width:27px;height:27px}.programme-description{font-size:16px;min-height:0;line-height:1.5;margin-top:21px}.price-note{font-size:11px;align-items:flex-start;justify-content:flex-start;gap:9px;line-height:1.5;margin-top:19px}.price-note svg{width:20px;height:20px}.contact{padding-top:27px;padding-bottom:22px}.contact-panel{display:block;min-height:0;padding:27px 24px 32px;border-radius:23px}.contact-copy{width:100%;position:relative;z-index:1}.contact-copy h2{font-size:32px;max-width:330px;letter-spacing:-.8px}.contact-copy p{font-size:15px;line-height:1.45;margin:12px 0 21px;max-width:360px}.contact-copy .button{min-height:52px;padding-inline:28px;gap:15px}.contact-person{border-left:none;padding-left:0;margin-top:31px;gap:12px;align-items:flex-start}.contact-person p,.contact-person a{font-size:18px;gap:12px}.contact-icon{width:35px;height:35px}.contact-balloons{width:186px;height:186px;right:-55px;bottom:-29px;opacity:.75}.booking-dialog{padding:23px;border-radius:23px;max-height:calc(100dvh - 26px)}.booking-dialog h2{font-size:30px}.form-grid{grid-template-columns:1fr;gap:0}.dialog-intro{font-size:14px;margin-bottom:20px}.field{margin-bottom:17px}.review-actions{flex-direction:column}.review-actions .button{width:100%}.dialog-phone{font-size:12px}}
@media(max-width:375px){.hero h1{font-size:59px}.hero-buttons{flex-direction:column;align-items:stretch}.hero-buttons .button{width:100%}.hero-subtitle{font-size:28px}.contact-copy h2{font-size:29px}.contact-panel{padding:25px 20px}.contact-person p,.contact-person a{font-size:16px}.contact-balloons{opacity:.5}.section-heading h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

[hidden]{display:none!important}.site-header-cta-short{display:none}html{scroll-padding-top:140px}

/* Keep the approved two-line desktop heading and blend generated artwork. */
@media(min-width:741px){.hero-art{-webkit-mask-image:linear-gradient(to right,transparent,#000 20%);mask-image:linear-gradient(to right,transparent,#000 20%)}}
.breadcrumbs,.hero-experience,.hero-features li,.section-intro,.programme-description,.price-note,.dialog-intro,.optional,.form-note{color:#70698d}.contact-copy p,.field input::placeholder{color:#655f80}.eyebrow{color:#b93088}

/* Give tablet copy its own space rather than overlaying the performers. */
@media(min-width:741px) and (max-width:1024px){.hero{display:flex;flex-direction:column;min-height:0}.hero-content{order:1}.hero-copy{max-width:none;padding-top:36px}.hero-subtitle{max-width:730px}.hero-art{position:relative;inset:auto;order:2;z-index:0;width:100%;height:380px;opacity:1;object-position:right center;margin-top:24px;-webkit-mask-image:none;mask-image:none}.hero-features{order:3;padding-top:24px}.section-heading{display:block}.section-intro{margin-top:18px;max-width:600px}}
