/* Verysset - shared stylesheet
   Palette: Verysset yellow #FFD400 (hover #E6BF00), ink, near-white canvas. */
/* ---------- self-hosted typefaces ----------
   Clash Display (OTF, 3 weights) drives every display surface.
   Inter (variable TTF, 100-900 + optical size) drives body, UI and labels.
   No CDN, no webfont service: both families are served from assets/fonts/. */
@font-face{font-family:"Clash Display";src:url("fonts/ClashDisplay-Regular.otf") format("opentype");
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Clash Display";src:url("fonts/ClashDisplay-Medium.otf") format("opentype");
  font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Clash Display";src:url("fonts/ClashDisplay-Semibold.otf") format("opentype");
  font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Variable";
  src:url("fonts/Inter-Variable.ttf") format("truetype-variations"),
      url("fonts/Inter-Variable.ttf") format("truetype");
  font-weight:100 900;font-stretch:normal;font-style:normal;font-display:swap}
*,*::before,*::after{box-sizing:border-box}
:root{
  --yl:#FFD400;--yl-d:#E6BF00;--yl-w:#FFFBE6;--yl-l:#FFF3B0;
  --paper:#ffffff;--bg:#f8f8f8;--bg2:#f1f1ef;
  --ink:#111113;--ink2:#222226;--mid:#52525a;--muted:#74747c;--faint:#9b9ba2;
  --line:#e5e5e2;--line2:#d8d8d4;
  --pnl:#101216;--pnl2:#171a20;--pnl3:#1e222a;--pnlline:#2a2f39;--pnltx:#8c93a1;--pnltx2:#c8cdd6;
  --ok:#15a05a;
  --sans:"Inter Variable",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono","JetBrains Mono","Roboto Mono","Cascadia Mono",Menlo,Consolas,monospace;
  /* display = Clash Display, self-hosted. Medium 500 / Semibold 600 carry every heading. */
  --disp:"Clash Display","Inter Variable",-apple-system,Helvetica,Arial,sans-serif;
  --wrap:1220px;--gut:clamp(20px,5vw,52px);--sec:clamp(66px,8vw,116px);
  --r:3px;--navh:70px;
}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:86px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:16px;line-height:1.62;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;
  font-optical-sizing:auto;font-synthesis-weight:none;
  text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg{max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5{margin:0;font-weight:600;letter-spacing:-.03em;line-height:1.06;color:var(--ink)}
p{margin:0}
::selection{background:var(--yl);color:var(--ink)}
:focus-visible{outline:2px solid var(--yl-d);outline-offset:3px;border-radius:2px}
/* clip, not left:-9999px: an off canvas offset becomes 9999px of scroll once dir=rtl */
.skip{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);
  white-space:nowrap;background:var(--yl);color:var(--ink);padding:10px 16px;z-index:200;font-weight:600}
.skip:focus{position:fixed;left:8px;top:8px;width:auto;height:auto;overflow:visible;clip:auto;clip-path:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.sec{padding:var(--sec) 0}
.sec.tight{padding:clamp(46px,5.5vw,78px) 0}
.alt{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ink-band{background:#101216;color:#eceef2}
.ink-band h1,.ink-band h2,.ink-band h3,.ink-band h4{color:#fff}
.ink-band .lede{color:#a9aeb8}

/* ---------- type primitives ---------- */
.eb{display:inline-flex;align-items:center;gap:10px;font-size:10.5px;font-weight:700;
  letter-spacing:.17em;text-transform:uppercase;color:var(--ink)}
.eb::before{content:"";width:22px;height:3px;background:var(--yl);flex:none;border-radius:2px}
.eb.nb::before{display:none}
.ink-band .eb{color:#fff}
h2.t{font-size:clamp(28px,4.3vw,52px);letter-spacing:-.035em;margin-top:20px;max-width:19ch}
h2.t.w{max-width:27ch}
h3.t3{font-size:clamp(21px,2.4vw,30px);letter-spacing:-.03em}
.lede{margin-top:18px;max-width:64ch;font-size:clamp(15.5px,1.3vw,18px);color:var(--mid);line-height:1.66;letter-spacing:-.008em}
.mark{background:linear-gradient(180deg,transparent 58%,var(--yl) 58%);padding:0 2px}
.hr{height:1px;background:var(--line);border:0;margin:0}
.mono{font-family:var(--mono)}
/* ---------- display / technical type system ----------
   .display = Clash Display Semibold for showpiece headings and big numbers.
   .tech    = monospaced, wide-tracked uppercase for data fields, stage numbers, counters.
   Numerals everywhere in the panels are tabular so counters do not jitter while animating. */
.display{font-family:var(--disp);font-weight:600;letter-spacing:-.02em}
.tech{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.13em;text-transform:uppercase}
/* display headings: Clash Display Semibold, tracking pulled in a touch */
h1,h2,h3,h4,h5,h2.t,h3.t3,.mpan h3,.showhead h2,.ctab h2,.hero h1{font-family:var(--disp);font-weight:600}
/* Clash Display carries a very tight space (.154em); with display tracking the words
   fuse. Give every display heading a normal word gap so headlines stay readable. */
h1,h2,h3,h4,h5,h2.t,h3.t3,.mpan h3,.showhead h2,.ctab h2,.hero h1{word-spacing:.1em}
html[lang=zh] h1,html[lang=zh] h2,html[lang=zh] h3,html[lang=zh] h4,html[lang=zh] h5,
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] h4,html[lang=ar] h5{word-spacing:normal}

h1,.hero h1{letter-spacing:-.028em}
h2.t{font-weight:600;letter-spacing:-.03em}
/* eyebrows are UI labels, so Inter carries them */
.eb{font-family:var(--sans);font-weight:700;letter-spacing:.18em}
.ctr{text-align:center}
.ctr h2.t,.ctr .lede{margin-left:auto;margin-right:auto}
.ctr .eb::before{display:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 26px;border-radius:var(--r);border:1px solid var(--ink);background:var(--ink);
  color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;
  white-space:nowrap;line-height:1}
.btn:hover{background:var(--yl);border-color:var(--yl);color:var(--ink);transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(17,17,19,.6)}
/* translated labels run far longer than the English: let them wrap on a phone
   instead of setting a min-content floor wider than the viewport */
@media(max-width:560px){
  .btn{white-space:normal;text-align:center;line-height:1.3;padding:14px 20px;max-width:100%}
}
.btn:active{transform:translateY(0)}
.btn.sm{padding:11px 18px;font-size:10.5px;letter-spacing:.1em}
.btn.yl{background:var(--yl);border-color:var(--yl);color:var(--ink)}
.btn.yl:hover{background:var(--yl-d);border-color:var(--yl-d);color:var(--ink)}
.btn.gh{background:transparent;color:var(--ink);border-color:var(--line2)}
.btn.gh:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.ink-band .btn.gh,.ctab .btn.gh{color:#fff;border-color:#3a4049}
.ink-band .btn.gh:hover,.ctab .btn.gh:hover{background:var(--yl);border-color:var(--yl);color:var(--ink)}
.tl{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;
  color:var(--ink);border-bottom:2px solid var(--yl);padding-bottom:3px;
  transition:color .2s,border-color .2s;line-height:1}
.tl:hover{border-color:var(--yl-d)}
.tl .ar{transition:transform .22s}
.tl:hover .ar{transform:translateX(5px)}
.ink-band .tl{color:#fff}

/* ---------- scroll progress + nav ---------- */
.pbar{position:fixed;left:0;top:0;height:3px;background:var(--yl);z-index:120;width:var(--pg,0%);pointer-events:none}
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.72);
  backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);
  border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s,background .25s}
.nav.on{border-bottom-color:var(--line);box-shadow:0 1px 20px rgba(17,17,19,.06);background:rgba(255,255,255,.95)}
.nrow{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);height:var(--navh);display:flex;align-items:center;gap:16px}
.brand{display:flex;align-items:center;gap:10px;flex:none}
/* brand lockup: flat yellow square with its token unit + VERYSSET wordmark as outlines
   (assets/logo.svg, generated by logogen.py). The footer uses assets/logo-dark.svg. */
.blogo{display:block;height:32px;width:auto;flex:none}
@media(max-width:520px){.blogo{height:24px}}
.nmenu{display:flex;align-items:center;gap:clamp(10px,1.5vw,22px);margin:0 auto}
.nmenu a{font-size:12.5px;font-weight:500;color:var(--mid);position:relative;padding:7px 0;transition:color .2s;white-space:nowrap}
.nmenu a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--yl);transition:right .3s cubic-bezier(.2,.7,.2,1)}
.nmenu a:hover{color:var(--ink)}
.nmenu a:hover::after,.nmenu a.cur::after{right:0}
.nmenu a.cur{color:#0A0A09;font-weight:700;letter-spacing:-.005em}
.nact{flex:none;display:flex;align-items:center;gap:12px}
/* ---------- language control: icon only globe + native name listbox ----------
   The trigger is a real <button> (aria-haspopup=listbox). The panel is a light floating
   list of the six languages in their own scripts, checkmark on the active one. Positioned
   under the globe, right aligned (left aligned in RTL), nudged by site.js via --lx so it
   never leaves the viewport, down to 320px wide screens. */
.lang{position:relative;display:inline-flex;flex:none}
.lbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;margin:0;padding:0;border:1px solid var(--line2);border-radius:var(--r);
  background:transparent;color:var(--muted);font:inherit;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:border-color .2s,background .2s,box-shadow .2s,color .2s}
.lbtn:hover{border-color:var(--ink);background:var(--yl-w);color:var(--ink);
  box-shadow:0 0 0 3px rgba(255,212,0,.38),0 0 14px rgba(255,212,0,.35)}
.lbtn[aria-expanded=true]{border-color:var(--ink);background:var(--yl-w);color:var(--ink);
  box-shadow:0 0 0 3px rgba(255,212,0,.5)}
.lbtn:focus{outline:none}
.lbtn:focus-visible{border-color:var(--ink);color:var(--ink);
  box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink),0 0 0 7px rgba(255,212,0,.6)}
.lbtn .lgi{width:18px;height:18px;pointer-events:none;fill:none;stroke:currentColor;
  stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;
  transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.lbtn:hover .lgi{transform:rotate(20deg)}
/* tiny integrated chevron hint, bottom corner of the globe box */
.lbtn .lchev{position:absolute;right:3px;bottom:4px;width:7px;height:5px;pointer-events:none;
  fill:none;stroke:var(--faint);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;
  transition:transform .18s,stroke .2s}
.lbtn:hover .lchev,.lbtn[aria-expanded=true] .lchev{stroke:var(--ink)}
.lbtn[aria-expanded=true] .lchev{transform:rotate(180deg)}
/* a non English locale lights the mark, so the active choice is legible without a label */
html:not([lang=en]) .lbtn{color:var(--ink)}
html:not([lang=en]) .lbtn::after{content:"";position:absolute;top:5px;right:5px;width:5px;height:5px;
  border-radius:50%;background:var(--yl);box-shadow:0 0 0 2px #fff}
[dir=rtl] .lbtn .lchev{right:auto;left:3px}
html[dir=rtl]:not([lang=en]) .lbtn::after{right:auto;left:5px}
.lmenu{position:absolute;top:calc(100% + 8px);right:0;left:auto;z-index:130;
  margin:0;padding:5px;list-style:none;min-width:178px;max-width:calc(100vw - 16px);
  background:#F7F7F5;border:1px solid rgba(17,17,19,.07);border-radius:11px;
  box-shadow:0 4px 16px rgba(17,17,19,.12),0 1px 3px rgba(17,17,19,.06);
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translate3d(var(--lx,0px),-6px,0) scale(.97);transform-origin:top right;
  transition:opacity .16s ease,transform .18s cubic-bezier(.2,.7,.2,1),visibility 0s linear .18s}
.lang.open .lmenu{opacity:1;visibility:visible;pointer-events:auto;
  transform:translate3d(var(--lx,0px),0,0) scale(1);
  transition:opacity .16s ease,transform .18s cubic-bezier(.2,.7,.2,1),visibility 0s}
[dir=rtl] .lmenu{right:auto;left:0;transform-origin:top left}
.lmenu:focus{outline:none}
.lmenu li{display:flex;align-items:center;gap:10px;min-height:36px;margin:0;padding:0 16px 0 10px;
  border-radius:7px;cursor:pointer;user-select:none;-webkit-user-select:none;white-space:nowrap;
  font-family:var(--sans);font-size:14px;font-weight:450;line-height:1.2;letter-spacing:0;
  text-transform:none;color:#1a1a18;transition:background .12s,box-shadow .12s}
[dir=rtl] .lmenu li{padding:0 10px 0 16px}
.lmenu li:lang(zh){font-family:"Inter Variable","PingFang SC","Hiragino Sans GB","Microsoft YaHei",
  "Noto Sans CJK SC","Source Han Sans SC",system-ui,sans-serif}
.lmenu li:lang(ar){font-family:"Inter Variable","SF Arabic","Geeza Pro","Noto Naskh Arabic",
  "Noto Sans Arabic","Segoe UI",system-ui,sans-serif;font-size:14.5px}
.lmenu .lck{flex:none;width:13px;height:13px;fill:none;stroke:#1a1a18;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;visibility:hidden}
.lmenu li[aria-selected=true]{font-weight:600;color:#0A0A09}
.lmenu li[aria-selected=true] .lck{visibility:visible}
/* mouse: tint follows the pointer only. keyboard (.kbd, set by site.js): tint + ink ring on
   the active option. A mouse open therefore shows just the checkmark, like a native menu. */
@media(hover:hover){.lmenu li:hover{background:rgba(255,212,0,.17)}
  .lmenu li[aria-selected=true]:hover{background:rgba(17,17,19,.05)}}
.lmenu.kbd li.act{background:rgba(255,212,0,.17);box-shadow:inset 0 0 0 1.5px rgba(17,17,19,.6)}
.lmenu.kbd li[aria-selected=true].act{background:rgba(17,17,19,.05)}
@media(max-width:520px){.lbtn{width:34px;height:34px}.lbtn .lgi{width:16px;height:16px}
  .lbtn .lchev{right:2px;bottom:3px}.lmenu li{min-height:38px}}
@media(prefers-reduced-motion:reduce){
  .lmenu,.lang.open .lmenu{transition:none;transform:translate3d(var(--lx,0px),0,0)}
  .lbtn .lgi,.lbtn .lchev{transition:none}.lbtn:hover .lgi{transform:none}}

/* ---------- right to left (Arabic) ----------
   The document flips as a whole. Technical consoles, diagrams and logo walls stay left to
   right on purpose: they are ordered pipelines, not prose. */
[dir=rtl] .nmenu a::after{left:100%;right:0}
[dir=rtl] .nmenu a:hover::after,[dir=rtl] .nmenu a.cur::after{left:0}
[dir=rtl] .ar{display:inline-block;transform:scaleX(-1)}
[dir=rtl] .tl:hover .ar{transform:scaleX(-1) translateX(5px)}
[dir=rtl] .go span{display:inline-block;transform:scaleX(-1)}
[dir=rtl] .ttop{right:auto;left:18px}
[dir=rtl] .skip:focus{left:auto;right:8px}
[dir=rtl] .skip{left:auto;right:0}
[dir=rtl] .chip{border-left:0;border-right:1px solid var(--line)}
[dir=rtl] .chip:first-child{border-right:0}
[dir=rtl] .cl .dot{margin-right:0;margin-left:7px}
[dir=rtl] .card::after,[dir=rtl] .step::before{left:auto;right:0}
[dir=rtl] .step{padding-right:clamp(18px,2.2vw,32px);padding-left:0;border-right:0;border-left:1px solid var(--line)}
[dir=rtl] .step:last-child{border-left:0;padding-left:0}
[dir=rtl] .res,[dir=rtl] .neu{border-left:1px solid var(--line);border-right:4px solid var(--yl)}
[dir=rtl] .neu{border-left:0}
[dir=rtl] .s:hover{padding-left:0;padding-right:10px}
[dir=rtl] .mind{left:auto;right:0}
[dir=rtl] .mst{padding:16px 0 4px 16px;border-right:0;border-left:1px solid var(--line)}
[dir=rtl] .mst:last-child{border-left:0;padding-left:0}
[dir=rtl] .fq .pm{right:auto;left:0}
[dir=rtl] .fcol a:hover{padding-left:0;padding-right:5px}
[dir=rtl] .ppills,[dir=rtl] .pfoot .right,[dir=rtl] .wstat{margin-left:0;margin-right:auto}
[dir=rtl] .mcell .mu{margin-left:0;margin-right:3px}
[dir=rtl] .pill i{margin-right:0;margin-left:7px}
/* The map render keeps its left to right reading order, and its only empty area is on
   the left. Overlaying right aligned Arabic there leaves half of every line on the
   artwork, so in Arabic the stage stacks instead: copy panel first, map below it.
   Nothing overlaps, the whole diagram stays visible. */
[dir=rtl] .govstage{grid-template-rows:auto auto}
[dir=rtl] .govcopy{grid-area:1/1;width:auto;justify-self:stretch;direction:rtl;text-align:right;
  background:var(--pnl2);border-bottom:1px solid #23262c}
[dir=rtl] .gmapbox{grid-area:2/1}
[dir=rtl] .govcopy p{max-width:64ch}
/* the mono face has no Arabic and letter-spacing breaks Arabic joining */
html[lang=ar] .gnode text,html[lang=zh] .gnode text{font-family:var(--sans);letter-spacing:0;font-size:11px}
html[lang=ar] .gli,html[lang=zh] .gli{font-family:var(--sans);letter-spacing:0;text-transform:none;font-size:11.5px}
[dir=rtl] .gli{transform:translateX(10px)}
[dir=rtl] .gli.in{transform:none}
[dir=rtl] .showstat{right:auto;left:18px}
/* diagrams, consoles and the logo wall keep their reading order */
[dir=rtl] .procline .pbody,[dir=rtl] .mbal,[dir=rtl] .planet,[dir=rtl] .govstage,
[dir=rtl] .wtick,[dir=rtl] .pgrid,[dir=rtl] .frames{direction:ltr}
[dir=rtl] .mbal .ml,[dir=rtl] .wsc i{direction:rtl}
[dir=rtl] .addr,[dir=rtl] .ents{direction:rtl}
/* Clash Display carries Latin only and Inter Variable adds Cyrillic, so Chinese and Arabic
   fall back to the best system face on the reader's machine. No CDN, no 10 MB CJK webfont. */
html[lang=zh] body,html[lang=zh] h1,html[lang=zh] h2,html[lang=zh] h3,html[lang=zh] h4,
html[lang=zh] h5,html[lang=zh] .btn,html[lang=zh] .eb,html[lang=zh] .kn{
  font-family:"Inter Variable","PingFang SC","Hiragino Sans GB","Microsoft YaHei",
  "Noto Sans CJK SC","Source Han Sans SC",-apple-system,system-ui,sans-serif}
html[lang=ar] body,html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] h4,
html[lang=ar] h5,html[lang=ar] .btn,html[lang=ar] .eb,html[lang=ar] .kn{
  font-family:"Inter Variable","SF Arabic","Geeza Pro","Noto Naskh Arabic","Noto Sans Arabic",
  "Segoe UI",-apple-system,system-ui,sans-serif}
/* Arabic and Chinese sit better a little larger and with more line height than Inter's Latin */
html[lang=ar] body{font-size:16.5px}
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] h4,html[lang=ar] h5{line-height:1.4;letter-spacing:0}
html[lang=ar] .eb,html[lang=ar] .mono,html[lang=ar] .kn{letter-spacing:.04em}
html[lang=zh] h1,html[lang=zh] h2,html[lang=zh] h3{letter-spacing:.01em;line-height:1.28}
html[lang=zh] .eb,html[lang=zh] .kn,html[lang=zh] .mono{letter-spacing:.08em}
.burg{display:none;width:40px;height:40px;align-items:center;justify-content:center;
  border:1px solid var(--line2);border-radius:var(--r);background:transparent;cursor:pointer;flex:none}
.burg span{display:block;width:16px;height:1.5px;background:var(--ink);position:relative;transition:transform .24s}
.burg span::before,.burg span::after{content:"";position:absolute;left:0;width:16px;height:1.5px;background:var(--ink);transition:transform .24s,opacity .2s}
.burg span::before{top:-5px}.burg span::after{top:5px}
.burg.x span{transform:rotate(45deg)}
.burg.x span::before{opacity:0}
.burg.x span::after{transform:rotate(-90deg) translateX(5px)}
.drawer{display:none;border-top:1px solid var(--line);background:#fff;padding:6px var(--gut) 22px;max-height:78vh;overflow:auto}
.drawer.open{display:block}
.drawer a{display:block;padding:13px 0;font-size:15px;font-weight:500;border-bottom:1px solid var(--line)}
.drawer a.cur{color:#0A0A09;font-weight:700;border-bottom-color:var(--yl)}
.drawer .btn{margin-top:18px;width:100%}
@media(max-width:1180px){.nmenu{display:none}.burg{display:flex}.nact .btn{display:none}}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .30s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1)}
.rv.in{opacity:1;transform:none}
.rvx{opacity:0;transform:translateX(-12px);transition:opacity .28s ease-out,transform .30s cubic-bezier(.22,1,.36,1)}
.rvx.in{opacity:1;transform:none}
.clipr{clip-path:inset(0 100% 0 0);transition:clip-path .44s cubic-bezier(.22,1,.36,1)}
.clipr.in{clip-path:inset(0 0 0 0)}

/* ---------- page head ---------- */
.phead{padding:calc(var(--navh) + clamp(46px,6vw,86px)) 0 clamp(34px,4vw,56px);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.phead::before{content:"";position:absolute;inset:0;z-index:-1;background:none}
.phead h1{font-size:clamp(31px,5.2vw,66px);letter-spacing:-.04em;line-height:1.02;max-width:18ch}
.phead .lede{font-size:clamp(16px,1.5vw,19.5px);max-width:60ch}
.crumb{display:flex;gap:10px;align-items:center;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:22px}
.crumb b{color:var(--ink);font-weight:600}
.crumb i{width:14px;height:1px;background:var(--line2);display:block;font-style:normal}

/* ---------- hero (home) ---------- */
.hero{padding:calc(var(--navh) + clamp(56px,8vw,104px)) 0 clamp(44px,6vw,78px);text-align:center;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:none}
.hero .eb{margin-bottom:24px}
.hero h1{font-size:clamp(33px,6.4vw,82px);letter-spacing:-.042em;line-height:1.0;max-width:17ch;margin:0 auto}
.hero h1 em{font-style:normal;position:relative;white-space:nowrap}
/* "real world assets." underline: looping SVG bar (rwa.py, keyframes in the LOOPS block). Placed on the em,
   so it is always exactly the text width. The fill draws from its left edge; the markup is the drawn frame. */
.hero h1 .rwa-u{position:absolute;left:-2px;bottom:.07em;width:calc(100% + 4px);max-width:none;height:.22em;z-index:-1;overflow:visible;pointer-events:none}
.hero h1 .rwa-u .rwa-f{transform-origin:0 50%}
/* Arabic sits lower on the line and draws the other way */
[dir=rtl] .hero h1 .rwa-u{bottom:-.04em;height:.16em;transform:scaleX(-1)}
.hsub{margin:24px auto 0;max-width:60ch;font-size:clamp(15.5px,1.5vw,19px);color:var(--mid);line-height:1.6;letter-spacing:-.01em}
.hcta{margin-top:34px;display:flex;align-items:center;justify-content:center;gap:14px 24px;flex-wrap:wrap}
/* hero stats strip: three sections, hairline dividers, icon + number + label + one line caption */
.chips{margin:clamp(40px,5.5vw,70px) 0 0;padding:0;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.chip{display:flex;align-items:flex-start;gap:16px;min-width:0;text-align:start;
  padding:clamp(22px,2.6vw,34px) clamp(16px,2.4vw,34px);border-left:1px solid var(--line)}
.chip:first-child{border-left:0}
.cib{flex:none;display:grid;place-items:center;width:42px;height:42px;margin-top:-2px;border:1px solid var(--line2);border-radius:var(--r);
  background:var(--paper);color:var(--ink);transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease}
.ci{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.ci .acf{fill:var(--yl);transform-box:fill-box;transform-origin:center;transition:transform .15s ease}
.chip:hover .cib{border-color:var(--yl);background:var(--yl-w);box-shadow:0 0 0 4px rgba(255,212,0,.22),0 8px 20px -10px rgba(230,191,0,.9);transform:scale(1.06)}
.chip:hover .ci .acf{transform:scale(1.14)}
.cbd{flex:1;min-width:0}
.chip b{display:block;font-family:var(--disp);font-size:clamp(24px,2.7vw,34px);font-weight:600;letter-spacing:-.03em;line-height:1;
  color:var(--ink);font-variant-numeric:tabular-nums}
.chip b .u{font-family:var(--sans);font-size:.4em;font-weight:600;letter-spacing:.02em;color:var(--muted);margin-inline-start:5px;white-space:nowrap}
.cl{display:block;margin-top:10px;font-size:10px;font-weight:700;line-height:1.45;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.cc{margin-top:8px;font-size:13px;line-height:1.5;color:var(--mid);max-width:34ch}
html[lang=ar] .cl,html[lang=ar] .fstdl,html[lang=ar] .fbadge small{letter-spacing:0}
@media(max-width:1000px){
  .chip{flex-direction:column;align-items:center;text-align:center;gap:14px;padding:24px 14px}
  .cc{margin-inline:auto;font-size:12.5px}
}
@media(max-width:720px){
  .chips{grid-template-columns:1fr}
  .chip{flex-direction:row;align-items:flex-start;text-align:start;gap:16px;padding:20px 2px;border-left:0;border-top:1px solid var(--line)}
  [dir=rtl] .chip{border-right:0}
  .chip:first-child{border-top:0}
  .cc{margin-inline:0;max-width:46ch}
}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--yl);
  margin-right:7px;vertical-align:middle;animation:pl 2.4s ease-in-out infinite}
@keyframes pl{0%,100%{opacity:1}50%{opacity:.25}}
.hpar{will-change:transform;transform:translateY(var(--par,0px))}

/* ---------- grids / cards ---------- */
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(22px,3vw,42px)}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.7vw,24px)}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,1.7vw,24px)}
.g2b{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,80px);align-items:start}
.head-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(26px,5vw,70px);align-items:end}
.mt{margin-top:clamp(36px,4.6vw,64px)}
.mt2{margin-top:clamp(24px,3vw,38px)}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(22px,2.3vw,32px);position:relative;overflow:hidden;
  transition:border-color .28s,box-shadow .28s,transform .28s}
.card::after{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--yl);transition:width .45s cubic-bezier(.2,.7,.2,1)}
.card:hover{border-color:var(--line2);box-shadow:0 18px 44px -26px rgba(17,17,19,.28);transform:translateY(-3px)}
.card:hover::after{width:100%}
.card h3{font-size:clamp(18px,1.65vw,22px);letter-spacing:-.028em}
.card p{margin-top:11px;font-size:14.5px;color:var(--muted);line-height:1.6}
.card .rule{width:26px;height:3px;background:var(--yl);margin-bottom:18px;border-radius:2px}
.kcard{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,2.3vw,30px);
  transition:border-color .25s,box-shadow .25s,transform .25s}
.kcard:hover{border-color:var(--yl);box-shadow:0 16px 40px -26px rgba(17,17,19,.3);transform:translateY(-3px)}
.kcard .kn{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--faint);text-transform:uppercase}
.kcard h3{margin-top:14px;font-size:clamp(18px,1.7vw,23px)}
.kcard p{margin-top:10px;font-size:14px;color:var(--muted);line-height:1.6}
.kcard .go{margin-top:16px;display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.kcard .go span{transition:transform .22s}
.kcard:hover .go span{transform:translateX(5px)}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.step{padding:clamp(24px,3vw,38px) clamp(18px,2.2vw,32px) clamp(24px,3vw,38px) 0;border-right:1px solid var(--line);position:relative}
.step:last-child{border-right:0;padding-right:0}
.step::before{content:"";position:absolute;top:-2px;left:0;width:0;height:3px;background:var(--yl);transition:width .40s cubic-bezier(.22,1,.36,1) .04s}
.step.in::before{width:64px}
.step .sn{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.16em;color:var(--ink);text-transform:uppercase}
.step h3{margin-top:15px;font-size:clamp(19px,1.9vw,25px);letter-spacing:-.03em}
.step p{margin-top:11px;font-size:14.5px;color:var(--muted);line-height:1.6;max-width:36ch}
.res{margin-top:clamp(32px,4vw,52px);border:1px solid var(--line);border-left:4px solid var(--yl);border-radius:var(--r);
  background:#fff;padding:clamp(24px,3vw,38px) clamp(22px,3vw,42px);
  display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,44px);align-items:center}
.res .k{font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap}
.res p{font-size:clamp(16px,1.6vw,21px);color:var(--ink2);line-height:1.52;letter-spacing:-.02em;max-width:62ch}

/* ---------- engines ---------- */
.tcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,2.5vw,36px);
  display:flex;flex-direction:column;transition:border-color .28s,box-shadow .28s,transform .28s}
.tcard:hover{border-color:var(--yl);box-shadow:0 18px 46px -28px rgba(17,17,19,.32);transform:translateY(-4px)}
.tcard .thead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.ico{width:clamp(36px,3.4vw,44px);height:clamp(36px,3.4vw,44px);fill:none;stroke:var(--ink);
  stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:stroke .28s}
.tcard:hover .ico{stroke:var(--yl-d)}
.tcard .tn{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--faint)}
.tcard h3{margin-top:clamp(24px,3vw,40px);font-size:clamp(19px,1.85vw,24px);letter-spacing:-.03em}
.tcard p{margin-top:12px;font-size:14.5px;color:var(--muted);line-height:1.62}
.eshot{margin-top:20px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--bg)}
.eshot img{display:block;width:100%;height:auto;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.tcard:hover .eshot img{transform:scale(1.04)}

/* ---------- validation / services / actors ---------- */
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.v{background:var(--paper);padding:clamp(20px,2.2vw,30px);transition:background .26s}
.v:hover{background:var(--yl-w)}
.v .vm{width:8px;height:8px;background:var(--yl);border-radius:2px;margin-bottom:15px}
.v h4{font-size:15.5px;letter-spacing:-.022em;line-height:1.3}
.v p{margin-top:9px;font-size:13.5px;color:var(--muted);line-height:1.58}
.slist{border-top:1px solid var(--line)}
.s{display:grid;grid-template-columns:52px 1fr 1.15fr;gap:clamp(14px,2.4vw,40px);
  padding:clamp(18px,2.1vw,26px) 0;border-bottom:1px solid var(--line);align-items:baseline;transition:background .24s,padding-left .26s}
.s:hover{background:var(--yl-w);padding-left:10px}
.s .sn{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--faint)}
.s h4{font-size:clamp(16px,1.5vw,19.5px);letter-spacing:-.026em}
.s p{font-size:14px;color:var(--muted);line-height:1.58}
/* ---------- institutions & actors: stats, Big 4 audit, data pedigree, trust score ----------
   Flat surfaces only: hairlines, ink steps and one yellow accent for the verified band. */
.ia-lead{margin:0;max-width:32ch;font-family:var(--disp);font-weight:500;font-size:clamp(20px,2.1vw,27px);
  line-height:1.22;letter-spacing:-.022em;word-spacing:.08em;color:var(--ink)}
.ia-lead + .lede{margin-top:14px}
html[lang=zh] .ia-lead,html[lang=ar] .ia-lead{letter-spacing:0;word-spacing:normal;line-height:1.5}
.chips.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ia-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.8vw,22px);margin-top:clamp(28px,3.6vw,48px)}
.ia-card{display:flex;flex-direction:column;min-width:0;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);padding:clamp(22px,2.8vw,38px)}
.ia-card h3.t3{margin-top:14px;max-width:none}
.ia-aud{list-style:none;margin:clamp(22px,2.6vw,30px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ia-aud li{display:grid;place-items:center;min-width:0;min-height:66px;padding:10px 8px;border:1px solid var(--line2);
  border-radius:var(--r);background:var(--bg);font-family:var(--disp);font-weight:600;font-size:clamp(17px,1.55vw,21px);
  letter-spacing:-.01em;line-height:1;color:var(--ink);white-space:nowrap;transition:border-color .15s ease,background-color .15s ease}
.ia-aud li:hover{border-color:var(--ink);background:var(--paper)}
.ia-cap{margin-top:auto;padding-top:18px;font-size:14.5px;font-weight:600;line-height:1.5;color:var(--ink)}
.ia-note{margin-top:4px;font-size:13px;line-height:1.5;color:var(--muted)}
.ia-ped{list-style:none;margin:clamp(22px,2.6vw,30px) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(3,auto);grid-auto-flow:column;column-gap:clamp(14px,2vw,26px)}
.ia-ped li{position:relative;display:flex;align-items:center;gap:14px;min-height:44px;padding:7px 0}
.ia-ped li:not(:last-child)::after{content:"";position:absolute;inset-inline-start:15px;top:calc(50% + 15px);height:calc(100% - 30px);
  width:1px;background:var(--line2)}
.ia-ped li:nth-child(3)::after{display:none}
.ia-pn{flex:none;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line2);border-radius:50%;
  background:var(--paper);font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--mid);font-variant-numeric:tabular-nums}
.ia-ped li:last-child .ia-pn{background:var(--yl);border-color:var(--yl-d);color:var(--ink)}
.ia-pt{min-width:0;font-size:15px;font-weight:600;line-height:1.35;letter-spacing:-.01em;color:var(--ink)}
.ia-trust{margin-top:clamp(14px,1.8vw,22px)}
.ia-th{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(18px,4vw,60px);align-items:end}
.ia-th p{max-width:52ch;font-size:15px;line-height:1.6;color:var(--mid)}
.ia-band{list-style:none;margin:clamp(26px,3vw,40px) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 2px}
.ia-band li{display:flex;flex-direction:column;min-width:0}
.ia-bar{display:block;height:12px;margin-bottom:14px;background:var(--iac)}
.ia-band li:first-child .ia-bar{border-start-start-radius:4px;border-end-start-radius:4px}
.ia-band li:last-child .ia-bar{border-start-end-radius:4px;border-end-end-radius:4px}
.b-hold{--iac:#9b9ba2}.b-watch{--iac:#74747c}.b-std{--iac:#52525a}.b-prem{--iac:#222226}.b-ent{--iac:var(--yl)}
.ia-band .b-ent .ia-bar{height:18px;margin-top:-3px;margin-bottom:11px}
.ia-bn{padding-inline-end:6px;font-size:10.5px;font-weight:700;line-height:1.4;letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted);overflow-wrap:anywhere}
.b-ent .ia-bn{color:var(--ink)}
.ia-br{display:block;margin-top:6px;font-family:var(--disp);font-weight:600;font-size:clamp(18px,1.9vw,24px);line-height:1;
  letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;align-self:flex-start}
.ia-src{margin-top:clamp(26px,3vw,38px);padding-top:clamp(20px,2.4vw,28px);border-top:1px solid var(--line)}
.ia-srl{display:block;font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
/* verification modes: three groups, every mode = icon tile + name + one line description */
.ia-mg{margin-top:clamp(16px,2vw,22px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6vw,36px)}
.ia-mgp{min-width:0}
h4.ia-mgh{display:flex;align-items:baseline;gap:10px;margin:0;padding-bottom:11px;border-bottom:1px solid var(--ink);
  font-family:var(--sans);font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.14em;word-spacing:normal;
  text-transform:uppercase;color:var(--ink)}
.ia-mgn{flex:none;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.04em;color:var(--yl-d)}
.ia-ml{list-style:none;margin:0;padding:0}
.ia-ml li{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:13px 0;border-bottom:1px solid var(--line)}
.ia-mi{flex:none;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line2);border-radius:var(--r);
  background:var(--bg);color:var(--ink);transition:border-color .15s ease,background-color .15s ease}
.ia-mi .ci{width:19px;height:19px}
.ia-ml li:hover .ia-mi{border-color:var(--yl-d);background:var(--yl-w)}
.ia-ml li:hover .ci .acf{transform:scale(1.14)}
.ia-mt{flex:1;min-width:0;padding-top:1px}
.ia-mt b{display:block;font-size:13.5px;font-weight:600;line-height:1.35;letter-spacing:-.005em;color:var(--ink)}
.ia-md{display:block;margin-top:3px;font-size:12.5px;line-height:1.45;color:var(--muted)}
html[lang=ar] h4.ia-mgh{letter-spacing:0}
html[lang=zh] h4.ia-mgh{letter-spacing:.06em}
html[lang=ar] .ia-bn,html[lang=ar] .ia-srl{letter-spacing:0}
html[lang=zh] .ia-bn,html[lang=zh] .ia-srl{letter-spacing:.06em}
@media(max-width:1000px){
  .chips.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chips.c4 .chip:nth-child(odd){border-left:0}
  [dir=rtl] .chips.c4 .chip:nth-child(odd){border-right:0}
  .chips.c4 .chip:nth-child(n+3){border-top:1px solid var(--line)}
  .ia-mg{grid-template-columns:1fr}
  .ia-ml{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(18px,3vw,32px)}
}
@media(max-width:880px){
  .ia-grid,.ia-th{grid-template-columns:1fr}
  .ia-th{align-items:start}
}
@media(max-width:720px){
  .chips.c4{grid-template-columns:1fr}
}
@media(max-width:640px){
  .ia-aud{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ia-band{display:flex;flex-direction:column-reverse}
  .ia-band li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}
  .ia-band li:last-child{border-top:0}
  .ia-band li .ia-bar,.ia-band li:first-child .ia-bar,.ia-band li:last-child .ia-bar{height:10px;margin:0;border-radius:2px}
  .ia-band li.b-ent .ia-bar{height:16px;margin:0}
  .ia-ped{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}
  .ia-ped li:nth-child(3)::after{display:block}
  .ia-bn{padding-inline-end:0}
  .ia-br{margin-top:0;font-size:19px;align-self:center}
  .ia-ml{grid-template-columns:1fr}
}

/* ---------- markets ---------- */
.mk{display:grid;grid-template-columns:minmax(280px,.82fr) 1.18fr;gap:clamp(24px,3.6vw,60px);align-items:start}

/* LEFT: vertical numbered index, thin separators, yellow bar on the active row */
.mlist{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line2);position:relative}
.mb{appearance:none;background:none;border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;
  padding:14px 12px 14px 18px;font:inherit;font-size:14.5px;color:var(--muted);display:flex;align-items:center;gap:14px;
  transition:color .2s,background .2s,padding-left .24s;position:relative;font-family:var(--sans)}
.mb .mi{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--faint);flex:none;width:20px;
  font-variant-numeric:tabular-nums;transition:color .2s}
.mb .mbt{flex:1 1 auto;min-width:0;letter-spacing:-.008em}
.mb:hover{color:var(--ink2);background:var(--bg)}
.mb:hover .mi{color:var(--mid)}
.mb[aria-selected=true]{color:#0A0A09;font-weight:700}
.mb[aria-selected=true] .mi{color:#0A0A09;font-weight:700}
.mind{position:absolute;left:0;width:3px;background:var(--yl);border-radius:0;top:0;height:0;
  transition:transform .34s cubic-bezier(.2,.7,.2,1),height .34s cubic-bezier(.2,.7,.2,1)}
/* ---------- fixed mandate marks (12 hand-authored inline SVGs, no icon library) ---------- */
.mic{width:24px;height:24px;flex:none;display:block;fill:none;stroke:var(--faint);stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round;transition:stroke .24s ease,transform .24s cubic-bezier(.22,1,.36,1)}
.mb .mic{flex:none;width:19px;height:19px}
.mb:hover .mic{stroke:var(--ink2)}
.mb[aria-selected=true] .mic{stroke:var(--yl-d);transform:scale(1.06)}
.mkic{display:block;line-height:0;margin-bottom:18px}
.mkic .mic.big{width:40px;height:40px;stroke:var(--yl-d);stroke-width:1.35}
.mkic.sm{margin-bottom:14px}
.mkic.sm .mic{width:26px;height:26px;stroke:var(--ink2);stroke-width:1.4}
.card:hover .mkic.sm .mic{stroke:var(--yl-d)}

/* RIGHT: content panel, yellow top rule, Clash Display title, stat blocks */
.mpan{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--yl);border-radius:var(--r);
  padding:clamp(26px,3vw,44px);position:sticky;top:calc(var(--navh) + 20px);min-height:340px;
  display:flex;flex-direction:column;justify-content:space-between}
.mk-eb{font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}
.mpan h3{margin-top:12px;font-size:clamp(23px,2.5vw,34px);letter-spacing:-.032em;color:#0A0A09}
.mpan p{margin-top:15px;font-size:15.5px;color:var(--mid);line-height:1.66;max-width:52ch}
.mstats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(26px,3vw,38px);
  border-top:1px solid var(--line)}
.mst{padding:16px 16px 4px 0;border-right:1px solid var(--line)}
.mst:last-child{border-right:0;padding-right:0}
.mst b{display:block;font-family:var(--disp);font-weight:600;font-size:clamp(15px,1.5vw,19px);
  letter-spacing:-.02em;color:#0A0A09;line-height:1.16}
.mst i{display:block;margin-top:7px;font-style:normal;font-size:11px;line-height:1.42;color:var(--muted);
  letter-spacing:.005em}
.mfoot{margin-top:26px;display:flex;align-items:center;gap:12px;font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.mfoot i{display:block;width:26px;height:3px;background:var(--yl);border-radius:2px}

/* mobile: the index collapses into a horizontally scrolling row of numbered chips */
@media(max-width:900px){
  .mk{grid-template-columns:1fr;gap:22px}
  .mlist{display:flex;grid-template-columns:none;overflow-x:auto;overflow-y:hidden;gap:8px;
    border-top:0;padding:2px 0 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
    scrollbar-width:thin}
  .mlist::-webkit-scrollbar{height:3px}
  .mlist::-webkit-scrollbar-thumb{background:var(--line2);border-radius:3px}
  .mind{display:none}
  .mb{flex:0 0 auto;scroll-snap-align:center;border:1px solid var(--line2);border-radius:999px;
    padding:10px 16px;font-size:13px;gap:9px;white-space:nowrap;background:var(--paper)}
  .mb:hover{padding-left:16px}
  .mb .mic{display:none}
  .mb[aria-selected=true]{background:var(--yl);border-color:var(--yl);color:#0A0A09}
  .mb[aria-selected=true] .mi{color:#0A0A09}
  .mstats{grid-template-columns:1fr 1fr}
  .mst:nth-child(2){border-right:0}
  .mst:nth-child(3){border-top:1px solid var(--line)}
}
@media(max-width:460px){
  .mstats{grid-template-columns:1fr}
  .mst{border-right:0;border-top:1px solid var(--line)}
  .mst:first-child{border-top:0}
}
/* contact address link */
.mailto{font-family:var(--mono);font-size:14px;letter-spacing:-.01em;color:var(--ink);
  border-bottom:2px solid var(--yl);padding-bottom:2px;transition:border-color .2s,color .2s}
.mailto:hover{border-color:var(--yl-d);color:var(--yl-d)}
.fade{animation:fd .42s cubic-bezier(.2,.7,.2,1)}
@keyframes fd{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- legal "no" cards ---------- */
.no{border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,2.2vw,30px);background:var(--paper);transition:border-color .25s,transform .25s,box-shadow .25s}
.no:hover{border-color:var(--yl);transform:translateY(-3px);box-shadow:0 16px 40px -28px rgba(17,17,19,.3)}
.no .nx{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;
  background:var(--yl);color:var(--ink);font-family:var(--mono);font-size:11px;font-weight:700;margin-bottom:16px;letter-spacing:0}
.no h4{font-size:16.5px;letter-spacing:-.024em}
.no p{margin-top:10px;font-size:13.8px;color:var(--muted);line-height:1.58}
.neu{margin-top:clamp(28px,3vw,42px);padding:clamp(22px,2.4vw,32px);border-left:4px solid var(--yl);background:var(--bg);
  font-size:clamp(15px,1.5vw,18px);color:var(--ink2);line-height:1.6;letter-spacing:-.015em;border-radius:0 var(--r) var(--r) 0}
.frames{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.fr{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line2);
  border-radius:999px;padding:8px 14px;color:var(--mid);background:var(--paper);transition:border-color .2s,background .2s,color .2s}
.fr:hover{border-color:var(--yl);background:var(--yl-w);color:var(--ink)}
.addr{font-size:14px;color:var(--muted);line-height:1.75}
.addr b{display:block;color:var(--ink);font-weight:600;margin-bottom:6px}
.jshot{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--bg)}
.jshot img{display:block;width:100%;height:auto}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line)}
.fi{border-bottom:1px solid var(--line)}
.fq{width:100%;appearance:none;background:none;border:0;cursor:pointer;font:inherit;text-align:left;
  padding:clamp(18px,2vw,26px) 44px clamp(18px,2vw,26px) 0;display:flex;align-items:flex-start;justify-content:space-between;
  gap:20px;position:relative;color:var(--ink);font-size:clamp(16px,1.5vw,19px);font-weight:600;letter-spacing:-.024em;line-height:1.4;
  transition:color .2s}
.fq:hover{color:var(--ink)}
.fq .pm{position:absolute;right:0;top:50%;transform:translateY(-50%);width:20px;height:20px;flex:none}
.fq .pm::before,.fq .pm::after{content:"";position:absolute;background:var(--ink);transition:transform .3s cubic-bezier(.2,.7,.2,1),background .2s}
.fq .pm::before{left:0;top:9px;width:20px;height:2px}
.fq .pm::after{left:9px;top:0;width:2px;height:20px}
.fq[aria-expanded=true] .pm::after{transform:rotate(90deg)}
.fq[aria-expanded=true] .pm::before,.fq[aria-expanded=true] .pm::after{background:var(--yl-d)}
.fa{max-height:0;overflow:hidden;transition:max-height .42s cubic-bezier(.2,.7,.2,1)}
.fa p{padding:0 60px clamp(20px,2.2vw,28px) 0;font-size:15px;color:var(--mid);line-height:1.68;max-width:76ch}

/* ---------- partners (single grid, colour on hover) ---------- */
/* 60 tracks: divisible by the 5 / 3 / 2 column layouts AND by any short last row (1 to 4 cells),
   so build.py can stretch that row (pl-d* desktop, pl-t* tablet) and no empty gray track remains. */
.pgrid{margin-top:clamp(34px,4vw,56px);display:grid;grid-template-columns:repeat(60,minmax(0,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.pcell{grid-column:span 12;background:var(--paper);min-height:132px;display:flex;align-items:center;justify-content:center;
  padding:26px 22px;position:relative;transition:background .3s}
.pcell::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--yl);transform:scaleX(0);transform-origin:left;transition:transform .36s cubic-bezier(.2,.7,.2,1)}
.pcell:hover{background:#fff}
.pcell:hover::after{transform:scaleX(1)}
/* One <img> in a fixed contain-box: every aspect ratio (square mark or long wordmark)
   lands legibly on white. Rest = desaturated, hover = full brand colour. Filters only,
   no mask compositing, so the mark can never render blank. */
.pw{position:relative;display:block;width:100%;max-width:172px;height:52px}
.plogo{display:block;width:100%;height:100%;object-fit:contain;object-position:center;
  filter:grayscale(1) contrast(.95) opacity(.55);
  transition:filter .30s ease,transform .30s cubic-bezier(.22,1,.36,1)}
.pcell:hover .plogo,.pcell:focus-visible .plogo{filter:grayscale(0) contrast(1) opacity(1);transform:scale(1.05)}
.pname{position:absolute;left:14px;bottom:10px;font-family:var(--mono);font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--faint);opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s}
.pcell:hover .pname{opacity:1;transform:none}
.pl-d1{grid-column:span 60}.pl-d2{grid-column:span 30}.pl-d3{grid-column:span 20}.pl-d4{grid-column:span 15}
/* invitation cell that closes the grid: 17 partners, then its own full width row on desktop and
   tablet; inline beside the odd last partner on mobile (see partner_grid() in build.py) */
.pjoin{grid-column:1/-1}
.pjt{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.pje{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.pjh{font-family:var(--disp,var(--sans));font-size:16px;font-weight:600;color:var(--ink);line-height:1.2}
.pja{font-style:normal;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:var(--yl);color:var(--ink);font-size:14px;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.pjoin:hover .pja,.pjoin:focus-visible .pja{transform:translateX(4px)}
[dir=rtl] .pje{font-family:var(--sans);letter-spacing:0;font-size:11px}
[dir=rtl] .pja{transform:scaleX(-1)}
[dir=rtl] .pjoin:hover .pja{transform:scaleX(-1) translateX(4px)}
@media(max-width:1000px){
  .pcell,.pl-d1,.pl-d2,.pl-d3,.pl-d4{grid-column:span 20}
  .pl-t1{grid-column:span 60}.pl-t2{grid-column:span 30}
  .pjoin{grid-column:1/-1}
}
@media(max-width:600px){
  .pcell,.pl-d1,.pl-d2,.pl-d3,.pl-d4,.pl-t1,.pl-t2{grid-column:span 30}
  .pcell{min-height:104px;padding:18px 14px}
  .pw{height:44px}
  .pjoin{grid-column:span 30;min-height:88px}
  .pjoin.pj-row{grid-column:1/-1}
  .pjt{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px 12px}
  .pje{flex-basis:100%}
  .g4.plane{grid-template-columns:1fr}
}

/* ---------- contact form ---------- */
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fld{display:flex;flex-direction:column;gap:8px}
.fld.full{grid-column:1/-1}
.fld label{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.fld input,.fld textarea{font:inherit;font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--line2);
  border-radius:var(--r);padding:13px 14px;transition:border-color .2s,box-shadow .2s}
.fld textarea{min-height:124px;resize:vertical}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--yl);box-shadow:0 0 0 3px rgba(255,212,0,.28)}
.note{grid-column:1/-1;display:none;align-items:center;gap:10px;font-size:14px;color:var(--ink);
  background:var(--yl-w);border:1px solid var(--yl);border-radius:var(--r);padding:14px 16px}
.note.show{display:flex}
.note svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- CTA band ---------- */
.ctab{background:var(--ink);color:#fff;border-radius:var(--r);padding:clamp(32px,4.4vw,64px);
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,4vw,56px);align-items:center}
.ctab>*{min-width:0}
.ctab h2{color:#fff;font-size:clamp(24px,3.2vw,40px);letter-spacing:-.035em;max-width:20ch}
.ctab p{margin-top:14px;color:#a9aeb8;font-size:15.5px;line-height:1.6;max-width:52ch}
.ctab .acts{display:flex;flex-direction:column;gap:12px;min-width:0}

/* ================= DARK DATA PANELS (process lines) ================= */
.panel{background:var(--pnl);border:1px solid var(--pnlline);border-radius:6px;overflow:hidden;color:var(--pnltx2);
  box-shadow:0 30px 80px -50px rgba(0,0,0,.7)}
.pbarhead{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--pnlline);background:var(--pnl2)}
.ptitle{font-family:var(--disp);font-size:14px;font-weight:600;letter-spacing:.1em;color:#fff;text-transform:uppercase}
.plot{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--pnltx)}
.ppills{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pill{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;padding:5px 10px;border-radius:999px;
  border:1px solid var(--pnlline);color:var(--pnltx);display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.pill.live{border-color:rgba(255,212,0,.45);color:var(--yl)}
.pill.live i{width:6px;height:6px;border-radius:50%;background:var(--yl);animation:pl 1.8s ease-in-out infinite}
.pill.on{border-color:rgba(21,160,90,.5);color:#5fd39a}
.pill.on i{width:6px;height:6px;border-radius:50%;background:#2ec27e}
.pbody{padding:8px 6px 0}
.pbody svg{display:block;width:100%;height:auto}
.pfoot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--pnlline);
  background:var(--pnl2);font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#6d7482}
.pfoot .right{margin-left:auto}
/* mass-balance strip */
.mbal{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:1px;background:var(--pnlline);
  border-top:1px solid var(--pnlline);border-bottom:1px solid var(--pnlline)}
.mcell{background:var(--pnl);padding:14px 16px;transition:background .4s ease}
.mcell.lit{background:var(--pnl3)}
.mcell .ml{font-family:var(--mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#6d7482}
.mcell .mv{margin-top:7px;font-family:var(--mono);font-size:18px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.mcell.lit .mv{color:var(--yl)}
.mcell .mu{font-size:.6em;color:var(--pnltx);margin-left:3px;font-weight:400}
/* svg atoms inside panels */
.pn-box{fill:#161a21;stroke:#39404c;stroke-width:1.4;transition:fill .45s ease,stroke .45s ease}
.pn.lit .pn-box{fill:#2a2404;stroke:var(--yl)}
.pn-ic{fill:none;stroke:#59616f;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:stroke .45s ease}
.pn.lit .pn-ic{stroke:var(--yl)}
.pn-t{font-family:var(--disp);font-size:13px;font-weight:600;letter-spacing:.075em;fill:#757d8b;transition:fill .45s ease}
.pn.lit .pn-t{fill:#fff}
.pn-s{font-family:var(--mono);font-size:8.6px;letter-spacing:.08em;fill:#5b6371;transition:fill .45s ease}
.pn.lit .pn-s{fill:#9aa2b1}
.seg{fill:none;stroke:#333a45;stroke-width:2;transition:stroke .45s ease}
.seg.lit{stroke:var(--yl)}
.axis{fill:none;stroke:#2a2f39;stroke-width:1}
.tick{font-family:var(--mono);font-size:8px;letter-spacing:.08em;fill:#5b6371}
.flowpath{fill:none;stroke:var(--yl);stroke-width:2.4;stroke-linecap:round}
.flowbase{fill:none;stroke:#2e3540;stroke-width:2.4;stroke-linecap:round}
.pulse{fill:var(--yl)}
.pulse-h{fill:rgba(255,212,0,.22)}

/* ---------- pinned showcase ---------- */
.showwrap{position:relative;height:480vh;background:var(--pnl)}
.showstage{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;
  align-items:center;justify-content:center;background:var(--pnl);
  background-image:none}
.showstage .grid{position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px);
  background-size:52px 52px;transform:translateY(var(--gy,0px))}
.showin{position:relative;z-index:3;width:min(1180px,92vw);max-height:92vh;display:flex;flex-direction:column;gap:14px}
.showhead{text-align:center;transform:translateY(var(--hy,0px));opacity:var(--hop,1)}
.showhead .eb{color:#fff}
.showhead .eb::before{background:var(--yl)}
.showhead h2{color:#fff;font-size:clamp(21px,2.7vw,36px);letter-spacing:-.035em;margin-top:12px}
.showhead p{margin-top:10px;color:#9aa2b1;font-size:14.5px;max-width:60ch;margin-left:auto;margin-right:auto}
.showcue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:9px;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#6d7482;opacity:var(--cue,1);pointer-events:none}
.showcue i{display:block;width:1px;height:16px;background:linear-gradient(180deg,transparent,#6d7482)}
.showstat{position:absolute;right:18px;top:18px;z-index:4;font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--yl);border:1px solid rgba(255,212,0,.4);border-radius:999px;padding:6px 12px}
@media(max-width:820px){.showwrap{height:auto}.showstage{position:static;height:auto;padding:72px 0}
  .showin{max-height:none;width:min(1180px,92vw)}.showcue{display:none}}

/* ---------- governance map ---------- */
/* The stage is a one cell grid: the map box and the copy share cell 1/1, so the row
   grows to whichever is taller. The copy is never clipped, in any language.
   The map box then STRETCHES to that row height instead of floating centred in it,
   so the copy panel always sits on artwork and never on bare stage background.
   ::before carries the artwork ratio, which keeps the row at least as tall as the
   map would naturally be; the image fills the box with object-fit:cover anchored
   right, so the only thing ever cropped is the empty left third of the render.
   The overlay svg is sized to the very same scaled box (height:100% + the identical
   1289/357 ratio, pinned right), so every node label stays on its geography. */
.govstage{position:relative;border-radius:6px;overflow:clip;background:#0c0d10;border:1px solid #23262c;isolation:isolate;
  display:grid;grid-template-columns:minmax(0,1fr)}
.gmapbox{grid-area:1/1;position:relative;align-self:stretch;min-width:0;overflow:clip}
.gmapbox::before{content:"";display:block;width:100%;aspect-ratio:1289/357}
.govstage img.gmap{position:absolute;inset:0;display:block;width:100%;height:100%;
  object-fit:cover;object-position:100% 50%;filter:hue-rotate(14deg) saturate(1.2) brightness(1.02)}
.govsvg{position:absolute;top:0;right:0;left:auto;height:100%;width:auto;max-width:none;
  aspect-ratio:1289/357;z-index:2}
.govcopy{grid-area:1/1;position:relative;justify-self:start;width:clamp(280px,46%,580px);max-width:100%;min-width:0;
  z-index:3;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(18px,2.6vw,40px);overflow-wrap:anywhere;
  background:linear-gradient(90deg,rgba(12,13,16,.97) 0%,rgba(12,13,16,.95) 82%,rgba(12,13,16,0) 100%)}
.govcopy .eb{color:#fff}
.govcopy h3{color:#fff;font-size:clamp(17px,1.75vw,26px);line-height:1.22;letter-spacing:-.03em;margin-top:10px}
.govcopy p{margin-top:10px;color:#9aa2b1;font-size:13.5px;line-height:1.55;max-width:44ch}
.glegend{margin-top:16px;display:flex;flex-direction:column;gap:8px}
.gli{display:flex;align-items:flex-start;gap:10px;font-family:var(--mono);font-size:10px;line-height:1.45;letter-spacing:.09em;
  text-transform:uppercase;
  color:#6d7482;opacity:0;transform:translateX(-10px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.gli.in{opacity:1;transform:none;color:#c8cdd6}
.gli b{width:9px;height:9px;border-radius:2px;background:var(--yl);flex:none;margin-top:.32em}
.gli b.o{background:transparent;border:1.5px solid var(--yl)}
.gnode circle.gr{fill:none;stroke:var(--yl);stroke-width:1.4;opacity:0;transition:opacity .5s ease,r .5s cubic-bezier(.2,.7,.2,1)}
.gnode.in circle.gr{opacity:.85}
.gnode circle.gd{fill:var(--yl);opacity:0;transition:opacity .45s ease}
.gnode.in circle.gd{opacity:1}
.gnode text{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;fill:#eef1f5;opacity:0;
  paint-order:stroke fill;stroke:rgba(8,9,11,.78);stroke-width:2.6px;stroke-linejoin:round;
  transition:opacity .5s ease .12s}
.gnode.in text{opacity:1}
.gwire{fill:none;stroke:var(--yl);stroke-width:1.5;stroke-linecap:round;opacity:.9}
.gwire.dim{stroke:#4a515d;opacity:.8}
@media(max-width:1080px){
  /* the wide map is short: below this the copy stops overlaying it and stacks above */
  .govstage{grid-template-rows:auto auto}
  .govcopy{grid-area:1/1;width:auto;justify-self:stretch;background:var(--pnl2);border-bottom:1px solid #23262c}
[dir=rtl] .govcopy{justify-self:stretch;background:var(--pnl2)}
  .gmapbox{grid-area:2/1}
}
@media(max-width:520px){
  .govcopy p{font-size:13px}
  .gli{font-size:9.5px;letter-spacing:.06em}
}

/* ---------- misc ---------- */
.ttop{position:fixed;right:18px;bottom:18px;z-index:110;width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);
  background:rgba(255,255,255,.95);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;
  opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .3s,transform .3s,background .2s,border-color .2s;
  box-shadow:0 8px 26px -14px rgba(17,17,19,.45)}
.ttop.on{opacity:1;transform:none;pointer-events:auto}
.ttop:hover{background:var(--yl);border-color:var(--yl)}
.ttop svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pgnav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(40px,5vw,70px);border-top:1px solid var(--line);padding-top:28px}
.pgnav a{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r);transition:border-color .2s,background .2s,transform .2s}
.pgnav a:hover{border-color:var(--yl);background:var(--yl-w);transform:translateY(-2px)}
.pgnav .pl{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.pgnav .pt{font-size:16.5px;font-weight:600;letter-spacing:-.02em}
.pgnav a.next{text-align:right;align-items:flex-end}

/* ---------- footer ---------- */
footer{background:var(--ink);color:#9aa0a8;padding:clamp(48px,6vw,80px) 0 32px;font-size:14px}
footer .brand{margin-bottom:34px}
footer .blogo{height:44px}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(24px,3.5vw,52px)}
.fgrid p{line-height:1.7;max-width:40ch}
.ents{margin-top:16px;font-size:12.5px;color:#6f757d;line-height:1.75}
.fcol h5{font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:16px}
.fcol a{display:block;padding:6px 0;font-size:13.5px;color:#9aa0a8;transition:color .2s,padding-left .2s}
.fcol a:hover{color:var(--yl);padding-left:5px}
.fbot{margin-top:clamp(38px,5vw,64px);padding-top:24px;border-top:1px solid #26272b;display:flex;flex-wrap:wrap;gap:12px 28px;
  justify-content:space-between;align-items:center;font-size:11.5px;color:#6f757d}
/* standards badges: alignment, not certification. Text badges only, no ISO marks. */
.fstd{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.fstdl{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#8a9099}
.fbadges{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.fbadge{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  white-space:nowrap;border:1px solid #33353b;border-radius:999px;padding:7px 12px 7px 10px;color:#c8cdd6;
  transition:border-color .15s ease,background-color .15s ease,color .15s ease}
.fbadge small{font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:none;color:#80868f;
  padding-inline-start:7px;border-inline-start:1px solid #33353b}
.fbadge:hover{border-color:var(--yl);background:rgba(255,212,0,.08);color:#fff}
.fbadge:hover small{color:#c8cdd6}
.fbi{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fbi .acf{fill:var(--yl);stroke:var(--yl)}
/* legal disclaimer: authoritative English on every locale, always the last block */
.fdisc{margin-top:22px;padding-top:20px;border-top:1px solid #26272b;text-align:left}
.fdisc p{margin:0;font-size:11px;line-height:1.6;color:#868c95;overflow-wrap:break-word}

/* ================= PLANET MAP - GEO SENTINEL ORBITAL SWEEP ================= */
.planetsec{position:relative;background:var(--bg);overflow:hidden}
.planetsec::before{content:"";position:absolute;inset:-10% -20% auto;height:60%;pointer-events:none;
  background:none}
.planetsec .wrap{position:relative;z-index:2}
.panel.planet .pbody{padding:0}

/* map stage */
.wmap{position:relative;line-height:0;background:#08090c;
  background-image:none}
.wmap svg{display:block;width:100%;height:auto;overflow:visible}

/* graticule + land lattice */
.wgrat{fill:none;stroke:rgba(255,255,255,.045);stroke-width:.6}
.weq{fill:none;stroke:rgba(255,212,0,.12);stroke-width:.6;stroke-dasharray:3 4}
.wland{fill:#2f3641;shape-rendering:crispEdges}
.whot{fill:#6b5a12;shape-rendering:crispEdges;transition:fill .8s ease}
.planet.hot .whot{fill:#9d8415}

/* orbit trail */
.worbit{fill:none;stroke:rgba(255,255,255,.10);stroke-width:.7;stroke-dasharray:2.5 3.5}
.worbitlit{fill:none;stroke:rgba(255,212,0,.55);stroke-width:.9;stroke-linecap:round}

/* scan beam */
.wcone{fill:url(#wbeam);stroke:none}
.wcore{fill:none;stroke:#FFD400;stroke-width:.9;stroke-linecap:round;
  filter:drop-shadow(0 0 2px rgba(255,212,0,.85))}
.whit{fill:none;stroke:#FFD400;stroke-width:.8;opacity:.8}

/* nodes */
.wn{opacity:0;transition:opacity .55s ease}
.wn.on{opacity:1}
.wglow{opacity:0;transition:opacity .7s ease}
.wn.ok .wglow{opacity:1}
.wring{fill:none;stroke:rgba(255,255,255,.30);stroke-width:.9;transition:stroke .5s ease,stroke-width .5s ease}
.wn.ok .wring{stroke:rgba(255,212,0,.85);stroke-width:1.1}
.wret{fill:none;stroke:rgba(255,255,255,.22);stroke-width:.8;stroke-linecap:round;transition:stroke .5s ease}
.wn.ok .wret{stroke:rgba(255,212,0,.6)}
.wdot{fill:#7d8694;transition:fill .45s ease}
.wn.ok .wdot{fill:#FFD400}
.wn.sens .wdot{fill:#9aa4b3}
.wping{fill:none;stroke:#FFD400;stroke-width:1.2;opacity:0}
.wn.ping .wping{animation:wping .95s cubic-bezier(.16,1,.3,1) 1}
@keyframes wping{0%{transform:scale(.45);opacity:.95}100%{transform:scale(3.1);opacity:0}}
.wrip{fill:none;stroke:rgba(255,212,0,.55);stroke-width:.9;opacity:0}
.wn.on .wrip{animation:wrip 3.3s ease-out infinite}
@keyframes wrip{0%{transform:scale(.45);opacity:.7}65%{opacity:.06}100%{transform:scale(3.2);opacity:0}}

/* satellite */
.sat{transition:opacity .5s ease}
.satpan{fill:#1d2530;stroke:#4d5a6b;stroke-width:.6}
.satarm{fill:none;stroke:#6b7889;stroke-width:.7}
.satcore{fill:#111319;stroke:#FFD400;stroke-width:.9}
.satant{fill:none;stroke:#8a97a8;stroke-width:.7}
.satled{fill:#FFD400;animation:pl 1.5s ease-in-out infinite}
.satdish{fill:#FFD400;fill-opacity:.75}
.satlens{fill:#FFD400;filter:drop-shadow(0 0 2px rgba(255,212,0,.9))}

/* HTML info card overlay.
   The map is CLEAN by default: no card is rendered visible until the satellite beam
   strikes its node. site.js adds .in on strike and drops it again a beat later. */
.wlab{position:absolute;z-index:5;width:max-content;max-width:196px;pointer-events:none;line-height:1.25;
  display:flex;flex-direction:column;gap:2px;padding:8px 11px 9px;border-radius:3px;
  background:rgba(9,10,13,.92);border:1px solid #2b313c;border-left:2px solid var(--yl);
  box-shadow:0 12px 30px -18px rgba(0,0,0,.9);
  opacity:0;visibility:hidden;transform:translate(calc(var(--tx) + var(--sx)),-50%) scale(.96);
  transform-origin:var(--or,left center);
  transition:opacity .34s ease,transform .44s cubic-bezier(.16,1,.3,1),visibility 0s linear .34s}
.wlab.r{--tx:15px;--sx:-8px;--or:left center}
.wlab.l{--tx:calc(-100% - 15px);--sx:8px;--or:right center}
.wlab.in{--sx:0px;opacity:1;visibility:visible;
  transform:translate(var(--tx),-50%) scale(1);transition-delay:0s,0s,0s}
.wlab.ok{border-left-color:var(--yl);border-color:#3b3a22}
.wlab::before{content:"";position:absolute;top:50%;width:15px;height:1px;background:rgba(255,212,0,.55)}
.wlab.r::before{left:-15px}
.wlab.l::before{right:-15px}
.wlab.ok::before{background:rgba(255,212,0,.75)}
.wlt{font-family:var(--disp);font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.wlp{font-size:10.5px;letter-spacing:.01em;color:#8d95a3}
.wls{display:flex;align-items:center;gap:6px;margin-top:2px;font-family:var(--mono);font-size:8.4px;
  letter-spacing:.12em;text-transform:uppercase;color:#666d7a}
.wls i{width:4px;height:4px;border-radius:50%;background:#4d5563;flex:none;transition:background .4s ease}
.wls b{font-weight:700;color:#7c8492;transition:color .4s ease}
.wlab.ok .wls i{background:var(--yl)}
.wlab.ok .wls b{color:var(--yl)}
.wlab.ok .wls b::after{content:" 100%"}

/* legend + live counters */
.wbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:14px 18px;border-top:1px solid var(--pnlline);background:var(--pnl2)}
.wleg{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.wli{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;
  text-transform:uppercase;color:#6d7482;opacity:0;transform:translateY(6px);
  transition:opacity .5s ease,transform .5s ease}
.wli.in{opacity:1;transform:none}
.wli b{width:8px;height:8px;flex:none;border-radius:50%}
.wli b.v{background:var(--yl)}
.wli b.s{background:none;border:1px solid rgba(255,212,0,.7)}
.wli b.b{border-radius:0;width:2px;height:10px;background:linear-gradient(180deg,var(--yl),rgba(255,212,0,.1))}
.wli b.g{border-radius:0;width:7px;height:7px;background:#2f3641}
.wstat{margin-left:auto;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.wsc{display:flex;flex-direction:column;gap:2px}
.wsc b{font-family:var(--mono);font-size:19px;font-weight:600;line-height:1;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.wsc:first-child b{color:var(--yl)}
.wsc i{font-family:var(--mono);font-size:8.6px;letter-spacing:.13em;text-transform:uppercase;color:#666d7a;font-style:normal}

/* asset ticker (marquee) under the map */
.wtick{margin-top:20px;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:11px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.wtickrow{display:flex;align-items:center;gap:34px;width:max-content;animation:wtk 46s linear infinite}
@keyframes wtk{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.wtk{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-family:var(--mono);font-size:10px;
  letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.wtk i{width:5px;height:5px;border-radius:50%;background:var(--yl);flex:none}
.wtk b{font-weight:400;color:var(--faint);text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:11.5px}
.wnote{margin-top:22px;max-width:72ch}
.wnote p{margin-top:8px;color:var(--mid);font-size:14px}

@media(max-width:1000px){
  .wlab{max-width:150px;padding:6px 9px 7px}
  .wlt{font-size:11px}
  .wlp{font-size:9.5px}
  .wls{display:none}
  .wbar{gap:14px}
  .wstat{margin-left:0;gap:18px}
  .wsc b{font-size:16px}
}
@media(max-width:620px){
  .wlab{display:none}
  .wmap{background-position:center}
  .wret{display:none}
  .wleg .wli:nth-child(n+3){display:none}
}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  .g4{grid-template-columns:repeat(2,1fr)}
  .vgrid{grid-template-columns:repeat(2,1fr)}
  .fgrid{grid-template-columns:1fr 1fr}
  .ctab{grid-template-columns:1fr}
}
@media(max-width:880px){
  .g3{grid-template-columns:1fr}
  .g2,.g2b,.head-split,.mk{grid-template-columns:1fr}
  .head-split{align-items:start}
  .steps{grid-template-columns:1fr}
  .step{border-right:0;border-bottom:1px solid var(--line);padding-right:0}
  .step:last-child{border-bottom:0}
  .res{grid-template-columns:1fr;gap:14px}
  .s{grid-template-columns:44px 1fr}
  .s p{grid-column:2}
  .form{grid-template-columns:1fr}
  .mpan{position:static}
  .pgnav{grid-template-columns:1fr}
  .pgnav a.next{text-align:left;align-items:flex-start}
}
@media(max-width:600px){
  .vgrid{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  .fa p{padding-right:0}
}

/* ---------- reduced motion kill-switch ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rv,.rvx{opacity:1!important;transform:none!important}
  .clipr{clip-path:none!important}
  .showwrap{height:auto!important}
  .showstage{position:static!important;height:auto!important;padding:72px 0}
  .showin{max-height:none}
  .showcue{display:none}
  .showhead{transform:none!important;opacity:1!important}
  .gli{opacity:1!important;transform:none!important}
  .step::before{width:64px}
}

/* planet map under reduced motion: fully revealed, no orbit, no pulse */
@media(prefers-reduced-motion:reduce){
  .wn{opacity:1!important}
  .wlab.in{opacity:1!important;visibility:visible!important;transform:translate(var(--tx),-50%)!important}
  .wli{opacity:1!important;transform:none!important}
  .wtickrow{animation:none!important}
  .wrip,.wping{display:none}
  .wbeam{opacity:0!important}
  .sat{opacity:1!important}
}

/* ---------- logo review page (logo.html, design review, not in the public nav) ---------- */
.lgmeta{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.lgtag{display:inline-flex;align-items:center;font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;
  padding:6px 11px;border:1px solid var(--line2);border-radius:999px;color:var(--mid);background:#fff;line-height:1}
.lgtag.y{background:var(--yl);border-color:var(--yl);color:#0A0A09;font-weight:600}
.lghd{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 48px;margin-bottom:clamp(22px,3vw,38px)}
.lghd h2{font-family:var(--disp);font-weight:600;font-size:clamp(25px,3.1vw,40px);letter-spacing:-.035em;line-height:1.05;margin-top:14px;max-width:22ch}
.lghd p{max-width:46ch;color:var(--mid);font-size:15px;line-height:1.62}
.lghd p b{color:var(--ink)}
.ink-band .lghd p{color:#a9aeb8}
.lgplate{position:relative;margin:0;border:1px solid var(--line);border-radius:var(--r);background:#fff;display:flex;align-items:center;
  justify-content:center;padding:clamp(64px,8.5vw,128px) clamp(20px,5vw,72px);overflow:hidden}
.lgplate+.lgplate{margin-top:16px}
.lgplate.dk,.lgcol.dk,.lgcrop.dk,.lgsrow.dk,.lgfi.dk{background:#0A0A09;border-color:#0A0A09}
.lgplate figcaption,.lgcrop figcaption{position:absolute;left:18px;right:18px;top:15px;display:flex;justify-content:space-between;align-items:center;gap:12px;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint)}
.lgplate.dk figcaption,.lgcrop.dk figcaption{color:#6f757d}
.lgplate.dk .lgtag{background:transparent;border-color:#33363c;color:#9aa0a8}
.lgbig{display:block;width:min(780px,100%);height:auto}
.lgladder{display:grid;gap:16px}
.lgcol{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:4px clamp(20px,3vw,36px)}
.lgrow{display:flex;align-items:center;gap:28px;padding:22px 0;border-bottom:1px solid var(--line)}
.lgcol.dk .lgrow{border-bottom-color:#1c1d21}
.lgrow:last-child{border-bottom:0}
.lgrow b{flex:none;width:56px;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.1em;color:var(--faint)}
.lgrow img{display:block;max-width:calc(100% - 84px);height:auto}
.lgcrops{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.lgcrop{position:relative;margin:0;height:340px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:#fff;
  display:flex;align-items:center;padding-left:clamp(28px,4vw,56px)}
.lgcrop img{display:block;height:240px;width:auto;max-width:none;flex:none}
.lgsym{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lgsq img{display:block;width:240px;height:240px}
.lgsyms{display:grid;gap:16px}
.lgsrow{display:flex;align-items:flex-end;justify-content:space-around;gap:20px;padding:28px 24px 22px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.lgsrow figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px}
.lgsrow img{display:block}
.lgsrow figcaption{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--faint)}
.lgtabs{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:18px 22px 22px}
.lgcap{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint)}
.lgtabbar{display:flex;margin-top:12px;background:#dee1e6;border-radius:8px;padding:7px 8px 0}
.lgtabbar.dk{background:#1f2023}
.lgtab{display:flex;align-items:center;gap:9px;height:34px;padding:0 12px;min-width:0;max-width:300px;background:#fff;border-radius:8px 8px 0 0;
  font-size:12px;color:#1f1f1f;white-space:nowrap}
.lgtabbar.dk .lgtab{background:#35363a;color:#e8eaed}
.lgtab img{width:16px;height:16px;flex:none;display:block}
.lgtab span{overflow:hidden;text-overflow:ellipsis}
.lgtab i{position:relative;width:10px;height:10px;flex:none;margin-left:14px;opacity:.6}
.lgtab i::before,.lgtab i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.4px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.lgtab i::after{transform:translate(-50%,-50%) rotate(-45deg)}
.lgcon{margin:0;border:1px solid #2a2f39;border-radius:var(--r);background:#0A0A09;padding:clamp(18px,3vw,40px)}
.lgcon svg{display:block;width:100%;height:auto;overflow:visible}
.lgcon .gl{stroke:#4a505b;stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke;fill:none}
.lgcon .gl.key{stroke:#FFD400;stroke-dasharray:none;opacity:.85}
.lgcon .dm{stroke:#FFD400;stroke-width:1;vector-effect:non-scaling-stroke;fill:none}
.lgcon .cs{fill:rgba(255,212,0,.08);stroke:rgba(255,212,0,.55);stroke-width:1;stroke-dasharray:2 3;vector-effect:non-scaling-stroke}
.lgcon text{font-family:var(--mono);font-size:7.5px;letter-spacing:.1em;fill:#FFD400}
.lgcon text.m{fill:#8c93a1}
.lgcon text.k{font-weight:700}
.lgrules{list-style:none;margin:clamp(24px,3.5vw,40px) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#2a2f39;border:1px solid #2a2f39;border-radius:var(--r);overflow:hidden}
.lgrules li{background:#101216;padding:22px 20px 24px}
.lgrules b{display:block;font-family:var(--disp);font-weight:500;font-size:30px;letter-spacing:-.03em;line-height:1;color:#FFD400}
.lgrules h3{font-size:14.5px;letter-spacing:-.01em;margin:14px 0 8px;color:#fff}
.lgrules p{font-size:13px;line-height:1.55;color:#8c93a1}
.lgswg{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.lgsw{border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden}
.lgsw i{display:block;height:140px;border-bottom:1px solid var(--line)}
.lgsw>div{padding:18px 18px 20px}
.lgsw b{display:block;font-family:var(--disp);font-size:19px;font-weight:600;letter-spacing:-.02em}
.lgsw code{display:block;margin-top:4px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--mid)}
.lgsw p{margin-top:10px;font-size:13px;line-height:1.55;color:var(--mid)}
.lgpair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lgpair .lgplate+.lgplate{margin-top:0}
.lgpair .lgbig{width:100%}
.lgfiles{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.lgfiles li{display:grid;grid-template-columns:210px 1fr auto auto;gap:14px 28px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.lgfi{height:68px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:0 16px}
.lgfi img{display:block;max-width:100%;height:auto}
.lgfiles b{font-size:15px;font-weight:600;color:var(--ink)}
.lgfiles p{font-size:13px;color:var(--mid);margin-top:2px}
.lgfiles code{font-family:var(--mono);font-size:11px;color:var(--faint);white-space:nowrap}
.lgnote{margin-top:28px;font-size:13.5px;line-height:1.7;color:var(--mid);max-width:84ch}
.lgnote code{font-family:var(--mono);font-size:12px;background:var(--bg2);padding:2px 6px;border-radius:3px;color:var(--ink)}
@media(max-width:1000px){.lgrules{grid-template-columns:repeat(3,1fr)}.lgswg{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.lgsym,.lgpair,.lgcrops{grid-template-columns:1fr}.lgfiles li{grid-template-columns:160px 1fr}}
@media(max-width:560px){.lgrules,.lgswg{grid-template-columns:1fr}.lgcrop{height:210px}.lgcrop img{height:150px}
  .lgsq img{width:180px;height:180px}.lgfiles li{grid-template-columns:1fr}.lgrow{gap:16px}.lgrow b{width:40px}.lgrow img{max-width:calc(100% - 56px)}}

/* ---------- digital twin module (institutions, own panel below the Trust Score card, see twin.py) ----------
   Static markup = the final composed twin. site.js adds .tw-arm (every animation parked at frame 0) and
   .tw-play on first view; .tw-off pauses the idle blink off screen. Transform / opacity plus the outline draw. */
.tw{margin:clamp(30px,4vw,56px) 0 0;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(20px,4vw,60px);align-items:center;background:#0A0A09;color:#fff;border-radius:var(--r);
  border-bottom:4px solid #FFD400;padding:clamp(26px,3.8vw,56px)}
.tw .eb{color:#fff}
.tw h3.t3{margin-top:14px;max-width:17ch;color:#fff}
.tw-leg{list-style:none;margin:clamp(22px,2.8vw,34px) 0 0;padding:0;border-top:1px solid #26262a}
.tw-leg li{display:flex;align-items:center;gap:14px;min-height:44px;border-bottom:1px solid #26262a;
  font-size:10.5px;font-weight:700;letter-spacing:.15em;line-height:1.3;text-transform:uppercase;color:#fff}
.tw-n{flex:none;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:#74747c;font-variant-numeric:tabular-nums}
.tw-leg li:last-child,.tw-leg li:last-child .tw-n{color:#FFD400}
html[lang=ar] .tw-leg li{letter-spacing:0}
html[lang=zh] .tw-leg li{letter-spacing:.06em}
.tw-stage{justify-self:center;width:min(560px,90%)}
.tw-svg{display:block;width:100%;height:auto;overflow:visible;direction:ltr}
.tw-svg path{stroke-linecap:round;stroke-linejoin:round}
.tw-ring,.tw-scan{opacity:0}
.tw-pop,.tw-ring,.tw-core{transform-box:fill-box;transform-origin:center}
.tw-arm .tw-draw{stroke-dasharray:1;animation:tw-draw .8s cubic-bezier(.45,0,.2,1) both}
.tw-arm .tw-fade{animation:tw-fade .6s ease both}
.tw-arm .tw-rise{animation:tw-rise .75s cubic-bezier(.2,.7,.2,1) both}
.tw-arm .tw-pop{animation:tw-pop .45s cubic-bezier(.3,1.4,.5,1) both}
.tw-arm .tw-ring{animation:tw-ring 1.3s ease-out forwards}
.tw-arm .tw-scan{animation:tw-scan 2.5s cubic-bezier(.45,0,.35,1) .9s forwards}
.tw-arm .tw-core{animation:tw-pop .45s cubic-bezier(.3,1.4,.5,1) 3.3s both,tw-idle 2.8s ease-in-out 4s infinite}
.tw-arm .tw-leg li{animation:tw-lit .5s ease both}
.tw-arm .tw-leg li:nth-child(1){animation-delay:1.3s}
.tw-arm .tw-leg li:nth-child(2){animation-delay:1.85s}
.tw-arm .tw-leg li:nth-child(3){animation-delay:2.4s}
.tw-arm .tw-leg li:nth-child(4){animation-delay:3.3s}
.tw-arm:not(.tw-play) *,.tw-off .tw-core{animation-play-state:paused}
@keyframes tw-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes tw-fade{from{opacity:0}to{opacity:1}}
@keyframes tw-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes tw-pop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}
@keyframes tw-ring{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(3.4)}}
@keyframes tw-scan{0%{opacity:0;transform:none}12%{opacity:.9}85%{opacity:.55}100%{opacity:0;transform:translateY(-300px)}}
@keyframes tw-lit{from{opacity:.25}to{opacity:1}}
@keyframes tw-idle{0%,100%{opacity:1}50%{opacity:.3}}
@media(max-width:880px){.tw{grid-template-columns:1fr}.tw h3.t3{max-width:none}}
@media(max-width:560px){.tw{padding:24px 18px 26px}.tw-stage{width:100%}}
@media (prefers-reduced-motion:reduce){.tw *{animation:none!important}}

/* ---------- satellite verification preloader (index only, see preloader.py) ---------- */
html.vpl-lock,html.vpl-lock body{overflow:hidden}
.vpl{position:fixed;inset:0;z-index:2147483000;background:#0A0A09;display:flex;align-items:center;
  justify-content:center;padding:16px;overflow:hidden;transform:translateY(0);will-change:transform;
  transition:transform 1.3s cubic-bezier(.65,0,.35,1)}
/* curtain edge: one 6px bar that starts exactly on the trust score underline (the inline script writes
   --bx/--by/--sx/--sy from the underline's rect), stretches into the full width bottom edge in 0.5s,
   then rides the overlay up. Transform only. */
.vpl-bar{position:absolute;left:0;bottom:0;width:100%;height:6px;background:#FFD400;opacity:0;pointer-events:none;
  transform-origin:0 0;transform:translate(var(--bx,0px),var(--by,0px)) scale(var(--sx,1),var(--sy,1))}
.vpl.vpl-out{transform:translateY(-100%);pointer-events:none;transition-delay:.3s}
.vpl.vpl-out .vpl-bar{opacity:1;transform:none;transition:transform .5s cubic-bezier(.7,0,.25,1)}
.vpl.vpl-out .vpl-ul{visibility:hidden}
.vpl-svg{display:block;width:100%;max-width:680px;height:auto;direction:ltr;overflow:visible}
.vpl-svg *{transform-box:view-box}
.vpl-svg text{font-family:var(--sans,"Inter Variable",system-ui,sans-serif)}
.vpl-cap{font-size:13px;font-weight:600;letter-spacing:.16em;fill:#fff}
.vpl-y{fill:#FFD400}
.vpl-dk{fill:#0A0A09}
.vpl-num{font-family:"Clash Display",var(--sans,sans-serif)!important;font-weight:600;font-size:64px;fill:#fff;opacity:0}
.vpl-lab{font-size:13px;font-weight:600;letter-spacing:.12em;fill:#fff}
.vpl-mono{font-size:12px;letter-spacing:.04em;fill:#FFD400;font-family:ui-monospace,Menlo,Consolas,monospace!important}
html[lang=zh] .vpl-cap,html[lang=ar] .vpl-cap,html[lang=zh] .vpl-lab,html[lang=ar] .vpl-lab{letter-spacing:0}
.vpl-stars{opacity:.35}
.vpl-earth{animation:vpl-rise 1.8s cubic-bezier(.2,.7,.2,1) both}
.vpl-orbit{opacity:0;animation:vpl-orbit 1s ease .3s forwards}
.vpl-sat{transform-box:fill-box;transform-origin:center;animation:vpl-sat 2s cubic-bezier(.25,.8,.3,1) both}
.vpl-beam{opacity:0;transform-origin:300px 92px;animation:vpl-beam 2.8s linear 2s both}
.vpl-lit{opacity:0;animation:vpl-show .4s ease both}
.vpl-ring{opacity:0;transform-box:fill-box;transform-origin:center;animation:vpl-ring 1.3s ease-out both}
.vpl-links path{stroke-dasharray:1;stroke-dashoffset:1;opacity:.55;animation:vpl-link 2.2s ease both}
.vpl-layer{opacity:0;animation:vpl-layer .8s cubic-bezier(.2,.7,.2,1) both}
.vpl-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:vpl-draw 1s ease-out both}
.vpl-fac{opacity:0;animation:vpl-show .7s ease both}
.vpl-score{opacity:0;animation:vpl-show .6s ease 1.8s both}
.vpl-ok{opacity:0;animation:vpl-show .6s ease 6.1s both}
.vpl-ul{transform-origin:573px 118px;animation:vpl-ul .6s cubic-bezier(.2,.7,.2,1) 4.8s both}
.vpl-chip{opacity:0;animation:vpl-chip .7s cubic-bezier(.2,.7,.2,1) both}
.vpl-c2 .vpl-cap{font-size:11px;letter-spacing:.1em}
.vpl-c1{animation-delay:6s}.vpl-c2{animation-delay:6.36s}
@keyframes vpl-show{from{opacity:0}to{opacity:1}}
@keyframes vpl-hide{from{opacity:1}to{opacity:0}}
@keyframes vpl-orbit{to{opacity:.55}}
@keyframes vpl-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes vpl-sat{0%{opacity:0;transform:translate(-360px,72px) rotate(-18deg)}
  15%{opacity:1}55%{transform:translate(-150px,16px) rotate(-6deg)}100%{opacity:1;transform:none}}
@keyframes vpl-beam{0%{opacity:0;transform:rotate(48deg)}8%{opacity:.16}90%{opacity:.16}
  100%{opacity:0;transform:rotate(-48deg)}}
@keyframes vpl-ring{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(4.2)}}
@keyframes vpl-link{0%{stroke-dashoffset:1;opacity:.55}45%{stroke-dashoffset:0;opacity:.55}100%{stroke-dashoffset:0;opacity:0}}
@keyframes vpl-layer{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes vpl-draw{to{stroke-dashoffset:0}}
@keyframes vpl-ul{from{transform:scaleX(0)}to{transform:none}}
@keyframes vpl-chip{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.vpl{display:none}}

/* ---------- RWA & Tokenization leads (operator 2026-09-13): first in every list, flat near-black + #FFD400 ---------- */
/* markets: mandate index */
.mb.lead .mbt{font-weight:700;color:#0A0A09}
.mb.lead .mi{color:#0A0A09;font-weight:700}
.mb.lead .mic{stroke:#E6BF00}
.mb.lead::after{content:"";flex:none;width:8px;height:8px;border-radius:2px;background:#FFD400}
@media(max-width:900px){
  .mb.lead{border-color:#E6BF00;box-shadow:inset 0 0 0 1px #E6BF00;font-weight:700}
  .mb.lead::after{display:none}
}
/* markets: lead card, 2x2 in the all mandates grid */
.g3>.card.lead{grid-column:span 2;grid-row:span 2;background:#0A0A09;border-color:#0A0A09;color:#fff;
  display:flex;flex-direction:column;justify-content:space-between;gap:28px;
  padding:clamp(28px,3.2vw,48px) clamp(28px,3.2vw,48px) clamp(24px,2.6vw,36px) calc(clamp(28px,3.2vw,48px) + 6px)}
.card.lead::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#FFD400}
.card.lead:hover{border-color:#0A0A09}
.card.lead .kn{display:block;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:#FFD400}
.card.lead h3{margin-top:14px;font-size:clamp(28px,3.4vw,48px);letter-spacing:-.035em;line-height:1.04;color:#fff;max-width:16ch}
.card.lead p{margin-top:16px;font-size:clamp(15px,1.3vw,17.5px);color:#c9cbd0;max-width:46ch}
.card.lead .mkic.sm{margin-bottom:22px}
.card.lead .mkic.sm .mic,.card.lead:hover .mkic.sm .mic{width:42px;height:42px;stroke:#FFD400;stroke-width:1.35}
.card.lead .mstats{margin-top:0;border-top-color:rgba(255,255,255,.16)}
.card.lead .mst{border-right-color:rgba(255,255,255,.16)}
.card.lead .mst:last-child{border-right:0}
.card.lead .mst b{color:#fff}
.card.lead .mst i{color:#a9aeb8}
[dir=rtl] .card.lead::before{left:auto;right:0}
[dir=rtl] .g3>.card.lead{padding-left:clamp(28px,3.2vw,48px);padding-right:calc(clamp(28px,3.2vw,48px) + 6px)}
[dir=rtl] .card.lead .mst{border-right:0;border-left:1px solid rgba(255,255,255,.16)}
[dir=rtl] .card.lead .mst:last-child{border-left:0}
@media(max-width:900px){.card.lead .mst:nth-child(2){border-right:0}.card.lead .mst:nth-child(3){border-top:1px solid rgba(255,255,255,.16)}}
@media(max-width:880px){.g3>.card.lead{grid-column:auto;grid-row:auto}}
/* how it works: lead service row */
.s.lead,.s.lead:hover{background:#0A0A09;border-left:6px solid #FFD400;
  padding-left:clamp(16px,2vw,26px);padding-right:clamp(16px,2vw,26px)}
.s.lead .sn{color:#FFD400;font-weight:700}
.s.lead h4{color:#fff;font-size:clamp(20px,2vw,27px)}
.s.lead p{color:#c9cbd0;font-size:15px}
[dir=rtl] .s.lead,[dir=rtl] .s.lead:hover{border-left:0;border-right:6px solid #FFD400;
  padding-left:clamp(16px,2vw,26px);padding-right:clamp(16px,2vw,26px)}
/* home: lead explore card */
.kcard.lead{background:#0A0A09;border-color:#0A0A09;color:#fff;box-shadow:inset 6px 0 0 #FFD400}
.kcard.lead:hover{border-color:#FFD400;box-shadow:inset 6px 0 0 #FFD400,0 16px 40px -26px rgba(17,17,19,.5)}
.kcard.lead .kn{color:#FFD400;font-weight:700}
.kcard.lead h3{color:#fff;font-size:clamp(22px,2.1vw,28px)}
.kcard.lead p{color:#c9cbd0}
.kcard.lead .go{color:#FFD400}
[dir=rtl] .kcard.lead{box-shadow:inset -6px 0 0 #FFD400}
[dir=rtl] .kcard.lead:hover{box-shadow:inset -6px 0 0 #FFD400,0 16px 40px -26px rgba(17,17,19,.5)}

/* ---------- Dubai skyline backdrop (compliance #jurisdiction, skyline.py) ---------- */
/* box is at least 1:4 tall so xMidYMax slice always scales by height: no distortion, spire never cropped */
.skysec{position:relative;overflow:hidden;isolation:isolate;padding-bottom:calc(var(--sec) + max(70px,9vw))}
.skysec>.wrap{position:relative;z-index:1}
.sky{position:absolute;left:0;right:0;bottom:0;width:100%;height:max(210px,25vw);display:block;
  pointer-events:none;z-index:0;opacity:.55}
/* lead polish: service row content aligns with the rows below (the dark fill bleeds into the gutter on desktop) */
@media(min-width:881px){
  .s.lead,.s.lead:hover{margin-left:-32px;margin-right:-26px;padding-left:26px;padding-right:26px}
  [dir=rtl] .s.lead,[dir=rtl] .s.lead:hover{margin-left:-26px;margin-right:-32px;padding-left:26px;padding-right:26px}
}
/* lead card stat blocks carry more weight so the 2x2 card reads full */
.card.lead .mst{padding-top:22px}
.card.lead .mst b{font-size:clamp(20px,2.2vw,30px)}
.card.lead .mst i{margin-top:9px;font-size:12px}
@media(max-width:460px){.card.lead .mst,.card.lead .mst:nth-child(3){border-top:1px solid rgba(255,255,255,.16)}.card.lead .mst:first-child{border-top:0}}

/* ---------- looping illustrations (round 6, loopkit.py) ----------
   Pure CSS loops, transform / opacity (plus a few stroke-dashoffset outline draws). Every animation rule
   is generated into the LOOPS block below, inside prefers-reduced-motion:no-preference, so the static
   markup is the composed final frame. site.js parks a [data-loop] with .lp-off until it is on screen. */
.lpan{margin:0;border:1px solid #0A0A09;border-radius:var(--r);overflow:hidden;background:#0A0A09}
.lps{display:block;width:100%;height:auto;direction:ltr}
.lps path{stroke-linecap:round;stroke-linejoin:round}
.lp-off,.lp-off *{animation-play-state:paused!important}
/* ==== LOOPS:BEGIN generated by build.py from loopkit.py. Do not hand edit. ==== */
/* index: hero real world assets. underline, loop 5s */
@media (prefers-reduced-motion:no-preference){
.rw0,.rw1,.rw2,.rw3,.rw4{transform-box:fill-box;transform-origin:center}.rw0{animation:rw0 5s cubic-bezier(0.65,0,0.35,1) infinite}.rw1{animation:rw1 5s cubic-bezier(.3,.7,.4,1) infinite}.rw2{animation:rw2 5s cubic-bezier(.3,.7,.4,1) infinite}.rw3{animation:rw3 5s cubic-bezier(.3,.7,.4,1) infinite}.rw4{animation:rw4 5s cubic-bezier(.3,.7,.4,1) infinite}
@keyframes rw0{0%,3%{opacity:1;transform:translateX(0%) scaleX(0)}27%,77%{opacity:1;transform:translateX(0%) scaleX(1)}86%{opacity:0.55;transform:translateX(0%) scaleX(1)}96%{opacity:0.55;transform:translateX(100%) scaleX(0)}99%,100%{opacity:1;transform:translateX(0%) scaleX(0)}}
@keyframes rw1{0%,10.81%{opacity:0;transform:scale(0)}14.41%{opacity:1;transform:scale(1.45)}20.21%,35%{opacity:1;transform:scale(1)}38.6%{opacity:.35;transform:scale(.8)}43.4%{opacity:1;transform:scale(1.4)}50%,77%{opacity:1;transform:scale(1)}86%,87.82%{opacity:.4;transform:scale(1)}90.22%,100%{opacity:0;transform:scale(0)}}
@keyframes rw2{0%,13.65%{opacity:0;transform:scale(0)}17.25%{opacity:1;transform:scale(1.45)}23.05%,42.6%{opacity:1;transform:scale(1)}46.2%{opacity:.35;transform:scale(.8)}51%{opacity:1;transform:scale(1.4)}57.6%,77%{opacity:1;transform:scale(1)}86%,89%{opacity:.4;transform:scale(1)}91.4%,100%{opacity:0;transform:scale(0)}}
@keyframes rw3{0%,15.64%{opacity:0;transform:scale(0)}19.24%{opacity:1;transform:scale(1.45)}25.04%,50.2%{opacity:1;transform:scale(1)}53.8%{opacity:.35;transform:scale(.8)}58.6%{opacity:1;transform:scale(1.4)}65.2%,77%{opacity:1;transform:scale(1)}86%,89.83%{opacity:.4;transform:scale(1)}92.23%,100%{opacity:0;transform:scale(0)}}
@keyframes rw4{0%,18.58%{opacity:0;transform:scale(0)}22.18%{opacity:1;transform:scale(1.45)}27.98%,57.8%{opacity:1;transform:scale(1)}61.4%{opacity:.35;transform:scale(.8)}66.2%{opacity:1;transform:scale(1.4)}72.8%,77%{opacity:1;transform:scale(1)}86%,91.06%{opacity:.4;transform:scale(1)}93.46%,100%{opacity:0;transform:scale(0)}}
}
/* how-it-works: verifiable digital twin, dark 3D, loop 9s */
@media (prefers-reduced-motion:no-preference){
.mr0,.mr1,.mr2,.mr3,.mr4,.mr5,.mr6,.mr7,.mr8,.mr9,.mra,.mrb,.mrc,.mrd,.mre{transform-box:fill-box;transform-origin:center}.mr0{animation:mr0 9s ease-in-out infinite}.mr1{animation:mr1 9s cubic-bezier(.2,.6,.3,1) infinite}.mr2{animation:mr2 9s ease-out infinite}.mr3{animation:mr3 9s linear infinite}.mr4{animation:mr4 9s ease-out infinite}.mr5{animation:mr5 9s linear infinite}.mr6{animation:mr6 9s ease-out infinite}.mr7{animation:mr7 9s ease-in-out infinite}.mr8{animation:mr8 9s linear infinite}.mr9{animation:mr9 9s ease-out infinite}.mra{animation:mra 9s linear infinite}.mrb{animation:mrb 9s linear infinite}.mrc{animation:mrc 9s linear infinite}.mrd{animation:mrd 9s linear infinite}.mre{animation:mre 9s linear infinite}
@keyframes mr0{0%{opacity:1}25%{opacity:.7}50%{opacity:1}75%{opacity:.7}100%{opacity:1}}
@keyframes mr1{0%,3.33%{opacity:0;transform:scale(1)}3.78%{opacity:0.8;transform:scale(1)}24.44%{opacity:0;transform:scale(3.2)}24.78%,53.33%{opacity:0;transform:scale(1)}53.78%{opacity:0.8;transform:scale(1)}74.44%{opacity:0;transform:scale(3.2)}74.78%,100%{opacity:0;transform:scale(1)}}
@keyframes mr2{0%,3.33%{opacity:.6;transform:scale(1)}6.67%{opacity:1;transform:scale(1.02)}23.33%,53.33%{opacity:.6;transform:scale(1)}56.67%{opacity:1;transform:scale(1.02)}73.33%,100%{opacity:.6;transform:scale(1)}}
@keyframes mr3{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes mr4{0%,8.89%{opacity:.6;transform:scale(1)}12.22%{opacity:1;transform:scale(1.02)}28.89%,58.89%{opacity:.6;transform:scale(1)}62.22%{opacity:1;transform:scale(1.02)}78.89%,100%{opacity:.6;transform:scale(1)}}
@keyframes mr5{0%{transform:rotate(0deg)}100%{transform:rotate(-360deg)}}
@keyframes mr6{0%,14.44%{opacity:.6;transform:scale(1)}17.78%{opacity:1;transform:scale(1.02)}34.44%,64.44%{opacity:.6;transform:scale(1)}67.78%{opacity:1;transform:scale(1.02)}84.44%,100%{opacity:.6;transform:scale(1)}}
@keyframes mr7{0%{transform:translateY(0px)}25%{transform:translateY(-8px)}50%{transform:translateY(0px)}75%{transform:translateY(-8px)}100%{transform:translateY(0px)}}
@keyframes mr8{0%,22.22%{opacity:0;stroke-dashoffset:.2}22.78%{opacity:1;stroke-dashoffset:.2}30.56%{opacity:1;stroke-dashoffset:-1}31.11%{opacity:0;stroke-dashoffset:-1}31.44%,72.22%{opacity:0;stroke-dashoffset:.2}72.78%{opacity:1;stroke-dashoffset:.2}80.56%{opacity:1;stroke-dashoffset:-1}81.11%{opacity:0;stroke-dashoffset:-1}81.44%,100%{opacity:0;stroke-dashoffset:.2}}
@keyframes mr9{0%,28.89%{opacity:0;transform:scale(0) rotate(0deg)}31.67%{opacity:1;transform:scale(1) rotate(45deg)}37.78%{opacity:0;transform:scale(.3) rotate(90deg)}38.11%,78.89%{opacity:0;transform:scale(0) rotate(0deg)}81.67%{opacity:1;transform:scale(1) rotate(45deg)}87.78%{opacity:0;transform:scale(.3) rotate(90deg)}88.11%,100%{opacity:0;transform:scale(0) rotate(0deg)}}
@keyframes mra{0%,2.22%{opacity:0;transform:translate(0px,0px)}6.38%{opacity:1;transform:translate(0px,-10.12px)}16.96%{opacity:1;transform:translate(0px,-35.88px)}21.11%{opacity:0;transform:translate(0px,-46px)}21.44%,52.22%{opacity:0;transform:translate(0px,0px)}56.38%{opacity:1;transform:translate(0px,-10.12px)}66.96%{opacity:1;transform:translate(0px,-35.88px)}71.11%{opacity:0;transform:translate(0px,-46px)}71.44%,100%{opacity:0;transform:translate(0px,0px)}}
@keyframes mrb{0%,7.78%{opacity:0;transform:translate(0px,0px)}11.93%{opacity:1;transform:translate(0px,-10.12px)}22.51%{opacity:1;transform:translate(0px,-35.88px)}26.67%{opacity:0;transform:translate(0px,-46px)}27%,57.78%{opacity:0;transform:translate(0px,0px)}61.93%{opacity:1;transform:translate(0px,-10.12px)}72.51%{opacity:1;transform:translate(0px,-35.88px)}76.67%{opacity:0;transform:translate(0px,-46px)}77%,100%{opacity:0;transform:translate(0px,0px)}}
@keyframes mrc{0%,14.44%{opacity:0;transform:translate(0px,0px)}18.6%{opacity:1;transform:translate(0px,-10.12px)}29.18%{opacity:1;transform:translate(0px,-35.88px)}33.33%{opacity:0;transform:translate(0px,-46px)}33.67%,64.44%{opacity:0;transform:translate(0px,0px)}68.6%{opacity:1;transform:translate(0px,-10.12px)}79.18%{opacity:1;transform:translate(0px,-35.88px)}83.33%{opacity:0;transform:translate(0px,-46px)}83.67%,100%{opacity:0;transform:translate(0px,0px)}}
@keyframes mrd{0%,21.11%{opacity:0;transform:translate(0px,0px)}25.27%{opacity:1;transform:translate(0px,-10.12px)}35.84%{opacity:1;transform:translate(0px,-35.88px)}40%{opacity:0;transform:translate(0px,-46px)}40.33%,71.11%{opacity:0;transform:translate(0px,0px)}75.27%{opacity:1;transform:translate(0px,-10.12px)}85.84%{opacity:1;transform:translate(0px,-35.88px)}90%{opacity:0;transform:translate(0px,-46px)}90.33%,100%{opacity:0;transform:translate(0px,0px)}}
@keyframes mre{0%,28.89%{opacity:0;transform:translate(0px,0px)}33.04%{opacity:1;transform:translate(0px,-10.12px)}43.62%{opacity:1;transform:translate(0px,-35.88px)}47.78%{opacity:0;transform:translate(0px,-46px)}48.11%,78.89%{opacity:0;transform:translate(0px,0px)}83.04%{opacity:1;transform:translate(0px,-10.12px)}93.62%{opacity:1;transform:translate(0px,-35.88px)}97.78%{opacity:0;transform:translate(0px,-46px)}98.11%,100%{opacity:0;transform:translate(0px,0px)}}
}
/* engines: geo sentinel globe, orbit and sweep, dark 3D, loop 8s */
@media (prefers-reduced-motion:no-preference){
.eg0,.eg1,.eg2,.eg3,.eg4,.eg5,.eg6,.eg7,.eg8,.eg9,.ega,.egb,.egc,.egd,.ege,.egf,.egg,.egh,.egi,.egj,.egk,.egl,.egm,.egn,.ego,.egp,.egq,.egr{transform-box:fill-box;transform-origin:center}.eg0{animation:eg0 8s ease-in-out infinite}.eg1{animation:eg1 8s linear infinite}.eg2{animation:eg2 8s linear infinite}.eg3{animation:eg3 8s linear infinite}.eg4{animation:eg4 8s linear infinite}.eg5{animation:eg5 8s linear infinite}.eg6{animation:eg6 8s linear infinite}.eg7{animation:eg7 8s linear infinite}.eg8{animation:eg8 8s linear infinite}.eg9{animation:eg9 8s linear infinite}.ega{animation:ega 8s linear infinite}.egb{animation:egb 8s linear infinite}.egc{animation:egc 8s ease-out infinite}.egd{animation:egd 8s linear infinite}.ege{animation:ege 8s ease-out infinite}.egf{animation:egf 8s linear infinite}.egg{animation:egg 8s ease-out infinite}.egh{animation:egh 8s linear infinite}.egi{animation:egi 8s linear infinite}.egj{animation:egj 8s linear infinite}.egk{animation:egk 8s ease-in-out infinite}.egl{animation:egl 8s linear infinite}.egm{animation:egm 8s linear infinite}.egn{animation:egn 8s linear infinite}.ego{animation:ego 8s linear infinite}.egp{animation:egp 8s linear infinite}.egq{animation:egq 8s linear infinite}.egr{animation:egr 8s linear infinite}
@keyframes eg0{0%{opacity:1}25%{opacity:.7}50%{opacity:1}75%{opacity:.7}100%{opacity:1}}
@keyframes eg1{0%{transform:rotate(0deg)}100%{transform:rotate(720deg)}}
@keyframes eg2{0%,27.92%{opacity:0}29.67%{opacity:1}37.92%,77.92%{opacity:0}79.67%{opacity:1}87.92%,100%{opacity:0}}
@keyframes eg3{0%{opacity:0.051}0.42%,40.42%{opacity:0}42.17%{opacity:1}50.42%,90.42%{opacity:0}92.17%{opacity:1}100%{opacity:0.051}}
@keyframes eg4{0%,15.42%{opacity:0}17.17%{opacity:1}25.42%,65.42%{opacity:0}67.17%{opacity:1}75.42%,100%{opacity:0}}
@keyframes eg5{0%,2.92%{opacity:0}4.67%{opacity:1}12.92%,52.92%{opacity:0}54.67%{opacity:1}62.92%,100%{opacity:0}}
@keyframes eg6{0%,37.5%{opacity:0;transform:scale(1)}38%{opacity:0.9;transform:scale(1)}40.69%{opacity:0.506;transform:scale(2.05)}43.38%{opacity:0.225;transform:scale(2.8)}46.06%{opacity:0.056;transform:scale(3.25)}48.75%{opacity:0;transform:scale(3.4)}49.12%,87.5%{opacity:0;transform:scale(1)}88%{opacity:0.9;transform:scale(1)}90.69%{opacity:0.506;transform:scale(2.05)}93.38%{opacity:0.225;transform:scale(2.8)}96.06%{opacity:0.056;transform:scale(3.25)}98.75%{opacity:0;transform:scale(3.4)}99.12%,100%{opacity:0;transform:scale(1)}}
@keyframes eg7{0%,37.5%{opacity:0}39.25%{opacity:1}47.5%,87.5%{opacity:0}89.25%{opacity:1}97.5%,100%{opacity:0}}
@keyframes eg8{0%,20.14%{opacity:0;transform:scale(1)}20.64%{opacity:0.9;transform:scale(1)}23.33%{opacity:0.506;transform:scale(2.05)}26.01%{opacity:0.225;transform:scale(2.8)}28.7%{opacity:0.056;transform:scale(3.25)}31.39%{opacity:0;transform:scale(3.4)}31.76%{opacity:0;transform:scale(1.001)}70.14%{opacity:0;transform:scale(1)}70.64%{opacity:0.9;transform:scale(1)}73.33%{opacity:0.506;transform:scale(2.05)}76.01%{opacity:0.225;transform:scale(2.8)}78.7%{opacity:0.056;transform:scale(3.25)}81.39%{opacity:0;transform:scale(3.4)}81.76%{opacity:0;transform:scale(1.001)}100%{opacity:0;transform:scale(1)}}
@keyframes eg9{0%,20.14%{opacity:0}21.89%{opacity:1}30.14%,70.14%{opacity:0}71.89%{opacity:1}80.14%,100%{opacity:0}}
@keyframes ega{0%,5.56%{opacity:0;transform:scale(1)}6.05%{opacity:0.899;transform:scale(1)}8.74%{opacity:0.506;transform:scale(2.05)}11.43%{opacity:0.225;transform:scale(2.8)}14.12%{opacity:0.056;transform:scale(3.25)}16.8%{opacity:0;transform:scale(3.4)}17.18%{opacity:0;transform:scale(1.004)}55.55%{opacity:0;transform:scale(1)}56.05%{opacity:0.899;transform:scale(1)}58.74%{opacity:0.506;transform:scale(2.05)}61.43%{opacity:0.225;transform:scale(2.8)}64.12%{opacity:0.056;transform:scale(3.25)}66.81%{opacity:0;transform:scale(3.4)}67.18%{opacity:0;transform:scale(1.004)}100%{opacity:0;transform:scale(1)}}
@keyframes egb{0%,5.56%{opacity:0}7.31%{opacity:1}15.55%,55.55%{opacity:0}57.3%{opacity:1}65.55%,100%{opacity:0}}
@keyframes egc{0%,3.75%{opacity:.6;transform:scale(1)}7.5%{opacity:1;transform:scale(1.02)}26.25%,53.75%{opacity:.6;transform:scale(1)}57.5%{opacity:1;transform:scale(1.02)}76.25%,100%{opacity:.6;transform:scale(1)}}
@keyframes egd{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes ege{0%,10%{opacity:.6;transform:scale(1)}13.75%{opacity:1;transform:scale(1.02)}32.5%,60%{opacity:.6;transform:scale(1)}63.75%{opacity:1;transform:scale(1.02)}82.5%,100%{opacity:.6;transform:scale(1)}}
@keyframes egf{0%{transform:rotate(0deg)}100%{transform:rotate(-360deg)}}
@keyframes egg{0%,16.25%{opacity:.6;transform:scale(1)}20%{opacity:1;transform:scale(1.02)}38.75%,66.25%{opacity:.6;transform:scale(1)}70%{opacity:1;transform:scale(1.02)}88.75%,100%{opacity:.6;transform:scale(1)}}
@keyframes egh{0%,40.62%{opacity:0;transform:translate(-0px,-0px)}43.88%{opacity:1;transform:translate(-24.25px,-6.32px)}53.62%{opacity:1;transform:translate(-96.99px,-25.28px)}56.88%{opacity:0;transform:translate(-121.24px,-31.6px)}57.25%,90.62%{opacity:0;transform:translate(-0px,-0px)}93.88%{opacity:1;transform:translate(-24.25px,-6.32px)}100%{opacity:1;transform:translate(-96.99px,-25.28px)}100%{opacity:0;transform:translate(-121.24px,-31.6px)}100%{opacity:0;transform:translate(-0px,-0px)}}
@keyframes egi{0%,23.26%{opacity:0;transform:translate(0px,-0px)}26.51%{opacity:1;transform:translate(27.19px,-6.91px)}36.26%{opacity:1;transform:translate(108.76px,-27.66px)}39.51%{opacity:0;transform:translate(135.95px,-34.57px)}39.89%,73.26%{opacity:0;transform:translate(0px,-0px)}76.51%{opacity:1;transform:translate(27.19px,-6.91px)}86.26%{opacity:1;transform:translate(108.76px,-27.66px)}89.51%{opacity:0;transform:translate(135.95px,-34.57px)}89.89%,100%{opacity:0;transform:translate(0px,-0px)}}
@keyframes egj{0%,8.68%{opacity:0;transform:translate(0px,-0px)}11.93%{opacity:1;transform:translate(4.1px,-23.08px)}21.68%{opacity:1;transform:translate(16.39px,-92.31px)}24.93%{opacity:0;transform:translate(20.49px,-115.39px)}25.31%,58.68%{opacity:0;transform:translate(0px,-0px)}61.93%{opacity:1;transform:translate(4.1px,-23.08px)}71.68%{opacity:1;transform:translate(16.39px,-92.31px)}74.93%{opacity:0;transform:translate(20.49px,-115.39px)}75.31%,100%{opacity:0;transform:translate(0px,-0px)}}
@keyframes egk{0%{transform:translateY(0px)}25%{transform:translateY(-7px)}50%{transform:translateY(0px)}75%{transform:translateY(-7px)}100%{transform:translateY(0px)}}
@keyframes egl{0%{opacity:.75;transform:translate(0px,0px)}2.08%{opacity:.75;transform:translate(11.7px,-8.9px)}4.17%{opacity:.75;transform:translate(24.37px,-16.67px)}6.25%{opacity:.75;transform:translate(37.79px,-23.16px)}8.33%{opacity:.75;transform:translate(51.74px,-28.28px)}10.42%{opacity:.75;transform:translate(65.97px,-31.93px)}12.5%{opacity:.75;transform:translate(80.24px,-34.04px)}14.58%{opacity:.75;transform:translate(94.31px,-34.6px)}16.67%{opacity:.75;transform:translate(107.94px,-33.57px)}18.75%{opacity:.75;transform:translate(120.88px,-30.99px)}20.83%{opacity:.75;transform:translate(132.93px,-26.89px)}22.92%{opacity:.75;transform:translate(143.88px,-21.35px)}25%{opacity:.75;transform:translate(153.54px,-14.46px)}27.08%{opacity:.75;transform:translate(161.73px,-6.34px)}29.17%{opacity:.75;transform:translate(168.33px,2.88px)}31.25%{opacity:0;transform:translate(173.22px,13.02px)}33.33%{opacity:0;transform:translate(176.32px,23.93px)}35.42%{opacity:0;transform:translate(177.57px,35.42px)}37.5%{opacity:0;transform:translate(176.95px,47.28px)}39.58%{opacity:0;transform:translate(174.47px,59.32px)}41.67%{opacity:0;transform:translate(170.18px,71.33px)}43.75%{opacity:0;transform:translate(164.15px,83.1px)}45.83%{opacity:0;transform:translate(156.48px,94.43px)}47.92%{opacity:0;transform:translate(147.3px,105.13px)}50%{opacity:0;transform:translate(136.77px,115.01px)}52.08%{opacity:0;transform:translate(125.07px,123.91px)}54.17%{opacity:0;transform:translate(112.4px,131.68px)}56.25%{opacity:0;transform:translate(98.98px,138.18px)}58.33%{opacity:0;transform:translate(85.03px,143.29px)}60.42%{opacity:0;transform:translate(70.8px,146.94px)}62.5%{opacity:0;transform:translate(56.53px,149.06px)}64.58%{opacity:0;transform:translate(42.46px,149.61px)}66.67%{opacity:0;transform:translate(28.83px,148.59px)}68.75%{opacity:0;transform:translate(15.88px,146px)}70.83%{opacity:0;transform:translate(3.83px,141.91px)}72.92%{opacity:0;transform:translate(-7.11px,136.36px)}75%{opacity:0;transform:translate(-16.77px,129.47px)}77.08%{opacity:0;transform:translate(-24.96px,121.35px)}79.17%{opacity:0;transform:translate(-31.57px,112.14px)}81.25%{opacity:.75;transform:translate(-36.46px,101.99px)}83.33%{opacity:.75;transform:translate(-39.55px,91.08px)}85.42%{opacity:.75;transform:translate(-40.8px,79.59px)}87.5%{opacity:.75;transform:translate(-40.18px,67.73px)}89.58%{opacity:.75;transform:translate(-37.71px,55.69px)}91.67%{opacity:.75;transform:translate(-33.41px,43.69px)}93.75%{opacity:.75;transform:translate(-27.38px,31.92px)}95.83%{opacity:.75;transform:translate(-19.71px,20.59px)}97.92%{opacity:.75;transform:translate(-10.53px,9.89px)}100%{opacity:.75;transform:translate(-0px,0px)}}
@keyframes egm{0%,6.88%{opacity:0}8.38%{opacity:1}15.62%,24.93%{opacity:0}26.43%{opacity:1}33.68%,39.51%{opacity:0}41.01%{opacity:1}48.26%,56.88%{opacity:0}58.38%{opacity:1}65.62%,74.93%{opacity:0}76.43%{opacity:1}83.68%,89.51%{opacity:0}91.01%{opacity:1}98.26%,100%{opacity:0}}
@keyframes egn{0%{transform:rotate(0deg) scale(1,-0.893) rotate(0deg)}5.56%{transform:rotate(11deg) scale(1,-0.8896) rotate(0deg)}11.11%{transform:rotate(21.4deg) scale(1,-0.8795) rotate(0deg)}16.67%{transform:rotate(30.77deg) scale(1,-0.8626) rotate(0deg)}22.22%{transform:rotate(38.97deg) scale(1,-0.8392) rotate(0deg)}27.78%{transform:rotate(46.02deg) scale(1,-0.8094) rotate(0deg)}33.33%{transform:rotate(52.07deg) scale(1,-0.7734) rotate(0deg)}38.89%{transform:rotate(57.27deg) scale(1,-0.7315) rotate(0deg)}44.44%{transform:rotate(61.8deg) scale(1,-0.6841) rotate(0deg)}50%{transform:rotate(65.77deg) scale(1,-0.6315) rotate(0deg)}55.56%{transform:rotate(69.31deg) scale(1,-0.574) rotate(0deg)}61.11%{transform:rotate(72.51deg) scale(1,-0.5122) rotate(0deg)}66.67%{transform:rotate(75.44deg) scale(1,-0.4465) rotate(0deg)}72.22%{transform:rotate(78.15deg) scale(1,-0.3774) rotate(0deg)}77.78%{transform:rotate(80.7deg) scale(1,-0.3054) rotate(0deg)}83.33%{transform:rotate(83.12deg) scale(1,-0.2311) rotate(0deg)}88.89%{transform:rotate(85.46deg) scale(1,-0.1551) rotate(0deg)}94.44%{transform:rotate(87.75deg) scale(1,-0.0778) rotate(0deg)}100%{transform:rotate(90deg) scale(1,-0) rotate(0deg)}}
@keyframes ego{0%{transform:rotate(65.77deg) scale(1,-0.6315) rotate(0deg)}5.56%{transform:rotate(69.31deg) scale(1,-0.574) rotate(0deg)}11.11%{transform:rotate(72.51deg) scale(1,-0.5122) rotate(0deg)}16.67%{transform:rotate(75.44deg) scale(1,-0.4465) rotate(0deg)}22.22%{transform:rotate(78.15deg) scale(1,-0.3774) rotate(0deg)}27.78%{transform:rotate(80.7deg) scale(1,-0.3054) rotate(0deg)}33.33%{transform:rotate(83.12deg) scale(1,-0.2311) rotate(0deg)}38.89%{transform:rotate(85.46deg) scale(1,-0.1551) rotate(0deg)}44.44%{transform:rotate(87.75deg) scale(1,-0.0778) rotate(0deg)}50%{transform:rotate(90deg) scale(1,-0) rotate(0deg)}55.56%{transform:rotate(92.25deg) scale(1,0.0778) rotate(0deg)}61.11%{transform:rotate(94.54deg) scale(1,0.1551) rotate(0deg)}66.67%{transform:rotate(96.88deg) scale(1,0.2311) rotate(-0deg)}72.22%{transform:rotate(99.3deg) scale(1,0.3054) rotate(0deg)}77.78%{transform:rotate(101.85deg) scale(1,0.3774) rotate(0deg)}83.33%{transform:rotate(104.56deg) scale(1,0.4465) rotate(0deg)}88.89%{transform:rotate(107.49deg) scale(1,0.5122) rotate(0deg)}94.44%{transform:rotate(110.69deg) scale(1,0.574) rotate(0deg)}100%{transform:rotate(114.23deg) scale(1,0.6315) rotate(0deg)}}
@keyframes egp{0%{transform:rotate(90deg) scale(1,-0) rotate(0deg)}5.56%{transform:rotate(92.25deg) scale(1,0.0778) rotate(0deg)}11.11%{transform:rotate(94.54deg) scale(1,0.1551) rotate(0deg)}16.67%{transform:rotate(96.88deg) scale(1,0.2311) rotate(-0deg)}22.22%{transform:rotate(99.3deg) scale(1,0.3054) rotate(0deg)}27.78%{transform:rotate(101.85deg) scale(1,0.3774) rotate(0deg)}33.33%{transform:rotate(104.56deg) scale(1,0.4465) rotate(0deg)}38.89%{transform:rotate(107.49deg) scale(1,0.5122) rotate(0deg)}44.44%{transform:rotate(110.69deg) scale(1,0.574) rotate(0deg)}50%{transform:rotate(114.23deg) scale(1,0.6315) rotate(0deg)}55.56%{transform:rotate(118.2deg) scale(1,0.6841) rotate(0deg)}61.11%{transform:rotate(122.73deg) scale(1,0.7315) rotate(0deg)}66.67%{transform:rotate(127.93deg) scale(1,0.7734) rotate(0deg)}72.22%{transform:rotate(133.98deg) scale(1,0.8094) rotate(0deg)}77.78%{transform:rotate(141.03deg) scale(1,0.8392) rotate(0deg)}83.33%{transform:rotate(149.23deg) scale(1,0.8626) rotate(0deg)}88.89%{transform:rotate(158.6deg) scale(1,0.8795) rotate(0deg)}94.44%{transform:rotate(169deg) scale(1,0.8896) rotate(0deg)}100%{transform:rotate(180deg) scale(1,0.893) rotate(0deg)}}
@keyframes egq{0%{transform:rotate(114.23deg) scale(1,0.6315) rotate(0deg)}5.56%{transform:rotate(118.2deg) scale(1,0.6841) rotate(0deg)}11.11%{transform:rotate(122.73deg) scale(1,0.7315) rotate(0deg)}16.67%{transform:rotate(127.93deg) scale(1,0.7734) rotate(0deg)}22.22%{transform:rotate(133.98deg) scale(1,0.8094) rotate(0deg)}27.78%{transform:rotate(141.03deg) scale(1,0.8392) rotate(0deg)}33.33%{transform:rotate(149.23deg) scale(1,0.8626) rotate(0deg)}38.89%{transform:rotate(158.6deg) scale(1,0.8795) rotate(0deg)}44.44%{transform:rotate(169deg) scale(1,0.8896) rotate(0deg)}50%{transform:rotate(180deg) scale(1,0.893) rotate(0deg)}55.56%{transform:rotate(191deg) scale(1,0.8896) rotate(0deg)}61.11%{transform:rotate(201.4deg) scale(1,0.8795) rotate(0deg)}66.67%{transform:rotate(210.77deg) scale(1,0.8626) rotate(0deg)}72.22%{transform:rotate(218.97deg) scale(1,0.8392) rotate(0deg)}77.78%{transform:rotate(226.02deg) scale(1,0.8094) rotate(0deg)}83.33%{transform:rotate(232.07deg) scale(1,0.7734) rotate(0deg)}88.89%{transform:rotate(237.27deg) scale(1,0.7315) rotate(0deg)}94.44%{transform:rotate(241.8deg) scale(1,0.6841) rotate(0deg)}100%{transform:rotate(245.77deg) scale(1,0.6315) rotate(0deg)}}
@keyframes egr{0%{opacity:0;transform:translate(0px,0px)}2.08%{opacity:0;transform:translate(11.7px,-8.9px)}4.17%{opacity:0;transform:translate(24.37px,-16.67px)}6.25%{opacity:0;transform:translate(37.79px,-23.16px)}8.33%{opacity:0;transform:translate(51.74px,-28.28px)}10.42%{opacity:0;transform:translate(65.97px,-31.93px)}12.5%{opacity:0;transform:translate(80.24px,-34.04px)}14.58%{opacity:0;transform:translate(94.31px,-34.6px)}16.67%{opacity:0;transform:translate(107.94px,-33.57px)}18.75%{opacity:0;transform:translate(120.88px,-30.99px)}20.83%{opacity:0;transform:translate(132.93px,-26.89px)}22.92%{opacity:0;transform:translate(143.88px,-21.35px)}25%{opacity:0;transform:translate(153.54px,-14.46px)}27.08%{opacity:0;transform:translate(161.73px,-6.34px)}29.17%{opacity:0;transform:translate(168.33px,2.88px)}31.25%{opacity:1;transform:translate(173.22px,13.02px)}33.33%{opacity:1;transform:translate(176.32px,23.93px)}35.42%{opacity:1;transform:translate(177.57px,35.42px)}37.5%{opacity:1;transform:translate(176.95px,47.28px)}39.58%{opacity:1;transform:translate(174.47px,59.32px)}41.67%{opacity:1;transform:translate(170.18px,71.33px)}43.75%{opacity:1;transform:translate(164.15px,83.1px)}45.83%{opacity:1;transform:translate(156.48px,94.43px)}47.92%{opacity:1;transform:translate(147.3px,105.13px)}50%{opacity:1;transform:translate(136.77px,115.01px)}52.08%{opacity:1;transform:translate(125.07px,123.91px)}54.17%{opacity:1;transform:translate(112.4px,131.68px)}56.25%{opacity:1;transform:translate(98.98px,138.18px)}58.33%{opacity:1;transform:translate(85.03px,143.29px)}60.42%{opacity:1;transform:translate(70.8px,146.94px)}62.5%{opacity:1;transform:translate(56.53px,149.06px)}64.58%{opacity:1;transform:translate(42.46px,149.61px)}66.67%{opacity:1;transform:translate(28.83px,148.59px)}68.75%{opacity:1;transform:translate(15.88px,146px)}70.83%{opacity:1;transform:translate(3.83px,141.91px)}72.92%{opacity:1;transform:translate(-7.11px,136.36px)}75%{opacity:1;transform:translate(-16.77px,129.47px)}77.08%{opacity:1;transform:translate(-24.96px,121.35px)}79.17%{opacity:1;transform:translate(-31.57px,112.14px)}81.25%{opacity:0;transform:translate(-36.46px,101.99px)}83.33%{opacity:0;transform:translate(-39.55px,91.08px)}85.42%{opacity:0;transform:translate(-40.8px,79.59px)}87.5%{opacity:0;transform:translate(-40.18px,67.73px)}89.58%{opacity:0;transform:translate(-37.71px,55.69px)}91.67%{opacity:0;transform:translate(-33.41px,43.69px)}93.75%{opacity:0;transform:translate(-27.38px,31.92px)}95.83%{opacity:0;transform:translate(-19.71px,20.59px)}97.92%{opacity:0;transform:translate(-10.53px,9.89px)}100%{opacity:0;transform:translate(-0px,0px)}}
}
/* engines: aura verification chip, lanes and drift rejection, dark 3D, loop 8s */
@media (prefers-reduced-motion:no-preference){
.ea0,.ea1,.ea2,.ea3,.ea4,.ea5,.ea6,.ea7,.ea8,.ea9,.eaa,.eab,.eac,.ead,.eae,.eaf,.eag,.eah,.eai,.eaj,.eak,.eal,.eam,.ean,.eao,.eap,.eaq,.ear,.eas,.eat,.eau{transform-box:fill-box;transform-origin:center}.ea0{animation:ea0 8s ease-in-out infinite}.ea1{animation:ea1 8s linear infinite}.ea2{animation:ea2 8s linear infinite}.ea3{animation:ea3 8s linear infinite}.ea4{animation:ea4 8s linear infinite}.ea5{animation:ea5 8s ease-in-out infinite}.ea6{animation:ea6 8s linear infinite}.ea7{animation:ea7 8s linear infinite}.ea8{animation:ea8 8s linear infinite}.ea9{animation:ea9 8s linear infinite}.eaa{animation:eaa 8s ease-out infinite}.eab{animation:eab 8s linear infinite}.eac{animation:eac 8s ease-out infinite}.ead{animation:ead 8s linear infinite}.eae{animation:eae 8s ease-out infinite}.eaf{animation:eaf 8s cubic-bezier(.2,.6,.3,1) infinite}.eag{animation:eag 8s cubic-bezier(.2,.6,.3,1) infinite}.eah{animation:eah 8s linear infinite}.eai{animation:eai 8s ease-in-out infinite}.eaj{animation:eaj 8s linear infinite}.eak{animation:eak 8s linear infinite}.eal{animation:eal 8s linear infinite}.eam{animation:eam 8s linear infinite}.ean{animation:ean 8s linear infinite}.eao{animation:eao 8s linear infinite}.eap{animation:eap 8s linear infinite}.eaq{animation:eaq 8s linear infinite}.ear{animation:ear 8s linear infinite}.eas{animation:eas 8s linear infinite}.eat{animation:eat 8s ease-out infinite}.eau{animation:eau 8s linear infinite}
@keyframes ea0{0%{opacity:1}25%{opacity:.7}50%{opacity:1}75%{opacity:.7}100%{opacity:1}}
@keyframes ea1{0%{opacity:0;transform:translate(-0px,-0px)}6%{opacity:1;transform:translate(-8.92px,-0.85px)}44%{opacity:1;transform:translate(-65.42px,-6.26px)}50%{opacity:0;transform:translate(-74.34px,-7.11px)}50.25%{opacity:0;transform:translate(-0px,-0px)}56%{opacity:1;transform:translate(-8.92px,-0.85px)}94%{opacity:1;transform:translate(-65.42px,-6.26px)}100%{opacity:0;transform:translate(-74.34px,-7.11px)}}
@keyframes ea2{0%{opacity:1;transform:translate(0px,-0px)}31.5%{opacity:1;transform:translate(60.02px,-15.59px)}37.5%{opacity:0;transform:translate(71.45px,-18.56px)}37.75%{opacity:0;transform:translate(-23.82px,6.19px)}43.5%{opacity:1;transform:translate(-12.38px,3.22px)}81.5%{opacity:1;transform:translate(60.02px,-15.59px)}87.5%{opacity:0;transform:translate(71.45px,-18.56px)}87.75%{opacity:0;transform:translate(-23.82px,6.19px)}93.5%{opacity:1;transform:translate(-12.38px,3.22px)}100%{opacity:1;transform:translate(0px,-0px)}}
@keyframes ea3{0%{opacity:1;transform:translate(0px,0px)}19%{opacity:1;transform:translate(24.83px,5.94px)}25%{opacity:0;transform:translate(32.67px,7.82px)}25.25%{opacity:0;transform:translate(-32.67px,-7.82px)}31%{opacity:1;transform:translate(-24.83px,-5.94px)}69%{opacity:1;transform:translate(24.83px,5.94px)}75%{opacity:0;transform:translate(32.67px,7.82px)}75.25%{opacity:0;transform:translate(-32.67px,-7.82px)}81%{opacity:1;transform:translate(-24.83px,-5.94px)}100%{opacity:1;transform:translate(0px,0px)}}
@keyframes ea4{0%{opacity:1;transform:translate(-0px,0px)}6.5%{opacity:1;transform:translate(-9.63px,3.39px)}12.5%{opacity:0;transform:translate(-18.52px,6.51px)}12.75%{opacity:0;transform:translate(55.55px,-19.53px)}18.5%{opacity:1;transform:translate(46.67px,-16.41px)}56.5%{opacity:1;transform:translate(-9.63px,3.39px)}62.5%{opacity:0;transform:translate(-18.52px,6.51px)}62.75%{opacity:0;transform:translate(55.55px,-19.53px)}68.5%{opacity:1;transform:translate(46.67px,-16.41px)}100%{opacity:1;transform:translate(-0px,0px)}}
@keyframes ea5{0%,38.75%{opacity:0;transform:translate(0px,0px)}41.25%{opacity:1;transform:translate(0px,0px)}53.75%,62.5%{opacity:1;transform:translate(10.39px,-2.7px)}71.25%{opacity:0;transform:translate(-25.98px,6.75px)}71.62%,100%{opacity:0;transform:translate(0px,0px)}}
@keyframes ea6{0%{opacity:0}1.75%{opacity:1}10%,100%{opacity:0}}
@keyframes ea7{0%,37.5%{opacity:0}39.25%{opacity:1}47.5%,87.5%{opacity:0}89.25%{opacity:1}97.5%,100%{opacity:0}}
@keyframes ea8{0%,25%{opacity:0}26.75%{opacity:1}35%,75%{opacity:0}76.75%{opacity:1}85%,100%{opacity:0}}
@keyframes ea9{0%,12.5%{opacity:0}14.25%{opacity:1}22.5%,62.5%{opacity:0}64.25%{opacity:1}72.5%,100%{opacity:0}}
@keyframes eaa{0%,3.75%{opacity:.6;transform:scale(1)}7.5%{opacity:1;transform:scale(1.02)}26.25%,53.75%{opacity:.6;transform:scale(1)}57.5%{opacity:1;transform:scale(1.02)}76.25%,100%{opacity:.6;transform:scale(1)}}
@keyframes eab{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes eac{0%,10%{opacity:.6;transform:scale(1)}13.75%{opacity:1;transform:scale(1.02)}32.5%,60%{opacity:.6;transform:scale(1)}63.75%{opacity:1;transform:scale(1.02)}82.5%,100%{opacity:.6;transform:scale(1)}}
@keyframes ead{0%{transform:rotate(0deg)}100%{transform:rotate(-360deg)}}
@keyframes eae{0%,16.25%{opacity:.6;transform:scale(1)}20%{opacity:1;transform:scale(1.02)}38.75%,66.25%{opacity:.6;transform:scale(1)}70%{opacity:1;transform:scale(1.02)}88.75%,100%{opacity:.6;transform:scale(1)}}
@keyframes eaf{0%,30%{opacity:0;transform:scale(1)}30.5%{opacity:0.8;transform:scale(1)}48.75%{opacity:0;transform:scale(3.1)}49.12%,80%{opacity:0;transform:scale(1)}80.5%{opacity:0.8;transform:scale(1)}98.75%{opacity:0;transform:scale(3.1)}99.13%,100%{opacity:0;transform:scale(1)}}
@keyframes eag{0%,54.37%{opacity:0;transform:scale(1)}54.87%{opacity:0.9;transform:scale(1)}61.87%{opacity:0;transform:scale(2.6)}62.25%,58.75%{opacity:0;transform:scale(1)}59.25%{opacity:0.9;transform:scale(1)}66.25%{opacity:0;transform:scale(2.6)}66.62%,100%{opacity:0;transform:scale(1)}}
@keyframes eah{0%,54.37%{opacity:0;transform:scale(0)}57.5%,66.25%{opacity:1;transform:scale(1)}70.62%,100%{opacity:0;transform:scale(0)}}
@keyframes eai{0%{transform:translateY(0px)}25%{transform:translateY(-7px)}50%{transform:translateY(0px)}75%{transform:translateY(-7px)}100%{transform:translateY(0px)}}
@keyframes eaj{0%,12.5%{opacity:0}13.75%{opacity:1}20%,25%{opacity:0}26.25%{opacity:1}32.5%,37.5%{opacity:0}38.75%{opacity:1}45%,50%{opacity:0}51.25%{opacity:1}57.5%,62.5%{opacity:0}63.75%{opacity:1}70%,75%{opacity:0}76.25%{opacity:1}82.5%,87.5%{opacity:0}88.75%{opacity:1}95%,100%{opacity:0}}
@keyframes eak{0%,25%{opacity:0}26%{opacity:0.95}30%{opacity:0.303}31%{opacity:0.141}31.87%,80%{opacity:0}81%{opacity:0.95}86.88%,100%{opacity:0}}
@keyframes eal{0%,31%{opacity:0}32%{opacity:0.95}37.88%,75%{opacity:0}76%{opacity:0.95}81%{opacity:0.141}81.88%{opacity:0}82%{opacity:0.95}87.88%,100%{opacity:0}}
@keyframes eam{0%,32%{opacity:0}33%{opacity:0.95}38.88%,50%{opacity:0}51%{opacity:0.95}56.88%,82%{opacity:0}83%{opacity:0.95}88.88%,100%{opacity:0}}
@keyframes ean{0%,33%{opacity:0}34%{opacity:0.95}39.88%,83%{opacity:0}84%{opacity:0.95}89.88%,100%{opacity:0}}
@keyframes eao{0%,12.5%{opacity:0}13.5%{opacity:0.95}19.38%,34%{opacity:0}35%{opacity:0.95}40.88%,84%{opacity:0}85%{opacity:0.95}90.88%,100%{opacity:0}}
@keyframes eap{0%,35%{opacity:0}36%{opacity:0.95}41.88%,85%{opacity:0}86%{opacity:0.95}91.88%,100%{opacity:0}}
@keyframes eaq{0%,36%{opacity:0}37%{opacity:0.95}42.88%,62.5%{opacity:0}63.5%{opacity:0.95}69.38%,86%{opacity:0}87%{opacity:0.95}92.88%,100%{opacity:0}}
@keyframes ear{0%,37%{opacity:0}38%{opacity:0.95}43.88%,87.5%{opacity:0}88%{opacity:0.475}88.5%{opacity:0.95}93.88%{opacity:0.081}94.38%,100%{opacity:0}}
@keyframes eas{0%,37.5%{opacity:0}38%{opacity:0.475}38.5%{opacity:0.95}39%{opacity:0.869}44.38%,88%{opacity:0}89%{opacity:0.95}94.88%,100%{opacity:0}}
@keyframes eat{0%,38.75%{opacity:0;transform:scale(0) rotate(0deg)}41.87%{opacity:1;transform:scale(1) rotate(45deg)}48.75%{opacity:0;transform:scale(.3) rotate(90deg)}49.12%,88.75%{opacity:0;transform:scale(0) rotate(0deg)}91.88%{opacity:1;transform:scale(1) rotate(45deg)}98.75%{opacity:0;transform:scale(.3) rotate(90deg)}99.13%,100%{opacity:0;transform:scale(0) rotate(0deg)}}
@keyframes eau{0%{opacity:0.857;transform:scale(1)}3.75%{opacity:0;transform:scale(1)}33.75%{opacity:0;transform:scale(0)}37.5%,49.38%{opacity:1;transform:scale(1)}53.75%{opacity:0;transform:scale(1)}83.75%{opacity:0;transform:scale(0)}87.5%,99.38%{opacity:1;transform:scale(1)}100%{opacity:0.857;transform:scale(1)}}
}
/* engines: pedigree ledger stack, custody chain and trust score, dark 3D, loop 8s */
@media (prefers-reduced-motion:no-preference){
.ep0,.ep1,.ep2,.ep3,.ep4,.ep5,.ep6,.ep7,.ep8,.ep9,.epa,.epb,.epc,.epd,.epe,.epf,.epg,.eph,.epi,.epj,.epk,.epl,.epm,.epn,.epo,.epp,.epq,.epr,.eps,.ept{transform-box:fill-box;transform-origin:center}.ep0{animation:ep0 8s ease-in-out infinite}.ep1{animation:ep1 8s cubic-bezier(.45,0,.25,1) infinite}.ep2{animation:ep2 8s linear infinite}.ep3{animation:ep3 8s linear infinite}.ep4{animation:ep4 8s linear infinite}.ep5{animation:ep5 8s linear infinite}.ep6{animation:ep6 8s ease-out infinite}.ep7{animation:ep7 8s linear infinite}.ep8{animation:ep8 8s ease-out infinite}.ep9{animation:ep9 8s linear infinite}.epa{animation:epa 8s ease-out infinite}.epb{animation:epb 8s cubic-bezier(.2,.6,.3,1) infinite}.epc{animation:epc 8s linear infinite}.epd{animation:epd 8s cubic-bezier(.2,.6,.3,1) infinite}.epe{animation:epe 8s ease-in-out infinite}.epf{animation:epf 8s cubic-bezier(.45,0,.25,1) infinite}.epg{animation:epg 8s cubic-bezier(.45,0,.25,1) infinite}.eph{animation:eph 8s cubic-bezier(.45,0,.25,1) infinite}.epi{animation:epi 8s linear infinite}.epj{animation:epj 8s linear infinite}.epk{animation:epk 8s linear infinite}.epl{animation:epl 8s linear infinite}.epm{animation:epm 8s linear infinite}.epn{animation:epn 8s cubic-bezier(.45,0,.25,1) infinite}.epo{animation:epo 8s cubic-bezier(.45,0,.25,1) infinite}.epp{animation:epp 8s ease-out infinite}.epq{animation:epq 8s linear infinite}.epr{animation:epr 8s linear infinite}.eps{animation:eps 8s cubic-bezier(.2,.6,.3,1) infinite}.ept{animation:ept 8s linear infinite}
@keyframes ep0{0%{opacity:1}25%{opacity:.7}50%{opacity:1}75%{opacity:.7}100%{opacity:1}}
@keyframes ep1{0%,0.62%{opacity:0;transform:translate(0px,0px)}1.88%{opacity:1;transform:translate(0px,0px)}6.88%,8.75%{opacity:1;transform:translate(-177.54px,19.92px)}13.75%,15.62%{opacity:1;transform:translate(-202.1px,106.87px)}20.62%,21.88%{opacity:1;transform:translate(5.61px,148.18px)}25.62%{opacity:1;transform:translate(-56.19px,62.58px)}26.62%{opacity:0;transform:translate(-56.19px,62.58px)}27%,100%{opacity:0;transform:translate(0px,0px)}}
@keyframes ep2{0%,1.88%{opacity:0}3.62%{opacity:1}11.88%,100%{opacity:0}}
@keyframes ep3{0%,6.88%{opacity:0}8.62%{opacity:1}16.88%,100%{opacity:0}}
@keyframes ep4{0%,13.75%{opacity:0}15.5%{opacity:1}23.75%,100%{opacity:0}}
@keyframes ep5{0%,20.62%{opacity:0}22.38%{opacity:1}30.63%,100%{opacity:0}}
@keyframes ep6{0%,26.25%{opacity:.6;transform:scale(1)}30%{opacity:1;transform:scale(1.02)}48.75%,65%{opacity:.6;transform:scale(1)}68.75%{opacity:1;transform:scale(1.02)}87.5%,100%{opacity:.6;transform:scale(1)}}
@keyframes ep7{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes ep8{0%,32.5%{opacity:.6;transform:scale(1)}36.25%{opacity:1;transform:scale(1.02)}55%,71.25%{opacity:.6;transform:scale(1)}75%{opacity:1;transform:scale(1.02)}93.75%,100%{opacity:.6;transform:scale(1)}}
@keyframes ep9{0%{transform:rotate(0deg)}100%{transform:rotate(-360deg)}}
@keyframes epa{0%,38.75%{opacity:.6;transform:scale(1)}42.5%{opacity:1;transform:scale(1.02)}61.25%,77.5%{opacity:.6;transform:scale(1)}81.25%{opacity:1;transform:scale(1.02)}100%{opacity:.6;transform:scale(1)}}
@keyframes epb{0%,25.62%{opacity:0;transform:scale(1)}26.12%{opacity:0.85;transform:scale(1)}35.62%{opacity:0;transform:scale(3.4)}36%,100%{opacity:0;transform:scale(1)}}
@keyframes epc{0%,25%{opacity:0}26.25%{opacity:1}30.63%,100%{opacity:0}}
@keyframes epd{0%,90.62%{opacity:0;transform:scale(1)}91.12%{opacity:0.6;transform:scale(1)}98.75%{opacity:0;transform:scale(2.2)}99.13%,100%{opacity:0;transform:scale(1)}}
@keyframes epe{0%{transform:translateY(0px)}25%{transform:translateY(-6px)}50%{transform:translateY(0px)}75%{transform:translateY(-6px)}100%{transform:translateY(0px)}}
@keyframes epf{0%,78.75%{opacity:1;transform:translateY(0px)}95%,100%{opacity:0;transform:translateY(20.54px)}}
@keyframes epg{0%,78.75%{transform:translateY(0px)}95%,100%{transform:translateY(20.54px)}}
@keyframes eph{0%,24.38%{opacity:0;transform:translateY(-32.86px)}26.25%{opacity:1;transform:translateY(-26.29px)}30%{opacity:1;transform:translateY(0px)}31%{opacity:1;transform:translateY(-1.5px)}32.5%,78.75%{opacity:1;transform:translateY(0px)}95%,100%{opacity:1;transform:translateY(20.54px)}}
@keyframes epi{0%,45.62%{opacity:0}46.88%{opacity:1}52.5%,100%{opacity:0}}
@keyframes epj{0%,41.88%{opacity:0}43.12%{opacity:1}48.75%,100%{opacity:0}}
@keyframes epk{0%,38.12%{opacity:0}39.38%{opacity:1}45%,100%{opacity:0}}
@keyframes epl{0%,34.38%{opacity:0}35.62%{opacity:1}41.25%,100%{opacity:0}}
@keyframes epm{0%,30%{opacity:0}30.75%{opacity:1}38.75%,100%{opacity:0}}
@keyframes epn{0%,78.12%{opacity:1}80.62%,94.38%{opacity:0}98.75%,100%{opacity:1}}
@keyframes epo{0%,30%{opacity:0}31.87%,78.12%{opacity:1}80.62%,100%{opacity:0}}
@keyframes epp{0%,30%{opacity:0;transform:scale(0) rotate(0deg)}33.12%{opacity:1;transform:scale(1) rotate(45deg)}40%{opacity:0;transform:scale(.3) rotate(90deg)}40.38%,100%{opacity:0;transform:scale(0) rotate(0deg)}}
@keyframes epq{0%,31.25%{opacity:0;transform:scale(0)}35%,48.75%{opacity:1;transform:scale(1)}53.12%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(0)}}
@keyframes epr{0%,50.62%{opacity:0}51.88%{opacity:1}61.88%,100%{opacity:0}}
@keyframes eps{0%,50.62%{opacity:0;transform:scale(1)}51.12%{opacity:0.8;transform:scale(1)}61.88%{opacity:0;transform:scale(1.5)}62.25%,100%{opacity:0;transform:scale(1)}}
@keyframes ept{0%,46.88%{opacity:0;transform:translate(-0px,-0px)}47.62%{opacity:1;transform:translate(-11.42px,-9.95px)}49.88%{opacity:1;transform:translate(-45.68px,-39.81px)}50.62%{opacity:0;transform:translate(-57.11px,-49.76px)}51%,100%{opacity:0;transform:translate(-0px,-0px)}}
}
/* institutions: data pedigree packet flow, loop 8s */
@media (prefers-reduced-motion:no-preference){
.pd0,.pd1,.pd2,.pd3,.pd4,.pd5,.pd6,.pd7,.pd8,.pd9,.pda,.pdb,.pdc,.pdd,.pde,.pdf,.pdg,.pdh,.pdi,.pdj,.pdk,.pdl,.pdm,.pdn{transform-box:fill-box;transform-origin:center}.pd0{animation:pd0 8s linear infinite}.pd1{animation:pd1 8s linear infinite}.pd2{animation:pd2 8s linear infinite}.pd3{animation:pd3 8s linear infinite}.pd4{animation:pd4 8s linear infinite}.pd5{animation:pd5 8s cubic-bezier(.45,0,.25,1) infinite}.pd6{animation:pd6 8s cubic-bezier(.2,.6,.3,1) infinite}.pd7{animation:pd7 8s cubic-bezier(.45,0,.25,1) infinite}.pd8{animation:pd8 8s cubic-bezier(.2,.6,.3,1) infinite}.pd9{animation:pd9 8s cubic-bezier(.45,0,.25,1) infinite}.pda{animation:pda 8s cubic-bezier(.2,.6,.3,1) infinite}.pdb{animation:pdb 8s cubic-bezier(.45,0,.25,1) infinite}.pdc{animation:pdc 8s cubic-bezier(.2,.6,.3,1) infinite}.pdd{animation:pdd 8s cubic-bezier(.45,0,.25,1) infinite}.pde{animation:pde 8s cubic-bezier(.2,.6,.3,1) infinite}.pdf{animation:pdf 8s cubic-bezier(.45,0,.25,1) infinite}.pdg{animation:pdg 8s cubic-bezier(.2,.6,.3,1) infinite}.pdh{animation:pdh 8s cubic-bezier(.5,0,.4,1) infinite}.pdi{animation:pdi 8s cubic-bezier(.3,.7,.4,1) infinite}.pdj{animation:pdj 8s cubic-bezier(.3,.7,.4,1) infinite}.pdk{animation:pdk 8s cubic-bezier(.3,.7,.4,1) infinite}.pdl{animation:pdl 8s cubic-bezier(.3,.7,.4,1) infinite}.pdm{animation:pdm 8s cubic-bezier(.3,.7,.4,1) infinite}.pdn{animation:pdn 8s cubic-bezier(.3,.7,.4,1) infinite}
@keyframes pd0{0%,7.5%{opacity:0;stroke-dashoffset:1}16.25%,90%{opacity:1;stroke-dashoffset:0}96.25%,100%{opacity:0;stroke-dashoffset:0}}
@keyframes pd1{0%,20.62%{opacity:0;stroke-dashoffset:1}29.37%,90%{opacity:1;stroke-dashoffset:0}96.25%,100%{opacity:0;stroke-dashoffset:0}}
@keyframes pd2{0%,33.75%{opacity:0;stroke-dashoffset:1}42.5%,90%{opacity:1;stroke-dashoffset:0}96.25%,100%{opacity:0;stroke-dashoffset:0}}
@keyframes pd3{0%,46.87%{opacity:0;stroke-dashoffset:1}55.62%,90%{opacity:1;stroke-dashoffset:0}96.25%,100%{opacity:0;stroke-dashoffset:0}}
@keyframes pd4{0%,60%{opacity:0;stroke-dashoffset:1}68.75%,90%{opacity:1;stroke-dashoffset:0}96.25%,100%{opacity:0;stroke-dashoffset:0}}
@keyframes pd5{0%,71.87%{opacity:0;transform:translateY(-14px)}76.88%,90%{opacity:1;transform:none}96.25%,100%{opacity:0;transform:none}}
@keyframes pd6{0%,3.75%{opacity:0;transform:scale(1)}4.25%{opacity:0.9;transform:scale(1)}13.75%{opacity:0;transform:scale(2.1)}14.13%,100%{opacity:0;transform:scale(1)}}
@keyframes pd7{0%,3.12%{opacity:0}6.25%,90%{opacity:1}96.25%,100%{opacity:0}}
@keyframes pd8{0%,16.25%{opacity:0;transform:scale(1)}16.75%{opacity:0.9;transform:scale(1)}26.25%{opacity:0;transform:scale(2.1)}26.62%,100%{opacity:0;transform:scale(1)}}
@keyframes pd9{0%,15.62%{opacity:0}18.75%,90%{opacity:1}96.25%,100%{opacity:0}}
@keyframes pda{0%,29.37%{opacity:0;transform:scale(1)}29.87%{opacity:0.9;transform:scale(1)}39.37%{opacity:0;transform:scale(2.1)}39.75%,100%{opacity:0;transform:scale(1)}}
@keyframes pdb{0%,28.75%{opacity:0}31.87%,90%{opacity:1}96.25%,100%{opacity:0}}
@keyframes pdc{0%,42.5%{opacity:0;transform:scale(1)}43%{opacity:0.9;transform:scale(1)}52.5%{opacity:0;transform:scale(2.1)}52.87%,100%{opacity:0;transform:scale(1)}}
@keyframes pdd{0%,41.87%{opacity:0}45%,90%{opacity:1}96.25%,100%{opacity:0}}
@keyframes pde{0%,55.62%{opacity:0;transform:scale(1)}56.12%{opacity:0.9;transform:scale(1)}65.62%{opacity:0;transform:scale(2.1)}66%,100%{opacity:0;transform:scale(1)}}
@keyframes pdf{0%,55%{opacity:0}58.12%,90%{opacity:1}96.25%,100%{opacity:0}}
@keyframes pdg{0%,68.75%{opacity:0;transform:scale(1)}69.25%{opacity:0.9;transform:scale(1)}78.75%{opacity:0;transform:scale(2.1)}79.12%,100%{opacity:0;transform:scale(1)}}
@keyframes pdh{0%,3.75%{opacity:0;transform:translate(0px,0px) scale(0)}6.25%,7.5%{opacity:1;transform:translate(0px,0px) scale(1)}16.25%,20.62%{opacity:1;transform:translate(110.4px,0px) scale(1)}29.37%,33.75%{opacity:1;transform:translate(220.8px,0px) scale(1)}42.5%,46.87%{opacity:1;transform:translate(331.2px,0px) scale(1)}55.62%,60%{opacity:1;transform:translate(441.6px,0px) scale(1)}68.75%{opacity:1;transform:translate(552px,0px) scale(1)}72.5%,100%{opacity:0;transform:translate(552px,0px) scale(0)}}
@keyframes pdi{0%,3.5%{transform:none}5.75%{transform:scale(1.22)}10.63%,100%{transform:none}}
@keyframes pdj{0%,16%{transform:none}18.25%{transform:scale(1.22)}23.12%,100%{transform:none}}
@keyframes pdk{0%,29.12%{transform:none}31.37%{transform:scale(1.22)}36.25%,100%{transform:none}}
@keyframes pdl{0%,42.25%{transform:none}44.5%{transform:scale(1.22)}49.37%,100%{transform:none}}
@keyframes pdm{0%,55.38%{transform:none}57.62%{transform:scale(1.22)}62.5%,100%{transform:none}}
@keyframes pdn{0%,68.5%{transform:none}70.75%{transform:scale(1.22)}75.62%,100%{transform:none}}
}
/* institutions: jurisdiction evidence stream, dark 3D, loop 10s */
@media (prefers-reduced-motion:no-preference){
.js0,.js1,.js2,.js3,.js4,.js5,.js6,.js7,.js8,.js9,.jsa,.jsb,.jsc,.jsd,.jse,.jsf,.jsg,.jsh,.jsi,.jsj{transform-box:fill-box;transform-origin:center}.js0{animation:js0 10s linear infinite}.js1{animation:js1 10s linear infinite}.js2{animation:js2 10s linear infinite}.js3{animation:js3 10s linear infinite}.js4{animation:js4 10s linear infinite}.js5{animation:js5 10s ease-in-out infinite}.js6{animation:js6 10s linear infinite}.js7{animation:js7 10s linear infinite}.js8{animation:js8 10s linear infinite}.js9{animation:js9 10s ease-out infinite}.jsa{animation:jsa 10s linear infinite}.jsb{animation:jsb 10s ease-out infinite}.jsc{animation:jsc 10s linear infinite}.jsd{animation:jsd 10s ease-out infinite}.jse{animation:jse 10s ease-in-out infinite}.jsf{animation:jsf 10s linear infinite}.jsg{animation:jsg 10s ease-out infinite}.jsh{animation:jsh 10s ease-out infinite}.jsi{animation:jsi 10s cubic-bezier(.2,.6,.3,1) infinite}.jsj{animation:jsj 10s cubic-bezier(.45,0,.25,1) infinite}
@keyframes js0{0%{opacity:0.8;transform:translate(0px,0px)}2%{opacity:1;transform:translate(6.69px,1.34px)}82%{opacity:1;transform:translate(274.17px,54.93px)}92%{opacity:0;transform:translate(307.61px,61.63px)}92.2%{opacity:0;transform:translate(-26.75px,-5.36px)}100%{opacity:0.8;transform:translate(0px,0px)}}
@keyframes js1{0%{opacity:1;transform:translate(0px,0px)}62%{opacity:1;transform:translate(207.3px,41.53px)}72%{opacity:0;transform:translate(240.74px,48.23px)}72.2%{opacity:0;transform:translate(-93.62px,-18.76px)}82%{opacity:1;transform:translate(-60.18px,-12.06px)}100%{opacity:1;transform:translate(0px,0px)}}
@keyframes js2{0%{opacity:1;transform:translate(0px,0px)}42%{opacity:1;transform:translate(140.43px,28.14px)}52%{opacity:0;transform:translate(173.87px,34.83px)}52.2%{opacity:0;transform:translate(-160.49px,-32.15px)}62%{opacity:1;transform:translate(-127.06px,-25.46px)}100%{opacity:1;transform:translate(0px,0px)}}
@keyframes js3{0%{opacity:1;transform:translate(0px,0px)}22%{opacity:1;transform:translate(73.56px,14.74px)}32%{opacity:0;transform:translate(106.99px,21.44px)}32.2%{opacity:0;transform:translate(-227.36px,-45.55px)}42%{opacity:1;transform:translate(-193.93px,-38.85px)}100%{opacity:1;transform:translate(0px,0px)}}
@keyframes js4{0%{opacity:1;transform:translate(0px,0px)}2%{opacity:1;transform:translate(6.69px,1.34px)}12%{opacity:0;transform:translate(40.12px,8.04px)}12.2%{opacity:0;transform:translate(-294.23px,-58.95px)}22%{opacity:1;transform:translate(-260.8px,-52.25px)}100%{opacity:1;transform:translate(0px,0px)}}
@keyframes js5{0%{opacity:1}25%{opacity:.7}50%{opacity:1}75%{opacity:.7}100%{opacity:1}}
@keyframes js6{0%{opacity:1;transform:translate(0px,0px)}39%{opacity:1;transform:translate(209.49px,41.97px)}44%{opacity:0;transform:translate(236.35px,47.35px)}44.2%{opacity:0;transform:translate(-32.23px,-6.46px)}49%{opacity:1;transform:translate(-5.37px,-1.08px)}89%{opacity:1;transform:translate(209.49px,41.97px)}94%{opacity:0;transform:translate(236.35px,47.35px)}94.2%{opacity:0;transform:translate(-32.23px,-6.46px)}99%{opacity:1;transform:translate(-5.37px,-1.08px)}100%{opacity:1;transform:translate(0px,0px)}}
@keyframes js7{0%{opacity:1;transform:translate(0px,0px)}22.5%{opacity:1;transform:translate(120.86px,24.22px)}27.5%{opacity:0;transform:translate(147.72px,29.6px)}27.7%{opacity:0;transform:translate(-120.86px,-24.22px)}32.5%{opacity:1;transform:translate(-94px,-18.83px)}72.5%{opacity:1;transform:translate(120.86px,24.22px)}77.5%{opacity:0;transform:translate(147.72px,29.6px)}77.7%{opacity:0;transform:translate(-120.86px,-24.22px)}82.5%{opacity:1;transform:translate(-94px,-18.83px)}100%{opacity:1;transform:translate(0px,0px)}}
@keyframes js8{0%{opacity:1;transform:translate(0px,0px)}6%{opacity:1;transform:translate(32.23px,6.46px)}11%{opacity:0;transform:translate(59.09px,11.84px)}11.2%{opacity:0;transform:translate(-209.49px,-41.97px)}16%{opacity:1;transform:translate(-182.64px,-36.59px)}56%{opacity:1;transform:translate(32.23px,6.46px)}61%{opacity:0;transform:translate(59.09px,11.84px)}61.2%{opacity:0;transform:translate(-209.49px,-41.97px)}66%{opacity:1;transform:translate(-182.64px,-36.59px)}100%{opacity:1;transform:translate(0px,0px)}}
@keyframes js9{0%,5%{opacity:.6;transform:scale(1)}8%{opacity:1;transform:scale(1.02)}23%,55%{opacity:.6;transform:scale(1)}58%{opacity:1;transform:scale(1.02)}73%,100%{opacity:.6;transform:scale(1)}}
@keyframes jsa{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes jsb{0%,10%{opacity:.6;transform:scale(1)}13%{opacity:1;transform:scale(1.02)}28%,60%{opacity:.6;transform:scale(1)}63%{opacity:1;transform:scale(1.02)}78%,100%{opacity:.6;transform:scale(1)}}
@keyframes jsc{0%{transform:rotate(0deg)}100%{transform:rotate(-360deg)}}
@keyframes jsd{0%,15%{opacity:.6;transform:scale(1)}18%{opacity:1;transform:scale(1.02)}33%,65%{opacity:.6;transform:scale(1)}68%{opacity:1;transform:scale(1.02)}83%,100%{opacity:.6;transform:scale(1)}}
@keyframes jse{0%{transform:translateY(0px)}25%{transform:translateY(-7px)}50%{transform:translateY(0px)}75%{transform:translateY(-7px)}100%{transform:translateY(0px)}}
@keyframes jsf{0%,60%{opacity:0;transform:translateY(0px)}62.5%{opacity:1;transform:translateY(0px)}77.5%{opacity:1;transform:translateY(-69.66px)}80%{opacity:0;transform:translateY(-69.66px)}80.5%,100%{opacity:0;transform:translateY(0px)}}
@keyframes jsg{0%,11%{opacity:0}12.2%{opacity:0.9}19.2%,27.5%{opacity:0}28.7%{opacity:0.9}35.7%,44%{opacity:0}45.2%{opacity:0.9}52.2%,61%{opacity:0}62.2%{opacity:0.9}69.2%,77.5%{opacity:0}78.7%{opacity:0.9}85.7%,94%{opacity:0}95.2%{opacity:0.9}100%{opacity:0}}
@keyframes jsh{0%,82%{opacity:0;transform:scale(0) rotate(0deg)}84.5%{opacity:1;transform:scale(1) rotate(45deg)}90.5%{opacity:0;transform:scale(.3) rotate(90deg)}90.8%,100%{opacity:0;transform:scale(0) rotate(0deg)}}
@keyframes jsi{0%,82.5%{opacity:0;transform:scale(1)}82.9%{opacity:0.9;transform:scale(1)}92.5%{opacity:0;transform:scale(2.4)}92.8%,100%{opacity:0;transform:scale(1)}}
@keyframes jsj{0%,80.5%{opacity:0;transform:scale(0)}84%,93%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
}
/* ==== LOOPS:END ==== */
