/* Library page: intro sheet with the ribbon loop (light, like Sessions and Journal), then the tabs and shelves from the home page. */
.lib-main { max-width: calc(1200px + 2 * var(--gutter)); margin-inline: auto; }
.lib-room { padding: 0 !important; background: none !important; }
.lib-intro { grid-column: 1 / -1; display: grid; justify-items: start; padding: clamp(48px, 6vw, 80px) 48px; border-radius: var(--radius);
  background: linear-gradient(100deg, rgb(252 250 250 / 0.92) 0%, rgb(252 250 250 / 0.6) 45%, rgb(252 250 250 / 0) 100%), url(/assets/web/ribbon-loop.jpg) 75% 40% / cover no-repeat; }
.lib-intro .weeks-lead { margin-top: 16px; max-width: 32em; font-family: var(--serif); font-size: var(--text-letter); line-height: 1.6; }
.lib-intro .sample-note { margin-top: 8px; }
.library-page-body .lib-tabs { margin-top: 48px; }
.library-page-body .vid-frame { background: linear-gradient(135deg, #EFEAEA 0%, #E2DBDB 100%); }
@media (max-width: 640px) {
  .lib-intro { justify-items: center; text-align: center; padding: 48px 16px;
    background: linear-gradient(180deg, rgb(252 250 250 / 0.9) 0%, rgb(252 250 250 / 0.55) 60%, rgb(252 250 250 / 0.15) 100%), url(/assets/web/ribbon-loop.jpg) 50% 40% / cover no-repeat; }
  .lib-intro .weeks-lead { font-size: var(--text-body); text-align: justify; text-align-last: center; hyphens: auto; -webkit-hyphens: auto; }
  .library-page-body .lib-tabs { margin-top: 32px; }
}
.hero-c .lib-room > .lib-intro { grid-column: 1 / -1; }
