/* ActivateDigital Knowledge. Wave 1 shared stylesheet.
   One :root, one flat k- namespace, no framework, no utility layer.
   Tokens inherited from the live estate rather than re-picked.
   Three inherited defects are fixed here and the fixes are recorded in BUILD_REPORT.md:
   the badge and timeline palette is inside the token system, the dead tokens are gone,
   and is-expected and is-indicative no longer share one appearance. */

:root{
  /* brand, inherited verbatim */
  --cobalt:#0B67D0; --cobalt-dark:#0757B8; --cobalt-400:#3B8EE8; --cobalt-100:#D6E8FB; --cobalt-050:#EBF4FD;
  --navy:#0A1A30;
  --ink:#1d1d1f; --ink-soft:#424247; --ink-faint:#6e6e73; --ink-subtle:#a1a1a6;
  --paper:#fff; --surface:#F4F8FD; --surface-2:#EEF1F5; --rule:#ECECF0; --rule-mid:#D2D2D7;

  /* type, inherited. Inter is named first and is never fetched. No third party request. */
  --sans:'Inter','Inter var',-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;

  --ease:cubic-bezier(.16,1,.3,1);
  --shadow:0 1px 2px rgba(16,22,35,.05),0 18px 46px -30px rgba(16,22,35,.22);
  --rcard:13px; --rel:10px; --rsm:7px;

  /* status palette, tokenised */
  --st-force-bg:#E7F4EC;      --st-force-fg:#166B3C;
  --st-adopted-bg:#EAF2FC;    --st-adopted-fg:#0757B8;
  --st-expected-bg:#FBF2DE;   --st-expected-fg:#8A6516;
  --st-indicative-bg:#F6EFE3; --st-indicative-fg:#7A5A2E;
  --st-reading-bg:#EFEAFB;    --st-reading-fg:#5B3DC4;
  --st-conflict-bg:#FCE9EC;   --st-conflict-fg:#B02B50;
  --st-unknown-bg:#EEF1F5;    --st-unknown-fg:#5C6779;
  --st-stale-bg:#F3EFE8;      --st-stale-fg:#7A5C2E;

  --k-read:68ch; --k-side:236px; --k-toc:196px; --k-head:58px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;letter-spacing:-.01em;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{margin:0;letter-spacing:-.022em;line-height:1.15;font-weight:680;color:var(--navy)}
p{margin:0}
:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px;border-radius:4px}
.k-skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--navy);color:#fff;
  padding:10px 16px;border-radius:0 0 var(--rsm) 0;font-size:13.5px}
.k-skip:focus{left:0}

/* ---------- header ----------
   Geometry inherited from the current site's header rather than re-picked: a 1340px inner width,
   12px vertical padding on a clamped horizontal pad, a 28px mark, a 17px wordmark with the second
   word in cobalt, and a right aligned 13px navigation on a 26px gap. */
.k-hdr{position:sticky;top:0;z-index:2000;background:rgba(255,255,255,.86);
  backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--rule)}
.k-hdr-in{max-width:1340px;margin:0 auto;padding:12px clamp(20px,3.4vw,44px);
  display:flex;align-items:center;gap:18px}
.k-logo{display:flex;align-items:center;gap:9px;color:var(--navy);flex:none}
.k-mk{width:28px;height:28px;border-radius:50%;background:var(--cobalt);display:grid;place-items:center;flex:none}
.k-mk::after{content:"";width:10px;height:10px;border-radius:50%;background:#fff}
.k-logo b{font-size:17px;font-weight:800;letter-spacing:-.3px;white-space:nowrap}
.k-logo b span{color:var(--cobalt)}
.k-nav{margin-left:auto;display:flex;align-items:center;gap:26px}
.k-nav-l,.k-res-t{font-size:13px;line-height:1;color:var(--ink-faint);font-weight:500;
  letter-spacing:.01em;white-space:nowrap;transition:color .15s}
.k-nav-l:hover,.k-res-t:hover{color:var(--navy)}

/* ---------- resources doorway ----------
   A details element, so the panel opens from a click and from the keyboard with no JavaScript,
   and every link inside it is in the raw HTML whether it is open or closed. Script adds Escape,
   click outside and focus return, and nothing else. Never hover. */
.k-res{position:relative}
.k-res>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;
  padding:2px 0;border-radius:4px}
.k-res>summary::-webkit-details-marker{display:none}
.k-res>summary::marker{content:""}
.k-res>summary::after{content:"";width:5px;height:5px;flex:none;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translate(-1px,-1px);transition:transform .18s var(--ease)}
.k-res[open]>summary{color:var(--navy)}
.k-res[open]>summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.k-res.is-on>summary{color:var(--navy);font-weight:700;position:relative}
.k-res.is-on>summary::before{content:"";position:absolute;left:0;right:14px;bottom:-8px;height:2px;
  background:var(--cobalt);border-radius:2px}
.k-res-p{position:absolute;top:calc(100% + 18px);right:0;width:min(700px,calc(100vw - 40px));
  background:#fff;border:1px solid var(--rule);border-radius:14px;box-shadow:var(--shadow);
  padding:22px 24px 18px;z-index:2100}
/* The doorway leads with the parent and then shows one entrance per canonical category, so the
   hierarchy is visible rather than implied. The parent is a block; the categories are labels, not
   links; the destinations are the only things a reader can click into. */
.k-res-lead{display:block;padding:12px 14px;margin:-4px -4px 14px;border-radius:var(--rsm);
  background:var(--surface);border:1px solid var(--rule)}
.k-res-lead:hover{background:var(--cobalt-050);border-color:var(--cobalt-100)}
.k-res-lead-t{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:650;
  letter-spacing:-.01em;color:var(--navy);line-height:1.2}
.k-res-lead:hover .k-res-lead-t{color:var(--cobalt-dark)}
.k-res-go{font-size:13px;color:var(--cobalt);transition:transform .16s}
.k-res-lead:hover .k-res-go{transform:translateX(3px)}
.k-res-lead-d{display:block;margin-top:4px;font-size:12.5px;line-height:1.55;color:var(--ink-faint);
  max-width:56ch}
.k-res-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 26px;margin:0}
.k-res-row{min-width:0}
.k-res-rows dt{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-subtle);margin:0 0 5px}
.k-res-rows dd{margin:0}
.k-res-rows dd a{display:flex;align-items:center;gap:7px;padding:5px 8px;margin-left:-8px;
  border-radius:var(--rsm);font-size:13.5px;line-height:1.4;color:var(--ink-soft)}
.k-res-rows dd a:hover{background:var(--surface);color:var(--navy)}
.k-res-rows dd a[aria-current="page"]{background:var(--cobalt-050);color:var(--cobalt-dark);font-weight:560}
.k-res-item{display:flex;align-items:center;gap:7px}
.k-res-tag{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.07em;
  text-transform:uppercase;color:var(--ink-subtle);border:1px solid var(--rule-mid);
  border-radius:99px;padding:1px 6px;flex:none}
.k-res-foot{margin:16px 0 0;padding-top:13px;border-top:1px solid var(--rule);
  font-size:12px;color:var(--ink-faint);line-height:1.6}

/* ---------- shell ---------- */
.k-shell{max-width:1320px;margin:0 auto;padding:0 28px;display:grid;
  grid-template-columns:var(--k-side) minmax(0,1fr) var(--k-toc);gap:44px;align-items:start}
.k-shell.is-wide{grid-template-columns:minmax(0,1fr);max-width:1120px}
.k-shell.is-notoc{grid-template-columns:var(--k-side) minmax(0,1fr);max-width:1160px}

.k-side{position:sticky;top:calc(var(--k-head) + 18px);max-height:calc(100vh - var(--k-head) - 36px);
  overflow-y:auto;padding:28px 0 40px;font-size:13px}
.k-side-h{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-subtle);margin:0 0 8px}
.k-side ul{list-style:none;margin:0;padding:0}
.k-side a{display:block;padding:5px 10px;margin-left:-10px;border-radius:var(--rsm);color:var(--ink-soft);line-height:1.45}
.k-side a:hover{background:var(--surface-2);color:var(--ink)}
.k-side a[aria-current="page"]{background:var(--cobalt-050);color:var(--cobalt-dark);font-weight:560}
.k-side-note{margin-top:18px;font-size:11.5px;line-height:1.6;color:var(--ink-subtle)}

.k-main{min-width:0;padding:28px 0 96px}
.k-toc{position:sticky;top:calc(var(--k-head) + 18px);padding:30px 0 40px;font-size:12.5px}
.k-toc-h{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-subtle);margin:0 0 9px}
.k-toc ul{list-style:none;margin:0;padding:0}
.k-toc a{display:block;padding:4px 0 4px 11px;border-left:1.5px solid var(--rule);color:var(--ink-faint);line-height:1.45}
.k-toc a:hover{color:var(--ink)}
.k-toc a.on{border-left-color:var(--cobalt);color:var(--cobalt-dark);font-weight:540}

/* in-page list shown instead of the rail on narrower screens */
.k-toc-inline{display:none;border:1px solid var(--rule);border-radius:var(--rel);margin:0 0 30px;background:var(--surface)}
.k-toc-inline summary{cursor:pointer;padding:12px 16px;font-size:13px;font-weight:560;color:var(--navy)}
.k-toc-inline ul{list-style:none;margin:0;padding:0 16px 14px}
.k-toc-inline a{display:block;padding:5px 0;font-size:13.5px;color:var(--ink-soft);line-height:1.45}

/* ---------- breadcrumb ---------- */
.k-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px;color:var(--ink-faint);margin-bottom:18px}
.k-crumb ol{list-style:none;display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0;padding:0}
.k-crumb li{display:flex;align-items:center;gap:7px}
.k-crumb a{border-bottom:1px solid transparent}
.k-crumb a:hover{color:var(--cobalt);border-bottom-color:var(--cobalt-100)}
.k-crumb i{font-style:normal;color:var(--rule-mid)}
.k-crumb [aria-current="page"]{color:var(--ink-soft)}

/* ---------- page head ---------- */
.k-ph{padding-bottom:22px;border-bottom:1px solid var(--rule);margin-bottom:34px}
.k-ph h1{font-size:clamp(29px,4vw,42px);letter-spacing:-.03em;line-height:1.07;font-weight:700}
.k-ph .k-def{margin-top:14px;font-size:17px;line-height:1.6;color:var(--ink-soft);max-width:var(--k-read)}
.k-ph-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:20px}

/* ---------- badges ---------- */
.k-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10.5px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:5px;white-space:nowrap}
.k-badge::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.8;flex:none}
.k-badge.is-force{background:var(--st-force-bg);color:var(--st-force-fg)}
.k-badge.is-adopted{background:var(--st-adopted-bg);color:var(--st-adopted-fg)}
.k-badge.is-expected{background:var(--st-expected-bg);color:var(--st-expected-fg)}
.k-badge.is-indicative{background:var(--st-indicative-bg);color:var(--st-indicative-fg);border:1px dashed rgba(122,90,46,.45);padding:3px 7px}
.k-badge.is-reading{background:var(--st-reading-bg);color:var(--st-reading-fg)}
.k-badge.is-conflict{background:var(--st-conflict-bg);color:var(--st-conflict-fg)}
.k-badge.is-unknown{background:var(--st-unknown-bg);color:var(--st-unknown-fg)}
.k-badge.is-stale{background:var(--st-stale-bg);color:var(--st-stale-fg)}

/* ---------- dates ---------- */
.k-dates{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:11.5px;color:var(--ink-faint);line-height:1.7;margin:0}
.k-dates>div{display:flex;gap:6px}
.k-dates dt{color:var(--ink-subtle)}
.k-dates dd{margin:0;font-family:var(--mono);font-size:11px;color:var(--ink-soft)}

/* ---------- sections ---------- */
.k-sec{margin-bottom:44px;scroll-margin-top:calc(var(--k-head) + 20px)}
.k-sec>h2{font-size:22px;letter-spacing:-.024em;margin-bottom:14px}
.k-sec>h3{font-size:16px;letter-spacing:-.02em;margin:26px 0 9px}
.k-sec p{font-size:15.5px;line-height:1.68;color:var(--ink-soft);max-width:var(--k-read);margin-bottom:13px}
.k-sec p:last-child{margin-bottom:0}
.k-sec ul,.k-sec ol{margin:0 0 14px;padding-left:20px;max-width:var(--k-read)}
/* Component lists are not prose. The reading measure applies to sentences, not to grids,
   evidence statements, passport rows, timeline entries or source entries. */
.k-sec .k-start,.k-sec .k-ev,.k-sec .k-pp,.k-sec .k-tl,.k-sec .k-src{max-width:none;padding-left:0}
.k-sec li{font-size:15.5px;line-height:1.65;color:var(--ink-soft);margin-bottom:7px}
.k-sec a.k-lnk,.k-panel a.k-lnk,.k-note a.k-lnk{color:var(--cobalt-dark);border-bottom:1px solid var(--cobalt-100)}
.k-sec a.k-lnk:hover,.k-panel a.k-lnk:hover,.k-note a.k-lnk:hover{border-bottom-color:var(--cobalt)}
.k-lead{font-size:16.5px;line-height:1.62;color:var(--ink-soft)}

/* ---------- panels ---------- */
.k-panel{border:1px solid var(--rule);border-radius:var(--rcard);padding:20px 22px;margin:0 0 16px;background:#fff}
.k-panel.is-quiet{background:var(--surface);border-color:#E3EBF5}
.k-panel-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.k-panel-h h3{font-size:14px;letter-spacing:-.012em;font-weight:640;margin:0}
.k-panel-h .k-tag{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-subtle)}
.k-panel p{font-size:14.5px;line-height:1.62;color:var(--ink-soft);margin-bottom:10px;max-width:var(--k-read)}
.k-panel p:last-child{margin-bottom:0}
.k-panel ul{margin:0 0 10px;padding-left:19px}
.k-panel li{font-size:14.5px;line-height:1.6;color:var(--ink-soft);margin-bottom:6px}

.k-law{border-left:2px solid var(--cobalt);background:var(--cobalt-050);border-radius:0 var(--rel) var(--rel) 0;
  padding:16px 20px;margin:0 0 16px;max-width:var(--k-read)}
.k-law p{font-size:15px;line-height:1.62;color:var(--navy);margin:0 0 9px}
.k-law cite{display:block;font-style:normal;font-family:var(--mono);font-size:11px;
  letter-spacing:.02em;color:var(--cobalt-dark);line-height:1.6}

.k-note{border:1px solid #F0E2C4;background:#FDF9F1;border-radius:var(--rel);padding:15px 18px;margin:0 0 16px;
  max-width:var(--k-read)}
.k-note-h{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#8A6A3A;margin:0 0 7px}
.k-note p{font-size:14.5px;line-height:1.6;color:#5C4A2E;margin:0 0 9px}
.k-note p:last-child{margin-bottom:0}

.k-quote{font-size:19px;line-height:1.45;letter-spacing:-.02em;color:var(--navy);font-weight:620;
  border-left:2px solid var(--rule-mid);padding-left:18px;margin:26px 0;max-width:52ch}

/* ---------- tables ---------- */
.k-tw{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--rcard);margin:0 0 16px}
.k-tbl{border-collapse:collapse;width:100%;min-width:680px;font-size:13.5px}
.k-tbl caption{text-align:left;padding:14px 16px 0;font-size:12.5px;color:var(--ink-faint);line-height:1.6}
.k-tbl th,.k-tbl td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--rule);vertical-align:top;line-height:1.5}
.k-tbl thead th{font-size:11px;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-faint);font-weight:600;background:var(--surface-2);position:sticky;top:0}
.k-tbl tbody tr:last-child td,.k-tbl tbody tr:last-child th{border-bottom:none}
.k-tbl tbody th{font-weight:580;color:var(--navy);white-space:normal}
.k-tbl td.k-num{font-family:var(--mono);font-size:12px;color:var(--ink-soft);white-space:nowrap}
.k-tbl .k-mono{font-family:var(--mono);font-size:11.5px;color:var(--ink-soft)}
.k-tbl.is-fixed{table-layout:fixed;min-width:720px}
.k-tbl.is-fixed th,.k-tbl.is-fixed td{padding:10px 12px;word-wrap:break-word}
.k-c1{width:17%}.k-c2{width:29%}.k-c3{width:15%}.k-c4{width:13%}.k-c5{width:16%}.k-c6{width:10%}

.k-lvl{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;padding:3px 7px;border-radius:5px;background:var(--surface-2);color:var(--ink-soft);white-space:nowrap}
.k-lvl.is-none{background:#F1F4F8;color:#7A8494}
.k-lvl.is-low{background:#E9F2E9;color:#41693F}
.k-lvl.is-med{background:#F5EEDE;color:#7A6428}
.k-lvl.is-high{background:#F8E9E4;color:#9A4B2C}
.k-lvl.is-block{background:#F1E6EC;color:#8A3560}
.k-lvl.is-unknown{background:#EEF1F5;color:#5C6779}

/* ---------- trust strip ---------- */
.k-trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:0 0 16px}
.k-trust>div{border:1px solid var(--rule);border-radius:var(--rcard);padding:16px 18px;background:var(--surface)}
.k-trust-h{font-size:13.5px;font-weight:640;color:var(--navy);margin:0 0 6px}
.k-trust p{font-size:13.5px;line-height:1.6;color:var(--ink-soft);margin:0;max-width:none}

/* ---------- source list ---------- */
.k-src{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.k-src li{padding:14px 0;border-bottom:1px solid var(--rule)}
.k-src-t{font-size:14.5px;font-weight:560;color:var(--navy);line-height:1.5}
.k-src-m{font-family:var(--mono);font-size:11px;color:var(--ink-faint);margin-top:5px;line-height:1.7;
  display:flex;flex-wrap:wrap;gap:4px 14px}
.k-src-n{font-size:13.5px;color:var(--ink-soft);margin-top:7px;line-height:1.6;max-width:var(--k-read)}
.k-src a{color:var(--cobalt-dark);border-bottom:1px solid var(--cobalt-100);word-break:break-word}
.k-src a:hover{border-bottom-color:var(--cobalt)}
.k-src-l{margin:9px 0 0}
.k-src-l a{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:560;
  border-bottom:0;color:var(--cobalt-dark)}
.k-src-l a::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
.k-src-l a:hover{text-decoration:underline}

/* ---------- evidence statements ---------- */
.k-ev{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}
.k-ev li{border:1px solid var(--rule);border-radius:var(--rel);padding:14px 16px;background:#fff}
.k-ev-h{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:6px}
.k-ev-h b{font-size:14px;font-weight:600;color:var(--navy)}
.k-ev p{font-size:14px;line-height:1.6;color:var(--ink-soft);margin:0;max-width:var(--k-read)}

/* ---------- related ---------- */
.k-rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin:0}
.k-rel a{display:block;border:1px solid var(--rule);border-radius:var(--rcard);padding:16px 18px;background:#fff}
.k-rel a:hover{border-color:var(--cobalt-400);background:var(--cobalt-050)}
.k-rel-t{display:block;font-size:14.5px;font-weight:600;color:var(--navy);line-height:1.4}
.k-rel-d{display:block;font-size:13px;color:var(--ink-faint);margin-top:6px;line-height:1.55}

/* ---------- home ---------- */
.k-hero{padding:56px 0 34px;border-bottom:1px solid var(--rule);margin-bottom:38px}
.k-hero h1{font-size:clamp(32px,5vw,46px);letter-spacing:-.032em;line-height:1.05;max-width:16ch}
.k-hero p{font-size:18px;line-height:1.6;color:var(--ink-soft);max-width:60ch;margin-top:16px}
.k-start{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}
.k-start a{display:block;height:100%;border:1px solid var(--rule);border-radius:var(--rcard);padding:20px;background:#fff}
.k-start a:hover{border-color:var(--cobalt-400);background:var(--cobalt-050)}
.k-start-k{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-subtle);margin-bottom:9px}
.k-start-t{display:block;font-size:16px;font-weight:640;color:var(--navy);line-height:1.35}
.k-start-d{display:block;font-size:13.5px;color:var(--ink-faint);margin-top:8px;line-height:1.6}

/* ---------- timeline ---------- */
.k-tl{list-style:none;margin:0;padding:0}
.k-tl>li{position:relative;padding:0 0 26px 26px;border-left:1.5px solid var(--rule)}
.k-tl>li:last-child{border-left-color:transparent;padding-bottom:0}
.k-tl>li::before{content:"";position:absolute;left:-5.5px;top:5px;width:9px;height:9px;border-radius:50%;
  background:var(--paper);border:2px solid var(--rule-mid)}
.k-tl>li.is-force::before{border-color:var(--st-force-fg)}
.k-tl>li.is-adopted::before{border-color:var(--st-adopted-fg)}
.k-tl>li.is-expected::before{border-color:var(--st-expected-fg)}
.k-tl>li.is-indicative::before{border-color:var(--st-indicative-fg);border-style:dotted}
.k-tl>li.is-unknown::before{border-color:var(--st-unknown-fg)}
.k-tl-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:5px}
.k-tl-d{font-family:var(--mono);font-size:12px;color:var(--navy);font-weight:600}
.k-tl-d.is-none{color:var(--st-stale-fg);font-weight:500}
.k-tl-t{font-size:15px;font-weight:600;color:var(--navy);margin:0 0 5px;line-height:1.45}
.k-tl p{font-size:14px;line-height:1.62;color:var(--ink-soft);margin:0 0 6px;max-width:var(--k-read)}
.k-tl-m{font-family:var(--mono);font-size:10.5px;color:var(--ink-faint);letter-spacing:.02em;line-height:1.7;
  display:flex;flex-wrap:wrap;gap:2px 14px}

/* ---------- passport rows ---------- */
.k-pp{list-style:none;margin:0 0 20px;padding:0;border:1px solid var(--rule);border-radius:var(--rcard);overflow:hidden}
.k-pp>li{padding:16px 18px;border-bottom:1px solid var(--rule);background:#fff}
.k-pp>li:last-child{border-bottom:none}
.k-pp-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.k-pp-f{font-size:14.5px;font-weight:620;color:var(--navy)}
.k-pp-v{font-family:var(--mono);font-size:13px;color:var(--ink);background:var(--surface-2);
  border-radius:5px;padding:3px 8px;display:inline-block;word-break:break-word}
.k-pp-v.is-empty{color:var(--st-stale-fg);background:#F7F3EC}
.k-pp-n{font-size:13.5px;line-height:1.62;color:var(--ink-soft);margin:6px 0 0;max-width:var(--k-read)}
.k-pp-grp{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-subtle);margin:26px 0 10px}

/* ---------- footer ---------- */
.k-ft{border-top:1px solid var(--rule);background:var(--surface);padding:38px 0 46px;margin-top:20px}
/* Three explicit columns. The old rule repeated an auto-fit track after the brand column, which
   was harmless while the footer had four children and collapsed the brand column to a word per
   line once it had three. Explicit tracks cannot do that. */
.k-ft-in{max-width:1320px;margin:0 auto;padding:0 28px;display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr);gap:30px 40px}
.k-ft p{font-size:13px;line-height:1.65;color:var(--ink-faint);max-width:46ch;margin:0 0 10px}
.k-ft h2{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-subtle);margin:0 0 9px}
.k-ft ul{list-style:none;margin:0;padding:0}
.k-ft li{margin-bottom:6px}
.k-ft a{font-size:13px;color:var(--ink-soft)}
.k-ft a:hover{color:var(--cobalt-dark)}
.k-ft-note{grid-column:1/-1;border-top:1px solid var(--rule-mid);padding-top:18px;font-size:12px;
  color:var(--ink-faint);line-height:1.65;max-width:80ch}
.k-side a.is-parent{color:var(--navy);font-weight:560}
.k-side a.is-parent::after{content:"";display:inline-block;width:4px;height:4px;margin-left:7px;
  border-radius:50%;background:var(--cobalt);vertical-align:middle;opacity:.6}
.k-ft-hint{margin-top:10px;font-size:11.5px;line-height:1.55;color:var(--ink-subtle);max-width:30ch}

/* ---------- product line ---------- */
.k-prod{border:1px solid var(--cobalt-100);background:var(--cobalt-050);border-radius:var(--rcard);
  padding:18px 20px;margin:0 0 16px;max-width:var(--k-read)}
.k-prod p{font-size:14.5px;line-height:1.62;color:var(--navy);margin:0}
.k-prod a{color:var(--cobalt-dark);font-weight:560;border-bottom:1px solid var(--cobalt-400)}

/* ---------- responsive ---------- */
@media (max-width:1160px){
  .k-shell{grid-template-columns:var(--k-side) minmax(0,1fr);gap:36px;max-width:1000px}
  .k-toc{display:none}
  .k-toc-inline{display:block}
}
@media (max-width:900px){
  /* The section navigation stays in the page and stays reachable with no JavaScript.
     It collapses to one compact band of links so a direct landing reaches its own h1
     without scrolling past a menu. Group labels drop because every link names itself. */
  .k-shell,.k-shell.is-notoc{grid-template-columns:minmax(0,1fr);max-width:760px;gap:0}
  .k-side{position:static;max-height:none;overflow:visible;
    display:flex;flex-wrap:wrap;align-items:center;gap:6px;
    padding:16px 0 14px;border-bottom:1px solid var(--rule);margin-bottom:6px}
  .k-side-h{display:none}
  .k-side ul{display:contents}
  .k-side li{display:block}
  .k-side a{margin-left:0;padding:5px 10px;font-size:12.5px;
    border:1px solid var(--rule);border-radius:var(--rsm)}
  .k-side-note{flex-basis:100%;margin:4px 0 0}
  .k-hdr-in{padding:10px 20px;flex-wrap:wrap;gap:10px 16px}
  .k-nav{margin-left:0;width:100%;gap:16px;flex-wrap:wrap;align-items:flex-start}
  .k-res{width:100%;order:3}
  .k-res-p{position:static;width:auto;border:0;border-top:1px solid var(--rule);border-radius:0;
    box-shadow:none;padding:14px 0 4px;margin-top:10px}
  .k-res-rows{grid-template-columns:minmax(0,1fr);gap:12px}
  .k-res-lead{margin:0 0 12px}
  .k-res.is-on>summary::before{right:auto;width:52px}
  .k-shell{padding:0 20px}
  .k-ft-in{padding:0 20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 26px}
}
@media (max-width:640px){
  .k-ph h1{font-size:28px}
  .k-hero{padding:34px 0 26px}
  .k-sec>h2{font-size:20px}
  .k-sec p,.k-sec li{font-size:15px}
  .k-panel{padding:16px 17px}
  .k-tbl{min-width:560px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important}
}
@media print{
  .k-hdr,.k-side,.k-toc,.k-toc-inline,.k-ft{display:none}
  .k-shell{display:block;max-width:none;padding:0}
  body{font-size:11pt}
  .k-tw{overflow:visible;border:none}
  .k-tbl{min-width:0}
}

/* ---------- small utilities used by the shell, no inline styles anywhere ---------- */
.k-side-h.is-next{margin-top:20px}
.k-ft-lead{margin-top:12px}
