/**
 * Inner pages — Blog, Book a class, About, Contact.
 *
 * Extends the homepage language rather than inventing a second one:
 * the same cream-to-maroon wash hero, the same white cards with a 14px
 * radius, the same deep-maroon band for the "person" moment, the same
 * Bitter / Public Sans pairing. Every value comes from tokens.css.
 *
 *   1. Page hero        (.dg-page-hero)   shared opener for every inner page
 *   2. Small components (chips, stats, features, steps, schedule, FAQ, CTA)
 *   3. Maroon band + form card
 *   4. Blog             (featured post, article furniture)
 *   5. Contact          (channel cards)
 */

/* =========================================================
   1. Page hero
   ========================================================= */

.dg-page-hero {
  padding-block: var(--dg-space-6);
  border-bottom: 1px solid var(--dg-line);
  background: radial-gradient(90% 130% at 15% 0%, var(--dg-surface) 0%, var(--dg-maroon-tint-06) 100%);
}
@media (min-width: 900px) { .dg-page-hero { padding-block: var(--dg-space-8); } }

.dg-page-hero__inner { display: grid; gap: var(--dg-space-6); align-items: center; }
@media (min-width: 900px) {
  .dg-page-hero--split .dg-page-hero__inner {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: clamp(var(--dg-space-6), 5vw, var(--dg-space-10));
  }
}

.dg-page-hero__copy { min-width: 0; }
.dg-page-hero .dg-breadcrumbs { padding-top: 0; }

.dg-page-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--dg-space-2);
  margin: 0 0 var(--dg-space-3);
  font-size: var(--dg-text-sm);
  font-weight: 600;
  color: var(--dg-maroon);
}
.dg-page-hero__eyebrow::before {
  content: "";
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}
.dg-page-hero__eyebrow a { color: inherit; text-decoration: none; }
.dg-page-hero__eyebrow a:hover { text-decoration: underline; text-underline-offset: 3px; }

.dg-page-hero__title {
  max-width: 20ch;
  margin-bottom: var(--dg-space-3);
  font-size: var(--dg-text-3xl);
  line-height: 1.08;
  text-wrap: balance;
}
.dg-page-hero__lead {
  max-width: 52ch;
  margin: 0;
  color: var(--dg-ink-muted);
  font-size: var(--dg-text-md);
  line-height: var(--dg-leading-relaxed);
}
.dg-page-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--dg-space-2) var(--dg-space-3);
  margin-top: var(--dg-space-4);
  font-size: var(--dg-text-sm);
  color: var(--dg-ink-muted);
}
.dg-page-hero__actions { display: flex; flex-wrap: wrap; gap: var(--dg-space-3); margin-top: var(--dg-space-5); }
.dg-page-hero__aside { min-width: 0; }

/* Article variant: long titles need a wider measure and a calmer size. */
.dg-page-hero--article .dg-page-hero__title {
  max-width: 28ch;
  font-size: var(--dg-text-2xl);
  line-height: 1.15;
}
@media (min-width: 900px) { .dg-page-hero--article .dg-page-hero__title { font-size: var(--dg-text-3xl); } }
.dg-page-hero--article .dg-page-hero__inner { max-width: 860px; margin-inline: auto; }

/* =========================================================
   2. Small components
   ========================================================= */

/* ---- Chips (blog category filter, class list) ---- */
.dg-chip-row { display: flex; flex-wrap: wrap; gap: var(--dg-space-2); }
.dg-chip-row a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 var(--dg-space-4);
  border: 1px solid var(--dg-line-strong);
  border-radius: var(--dg-radius-pill);
  background: var(--dg-surface);
  color: var(--dg-ink);
  font-size: var(--dg-text-sm);
  font-weight: 600;
  text-decoration: none;
  transition: border-color var(--dg-transition), color var(--dg-transition), background var(--dg-transition);
}
.dg-chip-row a:hover { border-color: var(--dg-maroon); color: var(--dg-maroon); }
.dg-chip-row a.is-active,
.dg-chip-row a[aria-current="page"] { background: var(--dg-maroon); border-color: var(--dg-maroon); color: var(--dg-surface); }
@media (max-width: 600px) {
  /* Filter rails scroll sideways instead of stacking into a wall of pills. */
  .dg-chip-row--rail {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    margin-inline: calc(-1 * var(--dg-container-pad));
    padding-inline: var(--dg-container-pad);
  }
  .dg-chip-row--rail::-webkit-scrollbar { display: none; }
  .dg-chip-row--rail a { flex-shrink: 0; }
}

/* ---- Stat card (About hero) ---- */
.dg-stat-card {
  padding: var(--dg-space-5);
  background: var(--dg-surface);
  border: 1px solid var(--dg-line);
  border-radius: var(--dg-radius-lg);
  box-shadow: var(--dg-shadow-md);
}
.dg-stat-card__title {
  margin: 0 0 var(--dg-space-4);
  font-family: var(--dg-font-body);
  font-size: var(--dg-text-2xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--dg-ink-faint);
}
.dg-stat-card dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: var(--dg-space-4); margin: 0; }
.dg-stat-card dt {
  order: 2;
  font-size: var(--dg-text-sm);
  color: var(--dg-ink-muted);
}
.dg-stat-card dd {
  order: 1;
  margin: 0;
  font-family: var(--dg-font-display);
  font-size: var(--dg-text-3xl);
  font-weight: 620;
  line-height: 1;
  color: var(--dg-maroon-deep);
}
.dg-stat-card__item { display: flex; flex-direction: column; gap: var(--dg-space-1); }

/* ---- Profile card (Book a class hero) ---- */
.dg-profile-card {
  display: flex;
  flex-direction: column;
  gap: var(--dg-space-3);
  padding: var(--dg-space-5);
  background: var(--dg-surface);
  border: 1px solid var(--dg-line);
  border-radius: var(--dg-radius-lg);
  box-shadow: var(--dg-shadow-md);
}
.dg-profile-card__head { display: flex; align-items: center; gap: var(--dg-space-4); }
.dg-profile-card__photo {
  flex-shrink: 0;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--dg-maroon-tint-10);
}
.dg-profile-card__photo--empty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--dg-maroon-tint-06);
  color: var(--dg-maroon);
}
.dg-profile-card__photo--empty svg { width: 32px; height: 32px; }
.dg-profile-card__name { margin: 0; font-size: var(--dg-text-xl); }
.dg-profile-card__role { margin: 2px 0 0; font-size: var(--dg-text-sm); color: var(--dg-ink-muted); }
.dg-profile-card__bio { margin: 0; color: var(--dg-ink-muted); font-size: var(--dg-text-sm); line-height: var(--dg-leading-relaxed); }

/* ---- Static cards: same surface as .dg-card, no lift (they aren't links) ---- */
.dg-card--static:hover,
.dg-card--static:focus-visible {
  transform: none;
  box-shadow: var(--dg-shadow-rest);
  border-color: var(--dg-line);
}
.dg-card--static:hover .dg-card__icon { background: var(--dg-maroon-tint-06); }

.dg-feature { gap: var(--dg-space-3); padding: var(--dg-space-5); }
.dg-feature .dg-card__title { margin: 0; font-size: var(--dg-text-lg); }
.dg-feature p { margin: 0; color: var(--dg-ink-muted); font-size: var(--dg-text-sm); line-height: var(--dg-leading-normal); }

.dg-feature-grid { display: grid; gap: var(--dg-space-3); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) { .dg-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--dg-space-4); } }
@media (min-width: 1000px) { .dg-feature-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---- Steps ---- */
.dg-steps {
  display: grid;
  gap: var(--dg-space-3);
  grid-template-columns: minmax(0, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: dg-step;
}
@media (min-width: 800px) { .dg-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--dg-space-4); } }
.dg-steps__item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--dg-space-2);
  padding: var(--dg-space-5);
  background: var(--dg-surface);
  border: 1px solid var(--dg-line);
  border-radius: var(--dg-radius);
  box-shadow: var(--dg-shadow-rest);
  counter-increment: dg-step;
}
.dg-steps__item::before {
  content: counter(dg-step);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: var(--dg-space-1);
  border-radius: 50%;
  background: var(--dg-maroon);
  color: var(--dg-surface);
  font-family: var(--dg-font-display);
  font-size: var(--dg-text-base);
  font-weight: 700;
}
.dg-steps__item h3 { margin: 0; font-size: var(--dg-text-lg); }
.dg-steps__item p { margin: 0; color: var(--dg-ink-muted); font-size: var(--dg-text-sm); }

/* ---- Schedule cards (Ways to learn) ---- */
.dg-schedule { display: grid; gap: var(--dg-space-3); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .dg-schedule { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--dg-space-4); } }
.dg-schedule__item { gap: var(--dg-space-3); padding: var(--dg-space-5); }
.dg-schedule__label { margin: 0; }
.dg-schedule__time {
  display: flex;
  align-items: center;
  gap: var(--dg-space-2);
  margin: 0;
  font-size: var(--dg-text-sm);
  font-weight: 600;
  color: var(--dg-ink);
}
.dg-schedule__time svg { width: 17px; height: 17px; color: var(--dg-maroon); flex-shrink: 0; }
.dg-schedule__item .dg-badge { margin-top: auto; }

/* ---- FAQ (native <details>: works with no JS, keyboard-accessible) ---- */
.dg-faq { display: flex; flex-direction: column; gap: var(--dg-space-2); max-width: var(--dg-container-narrow); margin-inline: auto; }
.dg-faq details {
  background: var(--dg-surface);
  border: 1px solid var(--dg-line);
  border-radius: var(--dg-radius);
  transition: border-color var(--dg-transition), box-shadow var(--dg-transition);
}
.dg-faq details[open] { border-color: var(--dg-line-strong); box-shadow: var(--dg-shadow-rest); }
.dg-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--dg-space-4);
  min-height: 56px;
  padding: var(--dg-space-3) var(--dg-space-5);
  font-weight: 600;
  color: var(--dg-maroon-deep);
  cursor: pointer;
  list-style: none;
}
.dg-faq summary::-webkit-details-marker { display: none; }
.dg-faq summary::after {
  content: "+";
  flex-shrink: 0;
  font-family: var(--dg-font-display);
  font-size: var(--dg-text-xl);
  font-weight: 500;
  line-height: 1;
  color: var(--dg-maroon);
}
.dg-faq details[open] summary::after { content: "\2212"; }
.dg-faq__answer { padding: 0 var(--dg-space-5) var(--dg-space-4); color: var(--dg-ink-muted); font-size: var(--dg-text-sm); line-height: var(--dg-leading-relaxed); }
.dg-faq__answer p { margin: 0; }

/* ---- CTA panel (closes About, Blog, articles) ---- */
.dg-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--dg-space-4) var(--dg-space-6);
  padding: var(--dg-space-6) var(--dg-space-5);
  background: var(--dg-maroon-tint-06);
  border: 1px solid var(--dg-maroon-tint-10);
  border-radius: var(--dg-radius-lg);
}
@media (min-width: 900px) { .dg-cta { padding: var(--dg-space-7); } }
.dg-cta__text { flex: 1 1 22rem; min-width: 0; }
.dg-cta__text h2 { margin-bottom: var(--dg-space-2); }
.dg-cta__text p { margin: 0; max-width: 54ch; color: var(--dg-ink-muted); }
.dg-cta__actions { display: flex; flex-wrap: wrap; gap: var(--dg-space-3); }
@media (max-width: 600px) { .dg-cta__actions .dg-btn { flex: 1 1 100%; } }

/* Section wrapper with a hairline on top, for stacked page sections. */
.dg-page-section { padding-block: var(--dg-section-y); }
.dg-page-section + .dg-page-section { padding-top: 0; }

/* =========================================================
   3. Maroon band + form card (Book a class)
   ========================================================= */

.dg-band {
  padding-block: var(--dg-section-y);
  background: var(--dg-maroon-deep);
  color: var(--dg-surface);
}
.dg-band ::selection { background: var(--dg-surface); color: var(--dg-maroon-deep); }
.dg-band__inner { display: grid; gap: var(--dg-space-6); align-items: start; }
@media (min-width: 860px) { .dg-band__inner { grid-template-columns: 1fr 1.05fr; gap: var(--dg-space-8); } }
.dg-band__eyebrow { margin: 0 0 var(--dg-space-2); font-size: var(--dg-text-sm); font-weight: 600; color: rgba(255, 255, 255, 0.72); }
.dg-band h2 { color: var(--dg-surface); }
.dg-band__lead { max-width: 46ch; color: rgba(255, 255, 255, 0.86); font-size: var(--dg-text-md); line-height: var(--dg-leading-relaxed); }
.dg-band__aside-link { margin-top: var(--dg-space-5); font-size: var(--dg-text-sm); color: rgba(255, 255, 255, 0.72); }
.dg-band__aside-link a { color: var(--dg-surface); text-underline-offset: 3px; }
.dg-band__aside-link a:hover { color: var(--dg-surface); text-decoration-thickness: 2px; }

.dg-form-card {
  padding: var(--dg-space-5);
  background: var(--dg-surface);
  color: var(--dg-ink);
  border: 1px solid var(--dg-line);
  border-radius: var(--dg-radius-lg);
  box-shadow: var(--dg-shadow-lg);
}
@media (min-width: 900px) { .dg-form-card { padding: var(--dg-space-6); } }
.dg-form-card__title { margin: 0 0 var(--dg-space-1); font-size: var(--dg-text-xl); }
.dg-form-card__lead { margin: 0 0 var(--dg-space-5); font-size: var(--dg-text-sm); color: var(--dg-ink-muted); }
.dg-form-card .dg-field:last-of-type { margin-bottom: var(--dg-space-4); }
.dg-form-card__note { margin: var(--dg-space-3) 0 0; font-size: var(--dg-text-xs); color: var(--dg-ink-muted); text-align: center; }
.dg-form-card ::selection { background: var(--dg-maroon-tint-10); color: var(--dg-maroon-deep); }

.dg-field-row { display: grid; gap: 0 var(--dg-space-4); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) { .dg-field-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Select: drawn with gradients so it needs no image and no raw colour. */
.dg-select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: var(--dg-space-8);
  background-image:
    linear-gradient(45deg, transparent 50%, var(--dg-ink-muted) 50%),
    linear-gradient(135deg, var(--dg-ink-muted) 50%, transparent 50%);
  background-position: calc(100% - 20px) 52%, calc(100% - 15px) 52%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  cursor: pointer;
}

/* =========================================================
   4. Blog
   ========================================================= */

.dg-blog-toolbar { padding-block: var(--dg-space-5) 0; }

/* Featured (newest) post */
.dg-feature-post {
  display: grid;
  /* Explicit single column: without it the image's aspect-ratio + min-height
     makes the implicit column ~391px wide and the card overflows a phone. */
  grid-template-columns: minmax(0, 1fr);
  padding: 0;
  overflow: hidden;
  gap: 0;
  margin-bottom: var(--dg-space-6);
}
@media (min-width: 800px) { .dg-feature-post { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); } }
.dg-feature-post__body { min-width: 0; }
.dg-feature-post__image {
  display: block;
  min-height: 220px;
  aspect-ratio: 16 / 9;
  background-size: cover;
  background-position: center;
  background-color: var(--dg-surface-sunken);
}
@media (min-width: 800px) { .dg-feature-post__image { aspect-ratio: auto; min-height: 340px; } }
.dg-feature-post__image--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--dg-maroon-tint-06), var(--dg-maroon-tint-10));
  color: var(--dg-maroon);
}
.dg-feature-post__image--empty svg { width: 48px; height: 48px; opacity: 0.55; }
.dg-feature-post__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: var(--dg-space-3);
  padding: var(--dg-space-5);
}
@media (min-width: 800px) { .dg-feature-post__body { padding: var(--dg-space-7); } }
.dg-feature-post__title {
  margin: 0;
  font-family: var(--dg-font-display);
  font-size: var(--dg-text-xl);
  font-weight: 620;
  line-height: var(--dg-leading-tight);
  letter-spacing: var(--dg-tracking-tight);
  color: var(--dg-maroon-deep);
}
@media (min-width: 800px) { .dg-feature-post__title { font-size: var(--dg-text-2xl); } }
.dg-feature-post__excerpt { margin: 0; color: var(--dg-ink-muted); line-height: var(--dg-leading-relaxed); }
.dg-feature-post__more {
  display: inline-flex;
  align-items: center;
  gap: var(--dg-space-2);
  margin-top: var(--dg-space-2);
  font-size: var(--dg-text-sm);
  font-weight: 700;
  color: var(--dg-maroon);
}
.dg-feature-post__more svg { width: 16px; height: 16px; transition: transform var(--dg-transition); }
.dg-feature-post:hover .dg-feature-post__more svg { transform: translateX(3px); }

/* Blog card additions (used with the existing .dg-card--blog) */
.dg-card--blog__image--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--dg-maroon-tint-06), var(--dg-maroon-tint-10));
  color: var(--dg-maroon);
}
.dg-card--blog__image--empty svg { width: 34px; height: 34px; opacity: 0.55; }
.dg-card--blog:hover .dg-card--blog__image:not(.dg-card--blog__image--empty) { transform: scale(1.03); }
.dg-card--blog__top { display: flex; flex-wrap: wrap; gap: var(--dg-space-2); }
.dg-card--blog .dg-card__meta { display: flex; flex-wrap: wrap; gap: var(--dg-space-1) var(--dg-space-2); }
.dg-card--blog .dg-card__meta span + span::before { content: "\00B7"; margin-right: var(--dg-space-2); }
.dg-card--blog { overflow: hidden; }
.dg-card--blog__image { overflow: hidden; }

/* Article furniture */
.dg-article { padding-block: var(--dg-space-6) var(--dg-section-y); }
.dg-article__figure {
  max-width: 880px;
  margin: 0 auto var(--dg-space-7);
  border-radius: var(--dg-radius-lg);
  overflow: hidden;
  background: var(--dg-surface-sunken);
  box-shadow: var(--dg-shadow-rest);
}
.dg-article__figure img { display: block; width: 100%; height: auto; }
.dg-article__share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--dg-space-3);
  margin-top: var(--dg-space-7);
  padding-top: var(--dg-space-5);
  border-top: 1px solid var(--dg-line);
}
.dg-article__share-label { font-size: var(--dg-text-sm); font-weight: 600; color: var(--dg-ink-muted); }
.dg-article__cta { margin-top: var(--dg-space-8); }

/* =========================================================
   5. Contact
   ========================================================= */

.dg-contact-layout { display: grid; gap: var(--dg-space-6); align-items: start; }
@media (min-width: 900px) {
  .dg-contact-layout { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: var(--dg-space-8); }
  .dg-contact-layout__side { position: sticky; top: calc(var(--dg-header-height) + var(--dg-space-5)); }
}
.dg-contact-layout__side { display: flex; flex-direction: column; gap: var(--dg-space-3); min-width: 0; }
.dg-contact-layout__side h2 { font-size: var(--dg-text-lg); margin-bottom: var(--dg-space-1); }

.dg-channel { flex-direction: row; align-items: center; gap: var(--dg-space-4); padding: var(--dg-space-4); }
.dg-channel__text { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.dg-channel__title { font-family: var(--dg-font-display); font-weight: 620; color: var(--dg-maroon-deep); line-height: var(--dg-leading-snug); }
.dg-channel__sub { font-size: var(--dg-text-sm); color: var(--dg-ink-muted); }
.dg-channel__chevron { flex-shrink: 0; width: 18px; height: 18px; color: var(--dg-ink-faint); transition: transform var(--dg-transition), color var(--dg-transition); }
.dg-channel:hover .dg-channel__chevron { transform: translateX(3px); color: var(--dg-maroon); }

.dg-tips {
  margin: var(--dg-space-2) 0 0;
  padding: var(--dg-space-4) var(--dg-space-5);
  background: var(--dg-maroon-tint-03);
  border: 1px solid var(--dg-line);
  border-radius: var(--dg-radius);
  font-size: var(--dg-text-sm);
  color: var(--dg-ink-muted);
}
.dg-tips strong { display: block; margin-bottom: var(--dg-space-2); color: var(--dg-ink); }
.dg-tips ul { margin: 0; padding-left: var(--dg-space-5); }
.dg-tips li { margin-bottom: var(--dg-space-1); }
.dg-tips li:last-child { margin-bottom: 0; }

.dg-contact-form .dg-textarea { min-height: 160px; }
/* Hint that sits under a two-field row, tucked up against the row above. */
.dg-field__hint.dg-field__hint--row { margin: calc(-1 * var(--dg-space-3)) 0 var(--dg-space-5); }
.dg-contact-form__actions { display: flex; flex-wrap: wrap; gap: var(--dg-space-3); }
@media (max-width: 600px) { .dg-contact-form__actions .dg-btn { flex: 1 1 100%; padding-inline: var(--dg-space-4); } }

/* =========================================================
   6. About
   ========================================================= */

.dg-about-story { display: grid; gap: var(--dg-space-6); align-items: start; }
@media (min-width: 900px) {
  .dg-about-story { grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr); gap: var(--dg-space-8); }
  .dg-about-story--solo { grid-template-columns: minmax(0, 420px); justify-content: center; }
}
.dg-about-story__text { min-width: 0; }
.dg-about-story__text h2 { margin-bottom: var(--dg-space-4); }

/* Same deep-maroon "person" moment as the homepage teacher band, as a card. */
.dg-teacher-card {
  display: flex;
  flex-direction: column;
  gap: var(--dg-space-2);
  padding: var(--dg-space-6) var(--dg-space-5);
  background: var(--dg-maroon-deep);
  color: var(--dg-surface);
  border-radius: var(--dg-radius-lg);
  box-shadow: var(--dg-shadow-md);
}
@media (min-width: 900px) { .dg-teacher-card { position: sticky; top: calc(var(--dg-header-height) + var(--dg-space-5)); } }
.dg-teacher-card ::selection { background: var(--dg-surface); color: var(--dg-maroon-deep); }
.dg-teacher-card .dg-teacher__photo { margin-bottom: var(--dg-space-2); }
.dg-teacher-card__eyebrow { margin: 0; font-size: var(--dg-text-sm); font-weight: 600; color: rgba(255, 255, 255, 0.72); }
.dg-teacher-card__name { margin: 0 0 var(--dg-space-1); font-size: var(--dg-text-xl); color: var(--dg-surface); }
.dg-teacher-card__bio { margin: 0 0 var(--dg-space-4); color: rgba(255, 255, 255, 0.86); font-size: var(--dg-text-sm); line-height: var(--dg-leading-relaxed); }
.dg-teacher-card .dg-btn--ghost { background: var(--dg-surface); border-color: var(--dg-surface); }
.dg-teacher-card .dg-btn--ghost:hover { background: var(--dg-surface); color: var(--dg-maroon-deep); box-shadow: var(--dg-shadow-md); }
