:root {
  color-scheme: light;
  --navy: #203e5b;
  --primary: #286391;
  --primary-hover: #194d77;
  --primary-soft: #edf3f8;
  --text: #29333c;
  --muted: #5d6974;
  --bg: #f3f4f5;
  --surface: #fff;
  --surface-alt: #f7f8f9;
  --line: #d8dde2;
  --line-strong: #bfc8d1;
  --danger: #a12b26;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { background: var(--bg); color: var(--text); scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; line-height: 1.65; font-size: 16px; }
[hidden] { display: none !important; }
a { color: var(--primary); text-underline-offset: 3px; }
a:hover { color: var(--primary-hover); text-decoration: underline; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .45; }
button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible, a:focus-visible {
  outline: 3px solid #80b3dd; outline-offset: 3px;
}
.skip-link { position: absolute; inset-inline-start: 16px; top: -100px; z-index: 100; padding: 12px 20px; background: #fff; color: var(--navy); }
.skip-link:focus { top: 10px; }
.site-header { background: #fff; border-top: 4px solid var(--navy); }
.header-inner, .nav-inner, .footer-inner {
  width: min(1140px, calc(100% - 48px)); margin: 0 auto;
}
.header-inner { min-height: 102px; display: flex; justify-content: space-between; align-items: center; gap: 28px; }
.brand-lockup { display: flex; align-items: center; gap: 23px; }
.wordmark { color: var(--navy); font-size: 37px; font-weight: 700; line-height: 1.2; text-decoration: none; }
.wordmark:hover { text-decoration: none; color: var(--navy); }
.brand-description { padding-inline-start: 23px; border-inline-start: 1px solid var(--line); color: var(--muted); font-size: 15px; }
.header-reference { font-size: 14px; text-decoration: none; }
.main-nav { background: var(--navy); border-bottom: 1px solid #122f49; }
.nav-inner { display: flex; align-items: stretch; }
.main-nav a {
  display: flex; align-items: center; justify-content: center;
  min-height: 49px; padding: 10px 28px; border-inline-end: 1px solid #35516b;
  color: #fff; text-decoration: none; font-size: 15px;
}
.main-nav a:first-child { border-inline-start: 1px solid #35516b; }
.main-nav a:hover, .main-nav a[aria-current="page"] { background: #315d80; color: #fff; }
.main-nav a[aria-current="page"] { box-shadow: inset 0 -3px #9ec4e0; }
.search-page, .directory, .document-page { width: min(1140px, calc(100% - 48px)); margin: 0 auto; flex: 1; }
.search-page { padding: 37px 0 68px; }
.search-intro { margin: 0 0 28px; }
.search-intro h1, .directory > h1, .document-header h1, .prose > h1 {
  margin: 0; color: var(--navy); font-weight: 400; font-size: 32px; line-height: 1.35; letter-spacing: normal;
}
.search-intro > p, .lede { margin: 8px 0 0; color: var(--muted); font-size: 16px; }
.home-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 28px; align-items: start; }
.search-workspace, .home-sidebar { min-width: 0; }
.search-form {
  margin: 0; background: var(--surface); border: 1px solid var(--line-strong);
  border-top: 3px solid var(--primary); border-radius: 3px; box-shadow: 0 1px 2px #203e5b08;
}
.panel-heading { padding: 13px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #f6f7f8; border-bottom: 1px solid var(--line); }
.panel-heading h2 { margin: 0; color: var(--navy); font-size: 20px; font-weight: 700; }
.panel-heading > span { color: var(--muted); font-size: 13px; }
.search-form-body { padding: 25px 24px 16px; }
.search-label { display: block; margin: 0 0 9px; font-size: 15px; font-weight: 700; }
.search-line { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 10px; align-items: stretch; }
.search-line input {
  width: 100%; min-width: 0; height: 48px; padding: 10px 13px;
  border: 1px solid #aebbc6; border-radius: 3px; box-shadow: inset 0 1px 2px #00000008; background: #fff;
}
.search-line input::placeholder { color: #737f89; opacity: 1; }
.search-line input:focus, .filter-grid input:focus, .filter-grid select:focus { border-color: #488bbd; }
.search-line button {
  display: flex; align-items: center; justify-content: center; gap: 9px;
  border: 1px solid #20547d; border-radius: 3px; background: var(--primary);
  color: #fff; font-size: 16px; font-weight: 700; box-shadow: inset 0 1px #ffffff26;
}
.search-line button:hover { background: var(--primary-hover); }
.search-line svg { fill: none; stroke: currentColor; stroke-width: 2; }
.search-help { margin: 11px 0 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.filters { margin-top: 19px; padding-top: 5px; }
.filters summary { min-height: 39px; width: fit-content; padding: 7px 0; color: var(--primary); font-size: 14px; cursor: pointer; }
.filters summary:hover { text-decoration: underline; }
.filters summary span:not(:empty) { margin-inline-start: 5px; font-weight: 700; }
.filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px 16px; padding: 19px 0; border-top: 1px solid var(--line); }
.filter-grid label { display: grid; align-content: start; gap: 6px; min-width: 0; font-size: 14px; font-weight: 700; }
.filter-grid input, .filter-grid select {
  width: 100%; min-width: 0; height: 43px; padding: 8px 10px; border: 1px solid var(--line-strong);
  border-radius: 3px; background: #fff; font-size: 16px; font-weight: 400;
}
.form-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 11px; padding-top: 12px; border-top: 1px solid #e8ebee; color: var(--muted); font-size: 13px; }
.plain-button { min-height: 36px; padding: 4px 0; border: 0; background: transparent; color: var(--primary); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
#dbStatus { font-variant-numeric: tabular-nums; text-align: end; }
#dbStatus.error { color: var(--danger); }
.sidebar-panel { margin-bottom: 20px; padding: 0 18px 18px; border: 1px solid var(--line); background: #fff; border-radius: 3px; }
.sidebar-panel h2 { margin: 0 -18px 16px; padding: 12px 18px; border-bottom: 1px solid var(--line); background: #f8f9fa; color: var(--navy); font-size: 17px; font-weight: 700; }
.source-summary { margin: 0; }
.source-summary > div { margin-bottom: 18px; }
.source-summary dt { margin: 0 0 4px; color: #364859; font-size: 14px; font-weight: 700; }
.source-summary dd { margin: 0; color: var(--muted); font-size: 14px; }
.text-link { display: inline-block; font-size: 13px; }
.search-guidance p { margin: 0 0 13px; color: var(--muted); font-size: 14px; }
.search-guidance p:last-child { margin-bottom: 0; }
.browse-section { margin-top: 30px; }
.browse-section > h2 { margin: 0 0 13px; color: var(--navy); font-size: 20px; font-weight: 400; }
.browse-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 3px; background: #fff; }
.browse-link { display: flex; flex-direction: column; gap: 8px; padding: 20px 18px; border-inline-end: 1px solid var(--line); color: var(--muted); font-size: 14px; text-decoration: none; }
.browse-link:last-child { border-inline-end: 0; }
.browse-link:hover { background: #f8fafc; color: var(--muted); text-decoration: none; }
.browse-title { display: flex; align-items: center; justify-content: space-between; color: var(--navy); font-size: 17px; font-weight: 700; }
.browse-title > span { color: #8698a8; font-size: 24px; font-weight: 400; line-height: 1; }
.browse-action { margin-top: auto; padding-top: 8px; color: var(--primary); text-decoration: underline; }
.results-section { margin-top: 28px; min-width: 0; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; border-bottom: 2px solid var(--primary); margin-bottom: 0; padding: 8px 0; }
.section-heading h2 { margin: 0; color: var(--navy); font-size: 21px; font-weight: 400; }
.section-heading > span { font-size: 13px; color: var(--muted); }
.message { padding: 32px 20px; border: 1px solid var(--line); border-top: 0; background: #fff; text-align: center; color: var(--muted); }
.message.error { color: var(--danger); }
.message.loading::after { content: "…"; }
.results, .linked-list, .entity-list { border: 1px solid var(--line); background: #fff; border-radius: 3px; }
.results:empty, .entity-list:empty { display: none; }
.result-row {
  display: grid; grid-template-columns: 130px minmax(0, 1fr); column-gap: 23px; row-gap: 5px;
  padding: 18px 20px; border-top: 1px solid #e0e4e8;
}
.result-row:first-child, .linked-list .result-row:first-of-type { border-top: 0; }
.result-row:nth-of-type(even), .entity-row:nth-of-type(even) { background: #fafbfc; }
.result-row:hover, .entity-row:hover { background: #f1f6fa; }
.result-kicker { grid-row: 1 / span 2; color: var(--primary); direction: ltr; unicode-bidi: isolate; text-align: right; font-size: 15px; font-variant-numeric: tabular-nums; font-weight: 400; }
.result-kicker > span { display: block; color: var(--muted); font-size: 12px; direction: rtl; margin-bottom: 2px; }
.result-kicker > bdi { white-space: nowrap; }
.result-row h3, .entity-row h2, .entity-row h3 { margin: 0; font-size: 17px; line-height: 1.55; font-weight: 700; overflow-wrap: anywhere; }
.result-row h3 a, .entity-row h2 a, .entity-row h3 a { color: var(--primary); text-decoration: none; }
.result-row h3 a:hover, .entity-row h2 a:hover, .entity-row h3 a:hover { text-decoration: underline; }
.result-row p, .entity-row p, .case-meta { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.case-meta { display: flex; flex-wrap: wrap; gap: 3px 0; }
.case-meta span:not(:last-child)::after { content: " · "; white-space: pre; color: #8b949d; }
.entity-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, .65fr); gap: 20px; padding: 17px 20px; border-top: 1px solid #e0e4e8; align-items: start; }
.entity-row:first-child { border-top: 0; }
.search-workspace .entity-row { grid-template-columns: 1fr; gap: 5px; }
.pager { display: flex; justify-content: center; align-items: center; gap: 0; margin: 24px 0 0; }
.pager a, .pager button, .pager span { display: grid; place-items: center; min-width: 82px; min-height: 42px; padding: 8px 14px; border: 1px solid var(--line-strong); background: #fff; color: var(--primary); text-decoration: none; font-size: 14px; }
.pager > * + * { border-inline-start: 0; }
.pager > :first-child { border-start-start-radius: 3px; border-end-start-radius: 3px; }
.pager > :last-child { border-start-end-radius: 3px; border-end-end-radius: 3px; }
.pager span { background: #edf1f4; color: var(--muted); }
.pager a:hover, .pager button:hover:not(:disabled) { background: var(--primary-soft); }
.site-footer { margin-top: auto; background: #e8ebee; border-top: 1px solid #cfd6dd; }
.footer-inner { display: flex; justify-content: space-between; gap: 30px; padding-block: 27px 30px; color: var(--muted); font-size: 13px; }
.footer-inner strong { color: var(--navy); font-size: 20px; font-weight: 700; }
.footer-brand > a { color: var(--navy); font-size: 20px; font-weight: 700; text-decoration: none; }
.footer-disclosure { font-size: 12px; }
.footer-inner p { margin: 5px 0 0; }
.footer-inner nav { display: flex; align-items: start; gap: 0; padding-top: 5px; flex-wrap: wrap; }
.footer-inner nav a { padding-inline: 15px; border-inline-start: 1px solid #c2cad2; color: #455867; text-decoration: none; }
.footer-inner nav a:first-child { border-inline-start: 0; }
.footer-inner nav a:hover { text-decoration: underline; }
.directory, .document-page { padding-block: 26px 65px; }
.directory > h1 { margin: 0 0 15px; }
.directory .lede { margin-bottom: 23px; }
.directory > .linked-list, .directory > .entity-list { margin-top: 23px; }
.document-page { max-width: 1040px; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 22px; color: var(--muted); font-size: 13px; }
.breadcrumbs a { color: var(--primary); text-decoration: none; }
.breadcrumbs a:hover { text-decoration: underline; }
.breadcrumb-separator { color: #8d99a4; }
.breadcrumb-current { color: var(--muted); }
.document-header { padding: 24px 27px; border: 1px solid var(--line); border-top: 3px solid var(--primary); background: #fff; border-radius: 3px 3px 0 0; }
.overline { margin: 0 0 7px; color: var(--muted); font-size: 14px; font-weight: 400; }
.document-header h1 { font-size: 30px; font-weight: 700; overflow-wrap: anywhere; }
.document-id { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; margin: 11px 0 0; color: var(--muted); font-size: 15px; }
.document-id bdi { color: var(--text); font-variant-numeric: tabular-nums; }
.document-source { margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.document-sections { display: flex; flex-wrap: wrap; margin: 0 0 25px; border: 1px solid var(--line); border-top: 0; background: #f7f8fa; border-radius: 0 0 3px 3px; }
.document-sections a { padding: 11px 21px; min-height: 44px; border-inline-end: 1px solid var(--line); text-decoration: none; color: var(--primary); font-size: 14px; }
.document-sections a:hover { background: #eaf1f7; text-decoration: underline; }
.facts-card, .record-section { margin: 25px 0 0; border: 1px solid var(--line); border-radius: 3px; background: #fff; scroll-margin-top: 20px; }
.facts-card > h2, .record-section > h2, .linked-list > h2 {
  margin: 0; padding: 13px 21px; border-bottom: 1px solid var(--line); border-inline-start: 3px solid #537e9e;
  background: #f0f3f5; color: var(--navy); font-size: 20px; font-weight: 700; line-height: 1.5;
}
.facts { margin: 0; }
.facts > div { display: grid; grid-template-columns: minmax(150px, 24%) minmax(0, 1fr); border-bottom: 1px solid #e1e5e8; min-height: 54px; }
.facts > div:last-child { border-bottom: 0; }
.facts dt { padding: 13px 21px; margin: 0; background: #fafbfc; border-inline-end: 1px solid #e5e8eb; color: #50606e; font-size: 15px; font-weight: 400; }
.facts dd { margin: 0; padding: 13px 23px; color: var(--text); font-size: 16px; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; line-height: 1.65; }
.record-list, .timeline { margin: 0; padding: 0; list-style: none; }
.record-list li, .timeline li { display: grid; grid-template-columns: minmax(150px, 24%) minmax(0, 1fr); gap: 5px 24px; padding: 17px 21px; border-top: 1px solid #e1e5e8; min-height: 58px; }
.record-list li:first-child, .timeline li:first-child { border-top: 0; }
.record-list strong { color: #50606e; font-size: 15px; font-weight: 400; }
.record-value { min-width: 0; overflow-wrap: anywhere; font-size: 16px; }
.record-list small { grid-column: 2; color: var(--muted); font-size: 14px; }
.timeline time { direction: ltr; unicode-bidi: isolate; text-align: right; color: var(--muted); font-variant-numeric: tabular-nums; font-size: 15px; }
.linked-list { margin-top: 25px; scroll-margin-top: 20px; }
.source-note { margin: 22px 0 0; padding: 15px 19px; border: 1px solid #cfdae3; border-inline-start: 3px solid #648bad; background: #eef3f7; color: #4f6171; font-size: 14px; }
.empty { margin: 0; padding: 24px 21px; color: var(--muted); }
.prose { max-width: 960px; margin-block: 28px 60px; padding: 30px 36px; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--primary); }
.prose > h1 { margin-bottom: 27px; }
.prose h2 { margin: 28px 0 12px; padding-bottom: 9px; border-bottom: 1px solid var(--line); color: var(--navy); font-size: 21px; font-weight: 400; }
.prose p, .prose li { line-height: 1.85; max-width: 75ch; }
.prose li + li { margin-top: 9px; }
@media (max-width: 960px) {
  .home-layout { grid-template-columns: minmax(0, 1fr) 235px; gap: 20px; }
  .search-form-body { padding: 22px 18px 14px; }
  .panel-heading { padding-inline: 18px; }
  .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .browse-grid { grid-template-columns: 1fr; }
  .browse-link { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 15px; border-inline-end: 0; border-bottom: 1px solid var(--line); padding: 15px 18px; }
  .browse-link:last-child { border-bottom: 0; }
  .browse-title { grid-column: 1; justify-content: start; gap: 15px; }
  .browse-link > span:nth-child(2) { grid-column: 1; }
  .browse-action { grid-row: 1 / 3; grid-column: 2; align-self: center; padding: 0; margin: 0; }
}
@media (max-width: 760px) {
  .header-inner, .nav-inner, .footer-inner, .search-page, .directory, .document-page { width: calc(100% - 32px); }
  .header-inner { min-height: 87px; gap: 16px; }
  .brand-lockup { gap: 3px; align-items: flex-start; flex-direction: column; }
  .wordmark { font-size: 31px; }
  .brand-description { padding: 0; border: 0; font-size: 13px; }
  .header-reference { font-size: 13px; }
  .nav-inner { width: 100%; }
  .main-nav a { flex: 1; padding: 11px 6px; text-align: center; font-size: 13px; line-height: 1.5; }
  .main-nav a:first-child { border-inline-start: 0; }
  .main-nav a:last-child { border-inline-end: 0; }
  .home-layout { grid-template-columns: 1fr; }
  .home-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 6px; }
  .sidebar-panel { margin: 0; }
  .search-intro h1 { font-size: 28px; }
  .search-page { padding-top: 26px; padding-bottom: 40px; }
  .search-intro > p { font-size: 15px; }
  .search-line { grid-template-columns: minmax(0, 1fr) 90px; gap: 8px; }
  .search-line input { font-size: 16px; }
  .search-line button { gap: 6px; }
  .search-line svg { width: 16px; height: 16px; }
  .result-row { grid-template-columns: 110px minmax(0, 1fr); gap: 5px 14px; padding: 16px; }
  .entity-row { grid-template-columns: 1fr; gap: 5px; padding: 16px; }
  .footer-inner { flex-direction: column; gap: 18px; padding-block: 22px; }
  .footer-inner nav a:first-child { padding-inline-start: 0; }
  .document-header { padding: 20px; }
  .document-header h1 { font-size: 27px; }
  .document-sections a { padding-inline: 14px; }
  .facts > div, .record-list li, .timeline li { grid-template-columns: 130px minmax(0, 1fr); }
  .facts dt { padding-inline: 16px; }
  .facts dd { padding-inline: 16px; }
}
@media (max-width: 480px) {
  .home-sidebar { grid-template-columns: 1fr; }
  .search-form-body { padding-inline: 16px; }
  .panel-heading > span { display: none; }
  .search-line { grid-template-columns: 1fr; }
  .search-line button { min-height: 44px; }
  .filter-grid { grid-template-columns: 1fr; gap: 13px; }
  .browse-link { display: flex; }
  .browse-action { margin-top: 5px; }
  .search-intro h1 { font-size: 26px; }
  .result-row { grid-template-columns: 1fr; row-gap: 7px; }
  .result-kicker { grid-row: auto; }
  .form-actions { gap: 14px; align-items: baseline; }
  .section-heading { align-items: baseline; }
  .section-heading h2 { font-size: 19px; }
  .section-heading > span { font-size: 12px; }
  .document-header h1 { font-size: 25px; }
  .document-sections { display: grid; grid-template-columns: 1fr 1fr; }
  .document-sections a { border-bottom: 1px solid var(--line); }
  .document-sections a:nth-child(2n) { border-inline-end: 0; }
  .facts > div { grid-template-columns: 105px minmax(0, 1fr); }
  .facts dt { padding: 13px 12px; font-size: 14px; }
  .facts dd { padding: 13px 12px; font-size: 15px; }
  .record-list li, .timeline li { grid-template-columns: 1fr; gap: 5px; padding: 15px 17px; }
  .record-list small { grid-column: 1; }
  .record-list strong { font-weight: 700; font-size: 14px; }
  .source-note { padding: 13px 15px; }
  .prose { padding: 24px 18px; }
  .prose > h1 { font-size: 27px; }
  .footer-inner nav { row-gap: 12px; }
  .footer-inner nav a { padding-inline: 10px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
  html, body { background: #fff; }
  .main-nav, .header-reference, .site-footer, .search-form, .home-sidebar, .pager, .skip-link, .document-sections { display: none; }
  .site-header { border: 0; border-bottom: 1px solid #aaa; }
  .header-inner { min-height: 60px; }
  .document-page { width: 100%; padding-top: 20px; }
  .document-header, .facts-card, .record-section, .linked-list { break-inside: avoid; }
  a { color: inherit; text-decoration: none; }
}
