.publication-library{max-width:1320px;margin:auto;padding-top:clamp(34px,5vw,62px);padding-bottom:60px}
.publication-library h1{margin:6px 0 10px;font-size:clamp(38px,6vw,62px);line-height:1;letter-spacing:-.055em}
.publication-library header p{color:#555;margin:0 0 30px}
.publication-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.publication-card{display:flex;min-width:0;flex-direction:column;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}
.publication-card:hover,.publication-card:focus-visible{border-color:#a71e32;box-shadow:0 8px 20px #271b1912}
.publication-card:focus-visible{outline-offset:3px}
.publication-cover{display:grid;place-items:center;background:#edeae5;padding:24px}
.publication-cover img{display:block;width:auto;height:clamp(245px,25vw,330px);max-width:100%;object-fit:contain;box-shadow:0 5px 14px #0003}
.publication-details{display:flex;flex:1;flex-direction:column;align-items:start;padding:22px 24px}
.publication-meta{font-size:13px;font-weight:700;color:#555}
.publication-details h2{margin:6px 0 5px;font-size:clamp(23px,2.4vw,28px);line-height:1.15}
.publication-details p{margin:0 0 18px;color:#555}
.publication-action{margin-top:auto;display:inline-flex;align-items:center;min-height:40px;padding:6px 13px;border-radius:5px;background:#f9edef;color:#94182a;font-weight:750}
.publication-card:hover .publication-action,.publication-card:focus-visible .publication-action{background:#94182a;color:white}
@media(max-width:850px){.publication-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:580px){.publication-grid{grid-template-columns:1fr}.publication-cover{padding:18px}.publication-cover img{height:clamp(230px,67vw,295px)}.publication-details{padding:18px}}

.bulk-callout{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;margin-bottom:24px;border:1px solid var(--line);border-radius:12px;background:white}
.bulk-callout h2,.bulk-workspace h2{margin:0 0 5px;font-size:22px}
.bulk-callout p{margin:0;color:#555}
.bulk-callout .button{flex:none}
.bulk-workspace{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:24px;max-width:1000px}
.bulk-workspace fieldset{min-width:0;border:0;padding:0;margin:0}
.bulk-workspace legend{padding:0;margin-bottom:12px;font-size:22px;font-weight:750}
.bulk-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bulk-workspace .bulk-toggle{display:flex;align-items:center;gap:8px}
.bulk-workspace .bulk-toggle input{width:auto}
.bulk-hint{color:#555;font-size:14px}
.bulk-workspace li{margin-bottom:6px}
#bulk-status:empty{display:none}
@media(max-width:730px){.bulk-workspace{grid-template-columns:1fr}.bulk-details{grid-template-columns:1fr;gap:0}}
@media(max-width:580px){.bulk-callout{align-items:flex-start;flex-direction:column}}
