.review-matrix { margin-bottom: 52px; }
.review-table { overflow-x: auto; border: 1px solid #deded9; border-radius: 16px; margin: 24px 0 32px; overscroll-behavior-x: contain; }
.review-table:focus-visible { outline: 2px solid #313c33; outline-offset: 4px; }
.review-table table { width: 100%; min-width: 660px; border-collapse: collapse; table-layout: fixed; font-family: var(--sans); }
.review-table th, .review-table td { padding: 20px 18px; vertical-align: top; text-align: left; font-size: 15px; line-height: 1.7; border-bottom: 1px solid #deded9; color: #51564e; }
.review-table thead th { background: #f3f4ef; font-weight: 500; color: #282c27; }
.review-table th:first-child { width: 23%; }
.review-table tbody th { font-weight: 500; color: #282c27; }
.review-table tr:last-child > * { border-bottom: 0; }
.review-matrix .matrix-note { padding: 24px; background: #f7f7f3; border-radius: 16px; margin-bottom: 32px; }
.prose .review-matrix h3 { font-family: var(--sans); font-weight: 500; font-size: 21px; line-height: 1.4; margin: 0 0 16px; }
.prose .matrix-note p:last-child { margin-bottom: 0; }
.library-link-map { border-top: 1px solid #deded9; padding-top: 32px; margin: 40px 0; }
.library-link-map ol { list-style: none; padding: 0; margin: 24px 0 0; }
.library-link-map li { margin: 0; border-top: 1px solid #deded9; }
.prose .library-link-map a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 8px; text-decoration: none; font-size: 17px; line-height: 1.5; }
.prose .library-link-map a:hover { background: #f7f7f3; }
@media(max-width:600px) { .review-table th,.review-table td { padding: 16px 14px; } .review-matrix .matrix-note { padding: 24px 20px; } }

.matrix-cell-label { display:none; }
.prose .review-table td p { margin:0; font-size:inherit; line-height:inherit; }
@media(max-width:1250px) {
 .review-table { overflow:visible; border:0; }
 .review-table table { min-width:0; display:block; }
 .review-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .review-table tbody { display:block; }
 .review-table tbody tr { display:block; padding:24px 20px; border:1px solid #deded9; border-radius:16px; margin-bottom:20px; }
 .review-table tbody th,.review-table tbody td { display:block; width:auto; padding:0; border:0; font-size:16px; }
 .review-table tbody th { font-size:19px; line-height:1.45; margin-bottom:20px; }
 .review-table tbody td + td { margin-top:20px; }
 .matrix-cell-label { display:block; font-size:13px; font-weight:500; line-height:1.5; color:#62665f; margin-bottom:8px; }
}
@media(max-width:1250px) { .review-table tbody th:first-child { width:auto; } }
