/*
Theme Name: Article Crossroads
Theme URI: https://article-crossroads.example/
Author: WE Web Design
Author URI: https://example.org/
Description: A crossroads theme for a site that compares the punitive articles of the Uniform Code of Military Justice two at a time ("Article 121 Larceny vs Article 122 Robbery"). The theme reads the two articles from every title. The front page draws the articles along one line, with an arc for every comparison between two of them, then lists every article in statute order with the articles it is compared with, then every comparison. A comparison opens with its two articles face to face; the sections on each article carry that article's colour, the statute quotations are set with their source, the tables sit in labelled scroll areas with each article's column in its colour, the note on the law's date is set apart, and it ends with the other comparisons at the same two articles. Field green and plum on docket white; Antonio with Charis SIL. Categories, tags and author archives are never shown or linked.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: article-crossroads
Tags: blog, two-columns, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, block-patterns, full-site-editing-optional
*/

/* ========================================================================
   1. TOKENS - field green (article A) and plum (article B) on docket white (48/48 text pairs AA, worst 5.16:1)
   ======================================================================== */
:root{
  --paper:#f6f5f1;
  --paper-2:#ebe9e2;
  --ink:#17181a;
  --ink-2:#393b3f;
  --ink-3:#5b5e63;
  --rule:#d9d7cf;
  --card:#ffffff;
  --accent:#2a4403;
  --accent-2:#1c2e02;
  --side-b:#963c91;
  --warn:#9a4708;
  --warn-soft:#fef3c7;
  --safe:#1f6350;
  --safe-soft:#e0f2fe;
  --link:var(--accent-2);
  --focus:#17181a;

  --sans:'Charis SIL','Sitka Text',Cambria,serif;
  --serif:'Antonio','Arial Narrow','Roboto Condensed',system-ui,sans-serif;
  --mono:ui-monospace,'SF Mono','Menlo','Consolas',monospace;

  --measure:42rem;
  --measure-wide:64rem;
  --shell:84rem;

  --space-1:.25rem;
  --space-2:.5rem;
  --space-3:.75rem;
  --space-4:1rem;
  --space-5:1.5rem;
  --space-6:2rem;
  --space-7:3rem;
  --space-8:4rem;
  --space-9:6rem;

  --radius-1:.25rem;
  --radius-2:.5rem;
  --radius-3:.75rem;

  --shadow-1:0 1px 2px rgba(26,36,33,.06),0 1px 1px rgba(26,36,33,.04);
  --shadow-2:0 4px 12px rgba(26,36,33,.08),0 2px 4px rgba(26,36,33,.04);

  --z-base:0;
  --z-sticky:10;
  --z-rail:20;
  --z-progress:30;
  --z-topbar:40;
  --z-drawer:50;
  --z-skip:999;

  color-scheme:light;
}
[data-theme="dark"]{
  --paper:#121316;
  --paper-2:#1b1c20;
  --ink:#f0f0ee;
  --ink-2:#cdced1;
  --ink-3:#9ea1a8;
  --rule:#2e3035;
  --card:#17181c;
  --accent:#bde38f;
  --accent-2:#e3f3cc;
  --side-b:#ff8ce2;
  --warn:#fbbf24;
  --warn-soft:#1c1410;
  --safe:#8ccbb6;
  --safe-soft:#0c1f2e;
  --link:var(--accent-2);
  --focus:#ebe9e2;
  --shadow-1:0 1px 2px rgba(0,0,0,.4),0 1px 1px rgba(0,0,0,.3);
  --shadow-2:0 4px 12px rgba(0,0,0,.5),0 2px 4px rgba(0,0,0,.4);
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#121316;
    --paper-2:#1b1c20;
    --ink:#f0f0ee;
    --ink-2:#cdced1;
    --ink-3:#9ea1a8;
    --rule:#2e3035;
    --card:#17181c;
    --accent:#bde38f;
    --accent-2:#e3f3cc;
  --side-b:#ff8ce2;
    --warn:#fbbf24;
    --warn-soft:#1c1410;
    --safe:#8ccbb6;
    --safe-soft:#0c1f2e;
    --link:var(--accent-2);
    --focus:#ebe9e2;
    --shadow-1:0 1px 2px rgba(0,0,0,.4),0 1px 1px rgba(0,0,0,.3);
    --shadow-2:0 4px 12px rgba(0,0,0,.5),0 2px 4px rgba(0,0,0,.4);
    color-scheme:dark;
  }
}

/* ========================================================================
   2. RESET + BASE
   ======================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:1.0625rem;
  line-height:1.7;
  font-feature-settings:'ss01','kern','liga';
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
img{aspect-ratio:attr(width)/attr(height)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:.06em}
a:hover{text-decoration-thickness:.12em}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--focus);
  outline-offset:2px;
  border-radius:var(--radius-1);
}
hr{border:0;border-top:1px solid var(--rule);margin:var(--space-6) 0}
::selection{background:var(--accent);color:var(--paper)}

/* ========================================================================
   3. SKIP LINK (WD-9 — focus override mandatory)
   ======================================================================== */
.skip-link{
  position:absolute;
  left:-9999px;top:-9999px;
  width:auto;height:auto;
  clip:auto;clip-path:none;overflow:visible;
  background:var(--ink);
  color:var(--paper);
  padding:.75rem 1.25rem;
  border-radius:var(--radius-2);
  font-weight:600;
  z-index:var(--z-skip);
  text-decoration:none;
}
.skip-link:focus{left:1rem;top:1rem}

/* ========================================================================
   4. TYPOGRAPHY (WD-10, WD-14)
   ======================================================================== */
h1,h2,h3,h4,h5,h6{
  font-family:var(--serif);
  font-weight:600;
  line-height:1.2;
  letter-spacing:-.01em;
  margin:2.4rem 0 .8rem;
  color:var(--ink);
  text-wrap:balance;
}
h1{font-size:clamp(2rem,4.2vw,2.75rem);line-height:1.15;letter-spacing:-.02em;margin-top:0}
h2{font-size:clamp(1.5rem,2.6vw,1.875rem)}
h3{font-size:clamp(1.25rem,2vw,1.4rem)}
h4{font-size:1.125rem}
h5,h6{font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}
p{margin:0 0 1.1rem;text-wrap:pretty}
strong,b{font-weight:600;color:var(--ink)}
em,i{font-style:italic}
small{font-size:.8125rem;color:var(--ink-2)}
blockquote{
  border-left:3px solid var(--accent);
  margin:1.6rem 0;
  padding:.4rem 0 .4rem 1.2rem;
  font-family:var(--serif);
  font-size:1.125rem;
  font-style:italic;
  color:var(--ink-2);
}
blockquote cite{display:block;font-style:normal;font-size:.875rem;color:var(--ink-3);margin-top:.4rem}
code,kbd,pre,samp{font-family:ui-monospace,'SF Mono','Menlo','Consolas',monospace;font-size:.9em}
:not(pre)>code{background:var(--paper-2);padding:.15em .4em;border-radius:var(--radius-1);color:var(--ink)}
pre{
  background:var(--paper-2);
  border:1px solid var(--rule);
  border-radius:var(--radius-2);
  padding:1rem 1.2rem;
  overflow-x:auto;
  font-size:.875rem;
  line-height:1.55;
  margin:1.5rem 0;
}
ul,ol{margin:0 0 1.2rem;padding-left:1.4rem}
li{margin:.4rem 0}
ul li::marker{color:var(--accent)}
dl{margin:1.2rem 0}
dt{font-weight:600;margin-top:.8rem}
dd{margin:0 0 .4rem 1.2rem;color:var(--ink-2)}
table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.95rem}
th,td{padding:.6rem .8rem;text-align:left;border-bottom:1px solid var(--rule);vertical-align:top}
th{font-weight:600;color:var(--ink);background:var(--paper-2)}
tbody tr:hover{background:var(--paper-2)}
figure{margin:1.6rem 0}
figcaption{font-size:.875rem;color:var(--ink-3);text-align:center;margin-top:.5rem;font-style:italic}

/* ========================================================================
   5. LAYOUT — page shell
   ======================================================================== */
.page-shell{min-height:100vh;display:flex;flex-direction:column}
.site-main{flex:1 0 auto}
.wrap{max-width:var(--shell);margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}

/* ========================================================================
   6. TOPBAR (WD-7 touch 44+)
   ======================================================================== */
.topbar{
  position:sticky;top:0;z-index:var(--z-topbar);
  background:color-mix(in oklab,var(--paper) 92%,transparent);
  backdrop-filter:saturate(160%) blur(10px);
  -webkit-backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--rule);
}
.topbar__inner{
  max-width:var(--shell);
  margin:0 auto;
  padding:.6rem clamp(1rem,4vw,2rem);
  display:flex;align-items:center;gap:1rem;
  min-height:60px;
}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand__mark{
  width:34px;height:34px;border-radius:50%;
  background:var(--accent);
  color:var(--paper);
  font-family:var(--serif);
  font-weight:600;
  font-size:1.05rem;
  display:grid;place-items:center;
  letter-spacing:-.02em;
}
.brand__name{font-family:var(--serif);font-weight:600;font-size:1.125rem;letter-spacing:-.01em}
.topbar__nav{display:none;gap:1.2rem;margin-left:auto;font-size:.95rem;align-items:center}
.topbar__nav a{color:var(--ink-2);text-decoration:none;padding:.6rem 0;min-height:44px;display:inline-flex;align-items:center}
.topbar__nav a:hover,.topbar__nav a[aria-current="page"]{color:var(--ink)}

/* ========================================================================
   7. SEARCH INPUT
   ======================================================================== */
.search-form{position:relative;width:100%}
.search-form__input{
  width:100%;
  background:var(--paper-2);
  border:1px solid var(--rule);
  border-radius:999px;
  padding:.55rem 1rem .55rem 2.4rem;
  font-size:.925rem;
  min-height:44px;
  color:var(--ink);
}
.search-form__input::placeholder{color:var(--ink-3)}
.search-form__icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}
.search-form__submit{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);background:transparent}
.search-form__submit:hover{color:var(--ink);background:var(--paper)}

/* ========================================================================
   8. READING PROGRESS BAR (WD-16 reduced-motion respect)
   ======================================================================== */
.reading-progress{
  position:fixed;top:0;left:0;right:0;height:3px;
  z-index:var(--z-progress);
  background:transparent;
  pointer-events:none;
}
.reading-progress__bar{
  display:block;height:100%;width:0;
  background:var(--accent);
  transition:width .12s linear;
  transform-origin:left;
}
@media (prefers-reduced-motion:reduce){
  .reading-progress__bar{transition:none}
}

/* ========================================================================
   9-10. (front-page hero + magazine grid removed)
   The front page is the crossroads (section 28).
   ======================================================================== */

/* ========================================================================
   11. ARTICLE — two-column long-form
   ======================================================================== */
.article-shell{
  max-width:var(--measure-wide);
  margin:0 auto;
  padding:clamp(2rem,4vw,3rem) clamp(1rem,4vw,2rem);
}
.article-main{min-width:0;max-width:46rem;margin-inline:auto}
.article-main--page{margin-inline:auto;padding-block:clamp(2.5rem,5vw,4rem)}

/* ========================================================================
   11b. COLLAPSIBLE SUMMARY CARD (optional — sits at top of article)
   ======================================================================== */
.tldr-card{
  background:var(--card);
  border:1px solid var(--rule);
  border-left:4px solid var(--accent);
  border-radius:var(--radius-3);
  padding:1.2rem 1.4rem;
  margin:0 0 2rem;
  box-shadow:var(--shadow-1);
}
.tldr-card[open] summary{margin-bottom:.8rem}
.tldr-card summary{
  cursor:pointer;
  display:flex;align-items:center;gap:.6rem;
  list-style:none;
  font-family:var(--serif);
  font-size:1rem;
  font-weight:600;
  color:var(--accent-2);
  letter-spacing:-.005em;
  min-height:32px;
}
.tldr-card summary::-webkit-details-marker{display:none}
.tldr-card summary::before{
  content:'';
  width:0;height:0;
  border-left:5px solid currentColor;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  transition:transform .15s ease;
  flex-shrink:0;
}
.tldr-card[open] summary::before{transform:rotate(90deg)}
.tldr-card__label{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:700;
  color:var(--accent);
  margin-right:auto;
}
.tldr-card p,.tldr-card ul,.tldr-card ol{
  font-size:.985rem;
  line-height:1.65;
  color:var(--ink-2);
  margin:0 0 .8rem;
}
.tldr-card p:last-child,.tldr-card ul:last-child,.tldr-card ol:last-child{margin-bottom:0}
@media (prefers-reduced-motion:reduce){
  .tldr-card summary::before{transition:none}
}

/* ========================================================================
   11c. FOOTNOTE-STYLE REFERENCES (sourced citations, bottom of article)
   ======================================================================== */
.article-refs{
  margin:3rem 0 0;
  padding:1.6rem 0 0;
  border-top:2px solid var(--accent);
}
.article-refs__heading{
  font-family:var(--serif);
  font-size:1.05rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin:0 0 1rem;
  color:var(--ink);
}
.article-refs__list{
  list-style:none;
  margin:0;padding:0;
  counter-reset:refs;
  font-size:.9rem;
  line-height:1.55;
}
.article-refs__list li{
  counter-increment:refs;
  display:flex;
  gap:.6rem;
  margin:.6rem 0;
  color:var(--ink-2);
}
.article-refs__list li::before{
  content:counter(refs);
  font-family:var(--mono);
  font-size:.8rem;
  font-weight:600;
  color:var(--accent-2);
  min-width:1.6rem;
  text-align:right;
  flex-shrink:0;
}
.article-refs__list a{color:var(--link);text-underline-offset:.16em;word-break:break-word}
.article-refs__source{font-style:italic;color:var(--ink-3)}

/* In-prose footnote callout */
.prose sup.fn-ref{
  font-family:var(--mono);
  font-size:.72em;
  font-weight:600;
  vertical-align:super;
  line-height:0;
}
.prose sup.fn-ref a{
  color:var(--accent-2);
  text-decoration:none;
  padding:0 .15em;
  background:var(--paper-2);
  border-radius:.2em;
}
.prose sup.fn-ref a:hover{background:var(--accent);color:var(--paper)}

/* ========================================================================
   11d. INLINE RELATED CARD (in-flow related card)
   ======================================================================== */
.inline-related-card{
  background:var(--card);
  border:1px solid var(--rule);
  border-left:3px solid var(--accent);
  border-radius:var(--radius-3);
  padding:1.1rem 1.3rem;
  margin:2rem 0;
  display:flex;flex-direction:column;gap:.4rem;
}
.inline-related-card__label{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:700;
  color:var(--ink-3);
}
.inline-related-card__title{font-family:var(--serif);font-size:1.05rem;line-height:1.3;margin:0;letter-spacing:-.01em}
.inline-related-card__title a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}
.inline-related-card__title a:hover{color:var(--accent-2);border-bottom-color:var(--accent)}
.inline-related-card__why{font-size:.95rem;color:var(--ink-2);margin:.2rem 0 0;line-height:1.55}

/* Decision/comparison card — two options side by side */
.diy-vs-pro{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  border:1px solid var(--rule);
  border-radius:var(--radius-3);
  overflow:hidden;
  margin:2rem 0;
}
@media (min-width:720px){.diy-vs-pro{grid-template-columns:1fr 1fr}}
.diy-vs-pro__col{padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:.5rem}
.diy-vs-pro__col--safe{background:var(--safe-soft);border-bottom:1px solid var(--rule)}
.diy-vs-pro__col--pro{background:var(--warn-soft)}
@media (min-width:720px){
  .diy-vs-pro__col--safe{border-bottom:0;border-right:1px solid var(--rule)}
}
.diy-vs-pro__label{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.72rem;
  font-weight:700;
}
.diy-vs-pro__col--safe .diy-vs-pro__label{color:var(--safe)}
.diy-vs-pro__col--pro .diy-vs-pro__label{color:var(--warn)}
.diy-vs-pro__title{font-family:var(--serif);font-size:1.05rem;font-weight:600;margin:0;color:var(--ink)}
.diy-vs-pro__body{font-size:.925rem;color:var(--ink-2);line-height:1.55;margin:0}
.diy-vs-pro__body ul{margin:.4rem 0 0;padding-left:1.2rem}
.diy-vs-pro__body li{margin:.2rem 0}

/* ========================================================================
   12. ARTICLE HEAD
   ======================================================================== */
.post__header{margin-bottom:2rem}
.post__kicker{
  display:inline-block;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  font-weight:600;
  color:var(--accent-2);
  text-decoration:none;
  margin-bottom:.8rem;
}
.post__kicker:hover{color:var(--accent)}
.post__title{
  font-family:var(--serif);
  font-size:clamp(2rem,4vw,2.75rem);
  line-height:1.12;
  letter-spacing:-.02em;
  margin:0 0 1rem;
  text-wrap:balance;
}
.post__byline{
  display:flex;flex-wrap:wrap;gap:1rem 1.4rem;
  font-size:.875rem;color:var(--ink-3);
  margin:0 0 1.4rem;
  padding:0;
}
.post__byline > span{display:inline-flex;align-items:baseline;gap:.4rem}
.post__byline .label{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.7rem;
  font-weight:600;
  color:var(--ink-3);
}
.post__byline time{color:var(--ink-2)}
.post__featured-img{margin:0 0 2rem;border-radius:var(--radius-3);overflow:hidden;border:1px solid var(--rule)}
.post__featured-img img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}

/* ========================================================================
   13. PROSE — body content (long-form readability)
   ======================================================================== */
.prose{font-size:1.0625rem;line-height:1.75}
/* A raw URL or a long unbroken string in the content must wrap instead of
   widening the page on a phone (tema 53: a references list of raw URLs pushed
   the page to 473px at 320). Tables are excluded - they scroll in their region. */
.prose :is(p,li,dd,dt,blockquote,figcaption,h2,h3,h4){overflow-wrap:anywhere}
.prose > * + *{margin-top:0}
.prose p{margin:0 0 1.2rem}
.prose h2{margin:2.6rem 0 .9rem;scroll-margin-top:5rem;font-size:clamp(1.4rem,2.4vw,1.75rem)}
.prose h3{margin:2rem 0 .7rem;scroll-margin-top:5rem;font-size:clamp(1.15rem,1.8vw,1.3rem)}
.prose h2:first-child,.prose h3:first-child{margin-top:0}
.prose ul,.prose ol{margin:0 0 1.2rem;padding-left:1.6rem}
.prose li{margin:.5rem 0}
.prose img{border-radius:var(--radius-2);border:1px solid var(--rule);margin:1.6rem 0}
.prose a{color:var(--link)}
.prose a:hover{color:var(--accent)}

/* ========================================================================
   14. TL;DR CARD (block pattern)
   ======================================================================== */
.tldr{
  background:var(--card);
  border:1px solid var(--rule);
  border-left:3px solid var(--accent);
  border-radius:var(--radius-3);
  padding:1.2rem 1.4rem;
  margin:0 0 2rem;
}
.tldr__label{
  display:block;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:700;
  color:var(--accent-2);
  margin-bottom:.5rem;
}
.tldr p{margin:0 0 .6rem;font-size:.985rem;line-height:1.6;color:var(--ink-2)}
.tldr p:last-child{margin-bottom:0}
.tldr ul,.tldr ol{margin:.4rem 0 0;padding-left:1.2rem;font-size:.975rem;color:var(--ink-2)}

/* ========================================================================
   15. LEGAL DISCLAIMER CALLOUT
   ======================================================================== */
.legal-disclaimer{
  background:var(--warn-soft);
  border:1px solid color-mix(in oklab,var(--warn) 35%,var(--rule));
  border-radius:var(--radius-3);
  padding:1.1rem 1.3rem;
  margin:0 0 2rem;
  font-size:.925rem;
  line-height:1.55;
  color:var(--ink-2);
}
.legal-disclaimer__label{
  display:flex;align-items:center;gap:.5rem;
  font-weight:700;
  color:var(--warn);
  margin-bottom:.4rem;
  font-size:.85rem;
  letter-spacing:.04em;
}
.legal-disclaimer__label::before{
  content:'';
  display:inline-block;
  width:14px;height:14px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 2L1 21h22L12 2zm0 6l7.5 13h-15L12 8zm-1 4v4h2v-4h-2zm0 5v2h2v-2h-2z'/></svg>") no-repeat center / contain;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'><path d='M12 2L1 21h22L12 2zm0 6l7.5 13h-15L12 8zm-1 4v4h2v-4h-2zm0 5v2h2v-2h-2z'/></svg>") no-repeat center / contain;
  flex-shrink:0;
}
.legal-disclaimer p{margin:0 0 .5rem}
.legal-disclaimer p:last-child{margin-bottom:0}

/* ========================================================================
   16. CALLOUT (general block pattern, info/warning)
   ======================================================================== */
.callout{
  background:var(--paper-2);
  border:1px solid var(--rule);
  border-left:3px solid var(--accent);
  border-radius:var(--radius-3);
  padding:1rem 1.2rem;
  margin:1.6rem 0;
  font-size:.975rem;
}
.callout.is-style-warning{
  border-left-color:var(--warn);
  background:var(--warn-soft);
}
.callout p{margin:0 0 .6rem}
.callout p:last-child{margin-bottom:0}

/* ========================================================================
   17. META RAIL (right column on article)
   ======================================================================== */
.meta-rail__group{margin-bottom:1.4rem;padding-bottom:1.4rem;border-bottom:1px solid var(--rule)}
.meta-rail__group:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.meta-rail__label{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:700;
  color:var(--ink-3);
  margin:0 0 .55rem;
}
.meta-rail__value{font-size:.925rem;color:var(--ink-2);margin:0;line-height:1.5}
.meta-rail__value strong{color:var(--ink);font-weight:600}

/* ========================================================================
   18. TOC (table of contents — scrollspy)
   ======================================================================== */
.toc__list{list-style:none;margin:0;padding:0;font-size:.9rem;line-height:1.4}
.toc__list li{margin:.35rem 0}
.toc__list a{
  color:var(--ink-2);
  text-decoration:none;
  display:block;
  padding:.2rem .55rem;
  border-left:2px solid transparent;
  border-radius:0 var(--radius-1) var(--radius-1) 0;
  transition:color .15s ease,border-color .15s ease,background .15s ease;
}
.toc__list a:hover{color:var(--ink);background:var(--paper-2)}
.toc__list a.is-active{
  color:var(--accent-2);
  border-left-color:var(--accent);
  background:var(--paper-2);
  font-weight:600;
}
@media (prefers-reduced-motion:reduce){
  .toc__list a{transition:none}
}
.toc__list .toc-h3{padding-left:.9rem;font-size:.85rem;color:var(--ink-3)}
.toc__list .toc-h3 a{padding-left:.9rem}

/* ========================================================================
   19. MOBILE TOC DRAWER
   ======================================================================== */
.inline-toc{
  background:var(--paper-2);
  border:1px solid var(--rule);
  border-radius:var(--radius-3);
  padding:.8rem 1.2rem;
  margin:0 0 2rem;
}
.inline-toc summary{
  cursor:pointer;
  font-weight:600;
  font-size:.95rem;
  color:var(--ink);
  list-style:none;
  display:flex;align-items:center;gap:.5rem;
  padding:.3rem 0;
  min-height:32px;
}
.inline-toc summary::-webkit-details-marker{display:none}
.inline-toc summary::before{
  content:'';
  display:inline-block;
  width:0;height:0;
  border-left:5px solid currentColor;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  transition:transform .15s ease;
  flex-shrink:0;
}
.inline-toc[open] summary::before{transform:rotate(90deg)}
.inline-toc .toc__list{margin-top:.6rem;padding-left:.4rem}
@media (prefers-reduced-motion:reduce){
  .inline-toc summary::before{transition:none}
}

.toc-drawer-toggle{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--paper-2);
  border:1px solid var(--rule);
  border-radius:999px;
  padding:.5rem 1rem;
  font-size:.9rem;
  color:var(--ink-2);
  margin:0 0 1rem;
  min-height:44px;
}
.toc-drawer-toggle:hover{color:var(--ink);background:var(--card)}
@media (min-width:1080px){
  .toc-drawer-toggle{display:none}
}
.toc-drawer{
  position:fixed;
  inset:0;
  z-index:var(--z-drawer);
  background:rgba(26,36,33,.5);
  display:none;
  padding:5rem 1rem 1rem;
}
.toc-drawer[data-open="true"]{display:block}
.toc-drawer__panel{
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:var(--radius-3);
  padding:1.4rem;
  max-width:32rem;
  margin:0 auto;
  max-height:80vh;
  overflow:auto;
}
.toc-drawer__close{
  float:right;
  width:36px;height:36px;
  display:grid;place-items:center;
  border-radius:var(--radius-2);
  color:var(--ink-2);
}
.toc-drawer__close:hover{color:var(--ink);background:var(--paper-2)}

/* ========================================================================
   20. PAGINATION
   ======================================================================== */
.pagination{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;
  margin:3rem 0 2rem;
  padding-top:1.5rem;
  border-top:1px solid var(--rule);
}
.pagination a,.pagination span{
  display:inline-grid;place-items:center;
  min-width:44px;height:44px;
  padding:0 .8rem;
  border-radius:var(--radius-2);
  font-size:.95rem;
  color:var(--ink-2);
  text-decoration:none;
  border:1px solid var(--rule);
}
.pagination a:hover{color:var(--ink);background:var(--paper-2);border-color:var(--ink-3)}
.pagination .current{background:var(--accent);color:var(--paper);border-color:var(--accent);font-weight:600}
.pagination .dots{border:0;background:transparent}

/* ========================================================================
   21. POST NAV (prev / next)
   ======================================================================== */
.post-nav{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  margin:3rem 0 0;
  padding-top:1.6rem;
  border-top:1px solid var(--rule);
}
@media (min-width:640px){.post-nav{grid-template-columns:1fr 1fr}}
.post-nav a{
  display:block;
  padding:1rem 1.2rem;
  background:var(--card);
  border:1px solid var(--rule);
  border-radius:var(--radius-3);
  text-decoration:none;
  color:var(--ink);
  transition:border-color .15s ease;
}
.post-nav a:hover{border-color:var(--accent)}
.post-nav__label{
  display:block;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.72rem;
  font-weight:600;
  color:var(--ink-3);
  margin-bottom:.3rem;
}
.post-nav__title{font-family:var(--serif);font-size:1.025rem;line-height:1.3;color:var(--ink)}
.post-nav__next{text-align:right}

/* ========================================================================
   22. FOOTER
   ======================================================================== */
.site-footer{
  border-top:1px solid var(--rule);
  padding:clamp(2.5rem,5vw,4rem) 0 clamp(1.5rem,3vw,2.5rem);
  margin-top:clamp(3rem,6vw,5rem);
  font-size:.925rem;
  color:var(--ink-2);
}
.site-footer__top{
  display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.6rem;
  margin-bottom:2rem;
  padding-bottom:1.6rem;
  border-bottom:1px solid var(--rule);
}
.site-footer__brand{display:flex;flex-direction:column;gap:.4rem;max-width:24rem}
.site-footer__name{font-family:var(--serif);font-weight:600;font-size:1.05rem;color:var(--ink)}
.site-footer__tag{color:var(--ink-3);font-size:.9rem;line-height:1.5;margin:0}
.site-footer__links{display:flex;flex-wrap:wrap;gap:1.4rem;font-size:.9rem}
.site-footer__links a{color:var(--ink-2);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.site-footer__links a:hover{color:var(--ink)}
.site-footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.825rem;color:var(--ink-3)}
.site-footer__disclaimer{max-width:50rem;line-height:1.55;color:var(--ink-3);font-size:.825rem;margin:1rem 0 0}

/* ========================================================================
   23. COMMENTS
   ======================================================================== */
.comments-area{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--rule)}
.comments-title{font-family:var(--serif);font-size:1.4rem;margin:0 0 1.4rem}
.comment-list{list-style:none;margin:0;padding:0}
.comment-list li{margin:0 0 1.4rem;padding:1rem 1.2rem;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-3)}
.comment-meta{font-size:.875rem;color:var(--ink-3);margin-bottom:.5rem}
.comment-meta cite{font-style:normal;color:var(--ink);font-weight:600}
.comment-form label{display:block;font-size:.875rem;margin:.8rem 0 .3rem;color:var(--ink-2);font-weight:500}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{
  width:100%;
  background:var(--paper-2);
  border:1px solid var(--rule);
  border-radius:var(--radius-2);
  padding:.6rem .8rem;
  font:inherit;
  color:var(--ink);
  min-height:44px;
}
.comment-form textarea{min-height:8rem;resize:vertical}
.form-submit input[type="submit"],.button{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--accent);
  color:var(--paper);
  border:0;
  padding:.7rem 1.4rem;
  border-radius:var(--radius-2);
  font:inherit;
  font-weight:600;
  cursor:pointer;
  min-height:44px;
  min-width:44px;
  transition:background .15s ease;
}
.form-submit input[type="submit"]:hover,.button:hover{background:var(--accent-2)}
@media (prefers-reduced-motion:reduce){
  .form-submit input[type="submit"],.button{transition:none}
}

/* ========================================================================
   24. 404 / SEARCH
   ======================================================================== */
.error-404,.search-results-head{padding:clamp(3rem,6vw,5rem) 0;text-align:center}
.error-404__code{font-family:var(--serif);font-size:clamp(4rem,12vw,7rem);line-height:1;color:var(--accent);letter-spacing:-.04em;margin:0}
.error-404__title{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2rem);margin:.6rem 0 1rem}
.error-404__lede{color:var(--ink-2);max-width:36rem;margin:0 auto 1.4rem;line-height:1.6}
.error-404__suggest{max-width:34rem;margin:1.6rem auto 0;text-align:left}

/* ========================================================================
   25. WP HELPERS
   ======================================================================== */
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;padding:0;margin:-1px;border:0;word-wrap:normal!important}
.alignleft{float:left;margin:.5rem 1.4rem 1rem 0}
.alignright{float:right;margin:.5rem 0 1rem 1.4rem}
.aligncenter{margin-left:auto;margin-right:auto;display:block}
.alignwide{max-width:min(var(--measure-wide),100%);margin-left:auto;margin-right:auto}
.alignfull{max-width:100%;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}
.wp-block-image img{border-radius:var(--radius-2)}
.wp-block-quote{border-left:3px solid var(--accent);padding:.4rem 0 .4rem 1.2rem;margin:1.6rem 0;font-family:var(--serif);font-style:italic;color:var(--ink-2)}
.wp-block-pullquote{border:0;padding:1.5rem 1.5rem;text-align:left;font-family:var(--serif);font-size:1.3rem;line-height:1.4}
.wp-block-table{margin:1.5rem 0}
.wp-block-table table{border:1px solid var(--rule)}

/* ========================================================================
   28. THE CROSSROADS - the arc map, every article in statute order, every comparison
   ======================================================================== */
.brand__mark{font-weight:700;letter-spacing:.02em}
.cross-head{padding:clamp(2.2rem,5vw,3.4rem) 0 clamp(1.4rem,3vw,2rem);border-bottom:1px solid var(--rule)}
.cross-head__eyebrow{margin:0 0 .6rem;font-family:var(--serif);font-size:.95rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--side-b)}
.cross-head__title{margin:0 0 .8rem;max-width:18ch;font-family:var(--serif);font-weight:700;font-size:clamp(2.4rem,6.4vw,4.6rem);line-height:.98;letter-spacing:.005em;text-transform:uppercase;text-wrap:balance;overflow-wrap:normal}
.cross-head__lede{margin:0 0 .5rem;max-width:62ch;font-size:1.08rem;color:var(--ink-2)}
.cross-head__tally{margin:.3rem 0 0;color:var(--ink-3)}
.cross-head__tally strong{color:var(--ink);font-variant-numeric:tabular-nums}

.crossroads{padding:clamp(1.6rem,4vw,2.6rem) 0 clamp(2rem,5vw,3rem);background:var(--paper-2);border-bottom:1px solid var(--rule)}
/* the arc map is a picture of the index below it: shown where there is room to read it */
.arcmap-figure{display:none;margin:0 0 2rem}
@media (min-width:48rem){.arcmap-figure{display:block}}
.arcmap{display:block;width:100%;height:auto}
.arcmap__axis{stroke:var(--ink-3);stroke-width:1}
.arcmap__arc{fill:none;stroke:var(--accent);stroke-width:1.4;stroke-opacity:.42}
.arcmap a:hover .arcmap__arc{stroke:var(--side-b);stroke-opacity:1;stroke-width:3}
.arcmap__node{fill:var(--accent)}
.arcmap__label{font-family:var(--serif);font-size:11px;font-weight:600;fill:var(--ink-2);text-anchor:end;dominant-baseline:middle}
.arcmap-figure__cap{margin-top:.5rem;font-size:.88rem;font-style:italic;color:var(--ink-3)}

.crossroads__title{margin:0 0 1rem;font-family:var(--serif);font-weight:700;font-size:clamp(1.5rem,3.2vw,2rem);line-height:1;text-transform:uppercase}
.junctions{display:grid;grid-template-columns:minmax(0,1fr);gap:.9rem;list-style:none;margin:0;padding:0}
@media (min-width:44rem){.junctions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:70rem){.junctions{grid-template-columns:repeat(3,minmax(0,1fr))}}
.junction{min-width:0;margin:0;padding:.9rem 1rem .5rem;background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--accent);border-radius:4px;scroll-margin-top:5rem}
.junction__no{margin:0;font-family:var(--serif);font-weight:700;font-size:1.9rem;line-height:1;color:var(--accent)}
.junction__word{font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.junction__names{margin:.25rem 0 .5rem;font-style:italic;font-size:.92rem;line-height:1.4;color:var(--ink-2)}
.junction__links{list-style:none;margin:0;padding:0}
.junction__links li{margin:0;border-top:1px solid var(--rule)}
.junction__links a{display:flex;align-items:baseline;gap:.45rem;min-height:44px;padding:.55rem 0;color:var(--ink);text-decoration:none;line-height:1.3}
.junction__links a:hover .junction__name{color:var(--accent-2);text-decoration:underline;text-underline-offset:.15em}
.junction__vs{flex:0 0 auto;font-family:var(--serif);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--side-b)}
.junction__other{flex:0 0 auto;font-family:var(--serif);font-weight:700;font-size:1.05rem;color:var(--side-b);font-variant-numeric:tabular-nums}
.junction__name{min-width:0;font-size:.95rem}

.versus-index{padding:clamp(2rem,4vw,3rem) 0}
.versus-index__title{margin:0 0 1rem;font-family:var(--serif);font-weight:700;font-size:clamp(1.5rem,3.2vw,2rem);line-height:1;text-transform:uppercase}
.versus-list{list-style:none;margin:0;padding:0;border-top:3px solid var(--ink)}
.versus-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem;margin:0;padding:.9rem 0;border-bottom:1px solid var(--rule)}
@media (min-width:40rem){.versus-row{grid-template-columns:9.5rem minmax(0,1fr);align-items:center;gap:1rem}}
.versus-row__pair{display:flex;align-items:center;gap:.35rem;margin:0}
.versus-row__a,.versus-row__b{display:inline-grid;place-items:center;min-width:3rem;padding:.1rem .45rem;border-radius:3px;color:var(--card);font-family:var(--serif);font-weight:700;font-size:1.15rem;line-height:1.3;font-variant-numeric:tabular-nums}
.versus-row__a{background:var(--accent)}
.versus-row__b{background:var(--side-b)}
.versus-row__x{font-family:var(--serif);font-size:.8rem;font-weight:700;text-transform:uppercase;color:var(--ink-3)}
.versus-row__title{margin:0;font-family:var(--sans);font-weight:700;font-size:1.02rem;line-height:1.35}
.versus-row__title a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:none}
.versus-row__title a:hover{color:var(--accent-2);text-decoration:underline;text-underline-offset:.15em}

/* ========================================================================
   29. VERSUS SHEET - two articles face to face, each side in its colour
   ======================================================================== */
.versus-sheet__head{border-bottom:1px solid var(--rule);background:var(--paper-2)}
.versus-sheet__head-inner{max-width:52rem;padding-top:clamp(1.8rem,5vw,2.8rem);padding-bottom:clamp(1.2rem,3vw,1.8rem)}
.faceoff{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:.6rem;margin:0 0 1.2rem}
.faceoff__side{display:flex;flex-direction:column;min-width:0;min-height:44px;padding:.7rem .85rem;background:var(--card);border:1px solid var(--rule);border-radius:4px;color:var(--ink);text-decoration:none}
.faceoff__side--a{border-top:5px solid var(--accent)}
.faceoff__side--b{border-top:5px solid var(--side-b);text-align:right}
.faceoff__word{font-family:var(--serif);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.faceoff__no{font-family:var(--serif);font-weight:700;font-size:clamp(2.2rem,7vw,3.4rem);line-height:1;font-variant-numeric:tabular-nums}
.faceoff__side--a .faceoff__no{color:var(--accent)}
.faceoff__side--b .faceoff__no{color:var(--side-b)}
.faceoff__name{margin-top:.25rem;font-weight:700;font-size:clamp(.88rem,2.2vw,1rem);line-height:1.3;overflow-wrap:anywhere}
.faceoff__side:hover .faceoff__name{text-decoration:underline;text-underline-offset:.15em}
.faceoff__vs{align-self:center;font-family:var(--serif);font-weight:700;font-size:1.3rem;text-transform:uppercase;color:var(--ink-3)}
.versus-sheet__title{margin:0 0 .8rem;font-family:var(--sans);font-weight:700;font-size:clamp(1.55rem,3.4vw,2.2rem);line-height:1.2;text-wrap:balance}
.versus-sheet__byline{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;margin:0;font-size:.88rem;color:var(--ink-3)}
.versus-sheet__byline > span{display:inline-flex;align-items:baseline;gap:.35rem}
.versus-sheet__byline .label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.versus-sheet__byline time{color:var(--ink-2)}

.versus-sheet__body{max-width:52rem;padding-top:clamp(1.4rem,4vw,2rem);padding-bottom:clamp(2.2rem,5vw,3.4rem)}
.sheet-toc{margin:0 0 1.6rem;border:1px solid var(--rule);border-radius:4px;background:var(--paper-2)}
.sheet-toc__summary{display:flex;align-items:center;gap:.6rem;min-height:44px;padding:0 .9rem;cursor:pointer;font-size:.92rem;font-weight:700;color:var(--ink-2);list-style:none}
.sheet-toc__summary::-webkit-details-marker{display:none}
.sheet-toc__summary::before{content:'';width:0;height:0;border-left:5px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent}
.sheet-toc[open] .sheet-toc__summary::before{transform:rotate(90deg)}
.sheet-toc[open] .sheet-toc__summary{border-bottom:1px solid var(--rule)}
.sheet-toc__list{list-style:none;margin:0;padding:.5rem .9rem .8rem}
.sheet-toc__list a{display:inline-flex;align-items:center;min-height:36px;color:var(--ink-2);text-decoration:none;line-height:1.35}
.sheet-toc__list a:hover{color:var(--accent-2);text-decoration:underline}

.versus-sheet .prose h2{font-family:var(--serif);font-weight:700;font-size:clamp(1.5rem,3.2vw,1.95rem);line-height:1.05;text-transform:uppercase;margin-top:2.4rem}
.versus-sheet .prose .acx-sec{margin:0;padding-left:1rem;border-left:4px solid var(--accent)}
.versus-sheet .prose .acx-sec--b{border-left-color:var(--side-b)}
.versus-sheet .prose .acx-sec--a > h2{color:var(--accent)}
.versus-sheet .prose .acx-sec--b > h2{color:var(--side-b)}

/* statute text, as quoted, with its source line. The skeleton sets quotes in var(--serif), which in this theme is
   the narrow display face: long statute text goes back to the reading face. */
.versus-sheet .prose blockquote,.versus-sheet .prose .wp-block-quote{font-family:var(--sans);font-style:normal}
.versus-sheet .prose .acx-statute{margin:1.2rem 0 .3rem;padding:.8rem 1rem;background:var(--paper-2);border-left:3px solid var(--ink-3);border-radius:0 4px 4px 0;font-size:.98rem;font-style:normal;color:var(--ink)}
.versus-sheet .prose .acx-statute p{margin:.4rem 0}
.versus-sheet .prose .acx-source{margin:0 0 1.2rem;font-size:.86rem;color:var(--ink-3)}

/* tables: a labelled, focusable scroll area; each article's column head in its colour */
.acx-table{margin:1.4rem 0;overflow-x:auto;border:1px solid var(--rule);border-radius:4px;background:var(--card);
  background-image:linear-gradient(to right,var(--card) 30%,transparent),linear-gradient(to left,var(--card) 30%,transparent),
    radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.16),transparent),radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.16),transparent);
  background-position:left,right,left,right;background-size:2.5rem 100%,2.5rem 100%,.9rem 100%,.9rem 100%;background-repeat:no-repeat;
  background-attachment:local,local,scroll,scroll}
.acx-table:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.acx-table figure{margin:0}
.acx-table table{width:100%;min-width:36rem;margin:0;border-collapse:collapse;font-size:.92rem;line-height:1.45;border:0}
.acx-table th{padding:.6rem .8rem;border-bottom:2px solid var(--ink);background:var(--paper-2);font-family:var(--serif);font-weight:700;font-size:1rem;letter-spacing:.02em;text-align:left;vertical-align:bottom}
.acx-table th.acx-th-a{color:var(--accent);border-bottom:3px solid var(--accent)}
.acx-table th.acx-th-b{color:var(--side-b);border-bottom:3px solid var(--side-b)}
.acx-table td{padding:.55rem .8rem;border-bottom:1px solid var(--rule);vertical-align:top}
.acx-table tr:last-child td{border-bottom:0}
.acx-table td:first-child{font-weight:700}

.versus-sheet .prose .acx-sources{padding-left:1.1rem;font-size:.92rem;line-height:1.5;color:var(--ink-2);overflow-wrap:anywhere}
.versus-sheet .prose .acx-sources li{margin:.35rem 0}
/* the page's own note on the date of the law */
.versus-sheet .prose .acx-asof{margin:2rem 0 0;padding:.8rem 1rem;border:1px dashed var(--ink-3);border-radius:4px;background:var(--paper-2);font-size:.9rem;color:var(--ink-2)}

.junction-more{margin-top:2.4rem;padding-top:1rem;border-top:3px solid var(--ink)}
.junction-more__title{margin:0 0 .9rem;font-family:var(--serif);font-weight:700;font-size:1.6rem;line-height:1;text-transform:uppercase}
.junction-more__cols{display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem}
@media (min-width:40rem){.junction-more__cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
.junction-more__col{min-width:0;padding-top:.5rem;border-top:4px solid var(--accent)}
.junction-more__col--b{border-top-color:var(--side-b)}
.junction-more__head{margin:0 0 .3rem;font-family:var(--serif);font-weight:700;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.junction-more__list{list-style:none;margin:0;padding:0}
.junction-more__list li{margin:0;border-bottom:1px solid var(--rule)}
.junction-more__list a{display:flex;align-items:baseline;gap:.45rem;min-height:44px;padding:.55rem 0;color:var(--ink);text-decoration:none;line-height:1.3}
.junction-more__list a:hover .junction__name{color:var(--accent-2);text-decoration:underline}
.junction-more__all{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--accent-2)}

@media print{
  .arcmap-figure,.sheet-toc,.junction-more{display:none!important}
  .acx-table{overflow:visible;background:none}
  .acx-table table{min-width:0}
}

/* ========================================================================
   26. PRINT
   ======================================================================== */
@media print{
  .topbar,.site-footer,.meta-rail,.toc-drawer,.reading-progress,.post-nav,.comments-area,.skip-link{display:none!important}
  body{background:#fff;color:#000}
  .article-shell{display:block;padding:0}
  .article-main{max-width:none}
  a{color:inherit;text-decoration:underline}
  .prose h2,.prose h3{break-after:avoid}
  .prose img{max-width:100%;break-inside:avoid}
}

/* ========================================================================
   27. GLOBAL REDUCED MOTION OVERRIDE (WD-16 safety net)
   ======================================================================== */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}
