.skip-link{position:fixed;z-index:1000;top:-80px;right:20px;background:#fff;color:#160b17;padding:12px 18px;border-radius:8px;font:700 16px Heebo,Arial,sans-serif}
html,body{width:100%;max-width:100%;overflow-x:hidden}
@supports(overflow:clip){html,body{overflow-x:clip}}
.skip-link:focus{top:12px}
.site-nav{position:absolute;z-index:6;top:23px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:5px;background:rgba(13,11,16,.76);border:1px solid rgba(255,255,255,.25);border-radius:100px;backdrop-filter:blur(14px);font:700 15px Heebo,Arial,sans-serif}
.site-nav a{display:inline-block;padding:8px 15px;border-radius:100px;color:#fff!important;text-decoration:none;white-space:nowrap}
.site-nav a:hover,.site-nav a.is-current{background:#f047b6;color:#160b17!important}
.site-nav a:focus-visible,.site-footer-links a:focus-visible,.accessibility-button:focus-visible,.accessibility-panel button:focus-visible,.accessibility-panel a:focus-visible,.page-card a:focus-visible{outline:3px solid #fff;outline-offset:3px}
input:focus-visible,textarea:focus-visible,.inner-page a:focus-visible{outline:3px solid #f68ccd;outline-offset:3px}
#dex-stage .ds-copy{perspective:900px}
#dex-stage .ds-tagline{font-size:inherit;line-height:inherit;letter-spacing:inherit;font-weight:inherit;display:block;width:max-content;max-width:100%;transform-origin:50% 50%;backface-visibility:visible;animation:tagline-dance 5.4s ease-in-out infinite}
@keyframes tagline-dance{0%,12%{transform:rotateY(0deg)}65%,100%{transform:rotateY(360deg)}}
#dex-stage.ds-paused .ds-tagline{animation-play-state:paused}
#dex-stage .ds-photo,#dex-stage .ds-photo.is-active{opacity:1;animation:none;transform:none;transition:none;object-position:60% center}
#dex-stage .ds-violin-sparkles{display:none}
#dex-stage .ds-hero.violin-active .ds-violin-sparkles{display:block}
#dex-stage .ds-violin-sparkles .ds-spark{width:3px;height:3px;box-shadow:0 0 6px 2px #fff8,0 0 15px 4px #f5a6ff66}
#dex-stage .ds-violin-sparkles .ds-spark::before,#dex-stage .ds-violin-sparkles .ds-spark::after{width:13px;left:-5px;top:1px}
#dex-stage .ds-next-photo{position:absolute;bottom:18px;right:5%;z-index:2;background:#0d0b10b8;border:1px solid #ffffff88;color:#fff;border-radius:20px;padding:9px 14px;font:700 14px Heebo,Arial,sans-serif;cursor:pointer}
#dex-stage .ds-next-photo:hover{background:#f047b6;color:#160b17;border-color:#f047b6}
#dex-stage .ds-next-photo:focus-visible{outline:3px solid #fff;outline-offset:3px}
.site-footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:17px}
.accessibility-button{position:fixed;z-index:30;left:18px;bottom:18px;display:flex;align-items:center;gap:8px;border:2px solid #fff;background:#22182d;color:#fff;border-radius:100px;padding:10px 15px;font:700 14px Heebo,Arial,sans-serif;box-shadow:0 6px 22px #0008;cursor:pointer}
.accessibility-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
.accessibility-panel{position:fixed;z-index:31;left:18px;bottom:73px;width:min(320px,calc(100vw - 36px));padding:18px;background:#fff;color:#160b17;border-radius:15px;box-shadow:0 12px 40px #0008;font:500 15px Heebo,Arial,sans-serif;direction:rtl}
.accessibility-panel[hidden]{display:none}
.accessibility-panel h2{font-size:20px;margin:0 0 10px}
.accessibility-panel p{font-size:13px;line-height:1.45;margin:0 0 12px}
.accessibility-panel button,.accessibility-panel a{display:block;width:100%;text-align:right;margin:6px 0;padding:10px 12px;border:1px solid #55445d;border-radius:8px;background:#fff;color:#160b17;text-decoration:none;font:700 14px Heebo,Arial,sans-serif;cursor:pointer}
.accessibility-panel button[aria-pressed="true"]{background:#f7d5eb;border-color:#ad2b7e}
html.access-large{font-size:120%}
html.access-large #dex-stage p,html.access-large #dex-stage label,html.access-large #dex-stage input,html.access-large #dex-stage textarea,html.access-large #dex-stage footer,html.access-large #dex-stage .ds-cta{font-size:1.2em!important}
html.access-large .inner-page p,html.access-large .inner-page li,html.access-large .inner-page .schedule-row,html.access-large .inner-page nav,html.access-large .inner-page .card-sub{font-size:1.2em!important}
html.access-contrast #dex-stage,html.access-contrast .inner-page{background:#000!important;color:#fff!important}
html.access-contrast #dex-stage p,html.access-contrast #dex-stage label,html.access-contrast #dex-stage footer,html.access-contrast .inner-page p,html.access-contrast .inner-page li{color:#fff!important}
html.access-contrast #dex-stage input,html.access-contrast #dex-stage textarea{border-color:#fff!important}
html.access-no-motion *,html.access-no-motion *::before,html.access-no-motion *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
@media(prefers-reduced-motion:reduce){#dex-stage .ds-tagline{animation:none}}
@media(max-width:640px){.site-nav{top:12px;right:12px;left:auto;transform:none;gap:0;font-size:13px}.site-nav a{padding:7px 9px}#dex-stage .ds-social{top:12px;left:12px;padding:8px 10px;font-size:12px}.site-footer-links{gap:11px}.accessibility-button{left:10px;bottom:10px}#dex-stage .ds-hero{padding-top:92px;align-items:flex-start;min-height:690px}#dex-stage .ds-next-photo{right:25px;bottom:18px}}
.inner-page{min-height:100vh;margin:0;background:#0d0b10;color:#fff;font-family:Heebo,Arial,sans-serif;direction:rtl}
.inner-page *{box-sizing:border-box}
.inner-page a{color:inherit}
.page-hero{position:relative;min-height:280px;padding:115px 6% 48px;background:linear-gradient(120deg,#2e1736,#0d0b10 65%);overflow:hidden}
.page-hero::after{content:"";position:absolute;width:360px;height:360px;left:-80px;top:-170px;border:1px solid #f047b666;border-radius:50%;box-shadow:0 0 0 45px #f047b611,0 0 0 105px #f047b60c;pointer-events:none}
.page-eyebrow{margin:0 0 10px;color:#f68ccd;font-size:15px;font-weight:800;letter-spacing:1px}
.page-hero h1{max-width:820px;margin:0;font-size:clamp(45px,6vw,78px);line-height:1.05}
.page-hero p:last-child{max-width:660px;color:#e2d6e6;line-height:1.7;font-size:17px}
.page-content{max-width:1200px;margin:auto;padding:42px 6% 80px}
.page-content h2{font-size:clamp(26px,3vw,38px);margin:40px 0 18px}
.page-content p,.page-content li{line-height:1.75;font-size:17px}
.page-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.page-card{border:1px solid #49374f;background:#1a1420;border-radius:16px;padding:21px;min-width:0}
.page-card h2{font-size:25px;margin:0 0 6px;color:#fff}
.page-card .card-sub{color:#ef9ad0;margin:0 0 16px;font-size:15px}
.schedule-row{display:grid;grid-template-columns:80px 1fr;gap:14px;align-items:baseline;border-top:1px solid #423248;padding:11px 0;font-size:16px}
.schedule-row b{color:#f98ed0}
.schedule-row span{direction:ltr;unicode-bidi:isolate;text-align:right}
.card-location{color:#cec2d2;margin:10px 0 0;font-size:15px!important}
.page-callout{margin-top:30px;padding:23px;border-right:5px solid #f047b6;background:#24182a;border-radius:12px}
.page-callout p{margin:0 0 10px}
.page-callout a{font-weight:800}
.rules-list{list-style:none;margin:0;padding:0;counter-reset:rules}
.rules-list li{position:relative;margin:0 0 13px;padding:20px 60px 20px 24px;background:#1a1420;border:1px solid #49374f;border-radius:13px}
.rules-list li::before{counter-increment:rules;content:counter(rules,decimal-leading-zero);position:absolute;right:18px;top:19px;color:#f047b6;font-weight:900;font-size:21px}
.page-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid #49374f;padding:24px 6%;font-size:14px;color:#d7cbdc}
.page-footer strong{font-size:22px;color:#fff}
.page-footer nav{display:flex;gap:18px;flex-wrap:wrap}
.page-footer a{text-decoration:none}
.page-footer a:hover{text-decoration:underline}
.page-disclaimer{margin:40px 0 0;text-align:center;color:#ad9fb4;font-size:15px!important;letter-spacing:.04em}
.classes-page .page-hero p:last-child{font-size:19px}
.classes-page .page-content>h2{font-size:clamp(29px,3.2vw,40px)}
.classes-page .page-card h2{font-size:27px}
.classes-page .page-card .card-sub{font-size:17px}
.classes-page .schedule-row{font-size:18px}
.classes-page .card-location{font-size:19px!important;font-weight:800;color:#fff;margin-top:17px}
.classes-page .page-callout p,.classes-page .page-callout a{font-size:18px}
@media(max-width:740px){.page-cards{grid-template-columns:1fr}.page-hero{padding:100px 25px 40px;min-height:245px}.page-content{padding:28px 25px 65px}.rules-list li{padding:18px 54px 18px 16px}}
