/* Resource library + document request. Plain type, solid blocks, no strokes, no hover or focus effects. */
.rs-count { margin: 0 0 12px; font-weight: 700; font-size: .92rem; }
.rs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.rc { background: #fff; display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 16px; padding: 18px; align-content: start; }
.rc-icon { display: block; line-height: 0; padding-top: 2px; }
.rc-body { display: flex; flex-direction: column; min-width: 0; }
.rc h3 { font-size: 1.04rem; line-height: 1.22; margin: 0 0 6px; }
.rc h3 a { color: var(--ink); text-decoration: none; }
.rc p { margin: 0 0 10px; font-size: .88rem; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.rc-meta { display: flex; flex-wrap: wrap; gap: 3px 12px; font-size: .78rem; font-weight: 600; margin-bottom: 14px; }
.rc-foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rc-access { font-size: .8rem; font-weight: 700; }

/* detail */
.rd-head { display: flex; align-items: center; gap: 22px; }
.rd-icon { flex: none; line-height: 0; }
.rd-head h1 { margin-bottom: 8px; }
.rd-head .lede { margin: 0; max-width: 46em; }
.rd-layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 28px; align-items: start; }
.rd-main .prose { max-width: 70ch; }
.rd-h { font-size: 1.25rem; margin: 28px 0 10px; }
.rd-side { position: sticky; top: 88px; }
.rd-card { background: #fff; padding: 22px; }
.rd-card h2 { font-size: 1.3rem; margin: 0 0 14px; }
.rd-facts { margin: 0 0 18px; display: grid; gap: 0; }
.rd-facts > div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; font-size: .9rem; }
.rd-facts dt { font-weight: 500; }
.rd-facts dd { margin: 0; font-weight: 700; text-align: right; }
.rd-note { margin: 0 0 14px; font-size: .9rem; line-height: 1.5; }
.rd-form .field { margin-bottom: 12px; }
.rd-form .field label span { font-weight: 400; }
.rd-consent { display: flex; gap: 10px; align-items: flex-start; font-size: .82rem; line-height: 1.45; margin: 4px 0 14px; }
.rd-consent input { margin-top: 3px; flex: none; }
.rd-related { display: grid; gap: 8px; }
.rd-rel { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; align-items: center; background: #fff; padding: 12px 16px; text-decoration: none; color: var(--ink); }
.rd-rel .ic { line-height: 0; }
.rd-rel b { display: block; font-size: .95rem; line-height: 1.25; }
.rd-rel small { display: block; margin-top: 2px; font-size: .8rem; line-height: 1.4; }

@media (max-width: 1020px) {
  .rd-layout { grid-template-columns: 1fr; }
  .rd-side { position: static; order: -1; }
}
@media (max-width: 760px) {
  .rs-grid { grid-template-columns: 1fr; }
  .rd-head { align-items: flex-start; gap: 14px; }
  .rd-icon svg { width: 54px; height: auto; }
  .rc { padding: 16px; gap: 14px; }
}

.rc-foot { flex-wrap: nowrap; }
.rc-foot .btn { white-space: nowrap; flex: none; }
.rc-access { white-space: nowrap; }
@media (max-width: 640px) { .rc-foot .btn { padding: 0 12px; font-size: .82rem; } }
