/* Shared stylesheet for all four public-witness packages.

   Until 2026-08-31 each package carried its own copy of this file. Three of the
   four were byte-identical and the fourth (law-and-liberty) was the same file
   plus the .venue-index block below, so a palette or nav change had to be made
   four times or the packages silently drifted apart. This is that one copy;
   the .venue-index rules stay here and are simply unused by the pages that have
   no venue index. Nav markup still lives in each page — there is no build step
   and no JavaScript, so that part cannot be shared. See CLAUDE.md sec 9.

   All font URLs below are root-relative, which is why this file could move. */

/* Self-hosted fonts for the public-witness pages.
   Replaces the fonts.googleapis.com stylesheet — the site is explicitly no-CDN
   (see projects/church-site/README.md). Latin + Latin-Extended subsets only;
   that covers the section sign, em dashes and curly quotes these pages use.
   Files fetched from fonts.gstatic.com 2026-08-30. All three families are under
   the SIL Open Font License 1.1, which permits self-hosting and redistribution
   provided each copy carries the copyright notice and the licence. Serving a
   font file to a visitor IS redistribution, so the licences are shipped, not
   merely cited: see /public-witness/fonts/OFL-Spectral.txt,
   OFL-SourceSans3.txt and OFL-IBMPlexMono.txt, each verbatim as delivered
   upstream, and README.txt there for the copyright lines. */

/* IBM Plex Mono 400 — latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/public-witness/fonts/ibm-plex-mono-400-latin-ext.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;
}

/* IBM Plex Mono 400 — latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/public-witness/fonts/ibm-plex-mono-400-latin.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;
}

/* IBM Plex Mono 500 — latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/public-witness/fonts/ibm-plex-mono-500-latin-ext.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;
}

/* IBM Plex Mono 500 — latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/public-witness/fonts/ibm-plex-mono-500-latin.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;
}

/* IBM Plex Mono 600 — latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/public-witness/fonts/ibm-plex-mono-600-latin-ext.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;
}

/* IBM Plex Mono 600 — latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/public-witness/fonts/ibm-plex-mono-600-latin.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;
}

/* Source Sans 3 400 italic — latin-ext */
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/public-witness/fonts/source-sans-3-400-italic-latin-ext.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;
}

/* Source Sans 3 400 italic — latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/public-witness/fonts/source-sans-3-400-italic-latin.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;
}

/* Source Sans 3 400 — latin-ext */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/public-witness/fonts/source-sans-3-400-latin-ext.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;
}

/* Source Sans 3 400 — latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/public-witness/fonts/source-sans-3-400-latin.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;
}

/* Source Sans 3 600 — latin-ext */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/public-witness/fonts/source-sans-3-600-latin-ext.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;
}

/* Source Sans 3 600 — latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/public-witness/fonts/source-sans-3-600-latin.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;
}

/* Source Sans 3 700 — latin-ext */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/public-witness/fonts/source-sans-3-700-latin-ext.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;
}

/* Source Sans 3 700 — latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/public-witness/fonts/source-sans-3-700-latin.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;
}

/* Spectral 500 italic — latin-ext */
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/public-witness/fonts/spectral-500-italic-latin-ext.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;
}

/* Spectral 500 italic — latin */
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/public-witness/fonts/spectral-500-italic-latin.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;
}

/* Spectral 500 — latin-ext */
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/public-witness/fonts/spectral-500-latin-ext.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;
}

/* Spectral 500 — latin */
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/public-witness/fonts/spectral-500-latin.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;
}

/* Spectral 600 — latin-ext */
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/public-witness/fonts/spectral-600-latin-ext.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;
}

/* Spectral 600 — latin */
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/public-witness/fonts/spectral-600-latin.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;
}

/* Spectral 700 — latin-ext */
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/public-witness/fonts/spectral-700-latin-ext.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;
}

/* Spectral 700 — latin */
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/public-witness/fonts/spectral-700-latin.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;
}

/* ============================================================
   PUBLIC WITNESS — shared stylesheet
   Used identically by both articles so they read as one set.
   All color and type decisions live in :root.
   ============================================================ */

:root{
  /* Palette — aligned to the main site (assets/style.css) 2026-08-30.
     These pages used a navy/brass scheme that read as a different site from the
     landing page. Same cream + green identity now, and the same dark mode.
     NOTE: --deep was previously used BOTH as a dark background and as a
     foreground colour. One token cannot be both once a dark mode exists, so it
     is split into --deep-bg and --deep-fg. */
  --paper:#F2F2E6;
  --paper-deep:#E8E8D8;
  --card:#FFFFFF;
  --ink:#1A1A1A;
  --ink-muted:#4A4A4A;
  --ink-faint:#6A6A5E;
  --deep-bg:#22461C;        /* dark green blocks: masthead, table heads, colophon */
  --deep-fg:#2D5A16;        /* dark green text: links, headings, statutes */
  --deep-soft:#38761D;
  --brass:#38761D;          /* accent on light ground: section numbers, hover, rules */
  --brass-light:#8FC97A;    /* accent on the dark green blocks */
  --rule:#D4D4C8;
  --rule-soft:#E2E2D6;

  /* Risk signal — semantic, kept distinguishable from the green identity */
  --ok:#2F6B23;
  --ok-wash:#E7EFDF;
  --caution:#8A6212;
  --caution-wash:#F4EEDD;
  --risk:#8B2A2A;
  --risk-wash:#F3E3E1;

  /* Type */
  --display:"Spectral", Georgia, "Times New Roman", serif;
  --body:"Source Sans 3", "Segoe UI", system-ui, -apple-system, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  --measure:70ch;
  --gutter:clamp(1.15rem, 4vw, 3rem);
}

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

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:1.5rem;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  font-size:1.0625rem;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:var(--deep-fg);text-underline-offset:.18em;text-decoration-thickness:.06em;}
a:hover{color:var(--brass);}
:focus-visible{outline:2.5px solid var(--brass);outline-offset:3px;border-radius:2px;}

.skip{
  position:absolute;left:-9999px;top:0;
  background:var(--deep-bg);color:#fff;padding:.75rem 1.15rem;z-index:99;
  font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
}
.skip:focus{left:.5rem;top:.5rem;}

/* ============================================================
   MASTHEAD
   ============================================================ */
.masthead{
  background:var(--deep-bg);
  color:#EDF1EF;
  padding:clamp(2.25rem,6vw,4.5rem) var(--gutter) clamp(1.75rem,4vw,2.75rem);
  border-bottom:6px solid var(--brass);
}
.masthead__inner{max-width:74rem;margin:0 auto;}

.eyebrow{
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.19em;
  text-transform:uppercase;
  color:var(--brass-light);
  margin:0 0 1.1rem;
  display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;
}
.eyebrow > span{display:inline-flex;align-items:center;}
.eyebrow > span::before{
  content:"";width:.34rem;height:.34rem;background:currentColor;
  margin-right:.6rem;flex:none;
}

.masthead h1{
  font-family:var(--display);
  font-weight:700;
  font-size:clamp(1.9rem,5vw,3.2rem);
  line-height:1.1;
  letter-spacing:-.015em;
  margin:0 0 .85rem;
  max-width:24ch;
}
.standfirst{
  font-size:clamp(1.02rem,2vw,1.2rem);
  color:#B9C6C4;
  max-width:60ch;
  margin:0 0 2rem;
  line-height:1.55;
}

.factbar{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));
  gap:1px;
  background:rgba(201,168,94,.3);
  border:1px solid rgba(201,168,94,.3);
  margin:0;
}
.factbar > div{background:var(--deep-bg);padding:.85rem 1rem;}
.factbar dt{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;
  text-transform:uppercase;color:#8FA5A6;margin:0 0 .3rem;
}
.factbar dd{margin:0;font-size:.94rem;font-weight:600;color:#EDF1EF;line-height:1.35;}

/* Companion-page link in masthead */
.companion{
  margin:1.75rem 0 0;
  border-top:1px solid rgba(201,168,94,.3);
  padding-top:1.25rem;
  font-size:.95rem;
  color:#B9C6C4;
  max-width:60ch;
}
.companion a{
  color:var(--brass-light);
  font-weight:600;
  text-decoration-thickness:.08em;
}
.companion a:hover{color:#fff;}

/* Venue index — the three field guides, surfaced at the top of the masthead */
.venue-index{
  margin:2rem 0 0;
  border-top:1px solid rgba(201,168,94,.3);
  padding-top:1.4rem;
}
.venue-index h2{
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brass-light);
  margin:0 0 .6rem;
}
.venue-index > p{
  font-size:.95rem;
  color:#B9C6C4;
  max-width:60ch;
  margin:0 0 1rem;
}
.venue-index ul{
  list-style:none;
  margin:0;padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));
  gap:.7rem;
}
.venue-index li{margin:0;}
.venue-index a{
  display:block;
  background:var(--deep-soft);
  border:1px solid rgba(201,168,94,.35);
  padding:.85rem 1rem;
  text-decoration:none;
}
.venue-index a:hover{border-color:var(--brass-light);background:#1E4152;}
.venue-index a strong{
  display:block;
  color:#EDF1EF;
  font-weight:600;
  line-height:1.3;
}
.venue-index a span{
  display:block;
  font-size:.8rem;
  color:#B9C6C4;
  margin-top:.25rem;
  line-height:1.4;
}

/* ============================================================
   DISCLAIMER STRIP
   ============================================================ */
.disclaimer-strip{
  background:#2B1F1F;color:#F1DCDC;border-bottom:1px solid #45302F;
  padding:.9rem var(--gutter);font-size:.9rem;
}
.disclaimer-strip p{max-width:74rem;margin:0 auto;line-height:1.5;}
.disclaimer-strip strong{
  color:#F6B9B9;font-family:var(--mono);font-size:.76rem;
  letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:.2rem;
}

/* ============================================================
   SHELL
   ============================================================ */
.shell{
  max-width:74rem;margin:0 auto;
  padding:0 var(--gutter) 5rem;
  display:grid;grid-template-columns:1fr;gap:2.5rem;
}
@media (min-width:64rem){
  .shell{
    grid-template-columns:16rem 1fr;
    gap:3.5rem;align-items:start;padding-top:1rem;
  }
}

/* ---- Table of contents ---- */
.toc-toggle{
  display:block;width:100%;margin-top:2rem;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  background:transparent;border:1px solid var(--rule);color:var(--ink-muted);
  padding:.8rem 1rem;cursor:pointer;text-align:left;
}
.toc-toggle:hover{border-color:var(--ink);color:var(--ink);}

.contents{
  border-top:2px solid var(--ink);
  padding-top:1rem;
  margin-top:2rem;
}
@media (min-width:64rem){
  .toc-toggle{display:none;}
  .contents{
    position:sticky;top:1.5rem;
    max-height:calc(100vh - 3rem);overflow-y:auto;
    margin-top:2.75rem;
    scrollbar-width:thin;
  }
}
.contents h2{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.19em;
  text-transform:uppercase;color:var(--ink-muted);margin:0 0 .85rem;
}
.contents ol{list-style:none;margin:0;padding:0;counter-reset:toc;}
.contents li{counter-increment:toc;}
.contents li > a{
  display:block;padding:.42rem 0 .42rem 2.1rem;position:relative;
  font-size:.89rem;line-height:1.35;color:var(--ink-muted);
  text-decoration:none;border-top:1px solid var(--rule-soft);
}
.contents li:first-child > a{border-top:0;}
.contents li > a::before{
  content:counter(toc,decimal-leading-zero);
  position:absolute;left:0;top:.44rem;
  font-family:var(--mono);font-size:.68rem;color:var(--brass);
}
.contents li > a:hover{color:var(--ink);}
.contents li > a[aria-current="true"]{color:var(--deep-fg);font-weight:600;}
.contents li > a[aria-current="true"]::after{
  content:"";position:absolute;left:-.85rem;top:.55rem;
  width:3px;height:1rem;background:var(--brass);
}
/* Sub-list for activity sheets */
.contents ul{list-style:none;margin:0 0 .3rem;padding:0 0 0 2.1rem;}
.contents ul a{
  display:block;padding:.24rem 0;font-size:.82rem;line-height:1.3;
  color:var(--ink-faint);text-decoration:none;
}
.contents ul a:hover{color:var(--deep-fg);}
.contents ul a[aria-current="true"]{color:var(--deep-fg);font-weight:600;}

/* ============================================================
   DOCUMENT BODY
   ============================================================ */
.doc{min-width:0;}
.doc > section{padding-top:2.75rem;scroll-margin-top:1.5rem;}
.doc > section + section{border-top:1px solid var(--rule);margin-top:2.75rem;}

.sec-head{display:flex;gap:1rem;align-items:baseline;margin:0 0 1.5rem;}
.sec-num{font-family:var(--mono);font-size:.78rem;color:var(--brass);padding-top:.35rem;flex:none;}

.doc h2{
  font-family:var(--display);font-weight:700;
  font-size:clamp(1.45rem,3.3vw,2.05rem);
  line-height:1.15;letter-spacing:-.012em;margin:0;
}
.doc h3{
  font-family:var(--display);font-weight:600;
  font-size:1.2rem;line-height:1.28;
  margin:2.4rem 0 .7rem;color:var(--deep-fg);
  scroll-margin-top:1.5rem;
}
.doc h4{
  font-family:var(--mono);font-weight:600;font-size:.71rem;
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-muted);margin:1.9rem 0 .6rem;
}
.doc p{max-width:var(--measure);margin:0 0 1.05rem;}
.doc ul,.doc ol{max-width:var(--measure);padding-left:1.35rem;margin:0 0 1.2rem;}
.doc li{margin-bottom:.5rem;}
.doc li::marker{color:var(--brass);}
.lede{font-size:1.15rem;line-height:1.55;}

/* Heading anchor links, injected by app.js */
.anchor{
  font-family:var(--mono);font-size:.7em;font-weight:400;
  color:var(--rule);text-decoration:none;
  margin-left:.5rem;opacity:0;transition:opacity .15s ease,color .15s ease;
  vertical-align:.08em;
}
h2:hover .anchor,h3:hover .anchor,.anchor:focus{opacity:1;color:var(--brass);}
@media (hover:none){.anchor{opacity:.45;}}
.anchor[data-copied="true"]{color:var(--ok);opacity:1;}

/* ---- Verdict / key-point box ---- */
.verdict{
  background:var(--card);border:1px solid var(--rule);
  border-left:5px solid var(--deep-fg);
  padding:1.35rem 1.5rem;margin:0 0 1.75rem;max-width:var(--measure);
}
.verdict h4{margin-top:0;color:var(--deep-fg);}
.verdict > :last-child{margin-bottom:0;}

/* ---- Citation card ---- */
.cite{
  background:var(--card);border:1px solid var(--rule-soft);
  margin:1.4rem 0;max-width:var(--measure);
}
.cite__label{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.09em;
  background:var(--deep-bg);color:#C9D6D3;padding:.55rem .95rem;
  display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;justify-content:space-between;
}
.cite__label a{color:var(--brass-light);text-decoration:none;font-size:.92em;white-space:nowrap;}
.cite__label a:hover{color:#fff;text-decoration:underline;}
.cite__body{padding:1.05rem 1.15rem;}
.cite__body > :last-child{margin-bottom:0;}

blockquote{
  margin:0 0 1rem;padding-left:1rem;
  border-left:3px solid var(--brass);
  font-family:var(--display);font-style:italic;
  font-size:1.02rem;color:var(--deep-fg);
}
blockquote > :last-child{margin-bottom:0;}
blockquote cite{
  display:block;font-family:var(--body);font-style:normal;
  font-size:.84rem;color:var(--ink-muted);margin-top:.5rem;letter-spacing:.01em;
}

/* ---- Risk tier chips ---- */
.tier{
  display:inline-flex;align-items:center;gap:.45rem;
  font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;
  text-transform:uppercase;padding:.22rem .55rem;
  border:1px solid currentColor;white-space:nowrap;
}
.tier::before{content:"";width:.5rem;height:.5rem;background:currentColor;flex:none;}
.tier--ok{color:var(--ok);}
.tier--caution{color:var(--caution);}
.tier--risk{color:var(--risk);}

.tier-key{
  display:flex;flex-wrap:wrap;gap:.6rem;
  margin:1.25rem 0 1.75rem;max-width:var(--measure);
}

/* ---- Activity sheet: the core component of the field guide ---- */
.sheet{
  background:var(--card);
  border:1px solid var(--rule);
  border-left-width:6px;
  margin:1.5rem 0 2rem;
  scroll-margin-top:1.5rem;
}
.sheet.is-ok{border-left-color:var(--ok);}
.sheet.is-caution{border-left-color:var(--caution);}
.sheet.is-risk{border-left-color:var(--risk);}

.sheet__head{
  padding:1.1rem 1.3rem;border-bottom:1px solid var(--rule-soft);
  display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:space-between;
}
.sheet__id{
  font-family:var(--mono);font-size:.72rem;color:var(--brass);
  letter-spacing:.1em;display:block;margin-bottom:.25rem;
}
.sheet__head h3{
  margin:0;font-size:1.16rem;color:var(--ink);
  font-family:var(--display);font-weight:600;line-height:1.25;
}
.sheet__body{padding:1.15rem 1.3rem 1.35rem;}
.sheet__body > :last-child{margin-bottom:0;}

.sheet dl{margin:0;}
.sheet dt{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-muted);
  margin:1.15rem 0 .35rem;
}
.sheet dl > div:first-child dt{margin-top:0;}
.sheet dd{margin:0;max-width:var(--measure);}
.sheet dd > :last-child{margin-bottom:0;}
.sheet dd p{margin:0 0 .6rem;max-width:none;}
.sheet dd ul{margin:0 0 .3rem;padding-left:1.2rem;max-width:none;}
.sheet dd li{margin-bottom:.35rem;}

/* Where-to-stand list gets a distinct look */
.spots{list-style:none;padding:0 !important;margin:0 !important;}
.spots li{
  padding:.5rem 0 .5rem .1rem;
  border-top:1px solid var(--rule-soft);
  font-size:.97rem;
}
.spots li:first-child{border-top:0;padding-top:0;}
.spots b{
  display:block;font-family:var(--mono);font-size:.78rem;
  font-weight:600;color:var(--deep-fg);letter-spacing:.02em;margin-bottom:.15rem;
}

/* ---- Tables ---- */
.table-wrap{
  overflow-x:auto;margin:1.5rem 0;
  border:1px solid var(--rule);background:var(--card);
  -webkit-overflow-scrolling:touch;
}
table{border-collapse:collapse;width:100%;min-width:36rem;font-size:.93rem;}
caption{
  text-align:left;font-family:var(--mono);font-size:.68rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink-muted);padding:.85rem 1rem;
  border-bottom:1px solid var(--rule);background:var(--paper);
}
th,td{padding:.68rem .9rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule-soft);line-height:1.45;}
thead th{
  font-family:var(--mono);font-size:.65rem;letter-spacing:.11em;text-transform:uppercase;
  color:#D8E2DF;background:var(--deep-bg);font-weight:600;border-bottom:0;
}
tbody tr:last-child td{border-bottom:0;}
tbody th{font-weight:600;}

code{
  font-family:var(--mono);font-size:.85em;
  background:rgba(23,50,63,.07);padding:.08em .3em;
}
.statute{font-family:var(--mono);font-size:.88rem;font-weight:500;color:var(--deep-fg);white-space:nowrap;}

/* ---- Callouts ---- */
.flag{
  border:1px solid var(--rule);border-top:4px solid var(--risk);
  background:var(--card);padding:1.25rem 1.4rem;
  margin:1.75rem 0;max-width:var(--measure);
}
.flag h4{margin-top:0;color:var(--risk);}
.flag > :last-child{margin-bottom:0;}
.flag--ok{border-top-color:var(--ok);}
.flag--ok h4{color:var(--ok);}
.flag--caution{border-top-color:var(--caution);}
.flag--caution h4{color:var(--caution);}

.gap-note{
  font-size:.94rem;color:var(--ink-muted);
  border-left:3px solid var(--rule);padding-left:1rem;
  margin:1.4rem 0;max-width:var(--measure);
}
.gap-note > :last-child{margin-bottom:0;}

.unverified{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--caution);
  border:1px solid currentColor;padding:.12rem .4rem;
  white-space:nowrap;margin-left:.35rem;vertical-align:.1em;
}

/* ---- Authorities list ---- */
.authorities{list-style:none;padding:0;margin:1.25rem 0;max-width:none;}
.authorities > li{
  padding:.75rem 0;border-top:1px solid var(--rule-soft);
  display:grid;gap:.15rem .9rem;margin:0;
}
@media (min-width:48rem){
  .authorities > li{grid-template-columns:minmax(0,22rem) 1fr;align-items:baseline;}
}
.authorities > li:first-child{border-top:0;}
.authorities .auth-name{font-weight:600;}
.authorities .auth-name em{font-style:italic;}
.authorities .auth-note{color:var(--ink-muted);font-size:.93rem;}
.authorities a{word-break:break-word;}

/* ---- Footer ---- */
.colophon{
  background:var(--deep-bg);color:#B9C6C4;
  padding:clamp(2.25rem,5vw,3.5rem) var(--gutter);
  border-top:6px solid var(--brass);font-size:.92rem;
}
.colophon__inner{max-width:74rem;margin:0 auto;}
.colophon h2{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.19em;
  text-transform:uppercase;color:var(--brass-light);margin:0 0 1rem;font-weight:600;
}
.colophon p{max-width:70ch;margin:0 0 .9rem;line-height:1.6;}
.colophon strong{color:#EDF1EF;}
.colophon a{color:var(--brass-light);}
.colophon a:hover{color:#fff;}
.colophon .rule{height:1px;background:rgba(201,168,94,.3);margin:1.75rem 0;}

/* Back-to-top */
.to-top{
  position:fixed;right:1rem;bottom:1rem;z-index:40;
  background:var(--deep-bg);color:#EDF1EF;border:1px solid var(--brass);
  font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.6rem .8rem;cursor:pointer;
  opacity:0;pointer-events:none;transition:opacity .2s ease;
}
.to-top.is-visible{opacity:1;pointer-events:auto;}
.to-top:hover{background:var(--deep-soft);}

/* ============================================================
   PRINT — these documents get carried and printed
   ============================================================ */
@media print{
  :root{--paper:#fff;--card:#fff;}
  body{font-size:10.5pt;line-height:1.4;color:#000;background:#fff;}
  .skip,.contents,.toc-toggle,.to-top,.anchor{display:none !important;}
  .masthead{background:#fff;color:#000;border-bottom:2pt solid #000;padding:0 0 12pt;}
  .masthead h1{font-size:20pt;}
  .standfirst,.eyebrow,.companion{color:#333;}
  .companion{border-top:.5pt solid #999;}
  .factbar{background:#fff;border:1pt solid #000;}
  .factbar > div{background:#fff;border-right:.5pt solid #999;}
  .factbar dt,.factbar dd{color:#000;}
  .disclaimer-strip{background:#fff;color:#000;border:1.5pt solid #000;}
  .disclaimer-strip strong{color:#000;}
  .shell{display:block;max-width:none;padding:0;}
  .doc > section{padding-top:14pt;}
  .doc h2,.doc h3,.sheet__head{page-break-after:avoid;}
  .cite,.verdict,.flag,.sheet,.table-wrap,.authorities > li{page-break-inside:avoid;}
  .cite__label{background:#fff;color:#000;border-bottom:1pt solid #000;}
  .cite__label a{color:#000;}
  thead th{background:#fff;color:#000;border-bottom:1pt solid #000;}
  .colophon{background:#fff;color:#000;border-top:2pt solid #000;}
  .colophon h2,.colophon strong,.colophon a{color:#000;}
  a{color:#000;text-decoration:underline;}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:7.5pt;color:#555;word-break:break-all;}
  .cite__label a[href^="http"]::after{content:"";}
}

/* ---- Site bar -----------------------------------------------------------
   Added 2026-08-30. These pages previously had no route back to the site and
   no way to reach a sibling resource except a sentence buried in the standfirst
   prose. Same nav as the rest of the site, same markup, no JavaScript:
   native <details> groups plus a checkbox drawer on narrow screens. */
.sitebar{
  background:var(--paper-deep);
  border-bottom:1px solid var(--rule);
  font-family:var(--body);
}
.sitebar__inner{
  max-width:78rem;margin:0 auto;
  padding:.55rem var(--gutter);
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.75rem;
}
.sitebar__title{margin:0;font-family:var(--display);font-weight:700;font-size:1.02rem;}
.sitebar__title a{color:var(--ink);text-decoration:none;}
.sitebar__title a:hover{color:var(--brass);}
.sitebar .mainnav{font-size:.94rem;}
.sitebar .mainnav ul{list-style:none;margin:0;padding:0;}
.sitebar .mainnav a{color:var(--ink-muted);text-decoration:none;}
.sitebar .mainnav a:hover{color:var(--brass);}
.sitebar .mainnav .nav-group{position:relative;}
.sitebar .mainnav summary{
  display:inline-block;padding:.2rem 0;color:var(--ink-muted);
  cursor:pointer;list-style:none;
}
.sitebar .mainnav summary::-webkit-details-marker{display:none;}
.sitebar .mainnav summary::marker{content:"";}
.sitebar .mainnav summary:hover{color:var(--brass);}
.sitebar .mainnav a[aria-current="page"]{color:var(--brass);font-weight:600;}
.sitebar .submenu li{display:block;}
.sitebar .submenu a{display:block;padding:.35rem 1rem;}
.sitebar .submenu a:hover{background:var(--paper-deep);}
.sitebar .submenu .submenu{padding:0 0 0 1rem;}
.sitebar .subhead{
  display:block;padding:.35rem 1rem .1rem;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-faint);
}
.sitebar .nav-toggle{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;
  clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;
}
.sitebar .mainnav summary:focus-visible,
.sitebar .nav-toggle:focus-visible + .nav-drawer__btn{
  outline:2.5px solid var(--brass);outline-offset:3px;border-radius:2px;
}

@media (min-width:721px){
  .sitebar .nav-drawer__btn{display:none;}
  .sitebar .mainnav .nav-list{display:flex;flex-wrap:wrap;gap:.2rem 1.05rem;}
  .sitebar .mainnav .nav-group__d > summary::after{
    content:" \25be";color:var(--ink-faint);font-size:.8em;
  }
  .sitebar .mainnav .nav-group__d[open] > summary::after{color:var(--brass);}
  .sitebar .mainnav .nav-group .submenu{
    position:absolute;left:0;top:100%;min-width:16rem;
    background:var(--card);border:1px solid var(--rule);border-radius:6px;
    box-shadow:0 8px 24px rgba(0,0,0,.14);padding:.35rem 0;z-index:60;
  }
  .sitebar .mainnav .nav-group .submenu .submenu{
    position:static;border:0;box-shadow:none;min-width:0;background:transparent;
  }
}

@media (max-width:720px){
  .sitebar__inner{flex-direction:column;align-items:stretch;gap:0;padding-bottom:.2rem;}
  .sitebar__title{padding:.35rem 0;}
  .sitebar .nav-drawer__btn{
    display:flex;align-items:center;gap:.55rem;
    padding:.6rem .1rem;font-weight:600;color:var(--ink);cursor:pointer;
    border-top:1px solid var(--rule);
  }
  .sitebar .nav-drawer__bars{
    width:1.1rem;height:2px;background:currentColor;flex:none;
    box-shadow:0 6px 0 currentColor,0 -6px 0 currentColor;
  }
  .sitebar .nav-toggle:checked + .nav-drawer__btn .nav-drawer__bars{
    box-shadow:0 6px 0 currentColor;background:var(--brass);
  }
  .sitebar .mainnav .nav-list{display:none;}
  .sitebar .nav-toggle:checked ~ .nav-list{
    display:flex;flex-direction:column;gap:0;padding:.1rem 0 .5rem;
  }
  .sitebar .mainnav .nav-list > li + li{border-top:1px solid var(--rule-soft);}
  .sitebar .mainnav .nav-list > li > a,
  .sitebar .mainnav .nav-group__d > summary{display:block;padding:.65rem .2rem;}
  .sitebar .mainnav .nav-group__d > summary{
    font-weight:600;position:relative;padding-right:1.6rem;
  }
  .sitebar .mainnav .nav-group__d > summary::after{
    content:"\25be";position:absolute;right:.3rem;top:50%;
    transform:translateY(-50%);transition:transform .15s ease;color:var(--ink-faint);
  }
  .sitebar .mainnav .nav-group__d[open] > summary::after{
    transform:translateY(-50%) rotate(180deg);color:var(--brass);
  }
  .sitebar .submenu{padding:0 0 .4rem .9rem;}
  .sitebar .submenu a{padding:.5rem .4rem;}
}

@media (prefers-reduced-motion:reduce){
  .sitebar .mainnav .nav-group__d > summary::after{transition:none;}
}

/* ---- Dark mode ----------------------------------------------------------
   The main site has honoured prefers-color-scheme since it was built; these
   pages did not, so a reader with a dark phone got a dark landing page and a
   glaring light resource page. Same tokens, dark values. */
@media (prefers-color-scheme: dark) {
  :root{
    --paper:#0F1410;
    --paper-deep:#151B15;
    --card:#1A2018;
    --ink:#E0E5DE;
    --ink-muted:#9AA598;
    --ink-faint:#7E8A7E;
    --deep-bg:#16271A;
    --deep-fg:#7BC455;
    --deep-soft:#5FA83A;
    --brass:#5FA83A;
    --brass-light:#9BD481;
    --rule:#2A3026;
    --rule-soft:#222820;

    --ok:#7FC46A;
    --ok-wash:#17251A;
    --caution:#D7B36A;
    --caution-wash:#26210F;
    --risk:#E08C8C;
    --risk-wash:#2A1717;
  }
  /* Light text baked onto the formerly-navy blocks still reads on dark green. */
  .masthead, .factbar > div, .cite__label, .colophon { color:#E4EDE0; }
}
