/* Source-reference pages keep the check action close to its scope. */
.requirements-page{max-width:1120px;padding-top:2rem;padding-bottom:3rem;color:#183441}
.requirements-page nav{margin-bottom:1.5rem;font-size:.95rem}
.requirements-page a{color:#145d55;text-underline-offset:.18em}
.requirements-hero{max-width:820px;padding:1rem 0 2rem}
.requirements-hero h1{font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.12;letter-spacing:-.03em;margin-bottom:1.2rem}
.requirements-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:750;color:#145d55}
.requirements-callout{background:#edf5f0;border:1px solid #b9d3c8;border-radius:16px;padding:1.5rem;margin-bottom:2rem}
.requirements-callout h2,.requirements-section h2{font-size:1.6rem}
.requirements-jump{display:flex;gap:.65rem;flex-wrap:wrap;padding:1rem 0}
.requirements-jump a{padding:.65rem .85rem;background:#f4f5f2;border-radius:8px;border:1px solid #d4ddd7;font-size:.9rem}
.requirements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;align-items:start}
.requirements-card{border:1px solid #d4ddd7;border-radius:16px;padding:1.5rem;background:#fff;scroll-margin-top:7rem;min-width:0}
.requirements-card:target{outline:3px solid #478c76;outline-offset:3px}
.requirements-card h2{font-size:1.35rem;line-height:1.3}
.requirements-card h3{font-size:1.05rem}
.requirements-scope,.requirements-reviewed{font-size:.85rem;color:#455c60}
.requirements-reviewed{margin:1.1rem 0 0}
.requirements-button{display:inline-block;background:#145d55;color:#fff!important;border:1px solid #145d55;border-radius:8px;padding:.8rem 1rem;font-weight:650;text-decoration:none;line-height:1.4}
.requirements-button:hover{background:#104a44}
.requirements-button-secondary{color:#145d55!important;background:#fff}
.requirements-button-secondary:hover{background:#edf5f0}
.requirements-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.requirements-rules{margin-top:1.2rem}
.requirements-rules summary{padding:.7rem 0;cursor:pointer;font-weight:650;min-height:44px}
.requirements-rule{border-top:1px solid #dce3df;padding-top:1.1rem;margin-top:.7rem}
.requirements-rule-kind{font-size:.8rem;text-transform:capitalize;font-weight:650;color:#435f55}
.requirements-note,.requirements-sources{font-size:.85rem}
.requirements-sources a{display:block;padding:.25rem 0}
.requirements-section{margin-top:2.5rem;max-width:950px}
.requirements-section li{margin-bottom:.7rem}
.requirements-page code{color:#274a61;overflow-wrap:anywhere}
.requirements-page pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:1.2rem;border:1px solid #d4ddd7;background:#f6f7f4;border-radius:10px}
.requirements-table-wrap{overflow-x:auto}
.requirements-page table{width:100%;border-collapse:collapse;margin:1rem 0}
.requirements-page th,.requirements-page td{text-align:left;vertical-align:top;padding:.9rem .7rem;border-bottom:1px solid #d4ddd7}
.requirements-page th{font-weight:650}
.requirements-page thead{background:#edf5f0}
.requirements-page caption{caption-side:top;color:#455c60}
.requirements-page blockquote{border-left:4px solid #478c76;padding:.5rem 1.3rem;margin:1.2rem 0}
.requirements-language-links{display:flex;gap:1rem;flex-wrap:wrap;padding:0;list-style:none}
.requirements-page :focus-visible{outline:3px solid #91612b;outline-offset:3px}
@media(max-width:767px){.requirements-grid{grid-template-columns:1fr}.requirements-page{padding-left:1rem;padding-right:1rem}.requirements-card{padding:1.2rem}.requirements-page th,.requirements-page td{padding:.75rem .45rem;font-size:.9rem}.requirements-button{max-width:100%}}
