:root {
  color-scheme: light;
  --ink: #111111;
  --ink-soft: #5a5a5a;
  --muted: #111111;
  --line: #111111;
  --panel: #FFFFFF;
  --wash: #FFFFFF;
  --black: #111111;
  --white: #FFFFFF;
  --red: #BF0A30;
  --yellow: #FEAE00;
  --blue: #143674;
  --accent: var(--branch-accent);
  --accent-dark: var(--branch-accent);
  --warning: var(--yellow);
  --warning-bg: var(--white);
  --branch-accent: var(--blue);
  --branch-focus: var(--yellow);
  --branch-alert: var(--red);
  --branch-soft: rgba(20, 54, 116, 0.08);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  color: var(--ink);
  background:
    radial-gradient(circle at 65% -20%, rgba(20, 54, 116, 0.08), transparent 55%),
    radial-gradient(circle at -5% 120%, rgba(254, 174, 0, 0.06), transparent 45%),
    var(--wash);
}

body.theme-judicial {
  --branch-accent: var(--red);
  --branch-focus: var(--yellow);
  --branch-alert: var(--blue);
  --branch-soft: rgba(191, 10, 48, 0.1);
}

body.theme-legislative {
  --branch-accent: var(--blue);
  --branch-focus: var(--red);
  --branch-alert: var(--yellow);
  --branch-soft: rgba(20, 54, 116, 0.09);
}

body.theme-executive {
  --branch-accent: var(--yellow);
  --branch-focus: var(--blue);
  --branch-alert: var(--red);
  --branch-soft: rgba(254, 174, 0, 0.12);
}

a {
  color: var(--accent);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 3px solid var(--warning);
  outline-offset: 3px;
}

.skip-link {
  background: var(--accent-dark);
  color: var(--white);
  left: 12px;
  padding: 10px 12px;
  position: absolute;
  top: -48px;
  z-index: 10;
}

.skip-link:focus {
  top: 12px;
}

.wrap {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}

.site-header {
  background: linear-gradient(180deg, #ffffff, #fafafe);
  border-bottom: 1px solid var(--line);
  box-shadow: inset 0 1px #ffffff, 0 1px 12px rgba(17, 17, 17, 0.08);
}

.header-grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0;
}

.brand {
  color: var(--ink);
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  text-decoration: none;
}

.brand-wordmark {
  display: inline-flex;
  flex-wrap: nowrap;
  gap: 0;
  align-items: stretch;
  line-height: 1;
  padding: 0.02rem;
  border-radius: 0.72rem;
  box-shadow: 0 10px 24px rgba(17, 17, 17, 0.12), inset 0 0 0 1px rgba(255, 255, 255, 0.45);
  overflow: hidden;
  text-transform: uppercase;
  font-family: "Inter", "Segoe UI", "SF Pro Text", system-ui, sans-serif;
  white-space: nowrap;
  letter-spacing: 0.02em;
  background: linear-gradient(180deg, #ffffff, #f3f3f7);
}

.brand-segment {
  display: inline-block;
  position: relative;
  padding: 0.11rem 0.34rem 0.14rem;
  letter-spacing: 0.035em;
  font-weight: 760;
  text-rendering: optimizeLegibility;
  line-height: 1;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  border-bottom: 1px solid rgba(17, 17, 17, 0.2);
}

.brand-segment + .brand-segment {
  margin-left: -1px;
}

.brand-live {
  border-radius: 0.62rem 0 0 0.62rem;
}

.brand-legal {
  border-radius: 0 0.62rem 0.62rem 0;
}

.brand-live,
.brand-die {
  background: linear-gradient(180deg, #d41134, var(--red));
  color: var(--white);
  border-right: 1px solid #8f0821;
}

.brand-free,
.brand-legal {
  background: linear-gradient(180deg, #20408a, var(--blue));
  color: var(--white);
  border-left: 1px solid rgba(255, 255, 255, 0.28);
  border-right: 1px solid #0c2854;
}

.brand-or {
  background: linear-gradient(180deg, #ffea9f, var(--yellow));
  color: var(--ink);
  border-left: 1px solid rgba(17, 17, 17, 0.35);
  border-right: 1px solid #9a6f00;
}

nav {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

nav a {
  color: var(--red);
  font-weight: 650;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  padding-bottom: 4px;
  transition: border-color 120ms ease, color 120ms ease;
}

nav a:hover,
nav a:focus-visible {
  color: #8f0821;
  border-bottom-color: #8f0821;
}

.disclaimer-banner {
  background: var(--ink);
  color: var(--white);
  font-size: .92rem;
}

.disclaimer-banner .wrap {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  padding: 10px 0;
}

.page {
  padding: 28px 0 44px;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 460px);
  gap: 24px;
  align-items: end;
  margin-bottom: 24px;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  font-size: clamp(2rem, 3vw, 3.3rem);
  line-height: 1.05;
  margin-bottom: 12px;
}

h2 {
  font-size: 1.25rem;
}

.panel,
.document {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 5px 18px rgba(17, 17, 17, 0.05);
  padding: 22px;
  margin-bottom: 20px;
}

.flush {
  margin-top: 20px;
  margin-bottom: 0;
}

.inline-disclaimer,
.warning {
  border-left: 1px solid var(--ink);
  background: #ffffff;
  padding: 10px 12px;
  color: var(--ink-soft);
}

.inline-disclaimer a,
.warning a {
  color: var(--branch-accent);
}

.inline-disclaimer strong,
.warning strong {
  color: var(--ink);
}

.mirror-note {
  color: var(--ink-soft);
}

.metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}

.metrics article {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(17, 17, 17, 0.04);
  padding: 16px;
}

.metrics strong {
  display: block;
  font-size: 1.6rem;
  color: var(--branch-accent);
}

.metrics span,
.record-list span,
.result-list span,
.muted {
  color: var(--muted);
}

.metrics a {
  color: inherit;
  display: block;
  text-decoration: none;
}

.metrics a:hover span {
  color: var(--branch-focus);
  text-decoration: underline;
}

.searchbar label {
  font-weight: 700;
}

.searchbar .search-row,
.filter-form {
  margin-bottom: 12px;
}

.searchbar .search-row {
  display: flex;
  gap: 8px;
  align-items: end;
}

input,
select {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 8px 10px;
  font: inherit;
  background: var(--white);
}

.filter-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 12px;
  margin: 12px 0;
}

.filter-grid label,
.search-row label {
  display: grid;
  gap: 6px;
  font-size: .9rem;
  font-weight: 700;
}

button,
.actions a {
  border: 0;
  border-radius: 6px;
  background: var(--accent);
  color: var(--white);
  font: inherit;
  font-weight: 700;
  padding: 9px 13px;
  text-decoration: none;
  cursor: pointer;
}

button:hover,
.actions a:hover {
  background: var(--accent-dark);
  filter: brightness(0.92);
}

.record-list,
.result-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.record-list li,
.result-list li {
  border-top: 1px solid var(--line);
  padding: 12px 0;
}

.record-list li:first-child,
.result-list li:first-child {
  border-top: 0;
}

.impact-badge {
  display: inline-block;
  margin-left: 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 2px 8px;
  color: var(--muted);
  background: var(--surface);
  font-size: 12px;
  font-weight: 650;
}

.impact-badge--effective {
  border-color: var(--branch-accent);
  color: var(--branch-accent);
}

.impact-badge--killed {
  border-color: var(--branch-focus);
  color: var(--branch-focus);
}

.impact-badge--pending {
  border-color: var(--branch-alert);
  color: var(--branch-alert);
}

.citation-group-list,
.citation-sub-list {
  margin-left: 18px;
}

.citation-group-list > li,
.citation-sub-list > li {
  border-top: 1px dashed var(--line);
}

.citation-group-list > li:first-child,
.citation-sub-list > li:first-child {
  border-top: 0;
}

.citation-pin-details {
  margin-top: 8px;
}

.citation-pin-details summary {
  cursor: pointer;
  font-size: 0.92rem;
  color: var(--branch-focus);
  font-weight: 650;
}

.citation-pin-table {
  width: 100%;
  margin-top: 8px;
  border-collapse: collapse;
}

.citation-pin-table th,
.citation-pin-table td {
  border: 1px solid var(--line);
  padding: 7px 8px;
  vertical-align: top;
}

.citation-pin-table th {
  background: var(--surface);
  text-align: left;
  color: var(--muted);
  font-weight: 650;
}

.citation-pin-table td.citation-pin-code {
  white-space: nowrap;
  font-family: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.citation-pin-table td:last-child {
  width: 100%;
}

.record-list a,
.result-list a {
  font-weight: 700;
  color: var(--branch-focus);
}

.citation-type-group {
  border-top: 1px solid var(--line);
  margin-top: 14px;
  padding-top: 14px;
}

.citation-type-group h3,
.citation-type-group h4 {
  color: var(--branch-accent);
  font-size: .95rem;
  margin: 0 0 6px;
}

.case-material {
  border-top: 1px solid var(--line);
  margin-top: 24px;
  padding-top: 18px;
}

.case-material h2 {
  margin-bottom: 4px;
}

.case-material-note {
  color: var(--ink-soft);
  font-size: .94rem;
  margin-bottom: 10px;
}

.case-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}

.case-timeline-item {
  border-top: 1px dashed var(--line);
  padding: 10px 0;
}

.case-timeline-item:first-child {
  border-top: 0;
}

.case-timeline-item > a,
.case-material-title {
  color: var(--branch-focus);
  font-weight: 700;
}

.case-material-meta {
  color: var(--muted);
  display: block;
  font-size: .9rem;
  margin-top: 2px;
}

.case-material-current {
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink-soft);
  display: inline-block;
  font-size: .78rem;
  font-weight: 700;
  margin-left: 6px;
  padding: 1px 6px;
  vertical-align: 1px;
}

.case-timeline details summary {
  cursor: pointer;
}

.case-material-details {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.case-material-details a {
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--branch-focus);
  font-size: .9rem;
  font-weight: 700;
  padding: 5px 8px;
  text-decoration: none;
}

.case-material-details a:hover {
  background: var(--branch-soft);
}

.two-col {
  columns: 2 320px;
}

.metadata {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 16px;
}

.metadata div {
  border-top: 1px solid var(--line);
  padding-top: 8px;
}

.metadata dt {
  color: var(--muted);
  font-size: .85rem;
  font-weight: 700;
}

.metadata dd {
  margin: 0;
}

.actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.document-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px;
  overflow: visible;
}

.document-display {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-top: 18px;
  padding: 18px;
}

.document-display h2 {
  border-top: 1px solid rgba(17,17,17,.75);
  font-size: 1rem;
  letter-spacing: 0;
  margin: 1rem 0 .5rem;
  padding-top: 1rem;
}

.document-display h2:first-child {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

.document-display p {
  line-height: 1.65;
  margin: 0 0 1rem;
  max-width: 82ch;
  overflow-wrap: anywhere;
}

.document-block {
  scroll-margin-top: 1rem;
}

.document-block-divider {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 1.25rem 0;
}

.document-block-caption,
.document-block-signature {
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.45;
}

.document-block-numbered_paragraph,
.document-block-numbered_continuation {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: .65rem;
}

.document-block-numbered_paragraph .document-block-text,
.document-block-numbered_continuation .document-block-text {
  grid-column: 2;
}

.document-block-numbered_continuation {
  margin-top: -.45rem;
}

.document-marker {
  color: var(--muted);
  font-variant-numeric: tabular-nums;
  text-align: right;
  user-select: none;
}

.document-block-quoted_standard {
  border-left: 3px solid var(--line);
  color: var(--branch-accent);
  margin-left: 2.75rem;
  padding-left: 1rem;
  background: var(--branch-soft);
  border-radius: 0 6px 6px 0;
}

.document-display-bill .document-block-metadata {
  margin-bottom: .55rem;
}

.document-display-bill .document-block-reference {
  color: var(--muted);
  display: inline-block;
  font-size: .9rem;
  margin: 0 .75rem .45rem 0;
}

.document-display-bill .document-block-fiscal_note {
  color: var(--branch-accent);
  display: inline-block;
  font-size: .92rem;
  margin: 0 1rem .45rem 0;
}

.document-display-bill .document-block-table_cell,
.document-display-bill .document-block-form_field {
  color: var(--branch-accent);
  display: inline-block;
  font-size: .92rem;
  margin: 0 1rem .45rem 0;
}

.document-display-bill .document-block-section {
  margin-top: .85rem;
}

.document-block-notice {
  background: var(--white);
  border: 1px solid var(--warning);
  border-radius: 6px;
  color: var(--branch-accent);
  padding: .75rem .85rem;
}

.theme-chip {
  display: inline-block;
  border: 1px solid var(--branch-accent);
  border-radius: 999px;
  color: var(--branch-accent);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-top: 12px;
  padding: 0.2rem 0.5rem 0.24rem;
  text-transform: uppercase;
}

.document-display-bill del,
.document-display-bill .bill-deleted {
  color: var(--red);
  text-decoration: line-through;
  text-decoration-thickness: .08em;
}

.document-display-bill ins,
.document-display-bill .bill-inserted {
  color: var(--blue);
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .14em;
}

.bill-underline {
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .14em;
}

mark {
  background: var(--yellow);
  padding: 0 .08em;
}

.opinion-vote-badge {
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-block;
  font-size: .8rem;
  font-weight: 700;
  line-height: 1;
  padding: .22rem .45rem;
}

.opinion-vote-dissent,
.opinion-vote-mixed {
  background: linear-gradient(180deg, #f8d6dc, #f4c2cb);
  border-color: rgba(191, 10, 48, 0.85);
  color: var(--red);
}

.opinion-vote-concurrence {
  background: var(--white);
  border-color: var(--warning);
  color: var(--warning);
}

.opinion-vote-unanimous {
  background: linear-gradient(180deg, #d8e4f8, #c4d6f1);
  border-color: rgba(20, 54, 116, 0.85);
  color: var(--blue);
}

.opinion-text {
  display: block;
  margin-top: 18px;
}

.opinion-row {
  display: grid;
  grid-template-columns: 4rem minmax(0, 780px) 3.5rem;
  column-gap: 14px;
  align-items: start;
  width: 100%;
}

.opinion-row.opinion-row-front_matter,
.opinion-row.opinion-row-heading {
  grid-template-columns: minmax(0, 780px);
}

.opinion-row-front_matter .opinion-pnum,
.opinion-row-heading .opinion-pnum {
  display: none;
}

.opinion-row-front_matter .opinion-paragraph,
.opinion-row-heading .opinion-paragraph {
  grid-column: 1;
}

.opinion-pnum {
  color: var(--muted);
  font-size: .85rem;
  line-height: 1.65;
  text-align: right;
  user-select: none;
}

.opinion-paragraph {
  column-count: 1;
  columns: auto;
  grid-column: 2;
  line-height: 1.65;
  margin: 0 0 1rem;
  max-width: 780px;
  overflow-wrap: anywhere;
  position: relative;
}

.opinion-row-front_matter .opinion-paragraph,
.opinion-row-heading .opinion-paragraph {
  margin-bottom: .75rem;
}

.opinion-row-heading .opinion-paragraph,
.opinion-align-center .opinion-paragraph {
  text-align: center;
}

.opinion-row-body .opinion-paragraph,
.opinion-row-disposition .opinion-paragraph {
  text-indent: 1.75rem;
}

.opinion-row-block_quote .opinion-paragraph {
  margin-left: 3.5rem;
  margin-right: 2rem;
  text-indent: 0;
  font-size: .96rem;
  line-height: 1.58;
}

.opinion-embedded-block-quote {
  display: block;
  margin: 0 2rem .65rem 3.5rem;
  text-indent: 0;
  font-size: .96rem;
  line-height: 1.58;
}

.opinion-row-continuation .opinion-paragraph {
  text-indent: 0;
}

.opinion-row-block_quote + .opinion-row-continuation .opinion-paragraph {
  margin-top: -.35rem;
}

.opinion-row.opinion-section-dissent {
  background: #fff3f1;
  border-left: 4px solid #bf5a4f;
  border-radius: 0;
  margin: 0;
  padding: .4rem 0 .05rem;
}

.opinion-row:not(.opinion-section-dissent) + .opinion-row.opinion-section-dissent {
  border-radius: 6px 6px 0 0;
  margin-top: 1.25rem;
  padding-top: .85rem;
}

.opinion-row.opinion-section-dissent + .opinion-row.opinion-section-dissent {
  padding-top: .15rem;
}

.opinion-row.opinion-section-dissent:has(+ .opinion-row:not(.opinion-section-dissent)),
.opinion-row.opinion-section-dissent:last-child {
  border-radius: 0 0 6px 6px;
  margin-bottom: 1.25rem;
  padding-bottom: .6rem;
}

.opinion-row.opinion-section-dissent .opinion-pnum {
  color: #9b423a;
}

.opinion-row.opinion-section-dissent .opinion-paragraph {
  color: #3b2725;
  margin-bottom: .55rem;
}

.opinion-row-author.opinion-section-dissent {
  padding-top: .85rem;
}

.opinion-row-author.opinion-section-dissent .opinion-paragraph {
  font-weight: 700;
  text-indent: 0;
}

.opinion-page-marker {
  color: var(--muted);
  display: block;
  font-size: .78rem;
  line-height: 1.4;
  min-width: 3.25rem;
  grid-column: 3;
  justify-self: start;
  margin-top: 0;
  text-align: left;
  text-indent: 0;
  user-select: none;
}

.opinion-page-marker::after {
  content: attr(data-page);
}

.opinion-footnote-ref {
  font-size: .75em;
  line-height: 0;
  position: relative;
  text-decoration: none;
  top: -.45em;
}

.js-opinion-tooltips .opinion-footnote-ref::after,
.js-opinion-tooltips .opinion-footnote-ref:hover::after,
.js-opinion-tooltips .opinion-footnote-ref:focus::after,
.js-opinion-tooltips .opinion-footnote-ref:focus-visible::after {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
}

.opinion-footnote-ref:hover::after,
.opinion-footnote-ref:focus::after {
  background: var(--black);
  border-radius: 6px;
  bottom: 1.45em;
  color: var(--white);
  content: attr(data-footnote);
  display: block;
  font-size: .85rem;
  font-weight: 400;
  left: 50%;
  max-width: min(420px, calc(100vw - 1.5rem));
  min-width: 0;
  line-height: 1.35;
  overflow-wrap: anywhere;
  padding: 10px 12px;
  position: absolute;
  text-align: left;
  text-indent: 0;
  white-space: normal;
  transform: translateX(-50%);
  width: max-content;
  z-index: 5;
}

.opinion-footnote-tooltip {
  background: var(--black);
  border-radius: 6px;
  bottom: auto;
  color: var(--white);
  display: block;
  box-sizing: border-box;
  font-size: .85rem;
  left: 0;
  line-height: 1.35;
  max-width: min(420px, calc(100vw - 1.5rem));
  overflow-wrap: anywhere;
  padding: 10px 12px;
  pointer-events: none;
  position: fixed;
  right: auto;
  text-align: left;
  text-indent: 0;
  top: 0;
  visibility: hidden;
  white-space: normal;
  word-break: break-word;
  width: max-content;
  z-index: 12;
}

.opinion-footnote-tooltip.is-visible {
  visibility: visible;
}

.opinion-footnotes {
  border-top: 1px solid var(--line);
  grid-column: 2;
  margin: .75rem 0 1.5rem 4rem;
  max-width: 720px;
  padding-top: .75rem;
}

.opinion-footnotes h2 {
  font-size: .95rem;
  margin: 0 0 .5rem;
}

.opinion-footnotes.opinion-footnotes-dissent {
  background: #fff3f1;
  border-left: 4px solid #bf5a4f;
  border-top-color: #bf5a4f;
  color: #3b2725;
  margin-right: 0;
  padding-left: .65rem;
}

.opinion-footnotes.opinion-footnotes-dissent .footnote-backref,
.opinion-footnotes.opinion-footnotes-dissent h2 {
  color: #6f3028;
}

.opinion-footnotes ol {
  margin: 0;
  padding-left: 1.25rem;
}

.opinion-footnotes p {
  line-height: 1.5;
  margin: 0 0 .65rem;
}

.footnote-backref {
  font-size: .8rem;
  margin-left: .25rem;
}

.diagnostics .metadata {
  margin-bottom: 0;
}

.statute-text {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px 18px;
}

.statute-unit {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr) auto;
  gap: 10px;
  border-top: 1px solid rgba(17,17,17,.75);
  padding: 10px 0;
}

.statute-unit:first-child {
  border-top: 0;
}

.statute-marker {
  color: var(--ink);
  font-weight: 750;
  text-align: right;
}

.statute-unit p {
  margin: 0;
  max-width: 78ch;
}

.statute-level-0 {
  grid-template-columns: 0 minmax(0, 1fr) auto;
}

.statute-level-0 p {
  grid-column: 2;
}

.statute-level-0 .subsection-link {
  grid-column: 3;
}

.statute-level-2 {
  padding-left: 2rem;
}

.statute-level-3 {
  padding-left: 4rem;
}

.statute-level-4 {
  padding-left: 6rem;
}

.subsection-link {
  color: var(--muted);
  font-size: .82rem;
  text-decoration: none;
  white-space: nowrap;
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.pagination a,
.pagination span {
  border: 1px solid var(--line);
  border-radius: 6px;
  min-width: 2.4rem;
  padding: 7px 10px;
  text-align: center;
  text-decoration: none;
}

.pagination .pagination-side {
  min-width: 5.8rem;
}

.pagination [aria-disabled="true"] {
  color: var(--muted);
}

.pagination [aria-current="page"] {
  background: var(--accent);
  color: var(--white);
  border-color: var(--accent);
}

.site-footer {
  border-top: 1px solid var(--line);
  padding: 18px 0;
  background: var(--panel);
  color: var(--muted);
}

.site-footer .wrap {
  border-top: 2px solid var(--branch-soft);
}

@media (max-width: 760px) {
  .header-grid,
  .hero,
  .searchbar .search-row {
    display: block;
  }

  nav {
    margin-top: 12px;
  }

  .metrics,
  .metadata,
  .filter-grid {
    grid-template-columns: 1fr;
  }

  .opinion-row {
    grid-template-columns: 3rem minmax(0, 1fr) 2.25rem;
    column-gap: 8px;
  }

  .opinion-row-block_quote .opinion-paragraph {
    margin-left: 1rem;
    margin-right: 0;
  }

  .opinion-embedded-block-quote {
    margin-left: 1rem;
    margin-right: 0;
  }

  .opinion-page-marker {
    min-width: 2.4rem;
  }

  .opinion-footnotes {
    grid-column: 2;
    margin-left: 0;
  }

  button {
    width: 100%;
    margin-top: 8px;
  }

  .statute-unit,
  .statute-level-0 {
    grid-template-columns: 3rem minmax(0, 1fr);
  }

  .statute-level-2,
  .statute-level-3,
  .statute-level-4 {
    padding-left: 0;
  }

  .subsection-link {
    grid-column: 2;
  }

  .statute-level-0 p,
  .statute-level-0 .subsection-link {
    grid-column: 2;
  }
}

@media print {
  .site-header,
  .site-footer,
  .actions,
  .subsection-link,
  .filter-form,
  .searchbar,
  .pagination {
    display: none;
  }

  body {
    background: var(--white);
    color: var(--black);
  }

  .wrap,
  .opinion-paragraph {
    width: 100%;
    max-width: none;
  }

  .panel,
  .document,
  .document-text,
  .document-display,
  .statute-text {
    border: 0;
    padding: 0;
  }
}
