/* kpsgill-r4.css — the publication layer (release 4, 31 October 2026).
   ONE token system and ONE component family for every template family. Loaded last in <head> on every public
   page except the homepage and /search/ (which keep their own layers); the shared header fix and the print
   rules live in kpsgill-chrome.css / kpsgill-site.css / kpsgill-shell.css so those two pages get them too.

   Rules of this file
   - Tokens first (--r4-*). Components use tokens only; no new hex values below the token block.
   - New markup inserted by the release carries a data-r4 attribute and an .r4-* class. Existing pages are
     restyled through their existing classes, never by rewriting their text.
   - Global refinements use :where() so any page rule that is more specific still wins.
   - Dark theme: kpsgill-enhance.js measures this light design and writes the dark palette; the token block
     also carries dark values for pages where the script has not run yet.
   - No carousels, autoplay, scroll effects, glass or heavy gradients. Motion only answers an action and is
     removed under prefers-reduced-motion.

   Component family (class → use)
     .r4-lead        lead illustration figure (normal <img>, not CSS background)
     .r4-gates       collection gateway list (hub pathways, Explore areas); .r4-gate items
     .r4-feature     feature story (image beside headline and standfirst)
     .r4-card        image-led article card
     .r4-news        compact news item (date, kind, headline)
     .r4-guide       patient-guide card
     .r4-data        sourced data panel (figure + source line)
     .r4-timeline    dated sequence
     .r4-compare     two-column comparison
     .r4-status      jurisdiction / status panel
     .r4-note        evidence or source note
     .r4-related     related-reading module (also skins the existing .interest module)
     .r4-edition     historical-edition label (old Weekly issues, archived snapshots)
     .r4-recover     recovery paths (404 / 410 / withdrawal)
     .r4-tw          table scroll container
*/

/* ============================================================== 1. TOKENS */
:root{
  /* colour — navy/ink, warm paper, restrained gold, limited green */
  --r4-ink:#0E1B31;
  --r4-navy:#12233F;
  --r4-slate:#33405A;
  --r4-muted:#5A606B;
  --r4-paper:#FBFAF7;
  --r4-cream:#F6F5F0;
  --r4-surface:#FFFFFF;
  --r4-gold:#B8863B;          /* rules, ticks and markers only — never body text */
  --r4-gold-text:#80591F;     /* gold for small text: 5.6:1 on paper */
  --r4-gold-wash:#FAF3E4;
  --r4-gold-line:#E6D3AE;
  --r4-green:#1F6F5C;
  --r4-green-deep:#175A4A;
  --r4-green-wash:#EDF4F0;
  --r4-green-line:#C5DCD2;
  --r4-red:#93352A;
  --r4-red-wash:#F9EEEB;
  --r4-rule:#E4E2DA;
  --r4-rule-strong:#C8CAC2;
  --r4-link:var(--r4-green-deep);

  /* type */
  --r4-serif:Fraunces,Georgia,'Times New Roman',serif;
  --r4-sans:'Public Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --r4-mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;
  --r4-t-xs:.8125rem;    /* 13 — metadata */
  --r4-t-sm:.9375rem;    /* 15 — captions, notes */
  --r4-t-md:1.0625rem;   /* 17 — body */
  --r4-t-lg:1.25rem;     /* 20 — standfirst, card titles */
  --r4-t-xl:1.5625rem;   /* 25 — section heads */
  --r4-t-2xl:clamp(1.75rem,1.25rem + 1.9vw,2.375rem);
  --r4-t-3xl:clamp(2.125rem,1.45rem + 2.9vw,3.25rem);
  --r4-lh-body:1.65;
  --r4-lh-tight:1.15;
  --r4-measure:68ch;

  /* space (4px base) */
  --r4-s1:4px; --r4-s2:8px; --r4-s3:12px; --r4-s4:16px; --r4-s5:24px; --r4-s6:32px; --r4-s7:48px; --r4-s8:64px;

  /* radii — hierarchy, not one radius everywhere */
  --r4-r-xs:2px;   /* tags, focus */
  --r4-r-sm:4px;   /* figures, images */
  --r4-r-md:8px;   /* panels, cards */

  /* rules */
  --r4-hair:1px solid var(--r4-rule);
  --r4-hair-strong:1px solid var(--r4-rule-strong);
  --r4-heavy:2px solid var(--r4-navy);
  --r4-tick:3px solid var(--r4-gold);

  /* focus */
  --r4-focus:#1F6F5C;
  --r4-focus-w:3px;

  /* targets */
  --r4-target:44px;
}
html[data-k-theme="dark"]{
  --r4-ink:#E7EBF2; --r4-navy:#E3E8F0; --r4-slate:#C3CBD8; --r4-muted:#AEB8C6;
  --r4-paper:#0E1A2D; --r4-cream:#0B1424; --r4-surface:#14213A;
  --r4-gold-text:#E2BE84; --r4-gold-wash:#211D18; --r4-gold-line:#5A4A2E;
  --r4-green:#8FD9C3; --r4-green-deep:#8FD9C3; --r4-green-wash:#11262A; --r4-green-line:#2A4A45;
  --r4-red:#F0A99C; --r4-red-wash:#2A1A1C;
  --r4-rule:#2A3A55; --r4-rule-strong:#3A4C69; --r4-link:#8FD9C3; --r4-focus:#8FD9C3;
}

/* ============================================================== 2. GLOBAL REFINEMENTS */
/* Light reading surface: plain paper, no fixed gradient washes behind text. */
body{background:var(--r4-cream);background-image:none}
/* No glass behind the header on any template. */
.k-hdr{-webkit-backdrop-filter:none;backdrop-filter:none}

/* Visible focus everywhere (a page's own, more specific focus style still wins). */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:var(--r4-focus-w) solid var(--r4-focus);outline-offset:2px;border-radius:var(--r4-r-xs)}
:where(input,select,textarea):focus-visible{outline-offset:0}

/* Comfortable targets for standalone controls; inline links inside running text are left alone. */
:where(.share-row a,.share-row button,.k-gs-form button,.r4-recover a){min-height:var(--r4-target);display:inline-flex;align-items:center}
:where(.k-crumbs a,.r4-edition a){display:inline-block;min-height:24px;padding-block:2px}
.k-crumbs ol{align-items:baseline}
@media (pointer:coarse){
  :where(.k-crumbs a){min-height:var(--r4-target);display:inline-flex;align-items:center}
  .k-crumbs ol{align-items:center}
  .k-crumbs li{display:inline-flex;align-items:center}
  :where(.prose,main) :where(li)>a:only-child{display:inline-block;padding-block:6px}
}

/* Long words, URLs and code never force a horizontal scroll. */
:where(main,article,.prose) :where(p,li,dd,figcaption,blockquote,h1,h2,h3,h4){overflow-wrap:break-word}
:where(main) :where(pre){max-width:100%;overflow-x:auto}
:where(main) :where(img,svg,video,iframe){max-width:100%}
:where(main) :where(img){height:auto}

/* Figures and captions */
:where(main) figure{margin-inline:0}
:where(main) figcaption{font:400 var(--r4-t-sm)/1.5 var(--r4-sans);color:var(--r4-muted);text-wrap:pretty}

/* Citations and source anchors land below the sticky header, and briefly show where they landed. */
:where([id]){scroll-margin-top:calc(var(--k-hdr-h,68px) + 16px)}
:where(sup) a,:where(a[href^="#fn"],a[href^="#src"],a[href^="#ref"],a[href^="#note"],a[href^="#cite"],a[href^="#s-"]){text-decoration-thickness:1px;text-underline-offset:2px}
:where(li,p,dd):target{background:var(--r4-gold-wash);box-shadow:0 0 0 6px var(--r4-gold-wash);border-radius:var(--r4-r-xs)}

/* Breadcrumbs: one quiet line, current page in ink. */
.k-crumbs [aria-current]{color:var(--r4-ink)}

/* Tables scroll inside their own container */
.r4-tw{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:var(--r4-s5) 0;border:var(--r4-hair);border-radius:var(--r4-r-sm);background:var(--r4-surface)}
.r4-tw>table{margin:0;min-width:100%;border-collapse:collapse}
.r4-tw:focus-visible{outline-offset:2px}
.r4-tw caption{text-align:start;padding:var(--r4-s3) var(--r4-s4) 0;font:600 var(--r4-t-sm)/1.4 var(--r4-sans);color:var(--r4-ink)}
:where(.r4-tw,.k-tw) :where(th,td){padding:8px 12px;border-bottom:var(--r4-hair);text-align:start;vertical-align:top}
:where(.r4-tw,.k-tw) :where(thead th){font:600 var(--r4-t-xs)/1.35 var(--r4-sans);color:var(--r4-slate);background:var(--r4-paper);border-bottom:var(--r4-hair-strong)}

/* ============================================================== 3. COMPONENTS */

/* --- lead illustration ---------------------------------------------------- */
.r4-lead{margin:var(--r4-s5) 0 var(--r4-s6);padding:0;max-width:100%}
.r4-lead img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--r4-paper);border:var(--r4-hair);border-radius:var(--r4-r-sm)}
.r4-lead figcaption{margin:var(--r4-s2) 0 0;padding-inline-start:var(--r4-s3);border-inline-start:2px solid var(--r4-gold);font:400 var(--r4-t-xs)/1.5 var(--r4-sans);color:var(--r4-muted)}
html[data-k-theme="dark"] .r4-lead img{border-color:#2A3A55}
.narrow>figure.r4-lead{max-width:min(100%,880px)}

/* Hub and guide heads: title block beside the illustration on wide screens. */
body.kr-guide .kr-g-top-in:has(>.r4-lead){row-gap:12px}
body.kr-guide .kr-g-top-in>.r4-lead{margin:var(--r4-s3) 0 0}
@media (min-width:720px){
  body.kr-guide .kr-g-top-in:has(>.r4-lead){grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);column-gap:clamp(28px,4vw,56px);align-items:start}
  body.kr-guide .kr-g-top-in:has(>.r4-lead)>*{grid-column:1}
  body.kr-guide .kr-g-top-in>.r4-lead{grid-column:2;grid-row:1 / span 8;align-self:start;margin:var(--r4-s5) 0 0}
}

/* --- collection gateways ------------------------------------------------- */
:is(ul,ol).r4-gates,.prose :is(ul,ol).r4-gates{list-style:none;margin:var(--r4-s4) 0 0;padding:0;display:grid;gap:var(--r4-s4);grid-template-columns:repeat(auto-fill,minmax(min(100%,268px),1fr))}
.r4-gate{position:relative;display:flex;flex-direction:column;gap:var(--r4-s2);margin:0;padding:var(--r4-s4) var(--r4-s5) var(--r4-s5);background:var(--r4-surface);border:var(--r4-hair);border-top:3px solid var(--r4-green);border-radius:var(--r4-r-xs) var(--r4-r-xs) var(--r4-r-md) var(--r4-r-md)}
li.r4-gate>p{margin:0;max-width:none}
.r4-gate-k{margin:0;font:600 var(--r4-t-xs)/1.3 var(--r4-mono);letter-spacing:.02em;color:var(--r4-gold-text)}
.r4-gate-t{margin:0;font:600 var(--r4-t-lg)/1.25 var(--r4-serif);letter-spacing:-.01em;color:var(--r4-ink);text-wrap:balance}
.r4-gate-t strong{font-weight:600}
.r4-gate-links{margin:0;font:600 var(--r4-t-md)/1.4 var(--r4-sans);color:var(--r4-slate)}
.r4-gate-links a{color:var(--r4-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.r4-gate-links a:hover{text-decoration-thickness:2px}
.r4-gate-d{margin:0;font:400 var(--r4-t-sm)/1.55 var(--r4-sans);color:var(--r4-muted);text-wrap:pretty}
.r4-gate-img{display:block;width:calc(100% + 2*var(--r4-s5));max-width:none;height:auto;aspect-ratio:16/9;object-fit:cover;margin:calc(-1*var(--r4-s4)) calc(-1*var(--r4-s5)) var(--r4-s2);background:var(--r4-paper);border-bottom:var(--r4-hair)}
.r4-gate:has(.r4-gate-img){padding-top:var(--r4-s4)}
/* A gateway with a single destination is one target: the whole card opens it. */
.r4-gate-one .r4-gate-links a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.r4-gate-one:hover{border-color:var(--r4-rule-strong)}
.r4-gate-one:has(a:focus-visible){outline:var(--r4-focus-w) solid var(--r4-focus);outline-offset:2px}
.r4-gate-one a:focus-visible{outline:none}
/* Hub pathways use the full article width when the page has no side rail. */
@media (min-width:1024px){
  .narrow>section.r4-gateway{grid-column:1 / -1;max-width:none}
}
section.r4-gateway>h2{margin-bottom:0}
.narrow>section>.r4-gates,.prose>.r4-gates{max-width:none}
.prose .r4-gates>li{max-width:none}
.r4-areas{margin-bottom:var(--r4-s6)!important}

/* --- feature story ------------------------------------------------------- */
.r4-feature{display:grid;gap:var(--r4-s5);align-items:center;margin:var(--r4-s6) 0;padding:0 0 var(--r4-s6);border-bottom:var(--r4-hair)}
@media (min-width:860px){.r4-feature{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.r4-feature img{display:block;width:100%;height:auto;border:var(--r4-hair);border-radius:var(--r4-r-sm)}
.r4-feature h2,.r4-feature h3{margin:0 0 var(--r4-s3);font:600 var(--r4-t-2xl)/1.1 var(--r4-serif);letter-spacing:-.015em;color:var(--r4-ink)}
.r4-feature p{margin:0 0 var(--r4-s3);font-size:var(--r4-t-md);line-height:var(--r4-lh-body);color:var(--r4-slate)}

/* --- image-led card, patient-guide card, compact news ---------------------- */
.r4-card{display:flex;flex-direction:column;gap:var(--r4-s2);margin:0}
.r4-card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:var(--r4-hair);border-radius:var(--r4-r-sm);background:var(--r4-paper)}
.r4-card h3{margin:var(--r4-s1) 0 0;font:600 var(--r4-t-lg)/1.25 var(--r4-serif);color:var(--r4-ink)}
.r4-card p{margin:0;font-size:var(--r4-t-sm);line-height:1.55;color:var(--r4-muted)}
.r4-guide{display:flex;flex-direction:column;gap:var(--r4-s2);padding:var(--r4-s4) var(--r4-s5);background:var(--r4-surface);border:var(--r4-hair);border-inline-start:3px solid var(--r4-green);border-radius:var(--r4-r-md)}
.r4-guide h3{margin:0;font:600 var(--r4-t-lg)/1.25 var(--r4-serif);color:var(--r4-ink)}
.r4-news{display:grid;grid-template-columns:auto 1fr;gap:2px var(--r4-s3);padding:var(--r4-s3) 0;border-top:var(--r4-hair)}
.r4-news time,.r4-news .r4-news-k{font:500 var(--r4-t-xs)/1.4 var(--r4-mono);color:var(--r4-gold-text)}
.r4-news a{font-weight:600;color:var(--r4-ink);text-decoration:none}
.r4-news a:hover{text-decoration:underline}

/* --- sourced data panel, timeline, comparison, status ---------------------- */
.r4-data{margin:var(--r4-s6) 0;padding:var(--r4-s5);background:var(--r4-surface);border:var(--r4-hair);border-radius:var(--r4-r-md)}
.r4-data>h3,.r4-data>h2{margin:0 0 var(--r4-s3);font:600 var(--r4-t-lg)/1.25 var(--r4-serif)}
.r4-data .r4-src{margin:var(--r4-s3) 0 0;padding-top:var(--r4-s2);border-top:var(--r4-hair);font:400 var(--r4-t-xs)/1.5 var(--r4-sans);color:var(--r4-muted)}
.r4-timeline{list-style:none;margin:var(--r4-s5) 0;padding:0 0 0 var(--r4-s5);border-inline-start:2px solid var(--r4-rule-strong)}
.r4-timeline>li{position:relative;margin:0 0 var(--r4-s4);padding:0}
.r4-timeline>li::before{content:"";position:absolute;inset-inline-start:calc(-1*var(--r4-s5) - 6px);top:.45em;width:10px;height:10px;border-radius:50%;background:var(--r4-paper);border:2px solid var(--r4-gold)}
.r4-timeline time{display:block;font:500 var(--r4-t-xs)/1.4 var(--r4-mono);color:var(--r4-gold-text)}
.r4-compare{display:grid;gap:var(--r4-s4);margin:var(--r4-s5) 0}
@media (min-width:720px){.r4-compare{grid-template-columns:1fr 1fr}}
.r4-compare>*{padding:var(--r4-s4) var(--r4-s5);background:var(--r4-surface);border:var(--r4-hair);border-radius:var(--r4-r-md)}
.r4-compare h3{margin:0 0 var(--r4-s2);font:600 var(--r4-t-md)/1.3 var(--r4-sans)}
.r4-status{display:grid;grid-template-columns:auto 1fr;gap:var(--r4-s1) var(--r4-s4);margin:var(--r4-s5) 0;padding:var(--r4-s4) var(--r4-s5);background:var(--r4-paper);border:var(--r4-hair);border-inline-start:3px solid var(--r4-navy);border-radius:var(--r4-r-md)}
.r4-status dt{font:600 var(--r4-t-xs)/1.5 var(--r4-sans);color:var(--r4-muted)}
.r4-status dd{margin:0;font-size:var(--r4-t-sm)}

/* --- contents (long investigations without one) -------------------------- */
nav.r4-toc{margin:var(--r4-s5) 0 var(--r4-s6);max-width:var(--r4-measure);background:var(--r4-surface);border:var(--r4-hair);border-inline-start:3px solid var(--r4-navy);border-radius:var(--r4-r-md)}
nav.r4-toc summary{cursor:pointer;min-height:var(--r4-target);padding:var(--r4-s2) var(--r4-s4);display:flex;align-items:center;gap:var(--r4-s2);font:600 var(--r4-t-md)/1.3 var(--r4-sans);color:var(--r4-ink)}
nav.r4-toc summary{list-style:none}
nav.r4-toc summary::-webkit-details-marker{display:none}
nav.r4-toc summary::before{content:"";flex:0 0 auto;width:7px;height:7px;margin:0 4px 0 2px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease}
nav.r4-toc details[open]>summary::before{transform:rotate(45deg)}
nav.r4-toc .r4-toc-n{font-weight:400;font-size:var(--r4-t-sm);color:var(--r4-muted)}
nav.r4-toc ol{display:block;margin:0;padding:0 var(--r4-s5) var(--r4-s4) calc(var(--r4-s5) + 1.1em);font:400 var(--r4-t-sm)/1.45 var(--r4-sans);max-width:none}
nav.r4-toc li{margin:0 0 6px;break-inside:avoid;max-width:none}
nav.r4-toc a{color:var(--r4-link)}
@media (min-width:900px){nav.r4-toc ol{columns:2;column-gap:var(--r4-s6)}}

/* --- evidence / source note ------------------------------------------------ */
.r4-note{margin:var(--r4-s5) 0;padding:var(--r4-s3) var(--r4-s4);background:var(--r4-paper);border:var(--r4-hair);border-inline-start:3px solid var(--r4-gold);border-radius:var(--r4-r-sm);font-size:var(--r4-t-sm);line-height:1.6;color:var(--r4-slate)}

/* --- related reading (and the existing "You may be interested in" module) --- */
.r4-related,.interest{max-width:1180px}
.interest-grid{gap:0 var(--r4-s5)!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))!important}
.interest-card{padding:var(--r4-s4) 0!important;background:transparent!important;border:0!important;border-top:var(--r4-hair)!important;border-radius:0!important;box-shadow:none!important;transform:none!important;min-height:var(--r4-target)}
.interest-card:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.interest-card strong{font-weight:600!important;color:var(--r4-ink)}
.interest-kind{font-size:var(--r4-t-xs)!important;letter-spacing:.02em!important;text-transform:none!important;color:var(--r4-gold-text)!important}

/* --- historical edition label -------------------------------------------- */
.r4-edition{margin:0 0 var(--r4-s5);padding:var(--r4-s3) var(--r4-s4);background:var(--r4-gold-wash);border:1px solid var(--r4-gold-line);border-inline-start:4px solid var(--r4-gold);border-radius:var(--r4-r-sm);color:var(--r4-ink)}
.r4-edition p{margin:0;font-size:var(--r4-t-sm);line-height:1.55}
.r4-edition .r4-edition-k{margin:0 0 2px;font:600 var(--r4-t-md)/1.35 var(--r4-serif);color:var(--r4-ink)}
.r4-edition .r4-edition-k time{font-weight:600}
.r4-edition a{color:var(--r4-link);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.r4-edition-links{display:flex;flex-wrap:wrap;gap:0 var(--r4-s4)}
/* existing archived snapshots read as historical, consistently */
section.k-archived{border:1px solid var(--r4-gold-line)!important;border-inline-start:4px solid var(--r4-gold)!important;background:var(--r4-paper)!important;border-radius:var(--r4-r-sm)!important}
.k-archived-label{background:var(--r4-gold-wash)!important;color:var(--r4-ink)!important;border-radius:var(--r4-r-xs)!important}

/* --- recovery paths (404 / 410 / withdrawn) -------------------------------- */
.r4-recover{margin:var(--r4-s5) 0 0;padding:var(--r4-s4) 0 0;border-top:var(--r4-hair)}
.r4-recover h2{margin:0 0 var(--r4-s2);font:600 var(--r4-t-md)/1.3 var(--r4-sans);color:var(--r4-ink)}
.r4-recover ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--r4-s2) var(--r4-s3)}
.r4-recover a{padding:0 var(--r4-s4);border:var(--r4-hair-strong);border-radius:var(--r4-r-md);background:var(--r4-surface);color:var(--r4-ink);font-weight:600;text-decoration:none}
.r4-recover a:hover{border-color:var(--r4-green);color:var(--r4-green-deep)}
.r4-recover a[href="/search/"]{background:var(--r4-navy);border-color:var(--r4-navy);color:#fff}
html[data-k-theme="dark"] .r4-recover a[href="/search/"]{color:#0E1B31}

/* ============================================================== 4. FAMILY SKINS (existing classes) */

/* Article heads */
:where(main) h1.page{color:var(--r4-ink)}
.meta-line{font:400 var(--r4-t-xs)/1.6 var(--r4-sans);color:var(--r4-muted)}

/* Guides (Explore / Everyday) */
body.kr-guide .kr-g-top{background:var(--r4-paper)!important;border-bottom:var(--r4-hair)!important}
body.kr-guide .kr-g-top .kr-g-note{background:var(--r4-gold-wash);border-color:var(--r4-gold-line);border-inline-start:4px solid var(--r4-gold);border-radius:var(--r4-r-sm);color:var(--r4-ink)}
body.kr-guide .kr-g-top .meta-line{font-family:var(--r4-sans)}
body.kr-guide article.narrow .kr-g-covers{border-radius:var(--r4-r-md);background:var(--r4-surface)}
body.kr-guide .kr-g-covers ol{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));column-gap:var(--r4-s6)}
/* "The short answer": takeaways read as a panel, not as another bullet list */
.prose h2#g-the-short-answer{border-top:0;padding-top:0}
.prose h2#g-the-short-answer+ul,.r4-takeaways{list-style:none;margin:var(--r4-s3) 0 var(--r4-s6)!important;padding:var(--r4-s4) var(--r4-s5)!important;background:var(--r4-green-wash);border:1px solid var(--r4-green-line);border-inline-start:4px solid var(--r4-green);border-radius:var(--r4-r-sm);display:grid!important;gap:var(--r4-s3)!important;font-size:var(--r4-t-md)!important}
.prose h2#g-the-short-answer+ul>li,.r4-takeaways>li{position:relative;margin:0;padding-inline-start:22px;line-height:1.55}
.prose h2#g-the-short-answer+ul>li::before,.r4-takeaways>li::before{content:"";position:absolute;inset-inline-start:2px;top:.5em;width:9px;height:9px;border-radius:50%;border:2px solid var(--r4-green)}
/* Hub reading lists ("Start here", library lists) */
body.kr-guide .narrow:has(>section.r4-gateway) .prose h2+ul{padding-inline-start:0;list-style:none}
body.kr-guide .narrow:has(>section.r4-gateway) .prose h2+ul>li{margin:0;padding:var(--r4-s2) 0;border-top:var(--r4-hair)}
body.kr-guide .narrow:has(>section.r4-gateway) .prose h2+ul>li:last-child{border-bottom:var(--r4-hair)}
.notice.red{border-inline-start-color:var(--r4-red)}

/* Headings re-levelled for a valid outline keep the look of their former level */
a.card h2.r4-lvl3{font-family:var(--r4-serif);font-weight:500;font-size:20px;line-height:1.24;letter-spacing:-.014em;margin:0 0 10px;padding:0;border:0;color:var(--r4-navy);text-transform:none}
.prose h2.r4-lvl4,h2.r4-lvl4{font-family:var(--r4-sans);font-size:1em;font-weight:700;line-height:1.78;letter-spacing:-.003em;margin:1.33em 0;padding:0;border:0;color:var(--r4-navy);text-transform:none}
.prose h2.r4-lvl4::before,.prose h2.r4-lvl4::after{content:none}

/* Review and provenance notices: one honest, consistent treatment (wording untouched). */
.k-prov p{font:400 var(--r4-t-xs)/1.6 var(--r4-sans);letter-spacing:0;color:var(--r4-muted)}
.k-prov p a{color:var(--r4-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}

/* Weekly / desk issues */
.r4-edition+header .eyebrow{margin-top:0}

/* 404 / 410 / withdrawal: identity, then the ways back. The portrait is kept, at a supporting size. */
body.r4-err .hero{display:grid!important;grid-template-columns:minmax(0,1fr);gap:var(--r4-s5);align-items:start;padding-block:clamp(28px,5vw,56px) var(--r4-s5)}
body.r4-err figure.pic{max-width:120px;margin:0}
body.r4-err figure.pic::before{display:none}
body.r4-err figure.pic img{border-radius:var(--r4-r-md);box-shadow:none;border:var(--r4-hair)}
body.r4-err figure.pic figcaption{font-size:11px;letter-spacing:.04em}
@media (max-width:759px){
  body.r4-err .hero>figure.pic{order:2;display:flex;align-items:center;gap:var(--r4-s3);max-width:none}
  body.r4-err .hero>figure.pic img{width:64px;flex:0 0 64px}
  body.r4-err .hero>figure.pic figcaption{margin:0}
}
@media (min-width:760px){body.r4-err .hero{grid-template-columns:120px minmax(0,1fr);gap:clamp(28px,4vw,48px)}}
body.r4-err .btn{box-shadow:none;background:var(--r4-navy)}
body.r4-err .btn.ghost{background:var(--r4-surface);color:var(--r4-ink)}
body.r4-err .grid a{box-shadow:none;transform:none}

/* Translations: language-appropriate type (system faces; no external fonts). */
:lang(hi) :where(p,li,dd,td,th,h1,h2,h3,h4,a,span,strong,em){font-family:'Noto Sans Devanagari','Kohinoor Devanagari','Nirmala UI',Mangal,var(--r4-sans)}
:lang(pa) :where(p,li,dd,td,th,h1,h2,h3,h4,a,span,strong,em){font-family:'Noto Sans Gurmukhi','Gurmukhi MN','Nirmala UI',Raavi,var(--r4-sans)}
:lang(ur) :where(p,li,dd,td,th,h1,h2,h3,h4,a,span,strong,em){font-family:'Noto Nastaliq Urdu','Jameel Noori Nastaleeq','Urdu Typesetting','Noto Naskh Arabic','Geeza Pro',Tahoma,var(--r4-sans)}
:lang(hi) :where(main p,main li),:lang(pa) :where(main p,main li){line-height:1.8}
:lang(ur) :where(main p,main li,main dd){line-height:2.05}
:lang(ur) :where(main h1,main h2,main h3){line-height:1.6}
/* Latin-script names and English notices inside a translation keep the publication faces. */
:lang(hi) [lang="en"],:lang(pa) [lang="en"],:lang(ur) [lang="en"],:lang(hi) [lang="en"] *,:lang(pa) [lang="en"] *,:lang(ur) [lang="en"] *{font-family:var(--r4-sans)}
:lang(ur) .eyebrow,:lang(hi) .eyebrow,:lang(pa) .eyebrow,:lang(ur) .mono,:lang(hi) .mono,:lang(pa) .mono{letter-spacing:0;text-transform:none}
:lang(ur) .eyebrow::after{background:linear-gradient(270deg,currentColor,transparent)}
[dir="rtl"] :where(main) :where(ul,ol){padding-inline-start:1.4em;padding-inline-end:0}
[dir="rtl"] .k-deskm>summary{unicode-bidi:plaintext}

/* Bundled app pages (/home-app/, /library/app/, /intelligence/app/, /enforcement/app/): while the bundle's
   loading screen centres itself, the site header and footer still take full rows instead of a squeezed column. */
body:has(>#__bundler_thumbnail){flex-wrap:wrap}
body:has(>#__bundler_thumbnail)>:is(.k-hdr,.k-foot,section,.k-prov){flex:0 0 100%;max-width:100%;min-width:0}
body:has(>#__bundler_thumbnail)>#__bundler_thumbnail svg{max-width:100%;height:auto}

/* ============================================================== 5. MOTION */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* ============================================================== 6. PRINT (component layer; chrome rules are in the shared files) */
@media print{
  .r4-lead,.r4-feature,.r4-data,figure,table,.r4-tw,.r4-timeline>li,.r4-compare>*,.r4-gate{break-inside:avoid}
  .r4-tw{overflow:visible;border:0}
  .r4-gates{display:block}
  .r4-gate{border:0;border-top:1px solid #999;padding:6pt 0;background:none}
  .r4-gate-img{display:none}
  .r4-gate-one .r4-gate-links a::after{content:none}
  .r4-edition{background:none;border:1px solid #999;border-left:3pt solid #000}
  .r4-recover,.interest,.r4-related,nav.r4-toc{display:none!important}
  body.kr-guide .kr-g-top{background:none!important;border:0!important;margin-bottom:0!important}
  body.kr-guide article.narrow{padding-top:0!important}
  :where(li,p,dd):target{background:none;box-shadow:none}
}

/* 30 Oct 2026: WCAG 2.2 target size (2.5.8) for the CFMG article "Full contents" disclosure */
.toc-full>summary{min-height:24px;padding:3px 0;line-height:18px;cursor:pointer}
