/* The Legal Code (law.<domain>): a modern legislation and case-law service. Revised statutes with a table of contents,
   point-in-time versions, changes and explanatory notes; judgments with neutral citations. The original print of an act,
   a trial transcript and a judgment are shown as documents. Old law-report pages (cached) keep their classes; all styled here. */
.st-law { --st-font: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif; --st-head: 'IBM Plex Sans', Arial, sans-serif; --st-serif: 'IBM Plex Serif', Georgia, serif;
  --st-brand: #13294b; --st-brand-light: #dbe4f0; --st-feedback-bg: #13294b; --link: #1a55a3; --link-hover: #0b2f62; font-size: 1.02rem; }
.st-law :is(h1, h2, h3) { font-weight: 600; }

/* ---------- chrome ---------- */
.lw-header { background: #13294b; color: #fff; font-family: var(--st-font); }
.lw-header-in { display: flex; justify-content: space-between; align-items: center; gap: 1rem 2rem; flex-wrap: wrap; padding-top: .9rem; padding-bottom: .9rem; }
.lw-brand { display: inline-flex; align-items: center; gap: .7rem; color: #fff !important; text-decoration: none !important; }
.lw-brand svg { width: 38px; height: 38px; fill: #8fc3ff; flex: none; }
.lw-brand b { display: block; font: 600 1.6rem/1 var(--st-font); letter-spacing: -.02em; }
.lw-brand small { display: block; font-size: .85rem; opacity: .8; margin-top: .25rem; }
.lw-brand:hover b { text-decoration: underline; text-underline-offset: 4px; }
.lw-search { display: flex; flex: 0 1 28rem; min-width: min(100%, 16rem); }
.lw-search input { flex: 1; min-width: 0; font: 1rem/1.3 var(--st-font); padding: .55rem .75rem; border: 2px solid #fff; border-right: 0; border-radius: 0; background: #fff; color: #0b0c0c; -webkit-appearance: none; }
.lw-search button { font: 600 .95rem/1 var(--st-font); padding: 0 1rem; border: 2px solid #8fc3ff; background: #8fc3ff; color: #0b1f3a; cursor: pointer; }
.lw-search button:hover { background: #b9dbff; }
.lw-nav { background: #0b1f3a; }
.lw-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 1.6rem; }
.lw-nav li { margin: 0; }
.lw-nav a { display: block; padding: .7rem 0 .6rem; color: #fff !important; text-decoration: none !important; font-weight: 500; font-size: .98rem; border-bottom: 3px solid transparent; }
.lw-nav a:hover { border-bottom-color: #8fc3ff; }
.lw-footer { background: #f1f3f6; border-top: 4px solid #13294b; color: #1b2433; font: .93rem/1.55 var(--st-font); padding: 2.2rem 0 2rem; }
.lw-footer a { color: #13294b !important; }
.lw-foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 1.5rem 2.5rem; }
.lw-foot-grid h2 { font: 600 1rem/1.3 var(--st-font); margin: 0 0 .7rem; }
.lw-foot-grid ul { list-style: none; padding: 0; margin: 0; }
.lw-foot-grid li { margin: 0 0 .45rem; }
.lw-foot-grid p { margin: 0 0 .5rem; max-width: 52ch; }
.lw-foot-brand { display: flex; align-items: center; gap: .5rem; font-size: 1.05rem; }
.lw-foot-brand svg { width: 22px; height: 22px; fill: #13294b; }
.lw-foot-legal { border-top: 1px solid #cfd5de; margin: 1.6rem 0 0; padding-top: 1rem; max-width: 80ch; }
@media (max-width: 760px) { .lw-foot-grid { grid-template-columns: 1fr; } .lw-search { flex-basis: 100%; } .lw-nav ul { gap: 0 1.1rem; } .lw-nav a { font-size: .92rem; } }

/* ---------- pages ---------- */
.law-report, .law-page { max-width: 1120px; margin: 0 auto; }
.law-report h1, .law-page h1 { font-variant: normal; letter-spacing: -.015em; font-size: 2.2rem; }
.law-report h1 small, .law-page h1 small { display: inline; font-size: .6em; margin-left: .2rem; color: var(--muted); font-weight: 400; }
.law-report header, .law-page header { border-bottom: 0; padding-bottom: 0; margin-bottom: 1rem; }
.law-report h2, .law-page h2 { font-size: 1.35rem; font-variant: normal; letter-spacing: -.005em; border-bottom: 0; padding-bottom: 0; }
.law-page h3 { font-size: 1.1rem; font-variant: normal; letter-spacing: 0; font-weight: 600; }
.law-page .deck { font-style: normal; }
.lw-cite { display: inline-block; font: 500 .9rem/1.2 'IBM Plex Mono', monospace; background: #eef2f7; color: #13294b; padding: .35rem .6rem; margin: -.4rem 0 .8rem; }

/* tabs and the point-in-time selector */
.lw-tabs { display: flex; flex-wrap: wrap; gap: 0; border-bottom: 1px solid var(--rule); margin: 1.2rem 0 0; }
.lw-tabs a { padding: .6rem 1rem; text-decoration: none !important; font-weight: 500; font-size: .95rem; color: var(--link) !important; border: 1px solid transparent; border-bottom: 0; margin-bottom: -1px; }
.lw-tabs a[aria-current] { background: #fff; border-color: var(--rule); color: var(--ink) !important; box-shadow: inset 0 3px 0 #13294b; }
.lw-tabs a:hover:not([aria-current]) { background: #eef2f7; }
.lw-pit { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; background: #eef2f7; padding: .7rem 1rem; margin: 0 0 1.2rem; font-size: .95rem; }
.lw-pit-label { font-weight: 600; margin-right: .4rem; }
.lw-pit-opt { padding: .3rem .7rem; border: 1px solid #b7c3d4; background: #fff; color: var(--link) !important; }
.lw-pit-opt[aria-current] { background: #13294b; color: #fff !important; border-color: #13294b; font-weight: 600; }
aside.changes { background: #fff8e5; border: 1px solid #e8c766; border-left: 6px solid #e0a800; padding: .9rem 1.1rem; margin: 0 0 1.6rem; font-size: .96rem; }
aside.changes h2 { font-size: 1.05rem; margin: 0 0 .3rem; }
aside.changes p { margin: 0 0 .4rem; max-width: none; }
aside.changes p:last-child { margin: 0; }
aside.changes.original { background: #eef4fb; border-color: #b7c9e2; border-left-color: #13294b; }

/* the revised text: table of contents on the left, the act in serif on the right */
.lw-body { display: grid; grid-template-columns: 17rem minmax(0, 1fr); gap: 0 2.6rem; align-items: start; }
.lw-toc { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow: auto; font-size: .9rem; border-top: 3px solid #13294b; padding-top: .6rem; }
.lw-toc h2 { font-size: 1rem !important; margin: 0 0 .6rem; }
.lw-toc ol { list-style: none; padding: 0; margin: 0; }
.lw-toc li { margin: 0 0 .45rem; }
.lw-toc a { text-decoration: none !important; display: block; line-height: 1.35; }
.lw-toc a:hover { text-decoration: underline !important; }
.lw-toc a span { font-weight: 600; color: var(--ink); }
.lw-text { font-family: var(--st-serif); font-size: 1.05rem; }
.lw-text :is(h2, h3), .lw-text footer, .lw-text aside, .lw-text table, .lw-text .meta { font-family: var(--st-font); }
.lw-text h2:first-of-type { margin-top: 0; }
.law-page .preamble { font-style: italic; }
.act .sections, .act ol.sections { counter-reset: sec; list-style: none; padding: 0; margin: 1rem 0 1.6rem; }
.act .sections li { position: relative; padding: .7rem 0 .7rem 3.4rem; margin: 0; border-top: 1px solid var(--rule-soft); scroll-margin-top: 1rem; }
.act .sections li:target { background: #fff8e5; }
.act .sections li::before { counter-increment: sec; content: counter(sec); position: absolute; left: 0; top: .7rem; font: 600 .95rem/1.5 var(--st-font); color: #13294b; background: #eef2f7; min-width: 2.3rem; text-align: center; padding: 0 .3rem; font-variant: normal; }
.act .history { padding-left: 0; list-style: none; }
.act .history li { margin: 0 0 .6rem; padding-left: 2.6rem; position: relative; }
.act .history li:not(:has(.fnote))::before { content: "—"; position: absolute; left: .6rem; color: var(--muted); }
.act .history .fnote { position: absolute; left: 0; font: 600 .8rem/1.6 'IBM Plex Mono', monospace; color: #fff; background: #13294b; padding: 0 .35rem; }
.act .history .indirect { margin-left: 1.5rem; font-size: .95rem; }
aside.explanatory { font-family: var(--st-font); background: #f4f6f9; border-top: 3px solid #5b7aa6; padding: .9rem 1.2rem; margin: 1.6rem 0; font-size: .96rem; }
aside.explanatory h2 { font-size: 1.1rem; margin: 0 0 .3rem; }
aside.explanatory ul { padding-left: 1.1rem; margin: 0; }
.act .marginalia, .law-page footer.marginalia { font-size: .93rem; color: var(--ink); border-top: 1px solid var(--rule); margin-top: 2rem; padding-top: .8rem; }
.act .marginalia dl.facts { grid-template-columns: minmax(8rem, 11rem) 1fr; }
.act .marginalia h2 { margin-top: 0; font-size: 1.1rem; }
.law-page .headnote, .law-report .headnote { font-style: normal; font-size: 1.08rem; }
@media (max-width: 900px) { .lw-body { grid-template-columns: 1fr; } .lw-toc { position: static; max-height: none; margin-bottom: 1.4rem; } }

/* the original print of an act */
.document.statute { max-width: 46rem; margin-left: auto; margin-right: auto; }
.statute-head { text-align: center; margin: .5rem 0 1.4rem; }
.statute-star { width: 34px; height: 34px; fill: currentColor; opacity: .85; }
.statute-head h2 { font-size: 1.7rem; font-weight: 400; margin: .4rem 0 .3rem; }
.statute-head p { margin: 0 0 .3rem; }
.statute-ch { font-variant: small-caps; letter-spacing: .06em; }
.statute-long { font-style: italic; }
.statute-date { font-size: .95rem; }
.statute-enact { text-indent: 1.5em; }
.statute-sections { list-style: none; padding: 0; margin: 1rem 0; }
.statute-sections li { margin: 0 0 .8rem; text-indent: 1.5em; }
.statute-sections .sno { font-weight: 600; }
.statute-sign { text-align: right; font-style: italic; margin-top: 1.4rem; }
.document.era-early .statute-head h2, .document.era-victorian .statute-head h2 { font-variant: small-caps; letter-spacing: .03em; }

/* ---------- law reports: judgments ---------- */
.law-report { max-width: 1120px; }
.lw-judgment-meta { background: #f4f6f9; padding: 1rem 1.2rem; margin: 0 0 1.6rem; }
.lw-judgment-meta dl.summary { margin: 0; }
.lw-judgment-meta dl.summary :is(dt, dd) { border-bottom-color: #dde3ea; }
.law-report .judgment { max-width: 50rem; }
.law-report .judgment.document { padding-bottom: 2rem; }
.law-report .ruling, .ruling { border-left: 4px solid #13294b; padding-left: 1rem; font-size: 1.05rem; }
.document .ruling { border-left-color: #8a7a55; }
.law-report ol.paras, .paras { list-style: none; padding: 0; counter-reset: para; }
.law-report ol.paras > li, .paras > li { position: relative; padding-left: 2.8rem; margin-bottom: .8rem; }
.law-report ol.paras > li::before, .paras > li::before { counter-increment: para; content: counter(para) "."; position: absolute; left: 0; top: 0; color: var(--muted); font-variant-numeric: tabular-nums; }
.law-report .costs, .law-report footer { margin-top: 1.4rem; font-size: .95rem; color: var(--muted); border-top: 1px solid var(--rule-soft); padding-top: .6rem; }
.verbatim { font-style: normal; }
.law-report blockquote.ruling.verbatim { font-style: italic; }
.lw-case-list { list-style: none; padding: 0; margin: 0 0 1.6rem; border-top: 1px solid var(--rule-soft); }
.lw-case-list li { padding: .8rem 0; border-bottom: 1px solid var(--rule-soft); margin: 0; max-width: none; }
.lw-case-list .lw-case-name { font-weight: 600; font-size: 1.05rem; }
.lw-case-list .lw-case-cite { font: .85rem/1.4 'IBM Plex Mono', monospace; color: var(--muted); display: block; margin: .15rem 0 .3rem; }
.lw-case-list p { margin: 0; font-size: .95rem; }

/* ---------- tables of acts and rulings, the index by year ---------- */
.acts-table td:first-child, .rulings-table td:first-child { white-space: nowrap; width: 10rem; color: var(--muted); font-size: .92rem; }
.acts-table td.gist, .rulings-table td.ruling-cell { font-size: .93rem; }
.rulings-table small.muted { font-family: 'IBM Plex Mono', monospace; font-size: .8rem; }
.year-index { columns: 1; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 30rem), 1fr)); gap: .4rem 2rem; font-size: .93rem; }
.year-index div { break-inside: avoid; margin: 0; padding: .5rem 0; border-top: 1px solid var(--rule-soft); display: grid; grid-template-columns: 4.5rem 1fr; gap: .5rem; }
.year-index b { display: block; font-variant: normal; letter-spacing: 0; font-weight: 600; }
.year-index a { display: inline-block; margin: 0 .5rem .2rem 0; text-decoration: none !important; }
.year-index a:hover { text-decoration: underline !important; }
.year-index a small { color: var(--muted); font-size: .78em; }
.month-block { margin-bottom: 1.4rem; }
.month-block h3 small { font-weight: 400; }
.code-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: .8rem; margin: 1.2rem 0 2rem; }
.lw-hero { background: #eef2f7; box-shadow: 0 0 0 100vmax #eef2f7; clip-path: inset(0 -100vmax); padding: 1.8rem 0 2rem; margin: -1.2rem 0 1.8rem; }
.lw-hero h1 { margin: 0 0 .5rem; }
.lw-bigsearch { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto; gap: .6rem; align-items: end; max-width: 56rem; margin: 1rem 0 .4rem; }
.lw-bigsearch label { display: grid; gap: .25rem; font-weight: 600; font-size: .92rem; }
.lw-bigsearch :is(input, select) { font: 1rem/1.3 var(--st-font); padding: .55rem .6rem; border: 2px solid #13294b; border-radius: 0; background: #fff; width: 100%; -webkit-appearance: none; }
.lw-bigsearch button { font: 600 1rem/1 var(--st-font); padding: .7rem 1.3rem; background: #13294b; color: #fff; border: 2px solid #13294b; cursor: pointer; }
@media (max-width: 760px) { .lw-bigsearch { grid-template-columns: 1fr 1fr; } .lw-bigsearch label:first-child { grid-column: 1 / -1; } }
.lw-panels { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: 1rem; margin: 0 0 2rem; }
.lw-panels a { display: block; padding: 1rem; border: 1px solid var(--rule-soft); border-top: 4px solid #13294b; text-decoration: none !important; color: var(--ink) !important; }
.lw-panels a b { display: block; color: var(--link); font-size: 1.08rem; margin-bottom: .25rem; text-decoration: underline; }
.lw-panels a span { color: var(--muted); font-size: .93rem; }
.lw-panels a:hover b { text-decoration-thickness: 3px; }
table.changes-table td { font-size: .93rem; }
table.changes-table .applied { color: #005a30; font-weight: 600; }
@media (max-width: 720px) { .year-index div { grid-template-columns: 1fr; } }

/* ---------- trial transcripts: questions and answers, the judgment set apart ---------- */
.law-report.transcript .witness { border-top: 1px dotted #cbbd9e; padding-top: .5rem; margin-top: 1rem; }
.law-report.transcript .witness h3 { font-size: 1rem; font-variant: small-caps; letter-spacing: .04em; font-weight: 400; margin: 0 0 .3rem; }
.law-report.transcript .sworn { font-style: italic; color: #6d6353; margin: .2rem 0; }
.law-report.transcript .qa { margin: .4rem 0; line-height: 1.6; }
.law-report.transcript blockquote.ruling { margin: .8rem 0; font-size: 1.02rem; }
.law-report.transcript .document h2 { font-size: 1.1rem; font-variant: small-caps; letter-spacing: .05em; font-weight: 400; text-align: center; }
.nowrap { white-space: nowrap; } .gv-table-wrap { overflow-x: auto; }
