:root {
  --ink: #16181D; --paper: #F7F3EA; --oxblood: #8C1D25; --oxblood-deep: #6E141B;
  --highlighter: #F3D046; --slate: #5B6472; --rule: #DDD6C8; --rule-dark: #343843;
  --display: "Fraunces", Georgia, serif;
  --sans: "Public Sans", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}
@font-face { font-family: "Fraunces"; src: url("/assets/fonts/Fraunces.177ff6c0.ttf") format("truetype"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Public Sans"; src: url("/assets/fonts/PublicSans.d75a7dc1.ttf"); font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("/assets/fonts/IBMPlexMono-Medium.a9b4c49b.ttf"); font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("/assets/fonts/IBMPlexMono-Regular.6a3412f0.ttf"); font-display: swap; }
* { box-sizing: border-box; }
html { background: var(--paper); color: var(--ink); }
body { margin: 0; font-family: var(--sans); font-size: 17px; line-height: 1.5; }
a { color: var(--oxblood); text-decoration-thickness: 1px; text-underline-offset: .15em; }
a:hover { color: var(--oxblood-deep); text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--oxblood); outline-offset: 3px; }
.wrap { max-width: 72rem; margin-inline: auto; padding-inline: 2rem; }
.skip { position: absolute; top: -5rem; left: 1.25rem; padding: .75rem 1rem; background: var(--paper); z-index: 2; }
.skip:focus { top: .5rem; }
.masthead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 3rem; padding-block: 2rem 1.5rem; border-bottom: 1px solid var(--rule); }
.brand { padding-block: .5rem; text-decoration: none; color: var(--ink); }
.wordmark { display: block; font-family: var(--display); font-size: 48px; line-height: 1; font-weight: 900; font-variation-settings: "opsz" 144, "wght" 900; letter-spacing: -.04em; }
.wordmark .tab { display: inline-block; border-radius: 4px; padding: .04em .14em .08em; margin-left: .09em; color: var(--paper); background: var(--oxblood); letter-spacing: -.03em; }
.descriptor { display: block; margin-top: .75rem; font-family: var(--mono); font-size: 13px; letter-spacing: .08em; }
.primary { display: flex; flex-wrap: wrap; gap: 0 1.75rem; }
.primary a { display: inline-flex; align-items: center; min-height: 44px; font-size: 15px; text-decoration: none; color: var(--ink); }
.primary a:hover { color: var(--oxblood); text-decoration: underline; }
.primary a[aria-current="page"] { text-decoration: underline; }
main { padding-block: 2rem 4rem; min-height: 45vh; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: .4rem .6rem; margin-bottom: 2rem; color: var(--slate); font-size: 13px; }
.breadcrumb span + span::before { content: "/"; padding-right: .6rem; }
h1,h2,h3,h4 { font-family: var(--display); font-weight: 500; line-height: 1.14; text-wrap: pretty; }
h1 { margin: .5rem 0 1.5rem; max-width: 31ch; font-size: 38px; font-variation-settings: "opsz" 144, "wght" 500; letter-spacing: -.01em; overflow-wrap: break-word; }
h2 { font-size: 24px; margin: 2.5rem 0 1.25rem; }
h3 { font-size: 20px; margin: 1.5rem 0 1rem; }
p { max-width: 68ch; margin: 0 0 1.25rem; }
.prose { max-width: 44rem; }
.kicker,.date,.cite,.label,.count,.meta th,.year-links { font-family: var(--mono); font-size: 13px; font-weight: 400; letter-spacing: .02em; }
.kicker { color: var(--oxblood); margin-bottom: .75rem; }
.kicker a { color: inherit; }
.label { display: block; color: var(--slate); margin-bottom: .4rem; }
.caption { font-style: italic; }
p.caption { font-family: var(--display); font-size: 24px; line-height: 1.3; }
.holding { font-size: 20px; line-height: 1.5; }
.official { margin-block: .5rem 1.5rem; }
.dateline { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; padding-bottom: 1.25rem; margin-bottom: 2rem; border-bottom: 1px solid var(--rule); font-family: var(--mono); font-size: 13px; }
.front { display: grid; grid-template-columns: minmax(0,44fr) minmax(0,20fr); gap: 4rem; }
.front h1 { font-size: 48px; max-width: 25ch; }
.rail { border-left: 1px solid var(--rule); padding-left: 2rem; }
.rail h2 { margin-top: 0; }
.rail li { padding-block: 1rem; border-bottom: 1px solid var(--rule); }
.rail .caption { display: block; font-family: var(--display); font-size: 20px; }
.rail p { margin: .5rem 0 0; font-size: 15px; }
ul.links,ul.rows,ul.compact { padding: 0; list-style: none; }
ul.links li { margin-block: .6rem; }
.verbatim { margin: 1.5rem 0; max-width: 44rem; padding: .1rem 0 .1rem 1.5rem; border-left: 2px solid var(--rule); }
.verbatim p { font-family: var(--display); font-size: 24px; font-variation-settings: "opsz" 24, "wght" 400; line-height: 1.4; }
.verbatim.short p { font-size: 17px; }
.verbatim.read-first { border-left: 6px solid var(--highlighter); }
.verbatim cite { font-family: var(--mono); font-size: 13px; font-style: normal; color: var(--slate); }
.meta { border-collapse: collapse; width: 100%; max-width: 55rem; margin: 2rem 0; font-size: 15px; }
.meta tr { border-top: 1px solid var(--rule); }
.meta th { text-align: left; width: 12rem; vertical-align: top; color: var(--slate); }
.meta th,.meta td { padding: .75rem .75rem .75rem 0; overflow-wrap: anywhere; }
.rows { margin-block: 0 2rem; }
.decision-row { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(0, 2fr); column-gap: 2rem; padding-block: 1rem; border-top: 1px solid var(--rule); }
.row-title { font-family: var(--display); font-size: 20px; line-height: 1.3; }
.row-title .cite { display: block; margin-top: .5rem; color: var(--slate); }
.row-meta { font-family: var(--mono); font-size: 13px; color: var(--slate); margin-bottom: .4rem; }
.row-body p { font-size: 15px; margin: 0; }
.compact li { padding-block: .6rem; border-top: 1px solid var(--rule); }
.compact .cite { margin-left: .6rem; color: var(--slate); }
.year-links { display: flex; flex-wrap: wrap; gap: 1.25rem; margin: 1rem 0 2rem; }
.notice { border-block: 1px solid var(--rule); padding: 1.25rem 0; margin: 1.5rem 0; max-width: 68ch; }
.notice p:last-child { margin-bottom: 0; }
.draft { background: var(--paper); border-bottom: 2px solid var(--oxblood); color: var(--oxblood); font-family: var(--mono); font-size: 13px; padding: .75rem 0; }
.apparatus { max-width: 68ch; margin-top: 2rem; border-top: 1px solid var(--rule); padding-top: 1.5rem; font-size: 15px; overflow-wrap: anywhere; }
.pagination { display: flex; justify-content: space-between; gap: 2rem; border-top: 1px solid var(--rule); padding-top: 1.5rem; margin-top: 2rem; }
.pagination a { max-width: 45%; }
.court-table,.split { width: 100%; border-collapse: collapse; margin-bottom: 2rem; }
.court-table th,.split th { text-align: left; font-family: var(--mono); font-size: 13px; font-weight: 400; color: var(--slate); }
.court-table td,.court-table th,.split td,.split th { border-bottom: 1px solid var(--rule); padding: 1rem 1rem 1rem 0; vertical-align: top; }
.site-footer { background: var(--ink); color: var(--paper); padding-block: 3rem; }
.footer-columns { display: grid; grid-template-columns: 2fr 1fr 2fr; gap: 3rem; }
.site-footer p,.site-footer a { font-size: 15px; }
.site-footer a { color: var(--paper); }
.site-footer ul { margin: 0; }
.site-footer .footer-title { font-family: var(--display); font-size: 24px; }
.site-footer .edition { font-family: var(--mono); font-size: 13px; border-top: 1px solid var(--rule-dark); margin-top: 2rem; padding-top: 1rem; }
.search-form label { display: block; margin-bottom: .5rem; }
.search-controls { display: flex; max-width: 44rem; gap: .75rem; }
input,button { font: inherit; color: var(--ink); background: var(--paper); border: 2px solid var(--ink); border-radius: 0; padding: .7rem 1rem; }
input { min-width: 0; flex: 1; }
button { cursor: pointer; }
.search-status { margin-top: 1rem; color: var(--slate); }
.approval-item { border-top: 1px solid var(--rule); padding-block: 1.25rem 2rem; scroll-margin-top: 1rem; }
.approval-item h3 { max-width: 44rem; }
.approval-item pre { max-width: 68ch; white-space: pre-wrap; overflow-wrap: anywhere; font-family: var(--mono); font-size: 13px; }
.approval-item .source-path { overflow-wrap: anywhere; }
.approval-item .editorial-flag { border-left: 2px solid var(--oxblood); padding-left: 1rem; color: var(--oxblood); }
@media (max-width: 60rem) {
  .front { grid-template-columns: 1fr; gap: 2rem; }
  .rail { border-left: 0; padding-left: 0; border-top: 1px solid var(--rule); padding-top: 2rem; }
  .front h1 { max-width: 28ch; }
}
@media (max-width: 40rem) {
  body { font-size: 16px; }
  .wrap { padding-inline: 1.25rem; }
  .masthead { padding-block: 1.5rem 1rem; }
  .primary { gap: 0 1.1rem; width: 100%; }
  .primary a { font-size: 15px; }
  .wordmark { font-size: 38px; }
  h1,.front h1 { font-size: 30px; }
  .front h1 { font-size: 38px; }
  .holding { font-size: 17px; }
  .row-body p,.rail p,.site-footer p,.site-footer a,.meta { font-size: 16px; }
  .verbatim p { font-size: 20px; }
  .decision-row { display: block; }
  .row-body { margin-top: .6rem; }
  .footer-columns { grid-template-columns: 1fr; gap: 1.5rem; }
  .meta th,.meta td { display: block; width: auto; }
  .meta th { padding-bottom: 0; }
  .pagination { flex-direction: column; gap: 1rem; }
  .pagination a { max-width: 100%; min-height: 44px; }
  .court-table .latest { display: none; }
  .split { font-size: 13px; }
  .split td,.split th { padding-right: .5rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
