.content-library { margin: 0 0 32px; scroll-margin-top: 24px; }
.content-library > h2, .project-documents > h2, .audio-library > h2 { color: #042953; font-size: 24px; margin: 0 0 20px; }
.library-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: 24px; border: 1px solid #d7dce5; border-radius: 12px; background: #f7f8fb; }
.library-filters label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 600; min-width: 0; }
.library-filters select, .library-filters input { width: 100%; min-width: 0; min-height: 46px; padding: 10px; border: 1px solid #abb6c7; border-radius: 6px; background: white; color: #042953; font: 16px/1.4 Arial,sans-serif; }
.library-filter-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; grid-column: 1/-1; }
.library-filter-actions a, .document-download { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #042953; text-decoration: underline; font-size: 14px; }
.library-filter-actions .primary-action { min-height: 46px; padding: 12px 24px; width: auto; font-size: 16px; }
.library-count { margin: 18px 0; font-size: 14px; color: #475569; }
.library-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.library-grid > * { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.library-grid .editorial-card h2 { font-size: 21px; }
.library-grid .editorial-card p, .document-card p { font-size: 16px; line-height: 1.6; }
.document-card { padding: 24px; border: 1px solid #d7dce5; border-radius: 12px; background: #fff; color: #042953; }
.document-card h3 { margin: 12px 0; font-size: 21px; line-height: 1.4; }
.document-card h3 a { color: inherit; text-decoration: none; }
.document-format, .project-status, .project-category { display: inline-block; width: fit-content; border-radius: 6px; padding: 6px 10px; background: #edf1f7; color: #042953; font-size: 14px!important; font-weight: 600; }
.project-card__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.project-category { background: #f7efd9; color: #725116; }
.project-card__meta .project-status { margin: 0; }
.projects-index__heading { margin-bottom: 28px; }
.projects-index__intro { margin: -8px 0 28px; padding: 22px 24px; border: 1px solid #d7dce5; border-radius: 10px; background: #fff; }
.projects-index__catalog { min-width: 0; }
.projects-index .content-library { margin-bottom: 0; }
.projects-index .content-library > h2 { margin-bottom: 16px; font-size: 28px; }
.projects-index .library-filters { grid-template-columns: minmax(0,2fr) minmax(240px,1fr); border-top: 4px solid var(--gold); }
.projects-index .library-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.projects-index .editorial-card { min-height: 270px; }
.projects-index .editorial-card h2 { margin-bottom: 12px; }
.projects-index .editorial-card .topic-related { margin-top: auto; }
.projects-index__categories { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.projects-index__category { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #d7dce5; border-radius: 12px; background: #fff; color: var(--navy); text-decoration: none; box-shadow: 0 3px 12px #0429530d; transition: border-color .2s, box-shadow .2s, transform .2s; }
.projects-index__category:hover, .projects-index__category:focus-visible { border-color: var(--gold); box-shadow: 0 9px 24px #04295324; transform: translateY(-3px); }
.projects-index__category:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.projects-index__category-image { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--navy); }
.projects-index__category-image::after { position: absolute; inset: 0; content: ''; background: linear-gradient(180deg,transparent 45%,#031d42a8 100%); }
.projects-index__category-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.projects-index__category:hover .projects-index__category-image img { transform: scale(1.04); }
.projects-index__category-icon { position: absolute; z-index: 1; bottom: 13px; left: 16px; display: inline-flex; color: var(--gold); }
.projects-index__category-icon svg { width: 34px; height: 34px; stroke-width: 1.6; }
.projects-index__category-copy { display: flex; flex: 1; flex-direction: column; gap: 9px; padding: 18px; }
.projects-index__category-copy strong { font: 700 20px/1.2 Georgia,serif; }
.projects-index__category-copy > span:not(.projects-index__category-action) { color: #455267; font-size: 14px; line-height: 1.5; }
.projects-index__category-action { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 8px; color: #8a641f; font-size: 14px; font-weight: 700; }
.projects-index__category-action span { color: var(--gold); font-size: 22px; line-height: 1; }
.document-metadata { display: grid; gap: 12px; margin: 16px 0; font-size: 14px; }
.document-metadata dt { font-weight: 600; color: #475569; }
.document-metadata dd { margin: 4px 0 0; }
.document-expired { padding: 10px; border-left: 3px solid #ad7200; background: #fff5db; color: #664500; font-size: 14px!important; }
.document-projects { margin: 16px 0; font-size: 14px; }
.document-projects > span { font-weight: 600; }
.document-projects ul { padding-left: 18px; margin: 8px 0; }
.document-projects a { color: #042953; text-decoration: underline; }
.project-profile { margin-top: 24px; }
.project-field { padding-top: 24px; border-top: 1px solid #e3e7ed; margin-top: 24px; }
.project-field h2 { margin: 0 0 12px; font-size: 23px; }
.project-field p { white-space: pre-line; font-size: 16px; }
.project-documents { margin-top: 32px; }
.project-qr { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 32px; padding: 24px; border: 1px solid #d7dce5; border-left: 5px solid var(--gold); border-radius: 12px; background: #f7f8fb; }
.project-qr__copy { min-width: 0; }
.project-qr__copy > span { color: #8a641f; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.project-qr__copy h2 { margin: 7px 0 10px; color: var(--navy); font-size: 24px; }
.project-qr__copy > p { max-width: 620px; margin: 0; color: #475569; font-size: 16px; line-height: 1.6; }
.project-qr__copy .project-qr__url { margin-top: 12px; color: var(--navy); font-size: 13px; overflow-wrap: anywhere; }
.editorial-body .project-qr__download { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 18px; padding: 12px 18px; border-radius: 6px; background: var(--navy); color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; transition: background .2s, transform .2s; }
.editorial-body .project-qr__download:hover { background: #0b3b70; color: #fff; transform: translateY(-1px); }
.project-qr__image { flex: 0 0 auto; padding: 10px; border: 1px solid #d7dce5; border-radius: 10px; background: #fff; line-height: 0; }
.project-qr__image img { display: block; width: 220px; max-width: 100%; height: auto; }
.audio-library { margin-top: 40px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media(max-width:1100px) { .projects-index__categories { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:1000px) { .projects-index .library-grid, .projects-index__categories { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .library-filters, .library-grid, .projects-index .library-filters, .projects-index .library-grid, .projects-index__categories { grid-template-columns: minmax(0,1fr); } .library-filters, .document-card { padding: 18px; } .projects-index .editorial-card { min-height: 0; } .project-qr { align-items: stretch; flex-direction: column; padding: 20px; } .project-qr__image { align-self: center; } }
