:root { --library-navy: #061d42; --library-cream: #fffaf1; --library-ink: #16284a; --library-muted: #53617a; --library-gold: #c98a1b; --library-line: rgba(18,45,83,.13); }
.library-page { background: var(--library-cream); color: var(--library-ink); }.library-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }.library-page h1,.library-page h2,.library-page h3 { font-family: Georgia, "Times New Roman", serif; color: var(--library-ink); letter-spacing: -.03em; }
.library-hero { padding: clamp(58px, 8vw, 105px) 0 clamp(48px, 6vw, 74px); color:#fff; background: radial-gradient(circle at 12% 15%,rgba(54,116,195,.35),transparent 29%), linear-gradient(125deg,#041a38,#0d386f); }.library-kicker { margin:0 0 12px; color:#f3c85e; font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.library-hero h1 { max-width:760px; margin:0; color:#fffaf0; font-size:clamp(2.8rem,5.4vw,5rem); line-height:1; }.library-hero p:not(.library-kicker) { max-width:680px; margin:20px 0 0; color:#e5efff; font-size:1.08rem; line-height:1.62; }.library-section { padding:clamp(54px,7vw,90px) 0; }.library-section--soft { background:rgba(238,225,197,.42); }.library-intro { max-width:710px; margin:0 0 30px; }.library-intro h2 { margin:0; font-size:clamp(2rem,4vw,3.25rem); line-height:1.05; }.library-intro p { margin:14px 0 0; color:var(--library-muted); line-height:1.6; }
.library-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:19px; }.library-card { overflow:hidden; border:1px solid var(--library-line); border-radius:18px; background:#fffdf8; box-shadow:0 11px 26px rgba(27,47,81,.08); }.library-card > img { display:block; width:100%; height:clamp(220px,18vw,250px); object-fit:cover; object-position:center; }.library-card-body { padding:19px 20px 21px; }.library-card h3 { margin:0; font-size:1.42rem; line-height:1.08; }.library-card p { margin:9px 0 15px; color:var(--library-muted); line-height:1.5; }.library-card a,.library-type-card a { color:#0c4c8b; font-weight:800; text-decoration:none; }.library-card a:hover,.library-type-card a:hover { color:#9b6711; }
.library-type-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }.library-type-card { padding:24px; border:1px solid var(--library-line); border-radius:17px; background:#fffdf8; box-shadow:0 10px 24px rgba(27,47,81,.07); }.library-type-card img { width:72px; height:72px; object-fit:contain; }.library-type-card h3 { margin:13px 0 7px; font-size:1.35rem; }.library-type-card p { min-height:71px; margin:0 0 12px; color:var(--library-muted); line-height:1.5; }.library-quick-links { display:flex; flex-wrap:wrap; gap:11px; margin-top:26px; }.library-quick-links a { padding:10px 14px; border:1px solid #b4c1d1; border-radius:9px; color:#104a83; font-weight:800; text-decoration:none; }.library-quick-links a:hover { border-color:#c98a1b; color:#9b6711; }
.book-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }.book-card { display:grid; grid-template-columns:.8fr 1.2fr; overflow:hidden; border:1px solid var(--library-line); border-radius:20px; background:#fffdf8; box-shadow:0 12px 28px rgba(27,47,81,.09); }.book-card img { display:block; width:100%; height:100%; min-height:270px; object-fit:cover; object-position:center; }.book-card-body { align-self:center; padding:28px; }.book-card h2 { margin:0; font-size:2rem; line-height:1.05; }.book-card p { color:var(--library-muted); line-height:1.58; }.library-button { display:inline-flex; padding:11px 16px; border-radius:10px; color:#2d2108; background:linear-gradient(135deg,#ffd36d,#e7a729); font-weight:800; text-decoration:none; }
@media (max-width:900px) { .library-grid{grid-template-columns:repeat(2,1fr)}.library-card > img{height:clamp(250px,40vw,320px)}.library-type-grid{grid-template-columns:repeat(2,1fr)}.book-grid{grid-template-columns:1fr}.book-card{max-width:720px} }
@media (max-width:560px) { .library-shell{width:min(100% - 28px,1180px)}.library-grid,.library-type-grid{grid-template-columns:1fr}.library-card > img{height:min(66vw,260px)}.library-type-card p{min-height:0}.book-card{grid-template-columns:1fr}.book-card img{min-height:0;aspect-ratio:1.5/1}.book-card-body{padding:23px}.library-hero h1{font-size:clamp(2.65rem,13vw,3.7rem)} }

/* Activity browse pages */
.library-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 22px; color:#dce8fb; font-size:.84rem; font-weight:700; }.library-breadcrumbs a { color:#fff3c7; text-decoration:none; }.library-breadcrumbs a:hover { color:#fff; text-decoration:underline; }.activity-browse-hero { padding-bottom:clamp(44px,6vw,68px); }.library-count { display:inline-flex; width:max-content; max-width:100%; margin-top:22px !important; padding:8px 13px; border:1px solid rgba(255,223,145,.52); border-radius:999px; color:#fff6d7 !important; background:rgba(4,18,47,.34); font-size:.87rem !important; font-weight:800; }.activity-browse-section { padding-top:clamp(42px,6vw,72px); }.activity-browse-intro { margin-bottom:31px; }.activity-library-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.activity-library-card { display:flex; flex-direction:column; }.activity-library-image-link { display:block; aspect-ratio:3 / 2; overflow:hidden; background:#eee4d2; }.activity-library-image-link img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .25s ease; }.activity-library-card:hover .activity-library-image-link img { transform:scale(1.035); }.activity-library-card .library-card-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; }.activity-library-label { margin:0 0 7px !important; color:#a06b16 !important; font-size:.76rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }.activity-library-card h2 { margin:0; color:var(--library-ink); font-family:Georgia,"Times New Roman",serif; font-size:1.45rem; letter-spacing:-.025em; line-height:1.1; }.activity-library-card .library-card-body > p:not(.activity-library-label) { margin:9px 0 18px; }.activity-story-link { color:inherit; font-weight:700; }.activity-library-cta { display:inline-flex; align-items:center; gap:7px; margin-top:auto; color:#0c4c8b; font-weight:800; text-decoration:none; }.activity-library-cta:hover { color:#9b6711; }.activity-browse-bottom { text-align:center; }.activity-browse-bottom h2 { margin:0; font-size:clamp(1.9rem,3.5vw,2.7rem); }.activity-browse-bottom p { max-width:620px; margin:14px auto 22px; color:var(--library-muted); line-height:1.6; }
@media (max-width:900px) { .activity-library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .library-breadcrumbs { margin-bottom:18px; font-size:.78rem; }.activity-browse-page .library-shell { width:calc(100% - 28px); }.activity-browse-page .library-hero h1 { font-size:clamp(2.15rem,10vw,2.75rem); overflow-wrap:anywhere; }.activity-browse-page .library-hero p { overflow-wrap:anywhere; }.activity-library-grid { grid-template-columns:1fr; }.activity-library-card h2 { font-size:1.38rem; } }
