/* Fonts: Libre Franklin, Spectral, Spectral SC and Courier Prime, SIL Open Font License, self-hosted. */
@font-face { font-family: 'Libre Franklin Variable'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/assets/fonts/libre-franklin-latin-wght-normal.woff2') format('woff2'); }
@font-face { font-family: 'Spectral'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/spectral-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Spectral'; font-style: italic; font-weight: 400; font-display: swap; src: url('/assets/fonts/spectral-latin-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Spectral'; font-style: normal; font-weight: 600; font-display: swap; src: url('/assets/fonts/spectral-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Spectral SC'; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/spectral-sc-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Courier Prime'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/courier-prime-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Courier Prime'; font-style: normal; font-weight: 700; font-display: swap; src: url('/assets/fonts/courier-prime-latin-700-normal.woff2') format('woff2'); }
/*
  site.css
  The current edition of runciterassociates.org: paper, ink and one
  colour on a twelve-column grid. Fonts are declared in fonts.css, which
  the build writes from the Fontsource packages and prepends here.

  Created: 2026-11-03
  Last modified: 2026-11-03
*/

:root {
  --paper: #EDEDE8;
  --paper-deep: #E1E1DA;
  --paper-edge: #D0D0C7;
  --ink: #1B1915;
  --ink-soft: #55504A;
  --rule: #B6B5AB;
  --claret: #6B1D24;
  --claret-deep: #4E1219;
  --sans: 'Libre Franklin Variable', 'Libre Franklin', 'Franklin Gothic Medium', 'Helvetica Neue', Arial, sans-serif;
  --serif: 'Spectral', 'Iowan Old Style', Georgia, serif;
  --caps: 'Spectral SC', 'Spectral', Georgia, serif;
  --typed: 'Courier Prime', 'Courier New', Courier, monospace;
  --gutter: 24px;
  --margin: 40px;
  --max: 1280px;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.1875rem;
  line-height: 1.55;
  font-variant-numeric: oldstyle-nums proportional-nums;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, svg { max-width: 100%; }

a { color: var(--claret); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { color: var(--claret-deep); text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--claret); outline-offset: 2px; }
main:focus { outline: none; }

p { margin: 0 0 1em; }
h1, h2, h3, h4 { font-family: var(--sans); font-weight: 560; line-height: 1.15; margin: 0; letter-spacing: -0.005em; }

.wrap { max-width: var(--max); margin: 0 auto; padding-left: var(--margin); padding-right: var(--margin); }

.skip { position: absolute; left: 16px; top: -60px; z-index: 10; padding: 10px 16px; background: var(--ink); color: var(--paper); font-family: var(--sans); font-size: 0.9375rem; }
.skip:focus { top: 12px; color: var(--paper); }

.sc, .kicker, .block__heading, .facts dt, .record dt, .crumbs, .dateline {
  font-family: var(--caps);
  font-weight: 500;
  letter-spacing: 0.06em;
  font-variant-numeric: lining-nums;
}

/* ---------- Utility line and masthead ---------- */

.utility { border-bottom: 1px solid var(--rule); font-family: var(--sans); font-size: 0.8125rem; color: var(--ink-soft); }
.utility__inner { display: flex; justify-content: space-between; gap: 16px; padding-top: 7px; padding-bottom: 7px; }
.utility p { margin: 0; }
.utility a { color: var(--ink); }
.utility__phone { margin-left: 10px; font-variant-numeric: lining-nums tabular-nums; }

.masthead { position: relative; }
.masthead__inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-top: 30px; padding-bottom: 16px; }
.masthead__address { margin: 0; text-align: right; font-family: var(--caps); font-size: 0.9375rem; line-height: 1.45; letter-spacing: 0.04em; color: var(--ink-soft); font-variant-numeric: lining-nums; }
.masthead__rule span { display: block; height: 7px; border-top: 1px solid var(--ink); border-bottom: 3px solid var(--ink); box-shadow: 0 2px 0 var(--paper), 0 3px 0 var(--ink); }
.nav { padding-top: 12px; padding-bottom: 4px; }

.logo { display: inline-flex; align-items: center; gap: 14px; color: var(--ink); text-decoration: none; }
.logo:hover { color: var(--ink); }
.logo .mark { width: 40px; height: 28px; color: var(--claret); flex: none; }
.logo__word { font-family: var(--sans); font-weight: 650; font-size: 1.0625rem; letter-spacing: 0.22em; text-transform: uppercase; white-space: nowrap; }

.nav ul { display: flex; flex-wrap: wrap; gap: 4px 28px; margin: 0; padding: 0; list-style: none; justify-content: flex-start; }
.nav a { font-family: var(--sans); font-size: 0.78125rem; font-weight: 560; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink); text-decoration: none; padding: 4px 0; border-bottom: 2px solid transparent; }
.nav a:hover { border-bottom-color: var(--rule); color: var(--ink); }
.nav a.is-current { border-bottom-color: var(--claret); }

.crumbs { font-size: 0.875rem; color: var(--ink-soft); padding-top: 14px; }
.crumbs ol { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.crumbs li + li::before { content: '/'; margin: 0 0.6em; color: var(--rule); }
.crumbs a { color: var(--ink-soft); }

.masthead__address { margin: 0; font-family: var(--caps); font-size: 1rem; letter-spacing: 0.06em; color: var(--ink-soft); font-variant-numeric: lining-nums; }

/* ---------- Page head ---------- */

.page-head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); padding-top: 48px; padding-bottom: 40px; }
.page-head__label { grid-column: 1 / 4; padding-top: 10px; }
.page-head__body { grid-column: 4 / 12; }
.page-head__title { font-size: 3rem; font-weight: 540; line-height: 1.04; letter-spacing: -0.015em; max-width: 18ch; }
.page-head__title--long { max-width: 24ch; }
.lead { font-size: 1.375rem; line-height: 1.45; margin: 22px 0 0; max-width: 36em; }
.kicker { margin: 0; font-size: 0.9375rem; color: var(--claret); border-top: 1px solid var(--ink); padding-top: 8px; }

.facts { display: flex; flex-wrap: wrap; gap: 10px 36px; margin: 28px 0 0; padding: 14px 0 0; border-top: 1px solid var(--rule); }
.facts div { min-width: 0; }
.facts dt { font-size: 0.875rem; color: var(--ink-soft); }
.facts dd { margin: 0; font-family: var(--sans); font-size: 0.9375rem; font-variant-numeric: lining-nums; }

/* ---------- Sections with margin labels ---------- */

.block { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); padding-top: 28px; padding-bottom: 40px; }
.block + .block { border-top: 0; }
.block__label { grid-column: 1 / 4; }
.block__heading { font-size: 1.0625rem; font-weight: 500; line-height: 1.3; border-top: 1px solid var(--ink); padding-top: 8px; margin: 0; }
.block__body { grid-column: 4 / 11; min-width: 0; }
.block__body > :first-child { margin-top: 0; }
.block__aside { grid-column: 11 / 13; font-family: var(--sans); font-size: 0.8125rem; line-height: 1.5; color: var(--ink-soft); border-top: 1px solid var(--rule); padding-top: 10px; }
.block__aside p { margin-bottom: 0.8em; }
.block__title { font-family: var(--sans); font-size: 1.75rem; font-weight: 540; line-height: 1.15; margin: 0 0 18px; letter-spacing: -0.01em; }
.block--wide .block__body { grid-column: 4 / 13; }
.block--rule { border-top: 1px solid var(--rule); }

.prose h3 { font-size: 1.1875rem; font-weight: 600; margin: 1.6em 0 0.5em; }
.prose ul, .prose ol { padding-left: 1.2em; margin: 0 0 1em; }
.prose li + li { margin-top: 0.35em; }
.prose blockquote { margin: 1.4em 0; padding-left: 22px; border-left: 3px solid var(--claret); font-style: italic; }

/* ---------- Registers ---------- */

.register-wrap { overflow-x: auto; margin: 4px 0 24px; }
.register { width: 100%; border-collapse: collapse; font-family: var(--sans); font-size: 0.9375rem; line-height: 1.45; font-variant-numeric: lining-nums tabular-nums; }
.register caption { text-align: left; font-family: var(--caps); font-size: 1rem; letter-spacing: 0.05em; color: var(--ink-soft); padding-bottom: 8px; }
.register thead th { font-size: 0.71875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-soft); text-align: left; padding: 8px 12px 8px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); vertical-align: bottom; }
.register tbody th, .register td { padding: 10px 12px 10px 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
.register tbody th { font-weight: 600; }
.register .num { text-align: right; padding-right: 0; padding-left: 12px; }
.register-note { font-family: var(--sans); font-size: 0.8125rem; color: var(--ink-soft); margin-top: 8px; }

/* ---------- Notices, plates, records ---------- */

.notice { border: 1px solid var(--ink); border-top: 4px solid var(--claret); padding: 18px 22px 6px; background: var(--paper); }
.notice__title { font-family: var(--sans); font-size: 0.75rem; font-weight: 650; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 10px; }
.notice p { font-size: 1.0625rem; }

.plate { margin: 0; }
.plate + .callouts, .plate + .register-wrap, .plate + .prose { margin-top: 24px; }
.plate__drawing { border: 1px solid var(--ink); background: var(--paper); padding: 20px; }
.plate__drawing svg { display: block; width: 100%; height: auto; }
.plate figcaption { font-family: var(--sans); font-size: 0.875rem; line-height: 1.5; color: var(--ink-soft); margin-top: 10px; max-width: 60em; }
.plate__number { font-weight: 650; color: var(--ink); }

.record { border-top: 3px solid var(--ink); }
.record__title { font-family: var(--sans); font-size: 0.75rem; font-weight: 650; letter-spacing: 0.12em; text-transform: uppercase; margin: 8px 0 4px; }
.record dl { margin: 0; }
.record dl > div { display: grid; grid-template-columns: minmax(0, 11em) minmax(0, 1fr); gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--rule); }
.record dt { font-size: 0.9375rem; color: var(--ink-soft); }
.record dd { margin: 0; font-family: var(--sans); font-size: 0.9375rem; line-height: 1.45; font-variant-numeric: lining-nums; }

.link-list { list-style: none; margin: 0; padding: 0; font-family: var(--sans); font-size: 0.9375rem; }
.link-list li { padding: 9px 0; border-bottom: 1px solid var(--rule); }
.link-list li:first-child { border-top: 1px solid var(--ink); }
.link-list--columns { columns: 2 18em; column-gap: var(--gutter); }
.link-list--columns li { break-inside: avoid; }
.link-list__meta { display: block; color: var(--ink-soft); font-size: 0.8125rem; }

.dateline { font-size: 0.9375rem; color: var(--ink-soft); }
.typed { font-family: var(--typed); font-size: 0.9375em; }
.signature { font-family: var(--sans); font-size: 0.9375rem; line-height: 1.4; margin-top: 1.4em; }
.signature strong { font-weight: 620; display: block; }

/* ---------- Home ---------- */

.opening { max-width: calc(46rem + 2 * var(--margin)); padding-top: 44px; padding-bottom: 52px; }
.opening__date { font-family: var(--caps); font-size: 1rem; letter-spacing: 0.06em; color: var(--ink-soft); margin: 0 0 24px; font-variant-numeric: lining-nums; }
.opening__title { font-size: 2.5rem; font-weight: 530; line-height: 1.08; letter-spacing: -0.015em; margin: 0 0 24px; max-width: 19ch; }
.opening__lead { font-size: 1.3125rem; line-height: 1.5; }
.opening__sign { font-style: italic; margin: 28px 0 0; padding-top: 14px; border-top: 1px solid var(--rule); }


.practice { list-style: none; margin: 0; padding: 0; counter-reset: practice; }
.practice li { display: grid; grid-template-columns: minmax(0, 13em) minmax(0, 1fr); gap: 0 var(--gutter); padding: 16px 0 14px; border-bottom: 1px solid var(--rule); }
.practice li:first-child { border-top: 1px solid var(--ink); }
.practice h3 { font-size: 1.1875rem; font-weight: 600; padding-top: 1px; }
.practice h3 a { color: var(--ink); text-decoration-color: var(--rule); }
.practice h3 a:hover { text-decoration-color: var(--claret); }
.practice p { margin: 0; font-size: 1.0625rem; }

.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px var(--gutter); }

.bulletin-list { list-style: none; margin: 0; padding: 0; }
.bulletin-list li { display: grid; grid-template-columns: 9.5em minmax(0, 1fr); gap: var(--gutter); padding: 12px 0; border-bottom: 1px solid var(--rule); }
.bulletin-list li:first-child { border-top: 1px solid var(--ink); }
.bulletin-list time { font-family: var(--caps); font-size: 0.9375rem; letter-spacing: 0.05em; color: var(--ink-soft); font-variant-numeric: lining-nums; padding-top: 2px; }
.bulletin-list a { font-family: var(--sans); font-size: 1rem; font-weight: 560; color: var(--ink); text-decoration-color: var(--rule); line-height: 1.35; }
.bulletin-list a:hover { text-decoration-color: var(--claret); }
.bulletin-list p { margin: 4px 0 0; font-size: 0.96875rem; color: var(--ink-soft); line-height: 1.45; }

.figures { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 var(--gutter); margin: 0; border-top: 1px solid var(--ink); }
.figures div { padding: 14px 0 16px; border-bottom: 1px solid var(--rule); }
.figures dt { font-family: var(--sans); font-size: 0.8125rem; color: var(--ink-soft); line-height: 1.4; margin-top: 4px; }
.figures dd { margin: 0; font-family: var(--sans); font-size: 1.75rem; font-weight: 500; letter-spacing: -0.01em; font-variant-numeric: lining-nums tabular-nums; }
.figures div { display: flex; flex-direction: column-reverse; justify-content: flex-end; }

.letter { max-width: 36em; }
.letter p:first-of-type::first-line { font-variant: small-caps; letter-spacing: 0.04em; }

/* ---------- Product and person pages ---------- */

.callouts { list-style: none; counter-reset: callout; margin: 0; padding: 0; font-family: var(--sans); font-size: 0.9375rem; }
.callouts li { counter-increment: callout; display: grid; grid-template-columns: 2em minmax(0, 1fr); padding: 10px 0; border-bottom: 1px solid var(--rule); }
.callouts li:first-child { border-top: 1px solid var(--ink); }
.callouts li::before { content: counter(callout); font-weight: 650; color: var(--claret); }
.callouts strong { font-weight: 620; }

.features { margin: 0; }
.features div { padding: 14px 0; border-bottom: 1px solid var(--rule); }
.features div:first-child { border-top: 1px solid var(--ink); }
.features dt { font-family: var(--sans); font-weight: 620; font-size: 1.0625rem; margin-bottom: 4px; }
.features dd { margin: 0; font-size: 1.0625rem; }

.quote { margin: 0; padding: 4px 0 0 0; }
.quote blockquote { margin: 0; font-size: 1.5rem; line-height: 1.38; font-style: italic; max-width: 26em; }
.quote figcaption { font-family: var(--sans); font-size: 0.875rem; color: var(--ink-soft); margin-top: 12px; }

.person { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); padding-top: 8px; padding-bottom: 32px; }
.person__record { grid-column: 1 / 5; }
.person__bio { grid-column: 5 / 12; }
.person__bio > p:first-child { font-size: 1.375rem; line-height: 1.45; }

.plate-block { padding-bottom: 24px; }
.small-title { font-size: 1.375rem; font-weight: 560; line-height: 1.2; margin: 6px 0 10px; }
.small-title a { color: var(--ink); text-decoration-color: var(--rule); }
.small-title a:hover { text-decoration-color: var(--claret); }
.more { font-family: var(--sans); font-size: 0.9375rem; margin-top: 14px; }
.person__role { font-family: var(--sans); font-size: 1.0625rem; font-weight: 560; margin: 0 0 18px; }
.page-head--person { padding-bottom: 20px; }

.prose-list { padding-left: 1.3em; margin: 0 0 1em; }
.prose-list li + li { margin-top: 0.5em; }
.register--figures td, .register--figures th { white-space: nowrap; }
.register--figures tbody tr:last-child th, .register--figures tbody tr:last-child td { font-weight: 650; border-bottom: 1px solid var(--ink); }

/* ---------- Paper: letterhead sheets and the pamphlet ---------- */

.sheet { max-width: 46rem; margin: 0 auto; background: #F6F6F2; border: 1px solid var(--paper-edge); box-shadow: 0 1px 0 var(--paper-edge), 6px 8px 0 -2px var(--paper-deep); padding: 44px 56px 48px; }
.sheet--typed { font-family: var(--typed); font-size: 1rem; line-height: 1.6; }
.sheet--typed .signature { font-family: var(--typed); }
.letterhead { text-align: center; margin-bottom: 36px; }
.letterhead__mark { width: 44px; height: 31px; color: var(--claret); }
.letterhead__name { margin: 8px 0 10px; font-family: var(--sans); font-weight: 650; font-size: 1rem; letter-spacing: 0.3em; margin-right: -0.3em; text-transform: uppercase; }
.letterhead__rule { height: 6px; border-top: 1px solid var(--ink); border-bottom: 2px solid var(--ink); max-width: 22rem; margin: 0 auto; }
.letterhead__address { margin: 10px 0 0; font-family: var(--caps); font-size: 0.875rem; letter-spacing: 0.06em; color: var(--ink-soft); font-variant-numeric: lining-nums; }
.letterhead__kicker { margin: 18px 0 0; font-family: var(--sans); font-size: 0.75rem; font-weight: 650; letter-spacing: 0.16em; text-transform: uppercase; color: var(--claret); }
.sheet__date { text-align: right; margin-bottom: 1.6em; }
.sheet__title { font-size: 1.75rem; font-weight: 560; line-height: 1.15; margin: 0 0 18px; }
.redact { display: inline-block; height: 0.85em; background: var(--ink); vertical-align: -0.05em; }
.sheet__accept { margin-top: 1.6em; padding-top: 10px; border-top: 1px solid var(--rule); font-family: var(--sans); font-size: 0.9375rem; }
.signature__hand { display: block; font-family: var(--serif); font-style: italic; font-size: 1.5rem; color: var(--claret-deep); margin-bottom: 2px; }

.pamphlet { display: grid; grid-template-columns: repeat(2, minmax(0, 340px)); justify-content: center; gap: 28px 20px; }
.pamphlet__page { position: relative; aspect-ratio: 17 / 24; background: #F4EEDD; border: 1px solid #CFC5AC; box-shadow: 4px 5px 0 -1px #E2D9C2; padding: 26px 26px 40px; font-size: 0.9375rem; line-height: 1.5; color: #2A241C; display: flex; flex-direction: column; }
.pamphlet__page--cover, .pamphlet__page--back { background: #E8DEC4; align-items: center; justify-content: center; text-align: center; }
.pamphlet__mark { width: 74px; height: 53px; color: #7A2E2A; }
.pamphlet__mark--small { width: 40px; height: 29px; }
.pamphlet__cover-title { font-family: var(--sans); font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; font-size: 1.25rem; line-height: 1.35; margin: 26px 0; max-width: 12em; }
.pamphlet__cover-foot { font-family: var(--caps); letter-spacing: 0.08em; font-size: 0.875rem; margin: 0; }
.pamphlet__running { margin: 0 0 18px; font-family: var(--caps); font-size: 0.75rem; letter-spacing: 0.08em; color: #5A4E3E; text-align: center; border-bottom: 1px solid #CFC5AC; padding-bottom: 6px; }
.pamphlet__head { font-size: 0.875rem; font-weight: 650; letter-spacing: 0.12em; text-transform: uppercase; margin: 0 0 12px; }
.pamphlet__text p { margin: 0 0 0.8em; }
.pamphlet__rules { margin: 0; padding-left: 1.2em; font-size: 0.875rem; }
.pamphlet__rules li + li { margin-top: 0.3em; }
.pamphlet__contents { list-style: none; margin: 0 0 18px; padding: 0; }
.pamphlet__contents li { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px dotted #A99C80; padding: 4px 0; font-variant-numeric: lining-nums; }
.pamphlet__small { font-size: 0.8125rem; font-style: italic; color: #4A4034; }
.pamphlet__initials { font-family: var(--caps); letter-spacing: 0.06em; margin-top: 1.2em; }
.pamphlet__lines { flex: 1; min-height: 160px; background: repeating-linear-gradient(to bottom, transparent 0, transparent 27px, #CFC5AC 27px, #CFC5AC 28px); margin-bottom: 12px; }
.pamphlet__number { position: absolute; left: 0; right: 0; bottom: 12px; margin: 0; text-align: center; font-family: var(--caps); font-size: 0.8125rem; font-variant-numeric: lining-nums; }
.download { font-family: var(--sans); font-size: 0.9375rem; margin: 18px 0 0; }
.download a { font-weight: 600; }

.bulletin-sheet { padding-top: 40px; padding-bottom: 24px; }
.legacy-note { max-width: 46rem; margin: 14px auto 0; font-family: var(--sans); font-size: 0.8125rem; color: var(--ink-soft); }

.office { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.office-letter { background: #F6F6F2; border: 1px solid var(--paper-edge); padding: 26px 30px; }
.office-letter__name { margin: 0; font-family: var(--sans); font-weight: 650; font-size: 0.875rem; letter-spacing: 0.24em; text-transform: uppercase; }
.office-letter__role { margin: 2px 0 14px; font-family: var(--caps); color: var(--claret); letter-spacing: 0.05em; padding-bottom: 12px; border-bottom: 3px double var(--ink); }
.office-letter address { font-style: normal; font-family: var(--sans); font-size: 0.9375rem; line-height: 1.5; margin-bottom: 14px; font-variant-numeric: lining-nums; }
.office-letter p { font-size: 1rem; }
.office-letter__work { font-style: italic; margin-bottom: 0; }
.dated-list { list-style: none; margin: 0; padding: 0; columns: 2 24em; column-gap: 40px; }
.dated-list li { break-inside: avoid; display: grid; grid-template-columns: 8.5em minmax(0, 1fr); gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--rule); font-family: var(--sans); font-size: 0.9375rem; line-height: 1.4; }
.dated-list time { font-family: var(--caps); color: var(--ink-soft); font-variant-numeric: lining-nums; }

/* ---------- Drawings ---------- */

.plate__drawing .drawing--portrait { display: none; }
.plate-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.drawing { font-family: var(--sans); }
.drawing text { fill: var(--ink-soft); font-size: 13px; font-weight: 500; letter-spacing: 0.06em; paint-order: stroke; stroke: var(--paper); stroke-width: 4px; stroke-linejoin: round; }
.drawing__walls path, .drawing__walls rect { fill: none; stroke: var(--ink); stroke-width: 2; }
.drawing__walls .drawing__outer { stroke-width: 4; }
.drawing__walls .drawing__thin { stroke-width: 1.25; }
.drawing__walls .drawing__solid, .drawing__labels .drawing__solid { fill: var(--ink); stroke: var(--ink); }
.drawing__furniture rect, .drawing__furniture circle, .drawing__furniture path { fill: none; stroke: var(--ink-soft); stroke-width: 1; }
.drawing__contours ellipse { fill: none; stroke: var(--claret); stroke-width: 1.4; }
.drawing .drawing__contour-labels text { fill: var(--claret); font-size: 13px; font-weight: 650; }
.drawing__reading rect { fill: var(--ink); }
.drawing .drawing__reading text { fill: var(--ink); font-size: 13px; font-weight: 650; letter-spacing: 0.02em; }
.drawing__null { fill: none; stroke: var(--claret); stroke-width: 1.5; stroke-dasharray: 6 5; }
.drawing__inertial path, .drawing__inertial circle { fill: none; stroke: var(--claret); stroke-width: 2; }
.drawing .drawing__note, .drawing .drawing__source { fill: var(--claret); font-weight: 650; }
.drawing .drawing__heading { fill: var(--ink); font-size: 14px; font-weight: 650; letter-spacing: 0.1em; }
.drawing__scale path, .drawing__north path { fill: none; stroke: var(--ink); stroke-width: 1.5; }
.drawing__north path { fill: var(--ink); }
.drawing .drawing__mono { font-family: var(--typed); font-size: 13px; letter-spacing: 0; fill: var(--ink-soft); }
.drawing__labels--plain text { font-size: 14px; letter-spacing: 0.02em; fill: var(--ink); }
.drawing .drawing__big { font-size: 22px; font-weight: 600; letter-spacing: -0.01em; fill: var(--ink); }
.drawing .drawing__reverse { fill: var(--paper); font-weight: 650; }
.drawing__redact { fill: var(--ink); stroke: none; }
.drawing__dashed { fill: none; stroke: var(--claret); stroke-width: 1.5; stroke-dasharray: 5 4; }
.drawing__leaders path { fill: none; stroke: var(--ink); stroke-width: 1; }
.drawing__callout-numbers circle { fill: var(--paper); stroke: var(--claret); stroke-width: 1.5; }
.drawing .drawing__callout-numbers text { fill: var(--claret); font-size: 14px; font-weight: 700; letter-spacing: 0; }

.drawing .drawing__reverse, .drawing .drawing__callout-numbers text { stroke: none; }
.chart__grid { stroke: var(--rule); stroke-width: 1; }
.chart__bar { fill: var(--ink); }
.chart__bar--highlight { fill: var(--claret); }
.drawing .chart__label { fill: var(--ink); font-size: 14px; letter-spacing: 0.01em; }
.drawing .chart__value { fill: var(--ink); font-size: 13px; font-weight: 650; letter-spacing: 0; font-variant-numeric: tabular-nums; }

.construction__grid path { stroke: var(--paper-edge); stroke-width: 1; }
.construction__fill { fill: var(--claret); }
.construction__lines circle, .construction__lines path { fill: none; stroke: var(--ink); stroke-width: 1; stroke-dasharray: 4 3; }
.construction__lines path { stroke-dasharray: none; }
.construction__dimensions path { fill: none; stroke: var(--ink); stroke-width: 1; }
.drawing .construction__label { fill: var(--ink); font-size: 15px; font-style: italic; font-family: var(--serif); letter-spacing: 0; }
.drawing .construction__label--reverse { fill: var(--paper); stroke: none; }
.drawing .construction__note { fill: var(--ink); font-size: 13px; font-weight: 650; letter-spacing: 0.1em; }
.drawing .construction__small { font-size: 13px; letter-spacing: 0.02em; }

.binding__board { fill: #CFCAC0; stroke: var(--ink); stroke-width: 1.5; }
.binding__hinge { stroke: #B3AD9F; stroke-width: 2; }
.drawing .binding__author { fill: var(--claret); font-size: 15px; font-weight: 650; letter-spacing: 0.3em; stroke: none; }
.drawing .binding__title { fill: var(--claret); font-size: 40px; font-weight: 600; letter-spacing: 0.12em; stroke: none; }
.drawing .binding__subtitle { fill: var(--ink); font-family: var(--serif); font-style: italic; font-size: 17px; letter-spacing: 0; stroke: none; }
.drawing .binding__press { fill: var(--ink); font-size: 11px; font-weight: 600; letter-spacing: 0.16em; stroke: none; }
.binding__axis, .binding__axis path { fill: none; stroke: #9C9586; stroke-width: 1.5; }
.binding__curve { fill: none; stroke: #8E877A; stroke-width: 3; }
.plate--narrow { max-width: 440px; }
.book-split { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 40px; align-items: start; }
.excerpt { margin: 0; padding-left: 24px; border-left: 3px solid var(--claret); font-size: 1.25rem; line-height: 1.5; }
.excerpt p { margin-bottom: 0.9em; }

.drawing .drawing__mono--small { font-size: 11px; }
.drawing .drawing__tiny { font-size: 11px; letter-spacing: 0.06em; fill: var(--ink); }
.radii__ring { fill: none; stroke: var(--claret); stroke-width: 1.5; }
.radii__axis { stroke: var(--ink); stroke-width: 1; stroke-dasharray: 2 3; }
.drawing .radii__class { fill: var(--claret); font-weight: 700; font-size: 14px; }
.drawing .radii__use { fill: var(--ink); font-size: 12px; }
.map__frame { fill: var(--paper); stroke: var(--ink); stroke-width: 1.5; }
.map__streets path { fill: none; stroke: var(--ink); stroke-width: 10; stroke-opacity: 0.14; }
.map__water { fill: none; stroke: var(--ink-soft); stroke-width: 2; stroke-dasharray: 6 4; }
.map__water-fill { fill: var(--paper-deep); stroke: var(--ink-soft); stroke-width: 1; }
.drawing .map__labels text { fill: var(--ink); font-size: 12px; letter-spacing: 0.08em; }
.map__office { fill: var(--paper); stroke: var(--claret); stroke-width: 2; }
.map__mark { fill: var(--claret); }
.map__first { fill: none; stroke: var(--ink); stroke-width: 1.5; }
.drawing .map__office-label { fill: var(--claret); font-weight: 700; font-size: 13px; }
.drawing .map__note { font-size: 11px; fill: var(--ink-soft); }
.envelope { fill: #D9D4C9; stroke: var(--ink); stroke-width: 1.5; }
.envelope__flap { fill: none; stroke: var(--ink-soft); stroke-width: 1.25; }
.envelope__card { fill: var(--paper); stroke: var(--ink); stroke-width: 1.5; }
.maps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }

.certificate__frame { fill: #3A342C; }
.certificate__paper { fill: #F6F3EA; }
.certificate__border { fill: none; stroke: #8C7B52; stroke-width: 1.5; stroke-dasharray: 1 3; }
.drawing .certificate__issuer { fill: #5A4A28; font-size: 13px; font-weight: 650; letter-spacing: 0.24em; stroke: none; }
.drawing .certificate__title { fill: var(--ink); font-family: var(--serif); font-style: italic; font-size: 24px; letter-spacing: 0; stroke: none; }
.drawing .certificate__term { fill: #5A4A28; font-size: 11px; font-weight: 650; letter-spacing: 0.14em; stroke: none; }
.drawing .certificate__value { fill: var(--ink); font-family: var(--serif); font-size: 16px; letter-spacing: 0; stroke: none; }
.drawing .certificate__value--small { font-size: 14px; }
.certificate__seal { fill: none; stroke: #9A7B2C; stroke-width: 2; }
.drawing .certificate__seal-text { fill: #9A7B2C; font-weight: 700; font-size: 16px; letter-spacing: 0.1em; stroke: none; }
.certificate__stamp { fill: none; stroke: var(--claret); stroke-width: 2; }
.drawing .certificate__stamp-text { fill: var(--claret); font-weight: 700; font-size: 12px; letter-spacing: 0.12em; stroke: none; }

/* ---------- Footer ---------- */

.footer { margin-top: 56px; background: var(--paper-deep); border-top: 3px solid var(--claret); font-family: var(--sans); font-size: 0.875rem; line-height: 1.5; }
.footer__top { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; padding: 28px 0 20px; border-bottom: 1px solid var(--ink); }
.footer__mark { display: flex; align-items: center; gap: 12px; margin: 0; font-weight: 650; font-size: 0.9375rem; letter-spacing: 0.22em; text-transform: uppercase; }
.footer__mark .mark { width: 30px; height: 21px; color: var(--claret); }
.footer__motto { margin: 0; font-family: var(--serif); font-style: italic; font-size: 1.0625rem; }
.footer__columns { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px var(--gutter); padding: 24px 0 28px; }
.footer__heading { font-size: 0.71875rem; font-weight: 650; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 10px; }
.footer ul { list-style: none; margin: 0; padding: 0; }
.footer li { margin: 0 0 6px; }
.footer a { color: var(--ink); text-decoration-color: var(--rule); }
.footer a:hover { text-decoration-color: var(--claret); }
.footer__offices { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px var(--gutter); padding: 20px 0; border-top: 1px solid var(--rule); }
.footer__office p { margin: 0; }
.footer__city { font-weight: 650; margin-bottom: 2px; }
.footer__office { font-variant-numeric: lining-nums; }
.footer__small { border-top: 1px solid var(--rule); padding: 18px 0 32px; font-size: 0.78125rem; color: var(--ink-soft); }
.footer__small p { max-width: 82em; margin-bottom: 0.8em; }
.footer__small a { color: var(--ink-soft); }
.footer__legal a { margin-left: 12px; }

/* ---------- Narrower screens ---------- */

@media (max-width: 1100px) {
  .footer__columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .block__body { grid-column: 4 / 13; }
  .block__aside { grid-column: 4 / 13; margin-top: 20px; }
}

@media (max-width: 860px) {
  :root { --margin: 24px; }
  body { font-size: 1.0625rem; }
  .page-head, .block, .statement, .person { display: block; }
  .page-head__label, .block__label, .statement__label { margin-bottom: 14px; }
  .page-head__title { font-size: 2.25rem; }
  .opening__title { font-size: 2rem; }
  .opening__lead { font-size: 1.1875rem; }
  .lead { font-size: 1.1875rem; }
  .block__title { font-size: 1.5rem; }
  .split, .plate-pair, .book-split, .maps, .office { grid-template-columns: minmax(0, 1fr); }
  .sheet { padding: 28px 22px 32px; }
  .pamphlet { grid-template-columns: minmax(0, 340px); }
  .figures { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .practice li { grid-template-columns: minmax(0, 1fr); }
  .practice li p { margin-top: 4px; }
  .person__record { margin-bottom: 28px; }
  .person__bio > p:first-child { font-size: 1.1875rem; }
  .footer__offices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .utility__inner { flex-wrap: wrap; gap: 2px 16px; justify-content: flex-start; }
}

@media (max-width: 640px) {
  .plate__drawing .drawing--landscape { display: none; }
  .plate__drawing .drawing--portrait { display: block; }
  .plate-pair > div + div { border-top: 1px solid var(--rule); padding-top: 16px; }
}

@media (max-width: 560px) {
  :root { --margin: 16px; }
  .masthead__inner { padding-top: 20px; padding-bottom: 14px; }
  .logo { gap: 10px; }
  .logo .mark { width: 32px; height: 22px; }
  .logo__word { font-size: 0.875rem; letter-spacing: 0.16em; }
  .nav ul { gap: 2px 16px; }
        .masthead__inner { flex-direction: column; align-items: flex-start; gap: 10px; }
  .masthead__address { text-align: left; font-size: 0.875rem; }
  .nav a { font-size: 0.71875rem; letter-spacing: 0.1em; }
  .page-head { padding-top: 32px; padding-bottom: 28px; }
  .page-head__title { font-size: 1.9375rem; }
  .statement { padding-top: 36px; }
  .statement h1 { font-size: 2.125rem; }
  .bulletin-list li { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .footer__columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__offices { grid-template-columns: minmax(0, 1fr); }
  .record dl > div { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .plate__drawing { padding: 10px; }
  .quote blockquote { font-size: 1.25rem; }
  .figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

@media print {
  .utility, .nav, .crumbs, .footer__columns, .skip { display: none; }
  body { background: #fff; }
}
/*
  editions.css
  The site's earlier editions, kept on file: 2014, 2006, 1998 and the
  printed brochure of 1971. Each restyles the same pages under
  html[data-edition], keeps every text colour at 4.5:1 or better, and
  never animates. The build appends this to site.css.

  Created: 2026-11-03
  Last modified: 2026-11-03
*/

/* ---------- Shared by every reverted edition ---------- */

/* Things that did not exist yet in an edition's year are hidden by the
   rule edition.js writes from data-since. Text that differed between
   editions is marked with the editions it belongs to (data-only). */
html[data-edition="current"] [data-only]:not([data-only~="current"]),
html[data-edition="2014"] [data-only]:not([data-only~="2014"]),
html[data-edition="2006"] [data-only]:not([data-only~="2006"]),
html[data-edition="1998"] [data-only]:not([data-only~="1998"]),
html[data-edition="1971"] [data-only]:not([data-only~="1971"]) { display: none !important; }

/* A page that did not exist yet shows only its stub. */
.page-stub { display: none; }
html[data-page-future] .page-stub { display: block; padding-top: 56px; padding-bottom: 72px; }
html[data-page-future] main > :not(.page-stub), html[data-page-future] .crumbs { display: none !important; }
.page-stub h1 { font-size: 2rem; margin-bottom: 16px; }
html[data-edition="1971"] .utility { display: none; }
html[data-edition="1971"] a[href*="registry.frothly.org"], .nowrap { white-space: nowrap; }

.edition-return { display: none; }
html:not([data-edition="current"]) .edition-return { display: inline; }

.edition-notice { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 18px; padding: 10px 16px; background: #1B1915; color: #F1EEE6; font-family: 'Libre Franklin Variable', Arial, sans-serif; font-size: 0.875rem; line-height: 1.4; text-align: center; }
.edition-notice p { margin: 0; }
.edition-notice__button { font: inherit; font-weight: 650; color: #1B1915; background: #F1EEE6; border: 0; padding: 6px 14px; cursor: pointer; }
.edition-notice__button:focus-visible { outline: 2px solid #F1EEE6; outline-offset: 2px; }

.spray { max-width: var(--max); margin: 8px auto 32px; padding: 0 var(--margin); }
.spray > * { max-width: 560px; }
.spray__label { margin: 0 0 4px; font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-soft); }
.spray__title { margin: 0; font-weight: 700; font-size: 1.375rem; line-height: 1.2; }
.spray__text { margin: 6px 0 12px; }
.spray__button { font: inherit; font-weight: 700; cursor: pointer; padding: 8px 16px; }

.glen-note { font-style: italic; color: var(--ink) !important; }
.visitor-counter { font-family: 'Courier Prime', 'Courier New', monospace; }

/* ---------- 2014: flat, white, light type ---------- */

html[data-edition="2014"] {
  --paper: #FFFFFF;
  --paper-deep: #F4F4F4;
  --paper-edge: #E2E2E2;
  --ink: #333333;
  --ink-soft: #5E5E5E;
  --rule: #DDDDDD;
  --claret: #8A1C2B;
  --claret-deep: #6A1421;
  --sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --serif: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --caps: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --max: 1100px;
}
html[data-edition="2014"] body { font-size: 1rem; line-height: 1.65; font-variant-numeric: normal; }
html[data-edition="2014"] .masthead { background: var(--claret); }
html[data-edition="2014"] .masthead__rule { display: none; }
html[data-edition="2014"] .nav { padding-bottom: 14px; }
html[data-edition="2014"] .masthead__inner { padding-top: 18px; padding-bottom: 18px; align-items: center; }
html[data-edition="2014"] .logo, html[data-edition="2014"] .logo:hover { color: #FFFFFF; }
html[data-edition="2014"] .logo .mark { color: #FFFFFF; }
html[data-edition="2014"] .logo__word { font-weight: 300; letter-spacing: 0.08em; }
html[data-edition="2014"] .masthead__address { color: #FFFFFF; }
html[data-edition="2014"] .nav a { color: #FFFFFF; text-transform: none; letter-spacing: 0; font-size: 0.9375rem; font-weight: 400; }
html[data-edition="2014"] .nav a.is-current, html[data-edition="2014"] .nav a:hover { border-bottom-color: #FFFFFF; color: #FFFFFF; }
html[data-edition="2014"] .utility { background: var(--paper-deep); }
html[data-edition="2014"] h1, html[data-edition="2014"] .page-head__title, html[data-edition="2014"] .opening__title, html[data-edition="2014"] .block__title { font-weight: 300; letter-spacing: -0.01em; }
html[data-edition="2014"] .kicker, html[data-edition="2014"] .block__heading { border-top: 0; padding-top: 0; text-transform: uppercase; font-size: 0.8125rem; letter-spacing: 0.1em; font-weight: 600; }
html[data-edition="2014"] .block__heading { color: var(--ink-soft); }
html[data-edition="2014"] .plate__drawing, html[data-edition="2014"] .notice { border: 1px solid var(--rule); border-radius: 4px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12); }
html[data-edition="2014"] .notice { border-left: 4px solid var(--claret); background: #FBF5F6; }
html[data-edition="2014"] .register tbody tr:nth-child(even) { background: #F8F8F8; }
html[data-edition="2014"] .register thead th { border-top: 0; border-bottom: 2px solid var(--rule); }
html[data-edition="2014"] .footer { background: #2B2B2B; color: #E4E4E4; border-top: 0; }
html[data-edition="2014"] .footer a, html[data-edition="2014"] .footer__small a { color: #FFFFFF; }
html[data-edition="2014"] .footer__small { color: #D0D0D0; }
html[data-edition="2014"] .footer .glen-note { color: #FFFFFF !important; }
html[data-edition="2014"] .footer__top, html[data-edition="2014"] .footer__offices, html[data-edition="2014"] .footer__small { border-color: #4A4A4A; }
html[data-edition="2014"] .footer__mark .mark { color: #FFFFFF; }
html[data-edition="2014"] .spray > * { max-width: none; }
html[data-edition="2014"] .spray { padding-top: 16px; padding-bottom: 16px; border: 1px solid var(--rule); border-radius: 4px; background: #F7F7F7; max-width: calc(var(--max) - 2 * var(--margin)); }
html[data-edition="2014"] .spray__button { background: var(--claret); color: #FFFFFF; border: 0; border-radius: 4px; }

/* ---------- 2006: a centred page on grey, Verdana and tabs ---------- */

html[data-edition="2006"] {
  --paper: #FFFFFF;
  --paper-deep: #EEF0F3;
  --paper-edge: #D6DAE0;
  --ink: #222222;
  --ink-soft: #4F4F4F;
  --rule: #C9CED6;
  --claret: #7A1F2B;
  --claret-deep: #5C1520;
  --sans: Verdana, Geneva, 'DejaVu Sans', sans-serif;
  --serif: Verdana, Geneva, 'DejaVu Sans', sans-serif;
  --caps: Georgia, 'Times New Roman', serif;
  --max: 860px;
  --margin: 20px;
  background: #CFCFC6;
}
html[data-edition="2006"] body { max-width: 900px; margin: 0 auto; background: #FFFFFF; border-left: 1px solid #9A9A90; border-right: 1px solid #9A9A90; font-size: 0.8125rem; line-height: 1.6; font-variant-numeric: normal; }
html[data-edition="2006"] a { color: #0645AD; }
html[data-edition="2006"] a:visited { color: #5A3696; }
html[data-edition="2006"] h1, html[data-edition="2006"] h2, html[data-edition="2006"] .page-head__title, html[data-edition="2006"] .opening__title, html[data-edition="2006"] .block__title { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; color: var(--claret); letter-spacing: 0; }
html[data-edition="2006"] .page-head__title, html[data-edition="2006"] .opening__title { font-size: 2rem; max-width: none; }
html[data-edition="2006"] .masthead { background: linear-gradient(#FFFFFF, #E9E4DC); border-bottom: 1px solid #B8B2A7; }
html[data-edition="2006"] .masthead__rule { display: none; }
html[data-edition="2006"] .masthead__address { display: none; }
html[data-edition="2006"] .masthead__inner { flex-direction: column; align-items: flex-start; gap: 14px; padding-bottom: 0; }
html[data-edition="2006"] .logo__word { font-family: Georgia, serif; text-transform: none; letter-spacing: 0.02em; font-weight: 400; font-size: 1.5rem; }
html[data-edition="2006"] .nav ul { gap: 0 4px; justify-content: flex-start; }
html[data-edition="2006"] .nav a { display: inline-block; text-transform: none; letter-spacing: 0; font-size: 0.75rem; font-weight: 700; color: #222222; padding: 5px 12px; border: 1px solid #A9A397; border-bottom: 0; border-radius: 4px 4px 0 0; background: linear-gradient(#FDFDFD, #DDD8CE); }
html[data-edition="2006"] .nav a.is-current { background: #FFFFFF; border-bottom: 0; }
html[data-edition="2006"] .page-head, html[data-edition="2006"] .block, html[data-edition="2006"] .statement, html[data-edition="2006"] .person { display: block; }
html[data-edition="2006"] .block__label, html[data-edition="2006"] .page-head__label, html[data-edition="2006"] .statement__label { margin-bottom: 10px; }
html[data-edition="2006"] .block__heading { background: var(--paper-deep); border: 1px solid var(--rule); padding: 4px 10px; font-size: 0.875rem; color: #222222; }
html[data-edition="2006"] .block__aside { margin-top: 12px; }
html[data-edition="2006"] .kicker { border-top: 0; font-size: 0.8125rem; }
html[data-edition="2006"] .lead, html[data-edition="2006"] .opening__lead { font-size: 0.9375rem; }
html[data-edition="2006"] .register thead th { background: #E1E5EC; border: 1px solid var(--rule); padding-left: 6px; color: #222222; }
html[data-edition="2006"] .register tbody th, html[data-edition="2006"] .register td { border: 1px solid var(--rule); padding-left: 6px; }
html[data-edition="2006"] .register { font-size: 0.75rem; }
html[data-edition="2006"] .notice { border: 1px solid #C7A64B; background: #FFF8DC; }
html[data-edition="2006"] .footer { margin-top: 24px; background: #EEF0F3; border-top: 1px solid #B8B2A7; text-align: center; font-size: 0.75rem; }
html[data-edition="2006"] .footer__columns, html[data-edition="2006"] .footer__offices { text-align: left; }
html[data-edition="2006"] .spray { border: 1px dashed #7A1F2B; padding: 12px 16px; max-width: calc(var(--max) - 2 * var(--margin)); background: #FFFDF2; }
html[data-edition="2006"] .spray__button { background: linear-gradient(#FDFDFD, #DDD8CE); border: 1px solid #A9A397; border-radius: 3px; color: #222222; }

/* ---------- 1998: grey, Times, blue links, raised borders ---------- */

html[data-edition="1998"] {
  --paper: #C0C0C0;
  --paper-deep: #D4D0C8;
  --paper-edge: #A8A8A8;
  --ink: #000000;
  --ink-soft: #222222;
  --rule: #808080;
  --claret: #800000;
  --claret-deep: #600000;
  --sans: 'Times New Roman', Times, 'Liberation Serif', serif;
  --serif: 'Times New Roman', Times, 'Liberation Serif', serif;
  --caps: 'Times New Roman', Times, 'Liberation Serif', serif;
  --max: 760px;
  --margin: 12px;
}
html[data-edition="1998"] body { font-size: 1rem; line-height: 1.35; font-variant-numeric: normal; -webkit-font-smoothing: auto; }
html[data-edition="1998"] a { color: #0000EE; text-decoration-thickness: auto; text-underline-offset: auto; }
html[data-edition="1998"] a:visited { color: #551A8B; }
html[data-edition="1998"] .utility { border-bottom: 2px groove #FFFFFF; text-align: center; }
html[data-edition="1998"] .utility__inner { justify-content: center; flex-wrap: wrap; }
html[data-edition="1998"] .utility__status { display: block; }
html[data-edition="1998"] .masthead__rule span { border: 0; height: 0; box-shadow: none; border-top: 3px ridge #FFFFFF; }
html[data-edition="1998"] .masthead__address { text-align: center; }
html[data-edition="1998"] .nav ul { justify-content: center; }
html[data-edition="1998"] .masthead__inner { flex-direction: column; align-items: center; text-align: center; gap: 10px; }
html[data-edition="1998"] .logo .mark { color: #800000; filter: drop-shadow(2px 2px 0 #404040); width: 54px; height: 38px; }
html[data-edition="1998"] .logo__word { font-family: 'URW Chancery L', 'Apple Chancery', 'Monotype Corsiva', cursive; font-style: italic; text-transform: none; letter-spacing: 0.02em; font-size: 1.75rem; font-weight: 400; color: #000080; }
html[data-edition="1998"] .nav ul { justify-content: center; gap: 2px 0; }
html[data-edition="1998"] .nav li::before { content: '| '; }
html[data-edition="1998"] .nav li:first-child::before { content: '[ '; }
html[data-edition="1998"] .nav li:last-child::after { content: ' ]'; }
html[data-edition="1998"] .nav a { color: #0000EE; text-decoration: underline; text-transform: none; letter-spacing: 0; font-size: 1rem; font-weight: 400; border: 0; padding: 0 4px; }
html[data-edition="1998"] .crumbs { display: none; }
html[data-edition="1998"] .page-head, html[data-edition="1998"] .block, html[data-edition="1998"] .statement, html[data-edition="1998"] .person { display: block; }
html[data-edition="1998"] .opening, html[data-edition="1998"] .page-head { text-align: center; }
html[data-edition="1998"] .opening__title, html[data-edition="1998"] .page-head__title { max-width: none; font-size: 2rem; font-weight: 700; color: #000080; letter-spacing: 0; }
html[data-edition="1998"] .opening__title { margin-left: auto; margin-right: auto; }
html[data-edition="1998"] .lead, html[data-edition="1998"] .opening__lead { margin-left: auto; margin-right: auto; font-size: 1.0625rem; }
html[data-edition="1998"] .kicker, html[data-edition="1998"] .block__heading { border-top: 0; font-weight: 700; color: #000000; font-size: 1.25rem; letter-spacing: 0; }
html[data-edition="1998"] .block { border-top: 3px ridge #FFFFFF; padding-top: 16px; }
html[data-edition="1998"] .block__title { font-weight: 700; }
html[data-edition="1998"] .plate__drawing { border: 3px outset #FFFFFF; background: #FFFFFF; }
html[data-edition="1998"] .register { border: 2px outset #FFFFFF; background: #D4D0C8; }
html[data-edition="1998"] .register thead th, html[data-edition="1998"] .register tbody th, html[data-edition="1998"] .register td { border: 1px inset #FFFFFF; padding: 4px; text-transform: none; letter-spacing: 0; font-size: 0.9375rem; color: #000000; }
html[data-edition="1998"] .notice { border: 3px double #000000; background: #FFFFE0; }
html[data-edition="1998"] .footer { background: #C0C0C0; border-top: 3px ridge #FFFFFF; text-align: center; }
html[data-edition="1998"] .footer__columns, html[data-edition="1998"] .footer__offices { text-align: left; }
html[data-edition="1998"] .footer a, html[data-edition="1998"] .footer__small a { color: #0000EE; }
html[data-edition="1998"] .footer__mark .mark { filter: drop-shadow(2px 2px 0 #404040); color: #800000; }
html[data-edition="1998"] .spray { text-align: center; }
html[data-edition="1998"] .spray > * { margin-left: auto; margin-right: auto; }
html[data-edition="1998"] .spray__title { color: #CC0000; font-size: 1.75rem; }
html[data-edition="1998"] .spray__title, html[data-edition="1998"] .spray__text { max-width: 468px; }
html[data-edition="1998"] .spray__text { background: #FFFF99; border: 2px outset #FFFFFF; padding: 8px; }
html[data-edition="1998"] .spray__button { background: #D4D0C8; border: 2px outset #FFFFFF; color: #000000; }
html[data-edition="1998"] .edition-notice { background: #000080; color: #FFFFFF; }

/* ---------- 1971: the printed brochure ---------- */

html[data-edition="1971"] {
  --paper: #EFE6CF;
  --paper-deep: #E5DAC0;
  --paper-edge: #D3C6A8;
  --ink: #2A241C;
  --ink-soft: #4A4034;
  --rule: #9C8E74;
  --claret: #7A2E2A;
  --claret-deep: #5C201D;
  --serif: 'Spectral', Georgia, serif;
  --typed: 'Courier Prime', 'Courier New', monospace;
  --max: 720px;
  --margin: 24px;
  background: #D9CDB0;
}
html[data-edition="1971"] body { max-width: 760px; margin: 24px auto; box-shadow: 0 0 0 1px #B9AB8C, 6px 6px 0 #C4B694; font-size: 1.0625rem; }
html[data-edition="1971"] .utility { text-align: center; border-bottom: 0; }
html[data-edition="1971"] .utility__inner { justify-content: center; }
html[data-edition="1971"] .utility__status { display: block; font-variant: small-caps; letter-spacing: 0.1em; }
html[data-edition="1971"] .masthead__inner { flex-direction: column; align-items: center; text-align: center; gap: 18px; }
html[data-edition="1971"] .masthead__address { text-align: center; }
html[data-edition="1971"] .masthead__rule span { border-bottom-width: 1px; box-shadow: none; height: 4px; border-top-width: 1px; border-style: double; }
html[data-edition="1971"] .logo { flex-direction: column; gap: 10px; }
html[data-edition="1971"] .logo .mark { width: 64px; height: 46px; }
html[data-edition="1971"] .nav ul { justify-content: center; gap: 4px 18px; }
html[data-edition="1971"] .nav a { font-size: 0.75rem; }
html[data-edition="1971"] .crumbs { display: none; }
html[data-edition="1971"] .page-head, html[data-edition="1971"] .block, html[data-edition="1971"] .statement, html[data-edition="1971"] .person { display: block; }
html[data-edition="1971"] .opening, html[data-edition="1971"] .page-head { text-align: center; }
html[data-edition="1971"] .opening__title, html[data-edition="1971"] .page-head__title { max-width: none; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; font-size: 1.875rem; line-height: 1.2; }
html[data-edition="1971"] .opening__title { margin-left: auto; margin-right: auto; }
html[data-edition="1971"] .lead, html[data-edition="1971"] .opening__lead { margin-left: auto; margin-right: auto; font-style: italic; }
html[data-edition="1971"] .kicker { border-top: 0; letter-spacing: 0.2em; }
html[data-edition="1971"] .facts { justify-content: center; }
html[data-edition="1971"] .block__heading { text-align: center; border-top: 3px double var(--ink); padding-top: 10px; letter-spacing: 0.2em; text-transform: uppercase; font-family: var(--sans); font-size: 0.8125rem; font-weight: 650; }
html[data-edition="1971"] .plate { filter: sepia(0.35); }
html[data-edition="1971"] .register thead th { border-top: 3px double var(--ink); }
html[data-edition="1971"] .notice { border: 2px dashed var(--ink); border-top-width: 2px; background: transparent; }
html[data-edition="1971"] .footer { background: transparent; border-top: 3px double var(--ink); text-align: center; }
html[data-edition="1971"] .footer__columns { display: none; }
html[data-edition="1971"] .footer__offices { grid-template-columns: minmax(0, 1fr); text-align: center; }
html[data-edition="1971"] .footer__offices a { display: none; }
html[data-edition="1971"] .footer__offices .footer__office::after { content: 'Telephone: ask the operator for Runciter Associates.'; display: block; font-style: italic; }
html[data-edition="1971"] .footer__small .glen-note { font-family: var(--typed); font-style: normal; border: 1px solid var(--ink); padding: 10px 12px; background: #F6F0DF; }
html[data-edition="1971"] .spray { text-align: center; border: 3px double var(--ink); padding: 18px 20px; max-width: calc(var(--max) - 2 * var(--margin)); background: #F6F0DF; }
html[data-edition="1971"] .spray > * { max-width: none; }
html[data-edition="1971"] .spray__title { font-family: var(--serif); font-style: italic; font-size: 2rem; font-weight: 600; color: var(--claret); }
html[data-edition="1971"] .spray__button { background: transparent; border: 2px solid var(--ink); color: var(--ink); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.8125rem; }
html[data-edition="1971"] .edition-notice { background: #2A241C; color: #EFE6CF; }

@media (max-width: 860px) {
  html[data-edition="1971"] body { margin: 0 auto; box-shadow: none; }
  html[data-edition="2006"] body { border: 0; }
}
