.rich-copy .music-concepts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0 2rem; }
.music-concepts > div { min-width: 0; padding: 1rem; border: 1px solid var(--line); background: #fbe2d8; }
.music-concepts dt { font-size: 1.2rem; font-weight: 800; line-height: 1.5; }
.music-concepts dd { margin: .4rem 0 0; font-size: 1rem; line-height: 1.65; }
.rich-copy .music-figure { margin: 1.5rem 0 2rem; min-width: 0; padding: 1rem; border: 1px solid var(--line); background: var(--paper); }
.music-figure img { display: block; width: 100%; max-width: 360px; height: auto; margin: auto; }
.rich-copy .music-figure figcaption { margin-top: 1rem; font-size: 1rem; line-height: 1.65; }
.rich-copy .music-reading { padding: 1rem; border-left: 4px solid var(--night); background: #e3efea; font-size: 1rem; }
.music-tempo { margin: 1.5rem 0; padding: 1rem; background: #e3efea; }
.music-tempo strong, .music-tempo span { display: block; font-size: 1rem; line-height: 1.65; overflow-wrap: anywhere; }
.music-tempo strong + strong, .music-tempo span { margin-top: .65rem; }
.rich-copy .music-check { margin: 1.25rem 0 2rem; padding: 1rem; border-left: 4px solid var(--night); background: var(--yellow-soft); }
.rich-copy .music-check p { margin: 0 0 .75rem; }
.rich-copy .music-check details { margin: 0; }
.music-check summary { min-height: 44px; padding: .5rem 0; cursor: pointer; font-weight: 800; }
.music-check summary:focus-visible { outline: 3px solid var(--night); outline-offset: 3px; }
.rich-copy .music-credit { font-size: .9rem; margin-top: 2rem; }
@media (max-width: 520px) {
  .rich-copy .music-concepts { grid-template-columns: minmax(0, 1fr); }
  .rich-copy .music-figure { padding: .5rem; }
}
