/* v239 — Know Your Body library and lesson pages. Mobile-first, no fixed widths. */

.kyb239-hero__motto { margin: .6rem 0 0; font: 500 clamp(1rem, 1.8vw, 1.2rem)/1.35 "Newsreader", Georgia, serif; color: #27302c; }
.kyb239-hero__stance { margin: .35rem 0 0; font-size: .92rem; line-height: 1.55; color: #6b7570; max-width: 52ch; }

.kyb239__free-note { margin: .4rem 0 0; font-size: .9rem; color: #6b7570; }
.kyb239__grid {
  display: grid;
  gap: clamp(14px, 2vw, 20px);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  margin-top: clamp(16px, 2.2vw, 24px);
}
.kyb239__card {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  padding: clamp(16px, 2.2vw, 20px);
  border: 1px solid rgba(20, 32, 28, .14);
  border-radius: 16px;
  background: #fff;
}
.kyb239__meta { display: flex; gap: .5rem; align-items: center; }
.kyb239__tag { font: 500 .68rem/1 "IBM Plex Mono", monospace; letter-spacing: .1em; text-transform: uppercase; color: #4a7c6f; border: 1px solid rgba(74, 124, 111, .5); border-radius: 999px; padding: .32rem .55rem; }
.kyb239__dur { font-size: .78rem; color: #8a938f; }
.kyb239__card-title { margin: 0; font-size: clamp(1.05rem, 1.6vw, 1.2rem); }
.kyb239__card-text { margin: 0; font-size: .92rem; line-height: 1.55; color: #4a5551; flex: 1 1 auto; }
.kyb239__card .btn { align-self: flex-start; }
.kyb239__empty { margin: 1rem 0 0; color: #6b7570; }
.kyb239__member-state { margin: 1.1rem 0 0; padding: .7rem .9rem; border-left: 3px solid #4a7c6f; background: rgba(74, 124, 111, .07); font-size: .9rem; color: #3c4744; }
.kyb239__member-state[hidden] { display: none; }

.kyb239-ladder__grid { display: grid; gap: clamp(14px, 2vw, 22px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); margin-top: clamp(16px, 2.2vw, 24px); }
.kyb239-ladder__card { padding: clamp(16px, 2.2vw, 22px); border: 1px solid rgba(20, 32, 28, .14); border-radius: 16px; background: #fff; }
.kyb239-ladder__card h3 { margin: .35rem 0 .5rem; font-size: clamp(1.05rem, 1.6vw, 1.22rem); }
.kyb239-ladder__card p { margin: 0 0 .8rem; font-size: .92rem; line-height: 1.55; color: #4a5551; }
.kyb239-ladder__status { display: inline-block; font: 500 .68rem/1 "IBM Plex Mono", monospace; letter-spacing: .1em; text-transform: uppercase; color: #8a6a4a; border: 1px solid rgba(138, 106, 74, .45); border-radius: 999px; padding: .32rem .55rem; }
.kyb239-ladder__note { margin: clamp(14px, 2vw, 20px) 0 0; font-size: .9rem; line-height: 1.55; color: #6b7570; max-width: 64ch; }

/* --- breadcrumb --- */
.kyb239-bc { border-bottom: 1px solid rgba(20, 32, 28, .1); }
.kyb239-bc ol { display: flex; flex-wrap: wrap; gap: .3rem .5rem; list-style: none; margin: 0; padding: .7rem 0; font-size: .82rem; color: #6b7570; }
.kyb239-bc li + li::before { content: "/"; margin-right: .5rem; color: #b3bab6; }

/* --- lesson --- */
.kyb239-lesson__intro { max-width: 62ch; line-height: 1.62; }
.kyb239-lesson__player { margin: clamp(18px, 2.4vw, 26px) 0; max-width: 860px; }
.kyb239__play {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(20, 32, 28, .14);
  border-radius: 16px;
  background: #0d1512;
  color: #fff;
  font: inherit;
  font-size: .95rem;
  cursor: pointer;
}
.kyb239__play:hover { background: #16211c; }
.kyb239__play:focus-visible { outline: 2px solid #c96f50; outline-offset: 3px; }
.kyb239__frame { position: relative; width: 100%; max-width: 860px; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: #000; }
.kyb239__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.kyb239-lesson__keys { margin: clamp(18px, 2.4vw, 26px) 0; padding: clamp(14px, 2vw, 18px) clamp(14px, 2.2vw, 20px); border-left: 3px solid rgba(20, 32, 28, .2); background: rgba(20, 32, 28, .025); }
.kyb239-lesson__keys h2 { margin: 0 0 .45rem; font-size: 1rem; }
.kyb239-lesson__keys p { margin: 0; font-size: .9rem; line-height: 1.6; color: #4a5551; max-width: 66ch; }
.kyb239-lesson__related ul { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; list-style: none; margin: .5rem 0 0; padding: 0; }
.kyb239-lesson__related h2 { font-size: 1rem; margin: 0; }
