/* Course themes extend the public shell only; member UI keeps its own styles. */
html[data-public-theme="yoga"] {
  --page: #f6f5ee;
  --surface: #fffef8;
  --surface-sunk: #e8ece0;
  --text: #293c31;
  --muted: #58685a;
  --line: #cdd4c6;
  --accent: #3e5e45;
  --course-soft: #d5dfc8;
  --course-on-accent: #fffef8;
  --saffron: #92753e;
}
html[data-public-theme="meditation"] {
  color-scheme: dark;
  --page: #171e30;
  --surface: #202940;
  --surface-sunk: #1d263b;
  --text: #f2eff9;
  --muted: #bbc2d7;
  --line: #3d4760;
  --accent: #d1c0ef;
  --course-soft: #343b58;
  --course-on-accent: #201d32;
  --saffron: #e5d4af;
}
html[data-public-theme="speaking"] {
  --page: #f8f4ed;
  --surface: #fffdf8;
  --surface-sunk: #ece6dd;
  --text: #292a28;
  --muted: #62625b;
  --line: #d5d0c6;
  --accent: #a73e2b;
  --course-soft: #f0c6ae;
  --course-on-accent: #fffaf2;
  --saffron: #a73e2b;
  --display: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif;
}
@media (prefers-color-scheme: dark) {
  html[data-public-theme="yoga"] {
    color-scheme: dark;
    --page: #1b2821; --surface: #24362b; --surface-sunk: #202f26;
    --text: #edf1e5; --muted: #b8c6b5; --line: #455647;
    --accent: #c0d2ac; --course-soft: #3d5843; --course-on-accent: #203125;
  }
  html[data-public-theme="speaking"] {
    color-scheme: dark;
    --page: #242421; --surface: #302f2b; --surface-sunk: #2b2a25;
    --text: #f5f0e7; --muted: #c1baad; --line: #535046;
    --accent: #f2ad89; --course-soft: #664635; --course-on-accent: #30251e;
  }
}
html[data-public-theme]:not([data-public-theme="cooking"]) {
  scroll-behavior: smooth;
  scroll-padding-top: 6rem;
}
html[data-public-theme]:not([data-public-theme="cooking"]) .masthead { background: var(--page); }
html[data-public-theme]:not([data-public-theme="cooking"]) .wordmark { color: var(--text); }
html[data-public-theme]:not([data-public-theme="cooking"]) .btn {
  background: var(--accent); border-color: var(--accent); color: var(--course-on-accent);
}
html[data-public-theme]:not([data-public-theme="cooking"]) .btn--ghost {
  background: transparent; color: var(--text); border-color: var(--line);
}
html[data-public-theme]:not([data-public-theme="cooking"]) .btn:hover { filter: brightness(.94); }
html[data-public-theme]:not([data-public-theme="cooking"]) .colophon {
  background: var(--surface-sunk); color: var(--text); border-top: 1px solid var(--line);
}
html[data-public-theme]:not([data-public-theme="cooking"]) .colophon :is(p, h2, a) { color: inherit; }
html[data-public-theme]:not([data-public-theme="cooking"]) .colophon__fine { border-color: var(--line); }
.course-site { overflow-wrap: anywhere; }
.course-site p { max-width: none; }
.course-site h1 { font-size: clamp(2.8rem, 5.15vw, 4.8rem); line-height: 1.1; font-weight: 500; letter-spacing: -.045em; }
.course-site h2 { font-size: clamp(1.9rem, 3vw, 2.65rem); line-height: 1.25; font-weight: 500; letter-spacing: -.025em; }
.course-site h3 { font-size: 1.4rem; line-height: 1.35; font-weight: 500; }
.course-hero { display: grid; grid-template-columns: 1.08fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; padding-block: 4.2rem 3.5rem; }
.course-eyebrow { font: 600 .72rem/1.6 var(--body); text-transform: uppercase; letter-spacing: .14em; color: var(--accent); }
.course-hero .course-eyebrow { display: flex; align-items: center; gap: .6rem; margin-bottom: 1.5rem; }
.course-hero .course-eyebrow > span { width: .4rem; height: .4rem; border-radius: 50%; background: var(--accent); }
.course-hero h1 span { display: block; }
.course-hero h1 span + span { color: var(--accent); }
.course-intro { color: var(--muted); line-height: 1.85; font-size: 1.075rem; margin-top: 1.7rem; }
.course-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.3rem 1.7rem; margin-top: 2rem; }
.course-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 3.2rem; border-radius: 100px; padding: .8rem 1.5rem; font-size: .94rem; text-decoration: none; }
.course-text-link { display: inline-flex; gap: 1rem; align-items: center; font-size: .94rem; min-height: 2.75rem; text-decoration-thickness: 1px; }
.course-hero__note { color: var(--muted); font-size: .77rem; margin-top: 2rem; }
.course-hero__art { margin: 0; min-width: 0; position: relative; }
.course-hero__art > img { width: 100%; height: auto; border-radius: 46% 46% 1.2rem 1.2rem; background: var(--course-soft); }
.course-hero__art figcaption { display: flex; align-items: center; gap: .8rem; margin-top: 1rem; color: var(--muted); font-size: .78rem; }
.course-hero__art figcaption > :last-child { margin-left: auto; }
.course-facts { display: flex; justify-content: space-between; gap: 1.5rem; padding-block: 1.4rem; border-block: 1px solid var(--line); font-size: .84rem; color: var(--muted); }
.course-facts p { display: flex; align-items: center; gap: .65rem; }
.course-facts p span { color: var(--accent); font-size: 1.25rem; }
.course-editorial { display: grid; grid-template-columns: .48fr 1fr 1fr; gap: 2.8rem; padding-block: 5rem; align-items: start; }
.course-editorial h2 { font-size: 2rem; }
.course-editorial > :last-child { color: var(--muted); font-size: .98rem; line-height: 1.9; }
.course-catalog { padding-block: 2rem 5rem; }
.course-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-bottom: 2.3rem; }
.course-section-heading .course-eyebrow { margin-bottom: .8rem; }
.course-section-heading > p { max-width: 24rem; color: var(--muted); font-size: .94rem; line-height: 1.8; }
.course-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.35rem; }
.course-card { min-width: 0; padding: 1.45rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); display: flex; flex-direction: column; }
.course-card__top { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; font: .67rem/1.6 var(--mono); color: var(--muted); letter-spacing: .025em; }
.course-card__glyph { position: relative; isolation: isolate; height: 7.5rem; margin-block: 1.3rem 1.5rem; overflow: hidden; background: var(--surface-sunk); border-radius: .3rem; }
.course-card__glyph i { position: absolute; display: block; width: 5rem; height: 6rem; border-radius: 50% 50% 0 0; border: 1px solid var(--accent); opacity: .45; top: 2rem; left: calc(50% - 4rem); transform: rotate(-20deg); }
.course-card__glyph i:nth-child(2) { transform: rotate(15deg); left: calc(50% - 1.5rem); background: var(--course-soft); }
.course-card__glyph i:nth-child(3) { transform: rotate(50deg); left: calc(50% + .5rem); }
.course-card:nth-child(2n) .course-card__glyph { transform: scaleX(-1); }
.course-card:nth-child(3n) .course-card__glyph i { border-radius: 50%; height: 5rem; }
.course-card h3 { margin-bottom: .7rem; }
.course-card > p { color: var(--muted); font-size: .9rem; line-height: 1.8; margin-bottom: 1.3rem; }
.course-practice { margin-top: auto; border-top: 1px solid var(--line); }
.course-site summary { cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; list-style: none; }
.course-site summary::-webkit-details-marker { display: none; }
.course-site summary > span { flex-shrink: 0; font-size: 1.3rem; font-weight: 400; }
.course-site details[open] > summary > span { transform: rotate(45deg); }
.course-practice > summary { min-height: 3.25rem; font-size: .82rem; color: var(--accent); }
.course-practice > div { padding: .25rem 0 1rem; color: var(--muted); font-size: .9rem; line-height: 1.9; }
.course-path { padding-block: 4.7rem; background: var(--surface-sunk); }
.course-weeks { margin: 2.5rem 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; }
.course-weeks li { border-top: 1px solid var(--line); padding-top: 1.4rem; }
.course-weeks h3 { margin-block: .35rem .7rem; }
.course-weeks p { color: var(--muted); font-size: .9rem; line-height: 1.8; }
.course-questions { display: grid; grid-template-columns: .85fr 1.15fr; gap: 5rem; padding-block: 5rem; }
.course-questions .course-eyebrow { margin-bottom: .8rem; }
.course-questions__list { border-top: 1px solid var(--line); }
.course-questions details { border-bottom: 1px solid var(--line); }
.course-questions summary { font-size: .96rem; min-height: 4.4rem; padding-block: 1rem; }
.course-questions details > div { font-size: .93rem; color: var(--muted); line-height: 1.9; padding-bottom: 1.5rem; }
.course-closing { text-align: center; padding-block: 2rem 5rem; }
.course-closing h2 { margin-block: 1rem; }
.course-closing > p:not(.course-eyebrow) { color: var(--muted); font-size: .96rem; }
.course-closing > a { margin-top: 1.8rem; }
.course-guide { padding-block: 4.5rem; }
.course-guide__heading { text-align: center; max-width: 47rem; margin: 0 auto 3.5rem; }
.course-guide__heading h1 { margin-top: 1rem; }
.course-guide__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 3.5rem; align-items: center; }
.course-guide__overview { background: var(--surface); border: 1px solid var(--line); border-radius: 1rem; padding: 2rem; }
.course-guide__identity { display: flex; align-items: center; gap: 1rem; }
.course-guide__identity h2 { font-size: 1.8rem; margin-top: .3rem; }
.course-guide__facts { font-size: .85rem; color: var(--muted); margin-top: 1.5rem; }
.course-syllabus { list-style: none; margin: 1.5rem 0 2rem; padding: 0; }
.course-syllabus li { border-top: 1px solid var(--line); }
.course-syllabus a { display: flex; gap: .8rem; align-items: center; padding-block: 1rem; font-size: .85rem; text-decoration: none; }
.course-syllabus a > span:last-child { margin-left: auto; white-space: nowrap; color: var(--muted); font-size: .7rem; }
.course-syllabus b { margin-left: .5rem; color: var(--accent); }
.course-syllabus a:hover > span:first-child { text-decoration: underline; }
.course-guide__preparation h2 { font-size: 1.55rem; margin-bottom: 1rem; }
.course-guide__preparation ul { padding-left: 1.1rem; margin-block: 0 2.5rem; }
.course-guide__preparation :is(p, li) { color: var(--muted); font-size: .96rem; line-height: 1.9; }
.course-guide__preparation li { margin-bottom: .6rem; padding-left: .4rem; }
.course-guide__preparation > a { margin-top: 1.5rem; }
html[data-public-theme="meditation"] .course-hero__art > img { border-radius: 50% 50% .6rem .6rem; }
html[data-public-theme="meditation"] .course-card__glyph i { border-radius: 50%; width: 7rem; height: 7rem; background: none; top: 1rem; }
html[data-public-theme="meditation"] .course-card__glyph i:nth-child(2) { top: 2rem; }
html[data-public-theme="meditation"] .course-card__glyph i:nth-child(3) { top: 3rem; }
html[data-public-theme="speaking"] .course-site h1 { font-weight: 650; letter-spacing: -.06em; }
html[data-public-theme="speaking"] .course-hero__art > img { border-radius: .4rem; }
html[data-public-theme="speaking"] :is(.course-card, .course-guide__overview, .course-button) { border-radius: .2rem; }
html[data-public-theme="speaking"] .course-card__glyph i { border-radius: .2rem; height: 4rem; width: 2.5rem; transform: skewY(-12deg); }
html[data-public-theme="speaking"] .course-card__glyph i:nth-child(2) { top: 1.3rem; }
html[data-public-theme="speaking"] .course-card__glyph i:nth-child(3) { top: .6rem; }
@media (max-width: 1000px) {
  .course-hero { gap: 2.2rem; padding-block: 3rem; }
  .course-editorial { grid-template-columns: 1fr 1fr; gap: 1.3rem 2rem; }
  .course-editorial > .course-eyebrow { grid-column: 1 / -1; }
  .course-questions { gap: 2rem; }
  .course-section-heading { gap: 2rem; }
  .course-grid { gap: 1rem; }
  .course-card { padding: 1.1rem; }
  .course-guide__grid { gap: 2rem; }
}
@media (max-width: 760px) {
  html[data-public-theme]:not([data-public-theme="cooking"]) { scroll-padding-top: 1rem; }
  .course-hero { grid-template-columns: 1fr; padding-block: 2.5rem; gap: 2rem; }
  .course-site h1 { font-size: clamp(2.7rem, 8.5vw, 4.5rem); }
  .course-hero__art { max-width: 32rem; width: 100%; margin: auto; }
  .course-hero__art > img { max-height: 30rem; object-fit: cover; object-position: center; }
  .course-hero__note { margin-top: 1.3rem; }
  .course-facts { flex-wrap: wrap; gap: .65rem 1.5rem; font-size: .78rem; }
  .course-editorial { grid-template-columns: 1fr; padding-block: 3.5rem; }
  .course-section-heading { display: block; }
  .course-section-heading > p { margin-top: 1rem; max-width: none; }
  .course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .course-catalog { padding-block: 1rem 3.5rem; }
  .course-weeks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.7rem; }
  .course-path { padding-block: 3.5rem; }
  .course-weeks h3 { margin-top: 1rem; }
  .course-questions { grid-template-columns: 1fr; padding-block: 3.5rem; }
  .course-guide { padding-block: 3rem; }
  .course-guide__grid { grid-template-columns: 1fr; }
  .course-guide__heading { margin-bottom: 2rem; text-align: left; }
  .course-guide__overview { padding: 1.5rem; }
}
@media (max-width: 460px) {
  .course-grid { grid-template-columns: 1fr; }
  .course-card { padding: 1.4rem; }
  .course-card__glyph { height: 7rem; }
  .course-actions { gap: 1rem; }
  .course-button { gap: 1.3rem; }
  .course-guide__overview { padding: 1rem; }
  .course-syllabus a { align-items: start; }
  .course-syllabus a > span:last-child { white-space: normal; text-align: right; min-width: 3.5rem; }
  .course-weeks { gap: 1.5rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-public-theme]:not([data-public-theme="cooking"]) { scroll-behavior: auto; }
}
html[data-public-theme]:not([data-public-theme="cooking"]) .auth-card::before {
  background: linear-gradient(90deg, var(--accent), var(--course-soft));
}
html[data-public-theme]:not([data-public-theme="cooking"]) .auth-submit {
  background: var(--accent); color: var(--course-on-accent);
}
html[data-public-theme]:not([data-public-theme="cooking"]) .auth-submit:hover { filter: brightness(.94); }
html[data-public-theme]:not([data-public-theme="cooking"]) .auth-mark { color: var(--accent); }
.course-site :is(h1, h2, h3) { text-wrap: balance; }
