.library-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px 20px; align-items:stretch; }
.library-card { min-width:0; display:flex; flex-direction:column; gap:12px; color:#292021; font:400 17px/1.4 "Google Sans Flex",sans-serif; }
.library-card a { color:inherit; text-decoration:none; }
.library-card-image { display:block; width:100%; }
.library-card-image img { display:block; width:100%; aspect-ratio:1.4; object-fit:cover; border-radius:8px; }
.library-card-tags { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.library-card-tags span { border:1px solid #c7b9a5; border-radius:5px; padding:2px 7px; font-size:12px; line-height:18px; }
.library-card h3 { margin:0; font-size:22px; font-weight:400; line-height:1.3; letter-spacing:-.025em; }
.library-card-meta { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; margin-top:auto; font-size:12px; line-height:18px; }
.library-card-meta time { color:#978b7a; text-transform:uppercase; }
.library-card-meta span { white-space:nowrap; }
.library-card a:hover { text-decoration:underline; text-underline-offset:4px; }
.library-card a:focus-visible { outline:2px solid #8a6832; outline-offset:4px; }
.library-section { width:100%; margin:0; min-width:0; font-family:"Google Sans Flex",sans-serif; }
.homepage .library-section { width:calc(100% - 68px); max-width:1372px; margin-inline:auto; }
.library-section-heading { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:0 0 24px; }
.library-section-heading h2 { font-size:30px; line-height:1.2; font-weight:400; margin:0; letter-spacing:-.02em; }
.library-section-heading > a { padding:5px 18px; border:1px solid currentColor; border-radius:999px; font-size:14px; color:inherit; text-decoration:none; }
.library-newsletter { margin-top:36px; padding:30px; border:1px solid #958878; border-radius:12px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.library-newsletter h3 { margin:0; font-size:25px; font-weight:400; }
.library-newsletter form { width:min(400px,100%); }
.library-newsletter label { display:flex; gap:12px; padding:10px 16px; border:1px solid #958878; border-radius:999px; }
.library-newsletter input { width:100%; min-width:0; border:0; background:transparent; font:16px/24px "Google Sans Flex",sans-serif; outline:none; }
.library-newsletter button { border:0; padding:0; background:transparent; font-size:24px; }
.library-editors { background:#292021; padding:32px; border-radius:8px; color:#fff; }
.library-editors .library-card { color:#fff; }
.library-editors .library-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.library-carousel { display:flex; gap:20px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; }
.library-carousel::-webkit-scrollbar { display:none; }
.library-carousel .library-card { flex:0 0 calc((100% - 40px)/3); padding-bottom:2px; scroll-snap-align:start; }
.library-reading { width:min(880px,100%); margin:0 auto; font:400 17px/1.6 "Google Sans Flex",sans-serif; color:#514b43; }
.library-byline,.library-reading-footer,.library-warning { width:min(660px,100%); margin:0 auto 28px; }
.library-byline { padding-bottom:20px; border-bottom:1px solid #918779; color:#292021; }
.library-byline p { margin:0 0 6px; }
.library-byline p:last-child,.library-attribution { font-size:13px; }
.library-source > .source-paragraph { display:block; position:static; width:min(660px,100%); margin:0 auto 18px; font:400 17px/1.6 "Google Sans Flex",sans-serif; white-space:pre-wrap; overflow-wrap:anywhere; height:auto; }
.library-source > h2.source-paragraph { color:#060606; font-size:28px; line-height:1.3; font-weight:400; margin-bottom:28px; }
.library-source > .source-blank { min-height:1em; margin-bottom:0; }
.library-source > .source-list { display:list-item; list-style-type:disc; list-style-position:inside; margin-bottom:8px; }
.library-source a,.library-image-row a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.library-warning,.library-source > .library-warning { padding:16px 20px; border:1px solid #c7b9a5; border-radius:8px; font-size:15px; }
.library-warning p { margin:8px 0 0; }
.library-image-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; width:100%; margin:28px 0; }
.library-image-row figure { margin:0; min-width:0; }
.library-image-row img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:8px; }
.library-image-row figcaption { margin-top:8px; font-size:12px; line-height:1.5; color:#978b7a; }
.library-reading-footer { margin-top:36px; margin-bottom:0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; border-top:1px solid #918779; padding-top:18px; font-size:14px; }
.library-reading-footer p { margin:0; }
.library-reading-footer a { color:inherit; }
.article .library-card * { position:static; white-space:normal; }
.article .library-card-meta span { white-space:nowrap; }
.article .library-card { height:100%; }
.article .article__credits a { color:inherit; text-decoration:underline; }
.article .article__event-card .article__credits,
.article .article__event-card .article__credits a { color:#fff !important; }
.library-art-card .library-card-image img { object-fit:contain; background:#e9ddc8; }
.article.art-post .article__article-image { background-size:contain !important; background-repeat:no-repeat; background-color:#e9ddc8; }
.article.art-post .art-hero-credit { display:block !important; color:#fff !important; font-size:11px !important; line-height:1.5 !important; overflow-wrap:anywhere; }
.article.art-post .art-hero-credit a { display:inline !important; color:inherit !important; }
.article.art-post .article__more-options { display:none !important; }
.art-reading { width:min(1020px,100%); }
.art-intro { width:min(660px,100%); margin:0 auto 40px; border-top:3px solid var(--art-accent); padding-top:24px; }
.art-intro h2 { color:#292021; font-size:34px; font-weight:400; line-height:1.2; margin:14px 0 20px; }
.art-rubric { color:var(--art-accent); font-size:13px; letter-spacing:.06em; text-transform:uppercase; }
.art-date { font-size:13px; }
.art-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 24px; }
.art-gallery figure { margin:0; min-width:0; }
.art-paper { position:relative; padding:20px; border-top:3px solid var(--art-accent); background:#e9ddc8; }
.art-paper::after { content:""; position:absolute; inset:0; background:var(--art-accent); opacity:.25; mix-blend-mode:color; pointer-events:none; }
.art-paper img { display:block; width:100%; height:auto; max-height:560px; object-fit:contain; }
.art-gallery figcaption { font-size:12px; line-height:1.55; margin:12px 0 0; overflow-wrap:anywhere; }
.art-gallery figcaption a { color:inherit; text-underline-offset:3px; }
@media(max-width:600px) { .art-gallery { grid-template-columns:minmax(0,1fr); gap:28px; } .art-intro h2 { font-size:27px; } .art-paper { padding:14px; } }
@media(max-width:1000px) { .library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .library-carousel .library-card { flex-basis:calc((100% - 20px)/2); } .library-editors .library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .library-newsletter { flex-direction:column; align-items:flex-start; } }
@media(max-width:600px) { .homepage .library-section { width:calc(100% - 40px); } .library-grid,.library-editors .library-grid { grid-template-columns:minmax(0,1fr); gap:28px; } .library-section-heading h2 { font-size:26px; } .library-card h3 { font-size:22px; } .library-carousel .library-card { flex-basis:88%; } .library-editors,.library-newsletter { padding:20px; } .library-image-row { gap:12px; } .library-image-row img { aspect-ratio:3/4; } .library-source > h2.source-paragraph { font-size:24px; } }
