/* Supporting educational videos; use the existing DLOCKS type and colour tokens. */
.series-module { max-width: 1040px; padding-top: 40px; margin: 64px 0; border-top: 1px solid var(--line); scroll-margin-top: 110px; }
.series-module > h2 { margin-top: 10px; font-size: clamp(24px, 3vw, 36px); line-height: 1.2; }
.series-module h3 { margin: 32px 0 12px; font-size: 21px; line-height: 1.3; }
.series-module [id] { scroll-margin-top: 110px; }
.series-video { max-width: 960px; margin: 28px 0; }
.series-video__frame { width: 100%; aspect-ratio: 16 / 9; background: var(--surface); }
.series-video iframe { display: block; width: 100%; height: 100%; border: 0; }
.series-video--short { width: min(100%, 360px); }
.series-video--short .series-video__frame { aspect-ratio: 9 / 16; }
.series-video figcaption { margin-top: 10px; color: var(--fg2); font-size: 14px; line-height: 1.5; }
.series-short, .series-sources { margin: 24px 0; }
.series-short > summary, .series-sources > summary { cursor: pointer; color: var(--brass); padding: 10px 0; }
.series-contents { max-width: 1040px; margin: 48px 0; padding: 24px; border: 1px solid var(--line); }
.series-contents h2 { margin: 0 0 16px; font-size: 22px; }
.series-contents ul, .series-index ul { display: grid; gap: 12px; padding-left: 22px; }
.series-context { margin-top: 28px; }
.series-sources ul { padding-left: 22px; }
.series-sources li { margin: 12px 0; overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .series-module { margin: 40px 0; padding-top: 28px; }
  .series-contents { padding: 20px; }
  /* Existing installation-price table must not widen the article viewport. */
  .prices { table-layout: fixed; }
  .prices td { overflow-wrap: anywhere; }
  .prices td:last-child { width: 45%; padding-left: 12px; white-space: normal; }
}
@media print {
  .series-video, .series-short { display: none; }
}

/* raccoon-scheduled-videos:begin */
.series-scheduled__mount:not(.series-video__frame) { padding: 20px 24px; border: 1px solid var(--line); background: var(--surface); }
.series-scheduled__placeholder { margin: 0; color: var(--fg2); line-height: 1.6; }
.series-scheduled time { white-space: nowrap; }
.series-scheduled noscript p { margin: 10px 0; font-size: 14px; }
@media (max-width: 640px) {
  .series-scheduled__mount:not(.series-video__frame) { padding: 16px; }
  .series-scheduled time { white-space: normal; }
}
/* raccoon-scheduled-videos:end */
