#resources .resource-grid li { display: block; padding: 0; }
#resources .resource-link, #resources .resource-pending { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 10px; min-height: 106px; padding: 18px; border-radius: 17px; }
#resources .resource-link { text-decoration: none; }
#resources .resource-link:hover { background: #f2f8f5; }
#resources .resource-link small { color: #075c47; background: #e2f4ed; }
#resources [data-resource-status="review"] small { color: #714411; background: #fff0d9; }
#resources .resource-pending { color: var(--muted); }
.resource-library { background: #faf8f5; }
.library-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-block: 20px; border-bottom: 1px solid var(--line); }
.library-brand { display: inline-flex; align-items: center; min-height: 44px; }
.library-brand img { width: 160px; height: auto; }
.library-languages { display: flex; flex-wrap: wrap; gap: 4px; }
.library-languages a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border-radius: 12px; font-size: .88rem; font-weight: 700; text-decoration: none; }
.library-languages [aria-current="page"] { background: var(--ink); color: white; }
.library-hero { padding-block: clamp(28px,4vw,54px) 24px; max-width: 950px; }
.library-back { display: inline-flex; min-height: 44px; align-items: center; margin-bottom: 14px; font-weight: 700; }
.library-hero h1 { max-width: 22ch; font-size: clamp(2rem,4vw,3.5rem); }
.library-lead { max-width: 70ch; font-size: 1.1rem; color: var(--muted); }
.library-pdf { display: inline-flex; flex-wrap: wrap; gap: 8px 20px; max-width: 100%; text-align: center; white-space: normal; }
.library-pdf span { font-size: .8rem; font-weight: 500; }
.library-notice { margin-top: 24px; padding: 18px 20px; border: 1px solid #ddc49c; border-radius: 16px; background: #fff4e3; color: #593c19; font-size: .94rem; }
.library-contents { margin-block: 8px 28px; padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: white; }
.library-contents ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px 20px; list-style: none; padding: 0; margin: 12px 0 0; }
.library-contents a { display: flex; align-items: center; min-height: 44px; font-weight: 650; }
.library-documents { display: grid; gap: 24px; padding-bottom: 32px; }
.library-document { scroll-margin-top: 20px; min-width: 0; padding: clamp(20px,3vw,36px); border: 1px solid var(--line); border-radius: 24px; background: white; }
.library-document h2 { font-size: clamp(1.7rem,3vw,2.5rem); max-width: 30ch; }
.library-document p { max-width: 85ch; }
.library-summary { color: var(--muted); font-size: 1.08rem; }
.library-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 28px; margin: 22px 0; }
.library-facts div { padding: 14px 0; border-bottom: 1px solid var(--line); }
.library-facts dt { color: var(--muted); font-size: .88rem; }
.library-facts dd { margin: 4px 0 0; font-weight: 700; overflow-wrap: anywhere; }
.library-bullets { padding-left: 24px; }
.library-bullets li { margin: 10px 0; max-width: 85ch; }
.library-steps { padding-left: 24px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 36px; margin-top: 22px; }
.library-steps h3, .library-question h3 { font-size: 1.1rem; margin-bottom: 6px; }
.library-question { margin-block: 22px; }
.library-media { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 24px; }
.library-media figure { margin: 0; min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 18px; background: #faf9f7; }
.library-media img, .library-media video { display: block; width: 100%; height: auto; max-height: 390px; object-fit: contain; border-radius: 12px; background: #f3f1ed; }
.library-media video { max-width: 320px; margin-inline: auto; }
.library-media figcaption { display: grid; gap: 8px; margin-top: 14px; }
.library-media figcaption span { color: var(--muted); font-size: .88rem; }
.library-media figcaption a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; font-weight: 700; }
.library-sources { padding-left: 20px; overflow-wrap: anywhere; }
.library-sources a { display: inline-flex; align-items: center; min-height: 44px; }
.resource-review { display: inline-block; border-radius: 8px; padding: 8px 12px; color: #714411; background: #fff0d9; font-size: .85rem; font-weight: 700; }
.library-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding-block: 24px; color: var(--muted); font-size: .88rem; }
.library-footer a { min-height: 44px; display: inline-flex; align-items: center; }
.resource-library a:focus-visible, #resources a:focus-visible { outline: 3px solid #005b66; outline-offset: 4px; }
@media(max-width:767px) { .library-contents ul, .library-facts, .library-steps, .library-media { grid-template-columns: 1fr; } .library-header { justify-content: center; } .library-hero { padding-top: 22px; } .library-document { border-radius: 18px; } .library-pdf { width: 100%; } }
@media print { .library-header,.library-contents,.library-back,.library-pdf,.library-footer,.skip-link { display:none; } .resource-library { background:white; } .resource-library .shell { width:100%; } .library-document { border:0; padding:12pt 0; break-inside:auto; } .library-document h2,.library-document h3 { break-after:avoid; } .library-media figure { break-inside:avoid; } }
