/* CMD design system. Plain CSS, loaded after Thinkific's compiled theme stylesheet.
   Tokens first, then components. Source of truth: theme/assets/cmd.css in the cmd-site repo. */
:root {

  --cmd-ink: #16141d;
  --cmd-ink-2: #3f3b4a;
  --cmd-ink-3: #6e6a7a;
  --cmd-surface: #ffffff;
  --cmd-surface-2: #f7f5fa;
  --cmd-surface-3: #efeaf6;
  --cmd-line: #e3deec;
  --cmd-line-strong: #c9c2d6;


  --cmd-accent: #5b2da6;
  --cmd-accent-hover: #4a2389;
  --cmd-accent-strong: #8000d8;
  --cmd-accent-soft: #e8d0f8;
  --cmd-accent-soft-2: #f3e8fc;
  --cmd-peach: #f8c8a0;
  --cmd-coral: #e0574b;
  --cmd-success: #1f7a4d;
  --cmd-success-soft: #e6f3ec;
  --cmd-warning-soft: #fff3d6;
  --cmd-focus: #8000d8;

  --cmd-font-serif: "Source Serif 4", "Iowan Old Style", Georgia, serif;
  --cmd-font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --cmd-text-display: clamp(2.125rem, 1.4rem + 2.4vw, 3.25rem);
  --cmd-text-h1: clamp(1.875rem, 1.4rem + 1.5vw, 2.5rem);
  --cmd-text-h2: clamp(1.5rem, 1.25rem + 0.9vw, 1.875rem);
  --cmd-text-h3: 1.375rem;
  --cmd-text-h4: 1.125rem;
  --cmd-text-body: 1.0625rem;
  --cmd-text-small: 0.9375rem;
  --cmd-text-caption: 0.8125rem;
  --cmd-text-eyebrow: 0.75rem;
  --cmd-leading-tight: 1.15;
  --cmd-leading-snug: 1.3;
  --cmd-leading-body: 1.6;
  --cmd-tracking-eyebrow: 0.08em;

  --cmd-space-1: 0.25rem;
  --cmd-space-2: 0.5rem;
  --cmd-space-3: 0.75rem;
  --cmd-space-4: 1rem;
  --cmd-space-5: 1.5rem;
  --cmd-space-6: 2rem;
  --cmd-space-7: 3rem;
  --cmd-space-8: 4rem;
  --cmd-space-9: 6rem;

  --cmd-radius-sm: 6px;
  --cmd-radius-md: 10px;
  --cmd-radius-lg: 14px;
  --cmd-radius-pill: 999px;
  --cmd-shadow-sm: 0 1px 2px rgba(22, 20, 29, 0.06), 0 1px 1px rgba(22, 20, 29, 0.04);
  --cmd-shadow-md: 0 6px 16px rgba(22, 20, 29, 0.08), 0 2px 4px rgba(22, 20, 29, 0.04);
  --cmd-shadow-lg: 0 16px 40px rgba(22, 20, 29, 0.12);

  --cmd-container: 1200px;
  --cmd-gutter: 1.5rem;
  --cmd-transition: 160ms ease;
}

/* Base ------------------------------------------------------------------ */
/* Vogue sets the root size from theme settings (18px desktop). Pin it to 16px so the rem scale in the tokens is literal. */
html { font-size: 16px; }
body { font-family: var(--cmd-font-sans); font-size: var(--cmd-text-body); line-height: var(--cmd-leading-body); color: var(--cmd-ink); background-color: var(--cmd-surface); }
a { color: var(--cmd-accent); }
a:hover, a:focus { color: var(--cmd-accent-hover); }
:focus-visible { outline: 2px solid var(--cmd-focus); outline-offset: 2px; }

h1, h2, h3, h4, h5, h6, .section__heading, .section__heading--secondary, .page__heading, .collections__heading, .card__name {
  font-family: var(--cmd-font-serif); font-weight: 500; letter-spacing: -0.01em; color: var(--cmd-ink);
}
.section__heading { font-size: var(--cmd-text-h2); line-height: var(--cmd-leading-tight); }
.section__heading--secondary { font-size: var(--cmd-text-h3); line-height: var(--cmd-leading-snug); }
.page__heading, .collections__heading { font-size: var(--cmd-text-h1); line-height: var(--cmd-leading-tight); }
.banner .section__heading, .banner--course .section__heading, .banner--bundle .section__heading { font-size: var(--cmd-text-display); font-weight: 400; letter-spacing: -0.015em; }
.section__subheading { font-family: var(--cmd-font-sans); font-size: var(--cmd-text-h4); font-weight: 400; line-height: var(--cmd-leading-body); color: var(--cmd-ink-2); }
.cmd-eyebrow { display: inline-block; margin-bottom: var(--cmd-space-3); font-family: var(--cmd-font-sans); font-size: var(--cmd-text-eyebrow); font-weight: 600; letter-spacing: var(--cmd-tracking-eyebrow); text-transform: uppercase; color: var(--cmd-accent); }

/* Buttons --------------------------------------------------------------- */
.button { font-family: var(--cmd-font-sans); font-size: var(--cmd-text-small); font-weight: 600; line-height: 1; padding: 0.875rem 1.375rem; border-width: 1.5px; border-style: solid; border-radius: var(--cmd-radius-sm); box-shadow: none; letter-spacing: 0.01em; transition: background-color var(--cmd-transition), color var(--cmd-transition), border-color var(--cmd-transition), transform var(--cmd-transition); }
.button:active { transform: translateY(1px); }
.button-primary { background-color: var(--cmd-accent); border-color: var(--cmd-accent); color: #fff; }
.button-primary:hover, .button-primary:focus { background-color: var(--cmd-accent-hover); border-color: var(--cmd-accent-hover); color: #fff; }
.button-secondary { background-color: transparent; border-color: var(--cmd-line-strong); color: var(--cmd-ink); }
.button-secondary:hover, .button-secondary:focus { background-color: var(--cmd-surface-2); border-color: var(--cmd-ink); color: var(--cmd-ink); }
.button--link, .button-link { padding: 0; border: 0; background: none; color: var(--cmd-accent); font-weight: 600; }

/* Forms ----------------------------------------------------------------- */
.form__control { font-family: var(--cmd-font-sans); font-size: var(--cmd-text-small); border: 1.5px solid var(--cmd-line-strong); border-radius: var(--cmd-radius-sm); background-color: var(--cmd-surface); color: var(--cmd-ink); transition: border-color var(--cmd-transition), box-shadow var(--cmd-transition); }
.form__control:focus { border-color: var(--cmd-accent); box-shadow: 0 0 0 3px var(--cmd-accent-soft); outline: none; }
.form__control::placeholder { color: var(--cmd-ink-3); }
.form__label { font-size: var(--cmd-text-caption); font-weight: 600; color: var(--cmd-ink-2); }

/* Cards ----------------------------------------------------------------- */
.card { border: 1px solid var(--cmd-line); border-radius: var(--cmd-radius-md); background-color: var(--cmd-surface); box-shadow: var(--cmd-shadow-sm); transition: box-shadow var(--cmd-transition), transform var(--cmd-transition), border-color var(--cmd-transition); }
.card:hover, .card:focus-within { border-color: var(--cmd-line-strong); box-shadow: var(--cmd-shadow-md); transform: translateY(-2px); }
.card__img { aspect-ratio: 16 / 9; }
.card__body { padding: var(--cmd-space-4); }
.card__category { font-size: var(--cmd-text-eyebrow); font-weight: 600; letter-spacing: var(--cmd-tracking-eyebrow); text-transform: uppercase; color: var(--cmd-accent); }
.card__name { font-size: 1.1875rem; line-height: var(--cmd-leading-snug); font-weight: 500; }
.card__product-info { font-size: var(--cmd-text-caption); color: var(--cmd-ink-3); }
.card__description { font-size: var(--cmd-text-small); color: var(--cmd-ink-2); line-height: 1.5; }
.card__price-container { padding: 0 var(--cmd-space-4) var(--cmd-space-4); }

/* Chips and badges -------------------------------------------------------- */
.cmd-chip { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.375rem 0.75rem; border: 1px solid var(--cmd-line); border-radius: var(--cmd-radius-pill); background: var(--cmd-surface); font-family: var(--cmd-font-sans); font-size: var(--cmd-text-caption); font-weight: 500; line-height: 1; color: var(--cmd-ink-2); text-decoration: none; cursor: pointer; transition: background-color var(--cmd-transition), border-color var(--cmd-transition), color var(--cmd-transition); }
.cmd-chip:hover { border-color: var(--cmd-line-strong); color: var(--cmd-ink); }
.cmd-chip[aria-pressed="true"], .cmd-chip.is-active { background: var(--cmd-accent-soft-2); border-color: var(--cmd-accent); color: var(--cmd-accent); }
.cmd-chip--soft { background: var(--cmd-surface-3); border-color: transparent; }
.cmd-badge { display: inline-block; padding: 0.25rem 0.5rem; border-radius: var(--cmd-radius-sm); font-size: var(--cmd-text-eyebrow); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; line-height: 1.2; }
.cmd-badge--accent { background: var(--cmd-accent-soft); color: var(--cmd-accent-hover); }
.cmd-badge--success { background: var(--cmd-success-soft); color: var(--cmd-success); }
.cmd-badge--neutral { background: var(--cmd-surface-3); color: var(--cmd-ink-2); }

/* Header and footer -------------------------------------------------------- */
.header { border-bottom: 1px solid var(--cmd-line); background-color: var(--cmd-surface); }
.header__nav a, .header__nav button { font-family: var(--cmd-font-sans); font-size: var(--cmd-text-small); font-weight: 500; color: var(--cmd-ink-2); }
.header__nav a:hover, .header__nav a:focus, .header__nav button:hover, .header__nav button:focus { color: var(--cmd-ink); }
.footer { border-top: 1px solid var(--cmd-line); background-color: var(--cmd-surface-2); color: var(--cmd-ink-2); }
.footer__nav-item a { font-size: var(--cmd-text-small); font-weight: 500; color: var(--cmd-ink-2); }
.footer__copyright { font-size: var(--cmd-text-caption); color: var(--cmd-ink-3); }

/* Pagination ---------------------------------------------------------------- */
.pagination__pages li a, .pagination__pages li i { font-family: var(--cmd-font-sans); font-size: var(--cmd-text-small); font-weight: 500; color: var(--cmd-ink-2); }
.pagination__pages li.active a { color: var(--cmd-accent); border-bottom-color: var(--cmd-accent); }



/* Library ------------------------------------------------------------------- */
.library__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-6) var(--cmd-gutter) var(--cmd-space-8); }
.library__header { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--cmd-space-4) var(--cmd-space-6); margin-bottom: var(--cmd-space-5); }
.library__headings { flex: 1 1 420px; }
.library__title { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h1); font-weight: 500; line-height: var(--cmd-leading-tight); letter-spacing: -0.015em; margin: 0 0 var(--cmd-space-2); }
.library__headings .section__subheading { margin: 0; max-width: 60ch; }
.library__search { flex: 0 1 380px; min-width: 260px; }
.library__search .form__control { width: 100%; }

.library__facets { display: grid; gap: var(--cmd-space-3); padding: var(--cmd-space-4) 0; border-top: 1px solid var(--cmd-line); border-bottom: 1px solid var(--cmd-line); }
.library__facet { display: grid; grid-template-columns: 9rem 1fr; gap: var(--cmd-space-3); align-items: start; }
.library__facet-label { font-size: var(--cmd-text-caption); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--cmd-ink-3); padding-top: 0.45rem; }
.library__chips { display: flex; flex-wrap: wrap; gap: var(--cmd-space-2); }
.cmd-chip__count { font-weight: 400; color: var(--cmd-ink-3); }
.cmd-chip[aria-pressed="true"] .cmd-chip__count { color: inherit; }
.library__facet-select { max-width: 320px; }
@media (max-width: 767px) { .library__facet { grid-template-columns: 1fr; gap: var(--cmd-space-2); } .library__facet-label { padding-top: 0; } }

.library__toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cmd-space-3); margin: var(--cmd-space-4) 0; }
.library__count { margin: 0; font-size: var(--cmd-text-small); color: var(--cmd-ink-2); }
.library__toolbar-right { display: flex; align-items: center; gap: var(--cmd-space-3); }
.library__sort-label { font-size: var(--cmd-text-caption); font-weight: 600; color: var(--cmd-ink-3); }
.library__sort { width: auto; padding-top: 0.5rem; padding-bottom: 0.5rem; }

.library__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: var(--cmd-space-5); }
.library__item[hidden] { display: none; }
.lcard { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--cmd-line); border-radius: var(--cmd-radius-md); background: var(--cmd-surface); box-shadow: var(--cmd-shadow-sm); overflow: hidden; transition: box-shadow var(--cmd-transition), transform var(--cmd-transition), border-color var(--cmd-transition); }
.lcard:hover, .lcard:focus-within { border-color: var(--cmd-line-strong); box-shadow: var(--cmd-shadow-md); transform: translateY(-2px); }
.lcard__media { position: relative; display: block; background: var(--cmd-surface-3); }
.lcard__media img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.lcard__badge { position: absolute; top: var(--cmd-space-3); left: var(--cmd-space-3); }
.lcard__body { flex: 1 1 auto; padding: var(--cmd-space-4) var(--cmd-space-4) var(--cmd-space-3); }
.lcard__meta { margin: 0 0 var(--cmd-space-2); font-size: var(--cmd-text-eyebrow); font-weight: 600; letter-spacing: var(--cmd-tracking-eyebrow); text-transform: uppercase; color: var(--cmd-accent); }
.lcard__title { margin: 0 0 var(--cmd-space-2); font-family: var(--cmd-font-serif); font-size: 1.1875rem; font-weight: 500; line-height: var(--cmd-leading-snug); }
.lcard__title a { color: var(--cmd-ink); text-decoration: none; }
.lcard__title a:hover { color: var(--cmd-accent); }
.lcard__instructors { margin: 0 0 var(--cmd-space-2); font-size: var(--cmd-text-small); font-weight: 500; color: var(--cmd-ink-2); }
.lcard__desc { margin: 0 0 var(--cmd-space-3); font-size: var(--cmd-text-small); line-height: 1.5; color: var(--cmd-ink-2); }
.lcard__tags { display: flex; flex-wrap: wrap; gap: var(--cmd-space-1); }
.lcard__actions { display: flex; align-items: center; justify-content: space-between; gap: var(--cmd-space-3); padding: var(--cmd-space-3) var(--cmd-space-4) var(--cmd-space-4); border-top: 1px solid var(--cmd-line); }
.lcard__actions .button { padding: 0.625rem 1rem; }
.lcard__details { font-size: var(--cmd-text-small); font-weight: 600; color: var(--cmd-ink-2); text-decoration: none; }
.lcard__details:hover { color: var(--cmd-accent); }
.library__more { display: flex; justify-content: center; margin-top: var(--cmd-space-6); }
.library__empty { margin: var(--cmd-space-6) 0; text-align: center; color: var(--cmd-ink-2); }

/* Library: layout refinements ------------------------------------------------ */
.library__container { padding-top: var(--cmd-space-6); }
.library__typeahead { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cmd-space-2); }
.library__typeahead-input { max-width: 320px; padding-top: 0.45rem; padding-bottom: 0.45rem; }
.cmd-chip__x { font-weight: 600; margin-left: 0.125rem; }
.library__filters-toggle { display: none; }
@media (max-width: 767px) {
  .library__filters-toggle { display: inline-flex; margin-bottom: var(--cmd-space-3); }
  .library__facets:not([hidden]) { display: none; }
  .library--filters-open .library__facets:not([hidden]) { display: grid; }
  .library__typeahead-input { max-width: none; width: 100%; }
}

/* Dashboard ------------------------------------------------------------------- */
.dash__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-6) var(--cmd-gutter) 0; }
.dash__header { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--cmd-space-4); padding-bottom: var(--cmd-space-5); border-bottom: 1px solid var(--cmd-line); }
.dash__title { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h1); font-weight: 500; line-height: var(--cmd-leading-tight); letter-spacing: -0.015em; margin: 0 0 var(--cmd-space-2); }
.dash__status { margin: 0; font-size: var(--cmd-text-small); color: var(--cmd-ink-2); }
.dash__h2 { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h3); font-weight: 500; margin: var(--cmd-space-6) 0 var(--cmd-space-4); }
.dash__row { list-style: none; margin: 0 calc(-1 * var(--cmd-gutter)); padding: 0 var(--cmd-gutter) var(--cmd-space-2); display: flex; gap: var(--cmd-space-4); overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
.ccard { flex: 0 0 280px; scroll-snap-align: start; }
.ccard__link { display: block; height: 100%; border: 1px solid var(--cmd-line); border-radius: var(--cmd-radius-md); background: var(--cmd-surface); box-shadow: var(--cmd-shadow-sm); overflow: hidden; text-decoration: none; color: inherit; transition: box-shadow var(--cmd-transition), transform var(--cmd-transition); }
.ccard__link:hover, .ccard__link:focus-visible { box-shadow: var(--cmd-shadow-md); transform: translateY(-2px); }
.ccard__media img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.ccard__body { display: block; padding: var(--cmd-space-3) var(--cmd-space-4) var(--cmd-space-4); }
.ccard__title { display: block; font-family: var(--cmd-font-serif); font-size: 1.0625rem; font-weight: 500; line-height: var(--cmd-leading-snug); color: var(--cmd-ink); margin-bottom: var(--cmd-space-3); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ccard__progress { display: block; height: 4px; border-radius: var(--cmd-radius-pill); background: var(--cmd-surface-3); overflow: hidden; }
.ccard__bar { display: block; height: 100%; background: var(--cmd-accent); border-radius: var(--cmd-radius-pill); }
.ccard__meta { display: block; margin-top: var(--cmd-space-2); font-size: var(--cmd-text-caption); color: var(--cmd-ink-3); }
.dash__empty { padding: var(--cmd-space-6) 0; }
.dash__empty p { margin: 0 0 var(--cmd-space-4); color: var(--cmd-ink-2); }
.ccard__media--empty { aspect-ratio: 16 / 9; background: linear-gradient(135deg, var(--cmd-surface-3), var(--cmd-accent-soft)); }
.ccard__media--empty img { display: none; }
/* Dashboard page background: Vogue paints it with the theme's secondary color; use the token instead. */
.student-dashboard, .student-dashboard__content, .student-dashboard__banner { background-color: var(--cmd-surface-2); }
.student-dashboard .library { background-color: var(--cmd-surface); }

/* Course page ----------------------------------------------------------------- */
.chero { background: var(--cmd-surface-2); border-bottom: 1px solid var(--cmd-line); }
.chero__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-6) var(--cmd-gutter) var(--cmd-space-7); display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: var(--cmd-space-7); align-items: start; }
.chero__back { display: inline-block; margin-bottom: var(--cmd-space-4); font-size: var(--cmd-text-small); font-weight: 500; color: var(--cmd-ink-3); text-decoration: none; }
.chero__back:hover { color: var(--cmd-accent); }
.chero__eyebrow { margin-bottom: var(--cmd-space-3); }
.chero__title { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-display); font-weight: 400; line-height: var(--cmd-leading-tight); letter-spacing: -0.015em; margin: 0 0 var(--cmd-space-3); }
.chero__instructors { margin: 0 0 var(--cmd-space-4); font-size: var(--cmd-text-h4); font-weight: 500; color: var(--cmd-ink-2); }
.chero__desc { margin: 0 0 var(--cmd-space-5); max-width: 62ch; font-size: var(--cmd-text-body); color: var(--cmd-ink-2); }
.chero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cmd-space-4); margin-bottom: var(--cmd-space-5); }
.chero__actions .button-large { padding: 1rem 1.75rem; font-size: var(--cmd-text-body); }
.chero__signin { font-size: var(--cmd-text-small); font-weight: 500; color: var(--cmd-ink-2); }
.chero__tags { display: flex; flex-wrap: wrap; gap: var(--cmd-space-2); }
.chero__aside { position: sticky; top: var(--cmd-space-4); }
.chero__media { border-radius: var(--cmd-radius-md); overflow: hidden; box-shadow: var(--cmd-shadow-md); background: var(--cmd-surface-3); }
.chero__media img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.chero__facts { margin: var(--cmd-space-4) 0 0; padding: var(--cmd-space-4); border: 1px solid var(--cmd-line); border-radius: var(--cmd-radius-md); background: var(--cmd-surface); display: grid; gap: var(--cmd-space-2); }
.chero__facts > div { display: flex; justify-content: space-between; gap: var(--cmd-space-3); font-size: var(--cmd-text-small); }
.chero__facts > div[hidden] { display: none; }
.chero__facts dt { color: var(--cmd-ink-3); font-weight: 500; }
.chero__facts dd { margin: 0; color: var(--cmd-ink); font-weight: 500; text-align: right; }
@media (max-width: 900px) { .chero__container { grid-template-columns: 1fr; gap: var(--cmd-space-5); } .chero__aside { position: static; order: -1; } .chero__title { font-size: var(--cmd-text-h1); } }

.ccur__container, .cabout__container, .crel__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-7) var(--cmd-gutter) 0; }
.ccur__heading, .cabout__heading, .crel__heading { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h2); font-weight: 500; margin: 0 0 var(--cmd-space-5); }
.ccur__chapters { list-style: none; margin: 0; padding: 0; max-width: 820px; }
.ccur__chapter { margin-bottom: var(--cmd-space-5); }
.ccur__chapter-title { display: flex; justify-content: space-between; gap: var(--cmd-space-3); margin: 0 0 var(--cmd-space-2); padding-bottom: var(--cmd-space-2); border-bottom: 1px solid var(--cmd-line); font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h4); font-weight: 500; }
.ccur__chapter-time { font-family: var(--cmd-font-sans); font-size: var(--cmd-text-caption); font-weight: 500; color: var(--cmd-ink-3); }
.ccur__lessons { list-style: none; margin: 0; padding: 0; }
.ccur__lesson { display: flex; align-items: center; gap: var(--cmd-space-3); padding: 0.625rem 0; border-bottom: 1px solid var(--cmd-line); font-size: var(--cmd-text-small); }
.ccur__lesson:last-child { border-bottom: 0; }
.ccur__icon { color: var(--cmd-ink-3); flex: 0 0 auto; }
.ccur__lesson-link { color: var(--cmd-ink); font-weight: 500; text-decoration: none; }
.ccur__lesson-link:hover { color: var(--cmd-accent); }
.ccur__lesson-name { color: var(--cmd-ink-2); }
.ccur__empty { color: var(--cmd-ink-2); }

.cabout__list { display: grid; gap: var(--cmd-space-5); max-width: 820px; }
.cabout__person { display: grid; grid-template-columns: auto 1fr; gap: var(--cmd-space-4); align-items: start; }
.cabout__person > div:only-child { grid-column: 1 / -1; }
.cabout__avatar { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; }
.cabout__name { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h4); font-weight: 500; margin: 0 0 var(--cmd-space-1); }
.cabout__title { margin: 0 0 var(--cmd-space-2); font-size: var(--cmd-text-caption); color: var(--cmd-ink-3); }
.cabout__bio { font-size: var(--cmd-text-small); line-height: 1.6; color: var(--cmd-ink-2); }
.cabout__bio:empty { display: none; }

.crel__container { padding-bottom: var(--cmd-space-8); }
.crel__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--cmd-space-4); }
.crel__all { font-size: var(--cmd-text-small); font-weight: 600; color: var(--cmd-accent); text-decoration: none; white-space: nowrap; }
.crel__row { list-style: none; margin: 0 calc(-1 * var(--cmd-gutter)); padding: 0 var(--cmd-gutter) var(--cmd-space-2); display: flex; gap: var(--cmd-space-4); overflow-x: auto; scroll-snap-type: x mandatory; }
.ccard__kicker { display: block; margin-bottom: var(--cmd-space-1); font-size: var(--cmd-text-eyebrow); font-weight: 600; letter-spacing: var(--cmd-tracking-eyebrow); text-transform: uppercase; color: var(--cmd-accent); }
.ccard__kicker:empty { display: none; }
.chero__back { display: block; }
.chero__eyebrow { display: block; }
.button { text-decoration: none; }
/* Alignment with Vogue's header/footer containers (1200px, 16px padding) */
:root { --cmd-gutter: 1rem; }
/* Instructor cards */
.cabout__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: var(--cmd-space-5); max-width: none; }
.cabout__person { display: grid; grid-template-columns: 64px 1fr; gap: var(--cmd-space-4); align-items: start; padding: var(--cmd-space-4); border: 1px solid var(--cmd-line); border-radius: var(--cmd-radius-md); background: var(--cmd-surface); }
.cabout__avatar { width: 64px; height: 64px; border-radius: 50%; overflow: hidden; background: var(--cmd-surface-3); display: flex; align-items: center; justify-content: center; }
.cabout__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cabout__avatar--mono { font-family: var(--cmd-font-serif); font-size: 1.25rem; font-weight: 500; color: var(--cmd-accent); background: var(--cmd-accent-soft-2); }
.cabout__title:empty { display: none; }
.cabout__bio { display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.chero__facts[hidden] { display: none; }
.cabout__bio { -webkit-line-clamp: 4; }
.cabout__bio--open { display: block; -webkit-line-clamp: unset; overflow: visible; }
.cabout__more { margin-top: var(--cmd-space-2); font-size: var(--cmd-text-caption); }

/* Age gate -------------------------------------------------------------------- */
.agegate { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: var(--cmd-gutter); background: rgba(22, 20, 29, 0.72); backdrop-filter: blur(4px); }
.agegate[hidden] { display: none; }
.agegate-open { overflow: hidden; }
.agegate__card { max-width: 460px; width: 100%; padding: var(--cmd-space-6); border-radius: var(--cmd-radius-lg); background: var(--cmd-surface); box-shadow: var(--cmd-shadow-lg); text-align: center; }
.agegate__title { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h2); font-weight: 500; margin: var(--cmd-space-2) 0 var(--cmd-space-3); }
.agegate__text { margin: 0 0 var(--cmd-space-5); color: var(--cmd-ink-2); }
.agegate__actions { display: flex; gap: var(--cmd-space-3); justify-content: center; margin-bottom: var(--cmd-space-4); }
.agegate__fine { margin: 0; font-size: var(--cmd-text-caption); color: var(--cmd-ink-3); }

/* Pricing cards (bundle + partner offer) ---------------------------------------- */
.pcard { position: relative; padding: var(--cmd-space-5); border: 1px solid var(--cmd-line); border-radius: var(--cmd-radius-md); background: var(--cmd-surface); box-shadow: var(--cmd-shadow-sm); }
.pcard--featured { border-color: var(--cmd-accent); box-shadow: 0 0 0 3px var(--cmd-accent-soft-2), var(--cmd-shadow-md); }
.pcard__badge { position: absolute; top: -0.75rem; left: var(--cmd-space-5); padding: 0.25rem 0.625rem; border-radius: var(--cmd-radius-pill); background: var(--cmd-accent); color: #fff; font-size: var(--cmd-text-eyebrow); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.pcard__price { margin: 0 0 var(--cmd-space-2); font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h3); font-weight: 500; }
.pcard__note { margin: 0 0 var(--cmd-space-4); font-size: var(--cmd-text-small); color: var(--cmd-ink-2); }
.pcard .button { width: 100%; text-align: center; }

/* Bundle ------------------------------------------------------------------------ */
.bhero { background: var(--cmd-surface-2); border-bottom: 1px solid var(--cmd-line); }
.bhero__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-7) var(--cmd-gutter); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr); gap: var(--cmd-space-7); align-items: start; }
.bhero__title { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-display); font-weight: 400; line-height: var(--cmd-leading-tight); letter-spacing: -0.02em; margin: var(--cmd-space-3) 0 var(--cmd-space-4); }
.bhero__sub { max-width: 58ch; margin: 0 0 var(--cmd-space-5); font-size: var(--cmd-text-h4); color: var(--cmd-ink-2); }
.bhero__points { margin: 0; padding: 0 0 0 1.25rem; color: var(--cmd-ink-2); display: grid; gap: var(--cmd-space-2); }
.bhero__member { display: flex; align-items: center; gap: var(--cmd-space-4); margin-bottom: var(--cmd-space-5); }
.bhero__prices { display: grid; gap: var(--cmd-space-4); }
.bhero__fine { margin: 0; font-size: var(--cmd-text-caption); color: var(--cmd-ink-3); }
@media (max-width: 860px) { .bhero__container { grid-template-columns: 1fr; gap: var(--cmd-space-5); } }

.binc__container, .mcf__container, .embed__container, .offer__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-8) var(--cmd-gutter); }
.binc__title, .mcf__title, .embed__title, .offer__title { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h2); font-weight: 500; line-height: var(--cmd-leading-tight); margin: var(--cmd-space-2) 0 var(--cmd-space-3); }
.binc__text, .embed__text { max-width: 60ch; margin: 0 0 var(--cmd-space-5); color: var(--cmd-ink-2); }
.binc__stats { list-style: none; margin: 0 0 var(--cmd-space-7); padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--cmd-space-4); }
.binc__stat { padding: var(--cmd-space-4); border: 1px solid var(--cmd-line); border-radius: var(--cmd-radius-md); background: var(--cmd-surface-2); }
.binc__stat strong { display: block; font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h2); font-weight: 500; line-height: 1.1; color: var(--cmd-accent); }
.binc__stat span { font-size: var(--cmd-text-caption); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--cmd-ink-3); }
.binc__h3 { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h3); font-weight: 500; margin: 0 0 var(--cmd-space-4); }
.binc__actions { margin-top: var(--cmd-space-5); }

.mcf__sponsor { display: flex; align-items: center; gap: var(--cmd-space-3); margin: 0 0 var(--cmd-space-6); font-size: var(--cmd-text-caption); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--cmd-ink-3); }
.mcf__sponsor img { height: 28px; width: auto; }
.mcf__grid { display: grid; grid-template-columns: minmax(240px, 0.8fr) 1.2fr; gap: var(--cmd-space-7); align-items: start; }
.mcf__media img { display: block; width: 100%; border-radius: var(--cmd-radius-lg); }
.mcf__label { margin: var(--cmd-space-4) 0 var(--cmd-space-1); font-size: var(--cmd-text-caption); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--cmd-ink-3); }
.mcf__text { margin: 0; color: var(--cmd-ink-2); line-height: var(--cmd-leading-body); }
.mcf .button { margin-top: var(--cmd-space-5); }
@media (max-width: 767px) { .mcf__grid { grid-template-columns: 1fr; } }

.embed { background: var(--cmd-surface-2); border-top: 1px solid var(--cmd-line); }
.embed__frame { max-width: 760px; border-radius: var(--cmd-radius-md); overflow: hidden; background: var(--cmd-surface); border: 1px solid var(--cmd-line); }
.embed__frame iframe { display: block; width: 100%; border: 0; }

.offer__head { max-width: 70ch; margin-bottom: var(--cmd-space-7); }
.offer__logo { display: block; max-width: 220px; height: auto; margin-bottom: var(--cmd-space-5); }
.offer__lead { font-size: var(--cmd-text-h4); color: var(--cmd-ink-2); margin: 0; }
.offer__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cmd-space-7); align-items: start; }
.offer__h2 { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h3); font-weight: 500; margin: 0 0 var(--cmd-space-4); }
.offer__list { margin: 0; padding: 0 0 0 1.25rem; display: grid; gap: var(--cmd-space-3); color: var(--cmd-ink-2); line-height: 1.6; }
.offer__pricing { display: grid; gap: var(--cmd-space-4); }
.offer__code { margin: 0 0 var(--cmd-space-2); color: var(--cmd-ink-2); }
.offer__code code { padding: 0.125rem 0.5rem; border-radius: var(--cmd-radius-sm); background: var(--cmd-accent-soft-2); color: var(--cmd-accent-hover); font-weight: 600; }
.offer__fine { margin: 0; font-size: var(--cmd-text-caption); color: var(--cmd-ink-3); }
@media (max-width: 767px) { .offer__grid { grid-template-columns: 1fr; } }

/* Home: hero ------------------------------------------------------------------- */
.hero { position: relative; overflow: hidden; background: var(--cmd-surface); border-bottom: 1px solid var(--cmd-line); }
.hero__glow { position: absolute; right: -10%; top: -20%; width: 60vw; max-width: 900px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 50% 50%, var(--cmd-accent-soft) 0%, rgba(232, 208, 248, 0.45) 35%, rgba(248, 200, 160, 0.18) 55%, transparent 72%); pointer-events: none; }
.hero__container { position: relative; max-width: var(--cmd-container); margin: 0 auto; padding: 0 var(--cmd-gutter); display: grid; grid-template-columns: minmax(0, 7fr) minmax(260px, 5fr); gap: var(--cmd-space-6); align-items: end; min-height: min(82vh, 760px); }
.hero__copy { padding: var(--cmd-space-9) 0; }
.hero__title { font-family: var(--cmd-font-serif); font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4.5rem); font-weight: 400; line-height: 1.05; letter-spacing: -0.025em; margin: var(--cmd-space-4) 0 var(--cmd-space-5); max-width: 14ch; }
/* Long headlines (set by the section from the text length) trade display size for measure, so they stay 3-4 lines. */
.hero__title--long { font-size: clamp(2.25rem, 1.4rem + 3vw, 3.75rem); max-width: 18ch; line-height: 1.08; }
.hero__title--xlong { font-size: clamp(2rem, 1.1rem + 2.5vw, 3.125rem); max-width: 24ch; line-height: 1.1; letter-spacing: -0.02em; }
.hero__sub { max-width: 52ch; margin: 0 0 var(--cmd-space-6); font-size: var(--cmd-text-h4); line-height: var(--cmd-leading-body); color: var(--cmd-ink-2); }
.hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cmd-space-5); }
.hero__actions .button-large { padding: 1rem 1.75rem; font-size: var(--cmd-text-body); }
.hero__link { font-weight: 600; color: var(--cmd-ink); text-decoration: none; }
.hero__link:hover { color: var(--cmd-accent); }
.hero__stats { display: flex; flex-wrap: wrap; gap: var(--cmd-space-6); margin: var(--cmd-space-7) 0 0; padding-top: var(--cmd-space-5); border-top: 1px solid var(--cmd-line); }
.hero__stats[hidden] { display: none; }
.hero__stat dd { margin: 0; font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h2); font-weight: 500; line-height: 1.1; }
.hero__stat dt { font-size: var(--cmd-text-caption); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--cmd-ink-3); }
.hero__figure { align-self: end; justify-self: center; line-height: 0; }
.hero__figure img { display: block; height: min(74vh, 680px); width: auto; max-width: 100%; filter: drop-shadow(0 24px 40px rgba(91, 45, 166, 0.14)); }
@media (max-width: 860px) { .hero__container { grid-template-columns: 1fr; min-height: 0; } .hero__copy { padding: var(--cmd-space-7) 0 var(--cmd-space-4); } .hero__figure img { height: 360px; } .hero__glow { right: -30%; width: 120vw; } }

/* Home: meetings --------------------------------------------------------------- */
.meet__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-8) var(--cmd-gutter); }
.meet__head { max-width: 60ch; margin-bottom: var(--cmd-space-6); }
.meet__title, .show__title, .masters__title, .talk__title, .incl__title, .mcband__title { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h1); font-weight: 400; line-height: var(--cmd-leading-tight); letter-spacing: -0.02em; margin: var(--cmd-space-2) 0 var(--cmd-space-4); }
.meet__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--cmd-ink); }
.meet__item { border-right: 1px solid var(--cmd-line); }
.meet__item:last-child { border-right: 0; }
.meet__link { display: flex; flex-direction: column; gap: var(--cmd-space-2); height: 100%; padding: var(--cmd-space-5) var(--cmd-space-4) var(--cmd-space-6) 0; margin-right: var(--cmd-space-4); text-decoration: none; color: var(--cmd-ink); transition: color var(--cmd-transition); }
.meet__item:not(:first-child) .meet__link { padding-left: var(--cmd-space-4); }
.meet__count { min-height: 1.2em; font-size: var(--cmd-text-caption); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--cmd-accent); }
.meet__name { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h3); font-weight: 500; line-height: var(--cmd-leading-snug); }
.meet__text { font-size: var(--cmd-text-small); color: var(--cmd-ink-2); line-height: 1.5; flex: 1; }
.meet__cta { font-size: var(--cmd-text-small); font-weight: 600; color: var(--cmd-ink-3); transition: color var(--cmd-transition); }
.meet__link:hover .meet__cta, .meet__link:hover .meet__name { color: var(--cmd-accent); }
@media (max-width: 860px) { .meet__grid { grid-template-columns: 1fr 1fr; } .meet__item:nth-child(2) { border-right: 0; } .meet__item:nth-child(n+3) { border-top: 1px solid var(--cmd-line); } .meet__item:nth-child(3) .meet__link { padding-left: 0; } }
@media (max-width: 480px) { .meet__grid { grid-template-columns: 1fr; } .meet__item { border-right: 0; border-top: 1px solid var(--cmd-line); } .meet__item:first-child { border-top: 0; } .meet__link { padding-left: 0 !important; } }

/* Home: showcase ---------------------------------------------------------------- */
.show { background: var(--cmd-surface-2); border-top: 1px solid var(--cmd-line); border-bottom: 1px solid var(--cmd-line); }
.show__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-7) var(--cmd-gutter); }
.show__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--cmd-space-4); margin-bottom: var(--cmd-space-4); }
.show__title { font-size: var(--cmd-text-h2); margin: 0; }
.show__all { white-space: nowrap; font-weight: 600; color: var(--cmd-accent); text-decoration: none; }
.show__row .ccard { flex-basis: 300px; }

/* Home: masters ----------------------------------------------------------------- */
.masters__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-9) var(--cmd-gutter); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--cmd-space-8); align-items: center; }
.masters__text { margin: 0 0 var(--cmd-space-5); color: var(--cmd-ink-2); line-height: var(--cmd-leading-body); }
.masters__people { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--cmd-space-4); }
.masters__link { display: flex; flex-direction: column; align-items: center; gap: var(--cmd-space-2); text-align: center; text-decoration: none; color: var(--cmd-ink); }
.masters__avatar { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 150px; aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: var(--cmd-surface-3); box-shadow: 0 0 0 1px var(--cmd-line), var(--cmd-shadow-md); transition: transform var(--cmd-transition), box-shadow var(--cmd-transition); }
.masters__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.masters__avatar--mono { font-family: var(--cmd-font-serif); font-size: 2rem; color: var(--cmd-accent); background: var(--cmd-accent-soft-2); }
.masters__link:hover .masters__avatar { transform: translateY(-3px); box-shadow: 0 0 0 2px var(--cmd-accent), var(--cmd-shadow-lg); }
.masters__name { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h4); font-weight: 500; margin-top: var(--cmd-space-2); }
.masters__count { font-size: var(--cmd-text-caption); color: var(--cmd-ink-3); }
@media (max-width: 860px) { .masters__container { grid-template-columns: 1fr; gap: var(--cmd-space-6); padding: var(--cmd-space-7) var(--cmd-gutter); } .masters__people { grid-template-columns: repeat(2, 1fr); } }

/* Home: crosstalk --------------------------------------------------------------- */
.talk { background: var(--cmd-ink); color: #fff; }
.talk__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-9) var(--cmd-gutter); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--cmd-space-8); align-items: center; }
.talk .cmd-eyebrow { color: var(--cmd-accent-soft); }
.talk__title { color: #fff; }
.talk__text { color: rgba(255,255,255,0.78); line-height: var(--cmd-leading-body); margin: 0 0 var(--cmd-space-5); }
.talk__link { font-weight: 600; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.4); padding-bottom: 2px; }
.talk__link:hover { color: var(--cmd-accent-soft); border-color: var(--cmd-accent-soft); }
.talk__player { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 0; border-radius: var(--cmd-radius-lg); overflow: hidden; background: #000; cursor: pointer; box-shadow: var(--cmd-shadow-lg); }
.talk__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.85; transition: transform 400ms ease, opacity var(--cmd-transition); }
.talk__player:hover .talk__poster { transform: scale(1.03); opacity: 1; }
.talk__play { position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,0.92); color: var(--cmd-ink); box-shadow: var(--cmd-shadow-lg); transition: transform var(--cmd-transition), background var(--cmd-transition); }
.talk__player:hover .talk__play { transform: scale(1.06); background: #fff; }
.talk__caption { position: absolute; left: var(--cmd-space-4); bottom: var(--cmd-space-4); padding: 0.375rem 0.75rem; border-radius: var(--cmd-radius-pill); background: rgba(22,20,29,0.7); color: #fff; font-size: var(--cmd-text-caption); font-weight: 600; }
.talk__frame { position: relative; aspect-ratio: 16 / 9; border-radius: var(--cmd-radius-lg); overflow: hidden; background: #000; }
.talk__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 860px) { .talk__container { grid-template-columns: 1fr; gap: var(--cmd-space-5); padding: var(--cmd-space-7) var(--cmd-gutter); } }

/* Home: included ---------------------------------------------------------------- */
.incl__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-9) var(--cmd-gutter); }
.incl__title { max-width: 20ch; margin-bottom: var(--cmd-space-6); }
.incl__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--cmd-space-6); }
.incl__item { padding-top: var(--cmd-space-4); border-top: 1px solid var(--cmd-ink); }
.incl__num { display: block; margin-bottom: var(--cmd-space-4); font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h3); color: var(--cmd-accent); }
.incl__h3 { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h3); font-weight: 500; margin: 0 0 var(--cmd-space-2); }
.incl__p { margin: 0; color: var(--cmd-ink-2); line-height: 1.6; }
@media (max-width: 767px) { .incl__list { grid-template-columns: 1fr; gap: var(--cmd-space-5); } }

/* Home: masterclass band ---------------------------------------------------------- */
.mcband { position: relative; overflow: hidden; background: #0f0d14; color: #fff; }
.mcband__photo { position: absolute; inset: 0 0 0 26%; background-size: cover; background-position: 50% 20%; }
.mcband__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,13,20,1) 0%, rgba(15,13,20,0.75) 22%, rgba(15,13,20,0.15) 48%, rgba(15,13,20,0) 70%); }
.mcband__container { position: relative; max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-9) var(--cmd-gutter); min-height: 480px; display: flex; align-items: center; }
.mcband__copy { max-width: 46ch; }
.mcband .cmd-eyebrow { color: var(--cmd-accent-soft); }
.mcband__title { color: #fff; }
.mcband__text { color: rgba(255,255,255,0.8); line-height: var(--cmd-leading-body); margin: 0 0 var(--cmd-space-5); }
@media (max-width: 860px) { .mcband__photo { inset: 0; background-position: 60% 20%; } .mcband__photo::after { background: linear-gradient(180deg, rgba(15,13,20,0.35) 0%, rgba(15,13,20,0.92) 55%); } .mcband__container { align-items: flex-end; min-height: 560px; padding-bottom: var(--cmd-space-7); } }

/* Home: cta ------------------------------------------------------------------------ */
.hcta { background: var(--cmd-surface-2); border-top: 1px solid var(--cmd-line); text-align: center; }
.hcta__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-9) var(--cmd-gutter); }
.hcta__title { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h1); font-weight: 400; letter-spacing: -0.02em; line-height: var(--cmd-leading-tight); max-width: 22ch; margin: 0 auto var(--cmd-space-3); }
.hcta__text { margin: 0 0 var(--cmd-space-5); color: var(--cmd-ink-2); font-size: var(--cmd-text-h4); }
.hcta__hint { margin: var(--cmd-space-3) 0 0; font-size: var(--cmd-text-caption); color: var(--cmd-ink-3); }

/* Masterclass page ---------------------------------------------------------------- */
.mchero { position: relative; overflow: hidden; background: #0f0d14; color: #fff; }
.mchero__photo { position: absolute; inset: 0 0 0 22%; background-size: cover; background-position: 50% 22%; }
.mchero__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,13,20,1) 0%, rgba(15,13,20,0.8) 24%, rgba(15,13,20,0.2) 50%, rgba(15,13,20,0) 72%); }
.mchero__container { position: relative; max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-9) var(--cmd-gutter); min-height: min(78vh, 700px); display: flex; align-items: center; }
.mchero__copy { max-width: 48ch; }
.mchero .cmd-eyebrow { color: var(--cmd-accent-soft); }
.mchero__title { font-family: var(--cmd-font-serif); font-size: clamp(2.5rem, 1.6rem + 3.4vw, 4.25rem); font-weight: 400; line-height: 1.05; letter-spacing: -0.025em; margin: var(--cmd-space-3) 0 var(--cmd-space-4); color: #fff; }
.mchero__sub { color: rgba(255,255,255,0.8); font-size: var(--cmd-text-h4); line-height: var(--cmd-leading-body); margin: 0 0 var(--cmd-space-6); }
.mchero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cmd-space-5); margin-bottom: var(--cmd-space-7); }
.mchero__actions .button-large { padding: 1rem 1.75rem; font-size: var(--cmd-text-body); }
.mchero__link { font-weight: 600; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.4); padding-bottom: 2px; }
.mchero__sponsor { display: flex; align-items: center; gap: var(--cmd-space-3); margin: 0; font-size: var(--cmd-text-caption); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: rgba(255,255,255,0.6); }
.mchero__sponsor img { height: 26px; width: auto; padding: 4px 8px; border-radius: var(--cmd-radius-sm); background: #fff; }
@media (max-width: 860px) { .mchero__photo { inset: 0; background-position: 60% 15%; } .mchero__photo::after { background: linear-gradient(180deg, rgba(15,13,20,0.3) 0%, rgba(15,13,20,0.95) 55%); } .mchero__container { align-items: flex-end; min-height: 640px; } }

.mcfeat__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-9) var(--cmd-gutter); display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: var(--cmd-space-6); border-bottom: 1px solid var(--cmd-line); }
.mcfeat__index { display: flex; flex-direction: column; gap: var(--cmd-space-3); align-items: flex-start; }
.mcfeat__num { font-family: var(--cmd-font-serif); font-size: clamp(2.5rem, 2rem + 2vw, 3.5rem); line-height: 1; color: var(--cmd-accent); }
.mcfeat__title { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h1); font-weight: 400; letter-spacing: -0.02em; line-height: var(--cmd-leading-tight); margin: 0 0 var(--cmd-space-2); }
.mcfeat__with { margin: 0 0 var(--cmd-space-6); font-size: var(--cmd-text-h4); color: var(--cmd-ink-2); }
.mcfeat__cols { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--cmd-space-7); }
.mcfeat__h3 { font-size: var(--cmd-text-caption); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--cmd-ink-3); margin: 0 0 var(--cmd-space-2); }
.mcfeat__p { margin: 0; color: var(--cmd-ink-2); line-height: var(--cmd-leading-body); }
@media (max-width: 767px) { .mcfeat__container { grid-template-columns: 1fr; gap: var(--cmd-space-4); } .mcfeat__index { flex-direction: row; align-items: center; } .mcfeat__cols { grid-template-columns: 1fr; gap: var(--cmd-space-5); } }

.embed { background: var(--cmd-surface-2); border-top: 0; }
.embed__container { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--cmd-space-8); align-items: start; }
.embed__frame { max-width: none; }
@media (max-width: 860px) { .embed__container { grid-template-columns: 1fr; gap: var(--cmd-space-5); } }

/* Prose (legal and long-form) ------------------------------------------------------- */
.cmd-prose { font-size: var(--cmd-text-body); line-height: 1.7; color: var(--cmd-ink-2); }
.cmd-prose p { margin: 0 0 var(--cmd-space-4); }
.cmd-prose h2 { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h3); font-weight: 500; color: var(--cmd-ink); margin: var(--cmd-space-7) 0 var(--cmd-space-3); padding-top: var(--cmd-space-4); border-top: 1px solid var(--cmd-line); scroll-margin-top: var(--cmd-space-6); }
.cmd-prose h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.cmd-prose ul, .cmd-prose ol { margin: 0 0 var(--cmd-space-4); padding-left: 1.5rem; }
.cmd-prose li { margin-bottom: var(--cmd-space-2); }
.cmd-prose strong { color: var(--cmd-ink); font-weight: 600; }
.cmd-prose a { color: var(--cmd-accent); }

/* Legal ----------------------------------------------------------------------------- */
.legal__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-7) var(--cmd-gutter) var(--cmd-space-9); }
.legal__head { margin-bottom: var(--cmd-space-6); padding-bottom: var(--cmd-space-5); border-bottom: 1px solid var(--cmd-line); }
.legal__title { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h1); font-weight: 400; letter-spacing: -0.02em; line-height: var(--cmd-leading-tight); margin: var(--cmd-space-2) 0 0; text-transform: none; }
.legal__grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: var(--cmd-space-8); align-items: start; }
.legal__toc { position: sticky; top: var(--cmd-space-5); max-height: calc(100vh - var(--cmd-space-7)); overflow: auto; }
.legal__toc-label { margin: 0 0 var(--cmd-space-3); font-size: var(--cmd-text-caption); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--cmd-ink-3); }
.legal__toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.375rem; border-left: 2px solid var(--cmd-line); }
.legal__toc li a { display: block; padding: 0.125rem 0 0.125rem var(--cmd-space-3); font-size: var(--cmd-text-caption); line-height: 1.4; color: var(--cmd-ink-2); text-decoration: none; text-transform: none; }
.legal__toc li a:hover { color: var(--cmd-accent); }
.legal__body { max-width: 72ch; }
.legal__body h2 { text-transform: none; font-size: var(--cmd-text-h4); letter-spacing: 0; }
@media (max-width: 860px) { .legal__grid { grid-template-columns: 1fr; gap: var(--cmd-space-5); } .legal__toc { position: static; max-height: none; } }

/* Contact ---------------------------------------------------------------------------- */
.contact__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-8) var(--cmd-gutter) var(--cmd-space-9); }
.contact__head { max-width: 60ch; margin-bottom: var(--cmd-space-7); }
.contact__title { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h1); font-weight: 400; letter-spacing: -0.02em; line-height: var(--cmd-leading-tight); margin: var(--cmd-space-2) 0 var(--cmd-space-3); }
.contact__lead { margin: 0; font-size: var(--cmd-text-h4); color: var(--cmd-ink-2); line-height: var(--cmd-leading-body); }
.contact__grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: var(--cmd-space-5); }
.contact__card { padding: var(--cmd-space-5); border: 1px solid var(--cmd-line); border-radius: var(--cmd-radius-md); background: var(--cmd-surface); }
.contact__card--primary { background: var(--cmd-surface-2); border-color: var(--cmd-accent-soft); }
.contact__label { margin: 0 0 var(--cmd-space-2); font-size: var(--cmd-text-caption); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--cmd-ink-3); }
.contact__label--gap { margin-top: var(--cmd-space-5); }
.contact__email { display: inline-block; margin-bottom: var(--cmd-space-2); font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h3); font-weight: 500; color: var(--cmd-ink); text-decoration: none; word-break: break-all; }
.contact__email:hover { color: var(--cmd-accent); }
.contact__note { margin: 0 0 var(--cmd-space-4); font-size: var(--cmd-text-small); color: var(--cmd-ink-2); }
.contact__line { margin: 0 0 var(--cmd-space-1); color: var(--cmd-ink); }
.contact__line--muted { color: var(--cmd-ink-3); font-size: var(--cmd-text-small); }
.contact__list { margin: 0; padding-left: 1.25rem; display: grid; gap: var(--cmd-space-2); color: var(--cmd-ink-2); font-size: var(--cmd-text-small); line-height: 1.5; }
.contact__foot { margin: var(--cmd-space-6) 0 0; color: var(--cmd-ink-2); }
@media (max-width: 860px) { .contact__grid { grid-template-columns: 1fr; } }

/* About ----------------------------------------------------------------------------- */
.about__container { max-width: var(--cmd-container); margin: 0 auto; padding: var(--cmd-space-8) var(--cmd-gutter) var(--cmd-space-6); }
.about__title { font-family: var(--cmd-font-serif); font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem); font-weight: 400; letter-spacing: -0.02em; line-height: 1.1; max-width: 22ch; margin: var(--cmd-space-3) 0 var(--cmd-space-7); }
.about__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--cmd-space-8); align-items: start; }
.about__lead p { margin: 0; font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h3); line-height: 1.4; color: var(--cmd-ink); }
.about__body p { margin: 0 0 var(--cmd-space-4); color: var(--cmd-ink-2); line-height: var(--cmd-leading-body); }
.about__links { display: flex; gap: var(--cmd-space-5); }
.about__links a { font-weight: 600; color: var(--cmd-accent); text-decoration: none; }
@media (max-width: 860px) { .about__grid { grid-template-columns: 1fr; gap: var(--cmd-space-5); } }
/* About, tighter --------------------------------------------------------------------- */
.about__container { padding-bottom: var(--cmd-space-8); }
.about__title { max-width: 18ch; margin-bottom: var(--cmd-space-4); }
.about__lead { max-width: 52ch; margin: 0 0 var(--cmd-space-6); font-size: var(--cmd-text-h4); line-height: var(--cmd-leading-body); color: var(--cmd-ink-2); }
.about__stats { margin-top: 0; margin-bottom: var(--cmd-space-7); }
.about__facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--cmd-space-6); }
.about__fact { padding-top: var(--cmd-space-4); border-top: 1px solid var(--cmd-ink); }
.about__fact-h { font-family: var(--cmd-font-serif); font-size: var(--cmd-text-h4); font-weight: 500; margin: 0 0 var(--cmd-space-2); }
.about__fact-p { margin: 0; font-size: var(--cmd-text-small); line-height: 1.6; color: var(--cmd-ink-2); }
@media (max-width: 767px) { .about__facts { grid-template-columns: 1fr; gap: var(--cmd-space-5); } }
.hcta__hint { margin: var(--cmd-space-4) 0 0; }
[data-cmd-when][hidden] { display: none !important; }
