/* selfhost-fonts:start */
/* Self-hosted Google Fonts (SIL OFL / Apache 2.0). Files live in /fonts/. Regenerate with scripts/selfhost_fonts.py. */
/* source: css2?family=Courier+Prime:ital,wght@0,400;0,700;1,400&family=Old+Standard+TT:ital,wght@0,400;0,700;1,400&display=swap */
/* latin-ext */
@font-face {
  font-family: 'Courier Prime';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/courier-prime-italic-400-latin-ext.890dc33b.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Courier Prime';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/courier-prime-italic-400-latin.55769ff0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Courier Prime';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/courier-prime-normal-400-latin-ext.2eaca47c.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Courier Prime';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/courier-prime-normal-400-latin.4deb7850.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Courier Prime';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/courier-prime-normal-700-latin-ext.69dd8b7e.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Courier Prime';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/courier-prime-normal-700-latin.d1f2148b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Old Standard TT';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/old-standard-tt-italic-400-latin-ext.7af356b6.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Old Standard TT';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/old-standard-tt-italic-400-latin.eb1be983.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Old Standard TT';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/old-standard-tt-normal-400-latin-ext.0baa3dde.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Old Standard TT';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/old-standard-tt-normal-400-latin.897bd855.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Old Standard TT';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/old-standard-tt-normal-700-latin-ext.8a3b88b9.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Old Standard TT';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/old-standard-tt-normal-700-latin.343c2259.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* selfhost-fonts:end */

/* title.wiki. Concept: the courthouse grantor/grantee index book.
   Buckram green for the covers, ivory ledger stock, red ruling ink for the column rules.
   Old Standard TT for reading, Courier Prime for index entries, labels and anything typed. */

:root {
  --green: #1f3a2d;
  --green-2: #2a4b3a;
  --green-3: #3a5f4b;
  --ivory: #f6f1e2;
  --ivory-2: #eee6cf;
  --ivory-3: #e2d7b8;
  --card: #fffcf2;
  --rule: #d3d7c3;
  --rule-2: #b9bea6;
  --blue-line: #c9d8de;
  --red: #a3241b;
  --red-rule: #cf6e64;
  --red-pale: #f0b3aa;
  --ink: #1b1f1c;
  --ink-2: #454d47;
  --serif: 'Old Standard TT', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
  --mono: 'Courier Prime', 'Courier New', Courier, monospace;
  --wrap: 1160px;
  --gut: 16px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--ivory);
  color: var(--ink);
  font: 400 1.125rem/1.6 var(--serif);
  overflow-x: hidden;
}
img, svg { max-width: 100%; }
a { color: var(--ink); text-decoration-color: var(--red); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--red); }
:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 700; line-height: 1.12; margin: 0 0 .5em; letter-spacing: -0.005em; }
h2 { font-size: clamp(1.85rem, 4.2vw, 2.6rem); }
h3 { font-size: clamp(1.45rem, 3vw, 1.85rem); }
h4 { font-size: 1.22rem; }
p { margin: 0 0 1em; }
b, strong { font-weight: 700; }
.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gut); }
.narrow { max-width: 860px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
[hidden] { display: none !important; }
main:focus { outline: none; }

.skip-link { position: absolute; left: -9999px; top: 0; z-index: 100; padding: .75rem 1rem; background: var(--ink); color: var(--ivory); font: 700 1rem var(--mono); }
.skip-link:focus { left: 0; }

/* ---------- The cover: masthead in buckram, section tabs rising off the page ---------- */
.cover {
  background-color: var(--green);
  background-image:
    repeating-linear-gradient(45deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(-45deg, rgba(0, 0, 0, .08) 0 1px, transparent 1px 4px);
  color: var(--ivory);
  border-bottom: 1px solid var(--rule-2);
}
.cover-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 16px; padding-bottom: 12px; }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: inherit; }
.brand:hover { color: inherit; }
.mark { width: 38px; height: 38px; flex: none; }
.mark .mark-rule { fill: none; stroke-width: 1.2; }
.cover .mark-tab, .back .mark-tab { fill: var(--ivory); }
.cover .mark-ti, .back .mark-ti { fill: var(--green); }
.cover .mark-rule, .back .mark-rule { stroke: var(--red-pale); }
.brand-word { font: 700 1.6rem/1 var(--serif); letter-spacing: .005em; }
.brand-word span { font: 400 1.3rem/1 var(--mono); color: var(--red-pale); margin-left: 1px; }
.cover-note { display: none; margin: 0; font: 400 .85rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: #d6dccd; }
@media (min-width: 860px) { .cover-note { display: block; } }

.tabs { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; padding-top: 6px; margin-bottom: -1px; }
.tabs::-webkit-scrollbar { display: none; }
/* A divider tab: straight top, slanted sides, drawn as background so focus rings are never clipped */
.tab {
  --tab: var(--ivory-3);
  background:
    linear-gradient(to bottom right, transparent 50%, var(--tab) 50%) left top / 9px 100% no-repeat,
    linear-gradient(to bottom left, transparent 50%, var(--tab) 50%) right top / 9px 100% no-repeat,
    linear-gradient(var(--tab), var(--tab)) center top / calc(100% - 17px) 100% no-repeat;
}
.tabs a {
  flex: none; display: flex; align-items: center; min-height: 44px; padding: 9px 18px 7px;
  font: 700 .86rem/1.2 var(--mono); letter-spacing: .06em; text-transform: uppercase;
  color: var(--green); text-decoration: none;
}
.tabs a:hover, .tabs a:focus-visible { --tab: var(--ivory); color: var(--red); }
.tabs a:focus-visible { outline-offset: -3px; }
.tabs a:first-child { --tab: var(--ivory); color: var(--red); }

/* ---------- Ledger stock ---------- */
.ruled {
  background-color: var(--ivory);
  background-image: repeating-linear-gradient(to bottom, transparent 0 31px, var(--rule) 31px 32px);
}
.section { padding: 56px 0; border-bottom: 1px solid var(--rule-2); }
@media (min-width: 900px) { .section { padding: 80px 0; } }

/* ---------- Hero ---------- */
.hero { padding: 36px 0 48px; border-bottom: 1px solid var(--rule-2); }
.hero-grid { display: grid; gap: 36px; align-items: start; }
@media (min-width: 1000px) {
  .hero { padding: 64px 0 72px; }
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); gap: 56px; }
}
h1 { font-size: clamp(2.25rem, 6.2vw, 3.7rem); line-height: 1.04; letter-spacing: -0.015em; margin-bottom: 18px; }
.lead { font-size: 1.2rem; color: var(--ink-2); max-width: 34em; }

/* The request line, ruled like an index entry */
.index-line {
  margin-top: 26px; display: grid; background: var(--card);
  border: 1px solid var(--ink); border-top: 4px double var(--red);
}
.il-cell { padding: 10px 14px 8px; border-bottom: 1px solid var(--rule-2); }
.il-cell label { display: block; font: 700 .82rem/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--green); margin-bottom: 4px; }
.il-cell input {
  width: 100%; border: 0; border-bottom: 1px dashed var(--rule-2); background: transparent; padding: 4px 0 6px;
  font: 400 1.05rem/1.3 var(--mono); color: var(--ink); border-radius: 0;
}
.il-cell input::placeholder { color: #5c6359; }
.il-cell input:focus { outline: none; border-bottom: 2px solid var(--red); }
.il-cell:focus-within { background: #fff8e6; }
.il-go { margin: 0; border: 0; border-radius: 0; width: 100%; }
@media (min-width: 560px) {
  .index-line { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); }
  .il-legal { border-left: 1px solid var(--red-rule); }
  .il-go { grid-column: 1 / -1; }
}
.il-note { margin: 10px 0 0; font: 400 .9rem/1.45 var(--mono); color: var(--ink-2); }

/* The book: a sample runsheet page with stacked page edges */
.book {
  margin: 0; background: var(--card); border: 1px solid var(--ink-2);
  box-shadow: 0 3px 0 -1px var(--card), 0 3px 0 0 var(--rule-2), 0 6px 0 -1px var(--card), 0 6px 0 0 var(--rule-2), 0 9px 0 -1px var(--card), 0 9px 0 0 var(--rule-2);
}
.book-head {
  display: flex; justify-content: space-between; gap: 10px; padding: 8px 12px;
  background: var(--green); color: var(--ivory); font: 700 .78rem/1.2 var(--mono); letter-spacing: .12em; text-transform: uppercase;
}
.ledger { width: 100%; border-collapse: collapse; font: 400 .84rem/1.35 var(--mono); }
.ledger th {
  text-align: left; font: 700 .72rem/1.2 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--green);
  padding: 9px 8px 7px; border-bottom: 4px double var(--red); background: var(--ivory-2);
}
.ledger td { padding: 7px 8px; border-bottom: 1px solid var(--blue-line); vertical-align: top; }
.ledger td + td, .ledger th + th { border-left: 1px solid var(--red-rule); }
.ledger .l-date, .ledger .l-vp { white-space: nowrap; }
.ledger .l-ins { font-weight: 700; }
.ledger .has-note td { border-bottom: 0; padding-bottom: 2px; }
.ledger .l-note-row td { padding-top: 0; padding-bottom: 8px; }
.ledger .l-note a { color: var(--red); font-style: italic; text-decoration-color: var(--red-rule); }
.ledger .l-note a:hover { color: var(--ink); }
.book figcaption { padding: 10px 12px 12px; font: 400 .82rem/1.45 var(--mono); color: var(--ink-2); border-top: 1px solid var(--rule-2); }

/* Phone: each entry becomes a two-line index slip */
@media (max-width: 719px) {
  .ledger thead { display: none; }
  .ledger tr {
    display: grid; grid-template-columns: auto 1fr auto; column-gap: 10px; row-gap: 2px;
    padding: 9px 12px; border-bottom: 1px solid var(--blue-line);
  }
  .ledger td { padding: 0; border: 0 !important; }
  .ledger .l-date { grid-column: 1; grid-row: 1; color: var(--ink-2); }
  .ledger .l-ins { grid-column: 3; grid-row: 1; text-align: right; }
  .ledger .l-vp { grid-column: 3; grid-row: 2; text-align: right; color: var(--ink-2); }
  .ledger .l-gor { grid-column: 1 / 3; grid-row: 2; }
  .ledger .l-gor::after { content: " to"; color: var(--ink-2); }
  .ledger .l-gee { grid-column: 1 / 3; grid-row: 3; font-weight: 700; }
  .ledger tr.has-note { border-bottom: 0; padding-bottom: 2px; }
  .ledger tr.l-note-row { display: block; padding: 0 12px 9px; }
  .ledger .l-note-row td:first-child { display: none; }
}
@media (min-width: 720px) and (max-width: 999px) { .ledger { font-size: .9rem; } }

/* ---------- What comes back ---------- */
.returns-grid { display: grid; gap: 36px; }
@media (min-width: 900px) { .returns-grid { grid-template-columns: 1.5fr 1fr; gap: 64px; align-items: start; } }
.lines { list-style: none; counter-reset: line; margin: 8px 0 0; padding: 0; border-top: 4px double var(--red); }
.lines li {
  counter-increment: line; position: relative; padding: 14px 0 14px 52px;
  border-bottom: 1px solid var(--rule-2);
}
.lines li::before {
  content: counter(line, decimal-leading-zero); position: absolute; left: 0; top: 14px; width: 36px;
  font: 700 .95rem/1.7 var(--mono); color: var(--red); border-right: 1px solid var(--red-rule);
}
.status { background: var(--card); border: 1px solid var(--ink-2); padding: 20px 22px 22px; }
.status h3 { font-size: 1.3rem; padding-bottom: 8px; border-bottom: 4px double var(--red); }
.status p { font-size: 1.05rem; }

/* ---------- Running the chain ---------- */
.chain-section { background: var(--ivory-2); }
.chain-grid { display: grid; gap: 36px; }
@media (min-width: 960px) { .chain-grid { grid-template-columns: 1fr minmax(340px, .9fr); gap: 64px; align-items: start; } }
.steps { margin: 20px 0 0; padding: 0; list-style: none; counter-reset: step; }
.steps li { counter-increment: step; position: relative; padding: 0 0 16px 44px; }
.steps li::before {
  content: counter(step); position: absolute; left: 0; top: 2px; width: 30px; height: 30px;
  display: grid; place-items: center; border: 1px solid var(--green); background: var(--card);
  font: 700 .95rem/1 var(--mono); color: var(--green);
}
.chart { margin: 0; background: var(--card); border: 1px solid var(--ink-2); padding: 14px 12px 10px; max-width: 460px; }
.chart svg { display: block; width: 100%; height: auto; }
.chart figcaption { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--rule-2); font: 400 .82rem/1.45 var(--mono); color: var(--ink-2); }
.c-head { font: 700 13px var(--mono); letter-spacing: .08em; fill: var(--green); }
.c-sub { font: 400 12px var(--mono); fill: var(--ink-2); }
.c-divide { stroke: var(--red-rule); stroke-width: 1; stroke-dasharray: 2 4; }
.c-box { fill: var(--ivory); stroke: var(--ink); stroke-width: 1.2; }
.c-sov { fill: var(--ivory-2); }
.c-now { stroke: var(--green); stroke-width: 2.4; }
.c-name { font: 700 13.5px var(--mono); fill: var(--ink); }
.c-held { font: 400 12px var(--mono); fill: var(--ink-2); }
.c-inst { font: 700 12.5px var(--mono); fill: var(--ink); }
.c-flag { font: italic 400 12px var(--mono); fill: var(--red); }
.c-ref { font: 400 12px var(--mono); fill: var(--green); }
.c-start { font: 700 12.5px var(--mono); letter-spacing: .08em; fill: var(--green); }
.c-link { stroke: var(--green); stroke-width: 1.6; fill: none; }
.c-arrow { fill: var(--green); }
.c-reach { stroke: var(--ink-2); stroke-width: 1; stroke-dasharray: 3 3; }
.c-bracket { stroke: var(--red); stroke-width: 1.4; fill: none; }
.c-wild { fill: #fbe9e4; stroke: var(--red); stroke-width: 1.2; stroke-dasharray: 5 3; }

/* ---------- Request slip ---------- */
.request-section { background: var(--ivory); }
.request-grid { display: grid; gap: 32px; }
@media (min-width: 960px) { .request-grid { grid-template-columns: .85fr 1.15fr; gap: 64px; align-items: start; } }
.fine { font: 400 .92rem/1.5 var(--mono); color: var(--ink-2); border-left: 4px double var(--red); padding-left: 12px; }
.slip { background: var(--card); border: 1px solid var(--ink); }
.slip-head {
  margin: 0; display: flex; justify-content: space-between; padding: 10px 16px; background: var(--green); color: var(--ivory);
  font: 700 .8rem/1.2 var(--mono); letter-spacing: .14em; text-transform: uppercase; border-bottom: 4px double var(--red-pale);
}
.slip-body { padding: 8px 18px 22px; display: grid; }
@media (min-width: 640px) { .slip-body { padding: 10px 24px 26px; } }
.slip label { display: block; margin: 14px 0 4px; font: 700 .82rem/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--green); }
.slip .opt { font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--ink-2); }
.slip input, .slip select, .slip textarea {
  width: 100%; min-height: 44px; padding: 8px 10px; border: 0; border-bottom: 1px solid var(--ink-2); border-radius: 0;
  background: var(--ivory); font: 400 1rem/1.35 var(--mono); color: var(--ink);
}
.slip textarea { resize: vertical; }
.slip input::placeholder, .slip textarea::placeholder { color: #5c6359; }
.slip input:focus, .slip select:focus, .slip textarea:focus { outline: 2px solid var(--red); outline-offset: 0; background: #fff8e6; }
.slip .row { display: grid; gap: 0 18px; }
@media (min-width: 640px) { .slip .row { grid-template-columns: 1fr 1fr; } }
.slip .btn { margin-top: 22px; justify-self: start; }
[data-intake-status] { margin: 14px 0 0; padding: 12px 14px; background: #f7dcd6; border-left: 4px solid var(--red); font: 400 .98rem/1.5 var(--mono); color: var(--ink); }

.btn {
  display: inline-block; padding: 13px 22px; background: var(--green); color: var(--ivory); border: 2px solid var(--green);
  font: 700 1rem/1.2 var(--mono); letter-spacing: .02em; text-decoration: none; cursor: pointer; border-radius: 0;
}
.btn:hover { background: var(--red); border-color: var(--red); color: #fff; }
.btn:disabled { opacity: .65; cursor: wait; }
.btn-quiet { background: transparent; color: var(--green); }
.btn-quiet:hover { background: var(--green); border-color: var(--green); color: var(--ivory); }
.form-feedback:empty { display: none; }
.form-feedback { margin-top: 14px; padding: 12px 14px; font: 400 .98rem/1.5 var(--mono); }
.form-feedback.success { background: #e2eadb; border-left: 4px solid var(--green); color: var(--ink); }
.form-feedback.error { background: #f7dcd6; border-left: 4px solid var(--red); color: var(--ink); }

/* ---------- The wiki ---------- */
.wiki-band {
  background-color: var(--green);
  background-image:
    repeating-linear-gradient(45deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(-45deg, rgba(0, 0, 0, .08) 0 1px, transparent 1px 4px);
  color: var(--ivory); padding: 44px 0 40px; border-bottom: 4px double var(--red-pale);
}
.wiki-band h2 { margin-bottom: 10px; }
.wiki-band p { max-width: 44em; margin: 0; color: #e6e9dc; font-size: 1.12rem; }
.part-head { margin-bottom: 22px; max-width: 46em; }
.part-head p { color: var(--ink-2); margin: 0; }
.wiki-part { padding: 48px 0; }
@media (min-width: 900px) { .wiki-part { padding: 64px 0; } }

/* Curative finder */
.finder { display: flex; align-items: stretch; border: 1px solid var(--ink); background: var(--card); max-width: 640px; }
.finder-label { flex: none; display: flex; align-items: center; padding: 0 12px; background: var(--ivory-2); border-right: 4px double var(--red); font: 700 .82rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--green); }
.finder-input { flex: 1; min-width: 0; min-height: 48px; border: 0; background: transparent; padding: 10px 12px; font: 400 1rem var(--mono); color: var(--ink); border-radius: 0; }
.finder-input::placeholder { color: #5c6359; }
.finder:focus-within { outline: 3px solid var(--red); outline-offset: 2px; }
.finder-input:focus { outline: none; }

.thumbs { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 22px; padding-left: 6px; }
.thumbs button {
  border: 0; cursor: pointer; border-radius: 0; min-height: 44px;
  padding: 9px 18px 7px; font: 700 .82rem/1.2 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--green);
}
.thumbs button:hover { color: var(--red); }
.thumbs button[aria-pressed="true"] { --tab: var(--green); color: var(--ivory); }
.thumbs button:focus-visible { outline-offset: 0; }

.ledger-wrap { border-top: 4px double var(--red); }
.cure { width: 100%; border-collapse: collapse; }
.cure td, .cure th { text-align: left; vertical-align: top; }
.cure .ca { font: 400 .9rem/1.45 var(--mono); color: var(--ink-2); }
.cure .cn { font: 700 .95rem/1.5 var(--mono); color: var(--red); }
.cure tbody th { font: 700 1.05rem/1.3 var(--serif); }
.cure .cr, .cure .cc { font-size: 1rem; line-height: 1.5; }
.cure tbody tr:target { background: #fff3cf; }
.cure tbody tr { scroll-margin-top: 24px; }
@media (max-width: 899px) {
  .cure thead { display: none; }
  .cure tbody tr { display: block; position: relative; padding: 16px 0 16px 48px; border-bottom: 1px solid var(--rule-2); }
  .cure td, .cure th { display: block; padding: 0; }
  .cure .cn { position: absolute; left: 0; top: 16px; width: 36px; border-right: 1px solid var(--red-rule); }
  .cure tbody th { margin-bottom: 6px; }
  .cure [data-label] { margin-top: 6px; }
  .cure [data-label]::before { content: attr(data-label) ". "; font: 700 .78rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--green); }
  .cure .ca::before { display: inline; }
}
@media (min-width: 900px) {
  .cure thead th {
    font: 700 .76rem/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--green);
    padding: 12px 12px 10px; background: var(--ivory-2); border-bottom: 1px solid var(--rule-2);
  }
  .cure tbody td, .cure tbody th { padding: 14px 12px; border-bottom: 1px solid var(--blue-line); }
  .cure td + td, .cure th + th, .cure td + th, .cure th + td { border-left: 1px solid var(--red-rule); }
  .cure .cn { width: 3.4em; }
  .cure tbody th { width: 21%; }
  .cure .cr { width: 30%; }
  .cure .cc { width: 26%; }
}
.empty { padding: 18px 0; font: 400 1rem var(--mono); color: var(--ink-2); }
.finder-foot { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 22px; margin-top: 14px; }
.count { margin: 0; font: 400 .9rem var(--mono); color: var(--ink-2); }
.count:empty { display: none; }
.link-btn { background: none; border: 0; padding: 12px 0; min-height: 44px; font: 700 .95rem/1.4 var(--mono); color: var(--ink); text-decoration: underline; text-decoration-color: var(--red); text-underline-offset: 3px; cursor: pointer; text-align: left; }
.link-btn:hover { color: var(--red); }

/* Case cards: 3x5 index cards. Every line of type sits on the card's blue rule; the heading sits above the red one. */
.cases-part { background: var(--ivory-2); }
.cards { display: grid; gap: 22px; }
@media (min-width: 820px) { .cards { grid-template-columns: 1fr 1fr; gap: 28px; } }
.card {
  --lh: 28px;
  background-color: var(--card);
  background-image: repeating-linear-gradient(to bottom, transparent 0 calc(var(--lh) - 1px), var(--blue-line) calc(var(--lh) - 1px) var(--lh));
  border: 1px solid var(--rule-2); box-shadow: 0 1px 2px rgba(27, 31, 28, .12);
  padding: var(--lh) 20px var(--lh);
  line-height: var(--lh);
}
.card > * { margin: 0; line-height: var(--lh); }
.card h4 { font-size: 1.2rem; margin: 0 -20px; padding: 0 20px; box-shadow: inset 0 -2px 0 var(--red-rule); }
.card-cite { font: 400 .84rem/var(--lh) var(--mono); color: var(--ink-2); }
.card p { font-size: 1.02rem; }
.card .card-cure { font: 400 .9rem/var(--lh) var(--mono); color: var(--ink-2); }
.card-cure b { color: var(--green); }
.card-cure a { white-space: nowrap; }

/* Index of terms: the back-of-book index */
.terms { margin: 0; columns: 1; column-gap: 56px; column-rule: 1px solid var(--red-rule); }
@media (min-width: 820px) { .terms { columns: 2; } }
.terms div { break-inside: avoid; padding: 10px 0 12px; border-bottom: 1px solid var(--rule); scroll-margin-top: 24px; }
.terms div:target { background: #fff3cf; }
.terms dt { font-weight: 700; font-size: 1.1rem; }
.terms dd { margin: 2px 0 0; color: var(--ink-2); font-size: 1.02rem; line-height: 1.5; }
.terms dd a { font: 700 .88rem var(--mono); color: var(--red); text-decoration-color: var(--red-rule); white-space: nowrap; }
@media (max-width: 599px) {
  .terms div { padding: 7px 0 8px; }
  .terms dt { font-size: 1.02rem; }
  .terms dt { display: inline; }
  .terms dt { margin-right: .45em; }
  .terms dd { display: inline; margin: 0; font-size: 1rem; line-height: 1.45; }
}

/* Questions */
.faq-grid { display: grid; gap: 8px; }
@media (min-width: 900px) { .faq-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 64px; align-items: start; } }
.faq { border-top: 4px double var(--red); }
.faq details { border-bottom: 1px solid var(--rule-2); }
.faq summary {
  list-style: none; cursor: pointer; display: flex; gap: 14px; padding: 16px 0;
  font: 700 1.12rem/1.35 var(--serif);
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::before { content: "+"; flex: none; width: 1ch; font: 700 1.2rem/1.1 var(--mono); color: var(--red); }
.faq details[open] summary::before { content: "\2212"; }
.faq details p { margin: 0 0 18px; padding-left: calc(1ch + 14px); color: var(--ink-2); max-width: 44em; }

/* ---------- Back cover ---------- */
.back {
  background-color: var(--green);
  background-image:
    repeating-linear-gradient(45deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(-45deg, rgba(0, 0, 0, .08) 0 1px, transparent 1px 4px);
  color: #e6e9dc; padding: 48px 0 28px; font: 400 .95rem/1.6 var(--mono);
  border-top: 4px double var(--red-rule);
}
.back a { color: var(--ivory); text-decoration-color: var(--red-pale); }
.back a:hover { color: var(--red-pale); }
.back-grid { display: grid; gap: 28px; }
@media (min-width: 720px) { .back-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .back-grid { grid-template-columns: 1.4fr 1fr 1.2fr 1.1fr; } }
.back .brand { margin-bottom: 12px; color: var(--ivory); }
.back-h { font: 700 .78rem/1.2 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--red-pale); margin: 6px 0 8px; }
.back address { font-style: normal; }
.back-base { margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--green-3); font-size: .85rem; color: #d3d9cb; }
.back-base p { margin: 0 0 6px; }

/* ---------- Legal pages ---------- */
.legal { padding: 44px 0 72px; }
.legal .wrap { max-width: 820px; }
.legal h1 { font-size: clamp(2rem, 5vw, 2.8rem); }
.legal-meta { font: 400 .9rem var(--mono); color: var(--ink-2); padding-bottom: 14px; border-bottom: 4px double var(--red); margin-bottom: 26px; }
.legal h2 { font-size: 1.4rem; margin-top: 2em; }
.legal ul { padding-left: 1.3em; }
.legal li { margin-bottom: .5em; }
.legal .note { background: var(--card); border: 1px solid var(--rule-2); border-left: 4px double var(--red); padding: 14px 18px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
@media print {
  .cover .tabs, .index-line, .il-note, .request-section, .finder, .thumbs, .finder-foot, .status .btn { display: none; }
  body, .ruled, .chain-section, .cases-part { background: #fff; }
  /* The dark bands do not print, so their light type would vanish. Print them as plain headings. */
  .wiki-band, .cover, .back { background: #fff; color: #000; border-color: #000; }
  .wiki-band h2, .wiki-band p, .back, .back a, .back-h, .back-base, .cover .brand { color: #000; }
  .brand-word span { color: var(--red); }
  .cover .mark-tab { fill: none; stroke: #000; }
  .cover .mark-ti { fill: #000; }
  h2, h3, h4, .part-head { break-after: avoid; page-break-after: avoid; }
  .returns-grid, .cure tr, .card, .terms > div { break-inside: avoid; }
}

/* no-JS notices, and the privacy line under the request button */
.nojs { margin: 14px 0 0; padding: 12px 14px; background: #f7dcd6; border-left: 4px solid var(--red); font: 400 .98rem/1.5 var(--mono); color: var(--ink); }
.slip .slip-note { margin: 14px 0 0; font: 400 .9rem/1.5 var(--mono); color: var(--ink-2); }

/* phone numbers never wrap */
a[href^="tel:"] { white-space: nowrap; }

/* ---------- Guides: long-form reading pages ---------- */
.article { padding: 32px 0 72px; }
.article .wrap { max-width: 860px; }
.crumbs ol { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 2px 10px; font: 400 .88rem/1.5 var(--mono); color: var(--ink-2); }
.crumbs li + li::before { content: "/"; margin-right: 10px; color: var(--red-rule); }
.crumbs a { color: var(--ink-2); }
.crumbs a:hover { color: var(--red); }
.kicker { margin: 0 0 8px; font: 700 .82rem/1.2 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
.article h1 { font-size: clamp(2rem, 5.4vw, 3.1rem); }
.article .lead { max-width: 38em; }
.art-meta { margin: 0 0 26px; padding-bottom: 14px; border-bottom: 4px double var(--red); font: 400 .9rem/1.5 var(--mono); color: var(--ink-2); }
.answer { background: var(--card); border: 1px solid var(--ink-2); padding: 18px 22px 6px; margin: 0 0 26px; }
.answer h2 { margin: 0 0 12px; padding-bottom: 8px; border-bottom: 4px double var(--red); font: 700 .84rem/1.2 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--green); }
.answer p { font-size: 1.08rem; }
.toc { margin: 0 0 8px; padding: 14px 18px 8px; background: var(--ivory-2); border-left: 4px double var(--red); }
.toc-h { margin: 0 0 6px; font: 700 .8rem/1.2 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--green); }
.toc ol { margin: 0; padding-left: 1.4em; columns: 1; }
@media (min-width: 720px) { .toc ol { columns: 2; column-gap: 32px; } }
.toc li { margin: 0 0 4px; break-inside: avoid; font-size: 1rem; }
.article section { scroll-margin-top: 16px; }
.article h2 { font-size: clamp(1.5rem, 3.4vw, 1.95rem); margin: 2.1em 0 .5em; padding-top: .35em; border-top: 1px solid var(--rule-2); scroll-margin-top: 16px; }
.article .answer h2 { margin: 0 0 12px; padding: 0 0 8px; border-top: 0; font-size: .84rem; }
.article .answer p, .article .art-meta { max-width: none; }
.article h3 { font-size: 1.28rem; margin: 1.6em 0 .4em; }
.article ul, .article ol.plain { padding-left: 1.3em; }
.article li { margin-bottom: .55em; }
.article p, .article li { max-width: 42em; }
.tbl-wrap { margin: 18px 0 8px; border-top: 4px double var(--red); }
.art-table { width: 100%; border-collapse: collapse; font-size: 1rem; line-height: 1.5; }
.art-table th, .art-table td { text-align: left; vertical-align: top; }
.art-table thead th { padding: 11px 12px 9px; background: var(--ivory-2); border-bottom: 1px solid var(--rule-2); font: 700 .76rem/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--green); }
.art-table tbody th { font-weight: 700; }
.art-table tbody th, .art-table tbody td { padding: 12px; border-bottom: 1px solid var(--blue-line); }
.art-table th + td, .art-table td + td, .art-table th + th { border-left: 1px solid var(--red-rule); }
.art-table p, .art-table li { max-width: none; }
.tbl-note { font: 400 .88rem/1.5 var(--mono); color: var(--ink-2); }
@media (max-width: 719px) {
  .art-table thead { display: none; }
  .art-table, .art-table tbody, .art-table tr { display: block; }
  .art-table tbody tr { padding: 12px 0; border-bottom: 1px solid var(--rule-2); }
  .art-table tbody th, .art-table tbody td { display: block; padding: 0; border: 0 !important; }
  .art-table tbody th { margin-bottom: 6px; font-size: 1.05rem; }
  .art-table td[data-label] { margin-top: 6px; }
  .art-table td[data-label]::before { content: attr(data-label) ". "; font: 700 .76rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--green); }
}
.sources { padding-left: 1.6em; }
.sources li { max-width: none; margin-bottom: 1em; overflow-wrap: anywhere; font-size: 1rem; line-height: 1.5; }
.src-what { color: var(--ink-2); }
.src-date { font: 400 .84rem var(--mono); color: var(--ink-2); white-space: nowrap; }
.next { margin: 40px 0 0; padding: 22px 24px 8px; background: var(--card); border: 1px solid var(--ink); border-top: 4px double var(--red); }
.next h2 { margin: 0 0 .4em; padding: 0; border: 0; font-size: 1.5rem; }
.next .btn { margin: 0 8px 12px 0; }
.back-guides { margin-top: 12px; font-size: .9rem; }

/* Guides on the home page */
.guides { display: grid; gap: 22px; }
@media (min-width: 820px) { .guides { grid-template-columns: 1fr 1fr; gap: 28px; } }
.guide { background: var(--card); border: 1px solid var(--ink-2); border-top: 4px double var(--red); padding: 18px 20px 6px; }
.guide h4 { margin: 0 0 6px; font-size: 1.28rem; }
.guide .card-cite { font: 400 .84rem/1.4 var(--mono); color: var(--ink-2); margin: 0 0 10px; }
.guide p { font-size: 1.02rem; }
@media print { .next .btn, .toc { display: none; } .article .answer, .next { break-inside: avoid; } }
