/* Self-hosted webfonts. Archivo and IBM Plex Mono are both under the SIL Open Font
   License 1.1, which permits redistribution; the licences are in fonts/.

   Subsets are latin and latin-ext — exactly what fonts.gstatic.com served before, so
   glyph coverage is unchanged. Seven characters used in the copy (→ ↗ ↔ ▾ ₂ ⁰ ⁻)
   fall outside both subsets and render in the fallback stack; that was already true
   when Google served the fonts, so nothing about the page changes.

   Archivo is one variable file per subset spanning 400-700. Google was already serving
   it that way: the four weight URLs all resolved to the same bytes. */

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-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: 'Archivo';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-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;
}

:root{--mk:url("data:image/png;base64,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")}
/* capital.kyperx.com — site stylesheet.
   Tokens follow 00-shared/design-bank/02-tokens/TOKENS.md, kyperx.com column, with the
   Capital accent role set by build-site.py (the ACCENT block below is replaced at build).
   Rules: 00-shared/design-bank/01-rules/DESIGN-RULES.md — 45°/90° only, zero radius,
   colour encodes, one easing curve, complete at rest. */
:root{
--bg:#08090B;--bg2:#0B0D10;--pnl:#0F1216;
--line:rgba(255,255,255,.10);--line2:rgba(255,255,255,.058);
--tx:#F2F3F5;--tx2:#9AA1AB;--tx3:#7B838D;
--nw:#F2F3F5;
--acc:#D3A95C;--acc2:#E3C184;--accr:211,169,92;--onacc:#08090B;
--accd:rgba(var(--accr),.09);--accl:rgba(var(--accr),.42);--accg:rgba(var(--accr),.12);
--ok:#5FC48E;--okl:rgba(95,196,142,.42);
--bad:#E5837A;--badl:rgba(229,131,122,.42);
--d:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
--m:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
--ez:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--d);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%}
a{color:inherit}
::selection{background:rgba(var(--accr),.32);color:var(--tx)}
.grain{position:fixed;inset:0;z-index:70;pointer-events:none;opacity:.03;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--acc);color:var(--onacc);padding:12px 18px;font-family:var(--m);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.skip:focus{left:12px;top:12px}
.ct{max-width:1360px;margin:0 auto;padding:0 46px}
@media(max-width:1180px){.ct{padding:0 34px}}
@media(max-width:860px){.ct{padding:0 22px}}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- type ---------- */
h1{font-size:clamp(2.5rem,6vw,5rem);font-weight:700;letter-spacing:-.045em;line-height:1;margin:0 0 28px;max-width:17ch;text-wrap:balance}
h2{font-size:clamp(1.85rem,3.4vw,2.85rem);font-weight:600;letter-spacing:-.035em;line-height:1.08;margin:0 0 18px;max-width:20ch;text-wrap:balance}
h3{font-size:1.375rem;font-weight:600;letter-spacing:-.026em;line-height:1.16;margin:0 0 12px;text-wrap:balance}
h4{font-size:1.0625rem;font-weight:600;letter-spacing:-.016em;margin:0 0 8px}
p{margin:0 0 16px}
.lede{font-size:clamp(1.0625rem,1.45vw,1.3125rem);line-height:1.52;color:var(--tx2);max-width:60ch;margin:0 0 34px}
.lbl{font-family:var(--m);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--tx3);display:flex;align-items:center;gap:12px;margin:0 0 24px}
.lbl:before{content:"";height:1px;width:26px;background:var(--acc);flex:none}
.mono{font-family:var(--m);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--tx3)}
.num{font-variant-numeric:tabular-nums}
.ac{color:var(--acc2)}
.muted{color:var(--tx2)}

/* ---------- header ---------- */
header{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid transparent;transition:background .3s,border-color .3s}
header.stuck,header.open{background:rgba(8,9,11,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line2)}
.hi{display:flex;align-items:center;justify-content:space-between;height:76px;gap:26px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--tx)}
.mk{width:26px;height:22px;background:var(--acc);-webkit-mask:var(--mk) center/contain no-repeat;mask:var(--mk) center/contain no-repeat;flex:none}
.wm{font-size:17px;font-weight:600;letter-spacing:-.015em}
.wm span{color:var(--tx3);font-weight:400;margin-left:5px}
nav.pri{display:flex;gap:34px;align-items:center}
nav.pri a{position:relative;color:var(--tx2);text-decoration:none;font-size:14px;padding:4px 0}
nav.pri a:after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--acc);transition:width .35s var(--ez)}
nav.pri a:hover{color:var(--tx)}nav.pri a:hover:after{width:100%}
nav.pri a.cur{color:var(--tx)}nav.pri a.cur:after{width:100%}
nav.pri a.navcta{border:1px solid var(--accl);color:var(--acc2);padding:9px 15px;font-family:var(--m);font-size:11px;letter-spacing:.13em;text-transform:uppercase;transition:.28s var(--ez)}
nav.pri a.navcta:after{display:none}
nav.pri a.navcta:hover,nav.pri a.navcta.cur{background:var(--accd);border-color:var(--acc);color:var(--tx)}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.mnav{display:none;background:none;border:1px solid var(--line);color:var(--tx);font-family:var(--m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:10px 15px;cursor:pointer;min-height:44px}
.mpanel{display:none;flex-direction:column;background:rgba(11,13,16,.98);border-top:1px solid var(--line2);padding:12px 22px 22px}
.mpanel.open{display:flex}
.mpanel a{color:var(--tx2);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--line2);font-size:1rem}
.mpanel a.cur{color:var(--tx)}
@media(max-width:1000px){nav.pri{display:none}.mnav{display:block}}

/* ---------- page + spine ---------- */
main{position:relative;display:block}
.spine{position:absolute;left:22px;top:0;bottom:0;width:1px;background:var(--line2);z-index:1;pointer-events:none}
.spine b{position:absolute;top:0;left:0;width:1px;background:linear-gradient(180deg,rgba(var(--accr),.05),rgba(var(--accr),.55));display:block}
.spine .br{position:absolute;left:0;width:20px;height:20px}
.spine .br s{position:absolute;left:0;top:0;width:14px;height:14px;border-left:1px solid var(--line2);border-bottom:1px solid var(--line2);transform:rotate(-45deg);transform-origin:left top;text-decoration:none}
.spine .br u{position:absolute;left:-2px;top:-2px;width:5px;height:5px;background:var(--line);transform:rotate(45deg);transition:background .4s var(--ez)}
.spine .br.on u{background:var(--acc)}
@media(max-width:1260px){.spine{display:none}}
section{position:relative;border-top:1px solid var(--line2)}
section:first-of-type{border-top:none}
.pad{padding-top:118px;padding-bottom:118px}
.padS{padding-top:86px;padding-bottom:86px}
@media(max-width:860px){.pad{padding-top:72px;padding-bottom:72px}.padS{padding-top:56px;padding-bottom:56px}}
[id]{scroll-margin-top:96px}

/* ---------- buttons + links ---------- */
.cta{display:flex;flex-wrap:wrap;gap:13px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;font-size:.9375rem;font-weight:500;text-decoration:none;border:1px solid transparent;transition:.28s var(--ez);cursor:pointer;font-family:var(--d);line-height:1.2}
.b1{background:var(--acc);color:var(--onacc)}.b1:hover{background:var(--acc2);transform:translateY(-2px)}
.b2{border-color:var(--line);color:var(--tx);background:transparent}
.b2:hover{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.035);transform:translateY(-2px)}
.ar{transition:transform .28s var(--ez)}.btn:hover .ar,.lnk:hover .ar{transform:translateX(4px)}
.lnk{display:inline-flex;align-items:center;gap:9px;color:var(--tx);text-decoration:none;font-size:.9375rem;font-weight:500;border-bottom:1px solid var(--line);padding-bottom:5px;transition:.28s var(--ez)}
.lnk:hover{border-bottom-color:var(--acc)}

/* ---------- section head ---------- */
.shead{display:grid;gap:16px;margin-bottom:58px}
@media(min-width:960px){.shead{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:end}}
.shead p{margin:0;color:var(--tx2);font-size:1.0625rem;line-height:1.62;max-width:56ch}
.shead .lnk{margin-top:20px}
.shead>div:only-child{grid-column:1/-1}

/* ---------- figures ---------- */
.fig{position:relative;border:1px solid var(--line2);background:linear-gradient(170deg,var(--pnl),var(--bg2))}
.fig svg{display:block;width:100%;height:auto}
.figh{display:flex;justify-content:space-between;align-items:center;gap:10px 18px;flex-wrap:wrap;padding:13px 18px;border-bottom:1px solid var(--line2);font-family:var(--m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3)}
.figh b{font-weight:500;color:var(--tx2)}
.figb{padding:18px}
.figcap{font-family:var(--m);font-size:11px;letter-spacing:.08em;color:var(--tx3);padding:12px 18px;border-top:1px solid var(--line2);line-height:1.6;margin:0}
.scrollx{position:relative;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.scrollx:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--m);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--tx3);border:1px solid var(--line2);padding:5px 9px}
.tag:before{content:"";width:5px;height:5px;background:var(--tx3);transform:rotate(45deg)}
.tag.a{color:var(--acc2);border-color:var(--accl)}.tag.a:before{background:var(--acc)}

/* svg diagram vocabulary */
.d-grid{stroke:rgba(255,255,255,.05);stroke-width:.75;fill:none}
.d-axis{stroke:rgba(255,255,255,.22);stroke-width:1;fill:none}
.d-frame{stroke:rgba(255,255,255,.12);stroke-width:.75;fill:none}
.d-bx{fill:#10141A;stroke:rgba(255,255,255,.24);stroke-width:1;transition:stroke .3s var(--ez),fill .3s var(--ez)}
.d-bx.sep{fill:none;stroke-dasharray:5 4;stroke:rgba(255,255,255,.28)}
.d-bx.on{stroke:var(--acc);fill:var(--accd);stroke-width:1.5}
.d-ln{fill:none;stroke:rgba(255,255,255,.26);stroke-width:1;transition:stroke .3s var(--ez)}
.d-ln.sep{stroke-dasharray:5 4}
.d-ln.on{stroke:var(--acc);stroke-width:1.5}
.d-ar{fill:rgba(255,255,255,.4)}
.d-ar.on{fill:var(--acc)}
.d-t{font-family:var(--d);font-size:12.5px;fill:#E9EBEE;font-weight:500}
.d-s{font-family:var(--m);font-size:9.5px;fill:#8A919B;letter-spacing:.07em}
.d-h{font-family:var(--m);font-size:10px;fill:#9AA1AB;letter-spacing:.14em}
.d-a{fill:var(--acc2)}
.d-mk{fill:var(--acc)}

/* ---------- hero (home) ---------- */
.hero{position:relative;padding:150px 0 0;overflow:hidden}
.hglow{position:absolute;z-index:0;top:-22%;right:-12%;width:980px;height:980px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,var(--accg) 0%,rgba(0,0,0,0) 62%)}
.hero .ct{position:relative;z-index:2}
.hgrid{display:grid;gap:48px;align-items:start;padding-bottom:78px}
@media(min-width:1080px){.hgrid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:64px;align-items:center}}
.hero h1{font-size:clamp(2.6rem,5.2vw,4.6rem);max-width:13ch}
h1 .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}h1 .ln>span{display:block}
h1 em{font-style:normal;color:var(--acc)}
.hero .lede{max-width:46ch}
.hmeta{margin-top:44px;padding-top:20px;border-top:1px solid var(--line2);display:flex;flex-wrap:wrap;gap:10px 28px;font-family:var(--m);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--tx3)}
.hmeta span{display:flex;align-items:center;gap:9px}
.hmeta span:before{content:"";width:5px;height:5px;background:var(--tx3);transform:rotate(45deg)}
.hmeta span:first-child:before{background:var(--acc)}

/* regime field */
.regime .rq-hit{fill:transparent;cursor:pointer}
.regime .rq-fill{fill:transparent;transition:fill .42s var(--ez)}
.regime .rq.on .rq-fill{fill:var(--accd)}
.regime .rq-lbl{font-family:var(--m);font-size:10.5px;letter-spacing:.14em;fill:#7F8791;transition:fill .3s var(--ez)}
.regime .rq.on .rq-lbl{fill:var(--acc2)}
.regime .rpath-base{fill:none;stroke:rgba(255,255,255,.14);stroke-width:1}
.regime .rpath{fill:none;stroke:var(--acc);stroke-width:1.6;stroke-linejoin:miter}
.regime .rv{fill:#08090B;stroke:#9AA1AB;stroke-width:1}
.regime .rv.on{stroke:var(--acc);fill:var(--acc)}
.regime .rend{fill:var(--acc)}
.rtabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line2)}
.rtab{appearance:none;background:none;border:0;border-right:1px solid var(--line2);color:var(--tx3);font-family:var(--m);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:14px 10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;text-align:left;line-height:1.3;min-height:48px;transition:color .28s var(--ez),background .28s var(--ez)}
.rtab:last-child{border-right:0}
.rtab i{width:6px;height:6px;border:1px solid currentColor;transform:rotate(45deg);flex:none}
.rtab:hover{color:var(--tx)}
.rtab[aria-selected="true"]{color:var(--acc2);background:var(--accd)}
.rtab[aria-selected="true"] i{background:var(--acc);border-color:var(--acc)}
.rpanel{display:grid;gap:18px 30px;padding:20px 18px 20px;border-top:1px solid var(--line2)}
@media(min-width:640px){.rpanel{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}
.rpanel[hidden]{display:none}
.rpanel h3{font-size:1.125rem;margin:0 0 6px}
.rpanel p{margin:0;color:var(--tx2);font-size:.9375rem;line-height:1.55}
.bands{display:grid;gap:9px;align-content:center}
.band{display:grid;grid-template-columns:96px minmax(0,1fr) 74px;gap:12px;align-items:center;font-family:var(--m);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3)}
.band s{position:relative;display:block;height:5px;background:var(--line2);text-decoration:none}
.band s:after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w);background:var(--acc);transition:width .72s var(--ez)}
.band b{font-weight:400;color:var(--tx2);text-align:right}
@media(max-width:560px){.rtabs{grid-template-columns:1fr 1fr}.rtab:nth-child(2){border-right:0}.rtab:nth-child(-n+2){border-bottom:1px solid var(--line2)}.band{grid-template-columns:84px minmax(0,1fr) 66px}}

/* facts band */
.facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);margin:0}
.facts>div{padding:26px 22px 26px 0;min-width:0}
.facts>div+div{padding-left:22px;border-left:1px solid var(--line2)}
.facts dt{font-family:var(--m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);margin:0 0 9px}
.facts dd{margin:0;font-size:.9688rem;line-height:1.45;color:var(--tx)}
@media(max-width:1100px){.facts{grid-template-columns:repeat(3,minmax(0,1fr))}.facts>div:nth-child(4){padding-left:0;border-left:0}.facts>div:nth-child(n+4){border-top:1px solid var(--line2)}}
@media(max-width:640px){.facts{grid-template-columns:1fr}.facts>div,.facts>div+div{padding:18px 0;border-left:0}.facts>div+div{border-top:1px solid var(--line2)}}

/* ---------- metrics ---------- */
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line2);background:var(--bg2)}
.metric{padding:24px 22px 22px;min-width:0;display:flex;flex-direction:column;gap:4px}
.metric+.metric{border-left:1px solid var(--line2)}
.metric dt{font-family:var(--m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);order:1}
.metric dd{margin:0}
.metric .v{order:2;font-size:clamp(1.9rem,3.2vw,2.75rem);font-weight:600;letter-spacing:-.04em;line-height:1.05;font-variant-numeric:tabular-nums;margin-top:10px}
.metric .v small{font-size:.45em;letter-spacing:0;color:var(--tx3);font-weight:500;margin-left:4px}
.metric .c{order:3;font-family:var(--m);font-size:11px;letter-spacing:.04em;color:var(--tx3);font-variant-numeric:tabular-nums}
.metric .c b{font-weight:400;color:var(--tx2)}
.metrics.m8{grid-template-columns:repeat(4,minmax(0,1fr))}
.metrics.m8 .metric:nth-child(n+5){border-top:1px solid var(--line2)}
.metrics.m8 .metric:nth-child(5){border-left:0}
@media(max-width:900px){.metrics,.metrics.m8{grid-template-columns:1fr 1fr}.metric:nth-child(odd){border-left:0}.metric:nth-child(n+3){border-top:1px solid var(--line2)}}
.stamp{display:flex;flex-wrap:wrap;gap:8px 22px;font-family:var(--m);font-size:11px;letter-spacing:.08em;color:var(--tx3);margin-top:16px}
.stamp span{display:inline-flex;align-items:center;gap:8px}
.stamp span:before{content:"";width:5px;height:5px;border:1px solid var(--tx3);transform:rotate(45deg)}
.stamp span.src:before{background:var(--acc);border-color:var(--acc)}

/* evidence (home) */
.evid{display:grid;gap:28px}
@media(min-width:1040px){.evid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px;align-items:stretch}}
.evid .metrics{grid-template-columns:1fr 1fr;height:100%}
.evid .metric:nth-child(odd){border-left:0}
.evid .metric:nth-child(even){border-left:1px solid var(--line2)}
.evid .metric:nth-child(n+3){border-top:1px solid var(--line2)}

/* charts */
.chart{position:relative}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.c-grid{stroke:rgba(255,255,255,.06);stroke-width:.75}
.c-base{stroke:rgba(255,255,255,.28);stroke-width:1}
.c-tick{font-family:var(--m);font-size:10px;fill:#848C96;letter-spacing:.04em}
.c-s{fill:none;stroke:var(--acc);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.c-area{fill:url(#accfade)}
.c-b{fill:none;stroke:#A3AAB3;stroke-width:1.25;stroke-dasharray:5 4}
.c-end{fill:var(--acc)}
.c-endb{fill:#08090B;stroke:#A3AAB3;stroke-width:1.25}
.c-lab{font-family:var(--m);font-size:10.5px;letter-spacing:.06em;fill:var(--acc2)}
.c-labb{font-family:var(--m);font-size:10.5px;letter-spacing:.06em;fill:#A3AAB3}
.c-bar{fill:var(--acc)}
.c-barn{fill:none;stroke:var(--acc2);stroke-width:1;stroke-dasharray:3 2}
.c-barb{fill:rgba(255,255,255,.2)}
.c-dd{fill:rgba(var(--accr),.16);stroke:var(--acc);stroke-width:1.25}
.c-ddb{fill:none;stroke:#A3AAB3;stroke-width:1.25;stroke-dasharray:5 4}
.c-cross{stroke:rgba(255,255,255,.35);stroke-width:1;opacity:0;transition:opacity .18s var(--ez)}
.c-dot{fill:var(--acc);opacity:0}
.c-dotb{fill:#08090B;stroke:#A3AAB3;stroke-width:1.25;opacity:0}
.chart.hot .c-cross,.chart.hot .c-dot,.chart.hot .c-dotb{opacity:1}
.c-hit{fill:transparent;cursor:crosshair}
.readout{position:absolute;top:10px;left:16px;display:flex;flex-wrap:wrap;gap:4px 18px;font-family:var(--m);font-size:11px;letter-spacing:.06em;color:var(--tx3);pointer-events:none;font-variant-numeric:tabular-nums}
.readout b{font-weight:400;color:var(--tx)}
.readout .ra{color:var(--acc2)}
.legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-family:var(--m);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3)}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend i{display:inline-block;width:18px;height:0;border-top:2px solid var(--acc)}
.legend i.b{border-top:1.25px dashed #A3AAB3}
.legend i.bar{width:10px;height:10px;border:0;background:var(--acc)}
.legend i.barn{width:10px;height:10px;border:1px dashed var(--acc2);background:none}

/* wide / narrow chart pair */
.cnw{display:none}
@media(max-width:700px){.cw{display:none}.cnw{display:block}}
@media(max-width:700px){.regime .rq-lbl{font-size:21px}.regime .d-s{font-size:17px}.regime .d-h{font-size:17px;letter-spacing:.08em}}

/* monthly calendar */
.cal{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:860px}
.cal caption{text-align:left}
.cal th{font-family:var(--m);font-weight:500;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3);padding:0 4px 12px;text-align:center}
.cal th:first-child{text-align:left;padding-left:0}
.cal td{padding:3px;text-align:center}
.cal td:first-child,.cal th[scope=row]{text-align:left;font-family:var(--m);font-size:12px;color:var(--tx2);padding:3px 12px 3px 0;letter-spacing:.06em}
.cell{display:flex;align-items:center;justify-content:center;height:46px;font-family:var(--m);font-size:12px;color:var(--tx);background:rgba(var(--accr),calc(var(--i,0)*.55));border:1px solid rgba(var(--accr),calc(.14 + var(--i,0)*.5))}
.cell.hi{color:var(--onacc);font-weight:500}
.cell.neg{background:transparent;border:1px dashed rgba(255,255,255,.34);color:var(--tx2)}
.cell.zero{background:transparent;border:1px solid var(--line);color:var(--tx2)}
.cell.na{background:transparent;border:1px solid var(--line2);color:transparent}
.cell.ytd{background:transparent;border:1px solid var(--acc);color:var(--acc2);font-weight:500}
.cal .gap{width:10px}

/* stats table */
.stbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.stbl th{font-family:var(--m);font-weight:500;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--tx3);text-align:right;padding:0 0 12px 18px;border-bottom:1px solid var(--line)}
.stbl th:first-child{text-align:left;padding-left:0}
.stbl td{padding:14px 0 14px 18px;border-bottom:1px solid var(--line2);text-align:right;color:var(--tx2);font-size:.9688rem;white-space:nowrap}
.stbl td:first-child{text-align:left;padding-left:0;color:var(--tx);white-space:normal}
.stbl td.k{color:var(--acc2);font-weight:500}
.stbl td small{display:block;font-family:var(--m);font-size:10.5px;color:var(--tx3);letter-spacing:.04em;margin-top:3px;white-space:normal}

.notes{margin:0;padding:0;list-style:none;display:grid;gap:0;border-top:1px solid var(--line2);counter-reset:n}
.notes li{counter-increment:n;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:15px 0;border-bottom:1px solid var(--line2);color:var(--tx2);font-size:.9375rem;line-height:1.6}
.notes li:before{content:counter(n,decimal-leading-zero);font-family:var(--m);font-size:11px;color:var(--tx3);padding-top:3px}
.notes b{color:var(--tx);font-weight:600}

.pending{border:1px solid var(--badl);background:rgba(229,131,122,.06);padding:16px 20px;margin:0 0 36px;display:grid;gap:4px}
.pending b{font-family:var(--m);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bad)}
.pending p{margin:0;color:var(--tx2);font-size:.9375rem}

/* ---------- process line ---------- */
.sysl{display:flex;flex-wrap:wrap;align-items:center;gap:6px 4px;font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);margin:0}
.sysl b{font-weight:400;color:var(--tx2)}
.sysl b.a{color:var(--acc2)}
.sysl i{font-style:normal;opacity:.55;padding:0 5px}

/* ---------- page head (sub pages) ---------- */
.phead{position:relative;padding:160px 0 84px;overflow:hidden}
.phead .hglow{top:-60%;right:-20%}
.phead .ct{position:relative;z-index:2}
.phead h1{max-width:18ch;font-size:clamp(2.4rem,5vw,4.25rem)}
.phead .lede{margin-bottom:0}
.crumb{display:flex;gap:10px;align-items:center;font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);margin:0 0 30px;padding:0;list-style:none}
.crumb a{color:var(--tx2);text-decoration:none}.crumb a:hover{color:var(--tx)}
.crumb li+li:before{content:"/";margin-right:10px;color:var(--tx3);opacity:.6}
.phgrid{display:grid;gap:40px}
@media(min-width:1040px){.phgrid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:64px;align-items:end}}

/* on-this-page index */
.toc{border-left:1px solid var(--line2);padding-left:26px;align-self:end}
.toc .mono{margin:0 0 14px}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:t}
.toc li{counter-increment:t}
.toc a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;padding:7px 0;color:var(--tx2);text-decoration:none;font-size:.9375rem;line-height:1.35;transition:color .28s var(--ez)}
.toc a:before{content:counter(t,decimal-leading-zero);font-family:var(--m);font-size:11px;color:var(--tx3);padding-top:2px}
.toc a:hover{color:var(--tx)}.toc a:hover:before{color:var(--acc2)}
@media(max-width:1039px){.toc{display:none}}
.phgrid .lede{margin-bottom:0}
.phead .stamp{margin-top:26px}

/* risk: chain stays in view while failure modes are read */
.chainwrap{display:grid;gap:0}
@media(min-width:1100px){.chainfig{position:sticky;top:76px;z-index:3;box-shadow:0 -12px 0 0 var(--bg),0 18px 0 0 var(--bg)}}
.chainfig{background:linear-gradient(170deg,#0F1216,#0B0D10)}
.fmhead{margin:86px 0 34px;display:grid;gap:10px}
.fmhead .lbl{margin:0 0 6px}.fmhead h2{margin:0}.fmhead p:last-child{color:var(--tx2);margin:0}

/* ---------- strategy stack (D exploded, 45°) ---------- */
.stack{display:grid;gap:28px}
@media(min-width:1040px){.stack{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}}
.stack .lyr{cursor:pointer}
.stack .lyr .top{fill:#0F1318;stroke:rgba(255,255,255,.26);stroke-width:1;transition:fill .42s var(--ez),stroke .42s var(--ez)}
.stack .lyr .side{fill:#0B0E12;stroke:rgba(255,255,255,.16);stroke-width:1}
.stack .lyr .grid{stroke:rgba(255,255,255,.06);stroke-width:.75;fill:none;transition:stroke .42s var(--ez)}
.stack .lyr.on .top{fill:rgba(var(--accr),.13);stroke:var(--acc);stroke-width:1.5}
.stack .lyr.on .grid{stroke:rgba(var(--accr),.26)}
.stack .lyr.dash .top{stroke-dasharray:5 4}
.stack .lead{stroke:rgba(255,255,255,.24);stroke-width:1;fill:none;transition:stroke .3s var(--ez)}
.stack .lyr.on .lead{stroke:var(--acc)}
.stack .lyr .d-t{transition:fill .3s var(--ez)}
.stack .lyr.on .d-t{fill:var(--acc2)}
.slist{display:grid;border-top:1px solid var(--line2)}
.sitem{display:block;width:100%;text-align:left;appearance:none;background:none;border:0;border-bottom:1px solid var(--line2);color:inherit;font:inherit;padding:22px 0 22px 22px;cursor:pointer;position:relative}
.sitem:before{content:"";position:absolute;left:0;top:28px;width:7px;height:7px;border:1px solid var(--tx3);transform:rotate(45deg);transition:.3s var(--ez)}
.sitem h3{font-size:1.1875rem;margin:0 0 6px;transition:color .3s var(--ez)}
.sitem .mono{display:block;margin-bottom:10px}
.sitem p{margin:0;color:var(--tx2);font-size:.9688rem;line-height:1.6;max-width:52ch}
.sitem[aria-pressed="true"]:before{background:var(--acc);border-color:var(--acc)}
.sitem[aria-pressed="true"] h3{color:var(--acc2)}
.sitem:hover h3{color:var(--tx)}

/* ---------- flow (E living flow) ---------- */
.flowfig .figb{padding:22px}
.flowfig svg{min-width:880px}
.fl-p{fill:none;stroke:rgba(255,255,255,.26);stroke-width:1}
.fl-p.a{stroke:var(--acc);stroke-width:1.4}
.fl-p.sep{stroke-dasharray:5 4}
.fl-dash{fill:none;stroke:var(--acc);stroke-width:1.4;stroke-dasharray:6 10;opacity:.9}
.js .fl-dash{animation:flowdir 1.8s linear 3}
@keyframes flowdir{to{stroke-dashoffset:-48}}

/* ---------- themes ---------- */
.themes{display:grid;gap:16px}
@media(min-width:900px){.themes{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
.theme{border:1px solid var(--line2);background:linear-gradient(170deg,var(--pnl),var(--bg2));padding:28px 26px 26px;display:flex;flex-direction:column;position:relative}
.theme:before{content:"";position:absolute;left:-1px;top:-1px;width:44px;height:2px;background:var(--acc)}
.theme h3{margin:14px 0 12px}
.theme p{color:var(--tx2);font-size:.9688rem;line-height:1.6}
.theme ul{margin:auto 0 0;padding:16px 0 0;border-top:1px solid var(--line2);list-style:none;display:grid;gap:8px}
.theme li{font-family:var(--m);font-size:11px;letter-spacing:.08em;color:var(--tx3);display:flex;gap:10px}
.theme li:before{content:"";width:5px;height:5px;margin-top:5px;border:1px solid var(--tx3);transform:rotate(45deg);flex:none}

/* definition rows */
.rows{display:grid;border-top:1px solid var(--line2);margin:0}
.rows>div{display:grid;gap:6px 40px;padding:22px 0;border-bottom:1px solid var(--line2)}
@media(min-width:800px){.rows>div{grid-template-columns:240px minmax(0,1fr)}}
.rows dt{font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);padding-top:3px}
.rows dd{margin:0;color:var(--tx2);line-height:1.62;max-width:64ch}
.rows dd b{color:var(--tx);font-weight:600}

/* two column lists */
.two{display:grid;gap:0;border-top:1px solid var(--line2)}
@media(min-width:900px){.two{grid-template-columns:1fr 1fr;gap:0 52px}}
.tw{padding:34px 0;border-bottom:1px solid var(--line2)}
.tw h3{margin:0 0 16px}
.tw ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.tw li{display:grid;grid-template-columns:18px minmax(0,1fr);color:var(--tx2);font-size:.9688rem;line-height:1.58}
.tw li:before{content:"";width:5px;height:5px;margin-top:.62em;background:var(--tx3);transform:rotate(45deg)}

/* ---------- risk: failure modes ---------- */
.fm{width:100%;border-collapse:collapse}
.fm th{font-family:var(--m);font-weight:500;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--tx3);text-align:left;padding:0 24px 12px 0;border-bottom:1px solid var(--line)}
.fm td{padding:18px 24px 18px 0;border-bottom:1px solid var(--line2);vertical-align:top;color:var(--tx2);font-size:.9688rem;line-height:1.55}
.fm td:first-child{color:var(--tx);font-weight:600;width:26%}
.fm td:last-child{padding-right:0;width:18%}
.fm tr{transition:background .28s var(--ez)}
.fm tbody tr{cursor:pointer}
.fm tbody tr:hover,.fm tbody tr.on{background:rgba(var(--accr),.05)}
.fm tbody tr.on td:first-child{color:var(--acc2)}
@media(max-width:760px){.fm thead{display:none}.fm,.fm tbody,.fm tr,.fm td{display:block;width:auto!important}.fm tr{padding:16px 0;border-bottom:1px solid var(--line2)}.fm td{border:0;padding:3px 0}}

/* regime response matrix */
.resp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line2);background:var(--bg2)}
.resp>div{padding:24px 22px 24px;display:flex;flex-direction:column;gap:10px;min-width:0}
.resp>div+div{border-left:1px solid var(--line2)}
.resp h3{font-size:1.0625rem;margin:0}
.resp p{margin:0;color:var(--tx2);font-size:.9375rem;line-height:1.55}
.resp .bands{margin-top:auto;padding-top:14px;border-top:1px solid var(--line2)}
.resp .band{grid-template-columns:70px minmax(0,1fr)}
.resp .band b{display:none}
@media(max-width:1000px){.resp{grid-template-columns:1fr 1fr}.resp>div:nth-child(3){border-left:0}.resp>div:nth-child(n+3){border-top:1px solid var(--line2)}}
@media(max-width:560px){.resp{grid-template-columns:1fr}.resp>div+div{border-left:0;border-top:1px solid var(--line2)}}

/* ---------- team ---------- */
.prof{display:grid;gap:36px;align-items:start}
@media(min-width:900px){.prof{grid-template-columns:320px minmax(0,1fr);gap:64px}}
.portrait{position:relative;margin:0}
.portrait img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--line2);background:#fff;filter:grayscale(.12)}
.portrait .ph{position:relative;display:block}
.portrait .ph:after{content:"";position:absolute;right:-1px;bottom:-1px;width:44px;height:44px;border-right:2px solid var(--acc);border-bottom:2px solid var(--acc);pointer-events:none}
.portrait figcaption{font-family:var(--m);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);margin-top:14px}
@media(max-width:899px){.portrait{max-width:260px}}
.role{font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc2);margin:0 0 22px}
.bio p{color:var(--tx2);font-size:1.0312rem;line-height:1.7;max-width:64ch}
.cred{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line2);margin:34px 0 0}
.cred>div{padding:20px 20px 0 0}
.cred>div+div{padding-left:20px;border-left:1px solid var(--line2)}
.cred dt{font-family:var(--m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);margin:0 0 8px}
.cred dd{margin:0;color:var(--tx);font-size:.9688rem;line-height:1.45}
@media(max-width:700px){.cred{grid-template-columns:1fr}.cred>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line2);margin-top:18px}}
.frow{display:grid;gap:24px;align-items:center}
@media(min-width:760px){.frow{grid-template-columns:120px minmax(0,1fr) auto;gap:36px}}
.frow img{width:120px;height:120px;object-fit:cover;border:1px solid var(--line2);display:block;background:#fff}
.frow h3{margin:0 0 4px}
.frow p{margin:0;color:var(--tx2);max-width:60ch}
.frow .role{margin:0 0 10px}

/* ---------- closing CTA ---------- */
.close{position:relative;overflow:hidden}
.close .hglow{top:auto;bottom:-70%;right:auto;left:-10%}
.close .ct{position:relative;z-index:2}
.closeg{display:grid;gap:30px}
@media(min-width:960px){.closeg{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:end}}
.closeg p{color:var(--tx2);max-width:52ch;margin:0 0 28px}
.fine{font-family:var(--m);font-size:11px;letter-spacing:.04em;line-height:1.75;color:var(--tx3);max-width:62ch;margin:18px 0 0}

/* ---------- contact ---------- */
.cgrid{display:grid;gap:44px}
@media(min-width:1000px){.cgrid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:72px;align-items:start}}
.form{display:grid;gap:22px;max-width:700px}
.fr2{display:grid;gap:22px}
@media(min-width:700px){.fr2{grid-template-columns:1fr 1fr}}
.fr2>*{min-width:0}
label{display:block;font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);margin-bottom:9px}
label i{font-style:normal;color:var(--acc2)}
input,textarea,select{width:100%;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.38);color:var(--tx);font-family:var(--d);font-size:.9688rem;padding:13px 14px;border-radius:0}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
textarea{min-height:140px;resize:vertical}
select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#9AA1AB 50%),linear-gradient(135deg,#9AA1AB 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:42px}
select option{background:#0F1216;color:var(--tx)}
.chk{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;font-family:var(--d);font-size:.9375rem;letter-spacing:0;text-transform:none;color:var(--tx2);line-height:1.55;margin:0;cursor:pointer}
.chk input{appearance:none;-webkit-appearance:none;width:20px;height:20px;padding:0;margin:1px 0 0;border:1px solid rgba(255,255,255,.45);background:transparent;cursor:pointer;display:grid;place-content:center}
.chk input:checked{background:var(--acc);border-color:var(--acc)}
.chk input:checked:after{content:"";width:9px;height:5px;border-left:2px solid var(--onacc);border-bottom:2px solid var(--onacc);transform:translateY(-1px) rotate(-45deg)}
.err{color:var(--bad);font-size:.875rem;margin-top:8px;display:none}
.err.on{display:block}
input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"]{border-color:var(--bad)}
.chk input[aria-invalid="true"]{border-color:var(--bad)}
.hp{display:none}
.form button[disabled]{opacity:.5;cursor:progress}
#fstat{font-size:.9375rem;color:var(--tx2);display:none;padding:15px 17px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
#fstat.on{display:block}
#fstat.ok{border-color:var(--okl);color:var(--ok)}
#fstat.bad{border-color:var(--badl);color:var(--bad)}
.formnote{font-family:var(--m);font-size:11.5px;letter-spacing:.04em;color:var(--tx3);line-height:1.7;margin:0}
.formnote a{color:var(--tx2)}
.caside{display:grid;gap:0;border:1px solid var(--line2);background:linear-gradient(170deg,var(--pnl),var(--bg2))}
.caside>div{padding:26px 26px}
.caside>div+div{border-top:1px solid var(--line2)}
.caside h2{font-size:1.125rem;font-weight:600;letter-spacing:-.018em;line-height:1.25;margin:0 0 10px;max-width:none}
.caside p{margin:0 0 10px;color:var(--tx2);font-size:.9375rem;line-height:1.6}
.caside p:last-child{margin:0}
.caside a{color:var(--tx)}
.cdet{font-family:var(--m);font-size:11.5px!important;letter-spacing:.05em;line-height:1.9!important;color:var(--tx3)!important}
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:14px}
.steps li{counter-increment:s;display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;color:var(--tx2);font-size:.9375rem;line-height:1.55}
.steps li:before{content:counter(s,decimal-leading-zero);font-family:var(--m);font-size:11px;color:var(--acc2);padding-top:3px}
.steps b{color:var(--tx);font-weight:600}

/* faq */
.faq{border-top:1px solid var(--line2)}
.faq details{border-bottom:1px solid var(--line2)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:20px;align-items:center;padding:24px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-size:1.125rem;margin:0}
.faq summary:after{content:"";width:9px;height:9px;border-right:1.5px solid var(--tx2);border-bottom:1.5px solid var(--tx2);transform:rotate(45deg);justify-self:center;margin-top:-5px;transition:transform .3s var(--ez)}
.faq details[open] summary:after{transform:rotate(-135deg);margin-top:5px;border-color:var(--acc)}
.faq details>div{padding:0 0 26px;max-width:70ch}
.faq details p{color:var(--tx2);line-height:1.66;margin:0}

/* ---------- legal ---------- */
.legal{max-width:74ch}
.legal h2{font-size:1.1875rem;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:46px 0 14px;max-width:none}
.legal h2:first-child{margin-top:0}
.legal p{color:var(--tx2);margin:0 0 14px;line-height:1.68}
.legal ul{color:var(--tx2);margin:0 0 16px;padding-left:19px}
.legal li{margin:0 0 9px;line-height:1.62}
.legal strong{color:var(--tx);font-weight:600}
.legal a{color:var(--tx);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
.legal a:hover{text-decoration-color:var(--acc)}
.legal .upd{font-family:var(--m);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--tx3);border-top:1px solid var(--line2);padding-top:18px;margin-top:44px}

/* ---------- next page link ---------- */
.next{display:grid;gap:10px;text-decoration:none;padding:44px 0;border-top:1px solid var(--line2);color:var(--tx)}
.next .mono{display:block}
.next strong{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:600;letter-spacing:-.035em;line-height:1.1;display:flex;align-items:center;gap:18px;transition:gap .28s var(--ez)}
.next:hover strong{gap:26px}
.next:hover strong .ar{color:var(--acc)}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line2);padding:70px 0 34px;background:var(--bg2)}
.fg{display:grid;gap:38px}
@media(min-width:900px){.fg{grid-template-columns:2.2fr 1fr 1fr}}
.fg>*{min-width:0}
footer h2{font-family:var(--m);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--tx3);margin:0 0 16px;font-weight:500;max-width:none}
footer ul{list-style:none;margin:0;padding:0}footer li{margin-bottom:3px}
footer li a{display:inline-block;padding:4px 0}
footer a{color:var(--tx2);text-decoration:none;font-size:.9062rem}
footer a:hover{color:var(--tx)}
.fd{color:var(--tx2);font-size:.9375rem;margin:16px 0 0;line-height:1.62;max-width:40ch}
.fimp{margin-top:54px;padding-top:26px;border-top:1px solid var(--line2);display:grid;gap:10px}
.fimp p{margin:0;font-size:.8125rem;line-height:1.7;color:var(--tx3);max-width:120ch}
.fimp b{font-family:var(--m);font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx2)}
.fb{margin-top:30px;padding-top:24px;border-top:1px solid var(--line2);display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:space-between;font-size:.8125rem;color:var(--tx3)}
.fb ul{display:flex;gap:22px;margin:-4px 0}.fb li{margin:0}
.fb a{font-size:.8125rem;color:var(--tx3)}

/* 404 */
.nf{padding:190px 0 120px}
.nf h1{max-width:14ch}

/* grid children must be allowed to shrink below min-content */
.hgrid>*,.evid>*,.stack>*,.phgrid>*,.cgrid>*,.closeg>*,.prof>*,.shead>*,.frow>*{min-width:0}
@media(max-width:860px){.role,.figcap,.formnote,label,.crumb,.legal .upd,footer h2,.mono,.lbl,.tag,.stamp,.hmeta,.figh,.legend,.metric dt,.facts dt,.cred dt,.rows dt,.band,.rtab{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
