/* Ananda: isolated fictional yoga concept; shared Studio navigation remains intact. */
.yoga-demo { --yd-paper: #f5f0e7; --yd-ink: #343d32; --yd-muted: #626759; --yd-accent: #925e45; --yd-rule: #343d322b; background: var(--yd-paper); color: var(--yd-ink); font-family: ui-sans-serif, system-ui, sans-serif; font-size: 16px; line-height: 1.7; }
.yoga-demo *, .yoga-demo *::before, .yoga-demo *::after { box-sizing: border-box; }
.yoga-demo [hidden] { display: none !important; }
.yoga-demo :is(h1,h2,h3,p,figure,dl,dd) { margin: 0; }
.yoga-demo :is(h1,h2,h3) { color: inherit; letter-spacing: -.035em; }
.yoga-demo h1, .yoga-demo h2, .yoga-demo .yd-practice-copy h3 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; line-height: 1.08; }
.yoga-demo h2 { font-size: clamp(2.2rem, 4.6vw, 4rem); }
.yoga-demo a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .25em; }
.yoga-demo :is(a,button,summary):focus-visible { outline: 3px solid var(--yd-accent); outline-offset: 5px; }
.yoga-demo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.yoga-demo button { font: inherit; cursor: pointer; color: inherit; }
.yd-shell { width: min(1200px, calc(100% - 6rem)); margin-inline: auto; }
.yd-notice { background: #e8e3d8; padding: .55rem 3rem; display: flex; justify-content: space-between; gap: 1rem; font-size: .69rem; color: #4d5548; }
.yd-notice a { white-space: nowrap; }
.yd-nav { display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 110px; border-bottom: 1px solid var(--yd-rule); }
.yd-brand { display: block; width: 210px; flex-shrink: 0; }
.yd-brand img { height: auto; object-fit: contain; }
.yd-nav > div { display: flex; gap: 2rem; align-items: center; }
.yd-nav a { text-decoration: none; font-size: .83rem; }
.yd-nav .yd-nav-schedule { border: 1px solid var(--yd-ink); border-radius: 3px; padding: .55rem 1.15rem; }
.yd-nav a:hover { color: var(--yd-accent); }
.yd-opening { display: flex; align-items: end; justify-content: space-between; gap: 3rem; padding-block: 3.6rem 2.8rem; }
.yoga-demo .yd-kicker { font-size: .65rem; font-weight: 600; text-transform: uppercase; letter-spacing: .17em; line-height: 1.65; }
.yoga-demo h1 { font-size: clamp(3.6rem, 6.8vw, 6.4rem); margin-top: 1rem; max-width: 13ch; }
.yd-opening h1 em { font-weight: 400; color: var(--yd-accent); }
.yd-opening-note { max-width: 310px; flex-shrink: 0; padding-bottom: .35rem; }
.yd-opening-note p { font-size: .94rem; color: var(--yd-muted); margin-bottom: 1.7rem; }
.yd-line-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.5rem; font-size: .8rem; font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--yd-ink); padding-bottom: .6rem; }
.yd-line-link span { font-size: 1.2rem; }
.yd-hero-photo { position: relative; height: clamp(380px, 43vw, 570px); overflow: hidden; }
.yd-hero-photo img { object-position: 50% 55%; }
.yd-hero-photo figcaption { position: absolute; inset: auto 0 0 auto; background: var(--yd-paper); display: flex; align-items: center; gap: 2.5rem; padding: 1rem 1.5rem; font-size: .65rem; }
.yd-hero-photo figcaption span { color: var(--yd-accent); font: italic 1.7rem Georgia, serif; }
.yd-introduction { display: grid; grid-template-columns: 1fr 1.25fr auto; gap: 3rem; padding-block: 3.1rem 4.5rem; align-items: start; }
.yd-introduction > p:nth-child(2) { font-size: 1rem; max-width: 51ch; color: var(--yd-muted); }
.yd-seed { color: var(--yd-accent); font-size: 3rem; line-height: 1; }
.yd-practices { background: #eae9df; padding-block: 5rem; }
.yd-section-heading { text-align: center; max-width: 740px; margin: 0 auto 2.4rem; }
.yd-section-heading h2 { margin-top: .9rem; }
.yd-section-heading > p:last-child { color: var(--yd-muted); font-size: .9rem; margin-top: 1rem; }
.yd-practice-choices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid var(--yd-rule); margin-bottom: 2rem; }
.yd-practice-choices button { display: grid; grid-template-columns: 2.5rem 1fr; text-align: left; background: none; border: 0; padding: 1.25rem 1.5rem; position: relative; }
.yd-practice-choices button + button { border-left: 1px solid var(--yd-rule); }
.yd-practice-choices span { grid-row: 1/3; font-size: .7rem; padding-top: .2rem; color: var(--yd-muted); }
.yd-practice-choices strong { font-weight: 500; font-size: 1rem; }
.yd-practice-choices small { color: var(--yd-muted); font-size: .73rem; }
.yd-practice-choices button[aria-pressed=true] { background: #faf7ef; }
.yd-practice-choices button[aria-pressed=true]::after { content: ''; position: absolute; bottom: -1px; left: 1.5rem; right: 1.5rem; height: 2px; background: var(--yd-accent); }
.yd-practice-panel { display: grid; grid-template-columns: 1.1fr 1fr; background: #faf7ef; min-height: 480px; }
.yd-practice-panel:not([hidden]) + .yd-practice-panel:not([hidden]) { margin-top: 2rem; }
.yd-practice-photo { min-height: 430px; }
.yd-practice-copy { padding: clamp(1.5rem, 4vw, 3.5rem); align-self: center; }
.yoga-demo .yd-practice-copy h3 { font-size: clamp(2rem,3.4vw,3rem); margin: 1.1rem 0; }
.yd-practice-copy > p:not(.yd-kicker) { font-size: .88rem; color: var(--yd-muted); }
.yd-practice-copy dl { margin-top: 1.6rem; border-top: 1px solid var(--yd-rule); }
.yd-practice-copy dl > div { display: grid; grid-template-columns: 1fr 1.5fr; gap: 1rem; padding-block: .55rem; border-bottom: 1px solid var(--yd-rule); font-size: .72rem; }
.yd-practice-copy dt { color: var(--yd-muted); }
.yd-practice-copy .yd-action { margin-top: 1.7rem; }
.yoga-demo .yd-action { background: var(--yd-ink); color: #fff9ec; border: 1px solid var(--yd-ink); border-radius: 3px; display: inline-flex; gap: 2rem; align-items: center; justify-content: center; padding: .85rem 1.3rem; min-height: 48px; font-size: .8rem; text-decoration: none; }
.yoga-demo .yd-action:hover { background: var(--yd-accent); border-color: var(--yd-accent); }
.yd-space { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem 5rem; padding-block: 6rem; align-items: start; }
.yd-space-type { padding-top: 2rem; }
.yd-space h2 { margin-block: 1.3rem 1.7rem; }
.yd-space h2 span { display: block; }
.yd-space h2 span:nth-child(2) { font-style: italic; color: var(--yd-accent); }
.yd-space-type > p:not(.yd-kicker) { color: var(--yd-muted); font-size: .9rem; max-width: 40ch; }
.yd-name-note { display: flex; gap: 1.5rem; max-width: 39ch; padding-top: 1.5rem; margin-top: 2rem; border-top: 1px solid var(--yd-rule); align-items: center; }
.yd-name-note > span { font: italic 3.6rem Georgia,serif; color: var(--yd-accent); }
.yd-name-note p { font-size: .74rem; color: var(--yd-muted); }
.yd-space-photo { height: 620px; }
.yd-space-photo img { height: calc(100% - 4rem); object-position: 50% 57%; }
.yd-space-photo figcaption { font-size: .66rem; color: var(--yd-muted); padding-top: .7rem; line-height: 1.5; }
.yd-community-photo { grid-column: 1/-1; height: 390px; }
.yd-community-photo img { object-position: 50% 56%; }
.yd-week { background: #3d483b; color: #f6f0e3; padding-block: 5rem; }
.yd-week-heading { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-bottom: 2rem; }
.yd-week h2 { margin-top: .9rem; }
.yd-week-heading > p { max-width: 32ch; font-size: .83rem; color: #e0e1d3; }
.yd-week-filters { display: flex; flex-wrap: wrap; gap: .5rem; padding-block: 1rem 1.7rem; }
.yd-week-filters button { border: 1px solid #dfe0cb66; border-radius: 3px; background: none; font-size: .75rem; min-height: 44px; padding: .45rem .9rem; }
.yd-week-filters button[aria-pressed=true] { background: #eee9dc; color: #343d32; border-color: #eee9dc; }
.yd-schedule-row { display: grid; grid-template-columns: 1fr .8fr 1.6fr auto; align-items: center; gap: 1rem; padding-block: 1.5rem; border-top: 1px solid #eee9dc40; }
.yd-schedule-row:last-child { border-bottom: 1px solid #eee9dc40; }
.yd-schedule-row > span { font-size: .84rem; }
.yd-schedule-row time { font: 2rem Georgia,serif; }
.yd-schedule-row h3 { font-size: 1rem; font-weight: 500; }
.yd-schedule-row small { color: #e0e1d3; font-size: .72rem; }
.yd-session-choice { border: 0; border-bottom: 1px solid #eee9dc99; background: none; padding: .65rem 0; min-height: 44px; font-size: .8rem !important; }
.yd-session-choice span { margin-left: 2rem; }
.yd-first { display: grid; grid-template-columns: 1.15fr 1fr; gap: 6rem; padding-block: 6rem; }
.yd-first h2 { margin-top: 1rem; max-width: 12ch; }
.yd-first ol { list-style: none; padding: 0; margin: 2rem 0 0; }
.yd-first li { display: grid; grid-template-columns: 2rem 1fr; gap: 1rem; border-top: 1px solid var(--yd-rule); padding-block: 1.3rem; }
.yd-first li > span { font-size: .7rem; color: var(--yd-accent); }
.yd-first li h3 { font: 500 1rem ui-sans-serif,system-ui,sans-serif; margin-bottom: .5rem; }
.yd-first li p { color: var(--yd-muted); font-size: .85rem; }
.yd-questions { align-self: center; }
.yd-questions > h3 { font: 400 1.8rem Georgia,serif; margin-bottom: 1.5rem; }
.yd-questions details { border-block-start: 1px solid var(--yd-rule); }
.yd-questions details:last-child { border-bottom: 1px solid var(--yd-rule); }
.yd-questions summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 64px; cursor: pointer; font-size: .85rem; list-style: none; padding-block: .8rem; }
.yd-questions summary::-webkit-details-marker { display: none; }
.yd-questions details p { color: var(--yd-muted); font-size: .82rem; padding: 0 1rem 1.3rem 0; }
.yd-footer { background: #e8e3d8; padding-block: 2.4rem 1.5rem; }
.yd-footer-top { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-bottom: 2rem; }
.yd-footer-top > p { font: italic 2rem Georgia,serif; color: var(--yd-accent); }
.yd-footer-top > a:last-child { font-size: .75rem; }
.yd-credits { display: flex; gap: 1.5rem; align-items: start; border-top: 1px solid var(--yd-rule); padding-top: 1rem; font-size: .62rem; color: #575e50; }
.yd-credits > span:last-child { margin-left: auto; max-width: 40ch; }
.yd-credits summary { cursor: pointer; }
.yd-credits ul { padding-left: 1rem; }
.yoga-demo .yd-booking { color: var(--yd-ink); background: #f5f0e7; border: 0; border-radius: 4px; padding: clamp(1.5rem,5vw,3rem); width: min(520px,calc(100% - 2rem)); max-height: calc(100dvh - 2rem); box-shadow: 0 20px 90px #0005; }
.yd-booking::backdrop { background: #1a271bc4; }
.yd-booking h2 { font-size: 2.5rem; margin-block: 1rem; }
.yd-booking-selection { border-block: 1px solid var(--yd-rule); padding-block: 1rem; margin-block: 1.5rem !important; font-size: 1rem; }
.yd-booking > p:not(.yd-kicker) { font-size: .86rem; }
.yd-booking .yd-action { margin-top: 2rem; }
@media (max-width: 1000px) {
  .yd-shell { width: calc(100% - 3rem); }
  .yd-opening { gap: 2rem; }
  .yd-opening-note { max-width: 250px; }
  .yd-space { gap: 2rem; }
  .yd-first { gap: 3rem; }
}
@media (max-width: 760px) {
  .yd-notice { padding-inline: 1.25rem; font-size: .6rem; gap: 1rem; }
  .yd-notice > span { max-width: 40ch; }
  .yd-shell { width: calc(100% - 2.5rem); }
  .yd-nav { min-height: 90px; flex-wrap: wrap; gap: .5rem; padding-block: 1rem; }
  .yd-brand { width: 170px; }
  .yd-nav > div { width: 100%; gap: 1.2rem; justify-content: space-between; }
  .yd-nav a { font-size: .72rem; }
  .yd-nav .yd-nav-schedule { padding: .3rem .75rem; }
  .yd-opening { display: block; padding-block: 2rem 1.8rem; }
  .yoga-demo h1 { font-size: clamp(3.25rem,12vw,5rem); margin-top: .8rem; }
  .yd-opening-note { max-width: none; margin-top: 1.5rem; }
  .yd-opening-note p { max-width: 42ch; font-size: .85rem; margin-bottom: 1.2rem; }
  .yd-hero-photo { height: 390px; margin-inline: -1.25rem !important; }
  .yd-hero-photo img { object-position: 46% 50%; }
  .yd-hero-photo figcaption { padding: .6rem 1rem; gap: 1rem; font-size: .56rem; }
  .yd-hero-photo figcaption span { font-size: 1.4rem; }
  .yd-introduction { grid-template-columns: 1fr auto; gap: 1rem; padding-block: 2.3rem 3rem; }
  .yd-introduction > p:first-child { grid-column: 1/-1; max-width: 32ch; }
  .yd-introduction > p:nth-child(2) { font-size: .88rem; }
  .yd-practices { padding-block: 3.2rem; }
  .yd-section-heading { text-align: left; }
  .yd-practice-choices { display: flex; flex-direction: column; }
  .yd-practice-choices button { padding: .9rem 1rem; }
  .yd-practice-choices button + button { border-left: 0; border-top: 1px solid var(--yd-rule); }
  .yd-practice-choices button small { display: none; }
  .yd-practice-panel { display: flex; flex-direction: column; }
  .yd-practice-photo { height: 270px; min-height: 0; order: 2; }
  .yd-practice-copy { padding: 1.6rem; }
  .yd-practice-copy h3 { max-width: 15ch; }
  .yd-space { display: flex; flex-direction: column; padding-block: 3.5rem; gap: 2rem; }
  .yd-space-type { padding: 0; }
  .yd-space h2 { font-size: 3.8rem; }
  .yd-space-photo { height: 500px; width: 100%; }
  .yd-space-photo img { object-position: center 58%; }
  .yd-community-photo { height: 240px; width: 100%; }
  .yd-week { padding-block: 3.2rem; }
  .yd-week-heading { display: block; }
  .yd-week-heading > p { margin-top: 1.3rem; max-width: 40ch; }
  .yd-week-filters { gap: .4rem; }
  .yd-week-filters button { font-size: .68rem; padding-inline: .7rem; }
  .yd-schedule-row { grid-template-columns: 1fr auto; gap: .5rem 1rem; padding-block: 1.2rem; }
  .yd-schedule-row time { text-align: right; font-size: 1.7rem; }
  .yd-schedule-row > div { grid-row: 2; }
  .yd-session-choice { grid-row: 2; }
  .yd-session-choice span { margin-left: .8rem; }
  .yd-first { display: block; padding-block: 3.5rem; }
  .yd-first h2 { max-width: 15ch; }
  .yd-questions { margin-top: 3rem; }
  .yd-footer-top { flex-wrap: wrap; gap: 1rem; }
  .yd-footer-top > p { font-size: 1.5rem; }
  .yd-footer-top > a:last-child { width: 100%; }
  .yd-credits { flex-wrap: wrap; gap: .7rem 1.2rem; }
  .yd-credits > span:last-child { margin-left: 0; max-width: none; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .yoga-demo { scroll-behavior: auto; } }
