/* NIST reference library (public pages /resources/nist and /resources/nist/<id>). Loaded only there. */
.nist-hero-grid { display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center; }
.nist-hero .site-lede { max-width:700px; }
.nist-hero-link { color:#fff!important; }
.nist-hero-stats dt { font-size:2.1rem; }

/* Start-here paths */
.nist-paths { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px; }
.nist-path { display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-top:4px solid var(--gold);border-radius:14px;padding:22px 22px 18px;box-shadow:var(--shadow); }
.nist-path-role { color:var(--gold-ink);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0; }
.nist-path h3 { color:var(--navy);font-size:1.08rem;line-height:1.3;margin:8px 0 8px; }
.nist-path > p { color:#34435b;font-size:.86rem;line-height:1.6;margin:0 0 12px; }
.nist-path ol { list-style:none;counter-reset:p;margin:0 0 14px;padding:0;display:grid;gap:10px; }
.nist-path li { counter-increment:p;position:relative;padding-left:30px;font-size:.84rem;line-height:1.45;color:#34435b; }
.nist-path li::before { content:counter(p);position:absolute;left:0;top:0;width:21px;height:21px;border-radius:50%;background:var(--navy);color:#fff;font:700 .7rem/21px var(--font-body);text-align:center; }
.nist-path li a { display:block;color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px; }
.nist-path li span { display:block;margin-top:2px; }
.nist-path-more { margin-top:auto;color:var(--navy);font-size:.82rem;font-weight:700;text-decoration:underline;text-underline-offset:3px; }

/* Filters */
.nist-filters { display:grid;grid-template-columns:2fr repeat(4,minmax(0,1fr)) auto;gap:14px;align-items:end;background:#f6f8fc;border:1px solid var(--border);border-radius:14px;padding:18px 20px;margin:4px 0 14px; }
.nist-field label { display:block;color:var(--navy);font-size:.76rem;font-weight:700;margin:0 0 6px; }
.nist-field input, .nist-field select { width:100%;min-height:44px;border:1px solid #b4c1da;border-radius:10px;background:#fff;color:#1a2233;font:400 .92rem var(--font-body);padding:0 12px; }
.nist-field input:focus-visible, .nist-field select:focus-visible { outline:3px solid var(--sky);outline-offset:1px;border-color:var(--navy); }
.nist-filter-actions { display:flex;align-items:center;gap:14px;white-space:nowrap; }
.nist-apply { padding:12px 18px;font-size:.84rem; }
.nist-filters.is-live .nist-apply { display:none; }
.nist-reset { color:var(--navy);font-size:.84rem;font-weight:700;text-decoration:underline;text-underline-offset:3px; }
.nist-count { color:#34435b;font-size:.88rem;font-weight:600;margin:0 0 6px; }
.nist-empty { background:#fff7e6;border:1px solid #f2c86b;border-radius:12px;padding:16px 18px;color:#5c3d00;font-size:.92rem; }

/* Groups and cards */
.nist-group { margin-top:34px; }
.nist-group-head { display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;border-bottom:2px solid var(--border);padding-bottom:10px;margin-bottom:16px; }
.nist-group-head h3 { color:var(--navy);font-size:1.3rem;margin:0; }
.nist-group-head p { color:var(--text-muted);font-size:.88rem;margin:0; }
.nist-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.nist-card { position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px 20px 16px;box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s,transform .2s; }
.nist-card:hover { border-color:var(--sky);box-shadow:0 14px 30px #02216d14;transform:translateY(-2px); }
.nist-card:focus-within { outline:3px solid var(--sky);outline-offset:2px; }
.nist-card-kicker { display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;font-size:.74rem; }
.nist-id { color:var(--navy);font-weight:800;letter-spacing:.01em; }
.nist-year { color:var(--text-muted); }
.nist-card h3 { font-size:1.08rem;line-height:1.3;margin:10px 0 2px; }
.nist-card h3 a { color:var(--navy);text-decoration:none; }
.nist-card h3 a::after { content:"";position:absolute;inset:0;border-radius:14px; }
.nist-card h3 a:focus-visible { outline:none; }
.nist-card-title { color:var(--text-muted)!important;font-size:.78rem!important;line-height:1.45!important;margin:0 0 10px; }
.nist-card p { color:#34435b;font-size:.86rem;line-height:1.6;margin:0 0 10px; }
.nist-card-meta { display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-top:auto!important;padding-top:6px;font-size:.76rem!important;color:var(--text-muted)!important; }
.nist-card-fns { display:flex;flex-wrap:wrap;gap:5px;margin:4px 0 0!important; }
.nist-status { display:inline-block;padding:1px 8px;border-radius:999px;font-weight:700;font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;border:1px solid; }
.nist-status.is-final { color:#1e6b31;background:#e8f5eb;border-color:#a8d5b3; }
.nist-status.is-draft { color:#7a5000;background:#fff3d6;border-color:#f2c86b; }
.nist-status.is-web { color:#0a3191;background:#e8eefc;border-color:#b6c6f0; }
.nist-level { display:inline-block;padding:1px 8px;border-radius:6px;font-weight:700;font-size:.72rem;color:#1a2233;background:#eef1f6; }
.nist-level-leader { background:#fdecc8;color:#5c3d00; }
.nist-level-practitioner { background:#dceefa;color:#0b3d5c; }
.nist-level-technical { background:#e7e2f8;color:#3d2a85; }
.nist-fn { display:inline-block;padding:1px 7px;border-radius:999px;font-size:.68rem;font-weight:700;border:1px solid; }
.nist-fn-gv { color:#0a3191;background:#e8eefc;border-color:#b6c6f0; }
.nist-fn-id { color:#0a5b6b;background:#e3f4f7;border-color:#a3d6df; }
.nist-fn-pr { color:#1e6b31;background:#e8f5eb;border-color:#a8d5b3; }
.nist-fn-de { color:#6d4500;background:#fff3d6;border-color:#f2c86b; }
.nist-fn-rs { color:#8f2a20;background:#fcebe9;border-color:#eab0a9; }
.nist-fn-rc { color:#4b3399;background:#efebfb;border-color:#c9bdf0; }
.nist-legend { margin-top:34px;border-top:1px solid var(--border);padding-top:18px; }
.nist-legend h3 { color:var(--navy);font-size:1rem;margin:0 0 10px; }
.nist-legend dl { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0; }
.nist-legend dd { margin:6px 0 0;color:#34435b;font-size:.84rem;line-height:1.5; }
.nist-about-card { max-width:880px;background:#f6f8fc;border:1px solid var(--border);border-left:5px solid var(--sky);border-radius:0 14px 14px 0;padding:24px 28px; }
.nist-about-card h2 { color:var(--navy);font-size:1.25rem;margin:0 0 10px; }
.nist-about-card p { color:#34435b;font-size:.92rem;line-height:1.7;margin:0 0 10px; }
.nist-about-card a { color:var(--blue);text-decoration:underline;text-underline-offset:3px; }

/* Detail page */
.nist-detail-kicker { display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px; }
.nist-detail-kicker .nist-status { font-size:.64rem; }
.nist-glance { max-width:880px; }
.nist-glance-label { display:block;color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px; }
.nist-facts { display:grid;grid-template-columns:repeat(4,minmax(0,auto));justify-content:start;gap:12px 34px;margin:22px 0 0; }
.nist-facts dt { color:#b9c8e4;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase; }
.nist-facts dd { margin:4px 0 0;color:#fff;font-size:.92rem;font-weight:600; }
.nist-myths { margin:0; }
.nist-myths > div { border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin:0 0 12px;background:#fff; }
.nist-myths dt { color:#8f2a20;font-weight:700;font-size:.98rem; }
.nist-myths dt::before { content:"Myth: ";color:#8f2a20; }
.nist-myths dd { margin:6px 0 0;font-size:.98rem; }
.nist-myths dd::before { content:"In fact: ";font-weight:700;color:#1e6b31; }
.nist-rubric, .nist-links { list-style:none;padding-left:0!important; }
.nist-rubric li, .nist-links li { display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border);margin:0!important; }
.nist-links li span { color:var(--text-muted);font-size:.9rem; }
.nist-csf-id { display:inline-block;min-width:48px;color:var(--navy);font-weight:800;font-size:.86rem; }
.nist-citation { font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.84rem;line-height:1.6;background:#f6f8fc;border:1px solid var(--border);border-radius:10px;padding:14px 16px;overflow-wrap:anywhere; }
.nist-note { border-left-color:var(--gold); }

@media (max-width:1100px) {
  .nist-hero-grid { grid-template-columns:1fr;gap:28px; }
  .nist-paths { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nist-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nist-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nist-field-search { grid-column:1 / -1; }
  .nist-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .nist-paths, .nist-grid, .nist-filters, .nist-legend dl { grid-template-columns:1fr; }
  .nist-filters { padding:14px; }
  .nist-path, .nist-card { padding:18px; }
}
@media (prefers-reduced-motion:reduce) { .nist-card { transition:none; } .nist-card:hover { transform:none; } }
@media print {
  .nist-filters, .nist-count, .site-header, .site-footer, .home-final-cta { display:none!important; }
  .nist-card { box-shadow:none;break-inside:avoid; }
}
