/* KUMITATE Yoga: airy offset photography, calm blue surfaces and measured motion. */
body,.editor-styles-wrapper { --yoga-white:var(--wp--preset--color--base); --yoga-ink:var(--wp--preset--color--contrast); --yoga-blue:var(--wp--preset--color--accent); --yoga-mist:var(--wp--preset--color--surface); }
body:has(.yoga-header) { background:var(--yoga-white); color:var(--yoga-ink); }
body:has(.yoga-header) .wp-site-blocks { padding:0; }
body:has(.yoga-header) .wp-site-blocks > * { margin-block-start:0; }
body:has(.yoga-header) .wp-site-blocks > header { border:0; box-shadow:none; background:var(--yoga-white); }
body:has(.yoga-header) .wp-site-blocks > footer { border-radius:0; margin:0; }
.yoga-header { min-height:110px; padding:24px 4vw; display:flex; align-items:center; gap:30px; box-sizing:border-box; }
.yoga-header .wp-block-site-title { font:400 42px/1 Georgia,serif; letter-spacing:.01em; margin:0; }
.yoga-header .wp-block-site-title a { background:none; padding:0; color:var(--yoga-blue); border:0; box-shadow:none; }
.yoga-brand-caption { font:500 9px/1.4 sans-serif; letter-spacing:.16em; margin:8px 0 0; }
.yoga-header .wp-block-navigation { margin:0 0 0 auto; font-size:13px; font-weight:500; }
.yoga-header .wp-block-navigation__container { gap:4px; align-items:center; }
.yoga-header .wp-block-navigation-item__content { padding:13px 16px; border-radius:18px; text-decoration:none!important; transition:background .35s; }
.yoga-header .wp-block-navigation-item__content:hover { background:var(--yoga-mist); }
.yoga-header .wp-block-navigation__container > .wp-block-navigation-item:last-child > a { background:var(--yoga-blue); color:#fff; padding-inline:22px; }
.yoga-header .wp-block-navigation__container > .wp-block-navigation-item:last-child > a:hover { background:var(--yoga-ink); }
.yoga-header a:after,.yoga-page a:after,.yoga-footer a:after,.yoga-editorial .wp-block-button__link:after { display:none!important; }
.yoga-main { margin:0!important; padding:0!important; }
.yoga-page { max-width:none!important; }
.yoga-page h1,.yoga-page h2,.yoga-page h3,.yoga-editorial h1,.yoga-editorial h2 { font-family:var(--wp--preset--font-family--noto-serif-jp); font-weight:400; white-space:pre-line; }
.yoga-page h1 { font-size:clamp(32px,3.8vw,54px); line-height:1.8; letter-spacing:.12em; }
.yoga-page h2 { font-size:clamp(27px,2.8vw,40px); line-height:1.8; letter-spacing:.06em; margin:16px 0 32px; }
.yoga-page h3 { font-size:23px; line-height:1.7; margin:14px 0; }
.yoga-page p { font-size:15px; line-height:2.15; white-space:pre-line; }
.yoga-page .yoga-eyebrow,.yoga-footer .yoga-eyebrow { font:500 11px/1.8 sans-serif; color:var(--yoga-blue); letter-spacing:.13em; margin:0 0 14px; }
.yoga-section { max-width:1280px; padding:100px 60px; margin:0 auto; box-sizing:border-box; }
.yoga-split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:9%; }
.yoga-split > *, .yoga-grid > * { min-width:0; margin:0; }
.yoga-copy { max-width:460px; }
.yoga-page figure { margin:0; overflow:hidden; }
.yoga-page figure img { width:100%; height:100%; object-fit:cover; display:block; }
.yoga-split > figure { aspect-ratio:1/1; border-radius:42% 42% 24px 24px; box-shadow:0 20px 50px #243b4610; }
.yoga-page .wp-block-buttons { margin-top:30px; }
.yoga-page .wp-block-button:not(.has-custom-width) { width:auto; }
.yoga-page .wp-block-button__link,.yoga-editorial .wp-block-button__link,.yoga-footer .wp-block-button__link { border:0; border-radius:18px; min-width:180px; padding:19px 30px; background:var(--yoga-blue); color:var(--wp--preset--color--on-accent); font:500 14px/1.6 sans-serif; letter-spacing:.04em; text-decoration:none!important; box-shadow:0 8px 24px #243b4614; transition:background .4s,box-shadow .4s,transform .4s; }
.yoga-page .wp-block-button__link:before,.yoga-editorial .wp-block-button__link:before,.yoga-footer .wp-block-button__link:before { content:none!important; display:none!important; }
.yoga-page .wp-block-button__link:hover,.yoga-editorial .wp-block-button__link:hover { background:var(--yoga-ink); color:#fff; transform:translateY(-2px); box-shadow:0 12px 30px #243b4626; }
.yoga-hero { position:relative; padding:20px 0 76px; min-height:680px; box-sizing:border-box; }
.yoga-page .yoga-hero-photo { margin-left:23%; height:min(690px,76svh); min-height:530px; border-radius:72px 0 0 72px; }
.yoga-hero-photo img { object-position:60% center; }
.yoga-hero-copy { position:absolute; z-index:1; left:7%; top:20%; width:43%; }
.yoga-hero-copy > h1 { background:var(--yoga-white); padding:12px 30px 20px 0; width:fit-content; margin:0 0 22px; }
.yoga-hero-copy > p { background:var(--yoga-white); width:fit-content; padding-right:20px; }
.yoga-hero-copy .yoga-eyebrow { padding:8px 18px 8px 0; }
.yoga-hero-sign { position:absolute; bottom:20px; right:4vw; font-size:10px!important; letter-spacing:.2em; color:var(--yoga-blue); }
.yoga-tinted { background:var(--yoga-mist); border-radius:70px 0 70px 0; margin:30px 0; }
.yoga-tinted .yoga-section > h2,.yoga-tinted .yoga-section > .yoga-eyebrow { text-align:center; }
.yoga-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.yoga-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.yoga-class-card { padding-top:20px; }
.yoga-class-card figure { aspect-ratio:4/3; border-radius:24px; margin-bottom:28px; }
.yoga-class-card img { transition:transform 1s cubic-bezier(.2,.6,.2,1); }
.yoga-class-card:hover img { transform:scale(1.035); }
.yoga-class-card p { font-size:14px; }
.yoga-class-card .wp-block-button__link { background:#fff; color:var(--yoga-blue); min-width:0; }
.yoga-class-card .wp-block-button__link:hover { background:var(--yoga-blue); color:#fff; }
.yoga-photo-band { position:relative; margin:110px 5vw 40px; border-radius:40px; overflow:hidden; }
.yoga-photo-band > figure { height:520px; }
.yoga-band-copy { position:absolute; left:7%; top:50%; transform:translateY(-50%); background:var(--yoga-white); padding:38px 46px; border-radius:28px; max-width:460px; box-sizing:border-box; }
.yoga-band-copy h2 { margin-bottom:18px; }
.yoga-info { background:var(--yoga-mist); padding:30px; border-radius:24px; }
.yoga-info h3 { font-size:20px; }
.yoga-info p { font-size:14px; }
.yoga-info .yoga-eyebrow { margin-bottom:24px; }
.yoga-cta { margin:60px auto 0; padding:90px 28px; text-align:center; background:var(--wp--preset--color--lavender); border-radius:48% 48% 0 0 / 70px 70px 0 0; }
.yoga-cta .wp-block-buttons { justify-content:center; }
.yoga-title { position:relative; padding-top:20px; margin-bottom:10px; }
.yoga-title > figure { margin-left:32%; height:380px; border-radius:48px 0 0 48px; }
.yoga-title-copy { position:absolute; z-index:1; top:50%; transform:translateY(-50%); left:max(5vw,calc((100% - 1160px)/2)); width:45%; }
.yoga-title-copy h1 { background:var(--yoga-white); padding:8px 20px 12px 0; width:fit-content; font-size:clamp(28px,3vw,44px); }
.yoga-title-copy .yoga-eyebrow { display:table; background:var(--yoga-white); padding:4px 20px 4px 0; }
.yoga-reading { max-width:860px; }
.yoga-trial { max-width:1000px; background:var(--yoga-mist); border-radius:36px; margin:50px auto; text-align:center; scroll-margin-top:24px; }
.yoga-trial .wp-block-buttons { justify-content:center; }
.yoga-page .yoga-large-price { font:400 clamp(30px,3.6vw,48px)/1.3 Georgia,serif; letter-spacing:-.02em; margin:24px 0; }
.yoga-price-card { background:var(--yoga-mist); padding:38px 28px; border-radius:24px; }
.yoga-price-card h3 { font-size:20px; }
.yoga-price-card p { font-size:14px; }
.yoga-price-card:first-child { background:var(--wp--preset--color--lavender); }
.yoga-page .yoga-small { font-size:12px; line-height:1.9; margin-top:26px; }
.yoga-schedule { margin:28px 0; display:grid; gap:12px; }
.yoga-schedule-row { display:grid; grid-template-columns:100px 180px 1fr; gap:30px; align-items:center; background:var(--yoga-mist); padding:24px 30px; border-radius:18px; }
.yoga-schedule-row > * { margin:0!important; }
.yoga-schedule-row h3 { font-size:19px; }
.yoga-faq { padding:0; border:0; border-radius:18px; background:var(--yoga-mist); margin:0 0 16px; }
.yoga-faq summary { padding:24px 28px; cursor:pointer; font-size:16px; font-weight:500; border-radius:18px; transition:background .3s; }
.yoga-faq summary:hover { background:#deebef; }
.yoga-faq > p { padding:0 28px 24px; margin:0; }
.yoga-journal .wp-block-post-template { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; list-style:none; padding:0; }
.yoga-journal .wp-block-post-template > li { margin:0; min-width:0; }
.yoga-post-card { padding:0; background:none; box-shadow:none; }
.yoga-post-card .wp-block-post-featured-image { margin:0 0 22px; border-radius:24px; overflow:hidden; }
.yoga-post-card img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .8s,filter .5s; }
.yoga-post-card:hover img { transform:scale(1.035); filter:brightness(.94); }
.yoga-post-card .wp-block-post-date { font-size:12px; color:var(--yoga-blue); }
.yoga-post-card .wp-block-post-title { font-size:20px; line-height:1.7; margin:14px 0; }
.yoga-post-card .wp-block-post-title a { display:block; padding:8px; margin:-8px; border-radius:12px; text-decoration:none!important; transition:background .3s; }
.yoga-post-card .wp-block-post-title a:hover { background:var(--yoga-mist); }
.yoga-post-card:not(:has(.wp-block-post-featured-image)):before { content:""; display:block; aspect-ratio:4/3; background:radial-gradient(ellipse at 70% 75%,#d5e5eb,transparent 65%),var(--yoga-mist); border-radius:24px; margin-bottom:22px; }
.yoga-editorial { max-width:900px; padding:70px 50px 110px; margin:0 auto!important; box-sizing:border-box; }
.yoga-editorial > h1 { font-size:clamp(30px,3.5vw,46px); line-height:1.7; }
.yoga-editorial .wp-block-post-featured-image { margin:35px 0; border-radius:32px; overflow:hidden; }
.yoga-editorial .wp-block-post-content { padding:0; }
.yoga-editorial .wp-block-post-content > .wp-block-image img { border-radius:24px; }
.yoga-editorial .wp-block-post-content a:not(.wp-block-button__link) { text-decoration:none; background:var(--yoga-mist); padding:2px 4px; border-radius:4px; }
.yoga-editorial .wp-block-post-content a:not(.wp-block-button__link):hover { background:#d5e5eb; }
.yoga-editorial .wp-block-post-navigation-link:not(:has(a)) { display:none; }
.yoga-editorial .wp-block-query .wp-block-post-template { grid-template-columns:repeat(2,minmax(0,1fr)); }
.yoga-post-meta { display:flex; gap:20px; align-items:center; font-size:12px; }
.yoga-post-meta a { background:var(--yoga-mist); padding:6px 12px; border-radius:10px; text-decoration:none; }
.yoga-editorial input:not([type=submit]),.yoga-editorial textarea { border:0; background:var(--yoga-mist); border-radius:12px; padding:14px; max-width:100%; box-sizing:border-box; }
.yoga-editorial input[type=submit],.yoga-editorial .wp-block-search__button { border:0; padding:14px 24px; border-radius:14px; color:#fff; background:var(--yoga-blue); cursor:pointer; }
.yoga-editorial .post-password-form p:last-child { display:flex; align-items:end; flex-wrap:wrap; gap:14px; }
.yoga-editorial .post-password-form label { display:flex; flex-direction:column; gap:10px; }
.yoga-footer { background:var(--yoga-mist); padding:70px max(5vw,calc((100% - 1160px)/2)) 30px; display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.yoga-footer .wp-block-site-title { font:400 66px/1 Georgia,serif; margin:0 0 20px; }
.yoga-footer .wp-block-site-title a { color:var(--yoga-blue); text-decoration:none; }
.yoga-footer-brand p { font-size:14px; }
.yoga-footer-links { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.yoga-footer-links > * { margin:0; }
.yoga-footer-links .wp-block-button { width:100%; }
.yoga-footer .wp-block-button__link { min-width:0; width:100%; box-sizing:border-box; font-size:12px; background:#fff; color:var(--yoga-blue); padding:18px; box-shadow:none; text-align:left; }
.yoga-footer .wp-block-button__link:hover { background:var(--yoga-blue); color:#fff; }
.yoga-demo-note,.yoga-copyright { grid-column:1/-1; font-size:11px; line-height:1.9; margin:0; }
.yoga-copyright { text-align:center; }
.yoga-page a:focus-visible,.yoga-header a:focus-visible,.yoga-footer a:focus-visible,.yoga-editorial a:focus-visible,.yoga-faq summary:focus-visible { outline:3px solid var(--yoga-blue); outline-offset:5px; }
@media(max-width:1000px) { .yoga-header { gap:10px; padding-inline:25px; } .yoga-header .wp-block-navigation-item__content { padding:12px 10px; } .yoga-section { padding:80px 32px; } .yoga-three { gap:20px; } .yoga-hero-copy { left:5%; width:52%; } .yoga-footer { gap:26px; } }
@media(max-width:780px) {
.yoga-header { min-height:88px; padding:18px 24px; }
.yoga-header .wp-block-site-title { font-size:34px; }
.yoga-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none!important; }
.yoga-header .wp-block-navigation__responsive-container-open { display:flex!important; }
.yoga-section { padding:64px 24px; }
.yoga-split,.yoga-three,.yoga-grid { grid-template-columns:1fr; gap:32px; }
.yoga-copy { max-width:none; }
.yoga-split > figure { aspect-ratio:5/4; border-radius:38px; }
.yoga-hero { padding-top:0; min-height:0; padding-bottom:35px; }
.yoga-page .yoga-hero-photo { margin-left:15%; min-height:0; height:410px; border-radius:40px 0 0 40px; }
.yoga-hero-photo img { object-position:67% center; }
.yoga-hero-copy { position:relative; left:auto; top:auto; width:auto; padding:0 24px; margin-top:-76px; }
.yoga-hero-copy h1 { font-size:30px; letter-spacing:.06em; padding:16px 22px 0 0; margin-bottom:15px; }
.yoga-hero-copy .yoga-eyebrow { font-size:9px; margin-bottom:0; }
.yoga-hero-copy > p { font-size:13px; }
.yoga-hero-sign { display:none; }
.yoga-title > figure { height:250px; margin-left:20%; border-radius:32px 0 0 32px; }
.yoga-title-copy { position:relative; top:auto; left:auto; transform:none; margin:-64px 24px 0; width:calc(100% - 48px); }
.yoga-title { display:flex; flex-direction:column-reverse; }
.yoga-title-copy h1 { font-size:28px; margin-top:0; padding-top:12px; }
.yoga-title-copy .yoga-eyebrow { font-size:10px; }
.yoga-page h2 { font-size:27px; }
.yoga-page h3 { font-size:21px; }
.yoga-page p { font-size:14px; }
.yoga-tinted { border-radius:36px 0; }
.yoga-class-card figure { aspect-ratio:3/2; }
.yoga-class-card { padding-top:0; }
.yoga-photo-band { margin:60px 20px 0; border-radius:28px; background:var(--yoga-mist); }
.yoga-photo-band > figure { height:280px; }
.yoga-band-copy { position:relative; left:auto; top:auto; transform:none; max-width:none; padding:30px 24px; border-radius:0; background:var(--yoga-mist); }
.yoga-cta { padding:65px 24px; border-radius:48% 48% 0 0 / 35px 35px 0 0; margin-top:20px; }
.yoga-trial { margin:20px; }
.yoga-schedule-row { grid-template-columns:90px 1fr; gap:10px; padding:20px; }
.yoga-schedule-row h3 { grid-column:1/-1; }
.yoga-journal .wp-block-post-template { grid-template-columns:1fr; gap:40px; }
.yoga-editorial { padding:45px 24px 70px; }
.yoga-editorial .wp-block-query .wp-block-post-template { grid-template-columns:1fr; }
.yoga-editorial .wp-block-post-content .alignwide { max-width:100%; margin-inline:0; }
.yoga-footer { grid-template-columns:1fr; padding:55px 24px 24px; }
.yoga-footer .wp-block-site-title { font-size:54px; }
.yoga-faq summary { padding:22px; font-size:15px; }
.yoga-footer-links { gap:12px; }
}
body:has(.yoga-header) .wp-block-navigation__responsive-container.is-menu-open { padding:0!important; background:var(--yoga-white)!important; color:var(--yoga-ink)!important; }
body:has(.yoga-header) .is-menu-open .wp-block-navigation__responsive-dialog { margin:0!important; padding:120px 24px 40px; min-height:100svh; box-sizing:border-box; }
body:has(.yoga-header) .wp-block-navigation__responsive-container-close { position:fixed!important; top:29px!important; right:24px!important; margin:0!important; }
body:has(.yoga-header) .is-menu-open .wp-block-navigation__responsive-container-content { padding:0!important; align-items:stretch!important; }
body:has(.yoga-header) .is-menu-open .wp-block-navigation__container { width:100%; align-items:stretch!important; gap:12px; }
body:has(.yoga-header) .is-menu-open .wp-block-navigation-item { width:100%; }
body:has(.yoga-header) .is-menu-open .wp-block-navigation-item__content { text-align:left; width:100%; box-sizing:border-box; padding:18px 22px; background:var(--yoga-mist); }
body:has(.yoga-header) .is-menu-open .yoga-menu-brand { display:block!important; position:fixed; top:18px; left:24px; font:400 34px/1 Georgia,serif; color:var(--yoga-blue); }
.editor-styles-wrapper .yoga-hero-copy { pointer-events:auto; }
@media(prefers-reduced-motion:reduce) { .yoga-page *, .yoga-header *, .yoga-footer *, .yoga-editorial * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
.yoga-menu-brand { display:none; }
.yoga-tinted .yoga-section > .wp-block-buttons { justify-content:center; margin-top:50px; }
.yoga-page .yoga-class-card .wp-block-button__link { width:auto; }
.yoga-header .wp-block-navigation a.yoga-menu-brand { display:none; }
.yoga-footer,.yoga-footer p { color:var(--yoga-ink); }
body:has(.yoga-header) .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content { padding:18px 22px!important; min-height:56px; display:flex; align-items:center; font-size:15px; }
.yoga-class-card figure { aspect-ratio:3/2; }
.yoga-split[id^="class-"] > figure { aspect-ratio:3/2; border-radius:24px; }
.yoga-post-meta { flex-wrap:wrap; }
.yoga-post-meta > * { margin:0!important; }
.yoga-footer-links .wp-block-buttons,.yoga-footer-links .wp-block-button { display:flex; align-items:stretch; }
.yoga-footer .wp-block-button__link { display:flex; align-items:center; min-height:62px; }
.yoga-editorial > h1 { text-wrap:balance; }

/* COLLECTION ART DIRECTION 2026-09 */
/* Calm opening: avoid the stacked white label treatment. */
.yoga-hero-copy{background:var(--yoga-white);padding:30px 35px 30px 0;width:39%}.yoga-hero-copy>h1,.yoga-hero-copy>p{background:transparent;padding:0}.yoga-hero-copy .yoga-eyebrow{display:none}.yoga-page .yoga-hero-photo{margin-left:30%;border-radius:36px 0 0 36px}.yoga-hero-copy>h1{font-size:clamp(32px,3.5vw,48px);line-height:1.8}.yoga-hero-copy .wp-block-button__link{border-radius:9px}
@media(max-width:760px){.yoga-hero-copy{width:auto;padding:25px 24px;position:relative;left:auto;top:auto}.yoga-page .yoga-hero-photo{margin-left:20px;height:330px;min-height:0}.yoga-hero-photo img{object-position:67% 65%}.yoga-hero-copy{margin-top:0}.yoga-hero{padding-bottom:0}.yoga-hero-copy>h1{font-size:30px}.yoga-hero{min-height:0}}

@font-face{font-family:"Noto Serif JP";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/noto-serif-jp-regular.woff2") format("woff2")}

/* MOBILE READING QUALITY 2026-09-14 */
.yoga-main .yoga-small,.yoga-footer .yoga-small{font-size:14px;line-height:1.9}
.yoga-main .wp-block-post-content{overflow-wrap:break-word}

/* Homepage photographic direction: stable crops and optional desktop reading anchors. */
body.home .yoga-hero-photo,body.home .yoga-split>figure{overflow:hidden}

/* MOTION READING REFINEMENT */
@media(min-width:761px){body.home .yoga-split h2{font-size:clamp(27px,2.4vw,36px);text-wrap:balance}}
