/*
Theme Name: Mayumi Dance Twenty Twenty-Five Child
Template: twentytwentyfive
Version: 1.0.0
Description: Mayumi Dance Studio site customizations and responsive styles.
Text Domain: twentytwentyfive
*/

@media (width < 781px) {
  .wp-block-gallery.mayumi-mobile-stack-ny,
  .wp-block-gallery.mayumi-mobile-stack-dontaku {
    row-gap: 1.5rem;
  }
  .wp-block-gallery.mayumi-mobile-stack-ny > figure.wp-block-image,
  .wp-block-gallery.mayumi-mobile-stack-dontaku > figure.wp-block-image {
    width: 100% !important;
    flex: 0 0 100%;
  }
  .wp-block-gallery.mayumi-mobile-stack-ny > figure.wp-block-image img,
  .wp-block-gallery.mayumi-mobile-stack-dontaku > figure.wp-block-image img {
    width: 100%;
    height: auto;
  }
  .wp-block-gallery.mayumi-mobile-stack-ny > figure.wp-block-image figcaption,
  .wp-block-gallery.mayumi-mobile-stack-dontaku > figure.wp-block-image figcaption {
    position: static;
    max-height: none;
    overflow: visible;
    margin: 0.5rem 0 0;
    padding: 0;
    background: none;
    color: inherit;
  }
}

/* Mobile content gutters; keep the surrounding template and full-width blocks. */
@media (max-width: 600px) {
  body:is(.page-id-8, .page-id-11, .page-id-13, .page-id-17, .page-id-336, .page-id-338, .page-id-340, .page-id-21, .page-id-19) .wp-block-post-content {
    --wp--style--root--padding-left: 20px;
    --wp--style--root--padding-right: 20px;
  }

  /* The post-content itself still cancels the unchanged main padding. */
  body:is(.page-id-8, .page-id-11, .page-id-13, .page-id-17, .page-id-336, .page-id-338, .page-id-340, .page-id-21, .page-id-19) .wp-block-post-content.alignfull {
    margin-inline: calc(-1 * var(--wp--preset--spacing--50));
  }

}

/* TOP: hero, ABOUT and LESSON only. */
.page-id-8 .mayumi-home-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 620px;
  margin-block: 0;
  padding: 80px max(40px, calc((100% - 1200px) / 2)) 110px;
  gap: 0;
  background: #140709;
  color: #fff;
  clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%);
}
.page-id-8 .mayumi-home-hero > .wp-block-column:first-child {
  position: relative;
  z-index: 2;
  flex-basis: 52% !important;
  max-width: 620px;
}
.page-id-8 .mayumi-home-hero > .wp-block-column:last-child {
  position: absolute;
  inset: 0 0 0 24%;
  z-index: -2;
}
.page-id-8 .mayumi-home-hero figure,
.page-id-8 .mayumi-home-hero img { width: 100%; height: 100%; margin: 0; }
.page-id-8 .mayumi-home-hero img { object-fit: cover; object-position: center; }
.page-id-8 .mayumi-home-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #140709 2%, rgba(20,7,9,.92) 24%, rgba(80,12,20,.55) 58%, rgba(20,7,9,.12));
  pointer-events: none;
}
.page-id-8 .mayumi-home-hero h1 { font-size: clamp(36px, 4vw, 58px) !important; line-height: 1.3; font-weight: 600; text-wrap: balance; }
.page-id-8 .mayumi-home-hero p { line-height: 1.8; }
.page-id-8 .mayumi-home-hero .wp-block-buttons { display: inline-flex; margin: 20px 12px 0 0; }
.page-id-8 .mayumi-home-hero .wp-block-button__link { border-radius: 0; border: 1px solid #fff; background: #941b2b !important; color: #fff; padding: 14px 24px; }
.page-id-8 .mayumi-home-about { position: relative; overflow: hidden; background: #faf8f5 !important; margin-block: 0; }
.page-id-8 .mayumi-home-about::after {
  content: ""; position: absolute; inset: 0 0 0 55%;
  background: linear-gradient(135deg, #eee7df, #c7b8ad);
  clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
  pointer-events: none;
}
.page-id-8 .mayumi-home-about-copy { position: relative; z-index: 1; max-width: 1200px; margin-inline: auto; padding: 85px 40px !important; background: transparent !important; }
.page-id-8 .mayumi-home-about-copy > * { max-width: 52% !important; margin-left: 0 !important; margin-right: auto !important; }
.page-id-8 .mayumi-home-about h2::before,
.page-id-8 .mayumi-home-lesson h2::before { display: block; font: 14px/1.4 Georgia, serif; letter-spacing: .16em; color: #941b2b; margin-bottom: 12px; }
.page-id-8 .mayumi-home-about h2::before { content: "ABOUT"; }
.page-id-8 .mayumi-home-lesson h2::before { content: "LESSON"; }
.page-id-8 .mayumi-home-about h2,
.page-id-8 .mayumi-home-lesson h2 { font-weight: 500; line-height: 1.4; }
.page-id-8 .mayumi-home-about p,
.page-id-8 .mayumi-home-lesson p { line-height: 1.85; }
.page-id-8 .mayumi-home-about .wp-block-button__link,
.page-id-8 .mayumi-home-lesson .wp-block-button__link { border-radius: 0; border: 1px solid #941b2b; color: #941b2b; background: #fff !important; }
.page-id-8 .mayumi-home-lesson { position: relative; background: #fff; margin-block: 0; padding-top: 45px; }
.page-id-8 .mayumi-home-lesson::before { content: ""; position: absolute; inset: 0 0 auto; height: 45px; background: #faf8f5; clip-path: polygon(0 0,100% 0,0 100%); }
.page-id-8 .mayumi-home-lesson-inner { max-width: 1200px; margin-inline: auto; padding: 65px 40px 90px !important; }
.page-id-8 .mayumi-home-lesson-inner > h2,
.page-id-8 .mayumi-home-lesson-inner > p,
.page-id-8 .mayumi-home-lesson-inner > .wp-block-buttons { max-width: 52% !important; margin-left: auto !important; margin-right: 0 !important; }
.page-id-8 .mayumi-home-lesson-inner > .wp-block-columns { max-width: none; gap: 24px; margin-top: 28px; }
.page-id-8 .mayumi-home-lesson .wp-block-column { background: #faf8f5; border-top: 3px solid #941b2b; padding: 28px; }
.page-id-8 .mayumi-home-lesson h3 { font-size: 23px; line-height: 1.5; margin-top: 0; }
@media (max-width: 781px) {
  .page-id-8 .mayumi-home-hero { min-height: 660px; padding: 290px 20px 70px; clip-path: polygon(0 0,100% 0,100% 97%,0 100%); }
  .page-id-8 .mayumi-home-hero > .wp-block-column:first-child { flex-basis: 100% !important; max-width: none; }
  .page-id-8 .mayumi-home-hero > .wp-block-column:last-child { inset: 0 0 auto; height: 360px; }
  .page-id-8 .mayumi-home-hero::after { background: linear-gradient(0deg,#140709 42%,rgba(20,7,9,.7) 56%,rgba(20,7,9,.08) 100%); }
  .page-id-8 .mayumi-home-hero h1 { font-size: 34px !important; }
  .page-id-8 .mayumi-home-hero p { font-size: 17px !important; }
  .page-id-8 .mayumi-home-hero .wp-block-button__link { padding: 12px 18px; font-size: 16px; }
  .page-id-8 .mayumi-home-about::after { inset: 0 0 auto; height: 64px; clip-path: polygon(0 0,100% 0,100% 65%,0 100%); }
  .page-id-8 .mayumi-home-about-copy { padding: 100px 20px 50px !important; }
  .page-id-8 .mayumi-home-about-copy > *,
  .page-id-8 .mayumi-home-lesson-inner > h2,
  .page-id-8 .mayumi-home-lesson-inner > p,
  .page-id-8 .mayumi-home-lesson-inner > .wp-block-buttons { max-width: 100% !important; margin-inline: 0 !important; }
  .page-id-8 .mayumi-home-lesson { padding-top: 20px; }
  .page-id-8 .mayumi-home-lesson::before { height: 20px; }
  .page-id-8 .mayumi-home-lesson-inner { padding: 40px 20px 60px !important; }
  .page-id-8 .mayumi-home-lesson-inner > .wp-block-columns { flex-direction: column; gap: 20px; }
  .page-id-8 .mayumi-home-lesson .wp-block-column { padding: 24px; }
}
/* Constrain the absolute photo column independently of core flex sizing. */
.page-id-8 .mayumi-home-hero > .wp-block-column:last-child { width: 76%; height: 100%; }
@media (max-width: 781px) {
  .page-id-8 .mayumi-home-hero > .wp-block-column:last-child { width: 100%; height: 360px; }
}

/* TOP phase 1 refinement: one diagonal boundary and the approved ABOUT photo. */
.page-id-8 .mayumi-home-hero { z-index: 2; }
.page-id-8 .mayumi-home-about {
  z-index: 1;
  margin-top: -50px;
  padding-top: 50px;
  background: #fff !important;
}
.page-id-8 .mayumi-home-about::after { content: none; }
.page-id-8 .mayumi-home-about-photo {
  position: absolute;
  inset: 0 0 0 55%;
  width: 45%;
  height: 100%;
  margin: 0;
  max-width: none;
  clip-path: polygon(20% 0,100% 0,100% 100%,0 100%);
}
.page-id-8 .mayumi-home-about-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.page-id-8 .mayumi-home-lesson .wp-block-column {
  background: #fff;
  border-top-width: 2px;
  padding: 22px 12px 24px;
}
.page-id-8 .mayumi-home-lesson h3 { font-size: 23px; font-weight: 600; margin-bottom: 12px; }
.page-id-8 .mayumi-home-lesson .wp-block-column p { font-size: 18px; color: #444; margin-top: 0; line-height: 1.75; }
@media (max-width: 781px) {
  .page-id-8 .mayumi-home-about { margin-top: -24px; padding-top: 24px; }
  .page-id-8 .mayumi-home-about-copy { padding: 48px 20px 32px !important; }
  .page-id-8 .mayumi-home-about-photo {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    clip-path: polygon(0 3%,100% 0,100% 100%,0 100%);
  }
  .page-id-8 .mayumi-home-about-photo img { display: block; width: 100%; height: auto; }
  .page-id-8 .mayumi-home-lesson .wp-block-column { padding: 20px 4px; }
}

/* TOP latter sections: restrained light areas, stage accents and compact NEWS. */
.page-id-8 :is(.mayumi-home-life,.mayumi-home-info,.mayumi-home-rental,.mayumi-home-services,.mayumi-home-history,.mayumi-home-news,.mayumi-home-contact) {
  position: relative;
  margin-block: 0;
}
.page-id-8 :is(.mayumi-home-life,.mayumi-home-info,.mayumi-home-rental,.mayumi-home-services,.mayumi-home-history,.mayumi-home-news,.mayumi-home-contact) > .mayumi-home-inner {
  max-width: 1200px;
  margin-inline: auto;
  padding: 85px 40px !important;
  background: transparent !important;
}
.page-id-8 :is(.mayumi-home-life,.mayumi-home-info,.mayumi-home-rental,.mayumi-home-services,.mayumi-home-history,.mayumi-home-news,.mayumi-home-contact) h2 {
  font-weight: 500; line-height: 1.4; max-width: 100%;
}
.page-id-8 :is(.mayumi-home-life,.mayumi-home-info,.mayumi-home-rental,.mayumi-home-services,.mayumi-home-history,.mayumi-home-contact) p { line-height: 1.85; }
.page-id-8 :is(.mayumi-home-life,.mayumi-home-info,.mayumi-home-rental,.mayumi-home-services,.mayumi-home-history,.mayumi-home-contact) .wp-block-button__link { border-radius: 0; background: #941b2b !important; color: #fff; padding: 15px 25px; }
.page-id-8 .mayumi-home-life { background: #faf8f5; padding-top: 45px; }
.page-id-8 .mayumi-home-life::before { content: ""; position: absolute; inset: 0 0 auto; height: 45px; background: #fff; clip-path: polygon(0 0,100% 0,0 100%); }
.page-id-8 .mayumi-home-life .wp-block-columns { gap: 40px; margin-top: 35px; }
.page-id-8 .mayumi-home-life img { display: block; width: 100%; height: auto; }
.page-id-8 .mayumi-home-life h3 { color: #7a1f1f; font-size: 24px; line-height: 1.5; }
.page-id-8 .mayumi-home-info { background: #fff; }
.page-id-8 .mayumi-home-info .wp-block-columns { gap: 40px; margin-block: 40px; }
.page-id-8 .mayumi-home-info .wp-block-column { border-top: 2px solid #941b2b; padding-top: 22px; }
.page-id-8 .mayumi-home-info h3 { color: #7a1f1f; font-size: 24px; }
.page-id-8 .mayumi-home-rental { background: #faf8f5; }
.page-id-8 .mayumi-home-rental .wp-block-columns { gap: 60px; padding-block: 0 !important; align-items: center; flex-direction: row-reverse; }
.page-id-8 .mayumi-home-rental img { display: block; width: 100%; height: auto; }
.page-id-8 .mayumi-home-services { overflow: hidden; background: linear-gradient(110deg,#120b0d,#381019); color: #fff; padding-block: 35px; clip-path: polygon(0 3%,100% 0,100% 97%,0 100%); }
.page-id-8 .mayumi-home-services .wp-block-columns { gap: 40px; margin-block: 40px; }
.page-id-8 .mayumi-home-services h3 { font-size: 24px; color: #fff; line-height: 1.5; border-top: 2px solid #a32c3e; padding-top: 20px; }
.page-id-8 .mayumi-home-services p { color: #eee; }
.page-id-8 .mayumi-home-history { background: #fff; }
.page-id-8 .mayumi-home-history > .mayumi-home-inner { gap: 55px; align-items: center; }
.page-id-8 .mayumi-home-history > .mayumi-home-inner > .wp-block-column:first-child { flex-basis: 40% !important; }
.page-id-8 .mayumi-home-history > .mayumi-home-inner > .wp-block-column:last-child { flex-basis: 60% !important; }
.page-id-8 .mayumi-home-history h2 { border-left: 4px solid #941b2b; padding-left: 18px; }
.page-id-8 .mayumi-home-history img { display: block; width: 100%; height: auto; }
.page-id-8 .mayumi-home-news { background: #faf8f5; }
.page-id-8 .mayumi-home-news .wp-block-query { margin-inline: 0; }
.page-id-8 .mayumi-news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin-inline: 0; }
.page-id-8 .mayumi-news-grid > li { margin: 0; min-width: 0; }
.page-id-8 .mayumi-news-item { padding: 0; }
.page-id-8 .mayumi-news-thumb { margin: 0 0 20px; }
.page-id-8 .mayumi-news-thumb a { display: block; }
.page-id-8 .mayumi-news-thumb img { display: block; width: 100%; aspect-ratio: 16/10; height: auto; object-fit: cover; }
.page-id-8 .mayumi-news-no-image { display: grid; place-items: center; aspect-ratio: 16/10; background: #251116; color: #fff; letter-spacing: .2em; }
.page-id-8 .mayumi-news-item .wp-block-post-date { color: #686868; font-size: 14px; margin-top: 12px; }
.page-id-8 .mayumi-news-item .wp-block-post-terms { color: #941b2b; font-size: 13px; margin-top: 8px; }
.page-id-8 .mayumi-news-item .wp-block-post-title { font-size: 23px; line-height: 1.5; font-weight: 500; margin-top: 14px; }
.page-id-8 .mayumi-news-item .wp-block-post-title a { text-decoration: none; }
.page-id-8 .mayumi-news-item .wp-block-post-excerpt { font-size: 16px; line-height: 1.7; }
.page-id-8 .mayumi-home-news .wp-block-buttons { margin-top: 36px; }
.page-id-8 .mayumi-home-news .wp-block-button__link { border-radius: 0; color: #fff; background: #941b2b !important; }
.page-id-8 .mayumi-home-contact { background: #170a0e; color: #fff; padding-bottom: 30px; clip-path: polygon(0 0,100% 0,100% 97%,0 100%); }
.page-id-8 .mayumi-home-contact .wp-block-columns { gap: 24px; margin-top: 32px; }
.page-id-8 .mayumi-home-contact .wp-block-button__link { border: 1px solid #fff; }
.page-id-8 .mayumi-home-contact .wp-block-columns > .wp-block-column:last-child .wp-block-button__link { background: transparent !important; }
@media (max-width: 781px) {
  .page-id-8 :is(.mayumi-home-life,.mayumi-home-info,.mayumi-home-rental,.mayumi-home-services,.mayumi-home-history,.mayumi-home-news,.mayumi-home-contact) > .mayumi-home-inner { padding: 55px 20px !important; }
  .page-id-8 :is(.mayumi-home-life,.mayumi-home-info,.mayumi-home-rental,.mayumi-home-services,.mayumi-home-history,.mayumi-home-contact) .wp-block-columns { flex-direction: column; gap: 30px; }
  .page-id-8 .mayumi-home-life { padding-top: 20px; }
  .page-id-8 .mayumi-home-life::before { height: 20px; }
  .page-id-8 .mayumi-home-services { padding-block: 15px; clip-path: polygon(0 1%,100% 0,100% 99%,0 100%); }
  .page-id-8 .mayumi-home-history > .mayumi-home-inner { flex-direction: column; gap: 30px; }
  .page-id-8 .mayumi-news-grid { grid-template-columns: minmax(0,1fr); gap: 38px; }
  .page-id-8 .mayumi-home-contact .wp-block-button,
  .page-id-8 .mayumi-home-contact .wp-block-buttons { width: 100%; }
  .page-id-8 .mayumi-home-contact .wp-block-button__link { display: block; text-align: center; }
  .page-id-8 .mayumi-home-contact { clip-path: polygon(0 0,100% 0,100% 99%,0 100%); }
}

/* TOP finishing: stage imagery and a dark, uninterrupted footer transition. */
.page-id-8 .mayumi-home-services > .mayumi-home-inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  column-gap: 48px;
  row-gap: 24px;
}
.page-id-8 .mayumi-home-services > .mayumi-home-inner > h2 { grid-column: 1; grid-row: 1; margin: 0; }
.page-id-8 .mayumi-home-services > .mayumi-home-inner > p { grid-column: 1; grid-row: 2; margin: 0; }
.page-id-8 .mayumi-home-services-photo {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: stretch;
  width: 100%;
  margin: 0;
  overflow: hidden;
}
.page-id-8 .mayumi-home-services-photo img { display: block; width: 100%; height: 100%; min-height: 280px; object-fit: cover; object-position: center; }
.page-id-8 .mayumi-home-services > .mayumi-home-inner > .wp-block-columns { grid-column: 1 / -1; grid-row: 3; margin-block: 16px 8px; }
.page-id-8 .mayumi-home-services > .mayumi-home-inner > .wp-block-buttons { grid-column: 1 / -1; grid-row: 4; margin-top: 0; }
.page-id-8 .mayumi-home-contact { clip-path: none; }
.page-id-8 .mayumi-home-contact::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 28px;
  background: #381019;
  clip-path: polygon(0 90%,100% 0,100% 100%,0 100%);
  pointer-events: none;
}
.page-id-8 main > .wp-block-post-content + footer.wp-block-template-part { margin-top: 0; }
@media (max-width: 781px) {
  .page-id-8 .mayumi-home-services > .mayumi-home-inner { grid-template-columns: minmax(0,1fr); row-gap: 26px; }
  .page-id-8 .mayumi-home-services-photo { grid-column: 1; grid-row: 1; }
  .page-id-8 .mayumi-home-services-photo img { height: auto; min-height: 0; }
  .page-id-8 .mayumi-home-services > .mayumi-home-inner > h2 { grid-row: 2; }
  .page-id-8 .mayumi-home-services > .mayumi-home-inner > p { grid-row: 3; }
  .page-id-8 .mayumi-home-services > .mayumi-home-inner > .wp-block-columns { grid-row: 4; }
  .page-id-8 .mayumi-home-services > .mayumi-home-inner > .wp-block-buttons { grid-row: 5; }
  .page-id-8 .mayumi-home-contact::after { height: 14px; }
}

/* TOP services: prevent vertical flex items from wrapping off-screen. */
@media (max-width: 781px) {
  .page-id-8 .mayumi-home-services > .mayumi-home-inner > .wp-block-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }
}

/* Shared header: one home link for the logo and Japanese studio name. */
.mayumi-site-header { background: #fff; }
.mayumi-site-header .mayumi-header-brand {
  display: flex; align-items: center; gap: 10px; flex: 0 0 auto;
  color: #211b1b; text-decoration: none;
}
.mayumi-site-header .mayumi-header-brand img { display: block; width: 110px; height: auto; flex: 0 0 auto; }
.mayumi-site-header .mayumi-header-name { font-size: 18px; font-weight: 500; line-height: 1.4; white-space: nowrap; }
.mayumi-site-header .alignwide { padding-top: 10px !important; padding-bottom: 10px !important; }
@media (max-width: 600px) {
  .mayumi-site-header .mayumi-header-brand { gap: 8px; }
  .mayumi-site-header .mayumi-header-brand img { width: 60px; }
  .mayumi-site-header .mayumi-header-name { font-size: 16px; }
}

/* TOP LESSON: completed single visual, mirrored against ABOUT. */
.page-id-8 .mayumi-home-lesson-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 48px;
  row-gap: 24px;
}
.page-id-8 .mayumi-home-lesson-inner > .mayumi-lesson-visual {
  grid-column: 1; grid-row: 1 / 3;
  display: block; align-self: center;
  width: 100%; max-width: none; margin: 0;
  clip-path: polygon(0 0, 97% 0, 100% 100%, 0 100%);
}
.page-id-8 .mayumi-lesson-visual img { display: block; width: 100%; height: auto; }
.page-id-8 .mayumi-home-lesson-inner > h2 { grid-column: 2; grid-row: 1; width: auto; margin: 0 !important; align-self: end; }
.page-id-8 .mayumi-home-lesson-inner > p { grid-column: 2; grid-row: 2; max-width: none; width: auto; margin: 0 !important; }
.page-id-8 .mayumi-home-lesson-inner > .wp-block-columns { grid-column: 1 / -1; }
.page-id-8 .mayumi-home-lesson-inner > .wp-block-buttons { grid-column: 2; margin: 0 !important; }
@media (max-width: 781px) {
  .page-id-8 .mayumi-home-lesson-inner { grid-template-columns: minmax(0, 1fr); row-gap: 26px; }
  .page-id-8 .mayumi-home-lesson-inner > .mayumi-lesson-visual { grid-column: 1; grid-row: 3; clip-path: polygon(0 0, 100% 0, 100% 99%, 0 100%); }
  .page-id-8 .mayumi-home-lesson-inner > h2 { grid-column: 1; grid-row: 1; }
  .page-id-8 .mayumi-home-lesson-inner > p { grid-column: 1; grid-row: 2; }
  .page-id-8 .mayumi-home-lesson-inner > .wp-block-buttons { grid-column: 1; }
}
.page-id-8 .mayumi-home-lesson-inner > h2,
.page-id-8 .mayumi-home-lesson-inner > p { max-width: none !important; }
@media (max-width: 781px) {
  .page-id-8 .mayumi-home-lesson-inner > .wp-block-columns {
    display: grid; grid-template-columns: minmax(0, 1fr);
    margin-top: 0;
  }
}

/* TOP LESSON: desktop edge-to-edge visual; retain the existing copy column. */
@media (min-width: 782px) {
  .page-id-8 .mayumi-home-lesson { padding-top: 0; }
  .page-id-8 .mayumi-home-lesson-inner {
    padding-top: 5px !important;
  }
  .page-id-8 .mayumi-home-lesson-inner > .mayumi-lesson-visual {
    margin-left: calc((min(100vw, 1200px) - 100vw) / 2 - 40px) !important;
    width: calc(100% + (100vw - min(100vw, 1200px)) / 2 + 40px);
    clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
  }
}

/* TOP LESSON: let both card rows use the full available grid track. */
.page-id-8 .mayumi-home-lesson-inner > .wp-block-columns {
  width: 100%;
  min-width: 0;
  margin-inline: 0 !important;
}
@media (max-width: 781px) {
  .page-id-8 .mayumi-home-lesson-inner > .wp-block-columns > .wp-block-column {
    padding-inline: 0;
  }
}

/* TOP mobile rhythm: role-based type and spacing; HERO and NEWS retain their own scale. */
@media (max-width: 781px) {
  .page-id-8 :is(.mayumi-home-about,.mayumi-home-lesson,.mayumi-home-life,.mayumi-home-info,.mayumi-home-rental,.mayumi-home-services,.mayumi-home-history,.mayumi-home-contact) {
    --mayumi-mobile-heading: 28px;
    --mayumi-mobile-card: 21px;
    --mayumi-mobile-body: 16.5px;
  }
  .page-id-8 :is(.mayumi-home-about,.mayumi-home-lesson,.mayumi-home-life,.mayumi-home-info,.mayumi-home-rental,.mayumi-home-services,.mayumi-home-history,.mayumi-home-contact) h2 {
    font-size: var(--mayumi-mobile-heading);
    line-height: 1.35;
    letter-spacing: 0;
    box-sizing: border-box;
  }
  .page-id-8 :is(.mayumi-home-lesson,.mayumi-home-life,.mayumi-home-info,.mayumi-home-services) h3 {
    font-size: var(--mayumi-mobile-card);
    line-height: 1.45;
    letter-spacing: 0;
    margin-bottom: 12px;
  }
  .page-id-8 :is(.mayumi-home-about,.mayumi-home-lesson,.mayumi-home-life,.mayumi-home-info,.mayumi-home-rental,.mayumi-home-services,.mayumi-home-history,.mayumi-home-contact) p {
    font-size: var(--mayumi-mobile-body);
    line-height: 1.8;
    letter-spacing: 0;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    margin-inline: 0 !important;
    margin-top: 14px;
  }
  .page-id-8 :is(.mayumi-home-info,.mayumi-home-rental,.mayumi-home-services,.mayumi-home-history,.mayumi-home-contact) > .mayumi-home-inner {
    padding: 44px 20px !important;
  }
  .page-id-8 .mayumi-home-lesson-inner { padding-bottom: 48px !important; }
  .page-id-8 .mayumi-home-lesson .wp-block-column p {
    font-size: var(--mayumi-mobile-body);
    line-height: 1.8;
  }
  .page-id-8 .mayumi-home-history { padding-inline: 0 !important; }
  .page-id-8 .mayumi-home-history > .mayumi-home-inner {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    margin-inline: 0 !important;
  }
  .page-id-8 .mayumi-home-life > .mayumi-home-inner { padding-block: 40px !important; }
  .page-id-8 .mayumi-home-life > .mayumi-home-inner > .wp-block-columns { margin-top: 24px; }
  .page-id-8 :is(.mayumi-home-life,.mayumi-home-info,.mayumi-home-rental,.mayumi-home-services,.mayumi-home-contact) .wp-block-columns {
    width: 100%;
    min-width: 0;
    max-width: none;
    margin-inline: 0 !important;
    gap: 24px;
  }
  .page-id-8 .mayumi-home-info .wp-block-columns { margin-block: 24px; }
  .page-id-8 .mayumi-home-info .wp-block-column { padding-top: 18px; }
  .page-id-8 .mayumi-home-services h3 { padding-top: 18px; }
  .page-id-8 .mayumi-home-services > .mayumi-home-inner { row-gap: 24px; }
  .page-id-8 .mayumi-home-history > .mayumi-home-inner > .wp-block-column {
    width: 100%;
    min-width: 0;
    max-width: none;
    flex-basis: auto !important;
    padding-inline: 0;
    box-sizing: border-box;
    margin-inline: 0 !important;
  }
  .page-id-8 .mayumi-home-rental .wp-block-buttons,
  .page-id-8 .mayumi-home-history .wp-block-buttons { margin-top: 24px; }
  .page-id-8 .mayumi-home-contact .wp-block-columns { margin-top: 24px; }
  .page-id-8 :is(.mayumi-home-about,.mayumi-home-lesson,.mayumi-home-life,.mayumi-home-info,.mayumi-home-rental,.mayumi-home-services,.mayumi-home-history,.mayumi-home-contact) .wp-block-button__link {
    font-size: 16px;
    line-height: 1.5;
    min-height: 44px;
    padding: 12px 20px;
    box-sizing: border-box;
    max-width: 100%;
  }
}

/* TOP desktop alignment: retain wide columns and left-align readable copy. */
@media (min-width: 782px) {
  .page-id-8 :is(.mayumi-home-life,.mayumi-home-info,.mayumi-home-news,.mayumi-home-contact) > .mayumi-home-inner > p {
    max-width: none;
    margin-inline: 0 !important;
  }
  .page-id-8 .mayumi-home-lesson-inner > .wp-block-columns > .wp-block-column {
    padding-inline: 0;
  }
  .page-id-8 .mayumi-home-services > .mayumi-home-inner > :is(h2,.wp-block-buttons) {
    width: 100%;
    min-width: 0;
    margin-inline: 0 !important;
  }
  .page-id-8 .mayumi-home-history {
    padding-inline: 0;
  }
}

/* TOP mobile paragraphs: use normal wrapping without Safari's pretty reflow. */
@media (max-width: 781px) {
  .page-id-8 .wp-block-post-content p {
    text-wrap: wrap;
  }
}

/* Lesson standard, phase 1: typography, mobile gutters and desktop copy alignment. */
@media (max-width: 781px) {
  body.page-id-11 .wp-block-post-content {
    --wp--style--root--padding-left: 20px;
    --wp--style--root--padding-right: 20px;
  }
  body.page-id-11 .wp-block-post-content.alignfull {
    margin-inline: calc(-1 * var(--wp--preset--spacing--50));
  }
  .page-id-11 main .wp-block-post-title {
    width: calc(100vw - 40px);
    max-width: none;
    margin-inline: calc(20px - var(--wp--style--root--padding-left)) !important;
  }
  .page-id-11 .wp-block-post-content p {
    font-size: 16.5px;
    line-height: 1.8;
    text-wrap: wrap;
  }
  .page-id-11 .wp-block-post-content h2 {
    font-size: 28px;
    line-height: 1.35;
  }
  .page-id-11 .wp-block-post-content h3 {
    font-size: 21px;
    line-height: 1.45;
  }
}
@media (min-width: 782px) {
  .page-id-11 .wp-block-post-content > .wp-block-group > .wp-block-group > :is(h2,h3,p) {
    margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important;
    margin-right: 0 !important;
  }
  .page-id-11 .wp-block-post-content > .wp-block-group > .wp-block-group > h2 {
    max-width: var(--wp--style--global--wide-size);
  }
  .page-id-11 .wp-block-post-content > .wp-block-group > .wp-block-group > p {
    max-width: var(--wp--style--global--content-size);
  }
}

/* Lesson desktop: wide single-column copy; preserve the text/image columns section. */
@media (min-width: 782px) {
  .page-id-11 .wp-block-post-content > p {
    max-width: var(--wp--style--global--wide-size);
  }
  .page-id-11 .wp-block-post-content > .wp-block-group > .wp-block-group:not(:has(> .wp-block-columns .wp-block-image)) > p {
    max-width: var(--wp--style--global--wide-size);
  }
}

/* Lesson H3: restrained accent using the existing studio red. */
.page-id-11 .wp-block-post-content h3 {
  box-sizing: border-box;
  border-left: 3px solid #941b2b;
  padding-left: 12px;
}

/* Lesson standard, phase 2: section rhythm, photographs and restrained CTAs. */
.page-id-11 .wp-block-post-content > .wp-block-group {
  margin-block: 0;
  background-color: #fff;
}
.page-id-11 .wp-block-post-content > .wp-block-group:has(> .wp-block-group.has-background) {
  background-color: #f7f5f3 !important;
}
.page-id-11 .wp-block-post-content > .wp-block-group > .wp-block-group {
  background-color: transparent !important;
  padding-block: 52px !important;
}
.page-id-11 .wp-block-post-content .wp-block-button {
  max-width: 100%;
}
.page-id-11 .wp-block-post-content .wp-block-button__link {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 44px;
  border-radius: 0;
  padding: 13px 22px;
  font-size: 17px;
  line-height: 1.5;
  background-color: #941b2b;
  color: #fff;
  white-space: normal;
  text-wrap: wrap;
}
.page-id-11 .wp-block-post-content .wp-block-button__link:hover,
.page-id-11 .wp-block-post-content .wp-block-button__link:focus-visible {
  background-color: #761522;
  color: #fff;
}
@media (min-width: 782px) {
  .page-id-11 .wp-block-post-content > .wp-block-group > .wp-block-group > figure.wp-block-image {
    max-width: 1080px;
    margin-inline: auto !important;
  }
}
@media (max-width: 781px) {
  .page-id-11 .wp-block-post-content > .wp-block-group > .wp-block-group {
    padding-block: 42px !important;
  }
  .page-id-11 .wp-block-post-content .wp-block-button__link {
    padding: 12px 20px;
    font-size: 16px;
  }
}

/* Lesson desktop H3: add a small pause without changing mobile spacing. */
@media (min-width: 782px) {
  .page-id-11 .wp-block-post-content h3 {
    margin-top: 8px;
  }
  .page-id-11 .wp-block-post-content > .wp-block-group > .wp-block-group > h3 {
    margin-top: calc(var(--wp--style--block-gap) + 8px);
  }
}

/* Studio introduction, phase 1: mobile reading and restrained H3 accents. */
.page-id-17 .wp-block-post-content h3 {
  box-sizing: border-box;
  border-left: 3px solid #941b2b;
  padding-left: 12px;
}
@media (max-width: 781px) {
  body.page-id-17 .wp-block-post-content {
    --wp--style--root--padding-left: 20px;
    --wp--style--root--padding-right: 20px;
  }
  body.page-id-17 .wp-block-post-content.alignfull {
    margin-inline: calc(-1 * var(--wp--preset--spacing--50));
  }
  .page-id-17 main .wp-block-post-title {
    width: calc(100vw - 40px);
    max-width: none;
    margin-inline: calc(20px - var(--wp--style--root--padding-left)) !important;
  }
  .page-id-17 .wp-block-post-content p {
    font-size: 16.5px;
    line-height: 1.8;
    text-wrap: wrap;
  }
  .page-id-17 .wp-block-post-content h2 {
    font-size: 28px;
    line-height: 1.35;
  }
  .page-id-17 .wp-block-post-content h3 {
    font-size: 21px;
    line-height: 1.45;
  }
}
@media (min-width: 782px) {
  .page-id-17 .wp-block-post-content > h3 {
    margin-top: calc(var(--wp--style--block-gap) + 8px);
  }
}

/* Studio introduction: a restrained desktop pause between chapters. */
@media (min-width: 782px) {
  .page-id-17 .wp-block-post-content > h2 {
    margin-top: calc(var(--wp--style--block-gap) + 14px);
  }
}

/* Studio introduction: three quiet, full-width emphasis chapters. */
.page-id-17 .wp-block-post-content > .mayumi-about-emphasis {
  background-color: #f7f5f3;
  padding-block: 36px;
  margin-block: 33.2px;
}
.page-id-17 .mayumi-about-emphasis > h2 {
  margin-top: 0;
}
@media (max-width: 781px) {
  .page-id-17 .wp-block-post-content > .mayumi-about-emphasis {
    padding-block: 32px;
    margin-block: 19.2px;
  }
}

/* Studio introduction: join the closing chapters and footer without white bands. */
.page-id-17 .wp-block-post-content > .mayumi-about-ny {
  background-color: #f3eeee;
  margin-bottom: 0;
}
.page-id-17 .wp-block-post-content > .mayumi-about-closing {
  margin-block: 0;
}
.page-id-17 main > .wp-block-group:has(> .wp-block-post-content) {
  padding-bottom: 0 !important;
}
.page-id-17 main + footer.wp-block-template-part {
  margin-top: 0;
}
.page-id-17 .mayumi-about-text-cta a {
  color: #941b2b;
  text-decoration: underline;
  text-underline-offset: 0.25em;
  text-decoration-thickness: 1px;
}
.page-id-17 .mayumi-about-text-cta a:hover,
.page-id-17 .mayumi-about-text-cta a:focus-visible {
  color: #761522;
  text-decoration-thickness: 2px;
}
.page-id-17 .mayumi-about-text-cta a:focus-visible {
  outline: 2px solid #941b2b;
  outline-offset: 4px;
}

.page-id-13 .wp-block-post-content h3 {
  box-sizing: border-box;
  border-left: 3px solid #941b2b;
  padding-left: 12px;
}
@media (max-width: 781px) {
  body.page-id-13 .wp-block-post-content {
    --wp--style--root--padding-left: 20px;
    --wp--style--root--padding-right: 20px;
  }
  body.page-id-13 .wp-block-post-content.alignfull {
    margin-inline: calc(-1 * var(--wp--preset--spacing--50));
  }
  .page-id-13 main .wp-block-post-title {
    width: calc(100vw - 40px);
    max-width: none;
    margin-inline: calc(20px - var(--wp--style--root--padding-left)) !important;
  }
  .page-id-13 .wp-block-post-content p {
    font-size: 16.5px;
    line-height: 1.8;
    text-wrap: wrap;
  }
  .page-id-13 .wp-block-post-content h2 {
    font-size: 28px;
    line-height: 1.35;
  }
  .page-id-13 .wp-block-post-content h3 {
    font-size: 21px;
    line-height: 1.45;
  }
}

/* ID13 fees: restrained section rhythm and accessible table headers. */
.page-id-13 .mayumi-fees > .wp-block-group { margin-top: 36px; }
.page-id-13 .mayumi-fees h3 { margin-bottom: 16px; }
.page-id-13 .mayumi-fee-table table { border-collapse: collapse; width: 100%; }
.page-id-13 .mayumi-fee-table :is(th,td) {
  border: 1px solid #ddd5d1;
  padding: 12px 14px;
  text-align: left;
  vertical-align: top;
  line-height: 1.6;
}
.page-id-13 .mayumi-fee-table thead th { background: #f7f5f3; color: #65131f; font-weight: 600; }
.page-id-13 .mayumi-fee-table tbody th { font-weight: 500; }
.page-id-13 .mayumi-fee-table tbody td { font-variant-numeric: tabular-nums; }
.page-id-13 .mayumi-fee-scroll { max-width: 100%; overflow-x: auto; }
.page-id-13 .mayumi-fee-scroll:focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }
.page-id-13 .mayumi-fee-scroll > figure { margin: 0; }
.page-id-13 .mayumi-fees .mayumi-fee-scroll-hint { display: none; }
@media (max-width: 781px) {
  .page-id-13 .mayumi-fee-table :is(th,td) { padding: 10px 8px; font-size: 16px; }
  .page-id-13 .mayumi-fee-table-fusion table { min-width: 580px; }
  .page-id-13 .mayumi-fees .mayumi-fee-scroll-hint { display: block; margin-bottom: 8px; font-size: 14px; }
}

/* Fee explanation labels only; table headers and amounts retain their styles. */
.page-id-13 .mayumi-fees p .mayumi-fee-label { font-weight: 500; }

/* ID13: three full-width background bands, preserving the existing content width. */
.page-id-13 .wp-block-post-content > .mayumi-info-section {
  position: relative;
  isolation: isolate;
  padding-block: 52px;
  margin-block: 0;
  background-color: #fff;
}
.page-id-13 .mayumi-info-section::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background-color: inherit;
  z-index: -1;
  pointer-events: none;
}
.page-id-13 .mayumi-info-section > h2:first-child { margin-top: 0; }
@media (max-width: 781px) {
  .page-id-13 .wp-block-post-content > .mayumi-info-section { padding-block: 42px; }
}

/* Rental page: readable single-column subpage standard. */
.page-id-15 .mayumi-rental-content > h2 { margin-top: 52px; }
.page-id-15 .mayumi-rental-content > h2:first-child { margin-top: 0; }
.page-id-15 .mayumi-rental-content .mayumi-rental-label { font-weight: 500; }
.page-id-15 .mayumi-rental-cta { margin-top: 28px; }
.page-id-15 .mayumi-rental-cta .wp-block-button__link {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 44px;
  padding: 14px 24px;
  border-radius: 0;
  background: #941b2b;
  color: #fff;
  font-size: 17px;
  line-height: 1.5;
  text-decoration: none;
}
.page-id-15 .mayumi-rental-cta .wp-block-button__link:hover { background: #761522; }
.page-id-15 .mayumi-rental-cta .wp-block-button__link:focus-visible {
  background: #761522;
  outline: 2px solid #941b2b;
  outline-offset: 3px;
}
.page-id-15 .wp-block-post-content h3 { border-left: 3px solid #941b2b; padding-left: 12px; box-sizing: border-box; }
@media (max-width: 781px) {
  body.page-id-15 .wp-block-post-content {
    --wp--style--root--padding-left: 20px;
    --wp--style--root--padding-right: 20px;
  }
  body.page-id-15 .wp-block-post-content.alignfull { margin-inline: calc(-1 * var(--wp--preset--spacing--50)); }
  .page-id-15 main .wp-block-post-title {
    width: calc(100vw - 40px);
    max-width: none;
    margin-inline: calc(20px - var(--wp--style--root--padding-left)) !important;
  }
  .page-id-15 .wp-block-post-content p { font-size: 16.5px; line-height: 1.8; text-wrap: wrap; }
  .page-id-15 .wp-block-post-content h2 { font-size: 28px; line-height: 1.35; }
  .page-id-15 .wp-block-post-content h3 { font-size: 21px; line-height: 1.45; }
  .page-id-15 .mayumi-rental-content > h2 { margin-top: 42px; }
  .page-id-15 .mayumi-rental-content > h2:first-child { margin-top: 0; }
  .page-id-15 .mayumi-rental-cta .wp-block-button__link { font-size: 16px; }
}

/* NEWS list: date-first text rows and accessible standard pagination. */
.page-id-21 .wp-block-post-content .wp-block-post-template > li {
  margin-block: 0;
  padding-block: 24px;
  border-bottom: 1px solid #e5ddda;
}
.page-id-21 .wp-block-post-content .wp-block-post-template > li:first-child { padding-top: 0; }
.page-id-21 .wp-block-post-content .wp-block-post-date { margin: 0; font-size: 14px; line-height: 1.5; color: #686868; }
.page-id-21 .wp-block-post-content .wp-block-post-title { margin: 8px 0 0; font-size: 24px; line-height: 1.5; }
.page-id-21 .wp-block-post-template .wp-block-post-title a { text-decoration: none; }
.page-id-21 .wp-block-post-template .wp-block-post-title a:hover { color: #941b2b; text-decoration: underline; text-underline-offset: 4px; }
.page-id-21 .wp-block-post-template .wp-block-post-title a:focus-visible,
.page-id-21 .wp-block-query-pagination a:focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }
.page-id-21 .wp-block-query-pagination { gap: 8px; margin-top: 28px; flex-wrap: wrap; }
.page-id-21 .wp-block-query-pagination-numbers { display: flex; flex-wrap: wrap; gap: 4px; }
.page-id-21 .wp-block-query-pagination :is(.page-numbers,.wp-block-query-pagination-previous,.wp-block-query-pagination-next) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 8px;
  font-size: 16px;
  line-height: 1.5;
  color: #941b2b;
}
.page-id-21 .wp-block-query-pagination .current { font-weight: 500; color: #111; border-bottom: 2px solid #941b2b; }
.page-id-21 .wp-block-query-pagination a:hover { color: #761522; text-decoration-thickness: 2px; }
@media (max-width: 781px) {
  body.page-id-21 .wp-block-post-content { --wp--style--root--padding-left: 20px; --wp--style--root--padding-right: 20px; }
  body.page-id-21 .wp-block-post-content.alignfull { margin-inline: calc(-1 * var(--wp--preset--spacing--50)); }
  .page-id-21 main > .wp-block-group > .wp-block-post-title {
    width: calc(100vw - 40px);
    max-width: none;
    margin-inline: calc(20px - var(--wp--style--root--padding-left)) !important;
  }
  .page-id-21 .wp-block-post-template .wp-block-post-title { font-size: 22px; line-height: 1.5; text-wrap: wrap; }
}

/* NEWS archive: the same restrained date/title language as the NEWS list. */
.mayumi-news-archive-page .mayumi-news-archive-list { list-style: none; padding: 0; margin: 0; }
.mayumi-news-archive-page .mayumi-news-archive-year > h2 { margin: 64px 0 24px; border-left: 3px solid #941b2b; padding-left: 12px; font-weight: 600; }
.mayumi-news-archive-page .mayumi-news-archive-year:first-child > h2 { margin-top: 0; }
.mayumi-news-archive-page .mayumi-news-archive-item { padding: 24px 0; border-bottom: 1px solid #e5ddda; }
.mayumi-news-archive-page .mayumi-news-archive-item time { display: block; color: #686868; font-size: 14px; line-height: 1.5; }
.mayumi-news-archive-page .mayumi-news-archive-item a { display: block; margin-top: 8px; font-size: 24px; line-height: 1.5; text-decoration: none; }
.mayumi-news-archive-page .mayumi-news-archive-item a:hover { color: #941b2b; text-decoration: underline; text-underline-offset: 4px; }
.mayumi-news-archive-page .mayumi-news-archive-item a:focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }
@media (max-width: 781px) {
  body.mayumi-news-archive-page .wp-block-post-content { --wp--style--root--padding-left: 20px; --wp--style--root--padding-right: 20px; }
  body.mayumi-news-archive-page .wp-block-post-content.alignfull { margin-inline: calc(-1 * var(--wp--preset--spacing--50)); }
  .mayumi-news-archive-page main > .wp-block-group > .wp-block-post-title { width: calc(100vw - 40px); max-width: none; margin-inline: calc(20px - var(--wp--style--root--padding-left)) !important; }
  .mayumi-news-archive-page .wp-block-post-content p { font-size: 16.5px; line-height: 1.8; text-wrap: wrap; }
  .mayumi-news-archive-page .mayumi-news-archive-year > h2 { font-size: 28px; line-height: 1.35; margin-top: 52px; }
  .mayumi-news-archive-page .mayumi-news-archive-year:first-child > h2 { margin-top: 0; }
  .mayumi-news-archive-page .mayumi-news-archive-item a { font-size: 22px; text-wrap: wrap; }
}

/* NEWS list: quiet, accessible archive link after pagination. */
.page-id-21 .mayumi-news-archive-link { margin-top: 28px; }
.page-id-21 .mayumi-news-archive-link a {
  display: inline-flex; align-items: center; min-height: 44px;
  font-size: 16px; line-height: 1.5; color: #941b2b;
  text-decoration: underline; text-underline-offset: 4px;
}
.page-id-21 .mayumi-news-archive-link a:hover { color: #761522; text-decoration-thickness: 2px; }
.page-id-21 .mayumi-news-archive-link a:focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }

/* Normalized NEWS trial articles only. */
:is(.postid-6390,.postid-6391,.postid-6392,.postid-6393) .wp-block-post-content .wp-block-gallery.has-nested-images { display:flex; flex-wrap:wrap; gap:16px; }
:is(.postid-6390,.postid-6393) .wp-block-post-content .wp-block-gallery.has-nested-images > .wp-block-image { width:calc(50% - 8px); margin:0; flex-grow:0; align-self:flex-start; }
:is(.postid-6390,.postid-6393) .wp-block-post-content .wp-block-gallery.has-nested-images img { width:100%; height:auto; object-fit:contain; }
.postid-6391 .wp-block-post-content .mayumi-news-embed { display:block; width:100%; max-width:100%; height:auto; aspect-ratio:16 / 9; border:0; }
.postid-6391 .wp-block-post-content .mayumi-news-caption { width:100%; max-width:100%; margin-inline:0; }
.postid-6391 .wp-block-post-content .mayumi-news-caption img { max-width:100%; height:auto; }
.postid-6392 .wp-block-post-content .wp-video { width:100%; max-width:min(100%, 800px); }
.postid-6392 .wp-block-post-content .mayumi-news-video { display:block; width:100%; max-width:100%; height:auto; }
@media (max-width:781px) {
  :is(.postid-6390,.postid-6393) .wp-block-post-content .wp-block-gallery.has-nested-images > .wp-block-image { width:100%; }
}

/* Normalized legacy NEWS drafts: shared rules confined to migrated content. */
.wp-block-post-content > .mayumi-migrated-news { max-width:800px; margin-inline:auto; min-width:0; }
.mayumi-migrated-news { overflow-wrap:anywhere; }
.mayumi-migrated-news :is(figure,div,p,h2,h3,blockquote,ul,ol) { min-width:0; max-width:100%; box-sizing:border-box; }
.mayumi-migrated-news img { max-width:100%; height:auto; }
.mayumi-migrated-news .wp-block-gallery.has-nested-images { display:flex; flex-wrap:wrap; gap:16px; }
.mayumi-migrated-news .wp-block-gallery.has-nested-images > .wp-block-image { width:calc(50% - 8px); margin:0; flex-grow:0; align-self:flex-start; }
.mayumi-migrated-news .wp-block-gallery.has-nested-images img { width:100%; height:auto; object-fit:contain; }
.mayumi-migrated-news :is(.wp-caption,.wp-block-image) { max-width:100%; }
.mayumi-migrated-news .mayumi-migrated-embed { display:block; width:100%; max-width:100%; height:auto; aspect-ratio:16 / 9; border:0; }
.mayumi-migrated-news .mayumi-migrated-map { display:block; width:100%; max-width:100%; height:450px; border:0; }
.mayumi-migrated-news .wp-video { width:100%; max-width:100%; }
.mayumi-migrated-news .mayumi-migrated-video { display:block; width:100%; max-width:100%; height:auto; }
.mayumi-migrated-news h2 { font-size:28px; line-height:1.35; }
.mayumi-migrated-news h3 { font-size:21px; line-height:1.45; }
@media (max-width:781px) {
  .mayumi-migrated-news .wp-block-gallery.has-nested-images > .wp-block-image { width:100%; }
  .mayumi-migrated-news p { font-size:16.5px; line-height:1.8; text-wrap:wrap; }
  .mayumi-migrated-news .mayumi-migrated-map { height:300px; }
}

/* NEWS singles: quiet date and return link; preserve galleries and post navigation. */
.mayumi-news-single .mayumi-news-published {
  font-size: 14px;
  line-height: 1.5;
  color: #686868;
  margin-top: 12px;
  margin-bottom: 24px;
}
.mayumi-news-single .mayumi-news-return { max-width: 800px; margin: 28px auto 0; }
.mayumi-news-single .mayumi-news-return a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  box-sizing: border-box;
  padding-block: 8px;
  font-size: 16px;
  line-height: 1.5;
  color: #941b2b;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.mayumi-news-single .mayumi-news-return a:hover { color: #761522; text-decoration-thickness: 2px; }
.mayumi-news-single .mayumi-news-return a:focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }
@media (max-width: 781px) {
  body.mayumi-news-single {
    --wp--style--root--padding-left: 20px;
    --wp--style--root--padding-right: 20px;
  }
  .mayumi-news-single .wp-block-post-content p { font-size: 16.5px; line-height: 1.8; text-wrap: wrap; }
}

/* Archive page: quiet return to the current NEWS list. */
.page-id-6364 .mayumi-news-latest-link { margin-top: 28px; }
.page-id-6364 .mayumi-news-latest-link a {
  display: inline-flex; align-items: center; min-height: 44px;
  font-size: 16px; line-height: 1.5; color: #941b2b;
  text-decoration: underline; text-underline-offset: 4px;
}
.page-id-6364 .mayumi-news-latest-link a:hover { color: #761522; text-decoration-thickness: 2px; }
.page-id-6364 .mayumi-news-latest-link a:focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }

/* Each archive year: a secondary text link back to current NEWS. */
.page-id-6364 .mayumi-news-year-return { margin: 16px 0 0; }
.page-id-6364 .mayumi-news-year-return a {
  display: inline-flex; align-items: center; min-height: 44px;
  font-size: 15px; font-weight: 400; line-height: 1.5; color: #941b2b;
  text-decoration: underline; text-underline-offset: 4px;
}
.page-id-6364 .mayumi-news-year-return a:hover { color: #761522; text-decoration-thickness: 2px; }
.page-id-6364 .mayumi-news-year-return a:focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }

/* Contact: scoped form controls and lower-page reading standard. */

.page-id-19 .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
  box-sizing: border-box; width: 100%; max-width: 100%; min-height: 44px;
  padding: 10px 12px; border: 1px solid #777; border-radius: 2px;
  font-family: inherit; font-size: 16px; line-height: 1.5; color: #111; background: #fff;
}
.page-id-19 .wpcf7 textarea { min-height: 160px; }
.page-id-19 .wpcf7 .wpcf7-list-item { margin: 4px 16px 4px 0; max-width: 100%; }
.page-id-19 .wpcf7 .wpcf7-list-item label {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer;
}
.page-id-19 .wpcf7 :is(input[type="radio"], input[type="checkbox"]) { flex-shrink: 0; width: 18px; height: 18px; margin: 0; accent-color: #941b2b; }
.page-id-19 .wpcf7 input[type="submit"] {
  box-sizing: border-box; min-height: 44px; max-width: 100%; padding: 12px 28px;
  border: 1px solid #941b2b; border-radius: 2px; background: #941b2b; color: #fff;
  font-family: inherit; font-size: 16px; line-height: 1.5; cursor: pointer;
}
.page-id-19 .wpcf7 input[type="submit"]:hover { background: #761522; border-color: #761522; }
.page-id-19 .wpcf7 :is(input, select, textarea):focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }
@media (max-width: 781px) {
  body.page-id-19 .wp-block-post-content { --wp--style--root--padding-left: 20px; --wp--style--root--padding-right: 20px; }
  body.page-id-19 .wp-block-post-content.alignfull { margin-inline: calc(-1 * var(--wp--preset--spacing--50)); }
  .page-id-19 main .wp-block-post-title { margin-inline: calc(20px - var(--wp--preset--spacing--50)) !important; max-width: none; padding-inline: 0; }
  .page-id-19 .wp-block-post-content p { font-size: 16.5px; line-height: 1.8; text-wrap: wrap; }
  .page-id-19 .wp-block-post-content h2 { font-size: 28px; line-height: 1.35; }

}

/* Contact destinations: full-width sections with the existing 800px content. */
.page-id-19 .wp-block-post-content > .mayumi-contact-section {
  box-sizing: border-box; margin-block: 0; padding-block: 52px;
  padding-inline: var(--wp--style--root--padding-left);
}
.page-id-19 .mayumi-contact-trial { background: #fff; }
.page-id-19 .mayumi-contact-rental { background: #f7f5f3; }
.page-id-19 .mayumi-contact-section > h2 { margin-top: 0; }
.page-id-19 .mayumi-contact-nav { display: flex; gap: 12px 24px; margin-block: 24px 0; }
.page-id-19 .mayumi-contact-nav a {
  display: inline-flex; align-items: center; min-height: 44px; font-size: 16px;
  line-height: 1.5; color: #941b2b; text-decoration: underline; text-underline-offset: 4px;
}
.page-id-19 .mayumi-contact-nav a:hover { color: #761522; text-decoration-thickness: 2px; }
.page-id-19 .mayumi-contact-nav a:focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }
@media (max-width: 781px) {
  .page-id-19 .wp-block-post-content > .mayumi-contact-section { padding-block: 42px; padding-inline: 20px; }
  .page-id-19 .mayumi-contact-nav { gap: 16px; }
  .page-id-19 .mayumi-contact-nav a { flex: 1; min-width: 0; }
}

/* Contact: remove template whitespace outside the final form section. */
.page-id-19 main > .wp-block-group:has(> .wp-block-post-content) { padding-bottom: 0 !important; }
.page-id-19 main + footer.wp-block-template-part { margin-top: 0; }

/* Shared navigation: layer above the stage hero, preserve native menu behavior. */
header.wp-block-template-part:has(.mayumi-site-header) { position: relative; z-index: 10; }
.mayumi-site-header { position: relative; z-index: 10; }
footer.wp-block-template-part > .wp-block-group > p.has-small-font-size { text-align: center; }
.mayumi-site-header .wp-block-navigation .wp-block-navigation__submenu-container a { min-height: 44px; box-sizing: border-box; display: flex; align-items: center; }
.mayumi-site-header .wp-block-navigation a[aria-current="page"] {
  color: #941b2b; border: 0; box-shadow: none; text-decoration: underline;
  text-decoration-thickness: 1px; text-underline-offset: 6px;
}
.mayumi-site-header .wp-block-navigation a:focus:not(:focus-visible) { outline: none; }
.mayumi-site-header .wp-block-navigation :is(a,button):focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }
.mayumi-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  align-items: flex-start; padding-top: 56px; gap: 0;
}
.mayumi-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  width: 100%; align-items: flex-start; gap: 4px;
}
.mayumi-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  width: 100%; align-items: flex-start; text-align: left;
}
.mayumi-site-header .wp-block-navigation__responsive-container.is-menu-open a.wp-block-navigation-item__content {
  display: flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: 8px 0; max-width: 100%;
}
.mayumi-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  box-sizing: border-box; width: 100%; padding: 4px 0 4px 20px; gap: 2px; align-items: flex-start;
}
.mayumi-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a { font-size: .9em; }

/* Activities parent page: editorial proof and clear child-page destinations. */
.page-id-336 .wp-block-post-content > .mayumi-activities-section {
  box-sizing: border-box; margin-block: 0; padding: 52px var(--wp--style--root--padding-left);
}
.page-id-336 .mayumi-activities-inner { max-width: 800px; margin-inline: auto; }
.page-id-336 .mayumi-activities-section p { margin-block: 14px 0; }
.page-id-336 .mayumi-activities-section h2 { margin-top: 0; line-height: 1.35; }
.page-id-336 .mayumi-activities-inner > :first-child { margin-top: 0; }
.page-id-336 .mayumi-activities-links,
.page-id-336 .mayumi-activities-recitals { background: #f7f5f3; }
.page-id-336 .mayumi-activities-ny { background: #f3eeee; }
.page-id-336 .mayumi-activities-intro { padding-top: 24px !important; }
.page-id-336 .mayumi-activities-recent { padding-block: 36px !important; border-top: 1px solid #ddd; }
.page-id-336 .mayumi-activities-paths,
.page-id-336 .mayumi-activities-photos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
.page-id-336 .mayumi-activities-paths > *,
.page-id-336 .mayumi-activities-photos > * { min-width: 0; width: 100%; margin: 0; }
.page-id-336 .mayumi-activities-entry { border-top: 3px solid #941b2b; padding-top: 24px; }
.page-id-336 .mayumi-activities-entry h2 { font-size: 28px; }
.page-id-336 .mayumi-activities-photos { margin-top: 28px; }
.page-id-336 .mayumi-activities-gallery { margin-top: 28px; }
.page-id-336 .mayumi-activities-gallery figcaption {
  position: static; box-sizing: border-box; max-height: none; margin: 0; padding: 10px 0 0;
  background: none; color: #444; font-size: 14px; line-height: 1.6;
}
.page-id-336 .mayumi-activities-photos img { max-width: 100%; height: auto; }
.page-id-336 .mayumi-activities-section p > strong > a {
  display: inline-flex; align-items: center; min-height: 44px; font-size: 16px;
  line-height: 1.5; font-weight: 500; color: #941b2b; text-underline-offset: 5px;
}
.page-id-336 .mayumi-activities-section p > strong > a:hover { color: #761522; text-decoration-thickness: 2px; }
.page-id-336 .mayumi-activities-section a:focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }
.page-id-336 .mayumi-activities-performance .mayumi-activities-photos + p { border-top: 1px solid #ddd; padding-top: 20px; margin-top: 24px; }
.page-id-336 .mayumi-activities-recitals p > strong,
.page-id-336 .mayumi-activities-ny p > strong { color: #941b2b; font-weight: 600; }
@media (max-width: 781px) {
  body.page-id-336 .wp-block-post-content { --wp--style--root--padding-left: 20px; --wp--style--root--padding-right: 20px; }
  body.page-id-336 .wp-block-post-content.alignfull { margin-inline: calc(-1 * var(--wp--preset--spacing--50)); }
  .page-id-336 main .wp-block-post-title { margin-inline: calc(20px - var(--wp--preset--spacing--50)) !important; max-width: none; }
  .page-id-336 .wp-block-post-content > .mayumi-activities-section { padding: 42px 20px; }
  .page-id-336 .mayumi-activities-section p { font-size: 16.5px; line-height: 1.8; text-wrap: wrap; }
  .page-id-336 .mayumi-activities-section h2 { font-size: 28px; line-height: 1.35; }
  .page-id-336 .mayumi-activities-paths,
  .page-id-336 .mayumi-activities-photos { grid-template-columns: minmax(0,1fr); gap: 32px; }
}

/* History: quiet decade chapters, paired years and documentary photographs. */
.page-id-338 .wp-block-post-content > .mayumi-history-section { box-sizing: border-box; margin-block: 0; padding: 52px var(--wp--style--root--padding-left); }
.page-id-338 .mayumi-history-inner { max-width: 800px; margin-inline: auto; }
.page-id-338 .mayumi-history-tint { background: #f7f5f3; }
.page-id-338 .mayumi-history-intro { padding-top: 24px !important; }
.page-id-338 .mayumi-history-section h2 { margin: 0 0 24px !important; line-height: 1.35; }
.page-id-338 .mayumi-history-section p { margin-block: 14px 0; }
.page-id-338 .mayumi-history-inner > :first-child { margin-top: 0; }
.page-id-338 .mayumi-history-event { display: grid; grid-template-columns: 132px minmax(0,1fr); gap: 20px; border-top: 1px solid #ddd; padding-top: 16px; }
.page-id-338 .mayumi-history-event > strong { color: #941b2b; font-weight: 600; }
.page-id-338 .mayumi-history-event-text { min-width: 0; }
.page-id-338 .mayumi-history-section figure { margin-top: 24px; }
.page-id-338 .mayumi-history-section .wp-block-columns { gap: 24px; margin-top: 24px; }
.page-id-338 .mayumi-history-section .wp-block-column figure { margin-top: 0; }
.page-id-338 .mayumi-history-section figcaption { font-size: 14px; line-height: 1.6; color: #444; margin-top: 10px; }
.page-id-338 .mayumi-history-return a { display: inline-flex; align-items: center; min-height: 44px; color: #941b2b; font-size: 16px; line-height: 1.5; text-underline-offset: 5px; }
.page-id-338 .mayumi-history-return a:hover { color: #761522; text-decoration-thickness: 2px; }
.page-id-338 .mayumi-history-return a:focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }
@media (max-width: 781px) {
  body.page-id-338 .wp-block-post-content { --wp--style--root--padding-left: 20px; --wp--style--root--padding-right: 20px; }
  body.page-id-338 .wp-block-post-content.alignfull { margin-inline: calc(-1 * var(--wp--preset--spacing--50)); }
  .page-id-338 main .wp-block-post-title { margin-inline: calc(20px - var(--wp--preset--spacing--50)) !important; max-width: none; }
  .page-id-338 .wp-block-post-content > .mayumi-history-section { padding: 42px 20px; }
  .page-id-338 .mayumi-history-section p { font-size: 16.5px; line-height: 1.8; text-wrap: wrap; }
  .page-id-338 .mayumi-history-section h2 { font-size: 28px; line-height: 1.35; }
  .page-id-338 .mayumi-history-event { grid-template-columns: minmax(0,1fr); gap: 4px; }
}

/* Dontaku: readable chapters, award records and documentary captions. */
.page-id-340 .wp-block-post-content > .mayumi-dontaku-section { box-sizing: border-box; margin-block: 0; padding: 52px var(--wp--style--root--padding-left); }
.page-id-340 .mayumi-dontaku-inner { max-width: 800px; margin-inline: auto; }
.page-id-340 .mayumi-dontaku-tint { background: #f7f5f3; }
.page-id-340 .mayumi-dontaku-intro { padding-top: 24px !important; }
.page-id-340 .mayumi-dontaku-section h2 { margin: 0 0 24px; line-height: 1.35; }
.page-id-340 .mayumi-dontaku-section p { margin-block: 14px 0; }
.page-id-340 .mayumi-dontaku-inner > :first-child { margin-top: 0; }
.page-id-340 .mayumi-dontaku-award { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 20px; border-top: 1px solid #ddd; padding-top: 16px; }
.page-id-340 .mayumi-dontaku-award > strong { color: #941b2b; font-weight: 600; }
.page-id-340 .mayumi-dontaku-photos .wp-block-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 24px; margin-top: 28px; }
.page-id-340 .mayumi-dontaku-photos .wp-block-gallery > figure.wp-block-image { width: 100% !important; min-width: 0; margin: 0; }
.page-id-340 .mayumi-dontaku-photos .wp-block-gallery > figure.wp-block-image:last-child { grid-column: 1 / -1; }
.page-id-340 .mayumi-dontaku-photos .wp-block-gallery img { width: 100%; height: auto; }
.page-id-340 .mayumi-dontaku-photos .wp-block-gallery figcaption { position: static; max-height: none; box-sizing: border-box; margin: 0; padding: 10px 0 0; background: none; color: #444; font-size: 14px; line-height: 1.6; }
.page-id-340 .mayumi-dontaku-related { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 32px; padding-top: 20px; border-top: 1px solid #ddd; }
.page-id-340 .mayumi-dontaku-related a { display: inline-flex; align-items: center; min-height: 44px; color: #941b2b; font-size: 16px; line-height: 1.5; text-underline-offset: 5px; }
.page-id-340 .mayumi-dontaku-related a:hover { color: #761522; text-decoration-thickness: 2px; }
.page-id-340 .mayumi-dontaku-related a:focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }
@media (max-width: 781px) {
  body.page-id-340 .wp-block-post-content { --wp--style--root--padding-left: 20px; --wp--style--root--padding-right: 20px; }
  body.page-id-340 .wp-block-post-content.alignfull { margin-inline: calc(-1 * var(--wp--preset--spacing--50)); }
  .page-id-340 main .wp-block-post-title { margin-inline: calc(20px - var(--wp--preset--spacing--50)) !important; max-width: none; }
  .page-id-340 .wp-block-post-content > .mayumi-dontaku-section { padding: 42px 20px; }
  .page-id-340 .mayumi-dontaku-section p { font-size: 16.5px; line-height: 1.8; text-wrap: wrap; }
  .page-id-340 .mayumi-dontaku-section h2 { font-size: 28px; line-height: 1.35; }
  .page-id-340 .mayumi-dontaku-award { grid-template-columns: minmax(0,1fr); gap: 4px; }
  .page-id-340 .mayumi-dontaku-photos .wp-block-gallery { grid-template-columns: minmax(0,1fr); }
}
/* Override the core Gallery overlay selector only on this documentary gallery. */
.page-id-340 .mayumi-dontaku-photos .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  position: static !important; background: none !important; color: #444;
  margin: 0; padding: 10px 0 0; max-height: none; width: 100%;
}

/* Dontaku's 2020 film project: standard embeds, quiet related record. */
.page-id-340 .mayumi-dontaku-genki { margin-top: 52px; padding-block: 52px; border-top: 1px solid #ddd; }
.page-id-340 .mayumi-dontaku-genki .wp-block-embed { margin-top: 28px; }
.page-id-340 .mayumi-dontaku-genki iframe { max-width: 100%; }
.page-id-340 .mayumi-dontaku-genki figcaption { margin-top: 10px; font-size: 14px; line-height: 1.6; color: #444; }
@media (max-width: 781px) {
  .page-id-340 .mayumi-dontaku-genki { margin-top: 42px; padding-block: 42px; }
}

/* Activities: external-event evidence and a separate student-led record. */
.page-id-336 .mayumi-activities-performance .wp-block-image figcaption { margin-top: 10px; font-size: 14px; line-height: 1.6; color: #444; }
.page-id-336 .mayumi-activities-hawks img { width: 100%; height: auto; }
.page-id-336 .mayumi-activities-student-record { margin-top: 32px; padding-top: 28px; border-top: 1px solid #ddd; }
.page-id-336 .mayumi-activities-student-record > figure { width: 100%; max-width: 384px; margin: 0; }
.page-id-336 .mayumi-activities-student-record img { width: 100%; height: auto; }
.page-id-336 .mayumi-activities-student-record + p { border-top: 1px solid #ddd; padding-top: 20px; margin-top: 24px; }
@media (max-width: 781px) {
 .page-id-336 .mayumi-activities-student-record > figure { max-width: 100%; }
}
.page-id-336 .mayumi-activities-hawks .wp-image-7165 { max-width: 640px; }

/* Shared photo reel: fixed stage, uncropped records, explicit controls. */
:is(.page-id-338, .page-id-340, .page-id-336) .mayumi-photo-reel { max-width: 900px; margin: 32px auto 52px; }
:is(.page-id-338, .page-id-340, .page-id-336) .mayumi-photo-reel-stage { position: relative; aspect-ratio: 3 / 2; background: #151515; overflow: hidden; touch-action: pan-y; }
:is(.page-id-338, .page-id-340, .page-id-336) .mayumi-photo-reel-slide { position: absolute; inset: 0; margin: 0 !important; opacity: 0; transition: opacity 400ms ease; }
:is(.page-id-338, .page-id-340, .page-id-336) .mayumi-photo-reel-slide.is-active { opacity: 1; z-index: 1; }
:is(.page-id-338, .page-id-340, .page-id-336) .mayumi-photo-reel-slide img { width: 100%; height: 100%; object-fit: contain; }
:is(.page-id-338, .page-id-340, .page-id-336) .mayumi-photo-reel-caption { min-height: 3.2em; margin: 12px 0 !important; font-size: 14px; line-height: 1.6; }
:is(.page-id-338, .page-id-340, .page-id-336) .mayumi-photo-reel-controls { display: none; flex-wrap: wrap; align-items: center; gap: 8px; }
:is(.page-id-338, .page-id-340, .page-id-336) .mayumi-photo-reel.is-ready .mayumi-photo-reel-controls { display: flex; }
:is(.page-id-338, .page-id-340, .page-id-336) .mayumi-photo-reel-controls button { min-height: 44px; padding: 8px 16px; border: 1px solid #941b2b; border-radius: 2px; background: white; color: #941b2b; font: inherit; font-size: 16px; cursor: pointer; }
:is(.page-id-338, .page-id-340, .page-id-336) .mayumi-photo-reel-controls button:hover { background: #f3eeee; }
:is(.page-id-338, .page-id-340, .page-id-336) .mayumi-photo-reel-controls button:focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }
:is(.page-id-338, .page-id-340, .page-id-336) .mayumi-photo-reel-state { font-size: 13px; color: #555; }
@media (max-width: 781px) {
 :is(.page-id-338, .page-id-340, .page-id-336) .mayumi-photo-reel { width: 100%; margin-bottom: 42px; }
 :is(.page-id-338, .page-id-340, .page-id-336) .mayumi-photo-reel-caption { font-size: 14px; line-height: 1.6; }
}
@media (prefers-reduced-motion: reduce) {
 :is(.page-id-338, .page-id-340, .page-id-336) .mayumi-photo-reel-slide { transition: none; }
}

/* About: compact BDC teacher portraits, uncropped and top aligned. */
.page-id-17 .mayumi-about-bdc-visuals { display: grid; grid-template-columns: 62fr 38fr; gap: 24px; align-items: start; margin-block: 28px; }
.page-id-17 .mayumi-about-bdc-visuals > .wp-block-column { min-width: 0; margin: 0; }
.page-id-17 .mayumi-about-bdc-visuals .wp-block-image { margin: 0; }
.page-id-17 .mayumi-about-bdc-visuals img { display: block; max-width: 100%; width: auto; height: auto; max-height: 300px; object-fit: contain; }
@media (max-width: 781px) { .page-id-17 .mayumi-about-bdc-visuals { grid-template-columns: 1fr; gap: 22px; } }

/* Shared footer social links: compact, centered, keyboard accessible. */
footer .mayumi-footer-social { display: flex; justify-content: center; align-items: center; gap: 12px; margin: 24px auto 0; }
footer .mayumi-footer-social a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-width: 76px; min-height: 60px; color: #fff; text-decoration: none; }
footer .mayumi-footer-social span { font-size: 11px; line-height: 1.4; }
footer .mayumi-footer-social a:hover { color: #ddd; }
footer .mayumi-footer-social a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
footer .mayumi-footer-social + p { margin-top: 16px; }

/* Anniversary films: standard embeds within the history text width. */
.page-id-338 .mayumi-history-movies .wp-block-column { min-width: 0; }
.page-id-338 .mayumi-history-movies .wp-block-embed { margin: 0; }
.page-id-338 .mayumi-history-movies iframe { width: 100%; max-width: 100%; }
.page-id-338 .mayumi-history-movies iframe:focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }
.page-id-8 .mayumi-home-movie-link a { display: inline-flex; align-items: center; min-height: 44px; color: #941b2b; font-size: 16px; line-height: 1.5; text-underline-offset: 5px; }
.page-id-8 .mayumi-home-movie-link a:hover { color: #761522; }
.page-id-8 .mayumi-home-movie-link a:focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }

/* Category/tag lists only; curated NEWS pages and single posts are unaffected. */
.mayumi-taxonomy-archive { padding: 52px 30px; margin-top: 0; }
.mayumi-taxonomy-archive > * { max-width: 800px; margin-inline: auto; }
.mayumi-taxonomy-archive .wp-block-query-title { margin-top: 0; }
.mayumi-taxonomy-archive .wp-block-post-template { margin: 28px 0 0; padding: 0; }
.mayumi-taxonomy-archive .mayumi-taxonomy-item { padding: 24px 0; border-bottom: 1px solid #ddd; }
.mayumi-taxonomy-archive .wp-block-post-date { font-size: 14px; color: #666; }
.mayumi-taxonomy-archive .wp-block-post-title { font-size: 24px; line-height: 1.5; margin-top: 8px; text-wrap: wrap; }
.mayumi-taxonomy-archive .wp-block-post-excerpt { margin-top: 12px; }
.mayumi-taxonomy-archive .wp-block-post-excerpt p { line-height: 1.8; text-wrap: wrap; }
.mayumi-taxonomy-archive .wp-block-post-excerpt__more-link { display: inline-flex; align-items: center; min-height: 44px; color: #941b2b; }
.mayumi-taxonomy-archive a:hover { color: #761522; text-decoration-thickness: 2px; }
.mayumi-taxonomy-archive a:focus-visible { outline: 2px solid #941b2b; outline-offset: 3px; }
.mayumi-taxonomy-archive .wp-block-query-pagination { gap: 8px; margin-top: 28px; flex-wrap: wrap; }
.mayumi-taxonomy-archive .wp-block-query-pagination a, .mayumi-taxonomy-archive .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
@media (max-width: 781px) {
 .mayumi-taxonomy-archive { padding: 42px 20px; }
 .mayumi-taxonomy-archive .wp-block-post-excerpt p { font-size: 16.5px; }
 .mayumi-taxonomy-archive .wp-block-post-title { font-size: 22px; }
}

/* Fixed class times and TOP access: existing subpage rhythm, no calendar dependency. */
.page-id-11 .mayumi-lesson-times { margin-top: 16px; padding-top: 12px; border-top: 1px solid #ddd; }
.page-id-11 .mayumi-lesson-times strong { color: #941b2b; font-weight: 500; }
.page-id-8 .mayumi-home-access .wp-block-column { display: flex; flex-direction: column; min-width: 0; }
.page-id-8 .mayumi-home-access iframe { display: block; box-sizing: border-box; width: 100%; max-width: 100%; height: 320px; margin-top: auto; }
.page-id-8 .mayumi-home-access .wp-block-column > p { margin-bottom: 20px; }
.page-id-8 #access { scroll-margin-top: 24px; }
@media (max-width: 781px) {
 .page-id-8 .mayumi-home-access .wp-block-column > h3 + p { line-height: 1.6; }
 .page-id-8 .mayumi-home-access iframe { height: 300px; margin-top: 0; }
}

/* Lesson PC columns: reserve a shared schedule area and align its start. */
@media (min-width: 782px) {
 .page-id-11 .wp-block-columns:has(> .wp-block-column > .mayumi-lesson-times) { align-items: stretch; }
 .page-id-11 .wp-block-column:has(> .mayumi-lesson-times) { display: flex; flex-direction: column; }
 .page-id-11 .wp-block-column:has(> .mayumi-lesson-times) > p:not(.mayumi-lesson-times) { margin-bottom: 16px; }
 .page-id-11 .wp-block-column > .mayumi-lesson-times { box-sizing: border-box; margin-top: auto; min-block-size: calc(5lh + 14px); }
 .page-id-11 .wp-block-columns:has(> .wp-block-column:nth-child(3)) > .wp-block-column > .mayumi-lesson-times { min-block-size: calc(6lh + 14px); }
}
@media (min-width: 782px) and (max-width: 1000px) {
 .page-id-11 .wp-block-column > .mayumi-lesson-times { min-block-size: calc(6lh + 14px); }
 .page-id-11 .wp-block-columns:has(> .wp-block-column:nth-child(3)) > .wp-block-column > .mayumi-lesson-times { min-block-size: calc(7lh + 14px); }
}

/* Lesson desktop title follows the same wide boundary as its introduction. */
@media (min-width: 782px) {
 .page-id-11 main .wp-block-post-title { max-width: var(--wp--style--global--wide-size); }
}

/* Shared page-top control; avoid interactive maps/forms via page-top.js. */
.mayumi-page-top { position: fixed; right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); z-index: 20; width: 52px; height: 52px; box-sizing: border-box; border: 1px solid #fff; border-radius: 50%; background: #941b2b; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 0; font: inherit; font-size: 11px; line-height: 1.1; cursor: pointer; }
.mayumi-page-top[hidden] { display: none; }
.mayumi-page-top:hover { background: #761522; }
.mayumi-page-top:focus-visible { outline: 3px solid #941b2b; outline-offset: 3px; box-shadow: 0 0 0 3px #fff; }
@media (max-width: 781px) { .mayumi-page-top { width: 46px; height: 46px; } }

/* TOP HERO: only the image layer fades; existing layout and overlay remain fixed. */
.page-id-8 .mayumi-hero-slides { position: relative; width: 100%; height: 100%; background: #140709; }
.page-id-8 .mayumi-hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.3s ease-in-out; }
.page-id-8 .mayumi-hero-slide.is-active { opacity: 1; }
.page-id-8 .mayumi-hero-slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--hero-pc); }
@media (max-width: 781px) { .page-id-8 .mayumi-hero-slide img { object-position: var(--hero-mobile); } }
@media (max-width: 600px) { .page-id-8 .mayumi-hero-slide img { object-fit: var(--hero-narrow-fit); } }
@media (prefers-reduced-motion: reduce) {
 .page-id-8 .mayumi-hero-slide { transition: none; }
 .page-id-8 .mayumi-hero-slide:not(:first-child) { opacity: 0; }
 .page-id-8 .mayumi-hero-slide:first-child { opacity: 1; }
}

/* Junior school schedules: preserve the shared PC schedule start after reflow. */
@media (min-width: 782px) {
 .page-id-11 .wp-block-columns:not(:has(> .wp-block-column:nth-child(3))) > .wp-block-column > .mayumi-lesson-times { min-block-size: calc(7lh + 14px); }
}

/* ID336: native workshop video, keep the original 568px image width. */
.page-id-336 .wp-block-video.mayumi-bdc-workshop-video {
  width: 100%;
  max-width: 568px;
  margin-left: auto;
  margin-right: auto;
}
.page-id-336 .mayumi-bdc-workshop-video video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 568 / 320;
}

/* Contact phone example: only emitted beside tel-1 in forms 327/326. */
.page-id-19 .wpcf7 .mayumi-phone-example {
    display: block;
    margin-top: .35em;
    font-size: .875em;
    line-height: 1.5;
}

/* TOP junior proposal: inherits the life section's existing background/tone. */
.page-id-8 .mayumi-home-junior { padding-top: 0; }
.page-id-8 .mayumi-home-junior::before { display: none; }
.page-id-8 .mayumi-home-junior > .mayumi-home-inner { padding-block: 52px !important; }
.page-id-8 .mayumi-home-junior h2 { margin-top: 0; }
.page-id-8 .mayumi-home-junior-copy { max-width: 800px; }
.page-id-8 .mayumi-home-junior-copy p { text-wrap: wrap; }
.page-id-8 .mayumi-home-junior-link { display: inline-flex; align-items: center; min-height: 44px; color: #941b2b; font-size: 16px; line-height: 1.6; text-underline-offset: .25em; }
.page-id-8 .mayumi-home-junior-link:hover { color: #761522; text-decoration-thickness: 2px; }
.page-id-8 .mayumi-home-junior-link:focus-visible { outline: 2px solid #941b2b; outline-offset: 4px; }
@media (max-width: 781px) {
 .page-id-8 .mayumi-home-junior > .mayumi-home-inner { padding: 42px 20px !important; }
 .page-id-8 .mayumi-home-junior h2 { font-size: 28px; line-height: 1.4; }
 .page-id-8 .mayumi-home-junior-copy p { font-size: 16.5px; line-height: 1.8; }
}

.page-id-8 .mayumi-home-junior h2 > span { display: inline-block; }
.page-id-8 .mayumi-home-junior .mayumi-junior-phrase { white-space: nowrap; }

/* TOP About group portrait: retain the diagonal, protect faces and full ratio. */
@media (min-width: 782px) {
 .page-id-8 .mayumi-home-about-photo { top: calc(50% + 25px); bottom: auto; height: auto; aspect-ratio: 960 / 721; transform: translateY(-50%); clip-path: polygon(8% 0,100% 0,100% 100%,0 100%); }
 .page-id-8 .mayumi-home-about-photo img { display: block; height: auto; object-fit: contain; }
}

/* NEWS page guide and quiet outlined archive CTA; reuse existing link states. */
.page-id-21 .mayumi-news-guide { margin-top: 0; margin-bottom: 24px; font-size: 16.5px; line-height: 1.8; color: #555; text-wrap: wrap; }
.page-id-21 .mayumi-news-archive-link a,
.page-id-6364 .mayumi-news-year-return a { box-sizing: border-box; max-width: 100%; padding: 12px 22px; border: 1px solid #941b2b; border-radius: 0; background: #fff; text-decoration: none; }
.page-id-21 .mayumi-news-archive-link a:hover,
.page-id-6364 .mayumi-news-year-return a:hover { background: #f7f5f3; text-decoration: none; }
