/* Existing navy/indigo visual system; source navigation and stability fixes. */
html { scroll-padding-top: 110px; scrollbar-color: #64748b #f1f5f9; scrollbar-width: auto; }
* { scrollbar-color: #64748b #f1f5f9; }
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-thumb { background: #64748b; border: 3px solid #f1f5f9; border-radius: 8px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb:hover { background: #4338ca; }
[hidden] { display: none !important; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid #6366f1; outline-offset: 4px; }
button, summary { cursor: pointer; }
.dpf-skip { position: fixed; top: -100px; left: 1rem; z-index: 10000; padding: 1rem; background: white; color: #0f172a; }
.dpf-skip:focus { top: 1rem; }
.dpf-paper { padding: 32px 28px; color: #0f172a; background: white; display: flex; flex-direction: column; justify-content: space-between; }
.dpf-paper-label { font-size: 11px; font-weight: 600; letter-spacing: .12em; color: #4338ca; }
.dpf-paper-title { font-size: clamp(24px, 3vw, 33px); line-height: 1.2; font-weight: 600; }
.dpf-paper li { border-bottom: 1px solid #e2e8f0; padding: 12px 0; font-size: 13px; }
.dpf-paper-note { font-size: 11px; color: #475569; }
.dpf-publisher, .dpf-note { font-size: 14px; color: #475569; line-height: 1.7; margin: 20px 0; }
.dpf-content { max-width: 840px; margin: auto; padding: 50px 24px; }
.dpf-content h2 { font-size: 28px; line-height: 1.3; margin: 40px 0 18px; }
.dpf-content h3 { font-size: 20px; line-height: 1.4; margin: 26px 0 12px; }
.dpf-content p, .dpf-content ul, .dpf-content ol { margin: 0 0 18px; }
.dpf-content ul { list-style: disc; padding-left: 24px; }
.dpf-content ol { padding-left: 24px; }
.dpf-content li { margin-bottom: 10px; }
.dpf-content a, .dpf-publisher a, .dpf-note a { color: #3730a3; text-decoration: underline; text-underline-offset: 3px; }
.dpf-content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.dpf-content th, .dpf-content td { padding: 14px; border: 1px solid #cbd5e1; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.dpf-content th { background: #eef2ff; }
.dpf-content details { border-bottom: 1px solid #cbd5e1; padding: 18px 0; }
.dpf-content summary { font-weight: 600; }
.dpf-content details p { margin-top: 14px; }
.dpf-source { padding: 24px; border: 1px solid #cbd5e1; background: #fff; border-radius: 12px; margin: 20px 0; }
.dpf-source h2:first-child { margin-top: 0; }
.dpf-search { position: relative; color: #f8fafc; }
.dpf-search summary { padding: 10px; }
.dpf-search-panel { position: absolute; top: 48px; right: 0; width: min(340px, 88vw); background: #fff; color: #0f172a; padding: 20px; border: 1px solid #cbd5e1; border-radius: 12px; box-shadow: 0 12px 30px #0f172a20; }
.dpf-search label { display: block; font-size: 14px; font-weight: 600; }
.dpf-search input { width: 100%; margin: 10px 0; padding: 12px; border: 1px solid #64748b; border-radius: 6px; font: inherit; }
.dpf-search button { padding: 6px 10px; background: #eef2ff; color: #3730a3; border: 1px solid #c7d2fe; border-radius: 5px; }
.dpf-search ul { max-height: 300px; overflow-y: auto; margin-top: 12px; }
.dpf-search li a { display: block; padding: 9px 5px; }
.dpf-search li a:hover { background: #eef2ff; }
.dpf-print { border: 0; font: inherit; }
.dhp-pill, .dhp-head__sub, .ftr-desc { color: #475569; }
.dhp-steps__label, .ftr-cat li a, .ftr-legal li a, .cpy, .sp-toc-label, .sp-postnav-eyebrow, .sp-postnav-dir, .dhp-states__note { color: #475569; }
.blg-card-meta span { color: #475569; }
.hdr .lg img, .ftr .lg img { width: 225px; height: 30px; display: block; }
.dhp-hero__visual { min-width: 0; }
.dhp-hero { overflow: clip; }
.dhp-states__link:hover { border-color: #4338ca; }
@media (max-width: 768px) {
  .hdr-in { padding: 14px 16px; gap: 10px; }
  .hdr .lg img { width: 180px; height: 24px; }
  .hdr-r { gap: 8px; }
  .dpf-search summary { font-size: 13px; padding: 8px 4px; }
  .dpf-search-panel { position: fixed; top: 62px; right: 10px; width: min(340px, calc(100vw - 20px)); }
  #mainNav { visibility: hidden; }
  #mainNav.active { visibility: visible; }
  #mainNav .nl li a { color: #0f172a; }
  .dpf-content { padding: 30px 20px; }
  .dpf-content h2 { font-size: 24px; }
  .dpf-paper { padding: 24px; }
  .dpf-paper li { padding: 8px 0; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
@media (max-width: 360px) { .hdr .lg img { width: 145px; height: auto; aspect-ratio: 15 / 2; } .hdr-in { padding-inline: 10px; } }
@media (forced-colors: active) { * { scrollbar-color: auto; } }
@media print {
  .hdr, .ftr, .dhp-hero__visual, .dhp-hero__actions, .dpf-print, .dpf-skip { display: none !important; }
  body, .dhp-hero { background: white !important; color: black !important; }
  .dhp-hero__inner { display: block; padding: 0; }
  .dhp-hero__h1 { font-size: 28px; }
  .dpf-content { max-width: none; padding: 0; }
  a[href^="http"]::after { content: ' (' attr(href) ')'; font-size: 10px; overflow-wrap: anywhere; }
  h2, h3 { break-after: avoid; }
}
