.resource-library { background:var(--cream,#f7f5ef); color:var(--navy); }
.library-index { display:flex; flex-wrap:wrap; gap:1rem 2rem; padding:2rem 0; border-bottom:1px solid var(--border); }
.library-index a,.library-link { color:#174fa6; text-decoration:underline; text-underline-offset:5px; font-size:.85rem; font-weight:600; }
.library-section { padding:3.5rem 0; border-bottom:1px solid var(--border); scroll-margin-top:100px; }
.library-section h2 { font-family:var(--font-display); font-size:clamp(2rem,4vw,3rem); line-height:1.15; margin:.5rem 0 1.75rem; }
.library-section h3 { font-family:var(--font-heading); font-size:1.25rem; line-height:1.4; margin:.65rem 0 1rem; }
.library-section p { color:#43536b; font-size:.95rem; line-height:1.8; max-width:560px; margin-bottom:1.5rem; }
.library-label { font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:#326859; font-weight:600; }
.library-feature { display:grid; grid-template-columns:1fr 1fr; background:#e8eff6; border-radius:18px; overflow:hidden; }
.library-cover { min-height:430px; padding:2.5rem; display:flex; flex-direction:column; justify-content:space-between; gap:2rem; background:#153f38; color:#fff9e9; border:14px solid #d4e3d9; }
.library-cover span { font-size:.75rem; letter-spacing:.12em; line-height:1.8; }
.library-cover small { color:#f0c86a; letter-spacing:.12em; font-size:.8rem; }
.library-cover strong { display:block; font-family:var(--font-display); font-size:clamp(2.8rem,5vw,4.5rem); font-weight:400; line-height:1.08; margin:1rem 0; }
.library-feature-copy { padding:clamp(1.5rem,4vw,3rem); align-self:center; }
.library-feature-copy h3 { font-size:clamp(1.7rem,3vw,2.5rem); }
.library-feature-copy small { display:block; margin-top:1rem; color:#43536b; font-size:.75rem; }
.library-download { display:grid; grid-template-columns:200px 1fr; gap:2.5rem; align-items:center; padding-top:3rem; }
.library-download img { width:100%; height:240px; object-fit:contain; background:#fff; border:1px solid var(--border); border-radius:8px; }
.library-heading { display:flex; justify-content:space-between; align-items:center; gap:2rem; margin-bottom:1.5rem; }
.library-videos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.library-video img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:10px; margin-bottom:1rem; }
.library-video h3 { font-size:1rem; }
.library-requests { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.library-requests article { border-top:3px solid #c99627; padding:1.5rem; background:#fff; border-radius:0 0 10px 10px; }
.library-template { display:flex; align-items:center; justify-content:space-between; gap:2rem; background:#e8eff6; border-radius:12px; padding:2rem; }
.library-template .btn { flex-shrink:0; }
.resource-library a:focus-visible { outline:3px solid #174fa6; outline-offset:5px; }
@media(max-width:800px) { .library-feature { grid-template-columns:1fr; } .library-cover { min-height:350px; } .library-videos { grid-template-columns:1fr; gap:2.5rem; } .library-heading,.library-template { flex-direction:column; align-items:flex-start; } }
@media(max-width:500px) { .library-download,.library-requests { grid-template-columns:1fr; } .library-download>a { max-width:220px; } .library-cover { padding:1.5rem; } .library-section { padding:2.5rem 0; } }

.library-pdf-status { display:block; margin-top:.6rem; font-size:.75rem; color:#43536b; }
.library-requests button:disabled { cursor:not-allowed; opacity:.65; }
