/* kpsgill-shell.css — fonts + chrome + edition + 2026-10 layer (sections with their own base stylesheet). */
/* Self-hosted fonts (latin + latin-ext), Oct 2026. Fraunces is variable: opsz 9–144, wght 400–700. */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/fraunces-italic-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;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/fraunces-italic-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;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/fraunces-400-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;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/fraunces-400-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;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/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;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/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;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/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;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/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;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/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;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/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;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/public-sans-400-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;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/public-sans-400-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;
}
/* kpsgill-chrome.css — THE canonical global chrome for kpsgill.com (22 September 2026).
   One rule set for the static header, the Level-2 desk disclosure and the static footer.
   Markup is static HTML in every page; assets/kpsgill-nav.js adds behaviour only.
   Nothing else may style .k-hdr / .k-desk / .k-foot. The former chrome layers in styles.css
   (including two inlined base64 portraits) were removed in the same change. */
:root{--k-navy:#12233F;--k-ink:#0E1B31;--k-cream:#F6F5F0;--k-paper:#FBFAF7;--k-teal:#1F6F5C;--k-teal-deep:#175A4A;--k-gold:#B8863B;--k-gold-soft:#F3E5C8;--k-gold-text:#90692E;--k-line:#E4E2DA;--k-muted:#6F7068;--k-serif:Fraunces,Georgia,serif;--k-sans:'Public Sans',system-ui,Arial,sans-serif;--k-mono:'IBM Plex Mono',Consolas,monospace}

/* ---------- skip link ---------- */
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:#fff;color:var(--k-navy);padding:10px 14px;font:600 14px/1.2 var(--k-sans)}
.skip:focus{left:8px;top:8px;outline:2px solid var(--k-teal);outline-offset:2px}

/* ---------- global header ---------- */
.k-hdr{position:sticky;top:0;z-index:100;display:block;margin:0;padding:0;background:var(--k-paper);border-bottom:1px solid var(--k-line);font-family:var(--k-sans);color:var(--k-ink);transition:box-shadow .2s ease}
.k-hdr.k-stuck{box-shadow:0 1px 10px rgba(14,27,49,.08)}
.k-hdr *,.k-desk *,.k-foot *{box-sizing:border-box}
.k-hrow{max-width:1280px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:14px 28px}
.k-brand{display:flex;flex-direction:column;gap:3px;text-decoration:none;color:var(--k-navy);flex:0 0 auto;margin-right:auto}
.k-brand:hover{color:var(--k-navy)}
.k-bt{display:flex;flex-direction:column;gap:3px}
.k-bt>span{font:700 21px/1 var(--k-serif);letter-spacing:-.015em;color:var(--k-navy)}
.k-bt small{font:500 10px/1.2 var(--k-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--k-muted)}
.k-nav{display:flex;align-items:center;flex-wrap:wrap;gap:2px 18px;margin:0;padding:0}
.k-nav a{display:inline-block;padding:6px 0;font:500 11.5px/1.2 var(--k-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--k-navy);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.k-nav a:hover{border-bottom-color:var(--k-gold)}
.k-nav a[aria-current="page"],.k-nav a[aria-current="true"]{border-bottom-color:var(--k-teal);color:var(--k-teal-deep)}
.k-nav a:focus-visible,.k-hsearch:focus-visible,.k-toggle:focus-visible,.k-desk summary:focus-visible,.k-foot a:focus-visible{outline:2px solid var(--k-teal);outline-offset:3px}
.k-hsearch{order:3;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--k-line);border-radius:999px;background:#fff;font:500 11.5px/1 var(--k-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--k-navy);text-decoration:none;white-space:nowrap}
.k-hsearch:hover{border-color:var(--k-navy)}
.k-hsearch::before{content:"";width:11px;height:11px;border:2px solid currentColor;border-radius:50%;box-shadow:3px 3px 0 -1px currentColor;flex:0 0 auto}
.k-toggle{display:none;order:4;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--k-navy);border-radius:999px;background:var(--k-navy);color:#fff;font:600 12px/1 var(--k-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.k-toggle:hover{background:var(--k-ink)}
.k-tbars{display:inline-flex;flex-direction:column;gap:3px}
.k-tbars span{display:block;width:14px;height:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
.k-toggle[aria-expanded="true"] .k-tbars span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.k-toggle[aria-expanded="true"] .k-tbars span:nth-child(2){opacity:0}
.k-toggle[aria-expanded="true"] .k-tbars span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
@media (min-width:1360px){.k-nav{order:2}}
@media (max-width:1359px){
  .k-hrow{padding:10px 16px;gap:10px}
  .k-bt>span{font-size:19px}
  .k-bt small{font-size:9px;letter-spacing:.1em}
  .k-hsearch{min-height:44px;padding:0 14px}
  .k-toggle{display:inline-flex}
  .k-nav{display:none}
  .k-nav.k-open{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;position:fixed;left:0;right:0;top:var(--k-hdr-h,64px);bottom:0;overflow-y:auto;padding:8px 16px 32px;background:var(--k-paper);border-top:1px solid var(--k-line);z-index:99}
  .k-nav.k-open a{padding:16px 4px;font-size:14px;border-bottom:1px solid var(--k-line)}
  .k-nav.k-open a[aria-current="page"]{border-bottom-color:var(--k-line);box-shadow:inset 3px 0 0 var(--k-teal);padding-left:12px}
  /* Without JavaScript the Menu control does nothing, so it is hidden and the families show as a plain wrapped row. */
  html:not(.k-js) .k-toggle{display:none}
  html:not(.k-js) .k-hrow{flex-wrap:wrap}
  html:not(.k-js) .k-nav{display:flex;order:5;flex-basis:100%;gap:0 16px}
}
/* Compact header (22 September 2026). A deterministic 3-column grid replaces flex intrinsic
   widths so brand + Search + Menu always fit: the brand column shrinks (min-width:0) and the
   controls never grow. The strapline is dropped at <=600px, where it competed with the controls
   (on a 440px iPhone 17 Pro Max it pushed Menu past the right edge). Measured budget at 440px:
   16+~120 brand+8+~96 Search+8+~88 Menu+16 = ~352px. */
@media (max-width:600px){
  .k-hrow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}
  .k-brand{min-width:0;margin-right:0;min-height:44px;justify-content:center}
  .k-bt{min-width:0}
  .k-bt>span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .k-bt small{display:none}
  .k-hsearch,.k-toggle{flex:0 0 auto;min-height:44px;padding:0 12px}
  .k-hsearch{gap:7px}
  html:not(.k-js) .k-nav{grid-column:1/-1}
}
/* <=380px: Search becomes a 44px icon button. Its text stays in the accessibility tree
   (font-size:0), so the accessible name is still "Search". Menu keeps its label. */
@media (max-width:380px){
  .k-hrow{gap:6px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .k-bt>span{font-size:18px}
  .k-hsearch{width:44px;padding:0;justify-content:center;font-size:0;letter-spacing:0}
  .k-hsearch::before{width:13px;height:13px}
  .k-toggle{padding:0 11px;gap:7px}
}
body.k-navopen{overflow:hidden}

/* ---------- Level 1 families + mega panels ---------- */
.k-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.k-fams{display:flex;align-items:center;flex-wrap:wrap;gap:2px 14px;margin:0;padding:0;list-style:none}
.k-fam{position:static;display:flex;align-items:center;gap:0;margin:0}
.k-famx{display:inline-flex;align-items:center;justify-content:center;width:22px;height:30px;margin:0 0 0 1px;padding:0;border:0;background:none;color:var(--k-navy);cursor:pointer;border-radius:4px}
.k-famx::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s ease}
.k-famx[aria-expanded="true"]::after{transform:translateY(2px) rotate(-135deg)}
.k-famx:hover{background:var(--k-cream)}
html:not(.k-js) .k-famx{display:none}
.k-panel{position:absolute;left:0;right:0;top:100%;z-index:98;background:#fff;border-top:1px solid var(--k-line);border-bottom:1px solid var(--k-line);box-shadow:0 12px 28px rgba(14,27,49,.10)}
.k-panel[hidden]{display:none}
.k-pgrid{max-width:1280px;margin:0 auto;padding:22px 24px 26px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:28px}
.k-plede{margin:0 0 14px;font:400 15px/1.55 var(--k-serif);color:var(--k-ink);text-wrap:pretty}
.k-pall{font:600 12px/1.2 var(--k-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--k-teal-deep);text-decoration:none}
.k-pall:hover{text-decoration:underline}
.k-plinks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 24px;margin:0;padding:0;list-style:none}
.k-plinks a{display:block;padding:8px 0;border-bottom:1px solid var(--k-line);text-decoration:none;color:var(--k-navy);font:600 14px/1.3 var(--k-sans);letter-spacing:0;text-transform:none;white-space:normal}
.k-plinks a:hover{color:var(--k-teal-deep)}
.k-plinks a span{display:block;margin-top:3px;font:400 12.5px/1.45 var(--k-sans);color:var(--k-muted)}
.k-hdr .k-nav .k-plinks a,.k-hdr .k-nav .k-pall{border-bottom-width:1px}
.k-hdr{position:sticky}
.k-hrow{position:static}
@media (min-width:1360px){.k-hdr .k-hrow{position:relative}}
@media (max-width:1359px){
  .k-fams{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0}
  .k-fam{flex-wrap:wrap;border-bottom:1px solid var(--k-line)}
  .k-nav.k-open .k-fam>.k-famlink{flex:1 1 auto;border-bottom:0}
  .k-famx{width:48px;height:48px}
  .k-panel{position:static;flex-basis:100%;box-shadow:none;border:0;background:var(--k-cream)}
  .k-pgrid{grid-template-columns:minmax(0,1fr);gap:8px;padding:6px 14px 14px}
  .k-plede{display:none}
  .k-plinks{grid-template-columns:minmax(0,1fr)}
  .k-plinks a span{display:none}
  html:not(.k-js) .k-fams{flex-direction:row;flex-wrap:wrap;gap:0 16px}
  html:not(.k-js) .k-fam{border:0}
}

/* ---------- Level 2: desk bar (desktop) / disclosure (mobile) + breadcrumb + language ---------- */
.k-sub{max-width:1280px;margin:0 auto;padding:0 24px;text-align:left}
.k-sub>*{width:auto;max-width:none;margin-left:0;margin-right:0}
.k-deskbar{display:flex;align-items:center;gap:6px 20px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--k-line)}
.k-dbfam{font:600 11px/1.2 var(--k-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--k-muted);text-decoration:none;white-space:nowrap}
.k-dbfam::after{content:" /";color:var(--k-line)}
.k-deskbar ul,.k-deskm ul{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;list-style:none}
.k-deskbar a:not(.k-dbfam){font:500 13.5px/1.4 var(--k-sans);color:var(--k-teal-deep);text-decoration:none}
.k-deskbar a:not(.k-dbfam):hover{text-decoration:underline}
.k-deskbar a[aria-current],.k-deskm a[aria-current]{color:var(--k-navy);font-weight:700;text-decoration:underline;text-decoration-color:var(--k-teal);text-underline-offset:4px}
.k-deskm{display:none;width:100%;border-bottom:1px solid var(--k-line)}
.k-deskm summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;list-style:none;font:500 11px/1.2 var(--k-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--k-muted)}
.k-deskm summary::-webkit-details-marker{display:none}
.k-deskm summary strong{min-width:0;overflow-wrap:anywhere;color:var(--k-navy);font-weight:600}
.k-deskm summary::after{flex:0 0 auto;padding-left:8px}
.k-deskm summary::after{content:"\25BE";color:var(--k-navy);margin-left:auto}
.k-deskm[open] summary::after{transform:rotate(180deg)}
.k-deskm ul{flex-direction:column;gap:0;padding:0 0 10px}
.k-deskm a{display:block;padding:11px 0;border-top:1px solid var(--k-line);font:500 14px/1.3 var(--k-sans);color:var(--k-teal-deep);text-decoration:none}
.k-crumbs ol{display:flex;flex-wrap:wrap;min-width:0;gap:2px 0;margin:0;padding:10px 0 0;list-style:none;font:400 12px/1.5 var(--k-mono);color:var(--k-muted)}
.k-crumbs li+li::before{content:"\203A";margin:0 8px;color:var(--k-muted)}
.k-crumbs a{color:var(--k-teal-deep);text-decoration:none}
.k-crumbs a:hover{text-decoration:underline}
.k-crumbs li{min-width:0;overflow-wrap:anywhere}
.k-crumbs [aria-current]{color:var(--k-ink)}
.k-sub .k-langs{padding:8px 0 0;margin:0;max-width:none}
.k-sub .k-langs::before{content:"Language";font:600 10.5px/1 var(--k-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--k-muted);margin-right:4px}
.k-sub .k-desk{padding:8px 0 0;max-width:none}
.k-seq{max-width:1280px;margin:32px auto 0;padding:14px 24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;border-top:1px solid var(--k-line);font:500 13px/1.4 var(--k-sans)}
.k-seq a{color:var(--k-teal-deep);text-decoration:none}
.k-seq a:hover{text-decoration:underline}
@media (max-width:960px){.k-sub{padding:0 16px}.k-deskbar{display:none}.k-sub .k-deskm{display:block;width:100%}.k-crumbs ol{padding-top:8px}.k-seq{padding:14px 16px}}

/* ---------- family landing pages, directory, homepage explore ---------- */
.k-land{max-width:1280px;margin:0 auto;padding:28px 24px 12px;font-family:var(--k-sans);color:var(--k-ink)}
.k-land h1{margin:0 0 12px;font:700 clamp(32px,5vw,52px)/1.05 var(--k-serif);letter-spacing:-.015em;color:var(--k-navy)}
.k-land .k-lede{margin:0 0 28px;max-width:62ch;font:400 clamp(18px,2.2vw,22px)/1.45 var(--k-serif);color:#24344E;text-wrap:pretty}
.k-land h2{margin:40px 0 14px;font:600 11.5px/1.2 var(--k-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--k-muted)}
.k-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.k-card{display:block;padding:18px 18px 16px;background:var(--k-paper);border:1px solid var(--k-line);border-radius:6px;text-decoration:none;color:var(--k-ink)}
.k-card:hover{border-color:var(--k-navy)}
.k-card strong{display:block;margin:0 0 6px;font:600 18px/1.25 var(--k-serif);color:var(--k-navy)}
.k-card span{display:block;font:400 14px/1.5 var(--k-sans);color:#3E4A5C}
.k-card em{display:block;margin-top:10px;font:500 11px/1 var(--k-mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--k-teal-deep)}
.k-newest{margin:0;padding:0;list-style:none;border-top:1px solid var(--k-line)}
.k-newest li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--k-line)}
.k-newest time{font:400 12px/1.6 var(--k-mono);color:var(--k-muted)}
.k-newest a{font:500 15px/1.45 var(--k-sans);color:var(--k-navy);text-decoration:none}
.k-newest a:hover{color:var(--k-teal-deep);text-decoration:underline}
.k-map details{border-top:1px solid var(--k-line)}
.k-map details:last-child{border-bottom:1px solid var(--k-line)}
.k-map summary{display:flex;align-items:baseline;gap:10px;min-height:46px;padding:12px 0;cursor:pointer;font:600 16px/1.3 var(--k-serif);color:var(--k-navy)}
.k-map summary small{font:400 12px/1 var(--k-mono);color:var(--k-muted)}
.k-map ul{columns:2 320px;column-gap:32px;margin:0;padding:0 0 16px;list-style:none}
.k-map li{break-inside:avoid;padding:3px 0}
.k-map li a{font:400 14px/1.45 var(--k-sans);color:var(--k-teal-deep);text-decoration:none}
.k-map li a:hover{text-decoration:underline}
.k-map h3{margin:26px 0 6px;font:700 22px/1.2 var(--k-serif);color:var(--k-navy)}
.k-map h3 a{color:inherit;text-decoration:none}
.k-explore{margin:48px 0 0}
.k-explore h2{margin:0 0 6px;font:700 clamp(24px,3.4vw,32px)/1.15 var(--k-serif);color:var(--k-navy)}
.k-explore>p{margin:0 0 18px;font:400 16px/1.55 var(--k-sans);color:#3E4A5C}
.k-fcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.k-fcard{padding:18px;background:var(--k-paper);border:1px solid var(--k-line);border-radius:6px}
.k-fcard h3{margin:0 0 10px;font:700 19px/1.2 var(--k-serif)}
.k-fcard h3 a{color:var(--k-navy);text-decoration:none}
.k-fcard ul{margin:0 0 12px;padding:0;list-style:none}
.k-fcard li a{display:block;padding:5px 0;font:400 14px/1.4 var(--k-sans);color:var(--k-teal-deep);text-decoration:none;border-bottom:1px solid var(--k-line)}
.k-fcard .k-pall{display:inline-block;margin-top:2px}
@media (max-width:960px){.k-land{padding:22px 16px 8px}.k-newest li{grid-template-columns:minmax(0,1fr);gap:2px}}

/* ---------- Level 2: desk disclosure (never a second menu) ---------- */
.k-desk{max-width:1280px;margin:0 auto;padding:8px 24px 0;font-family:var(--k-sans)}
.k-desk details{border-bottom:1px solid var(--k-line)}
.k-desk summary{display:flex;flex-wrap:wrap;width:auto;max-width:100%;grid-template-columns:none;align-items:center;gap:8px;min-height:40px;cursor:pointer;list-style:none;font:500 11px/1.2 var(--k-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--k-muted)}
.k-desk summary::-webkit-details-marker{display:none}
.k-desk summary strong{display:inline;width:auto;max-width:none;white-space:normal;color:var(--k-navy);font-weight:600}
.k-desk summary::after{content:"\25BE";color:var(--k-navy);transition:transform .15s ease}
.k-desk details[open] summary::after{transform:rotate(180deg)}
.k-desk-links{display:flex;flex-wrap:wrap;gap:4px 18px;padding:2px 0 12px}
.k-desk-links a{font:500 13px/1.5 var(--k-sans);color:var(--k-teal-deep);text-decoration:none}
.k-desk-links a:hover{text-decoration:underline}
.k-desk-links a[aria-current="page"]{color:var(--k-navy);font-weight:600}
@media (max-width:960px){.k-desk{padding:6px 16px 0}.k-desk-links{flex-direction:column;gap:0}.k-desk-links a{padding:10px 0;border-top:1px solid var(--k-line)}}

/* ---------- language switcher (translated pages) ---------- */
.k-langs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;max-width:1280px;margin:0 auto;padding:8px 24px;font:500 12px/1.4 var(--k-mono);letter-spacing:.04em}
.k-langs a{color:var(--k-teal-deep);text-decoration:none}
.k-langs a:hover{text-decoration:underline}
.k-langs a[aria-current="true"],.k-langs a[aria-current="page"]{color:var(--k-navy);font-weight:600}
@media (max-width:960px){.k-langs{padding:8px 16px}.k-langs a{min-height:32px;display:inline-flex;align-items:center}}

/* Body-level chrome bands. Many pages make <body> a flex column; a flex item with margin:0 auto
   shrinks to its content and centres (the "In this section" bar drifted to the middle on
   iPhone). width:100% + border-box keeps each band full width, centred only past 1280px. */
.k-sub,.k-prov,.k-seq,.k-desk,body>.k-langs{width:100%;box-sizing:border-box;align-self:stretch}
.k-sub .k-deskm,.k-sub .k-deskbar,.k-sub .k-crumbs,.k-sub .k-langs{width:100%;max-width:none;margin-left:0;margin-right:0;box-sizing:border-box}
.k-deskm summary{justify-content:flex-start;text-align:left}

/* ---------- page-level provenance (dates live here, never in the footer) ---------- */
.k-prov{max-width:1280px;margin:40px auto 0;padding:0 24px}
.k-prov p{margin:0;padding:14px 0 0;border-top:1px solid var(--k-line);font:400 12px/1.6 var(--k-mono);letter-spacing:.02em;color:var(--k-muted);text-wrap:pretty}
.k-prov a{color:var(--k-teal-deep)}

/* ---------- global footer ---------- */
.k-foot{display:block;margin:48px 0 0;padding:0;background:var(--k-navy);color:#E9ECF1;font-family:var(--k-sans);border:0}
.k-foot a{color:#fff;text-decoration:none}
.k-foot a:hover{text-decoration:underline;color:#fff}
.k-frow{max-width:1280px;margin:0 auto;padding:40px 24px 28px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.4fr);gap:32px}
.k-fid{display:flex;align-items:flex-start;gap:16px}
.k-fportrait{display:block;width:56px;height:56px;flex:0 0 56px;border-radius:50%;object-fit:cover;object-position:50% 20%;background:#2A3A55;border:2px solid rgba(255,255,255,.18)}
.k-fname{margin:0 0 6px;font:600 18px/1.25 var(--k-serif);color:#fff}
.k-fsub{margin:0;font:400 12px/1.5 var(--k-mono);letter-spacing:.04em;color:#C9D0DB}
.k-faddr{font-style:normal}
.k-fh,.k-faddr .k-fh{margin:0 0 8px;font:600 10.5px/1.2 var(--k-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--k-gold-soft)}
.k-faddr p:not(.k-fh){margin:0 0 10px;font:400 14px/1.55 var(--k-sans);color:#E9ECF1}
.k-fnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}
.k-fnav h2{grid-column:1/-1;margin:0 0 6px;font:600 10.5px/1.2 var(--k-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--k-gold-soft)}
.k-fnav a{font:400 14px/1.9 var(--k-sans)}
.k-flang{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.14)}
.k-flegal{max-width:1280px;margin:0 auto;padding:18px 24px 32px;border-top:1px solid rgba(255,255,255,.14)}
.k-futil{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 14px}
.k-futil a{font:500 11px/1.6 var(--k-mono);letter-spacing:.06em;text-transform:uppercase;color:#fff}
.k-flegal p{margin:0 0 8px;max-width:90ch;font:400 12.5px/1.6 var(--k-sans);color:#C9D0DB}
@media (max-width:960px){.k-frow{grid-template-columns:minmax(0,1fr);gap:26px;padding:32px 16px 22px}.k-flegal{padding:16px 16px 28px}.k-fnav a,.k-futil a{display:inline-block;min-height:32px}}
[dir="rtl"] .k-hrow,[dir="rtl"] .k-frow{direction:ltr}
[dir="rtl"] .k-desk{direction:rtl}
@media print{.k-hdr{position:static}.k-toggle,.k-hsearch,.k-desk{display:none}.k-foot{background:none;color:#000}.k-foot a{color:#000}}

/* ---------- global search + assistant band (one per page, before the footer) ---------- */
.k-gsearch{width:100%;box-sizing:border-box;align-self:stretch;margin:48px 0 0;background:#F6F5F0;border-top:1px solid var(--k-line)}
.k-gs-in{max-width:1280px;margin:0 auto;padding:30px 24px 34px;box-sizing:border-box}
.k-gsearch h2{margin:0 0 6px;font:700 22px/1.2 var(--k-serif);color:var(--k-navy)}
.k-gs-lede{margin:0 0 16px;max-width:70ch;font:400 15px/1.55 var(--k-sans);color:#3E4A5C}
.k-gs{display:block;margin:0;width:100%}
.k-gs-form{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;border:1.5px solid var(--k-navy);border-radius:999px;background:#fff;overflow:hidden;box-sizing:border-box}
.k-gs-form input{min-width:0;width:100%;min-height:52px;padding:0 22px;border:0;background:transparent;font:400 17px/1 var(--k-sans);color:var(--k-ink)}
.k-gs-form input:focus-visible{outline:2px solid var(--k-teal);outline-offset:-3px}
.k-gs-form button{min-width:52px;min-height:52px;padding:0 26px;border:0;background:var(--k-navy);color:#fff;font:600 12px/1 var(--k-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.k-gs-form button:hover{background:var(--k-ink)}
.k-gsearch .ask-enhance{width:100%;max-width:none;margin:14px 0 0}
.k-gsearch .ask-scope{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.k-gsearch .ask-pill{display:flex;align-items:center;gap:10px;width:100%;min-width:0;min-height:46px;margin:0;padding:0 14px;box-sizing:border-box;border-radius:999px}
.k-gsearch .ask-pill-k{flex:0 0 auto;white-space:nowrap}
.k-gsearch .ask-pill select,.k-gsearch .ask-pill-v{flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-gsearch .ask-beyond{margin:18px 0 0;padding-top:16px}
.k-gsearch .ask-results{border:0}
.k-gsearch .ask-results:empty{display:none}
.k-gsearch .ask-beyond-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 24px;align-items:center;padding-top:0;border-top:0}
.k-gsearch .ask-beyond-note{margin:0;max-width:none}
.k-gsearch .ask-btn{justify-self:end;min-height:46px;white-space:nowrap}
@media (max-width:900px){.k-gsearch .ask-scope{grid-template-columns:minmax(0,1fr)}.k-gsearch .ask-beyond-head{grid-template-columns:minmax(0,1fr)}.k-gsearch .ask-btn{justify-self:stretch}}
.k-gsearch+.k-foot,.k-gsearch+.k-prov{margin-top:0}
.askband{display:none}
@media (max-width:960px){.k-gs-in{padding:24px 16px 28px}.k-gs-form input{font-size:16px;padding:0 16px}.k-gs-form button{padding:0 16px}}

/* ===== 25 Sept design normalisation ===== */
/* Header: one row from 1360px; below that, the Menu state. Never a two-row desktop header. */
@media (min-width:961px) and (max-width:1359px){.k-hrow{padding:12px 24px;gap:14px 24px}.k-bt>span{font-size:21px}.k-bt small{font-size:10px;letter-spacing:.1em}}
@media (min-width:1360px){.k-hrow{flex-wrap:nowrap;gap:0 20px}.k-fams{flex-wrap:nowrap;gap:0 10px}.k-nav a{font-size:11px;letter-spacing:.05em}.k-famx{width:18px}.k-bt small{letter-spacing:.08em}}
/* Search band: site search, then Ask KPSGill as a visibly separate second step */
.k-gsearch .ask-beyond::before{content:"Ask KPSGill \2014 beyond the library";display:block;margin:0 0 10px;font:600 11px/1.2 var(--k-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--k-teal-deep)}

/* ---------- footer v3 · October 2026 (Now band, personal site, wordmark) ---------- */
.k-foot{container:kfoot/inline-size}
.k-fnow{max-width:1280px;margin:0 auto;padding:36px 24px 30px;border-bottom:1px solid rgba(255,255,255,.12)}
.k-fnow-hd{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin:0 0 20px}
.k-fnow-eye{margin:0;display:inline-flex;align-items:center;gap:8px;font:600 11px/1.2 var(--k-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--k-gold-soft)}
.k-fnow-dot{width:8px;height:8px;border-radius:50%;background:#3FBF8F;animation:k-pulse 2.4s ease-out infinite}
@keyframes k-pulse{0%{box-shadow:0 0 0 0 rgba(63,191,143,.55)}70%{box-shadow:0 0 0 8px rgba(63,191,143,0)}100%{box-shadow:0 0 0 0 rgba(63,191,143,0)}}
.k-fnow h2{margin:0;flex:1 1 16rem;font:600 clamp(22px,2.4vw,30px)/1.15 var(--k-serif);letter-spacing:-.01em;color:#fff;text-wrap:balance}
.k-fnow-stamp{margin:0;font:400 12px/1.4 var(--k-mono);color:#AEB8C7}
.k-fnow-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:14px}
.k-fnow-tile{padding:18px 18px 16px;border-radius:10px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1)}
.k-fnow-tile h3{margin:0 0 12px;font:600 11px/1.2 var(--k-mono);letter-spacing:.12em;text-transform:uppercase;color:#C9D0DB}
.k-fnow-tile ol,.k-fnow-tile ul{margin:0;padding:0;list-style:none;display:grid;gap:11px}
.k-fnow-tile li{display:grid;gap:3px;font:400 14.5px/1.4 var(--k-sans);text-wrap:pretty}
.k-fnow-latest li a{font:600 15px/1.35 var(--k-serif)}
.k-fnow-latest time,.k-fstate{font:400 11.5px/1.4 var(--k-mono);color:#AEB8C7}
.k-fnow-dates li{grid-template-columns:48px minmax(0,1fr) auto;align-items:baseline;gap:4px 10px}
.k-fnow-dates time{font:600 12px/1.3 var(--k-mono);color:var(--k-gold-soft);text-transform:uppercase}
.k-fchip{padding:2px 8px;border-radius:999px;font:600 10.5px/1.5 var(--k-mono);letter-spacing:.04em;background:rgba(243,229,200,.14);color:var(--k-gold-soft);white-space:nowrap}
.k-fchip:empty{display:none}
.k-fnow-dates li.k-past{opacity:.6}
.k-fnow-status li{grid-template-columns:8px minmax(0,1fr);gap:2px 10px}
.k-fstate{grid-column:2}
.k-ftone{width:8px;height:8px;margin-top:6px;border-radius:2px;background:#8C97A8}
.k-ftone[data-tone="open"]{background:var(--k-gold)}.k-ftone[data-tone="live"]{background:#3FBF8F}
.k-foot .k-fnow-more{display:inline-block;margin-top:14px;font:600 13px/1.3 var(--k-sans);color:var(--k-gold-soft)}
.k-fself{margin:12px 0 0}
.k-foot .k-fself a{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;border:1px solid rgba(243,229,200,.45);font:600 13px/1.2 var(--k-sans);color:var(--k-gold-soft)}
.k-foot .k-fself a:hover{background:rgba(243,229,200,.1);text-decoration:none}
.k-felse{max-width:1280px;margin:0 auto;padding:0 24px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;font:500 12px/1.4 var(--k-mono);letter-spacing:.06em;text-transform:uppercase}
.k-felse span{color:#AEB8C7}
.k-fmark{max-width:1280px;margin:0 auto;padding:0 18px;font:700 clamp(52px,14cqi,200px)/.84 var(--k-serif);letter-spacing:-.045em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.18);white-space:nowrap;overflow:hidden;user-select:none}
@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.k-fmark{animation:k-rise linear both;animation-timeline:view();animation-range:entry 0% cover 35%}@keyframes k-rise{from{opacity:0;transform:translateY(22%)}to{opacity:1;transform:none}}}}
@media (prefers-reduced-motion:reduce){.k-fnow-dot{animation:none}}
@container kfoot (max-width:920px){.k-fnow-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.k-fnow-tile:first-child{grid-column:1/-1}}
@container kfoot (max-width:600px){.k-fnow-grid{grid-template-columns:minmax(0,1fr)}.k-fnow{padding:28px 18px 24px}}

/* kpsgill-edition.css — "Fresno Editorial Intelligence" layer (25 September 2026).
   Loaded after kpsgill-chrome.css on every page. Adds: the Fresno palette, the homepage edition,
   the evidence-status component language, the reading interface (progress, text size, dark mode)
   and editorial figures. Structural colours stay navy/cream; the Valley colours are accents only. */
:root{
  --f-navy:#12243A;--f-night:#0B1726;--f-cream:#F6F1E7;--f-paper:#FCFAF6;--f-charcoal:#202631;
  --f-sky:#56A9CF;--f-orchard:#47785E;--f-gold:#D6A53A;--f-apricot:#E58B58;--f-terracotta:#A85F43;--f-bougainvillea:#C94369;
  --f-gold-ink:#8A6414;--f-sky-ink:#1E6A8C;--f-orchard-ink:#355C47;--f-terra-ink:#8A4A31;--f-bou-ink:#9E2F52;
  --f-line:#E4DED0;--f-muted:#5E6470;
  --f-display:Fraunces,Georgia,'Times New Roman',serif;--f-sans:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--f-mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --f-measure:44rem;--f-gutter:clamp(16px,4vw,32px);
}

/* ---------- homepage edition ---------- */
.wrap .ked,main .ked{padding-left:0;padding-right:0}
.ked{max-width:1320px;margin:0 auto;padding:clamp(18px,3vw,36px) var(--f-gutter) 8px;font-family:var(--f-sans);color:var(--f-charcoal)}
.ked-mast{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 24px;padding:0 0 14px;margin:0 0 clamp(18px,2.4vw,28px);border-bottom:1px solid var(--f-line)}
.ked-mast h1{margin:0;max-width:40ch;font:600 clamp(15px,1.6vw,18px)/1.35 var(--f-display);letter-spacing:0;color:var(--f-navy);text-wrap:balance}
.ked-mast p{margin:0;font:500 11.5px/1.5 var(--f-mono);letter-spacing:.05em;color:var(--f-muted)}
.ked-top{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,2.6vw,36px)}
@media (min-width:1400px){.ked-top{grid-template-columns:minmax(0,1fr) 300px}}
.ked-lead{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(14px,2vw,26px);align-items:center}
@media (min-width:760px){.ked-lead{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}}
.ked-lead-img{position:relative;display:block;margin:0;overflow:hidden;border-radius:4px;background:#E9E3D6;aspect-ratio:16/10}
.ked-lead-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 45%;transition:transform .6s ease}
.ked-lead:hover .ked-lead-img img{transform:scale(1.015)}
.ked-kick{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:0 0 12px;font:600 11px/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--f-sky-ink)}
.ked-kick b{font-weight:600;color:var(--f-navy)}
.ked-lead h2{margin:0 0 14px;font:700 clamp(30px,3.6vw,52px)/1.04 var(--f-display);letter-spacing:-.02em;color:var(--f-navy);text-wrap:balance}
.ked-lead h2 a{color:inherit;text-decoration:none}
.ked-lead h2 a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;text-decoration-color:var(--f-gold)}
.ked-dek{margin:0 0 16px;max-width:52ch;font:400 clamp(17px,1.5vw,20px)/1.5 var(--f-display);color:#2B3444;text-wrap:pretty}
.ked-meta{margin:0 0 18px;font:500 11.5px/1.6 var(--f-mono);letter-spacing:.04em;color:var(--f-muted)}
.ked-cta{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;border-radius:999px;background:var(--f-navy);color:#fff;font:600 12px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.ked-cta:hover{background:var(--f-night);color:#fff}
.ked-cta:focus-visible,.ked a:focus-visible{outline:2px solid var(--f-gold);outline-offset:3px}
.ked-rail{border-top:3px solid var(--f-navy);padding-top:12px}
@media (min-width:1400px){.ked-rail{border-top:0;border-left:1px solid var(--f-line);padding:0 0 0 22px}}
@media (min-width:760px) and (max-width:1399px){.ked-rail ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}}
.ked-rail h2{display:flex;align-items:center;gap:8px;margin:0 0 10px;font:600 11px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--f-navy)}
.ked-rail h2::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--f-bougainvillea);box-shadow:0 0 0 3px rgba(201,67,105,.18)}
.ked-rail ol{margin:0;padding:0;list-style:none}
.ked-rail li{padding:11px 0;border-bottom:1px solid var(--f-line)}
.ked-rail li span{display:block;margin:0 0 4px;font:600 10px/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--f-terra-ink)}
.ked-rail li a{font:600 15px/1.35 var(--f-display);color:var(--f-navy);text-decoration:none}
.ked-rail li a:hover{text-decoration:underline}
.ked-rail .ked-more{display:inline-block;margin-top:12px;font:600 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--f-sky-ink);text-decoration:none}
.ked-second{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(16px,2vw,28px);margin:clamp(24px,3vw,40px) 0 0;padding:clamp(20px,2.4vw,30px) 0 0;border-top:1px solid var(--f-line)}
@media (min-width:640px){.ked-second{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.ked-second{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ked-card{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-content:start;text-decoration:none;color:inherit}
.ked-card figure{margin:0;overflow:hidden;border-radius:4px;aspect-ratio:3/2;background:#E9E3D6}
.ked-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ked-card:hover img{transform:scale(1.02)}
.ked-card h3{margin:0;font:600 clamp(19px,1.7vw,23px)/1.2 var(--f-display);color:var(--f-navy);text-wrap:balance}
.ked-card:hover h3{text-decoration:underline;text-decoration-color:var(--f-gold);text-underline-offset:4px}
.ked-card p{margin:0;font:400 15px/1.55 var(--f-sans);color:#3A4250;text-wrap:pretty}
.ked-principles{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:clamp(28px,3.6vw,48px) 0 0;background:var(--f-navy);color:#E9ECF1;border-radius:4px;overflow:hidden}
@media (min-width:720px){.ked-principles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ked-principles div{padding:clamp(18px,2.2vw,26px)}
.ked-principles div+div{border-top:1px solid rgba(255,255,255,.12)}
@media (min-width:720px){.ked-principles div+div{border-top:0;border-left:1px solid rgba(255,255,255,.12)}}
.ked-principles b{display:block;margin:0 0 6px;font:600 clamp(18px,1.8vw,22px)/1.2 var(--f-display);color:#fff}
.ked-principles p{margin:0;font:400 14.5px/1.55 var(--f-sans);color:#C9D0DB}
.ked-principles i{font-style:normal;color:var(--f-gold)}
.ked-desks{display:flex;flex-wrap:wrap;gap:8px;margin:clamp(22px,3vw,34px) 0 0}
.ked-desks a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--f-navy);border-radius:999px;font:600 11.5px/1 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--f-navy);text-decoration:none;white-space:nowrap}
.ked-desks a:hover{background:var(--f-navy);color:#fff}
/* the existing homepage desks, restyled as edition modules (inline styles need !important) */
body.k-edition main>section[id]{scroll-margin-top:80px}
body.k-edition main>section[id]>h2:first-child{display:flex!important;align-items:baseline;gap:12px;padding:0 0 10px!important;border-bottom:0!important;box-shadow:inset 0 -1px 0 var(--f-line);font:700 clamp(26px,3vw,38px)/1.1 var(--f-display)!important;letter-spacing:-.01em!important;text-transform:none!important;color:var(--f-navy)!important}
body.k-edition main>section[id]>h2:first-child::before{content:"";flex:0 0 auto;align-self:center;width:12px;height:12px;border-radius:50%;background:var(--f-desk,var(--f-gold))}
body.k-edition #now{--f-desk:var(--f-bougainvillea)}body.k-edition #last72{--f-desk:var(--f-apricot)}body.k-edition #california{--f-desk:var(--f-orchard)}body.k-edition #us{--f-desk:var(--f-navy)}body.k-edition #global{--f-desk:var(--f-sky)}body.k-edition #clinicians{--f-desk:var(--f-gold)}body.k-edition #patients{--f-desk:var(--f-apricot)}body.k-edition #everyone{--f-desk:var(--f-terracotta)}body.k-edition #next{--f-desk:var(--f-bougainvillea)}body.k-edition #library{--f-desk:#2F6F73}
body.k-edition main>nav[aria-label="On this page"]{display:none}

/* ---------- evidence-status language (one component, everywhere) ---------- */
.label,.egrade,.ev{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border-radius:999px;font:600 10.5px/1.3 var(--f-mono)!important;letter-spacing:.08em;text-transform:uppercase;vertical-align:1px;white-space:nowrap;border:1px solid currentColor;background:#fff}
.label::before,.egrade::before,.ev::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}
.label[data-label="Public record"],.egrade.g-gov,.ev[data-ev="record"]{color:#1F5E7A;background:#EAF4F8}
.label[data-label="Court record"],.egrade.g-court,.ev[data-ev="court"]{color:#3B3F8C;background:#EEEFFA}
.egrade.g-contract,.label[data-label="Executed contract"],.ev[data-ev="contract"]{color:#355C47;background:#EDF4EF}
.label[data-label="Analytical inference"],.egrade.g-infer,.ev[data-ev="inference"]{color:#8A6414;background:#FBF3DF}
.label[data-label="Open"],.label[data-label="Open question"],.ev[data-ev="open"]{color:#6B4E9A;background:#F3EEFA}
.label[data-label="Allegation"],.ev[data-ev="allegation"]{color:#9E2F52;background:#FBECF1}
.label[data-label="Company position"],.ev[data-ev="company"]{color:#5E6470;background:#F2F2F0}
.label[data-label="Settlement"],.ev[data-ev="settlement"]{color:#8A4A31;background:#F8EEE8}
.label[data-label="Contrary evidence"],.ev[data-ev="contrary"]{color:#A0381F;background:#FCEDE8;border-style:dashed}

/* ---------- editorial figures ---------- */
.k-fig{margin:28px 0 30px}
.k-fig img{display:block;width:100%;height:auto;border-radius:4px!important;border:0!important}
.k-fig figcaption{margin:9px 0 0!important;padding-left:12px;border-left:2px solid var(--f-gold);font:400 12.5px/1.5 var(--f-sans)!important;color:var(--f-muted)!important}

/* ---------- reading interface ---------- */
.k-progress{position:fixed;left:0;top:0;right:0;z-index:120;height:3px;pointer-events:none;background:transparent}
.k-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--f-gold),var(--f-apricot))}
.k-reader{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:110;display:flex;gap:4px;padding:4px;border:1px solid var(--f-line);border-radius:999px;background:rgba(252,250,246,.96);box-shadow:0 6px 20px rgba(11,23,38,.14);font:600 12px/1 var(--f-mono)}
.k-reader button{min-width:44px;min-height:44px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--f-navy);font:inherit;cursor:pointer}
.k-reader button:hover{background:var(--f-cream)}
.k-reader button[aria-pressed="true"]{background:var(--f-navy);color:#fff}
.k-reader button:focus-visible{outline:2px solid var(--f-gold);outline-offset:2px}
html.k-fs-1 .article{zoom:1.08}html.k-fs-2 .article{zoom:1.17}
html.k-dark body{background:#0F1A28!important;color:#DCE2EA}
html.k-dark .article,html.k-dark .article p,html.k-dark .article li,html.k-dark .article td,html.k-dark .article dd{color:#DCE2EA!important}
html.k-dark .article h1,html.k-dark .article h2,html.k-dark .article h3,html.k-dark .article strong{color:#F4F1EA!important}
html.k-dark .article a{color:#8CC8E4!important}
html.k-dark .article .note,html.k-dark .article table,html.k-dark .article th,html.k-dark .article .deck,html.k-dark .article .modulefresh,html.k-dark .article .freshness,html.k-dark .toc{background:#16243A!important;border-color:#2A3A52!important;color:#DCE2EA!important}
html.k-dark .toc a{color:#C9D3DF!important}
html.k-dark .k-sub,html.k-dark .k-crumbs,html.k-dark .k-deskm{background:#0F1A28}
html.k-dark .k-crumbs [aria-current]{color:#DCE2EA}
html.k-dark .k-fig img{filter:brightness(.9)}
html.k-dark .k-reader{background:rgba(22,36,58,.96);border-color:#2A3A52}
html.k-dark .k-reader button{color:#E9ECF1}
html.k-dark .k-reader button:hover{background:#22344F}
html.k-dark .label,html.k-dark .egrade,html.k-dark .ev{background:transparent!important;filter:brightness(1.6)}
@media print{.k-progress,.k-reader{display:none}}
@media (prefers-reduced-motion:reduce){.ked *,.k-fig img{transition:none!important;transform:none!important}}

.ked-lead-panel{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-height:clamp(200px,28vw,380px);padding:clamp(20px,3vw,40px);border-radius:4px;background:radial-gradient(120% 90% at 85% 10%,rgba(214,165,58,.35),transparent 55%),linear-gradient(160deg,#12243A 0%,#0B1726 70%);color:#fff}
.ked-lead-panel span{font:600 11px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--f-gold)}
.ked-lead-panel b{font:700 clamp(34px,5vw,72px)/.95 var(--f-display);letter-spacing:-.02em}
.ked-lead-panel i{font:italic 400 clamp(15px,1.4vw,18px)/1.4 var(--f-display);color:#C9D0DB}
.ked-why{margin:0;max-width:56ch;padding:12px 0 0;border-top:1px solid var(--f-line);font:400 15px/1.55 var(--f-sans);color:#3A4250}
.ked-tile{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;aspect-ratio:3/2;padding:18px;border-radius:4px;background:linear-gradient(150deg,var(--t) 0%,color-mix(in oklab,var(--t) 55%,#0B1726) 100%);color:#fff}
.ked-tile b{font:700 clamp(30px,3.4vw,44px)/1 var(--f-display)}
.ked-tile span{font:600 11px/1.2 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.9}
.ked-card-type:hover .ked-tile{filter:brightness(1.06)}
.ked-correct{display:grid;grid-template-columns:minmax(0,1fr);gap:4px 16px;align-items:baseline;margin:clamp(20px,2.6vw,30px) 0 0;padding:14px 18px;border-left:4px solid var(--f-bougainvillea);background:#FBECF1;border-radius:0 4px 4px 0}
@media (min-width:640px){.ked-correct{grid-template-columns:auto minmax(0,1fr)}}
.ked-correct b{font:600 11px/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--f-bou-ink)}
.ked-correct p{margin:0;font:400 15px/1.55 var(--f-sans);color:var(--f-charcoal)}
.ked-correct a{color:var(--f-bou-ink)}
.ked-next{margin:clamp(20px,2.6vw,30px) 0 0;padding:clamp(16px,2vw,22px) 0 0;border-top:3px solid var(--f-navy)}
.ked-next h2{margin:0 0 12px;font:600 11px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--f-navy)}
.ked-next ol{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0;list-style:none}
@media (min-width:760px){.ked-next ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}
.ked-next li{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid var(--f-line)}
@media (min-width:760px){.ked-next li{border-bottom:0;padding:0}}
.ked-next time{font:700 22px/1 var(--f-display);color:var(--f-bou-ink)}
.ked-next b{font:600 15px/1.3 var(--f-display);color:var(--f-navy)}
.ked-next span{font:400 14px/1.5 var(--f-sans);color:#3A4250}
.ked-next a{font:600 11px/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--f-sky-ink);text-decoration:none}

.ked-lead-type{align-items:start}
.ked-lead-type .ked-lead-panel{align-self:stretch}
@media (max-width:759px){.ked-lead-type .ked-lead-panel{min-height:170px}}

/* ===== Patient-first front (25 Sept 2026) ===== */
.ked-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:center;padding:clamp(20px,3.4vw,48px) 0 clamp(24px,3vw,40px)}
@media (min-width:1000px){.ked-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
.ked-brand{margin:0 0 14px;font:600 11.5px/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--f-navy)}
.ked-brand span{color:var(--f-gold-ink)}
.ked-hero h1{margin:0 0 16px;font:700 clamp(34px,5.4vw,68px)/1.02 var(--f-display);letter-spacing:-.022em;color:var(--f-navy);text-wrap:balance}
.ked-hero-dek{margin:0 0 22px;max-width:52ch;font:400 clamp(17px,1.6vw,20px)/1.5 var(--f-display);color:#2B3445;text-wrap:pretty}
.ked-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.ked-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border:1.5px solid var(--f-navy);border-radius:999px;font:600 12px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--f-navy);text-decoration:none;background:transparent;transition:background .15s,color .15s}
.ked-btn:hover{background:var(--f-cream)}
.ked-btn-p{background:var(--f-navy);color:#fff}.ked-btn-p:hover{background:var(--f-night);color:#fff}
.ked-btn-g{border-color:transparent;text-decoration:underline;text-underline-offset:4px;padding:0 8px}
.ked-edition{margin:0;font:400 12px/1.5 var(--f-mono);color:var(--f-muted)}
.ked-hero-fig{position:relative;margin:0;border-radius:6px;overflow:hidden;background:var(--f-night)}
.ked-hero-fig img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.ked-hero-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:clamp(14px,2vw,24px);background:linear-gradient(0deg,rgba(11,23,38,.92) 0%,rgba(11,23,38,.7) 60%,transparent 100%)}
.ked-hero-fig figcaption a{display:flex;flex-direction:column;gap:6px;color:#fff;text-decoration:none;max-width:60ch}
.ked-hero-fig .ked-kick{color:#E8D29A}.ked-hero-fig .ked-kick b{color:#fff}
.ked-hero-fig strong{font:700 clamp(20px,2.4vw,30px)/1.1 var(--f-display)}
.ked-hero-fig figcaption span:last-child{font:400 14.5px/1.5 var(--f-sans);color:#DCE2EA}
@media (max-width:639px){.ked-hero-fig img{aspect-ratio:4/3}.ked-hero-fig figcaption{position:static;background:var(--f-night)}}
.ked-band{padding:clamp(28px,4vw,56px) 0;border-top:1px solid var(--f-line)}
.ked-warm{background:linear-gradient(180deg,#FBF3E6 0%,var(--f-paper) 100%);margin:0 calc(50% - 50vw);padding-left:calc(50vw - 50%);padding-right:calc(50vw - 50%)}
.ked-bhead{max-width:64ch;margin:0 0 clamp(18px,2.4vw,28px)}
.ked-eyebrow{margin:0 0 8px;font:600 11px/1.2 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--f-gold-ink)}
.ked-bhead h2,.ked-bridge h2,.ked-inv h2{margin:0 0 8px;font:700 clamp(28px,3.8vw,46px)/1.05 var(--f-display);letter-spacing:-.018em;color:var(--f-navy);text-wrap:balance}
.ked-bhead p:not(.ked-eyebrow){margin:0;font:400 16px/1.55 var(--f-sans);color:#3A4250}
.ked-pgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,3vw,36px)}
@media (min-width:1000px){.ked-pgrid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}}
.ked-topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:10px;margin:0;padding:0;list-style:none}
.ked-topics a,.ked-practical li a{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 14px;border:1px solid var(--f-line);border-radius:6px;background:#fff;font:600 15px/1.25 var(--f-sans);color:var(--f-navy);text-decoration:none;transition:border-color .15s,transform .15s}
.ked-topics a:hover,.ked-practical li a:hover{border-color:var(--f-apricot);transform:translateY(-1px)}
.ked-topics svg{color:var(--f-apricot);flex:0 0 auto}
.ked-practical{padding:clamp(16px,2vw,24px);border-radius:8px;background:var(--f-navy);color:#fff}
.ked-practical h3{margin:0 0 12px;font:600 20px/1.2 var(--f-display);color:#fff}
.ked-practical ul{display:grid;gap:8px;margin:0 0 14px;padding:0;list-style:none}
.ked-practical li a{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#fff}
.ked-practical li a svg{color:var(--f-gold)}
.ked-practical .ked-more{color:#E8D29A}
.ked-caveat{margin:12px 0 0;font:400 13px/1.5 var(--f-sans);color:#C9D0DB}
.ked-how{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px}
.ked-hcard{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--f-line);border-radius:6px;background:var(--f-paper);color:var(--f-charcoal);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.ked-hcard:hover{border-color:var(--f-navy);box-shadow:0 8px 24px rgba(14,27,49,.08)}
.ked-hcard h3{margin:0;font:600 19px/1.25 var(--f-display);color:var(--f-navy)}
.ked-hcard p{margin:0;font:400 14.5px/1.5 var(--f-sans);color:#3A4250}
.ked-go{margin-top:auto;font:600 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--f-sky-ink)}
.ked-hcard-img{padding:0;overflow:hidden}.ked-hcard-img>*:not(figure){margin-left:18px;margin-right:18px}.ked-hcard-img .ked-go{margin-bottom:18px}
.ked-hcard-img figure{margin:0 0 6px}.ked-hcard-img img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}

.ked-ca{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(16px,2.4vw,28px)}
@media (min-width:640px){.ked-ca{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.ked-ca{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,.9fr)}}
.ked-feat{display:flex;flex-direction:column;gap:8px;color:var(--f-charcoal);text-decoration:none}
.ked-feat figure{margin:0 0 6px;border-radius:6px;overflow:hidden}.ked-feat img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .4s}
.ked-feat:hover img{transform:scale(1.02)}
.ked-feat h3{margin:0;font:600 clamp(19px,1.8vw,23px)/1.2 var(--f-display);color:var(--f-navy)}
.ked-feat p{margin:0;font:400 15px/1.5 var(--f-sans)}
.ked-calist{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;border-top:3px solid var(--f-orchard)}
@media (min-width:640px) and (max-width:999px){.ked-calist{grid-column:1/-1}}
.ked-calist a{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-bottom:1px solid var(--f-line);text-decoration:none}
.ked-calist b{font:600 16px/1.3 var(--f-display);color:var(--f-navy)}.ked-calist span{font:400 13.5px/1.4 var(--f-sans);color:#4A5160}
.ked-bridge{margin:0 calc(50% - 50vw);padding:clamp(36px,5vw,72px) calc(50vw - 50% + 0px);background:linear-gradient(180deg,var(--f-navy) 0%,var(--f-night) 100%);color:#fff}
.ked-bridge .ked-eyebrow{color:var(--f-gold)}.ked-bridge h2{color:#fff}
.ked-bridge>p:not(.ked-eyebrow){max-width:60ch;margin:0 0 24px;font:400 clamp(16px,1.6vw,19px)/1.55 var(--f-display);color:#DCE2EA}
.ked-flow{display:block;width:100%;max-width:960px;height:auto}
@media (max-width:639px){.ked-flow{min-width:0}}
.ked-inv{margin:0 calc(50% - 50vw);padding:clamp(36px,5vw,72px) calc(50vw - 50%);background:#0F2A33;color:#E4EEEE}
.ked-inv .ked-eyebrow{color:#7FC4BF}.ked-inv h2{color:#fff}
.ked-inv-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,3vw,44px)}
@media (min-width:1000px){.ked-inv-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.ked-inv-q{margin:0 0 14px;font:italic 400 clamp(20px,2.2vw,27px)/1.3 var(--f-display);color:#F3E5C8}
.ked-inv p{max-width:58ch;font:400 15.5px/1.6 var(--f-sans)}
.ked-chain{display:block;width:100%;max-width:560px;height:auto;margin:18px 0 22px}
.ked-inv .ked-btn-p{background:#5FA3A0;border-color:#5FA3A0;color:#0B1726}.ked-inv .ked-btn-p:hover{background:#7FC4BF}
.ked-inv-fig{margin:0 0 16px;border-radius:6px;overflow:hidden}.ked-inv-fig img{display:block;width:100%;height:auto}
.ked-invlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:0 20px;margin:0;padding:0;list-style:none}
.ked-invlist a{display:block;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.14);font:500 15px/1.35 var(--f-sans);color:#fff;text-decoration:none}
.ked-invlist a:hover{color:#F3E5C8}
.ked-lead figure{margin:0 0 12px;border-radius:6px;overflow:hidden}.ked-lead img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.ked-lead h3{margin:0 0 8px;font:700 clamp(24px,2.8vw,36px)/1.08 var(--f-display);color:var(--f-navy)}
@media (prefers-reduced-motion:reduce){.ked-feat img,.ked-topics a,.ked-hcard{transition:none}}

.ked-btn{white-space:nowrap}
.ked-how{align-items:stretch}
a.ked-lead,a.ked-lead:hover{text-decoration:none;color:inherit}
a.ked-lead .ked-dek{color:#2B3445}
@media (min-width:1100px){.ked-top{grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr)}.ked-top .ked-lead{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:start}.ked-top .ked-lead figure{margin:0}}

/* full-bleed bands use 100vw, which includes the scrollbar on desktop browsers */
html{overflow-x:clip}

/* 25 Sept: story cards carry several sources, so the card is an <article> and the headline link is stretched over it */
.ked figure>picture{display:contents}
.ked-card,.ked-feat,.ked-lead{position:relative}
.ked-stretch{color:inherit;text-decoration:none}
.ked-stretch::after{content:"";position:absolute;inset:0;z-index:0}
.ked-card h3 a,.ked-feat h3 a,.ked-lead h3 a{color:inherit;text-decoration:none}
.ked-card:hover h3 a,.ked-feat:hover h3 a,.ked-lead:hover h3 a{text-decoration:underline;text-decoration-color:var(--f-gold);text-underline-offset:4px}
.ked-stretch:focus-visible{outline:none}
.ked-stretch:focus-visible::after{outline:2px solid var(--f-gold);outline-offset:4px;border-radius:4px}
.ked-src{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:4px 0 0!important;font:400 13px/1.5 var(--f-sans)!important;color:#4A5262!important}
.ked-src>span,.ked-correct .ked-src>span{font:600 9.5px/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#6F7068}
.ked-src a{color:var(--f-sky-ink,#175A4A);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.ked-src a:hover{color:var(--f-navy)}
.ked-correct .ked-src{display:inline-flex;margin-left:6px!important}
.ked-inv .ked-src{color:#C9D6D8!important}.ked-inv .ked-src>span{color:#7FC4BF}.ked-inv .ked-src a{color:#F3E5C8}
.ked-src-inv{margin-top:14px!important}
.ked-stat{display:inline-block;padding:2px 7px;border-radius:999px;background:#12243A;color:#fff;font:600 10px/1.4 var(--f-mono);letter-spacing:.06em}
/* hero caption: kicker, headline link, dek, sources */
.ked-hero-fig figcaption{display:flex;flex-direction:column;gap:6px}
.ked-hero-fig figcaption a.ked-hero-link{display:block;color:#fff;text-decoration:none}
.ked-hero-fig figcaption a.ked-hero-link:hover strong{text-decoration:underline;text-decoration-color:var(--f-gold);text-underline-offset:5px}
.ked-hero-fig .ked-hdek{font:400 14.5px/1.5 var(--f-sans);color:#DCE2EA;max-width:60ch}
.ked-hero-fig .ked-src{color:#DCE2EA!important}.ked-hero-fig .ked-src>span{color:#E8D29A}
.ked-hero-fig figcaption .ked-src a{display:inline;color:#F3E5C8;text-decoration:underline;max-width:none}
/* illustration credit — these are generated editorial illustrations, not photographs of events */
.k-illus{position:relative}
.k-illus::after{content:"Illustration";position:absolute;top:8px;right:8px;z-index:1;padding:3px 7px;border-radius:3px;background:rgba(11,23,38,.62);color:#fff;font:600 9px/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;pointer-events:none}
/* decisions approaching */
.ked-next-feat{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(18px,2.4vw,32px)}
.ked-next-fig{margin:0 0 16px;border-radius:6px;overflow:hidden;aspect-ratio:21/9;background:#E9E3D6}
.ked-next-fig img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 55%}
.ked-next-feat .ked-card figure{aspect-ratio:3/2}
@media (min-width:1000px){.ked-next-feat{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);align-items:start}.ked-next-feat .ked-next-main ol{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:999px){.ked-next-feat .ked-next-main ol{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.ked-next-fig{aspect-ratio:16/9}}

.k-storyfig{max-width:900px;margin:18px 0 26px;border-radius:6px;overflow:hidden;background:#E9E3D6}
.k-storyfig picture{display:contents}
.k-storyfig img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
@media (max-width:640px){.k-storyfig{margin:14px 0 20px;border-radius:4px}}

/* ===== Final pass, 25 September 2026: provenance captions, Fresno role matrix, lower desks ===== */
.k-illus-cap{position:absolute;left:0;right:0;bottom:0;z-index:1;margin:0;padding:5px 9px;background:rgba(11,23,38,.74);color:#fff;font:500 10.5px/1.35 var(--f-mono);letter-spacing:.02em;text-wrap:pretty;pointer-events:none}
.k-illus-note{display:block;margin-top:8px;font:500 11px/1.35 var(--f-mono);letter-spacing:.02em;color:#DCE2EA}
.ked-roles{margin:18px 0 22px;max-width:640px}
.ked-roles .ked-roles-t{margin:0 0 10px;font:600 11px/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#7FC4BF}
.ked-roles dl{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:0}
.ked-roles dl>div{min-width:0;padding:12px 14px;border:1px solid rgba(127,196,191,.35);border-radius:6px;background:rgba(11,23,38,.35)}
.ked-roles dt{margin:0 0 4px;font:600 10.5px/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#7FC4BF}
.ked-roles dd{margin:0;font:400 14.5px/1.5 var(--f-sans);color:#E4EEEE;overflow-wrap:anywhere}
.ked-roles dd b{color:#fff}
.ked-roles .ked-roles-n{margin:12px 0 0;max-width:none;font:400 13.5px/1.55 var(--f-sans);color:#C9D6D8}
.ked-roles .ked-roles-n a{color:#F3E5C8}
@media (min-width:640px){.ked-roles dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ked-desk{margin:0 0 clamp(40px,5vw,64px);padding-top:clamp(22px,3vw,30px);border-top:1px solid #E4E2DA}
.ked-desk>h2{margin:0 0 8px;font:700 clamp(26px,3.2vw,40px)/1.08 var(--f-display);letter-spacing:-.015em;color:var(--f-navy);text-wrap:balance}
.ked-desk .ked-desk-dek{margin:0 0 20px;max-width:68ch;font:400 16px/1.6 var(--f-sans);color:#2B3445;text-wrap:pretty}
.ked-desk article{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;margin:0;padding:16px 0 0;border-top:1px solid #E4E2DA}
.ked-desk article h3{margin:0;font:600 clamp(17px,1.6vw,19px)/1.3 var(--f-display);color:var(--f-navy);text-wrap:pretty}
.ked-desk article h3 a{color:inherit;text-decoration:none}
.ked-desk article h3 a:hover{text-decoration:underline}
.ked-desk article p{margin:0;font:400 15px/1.6 var(--f-sans);color:#1E2A3A;text-wrap:pretty;overflow-wrap:anywhere}
.ked-desk article p a{color:#175A4A}
.ked-desk .ked-desk-kick{display:inline-flex;padding:3px 9px;border-radius:999px;background:#E9F1EE;color:#175A4A;font:600 10.5px/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.ked-desk .ked-desk-lead{margin:0 0 22px;padding:clamp(18px,2.4vw,28px);border-top:0;border-radius:8px;background:#F6F1E7}
.ked-desk .ked-desk-lead h3{font-size:clamp(21px,2.6vw,30px);line-height:1.15}
.ked-desk .ked-desk-lead p{font-size:16px;max-width:70ch}
.ked-desk .ked-desk-lead .ked-desk-kick{background:#12243A;color:#F3E5C8}
.ked-desk-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px 32px}
.ked-desk-grid>.ked-desk-lead{grid-column:1/-1}
@media (min-width:720px){.ked-desk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.ked-desk-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ked-desk .ked-desk-all{margin:20px 0 0}
.ked-desk-all a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--f-navy);border-radius:999px;font:600 12px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--f-navy);text-decoration:none}
.ked-desk-all a:hover{background:var(--f-navy);color:#fff}
.ked-desk-table{margin:4px 0 0;border:1px solid #E4E2DA;border-radius:8px;background:#fff}
.ked-desk-table>summary{display:flex;align-items:center;min-height:48px;padding:0 16px;cursor:pointer;font:600 12px/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--f-navy)}
.ked-desk-table[open]>summary{border-bottom:1px solid #E4E2DA}
.ked-desk-table>div{padding:8px 12px 12px}

/* ===== Evidence panel — major investigations and dossiers only (25 Sept 2026) ===== */
.k-evpanel{margin:20px 0 28px;padding:16px 18px 18px;border:1px solid #D5DEDC;border-radius:8px;background:#F3F7F6;color:#1E2A3A}
.k-evpanel-t{margin:0 0 12px;font:600 11px/1.3 var(--f-mono,'IBM Plex Mono',ui-monospace,monospace);letter-spacing:.1em;text-transform:uppercase;color:#175A4A}
.k-evpanel dl{display:grid;grid-template-columns:minmax(0,1fr);gap:12px 28px;margin:0}
.k-evpanel dl>div{min-width:0}
.k-evpanel dt{margin:0 0 3px;font:600 10.5px/1.3 var(--f-mono,'IBM Plex Mono',ui-monospace,monospace);letter-spacing:.08em;text-transform:uppercase;color:#12243A}
.k-evpanel dd{margin:0;font:400 14.5px/1.55 var(--f-sans,'Public Sans',system-ui,sans-serif);color:#1E2A3A;overflow-wrap:anywhere;text-wrap:pretty}
.k-evpanel a{color:#175A4A;text-decoration:underline;text-underline-offset:2px}
@media (min-width:760px){.k-evpanel dl{grid-template-columns:repeat(2,minmax(0,1fr))}.k-evpanel dl>div:first-child{grid-column:1/-1}}
@media print{.k-evpanel{break-inside:avoid}}

/* ===== Full-bleed bands without horizontal overflow (25 Sept 2026) =====
   100vw includes a desktop scrollbar, so the negative-margin technique overflowed the page by the scrollbar
   width. The band colour is now painted as border-image outset: ink overflow, which never creates scrolling.
   Content alignment is unchanged. */
.ked-warm,.ked-bridge,.ked-inv{margin-left:0;margin-right:0;padding-left:0;padding-right:0}
.ked-warm{background:none;border-image:linear-gradient(180deg,#FBF3E6 0%,var(--f-paper) 100%) fill 0//0 100vw}
.ked-bridge{background:none;border-image:linear-gradient(180deg,var(--f-navy) 0%,var(--f-night) 100%) fill 0//0 100vw}
.ked-inv{background:none;border-image:linear-gradient(#0F2A33,#0F2A33) fill 0//0 100vw}
/* Narrow screens: long evidence text and date lines wrap instead of widening the page */
.k-grid>*{min-width:0}
.k-evidence,.k-card,.k-evpanel{overflow-wrap:anywhere}
@media (max-width:480px){.modulefresh>span{white-space:normal}}

/* Grids never force a column wider than the screen (320px phones) */
body .k-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
body .k-grid--3{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}
body .k-grid--4{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))}
body .ng-cards{grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr))}
body .ng-cards>*,body .k-grid>*{min-width:0}

/* 25 Sept normalisation: equal image slots, status graphics, icon cards, section leads */
.ked-card .k-illus img,.ked-lead .k-illus img,.ked-second .k-illus img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.ked-pat .k-illus img,.ked-pair .k-illus img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}
.ked-status{display:grid;place-content:center;gap:6px;aspect-ratio:auto;width:100%;border-radius:10px;padding:18px;text-align:center;box-sizing:border-box}
.ked-status-veto{background:#F7E7E3;color:#7A2E22;border:1px solid #E8C6BD}
.ked-status-pending{background:#F3E5C8;color:#5E4418;border:1px solid #E4D2AA}
.ked-st-big{font:700 clamp(22px,3vw,34px)/1.05 Fraunces,Georgia,serif;letter-spacing:-.01em}
.ked-st-small{font:600 11px/1.3 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase}
.ked-hicon{display:inline-grid;place-items:center;width:48px;height:48px;margin:0 0 12px;border-radius:50%;background:#E6EFEC;color:#175A4A}
.ked-next-band .ked-next-main{grid-template-columns:minmax(0,1fr)}
.ked-sectlead{margin:4px 0 18px;max-width:560px}
.ked-sectlead img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:8px}
.ked-globe{max-width:420px;margin:4px 0 18px;color:#1F6F5C;opacity:.7}

.ked-second .ked-status{aspect-ratio:16/9}
.ked-next .ked-status{max-width:520px;padding:22px 24px}

/* symmetry: equal-height sibling cards, actions aligned on one baseline */
.ked-how>.ked-hcard,.k-cards>.k-card,.ked-second>.ked-card,.ked-pair>*{display:flex;flex-direction:column;height:100%;box-sizing:border-box}
.ked-hcard>:last-child,.k-card>em,.ked-card>.ked-src{margin-top:auto}
.ked-second{align-items:stretch}

/* ===== 25 Sept design normalisation ===== */
/* Illustration label: small top-right badge + quiet caption below, never a strip over the image */
.k-illus-cap{position:static;left:auto;right:auto;bottom:auto;margin:8px 0 0;padding:0;background:none;color:#687078;font:400 11.5px/1.45 var(--f-mono);letter-spacing:.01em;text-transform:none}
.ked-inv .k-illus-cap,.ked-band-dark .k-illus-cap,.ked-dark .k-illus-cap{color:#C9D0DB}
.k-illus img{border-radius:6px}
.ked-lead figure,.ked-card figure,.ked-pat figure{overflow:visible}
/* Grids respond to content count: no empty columns beside a lone story */
@media (min-width:760px){.ked-desk-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}
/* On the record: image 4 / lead 5 / Now rail 3, tops aligned */
@media (min-width:1100px){
 .ked-top{grid-template-columns:minmax(0,9fr) minmax(0,3fr);align-items:start}
 .ked-top .ked-lead{grid-template-columns:minmax(0,4fr) minmax(0,5fr);align-items:start}
 .ked-top .ked-lead h2,.ked-top .ked-lead h3{font-size:clamp(34px,3.4vw,56px)}
}
/* cards: editorial, not SaaS */
.ked-hcard,.k-card,.ked-card{border-radius:8px;box-shadow:none}

/* CFMG feature 6/6 and Fresno pair + rail 4/4/4 */
@media (min-width:1100px){.ked-inv-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:32px}.ked-pairrow{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}}


/* ===== kpsgill 2026-10 layer: view transitions, theme, answer block, citation popovers, footer wordmark, mobile ===== */
html{font-optical-sizing:auto;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}
.k-hdr{view-transition-name:k-hdr}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
img,svg,video,iframe{max-width:100%}
table{max-width:100%}
.ko table,.k-prose table,article table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
pre,code{overflow-wrap:anywhere}
main a{overflow-wrap:break-word}
/* footer wordmark: full content width, filled, never clipped */
.k-foot .k-fmark{box-sizing:border-box;max-width:1280px;margin:6px auto 0;padding:0 24px .14em;overflow:hidden;white-space:nowrap;text-align:left;font:700 calc((min(100cqi,1280px) - 48px) / 5.3)/.92 var(--k-serif);font-optical-sizing:auto;font-variation-settings:"opsz" 144;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:0;background:linear-gradient(180deg,#F3E5C8 0%,rgba(243,229,200,.78) 55%,rgba(243,229,200,.42) 100%);-webkit-background-clip:text;background-clip:text;border-top:1px solid rgba(255,255,255,.1);padding-top:.12em}
@container kfoot (max-width:600px){.k-foot .k-fmark{padding-left:18px;padding-right:18px;font-size:calc((100cqi - 36px) / 5.3)}}
@media (max-width:760px){.k-frow{grid-template-columns:minmax(0,1fr)!important;gap:24px!important;padding:28px 18px 22px!important}.k-felse{padding:0 18px 20px!important}.k-flegal{padding-left:18px!important;padding-right:18px!important}.k-futil{flex-wrap:wrap;gap:8px 16px}}
.k-themebtn{white-space:nowrap;appearance:none;border:1px solid rgba(255,255,255,.3);background:none;color:#fff;border-radius:999px;padding:5px 12px;font:600 11px/1.2 var(--k-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;min-height:32px}
.k-themebtn:hover{background:rgba(255,255,255,.08)}
.k-themebtn:focus-visible{outline:2px solid var(--k-gold-soft);outline-offset:2px}
/* answer-first block */
.k-answer{margin:18px 0 26px;padding:16px 20px;border:1px solid var(--k-line);border-left-width:1px;border-radius:10px;background:#FBF8F3}
.k-answer-h{margin:0 0 6px;font:600 11px/1.3 var(--k-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--k-teal-deep)}
.k-jump{display:inline-flex;align-items:center;gap:6px;margin:4px 0 0;font:600 13px/1.3 var(--k-sans);color:var(--k-teal-deep)}
/* citation popovers */
.k-cite-pop{position:fixed;inset:auto;margin:0;max-width:min(420px,calc(100vw - 24px));padding:12px 14px;border:1px solid var(--k-line);border-radius:8px;background:#fff;color:var(--k-ink);box-shadow:0 8px 28px rgba(14,27,49,.18);font:400 14px/1.5 var(--k-sans);z-index:300}
.k-cite-pop::backdrop{background:transparent}
.k-cite-pop a{color:var(--k-teal-deep)}
.k-cite-pop .k-cite-go{display:block;margin-top:8px;font-weight:600}
@supports (position-area:block-end){.k-cite-pop.k-anch{position:fixed;position-area:block-end span-inline-end;position-try-fallbacks:flip-block,flip-inline;margin-top:6px}}
/* wordmark reveal moves only; it is never transparent */
@keyframes k-rise{from{transform:translateY(.1em)}to{transform:none}}
/* dark theme (opt-in: html[data-k-theme=dark]). kpsgill-enhance.js measures the light design and writes the dark palette inline; a contrast guard then lifts any text below WCAG AA in either theme. */
html[data-k-theme="dark"]{color-scheme:dark;background:#0B1424}
html[data-k-theme="dark"]:not(.k-dk-on) body{opacity:0;animation:k-dk-show 0s .9s forwards}
@keyframes k-dk-show{to{opacity:1}}
html[data-k-theme="dark"] body{background:#0B1424!important;color:#E3E8F0!important}
html[data-k-theme="dark"] img:not([src$=".svg"]){filter:brightness(.92)}
html[data-k-theme="dark"] .k-cite-pop{background:#14213A;color:#E7EBF2;border-color:#2A3A55}
