/* Scoped styles. No remote fonts, trackers or external assets. Colours per docs/brand.md (Epic #197). */
.npai-page { margin:0; background:#f6f8fa; }
.npai-legal, .npai-consent { font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; color:#233340; font-size:16px; line-height:1.65; }
.npai-legal *, .npai-consent * { box-sizing:border-box; }
.npai-legal { max-width:1160px; margin:0 auto; padding:48px 36px 32px; display:grid; grid-template-columns:250px minmax(0,1fr); gap:32px 44px; }
.npai-legal-header { grid-column:1/-1; border-bottom:2px solid #d8e3ea; padding-bottom:24px; }
.npai-eyebrow { margin:0 0 10px; color:#4172ae; font-size:.8rem; font-weight:700; letter-spacing:.12em; }
.npai-legal h1 { font-size:2.7rem; line-height:1.15; color:#112544; margin:0 0 18px; letter-spacing:-.035em; }
.npai-legal h2 { color:#112544; font-size:1.24rem; line-height:1.35; margin:30px 0 12px; scroll-margin-top:24px; }
.npai-legal article > h2:first-child { margin-top:0; }
.npai-legal p { margin:0 0 15px; }
.npai-legal a, .npai-consent a { color:#4172ae; text-underline-offset:3px; overflow-wrap:anywhere; }
.npai-legal a:hover, .npai-consent a:hover { color:#2f5788; }
.npai-legal a:focus-visible, .npai-legal button:focus-visible, .npai-legal [tabindex]:focus-visible, .npai-consent :focus-visible { outline:3px solid #4172ae; outline-offset:4px; }
.npai-meta { font-size:.92rem; color:#52626e; }
.npai-operator { font-size:.94rem; }
.npai-related { display:flex; gap:22px; flex-wrap:wrap; margin:20px 0 12px; }
.npai-related [aria-current="page"] { font-weight:700; }
.npai-print { border:1px solid #8ea5b3; border-radius:6px; background:#fff; color:#112544; padding:8px 15px; font:inherit; font-size:.9rem; cursor:pointer; }
.npai-toc { align-self:start; position:sticky; top:20px; max-height:calc(100vh - 40px); overflow:auto; font-size:.84rem; border-left:3px solid #cbdce7; padding:0 12px 0 17px; }
.npai-toc h2 { font-size:.95rem; margin:0 0 12px; }
.npai-toc ol { list-style:none; padding:0; margin:0; }
.npai-toc li { margin:0 0 10px; line-height:1.4; }
.npai-legal article { min-width:0; }
.npai-source-links { padding-left:20px; font-size:.92rem; }
.npai-source-links li { padding-bottom:5px; }
.npai-table-scroll { max-width:100%; overflow-x:auto; margin:18px 0 24px; border:1px solid #d4e0e7; border-radius:7px; background:#fff; }
.npai-legal table { width:100%; min-width:490px; border-collapse:collapse; font-size:.9rem; line-height:1.55; }
.npai-legal caption { text-align:left; padding:12px 14px; font-weight:600; color:#112544; }
.npai-legal th, .npai-legal td { text-align:left; vertical-align:top; padding:13px 14px; border-top:1px solid #d4e0e7; overflow-wrap:anywhere; }
.npai-legal thead th { background:#112544; color:white; }
.npai-legal th[scope="row"] { width:29%; font-weight:600; }
.npai-legal tbody tr:nth-child(even) { background:#f1f5f7; }
.npai-legal-footer { grid-column:2; border-top:1px solid #d8e3ea; padding-top:20px; font-size:.85rem; color:#52626e; }
.npai-skip { position:absolute; left:12px; top:-80px; background:white; color:#112544; padding:10px; z-index:100; }
.npai-skip:focus { top:10px; }
.npai-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.npai-consent { border:1px solid #d4e0e7; border-radius:8px; padding:18px 20px; min-width:0; max-width:800px; background:#fff; color-scheme:light; }
.npai-consent legend { float:left; width:100%; font-weight:700; padding:0; margin:0 0 12px; }
.npai-consent legend + * { clear:both; }
.npai-consent label { display:block; margin:14px 0; cursor:pointer; }
.npai-consent input[type="checkbox"] { width:18px; height:18px; vertical-align:middle; margin-right:8px; accent-color:#4172ae; }
.npai-consent p { margin:0 0 12px; font-size:.92rem; }
.npai-consent-links { display:flex; flex-wrap:wrap; gap:18px; }
.npai-consent-error { color:#a11717; }
.dark .npai-consent { background:#1e293b; border-color:#475569; color:#e2e8f0; color-scheme:dark; }
.dark .npai-consent a { color:#7ecbfa; }
.dark .npai-consent a:hover { color:#4fb3f0; }
.dark .npai-consent :focus-visible { outline-color:#7ecbfa; }
@media(max-width:850px) {
  .npai-legal { display:block; padding:28px 22px; }
  .npai-legal h1 { font-size:2.15rem; }
  .npai-toc { position:static; max-height:none; margin:24px 0 30px; }
  .npai-toc ol { columns:2; column-gap:25px; }
  .npai-toc li { break-inside:avoid; }
  .npai-legal-footer { margin-top:32px; }
}
@media(max-width:500px) {
 .npai-legal { padding:24px 16px; }
 .npai-toc ol { columns:1; }
 .npai-consent { padding:14px; }
}
@media print {
 .npai-page { background:white; }
 .npai-legal { display:block; max-width:none; padding:0; font-size:10pt; line-height:1.35; }
 .npai-toc, .npai-print, .npai-related, .npai-skip, .npai-legal-footer > a { display:none!important; }
 .npai-legal h1 { font-size:25pt; }
 .npai-legal h2 { font-size:13pt; break-after:avoid; }
 .npai-legal p { orphans:3; widows:3; }
 .npai-legal table { min-width:0; font-size:9pt; }
 .npai-legal tr { break-inside:avoid; }
 .npai-legal thead { display:table-header-group; }
 .npai-table-scroll { overflow:visible; border:0; }
 .npai-legal th, .npai-legal td { padding:7px; }
 .npai-legal a { color:inherit; }
 @page { margin:17mm; }
}
