/* Version 2: cinematic photography, confident type and purposeful page journeys. */
:root{--blue:#174ed0;--ink:#102759;--aqua:#96eafb}body.v2{background:#fff;color:var(--ink)}.v2 .v2-header{height:106px;padding:12px 5%;position:sticky;top:0;z-index:300;background:#ffffffed;backdrop-filter:blur(14px);border-bottom:1px solid #dae4f0}.v2-header .logo{width:132px;height:79px;object-fit:contain}.v2-header nav{gap:24px}.v2-header nav>a{font-size:15px}.v2-header nav>a[aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:7px}.v2 .button{border-radius:3px;transition:background .2s,transform .2s;min-height:48px}.v2 .button:hover{transform:translateY(-3px)}.v2 h1,.v2 h2{letter-spacing:-.045em}.v2 h1 em,.v2 h2 em{font-weight:400}.v2 .eyebrow{font-size:13px;letter-spacing:.16em}.v2 .section{padding:88px 7%;max-width:1600px;margin:0 auto}.v2 .v2-hero{height:calc(100svh - 106px);min-height:590px;max-height:920px;position:relative;isolation:isolate;overflow:hidden;background:#102759}.v2-hero .hero-photo{position:absolute;inset:0;min-height:0;height:100%;width:100%}.v2-hero .hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#061532bc 0%,#06153245 65%,transparent);z-index:2;pointer-events:none}.v2-hero .hero-photo .hero-slides{height:100%}.v2-hero .hero-slide{object-position:50% 42%!important;transition:opacity 1.3s ease;transform:scale(1.035)}.v2-hero .hero-slide.is-active{animation:photo-drift 7s ease-out both}.v2-hero .hero-photo-bottom{z-index:4;justify-content:flex-end;left:auto;right:5%;bottom:25px;padding:0;background:none}.v2-hero .hero-photo-bottom p{display:none}.v2-hero .hero-count{z-index:5;top:30px;right:5%}.v2-hero-copy{position:absolute;left:7%;bottom:15%;z-index:4;color:white;max-width:850px}.v2-hero-copy .eyebrow{color:var(--aqua)}.v2-hero-copy h1{font-size:clamp(58px,7.5vw,112px);line-height:.99;margin:22px 0 28px}.v2-hero-copy h1 em{color:var(--aqua)}.v2-hero-copy p:not(.eyebrow){font-size:20px;line-height:1.65;color:white}.v2-hero-copy .button{background:var(--aqua);color:var(--ink);margin-top:18px}.pathways .section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:42px}.pathways h2{font-size:clamp(42px,4.5vw,66px);margin:0}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.path-card{display:block;position:relative;text-decoration:none;color:var(--ink)}.path-card img{width:100%;height:340px;object-fit:cover;transition:filter .35s,transform .5s}.path-card:hover img{filter:saturate(1.15);transform:translateY(-6px)}.path-card>span{position:absolute;top:18px;left:18px;background:white;padding:8px 12px;font-size:14px}.path-card h3{font-size:28px;margin:22px 0 7px}.path-card p{font-size:16px;margin:0;color:#52617a}.v2 .school-teaser{display:grid;grid-template-columns:1.05fr 1fr;gap:9%;align-items:center;background:#edf8fc;max-width:none}.school-teaser>img{width:100%;height:520px;object-fit:cover}.school-teaser h2{font-size:clamp(48px,5vw,76px)}.school-teaser p{font-size:18px}.v2 .review-teaser{text-align:center;padding-top:80px;padding-bottom:85px}.review-teaser>img{margin:0 auto 24px;width:48px;height:48px}.review-teaser h2{font-size:clamp(44px,5vw,70px);margin:20px 0}.review-teaser>p:not(.eyebrow){font-size:18px}.v2-cta{padding:70px 7%;background:var(--blue);color:white;display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px 40px}.v2-cta .eyebrow{grid-column:1/-1;color:var(--aqua);margin:0}.v2-cta h2{font-size:clamp(40px,5vw,70px);margin:0}.v2-cta h2 em{color:var(--aqua)}.v2-cta .button{background:white;color:var(--blue)}.page-opening{padding:65px 7% 60px;max-width:1250px}.page-opening h1{font-size:clamp(54px,6vw,88px);line-height:1.03;margin:22px 0}.page-opening>p:last-child{max-width:680px;font-size:19px;line-height:1.7}.v2 #classes>.section-heading{display:none}.v2 #classes{padding-top:0}.v2 .filter{flex-wrap:wrap}.v2 .review-feature{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:8%;background:#edf8fc;max-width:none}.review-feature h2{font-size:clamp(42px,5vw,65px)}.review-feature p{font-size:18px}.review-feature .review-photo{width:100%;height:430px;object-fit:cover}.social-story h2{font-size:clamp(40px,5vw,64px)}.social-story .text-link{margin-right:25px}.v2 #trial{padding-top:50px}.v2 #trial>.trial-copy{position:static}.v2 #trial .trial-copy h2{font-size:46px}.preview-note{padding:16px;background:#edf8fc;border-left:3px solid #174ed0;font-size:15px}.preview-note a{text-decoration:underline}.v2 #timetable{padding-top:15px}.v2 .class-hero{background:#edf8fc}.v2 .class-hero>div{padding:60px 12%}.v2 .class-hero h1{font-size:clamp(48px,5vw,76px)}.v2 .class-hero>img{height:580px}.v2 footer{padding:35px 7%}.v2 .footer-social p{width:auto}.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal-ready.is-visible{opacity:1;transform:none}.testimonial{background:#102759;color:white}.testimonial h2 em{color:#96eafb}.testimonial-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.testimonial h2{font-size:clamp(40px,5vw,70px)}.testimonial p{font-size:18px}.testimonial .eyebrow{color:#96eafb}.testimonial-frame{min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#1b3e74;padding:36px;text-align:center}.testimonial-frame iframe{border:0;width:100%;min-height:600px;background:white}.testimonial-frame a{color:white;text-decoration:underline}.testimonial-frame .button{background:#96eafb;color:#102759}.v2 a:focus-visible,.v2 button:focus-visible{outline:3px solid #23bce5;outline-offset:5px}@keyframes photo-drift{from{transform:scale(1.035)}to{transform:scale(1.09)}}@media(max-width:1000px){.v2-header nav{gap:14px}.v2-header nav>a{font-size:14px}.path-card img{height:270px}}@media(max-width:800px){.v2 .v2-header{height:86px}.v2-header .logo{width:110px;height:65px}.v2-header .menu{display:block}.v2-header nav{display:none;position:absolute;top:86px;left:0;right:0;background:white;padding:24px;box-shadow:0 15px 20px #10275922}.v2-header nav.open{display:flex;flex-direction:column;align-items:stretch}.v2 .v2-hero{height:660px;min-height:0}.v2-hero-copy{left:6%;right:6%;bottom:18%}.v2-hero-copy h1{font-size:clamp(50px,9vw,72px)}.v2-hero-copy p:not(.eyebrow){font-size:17px}.v2 .section{padding:55px 6%}.pathways .section-heading{display:block}.pathways .section-heading>.eyebrow{margin-bottom:20px}.path-grid{grid-template-columns:1fr;gap:32px}.path-card img{height:340px}.path-card h3{margin-top:15px}.v2 .school-teaser,.v2 .review-feature,.testimonial-layout{grid-template-columns:1fr;gap:30px}.school-teaser>img{height:370px}.v2-cta{grid-template-columns:1fr;padding:55px 6%}.v2-cta .button{justify-self:start;margin-top:15px}.page-opening{padding:45px 6% 35px}.page-opening h1{font-size:52px}.page-opening>p:last-child{font-size:17px}.v2 .class-hero>div{padding:35px 6%}.v2 .class-hero>img{height:370px}.review-feature .review-photo{height:320px}.testimonial-frame{padding:18px}.testimonial-frame iframe{min-height:550px}}@media(max-width:440px){.v2-hero-copy h1{font-size:49px}}@media(prefers-reduced-motion:reduce){.v2 *, .v2 *:before,.v2 *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-ready{opacity:1;transform:none}}
.hero-logo-intro{display:none;position:absolute;inset:0;z-index:10;background:white;align-items:center;justify-content:center;opacity:1;transition:opacity .7s ease;overflow:hidden}.hero-logo-intro.is-running{display:flex}.hero-logo-intro.is-finished{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .7s ease,visibility 0s .7s}.hero-logo-intro .logo-performance{margin:0;width:min(70vw,680px)}.hero-logo-intro .logo-stage{width:100%;max-width:none}.hero-logo-intro .logo-replay{visibility:hidden}.hero-logo-intro .intro-skip{position:absolute;right:6%;bottom:35px;border:1px solid #c6d5e9;background:white;color:#102759;padding:12px 20px;min-height:44px;border-radius:3px;cursor:pointer}.v2-hero.intro-active .v2-hero-copy,.v2-hero.intro-active .hero-photo-bottom,.v2-hero.intro-active .hero-count{visibility:hidden}.v2-hero.intro-active .hero-slide{animation-play-state:paused}

.hero-logo-intro .logo-stage.playing .logo-pieces{display:block!important;visibility:visible!important}.hero-logo-intro .logo-stage.playing .logo-original{visibility:hidden!important}
/* The logo and photography share one stage: overlapping handover, no hard cut. */
.hero-logo-intro{background:linear-gradient(135deg,#fff 35%,#eefaff 100%);transition:opacity 1.4s cubic-bezier(.22,1,.36,1),visibility 0s 1.4s}.hero-logo-intro .logo-performance{width:min(72vw,620px);transform:translateY(-16px);transition:transform 1.4s cubic-bezier(.22,1,.36,1),opacity .8s ease}.hero-logo-intro.is-finished{opacity:0;visibility:hidden;transition:opacity 1.4s cubic-bezier(.22,1,.36,1),visibility 0s 1.4s}.hero-logo-intro.is-finished .logo-performance{transform:translateY(-45px) scale(.92);opacity:0}.v2-hero .v2-hero-copy{opacity:1;transform:translateY(0);transition:opacity 1.2s ease .45s,transform 1.2s cubic-bezier(.22,1,.36,1) .45s}.v2-hero.intro-active .v2-hero-copy{visibility:visible;opacity:0;transform:translateY(24px)}.v2-hero .hero-photo-bottom,.v2-hero .hero-count{transition:opacity .8s ease .7s}.v2-hero.intro-active .hero-photo-bottom,.v2-hero.intro-active .hero-count{visibility:visible;opacity:0;pointer-events:none}.v2-hero .hero-photo{transform:scale(1);transition:transform 1.7s cubic-bezier(.22,1,.36,1)}.v2-hero.intro-active .hero-photo{transform:scale(1.055)}.intro-play{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);border:0;border-radius:3px;background:#174ed0;color:white;padding:14px 24px;font-size:16px;cursor:pointer;min-height:48px;white-space:nowrap}.intro-play[hidden]{display:none}.intro-play:disabled{opacity:.6;cursor:wait}@media(prefers-reduced-motion:reduce){.v2-hero:not(.motion-approved) .v2-hero-copy,.v2-hero:not(.motion-approved) .hero-photo{transform:none}.v2-hero.motion-approved .hero-logo-intro,.v2-hero.motion-approved .logo-performance,.v2-hero.motion-approved .v2-hero-copy,.v2-hero.motion-approved .hero-photo{transition:opacity 1.2s ease,transform 1.2s ease,visibility 0s 1.2s!important}.v2-hero.motion-approved .hero-slide.is-active{animation:photo-drift 7s ease-out both!important}}

.hero-logo-intro .logo-stage.preparing .logo-original{opacity:0}.hero-logo-intro{background:#fff}
.v2-hero:after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(6,21,50,.67),rgba(6,21,50,.28) 62%,rgba(6,21,50,.06))}

.v2-hero.motion-approved .hero-slide{transition:opacity 1.3s ease!important}

.v2 .page-faq{max-width:1100px;padding-top:65px;padding-bottom:65px}.page-faq h2{font-size:clamp(32px,4vw,48px);margin:0 0 30px}.page-faq details{border-top:1px solid #cddbeb;padding:0}.page-faq details:last-child{border-bottom:1px solid #cddbeb}.page-faq summary{font-size:18px;line-height:1.5;font-weight:600;padding:20px 28px 20px 0;cursor:pointer}.page-faq details p{font-size:17px;line-height:1.7;margin:0;padding:0 0 22px;color:#52617a}.page-faq summary:focus-visible{outline:3px solid #23bce5;outline-offset:3px}

/* Keep the parent film visible and ready to play inside the reviews page. */
.testimonial-frame{padding:0;background:#fff;width:100%;max-width:480px;justify-self:center;overflow:hidden;border-radius:8px;gap:0}.testimonial-frame iframe{display:block;width:100%;height:740px;min-height:0;border:0}@media(max-width:480px){.testimonial-frame iframe{height:680px}}
/* A brighter diary, clear timetable and recognisable social destinations. */
.v2 .events-hero{background:linear-gradient(120deg,#102759,#174ed0)}
.v2 .events-hero>img{max-height:530px}.v2 .events-layout{gap:48px}
.v2 .event-date{background:#174ed0;color:#fff;box-shadow:0 6px 16px #174ed026}
.v2 .event-row[data-category="event"] .event-date{background:#9a2868}
.v2 .event-row{padding:24px 0}.v2 .event-info h3{line-height:1.25}
.v2 .notice{background:#d5f4ff;border:0}.v2 .social-notice{background:#174ed0}
.v2 .studio-social{background:#edf5ff;max-width:none;scroll-margin-top:110px}
.studio-social h2{font-size:clamp(40px,5vw,68px)}.social-destinations{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}
.social-pill,.v2 footer .footer-social a.social-pill{display:inline-flex;align-items:center;gap:12px;padding:15px 22px;border:0;border-radius:999px;color:#fff;text-decoration:none;font-weight:700;min-height:56px;box-shadow:0 8px 22px #10275924;transition:transform .2s,box-shadow .2s}
.social-pill.facebook,.v2 footer .footer-social a.facebook{background:#0866ff;color:#fff}
.social-pill.instagram,.v2 footer .footer-social a.instagram{background:linear-gradient(115deg,#7024c4,#bd236b 65%,#bb381c);color:#fff}
.social-pill img,.v2 footer .footer-social .social-pill img{filter:brightness(0) invert(1);width:28px;height:28px}
.social-pill:hover,.v2 footer .footer-social a.social-pill:hover{transform:translateY(-3px);box-shadow:0 12px 26px #10275935}
.v2 footer .footer-social{padding-top:28px}.v2 footer .footer-social p{font-size:21px;font-weight:650}
.v2 footer .footer-social .latest-posts-link{margin-top:18px;border:0;padding-left:0;background:transparent;text-decoration:underline;text-underline-offset:5px}
#latest-posts .live-social{background:transparent;padding:0;margin-top:24px;color:#102759}
#latest-posts .live-social-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
#latest-posts .live-social-card{display:flex;flex-direction:column;padding:0;background:#fff;color:#102759;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #1027590c}
#latest-posts .live-social-card img{width:100%;height:240px;border-radius:0;object-fit:cover}
#latest-posts .live-social-card>div{padding:20px}#latest-posts .live-social-card small,#latest-posts .live-social-card time{color:#174ed0}
.v2.timetable-page .page-opening{background:linear-gradient(115deg,#102759,#174ed0);color:#fff;padding-bottom:55px}
.v2.timetable-page .page-opening .eyebrow,.v2.timetable-page .page-opening h1 em{color:#96eafb}.v2.timetable-page .page-opening>p{color:#fff}
.v2 #timetable{background:#e8f2ff;max-width:none;padding-top:58px}.v2 #timetable .day-filter{gap:10px;margin:30px 0 24px;display:flex;flex-wrap:wrap}
.v2 #timetable .day-filter button{background:white;border:2px solid #bfd1ec;color:#102759;padding:13px 21px;font-weight:700;border-radius:8px}
.v2 #timetable .day-filter button.active{background:#174ed0;border-color:#174ed0;color:#fff;box-shadow:0 5px 15px #174ed035}
.v2 #schedule{background:white;border:1px solid #c3d4ed;border-radius:14px;overflow:hidden;box-shadow:0 12px 35px #1027590e}
.v2 #schedule h3{background:#102759;color:#fff;margin:0;padding:22px 28px;font-size:28px}
.v2 .schedule-row{margin:0;padding:19px 26px;border-bottom:1px solid #d5e0ef;border-left:6px solid #174ed0;background:#fff;display:grid;grid-template-columns:150px minmax(0,1fr) 125px;gap:18px;align-items:center}
.v2 .schedule-row:nth-child(odd){background:#f2f6ff}.v2 .schedule-row time{font-weight:750;color:#174ed0}.v2 .schedule-row>span{font-weight:600;color:#102759}.v2 .schedule-row small{background:#deebff;color:#163f88;border-radius:20px;padding:7px 10px;text-align:center}
.v2 .schedule-row[data-room="Studio 2"]{border-left-color:#9a2868}.v2 .schedule-row[data-room="Studio 2"] small{background:#f9e3ef;color:#832158}
.v2 .schedule-row[data-room="Singing Room"]{border-left-color:#087b79}.v2 .schedule-row[data-room="Singing Room"] small{background:#d8f5ee;color:#075f5d}
.v2 #timetable>details{background:#fff;border:1px solid #bfd1ec;border-radius:10px;padding:22px;margin-top:26px}
@media(max-width:850px){#latest-posts .live-social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v2 .events-layout{grid-template-columns:1fr}.v2 .events-sidebar{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:600px){#latest-posts .live-social-grid{grid-template-columns:1fr}.v2 .schedule-row{grid-template-columns:1fr auto;gap:8px;padding:18px 16px}.v2 .schedule-row>span{grid-column:1/-1;grid-row:2}.v2 .schedule-row small{grid-column:2;grid-row:1}.v2 #timetable .day-filter button{padding:11px 14px}.v2 .events-sidebar{display:block}.v2 .studio-social .section-heading{display:block}.v2 .events-hero>img{height:240px}.v2 .events-layout{gap:28px}}

/* Social marks need transparency before the white colour filter is applied. */
.v2 .social-pill img,.v2 footer .footer-social .social-pill img{background:transparent;display:block;flex:0 0 28px;opacity:1}
.v2-header nav>.button{white-space:nowrap}

/* Nicola's personal invitation, using the same original portrait as the staff carousel. */
.v2 a.button.nicola-enquiry{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:8px 19px 8px 8px;border:1px solid #ffffff65;border-radius:999px;background:linear-gradient(110deg,#163fa6,#155bb9,#087b82,#163fa6);background-size:260% 100%;background-position:0% 50%;color:#fff;box-shadow:0 6px 20px #10275925;min-height:60px;white-space:nowrap;animation:nicola-colour-welcome 5s ease-in-out 1;transition:background-position .8s ease,transform .2s ease,box-shadow .2s ease}
.v2 a.button.nicola-enquiry:hover{background-position:100% 50%;color:#fff;box-shadow:0 9px 24px #10275935;transform:translateY(-2px)}
.nicola-avatar{display:block;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background-image:url('assets/team.png');background-size:470% auto;background-position:50% 35.3%;box-shadow:0 0 0 2px #ffffffb3}
.nicola-label{font-size:15px;line-height:1.3;font-weight:700}.nicola-arrow{font-size:21px;line-height:1;transition:transform .2s}.nicola-enquiry:hover .nicola-arrow{transform:translate(2px,-2px)}
.v2 .v2-cta .nicola-enquiry{border:2px solid #b9f2ff;box-shadow:0 5px 24px #061a5838}
@keyframes nicola-colour-welcome{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.v2 a.button.nicola-enquiry{animation:none!important;transition:none!important}.nicola-arrow{transition:none}}

/* Preserve the full source image. Never crop dancers to fill a fixed-height card. */
#latest-posts .live-social-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
#latest-posts .live-social-card{align-self:start;min-width:0}
#latest-posts .live-social-card img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:0;flex:none}
#latest-posts .live-social+.live-social{margin-top:42px}
#latest-posts .live-social h3{font-size:28px;margin-bottom:22px}
#latest-posts .post-action{display:block;font-size:14px;color:#174ed0;font-weight:700;margin-top:16px}
@media(max-width:700px){#latest-posts .live-social-grid{grid-template-columns:1fr}}

/* Larger illustrated portrait extends above the pill; silhouette follows the hair and shoulders. */
.v2 a.button.nicola-enquiry{position:relative;padding:17px 24px 17px 103px;min-height:58px;overflow:visible;gap:0}
.v2 .nicola-enquiry .nicola-avatar{position:absolute;left:0;bottom:0;width:100px;height:91px;max-width:none;object-fit:contain;background:none;border:0;border-radius:0;box-shadow:none;clip-path:polygon(1% 100%,4% 87%,7% 82%,15% 76%,19% 75%,29% 74%,37% 71%,37% 66%,33% 68%,29% 69%,25% 65%,21% 60%,19% 54%,19% 45%,22% 37%,26% 29%,29% 22%,34% 14%,41% 6%,47% 2%,52% 2%,56% 2%,64% 5%,69% 10%,74% 18%,77% 29%,80% 42%,82% 51%,82% 60%,80% 67%,77% 71%,71% 75%,68% 75%,75% 80%,84% 85%,90% 89%,96% 100%)}
.v2 .v2-header .nicola-enquiry{margin-top:20px;margin-left:8px}.v2 .v2-cta .nicola-enquiry{margin-top:28px}
@media(max-width:800px){.v2 .v2-header .nicola-enquiry{align-self:flex-start;margin-top:30px}}

.v2 .v2-header .nicola-enquiry .nicola-avatar{width:91px;height:82px;left:4px}

/* Keep age ranges and explore links aligned across each desktop card row. */
@media (min-width:701px){
 .v2 .class-card .class-copy>.class-level{margin-top:auto;min-height:3em;margin-bottom:12px;padding-top:0}
 .v2 .class-card .class-copy>.class-explore{margin-top:0}
}

.v2-hero .tap-opening-slide{object-position:50% 75%!important;animation:none!important;transform:none!important}
.v2 .class-image-link[data-class-page="tap.html"] img{height:auto;aspect-ratio:3/2;object-fit:contain}
@media(max-width:700px){.v2-hero .tap-opening-slide{object-position:50% 50%!important}}

.v2 .class-image-link[data-class-page="modern.html"] img{height:auto;aspect-ratio:3/2;object-fit:contain}
.v2 .class-hero>img[src="assets/modern-stage.png"]{height:auto;align-self:center;object-fit:contain}

.v2 .class-image-link[data-class-page="little-dancers.html"] img{height:auto;aspect-ratio:3/2;object-fit:contain}
.v2 .class-hero>img[src="assets/groovy-movers-scarves.png"]{height:auto;align-self:center;object-fit:contain}

.v2 .class-image-link[data-class-page="singing.html"] img{height:auto;aspect-ratio:3/2;object-fit:contain}

.v2 .class-image-link[data-class-page="adult-dance.html"] img{height:auto;aspect-ratio:3/2;object-fit:contain}
.v2 .class-hero>img[src="assets/adult-tap-group.png"]{height:auto;align-self:center;object-fit:contain}

/* Keep the teachers heading legible on the blue team section. */
.v2 #team h1{color:#fff}
.v2 #team h1 em{color:#96eafb}

.v2 .class-card img[src="assets/boys-squad-original.jpg"]{height:auto;aspect-ratio:3/2;object-fit:contain;background:#238dbb}
.v2 .class-hero>img[src="assets/boys-squad-original.jpg"]{height:auto;align-self:center;object-fit:contain}

.v2 .class-card img[src="assets/musical-theatre-circle.png"]{height:auto;aspect-ratio:3/2;object-fit:contain}
.v2 .class-hero>img[src="assets/musical-theatre-circle.png"]{height:auto;align-self:center;object-fit:contain}

.v2 .class-card img[src="assets/ballet-group-landscape.png"]{height:auto;aspect-ratio:3/2;object-fit:contain}
.v2 .class-hero>img[src="assets/ballet-group-landscape.png"]{height:auto;align-self:center;object-fit:contain}

.v2 .class-card img[src="assets/acro-balance.png"]{height:auto;aspect-ratio:3/2;object-fit:contain}
.v2 .class-hero>img[src="assets/acro-balance.png"]{height:auto;align-self:center;object-fit:contain}

.v2 .class-card img[src="assets/acro-bridge-video.png"],.v2 .class-hero>img[src="assets/acro-bridge-video.png"]{height:auto;aspect-ratio:3/2;object-fit:cover;object-position:50% 70%;align-self:center}

.v2 .class-card img[src="assets/acro-bridge-polished.png"],.v2 .class-hero>img[src="assets/acro-bridge-polished.png"]{height:auto;aspect-ratio:3/2;object-fit:contain;align-self:center}

.v2 .class-image-link[data-class-page="commercial.html"] img,.v2 .class-hero>img[src="assets/commercial-approved.png"]{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:50% 50%;align-self:center}

/* Blend the original logo into the translucent header without a white tile. */
.v2-header .logo{mix-blend-mode:normal}
/* Keep the full group photograph visible on desktop and mobile. */
.v2 .review-feature .review-photo{height:auto;max-height:620px;width:100%;object-fit:contain}

/* Launch: retain class Explore links in source for later restoration. */
.v2 .class-explore[hidden]{display:none}
.v2 .class-image-link[data-class-page="jazz.html"] img,.v2 .class-hero>img[src="assets/jazz-group-original-wide.png"]{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;align-self:center}

/* Direct parent testimonial video: full portrait frame on every screen. */
.testimonial-frame:has(.parent-review-video){min-height:0;background:#102759}
.parent-review-video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#102759}

.v2 .class-card[id]{scroll-margin-top:125px}

/* Approved original Tap crop: show every dancer at all screen sizes. */
.v2 .class-card img[src="assets/tap-barre-approved.png"],.v2 .class-hero>img[src="assets/tap-barre-approved.png"]{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;align-self:center}

/* Keep carousel frames at a fixed scale; fade only, without resampling during playback. */
.v2.home-v2 .v2-hero .hero-photo{transform:none!important;transition:none!important}
.v2.home-v2 .v2-hero .hero-slide{animation:none!important;transform:none!important;transition:opacity 1s ease!important;z-index:0}
.v2.home-v2 .v2-hero .hero-slide.is-leaving{z-index:1}
.v2.home-v2 .v2-hero .hero-slide.is-active{z-index:2}
@media(prefers-reduced-motion:reduce){.v2.home-v2 .v2-hero .hero-slide{transition:none!important}}

@media(max-width:800px){.path-card img[src="assets/adult-tap-shoes-home.png"]{height:auto;aspect-ratio:1;object-fit:contain}}

.v2 .class-card img[src="assets/modern-class-original-wide.png"]{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}

/* Original-based class photography, consistent 3:2 framing. */
.v2 .class-card img[src="assets/acro-original-vivid.png"],.v2 .class-hero>img[src="assets/acro-original-vivid.png"]{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;align-self:center}
.v2 .class-card img[src="assets/commercial-option4-enhanced.png"],.v2 .class-hero>img[src="assets/commercial-option4-enhanced.png"]{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;align-self:center}

/* Full-width timetable heading and consistent white adult class card. */
.v2.timetable-page .page-opening{max-width:none;width:100%;box-sizing:border-box}
.v2 #class-cards #adult-dance{background:#fff;padding:0}
.v2 #class-cards #adult-dance .class-image-link{margin:0!important}

.v2 .class-card img[src="assets/musical-theatre-original-landscape.png"],.v2 .class-hero>img[src="assets/musical-theatre-original-landscape.png"]{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;align-self:center}

@media(max-width:700px){.v2.home-v2 .v2-hero .hero-slide.boy-carousel-slide{object-position:64% 50%!important}}
