/* The reading index uses one grid from its introduction through each category. */
.library-browser { max-width:1020px; margin-inline:auto; }
body:not(.is-home) .library-page { padding-top:40px; }
.library-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:40px; }
.library-page .library-heading .page-title { display:block; text-align:left; margin:0; }
.library-page .library-heading .page-title h1 { font-size:44px; font-weight:600; line-height:1.12; letter-spacing:-.035em; }
.library-page .library-heading .page-title p { margin:18px 0 0; max-width:64ch; font-size:16px; line-height:1.65; }
.library-heading .library-start { flex-direction:column; align-items:flex-start; gap:12px; margin:0; }
.library-heading .library-start > .btn { min-height:48px; padding:12px 22px; font-size:15px; }
.library-browser .library-jumps { gap:12px 28px; margin:32px 0 0; }
.library-browser .library-jumps button { font-size:14px; }
.library-browser .library-index { margin-top:36px; gap:64px; }
.library-browser .library-category { grid-template-columns:280px minmax(0,1fr); gap:24px 36px; }
.library-browser .library-category-heading { grid-column:1/-1; justify-content:flex-start; align-items:baseline; gap:16px; margin:0; }
.library-browser .library-category-heading h2 { font-size:28px; font-weight:600; line-height:1.2; }
.library-browser .library-category-summary { position:static; }
.library-browser .library-category-photo { display:block; aspect-ratio:4/5; border-radius:12px; }
.library-browser .library-resource-list { align-content:start; gap:12px; }
.library-browser .library-resource { min-width:0; min-height:104px; padding:20px 22px; gap:18px; border-radius:12px; }
.library-browser .library-resource h3 { font-size:17px; }
.library-browser .library-resource p { font-size:13px; line-height:1.6; }
.library-browser .library-resource-actions { flex-direction:row; align-items:center; gap:8px; }
.library-browser .library-resource-actions > .btn { min-width:80px; padding:10px 16px; }
.library-browser .library-pack-note { margin-top:64px; padding:28px; gap:28px; border-radius:16px; }
@media(max-width:1100px) {
 .library-heading { gap:28px; }
 .library-page .library-heading .page-title h1 { font-size:36px; }
 .library-browser .library-category { grid-template-columns:240px minmax(0,1fr); gap:24px 28px; }
 .library-browser .library-resource { grid-template-columns:minmax(0,1fr); gap:14px; }
 .library-browser .library-resource-actions { justify-content:flex-start; }
}
@media(max-width:836px) {
 body:not(.is-home) .library-page { padding-top:24px; }
 .library-heading { grid-template-columns:minmax(0,1fr); gap:24px; }
 .library-page .library-heading .page-title h1 { font-size:32px; }
 .library-page .library-heading .page-title p { margin-top:14px; font-size:15px; }
 .library-heading .library-start { flex-direction:row; flex-wrap:wrap; align-items:center; gap:12px 16px; }
 .library-browser .library-jumps { gap:8px 24px; margin-top:24px; }
 .library-browser .library-index { margin-top:28px; gap:48px; }
 .library-browser .library-category { grid-template-columns:minmax(0,1fr); gap:20px; }
 .library-browser .library-category-heading h2 { font-size:24px; }
 .library-browser .library-category-photo { aspect-ratio:16/10; }
 .library-browser .library-resource { min-height:0; padding:20px; }
 .library-browser .library-resource-actions > .btn { min-width:0; }
 .library-browser .library-pack-note { margin-top:48px; padding:24px; }
}
