/* Shared original section layout. Secondary colour and detail shape are independent of hero layout. */
.ballet-pages-studio { --bp-secondary-surface: color-mix(in srgb, var(--bp-sub, var(--bp-main)) 9%, white); --bp-studio-surface: var(--bp-secondary-surface); --bp-footer-bg: var(--bp-secondary-surface); }
.ballet-pages-studio :is(.bp-intro, .bp-teachers-section, .bp-faq-section, .bp-access-section, .bp-cta) { background: var(--bp-secondary-surface); }
.ballet-pages-studio .bp-section-head::after { background: var(--bp-sub); }
.ballet-pages-studio.is-corner-soft { --bp-radius-card: 14px; --bp-radius-media: 14px; --bp-radius-button: 10px; --bp-photo-shape: 14px; }
.ballet-pages-studio.is-corner-sharp { --bp-radius-card: 0px; --bp-radius-media: 0px; --bp-radius-button: 0px; --bp-photo-shape: 0px; }
.ballet-pages-studio.is-corner-arch { --bp-radius-card: 0px; --bp-radius-media: 0px; --bp-radius-button: 10px; --bp-photo-shape: 50% 50% 0 0; }
.ballet-pages-studio .bp-section :is(.bp-feature > img, .bp-feature > .bp-no-image, .bp-instructor > img, .bp-instructor > .bp-no-image, .bp-class > .bp-class-photo, .bp-gallery-image) { border-radius: var(--bp-photo-shape); }
.ballet-pages-studio .bp-section :is(.bp-card, .bp-feature-body, .bp-class-info, .bp-fee-group, .bp-access-panel, .bp-faq) { border-radius: var(--bp-radius-card); }
.ballet-pages-studio .bp-section { scroll-margin-top: 100px; }
.ballet-pages-studio .bp-studio-nav nav a.bp-nav-contact small { color: inherit; }
/* Readable desktop navigation, retaining the compact Japanese subtitles. */
@media(min-width:721px) {
 .ballet-pages-studio .bp-studio-nav nav .bp-nav-label > span { font-size: 18px; line-height: 1.25; }
 .ballet-pages-studio .bp-studio-nav nav small { font-size: 11px; line-height: 1.5; }
}
.ballet-pages-studio .bp-menu-toggle .bp-icon { width: 24px; height: 24px; }
.ballet-pages-studio .bp-menu-toggle .bp-icon:nth-of-type(2),
.ballet-pages-studio.is-menu-open .bp-menu-toggle .bp-icon:first-of-type { display: none; }
.ballet-pages-studio.is-menu-open .bp-menu-toggle .bp-icon:nth-of-type(2) { display: block; }

/* Hero key "arch" is retained for saved settings; it now means Side Photo.
   Every slide contributes its intrinsic height. No design crops the photo again. */
.ballet-pages-studio[class*="is-hero-"] .bp-hero {
  display: flex; flex-direction: column; align-items: stretch; justify-content: start;
  width: 100%; height: auto; min-height: 0; margin: 0; padding: 0;
  border-radius: 0; background: var(--bp-natural-paper, #fcfaf8);
}
.ballet-pages-studio[class*="is-hero-"] .bp-hero::after { content: none; }
.ballet-pages-studio[class*="is-hero-"] .bp-hero-slider {
  position: relative; inset: auto; width: 100%; height: auto; min-width: 0;
  flex-shrink: 0; border-radius: 0; overflow: hidden; background: var(--bp-secondary-surface);
}
.ballet-pages-studio[class*="is-hero-"] .bp-hero-picture { display: none; position: relative; inset: auto; width: 100%; opacity: 1; }
.ballet-pages-studio[class*="is-hero-"] .bp-hero-slider:not(.is-ready) .is-first-desktop,
.ballet-pages-studio[class*="is-hero-"] .bp-hero-slider.is-ready .is-active { display: block; }
.ballet-pages-studio[class*="is-hero-"] .bp-hero-image { position: relative; inset: auto; display: block; width: 100%; height: auto; max-height: none; aspect-ratio: auto; object-fit: contain; filter: none; border-radius: 0; }
.ballet-pages-studio[class*="is-hero-"] .bp-no-image-hero { aspect-ratio: 16 / 9; display: grid; }
.ballet-pages-studio[class*="is-hero-"] .bp-hero-content { width: min(100%, 1120px); margin: 0 auto; padding: clamp(28px, 4vw, 56px); background: transparent; color: var(--bp-text); border-radius: 0; }
.ballet-pages-studio[class*="is-hero-"] .bp-hero h1 { color: var(--bp-text); font-size: clamp(30px, 4vw, 56px); text-shadow: none; overflow-wrap: anywhere; }
.ballet-pages-studio[class*="is-hero-"] .bp-catch { color: var(--bp-text); text-shadow: none; }
.ballet-pages-studio[class*="is-hero-"] .bp-hero .bp-button-glass { background: #fff; color: var(--bp-text); border-color: var(--bp-main); }
.ballet-pages-studio[class*="is-hero-"] .bp-hero-controls { inset: auto 12px 12px auto; }
.ballet-pages-studio.is-hero-arch .bp-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 4vw, 64px); padding: clamp(24px, 4vw, 64px); background: var(--bp-secondary-surface); }
.ballet-pages-studio.is-hero-arch .bp-hero-content { padding: 0; }
.ballet-pages-studio.is-hero-arch .bp-hero h1 { font-size: clamp(28px, 3vw, 44px); }
.ballet-pages-studio.is-hero-banner .bp-hero { padding: clamp(16px, 4vw, 56px); background: var(--bp-secondary-surface); }
.ballet-pages-studio.is-hero-banner .bp-hero-content { text-align: center; }
.ballet-pages-studio.is-hero-banner .bp-catch { margin-inline: auto; }
.ballet-pages-studio.is-hero-banner .bp-hero-actions { justify-content: center; }
@media(max-width:760px) {
 .ballet-pages-studio[class*="is-hero-"] .bp-hero-slider:not(.is-ready) .bp-hero-picture { display: none; }
 .ballet-pages-studio[class*="is-hero-"] .bp-hero-slider:not(.is-ready) .is-first-mobile { display: block; }
 .ballet-pages-studio.is-hero-arch .bp-hero { display: flex; gap: 28px; padding: 20px; }
 .ballet-pages-studio.is-hero-banner .bp-hero { padding: 16px; }
 .ballet-pages-studio.is-hero-banner .bp-hero-content { padding-inline: 8px; }
}

/* The side-photo hero keeps a landscape-friendly frame on desktop. */
.ballet-pages-studio.is-hero-arch .bp-hero-slider { border-radius: 24px; }
@media(max-width:760px) {
 .ballet-pages-studio.is-hero-arch .bp-hero-slider { border-radius: 50% 50% 0 0; }
}
