@font-face{font-family:"Atkinson Hyperlegible Next";font-style:normal;font-weight:200 800;font-display:swap;src:url("/assets/fonts/atkinson-next-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Atkinson Hyperlegible Next";font-style:normal;font-weight:200 800;font-display:swap;src:url("/assets/fonts/atkinson-next-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}

/* ==========================================================================
   Reskin (phase 2). Loaded after catalog.css, site-chrome.css and
   unhinged-warm-a11y.css, so it re-points their tokens instead of forking them.
   One family, two colors per theme plus one stamp color. Links wear the stamp
   color. No cards, no shadows, no hover effects.
   ========================================================================== */

/* ---- tokens: light ---- */
:root, html{
  --bg:#fff; --ink:#000; --dim:#595959; --muted:#595959; --faint:#595959;
  --stamp:#000; --rust:#000; --rust-deep:#000; --clay:#000; --sage:#000;
  --rule:#595959; --line:#595959; --line-2:#595959; --card:#fff; --shadow:none;
  --oxblood:#000; --oxblood-deep:#000; --navy:#000; --navy-ink:#fff; --manila:#fff; --manila-ink:#000;
  --sc-bg:#fff; --sc-ink:#000; --sc-dim:#595959; --sc-rust:#000; --sc-rule:#595959;
  --serif:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",system-ui,sans-serif;
  --body:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",system-ui,sans-serif;
  --mono:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",system-ui,sans-serif;
  --sc-serif:var(--serif); --sc-body:var(--body); --sc-mono:var(--body);
  --measure:68ch;
}
/* ---- tokens: dark ---- */
:root[data-theme="dark"], html[data-theme="dark"]{
  --bg:#000; --ink:#fff; --dim:#b3b3b3; --muted:#b3b3b3; --faint:#b3b3b3;
  --stamp:#fff; --rust:#fff; --rust-deep:#fff; --clay:#fff; --sage:#fff;
  --rule:#b3b3b3; --line:#b3b3b3; --line-2:#b3b3b3; --card:#000; --shadow:none;
  --oxblood:#fff; --oxblood-deep:#fff; --navy:#fff; --navy-ink:#000; --manila:#000; --manila-ink:#fff;
  --sc-bg:#000; --sc-ink:#fff; --sc-dim:#b3b3b3; --sc-rust:#fff; --sc-rule:#b3b3b3;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]), html:not([data-theme="light"]){
    --bg:#000; --ink:#fff; --dim:#b3b3b3; --muted:#b3b3b3; --faint:#b3b3b3;
    --stamp:#fff; --rust:#fff; --rust-deep:#fff; --clay:#fff; --sage:#fff;
    --rule:#b3b3b3; --line:#b3b3b3; --line-2:#b3b3b3; --card:#000; --shadow:none;
    --oxblood:#fff; --oxblood-deep:#fff; --navy:#fff; --navy-ink:#000; --manila:#000; --manila-ink:#fff;
    --sc-bg:#000; --sc-ink:#fff; --sc-dim:#b3b3b3; --sc-rust:#fff; --sc-rule:#b3b3b3;
  }
}

/* ---- type ---- */
html{background:var(--bg)}
body{background:var(--bg); color:var(--ink); font-family:var(--body); font-size:19px; line-height:1.6; font-variant-numeric:normal}
body::before, body::after{display:none !important; background:none !important}
pre, code, kbd, samp{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
body h1, body .home-hero h1, body .article-head h1, body .catalog-head h1{
  font-family:var(--body); font-weight:800; font-size:clamp(2.5rem,6vw,4.5rem); line-height:1.05;
  letter-spacing:-.01em; max-width:none; text-wrap:balance}
body h2, body .prose h2, body .home-feature h2{font-family:var(--body); font-weight:700; font-size:1.75rem; line-height:1.2; letter-spacing:normal}
body h3, body .prose h3, body .home-card h3, body .entry h2, body .latest-row h3{font-family:var(--body); font-weight:700; letter-spacing:normal}
body .home-card h3, body .entry h2{font-size:1.35rem; line-height:1.25}
body .rail-h, body .feed-head h2, body .home-orientation h2, body .readnext-label, body .col-h{font-size:1.25rem; font-weight:700; color:var(--ink)}
body .brand, body a.sc-brand, body a.sc-mark{font-family:var(--body); font-weight:800}
body .dek, body .hero-lede, body .hf-dek, body .hc-dek, body .entry .dek{font-family:var(--body); font-size:1.1875rem; line-height:1.5; color:var(--ink)}

/* meta: 15px, muted */
body .meta, body .hc-meta, body .hc-top, body .hc-chip, body .hf-meta, body .hf-top, body .byline, body .accession, body .reporting-strip,
body .latest-meta, body .rmeta, body .rail-list .n, body .note-date, body .entry-topics span, body .shelf-meta{
  font-family:var(--body); font-size:.9375rem; line-height:1.5; color:var(--dim); letter-spacing:normal; font-weight:400}
body .accession a, body .accession .cited, body .reporting-strip a, body .meta a{color:var(--rust)}

/* ---- links: stamp color, underlined ---- */
a{color:var(--rust); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.18em}
a:hover, a:focus-visible{color:var(--rust); text-decoration:underline}
a.sc-brand, a.sc-brand:hover, a.sc-mark, .brand{color:var(--ink); text-decoration:none}
.sc-nav a[aria-current], .nav a[aria-current="page"]{font-weight:700}
.home-card h3 a, .entry h2 a, .home-feature h2 a, .desk-note h3 a, .latest-row h3 a, .shelf-item h3 a, .toc a, .readnext a.item, .rail-list a{color:var(--rust); text-decoration:underline}

/* ---- layout: one left-aligned column ---- */
.wrap, .wrap-wide{max-width:80rem; margin-left:auto; margin-right:auto; padding-left:22px; padding-right:22px}
.wrap > main, .wrap-wide > main{max-width:68ch; margin-left:0; margin-right:auto}
.article-layout{display:block !important}
.article-layout .toc{position:static !important; border:0 !important; padding:0 !important; margin:0 0 2rem !important; background:none !important}
.article-layout .prose{padding-top:0}
.home-grid{display:block !important}
.home-rail{margin-top:3rem}
.home-hero > p:not(.hero-eyebrow), .home-hero .hero-lede{max-width:68ch}

/* ---- no cards, boxes or shadows in lists: headline, dek, one meta line ---- */
.home-feature, .home-card, .rail-panel, .home-orientation, .post-row, .entry, .latest-row, .shelf-item{
  background:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important}
.home-feature{padding:0; margin:2.5rem 0 0}
.home-card{padding:0; margin:0 0 2rem; display:flex; flex-direction:column}
.home-card .hc-top{order:3; display:block; margin:.35rem 0 0}
.home-card .hc-chip::after{content:","}
.home-card .hc-chip{display:inline}
.home-card .hc-meta{display:inline; margin-left:.3em}
.home-card h3{margin:0}
.home-card .hc-dek{margin:.4rem 0 0; max-width:none}
.rail-panel{padding:0; margin:0 0 2rem}
.home-orientation{padding:0; margin:0 0 2rem; max-width:none}
.post-row{display:block !important; padding:0; margin:0 0 2.25rem}
.post-row .card, .entry-topics, .case-link{display:none !important}
.entry h2{margin:0 0 .4rem}
.entry .dek{margin:0 0 .4rem; max-width:none}
.hf-read{display:none}
.feed-head{border:0 !important; margin:0 0 1.25rem; padding:0 !important}

/* rules: 2px ink, only between major sections */
.sc-topbar{border-bottom:2px solid var(--ink)}
.home-hero{border-bottom:2px solid var(--ink) !important; padding-bottom:2rem}
.article-head{border-bottom:2px solid var(--ink) !important}
.sc-foot, .foot, .index-foot{border-top:2px solid var(--ink) !important}
.readnext, .receipts, .correction-note{border-top:2px solid var(--ink) !important}
.tldr, .explainer-brief, .decoded, .box.keep, .box.alt-ending, .home-follow, .reading-trail, .case-file-intro, .finder{border-top:0 !important; border-bottom:0 !important; border-left:0 !important; background:none !important}
.toc ol li{border:0}

/* evidence sheet stays a printable document: 1px ink border */
.prose .box.sheet{background:var(--bg) !important; border:1px solid var(--ink) !important; border-radius:0 !important; box-shadow:none !important}
.prose .box.sheet .sheet-top, .prose .box.sheet .sheet-lbl{color:var(--ink)}
.prose .callout, .prose .callout.warning, .prose .callout.danger{border-left:3px solid var(--ink) !important; background:none !important; border-radius:0 !important}

/* buttons keep one accent, no hover change */
.nl-form button, .prose .box.sheet .btn{background:var(--stamp); color:var(--bg); border-radius:6px}
.prose .box.sheet .btn{background:transparent; color:var(--ink); border:1px solid var(--ink)}

/* ---- the date stamp ---- */
.stamp{
  display:inline-block; font-family:var(--body); font-style:normal; font-weight:800; font-size:1rem; line-height:1;
  letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; text-decoration:none;
  color:var(--stamp); border:3px solid var(--stamp); border-radius:6px; padding:.4em .6em;
  filter:url(#ul-ink); mix-blend-mode:multiply}
:root[data-theme="dark"] .stamp, html[data-theme="dark"] .stamp{mix-blend-mode:normal}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .stamp, html:not([data-theme="light"]) .stamp{mix-blend-mode:normal} }
.byline .stamp{margin:0 .5em; font-size:.875rem; vertical-align:middle}
.hf-head{display:flex; flex-direction:column-reverse; align-items:flex-start; gap:1.1rem}
.hf-head h2{margin:0}
.hf-head .stamp{flex:none; font-size:1.125rem}
@media (min-width:640px){
  .hf-head{flex-direction:row; align-items:flex-start; justify-content:space-between; gap:1.5rem}
  .hf-head .stamp{margin-top:.35rem}
}
/* the one motion moment: it presses in on homepage load */
@keyframes stamp-press{
  from{opacity:0; transform:scale(1.15)}
  to{opacity:1; transform:scale(1)}}
@media (prefers-reduced-motion:no-preference){
  .home-feature .stamp{animation:stamp-press 180ms cubic-bezier(.23,1,.32,1) both}
}

/* ---- no hover effects, no other motion ---- */
*, *::before, *::after{transition:none !important}
a:hover, a:focus-visible{text-decoration:underline !important; text-decoration-thickness:1px !important; color:var(--rust) !important}
a.sc-brand:hover, a.sc-mark:hover{color:var(--ink) !important}
button:hover, .a11y-fab:hover, .nav-toggle:hover, .sc-toggle:hover{filter:none !important}
.home-feature:hover .hf-read .arw{margin-left:0}

/* ---- print: the stamp prints in black ---- */
@media print{
  .stamp{color:#000 !important; border-color:#000 !important; mix-blend-mode:normal !important; filter:none !important}
}

/* nav and footer links are links: stamp color, underlined */
.sc-nav a, .nav a, .topnav a, .sc-foot a, .foot a, .index-foot a, .legal a, .foot-links a, .sc-follow{color:var(--rust); text-decoration:underline}

/* ---- corrections after first look ---- */
body[data-page] .wrap, body[data-page="post"] .wrap, body[data-page="post"] .wrap.no-rail{max-width:80rem}
.article-head, .correction-note, .readnext, .explainer-brief, .no-rail .article-head{margin-left:0 !important; max-width:68ch}
body .home-hero .hero-lede{font-size:1.1875rem; line-height:1.5; color:var(--ink); max-width:68ch}
.byline .stamp{margin:0 .1em 0 .5em}
.prose .callout, .prose .callout.warning, .prose .callout.danger{border:0 !important; border-left:3px solid var(--ink) !important}
body, html[data-theme="dark"] body, html:not([data-theme="light"]) body{background-image:none !important}

/* ---- stamp is ink, not an accent: black on paper, white on black ---- */
.stamp{color:var(--ink); border-color:var(--ink)}

/* ---- meta is 15px everywhere (page-scoped home rules were winning at 14px) ---- */
body .meta, body .hc-meta, body .hc-top, body .hc-chip, body .hf-meta, body .hf-top, body .byline, body .accession,
body .reporting-strip, body .latest-meta, body .rmeta, body .rail-list .n, body .note-date, body .shelf-meta,
body .entry .meta, body[data-page="home"] .hf-top, body[data-page="home"] .hf-meta, body[data-page="home"] .hc-top{
  font-size:.9375rem !important; color:var(--dim)}
.byline .stamp{font-size:.875rem !important}

/* ---- cost-of-ebooks bars: neutral fills, no green ---- */
.ce{--ce-owned:var(--dim)}
.ce-bar, .ce-bar.owned, .ce-budget .ce-bar, .ce-budget .ce-bar.digital{color:var(--bg) !important}
.ce-bar{background:var(--ink)}
.ce-bar.owned{background:var(--dim)}

/* decorative separators stay at full contrast */
.dot, .sep{opacity:1 !important}

/* ---- one visible focus ring for every control, including inputs and the TOC toggle ---- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible,
summary:focus-visible, [tabindex]:focus-visible{outline:2px solid var(--rust); outline-offset:3px}
.finder input:focus, .finder input:focus-visible{outline:2px solid var(--rust) !important; outline-offset:3px !important}
body .catalog-head h1{color:var(--ink)}
.finder label{margin-right:.75rem}

/* ---- one color: leftovers from older components go monochrome ---- */
body .accession a, body .ex-index a{text-decoration:underline !important; border-bottom:0 !important}
body .ce-bar.owned, body .ce .ce-bar.owned{background:var(--dim) !important}
body .ce-bar{background:var(--ink) !important; color:var(--bg) !important}
body .ce-tip{background:var(--ink) !important; color:var(--bg) !important}
body .ce-tip b{color:var(--bg) !important}
body .eh-dot, body .eh-dot.t-corporate, body .eh-dot.t-product, body .eh-dot.t-governance, body .eh-dot.t-legal, body .eh-dot.t-industry{background:var(--ink) !important}
body .lb-meta, body .lb-cap, body .lb-count, body .lb-zoomhint, body .lb-zoom{color:#fff !important}
body .lb-zoom{border-color:#fff !important}
body .lb-doc{color:#fff !important; border-bottom-color:#fff !important}
body a.ex-cn{text-decoration:underline !important}

/* two-sentence titles: one sentence per line */
.tl{display:block}

/* a11y-panel selected state: follow the theme (ink on bg). The panel's own rule
   hardcodes #fff text on var(--clay), which is white-on-white once --clay is white in dark. */
.a11y-panel .seg button[aria-pressed="true"],
.a11y-panel .row button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* finder search: label above the field, not run into it */
.finder-search span{display:block;margin:0 0 .15rem}

/* tall email figure: show at full column width instead of the 32rem height cap */
.prose figure.post-image img[src*="board-monitor-email"]{max-height:none;width:100%}

/* two-line titles: a little air between the sentences */
.tl + .tl{margin-top:.2em}
