header{height:92px}.brand-logo{display:block;width:116px;height:80px;object-fit:contain}footer .brand-logo{width:145px;height:122px}
.hero{isolation:isolate;position:relative}.hero-copy{z-index:3}.hero-image{z-index:1}.hero-image img{object-fit:cover;object-position:50% 54%}.hero-image:after{background:linear-gradient(90deg,#2e3f4c,transparent 25%),linear-gradient(0deg,#2e3f4c,transparent 12%)}
.ballet-stage{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 45% 85%,#c2d0db0b,transparent 55%)}
.hero-dancer{position:absolute;left:25%;bottom:15px;width:360px;height:580px;opacity:.13;perspective:1100px;transform:rotate(-6deg)}
.dancer-travel{height:100%;animation:dancer-glide 12s ease-in-out infinite;transform-origin:50% 95%}
.dancer-turn{height:100%;animation:pirouette 8s cubic-bezier(.45,0,.55,1) infinite;transform-origin:50% 93%;transform-style:preserve-3d}
.ballet-figure{width:100%;height:100%;overflow:visible;color:#c2d0db;fill:currentColor;filter:drop-shadow(0 0 25px #c2d0db16)}
.ballet-figure .arm-left{transform-origin:132px 93px;animation:port-de-bras-left 8s ease-in-out infinite}.ballet-figure .arm-right{transform-origin:162px 93px;animation:port-de-bras-right 8s ease-in-out infinite}
.ballet-figure .leg-free{transform-origin:152px 177px;animation:attitude 8s ease-in-out infinite}.ballet-figure .tutu{transform-origin:148px 169px;animation:tutu-float 4s ease-in-out infinite}
.motion-toggle{position:absolute;bottom:23px;left:8%;z-index:5;display:flex;align-items:center;gap:9px;background:#2e3f4cbf;border:1px solid #c2d0db40;border-radius:24px;color:#c2d0db;padding:10px 16px;min-height:44px;font-size:11px;cursor:pointer}.motion-toggle:hover{background:#2e3f4c}.motion-toggle[aria-pressed="true"]{border-color:#c2d0db}
.motion-paused .dancer-travel,.motion-paused .dancer-turn,.motion-paused .ballet-figure *{animation-play-state:paused!important}
.course-photo,.experience-image,.gallery-photo{isolation:isolate}.course-photo:before,.course-photo:after,.experience-image:before,.gallery-photo:after{content:'';pointer-events:none;position:absolute;z-index:2;width:42%;height:57%;opacity:.65;background:repeating-conic-gradient(from -18deg at 100% 0%,#fff0 0deg 6deg,#fff5 7deg,#c2d0db12 8deg,#fff0 10deg),repeating-linear-gradient(30deg,#fff0 0 3px,#fff2 3px 4px,#fff0 4px 8px);mask-image:radial-gradient(ellipse at top right,#000 10%,#0009 45%,transparent 72%);transform-origin:100% 0%;filter:drop-shadow(0 2px 3px #fff1);transition:transform .65s,opacity .65s}
.course-photo:before,.experience-image:before{top:-1px;right:-1px;border-bottom-left-radius:100%;transform:rotate(-8deg)}.course-photo:after,.gallery-photo:after{bottom:-1px;left:-1px;border-top-right-radius:100%;transform:rotate(172deg);opacity:.48}
.course-card:hover .course-photo:before{transform:rotate(-3deg) scale(1.06);opacity:.8}.course-card:hover .course-photo:after{transform:rotate(178deg) scale(1.04)}
.experience-image,.gallery-photo{position:relative}#course-list .course-photo img{width:100%;height:100%;object-fit:cover;background:none}
.course-photo .photo-2{object-position:50% 39%!important}.course-photo .photo-5{object-position:50% 28%!important}.course-photo .photo-6{object-position:50% 59%!important}
#course-list[data-filter="all"] .course-card:last-child .course-photo{height:auto;min-height:300px}
.intro-loader{display:none;position:fixed;inset:0;z-index:200;background:#2e3f4c;color:#c2d0db;place-items:center;overflow:hidden;animation:loader-safety 2.8s forwards;pointer-events:none}.loader-on .intro-loader{display:grid;pointer-events:auto}.intro-loader.is-leaving{opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s;pointer-events:none}
.loader-scene{display:flex;flex-direction:column;align-items:center;position:relative}.loader-dancer{height:260px;width:220px;perspective:800px}.loader-dancer .dancer-turn{animation-duration:1.6s}.loader-dancer .ballet-figure .arm-left,.loader-dancer .ballet-figure .arm-right,.loader-dancer .ballet-figure .leg-free{animation-duration:1.6s}.loader-dancer .ballet-figure .tutu{animation-duration:.8s}
.loader-floor{width:140px;height:6px;border-radius:50%;background:#c2d0db22;filter:blur(3px);margin-bottom:24px}.loader-logo{width:130px;height:110px;object-fit:contain}.loader-skip{pointer-events:auto;background:transparent;border:0;border-bottom:1px solid #c2d0db55;color:#c2d0db;font-size:12px;padding:12px;margin-top:10px;cursor:pointer;min-height:44px}
@keyframes pirouette{0%,12%{transform:rotateY(0) translateY(0)}35%{transform:rotateY(180deg) translateY(-7px)}60%{transform:rotateY(360deg) translateY(-3px)}78%,100%{transform:rotateY(360deg) translateY(0)}}
@keyframes dancer-glide{0%,100%{transform:translateX(-25px) rotate(-4deg)}50%{transform:translateX(25px) rotate(4deg)}}
@keyframes port-de-bras-left{0%,100%{transform:rotate(-14deg)}25%,60%{transform:rotate(12deg)}80%{transform:rotate(-26deg)}}
@keyframes port-de-bras-right{0%,100%{transform:rotate(14deg)}25%,60%{transform:rotate(-12deg)}80%{transform:rotate(26deg)}}
@keyframes attitude{0%,100%{transform:rotate(-8deg)}30%,60%{transform:rotate(15deg)}80%{transform:rotate(-15deg)}}
@keyframes tutu-float{0%,100%{transform:scaleX(1) rotate(-2deg)}50%{transform:scaleX(1.06) rotate(2deg)}}
@keyframes loader-safety{0%,85%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
@media(max-width:700px){header{height:82px}.brand-logo{height:72px;width:96px}.hero-dancer{left:38%;bottom:auto;top:35px;width:250px;height:390px;opacity:.1}.hero-image{height:380px}.hero-image img{object-position:50% 57%}.motion-toggle{left:auto;right:7%;bottom:17px;font-size:10px;padding:8px 12px}.course-photo:before,.course-photo:after{width:36%;height:50%}#course-list[data-filter="all"] .course-card:last-child .course-photo{height:255px;min-height:0}.loader-dancer{height:220px}.loader-logo{height:95px}.hero-copy{padding-bottom:28px}}
@media(prefers-reduced-motion:reduce){.intro-loader,.loader-on .intro-loader{display:none!important}.dancer-travel,.dancer-turn,.ballet-figure *{animation:none!important}.motion-toggle{display:none}.course-photo:before,.course-photo:after{transition:none}.hero-image img{animation:none}}
.offscreen-motion .dancer-travel,.offscreen-motion .dancer-turn,.offscreen-motion .ballet-figure *{animation-play-state:paused}
.dancer-travel,.dancer-turn,.ballet-figure *{animation:none!important}.hero-dancer{transform:none;opacity:.14}.dancer-turn{transform:none!important}.ballet-figure{filter:drop-shadow(0 0 20px #c2d0db12)}
