/* Extend the preferred published composition, without changing earlier variants. */
:root { --paper:#faf9f6; --muted:#62615c; --action-stripes:repeating-linear-gradient(135deg,#1717170d 0 1px,transparent 1px 8px); }
body { font-size:1rem; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.hero-audiences { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:520px; gap:12px!important; }
.hero-audiences .button { justify-content:space-between; width:100%; padding-inline:20px; }
.hero-audiences .button--kids { background:#d9e2d5; color:#25382c; border:1px solid #8d9e88; }
.hero-audiences .button--kids:hover { background:#c9d7c4; border-color:#657d60; }
.video-controls button { width:46px; height:46px; min-width:46px; display:grid; place-items:center; padding:0!important; background:#171717b8; }
.control-icon { width:24px; height:24px; }
.control-icon--sound,.control-icon--play { display:none; }
[data-sound-toggle][aria-pressed="true"] .control-icon--muted,[data-video-toggle][aria-pressed="false"] .control-icon--pause { display:none; }
[data-sound-toggle][aria-pressed="true"] .control-icon--sound,[data-video-toggle][aria-pressed="false"] .control-icon--play { display:block; }
.inline-contact { color:var(--red); text-decoration:underline; text-underline-offset:4px; }
.event-booking { border:1px solid #e4dfd6; border-radius:18px; background:var(--paper); color:var(--ink); margin:auto; padding:clamp(24px,4vw,40px); width:min(600px,calc(100% - 24px)); max-height:calc(100dvh - 24px); overflow:auto; box-shadow:0 20px 70px #201a1538; }
.event-booking::backdrop { background:#1515158c; }
.event-booking { border:12px solid transparent; background:linear-gradient(var(--paper),var(--paper)) padding-box,var(--action-stripes) border-box,var(--paper); }
.event-booking h2 { font-size:clamp(1.8rem,4vw,2.5rem); margin-right:20px; }
.event-booking>p { margin-block:16px; }
.event-booking-close { position:absolute; top:10px; right:10px; width:44px; height:44px; border:0; background:transparent; font-size:28px; }
.booking-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px; }
.booking-fields label { display:grid; gap:8px; font-size:14px; }
.booking-fields input { min-width:0; width:100%; border:1px solid #c9c5bd; border-radius:8px; padding:13px 14px; background:#fff; font:inherit; font-size:16px; color:var(--ink); transition:border-color .25s,box-shadow .25s; }
.booking-fields input:focus { outline:2px solid var(--red); outline-offset:2px; border-color:transparent; }
.booking-welcome { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-right:34px; margin-bottom:14px; min-height:68px; }
.booking-welcome .eyebrow { max-width:180px; line-height:1.6; }
.booking-welcome img { flex-shrink:0; width:130px; height:68px; object-fit:cover; }
.event-booking [data-booking-summary] { color:var(--muted); line-height:1.6; }
.event-booking [data-booking-price] { font-size:1.1rem; padding-bottom:20px; border-bottom:1px solid var(--line); }
.event-booking .button { border-radius:8px; min-height:54px; }
.booking-consent { display:flex; gap:12px; margin:22px 0; font-size:14px; align-items:flex-start; }
.booking-consent input { width:20px; height:20px; flex-shrink:0; accent-color:var(--red); }
.booking-consent a,.booking-help { text-decoration:underline; text-underline-offset:3px; }
.booking-honeypot { position:absolute; left:-9999px; }
.booking-message { font-size:16px; }
.event-booking .button:disabled { opacity:.6; cursor:wait; }
@media(max-width:450px) { .booking-fields { grid-template-columns:1fr; } }
.program-dates { margin-block:32px 64px; padding:clamp(22px,4vw,48px); border:1px solid var(--line); border-radius:5px; background:#f0efec; }
.program-dates>header { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.program-dates h2 { font-size:clamp(1.8rem,3vw,2.7rem); }
.program-dates [role="status"] { margin:24px 0; color:var(--muted); }
.program-date { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; padding:28px 0; border-top:1px solid var(--line); }
.program-date h3 { font-size:1.35rem; font-weight:500; letter-spacing:-.02em; }
.program-date p { margin:10px 0; font-size:.9375rem; color:var(--muted); }
.program-date>div:last-child { text-align:right; }
.program-date strong { font-size:1.3rem; font-weight:500; }
.program-date .button { margin-top:12px; }
.program-date-help { border-top:1px solid var(--line); padding-top:24px; font-size:.9375rem; }
.program-date-help a { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:950px) { .yandex-reviews { grid-template-columns:1fr!important; } .yandex-reviews>header { position:static!important; } }
@media(max-width:680px) { .hero-audiences { grid-template-columns:1fr; max-width:340px; } .program-date { grid-template-columns:1fr; gap:12px; } .program-date>div:last-child { text-align:left; } .program-dates>header { align-items:flex-start; } .program-dates>header>.text-link { white-space:nowrap; } }
.site-header { background:var(--paper); }
.desktop-nav a[aria-current],.mobile-menu a[aria-current],.category-nav a[aria-current] { color:var(--red); }
.mobile-menu a[aria-current] { font-weight:500; }
.more-nav { position:relative; }
.more-nav summary { cursor:pointer; display:flex; align-items:center; gap:6px; list-style:none; }
.more-nav summary::-webkit-details-marker { display:none; }
.more-nav:has([aria-current])>summary { color:var(--red); }
.more-nav-panel { background:var(--paper); }
.desktop-nav .more-nav-panel { position:absolute; top:calc(100% + 18px); right:0; width:270px; padding:16px 22px; border:1px solid var(--line); box-shadow:0 12px 28px #00000012; border-radius:4px; }
.desktop-nav .more-nav-panel a { display:block; padding:12px 0; }
.more-nav[open] .more-nav-panel { animation:more-enter .55s cubic-bezier(.22,.61,.36,1); }
.mobile-menu .more-nav summary { font-size:20px; min-height:52px; justify-content:space-between; }
.mobile-menu .more-nav-panel { padding-left:18px; border-left:2px solid var(--line); }
.mobile-menu .more-nav-panel a { font-size:17px; }
@keyframes more-enter { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .more-nav-panel { animation:none!important; } }
.home-review-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:16px; background:var(--action-stripes),var(--paper); }
.home-review-cards article { border:1px solid var(--line); padding:28px; display:flex; flex-direction:column; background:var(--paper); }
.home-review-cards article>p { font-size:1.3rem; line-height:1.45; margin-bottom:28px; flex:1; }
.home-review-cards article>div { display:grid; gap:5px; font-size:.9375rem; }
.home-review-cards span,.review-snapshot-note { color:var(--muted); }
.review-snapshot-note { font-size:.875rem; margin-top:22px; }
.review-snapshot-note a { text-decoration:underline; text-underline-offset:3px; }
.review-sources { display:flex; gap:36px; justify-content:space-between; align-items:center; }
.review-sources h2 { font-size:clamp(1.8rem,3.3vw,3rem); }
.review-sources p:last-child { max-width:620px; margin-top:24px; line-height:1.6; }
.review-sources blockquote { max-width:620px; margin:30px 0 20px; font-size:clamp(1.25rem,2vw,1.8rem); line-height:1.5; }
.review-context { font-size:.875rem!important; line-height:1.6; color:var(--muted); }
.reviews-server-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.review-card { display:flex; min-width:0; flex-direction:column; padding:26px; border:1px solid var(--line); border-radius:5px; background:var(--paper); }
.review-card>div { display:flex; justify-content:space-between; gap:16px; font-size:.8125rem; }
.review-card strong { font-weight:500; }
.review-card time { color:var(--muted); white-space:nowrap; }
.review-card blockquote { flex:1; margin:22px 0 26px; font-size:1.05rem; line-height:1.58; }
.review-card>a { width:fit-content; border-bottom:1px solid var(--line); padding-bottom:6px; color:var(--muted); font-size:.8125rem; }
.yandex-reviews-content>.review-context { margin:20px 0 34px; }
.reviews-live { border-top:1px solid var(--line); padding-top:24px; }
.reviews-live>summary { width:fit-content; display:flex; align-items:center; gap:10px; cursor:pointer; color:var(--red); font-weight:500; list-style:none; }
.reviews-live>summary::-webkit-details-marker { display:none; }
.reviews-live>summary i::before { content:'+'; font-style:normal; }
.reviews-live[open]>summary i::before { content:'−'; }
.reviews-live .yandex-reviews-widget { margin-top:24px; }
@media(max-width:680px) { .home-review-cards { grid-template-columns:1fr; gap:16px; } .home-review-cards article { padding:24px; } .review-sources { display:block; } .review-sources>.text-link { margin-top:24px; } }
.kids-art-intro { position:relative; isolation:isolate; }
.kids-art-intro::before { content:""; position:absolute; inset:0; z-index:-1; background:url('/assets/kids-archive-pattern.png') right center/460px auto repeat; opacity:.5; mask-image:linear-gradient(90deg,transparent 35%,#000 90%); }
.kids-art-intro>p:last-child { max-width:650px; }
.kids-together { display:grid; grid-template-columns:240px minmax(0,650px); justify-content:center; align-items:center; gap:clamp(25px,6vw,90px); padding-block:45px 75px; border-block:1px solid var(--line); }
.kids-together img { width:100%; height:auto; }
.kids-together h2 { font-size:clamp(1.8rem,3vw,3rem); margin-bottom:24px; }
.kids-together p:last-child { font-size:1.0625rem; line-height:1.65; }
.kids-archive-accent { position:relative; isolation:isolate; }
.kids-archive-accent::before { content:""; position:absolute; inset:0; z-index:-1; background:url('/assets/kids-archive-pattern.png') center/460px auto repeat; opacity:.25; mask-image:linear-gradient(90deg,#000,transparent 45%); }
@media(max-width:680px) { .kids-art-intro::before { opacity:.35; mask-image:linear-gradient(90deg,transparent 50%,#000); background-size:350px auto; } .kids-together { grid-template-columns:1fr; gap:8px; padding-block:24px 40px; } .kids-together img { width:180px; justify-self:center; } }
.eyebrow { font-size:.8125rem; }
.preview-note { font-size:.75rem; }
.desktop-nav { font-size:.875rem; gap:clamp(12px,1.3vw,22px); }
.desktop-nav a { white-space:nowrap; }
.button,.text-link { font-size:.9375rem; }
.button--small { font-size:.875rem; }
.hero-description,.body-copy,.concern-list p,.program-description,.kids-content>p:not(.eyebrow):not(.kids-lead),.stage-copy p:not(.eyebrow),.studio-copy>p:not(.eyebrow),.faq-list details>div { font-size:1rem; }
.hero-foot,.format-label,.program-kicker,.teacher p,.teacher span,.price-note,.program-price>span,.studio-links a,.footer-top>div>a,.footer-bottom,.video-controls button,.video-caption,.video-status { font-size:.8125rem; }
.hero-kids { margin-top:14px; font-size:.875rem; }
.hero h1 { font-size:clamp(2.4rem,5.2vw,5.3rem); }
.hero-description { max-width:31rem; }
.hero-foot { padding-top:26px; }
.program.program--illustrated { padding:0; border:1px solid var(--line); border-radius:5px; overflow:hidden; min-width:0; }
.program-photo { display:block; width:100%; margin:0; overflow:hidden; }
.program-photo img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; filter:none; }
.program-photo img[src*="format-individual"] { object-position:50% 87%; }
.program-copy { display:flex; flex-direction:column; flex:1; border:0; padding:28px; }
.program--featured .program-copy { border:0; padding:28px; }
.program.program--featured { border-color:var(--red); }
.program-description { max-width:40ch; min-height:0; margin-bottom:24px; }
.program-copy h3 { min-height:2.3em; font-size:clamp(1.6rem,2.5vw,2.35rem); }
.program-copy .price-note { max-width:42ch; }
.basic-spotlight { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--line); border-radius:5px; overflow:hidden; padding:0; margin-block:var(--space); align-items:stretch; }
.basic-copy { padding:clamp(24px,3.5vw,52px); }
.basic-copy h2 { font-size:clamp(2.4rem,4.6vw,4.4rem); }
.basic-copy .body-copy { max-width:31rem; }
.basic-cadence { max-width:31rem; margin-top:22px; font-size:1rem; }
.course-rhythm { margin-top:52px; padding-top:36px; border-top:1px solid var(--line); }
.course-rhythm h2 { font-size:clamp(1.8rem,3.1vw,2.8rem); max-width:50rem; }
.rhythm-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; margin-top:32px; }
.rhythm-grid article { border-top:2px solid var(--line); padding-top:22px; }
.rhythm-grid article:first-child { border-color:var(--red); }
.rhythm-label { font-size:.875rem; margin-bottom:14px; color:var(--muted); }
.rhythm-grid h3 { font-size:clamp(1.4rem,2.2vw,1.8rem); line-height:1.25; font-weight:500; letter-spacing:-.03em; }
.rhythm-grid h3+p { margin-top:16px; color:var(--muted); font-size:1rem; }
.rhythm-day { margin-top:22px; font-size:.9375rem; }
.basic-tags { display:flex; flex-wrap:wrap; gap:10px 20px; margin:26px 0; font-size:.875rem; color:var(--muted); }
.basic-tags span { padding-bottom:8px; border-bottom:1px solid var(--line); }
.basic-meeting { margin-top:18px; }
.basic-visual { min-width:0; display:flex; flex-direction:column; }
.basic-visual figure { position:relative; flex:1; min-height:330px; }
.basic-visual img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; border-radius:0; }
.basic-visual figcaption { position:absolute; inset:auto 20px 16px; background:#171717cf; color:white; padding:8px 12px; font-size:.75rem; width:fit-content; }
.basic-offer { padding:28px 32px; border:0; background:var(--ink); color:white; }
.basic-offer .eyebrow { margin-bottom:14px; color:#d8d6d1; }
.basic-offer h3 { font-size:clamp(1.5rem,2.5vw,2rem); font-weight:500; letter-spacing:-.035em; line-height:1.2; }
.basic-offer>p:last-child { font-size:.9375rem; margin-top:18px; }
.kids-section { background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.teachers-stripes { background:var(--action-stripes),var(--paper); }
.teacher { background:var(--paper); }
.teacher p { min-height:4.25rem; }
.faq-list summary { width:100%; grid-template-columns:minmax(0,1fr) 22px; }
.faq-list summary>span { min-width:0; }
.final-cta { background:var(--red); }
.final-cta h2 span { color:#f1d8d4; }
.final-cta .button { background:white; color:var(--ink); }
.final-cta .button:hover { background:var(--paper); }
.final-cta .text-link,.final-cta .text-link span { color:white; border-color:#ffffff80; }
.final-cta .text-link:hover { border-color:white; }
.final-cta p.final-note { font-size:.8125rem; color:#f0d6d2; }
.footer-bottom { flex-wrap:wrap; }
.yandex-reviews { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(520px,1.28fr); gap:clamp(42px,7vw,110px); align-items:start; }
.yandex-reviews>header { position:sticky; top:calc(var(--header-height,88px) + 34px); }
.yandex-reviews h2 { font-size:clamp(2.7rem,5vw,5rem); line-height:.96; letter-spacing:-.055em; font-weight:500; }
.yandex-reviews>header>p:not(.eyebrow) { margin:26px 0; max-width:34ch; color:var(--muted); line-height:1.55; }
.yandex-reviews-widget { position:relative; min-height:620px; border:1px solid var(--line); border-radius:5px; overflow:hidden; background:var(--paper); }
.yandex-reviews-widget iframe { position:absolute; inset:0 0 34px; width:100%; height:calc(100% - 34px); border:0; opacity:0; pointer-events:none; transition:opacity .3s ease; }
.yandex-reviews-widget[data-reviews-state="ready"] iframe { opacity:1; pointer-events:auto; }
.reviews-fallback { min-height:584px; display:flex; flex-direction:column; padding:clamp(24px,4vw,48px); }
.yandex-reviews-widget[data-reviews-state="ready"] .reviews-fallback { visibility:hidden; }
.reviews-rating { display:grid; grid-template-columns:auto 1fr; gap:5px 18px; align-items:center; padding-bottom:28px; border-bottom:1px solid var(--line); }
.reviews-rating strong { font-size:3rem; line-height:1; font-weight:500; letter-spacing:-.05em; }
.reviews-rating span { color:var(--red); letter-spacing:.12em; }
.reviews-rating p { grid-column:1/-1; margin-top:10px; font-size:.875rem; color:var(--muted); }
.reviews-fallback-actions { margin-top:auto; padding-top:28px; display:flex; justify-content:space-between; gap:20px; align-items:center; font-size:.875rem; }
.reviews-fallback-actions a { border-bottom:1px solid var(--line); padding-bottom:7px; }
.reviews-fallback-actions button { border:0; background:none; color:var(--red); cursor:pointer; font:inherit; padding:7px 0; }
.reviews-credit { position:absolute; inset:auto 16px 10px; color:var(--muted); font-size:.6875rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hero-visual video,.stage-story figure img,.basic-visual img,.kids-photo img,.detail-hero figure img,.kids-wide img { filter:none; }
.kids-photo img { object-position:48% 50%; }
.teacher>img,.teacher-profile-photo { filter:none; }
.teacher-directory { padding:40px 0; }
.teacher-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 28px; }
.teacher-directory-card { background:var(--paper); min-width:0; }
.teacher-profile-photo { width:100%; height:auto; aspect-ratio:1/1.07; object-fit:cover; }
.teacher-directory-card>div { padding:26px; }
.teacher-directory-card>div>p { max-width:40ch; }
.teacher-directory-card h2 { font-size:clamp(1.65rem,2.5vw,2.2rem); line-height:1.14; }
.teacher-role { margin-top:16px; color:var(--muted); font-size:1rem; }
.teacher-subject { margin-top:23px; border-top:1px solid var(--line); padding-top:20px; font-size:1rem; }
.teacher-subject small { display:block; font-size:.875rem; color:var(--muted); margin-bottom:8px; }
.teacher-education { margin-top:18px; font-size:.9375rem; color:var(--muted); }
.teacher-directory-card .text-link { font-size:.875rem; margin-top:24px; gap:15px; }
.teacher-schedule-note { display:grid; grid-template-columns:1fr 1fr; gap:10%; }
.teacher-schedule-note p { font-size:1.125rem; color:var(--muted); margin-bottom:24px; }
.faq-directory { max-width:1100px; padding-bottom:var(--space); }
.faq-category { display:block; margin-bottom:10px; font-size:.875rem; letter-spacing:.02em; color:var(--muted); font-weight:400; }
.faq-directory .faq-list details>div { padding-right:48px; font-size:1rem; }
.faq-directory .faq-list details>div p+p { margin-top:18px; }
.faq-list details>div>p,.faq-directory .faq-list details>div>p { max-width:62ch; line-height:1.65; }
.faq-list .text-link { margin-top:20px; }
.faq-contact { margin-top:64px; padding-top:36px; border-top:1px solid var(--line); }
.faq-contact h2 { font-size:clamp(2rem,4vw,3rem); }
.faq-contact p { margin:22px 0; color:var(--muted); }
@media(max-width:1000px) { .teacher-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) { .teacher-directory-grid,.teacher-schedule-note { grid-template-columns:1fr; gap:30px; } .teacher-directory-card>div { padding:24px; } .faq-directory .faq-list details>div { padding-right:0; } }
.basic-visual img { object-position:50% 0%; }
.need-list { border-top:1px solid var(--line); }
.need-list details { border-bottom:1px solid var(--line); }
.need-list summary { display:grid; grid-template-columns:minmax(0,1fr) 22px; gap:24px; align-items:center; padding:25px 0; list-style:none; cursor:pointer; font-size:clamp(1.2rem,1.8vw,1.65rem); font-weight:500; letter-spacing:-.03em; line-height:1.3; }
.need-list summary::-webkit-details-marker { display:none; }
.need-list summary::marker { content:''; }
.need-list summary i { display:block; position:relative; width:20px; height:20px; }
.need-list summary i::before,.need-list summary i::after { content:''; position:absolute; width:18px; height:1px; top:9px; left:1px; background:var(--red); }
.need-list summary i::after { transform:rotate(90deg); transition:transform .3s; }
.need-list details[open] summary i::after { transform:rotate(0); }
.need-content { padding:0 0 25px; }
.need-content>p:first-child { color:var(--muted); max-width:31rem; font-size:1rem; }
.recommended { display:flex; gap:24px; align-items:center; justify-content:space-between; padding:18px 20px; margin:20px 0; border:1px solid var(--line); border-left:3px solid var(--red); }
.recommended:hover { border-color:var(--red); }
.recommended small { display:block; font-size:.8125rem; color:var(--muted); margin-bottom:5px; }
.recommended strong { font-size:1.2rem; font-weight:500; line-height:1.3; }
.recommended>span:last-child { color:var(--red); font-size:1.5rem; }
.need-more-label { font-size:.8125rem; color:var(--muted); margin-bottom:8px; }
.need-more { display:flex; flex-wrap:wrap; gap:8px 20px; }
.need-more a { font-size:.875rem; min-height:36px; display:inline-flex; align-items:center; gap:12px; border-bottom:1px solid var(--line); }
.need-more a:hover { color:var(--red); }
.need-note { font-size:.875rem; color:var(--muted); padding-top:22px; }
.need-note a { margin-left:6px; }
.final-actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:20px 32px; }
.final-actions .text-link { margin:0; }
.final-cta p { max-width:50rem; margin-left:auto!important; margin-right:auto!important; }
.bordered { border-top:1px solid var(--line); }
.catalog-intro { padding-top:72px; padding-bottom:58px; }
.catalog-intro h1 { font-size:clamp(2.75rem,7vw,6.5rem); letter-spacing:-.055em; line-height:1.04; font-weight:500; }
.catalog-intro>p:last-child { max-width:44rem; font-size:1.125rem; color:var(--muted); margin-top:28px; }
.category-nav { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:16px 32px; padding-top:12px; padding-bottom:12px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.category-nav a { display:inline-flex; flex-shrink:0; min-height:44px; align-items:center; font-size:.9375rem; white-space:nowrap; }
.category-nav a:hover { color:var(--red); }
.category-nav a.is-active { color:var(--red); text-decoration:underline; text-underline-offset:7px; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 30px; }
.catalog-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.catalog-card { border-top:1px solid var(--ink); padding-top:27px; min-width:0; display:flex; flex-direction:column; align-items:flex-start; }
.catalog-card--basic { border-top:3px solid var(--red); padding-top:25px; }
.catalog-card .eyebrow { margin-bottom:18px; }
.catalog-card h3 { width:100%; font-size:clamp(1.6rem,2.5vw,2.4rem); line-height:1.15; letter-spacing:-.045em; font-weight:500; }
.catalog-card h3 a { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.catalog-card h3 span { flex-shrink:0; color:var(--red); font-size:1.5rem; }
.catalog-card>p:not(.eyebrow) { color:var(--muted); margin:20px 0 26px; }
.catalog-card-bottom { margin-top:auto; width:100%; display:flex; flex-direction:column; gap:8px; }
.catalog-card-bottom>span { color:var(--muted); font-size:.875rem; }
.catalog-card-bottom>strong { font-size:1.4rem; font-weight:500; }
.catalog-card>small { font-size:.8125rem; margin-top:10px; color:var(--muted); min-height:2.8em; }
.catalog-card .text-link { margin-top:18px; }
.section-note,.source-note { font-size:.875rem; color:var(--muted); margin:24px 0; }
.section-note.section-shell { margin-left:auto; margin-right:auto; }
.detail-offer { padding:30px 0 8px 30px; margin-top:40px; border-left:3px solid var(--red); max-width:62rem; }
.detail-offer .eyebrow { color:var(--red); margin-bottom:14px; }
.detail-offer h3 { font-weight:500; letter-spacing:-.035em; font-size:clamp(1.5rem,2.6vw,2.1rem); line-height:1.2; }
.detail-offer>p:last-child { margin-top:14px; max-width:49rem; }
.individual-strip { display:grid; grid-template-columns:1fr 1.6fr; gap:8%; align-items:center; }
.individual-strip>img { width:180px; height:180px; object-fit:contain; margin:auto; }
.individual-strip .button { margin-top:28px; }
.kids-wide figure { position:relative; }
.kids-wide img { width:100%; height:auto; aspect-ratio:2.1; object-fit:cover; object-position:50% 30%; }
.kids-wide figcaption { position:absolute; bottom:18px; left:20px; color:#fff; background:#171717ce; padding:6px 10px; font-size:.8125rem; }
.kids-intro-note { display:grid; grid-template-columns:1fr 1fr; gap:10%; }
.kids-intro-note>div>p:not(.eyebrow) { margin-bottom:22px; }
.kids-intro-note .text-link { margin-top:18px; }
.breadcrumbs { display:flex; gap:10px; flex-wrap:wrap; font-size:.8125rem; color:var(--muted); padding-top:30px; padding-bottom:24px; }
.breadcrumbs a { text-decoration:underline; text-underline-offset:4px; }
.detail-hero { display:grid; grid-template-columns:1fr 1fr; gap:7%; padding-top:28px; padding-bottom:56px; align-items:start; }
.detail-hero h1 { font-size:clamp(2.3rem,4.4vw,4.5rem); font-weight:500; letter-spacing:-.05em; line-height:1.05; overflow-wrap:break-word; }
.detail-hero .detail-lead { font-size:1.25rem; line-height:1.4; margin:28px 0 20px; letter-spacing:-.02em; }
.detail-hero p:not(.detail-lead):not(.eyebrow):not(.booking-note) { color:var(--muted); }
.detail-hero .booking-note { font-size:.8125rem; margin-top:16px; color:var(--muted); }
.detail-hero figure { position:relative; }
.detail-hero figure img { width:100%; aspect-ratio:1.1; height:auto; object-fit:cover; border-radius:4px; object-position:50% 20%; }
.detail-hero figcaption { font-size:.75rem; margin-top:10px; color:var(--muted); }
.detail-facts { margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.detail-facts>div { padding:26px 24px; border-right:1px solid var(--line); min-width:0; }
.detail-facts>div:first-child { padding-left:0; }
.detail-facts>div:last-child { border:0; }
.detail-facts dt { font-size:.8125rem; color:var(--muted); margin-bottom:20px; text-transform:uppercase; letter-spacing:.08em; }
.detail-facts dd { margin:0; font-size:clamp(1rem,1.45vw,1.3rem); font-weight:500; line-height:1.4; }
.detail-facts dd small { display:block; margin-top:14px; color:var(--muted); font-size:.8125rem; font-weight:400; }
.fact-lines { display:flex; flex-direction:column; gap:12px; }
.fact-lines>span { display:block; }
.detail-split { display:grid; grid-template-columns:1fr 1fr; gap:10%; }
.detail-split h2,.detail-fit h2,.related-programs h2 { font-size:clamp(1.8rem,3vw,2.4rem); }
.detail-fit { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10%; }
.detail-fit .plain-list { margin-top:28px; }
.detail-split>div:last-child>p { max-width:62ch; }
.plain-list { padding:0; margin:0; list-style:none; }
.plain-list li { padding:19px 0; border-bottom:1px solid var(--line); line-height:1.5; font-size:1.125rem; }
.plain-list li:first-child { border-top:1px solid var(--line); }
.practice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 50px; }
.practice-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.practice-section .section-heading { margin-bottom:26px; }
.practice-intro { max-width:66ch; color:var(--muted); font-size:1.125rem; line-height:1.6; margin-bottom:38px; }
.practice-grid article { min-width:0; }
.practice-grid p,.text-sections p { max-width:60ch; line-height:1.6; }
.practice-grid article { border-top:1px solid var(--line); padding-top:22px; }
.practice-grid h3,.text-sections h3 { font-size:1.6rem; font-weight:500; letter-spacing:-.035em; line-height:1.25; }
.practice-grid p,.text-sections p { margin-top:16px; color:var(--muted); }
.practice-grid .practice-result { color:var(--ink); }
.practice-grid small { display:block; font-size:.875rem; color:var(--muted); margin-top:14px; }
.program-motif { width:170px; height:150px; object-fit:contain; }
.detail-drawing { width:160px; height:160px; object-fit:contain; margin:32px 0 0 20%; }
.teacher-note { color:var(--muted); margin:28px 0 18px; }
.teacher-links { display:flex; flex-wrap:wrap; gap:16px; }
.text-sections article { margin-bottom:32px; }
.basic-bridge { display:flex; align-items:center; justify-content:space-between; gap:24px 40px; border-block:1px solid var(--line); padding:28px 0; margin-bottom:42px; }
.basic-bridge h3 { font-size:1.8rem; line-height:1.2; font-weight:500; letter-spacing:-.03em; }
.basic-bridge .eyebrow { margin-bottom:12px; }
.basic-bridge p:not(.eyebrow) { max-width:49ch; margin-top:14px; color:var(--muted); }
.basic-bridge .button { flex-shrink:0; }
.catalog-photo { display:block; width:100%; margin-bottom:25px; }
.catalog-photo img { width:100%; height:auto; aspect-ratio:1.5; object-fit:cover; filter:none; }
.schedule-intro { display:grid; grid-template-columns:1fr 1fr; gap:10%; padding-top:64px; padding-bottom:48px; align-items:end; }
.schedule-intro h1 { font-size:clamp(2.75rem,6vw,5.5rem); font-weight:500; line-height:1.04; letter-spacing:-.055em; }
.schedule-intro>div:last-child { color:var(--muted); }
.schedule-intro .text-link { margin-top:18px; }
.schedule-toolbar { position:sticky; top:84px; z-index:12; background:var(--paper); padding:22px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.filter-row { display:flex; justify-content:space-between; gap:16px; align-items:center; flex-wrap:wrap; }
.filter-row--secondary { margin-top:14px; gap:12px 32px; }
[data-filter] { display:flex; gap:7px; flex-wrap:wrap; }
[data-filter] button { display:inline-flex; align-items:center; justify-content:center; padding:10px 16px; min-height:44px; border:1px solid var(--line); border-radius:3px; background:transparent; color:var(--ink); font-size:.9375rem; transition:background .2s,color .2s; }
[data-filter] button[aria-pressed=true] { background:var(--ink); color:white; border-color:var(--ink); }
[data-filter] button:hover { border-color:var(--ink); }
[data-filter=month] button { text-transform:capitalize; }
#event-count { font-size:.875rem; color:var(--muted); }
.schedule-source { margin:20px 0 28px; max-width:55rem; color:var(--muted); font-size:.8125rem; }
.schedule-month-title { font-size:2.1rem; text-transform:capitalize; margin:32px 0; }
.events-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 28px; }
.event-card { border:1px solid var(--line); border-radius:5px; overflow:hidden; min-width:0; display:flex; flex-direction:column; }
.event-date { display:flex; justify-content:space-between; align-items:center; padding:20px 26px; gap:20px; }
.event-date time { display:flex; align-items:center; gap:16px; }
.event-date time>strong { font-size:3.2rem; font-weight:450; line-height:1; letter-spacing:-.055em; }
.event-date time>span { font-size:1rem; line-height:1.4; }
.event-spots { padding:6px 10px; border:1px solid var(--line); border-radius:3px; font-size:.8125rem; }
.event-spots--full { color:var(--muted); }
.event-photo { display:block; width:100%; }
.event-photo img { width:100%; aspect-ratio:1.5; height:auto; object-fit:cover; filter:none; }
.event-copy { padding:27px; display:flex; flex-direction:column; flex:1; }
.event-copy .eyebrow { margin-bottom:16px; color:var(--muted); }
.event-copy h3 { font-size:clamp(1.75rem,2.8vw,2.5rem); font-weight:500; letter-spacing:-.045em; line-height:1.12; }
.event-copy h3 a:hover { color:var(--red); }
.event-description { margin:18px 0 26px; color:var(--muted); }
.event-facts { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:21px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:auto 0 0; }
.event-facts dt { font-size:.8125rem; color:var(--muted); margin-bottom:8px; }
.event-facts dd { margin:0; font-size:.9375rem; }
.event-bottom { display:flex; justify-content:space-between; gap:20px; align-items:center; padding-top:24px; flex-wrap:wrap; }
.event-bottom strong { font-size:1.75rem; font-weight:500; letter-spacing:-.03em; }
.event-bottom small { display:block; color:var(--muted); font-size:.8125rem; margin-top:6px; }
.schedule-outside { margin:50px 0 70px; border-top:1px solid var(--line); padding-top:28px; color:var(--muted); font-size:.875rem; }
.schedule-outside .text-link { margin-top:16px; }
.schedule-empty { padding:55px 0; }
.schedule-empty p { margin:20px 0; }
@media(max-width:1280px) { .desktop-nav { display:none; } .menu-toggle { display:flex; } }
@media(min-width:681px) and (max-width:1050px) {
 .program-grid { grid-template-columns:1fr; gap:40px; }
 .program.program--illustrated { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:start; }
 .program-photo { margin:0; }
 .program-copy h3 { min-height:0; }
 .practice-grid--three { grid-template-columns:1fr; }
}
@media(max-width:920px) { .basic-spotlight { gap:5%; } .basic-copy h2 { font-size:2.65rem; } }
@media(max-width:1050px) { .detail-facts { grid-template-columns:repeat(2,minmax(0,1fr)); } .detail-facts>div { padding:24px; border-bottom:1px solid var(--line); } .detail-facts>div:first-child { padding-left:24px; } .detail-facts>div:nth-child(2n) { border-right:0; } .detail-facts>div:nth-child(n+3) { border-bottom:0; } .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) {
 .basic-spotlight { grid-template-columns:1fr; gap:36px; }
 .rhythm-grid { grid-template-columns:1fr; gap:28px; }
 .basic-copy h2 { font-size:clamp(2.25rem,9vw,3.6rem); }
 .basic-offer { padding:24px; }
 .hero-description { font-size:1rem; }
 .hero-actions { gap:20px; }
 .hero-actions .button,.hero-actions .text-link { font-size:.9375rem; }
 .hero-foot { flex-wrap:wrap; gap:8px 16px; }
 .hero h1 { font-size:clamp(2rem,9.7vw,4rem); }
 .section-intro .body-copy,.stage-copy p:not(.eyebrow),.program-description,.kids-content>p:not(.eyebrow):not(.kids-lead),.studio-copy>p:not(.eyebrow),.faq-list details>div { font-size:1rem; }
 .format-label,.concern-list p,.teacher p,.teacher span,.studio-links a { font-size:.875rem; }
 .teacher>div { padding:18px 12px; }
 .teacher p { min-height:5.5rem; }
 .button--small { font-size:.8125rem; }
 .preview-note { font-size:.75rem; }
 .faq-list summary { font-size:1.25rem; gap:20px; }
 .catalog-intro { padding-top:40px; padding-bottom:36px; }
 .catalog-intro h1 { font-size:clamp(2.65rem,10.2vw,4rem); }
 .catalog-intro>p:last-child { font-size:1rem; }
 .category-nav { gap:4px 24px; }
 .catalog-grid { grid-template-columns:1fr; gap:38px; }
 .catalog-card h3 { font-size:2rem; }
 .catalog-card>small { min-height:0; }
 .individual-strip,.kids-intro-note,.detail-hero,.detail-split,.detail-fit { grid-template-columns:1fr; gap:32px; }
 .program-copy h3 { min-height:0; font-size:2rem; }
 .program-photo { margin-bottom:20px; }
 .program-copy { padding-top:22px; }
 .detail-fit { gap:40px; }
 .detail-fit .plain-list { margin-top:20px; }
 .practice-intro { font-size:1rem; margin-bottom:30px; }
 .basic-bridge { align-items:flex-start; flex-direction:column; }
 .individual-strip>img { margin:0; width:125px; height:125px; }
 .kids-wide img { aspect-ratio:1.15; }
 .kids-wide figcaption { font-size:.75rem; }
 .detail-hero { padding-top:12px; padding-bottom:38px; }
 .detail-hero h1 { font-size:clamp(2.1rem,9vw,3.7rem); }
 .detail-hero figure img { aspect-ratio:1.35; }
 .detail-hero .hero-actions { gap:15px; }
 .detail-facts { grid-template-columns:1fr; }
 .detail-facts>div,.detail-facts>div:first-child { padding:22px 0; border-right:0; border-bottom:1px solid var(--line); }
 .detail-facts>div:nth-child(3) { border-bottom:1px solid var(--line); }
 .detail-facts>div:last-child { border-bottom:0; }
 .detail-facts dt { margin-bottom:12px; }
 .detail-facts dd { font-size:1.25rem; }
 .detail-offer { margin-top:28px; padding:8px 0 8px 20px; }
 .practice-grid { grid-template-columns:1fr; gap:28px; }
 .detail-split h2,.detail-fit h2,.related-programs h2 { font-size:2rem; }
 .detail-drawing { width:100px; height:100px; margin:24px 0 0 auto; }
 .plain-list li { font-size:1rem; }
 .need-list summary { font-size:1.25rem; }
 .recommended { padding:16px; }
 .recommended strong { font-size:1.125rem; }
 .final-actions { flex-direction:column; gap:20px; }
 .final-cta p { font-size:1rem!important; }
 .final-cta p.final-note { font-size:.8125rem!important; }
 .schedule-intro { grid-template-columns:1fr; gap:24px; padding-top:38px; padding-bottom:30px; }
 .schedule-intro h1 { font-size:clamp(2.6rem,11vw,4rem); }
 .schedule-intro>div:last-child p { font-size:1rem; }
 .schedule-toolbar { top:80px; transition:transform .7s cubic-bezier(.2,.65,.2,1),opacity .5s ease; will-change:transform; }
 .schedule-toolbar.is-hidden:not(:focus-within) { transform:translateY(calc(-100% - 82px)); opacity:0; pointer-events:none; }
 .filter-row { gap:12px; }
 .filter-row--secondary { align-items:flex-start; flex-direction:column; }
 [data-filter] button { font-size:.875rem; padding:10px 13px; }
 [data-filter=month] { flex-wrap:nowrap; overflow-x:auto; max-width:100%; padding-bottom:4px; }
 [data-filter=month] button { white-space:nowrap; }
 .events-grid { grid-template-columns:1fr; gap:28px; }
 .event-date { padding:19px 22px; }
 .event-copy { padding:23px; }
 .event-copy h3 { font-size:2rem; }
 .event-date time>strong { font-size:3rem; }
 .event-facts { grid-template-columns:1fr; gap:17px; }
 .event-facts>div { display:grid; grid-template-columns:85px 1fr; gap:10px; }
 .event-facts dt { margin:0; }
 .event-bottom .button { padding:15px 17px; gap:16px; }
 .yandex-reviews { grid-template-columns:1fr; gap:32px; }
 .yandex-reviews>header { position:static; }
 .yandex-reviews-widget { min-height:690px; }
 .reviews-fallback { min-height:654px; padding:24px; }
 .reviews-server-grid { grid-template-columns:1fr; }
 .review-card { padding:22px; }
 .reviews-fallback-actions { align-items:flex-start; flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { .schedule-toolbar { transition:none; } }

/* Shared secondary navigation: preserve flow, move only the visible panel. */
.sticky-sentinel { display:block; height:0; pointer-events:none; }
.category-nav.reveal-navigation,.schedule-toolbar.reveal-navigation { position:sticky; top:var(--header-height,88px); z-index:15; background:var(--paper); transition:transform .95s cubic-bezier(.22,.61,.36,1),opacity .7s ease; }
.mobile-menu { max-height:calc(100dvh - var(--header-height,88px) - 16px); overflow-y:auto; overscroll-behavior:contain; transform-origin:top; }
.reveal-navigation.is-hidden:not(:focus-within) { transform:translateY(calc(-100% - var(--header-height,88px))); opacity:0; pointer-events:none; }
[hidden] { display:none!important; }
/* Anchor spacing already includes the sticky header; do not also inherit the foundation padding. */
html { scroll-padding-top:0; }
[id] { scroll-margin-top:calc(var(--header-height,88px) + 92px); }
.program-photo { overflow:hidden; }
.program-photo img[src*="format-trainings"] { object-position:53% 46%; }
.program-photo img[src*="format-individual"] { object-position:78% 45%; transform:scale(1.24); transform-origin:82% 45%; }
.course-work { border:1px solid var(--line); border-radius:5px; padding:clamp(24px,4vw,60px); margin-top:32px; }
.course-work .section-heading h2 { font-size:clamp(2rem,3.4vw,3.4rem); }
.course-price { max-width:29ch; }
.course-price strong { display:block; font-size:2rem; font-weight:500; }
.course-price p,.course-price span { font-size:1rem; color:var(--muted); line-height:1.6; }
.course-work .practice-intro { max-width:74ch; font-size:1.125rem; }
.course-process { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-block:38px; }
.course-process article { border-top:1px solid var(--line); padding-top:24px; }
.course-work h3 { font-size:1.45rem; line-height:1.2; font-weight:500; letter-spacing:-.025em; }
.course-process p,.course-support p,.course-fit p,.meeting-process p { font-size:1rem; line-height:1.65; color:var(--muted); margin-top:16px; }
.course-work .course-rhythm { padding:28px 0; margin:0; border-block:1px solid var(--line); }
.course-work .rhythm-grid { margin-top:24px; gap:32px; }
.course-work .rhythm-grid article { padding:0; border:0; }
.course-work h4 { font-size:1.5rem; font-weight:500; margin:12px 0; }
.course-work .rhythm-grid p { font-size:1rem; }
.course-support,.course-fit { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:32px; }
.course-support .text-link { margin-top:16px; }
.course-fit { padding-top:32px; border-top:1px solid var(--line); }
.course-fit ul { padding-left:20px; font-size:1rem; line-height:1.7; color:var(--muted); margin-top:16px; }
.course-next { padding-block:40px; margin-bottom:56px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px; }
.course-next>div { display:flex; flex-wrap:wrap; gap:20px; }
.course-next h2 { max-width:20ch; }
.course-next>p { max-width:40ch; color:var(--muted); line-height:1.6; }
.meeting-announcement { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); margin-top:32px; border-top:1px solid var(--line); padding-top:32px; gap:28px; }
.meeting-announcement figure { min-width:0; }
.meeting-announcement img { width:100%; height:100%; max-height:320px; object-fit:cover; border-radius:3px; }
.meeting-copy h3 { margin:12px 0; }
.meeting-copy>p { font-size:1rem; line-height:1.55; color:var(--muted); }
.meeting-copy .eyebrow { font-size:.875rem; }
.meeting-copy .meeting-date { color:var(--ink); margin-top:16px; font-weight:500; }
.meeting-copy .meeting-teachers { margin-top:8px; }
.meeting-actions { display:flex; flex-wrap:wrap; gap:14px 24px; margin-top:18px; }
.meeting-actions .text-link { margin:0; }
.meeting-announcement--compact { display:block; padding-top:24px; margin-top:24px; }
.meeting-announcement--compact h3 { font-size:1.3rem; }
.meeting-live { background:var(--ink); color:var(--paper); padding:32px; border-radius:5px; margin-top:24px; }
.meeting-live h2 { font-size:2rem; margin:14px 0; }
.meeting-live p { line-height:1.6; margin-bottom:12px; }
.meeting-live .text-link { color:var(--paper); }
.meeting-process { display:grid; grid-template-columns:1fr 1.25fr; gap:7%; }
.meeting-process .practice-intro { font-size:1.2rem; margin-top:0; }
.meeting-fit { margin-top:28px; gap:28px; }
.meeting-fit h3 { font-size:1.25rem; font-weight:500; }
.schedule-meeting { display:grid; grid-template-columns:240px minmax(0,1fr); gap:32px; margin-top:24px; border:1px solid var(--red); border-radius:4px; padding:24px; }
.schedule-meeting-photo img { width:100%; height:100%; object-fit:cover; }
.schedule-meeting h2 { font-size:2rem; margin:12px 0; }
.schedule-meeting p { margin-top:10px; font-size:1rem; line-height:1.5; }
.schedule-meeting .eyebrow { margin:0; font-size:.875rem; }
.advanced-course { display:grid; grid-template-columns:1fr 1fr; margin-top:36px; border:1px solid var(--line); border-radius:4px; overflow:hidden; }
.advanced-course>div { padding:clamp(24px,3vw,40px); }
.advanced-course img { width:100%; height:100%; max-height:360px; object-fit:cover; }
.advanced-course h2,.laboratory-overview h2 { font-size:clamp(2rem,4vw,3.4rem); margin:20px 0; }
.advanced-course p,.laboratory-overview p { font-size:1.0625rem; line-height:1.6; color:var(--muted); }
.advanced-course .text-link,.laboratory-overview .text-link { margin-top:24px; }
.laboratory-overview { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.laboratory-overview img { width:100%; height:430px; object-fit:cover; }
.individual-booking { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding-block:48px; border-block:1px solid var(--line); align-items:center; background:linear-gradient(90deg,transparent 0 52%,#f1eee733 52%); }
.individual-booking h2 { font-size:2.5rem; margin:20px 0; }
.individual-booking p { max-width:52ch; line-height:1.6; }
.booking-dialog { width:min(860px,calc(100vw - 32px)); max-height:92dvh; height:880px; padding:0 20px 18px; border:12px solid transparent; border-radius:20px; color:var(--ink); background:linear-gradient(var(--paper),var(--paper)) padding-box,var(--action-stripes) border-box,var(--paper); box-shadow:0 24px 80px #201a1542; overflow:hidden; }
.booking-dialog::backdrop { background:#171717a8; backdrop-filter:blur(3px); }
.booking-dialog-header { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:18px 2px 14px; }
.booking-dialog-header h2 { font-size:clamp(1.45rem,3vw,2rem); margin-top:5px; font-weight:500; letter-spacing:-.035em; }
.booking-dialog-header .eyebrow { color:var(--red); }
.booking-close { border:1px solid var(--line); border-radius:50%; background:var(--paper); width:46px; height:46px; font-size:1.75rem; line-height:1; cursor:pointer; flex-shrink:0; transition:background .25s,color .25s,border-color .25s; }
.booking-close:hover { background:var(--red); border-color:var(--red); color:#fff; }
.booking-dialog-guide { display:grid; grid-template-columns:repeat(3,1fr); margin:0 0 12px; border-block:1px solid var(--line); counter-reset:booking-step; }
.booking-dialog-guide span { counter-increment:booking-step; padding:10px 6px; color:var(--muted); font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; }
.booking-dialog-guide span::before { content:'0' counter(booking-step) ' '; color:var(--red); }
.booking-dialog-loading { position:absolute; inset:150px 20px 18px; z-index:1; display:grid; place-items:center; background:var(--paper); color:var(--muted); font-size:.9375rem; }
.booking-dialog-loading[hidden] { display:none; }
.booking-dialog iframe { width:100%; height:calc(100% - 142px); min-height:300px; display:block; border:1px solid var(--line); border-radius:8px; background:white; }
.booking-dialog-fallback { margin:9px 2px 0; font-size:.75rem; color:var(--muted); }
.booking-dialog-fallback .text-link { display:inline; padding:0; border:0; font-size:inherit; }
.booking-open { overflow:hidden; }
@media(max-width:800px) {
 .course-process { grid-template-columns:1fr; gap:20px; }
 .course-support,.course-fit,.meeting-process,.meeting-fit,.advanced-course,.laboratory-overview,.individual-booking { grid-template-columns:1fr; gap:28px; }
 .meeting-announcement { grid-template-columns:1fr; }
 .meeting-announcement--compact { display:block; }
 .meeting-announcement img { height:auto; aspect-ratio:1.5; }
 .schedule-meeting { grid-template-columns:1fr; padding:20px; gap:20px; }
 .schedule-meeting-photo { display:none; }
 .course-work .section-heading { display:grid; gap:28px; }
 .course-work .rhythm-grid { grid-template-columns:1fr; gap:28px; }
 .course-work .rhythm-grid article+article { border-top:1px solid var(--line); padding-top:24px; }
 .laboratory-overview img { height:auto; max-height:400px; }
 .individual-booking { background:none; }
 .booking-dialog { width:calc(100vw - 8px); max-height:98dvh; height:98dvh; padding:0 8px 10px; border-width:7px; border-radius:16px; }
 .booking-dialog-header { padding:12px 4px 10px; }
 .booking-dialog-header h2 { font-size:1.25rem; }
 .booking-dialog-guide { margin-bottom:8px; }
 .booking-dialog-guide span { padding:8px 3px; font-size:.625rem; letter-spacing:.035em; }
 .booking-dialog-loading { inset:118px 8px 10px; }
 .booking-dialog iframe { height:calc(100% - 116px); border-radius:6px; }
 .booking-dialog-fallback { display:none; }
}
@media(prefers-reduced-motion:reduce) { .reveal-navigation { transition:none!important; } }
@media(max-width:420px) { .teachers-grid { grid-template-columns:1fr; } .teacher>img { aspect-ratio:1.1; } .teacher p { min-height:0; } .teacher h3 { font-size:1.6rem; } }

/* Related text and photography live on one surface; space separates subjects. */
.course-overview { border:1px solid var(--line); border-radius:5px; overflow:hidden; }
.course-overview-top { display:grid; grid-template-columns:1fr 1fr; }
.course-overview-copy { padding:clamp(24px,3.2vw,48px); }
.course-overview-copy h2 { font-size:clamp(2.2rem,4.2vw,4rem); }
.course-overview-copy .body-copy { margin-block:24px; max-width:42ch; }
.course-overview-top figure { position:relative; min-height:430px; }
.course-overview-top figure img { position:absolute; width:100%; height:100%; object-fit:cover; }
.course-overview-top figcaption { position:absolute; bottom:16px; left:20px; background:#171717d0; color:white; padding:7px 12px; font-size:.8125rem; }
.overview-price { display:flex; flex-direction:column; gap:8px; margin:28px 0; }
.overview-price strong { font-size:1.9rem; font-weight:500; }
.overview-price span { color:var(--muted); max-width:38ch; font-size:.9375rem; }
.course-overview-bottom { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; padding:clamp(24px,3.2vw,48px); border-top:1px solid var(--line); }
.course-overview-bottom h3 { font-size:1.5rem; font-weight:500; letter-spacing:-.03em; }
.overview-week dl { margin-top:24px; display:grid; gap:22px; }
.overview-week dl>div { display:grid; grid-template-columns:130px minmax(0,1fr); gap:18px; }
.overview-week dt { font-size:.875rem; color:var(--muted); }
.overview-week dd { margin:0; display:grid; gap:8px; }
.overview-week dd strong { font-size:1.125rem; font-weight:500; }
.overview-week dd span,.overview-start p { font-size:1rem; color:var(--muted); }
.overview-start>p { margin-top:20px; }
.overview-start .text-link { margin-top:18px; }
.overview-start .overview-offer { padding-top:22px; border-top:1px solid var(--line); font-size:.9375rem; }
.overview-offer strong { color:var(--ink); font-weight:500; }
.catalog-card { padding:0; border:1px solid var(--line); border-radius:5px; overflow:hidden; align-items:stretch; }
.catalog-card--basic { border-color:var(--red); padding:0; }
.catalog-photo { margin:0; }
.catalog-card-copy { padding:26px; display:flex; flex-direction:column; flex:1; }
.catalog-card-copy>p:not(.eyebrow) { color:var(--muted); margin:20px 0 26px; }
.catalog-card-copy>small { font-size:.8125rem; color:var(--muted); margin-top:12px; }
.catalog-card h3 { font-size:clamp(1.55rem,2.2vw,2.15rem); }
.detail-hero img[src*="profaction-stage"] { aspect-ratio:1.5; object-position:center; }
.catalog-photo img[src*="kids-theatre-play"],.event-photo img[src*="kids-theatre-play"] { object-position:50% 10%; }
.detail-hero img[src*="kids-theatre-play"] { aspect-ratio:1.1; object-position:50% 30%; }
.kids-wide img { aspect-ratio:1.5; object-position:center; }
.editorial-hero { display:grid; grid-template-columns:1fr 1.1fr; gap:7%; align-items:center; }
.editorial-hero h1,.person-hero h1,.performance-hero h1 { font-size:clamp(2.5rem,5.5vw,5rem); line-height:1.04; font-weight:500; letter-spacing:-.055em; }
.editorial-hero p:not(.eyebrow) { margin:24px 0; max-width:42ch; font-size:1.125rem; color:var(--muted); }
.editorial-hero figure { margin:0; overflow:hidden; border-radius:4px; }
.editorial-hero figure img { width:100%; height:auto; aspect-ratio:1.25; object-fit:cover; }
.editorial-hero figcaption { padding:18px 22px; background:var(--ink); color:white; font-size:.875rem; }
.editorial-hero figcaption .text-link { color:white; }
.individual-hero figure img { object-position:50% 85%; }
.editorial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px 30px; }
.editorial-card { min-width:0; border:1px solid var(--line); border-radius:5px; overflow:hidden; display:flex; flex-direction:column; }
.editorial-card-image { display:block; }
.editorial-card-image img { width:100%; height:auto; aspect-ratio:1.6; object-fit:cover; }
.editorial-card>div { padding:30px; display:flex; flex-direction:column; flex:1; }
.editorial-card h2 { font-size:clamp(1.75rem,2.8vw,2.5rem); line-height:1.1; }
h1>a,h2>a,h3>a { letter-spacing:-.03em; }
.editorial-card p:not(.eyebrow) { margin:20px 0 26px; color:var(--muted); max-width:55ch; }
.editorial-card .text-link { margin-top:auto; align-self:flex-start; }
.editorial-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.editorial-paths h2 a { font-size:1.8rem; line-height:1.2; letter-spacing:-.02em; }
.editorial-paths p { margin-top:18px; color:var(--muted); }
.studio-film { display:grid; grid-template-columns:1fr 1.5fr; align-items:center; gap:6%; }
.studio-film p:not(.eyebrow) { margin-top:24px; color:var(--muted); max-width:36ch; }
.studio-film video { width:100%; background:var(--ink); aspect-ratio:16/9; border-radius:4px; }
.studio-language-new { display:grid; grid-template-columns:1fr 1.4fr; gap:8%; }
.studio-language-new article { display:flex; align-items:center; gap:26px; margin-bottom:26px; }
.studio-language-new img { width:110px; height:110px; object-fit:contain; }
.studio-language-new h3 { font-size:1.65rem; font-weight:500; }
.studio-language-new p { color:var(--muted); margin-top:10px; max-width:38ch; }
.faces-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
.face-card { border:1px solid var(--line); border-radius:5px; overflow:hidden; }
.face-card>img { width:100%; aspect-ratio:1.25; height:auto; object-fit:cover; object-position:50% 18%; }
.face-card>div { padding:30px; }
.face-card h2 { font-size:2.25rem; }
.face-card p:not(.eyebrow) { margin:22px 0; color:var(--muted); }
.history-layout { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:start; }
.history-layout figure { position:sticky; top:120px; }
.history-layout figure img { width:100%; height:auto; aspect-ratio:1.2; object-fit:cover; }
.history-layout figcaption { color:var(--muted); font-size:.875rem; margin-top:12px; }
.history-chapters { border-left:1px solid var(--line); padding-left:38px; }
.history-chapters article { margin-bottom:42px; }
.history-chapters h2 { font-size:2rem; }
.history-chapters p:not(.eyebrow) { color:var(--muted); margin:20px 0; }
.person-hero { display:grid; grid-template-columns:.85fr 1fr; gap:9%; align-items:center; padding-bottom:50px; }
.person-hero figure img { width:100%; height:auto; max-height:660px; aspect-ratio:1; object-fit:cover; object-position:center top; }
.person-role { margin-top:28px; color:var(--muted); font-size:1.125rem; }
.person-teaches { border-block:1px solid var(--line); padding:26px 0; margin:28px 0; }
.person-teaches h2 { font-size:.875rem; text-transform:uppercase; letter-spacing:.05em; margin-bottom:14px; }
.person-teaches p { font-size:1.25rem; }
.person-biography { display:grid; grid-template-columns:1fr 1.5fr; gap:10%; border-top:1px solid var(--line); }
.person-biography h2 { font-size:2.5rem; }
.person-biography article+article { margin-top:32px; }
.person-biography h3 { font-size:1.5rem; font-weight:500; }
.person-biography p { color:var(--muted); margin-top:14px; max-width:60ch; }
.person-next { padding-bottom:var(--space); }
.person-next>p { color:var(--muted); margin-bottom:18px; }
.person-next>div { display:flex; flex-wrap:wrap; gap:12px 26px; }
.performance-hero header { display:grid; grid-template-columns:1fr 1fr; gap:24px 8%; align-items:end; padding:25px 0 40px; }
.performance-hero .eyebrow { grid-column:1/-1; margin:0; }
.performance-hero header>p:last-child { font-size:1.125rem; max-width:50ch; color:var(--muted); }
.performance-hero figure img { width:100%; height:auto; max-height:760px; aspect-ratio:1.8; object-fit:cover; }
.story-layout { display:grid; grid-template-columns:.8fr 1.5fr; gap:12%; }
.story-facts { margin:0; }
.story-facts>div { border-top:1px solid var(--line); padding:20px 0; }
.story-facts dt { font-size:.875rem; color:var(--muted); margin-bottom:12px; }
.story-facts dd { margin:0; font-size:1.125rem; }
.prose { max-width:65ch; font-size:1.125rem; line-height:1.7; }
.prose p+p { margin-top:24px; }
.prose .text-link { margin-top:30px; }
.archive-note { padding-bottom:var(--space); color:var(--muted); }
.archive-note p { margin-bottom:16px; }
.journal-article { padding-top:35px; padding-bottom:var(--space); }
.journal-article header { max-width:1000px; margin:0 auto 40px; }
.journal-article h1 { font-size:clamp(2.5rem,5vw,4.7rem); font-weight:500; line-height:1.08; letter-spacing:-.045em; }
.journal-article header>p:last-child { margin-top:28px; font-size:1.25rem; max-width:60ch; color:var(--muted); }
.journal-article figure img { width:100%; height:auto; aspect-ratio:1.9; object-fit:cover; }
.journal-article .prose { margin:48px auto 0; }
.gift-drawing { max-width:430px; width:85%; height:auto; margin:auto; object-fit:contain; }
.gift-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.gift-grid article { border:1px solid var(--line); border-radius:5px; overflow:hidden; }
.gift-grid img { width:100%; height:auto; aspect-ratio:1.45; object-fit:contain; }
.gift-grid article>div { padding:26px; }
.gift-grid h3 { font-size:2rem; font-weight:500; }
.gift-grid p { margin:14px 0 22px; font-size:1.375rem; }
.gift-steps-new { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.gift-steps-new h2 { font-size:2rem; }
.gift-steps-new p { margin-top:18px; max-width:35ch; color:var(--muted); }
.contact-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; }
.contact-links>a { display:grid; grid-template-columns:1fr auto; gap:12px; padding:26px 0; border-block-start:1px solid var(--line); }
.contact-links span { color:var(--muted); font-size:.875rem; }
.contact-links strong { grid-row:2; font-size:clamp(1.25rem,2.7vw,2.2rem); font-weight:500; }
.contact-links i { grid-row:1/3; grid-column:2; align-self:center; font-style:normal; color:var(--red); }
.venue-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.venue-cards article { border:1px solid var(--line); padding:32px; border-radius:4px; }
.venue-cards h3 { font-size:clamp(1.4rem,2.8vw,2.5rem); font-weight:500; letter-spacing:-.04em; }
.venue-cards p { margin-top:18px; }
.venue-cards .text-link { margin-top:28px; }
.muted { color:var(--muted); }
.document-links { display:flex; flex-wrap:wrap; gap:20px 35px; padding-bottom:var(--space); }
.statement-new { display:grid; grid-template-columns:1.3fr 1fr; gap:10%; align-items:center; }
.statement-new h2 { font-size:clamp(1.9rem,3vw,3rem); }
.statement-new p { color:var(--muted); font-size:1.125rem; }
.benefit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
.benefit-grid article { padding-top:24px; border-top:1px solid var(--line); }
.benefit-grid h3 .text-link { font-size:1.7rem; letter-spacing:-.03em; }
.benefit-grid p { margin-top:18px; color:var(--muted); max-width:50ch; }
.footer-directory { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:35px; padding:40px 0; border-top:1px solid var(--line); }
.footer-directory h2 { font-size:.875rem; font-weight:500; margin-bottom:20px; }
.footer-directory a { display:block; margin-top:12px; font-size:.875rem; color:var(--muted); }
.footer-directory a:hover { color:var(--red); }
.legal-preview-note { color:var(--muted); font-size:.875rem; margin-bottom:36px; }
.legal-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:7%; padding-bottom:var(--space); }
.legal-layout>nav { display:flex; flex-direction:column; gap:14px; align-self:start; position:sticky; top:110px; max-height:calc(100vh - 130px); overflow:auto; }
.legal-layout>nav a { font-size:.875rem; line-height:1.4; padding:5px 0; }
.legal-document { max-width:72ch; font-size:1rem; line-height:1.7; overflow-wrap:anywhere; }
.legal-document+article { margin-top:70px; }
.legal-document section { padding-top:32px; margin-top:32px; border-top:1px solid var(--line); }
.legal-document h2 { font-size:1.65rem; line-height:1.25; margin-bottom:24px; }
.legal-document p+p { margin-top:18px; }
.legal-document h2 span { color:var(--muted); font-size:1rem; margin-right:10px; }
.legal-document a { text-decoration:underline; text-underline-offset:3px; }
.legal-details dl>div { margin-top:18px; }
.legal-details dt { color:var(--muted); font-size:.875rem; }
.legal-details dd { margin:6px 0 0; }
@media(max-width:1050px) {
 .course-overview-top,.course-overview-bottom { grid-template-columns:1fr; }
 .course-overview-top figure { min-height:0; aspect-ratio:1.5; }
 .course-overview-copy h2 br:nth-of-type(2) { display:none; }
 .program.program--illustrated { gap:0; align-items:stretch; }
 .program-photo img { height:100%; }
 .overview-week dl { grid-template-columns:1fr 1fr; }
 .overview-week dl>div { display:block; }
 .overview-week dt { margin-bottom:12px; }
 .editorial-hero { gap:5%; }
 .legal-layout { grid-template-columns:1fr; }
 .legal-layout>nav { position:static; max-height:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:36px; }
 .gift-grid { grid-template-columns:1fr; }
 .gift-grid article { display:grid; grid-template-columns:1fr 1fr; align-items:center; }
}
@media(max-width:680px) {
 .basic-spotlight { gap:0; }
 .basic-visual figure { min-height:0; aspect-ratio:1.5; }
 .program-photo { margin:0; }
 .program-copy,.program--featured .program-copy { padding:24px; }
 .program-photo img { height:auto; }
 .kids-photo { min-height:0; aspect-ratio:1.5; }
 .kids-photo img { object-position:48% 50%; }
 .course-overview-bottom { gap:32px; }
 .course-overview-copy h2 { font-size:2.2rem; }
 .course-overview-copy h2 br:nth-of-type(2) { display:block; }
 .overview-week dl { grid-template-columns:1fr; }
 .overview-week dl>div { display:grid; grid-template-columns:95px minmax(0,1fr); gap:16px; }
 .catalog-card-copy { padding:24px; }
 .editorial-hero,.person-hero,.person-biography,.studio-film,.studio-language-new,.history-layout,.story-layout,.statement-new { grid-template-columns:1fr; gap:32px; }
 .editorial-grid,.faces-grid,.venue-cards,.contact-links,.editorial-paths,.benefit-grid,.gift-steps-new { grid-template-columns:1fr; }
 .editorial-hero h1,.person-hero h1,.performance-hero h1 { font-size:clamp(2.5rem,10vw,3.8rem); }
 .editorial-hero figure img { aspect-ratio:1.5; }
 .editorial-hero p:not(.eyebrow) { font-size:1rem; }
 .person-hero figure { max-width:420px; }
 .person-hero h1 { overflow-wrap:break-word; }
 .face-card>div,.editorial-card>div { padding:24px; }
 .history-layout figure { position:static; }
 .history-chapters { padding-left:24px; }
 .studio-language-new img { width:80px; height:80px; }
 .studio-language-new article { gap:20px; }
 .performance-hero header { grid-template-columns:1fr; }
 .performance-hero figure img { aspect-ratio:1.4; }
 .journal-article figure img { aspect-ratio:1.5; }
 .journal-article h1 { font-size:2.5rem; }
 .journal-article header>p:last-child,.prose { font-size:1.0625rem; }
 .gift-grid article { grid-template-columns:1fr; }
 .gift-drawing { max-width:240px; }
 .gift-steps-new { gap:30px; }
 .venue-cards article { padding:24px; }
 .footer-directory { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 20px; }
 .legal-layout>nav { grid-template-columns:1fr; }
 .legal-document h2 { font-size:1.5rem; }
}

.studio-stats { border-block:1px solid var(--line); padding-block:48px; }
.studio-stats header { display:grid; grid-template-columns:1fr 2fr 1fr; gap:24px; align-items:start; }
.studio-stats h2 { font-size:clamp(2rem,3.3vw,3.3rem); }
.studio-stats header>p:last-child { color:var(--muted); font-size:1rem; line-height:1.5; }
.studio-stats dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:40px 0 0; }
.studio-stats dl>div { display:flex; flex-direction:column-reverse; gap:14px; padding-left:28px; border-left:1px solid var(--line); }
.studio-stats dl>div:first-child { padding-left:0; border:0; }
.studio-stats dd { margin:0; font-size:clamp(2.4rem,4.5vw,4.4rem); font-weight:500; letter-spacing:-.055em; font-variant-numeric:tabular-nums; }
.studio-stats dt { color:var(--muted); font-size:1rem; }
.corporate-home { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-block:36px 64px; }
.corporate-home h2 { font-size:2.3rem; margin:20px 0; }
.corporate-home p:not(.eyebrow) { font-size:1rem; color:var(--muted); max-width:52ch; line-height:1.6; }
.corporate-home>.text-link { flex-shrink:0; }
.corporate-hero .button { margin-top:24px; }
.corporate-hero p+p { margin-top:16px; }
.corporate-hero .corporate-illustration { overflow:visible; }
.corporate-hero .corporate-illustration img { aspect-ratio:3/2; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.corporate-terms { border:1px solid var(--line); padding:32px; border-radius:4px; }
.corporate-terms dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin:0; }
.corporate-terms dt { font-size:.9375rem; color:var(--muted); }
.corporate-terms dd { margin:16px 0 0; font-size:clamp(1.5rem,2.5vw,2.2rem); font-weight:500; letter-spacing:-.035em; }
.corporate-terms>p { border-top:1px solid var(--line); margin-top:28px; padding-top:24px; font-size:1rem; line-height:1.6; max-width:78ch; color:var(--muted); }
.corporate-goal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 48px; }
.corporate-goal-grid article { border-top:1px solid var(--line); padding-top:24px; }
.corporate-goal-grid h3,.corporate-modules h3 { font-size:1.5rem; font-weight:500; letter-spacing:-.03em; }
.corporate-goal-grid p,.corporate-modules p,.corporate-practice p { margin-top:16px; color:var(--muted); font-size:1.0625rem; line-height:1.65; }
.corporate-practice { display:grid; grid-template-columns:1fr 1.1fr; align-items:start; gap:7%; }
.corporate-practice>div>p:first-child { margin-top:0; }
.corporate-practice h2 { margin:20px 0; font-size:clamp(2.2rem,3.8vw,3.6rem); }
.corporate-modules { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 32px; }
.corporate-modules article { border-left:2px solid var(--red); padding-left:24px; }
.corporate-clients ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); }
.corporate-clients li { display:flex; align-items:center; justify-content:center; min-width:0; min-height:168px; padding:36px 24px; border-bottom:1px solid var(--line); }
.corporate-client-logo { display:block; width:100%; max-width:180px; height:76px; object-fit:contain; mix-blend-mode:multiply; }
.corporate-client-logo--monochrome { filter:brightness(0); }
.corporate-client-logo--grayscale { filter:grayscale(1); }
.corporate-client-logo--wordmark { max-width:160px; }
.corporate-client-logo--compact { max-width:140px; }
.corporate-client-logo--wide { max-width:205px; }
.corporate-client-logo--horizontal { max-width:230px; }
.corporate-client-logo--padded { max-width:225px; height:94px; }
.corporate-client-logo--badge { max-width:116px; }

/* A single, illustrated choice of format on the homepage. */
.price-alternative,.price-explanation { display:block; }
.price-explanation { margin-top:6px; font-size:.875rem; color:var(--muted); line-height:1.5; }
.course-price .price-explanation,.overview-price .price-explanation { font-size:.875rem; }
.course-price strong .nowrap,.overview-price strong .nowrap,.price-explanation .nowrap { font:inherit; color:inherit; }
.learning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
.learning-card { min-width:0; border:1px solid var(--line); border-radius:5px; overflow:hidden; }
.home-learning .program-photo { display:block; margin:0; overflow:hidden; }
.home-learning .program-photo img { display:block; width:100%; height:auto; aspect-ratio:1.5; object-fit:cover; }
.learning-copy { padding:28px; }
.learning-copy .eyebrow { font-size:.7rem; letter-spacing:.1em; margin-bottom:18px; }
.learning-copy h3 { font-size:clamp(1.65rem,2.1vw,2.3rem); line-height:1.08; font-weight:500; letter-spacing:-.04em; margin-bottom:22px; }
.learning-copy>p:not(.eyebrow) { color:var(--muted); font-size:1rem; line-height:1.6; }
.learning-copy>.learning-cadence { border-top:1px solid var(--line); margin-top:22px; padding-top:18px; }
.learning-price { margin-top:24px; }
.learning-price>strong { display:block; font-size:1.5rem; font-weight:500; line-height:1.35; }
.learning-price>strong>span:not(.nowrap) { display:block; font-size:.875rem; color:var(--muted); font-weight:400; }
.learning-price>p { margin-top:8px; color:var(--muted); font-size:.9375rem; line-height:1.5; }
.learning-copy>.text-link { margin-top:28px; font-size:.9375rem; }
.learning-meeting { background:#efeeeb; padding:26px 28px; border-top:1px solid var(--line); }
.learning-meeting .eyebrow { font-size:.65rem; letter-spacing:.08em; }
.learning-meeting h4 { margin:16px 0; font-size:1.375rem; font-weight:500; letter-spacing:-.03em; }
.learning-meeting h4 a { display:flex; justify-content:space-between; gap:16px; }
.learning-meeting h4 a>span { color:var(--red); }
.learning-meeting p:not(.eyebrow) { font-size:.9375rem; line-height:1.5; }
.learning-meeting p[data-meeting-teachers] { color:var(--muted); margin-top:8px; }
.learning-meeting .meeting-date { margin-top:18px; }
.learning-meeting .text-link { font-size:.875rem; margin-top:18px; }
.learning-needs { margin-top:24px; }
.learning-needs>p { font-size:.75rem; margin-bottom:10px; color:var(--muted); }
.learning-needs>a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; padding:10px 0; border-top:1px solid var(--line); font-size:.875rem; line-height:1.45; }
.learning-needs>a>span:last-child { color:var(--red); }
.learning-needs>a:hover { color:var(--red); }
.included-practice { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:28px 0; margin-top:36px; border-block:1px solid var(--line); }
.included-practice h3 { font-size:1.375rem; font-weight:500; letter-spacing:-.03em; margin-bottom:12px; }
.included-practice p { max-width:78ch; color:var(--muted); font-size:.9375rem; line-height:1.6; }
.included-practice>.text-link { flex-shrink:0; font-size:.9375rem; }
.learning-next { display:flex; align-items:center; gap:22px; padding-top:28px; flex-wrap:wrap; }
.learning-next img { width:62px; height:64px; object-fit:contain; margin-right:4px; }
.learning-next p { margin-right:auto; color:var(--muted); font-size:.9375rem; }
.learning-next .text-link { font-size:.9375rem; }
@media(max-width:1100px) and (min-width:901px) {
 .learning-grid { gap:16px; }
 .learning-copy,.learning-meeting { padding:22px; }
}
@media(max-width:900px) {
 .learning-grid { grid-template-columns:1fr; gap:28px; }
 .learning-card { display:block; }
 .learning-card .program-photo img { height:auto; aspect-ratio:1.75; }
 .learning-meeting { grid-column:1/-1; }
 .learning-copy h3 { font-size:2rem; }
 .included-practice { display:block; }
 .included-practice>.text-link { margin-top:20px; }
}
@media(max-width:600px) {
 .learning-card { display:block; }
 .learning-card .program-photo img { height:auto; aspect-ratio:1.5; }
 .learning-copy,.learning-meeting { padding:24px; }
 .learning-copy h3 { font-size:clamp(1.75rem,8vw,2rem); }
 .learning-next { display:grid; grid-template-columns:62px minmax(0,1fr); gap:16px 20px; }
 .learning-next img { grid-row:1/4; align-self:start; }
 .learning-next p,.learning-next .text-link { grid-column:2; }
}
@media(max-width:800px) {
 .studio-stats header { grid-template-columns:1fr; gap:16px; }
 .studio-stats dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 16px; }
 .studio-stats dl>div { padding-left:16px; }
 .studio-stats dl>div:nth-child(3) { padding:0; border:0; }
 .corporate-home { display:block; }
 .corporate-home>.text-link { margin-top:24px; }
 .corporate-terms { padding:24px; }
 .corporate-terms dl,.corporate-goal-grid,.corporate-practice,.corporate-modules { grid-template-columns:1fr; }
 .corporate-terms dl>div+div { border-top:1px solid var(--line); padding-top:24px; }
 .corporate-clients ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .corporate-clients li { padding:28px 18px; min-height:130px; }
 .corporate-client-logo { max-width:155px; height:64px; }
 .corporate-client-logo--compact { max-width:120px; }
 .corporate-client-logo--badge { max-width:96px; }
 .corporate-client-logo--horizontal { max-width:100%; }
 .corporate-client-logo--padded { max-width:175px; height:76px; }
 .corporate-practice { gap:20px; }
}
