/* =====================================================================
   Mobile responsive guards — every deep-dive section's content must
   stay inside the viewport, regardless of font-scale or zoom settings.
   ===================================================================== */
@media (max-width: 600px) {
  .dl-section, .dk-section, .tb-section, .sd-section,
  .tolle-section, .med-mingyur-section {
    padding: 40px 14px !important;
  }
  .dl-hero, .dk-hero, .tolle-hero, .med-mingyur-hero {
    gap: 16px;
  }
  .dl-portrait, .dk-portrait, .tolle-portrait {
    width: 110px;
    height: 110px;
  }
  .dl-portrait-emoji, .dk-portrait-emoji, .tolle-portrait-emoji {
    font-size: 76px;
  }
  .dl-title, .dk-title, .tolle-title, .tb-title, .sd-title {
    font-size: clamp(18px, 5vw, 24px);
  }
  .dl-bio-list li, .dk-bio-list li, .tolle-bio-list li {
    padding: 10px 12px 10px 32px;
    font-size: 13px;
  }
  .tb-school { padding: 14px; }
  .sd-sutra { padding: 16px; }
  .sd-sutra-emoji { font-size: 30px; }
  .sd-sutra-name { font-size: 16px; }
  .dl-book, .dk-book {
    padding: 12px;
    gap: 12px;
  }
  .dl-book-cover, .dk-book-cover {
    width: 60px;
    height: 86px;
  }
  .dl-quote, .dk-quote, .tolle-quote {
    padding: 12px 14px;
    font-size: 13px;
  }
  .sd-comparison-table {
    font-size: 12px;
  }
  .sd-comparison-table th,
  .sd-comparison-table td {
    padding: 8px 10px;
  }
}
@media (max-width: 400px) {
  .dl-section, .dk-section, .tb-section, .sd-section,
  .tolle-section, .med-mingyur-section {
    padding: 32px 10px !important;
  }
  .dl-portrait, .dk-portrait, .tolle-portrait {
    width: 90px;
    height: 90px;
  }
  .dl-portrait-emoji, .dk-portrait-emoji, .tolle-portrait-emoji {
    font-size: 62px;
  }
  .dl-title, .dk-title, .tolle-title, .tb-title, .sd-title {
    font-size: 18px;
  }
  .dl-subtitle, .dk-subtitle, .tolle-subtitle {
    font-size: 12px;
  }
  .dl-hero-quote, .dk-hero-quote {
    font-size: 13px;
    padding: 12px 14px;
  }
  .tb-school-name, .sd-sutra-name { font-size: 14px; }
  .tb-school-detail, .sd-sutra-row { font-size: 12px; }
}

/* =====================================================================
   meditation-deep.css — styles for Dalai Lama, Tibetan, Sūtras sections
   ── Dalai Lama: saffron/maroon (Tibetan monk robes)
   ── Tibetan deep: indigo/snow (Himalayan mountain)
   ── Sūtras: amber/parchment (ancient scroll)
   ===================================================================== */

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  DALAI LAMA SECTION — saffron + maroon                            ║
   ╚══════════════════════════════════════════════════════════════════╝ */
.dl-section {
  position: relative;
  padding: 60px 24px;
  background: linear-gradient(180deg,
    rgba(180, 60, 40, 0.06) 0%,
    rgba(220, 140, 50, 0.05) 50%,
    rgba(180, 60, 40, 0.06) 100%);
  border-top: 1px solid rgba(220, 140, 50, 0.22);
  border-bottom: 1px solid rgba(220, 140, 50, 0.22);
  overflow: hidden;
}
.dl-saffron-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.dl-saffron-1, .dl-saffron-2 {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: 0.4;
}
.dl-saffron-1 {
  width: 480px; height: 480px;
  top: -100px; right: -100px;
  background: radial-gradient(circle, #d97a32 0%, transparent 70%);
  animation: dl-drift 20s ease-in-out infinite;
}
.dl-saffron-2 {
  width: 380px; height: 380px;
  bottom: -80px; left: -80px;
  background: radial-gradient(circle, #c0392b 0%, transparent 70%);
  animation: dl-drift 24s ease-in-out infinite reverse;
}
@keyframes dl-drift {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(35px, 25px) scale(1.1); }
}
.dl-inner {
  position: relative;
  z-index: 2;
  max-width: 920px;
  margin: 0 auto;
}
.dl-hero {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.dl-portrait {
  position: relative;
  width: 130px;
  height: 130px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dl-portrait-glow {
  position: absolute;
  inset: -12px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(217, 122, 50, 0.55) 0%, transparent 65%);
  filter: blur(16px);
  animation: dl-glow 4s ease-in-out infinite;
}
@keyframes dl-glow {
  0%, 100% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 0.9; transform: scale(1.12); }
}
.dl-portrait-emoji {
  position: relative;
  z-index: 2;
  font-size: 90px;
  filter: drop-shadow(0 4px 16px rgba(217, 122, 50, 0.5));
}
.dl-hero-text {
  flex: 1;
  min-width: 260px;
}
.dl-title {
  font-family: 'Noto Serif KR', serif;
  font-size: clamp(20px, 3vw, 28px);
  color: #f5cc7c;
  margin: 0 0 8px;
  font-weight: 700;
}
.dl-subtitle {
  color: #e8b87a;
  font-style: italic;
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 14px;
}
.dl-hero-quote {
  margin: 0;
  padding: 12px 16px;
  background: rgba(192, 57, 43, 0.15);
  border-left: 3px solid #d97a32;
  border-radius: 0 10px 10px 0;
  font-family: 'Noto Serif KR', 'Cormorant Garamond', serif;
  font-style: italic;
  color: #f5deb3;
  font-size: 15px;
  line-height: 1.6;
}

.dl-bio-list {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: grid;
  gap: 9px;
}
.dl-bio-list li {
  position: relative;
  padding: 11px 16px 11px 36px;
  background: rgba(217, 122, 50, 0.08);
  border-radius: 8px;
  color: #e8d0a0;
  font-size: 14px;
  line-height: 1.6;
}
.dl-bio-list li::before {
  content: '☸';
  position: absolute;
  left: 12px;
  top: 11px;
  font-size: 14px;
  color: #d97a32;
}

.dl-teachings { display: grid; gap: 8px; }
.dl-teaching {
  background: rgba(217, 122, 50, 0.08);
  border: 1px solid rgba(217, 122, 50, 0.22);
  border-radius: 10px;
  padding: 14px 16px;
  transition: border-color 0.25s, background 0.25s;
}
.dl-teaching:hover {
  border-color: rgba(245, 204, 124, 0.45);
  background: rgba(217, 122, 50, 0.12);
}
.dl-teaching[open] {
  background: rgba(217, 122, 50, 0.15);
  border-color: rgba(245, 204, 124, 0.5);
}
.dl-teaching-title {
  cursor: pointer;
  color: #f5cc7c;
  font-weight: 600;
  font-size: 14px;
  list-style: none;
  font-family: 'Noto Serif KR', serif;
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  padding-right: 28px;
}
.dl-teaching-title::-webkit-details-marker { display: none; }
.dl-teaching-emoji {
  font-size: 18px;
  flex-shrink: 0;
}
.dl-teaching-title::after {
  content: '+';
  position: absolute;
  right: 4px;
  top: -2px;
  color: #d97a32;
  font-weight: 300;
  font-size: 22px;
  transition: transform 0.3s;
}
.dl-teaching[open] .dl-teaching-title::after {
  transform: rotate(45deg);
}
.dl-teaching-detail {
  margin: 12px 0 0;
  padding-top: 12px;
  border-top: 1px solid rgba(217, 122, 50, 0.25);
  color: #d4c8a8;
  font-size: 13px;
  line-height: 1.75;
}

.dl-books-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-bottom: 28px;
}
.dl-book {
  display: flex;
  gap: 16px;
  padding: 16px;
  background: rgba(15, 24, 32, 0.5);
  border: 1px solid rgba(217, 122, 50, 0.22);
  border-radius: 12px;
}
.dl-book-cover {
  flex-shrink: 0;
  width: 70px;
  height: 100px;
  background: linear-gradient(135deg, #c0392b, #d97a32);
  border-radius: 4px 8px 8px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}
.dl-book-emoji { font-size: 28px; }
.dl-book-year { color: #fff; font-size: 11px; font-weight: 700; }
.dl-book-text { flex: 1; min-width: 0; }
.dl-book-title {
  font-family: 'Noto Serif KR', serif;
  font-size: 15px;
  color: #f5cc7c;
  margin: 0 0 6px;
  font-weight: 700;
  line-height: 1.35;
}
.dl-book-coauthor {
  font-size: 11px;
  color: #b8a070;
  font-style: italic;
  margin-bottom: 6px;
}
.dl-book-summary {
  margin: 0;
  color: #c5bba5;
  font-size: 12px;
  line-height: 1.6;
}

.dl-clinical {
  display: flex;
  gap: 16px;
  margin: 28px 0;
  padding: 20px 22px;
  background: linear-gradient(135deg, rgba(217, 122, 50, 0.15), rgba(192, 57, 43, 0.08));
  border: 1px solid rgba(217, 122, 50, 0.35);
  border-radius: 14px;
}
.dl-clinical-icon { font-size: 32px; flex-shrink: 0; }
.dl-clinical-title { margin: 0 0 8px; color: #f5cc7c; font-size: 15px; font-weight: 700; }
.dl-clinical p { margin: 0; color: #d4c8a8; font-size: 13px; line-height: 1.7; }

.dl-quotes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
  margin-bottom: 28px;
}
.dl-quote {
  margin: 0;
  padding: 16px 18px;
  background: rgba(15, 24, 32, 0.5);
  border-radius: 12px;
  font-family: 'Noto Serif KR', serif;
  font-style: italic;
  font-size: 14px;
  line-height: 1.7;
  color: #f0d894;
  border-left: 3px solid;
  position: relative;
}
.dl-quote-0 { border-color: #d97a32; }
.dl-quote-1 { border-color: #c0392b; }
.dl-quote-2 { border-color: #f5cc7c; }
.dl-quote::before {
  content: '"';
  position: absolute;
  top: -6px; left: 12px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 50px;
  color: rgba(217, 122, 50, 0.25);
  line-height: 1;
}

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  DILGO KHYENTSE RINPOCHE — deep maroon + moon gold                ║
   ║  Theme: full-moon over Himalayan mountains (Brilliant Moon)       ║
   ╚══════════════════════════════════════════════════════════════════╝ */
.dk-section {
  position: relative;
  padding: 60px 24px;
  background: linear-gradient(180deg,
    rgba(80, 30, 60, 0.10) 0%,
    rgba(160, 100, 60, 0.06) 50%,
    rgba(80, 30, 60, 0.10) 100%);
  border-top: 1px solid rgba(245, 220, 130, 0.22);
  border-bottom: 1px solid rgba(245, 220, 130, 0.22);
  overflow: hidden;
}
.dk-moon {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.dk-moon-1, .dk-moon-2 {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.4;
}
.dk-moon-1 {
  width: 520px; height: 520px;
  top: -120px; left: 50%;
  transform: translateX(-50%);
  background: radial-gradient(circle, #f5dc82 0%, transparent 60%);
  animation: dk-moon-glow 8s ease-in-out infinite;
}
.dk-moon-2 {
  width: 380px; height: 380px;
  bottom: -80px; right: -80px;
  background: radial-gradient(circle, #8b3050 0%, transparent 70%);
  animation: dk-moon-glow 10s ease-in-out infinite reverse;
}
@keyframes dk-moon-glow {
  0%, 100% { opacity: 0.35; transform: translateX(-50%) scale(1); }
  50% { opacity: 0.55; transform: translateX(-50%) scale(1.1); }
}
.dk-moon-2 {
  animation-name: dk-moon-glow-2;
}
@keyframes dk-moon-glow-2 {
  0%, 100% { opacity: 0.35; transform: scale(1); }
  50% { opacity: 0.55; transform: scale(1.1); }
}
.dk-inner {
  position: relative;
  z-index: 2;
  max-width: 920px;
  margin: 0 auto;
}
.dk-hero {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.dk-portrait {
  position: relative;
  width: 140px;
  height: 140px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dk-portrait-glow {
  position: absolute;
  inset: -16px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245, 220, 130, 0.65) 0%, transparent 65%);
  filter: blur(20px);
  animation: dk-portrait-pulse 5s ease-in-out infinite;
}
@keyframes dk-portrait-pulse {
  0%, 100% { opacity: 0.55; transform: scale(1); }
  50% { opacity: 0.95; transform: scale(1.15); }
}
.dk-portrait-emoji {
  position: relative;
  z-index: 2;
  font-size: 100px;
  filter: drop-shadow(0 4px 18px rgba(245, 220, 130, 0.6));
}
.dk-hero-text {
  flex: 1;
  min-width: 260px;
}
.dk-title {
  font-family: 'Noto Serif KR', serif;
  font-size: clamp(20px, 3vw, 26px);
  color: #f5dc82;
  margin: 0 0 8px;
  font-weight: 700;
}
.dk-subtitle {
  color: #e0c890;
  font-style: italic;
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 14px;
}
.dk-hero-quote {
  margin: 0;
  padding: 14px 18px;
  background: rgba(139, 48, 80, 0.18);
  border-left: 3px solid #f5dc82;
  border-radius: 0 10px 10px 0;
  font-family: 'Noto Serif KR', 'Cormorant Garamond', serif;
  font-style: italic;
  color: #f5deb3;
  font-size: 15px;
  line-height: 1.6;
}

.dk-bio-list {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  display: grid;
  gap: 9px;
}
.dk-bio-list li {
  position: relative;
  padding: 11px 16px 11px 36px;
  background: rgba(245, 220, 130, 0.06);
  border-radius: 8px;
  color: #e8d4a0;
  font-size: 14px;
  line-height: 1.6;
}
.dk-bio-list li::before {
  content: '🌕';
  position: absolute;
  left: 12px;
  top: 11px;
  font-size: 12px;
  filter: drop-shadow(0 0 4px rgba(245, 220, 130, 0.6));
}

/* Richard Gere block — CINEMATIC styling */
.dk-gere {
  margin: 36px 0;
  padding: 28px;
  background: linear-gradient(135deg, rgba(20, 0, 30, 0.85), rgba(80, 30, 60, 0.45));
  border: 2px solid rgba(245, 220, 130, 0.4);
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}
.dk-gere::before {
  content: '';
  position: absolute;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: radial-gradient(ellipse at center, rgba(245, 220, 130, 0.08) 0%, transparent 50%);
  pointer-events: none;
  animation: dk-gere-shine 8s ease-in-out infinite;
}
@keyframes dk-gere-shine {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(20%, 10%); }
}
.dk-gere-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  position: relative;
  z-index: 2;
}
.dk-gere-emoji {
  font-size: 42px;
  filter: drop-shadow(0 4px 12px rgba(245, 220, 130, 0.5));
}
.dk-gere-title {
  font-family: 'Noto Serif KR', serif;
  font-size: 17px;
  color: #f5dc82;
  margin: 0;
  font-weight: 700;
  line-height: 1.4;
}
.dk-gere-text {
  position: relative;
  z-index: 2;
  margin: 0 0 18px;
  color: #e0d4a8;
  font-size: 14px;
  line-height: 1.75;
}
.dk-gere-quote {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 16px 20px;
  background: rgba(15, 5, 20, 0.55);
  border-left: 3px solid #f5dc82;
  border-radius: 0 10px 10px 0;
  font-family: 'Noto Serif KR', 'Cormorant Garamond', serif;
  font-style: italic;
  color: #f5deb3;
  font-size: 14px;
  line-height: 1.7;
}

.dk-teachings { display: grid; gap: 8px; }
.dk-teaching {
  background: rgba(245, 220, 130, 0.06);
  border: 1px solid rgba(245, 220, 130, 0.22);
  border-radius: 10px;
  padding: 14px 16px;
  transition: border-color 0.25s, background 0.25s;
}
.dk-teaching:hover, .dk-teaching[open] {
  background: rgba(245, 220, 130, 0.12);
  border-color: rgba(245, 220, 130, 0.45);
}
.dk-teaching-title {
  cursor: pointer;
  color: #f5dc82;
  font-weight: 600;
  font-size: 14px;
  list-style: none;
  font-family: 'Noto Serif KR', serif;
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  padding-right: 28px;
}
.dk-teaching-title::-webkit-details-marker { display: none; }
.dk-teaching-emoji { font-size: 18px; flex-shrink: 0; }
.dk-teaching-title::after {
  content: '+';
  position: absolute;
  right: 4px;
  top: -2px;
  color: #f5dc82;
  font-weight: 300;
  font-size: 22px;
  transition: transform 0.3s;
}
.dk-teaching[open] .dk-teaching-title::after { transform: rotate(45deg); }
.dk-teaching-detail {
  margin: 12px 0 0;
  padding-top: 12px;
  border-top: 1px solid rgba(245, 220, 130, 0.25);
  color: #d4c8a8;
  font-size: 13px;
  line-height: 1.75;
}

.dk-books-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-bottom: 28px;
}
.dk-book {
  display: flex;
  gap: 16px;
  padding: 16px;
  background: rgba(15, 5, 20, 0.55);
  border: 1px solid rgba(245, 220, 130, 0.22);
  border-radius: 12px;
}
.dk-book-cover {
  flex-shrink: 0;
  width: 70px;
  height: 100px;
  background: linear-gradient(135deg, #8b3050, #b8754a);
  border-radius: 4px 8px 8px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}
.dk-book-emoji { font-size: 28px; }
.dk-book-year { color: #fff; font-size: 11px; font-weight: 700; }
.dk-book-text { flex: 1; min-width: 0; }
.dk-book-title {
  font-family: 'Noto Serif KR', serif;
  font-size: 15px;
  color: #f5dc82;
  margin: 0 0 6px;
  font-weight: 700;
  line-height: 1.35;
}
.dk-book-summary {
  margin: 0;
  color: #c5bba5;
  font-size: 12px;
  line-height: 1.6;
}

.dk-clinical {
  display: flex;
  gap: 16px;
  margin: 28px 0;
  padding: 20px 22px;
  background: linear-gradient(135deg, rgba(245, 220, 130, 0.14), rgba(139, 48, 80, 0.10));
  border: 1px solid rgba(245, 220, 130, 0.35);
  border-radius: 14px;
}
.dk-clinical-icon { font-size: 32px; flex-shrink: 0; }
.dk-clinical-title { margin: 0 0 8px; color: #f5dc82; font-size: 15px; font-weight: 700; }
.dk-clinical p { margin: 0; color: #d4c8a8; font-size: 13px; line-height: 1.7; }

.dk-quotes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
  margin-bottom: 28px;
}
.dk-quote {
  margin: 0;
  padding: 16px 18px;
  background: rgba(15, 5, 20, 0.55);
  border-radius: 12px;
  font-family: 'Noto Serif KR', serif;
  font-style: italic;
  font-size: 14px;
  line-height: 1.7;
  color: #f5dc82;
  border-left: 3px solid;
  position: relative;
}
.dk-quote-0 { border-color: #f5dc82; }
.dk-quote-1 { border-color: #b8754a; }
.dk-quote-2 { border-color: #8b3050; }
.dk-quote::before {
  content: '"';
  position: absolute;
  top: -6px; left: 12px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 50px;
  color: rgba(245, 220, 130, 0.25);
  line-height: 1;
}

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  TIBETAN BUDDHISM DEEP DIVE — indigo + snow                       ║
   ╚══════════════════════════════════════════════════════════════════╝ */
.tb-section {
  position: relative;
  padding: 60px 24px;
  background: linear-gradient(180deg,
    rgba(60, 80, 130, 0.08) 0%,
    rgba(110, 140, 180, 0.06) 50%,
    rgba(60, 80, 130, 0.08) 100%);
  border-top: 1px solid rgba(160, 190, 220, 0.2);
  border-bottom: 1px solid rgba(160, 190, 220, 0.2);
}
.tb-inner {
  max-width: 920px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.tb-hero {
  text-align: center;
  margin-bottom: 36px;
}
.tb-hero-emoji {
  font-size: 56px;
  filter: drop-shadow(0 4px 14px rgba(160, 190, 220, 0.5));
  margin-bottom: 12px;
}
.tb-title {
  font-family: 'Noto Serif KR', serif;
  font-size: clamp(20px, 3vw, 26px);
  color: #c8d8e8;
  margin: 0 0 12px;
  font-weight: 700;
}
.tb-intro {
  max-width: 700px;
  margin: 0 auto;
  color: #a8c0d0;
  font-size: 14px;
  line-height: 1.75;
}

.tb-schools-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
  margin-bottom: 36px;
}
.tb-school {
  padding: 18px;
  background: linear-gradient(135deg, rgba(15, 24, 32, 0.7), rgba(60, 80, 130, 0.1));
  border: 1px solid rgba(160, 190, 220, 0.25);
  border-radius: 14px;
  border-top: 3px solid;
}
.tb-school-0 { border-top-color: #b48ee8; } /* Nyingma — purple */
.tb-school-1 { border-top-color: #f0a060; } /* Kagyu — orange */
.tb-school-2 { border-top-color: #80c0d8; } /* Sakya — pale blue */
.tb-school-3 { border-top-color: #f5d068; } /* Gelug — yellow */
.tb-school-name {
  font-family: 'Noto Serif KR', serif;
  font-size: 16px;
  color: #e0e8f0;
  margin: 0 0 6px;
  font-weight: 700;
}
.tb-school-meta {
  font-size: 11px;
  color: #8aa0b8;
  font-style: italic;
  margin-bottom: 10px;
}
.tb-school-detail {
  color: #c0d0e0;
  font-size: 13px;
  line-height: 1.65;
  margin: 0 0 10px;
}
.tb-school-masters {
  font-size: 11px;
  color: #a0b8d0;
  padding-top: 8px;
  border-top: 1px solid rgba(160, 190, 220, 0.18);
  line-height: 1.5;
}
.tb-school-masters b { color: #c8d8e8; }

.tb-practices { display: grid; gap: 8px; margin-bottom: 32px; }
.tb-practice {
  background: rgba(60, 80, 130, 0.1);
  border: 1px solid rgba(160, 190, 220, 0.22);
  border-radius: 10px;
  padding: 14px 16px;
  transition: border-color 0.25s, background 0.25s;
}
.tb-practice:hover, .tb-practice[open] {
  background: rgba(60, 80, 130, 0.16);
  border-color: rgba(160, 190, 220, 0.4);
}
.tb-practice-title {
  cursor: pointer;
  color: #d8e0e8;
  font-weight: 600;
  font-size: 14px;
  list-style: none;
  font-family: 'Noto Serif KR', serif;
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  padding-right: 28px;
}
.tb-practice-title::-webkit-details-marker { display: none; }
.tb-practice-emoji { font-size: 18px; flex-shrink: 0; }
.tb-practice-title::after {
  content: '+';
  position: absolute;
  right: 4px;
  top: -2px;
  color: #b0c8e0;
  font-weight: 300;
  font-size: 22px;
  transition: transform 0.3s;
}
.tb-practice[open] .tb-practice-title::after { transform: rotate(45deg); }
.tb-practice-detail {
  margin: 12px 0 0;
  padding-top: 12px;
  border-top: 1px solid rgba(160, 190, 220, 0.22);
  color: #c0d0e0;
  font-size: 13px;
  line-height: 1.75;
}

.tb-texts-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-bottom: 32px;
}
.tb-text {
  display: flex;
  gap: 16px;
  padding: 16px 18px;
  background: rgba(15, 24, 32, 0.55);
  border: 1px solid rgba(160, 190, 220, 0.22);
  border-radius: 12px;
}
.tb-text-emoji {
  font-size: 32px;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 6px rgba(160, 190, 220, 0.4));
}
.tb-text-body { flex: 1; min-width: 0; }
.tb-text-name {
  font-family: 'Noto Serif KR', serif;
  font-size: 15px;
  color: #d8e0e8;
  margin: 0 0 4px;
  font-weight: 700;
  line-height: 1.4;
}
.tb-text-author {
  font-size: 12px;
  color: #8aa0b8;
  font-style: italic;
  margin-bottom: 8px;
}
.tb-text-detail {
  margin: 0;
  color: #b8c8d8;
  font-size: 13px;
  line-height: 1.7;
}

.tb-clinical {
  display: flex;
  gap: 16px;
  margin: 24px 0;
  padding: 20px 22px;
  background: linear-gradient(135deg, rgba(160, 190, 220, 0.12), rgba(60, 80, 130, 0.08));
  border: 1px solid rgba(160, 190, 220, 0.35);
  border-radius: 14px;
}
.tb-clinical-icon { font-size: 32px; flex-shrink: 0; }
.tb-clinical-title { margin: 0 0 8px; color: #d8e0e8; font-size: 15px; font-weight: 700; }
.tb-clinical p { margin: 0; color: #b8c8d8; font-size: 13px; line-height: 1.7; }

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  KOREAN SŪTRAS DEEP DIVE — amber + parchment                      ║
   ╚══════════════════════════════════════════════════════════════════╝ */
.sd-section {
  position: relative;
  padding: 60px 24px;
  background: linear-gradient(180deg,
    rgba(180, 130, 70, 0.07) 0%,
    rgba(220, 180, 110, 0.05) 50%,
    rgba(180, 130, 70, 0.07) 100%);
  border-top: 1px solid rgba(220, 180, 110, 0.22);
  border-bottom: 1px solid rgba(220, 180, 110, 0.22);
}
.sd-inner {
  max-width: 920px;
  margin: 0 auto;
}
.sd-hero {
  text-align: center;
  margin-bottom: 36px;
}
.sd-hero-emoji {
  font-size: 56px;
  filter: drop-shadow(0 4px 14px rgba(220, 180, 110, 0.5));
  margin-bottom: 12px;
}
.sd-title {
  font-family: 'Noto Serif KR', serif;
  font-size: clamp(20px, 3vw, 26px);
  color: #f0d894;
  margin: 0 0 12px;
  font-weight: 700;
}
.sd-intro {
  max-width: 700px;
  margin: 0 auto;
  color: #c5bba5;
  font-size: 14px;
  line-height: 1.75;
}
.sd-sutras-stack {
  display: grid;
  gap: 20px;
  margin-bottom: 36px;
}
.sd-sutra {
  padding: 22px;
  background: linear-gradient(135deg, rgba(15, 24, 32, 0.7), rgba(180, 130, 70, 0.06));
  border: 1px solid rgba(220, 180, 110, 0.28);
  border-radius: 14px;
}
.sd-sutra-featured {
  border-color: rgba(240, 216, 148, 0.55);
  box-shadow: 0 6px 22px rgba(212, 175, 100, 0.2);
}
.sd-sutra-head {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(220, 180, 110, 0.2);
}
.sd-sutra-emoji {
  font-size: 38px;
  flex-shrink: 0;
  filter: drop-shadow(0 3px 10px rgba(220, 180, 110, 0.5));
}
.sd-sutra-name {
  font-family: 'Noto Serif KR', serif;
  font-size: 18px;
  color: #f5deb3;
  margin: 0 0 4px;
  font-weight: 700;
}
.sd-sutra-fullname {
  font-size: 11px;
  color: #a89a7a;
  font-style: italic;
  line-height: 1.4;
}
.sd-sutra-row {
  font-size: 13px;
  line-height: 1.7;
  color: #c5bba5;
  padding: 8px 0;
  border-bottom: 1px dashed rgba(220, 180, 110, 0.15);
}
.sd-sutra-row:last-of-type { border-bottom: none; }
.sd-sutra-row b {
  color: #e8d4a0;
  font-weight: 600;
  margin-right: 4px;
}
.sd-sutra-row em {
  color: #d4c8a8;
  font-style: italic;
}
.sd-core {
  background: rgba(220, 180, 110, 0.06);
  padding: 12px 14px !important;
  border-left: 3px solid #d4af64;
  border-radius: 0 8px 8px 0;
  border-bottom: none !important;
}
.sd-passage {
  background: rgba(15, 24, 32, 0.45);
  padding: 12px 14px !important;
  border-radius: 8px;
  border-bottom: none !important;
}
.sd-clinical {
  background: rgba(192, 57, 43, 0.06);
  padding: 12px 14px !important;
  border-left: 3px solid #d97a32;
  border-radius: 0 8px 8px 0;
  border-bottom: none !important;
}
.sd-sutra-time {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 10px;
  background: rgba(74, 107, 120, 0.2);
  border-radius: 999px;
  color: #a89a7a;
  font-size: 11px;
}
.sd-teacher {
  margin-top: 18px;
  padding: 18px;
  background: linear-gradient(135deg, rgba(240, 216, 148, 0.14), rgba(204, 0, 0, 0.06));
  border: 2px solid rgba(240, 216, 148, 0.42);
  border-radius: 14px;
}
.sd-teacher-badge {
  display: inline-block;
  padding: 4px 12px;
  background: linear-gradient(135deg, #f0d894, #d4af64);
  color: #1a1410;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  margin-bottom: 12px;
}
.sd-teacher-name {
  font-family: 'Noto Serif KR', serif;
  font-size: 16px;
  color: #f5deb3;
  margin: 0 0 10px;
  font-weight: 700;
}
.sd-teacher-bio {
  margin: 0 0 14px;
  color: #d4c8a8;
  font-size: 13px;
  line-height: 1.7;
}
.sd-teacher-why {
  padding: 12px 14px;
  background: rgba(15, 24, 32, 0.5);
  border-radius: 10px;
  margin-bottom: 14px;
}
.sd-teacher-why b {
  display: block;
  color: #f0d894;
  font-size: 13px;
  margin-bottom: 6px;
}
.sd-teacher-why p {
  margin: 0;
  color: #c5bba5;
  font-size: 12px;
  line-height: 1.7;
}
.sd-teacher-yt {
  display: grid;
  gap: 8px;
}

.sd-comparison-block { margin-bottom: 32px; }
.sd-table-wrap {
  overflow-x: auto;
  border-radius: 12px;
  border: 1px solid rgba(220, 180, 110, 0.25);
}
.sd-comparison-table {
  width: 100%;
  border-collapse: collapse;
  background: rgba(15, 24, 32, 0.55);
  font-size: 13px;
}
.sd-comparison-table th,
.sd-comparison-table td {
  padding: 12px 14px;
  text-align: left;
  color: #c5bba5;
  border-bottom: 1px solid rgba(220, 180, 110, 0.15);
}
.sd-comparison-table thead th {
  background: rgba(220, 180, 110, 0.1);
  color: #f0d894;
  font-weight: 700;
  font-size: 13px;
}
.sd-comparison-table tbody th {
  color: #e8d4a0;
  font-weight: 600;
  background: rgba(220, 180, 110, 0.04);
}
.sd-comparison-table tr:last-child th,
.sd-comparison-table tr:last-child td { border-bottom: none; }
