/* Sonic Boom lesson. All rules scoped under .sbm-* */
.sbm-sc { position: relative; width: 100%; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.sbm-note { font-size: 12px; color: var(--faint); text-align: center; }
.sbm-hero img { display: block; width: 280px; max-width: 100%; max-height: 34vh; object-fit: contain; margin: 0 auto; filter: drop-shadow(0 18px 30px rgba(123, 92, 253, .35)); }
.sbm-cv { --cap: 9999px; display: block; width: min(100%, calc(var(--cap) * var(--ar, 2))); height: auto; margin: 0 auto; }

@media (max-height: 700px) {
  .sbm-cv { --cap: 190px; }
  .sbm-hero img { max-height: 150px; }
}
