:root {
  --ink: #0d1117;
  --ink-2: #202631;
  --muted: #667080;
  --muted-2: #6e7785;
  --line: #e5e9ef;
  --line-strong: #d7dde6;
  --surface: #ffffff;
  --soft: #f7f9fc;
  --soft-blue: #f2f6ff;
  --blue: #175cff;
  --blue-2: #0d45d8;
  --cyan: #12a9d9;
  --green: #087f5b;
  --amber: #925b00;
  --red: #b94032;
  --shadow-sm: 0 1px 2px rgba(13, 17, 23, .04), 0 8px 28px rgba(23, 40, 72, .05);
  --shadow-md: 0 22px 70px rgba(23, 40, 72, .10), 0 2px 10px rgba(13, 17, 23, .04);
  --radius-sm: 12px;
  --radius: 22px;
  --radius-lg: 32px;
  --shell: 1200px;
  --header-h: 76px;
  --ease: cubic-bezier(.22, 1, .36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 18px); }
body {
  margin: 0;
  color: var(--ink);
  background: var(--surface);
  font-family: Inter, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  font-feature-settings: "palt" 1, "kern" 1;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body::selection { background: rgba(23, 92, 255, .16); }
a { color: inherit; text-decoration: none; }
:where(a, button, input):focus-visible { outline: 3px solid rgba(23, 92, 255, .42); outline-offset: 3px; }
img, svg { max-width: 100%; }
button, input { font: inherit; }
strong, h1, h2, h3 { letter-spacing: -.03em; }
p, h1, h2, h3, blockquote { margin-top: 0; }

.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 999;
  transform: translateY(-160%);
  padding: 10px 14px;
  border-radius: 8px;
  color: #fff;
  background: var(--ink);
  transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }

.shell { width: min(calc(100% - 48px), var(--shell)); margin-inline: auto; }
.section-pad { padding: 132px 0; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  height: var(--header-h);
  border-bottom: 1px solid rgba(229, 233, 239, .92);
  /* Solid sticky bar so mid-page diagrams never show through the header. */
  background: #fff;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.header-inner { height: 100%; display: flex; align-items: center; gap: 34px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 224px; }
.brand-mark {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--ink);
  border-radius: 10px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
}
.brand-copy { display: flex; flex-direction: column; line-height: 1.1; }
.brand-copy strong { font-size: 15px; letter-spacing: -.02em; }
.brand-copy small { margin-top: 6px; color: var(--muted-2); font-size: 9px; font-weight: 750; letter-spacing: .14em; }
.desktop-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.desktop-nav a { position: relative; color: var(--muted); font-size: 13px; font-weight: 700; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 1px; background: var(--ink); transition: right .3s var(--ease); }
.desktop-nav a:hover { color: var(--ink); }
.desktop-nav a:hover::after { right: 0; }
.header-archive {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: 10px;
  padding: 10px 15px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
  transition: border-color .25s, background .25s, transform .25s var(--ease);
}
.header-archive:hover { border-color: var(--ink); background: var(--soft); transform: translateY(-1px); }
.reading-progress { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; overflow: hidden; }
.reading-progress span { display: block; width: 100%; height: 100%; background: var(--blue); transform: scaleX(0); transform-origin: left; will-change: transform; }

.hero {
  position: relative;
  min-height: calc(100vh - var(--header-h));
  min-height: calc(100svh - var(--header-h));
  display: grid;
  align-items: center;
  overflow: hidden;
  padding-top: 92px;
  padding-bottom: 96px;
  background:
    radial-gradient(circle at 76% 38%, rgba(23, 92, 255, .075), transparent 31%),
    radial-gradient(circle at 13% 5%, rgba(18, 169, 217, .045), transparent 25%),
    #fff;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .36;
  background-image: linear-gradient(rgba(13,17,23,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(13,17,23,.035) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.4), transparent 78%);
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.4), transparent 78%);
}
.hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(470px, .98fr);
  grid-template-areas:
    "head visual"
    "details visual";
  column-gap: clamp(48px, 7vw, 94px);
  row-gap: 0;
  align-items: center;
}
.hero-head { grid-area: head; align-self: end; }
.hero-details { grid-area: details; align-self: start; padding-top: 28px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 28px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.eyebrow > span:last-child { margin-left: 4px; padding-left: 14px; border-left: 1px solid var(--line-strong); color: var(--muted-2); }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(8,127,91,.10); }
.hero h1 { max-width: 760px; margin-bottom: 0; font-size: clamp(45px, 5.1vw, 76px); line-height: 1.08; letter-spacing: -.062em; }
.hero h1 em { color: var(--blue); font-style: normal; }
.hero-disclaimer { display: inline-flex; align-items: center; gap: 8px; margin: 22px 0 0; padding: 8px 12px; border-left: 3px solid var(--blue); border-radius: 0 10px 10px 0; color: var(--muted); background: rgba(242,246,255,.82); font-size: 11px; line-height: 1.5; }
.hero-disclaimer strong { color: var(--ink); }
.hero-lead { max-width: 680px; margin-bottom: 34px; color: var(--ink-2); font-size: clamp(16px, 1.5vw, 19px); line-height: 1.9; letter-spacing: .01em; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 780;
  letter-spacing: -.01em;
  transition: transform .25s var(--ease), box-shadow .25s, background .25s, border-color .25s;
}
.button:hover { transform: translateY(-2px); }
.button-primary { color: #fff; background: var(--ink); box-shadow: 0 8px 24px rgba(13,17,23,.14); }
.button-primary:hover { background: #20242b; box-shadow: 0 12px 32px rgba(13,17,23,.2); }
.button-quiet { border-color: var(--line-strong); background: rgba(255,255,255,.7); }
.button-quiet:hover { border-color: var(--ink); background: #fff; }
.micro-note { margin: 14px 0 0; color: var(--muted-2); font-size: 11px; }

.hero-visual {
  grid-area: visual;
  position: relative;
  min-height: 640px;
  padding: 25px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow-md);
  isolation: isolate;
}
.hero-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(rgba(23,92,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(23,92,255,.025) 1px, transparent 1px);
  background-size: 24px 24px;
}
.visual-topline { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; }
.visual-topline span { color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.visual-topline small { padding: 4px 8px; border-radius: 999px; color: var(--green); background: rgba(8,127,91,.08); font-size: 9px; font-weight: 750; }
.front-rails { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.front-rail { display: grid; grid-template-columns: 31px 1fr; align-items: center; column-gap: 10px; min-height: 66px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.86); }
.front-rail strong { font-size: 12px; letter-spacing: -.02em; }
.front-rail small { grid-column: 2; margin-top: -6px; color: var(--muted-2); font-size: 8px; line-height: 1.35; }
.rail-icon { grid-row: 1 / span 2; display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid var(--line-strong); border-radius: 10px; color: var(--blue); background: var(--soft-blue); font-size: 10px; font-weight: 850; }
.merge-lines { display: grid; grid-template-columns: repeat(4, 1fr); width: 76%; height: 44px; margin: 0 auto; }
.merge-lines i { position: relative; display: block; }
.merge-lines i::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: linear-gradient(var(--line-strong), rgba(23,92,255,.36)); }
.merge-lines i::after { content: ""; position: absolute; top: 2px; left: calc(50% - 3px); width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 4px rgba(23,92,255,.09); animation: lineFlow 3.2s infinite ease-in-out; }
.merge-lines i:nth-child(2)::after { animation-delay: -.8s; }
.merge-lines i:nth-child(3)::after { animation-delay: -1.6s; }
.merge-lines i:nth-child(4)::after { animation-delay: -2.4s; }
.netting-node { position: relative; padding: 18px 18px 16px; border: 1px solid #ccd8f8; border-radius: 18px; background: linear-gradient(145deg, #f9fbff, #f2f6ff); text-align: center; box-shadow: 0 12px 34px rgba(23,92,255,.08); }
.node-kicker { display: block; margin-bottom: 7px; color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.netting-node div { display: flex; align-items: center; justify-content: center; gap: 12px; }
.netting-node strong { font-size: 16px; }
.netting-node b { color: var(--blue); font-weight: 500; }
.netting-node small { display: block; margin-top: 6px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.residual-bridge { position: relative; width: 1px; height: 42px; margin: 0 auto; background: linear-gradient(var(--blue), rgba(23,92,255,.25)); }
.flow-particle { position: absolute; top: 0; left: -4px; width: 9px; height: 9px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 6px rgba(23,92,255,.11), 0 0 18px rgba(23,92,255,.45); animation: residualFlow 2.6s infinite var(--ease); }
.residual-label { display: flex; align-items: baseline; justify-content: center; gap: 7px; margin: -4px 0 8px; color: var(--muted); font-size: 9px; }
.residual-label strong { color: var(--blue); font-size: 13px; }
.xrp-node { position: relative; display: grid; place-items: center; min-height: 157px; overflow: hidden; padding: 20px; border: 1px solid rgba(23,92,255,.42); border-radius: 22px; background: radial-gradient(circle at 50% 50%, #fff 0, #f5f8ff 58%, #eef3ff 100%); text-align: center; }
.xrp-node > strong { position: relative; z-index: 2; font-size: 49px; line-height: 1; letter-spacing: -.07em; }
.xrp-node > p { position: relative; z-index: 2; margin: 10px 0 0; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .035em; }
.xrp-node .node-kicker { position: relative; z-index: 2; margin-bottom: 10px; }
.xrp-orbit { position: absolute; inset: 50% auto auto 50%; width: 190px; height: 190px; transform: translate(-50%, -50%); border: 1px solid rgba(23,92,255,.12); border-radius: 50%; animation: orbitSpin 18s linear infinite; }
.xrp-orbit::before, .xrp-orbit::after { content: ""; position: absolute; inset: 22px; border: 1px solid rgba(23,92,255,.10); border-radius: 50%; }
.xrp-orbit::after { inset: 48px; }
.xrp-orbit i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 5px rgba(23,92,255,.09); }
.xrp-orbit i:nth-child(1) { top: -4px; left: 50%; }
.xrp-orbit i:nth-child(2) { top: 62%; right: -3px; background: var(--cyan); }
.xrp-orbit i:nth-child(3) { bottom: 10%; left: 4%; background: var(--green); }
.inventory-tags { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 9px; }
.inventory-tags span { padding: 8px 3px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: #fff; font-size: 7px; font-weight: 850; letter-spacing: .08em; text-align: center; }
.visual-caption { margin: 15px 3px 0; color: var(--muted); font-size: 10px; line-height: 1.55; text-align: center; }
.visual-caption b { color: var(--ink); }

.thesis-band { padding: 104px 0; color: #fff; background: var(--ink); }
.section-heading { margin-bottom: 50px; }
.section-index { margin-bottom: 14px; color: var(--blue); font-size: 10px; font-weight: 850; letter-spacing: .14em; }
.thesis-band .section-index { color: #8aaeff; }
.section-heading h2 { margin-bottom: 0; font-size: clamp(34px, 4.3vw, 58px); line-height: 1.22; }
.thesis-quote { margin: 0; padding: 0; border: 0; }
.thesis-quote p { max-width: 1100px; margin-bottom: 62px; color: rgba(255,255,255,.66); font-size: clamp(25px, 3.5vw, 48px); line-height: 1.5; letter-spacing: -.045em; }
.thesis-quote strong { color: #fff; font-weight: 660; }
.role-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.role-strip article { min-height: 200px; padding: 28px 28px 34px; border-left: 1px solid rgba(255,255,255,.18); }
.role-strip article:first-child { border-left: 0; }
.role-strip span { color: #8aaeff; font-size: 10px; font-weight: 800; }
.role-strip h3 { margin: 42px 0 10px; font-size: 21px; }
.role-strip p { margin: 0; color: rgba(255,255,255,.58); font-size: 13px; line-height: 1.7; }

.split-heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .68fr); gap: 68px; align-items: end; }
.split-heading > p { margin: 0 0 4px; color: var(--muted); font-size: 15px; line-height: 1.9; }
.split-heading > p strong { color: var(--ink); }
.infrastructure { background: #fff; }
.infra-map { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.infra-card { min-height: 155px; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: #fff; transition: transform .3s var(--ease), border-color .3s, box-shadow .3s; }
.infra-card:hover { transform: translateY(-3px); border-color: #cdd6e6; box-shadow: var(--shadow-sm); }
.infra-card > span { display: block; margin-bottom: 28px; color: var(--muted-2); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.infra-card strong { display: block; margin-bottom: 6px; font-size: 18px; }
.infra-card small { color: var(--muted); font-size: 11px; line-height: 1.6; }
.infra-floor { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr auto 1fr auto; align-items: center; gap: 14px; padding: 17px 20px; border: 1px dashed var(--line-strong); border-radius: 14px; color: var(--muted-2); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.infra-floor i { height: 1px; background: linear-gradient(90deg, var(--line-strong), var(--blue)); }
.infra-floor i:last-of-type { background: linear-gradient(90deg, var(--blue), var(--line-strong)); }
.infra-floor strong { color: var(--blue); font-size: 12px; text-align: center; }
.infra-answer { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr; column-gap: 18px; align-items: center; padding: 25px 28px; border: 1px solid rgba(23,92,255,.28); border-radius: 18px; background: var(--soft-blue); }
.infra-answer > span { grid-row: 1 / span 2; padding: 5px 9px; border-radius: 999px; color: #fff; background: var(--blue); font-size: 9px; font-weight: 800; }
.infra-answer strong { font-size: 18px; }
.infra-answer small { color: var(--muted); font-size: 11px; }

/* Financial market structure map */
.market-map-section { overflow: hidden; background: #fff; }
.market-map {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 30px;
  background:
    linear-gradient(rgba(23,92,255,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,92,255,.022) 1px, transparent 1px),
    #fff;
  background-size: 28px 28px;
  box-shadow: var(--shadow-md);
}
.market-map-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 24px 28px;
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.92);
}
.market-map-head > div:first-child { display: flex; flex-direction: column; }
.market-map-head > div:first-child span { color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .14em; }
.market-map-head > div:first-child strong { margin-top: 5px; font-size: 17px; }
.route-now {
  display: grid;
  grid-template-columns: 9px auto;
  column-gap: 9px;
  align-items: center;
  min-width: 205px;
  padding: 10px 14px;
  border: 1px solid rgba(23,92,255,.18);
  border-radius: 14px;
  background: var(--soft-blue);
}
.route-now i { grid-row: 1 / span 2; width: 8px; height: 8px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 5px rgba(23,92,255,.09); animation: routePulse 2.2s infinite ease-out; }
.route-now span { color: var(--muted-2); font-size: 7px; font-weight: 800; letter-spacing: .08em; }
.route-now strong { font-size: 12px; }
.market-layer {
  display: grid;
  grid-template-columns: 188px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  padding: 24px 28px;
  border-top: 1px solid rgba(229,233,239,.72);
  background: rgba(255,255,255,.78);
}
.market-map-head + .market-layer { border-top: 0; }
.market-layer:nth-of-type(4n) { background: rgba(247,249,252,.72); }
.market-layer-label { display: grid; grid-template-columns: 34px 1fr; align-items: center; column-gap: 12px; }
.market-layer-label > span { grid-row: 1 / span 2; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line-strong); border-radius: 10px; color: var(--blue); background: #fff; font-size: 9px; font-weight: 850; }
.market-layer-label strong { font-size: 13px; }
.market-layer-label small { color: var(--muted-2); font-size: 7px; font-weight: 800; letter-spacing: .1em; }
.market-nodes { display: grid; gap: 9px; }
.market-nodes-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.market-nodes-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.market-nodes article {
  position: relative;
  min-height: 82px;
  padding: 15px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 1px 2px rgba(13,17,23,.025);
  transition: opacity .55s var(--ease), transform .55s var(--ease), border-color .55s, background .55s, box-shadow .55s;
}
.market-nodes article::before { content: ""; position: absolute; top: 13px; right: 13px; width: 5px; height: 5px; border-radius: 50%; background: var(--line-strong); transition: background .4s, box-shadow .4s; }
.market-nodes b { display: block; padding-right: 9px; font-size: 11px; line-height: 1.35; }
.market-nodes small { display: block; margin-top: 7px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.js-animate .market-map[data-active-route] .market-nodes article { opacity: .38; }
.js-animate .market-map[data-active-route="payment"] [data-routes~="payment"],
.js-animate .market-map[data-active-route="fx"] [data-routes~="fx"],
.js-animate .market-map[data-active-route="securities"] [data-routes~="securities"],
.js-animate .market-map[data-active-route="token"] [data-routes~="token"] {
  opacity: 1;
  transform: translateY(-2px);
  border-color: rgba(23,92,255,.36);
  background: linear-gradient(145deg, #fff, #f2f6ff);
  box-shadow: 0 10px 28px rgba(23,92,255,.09);
}
.js-animate .market-map[data-active-route="payment"] [data-routes~="payment"]::before,
.js-animate .market-map[data-active-route="fx"] [data-routes~="fx"]::before,
.js-animate .market-map[data-active-route="securities"] [data-routes~="securities"]::before,
.js-animate .market-map[data-active-route="token"] [data-routes~="token"]::before { background: var(--blue); box-shadow: 0 0 0 4px rgba(23,92,255,.09); }
.market-connector { height: 24px; background: rgba(255,255,255,.82); }
.market-connector i { position: relative; display: block; width: 1px; height: 100%; margin: 0 auto; background: linear-gradient(var(--line-strong), var(--blue), var(--line-strong)); }
.market-connector span { position: absolute; top: 0; left: -3px; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 4px rgba(23,92,255,.08); animation: marketTrace 2.8s infinite linear; }
.market-connector:nth-of-type(4) span { animation-delay: -.7s; }
.market-connector:nth-of-type(6) span { animation-delay: -1.4s; }
.market-connector:nth-of-type(8) span { animation-delay: -2.1s; }
.market-xrp-locator {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 24px;
  align-items: center;
  margin: 18px;
  padding: 24px 26px;
  border: 1px solid rgba(23,92,255,.28);
  border-radius: 20px;
  background: linear-gradient(135deg, #fff, #eef4ff);
}
.locator-mark { position: relative; display: grid; place-items: center; width: 72px; height: 72px; border: 1px solid rgba(23,92,255,.30); border-radius: 50%; background: #fff; }
.locator-mark span { position: relative; z-index: 2; color: var(--blue); font-size: 22px; font-weight: 850; }
.locator-mark i { position: absolute; inset: 7px; border: 1px dashed rgba(23,92,255,.28); border-radius: 50%; animation: locatorSpin 14s linear infinite; }
.market-xrp-locator > div:last-child > span { display: block; color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.market-xrp-locator strong { display: block; margin: 5px 0 4px; font-size: 19px; }
.market-xrp-locator p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }

/* Illustrated transaction journey */
.market-illustration {
  --district-accent: var(--blue);
  --district-soft: #eef4ff;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 30px;
  background:
    radial-gradient(circle at 13% 20%,rgba(23,92,255,.07),transparent 25%),
    radial-gradient(circle at 87% 76%,rgba(21,149,111,.065),transparent 27%),
    linear-gradient(rgba(23,92,255,.024) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,92,255,.024) 1px,transparent 1px),
    #fbfcff;
  background-size: auto,auto,28px 28px,28px 28px,auto;
  box-shadow: var(--shadow-md);
}
.market-illustration-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 23px 26px;
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.94);
}
.market-illustration-head > div:first-child { display: flex; flex-direction: column; }
.market-illustration-head > div:first-child span { color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .14em; }
.market-illustration-head > div:first-child strong { margin-top: 5px; font-size: 17px; }
.market-illustration-head > div:first-child small { margin-top: 6px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.market-flow-legend { display: flex; justify-content: flex-end; gap: 20px; padding: 13px 26px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.72); }
.market-flow-legend span { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 8px; font-weight: 750; }
.market-flow-legend i { width: 18px; height: 2px; border-radius: 999px; background: var(--blue); }
.market-flow-legend .legend-market i { background: var(--cyan); }
.market-flow-legend .legend-settlement i { background: var(--green); }
.market-mobile-overview { display: none; }
.market-journey {
  position: relative;
  display: grid;
  grid-template-columns: repeat(11,minmax(0,1fr));
  grid-template-rows: minmax(344px,auto) 82px minmax(404px,auto);
  column-gap: 10px;
  align-items: stretch;
  min-height: 830px;
  padding: 24px;
}
.market-city-rails { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.market-rail-shadow,
.market-rail-base,
.market-rail-route { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; }
.market-rail-shadow { stroke: rgba(15,31,58,.08); stroke-width: 15; }
.market-rail-base { stroke: #fff; stroke-width: 7; }
.market-rail-route { opacity: 0; stroke: url(#market-rail-gradient); stroke-width: 4; stroke-dasharray: 9 14; animation: marketRailFlow 1.65s linear infinite; transition: opacity .55s var(--ease); }
.js-animate .market-illustration[data-active-route="payment"] .market-rail-route[data-route-path="payment"],
.js-animate .market-illustration[data-active-route="fx"] .market-rail-route[data-route-path="fx"],
.js-animate .market-illustration[data-active-route="securities"] .market-rail-route[data-route-path="securities"],
.js-animate .market-illustration[data-active-route="token"] .market-rail-route[data-route-path="token"] { opacity: 1; }
.market-stations circle { vector-effect: non-scaling-stroke; fill: rgba(255,255,255,.96); stroke: rgba(23,92,255,.20); stroke-width: 2; }
.market-stations circle:nth-child(even) { fill: var(--blue); stroke: #fff; stroke-width: 3; }
.journey-stage {
  --district-accent: var(--blue);
  --district-soft: #edf3ff;
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: 118px auto 1fr;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(215,222,234,.88);
  border-radius: 25px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 48px rgba(23,40,72,.075),0 1px 2px rgba(13,17,23,.025);
}
.stage-participants { grid-column: 1 / 4; grid-row: 1; }
.stage-intermediaries { --district-accent: var(--cyan); --district-soft: #eaf9fc; grid-column: 5 / 8; grid-row: 1; }
.stage-venues { --district-accent: #5866d9; --district-soft: #f0f1ff; grid-column: 9 / 12; grid-row: 1; }
.stage-settlement { --district-accent: var(--green); --district-soft: #eaf7f2; grid-column: 7 / 10; grid-row: 3; }
.stage-assets { --district-accent: #b66e0c; --district-soft: #fff6e8; grid-column: 3 / 6; grid-row: 3; }
.stage-scene { position: relative; min-width: 0; overflow: hidden; background: linear-gradient(155deg,rgba(255,255,255,.72),var(--district-soft)); }
.stage-scene::after { content: ""; position: absolute; inset: auto 0 0; height: 32px; background: linear-gradient(transparent,rgba(255,255,255,.40)); }
.stage-scene svg { display: block; width: 100%; height: 100%; }
.stage-scene .scene-ground { fill: color-mix(in srgb,var(--district-soft) 82%,#fff); stroke: none; }
.stage-scene .scene-fill { fill: rgba(255,255,255,.80); stroke: color-mix(in srgb,var(--district-accent) 47%,#aeb8c8); stroke-width: 1.45; }
.stage-scene .scene-line { fill: none; stroke: color-mix(in srgb,var(--district-accent) 70%,#526175); stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.stage-scene .scene-accent { fill: none; stroke: var(--district-accent); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.stage-scene .scene-route { fill: none; stroke: var(--district-accent); stroke-width: 1.7; stroke-dasharray: 3 6; stroke-linecap: round; opacity: .60; }
.stage-heading { display: flex; align-items: center; gap: 11px; min-height: 66px; padding: 12px 14px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.90); }
.stage-icon { flex: 0 0 auto; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid color-mix(in srgb,var(--district-accent) 25%,#d7deea); border-radius: 14px; color: var(--district-accent); background: var(--district-soft); box-shadow: 0 8px 20px color-mix(in srgb,var(--district-accent) 10%,transparent); }
.stage-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.stage-heading > div { display: flex; min-width: 0; flex-direction: column; }
.stage-heading small { color: var(--district-accent); font-size: 7px; font-weight: 850; letter-spacing: .08em; line-height: 1.35; }
.stage-heading strong { margin-top: 4px; font-size: 14px; line-height: 1.35; }
.stage-players { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; align-content: start; padding: 12px; }
.stage-players-5 .player-node:last-child { grid-column: 1 / -1; }
.stage-players::before { display: none; }
.player-node { position: relative; min-width: 0; min-height: 68px; padding: 11px 9px 10px 15px; border: 0; border-left: 2px solid #d8dee8; border-radius: 0 12px 12px 0; background: rgba(247,249,252,.68); transition: transform .5s var(--ease),border-color .5s,background .5s,box-shadow .5s; }
.player-node::before { content: ""; position: absolute; top: 15px; left: -2px; width: 7px; height: 7px; transform: translateX(-50%); border: 2px solid #fff; border-radius: 50%; background: var(--line-strong); transition: background .5s,box-shadow .5s; }
.player-node b { display: block; font-size: 10.5px; line-height: 1.42; }
.player-node small { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.42; }
.js-animate .market-illustration[data-active-route="payment"] [data-routes~="payment"],
.js-animate .market-illustration[data-active-route="fx"] [data-routes~="fx"],
.js-animate .market-illustration[data-active-route="securities"] [data-routes~="securities"],
.js-animate .market-illustration[data-active-route="token"] [data-routes~="token"] {
  transform: translateY(-2px);
  border-left-color: var(--district-accent);
  background: linear-gradient(145deg,#fff,var(--district-soft));
  box-shadow: 0 10px 26px color-mix(in srgb,var(--district-accent) 11%,transparent);
}
.js-animate .market-illustration[data-active-route="payment"] [data-routes~="payment"]::before,
.js-animate .market-illustration[data-active-route="fx"] [data-routes~="fx"]::before,
.js-animate .market-illustration[data-active-route="securities"] [data-routes~="securities"]::before,
.js-animate .market-illustration[data-active-route="token"] [data-routes~="token"]::before { background: var(--district-accent); box-shadow: 0 0 0 5px color-mix(in srgb,var(--district-accent) 13%,transparent); }
.journey-link { display: none; }
.journey-link > span { max-width: 30px; color: var(--muted-2); font-size: 6px; font-weight: 800; line-height: 1.35; text-align: center; }
.journey-link > i { position: relative; display: block; width: 28px; height: 2px; border-radius: 999px; background: linear-gradient(90deg,var(--line-strong),var(--blue)); }
.journey-link > i::after { content: "›"; position: absolute; top: 50%; right: -3px; transform: translateY(-53%); color: var(--blue); font-size: 12px; font-style: normal; }
.journey-link > i b { position: absolute; top: -3px; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 4px rgba(23,92,255,.07); animation: agentDot 3.2s infinite linear; }
.journey-link.link-market > i { background: linear-gradient(90deg,var(--line-strong),var(--cyan)); }
.journey-link.link-market > i::after { color: var(--cyan); }
.journey-link.link-market > i b { background: var(--cyan); }
.journey-link.link-clearing > i,
.journey-link.link-settlement > i { background: linear-gradient(90deg,var(--line-strong),var(--green)); }
.journey-link.link-clearing > i::after,
.journey-link.link-settlement > i::after { color: var(--green); }
.journey-link.link-clearing > i b,
.journey-link.link-settlement > i b { background: var(--green); }
.route-story { display: grid; grid-template-columns: auto 1fr; gap: 17px; align-items: center; margin: 0 18px 14px; padding: 17px 20px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.route-story span { padding: 5px 8px; border-radius: 999px; color: #fff; background: var(--blue); font-size: 7px; font-weight: 850; white-space: nowrap; }
.route-story strong { font-size: 11px; line-height: 1.55; }
.market-illustration .market-xrp-locator { position: relative; margin-top: 18px; }
.market-illustration .market-xrp-locator::before { content: "Bridgeにも在庫調整にも"; position: absolute; top: -24px; left: 50%; z-index: 2; padding: 4px 8px; transform: translateX(-50%); border: 1px solid rgba(23,92,255,.25); border-radius: 999px; color: var(--blue); background: #fff; font-size: 7px; font-weight: 850; letter-spacing: .06em; white-space: nowrap; }
.market-illustration .market-xrp-locator::after { content: ""; position: absolute; top: -18px; left: 50%; width: 1px; height: 18px; background: linear-gradient(var(--blue),rgba(23,92,255,.12)); }

/* Full-scene financial system cutaway */
.market-journey-legacy { display: none !important; }
.market-world {
  position: relative;
  min-height: 0;
  aspect-ratio: 1200 / 820;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 50% 22%,rgba(23,92,255,.09),transparent 27%),
    linear-gradient(180deg,#fbfdff 0%,#f7fbff 56%,#edf5f3 100%);
  isolation: isolate;
}
.market-world::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: linear-gradient(rgba(23,92,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(23,92,255,.018) 1px,transparent 1px);
  background-size: 24px 24px;
  -webkit-mask-image: linear-gradient(#000,rgba(0,0,0,.72),transparent 98%);
  mask-image: linear-gradient(#000,rgba(0,0,0,.72),transparent 98%);
}
.market-world-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }
.market-world-visual { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; pointer-events: none; }
.market-world-mobile { display: none; }
.world-plane-shadow { fill: rgba(27,50,86,.07); }
.world-plane { stroke-width: 1; vector-effect: non-scaling-stroke; }
.world-plane-participants { fill: rgba(238,244,255,.88); stroke: rgba(23,92,255,.15); }
.world-plane-intermediaries { fill: rgba(234,249,252,.90); stroke: rgba(16,168,207,.17); }
.world-plane-venues { fill: rgba(240,241,255,.91); stroke: rgba(88,102,217,.17); }
.world-plane-edge { fill: rgba(214,225,239,.72); stroke: rgba(112,134,164,.12); stroke-width: 1; vector-effect: non-scaling-stroke; }
.world-underground { fill: rgba(232,246,241,.93); stroke: rgba(21,149,111,.18); stroke-width: 1; vector-effect: non-scaling-stroke; }
.world-underground-edge { fill: rgba(190,222,211,.72); }
.world-vault { fill: rgba(255,247,232,.96); stroke: rgba(182,110,12,.17); stroke-width: 1; vector-effect: non-scaling-stroke; }
.world-vault-edge { fill: rgba(230,210,176,.74); }
.world-structure-line,
.world-shaft { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; }
.world-structure-line { stroke-width: 2; stroke-dasharray: 4 9; opacity: .25; }
.world-info-trunk { stroke: var(--blue); }
.world-liquidity-ring { stroke: var(--cyan); }
.world-settlement-trunk { stroke: var(--green); }
.world-shaft { stroke: rgba(88,108,136,.25); stroke-width: 5; stroke-dasharray: 2 8; }
.world-route { opacity: 0; transition: opacity .6s var(--ease); }
.market-illustration[data-active-route="payment"] .world-route[data-world-route="payment"],
.market-illustration[data-active-route="fx"] .world-route[data-world-route="fx"],
.market-illustration[data-active-route="securities"] .world-route[data-world-route="securities"],
.market-illustration[data-active-route="token"] .world-route[data-world-route="token"] { opacity: 1; }
.world-route-shadow,
.world-route-line { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; }
.world-route-shadow { stroke: rgba(255,255,255,.96); stroke-width: 10; }
.world-route-line { stroke-width: 4; stroke-dasharray: 8 12; animation: worldRouteFlow 1.35s linear infinite; }
.market-world-desktop .route-info { stroke: url(#world-info-desktop); }
.market-world-desktop .route-liquidity { stroke: url(#world-liquidity-desktop); }
.market-world-desktop .route-settlement { stroke: url(#world-settlement-desktop); }
.market-world-mobile .route-info { stroke: url(#world-info-mobile); }
.market-world-mobile .route-liquidity { stroke: url(#world-liquidity-mobile); }
.market-world-mobile .route-settlement { stroke: url(#world-settlement-mobile); }
.world-packet { vector-effect: non-scaling-stroke; stroke: #fff; stroke-width: 3; }
.packet-info { fill: var(--blue); }
.packet-liquidity { fill: var(--cyan); }
.packet-settlement { fill: var(--green); }
.world-layer-label {
  position: absolute;
  left: 50%;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 8px;
  transform: translateX(-50%);
  color: var(--ink);
  text-shadow: -2px 0 #fff,0 2px #fff,2px 0 #fff,0 -2px #fff;
  white-space: nowrap;
}
.world-layer-label::after { content: ""; position: absolute; right: 0; bottom: -4px; left: 0; height: 1px; background: linear-gradient(90deg,transparent,var(--layer-color),transparent); opacity: .50; }
.world-layer-label span { color: var(--layer-color); font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.world-layer-label strong { font-size: 13px; }
.world-layer-label small { color: var(--muted-2); font-size: 8px; font-weight: 750; }
.world-label-participants { --layer-color:var(--blue); top: 1.2%; }
.world-label-intermediaries { --layer-color:var(--cyan); top: 19.8%; }
.world-label-venues { --layer-color:#5866d9; top: 38.5%; }
.world-label-settlement { --layer-color:var(--green); top: 58.4%; }
.world-label-assets { --layer-color:#a4630b; top: 81%; }
.world-landmark {
  --landmark-color: var(--blue);
  --landmark-soft: rgba(23,92,255,.10);
  position: absolute;
  top: var(--dy);
  left: var(--dx);
  z-index: 4;
  width: 148px;
  min-width: 0;
  padding: 0;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ink);
  text-align: center;
  transform: translate(-50%,-50%);
  transition: opacity .5s var(--ease),transform .5s var(--ease),filter .5s var(--ease);
}
.landmark-intermediary { --landmark-color:var(--cyan); --landmark-soft:rgba(16,168,207,.12); }
.landmark-venue { --landmark-color:#5866d9; --landmark-soft:rgba(88,102,217,.11); }
.landmark-settlement { --landmark-color:var(--green); --landmark-soft:rgba(21,149,111,.12); }
.landmark-asset { --landmark-color:#a4630b; --landmark-soft:rgba(182,110,12,.12); }
.landmark-art {
  position: relative;
  display: grid;
  place-items: center;
  width: 68px;
  height: 60px;
  margin: 0 auto 4px;
  color: var(--landmark-color);
  transform: perspective(180px) rotateX(2deg);
}
.landmark-art::before {
  content: "";
  position: absolute;
  right: 6px;
  bottom: 2px;
  left: 6px;
  height: 24px;
  border: 1px solid color-mix(in srgb,var(--landmark-color) 28%,#d9e0eb);
  border-radius: 50%;
  background: radial-gradient(ellipse,var(--landmark-soft),rgba(255,255,255,.76) 68%);
  box-shadow: 0 11px 18px rgba(23,40,72,.10);
  transform: scaleY(.45);
  transition: box-shadow .5s,background .5s,transform .5s;
}
.landmark-art::after {
  content: "";
  position: absolute;
  top: 0;
  right: 4px;
  width: 7px;
  height: 7px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #bdc6d3;
  transition: background .45s,box-shadow .45s;
}
.landmark-art svg { position: relative; z-index: 1; width: 52px; height: 52px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 6px 5px rgba(22,45,78,.13)); }
.world-landmark b { display: block; font-size: 10.5px; font-weight: 850; line-height: 1.25; text-wrap: balance; text-shadow: -2px 0 rgba(255,255,255,.96),0 2px rgba(255,255,255,.96),2px 0 rgba(255,255,255,.96),0 -2px rgba(255,255,255,.96); }
.world-landmark > small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.3; text-shadow: -2px 0 rgba(255,255,255,.96),0 2px rgba(255,255,255,.96),2px 0 rgba(255,255,255,.96),0 -2px rgba(255,255,255,.96); }
.js-animate .market-illustration[data-active-route] .world-landmark { opacity: .78; filter: saturate(.55); }
.js-animate .market-illustration[data-active-route="payment"] .world-landmark[data-routes~="payment"],
.js-animate .market-illustration[data-active-route="fx"] .world-landmark[data-routes~="fx"],
.js-animate .market-illustration[data-active-route="securities"] .world-landmark[data-routes~="securities"],
.js-animate .market-illustration[data-active-route="token"] .world-landmark[data-routes~="token"] { opacity: 1; filter: none; transform: translate(-50%,calc(-50% - 4px)) scale(1.035); }
.js-animate .market-illustration[data-active-route="payment"] .world-landmark[data-routes~="payment"] .landmark-art::before,
.js-animate .market-illustration[data-active-route="fx"] .world-landmark[data-routes~="fx"] .landmark-art::before,
.js-animate .market-illustration[data-active-route="securities"] .world-landmark[data-routes~="securities"] .landmark-art::before,
.js-animate .market-illustration[data-active-route="token"] .world-landmark[data-routes~="token"] .landmark-art::before { background: radial-gradient(ellipse,color-mix(in srgb,var(--landmark-color) 18%,#fff),rgba(255,255,255,.82) 70%); box-shadow: 0 13px 26px color-mix(in srgb,var(--landmark-color) 24%,transparent); transform: scaleY(.52) scaleX(1.10); }
.js-animate .market-illustration[data-active-route="payment"] .world-landmark[data-routes~="payment"] .landmark-art::after,
.js-animate .market-illustration[data-active-route="fx"] .world-landmark[data-routes~="fx"] .landmark-art::after,
.js-animate .market-illustration[data-active-route="securities"] .world-landmark[data-routes~="securities"] .landmark-art::after,
.js-animate .market-illustration[data-active-route="token"] .world-landmark[data-routes~="token"] .landmark-art::after { background: var(--landmark-color); box-shadow: 0 0 0 6px color-mix(in srgb,var(--landmark-color) 14%,transparent); animation: worldBeacon 1.9s ease-out infinite; }
.world-residual-tunnel {
  position: absolute;
  top: 77.5%;
  left: 50%;
  z-index: 3;
  display: grid;
  grid-template-columns: 9px auto auto;
  gap: 8px;
  align-items: center;
  width: min(56%,620px);
  min-height: 30px;
  padding: 6px 14px;
  transform: translateX(-50%);
  border: 1px dashed rgba(88,77,206,.34);
  border-radius: 999px;
  color: #5148b7;
  background: linear-gradient(90deg,rgba(255,255,255,.80),rgba(240,239,255,.92),rgba(255,255,255,.80));
  box-shadow: 0 8px 24px rgba(59,54,149,.08);
}
.world-residual-tunnel::before,
.world-residual-tunnel::after { content: ""; position: absolute; top: 50%; width: 9%; height: 1px; border-top: 1px dashed rgba(88,77,206,.34); }
.world-residual-tunnel::before { right: 100%; }
.world-residual-tunnel::after { left: 100%; }
.world-residual-tunnel i { width: 8px; height: 8px; border: 2px solid #fff; border-radius: 50%; background: #665bd4; box-shadow: 0 0 0 4px rgba(102,91,212,.10); animation: tunnelPulse 2.4s ease-out infinite; }
.world-residual-tunnel span { font-size: 8px; font-weight: 850; }
.world-residual-tunnel strong { justify-self: end; font-size: 8px; letter-spacing: .08em; }

section.mechanism { background: var(--soft); }
.mechanism-model { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }
.model-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 24px; border-bottom: 1px solid var(--line); }
.model-head span { color: var(--blue); font-size: 9px; font-weight: 850; letter-spacing: .13em; }
.model-head small { color: var(--muted-2); font-size: 9px; }
.residual-model { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 28px; background: #fff; box-shadow: var(--shadow-md); }
.residual-main { display: grid; grid-template-columns: minmax(420px,1.45fr) 64px minmax(220px,.72fr) 64px minmax(240px,.83fr); align-items: stretch; padding: 22px; }
.residual-equation { display: grid; grid-template-columns: 1fr 30px 1fr 30px 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 19px; background: var(--soft); }
.flow-cell { display: flex; flex-direction: column; min-width: 0; min-height: 254px; padding: 20px 14px; background: #fff; text-align: center; }
.flow-cell > span, .route-choice-head > span, .inventory-outcome > div:last-child > span { color: var(--muted-2); font-size: 7px; font-weight: 850; letter-spacing: .1em; }
.flow-cell > strong { margin: 34px 0 25px; font-size: clamp(42px,4vw,60px); line-height: 1; letter-spacing: -.075em; }
.flow-cell h3 { margin: auto 0 5px; font-size: 13px; }
.flow-cell p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.flow-netting { background: #fafbfd; }
.flow-netting > strong { color: var(--muted-2); }
.flow-residual { background: linear-gradient(160deg,#fff,#eef4ff); }
.flow-residual > strong, .flow-residual h3 { color: var(--blue); }
.flow-operator { display: grid; place-items: center; min-width: 0; color: var(--muted-2); background: #fafbfd; font-size: 18px; }
.residual-link { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 12px; min-width: 0; }
.residual-link > i { position: relative; display: block; width: 42px; height: 1px; background: linear-gradient(90deg,var(--line-strong),var(--blue),var(--line-strong)); }
.residual-link > i span { position: absolute; top: -3px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 4px rgba(23,92,255,.08); animation: residualLink 2.8s infinite linear; }
.residual-link > b { max-width: 48px; color: var(--muted-2); font-size: 7px; line-height: 1.45; text-align: center; }
.route-choice { display: flex; flex-direction: column; min-height: 254px; padding: 20px; border: 1px solid var(--line); border-radius: 19px; background: #fff; }
.route-choice-head h3 { margin: 9px 0 5px; font-size: 15px; }
.route-choice-head small { display: block; color: var(--muted); font-size: 8px; line-height: 1.5; }
.route-bars { display: grid; gap: 12px; margin-top: auto; padding-top: 26px; border-top: 1px solid var(--line); }
.route-bars > span { display: grid; grid-template-columns: 42px 1fr; gap: 8px; align-items: center; }
.route-bars b { color: var(--muted); font-size: 8px; }
.route-bars i { display: block; width: var(--w); height: 6px; border-radius: 999px; background: #dfe4ec; }
.route-bars em { grid-column: 2; margin-top: -9px; color: var(--blue); font-size: 7px; font-style: normal; font-weight: 850; }
.route-bars .winner b { color: var(--blue); }
.route-bars .winner i { background: var(--blue); box-shadow: 0 0 0 4px rgba(23,92,255,.07); }
.inventory-outcome { display: flex; align-items: center; justify-content: center; flex-direction: column; min-height: 254px; padding: 20px; border: 1px solid rgba(23,92,255,.26); border-radius: 19px; background: linear-gradient(155deg,#fff,#eef4ff); text-align: center; }
.inventory-core { position: relative; display: grid; place-items: center; width: 92px; height: 92px; margin-bottom: 20px; border: 1px solid rgba(23,92,255,.32); border-radius: 50%; background: #fff; box-shadow: 0 12px 30px rgba(23,92,255,.10); }
.inventory-core i { position: absolute; inset: 8px; border: 1px dashed rgba(23,92,255,.28); border-radius: 50%; animation: locatorSpin 12s linear infinite; }
.inventory-core i::before { content: ""; position: absolute; top: -3px; left: 50%; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }
.inventory-core span { color: var(--blue); font-size: 12px; font-weight: 850; line-height: 1.25; }
.inventory-outcome h3 { margin: 6px 0 6px; font-size: 15px; }
.inventory-outcome p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.6; }
.mechanism-track { display: grid; grid-template-columns: 1fr 32px 1fr 32px 1fr 32px 1.15fr 32px 1.15fr; align-items: stretch; min-height: 320px; }
.mechanism-step { position: relative; display: flex; flex-direction: column; justify-content: flex-start; padding: 28px 22px 24px; border-right: 1px solid var(--line); background: #fff; }
.mechanism-step:last-child { border-right: 0; }
.mechanism-step::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23,92,255,.055), transparent 68%); opacity: 0; animation: stepGlow 10s infinite ease-in-out; }
.mechanism-step[data-step="2"]::before { animation-delay: 2s; }
.mechanism-step[data-step="3"]::before { animation-delay: 4s; }
.mechanism-step[data-step="4"]::before { animation-delay: 6s; }
.mechanism-step[data-step="5"]::before { animation-delay: 8s; }
.mechanism-step > * { position: relative; z-index: 1; }
.step-number { color: var(--muted-2); font-size: 9px; font-weight: 850; }
.step-value { margin: 34px 0 20px; font-size: 48px; font-weight: 750; line-height: 1; letter-spacing: -.06em; }
.step-value.muted { color: var(--muted-2); }
.mechanism-step h3 { margin: auto 0 7px; font-size: 16px; }
.mechanism-step p { margin: 0 0 9px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.mechanism-step > small { color: var(--blue); font-size: 8px; font-weight: 750; }
.step-operator { display: grid; place-items: center; color: var(--muted-2); background: #fafbfd; font-size: 19px; }
.accent-step { background: linear-gradient(180deg, #fff, #f8faff); }
.accent-step .step-value { color: var(--blue); }
.route-step h3 { margin: 20px 0 15px; }
.cost-bars { display: grid; gap: 12px; margin-top: auto; }
.cost-bars > span { position: relative; display: grid; grid-template-columns: 46px 1fr; align-items: center; gap: 8px; }
.cost-bars b { color: var(--muted); font-size: 9px; font-weight: 700; }
.cost-bars i { display: block; width: var(--w); height: 6px; border-radius: 999px; background: #dfe4ec; }
.cost-bars em { grid-column: 2; margin-top: -8px; color: var(--blue); font-size: 7px; font-style: normal; font-weight: 800; }
.cost-bars .winner b { color: var(--blue); }
.cost-bars .winner i { background: var(--blue); box-shadow: 0 0 0 4px rgba(23,92,255,.08); }
.final-step { align-items: center; text-align: center; }
.inventory-ring { display: grid; place-items: center; width: 90px; height: 90px; margin: 28px auto 22px; border: 1px solid rgba(23,92,255,.35); border-radius: 50%; background: radial-gradient(circle, #fff 45%, #eff4ff 46%); box-shadow: inset 0 0 0 12px #f8faff; }
.inventory-ring::before { content: ""; position: absolute; width: 90px; height: 90px; border: 2px solid transparent; border-top-color: var(--blue); border-right-color: var(--blue); border-radius: 50%; animation: orbitSpin 5s linear infinite; }
.inventory-ring span { color: var(--blue); font-size: 12px; font-weight: 850; line-height: 1.2; }
.model-summary { display: flex; align-items: center; gap: 28px; padding: 23px 26px; border-top: 1px solid var(--line); background: var(--ink); color: #fff; }
.model-summary span { flex: 0 0 auto; color: rgba(255,255,255,.52); font-size: 9px; font-weight: 750; letter-spacing: .08em; }
.model-summary strong { font-size: clamp(15px, 1.7vw, 20px); font-weight: 620; letter-spacing: -.02em; }
.equation-card { display: grid; grid-template-columns: minmax(250px,.6fr) 1.4fr; gap: 48px; align-items: center; margin-top: 22px; padding: 30px 32px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.equation-card h3 { margin: 0 0 8px; font-size: 21px; }
.equation-card p { margin: 0; color: var(--muted); font-size: 12px; }
.equation { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 12px; align-items: stretch; }
.factor-grid { display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
.factor-grid span { position: relative; display: flex; justify-content: center; flex-direction: column; min-width: 0; min-height: 58px; padding: 9px 10px; border-left: 1px solid var(--line); font-size: 8px; font-weight: 750; text-align: center; }
.factor-grid span:first-child { border-left: 0; }
.factor-grid small { display: block; margin-bottom: 3px; color: var(--blue); font-size: 6px; font-weight: 850; }
.equation > b { display: grid; place-items: center; color: var(--muted-2); font-size: 8px; white-space: nowrap; }
.equation > strong { display: grid; place-items: center; min-width: 96px; padding: 0 12px; border: 1px solid rgba(23,92,255,.28); border-radius: 12px; color: var(--blue); background: var(--soft-blue); font-size: 10px; }

/* XRP-centered FX inventory hub */
.fx-hub { overflow: hidden; background: #fff; }
.fx-hub-visual { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 29px; background: #fff; box-shadow: var(--shadow-md); }
.fx-hub-head { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 82px; padding: 19px 24px; border-bottom: 1px solid var(--line); }
.fx-hub-head > div:first-child { display: flex; align-items: baseline; gap: 15px; }
.fx-hub-head > div:first-child span { color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .13em; }
.fx-hub-head > div:first-child strong { font-size: 14px; }
.fx-route-now { display: grid; grid-template-columns: auto auto; column-gap: 9px; align-items: center; padding: 8px 11px; border: 1px solid rgba(23,92,255,.18); border-radius: 12px; background: var(--soft-blue); }
.fx-route-now > i { grid-row: 1 / span 2; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 5px rgba(23,92,255,.08); animation: routePulse 2.3s infinite; }
.fx-route-now > span { color: var(--muted-2); font-size: 7px; font-weight: 750; }
.fx-route-now > strong { font-size: 11px; }
.fx-hub-map { display: grid; grid-template-columns: minmax(0,1fr) 270px minmax(0,1fr); grid-template-areas: "left core right"; gap: 52px; align-items: stretch; padding: 28px 48px; background: linear-gradient(rgba(23,92,255,.023) 1px,transparent 1px),linear-gradient(90deg,rgba(23,92,255,.023) 1px,transparent 1px),linear-gradient(180deg,#fff,#fbfcff); background-size: 30px 30px,30px 30px,auto; }
.fx-pair-bank { display: grid; align-content: center; gap: 12px; }
.fx-pair-bank-left { grid-area: left; }
.fx-pair-bank-right { grid-area: right; }
.fx-pair-node { position: relative; min-width: 0; min-height: 112px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,255,255,.96); box-shadow: 0 1px 2px rgba(13,17,23,.025); transition: opacity .5s var(--ease), border-color .5s, background .5s, box-shadow .5s, transform .5s var(--ease); }
.fx-pair-node > span { color: var(--muted-2); font-size: 7px; font-weight: 850; letter-spacing: .12em; }
.fx-pair-node > b { display: block; margin: 19px 0 4px; font-size: 15px; }
.fx-pair-node > small { display: block; color: var(--muted); font-size: 8px; }
.fx-pair-node:not(.is-source):not(.is-destination) { opacity: .66; }
.fx-pair-node.is-source { transform: translateX(3px); border-color: rgba(23,92,255,.46); background: linear-gradient(150deg,#fff,#edf3ff); box-shadow: 0 10px 28px rgba(23,92,255,.08); }
.fx-pair-node.is-source > span, .fx-pair-node.is-source > b { color: var(--blue); }
.fx-pair-node.is-destination { transform: translateX(-3px); border-color: rgba(8,127,91,.40); background: linear-gradient(150deg,#fff,#edf9f5); box-shadow: 0 10px 28px rgba(8,127,91,.07); }
.fx-pair-node.is-destination > span, .fx-pair-node.is-destination > b { color: var(--green); }
.fx-pair-node.is-source::before, .fx-pair-node.is-destination::before { position: absolute; top: 12px; right: 12px; padding: 3px 6px; border-radius: 999px; font-size: 6px; font-weight: 850; }
.fx-pair-node.is-source::before { content: "支払側"; color: var(--blue); background: rgba(23,92,255,.09); }
.fx-pair-node.is-destination::before { content: "受取側"; color: var(--green); background: rgba(8,127,91,.09); }
.fx-pair-line { position: absolute; top: 50%; display: block; width: 53px; height: 1px; background: var(--line-strong); font-style: normal; }
.fx-pair-bank-left .fx-pair-line { right: -53px; }
.fx-pair-bank-right .fx-pair-line { left: -53px; }
.fx-pair-line::after { content: ""; position: absolute; inset: -3px 0; background: linear-gradient(90deg,transparent,rgba(23,92,255,.18),transparent); opacity: 0; }
.fx-pair-line > b { display: none; position: absolute; top: -3px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 4px rgba(23,92,255,.08); }
.fx-pair-node.is-source .fx-pair-line, .fx-pair-node.is-destination .fx-pair-line { background: linear-gradient(90deg,var(--line-strong),var(--blue)); }
.fx-pair-node.is-destination .fx-pair-line { background: linear-gradient(90deg,var(--blue),var(--line-strong)); }
.fx-pair-node.is-source .fx-pair-line > b, .fx-pair-node.is-destination .fx-pair-line > b { display: block; animation: agentDot 2.7s infinite linear; }
.fx-pair-node.is-destination .fx-pair-line > b { background: var(--green); box-shadow: 0 0 0 4px rgba(8,127,91,.08); animation-delay: -1.35s; }
.fx-central-inventory { position: relative; grid-area: core; display: grid; place-content: center; justify-items: center; min-height: 400px; overflow: hidden; padding: 26px 16px; border: 1px solid rgba(23,92,255,.34); border-radius: 135px; background: radial-gradient(circle at 50% 48%,#fff 0,#f1f5ff 51%,#e9f0ff 100%); text-align: center; }
.fx-central-inventory > span, .fx-central-inventory > strong, .fx-central-inventory > h3, .fx-central-inventory > p, .fx-central-inventory > div:last-child { position: relative; z-index: 2; }
.fx-central-inventory > span { color: var(--blue); font-size: 7px; font-weight: 850; letter-spacing: .13em; }
.fx-central-inventory > strong { margin: 9px 0 0; color: var(--blue); font-size: 58px; line-height: 1; letter-spacing: -.08em; }
.fx-central-inventory > h3 { margin: 9px 0 9px; font-size: 18px; }
.fx-central-inventory > p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.65; }
.fx-central-inventory > div:last-child { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; margin-top: 25px; }
.fx-central-inventory > div:last-child small { padding: 5px 7px; border: 1px solid rgba(23,92,255,.16); border-radius: 999px; color: var(--blue); background: rgba(255,255,255,.74); font-size: 6px; font-weight: 800; }
.fx-central-orbit { position: absolute; top: 50%; left: 50%; width: 232px; height: 232px; transform: translate(-50%,-50%); border: 1px solid rgba(23,92,255,.13); border-radius: 50%; animation: destinationSpin 18s linear infinite; }
.fx-central-orbit::before, .fx-central-orbit::after { content: ""; position: absolute; inset: 18%; border: 1px solid rgba(23,92,255,.09); border-radius: 50%; }
.fx-central-orbit::after { inset: 35%; }
.fx-central-orbit i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 5px rgba(23,92,255,.07); }
.fx-central-orbit i:nth-child(1) { top: -3px; left: 49%; }
.fx-central-orbit i:nth-child(2) { top: 49%; right: -3px; background: var(--cyan); }
.fx-central-orbit i:nth-child(3) { bottom: 10%; left: 8%; background: var(--green); }
.fx-central-orbit i:nth-child(4) { top: 14%; left: 8%; background: var(--amber); }
.fx-route-story { display: grid; grid-template-columns: auto 1fr; gap: 17px; align-items: center; margin: 0 22px 16px; padding: 17px 20px; border: 1px solid rgba(23,92,255,.19); border-radius: 15px; background: var(--soft-blue); }
.fx-route-story span { padding: 5px 8px; border-radius: 999px; color: #fff; background: var(--blue); font-size: 7px; font-weight: 850; white-space: nowrap; }
.fx-route-story strong { font-size: 11px; line-height: 1.55; }
.fx-live-bridge { display: none; }
.fx-execution-strip { display: grid; grid-template-columns: repeat(3,1fr 28px) 1fr; align-items: center; margin: 0 22px 22px; padding: 12px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.fx-execution-strip article { min-height: 118px; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.fx-execution-strip article > span { color: var(--blue); font-size: 8px; font-weight: 850; }
.fx-execution-strip article > b { display: block; margin: 20px 0 4px; font-size: 12px; }
.fx-execution-strip article > small { display: block; color: var(--muted); font-size: 8px; line-height: 1.5; }
.fx-execution-strip > i { position: relative; display: block; height: 1px; background: linear-gradient(90deg,var(--line-strong),var(--blue)); }
.fx-execution-strip > i::after { content: "›"; position: absolute; top: 50%; right: -3px; transform: translateY(-53%); color: var(--blue); font-size: 14px; font-style: normal; }
.fx-execution-strip > i > b { position: absolute; top: -3px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); animation: agentDot 3.1s infinite linear; }
.fx-execution-strip > i:nth-of-type(2) > b { animation-delay: -1s; }
.fx-execution-strip > i:nth-of-type(3) > b { animation-delay: -2s; }
.fx-hub-rule { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; margin-top: 14px; padding: 20px 22px; border-radius: 16px; color: #fff; background: var(--ink); }
.fx-hub-rule > span { color: #8aaeff; font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.fx-hub-rule p { margin: 0; color: rgba(255,255,255,.62); font-size: 11px; line-height: 1.65; }
.fx-hub-rule strong { color: #fff; }
.fx-hub-note { max-width: 970px; margin: 16px auto 0; color: var(--muted-2); font-size: 10px; line-height: 1.7; text-align: center; }

.stack { background: var(--soft); }
.stack-status { align-self: center; justify-self: start; display: inline-flex; justify-content: center; min-width: 85px; padding: 5px 8px; border-radius: 999px; font-size: 8px; font-weight: 800; }
.stack-status.role-flow { color: var(--blue); background: rgba(23,92,255,.09); }
.stack-status.role-fund { color: var(--green); background: rgba(8,127,91,.09); }
.stack-status.role-store { color: #5a48b4; background: rgba(112,93,206,.09); }
.stack-status.role-execute { color: var(--amber); background: rgba(169,108,0,.09); }
.capture-boundary { overflow: hidden; margin-bottom: 18px; border: 1px solid var(--line-strong); border-radius: 21px; background: #fff; box-shadow: var(--shadow-sm); }
.capture-boundary-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 15px 20px; border-bottom: 1px solid var(--line); }
.capture-boundary-head span { color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.capture-boundary-head strong { font-size: 12px; }
.capture-chain { display: grid; grid-template-columns: 1fr 30px 1fr 30px 1fr 30px 1fr; align-items: stretch; padding: 14px; }
.capture-chain article { position: relative; display: flex; flex-direction: column; justify-content: center; min-width: 0; min-height: 122px; overflow: hidden; padding: 17px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.capture-chain article::after { content: ""; position: absolute; inset: 0; pointer-events: none; border: 1px solid rgba(23,92,255,.28); border-radius: inherit; background: linear-gradient(145deg,rgba(23,92,255,.065),transparent 62%); opacity: 0; animation: captureFocus 8s infinite var(--ease); }
.capture-chain article:nth-of-type(2)::after { animation-delay: 2s; }
.capture-chain article:nth-of-type(3)::after { animation-delay: 4s; }
.capture-chain article:nth-of-type(4)::after { animation-delay: 6s; }
.capture-chain article > * { position: relative; z-index: 1; }
.capture-chain article > span { color: var(--muted-2); font-size: 8px; font-weight: 850; }
.capture-chain article > b { margin: 18px 0 4px; font-size: 14px; line-height: 1.35; }
.capture-chain article > small { color: var(--muted); font-size: 8px; line-height: 1.45; }
.capture-chain > i { display: grid; place-items: center; color: var(--blue); font-size: 14px; font-style: normal; }
.capture-chain .capture-final { border-color: rgba(23,92,255,.30); background: var(--soft-blue); }
.capture-chain .capture-final > span, .capture-chain .capture-final > b { color: var(--blue); }
@keyframes captureFocus { 0%,24%,100% { opacity: 0; } 5%,19% { opacity: 1; } }
.institutional-map { position: relative; overflow: hidden; padding: 22px; border: 1px solid var(--line-strong); border-radius: 28px; background: linear-gradient(rgba(23,92,255,.023) 1px,transparent 1px),linear-gradient(90deg,rgba(23,92,255,.023) 1px,transparent 1px),#fff; background-size: 28px 28px; box-shadow: var(--shadow-md); }
.institutional-map-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 18px; padding: 2px 2px 18px; border-bottom: 1px solid var(--line); }
.institutional-map-head > div { display: flex; flex-direction: column; }
.institutional-map-head span { color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .13em; }
.institutional-map-head strong { margin-top: 5px; font-size: 17px; }
.institutional-map-head > small { color: var(--muted-2); font-size: 8px; }
.institutional-inputs { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.institutional-inputs article { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 155px; padding: 17px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.94); }
.institutional-inputs article > .stack-status { min-width: 0; margin-bottom: 24px; padding: 4px 7px; font-size: 7px; }
.institutional-inputs article > b { font-size: 13px; }
.institutional-inputs article > small { margin-top: 5px; color: var(--muted); font-size: 8px; line-height: 1.5; }
.institutional-inputs article > em { margin-top: auto; color: var(--blue); font-size: 7px; font-style: normal; font-weight: 850; letter-spacing: .12em; }
.institutional-merge { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; height: 64px; }
.institutional-merge i { position: relative; display: block; width: 1px; height: 64px; margin: 0 auto; background: linear-gradient(var(--line-strong),var(--blue)); }
.institutional-merge i span { position: absolute; top: 0; left: -3px; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 4px rgba(23,92,255,.08); animation: marketTrace 3s infinite linear; }
.institutional-merge i:nth-child(2) span { animation-delay: -.75s; }
.institutional-merge i:nth-child(3) span { animation-delay: -1.5s; }
.institutional-merge i:nth-child(4) span { animation-delay: -2.25s; }
.working-inventory-core { position: relative; display: grid; place-items: center; min-height: 190px; overflow: hidden; padding: 34px 22px; border: 1px solid rgba(23,92,255,.30); border-radius: 21px; background: radial-gradient(circle at 50% 50%,#fff,#eff4ff 66%,#eaf1ff); text-align: center; }
.working-inventory-core > span, .working-inventory-core > strong, .working-inventory-core > p { position: relative; z-index: 2; }
.working-inventory-core > span { color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.working-inventory-core > strong { margin: 8px 0 4px; font-size: clamp(25px,3vw,38px); line-height: 1.2; }
.working-inventory-core > p { margin: 0; color: var(--muted); font-size: 10px; }
.working-orbit { position: absolute; top: 50%; left: 50%; width: 370px; height: 370px; transform: translate(-50%,-50%); border: 1px solid rgba(23,92,255,.10); border-radius: 50%; animation: destinationSpin 24s linear infinite; }
.working-orbit::before { content: ""; position: absolute; inset: 23%; border: 1px solid rgba(23,92,255,.09); border-radius: 50%; }
.working-orbit i { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }
.working-orbit i:nth-child(1) { top: -3px; left: 50%; }
.working-orbit i:nth-child(2) { top: 50%; right: -3px; background: var(--cyan); }
.working-orbit i:nth-child(3) { bottom: 12%; left: 7%; background: var(--green); }
.market-cycle { display: grid; grid-template-columns: 1fr 30px 1fr 30px 1fr 30px 1fr; align-items: stretch; margin-top: 14px; }
.market-cycle article { min-width: 0; min-height: 105px; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.94); }
.market-cycle article span { color: var(--blue); font-size: 8px; font-weight: 850; }
.market-cycle article b { display: block; margin-top: 15px; font-size: 12px; }
.market-cycle article small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; }
.market-cycle > i { display: grid; place-items: center; color: var(--blue); font-size: 13px; font-style: normal; }
.institutional-rule { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center; margin-top: 14px; padding: 18px 20px; border-radius: 15px; color: #fff; background: var(--ink); }
.institutional-rule span { color: #8aaeff; font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.institutional-rule strong { font-size: 13px; font-weight: 650; }
.status-note { margin: 18px 4px 0; color: var(--muted-2); font-size: 11px; }
.status-note a { color: var(--blue); font-weight: 750; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

/* Hypothetical XRP adoption roadmap */
.adoption-roadmap { background: #fff; }
.roadmap-current { overflow: hidden; margin-bottom: 18px; border: 1px solid var(--line-strong); border-radius: 24px; background: #fff; box-shadow: var(--shadow-sm); }
.roadmap-current-head { display: grid; grid-template-columns: 170px 1fr; gap: 22px; align-items: center; padding: 22px 24px; border-bottom: 1px solid var(--line); background: linear-gradient(135deg,#fff,#f4f7ff); }
.roadmap-current-head > span { display: inline-flex; align-items: center; gap: 8px; color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .1em; }
.roadmap-current-head > span i { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 5px rgba(23,92,255,.09); }
.roadmap-current-head > div { display: grid; grid-template-columns: minmax(310px,.7fr) minmax(0,1fr); gap: 26px; align-items: center; }
.roadmap-current-head strong { font-size: 17px; line-height: 1.45; }
.roadmap-current-head p { margin: 0; color: var(--muted); font-size: 9.5px; line-height: 1.7; }
.roadmap-current-head p b { color: var(--ink); }
.roadmap-current-track { display: grid; grid-template-columns: 1fr 38px 1fr 38px 1fr; align-items: center; padding: 18px 24px; }
.roadmap-current-track article { min-height: 112px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.roadmap-current-track article > span { color: var(--muted-2); font-size: 7px; font-weight: 850; letter-spacing: .1em; }
.roadmap-current-track article > b { display: block; margin: 17px 0 4px; font-size: 13px; }
.roadmap-current-track article > small { display: block; color: var(--muted); font-size: 8px; line-height: 1.55; }
.roadmap-current-track .is-current { border-color: rgba(23,92,255,.34); background: var(--soft-blue); }
.roadmap-current-track .is-current > span { color: var(--blue); }
.roadmap-current-track > i { position: relative; display: block; height: 1px; background: linear-gradient(90deg,var(--line-strong),var(--blue)); }
.roadmap-current-track > i::after { content: "›"; position: absolute; top: 50%; right: -3px; transform: translateY(-53%); color: var(--blue); font-size: 15px; font-style: normal; }
.roadmap-current-track > i b { position: absolute; top: -3px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); animation: agentDot 3.4s infinite linear; }
.roadmap-current-track > i:nth-of-type(2) b { animation-delay: -1.7s; }
.roadmap-open-questions { display: grid; grid-template-columns: 150px repeat(4,minmax(0,1fr)); border-top: 1px solid var(--line); background: var(--soft); }
.roadmap-question-label, .roadmap-open-questions article { min-height: 104px; padding: 15px 16px; border-left: 1px solid var(--line); }
.roadmap-question-label { display: grid; align-content: center; border-left: 0; }
.roadmap-question-label > span { color: var(--amber); font-size: 7px; font-weight: 850; letter-spacing: .11em; }
.roadmap-question-label > strong { margin-top: 5px; font-size: 11px; }
.roadmap-open-questions article > span { color: var(--blue); font-size: 7px; font-weight: 850; }
.roadmap-open-questions article > b { display: block; margin: 13px 0 4px; font-size: 11px; }
.roadmap-open-questions article > small { display: block; color: var(--muted); font-size: 7.5px; line-height: 1.5; }
.roadmap-current-verdict { display: grid; grid-template-columns: 130px 1fr; gap: 18px; align-items: center; min-height: 62px; padding: 13px 18px; color: #fff; background: var(--ink); }
.roadmap-current-verdict > span { color: #8aaeff; font-size: 7px; font-weight: 850; letter-spacing: .1em; }
.roadmap-current-verdict p { margin: 0; color: rgba(255,255,255,.58); font-size: 9px; }
.roadmap-current-verdict strong { color: #fff; }
.roadmap-visual {
  position: relative;
  overflow: hidden;
  padding: 22px;
  border: 1px solid var(--line-strong);
  border-radius: 30px;
  background:
    radial-gradient(circle at 50% 0, rgba(23,92,255,.06), transparent 28%),
    linear-gradient(rgba(23,92,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,92,255,.02) 1px, transparent 1px),
    #fbfcff;
  background-size: auto, 28px 28px, 28px 28px, auto;
  box-shadow: var(--shadow-sm);
}
.roadmap-era { overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.94); }
.roadmap-era-head { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 15px 18px; border-bottom: 1px solid var(--line); }
.roadmap-era-head span { color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.roadmap-era-head strong { font-size: 13px; }
.roadmap-era-head small { color: var(--muted-2); font-size: 7px; font-weight: 800; letter-spacing: .1em; }
.roadmap-steps { display: grid; }
.roadmap-steps-2 { grid-template-columns: repeat(2, 1fr); }
.roadmap-steps-3 { grid-template-columns: repeat(3, 1fr); }
.roadmap-step { position: relative; min-height: 245px; overflow: hidden; padding: 22px; border-left: 1px solid var(--line); background: #fff; }
.roadmap-step:first-child { border-left: 0; }
.roadmap-step::after { content: ""; position: absolute; inset: 0; pointer-events: none; border: 1px solid transparent; background: linear-gradient(160deg, rgba(23,92,255,.075), transparent 58%); opacity: 0; animation: roadmapPulse 16s infinite var(--ease); animation-delay: var(--delay); }
.roadmap-step > * { position: relative; z-index: 1; }
.roadmap-number { color: var(--blue); font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.roadmap-state { position: absolute; top: 18px; right: 18px; padding: 4px 8px; border-radius: 999px; color: var(--muted); background: var(--soft); font-size: 7px; font-weight: 800; }
.roadmap-step.is-forming .roadmap-state { color: var(--green); background: rgba(8,127,91,.09); }
.roadmap-step h3 { margin: 46px 0 10px; font-size: 19px; line-height: 1.4; }
.roadmap-step p { margin: 0 0 22px; color: var(--muted); font-size: 11px; line-height: 1.72; }
.roadmap-step > small { display: block; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted-2); font-size: 8px; }
.roadmap-step > small b { margin-right: 7px; color: var(--blue); }
.roadmap-gate { display: grid; grid-template-columns: 28px 1fr; gap: 14px; align-items: center; width: min(92%, 760px); min-height: 64px; margin: 0 auto; }
.roadmap-gate > i { position: relative; display: block; width: 1px; height: 64px; margin-left: 13px; background: linear-gradient(var(--line-strong), var(--blue), var(--line-strong)); }
.roadmap-gate > i span { position: absolute; top: 0; left: -4px; width: 9px; height: 9px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 5px rgba(23,92,255,.09); animation: marketTrace 3.2s infinite linear; }
.roadmap-gate > div { display: flex; align-items: baseline; gap: 12px; }
.roadmap-gate small { color: var(--blue); font-size: 7px; font-weight: 850; letter-spacing: .12em; }
.roadmap-gate strong { font-size: 11px; }
.roadmap-destination {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 250px;
  overflow: hidden;
  margin-top: 18px;
  padding: 42px 24px;
  border: 1px solid rgba(23,92,255,.32);
  border-radius: 22px;
  background: radial-gradient(circle at 50% 52%, #fff 0, #f3f7ff 45%, #edf3ff 100%);
  text-align: center;
}
.roadmap-destination > span { position: relative; z-index: 2; color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .14em; }
.roadmap-destination > strong { position: relative; z-index: 2; margin: 12px 0 8px; font-size: clamp(28px,4vw,46px); line-height: 1.15; }
.roadmap-destination > p { position: relative; z-index: 2; max-width: 680px; margin: 0; color: var(--muted); font-size: 12px; }
.destination-orbit { position: absolute; top: 50%; left: 50%; width: 410px; height: 410px; transform: translate(-50%,-50%); border: 1px solid rgba(23,92,255,.10); border-radius: 50%; animation: locatorSpin 25s linear infinite; }
.destination-orbit::before, .destination-orbit::after { content: ""; position: absolute; inset: 16%; border: 1px solid rgba(23,92,255,.085); border-radius: 50%; }
.destination-orbit::after { inset: 32%; }
.destination-orbit i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 5px rgba(23,92,255,.08); }
.destination-orbit i:nth-child(1) { top: -3px; left: 50%; }
.destination-orbit i:nth-child(2) { top: 48%; right: -3px; background: var(--cyan); }
.destination-orbit i:nth-child(3) { bottom: 12%; left: 8%; background: var(--green); }
.roadmap-premise { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); overflow: hidden; margin-top: 18px; border: 1px solid var(--line-strong); border-radius: 21px; background: #fff; box-shadow: var(--shadow-sm); }
.roadmap-premise-copy { padding: 24px 26px; }
.roadmap-premise-copy > span { color: var(--amber); font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.roadmap-premise-copy > strong { display: block; margin: 10px 0 8px; font-size: 17px; }
.roadmap-premise-copy > p { margin: 0; color: var(--muted); font-size: 10.5px; line-height: 1.7; }
.roadmap-premise-copy > p strong { color: var(--ink); }
.roadmap-cost-test { display: grid; align-content: center; padding: 22px 24px; color: #fff; background: linear-gradient(145deg,#121a29,#202b3d); }
.roadmap-cost-test > span { color: #e9bd67; font-size: 7px; font-weight: 850; letter-spacing: .1em; }
.roadmap-cost-test > strong { display: flex; align-items: center; gap: 9px; margin: 17px 0 9px; font-size: 11px; }
.roadmap-cost-test > strong b { padding: 8px 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; background: rgba(255,255,255,.06); }
.roadmap-cost-test > strong i { color: #e9bd67; font-size: 16px; font-style: normal; }
.roadmap-cost-test > small { color: rgba(255,255,255,.52); font-size: 8px; line-height: 1.6; }
.roadmap-note { max-width: 940px; margin: 18px auto 0; color: var(--muted-2); font-size: 10px; line-height: 1.7; text-align: center; }

.agentic { background: #fff; }
.payment-stack-map { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 30px; background: #fff; box-shadow: var(--shadow-sm); }
.payment-map-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; padding: 18px 24px; border-bottom: 1px solid var(--line); }
.payment-map-head > div { display: flex; align-items: baseline; gap: 14px; }
.payment-map-head span, .payment-layer-label > span { color: var(--blue); font-size: 7.5px; font-weight: 850; letter-spacing: .12em; }
.payment-map-head strong { font-size: 14px; }
.payment-map-head small { color: var(--muted-2); font-size: 8px; font-weight: 750; }
.x402-protocol-layer, .routing-protocol-layer, .settlement-rail-layer { padding: 22px 24px 24px; }
.payment-layer-label { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: baseline; margin-bottom: 16px; }
.payment-layer-label > strong { font-size: 13px; }
.payment-layer-label > small { color: var(--muted-2); font-size: 8px; font-weight: 750; }

.x402-protocol-grid { display: grid; grid-template-columns: 184px minmax(0,1fr) 184px; gap: 18px; align-items: center; }
.x402-endpoint { min-height: 155px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg,#fff,#f7f9ff); }
.x402-endpoint > div { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 20px; border: 1px solid rgba(23,92,255,.2); border-radius: 12px; color: var(--blue); background: var(--soft-blue); font-size: 11px; font-weight: 850; }
.x402-endpoint > span { color: var(--blue); font-size: 6.5px; font-weight: 850; letter-spacing: .11em; }
.x402-endpoint > b { display: block; margin: 5px 0 3px; font-size: 12px; }
.x402-endpoint > small { display: block; color: var(--muted); font-size: 8px; line-height: 1.5; }
.x402-server { text-align: right; }
.x402-server > div { margin-left: auto; }
.x402-message-lane { display: grid; gap: 8px; }
.x402-message-lane > span { position: relative; display: flex; align-items: center; min-height: 28px; overflow: hidden; padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: var(--soft); font-size: 7px; font-weight: 800; letter-spacing: .04em; }
.x402-message-lane > span b { display: grid; place-items: center; flex: 0 0 auto; width: 17px; height: 17px; margin-right: 8px; border-radius: 50%; color: #fff; background: var(--blue); font-size: 6px; }
.x402-message-lane > span::after { content: ""; position: absolute; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 5px rgba(23,92,255,.07); animation: x402MessageRight 3.4s linear infinite; }
.x402-message-lane > span:nth-child(2)::after, .x402-message-lane > span:nth-child(4)::after { background: var(--cyan); animation-name: x402MessageLeft; }
.x402-message-lane > span:nth-child(2)::after { animation-delay: -.85s; }
.x402-message-lane > span:nth-child(3)::after { animation-delay: -1.7s; }
.x402-message-lane > span:nth-child(4)::after { animation-delay: -2.55s; }
.x402-message-lane .message-right { justify-content: flex-start; }
.x402-message-lane .message-left { justify-content: flex-end; text-align: right; }
.x402-verification { display: grid; grid-template-columns: 130px 1fr; gap: 18px; align-items: center; min-height: 62px; margin-top: 12px; padding: 13px 17px; border: 1px solid rgba(23,92,255,.18); border-radius: 14px; background: var(--soft-blue); }
.x402-verification > span { color: var(--blue); font-size: 7px; font-weight: 850; letter-spacing: .11em; }
.x402-verification p { margin: 0; color: var(--muted); font-size: 9px; }
.x402-verification strong { color: var(--ink); }

.payment-stack-boundary { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: center; min-height: 76px; width: min(94%, 820px); margin: 0 auto; }
.payment-stack-boundary > i { position: relative; justify-self: center; width: 1px; height: 76px; background: linear-gradient(var(--line-strong),var(--blue),var(--line-strong)); }
.payment-stack-boundary > i b { position: absolute; top: 0; left: -4px; width: 9px; height: 9px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 5px rgba(23,92,255,.08); animation: marketTrace 3.2s linear infinite; }
.payment-stack-boundary > div { display: flex; align-items: baseline; gap: 12px; }
.payment-stack-boundary span { color: var(--amber); font-size: 7px; font-weight: 850; letter-spacing: .1em; }
.payment-stack-boundary strong { font-size: 10px; }

.routing-protocol-layer { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: linear-gradient(180deg,#f8faff,#f3f7ff); }
.routing-protocol-grid { display: grid; grid-template-columns: minmax(0,1fr) 34px 220px 34px minmax(0,1fr); align-items: center; }
.routing-intent, .connector-mesh { min-height: 160px; padding: 20px; border: 1px solid rgba(23,92,255,.17); border-radius: 18px; background: rgba(255,255,255,.88); }
.routing-intent > span, .connector-mesh > span, .routing-engine > span { color: var(--blue); font-size: 6.5px; font-weight: 850; letter-spacing: .12em; }
.routing-intent > b, .connector-mesh > strong { display: block; margin: 34px 0 5px; font-size: 13px; }
.routing-intent > small, .connector-mesh > small { display: block; color: var(--muted); font-size: 8.5px; line-height: 1.55; }
.routing-link { position: relative; display: block; height: 1px; background: linear-gradient(90deg,var(--line-strong),var(--blue)); }
.routing-link::after { content: "›"; position: absolute; top: 50%; right: -3px; transform: translateY(-53%); color: var(--blue); font-size: 15px; font-style: normal; }
.routing-link > b { position: absolute; top: -3px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); animation: agentDot 3.2s linear infinite; }
.routing-link:nth-of-type(2) > b { animation-delay: -1.6s; }
.routing-engine { position: relative; display: grid; place-content: center; justify-items: center; min-height: 220px; overflow: hidden; border: 1px solid rgba(23,92,255,.28); border-radius: 50%; background: radial-gradient(circle,#fff 0,#edf3ff 72%,#e2ebff 100%); text-align: center; }
.routing-engine > span, .routing-engine > strong, .routing-engine > p { position: relative; z-index: 2; }
.routing-engine > strong { margin: 8px 0 6px; font-size: 21px; }
.routing-engine > p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.routing-orbit { position: absolute; top: 50%; left: 50%; width: 170px; height: 170px; transform: translate(-50%,-50%); border: 1px solid rgba(23,92,255,.12); border-radius: 50%; animation: destinationSpin 18s linear infinite; }
.routing-orbit::before { content: ""; position: absolute; inset: 22%; border: 1px solid rgba(23,92,255,.1); border-radius: 50%; }
.routing-orbit i { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }
.routing-orbit i:nth-child(1) { top: -3px; left: 49%; }
.routing-orbit i:nth-child(2) { top: 48%; right: -3px; background: var(--cyan); }
.routing-orbit i:nth-child(3) { bottom: 12%; left: 9%; background: var(--amber); }
.connector-mesh { position: relative; overflow: hidden; }
.connector-mesh > strong { margin-top: 15px; }
.connector-nodes { position: relative; width: 152px; height: 67px; margin: 9px auto 0; }
.connector-nodes i { position: absolute; z-index: 2; display: grid; place-items: center; width: 48px; height: 30px; border: 1px solid rgba(23,92,255,.22); border-radius: 9px; color: var(--blue); background: #fff; font-size: 6px; font-style: normal; font-weight: 850; animation: connectorPulse 4.8s ease-in-out infinite; }
.connector-nodes i:nth-child(1) { top: 0; left: 52px; }
.connector-nodes i:nth-child(2) { bottom: 0; left: 0; animation-delay: -1.6s; }
.connector-nodes i:nth-child(3) { right: 0; bottom: 0; animation-delay: -3.2s; }
.connector-nodes b { position: absolute; z-index: 1; height: 1px; transform-origin: left center; background: rgba(23,92,255,.28); }
.connector-nodes b:nth-of-type(1) { top: 29px; left: 34px; width: 60px; transform: rotate(-28deg); }
.connector-nodes b:nth-of-type(2) { top: 28px; left: 77px; width: 59px; transform: rotate(28deg); }
.connector-nodes b:nth-of-type(3) { bottom: 14px; left: 46px; width: 60px; }

.settlement-rail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.settlement-rail { position: relative; min-height: 190px; padding: 18px; border: 1px solid var(--line); border-radius: 17px; background: #fff; transition: border-color .45s var(--ease), background .45s var(--ease), box-shadow .45s var(--ease), transform .45s var(--ease); }
.settlement-rail::after { content: ""; position: absolute; inset: -1px; pointer-events: none; border: 1px solid transparent; border-radius: inherit; opacity: 0; box-shadow: inset 0 0 0 1px rgba(23,92,255,.22); transition: opacity .45s var(--ease); }
.settlement-rail.is-active { border-color: rgba(23,92,255,.38); background: var(--soft-blue); box-shadow: 0 14px 30px rgba(23,92,255,.09); transform: translateY(-3px); }
.settlement-rail.is-active::after { opacity: 1; }
.settlement-rail > span { color: var(--muted-2); font-size: 6.5px; font-weight: 850; letter-spacing: .11em; }
.settlement-icon { display: grid; place-items: center; width: 42px; height: 42px; margin: 22px 0 15px; border: 1px solid rgba(23,92,255,.18); border-radius: 12px; color: var(--blue); background: var(--soft-blue); font-size: 11px; font-weight: 850; }
.settlement-rail > b { display: block; margin-bottom: 5px; font-size: 13px; }
.settlement-rail > small { display: block; color: var(--muted); font-size: 8.5px; line-height: 1.55; }
.settlement-rail > em { position: absolute; top: 16px; right: 16px; padding: 5px 7px; border-radius: 999px; color: var(--muted); background: var(--soft); font-size: 6.5px; font-style: normal; font-weight: 850; }
.settlement-xrp .settlement-icon { color: #fff; background: var(--blue); }
.settlement-xrp > em { color: var(--blue); background: var(--soft-blue); }
.agent-route-status { display: grid; grid-template-columns: 110px 190px 1fr; gap: 16px; align-items: center; min-height: 66px; margin-top: 10px; padding: 13px 17px; border: 1px solid var(--line); border-radius: 14px; background: var(--soft); }
.agent-route-status > span { color: var(--blue); font-size: 7px; font-weight: 850; }
.agent-route-status > strong { font-size: 11px; }
.agent-route-status > p { margin: 0; color: var(--muted); font-size: 8.5px; line-height: 1.55; }

.agent-answer { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; margin-top: 14px; padding: 20px 22px; border: 1px solid var(--line); border-radius: 16px; }
.agent-answer > span { padding: 5px 9px; border-radius: 999px; color: #fff; background: var(--ink); font-size: 7px; font-weight: 850; }
.agent-answer p { margin: 0; color: var(--muted); font-size: 11px; }
.agent-answer p strong { color: var(--ink); }
.agent-answer a { color: var(--blue); font-size: 10px; font-weight: 750; white-space: nowrap; }

@keyframes x402MessageRight {
  0% { left: 5%; opacity: 0; }
  15%,85% { opacity: 1; }
  100% { left: calc(95% - 6px); opacity: 0; }
}
@keyframes x402MessageLeft {
  0% { right: 5%; opacity: 0; }
  15%,85% { opacity: 1; }
  100% { right: calc(95% - 6px); opacity: 0; }
}
@keyframes connectorPulse {
  0%,100% { border-color: rgba(23,92,255,.18); box-shadow: none; }
  50% { border-color: rgba(23,92,255,.5); box-shadow: 0 0 0 5px rgba(23,92,255,.06); }
}

/* XRP price formation */
.price-formation { overflow: hidden; background: var(--soft); }
.price-causal-map, .price-discovery-map { overflow: hidden; border: 1px solid var(--line); border-radius: 28px; background: #fff; box-shadow: var(--shadow-sm); }
.price-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 78px; padding: 19px 24px; border-bottom: 1px solid var(--line); }
.price-panel-head > div { display: flex; align-items: baseline; gap: 15px; }
.price-panel-head span { color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .13em; }
.price-panel-head strong { font-size: 14px; }
.price-panel-head small { color: var(--muted-2); font-size: 8px; font-weight: 750; }

.price-causal-body { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(300px,.75fr); gap: 18px; padding: 24px; background: linear-gradient(180deg,#fff,#fbfcff); }
.price-causal-track { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 42px 1fr 42px 1fr; align-items: center; }
.price-causal-track article { position: relative; display: grid; align-content: center; min-height: 132px; padding: 20px 22px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.price-causal-track article::after { content: ""; position: absolute; width: 120px; height: 120px; right: -54px; bottom: -70px; border: 1px solid rgba(23,92,255,.08); border-radius: 50%; box-shadow: 0 0 0 18px rgba(23,92,255,.025); }
.price-causal-track article > span { color: var(--blue); font-size: 7px; font-weight: 850; letter-spacing: .12em; }
.price-causal-track article > b { display: block; margin: 16px 0 5px; font-size: 15px; }
.price-causal-track article > small { color: var(--muted); font-size: 9px; line-height: 1.55; }
.price-causal-track .price-causal-inventory { border-color: rgba(23,92,255,.35); background: linear-gradient(145deg,#fff,#eef4ff); }
.price-causal-track > i { position: relative; display: block; height: 1px; background: linear-gradient(90deg,var(--line-strong),var(--blue)); }
.price-causal-track > i::after { content: "›"; position: absolute; top: 50%; right: -3px; transform: translateY(-53%); color: var(--blue); font-size: 15px; font-style: normal; }
.price-causal-track > i b { position: absolute; top: -3px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); animation: agentDot 3.2s infinite linear; }
.price-causal-track > i:nth-of-type(2) b { animation-delay: -1.6s; }

.price-source-gate { overflow: hidden; border: 1px solid var(--line); border-radius: 19px; background: var(--soft); }
.price-gate-question { display: flex; align-items: baseline; gap: 12px; min-height: 52px; padding: 14px 16px; border-bottom: 1px solid var(--line); background: #fff; }
.price-gate-question span { color: var(--blue); font-size: 7px; font-weight: 850; letter-spacing: .12em; }
.price-gate-question strong { font-size: 12px; }
.price-source-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 10px; }
.price-source-options article { position: relative; display: flex; flex-direction: column; min-height: 153px; padding: 15px 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.price-source-options article > span { color: var(--muted-2); font-size: 7px; font-weight: 850; }
.price-source-options article > b { margin: 16px 0 5px; font-size: 12px; }
.price-source-options article > small { color: var(--muted); font-size: 8.5px; line-height: 1.55; }
.price-source-options article > em { align-self: flex-start; margin-top: auto; padding: 5px 8px; border-radius: 999px; color: var(--muted); background: var(--soft); font-size: 7px; font-style: normal; font-weight: 850; }
.price-source-options .price-source-spot { border-color: rgba(23,92,255,.32); background: var(--soft-blue); }
.price-source-options .price-source-spot > span, .price-source-options .price-source-spot > em { color: var(--blue); }
.price-source-options .price-source-spot > em { background: #fff; }

.price-impact-answer { position: relative; display: grid; grid-template-columns: 72px 1fr; gap: 18px; align-items: center; min-height: 226px; overflow: hidden; padding: 24px; border-radius: 19px; color: #fff; background: linear-gradient(145deg,#0b1427,#14284e); }
.price-impact-answer::after { content: ""; position: absolute; width: 260px; height: 260px; right: -150px; top: -150px; border: 1px solid rgba(125,166,255,.15); border-radius: 50%; box-shadow: 0 0 0 34px rgba(125,166,255,.04),0 0 0 68px rgba(125,166,255,.025); }
.price-impact-answer > div:last-child { position: relative; z-index: 2; }
.price-impact-answer span { color: #8aaeff; font-size: 7px; font-weight: 850; letter-spacing: .13em; }
.price-impact-answer strong { display: block; margin: 10px 0 9px; font-size: 16px; line-height: 1.45; }
.price-impact-answer small { display: block; color: rgba(255,255,255,.58); font-size: 8.5px; line-height: 1.6; }
.price-impact-icon { position: relative; z-index: 2; display: grid; place-items: center; width: 72px; height: 72px; border: 1px solid rgba(125,166,255,.25); border-radius: 50%; background: rgba(125,166,255,.08); }
.price-impact-icon::before { content: "↑"; color: #8aaeff; font-size: 26px; font-weight: 400; }
.price-impact-icon i { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: #8aaeff; animation: priceImpactPulse 3s ease-in-out infinite; }
.price-impact-icon i:nth-child(1) { top: 9px; left: 33px; }
.price-impact-icon i:nth-child(2) { right: 8px; bottom: 21px; animation-delay: -1s; }
.price-impact-icon i:nth-child(3) { left: 10px; bottom: 17px; animation-delay: -2s; }

.inventory-equations { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--soft-blue); }
.inventory-equations > div { display: grid; grid-template-columns: 118px 1fr; gap: 20px; align-items: center; min-height: 90px; padding: 18px 24px; }
.inventory-equations > div + div { border-left: 1px solid rgba(23,92,255,.13); }
.inventory-equations span { color: var(--blue); font-size: 9px; font-weight: 850; }
.inventory-equations strong { display: flex; align-items: center; gap: 10px; font-size: 12px; }
.inventory-equations strong b { padding: 7px 9px; border: 1px solid rgba(23,92,255,.16); border-radius: 9px; background: #fff; white-space: nowrap; }
.inventory-equations strong i { color: var(--muted-2); font-size: 10px; font-style: normal; }
.inventory-price-caveat { margin: 0; padding: 19px 24px; color: var(--muted); font-size: 10px; line-height: 1.7; }
.inventory-price-caveat b { color: var(--ink); }

.price-discovery-map { margin-top: 18px; }
.price-discovery-body { padding: 24px; background: linear-gradient(180deg,#fff,#fbfcff); }
.price-market-balance { display: grid; grid-template-columns: minmax(0,1fr) 48px 214px 48px minmax(0,1fr); align-items: center; }
.price-balance-side { display: grid; align-content: center; min-height: 136px; padding: 21px 24px; border: 1px solid var(--line); background: #fff; }
.price-balance-side > span { font-size: 7px; font-weight: 850; letter-spacing: .12em; }
.price-balance-side > b { margin: 18px 0 4px; font-size: 15px; }
.price-balance-side > small { color: var(--muted); font-size: 8.5px; }
.price-balance-buy { border-radius: 19px 6px 6px 19px; border-color: rgba(23,92,255,.25); background: linear-gradient(135deg,#fff,#f0f5ff); }
.price-balance-buy > span { color: var(--blue); }
.price-balance-sell { border-radius: 6px 19px 19px 6px; border-color: rgba(169,108,0,.23); background: linear-gradient(225deg,#fff,#fff9ec); text-align: right; }
.price-balance-sell > span { color: var(--amber); }
.price-balance-line { position: relative; display: block; height: 1px; background: linear-gradient(90deg,var(--blue),var(--line-strong)); }
.price-balance-line::after { content: "›"; position: absolute; top: 50%; right: -3px; transform: translateY(-53%); color: var(--blue); font-size: 15px; font-style: normal; }
.price-balance-line > b { position: absolute; top: -3px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); animation: agentDot 3.2s linear infinite; }
.price-balance-line-reverse { transform: rotate(180deg); background: linear-gradient(90deg,var(--amber),var(--line-strong)); }
.price-balance-line-reverse::after { color: var(--amber); }
.price-balance-line-reverse > b { background: var(--amber); animation-delay: -1.6s; }
.price-core { position: relative; display: grid; place-content: center; justify-items: center; min-height: 214px; overflow: hidden; border: 1px solid rgba(23,92,255,.28); border-radius: 50%; background: radial-gradient(circle at 50% 48%,#fff 0,#f2f6ff 53%,#eaf1ff 100%); text-align: center; }
.price-core > span, .price-core > strong, .price-core > p, .price-core > small { position: relative; z-index: 2; }
.price-core > span { color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .14em; }
.price-core > strong { margin: 8px 0 5px; font-size: 25px; }
.price-core > p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.price-core > small { margin-top: 18px; padding: 5px 9px; border: 1px solid rgba(23,92,255,.16); border-radius: 999px; color: var(--blue); background: rgba(255,255,255,.74); font-size: 7px; font-weight: 800; }
.price-core-orbit { position: absolute; top: 50%; left: 50%; width: 168px; height: 168px; transform: translate(-50%,-50%); border: 1px solid rgba(23,92,255,.15); border-radius: 50%; animation: destinationSpin 18s linear infinite; }
.price-core-orbit::before, .price-core-orbit::after { content: ""; position: absolute; inset: 17%; border: 1px solid rgba(23,92,255,.10); border-radius: 50%; }
.price-core-orbit::after { inset: 34%; }
.price-core-orbit i { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 5px rgba(23,92,255,.07); }
.price-core-orbit i:nth-child(1) { top: -3px; left: 49%; }
.price-core-orbit i:nth-child(2) { top: 48%; right: -3px; background: var(--cyan); }
.price-core-orbit i:nth-child(3) { bottom: 13%; left: 8%; background: var(--amber); }

.price-driver-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 22px; }
.price-driver { display: grid; grid-template-columns: 72px 1fr auto; gap: 16px; align-items: center; min-height: 118px; padding: 15px 17px; border: 1px solid var(--line); border-left: 3px solid rgba(23,92,255,.62); border-radius: 16px; background: #fff; }
.price-driver > time { display: grid; place-items: center; min-height: 42px; padding: 6px; border-radius: 10px; color: var(--blue); background: var(--soft-blue); font-size: 9px; font-weight: 850; }
.price-driver div > span { color: var(--muted-2); font-size: 6.5px; font-weight: 850; letter-spacing: .11em; }
.price-driver div > b { display: block; margin: 5px 0 3px; font-size: 13px; }
.price-driver div > small { display: block; color: var(--muted); font-size: 8.5px; line-height: 1.55; }
.price-driver > em { padding: 6px 8px; border-radius: 999px; color: var(--blue); background: var(--soft-blue); font-size: 7px; font-style: normal; font-weight: 850; white-space: nowrap; }
.price-driver.expectation { border-left-color: rgba(30,177,194,.7); }
.price-driver.expectation > time, .price-driver.expectation > em { color: #087e8b; background: #ebfafb; }
.price-driver.speculation { border-left-color: rgba(112,93,206,.65); }
.price-driver.speculation > time, .price-driver.speculation > em { color: #5a48b4; background: #f1effd; }
.price-driver.supply { border-left-color: rgba(169,108,0,.65); }
.price-driver.supply > time, .price-driver.supply > em { color: var(--amber); background: #fff7e6; }
.price-market-context { display: grid; grid-template-columns: 190px 1fr; gap: 18px; align-items: center; min-height: 62px; margin-top: 10px; padding: 13px 17px; border: 1px solid var(--line); border-radius: 14px; background: var(--soft); }
.price-market-context span { color: var(--blue); font-size: 8px; font-weight: 850; }
.price-market-context p { margin: 0; color: var(--muted); font-size: 8.5px; line-height: 1.55; }

.price-proof-rule { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; margin-top: 14px; padding: 20px 22px; border-radius: 16px; color: #fff; background: var(--ink); }
.price-proof-rule > span { color: #8aaeff; font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.price-proof-rule p { margin: 0; color: rgba(255,255,255,.62); font-size: 11px; }
.price-proof-rule strong { color: #fff; }

@keyframes priceImpactPulse {
  0%,100% { opacity: .35; transform: scale(.75); }
  50% { opacity: 1; transform: scale(1.35); }
}

.evidence { color: #fff; background: var(--ink); }
.evidence .section-index { color: #8aaeff; }
.evidence .split-heading > p { color: rgba(255,255,255,.56); }
.evidence .split-heading > p strong { color: #fff; }
.evidence-checklist { display: grid; gap: 8px; }
.evidence-test { display: grid; grid-template-columns: 190px repeat(2,minmax(0,1fr)); overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 17px; background: rgba(255,255,255,.035); }
.evidence-axis { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; min-width: 0; min-height: 112px; padding: 17px 18px; background: rgba(255,255,255,.025); }
.evidence-axis > span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(123,165,255,.25); border-radius: 9px; color: #8aaeff; background: rgba(123,165,255,.08); font-size: 8px; font-weight: 850; }
.evidence-axis b { display: block; font-size: 13px; }
.evidence-axis small { display: block; margin-top: 3px; color: rgba(255,255,255,.48); font-size: 8px; line-height: 1.45; }
.evidence-outcome { display: grid; align-content: center; min-width: 0; min-height: 112px; padding: 17px 20px; border-left: 1px solid rgba(255,255,255,.11); }
.evidence-outcome > span { font-size: 7px; font-weight: 850; letter-spacing: .08em; }
.evidence-outcome > b { margin-top: 7px; font-size: 12px; }
.evidence-outcome > small { margin-top: 4px; color: rgba(255,255,255,.55); font-size: 9px; line-height: 1.55; }
.evidence-outcome.positive > span { color: #70d4b3; }
.evidence-outcome.positive > b { color: #e5faf2; }
.evidence-outcome.negative > span { color: #ff9a8f; }
.evidence-outcome.negative > b { color: #ffe9e6; }
.evidence-current { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; margin-top: 14px; padding: 20px 22px; border: 1px solid rgba(123,165,255,.22); border-radius: 16px; background: rgba(123,165,255,.08); }
.evidence-current > span { color: #8aaeff; font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.evidence-current p { margin: 0; color: rgba(255,255,255,.58); font-size: 11px; line-height: 1.65; }
.evidence-current strong { color: #fff; }

.reading { background: var(--soft); }
.reading-route { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.reading-route a { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; min-height: 250px; padding: 24px; border: 1px solid var(--line); border-radius: 21px; background: #fff; transition: transform .3s var(--ease), border-color .3s, box-shadow .3s; }
.reading-route a:hover { transform: translateY(-4px); border-color: rgba(23,92,255,.35); box-shadow: var(--shadow-sm); }
.route-number { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line-strong); border-radius: 10px; color: var(--blue); font-size: 10px; font-weight: 850; }
.reading-route a > div { align-self: end; }
.reading-route small { color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.reading-route h3 { margin: 9px 0 10px; font-size: 18px; line-height: 1.45; }
.reading-route p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.reading-route a > b { color: var(--muted-2); font-size: 14px; font-weight: 500; }
.thesis-link { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 14px; padding: 28px 30px; border: 1px solid rgba(23,92,255,.24); border-radius: 20px; background: var(--soft-blue); }
.thesis-link span { color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.thesis-link h3 { margin: 8px 0 0; font-size: 19px; }

.atlas { background: #fff; }
.atlas-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.atlas-card { position: relative; display: flex; flex-direction: column; min-height: 310px; overflow: hidden; padding: 24px; border: 1px solid var(--line); border-radius: 21px; background: #fff; transition: transform .3s var(--ease), border-color .3s, box-shadow .3s; }
.atlas-card:hover { transform: translateY(-4px); border-color: #cdd6e6; box-shadow: var(--shadow-sm); }
.atlas-card::after { content: attr(data-number); position: absolute; right: -3px; bottom: -37px; color: rgba(13,17,23,.035); font-size: 150px; font-weight: 850; line-height: 1; letter-spacing: -.1em; pointer-events: none; }
.atlas-top { display: flex; align-items: center; justify-content: space-between; }
.atlas-top span { color: var(--blue); font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.atlas-top b { color: var(--muted-2); font-size: 10px; }
.atlas-card h3 { margin: 58px 0 8px; font-size: 24px; }
.atlas-card > p { margin: 0 0 28px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.atlas-feature { position: relative; z-index: 1; margin-top: auto; padding-top: 17px; border-top: 1px solid var(--line); }
.atlas-feature small { display: block; margin-bottom: 5px; color: var(--muted-2); font-size: 8px; font-weight: 750; }
.atlas-feature a { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; font-weight: 750; }
.atlas-feature a span { color: var(--blue); }
.archive-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 16px; padding: 30px 32px; border-radius: 21px; color: #fff; background: var(--ink); }
.archive-cta span { color: #8aaeff; font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.archive-cta h3 { margin: 8px 0 0; font-size: 20px; }
.archive-cta .button-primary { color: var(--ink); background: #fff; box-shadow: none; }
.archive-cta .button-primary:hover { background: #f2f4f8; }

.editorial { padding-top: 108px; padding-bottom: 108px; border-top: 1px solid var(--line); }
.editorial-inner { display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; align-items: end; }
.editorial h2 { margin: 0; font-size: clamp(32px, 4vw, 52px); line-height: 1.3; }
.editorial-inner > div:last-child p { color: var(--muted); font-size: 14px; }
.editorial-inner a { color: var(--blue); font-size: 12px; font-weight: 750; }

.site-footer { padding: 52px 0 30px; border-top: 1px solid var(--line); background: var(--soft); }
.footer-top { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-bottom: 36px; }
.footer-brand { display: flex; align-items: center; gap: 12px; }
.footer-brand > div { display: flex; flex-direction: column; line-height: 1.2; }
.footer-brand strong { font-size: 14px; }
.footer-brand small { margin-top: 4px; color: var(--muted-2); font-size: 9px; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 20px; }
.footer-links a { color: var(--muted); font-size: 11px; font-weight: 650; }
.footer-links a:hover { color: var(--blue); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 22px; border-top: 1px solid var(--line); color: var(--muted-2); font-size: 9px; }
.footer-bottom p { margin: 0; }

.reveal { opacity: 1; transform: none; }
.js-animate .reveal { opacity: 0; transform: translateY(18px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.js-animate .reveal.is-visible { opacity: 1; transform: translateY(0); }

@keyframes lineFlow {
  0% { transform: translateY(0); opacity: 0; }
  12% { opacity: 1; }
  75% { opacity: 1; }
  100% { transform: translateY(34px); opacity: 0; }
}
@keyframes residualFlow {
  0% { transform: translateY(0) scale(.75); opacity: 0; }
  18% { opacity: 1; }
  100% { transform: translateY(34px) scale(1); opacity: 0; }
}
@keyframes orbitSpin { to { transform: translate(-50%,-50%) rotate(360deg); } }
.inventory-ring::before { transform: none; }
@keyframes stepGlow {
  0%, 16%, 100% { opacity: 0; }
  5%, 11% { opacity: 1; }
}
@keyframes orbitPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(23,92,255,.03); }
  50% { box-shadow: 0 0 0 15px rgba(23,92,255,0); }
}
@keyframes agentDot {
  0% { left: 0; opacity: 0; }
  15% { opacity: 1; }
  85% { opacity: 1; }
  100% { left: calc(100% - 7px); opacity: 0; }
}
@keyframes marketRailFlow { to { stroke-dashoffset: -46; } }
@keyframes worldRouteFlow { to { stroke-dashoffset: -40; } }
@keyframes worldBeacon {
  0%, 100% { box-shadow: 0 0 0 0 rgba(23,92,255,.08); }
  55% { box-shadow: 0 0 0 7px rgba(23,92,255,0); }
}
@keyframes tunnelPulse {
  0%, 100% { transform: scale(.82); opacity: .55; }
  50% { transform: scale(1.05); opacity: 1; }
}
@keyframes mobileAtlasFlow {
  0% { left: 9%; opacity: 0; }
  12%, 86% { opacity: 1; }
  100% { left: calc(91% - 6px); opacity: 0; }
}
@keyframes residualLink {
  0% { left: 0; opacity: 0; }
  16% { opacity: 1; }
  84% { opacity: 1; }
  100% { left: calc(100% - 7px); opacity: 0; }
}
@keyframes routePulse {
  0% { box-shadow: 0 0 0 0 rgba(23,92,255,.18); }
  70%, 100% { box-shadow: 0 0 0 8px rgba(23,92,255,0); }
}
@keyframes marketTrace {
  0% { top: 0; opacity: 0; }
  16% { opacity: 1; }
  84% { opacity: 1; }
  100% { top: calc(100% - 7px); opacity: 0; }
}
@keyframes locatorSpin { to { transform: rotate(360deg); } }
.destination-orbit { animation-name: destinationSpin; }
@keyframes destinationSpin { to { transform: translate(-50%,-50%) rotate(360deg); } }
@keyframes roadmapPulse {
  0%, 15%, 100% { opacity: 0; }
  4%, 10% { opacity: 1; }
}

@media (max-width: 1080px) {
  .hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas: "head" "visual" "details";
    gap: 40px;
  }
  .hero-head, .hero-details { max-width: 840px; }
  .hero-details { padding-top: 0; }
  .hero-visual { width: min(100%, 680px); margin: 0 auto; }
  .market-journey { display: block; min-height: 0; padding: 18px 18px 18px 48px; }
  .market-journey::before { content: ""; position: absolute; top: 40px; bottom: 40px; left: 28px; width: 4px; border: 3px solid #fff; border-radius: 999px; background: linear-gradient(var(--blue),var(--cyan) 52%,var(--green)); box-shadow: 0 0 0 1px rgba(23,92,255,.16); }
  .market-city-rails { display: none; }
  .journey-stage { display: grid; grid-template-columns: 170px 185px minmax(0,1fr); grid-template-rows: 1fr; margin-bottom: 16px; overflow: visible; border-radius: 21px; }
  .journey-stage::before { content: ""; position: absolute; top: 50%; left: -25px; z-index: 4; width: 12px; height: 12px; transform: translate(-50%,-50%); border: 4px solid #fff; border-radius: 50%; background: var(--district-accent); box-shadow: 0 0 0 3px color-mix(in srgb,var(--district-accent) 20%,transparent); }
  .journey-stage:last-of-type { margin-bottom: 0; }
  .stage-scene { min-height: 148px; border-radius: 20px 0 0 20px; }
  .stage-heading { min-height: 0; border-right: 1px solid var(--line); border-bottom: 0; }
  .stage-players, .stage-players-5 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stage-players::before { display: none; }
  .stage-players-5 .player-node:last-child { grid-column: 1 / -1; }
  .player-node { min-height: 78px; padding: 12px 10px 10px 14px; }
  .player-node::before { top: 16px; left: -2px; transform: translateX(-50%); }
  .journey-link { display: none; min-height: 52px; gap: 4px; }
  .journey-link > span { max-width: none; }
  .journey-link > i { width: 2px; height: 32px; background: linear-gradient(var(--line-strong),var(--blue)); }
  .journey-link > i::after { content: "⌄"; top: auto; right: auto; bottom: -4px; left: 50%; transform: translateX(-50%); }
  .journey-link > i b { top: 0; left: -3px; animation-name: marketTrace; }
  .journey-link.link-market > i { background: linear-gradient(var(--line-strong),var(--cyan)); }
  .journey-link.link-clearing > i,
  .journey-link.link-settlement > i { background: linear-gradient(var(--line-strong),var(--green)); }
  .residual-main { grid-template-columns: 1fr; }
  .residual-link { min-height: 62px; gap: 5px; }
  .residual-link > i { width: 1px; height: 36px; background: linear-gradient(var(--line-strong),var(--blue),var(--line-strong)); }
  .residual-link > i span { top: 0; left: -3px; animation-name: marketTrace; }
  .residual-link > b { max-width: none; }
  .route-choice, .inventory-outcome { min-height: 230px; }
  .mechanism-track { grid-template-columns: repeat(5, 1fr); }
  .step-operator { display: none; }
  .mechanism-step { border-right: 1px solid var(--line); }
  .mechanism-step:last-child { border-right: 0; }
  .fx-hub-map { grid-template-columns: minmax(0,1fr) 240px minmax(0,1fr); gap: 38px; padding: 24px 32px; }
  .fx-pair-line { width: 39px; }
  .fx-pair-bank-left .fx-pair-line { right: -39px; }
  .fx-pair-bank-right .fx-pair-line { left: -39px; }
  .layer-grid { grid-template-columns: repeat(2, 1fr); }
  .x402-protocol-grid { grid-template-columns: 158px minmax(0,1fr) 158px; gap: 12px; }
  .x402-endpoint { padding: 15px; }
  .routing-protocol-grid { grid-template-columns: minmax(0,1fr) 28px 188px 28px minmax(0,1fr); }
  .routing-engine { min-height: 188px; }
  .routing-orbit { width: 146px; height: 146px; }
  .routing-intent, .connector-mesh { padding: 16px; }
  .atlas-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  :root { --header-h: 66px; }
  .shell { width: min(calc(100% - 32px), var(--shell)); }
  .section-pad { padding: 94px 0; }
  .desktop-nav { display: none; }
  .brand { min-width: 0; }
  .header-archive { margin-left: auto; }
  .hero { padding-top: 66px; padding-bottom: 72px; }
  .hero-grid { gap: 40px; }
  .hero h1 { font-size: clamp(40px, 10.8vw, 62px); }
  .hero-lead { font-size: 16px; }
  .split-heading { grid-template-columns: 1fr; gap: 22px; }
  .split-heading > p { max-width: 640px; }
  .role-strip { grid-template-columns: repeat(2, 1fr); }
  .role-strip article:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
  .role-strip article:nth-child(4) { border-top: 1px solid rgba(255,255,255,.18); }
  .infra-map { grid-template-columns: repeat(2, 1fr); }
  .market-layer { grid-template-columns: 1fr; gap: 16px; }
  .market-layer-label { max-width: 240px; }
  .market-nodes-4, .market-nodes-5 { grid-template-columns: repeat(2, 1fr); }
  .market-nodes-5 article:last-child { grid-column: 1 / -1; }
  .market-xrp-locator { grid-template-columns: 64px 1fr; }
  .locator-mark { width: 60px; height: 60px; }
  .journey-stage { grid-template-columns: 142px 160px minmax(0,1fr); }
  .stage-players, .stage-players-5 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stage-players-5 .player-node:last-child { grid-column: 1 / -1; }
  .residual-model { border-radius: 23px; }
  .residual-main { padding: 14px; }
  .capture-chain { grid-template-columns: 1fr 22px 1fr 22px 1fr 22px 1fr; padding: 10px; }
  .capture-chain article { min-height: 112px; padding: 13px; }
  .capture-chain article > b { margin-top: 14px; font-size: 12px; }
  .institutional-map { padding: 16px; border-radius: 23px; }
  .institutional-inputs { grid-template-columns: repeat(2,1fr); }
  .institutional-inputs article { min-height: 145px; }
  .institutional-merge { grid-template-columns: repeat(4,1fr); height: 54px; }
  .institutional-merge i { height: 54px; }
  .mechanism-track { grid-template-columns: 1fr 1fr; }
  .mechanism-step { min-height: 260px; border-bottom: 1px solid var(--line); }
  .final-step { grid-column: 1 / -1; }
  .model-summary { align-items: flex-start; flex-direction: column; gap: 8px; }
  .equation-card { grid-template-columns: 1fr; gap: 24px; }
  .fx-hub-map { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-areas: "core core" "left right"; gap: 12px; padding: 18px; }
  .fx-central-inventory { min-height: 245px; border-radius: 24px; }
  .fx-pair-bank { align-content: start; gap: 9px; }
  .fx-pair-line { display: none; }
  .fx-pair-node.is-source, .fx-pair-node.is-destination { transform: none; }
  .fx-execution-strip { grid-template-columns: repeat(3,1fr 18px) 1fr; }
  .evidence-test { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .evidence-axis { grid-column: 1 / -1; min-height: 74px; }
  .evidence-outcome { min-height: 112px; border-top: 1px solid rgba(255,255,255,.11); }
  .evidence-outcome.positive { border-left: 0; }
  .stack-layout { grid-template-columns: 1fr; }
  .roadmap-step { min-height: 265px; }
  .flywheel-card { min-height: 560px; }
  .price-panel-head { align-items: flex-start; flex-direction: column; gap: 5px; padding: 18px 20px; }
  .price-panel-head > div { align-items: flex-start; flex-direction: column; gap: 3px; }
  .price-causal-body { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 16px; }
  .price-causal-track article { min-height: 126px; padding: 18px 16px; }
  .price-source-options article { padding: 14px 12px; }
  .price-impact-answer { grid-template-columns: 58px 1fr; gap: 14px; padding: 20px 18px; }
  .price-impact-icon { width: 58px; height: 58px; }
  .price-impact-icon i:nth-child(1) { top: 7px; left: 27px; }
  .inventory-equations > div { grid-template-columns: 98px 1fr; gap: 12px; padding: 16px 18px; }
  .inventory-equations strong { gap: 6px; font-size: 10px; }
  .inventory-equations strong b { padding: 6px 7px; }
  .price-discovery-body { padding: 16px; }
  .price-market-balance { grid-template-columns: minmax(0,1fr) 32px 176px 32px minmax(0,1fr); }
  .price-balance-side { min-height: 124px; padding: 17px 15px; }
  .price-core { min-height: 176px; }
  .price-core-orbit { width: 146px; height: 146px; }
  .price-driver { grid-template-columns: 62px 1fr; gap: 12px; }
  .price-driver > em { grid-column: 2; justify-self: start; margin-top: -5px; }
  .reading-route { grid-template-columns: 1fr; }
  .reading-route a { min-height: 210px; }
  .editorial-inner { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 620px) {
  .shell { width: min(calc(100% - 24px), var(--shell)); }
  .section-pad { padding: 78px 0; }
  .brand-copy small { display: none; }
  .brand-mark { width: 31px; height: 31px; border-radius: 9px; }
  .header-archive { padding: 9px 12px; }
  .hero { padding-top: 38px; }
  .hero h1 { margin-bottom: 0; font-size: clamp(37px, 11vw, 52px); line-height: 1.14; }
  .hero h1 br:first-of-type { display: none; }
  .eyebrow { flex-wrap: wrap; font-size: 9px; }
  .hero-disclaimer { display: grid; grid-template-columns: 1fr; gap: 1px; margin-top: 18px; padding: 9px 11px; font-size: 10px; }
  .hero-lead { line-height: 1.85; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .button { width: 100%; }
  .hero-visual { min-height: 598px; padding: 17px; border-radius: 24px; }
  .front-rail { grid-template-columns: 27px 1fr; min-height: 61px; padding: 9px; }
  .front-rail strong { font-size: 10px; }
  .front-rail small { font-size: 7px; }
  .rail-icon { width: 27px; height: 27px; }
  .merge-lines { height: 37px; }
  .netting-node { padding: 15px 12px; }
  .netting-node strong { font-size: 13px; }
  .xrp-node { min-height: 142px; }
  .xrp-node > strong { font-size: 42px; }
  .inventory-tags span { font-size: 6px; }
  .thesis-band { padding: 76px 0; }
  .thesis-quote p { margin-bottom: 44px; font-size: 25px; }
  .role-strip { grid-template-columns: 1fr; }
  .role-strip article { min-height: 150px; padding: 22px 18px; border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
  .role-strip article:first-child { border-top: 0; }
  .role-strip article:nth-child(3), .role-strip article:nth-child(4) { border-top: 1px solid rgba(255,255,255,.18); }
  .role-strip h3 { margin-top: 22px; }
  .section-heading { margin-bottom: 34px; }
  .section-heading h2 { font-size: 34px; }
  .infra-map { grid-template-columns: 1fr; }
  .infra-card { min-height: 126px; }
  .infra-card > span { margin-bottom: 18px; }
  .infra-floor { grid-template-columns: 1fr; gap: 9px; text-align: center; }
  .infra-floor i { display: none; }
  .infra-answer { grid-template-columns: 1fr; gap: 8px; }
  .infra-answer > span { grid-row: auto; justify-self: start; }
  .market-map { border-radius: 23px; }
  .market-illustration { border-radius: 23px; }
  .market-illustration-head { align-items: flex-start; flex-direction: column; gap: 13px; padding: 18px; }
  .market-illustration-head > div:first-child strong { font-size: 15px; }
  .market-flow-legend { justify-content: flex-start; gap: 14px; padding: 11px 16px; }
  .market-flow-legend span { font-size: 8px; }
  .market-mobile-overview { position: sticky; top: calc(var(--header-h) + 2px); z-index: 8; display: block; padding: 9px 12px 10px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line-strong); background: rgba(255,255,255,.96); box-shadow: 0 8px 20px rgba(23,40,72,.06); backdrop-filter: blur(12px); }
  .market-mobile-overview > div { display: grid; grid-template-columns: 7px auto 1fr; gap: 7px; align-items: center; }
  .market-mobile-overview > div i { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 4px rgba(23,92,255,.08); }
  .market-mobile-overview > div span { color: var(--muted-2); font-size: 8px; font-weight: 800; }
  .market-mobile-overview > div strong { justify-self: end; color: var(--blue); font-size: 10px; }
  .market-mobile-overview ol { position: relative; display: grid; grid-template-columns: repeat(5,1fr); gap: 9px; margin: 9px 0 0; padding: 0; list-style: none; counter-reset: none; }
  .market-mobile-overview ol::before { content: ""; position: absolute; top: 3px; right: 9%; left: 9%; height: 2px; border-radius: 999px; background: linear-gradient(90deg,var(--blue),var(--cyan),var(--green)); opacity: .38; }
  .market-mobile-overview ol::after { content: ""; position: absolute; top: 1px; left: 9%; width: 6px; height: 6px; border: 2px solid #fff; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 3px rgba(23,92,255,.10); animation: mobileAtlasFlow 4.2s linear infinite; }
  .market-mobile-overview li { position: relative; padding-top: 10px; color: var(--muted); font-size: 8.5px; font-weight: 750; text-align: center; }
  .market-mobile-overview li::before { content: ""; position: absolute; top: 0; left: 50%; width: 6px; height: 6px; transform: translateX(-50%); border: 2px solid #fff; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 1px rgba(23,92,255,.23); }
  .market-journey { padding: 10px 10px 10px 38px; }
  .market-journey::before { top: 30px; bottom: 30px; left: 24px; width: 3px; }
  .journey-stage { display: grid; grid-template-columns: 1fr; grid-template-rows: 82px auto auto; margin-bottom: 11px; overflow: visible; border-radius: 18px; }
  .journey-stage::before { left: -14px; width: 10px; height: 10px; border-width: 3px; }
  .stage-scene { min-height: 0; border-radius: 17px 17px 0 0; }
  .stage-heading { min-height: 62px; padding: 10px 12px; border-right: 0; border-bottom: 1px solid var(--line); }
  .stage-icon { width: 39px; height: 39px; border-radius: 12px; }
  .stage-icon svg { width: 25px; height: 25px; }
  .stage-heading small { font-size: 7px; }
  .stage-heading strong { font-size: 14px; }
  .stage-players, .stage-players-5 { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; padding: 9px; }
  .stage-players-5 .player-node:last-child { grid-column: 1 / -1; }
  .player-node { min-height: 66px; padding: 10px 8px 9px 13px; border-radius: 0 10px 10px 0; }
  .player-node::before { top: 14px; left: -2px; width: 6px; height: 6px; }
  .player-node b { font-size: 10.5px; }
  .player-node small { font-size: 9.4px; line-height: 1.45; }
  .journey-link { display: none; min-height: 0; }
  .journey-link > i { height: 28px; }
  .route-story { grid-template-columns: 1fr; gap: 8px; margin: 0 10px 10px; padding: 15px; }
  .route-story span { justify-self: start; }
  .route-story strong { font-size: 10px; line-height: 1.65; }
  .market-map-head { align-items: flex-start; flex-direction: column; padding: 18px; }
  .route-now { width: 100%; min-width: 0; }
  .market-layer { gap: 14px; padding: 19px 16px; }
  .market-layer-label { grid-template-columns: 31px 1fr; }
  .market-layer-label > span { width: 31px; height: 31px; }
  .market-nodes { gap: 7px; }
  .market-nodes article { min-height: 88px; padding: 13px 11px; }
  .market-nodes b { font-size: 10px; }
  .market-nodes small { font-size: 7px; }
  .market-xrp-locator { grid-template-columns: 1fr; gap: 14px; margin: 10px; padding: 20px 18px; }
  .locator-mark { width: 54px; height: 54px; }
  .market-xrp-locator strong { font-size: 16px; line-height: 1.45; }
  .model-head { align-items: flex-start; flex-direction: column; gap: 5px; }
  .residual-model .model-head { padding: 15px 16px; }
  .residual-model .model-head small { line-height: 1.5; }
  .residual-main { padding: 10px; }
  .residual-equation { grid-template-columns: 1fr 20px 1fr 20px 1fr; border-radius: 15px; }
  .flow-cell { min-height: 178px; padding: 14px 7px; }
  .flow-cell > span { overflow: hidden; font-size: 6.5px; letter-spacing: .04em; white-space: nowrap; }
  .flow-cell > strong { margin: 25px 0 20px; font-size: 39px; }
  .flow-cell h3 { font-size: 10px; }
  .flow-cell p { font-size: 9.5px; line-height: 1.5; }
  .flow-operator { font-size: 14px; }
  .residual-link { min-height: 52px; }
  .residual-link > i { height: 29px; }
  .route-choice { min-height: 205px; padding: 17px; border-radius: 15px; }
  .route-choice-head h3 { font-size: 14px; }
  .route-bars { gap: 10px; padding-top: 18px; }
  .inventory-outcome { min-height: 225px; padding: 18px; border-radius: 15px; }
  .inventory-core { width: 78px; height: 78px; margin-bottom: 14px; }
  .inventory-outcome h3 { font-size: 14px; }
  .model-summary { padding: 18px; }
  .model-summary strong { font-size: 13px; line-height: 1.6; }
  .mechanism-track { grid-template-columns: 1fr; }
  .mechanism-step, .final-step { grid-column: auto; min-height: 225px; border-right: 0; }
  .mechanism-step h3 { margin-top: auto; }
  .route-step h3 { margin-top: 20px; }
  .final-step { min-height: 270px; }
  .equation { grid-template-columns: 1fr; gap: 9px; }
  .factor-grid { grid-template-columns: repeat(2,1fr); }
  .factor-grid span { min-height: 54px; border-top: 1px solid var(--line); }
  .factor-grid span:nth-child(1), .factor-grid span:nth-child(2) { border-top: 0; }
  .factor-grid span:nth-child(odd) { border-left: 0; }
  .equation > b { min-height: 20px; }
  .equation > strong { min-height: 48px; }
  .fx-hub-visual { border-radius: 22px; }
  .fx-hub-head { align-items: flex-start; flex-direction: column; gap: 12px; min-height: 0; padding: 16px; }
  .fx-hub-head > div:first-child { align-items: flex-start; flex-direction: column; gap: 3px; }
  .fx-hub-head > div:first-child strong { font-size: 12px; line-height: 1.45; }
  .fx-route-now { width: 100%; }
  .fx-live-bridge { display: grid; grid-template-columns: minmax(0,1fr) 16px 70px 16px minmax(0,1fr); align-items: center; padding: 12px 10px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg,#f8faff,#fff); }
  .fx-live-bridge article { display: grid; align-content: center; min-width: 0; min-height: 88px; padding: 10px 8px; border: 1px solid rgba(23,92,255,.22); border-radius: 13px; background: #fff; }
  .fx-live-bridge article:last-child { border-color: rgba(8,127,91,.28); }
  .fx-live-bridge article span, .fx-live-bridge > div span { color: var(--muted-2); font-size: 7px; font-weight: 850; }
  .fx-live-bridge article strong { margin-top: 7px; font-size: 9.5px; line-height: 1.4; }
  .fx-live-bridge > div { display: grid; place-content: center; width: 70px; height: 70px; border: 1px solid rgba(23,92,255,.32); border-radius: 50%; color: var(--blue); background: var(--soft-blue); text-align: center; }
  .fx-live-bridge > div strong { font-size: 22px; line-height: 1; }
  .fx-live-bridge > i { position: relative; display: block; height: 1px; background: linear-gradient(90deg,var(--line-strong),var(--blue)); }
  .fx-live-bridge > i::after { content: "›"; position: absolute; top: 50%; right: -3px; transform: translateY(-54%); color: var(--blue); font-size: 12px; font-style: normal; }
  .fx-live-bridge > i b { position: absolute; top: -3px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); animation: agentDot 2.8s infinite linear; }
  .fx-live-bridge > i:nth-of-type(2) b { animation-delay: -1.4s; }
  .fx-hub-map { gap: 8px; padding: 10px; }
  .fx-central-inventory { min-height: 225px; padding: 22px 12px; border-radius: 18px; }
  .fx-central-inventory > strong { font-size: 51px; }
  .fx-central-inventory > h3 { font-size: 16px; }
  .fx-central-inventory > p { font-size: 8.5px; }
  .fx-central-orbit { width: 205px; height: 205px; }
  .fx-pair-bank { gap: 7px; }
  .fx-pair-node { min-height: 122px; padding: 12px 10px; border-radius: 13px; }
  .fx-pair-node > span { font-size: 6.5px; }
  .fx-pair-node > b { margin: 20px 0 4px; font-size: 11px; }
  .fx-pair-node > small { font-size: 9.3px; line-height: 1.5; }
  .fx-route-story { grid-template-columns: 1fr; gap: 8px; margin: 0 10px 10px; padding: 15px; }
  .fx-route-story span { justify-self: start; }
  .fx-route-story strong { font-size: 9.5px; line-height: 1.7; }
  .fx-execution-strip {
    grid-template-columns: minmax(0,1fr) 18px minmax(0,1fr);
    grid-template-rows: auto 28px auto;
    gap: 0;
    margin: 0 10px 10px;
    padding: 8px;
  }
  .fx-execution-strip article { min-height: 128px; padding: 12px 10px; }
  .fx-execution-strip article:nth-of-type(1) { grid-column: 1; grid-row: 1; }
  .fx-execution-strip > i:nth-of-type(1) { grid-column: 2; grid-row: 1; }
  .fx-execution-strip article:nth-of-type(2) { grid-column: 3; grid-row: 1; }
  .fx-execution-strip > i:nth-of-type(2) { grid-column: 3; grid-row: 2; justify-self: center; width: 1px; height: 28px; background: linear-gradient(var(--line-strong),var(--blue)); }
  .fx-execution-strip article:nth-of-type(3) { grid-column: 3; grid-row: 3; }
  .fx-execution-strip > i:nth-of-type(3) { grid-column: 2; grid-row: 3; transform: rotate(180deg); }
  .fx-execution-strip article:nth-of-type(4) { grid-column: 1; grid-row: 3; }
  .fx-execution-strip > i:nth-of-type(2)::after { content: "⌄"; top: auto; right: auto; bottom: -3px; left: 50%; transform: translateX(-50%); }
  .fx-execution-strip > i:nth-of-type(2) > b { top: 0; left: -3px; animation-name: marketTrace; }
  .fx-execution-strip article > b { margin-top: 17px; font-size: 11px; }
  .fx-execution-strip article > small { font-size: 9.2px; }
  .fx-hub-rule { grid-template-columns: 1fr; gap: 6px; padding: 17px; }
  .fx-hub-rule p { font-size: 9px; }
  .fx-hub-note { max-width: none; padding: 13px 14px; border-left: 3px solid var(--line-strong); border-radius: 0 10px 10px 0; color: var(--muted); background: var(--soft); font-size: 10px; text-align: left; }
  .capture-boundary { border-radius: 18px; }
  .capture-boundary-head { align-items: flex-start; flex-direction: column; gap: 4px; padding: 14px; }
  .capture-chain { grid-template-columns: minmax(0,1fr) 22px minmax(0,1fr); grid-template-rows: auto 28px auto; padding: 9px; }
  .capture-chain article { min-height: 116px; padding: 13px 11px; border-radius: 12px; }
  .capture-chain article:nth-of-type(1) { grid-column: 1; grid-row: 1; }
  .capture-chain > i:nth-of-type(1) { grid-column: 2; grid-row: 1; }
  .capture-chain article:nth-of-type(2) { grid-column: 3; grid-row: 1; }
  .capture-chain > i:nth-of-type(2) { grid-column: 3; grid-row: 2; transform: rotate(90deg); }
  .capture-chain article:nth-of-type(3) { grid-column: 3; grid-row: 3; }
  .capture-chain > i:nth-of-type(3) { grid-column: 2; grid-row: 3; transform: rotate(180deg); }
  .capture-chain article:nth-of-type(4) { grid-column: 1; grid-row: 3; }
  .capture-chain article > span { font-size: 7.5px; }
  .capture-chain article > b { margin-top: 14px; font-size: 11px; line-height: 1.45; }
  .capture-chain article > small { font-size: 9px; line-height: 1.45; }
  .capture-chain > i { font-size: 12px; }
  .institutional-map { padding: 10px; border-radius: 21px; }
  .institutional-map-head { align-items: flex-start; flex-direction: column; gap: 5px; margin-bottom: 10px; padding: 5px 5px 13px; }
  .institutional-map-head strong { font-size: 14px; }
  .institutional-inputs { gap: 7px; }
  .institutional-inputs article { min-height: 137px; padding: 12px; border-radius: 13px; }
  .institutional-inputs article > .stack-status { margin-bottom: 16px; font-size: 7.5px; }
  .institutional-inputs article > b { font-size: 11px; line-height: 1.4; }
  .institutional-inputs article > small { font-size: 9px; }
  .institutional-merge { height: 47px; }
  .institutional-merge i { height: 47px; }
  .working-inventory-core { min-height: 172px; padding: 30px 14px; border-radius: 17px; }
  .working-inventory-core > strong { font-size: 23px; }
  .working-inventory-core > p { font-size: 9px; }
  .working-orbit { width: 290px; height: 290px; }
  .market-cycle { grid-template-columns: 1fr 18px 1fr; grid-template-rows: auto 25px auto; margin-top: 9px; }
  .market-cycle article { min-height: 87px; padding: 12px; }
  .market-cycle article b { margin-top: 11px; font-size: 10px; }
  .market-cycle article small { font-size: 9px; }
  .market-cycle article:nth-of-type(1) { grid-column: 1; grid-row: 1; }
  .market-cycle > i:nth-of-type(1) { grid-column: 2; grid-row: 1; }
  .market-cycle article:nth-of-type(2) { grid-column: 3; grid-row: 1; }
  .market-cycle > i:nth-of-type(2) { grid-column: 3; grid-row: 2; transform: rotate(90deg); }
  .market-cycle article:nth-of-type(3) { grid-column: 3; grid-row: 3; }
  .market-cycle > i:nth-of-type(3) { grid-column: 2; grid-row: 3; transform: rotate(180deg); }
  .market-cycle article:nth-of-type(4) { grid-column: 1; grid-row: 3; }
  .institutional-rule { grid-template-columns: 1fr; gap: 4px; padding: 15px; }
  .institutional-rule strong { font-size: 11px; line-height: 1.55; }
  .roadmap-current { border-radius: 20px; }
  .roadmap-current-head { grid-template-columns: 1fr; gap: 13px; padding: 18px 16px; }
  .roadmap-current-head > div { grid-template-columns: 1fr; gap: 10px; }
  .roadmap-current-head strong { font-size: 16px; }
  .roadmap-current-head p { font-size: 10px; }
  .roadmap-current-track {
    grid-template-columns: minmax(0,1fr) 18px minmax(0,1fr);
    grid-template-rows: auto 28px auto;
    padding: 10px;
  }
  .roadmap-current-track article { min-height: 137px; padding: 13px 11px; border-radius: 13px; }
  .roadmap-current-track article:nth-of-type(1) { grid-column: 1; grid-row: 1; }
  .roadmap-current-track > i:nth-of-type(1) { grid-column: 2; grid-row: 1; }
  .roadmap-current-track article:nth-of-type(2) { grid-column: 3; grid-row: 1; }
  .roadmap-current-track > i:nth-of-type(2) { grid-column: 3; grid-row: 2; justify-self: center; width: 1px; height: 28px; background: linear-gradient(var(--line-strong),var(--blue)); }
  .roadmap-current-track article:nth-of-type(3) { grid-column: 1 / -1; grid-row: 3; min-height: 96px; }
  .roadmap-current-track > i:nth-of-type(2)::after { content: "⌄"; top: auto; right: auto; bottom: -3px; left: 50%; transform: translateX(-50%); }
  .roadmap-current-track > i:nth-of-type(2) b { top: 0; left: -3px; animation-name: agentDotVertical; }
  .roadmap-current-track article > b { margin: 13px 0 4px; font-size: 11px; }
  .roadmap-current-track article > small { font-size: 9.5px; line-height: 1.5; }
  .roadmap-open-questions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .roadmap-question-label { grid-column: 1 / -1; min-height: 58px; }
  .roadmap-open-questions article { min-height: 122px; padding: 13px 11px; border-top: 1px solid var(--line); }
  .roadmap-open-questions article:nth-of-type(odd) { border-left: 0; }
  .roadmap-open-questions article > b { font-size: 10px; }
  .roadmap-open-questions article > small { font-size: 9.2px; }
  .roadmap-current-verdict { grid-template-columns: 1fr; gap: 4px; padding: 15px; }
  .roadmap-current-verdict p { font-size: 9.5px; line-height: 1.6; }
  .roadmap-visual { padding: 10px; border-radius: 23px; }
  .roadmap-era { border-radius: 17px; }
  .roadmap-era-head { grid-template-columns: auto 1fr; padding: 14px; }
  .roadmap-era-head small { display: none; }
  .roadmap-steps-2, .roadmap-steps-3 { grid-template-columns: 1fr; }
  .roadmap-step {
    display: grid;
    grid-template-columns: 30px minmax(0,1fr) auto;
    grid-template-rows: auto auto auto;
    column-gap: 10px;
    min-height: 0;
    padding: 16px 14px;
    border-top: 1px solid var(--line);
    border-left: 0;
  }
  .roadmap-step:first-child { border-top: 0; }
  .roadmap-number { grid-column: 1; grid-row: 1; display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid rgba(23,92,255,.22); border-radius: 9px; background: var(--soft-blue); font-size: 9px; }
  .roadmap-state { position: static; grid-column: 3; grid-row: 1; align-self: center; padding: 4px 7px; font-size: 8px; }
  .roadmap-step h3 { grid-column: 2; grid-row: 1; align-self: center; margin: 0; font-size: 16px; line-height: 1.42; }
  .roadmap-step p { grid-column: 2 / -1; grid-row: 2; margin: 11px 0 12px; font-size: 10.5px; line-height: 1.68; }
  .roadmap-step > small { grid-column: 2 / -1; grid-row: 3; margin: 0; padding-top: 10px; font-size: 9px; line-height: 1.5; }
  .roadmap-step > small b { margin-right: 8px; }
  .roadmap-gate { grid-template-columns: 24px 1fr; width: 95%; min-height: 58px; }
  .roadmap-gate > i { height: 58px; margin-left: 11px; }
  .roadmap-gate > div { align-items: flex-start; flex-direction: column; gap: 2px; }
  .roadmap-gate strong { font-size: 10px; line-height: 1.45; }
  .roadmap-destination { min-height: 215px; margin-top: 10px; padding: 30px 18px; }
  .roadmap-destination > strong { font-size: 30px; }
  .roadmap-premise { grid-template-columns: 1fr; border-radius: 18px; }
  .roadmap-premise-copy { padding: 20px 18px; }
  .roadmap-premise-copy > strong { font-size: 15px; line-height: 1.5; }
  .roadmap-premise-copy > p { font-size: 9.5px; }
  .roadmap-cost-test { padding: 19px 18px; }
  .roadmap-cost-test > strong { flex-wrap: wrap; margin: 14px 0 8px; }
  .roadmap-note { text-align: left; }
  .agentic .section-heading h2 br { display: none; }
  .payment-stack-map { border-radius: 22px; }
  .payment-map-head { align-items: flex-start; flex-direction: column; gap: 4px; min-height: 0; padding: 16px; }
  .payment-map-head > div { align-items: flex-start; flex-direction: column; gap: 3px; }
  .payment-map-head strong { font-size: 12px; line-height: 1.45; }
  .x402-protocol-layer, .routing-protocol-layer, .settlement-rail-layer { padding: 16px 10px; }
  .payment-layer-label { grid-template-columns: 1fr; gap: 3px; padding: 0 5px; }
  .payment-layer-label > strong { font-size: 11px; line-height: 1.45; }
  .payment-layer-label > small { font-size: 9.2px; }
  .x402-protocol-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .x402-endpoint { grid-column: 1; grid-row: 1; min-height: 137px; padding: 13px 10px; border-radius: 14px; }
  .x402-server { grid-column: 2; grid-row: 1; }
  .x402-endpoint > div { width: 34px; height: 34px; margin-bottom: 16px; }
  .x402-endpoint > b { font-size: 10px; line-height: 1.45; }
  .x402-endpoint > small { font-size: 9px; }
  .x402-message-lane { grid-column: 1 / -1; grid-row: 2; gap: 6px; margin-top: 3px; }
  .x402-message-lane > span { min-height: 30px; padding: 5px 9px; font-size: 9px; }
  .x402-message-lane > span b { width: 16px; height: 16px; margin-right: 6px; }
  .x402-verification { grid-template-columns: 1fr; gap: 4px; padding: 12px; }
  .x402-verification p { font-size: 9.5px; line-height: 1.55; }
  .payment-stack-boundary { grid-template-columns: 24px 1fr; width: 96%; min-height: 66px; }
  .payment-stack-boundary > i { height: 66px; }
  .payment-stack-boundary > div { align-items: flex-start; flex-direction: column; gap: 2px; }
  .payment-stack-boundary strong { font-size: 9px; line-height: 1.45; }
  .routing-protocol-grid { grid-template-columns: minmax(0,1fr) 18px minmax(0,1fr); grid-template-rows: auto 28px auto; }
  .routing-intent { grid-column: 1; grid-row: 1; min-height: 160px; padding: 14px 11px; }
  .connector-mesh { grid-column: 1 / -1; grid-row: 3; min-height: 134px; padding: 16px; }
  .routing-intent > b, .connector-mesh > strong { margin: 22px 0 5px; font-size: 12px; }
  .routing-intent > small, .connector-mesh > small { font-size: 9.3px; line-height: 1.5; }
  .routing-link:nth-of-type(1) { grid-column: 2; grid-row: 1; align-self: center; width: 100%; height: 1px; background: linear-gradient(90deg,var(--line-strong),var(--blue)); }
  .routing-link:nth-of-type(1)::after { content: "›"; top: 50%; right: -3px; bottom: auto; left: auto; transform: translateY(-53%); }
  .routing-link:nth-of-type(1) > b { top: -3px; left: 0; animation-name: agentDot; }
  .routing-link:nth-of-type(2) { grid-column: 3; grid-row: 2; justify-self: center; width: 1px; height: 28px; background: linear-gradient(var(--line-strong),var(--blue)); }
  .routing-link:nth-of-type(2)::after { content: "⌄"; top: auto; right: auto; bottom: -3px; left: 50%; transform: translateX(-50%); }
  .routing-link:nth-of-type(2) > b { top: 0; left: -3px; animation-name: agentDotVertical; }
  .routing-engine { grid-column: 3; grid-row: 1; justify-self: stretch; width: auto; min-height: 160px; }
  .routing-engine > span { font-size: 6.8px; }
  .routing-engine > strong { font-size: 16px; }
  .routing-engine > p { font-size: 9.3px; line-height: 1.45; }
  .routing-orbit { width: 134px; height: 134px; }
  .connector-nodes { margin-top: 6px; }
  .settlement-rail-grid { grid-template-columns: 1fr; gap: 7px; }
  .settlement-rail { min-height: 124px; padding: 34px 12px 12px 70px; border-radius: 14px; }
  .settlement-rail.is-active { transform: none; }
  .settlement-icon { position: absolute; top: 45px; left: 14px; width: 42px; height: 42px; margin: 0; }
  .settlement-rail > b { font-size: 11px; }
  .settlement-rail > small { font-size: 9.2px; }
  .settlement-rail > em { top: 10px; right: 10px; }
  .settlement-rail > span { position: absolute; top: 14px; left: 14px; }
  .agent-route-status { grid-template-columns: 1fr; gap: 3px; padding: 13px; }
  .agent-route-status > p { font-size: 9.2px; }
  .agent-answer { grid-template-columns: 1fr; }
  .agent-answer > span { justify-self: start; }
  .agent-answer a { white-space: normal; }
  .evidence-checklist { gap: 7px; }
  .evidence-test { border-radius: 15px; }
  .evidence-axis { grid-template-columns: 31px 1fr; gap: 9px; min-height: 70px; padding: 13px 12px; }
  .evidence-axis > span { width: 28px; height: 28px; }
  .evidence-axis b { font-size: 12px; }
  .evidence-axis small { font-size: 9.3px; line-height: 1.45; }
  .evidence-outcome { min-height: 126px; padding: 13px 11px; }
  .evidence-outcome > span { font-size: 7.5px; line-height: 1.4; }
  .evidence-outcome > b { margin-top: 8px; font-size: 10px; line-height: 1.45; }
  .evidence-outcome > small { font-size: 9.2px; line-height: 1.55; }
  .evidence-current { grid-template-columns: 1fr; gap: 6px; padding: 17px; }
  .evidence-current p { font-size: 9px; }
  .thesis-link, .archive-cta { align-items: flex-start; flex-direction: column; }
  .reading-route { gap: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
  .reading-route a { min-height: 138px; padding: 18px; border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; }
  .reading-route a:first-child { border-top: 0; }
  .reading-route a:hover { transform: none; box-shadow: none; }
  .reading-route h3 { margin: 7px 0 6px; font-size: 15px; }
  .reading-route p { font-size: 10px; }
  .thesis-link { padding: 22px 20px; }
  .atlas-grid { grid-template-columns: 1fr; }
  .atlas-grid { gap: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
  .atlas-card { min-height: 176px; padding: 18px; border: 0; border-top: 1px solid var(--line); border-radius: 0; }
  .atlas-card:first-child { border-top: 0; }
  .atlas-card:hover { transform: none; box-shadow: none; }
  .atlas-card h3 { margin: 24px 0 6px; font-size: 20px; }
  .atlas-card > p { margin-bottom: 16px; font-size: 10px; }
  .atlas-card::after { bottom: -24px; font-size: 105px; }
  .atlas-feature { padding-top: 12px; }
  .archive-cta { padding: 23px 20px; }
  .price-causal-map, .price-discovery-map { border-radius: 22px; }
  .price-formation .section-heading h2 br { display: none; }
  .price-panel-head { min-height: 0; padding: 16px; }
  .price-panel-head strong { font-size: 12px; line-height: 1.45; }
  .price-panel-head small { line-height: 1.5; }
  .price-causal-body { grid-template-columns: 1fr; gap: 10px; padding: 10px; }
  .price-causal-track { grid-column: 1; grid-template-columns: 1fr; }
  .price-causal-track article { min-height: 108px; padding: 15px 16px; border-radius: 14px; }
  .price-causal-track article > b { margin: 11px 0 4px; font-size: 13px; }
  .price-causal-track article > small { font-size: 9px; }
  .price-causal-track > i { justify-self: center; width: 1px; height: 28px; background: linear-gradient(var(--line-strong),var(--blue)); }
  .price-causal-track > i::after { content: "⌄"; top: auto; right: auto; bottom: -3px; left: 50%; transform: translateX(-50%); }
  .price-causal-track > i b { top: 0; left: -3px; animation-name: agentDotVertical; }
  .price-gate-question { align-items: flex-start; flex-direction: column; gap: 4px; padding: 13px 14px; }
  .price-source-options { gap: 7px; padding: 7px; }
  .price-source-options article { min-height: 176px; padding: 13px 10px; }
  .price-source-options article > b { margin: 12px 0 5px; font-size: 10.5px; line-height: 1.45; }
  .price-source-options article > small { font-size: 9.5px; }
  .price-source-options article > em { padding: 5px 6px; font-size: 7.5px; line-height: 1.35; }
  .price-impact-answer { grid-template-columns: 52px 1fr; gap: 13px; min-height: 195px; padding: 18px 15px; }
  .price-impact-icon { width: 52px; height: 52px; }
  .price-impact-icon::before { font-size: 22px; }
  .price-impact-icon i:nth-child(1) { top: 6px; left: 24px; }
  .price-impact-answer strong { font-size: 14px; }
  .price-impact-answer small { font-size: 9.5px; }
  .inventory-equations { grid-template-columns: 1fr; }
  .inventory-equations > div { grid-template-columns: 1fr; gap: 8px; min-height: 0; padding: 15px; }
  .inventory-equations > div + div { border-top: 1px solid rgba(23,92,255,.13); border-left: 0; }
  .inventory-equations strong { flex-wrap: wrap; gap: 5px; }
  .inventory-equations strong b { font-size: 9px; }
  .inventory-price-caveat { padding: 16px; font-size: 9px; }
  .price-discovery-body { padding: 10px; }
  .price-market-balance { grid-template-columns: minmax(0,1fr) 18px 112px 18px minmax(0,1fr); }
  .price-balance-side { min-height: 168px; padding: 13px 9px; }
  .price-balance-side > span { font-size: 6px; line-height: 1.4; }
  .price-balance-side > b { margin: 14px 0 5px; font-size: 10px; line-height: 1.45; }
  .price-balance-side > small { font-size: 9px; line-height: 1.45; }
  .price-balance-buy { border-radius: 14px 4px 4px 14px; }
  .price-balance-sell { border-radius: 4px 14px 14px 4px; }
  .price-core { min-height: 168px; border-radius: 18px; }
  .price-core > span { font-size: 6.5px; }
  .price-core > strong { font-size: 20px; }
  .price-core > p { font-size: 9.5px; line-height: 1.45; }
  .price-core > small { margin-top: 14px; padding: 4px 6px; font-size: 8.5px; }
  .price-core-orbit { width: 106px; height: 106px; }
  .price-driver-grid { grid-template-columns: 1fr; gap: 7px; margin-top: 10px; }
  .price-driver { grid-template-columns: 54px 1fr; gap: 10px; min-height: 124px; padding: 12px 11px; border-radius: 13px; }
  .price-driver > time { min-height: 38px; font-size: 9.2px; }
  .price-driver div > b { font-size: 11px; }
  .price-driver div > small { font-size: 9px; line-height: 1.55; }
  .price-driver > em { grid-column: 2; justify-self: start; margin-top: -4px; }
  .price-market-context { grid-template-columns: 1fr; gap: 4px; padding: 14px; }
  .price-market-context p { font-size: 9.3px; line-height: 1.5; }
  .price-proof-rule { grid-template-columns: 1fr; gap: 6px; padding: 17px; }
  .price-proof-rule p { font-size: 9px; line-height: 1.65; }
  .footer-top, .footer-bottom { align-items: flex-start; flex-direction: column; }
  .footer-links { justify-content: flex-start; }
}

@keyframes agentDotVertical {
  0% { top: 0; opacity: 0; }
  15% { opacity: 1; }
  85% { opacity: 1; }
  100% { top: calc(100% - 7px); opacity: 0; }
}

@media (max-width: 820px) {
  .market-world { aspect-ratio: auto; height: 1100px; }
  .market-world-desktop { display: none; }
  .market-world-mobile { display: block; }
  .world-landmark { top: var(--my); left: var(--mx); width: 72px; transform: translate(-50%,-50%); }
  .world-landmark-narrow { width: 60px; }
  .landmark-art { width: 52px; height: 48px; margin-bottom: 3px; }
  .landmark-art::before { right: 4px; bottom: 0; left: 4px; height: 19px; }
  .landmark-art::after { top: -1px; right: 0; width: 6px; height: 6px; }
  .landmark-art svg { width: 42px; height: 42px; stroke-width: 1.8; }
  .world-landmark b { font-size: 9.5px; line-height: 1.23; }
  .world-landmark > small { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .world-layer-label { gap: 6px; }
  .world-layer-label span { font-size: 7.5px; }
  .world-layer-label strong { font-size: 12px; }
  .world-layer-label small { font-size: 7.5px; }
  .world-label-participants { top: 1.2%; }
  .world-label-intermediaries { top: 19.7%; }
  .world-label-venues { top: 38.3%; }
  .world-label-settlement { top: 57.2%; }
  .world-label-assets { top: 78.6%; }
  .world-route-shadow { stroke-width: 8; }
  .world-route-line { stroke-width: 3.5; }
  .world-residual-tunnel { top: 75.8%; width: 72%; min-height: 29px; padding: 5px 10px; }
  .world-residual-tunnel span,
  .world-residual-tunnel strong { font-size: 7px; }
  .js-animate .market-illustration[data-active-route="payment"] .world-landmark[data-routes~="payment"],
  .js-animate .market-illustration[data-active-route="fx"] .world-landmark[data-routes~="fx"],
  .js-animate .market-illustration[data-active-route="securities"] .world-landmark[data-routes~="securities"],
  .js-animate .market-illustration[data-active-route="token"] .world-landmark[data-routes~="token"] { transform: translate(-50%,calc(-50% - 3px)) scale(1.025); }
}

@media (max-width: 620px) {
  .market-mobile-overview ol { display: none; }
  .market-mobile-overview { padding-bottom: 9px; }
  .market-world { height: 1100px; }
  .market-world::before { background-size: 18px 18px; }
  .world-layer-label small { display: none; }
  .world-landmark { width: 72px; }
  .world-landmark-narrow { width: 60px; }
  .world-landmark b { font-size: 9.3px; }
  .world-residual-tunnel { width: 78%; }
  .world-residual-tunnel strong { letter-spacing: .04em; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .js-animate .reveal { opacity: 1; transform: none; }
  .js-animate .market-illustration[data-active-route] .player-node { opacity: 1; transform: none; }
  .world-packet { display: none; }
  .js-animate .market-illustration[data-active-route] .world-landmark { opacity: 1; filter: none; transform: translate(-50%,-50%); }
}

.site-header.is-scrolled { box-shadow: 0 8px 28px rgba(13,17,23,.045); }

/* Archive */
.archive-page { background: var(--soft); }
.archive-hero {
  position: relative;
  overflow: hidden;
  padding: 112px 0 92px;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 82% 18%, rgba(23,92,255,.08), transparent 28%),
    linear-gradient(180deg, #fff, #fbfcff);
}
.archive-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .3;
  background-image: linear-gradient(rgba(13,17,23,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(13,17,23,.035) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: linear-gradient(to bottom, #000, transparent 94%);
  mask-image: linear-gradient(to bottom, #000, transparent 94%);
}
.archive-hero-grid { position: relative; display: grid; grid-template-columns: 1fr .85fr; gap: 80px; align-items: end; }
.archive-hero h1 { margin-bottom: 22px; font-size: clamp(48px, 6.5vw, 82px); line-height: 1.08; letter-spacing: -.065em; }
.archive-hero h1 em { color: var(--blue); font-style: normal; }
.archive-hero-grid > div:first-child > p:last-child { max-width: 670px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.9; }
.archive-search-card { padding: 26px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.92); box-shadow: var(--shadow-md); }
.archive-search-card label { display: block; margin-bottom: 11px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.search-box { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; min-height: 58px; padding: 0 15px; border: 1px solid var(--line-strong); border-radius: 15px; background: #fff; transition: border-color .2s, box-shadow .2s; }
.search-box:focus-within { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(23,92,255,.09); }
.search-box > span { color: var(--blue); font-size: 20px; }
.search-box input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 14px; }
.search-box input::placeholder { color: #a5adba; }
.search-box kbd { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid var(--line); border-bottom-color: var(--line-strong); border-radius: 6px; color: var(--muted-2); background: var(--soft); font-size: 10px; font-family: inherit; }
.search-meta { display: flex; justify-content: space-between; gap: 18px; margin-top: 14px; color: var(--muted-2); font-size: 9px; }
.search-meta strong { color: var(--ink); font-size: 10px; }
.query-hints { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.query-hints span { padding: 5px 9px; border-radius: 999px; color: var(--muted); background: var(--soft); font-size: 8px; font-weight: 700; }
.archive-content { padding-top: 92px; }
.archive-category { margin-top: 92px; }
.archive-category:first-child { margin-top: 0; }
.archive-category[hidden], .archive-item[hidden] { display: none !important; }
.archive-category-head { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: end; margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid var(--line-strong); }
.archive-category-head .section-index { margin-bottom: 10px; }
.archive-category-head h2 { margin: 0 0 8px; font-size: clamp(29px, 3vw, 42px); }
.archive-category-head p { max-width: 680px; margin: 0; color: var(--muted); font-size: 12px; }
.archive-category-head > strong { color: var(--muted-2); font-size: 10px; letter-spacing: .1em; }
.archive-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.archive-item { display: grid; grid-template-columns: 40px 1fr auto; gap: 14px; min-height: 148px; padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: #fff; transition: transform .28s var(--ease), border-color .28s, box-shadow .28s; }
.archive-item:hover { transform: translateY(-3px); border-color: rgba(23,92,255,.34); box-shadow: var(--shadow-sm); }
.article-order { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted-2); font-size: 9px; font-weight: 850; }
.archive-item small { color: var(--blue); font-size: 7px; font-weight: 850; letter-spacing: .1em; }
.archive-item h3 { margin: 8px 0 7px; font-size: 15px; line-height: 1.45; }
.archive-item p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.archive-item > b { align-self: start; color: var(--muted-2); font-size: 13px; font-weight: 500; }
.archive-empty { display: none; padding: 60px 0; color: var(--muted); text-align: center; }

@media (max-width: 820px) {
  .archive-hero { padding: 78px 0 68px; }
  .archive-hero-grid { grid-template-columns: 1fr; gap: 45px; }
  .archive-search-card { max-width: 640px; }
}
@media (max-width: 620px) {
  .archive-hero { padding: 58px 0 54px; }
  .archive-hero h1 { font-size: 50px; }
  .archive-search-card { padding: 18px; }
  .search-meta { align-items: flex-start; flex-direction: column; gap: 3px; }
  .archive-category { margin-top: 72px; }
  .archive-category-head { grid-template-columns: 1fr; gap: 12px; }
  .archive-category-head > strong { justify-self: start; }
  .archive-list { grid-template-columns: 1fr; }
  .archive-item { min-height: 136px; padding: 17px; }
}

@keyframes ringSpin { to { transform: rotate(360deg); } }
.inventory-ring::before { animation-name: ringSpin; }

/* ================================================================
   SCENOGRAPHIC DIAGRAM SYSTEM / 2026-07-18
   Card layouts remain in source as a rollback layer, but are not rendered.
   ================================================================ */
.diagram-legacy { display: none !important; }

.residual-plant,
.fx-inventory-world,
.inventory-factory,
.roadmap-expedition,
.price-observatory {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 30px;
  background: #fff;
  box-shadow: var(--shadow-md);
}
.residual-plant-head,
.fx-world-head,
.factory-head,
.expedition-head,
.observatory-head {
  position: relative;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 82px;
  padding: 18px 24px;
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.94);
}
.residual-plant-head > div,
.fx-world-head > div:first-child,
.factory-head > div,
.expedition-head > div,
.observatory-head > div { display: flex; align-items: baseline; gap: 14px; }
.residual-plant-head span,
.fx-world-head > div:first-child span,
.factory-head span,
.expedition-head span,
.observatory-head span { color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .13em; }
.residual-plant-head strong,
.fx-world-head > div:first-child strong,
.factory-head strong,
.expedition-head strong,
.observatory-head strong { font-size: 15px; }
.residual-plant-head > small,
.factory-head > small,
.expedition-head > small,
.observatory-head > small { color: var(--muted-2); font-size: 8px; }

/* 02 / Netting plant */
.residual-plant-scene {
  position: relative;
  height: 610px;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 78%,rgba(23,92,255,.10),transparent 24%),
    linear-gradient(rgba(23,92,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,92,255,.025) 1px,transparent 1px),
    linear-gradient(180deg,#fff,#f7f9fd);
  background-size: auto,32px 32px,32px 32px,auto;
}
.residual-plant-scene::before { content: ""; position: absolute; right: 2%; bottom: 4%; left: 2%; height: 36%; transform: perspective(500px) rotateX(62deg); transform-origin: bottom; border: 1px solid rgba(23,92,255,.10); border-radius: 50%; background: radial-gradient(ellipse,rgba(23,92,255,.07),rgba(23,92,255,.015) 58%,transparent 70%); }
.residual-pipes { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; overflow: visible; }
.residual-pipes-mobile { display: none; }
.residual-pipe-shadow { fill: none; stroke: rgba(13,17,23,.07); stroke-width: 14; stroke-linecap: round; }
.residual-pipe { fill: none; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.flow-blue { stroke: #175cff; }.flow-cyan { stroke: #19aabd; }.flow-green { stroke: #0b9b6f; }
.route-direct,.route-bank,.route-stable { stroke: #aeb9cc; stroke-dasharray: 7 10; }
.route-xrp { stroke: #175cff; stroke-width: 6; }
.residual-packet { opacity: .96; }
.plant-landmark,.route-terminal { position: absolute; z-index: 5; display: grid; justify-items: center; text-align: center; }
.plant-landmark > span,.route-terminal > b { display: block; color: var(--ink); font-size: 11px; font-weight: 850; }
.plant-landmark > small,.route-terminal > small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.plant-gross { top: 14%; left: 2.5%; width: 14%; }
.plant-netting { top: 28%; left: 26%; width: 17%; }
.plant-residual { top: 31%; left: 43%; width: 16%; }
.plant-router { top: 28%; left: 55%; width: 16%; }
.flow-silo { position: relative; display: grid; place-items: center; width: 112px; height: 138px; margin-bottom: 12px; border: 2px solid rgba(23,92,255,.28); border-radius: 55px 55px 24px 24px; background: linear-gradient(90deg,#dce7ff,#fff 47%,#c8d9ff); box-shadow: inset 0 -48px 0 rgba(23,92,255,.10),0 20px 35px rgba(23,92,255,.10); }
.flow-silo::before,.flow-silo::after { content: ""; position: absolute; left: 8px; right: 8px; height: 24px; border: 1px solid rgba(23,92,255,.25); border-radius: 50%; background: #f8fbff; }
.flow-silo::before { top: -7px; }.flow-silo::after { bottom: -7px; background: #ccdcff; }
.flow-silo strong { position: relative; z-index: 2; color: var(--blue); font-size: 46px; letter-spacing: -.07em; }
.flow-silo i { position: absolute; z-index: 3; width: 8px; height: 8px; border-radius: 50%; background: var(--blue); animation: siloBubble 3s ease-in-out infinite; }
.flow-silo i:nth-child(1){left:25px;bottom:29px}.flow-silo i:nth-child(2){right:28px;bottom:48px;animation-delay:-1s}.flow-silo i:nth-child(3){left:51px;bottom:68px;animation-delay:-2s}
.netting-machine { position: relative; display: grid; place-items: center; width: 150px; height: 150px; margin-bottom: 13px; border: 2px solid rgba(25,170,189,.30); border-radius: 50%; background: radial-gradient(circle,#fff 0 34%,#eafafb 35% 54%,#d8f2f5 55% 64%,#fff 65%); box-shadow: 0 18px 40px rgba(25,170,189,.10); }
.netting-machine::before { content: ""; position: absolute; inset: 12px; border: 2px dashed rgba(25,170,189,.32); border-radius: 50%; animation: nettingSpin 11s linear infinite; }
.netting-machine b { position: absolute; top: 26px; color: #0d8795; font-size: 30px; transform: rotate(-15deg); }
.netting-machine strong { margin-top: 28px; color: #0d8795; font-size: 37px; letter-spacing: -.06em; }
.netting-machine i { position: absolute; inset: -8px; border: 1px solid rgba(25,170,189,.12); border-radius: 50%; box-shadow: 0 0 0 12px rgba(25,170,189,.025); }
.residual-capsule { position: relative; display: grid; place-items: center; width: 106px; height: 132px; margin-bottom: 18px; border: 2px solid rgba(23,92,255,.32); border-radius: 53px; background: linear-gradient(145deg,#fff,#eaf1ff); box-shadow: 0 17px 34px rgba(23,92,255,.11); }
.residual-capsule::after { content: "RESIDUAL"; position: absolute; bottom: 18px; color: var(--blue); font-size: 6px; font-weight: 900; letter-spacing: .16em; }
.residual-capsule strong { margin-top: -10px; color: var(--blue); font-size: 45px; letter-spacing: -.07em; }
.residual-capsule i { position: absolute; top: -7px; width: 28px; height: 12px; border: 1px solid rgba(23,92,255,.3); border-radius: 50%; background: #f8faff; }
.route-switch { position: relative; display: grid; place-items: center; width: 128px; height: 128px; margin: 11px 0 16px; transform: rotate(45deg); border: 2px solid rgba(23,92,255,.26); border-radius: 28px; background: linear-gradient(145deg,#fff,#edf3ff); box-shadow: 0 18px 38px rgba(23,92,255,.09); }
.route-switch::before { content: ""; position: absolute; inset: 21px; border: 1px solid rgba(23,92,255,.2); border-radius: 50%; }
.route-switch strong { transform: rotate(-45deg); color: var(--blue); font-size: 18px; }
.route-switch i { position: absolute; width: 10px; height: 10px; border: 2px solid #fff; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 4px rgba(23,92,255,.11); }
.route-switch i:nth-child(1){top:-6px;left:58px}.route-switch i:nth-child(2){right:-6px;top:58px}.route-switch i:nth-child(3){bottom:-6px;left:58px}.route-switch i:nth-child(4){left:-6px;top:58px}
.route-terminal { left: 82%; width: 13%; transform: translateY(-50%); }
.route-terminal::before { content: ""; width: 74px; height: 34px; margin-bottom: 9px; transform: perspective(140px) rotateX(58deg); border: 1px solid rgba(13,17,23,.12); border-radius: 50%; background: linear-gradient(145deg,#fff,#edf0f5); box-shadow: 0 9px 18px rgba(13,17,23,.06); }
.route-terminal > i { position: absolute; top: -5px; width: 22px; height: 29px; border: 1px solid rgba(13,17,23,.13); border-radius: 6px 6px 3px 3px; background: #fff; box-shadow: inset 0 -8px 0 #edf0f5; }
.terminal-direct{top:26.4%}.terminal-bank{top:43.4%}.terminal-stable{top:60.5%}.terminal-xrp{top:80%}
.terminal-xrp::before { border-color: rgba(23,92,255,.32); background: #e9f0ff; box-shadow: 0 9px 25px rgba(23,92,255,.15); }
.terminal-xrp > i { border-color: rgba(23,92,255,.35); background: var(--blue); box-shadow: inset 0 -8px 0 rgba(255,255,255,.18); }
.terminal-xrp > b { color: var(--blue); font-size: 14px; }.terminal-xrp em { position: absolute; top: -15px; right: 9%; padding: 3px 6px; border-radius: 999px; color: #fff; background: var(--blue); font-size: 6px; font-style: normal; font-weight: 900; }
.plant-inventory { top: 77%; left: 79%; width: 19%; }
.inventory-vessel { position: relative; display: grid; place-items: center; width: 152px; height: 112px; margin-bottom: 12px; border: 2px solid rgba(11,155,111,.30); border-radius: 50% 50% 24px 24px; background: linear-gradient(90deg,#d9f4ea,#fff 48%,#c9eadf); box-shadow: inset 0 -46px 0 rgba(11,155,111,.18),0 18px 40px rgba(11,155,111,.10); }
.inventory-vessel::before { content: ""; position: absolute; top: -9px; right: 8px; left: 8px; height: 34px; border: 1px solid rgba(11,155,111,.28); border-radius: 50%; background: #f7fffc; }
.inventory-vessel > div { position: absolute; right: 9px; bottom: 0; left: 9px; height: 45%; border-radius: 0 0 22px 22px; background: linear-gradient(rgba(11,155,111,.24),rgba(11,155,111,.38)); animation: tankLevel 5s ease-in-out infinite; }
.inventory-vessel strong { position: relative; z-index: 2; margin-top: 14px; color: #087f5b; font-size: 30px; }.inventory-vessel i { position:absolute;top:-25px;width:10px;height:26px;border:2px solid rgba(11,155,111,.3);border-bottom:0;border-radius:5px 5px 0 0; }
.residual-plant-verdict { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; min-height: 68px; padding: 16px 24px; color: #fff; background: var(--ink); }
.residual-plant-verdict span { color: #8aaeff; font-size: 8px; font-weight: 850; letter-spacing: .11em; }.residual-plant-verdict strong { font-size: 12px; line-height: 1.55; }

/* 03 / Shared inventory FX port */
.fx-world-now { display: grid; grid-template-columns: auto auto; column-gap: 9px; align-items: center; padding: 8px 12px; border: 1px solid rgba(23,92,255,.18); border-radius: 12px; background: var(--soft-blue); }
.fx-world-now > i { grid-row: 1 / span 2; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); animation: routePulse 2.3s infinite; }
.fx-world-now span { color: var(--muted-2); font-size: 7px; font-weight: 800; }.fx-world-now strong { color: var(--blue); font-size: 11px; }
.fx-world-scene { position: relative; height: 680px; overflow: hidden; background: radial-gradient(ellipse at 50% 52%,rgba(23,92,255,.10),transparent 42%),linear-gradient(180deg,#fff,#f8faff); }
.fx-world-scene::after { content: ""; position: absolute; right: 5%; bottom: 4%; left: 5%; height: 42%; transform: perspective(640px) rotateX(65deg); transform-origin: bottom; border: 1px solid rgba(23,92,255,.12); border-radius: 50%; background: radial-gradient(ellipse,rgba(23,92,255,.06),transparent 66%); box-shadow: 0 25px 80px rgba(23,92,255,.04); }
.fx-world-routes { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; }.fx-world-routes-mobile{display:none}
.fx-world-floor { fill: rgba(23,92,255,.025); stroke: rgba(23,92,255,.1); stroke-width: 2; }.fx-world-orbit{fill:none;stroke:rgba(23,92,255,.12);stroke-width:2;stroke-dasharray:4 12}
.fx-route-group { opacity: .08; transition: opacity .7s var(--ease); }.fx-route-shadow{fill:none;stroke:rgba(13,17,23,.09);stroke-width:15;stroke-linecap:round}.fx-route-active{fill:none;stroke:#175cff;stroke-width:5;stroke-linecap:round;stroke-dasharray:10 8;animation:worldRouteFlow 1.5s linear infinite}
.fx-inventory-world[data-active-fx-route="jpy-mxn"] .fx-route-jpy-mxn,
.fx-inventory-world[data-active-fx-route="eur-usd"] .fx-route-eur-usd,
.fx-inventory-world[data-active-fx-route="gbp-brl"] .fx-route-gbp-brl { opacity: 1; }
.fx-lender-pipe { fill:none;stroke:rgba(23,92,255,.28);stroke-width:3;stroke-dasharray:6 7}.fx-lender-packet{fill:var(--blue)}
.fx-lender-station { position:absolute;z-index:8;top:3%;left:50%;display:grid;justify-items:center;width:210px;transform:translateX(-50%);text-align:center}.fx-lender-station>div{position:relative;width:112px;height:54px;margin-bottom:9px;transform:perspective(160px) rotateX(54deg);border:1px solid rgba(23,92,255,.2);border-radius:50%;background:linear-gradient(145deg,#fff,#e9f0ff);box-shadow:0 12px 26px rgba(23,92,255,.09)}.fx-lender-station>div i{position:absolute;top:11px;width:23px;height:31px;border:1px solid rgba(23,92,255,.26);border-radius:50% 50% 7px 7px;background:#fff;box-shadow:inset 0 -12px 0 #dce7ff}.fx-lender-station>div i:nth-child(1){left:16px}.fx-lender-station>div i:nth-child(2){left:44px}.fx-lender-station>div i:nth-child(3){right:16px}.fx-lender-station span{color:var(--blue);font-size:7px;font-weight:850;letter-spacing:.12em}.fx-lender-station strong{margin-top:3px;font-size:10px}
.fx-currency-port { position:absolute;z-index:7;top:var(--fx-y);left:var(--fx-x);display:grid;justify-items:center;width:170px;transform:translate(-50%,-50%);text-align:center;transition:opacity .5s,filter .5s,transform .5s var(--ease)}
.currency-tower { position:relative;width:94px;height:84px;margin-bottom:8px;transform:perspective(180px) rotateX(4deg);border:1px solid rgba(13,17,23,.11);border-radius:46px 46px 18px 18px;background:linear-gradient(90deg,#e9edf4,#fff 48%,#dfe5ef);box-shadow:inset 0 -27px 0 rgba(13,17,23,.04),0 15px 28px rgba(13,17,23,.07)}
.currency-tower::before{content:"";position:absolute;top:-7px;right:6px;left:6px;height:28px;border:1px solid rgba(13,17,23,.12);border-radius:50%;background:#fff}.currency-tower::after{content:"MM";position:absolute;right:15px;bottom:9px;color:var(--muted-2);font-size:6px;font-weight:900;letter-spacing:.1em}.currency-tower>i{position:relative;z-index:2;display:grid;place-items:center;width:42px;height:42px;margin:16px auto 0;border:1px solid rgba(23,92,255,.19);border-radius:50%;color:var(--blue);background:#f0f5ff;font-size:18px;font-style:normal;font-weight:850}.currency-tower>b{position:absolute;bottom:13px;left:15px;width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(23,92,255,.08)}.currency-tower>b:last-child{bottom:30px;left:11px;width:5px;height:5px;background:var(--cyan)}
.fx-currency-port>span{color:var(--muted-2);font-size:7px;font-weight:850;letter-spacing:.11em}.fx-currency-port>strong{margin-top:3px;font-size:11px}.fx-currency-port>small{margin-top:2px;color:var(--muted);font-size:7.5px}
.fx-currency-port:not(.is-source):not(.is-destination){opacity:.62;filter:saturate(.65)}.fx-currency-port.is-source,.fx-currency-port.is-destination{z-index:9;transform:translate(-50%,calc(-50% - 5px)) scale(1.05);opacity:1;filter:none}.fx-currency-port.is-source .currency-tower{border-color:rgba(23,92,255,.42);box-shadow:inset 0 -28px 0 rgba(23,92,255,.10),0 18px 36px rgba(23,92,255,.16)}.fx-currency-port.is-destination .currency-tower{border-color:rgba(11,155,111,.4);box-shadow:inset 0 -28px 0 rgba(11,155,111,.10),0 18px 36px rgba(11,155,111,.14)}.fx-currency-port.is-destination .currency-tower>i{color:#087f5b;border-color:rgba(11,155,111,.22);background:#edf9f5}.fx-currency-port.is-destination>strong{color:#087f5b}
.fx-reservoir{position:absolute;z-index:10;top:51%;left:50%;width:250px;height:270px;transform:translate(-50%,-50%)}.fx-reservoir-tank{position:absolute;inset:44px 30px 26px;display:grid;place-content:center;justify-items:center;overflow:hidden;border:2px solid rgba(23,92,255,.32);border-radius:50% 50% 34px 34px;background:linear-gradient(90deg,#dce7ff,#fff 48%,#c7d8ff);box-shadow:inset 0 -85px 0 rgba(23,92,255,.14),0 27px 60px rgba(23,92,255,.15);text-align:center}.fx-reservoir-tank::before{content:"";position:absolute;top:-9px;right:9px;left:9px;height:45px;border:1px solid rgba(23,92,255,.29);border-radius:50%;background:#f9fbff}.fx-reservoir-tank>div{position:absolute;right:8px;bottom:0;left:8px;height:43%;border-radius:0 0 31px 31px;background:linear-gradient(rgba(23,92,255,.13),rgba(23,92,255,.28));animation:tankLevel 5s ease-in-out infinite}.fx-reservoir-tank>span,.fx-reservoir-tank>strong,.fx-reservoir-tank>small{position:relative;z-index:2}.fx-reservoir-tank>span{color:var(--blue);font-size:6.5px;font-weight:900;letter-spacing:.12em}.fx-reservoir-tank>strong{margin:7px 0;color:var(--blue);font-size:47px;letter-spacing:-.08em}.fx-reservoir-tank>small{color:var(--muted);font-size:7px;line-height:1.55}.fx-reservoir-orbit{position:absolute;inset:0;border:1px solid rgba(23,92,255,.14);border-radius:50%;animation:ringSpin 20s linear infinite}.fx-reservoir-orbit::before,.fx-reservoir-orbit::after{content:"";position:absolute;inset:13%;border:1px dashed rgba(23,92,255,.11);border-radius:50%}.fx-reservoir-orbit::after{inset:27%}.fx-reservoir-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 6px rgba(23,92,255,.08)}.fx-reservoir-orbit i:nth-child(1){top:-4px;left:49%}.fx-reservoir-orbit i:nth-child(2){right:-4px;top:49%;background:var(--cyan)}.fx-reservoir-orbit i:nth-child(3){bottom:10%;left:8%;background:var(--green)}
.fx-customer{position:absolute;z-index:8;bottom:5%;display:grid;justify-items:center;width:100px;color:var(--muted-2);font-size:7px;font-weight:800;text-align:center}.customer-source{left:5%}.customer-destination{right:5%}.fx-customer>i{position:relative;width:28px;height:39px;margin-bottom:5px;border:1px solid rgba(13,17,23,.14);border-radius:14px 14px 8px 8px;background:#fff;box-shadow:0 8px 18px rgba(13,17,23,.07)}.fx-customer>i::before{content:"";position:absolute;top:-14px;left:7px;width:14px;height:14px;border:1px solid rgba(13,17,23,.14);border-radius:50%;background:#fff}
.fx-world-story{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;margin:0 20px 12px;padding:15px 18px;border:1px solid rgba(23,92,255,.18);border-radius:14px;background:var(--soft-blue)}.fx-world-story span{padding:5px 8px;border-radius:999px;color:#fff;background:var(--blue);font-size:7px;font-weight:850;white-space:nowrap}.fx-world-story strong{font-size:10px;line-height:1.55}
.fx-world-principle{display:grid;grid-template-columns:repeat(3,1fr 30px) 1fr;align-items:center;margin:0 20px 20px;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:#fff}.fx-world-principle>div{display:grid;gap:2px;text-align:center}.fx-world-principle b{font-size:10px}.fx-world-principle span{color:var(--muted);font-size:7px}.fx-world-principle>i{height:1px;background:linear-gradient(90deg,var(--line-strong),var(--blue));position:relative}.fx-world-principle>i::after{content:"›";position:absolute;right:-2px;top:50%;transform:translateY(-54%);color:var(--blue);font-style:normal}

/* 05 / Institutional inventory factory */
.factory-scene{position:relative;height:760px;overflow:hidden;background:linear-gradient(180deg,#fbfcff 0 38%,#f2f5fa 38% 39%,#fafbfe 39% 100%)}
.factory-scene::before{content:"";position:absolute;inset:39% 0 0;background:linear-gradient(rgba(23,92,255,.027) 1px,transparent 1px),linear-gradient(90deg,rgba(23,92,255,.027) 1px,transparent 1px);background-size:28px 28px;opacity:.8}.factory-scene::after{content:"";position:absolute;right:12%;bottom:3%;left:12%;height:32%;transform:perspective(520px) rotateX(62deg);transform-origin:bottom;border:1px solid rgba(23,92,255,.09);border-radius:50%;background:radial-gradient(ellipse,rgba(23,92,255,.055),transparent 68%)}
.factory-pipes{position:absolute;inset:0;z-index:2;width:100%;height:100%}.factory-pipes-mobile{display:none}.factory-floor-line{fill:none;stroke:rgba(13,17,23,.12);stroke-width:2;stroke-dasharray:3 8}.factory-pipe{fill:none;stroke:rgba(23,92,255,.23);stroke-width:4;stroke-linecap:round}.factory-trunk-shadow{fill:none;stroke:rgba(13,17,23,.07);stroke-width:16;stroke-linecap:round}.factory-trunk{fill:none;stroke:#175cff;stroke-width:4;stroke-linecap:round;stroke-dasharray:7 8;animation:worldRouteFlow 1.5s linear infinite}.factory-packet{fill:#175cff}.packet-cash{fill:#0b9b6f}.packet-store{fill:#6e5ed0}.packet-execute{fill:#19aabd}.factory-cycle-line{fill:none;stroke:rgba(23,92,255,.18);stroke-width:3;stroke-dasharray:8 9;animation:worldRouteFlow 2s linear infinite}
.factory-building{position:absolute;z-index:6;top:5%;display:grid;justify-items:center;width:20%;text-align:center}.building-prime{left:3%}.building-rlusd{left:27%}.building-custody{right:27%}.building-xrpl{right:3%}.factory-building>span{color:var(--blue);font-size:6.5px;font-weight:900;letter-spacing:.12em}.factory-building>strong{margin:4px 0 2px;font-size:11px}.factory-building>small{max-width:160px;color:var(--muted);font-size:7px;line-height:1.45}
.factory-icon{position:relative;width:112px;height:104px;margin-bottom:10px;filter:drop-shadow(0 14px 14px rgba(13,17,23,.08))}.factory-icon::after{content:"";position:absolute;right:3px;bottom:0;left:3px;height:34px;transform:perspective(120px) rotateX(58deg);border:1px solid rgba(13,17,23,.12);border-radius:50%;background:linear-gradient(145deg,#fff,#e8edf5)}
.icon-prime::before{content:"";position:absolute;z-index:2;top:5px;left:31px;width:50px;height:77px;border:1px solid rgba(23,92,255,.28);border-radius:11px 11px 5px 5px;background:linear-gradient(135deg,#fff,#dce7ff);box-shadow:inset 0 -20px 0 rgba(23,92,255,.07)}.icon-prime i{position:absolute;z-index:3;top:20px;width:8px;height:8px;border-radius:2px;background:rgba(23,92,255,.38)}.icon-prime i:nth-child(1){left:43px}.icon-prime i:nth-child(2){left:58px}.icon-prime i:nth-child(3){left:73px}
.icon-rlusd::before{content:"";position:absolute;z-index:2;top:12px;left:22px;width:68px;height:69px;border:1px solid rgba(11,155,111,.28);border-radius:50% 50% 15px 15px;background:linear-gradient(90deg,#e1f5ee,#fff 48%,#d0eee3);box-shadow:inset 0 -25px 0 rgba(11,155,111,.12)}.icon-rlusd i{position:absolute;z-index:3;top:31px;left:45px;color:#087f5b;font-size:27px;font-style:normal;font-weight:850}
.icon-vault::before{content:"";position:absolute;z-index:2;top:11px;left:18px;width:76px;height:72px;border:3px solid #9ba8bb;border-radius:12px;background:linear-gradient(145deg,#fff,#e5e9ef);box-shadow:inset 0 0 0 5px #f8f9fb}.icon-vault i{position:absolute;z-index:3;top:29px;left:42px;width:30px;height:30px;border:3px solid #8290a5;border-radius:50%}.icon-vault i::after{content:"";position:absolute;top:12px;left:4px;width:16px;height:3px;background:#8290a5}.icon-vault b{position:absolute;z-index:3;top:20px;right:23px;width:5px;height:21px;border-radius:3px;background:#8290a5}
.icon-ledger::before{content:"";position:absolute;z-index:2;top:7px;left:24px;width:64px;height:77px;transform:skewY(-4deg);border:1px solid rgba(25,170,189,.33);border-radius:8px;background:linear-gradient(135deg,#fff,#dff6f8);box-shadow:-8px 8px 0 #edf9fa,-16px 16px 0 #f5fbfc}.icon-ledger i{position:absolute;z-index:3;left:40px;width:39px;height:3px;border-radius:2px;background:rgba(13,135,149,.45)}.icon-ledger i:nth-child(1){top:30px}.icon-ledger i:nth-child(2){top:43px}.icon-ledger i:nth-child(3){top:56px}
.factory-boundary{position:absolute;z-index:7;top:34%;right:4%;left:4%;display:grid;grid-template-columns:auto 1fr auto 1fr auto;gap:12px;align-items:center;color:var(--muted-2);font-size:7px;font-weight:850;letter-spacing:.09em;text-align:center}.factory-boundary i{height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent)}.factory-boundary strong{padding:7px 11px;border:1px solid rgba(169,108,0,.2);border-radius:999px;color:var(--amber);background:#fff9ec;font-size:8px;letter-spacing:0}
.factory-gate{position:absolute;z-index:8;left:50%;display:grid;grid-template-columns:52px 1fr;column-gap:13px;align-items:center;width:330px;min-height:68px;transform:translate(-50%,-50%);text-align:left}.gate-cost{top:44%}.gate-external{top:55%}.gate-balance{top:66%}.factory-gate>div{grid-row:1 / span 2;position:relative;display:grid;place-items:center;width:52px;height:52px;border:2px solid rgba(23,92,255,.25);border-radius:50%;background:#fff;box-shadow:0 10px 25px rgba(23,92,255,.1)}.factory-gate>div::before{content:"";position:absolute;inset:7px;border:1px dashed rgba(23,92,255,.25);border-radius:50%;animation:nettingSpin 9s linear infinite}.factory-gate>div b{position:relative;color:var(--blue);font-size:10px}.factory-gate>span{align-self:end;font-size:11px;font-weight:850}.factory-gate>small{align-self:start;color:var(--muted);font-size:7.5px;line-height:1.4}
.factory-inventory-reactor{position:absolute;z-index:9;top:77%;left:50%;display:grid;place-content:center;justify-items:center;width:205px;height:156px;overflow:hidden;transform:translate(-50%,-50%);border:2px solid rgba(23,92,255,.32);border-radius:50% 50% 34px 34px;background:linear-gradient(90deg,#dce7ff,#fff 48%,#c7d8ff);box-shadow:inset 0 -60px 0 rgba(23,92,255,.13),0 25px 55px rgba(23,92,255,.15);text-align:center}.factory-inventory-reactor::before{content:"";position:absolute;top:-12px;right:10px;left:10px;height:44px;border:1px solid rgba(23,92,255,.28);border-radius:50%;background:#fafcff}.reactor-liquid{position:absolute;right:8px;bottom:0;left:8px;height:40%;border-radius:0 0 31px 31px;background:linear-gradient(rgba(23,92,255,.14),rgba(23,92,255,.28));animation:tankLevel 5s ease-in-out infinite}.factory-inventory-reactor>span,.factory-inventory-reactor>strong,.factory-inventory-reactor>b,.factory-inventory-reactor>small{position:relative;z-index:2}.factory-inventory-reactor>span{color:var(--blue);font-size:6px;font-weight:900;letter-spacing:.12em}.factory-inventory-reactor>strong{margin:3px 0 0;color:var(--blue);font-size:36px;letter-spacing:-.08em}.factory-inventory-reactor>b{font-size:9px;letter-spacing:.08em}.factory-inventory-reactor>small{margin-top:6px;color:var(--muted);font-size:6.5px}
.factory-cycle-node{position:absolute;z-index:10;display:grid;justify-items:center;width:110px;text-align:center}.factory-cycle-node>i{display:grid;place-items:center;width:38px;height:38px;margin-bottom:5px;border:1px solid rgba(23,92,255,.22);border-radius:12px;color:var(--blue);background:#fff;box-shadow:0 9px 20px rgba(23,92,255,.08);font-size:9px;font-style:normal;font-weight:900}.factory-cycle-node>b{font-size:8px}.factory-cycle-node>small{color:var(--muted);font-size:6.5px}.cycle-lender{top:72%;left:28%}.cycle-pb{top:88%;left:36%}.cycle-mm{top:88%;right:36%}.cycle-flow{top:72%;right:28%}
.factory-verdict{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;min-height:68px;padding:16px 24px;color:#fff;background:var(--ink)}.factory-verdict span{color:#8aaeff;font-size:8px;font-weight:850;letter-spacing:.11em}.factory-verdict strong{font-size:12px;line-height:1.55}

/* 07 / Price discovery observatory */
.price-observatory{background:#fff}.observatory-scene{position:relative;height:820px;overflow:hidden;background:radial-gradient(circle at 76% 48%,rgba(23,92,255,.10),transparent 27%),linear-gradient(rgba(23,92,255,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(23,92,255,.024) 1px,transparent 1px),linear-gradient(180deg,#fff,#f8faff);background-size:auto,30px 30px,30px 30px,auto}.observatory-scene::after{content:"";position:absolute;right:4%;bottom:3%;left:4%;height:30%;transform:perspective(560px) rotateX(62deg);transform-origin:bottom;border:1px solid rgba(23,92,255,.08);border-radius:50%;background:radial-gradient(ellipse,rgba(23,92,255,.05),transparent 70%)}
.observatory-flows{position:absolute;inset:0;z-index:2;width:100%;height:100%}.observatory-mobile{display:none}.obs-flow-shadow{fill:none;stroke:rgba(13,17,23,.07);stroke-width:14;stroke-linecap:round}.obs-flow{fill:none;stroke-width:4;stroke-linecap:round;stroke-dasharray:8 8;animation:worldRouteFlow 1.5s linear infinite}.real-demand-flow,.spot-flow,.structural-flow{stroke:#175cff}.reuse-flow{stroke:#9ba8bb}.expectation-flow{stroke:#19aabd}.speculation-flow{stroke:#6e5ed0}.supply-flow{stroke:#a96c00}.obs-packet{opacity:.95}
.obs-demand-chain{position:absolute;z-index:7;top:10%;left:3%;display:grid;grid-template-columns:repeat(3,1fr);gap:34px;width:43%}.obs-landmark{position:relative;display:grid;justify-items:center;text-align:center}.obs-landmark>i{position:relative;width:72px;height:72px;margin-bottom:10px;border:1px solid rgba(23,92,255,.22);border-radius:24px;background:linear-gradient(145deg,#fff,#eaf1ff);box-shadow:0 15px 30px rgba(23,92,255,.09)}.obs-use>i::before{content:"↗";position:absolute;inset:0;display:grid;place-items:center;color:var(--blue);font-size:25px}.obs-net>i::before{content:"⇄";position:absolute;inset:0;display:grid;place-items:center;color:#0d8795;font-size:24px}.obs-inventory .mini-tank{position:relative;width:72px;height:72px;margin-bottom:10px;overflow:hidden;border:1px solid rgba(23,92,255,.24);border-radius:36px 36px 16px 16px;background:linear-gradient(90deg,#e3ebff,#fff,#d5e2ff);box-shadow:inset 0 -28px 0 rgba(23,92,255,.12),0 15px 30px rgba(23,92,255,.09)}.mini-tank b{position:absolute;right:5px;bottom:0;left:5px;height:40%;border-radius:0 0 13px 13px;background:rgba(23,92,255,.18)}.obs-landmark>span{color:var(--blue);font-size:6.5px;font-weight:900;letter-spacing:.1em}.obs-landmark>strong{margin:4px 0 2px;font-size:9px}.obs-landmark>small{color:var(--muted);font-size:6.5px;line-height:1.4}
.obs-source-valve{position:absolute;z-index:8;top:28%;left:39%;display:grid;grid-template-columns:52px 1fr;column-gap:12px;align-items:center;width:220px}.obs-source-valve>i{grid-row:1 / span 2;position:relative;width:52px;height:52px;border:2px solid rgba(23,92,255,.24);border-radius:50%;background:#fff;box-shadow:0 12px 25px rgba(23,92,255,.1)}.obs-source-valve>i::before,.obs-source-valve>i::after{content:"";position:absolute;top:23px;left:8px;width:34px;height:3px;background:var(--blue)}.obs-source-valve>i::after{transform:rotate(90deg)}.obs-source-valve>span{align-self:end;color:var(--blue);font-size:6.5px;font-weight:900;letter-spacing:.1em}.obs-source-valve>strong{align-self:start;font-size:10px}
.obs-reuse-loop,.obs-spot-pipe{position:absolute;z-index:7;display:grid;justify-items:center;width:220px;text-align:center}.obs-reuse-loop{top:10%;left:56%}.obs-spot-pipe{top:41%;left:52%}.reuse-wheel{position:relative;width:102px;height:102px;margin-bottom:10px;border:2px dashed rgba(143,156,177,.5);border-radius:50%;animation:nettingSpin 14s linear infinite}.reuse-wheel::before{content:"↻";position:absolute;inset:0;display:grid;place-items:center;color:#8290a5;font-size:34px}.reuse-wheel i{position:absolute;width:9px;height:9px;border-radius:50%;background:#9ba8bb}.reuse-wheel i:nth-child(1){top:-5px;left:46px}.reuse-wheel i:nth-child(2){right:2px;bottom:20px}.reuse-wheel i:nth-child(3){left:5px;bottom:14px}.spot-pump{position:relative;width:94px;height:94px;margin-bottom:10px;transform:rotate(45deg);border:2px solid rgba(23,92,255,.3);border-radius:25px;background:linear-gradient(145deg,#fff,#e8f0ff);box-shadow:0 17px 35px rgba(23,92,255,.12)}.spot-pump::before{content:"↑";position:absolute;inset:0;display:grid;place-items:center;transform:rotate(-45deg);color:var(--blue);font-size:30px}.spot-pump i{position:absolute;inset:15px;border:1px dashed rgba(23,92,255,.22);border-radius:50%;animation:nettingSpin 8s linear infinite}.obs-reuse-loop>span,.obs-spot-pipe>span{color:var(--muted-2);font-size:6.5px;font-weight:900;letter-spacing:.1em}.obs-spot-pipe>span{color:var(--blue)}.obs-reuse-loop>strong,.obs-spot-pipe>strong{margin:4px 0;font-size:11px}.obs-reuse-loop>small,.obs-spot-pipe>small{color:var(--muted);font-size:7px}.obs-reuse-loop>em,.obs-spot-pipe>em{margin-top:7px;padding:4px 7px;border-radius:999px;color:var(--muted);background:#edf0f5;font-size:6px;font-style:normal;font-weight:900}.obs-spot-pipe>em{color:var(--blue);background:var(--soft-blue)}
.orderbook-exchange{position:absolute;z-index:9;top:29%;left:70%;width:255px;height:325px;transform:translateX(-50%);filter:drop-shadow(0 22px 28px rgba(23,92,255,.14))}.exchange-roof{position:relative;display:grid;place-items:center;height:48px;transform:perspective(200px) rotateX(8deg);border:1px solid rgba(23,92,255,.28);border-radius:22px 22px 4px 4px;color:var(--blue);background:linear-gradient(145deg,#fff,#e4edff);font-size:7px;font-weight:900;letter-spacing:.11em}.exchange-roof::before,.exchange-roof::after{content:"";position:absolute;bottom:-251px;width:8px;height:250px;background:linear-gradient(#d7dfeb,#f9fbff)}.exchange-roof::before{left:17px}.exchange-roof::after{right:17px}.orderbook-screen{position:relative;z-index:2;height:225px;margin:0 25px;border:1px solid rgba(13,17,23,.12);border-radius:7px;background:#0d1729;box-shadow:inset 0 0 0 6px #fff}.ask-stairs,.bid-stairs{position:absolute;right:18px;left:18px;height:78px}.ask-stairs{top:18px}.bid-stairs{bottom:18px}.ask-stairs i,.bid-stairs i{display:block;height:8px;margin:5px 0;border-radius:2px}.ask-stairs i{margin-left:auto;background:linear-gradient(90deg,rgba(237,112,100,.35),#ed7064)}.ask-stairs i:nth-child(1){width:30%}.ask-stairs i:nth-child(2){width:46%}.ask-stairs i:nth-child(3){width:67%}.ask-stairs i:nth-child(4){width:88%}.bid-stairs i{background:linear-gradient(90deg,#3fc89b,rgba(63,200,155,.35))}.bid-stairs i:nth-child(1){width:88%}.bid-stairs i:nth-child(2){width:67%}.bid-stairs i:nth-child(3){width:46%}.bid-stairs i:nth-child(4){width:30%}.ask-stairs span,.bid-stairs span{position:absolute;color:rgba(255,255,255,.58);font-size:6px;font-weight:850}.ask-stairs span{top:-10px;right:0}.bid-stairs span{right:0;bottom:-10px}.price-tick{position:absolute;top:50%;right:12px;left:12px;display:grid;grid-template-columns:1fr auto;align-items:center;transform:translateY(-50%);padding:8px 9px;border-top:1px solid rgba(255,255,255,.11);border-bottom:1px solid rgba(255,255,255,.11);background:rgba(23,92,255,.13);animation:priceTick 8s var(--ease) infinite}.price-tick span{color:#8fb1ff;font-size:5px;font-weight:900}.price-tick strong{color:#fff;font-size:7px}.price-tick i{grid-column:1 / -1;height:2px;margin-top:5px;background:linear-gradient(90deg,#175cff,#8fb1ff);transform-origin:left;animation:priceLine 8s var(--ease) infinite}.exchange-base{position:absolute;right:0;bottom:0;left:0;display:grid;place-items:center;height:58px;transform:perspective(220px) rotateX(50deg);border:1px solid rgba(23,92,255,.18);border-radius:50%;background:linear-gradient(145deg,#fff,#e3ebfa);text-align:center}.exchange-base span,.exchange-base strong{transform:rotateX(-50deg)}.exchange-base span{color:var(--muted-2);font-size:5.5px}.exchange-base strong{color:var(--blue);font-size:9px}
.obs-force{position:absolute;z-index:7;display:grid;grid-template-columns:38px 1fr;column-gap:9px;align-items:center;width:190px}.obs-force>i{grid-row:1 / span 3;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(23,92,255,.2);border-radius:12px;color:var(--blue);background:#fff;font-size:7px;font-style:normal;font-weight:900;line-height:1.1}.obs-force>span{color:var(--muted-2);font-size:6px;font-weight:900;letter-spacing:.08em}.obs-force>strong{font-size:8px}.obs-force>small{color:var(--muted);font-size:6px}.force-supply{top:5%;left:68%}.force-speculation{top:24%;right:1%}.force-structural{bottom:16%;left:60%}.force-expectation{right:2%;bottom:16%}.force-supply>i{color:var(--amber);border-color:rgba(169,108,0,.2);background:#fff9ec}.force-speculation>i{color:#6e5ed0;border-color:rgba(110,94,208,.2);background:#f4f2ff}.force-expectation>i{color:#0d8795;border-color:rgba(25,170,189,.2);background:#effbfc}
.obs-context-ring{position:absolute;z-index:7;right:7%;bottom:3%;left:48%;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:12px 15px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.91)}.obs-context-ring span{color:var(--blue);font-size:7px;font-weight:900}.obs-context-ring strong{color:var(--muted);font-size:6.5px;line-height:1.45}
.observatory-equations{display:grid;grid-template-columns:1.7fr 1fr;border-top:1px solid var(--line)}.observatory-equations>div{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:16px 20px}.observatory-equations>div+div{border-left:1px solid var(--line)}.observatory-equations span{color:var(--blue);font-size:7px;font-weight:900}.observatory-equations strong{font-size:9px}.observatory-caveat{margin:0;padding:13px 20px;border-top:1px solid var(--line);color:var(--muted);background:var(--soft);font-size:8px;line-height:1.6}.observatory-caveat b{color:var(--ink)}

/* 06 / Seven-station hypothesis rail */
.expedition-scene{position:relative;height:900px;overflow:hidden;background:linear-gradient(180deg,#fbfcff,#f1f5fb)}.expedition-scene::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 87% 15%,rgba(23,92,255,.10),transparent 22%),linear-gradient(135deg,rgba(255,255,255,.7),transparent 55%)}
.expedition-landscape{position:absolute;inset:0;z-index:1;width:100%;height:100%}.expedition-mobile{display:none}.mountain-back{fill:url(#mountainFade);stroke:rgba(23,92,255,.08);stroke-width:2}.mountain-front{fill:#f9fbff;stroke:rgba(13,17,23,.06);stroke-width:2}.rail-shadow{fill:none;stroke:rgba(13,17,23,.10);stroke-width:18;stroke-linecap:round}.rail-future{fill:none;stroke:#8fa6cd;stroke-width:4;stroke-linecap:round;stroke-dasharray:8 12}.rail-proven{fill:none;stroke:#175cff;stroke-width:6;stroke-linecap:round}.future-signal{fill:#fff;stroke:#8fa6cd;stroke-width:3;animation:futureSignal 7s ease-in-out infinite}.signal-two{animation-delay:-2.3s}.signal-three{animation-delay:-4.6s}
.expedition-current-marker{position:absolute;z-index:8;top:72%;left:18%;display:grid;grid-template-columns:18px auto;column-gap:8px;align-items:center;padding:10px 13px;border:1px solid rgba(23,92,255,.24);border-radius:14px;background:rgba(255,255,255,.92);box-shadow:0 13px 30px rgba(23,92,255,.10)}.expedition-current-marker>i{grid-row:1 / span 3;width:10px;height:10px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 7px rgba(23,92,255,.1);animation:routePulse 2.4s infinite}.expedition-current-marker>span{color:var(--blue);font-size:7px;font-weight:900;letter-spacing:.1em}.expedition-current-marker>strong{font-size:9px}.expedition-current-marker>small{color:var(--muted);font-size:6.5px}
.expedition-station{position:absolute;z-index:7;width:205px;padding:0 2px;text-shadow:0 1px 0 #fff}.expedition-station::before{content:"";position:absolute;inset:-14px -12px;background:radial-gradient(ellipse,rgba(255,255,255,.98) 30%,rgba(255,255,255,.8) 62%,transparent 76%);z-index:-1}.station-beacon{position:absolute;top:-45px;left:0;display:grid;place-items:center;width:36px;height:36px;border:3px solid #fff;border-radius:50%;color:#fff;background:#8fa6cd;box-shadow:0 0 0 3px rgba(143,166,205,.24),0 9px 20px rgba(13,17,23,.10)}.station-beacon>b{font-size:8px}.station-beacon>i{position:absolute;top:42px;width:2px;height:20px;background:rgba(143,166,205,.4)}.station-01 .station-beacon{background:var(--blue);box-shadow:0 0 0 3px rgba(23,92,255,.18),0 9px 20px rgba(23,92,255,.12)}.expedition-station>span{color:var(--blue);font-size:6.5px;font-weight:900;letter-spacing:.1em}.expedition-station h3{margin:5px 0 5px;font-size:14px;line-height:1.35}.expedition-station p{margin:0;color:var(--muted);font-size:8px;line-height:1.55}.expedition-station>small{display:block;margin-top:6px;color:var(--muted-2);font-size:7px}.expedition-station>small b{color:var(--blue)}
.station-01{top:76%;left:2%}.station-02{top:57%;left:17%}.station-03{top:72%;left:30%}.station-04{top:48%;left:43%}.station-05{top:61%;left:57%}.station-06{top:32%;left:70%}.station-07{top:40%;left:81.5%}
.expedition-gate{position:absolute;z-index:8;display:grid;justify-items:center;width:170px;text-align:center}.expedition-gate span{padding:4px 7px;border-radius:999px;color:#fff;background:var(--amber);font-size:6px;font-weight:900;letter-spacing:.1em}.expedition-gate strong{margin-top:5px;color:#7c5207;font-size:8px;line-height:1.4}.expedition-gate i{width:1px;height:34px;margin-top:5px;background:linear-gradient(var(--amber),transparent)}.expedition-gate-one{top:48%;left:30%}.expedition-gate-two{top:25%;left:65%}
.expedition-destination{position:absolute;z-index:7;top:7%;right:3%;display:grid;justify-items:center;width:235px;text-align:center}.destination-flag{position:relative;width:72px;height:78px;margin-bottom:7px}.destination-flag::before{content:"";position:absolute;left:18px;bottom:0;width:3px;height:70px;background:#63738c}.destination-flag::after{content:"X";position:absolute;top:0;left:21px;display:grid;place-items:center;width:43px;height:26px;color:#fff;background:var(--blue);clip-path:polygon(0 0,100% 0,82% 50%,100% 100%,0 100%);font-size:10px;font-weight:900}.destination-flag i{position:absolute;bottom:-3px;left:2px;width:58px;height:18px;transform:perspective(80px) rotateX(58deg);border-radius:50%;background:rgba(23,92,255,.1)}.expedition-destination>span{color:var(--blue);font-size:6.5px;font-weight:900;letter-spacing:.11em}.expedition-destination>strong{margin:5px 0;font-size:16px}.expedition-destination>p{margin:0;color:var(--muted);font-size:8px;line-height:1.5}
.expedition-legend{display:flex;align-items:center;justify-content:center;gap:30px;min-height:58px;padding:12px 18px;border-top:1px solid var(--line);background:#fff}.expedition-legend span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:7px}.expedition-legend i{display:block;width:24px;height:3px;background:var(--blue)}.expedition-legend .legend-dashed{background:repeating-linear-gradient(90deg,#8fa6cd 0 5px,transparent 5px 9px)}.expedition-legend .legend-stopped{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 5px rgba(23,92,255,.1)}
.roadmap-expedition + .roadmap-current{margin-top:18px}

/* Scenographic diagrams: responsive and motion */
@keyframes siloBubble{0%,100%{transform:translateY(4px);opacity:.35}50%{transform:translateY(-16px);opacity:1}}
@keyframes nettingSpin{to{transform:rotate(360deg)}}
@keyframes tankLevel{0%,100%{height:38%}50%{height:50%}}
@keyframes futureSignal{0%,12%,100%{opacity:.35}5%,8%{opacity:1;filter:drop-shadow(0 0 7px rgba(23,92,255,.42))}}
@keyframes priceTick{0%,35%,75%,100%{transform:translateY(-50%)}48%,62%{transform:translateY(calc(-50% - 8px))}}
@keyframes priceLine{0%,35%,75%,100%{transform:scaleX(.5);opacity:.5}48%,62%{transform:scaleX(1);opacity:1}}

@media (max-width:820px){
  .residual-plant,.fx-inventory-world,.inventory-factory,.roadmap-expedition,.price-observatory{border-radius:24px}
  .residual-plant-head,.fx-world-head,.factory-head,.expedition-head,.observatory-head{align-items:flex-start;flex-direction:column;gap:6px;min-height:0;padding:17px 18px}
  .residual-plant-head>div,.fx-world-head>div:first-child,.factory-head>div,.expedition-head>div,.observatory-head>div{align-items:flex-start;flex-direction:column;gap:3px}
  .residual-plant-head strong,.fx-world-head>div:first-child strong,.factory-head strong,.expedition-head strong,.observatory-head strong{font-size:13px;line-height:1.45}

  .residual-plant-scene{height:940px;background-size:auto,24px 24px,24px 24px,auto}.residual-pipes-desktop{display:none}.residual-pipes-mobile{display:block}.plant-landmark{width:90%!important;left:5%!important;transform:none!important}.plant-gross{top:1.5%}.plant-netting{top:19%}.plant-residual{top:37%}.plant-router{top:45%}.flow-silo{width:88px;height:105px}.flow-silo strong{font-size:37px}.netting-machine{width:116px;height:116px}.netting-machine strong{font-size:31px}.residual-capsule{width:84px;height:102px;margin-bottom:8px}.residual-capsule strong{font-size:36px}.route-switch{width:90px;height:90px;margin:4px 0 7px;border-radius:20px}.route-switch i:nth-child(1){top:-6px;left:39px}.route-switch i:nth-child(2){right:-6px;top:39px}.route-switch i:nth-child(3){bottom:-6px;left:39px}.route-switch i:nth-child(4){left:-6px;top:39px}.route-terminal{top:61%!important;width:23%;transform:none}.terminal-direct{left:1%}.terminal-bank{left:26%}.terminal-stable{left:51%}.terminal-xrp{left:76%}.route-terminal::before{width:58px}.route-terminal>b{font-size:9px}.route-terminal>small{font-size:6.5px}.terminal-xrp>b{font-size:11px}.plant-inventory{top:81%!important;left:20%!important;width:60%!important}.inventory-vessel{width:136px;height:100px}.residual-plant-verdict{grid-template-columns:1fr;gap:4px;padding:15px 17px}.residual-plant-verdict strong{font-size:10px}

  .fx-world-head{gap:12px}.fx-world-now{align-self:stretch}.fx-world-scene{height:850px}.fx-world-routes-desktop{display:none}.fx-world-routes-mobile{display:block}.fx-currency-port{top:var(--fx-my);left:var(--fx-mx);width:116px}.currency-tower{width:68px;height:64px;margin-bottom:5px}.currency-tower::before{height:20px}.currency-tower>i{width:32px;height:32px;margin-top:12px;font-size:14px}.currency-tower::after{right:10px;bottom:6px}.currency-tower>b{bottom:8px;left:10px}.currency-tower>b:last-child{bottom:22px;left:8px}.fx-currency-port>strong{font-size:8.5px}.fx-currency-port>small{font-size:6.5px}.fx-reservoir{top:50%;width:190px;height:210px}.fx-reservoir-tank{inset:34px 24px 20px}.fx-reservoir-tank>strong{font-size:38px}.fx-lender-station{top:1.8%;width:180px}.fx-lender-station>div{width:88px;height:45px}.fx-lender-station>div i{width:18px;height:25px}.fx-lender-station>div i:nth-child(1){left:14px}.fx-lender-station>div i:nth-child(2){left:35px}.fx-lender-station>div i:nth-child(3){right:14px}.fx-customer{bottom:2.5%}.customer-source{left:3%}.customer-destination{right:3%}.fx-world-story{grid-template-columns:1fr;gap:7px;margin:0 12px 9px;padding:13px}.fx-world-story span{justify-self:start}.fx-world-principle{grid-template-columns:1fr 1fr;gap:12px;margin:0 12px 14px;padding:13px}.fx-world-principle>i{display:none}.fx-world-principle>div{padding:5px}

  .factory-scene{height:1050px}.factory-pipes-desktop{display:none}.factory-pipes-mobile{display:block}.factory-building{width:50%;top:2%}.building-prime{left:0}.building-rlusd{right:0;left:auto}.building-custody{top:14%;right:auto;left:0}.building-xrpl{top:14%;right:0}.factory-icon{width:82px;height:74px;margin-bottom:5px;transform:scale(.72);transform-origin:center bottom}.factory-building>strong{font-size:9px}.factory-building>small{max-width:135px;font-size:6.3px}.factory-boundary{top:28%;grid-template-columns:1fr;gap:4px}.factory-boundary>span,.factory-boundary>i{display:none}.factory-boundary strong{justify-self:center}.factory-gate{left:50%;width:270px;grid-template-columns:46px 1fr}.gate-cost{top:35%}.gate-external{top:45.5%}.gate-balance{top:56%}.factory-gate>div{width:46px;height:46px}.factory-gate>span{font-size:10px}.factory-gate>small{font-size:7px}.factory-inventory-reactor{top:70%;width:178px;height:140px}.factory-cycle-node{width:90px}.cycle-lender{top:81%;left:4%}.cycle-pb{top:91%;left:22%}.cycle-mm{top:91%;right:22%}.cycle-flow{top:81%;right:4%}.factory-verdict{grid-template-columns:1fr;gap:4px;padding:15px 17px}.factory-verdict strong{font-size:10px}

  .expedition-scene{height:1600px}.expedition-desktop{display:none}.expedition-mobile{display:block}.expedition-station{width:164px}.expedition-station h3{font-size:12px}.expedition-station p{font-size:7.6px}.expedition-station>small{font-size:6.7px}.station-beacon{top:-36px;width:31px;height:31px}.station-beacon>i{top:35px;height:13px}.station-01{top:89%;left:3%}.station-02{top:77%;left:51%}.station-03{top:63%;left:3%}.station-04{top:51%;left:51%}.station-05{top:39%;left:3%}.station-06{top:23%;left:51%}.station-07{top:11%;left:5%}.expedition-gate{width:150px}.expedition-gate-one{top:70%;left:29%}.expedition-gate-two{top:32%;left:29%}.expedition-current-marker{top:84%;left:19%;padding:9px 11px}.expedition-destination{top:1%;right:4%;width:190px}.destination-flag{height:62px}.destination-flag::before{height:56px}.expedition-destination>strong{font-size:13px}.expedition-legend{flex-wrap:wrap;gap:10px 20px;justify-content:flex-start;padding:14px 16px}

  .observatory-scene{height:1200px}.observatory-desktop{display:none}.observatory-mobile{display:block}.obs-demand-chain{top:2%;left:4%;gap:10px;width:92%}.obs-landmark>i,.obs-inventory .mini-tank{width:56px;height:56px;margin-bottom:6px;border-radius:18px}.obs-landmark>strong{font-size:7.5px}.obs-landmark>small{font-size:6px}.obs-source-valve{top:20%;left:50%;width:220px;transform:translateX(-50%)}.obs-reuse-loop,.obs-spot-pipe{top:29%;width:145px}.obs-reuse-loop{left:4%}.obs-spot-pipe{right:4%;left:auto}.reuse-wheel{width:78px;height:78px}.spot-pump{width:72px;height:72px;border-radius:19px}.obs-reuse-loop>strong,.obs-spot-pipe>strong{font-size:9px}.obs-reuse-loop>small,.obs-spot-pipe>small{font-size:6.5px}.orderbook-exchange{top:49%;left:50%;width:220px;height:305px}.exchange-roof::before,.exchange-roof::after{bottom:-232px;height:231px}.orderbook-screen{height:207px}.force-supply{top:76%;left:3%}.force-speculation{top:76%;right:1%}.force-structural{bottom:10%;left:3%}.force-expectation{right:1%;bottom:10%}.obs-force{width:165px}.obs-context-ring{right:3%;bottom:1.5%;left:3%;grid-template-columns:1fr;gap:3px;border-radius:14px}.observatory-equations{grid-template-columns:1fr}.observatory-equations>div{grid-template-columns:1fr;gap:4px;padding:13px 16px}.observatory-equations>div+div{border-top:1px solid var(--line);border-left:0}.observatory-caveat{padding:12px 16px}
}

@media (max-width:620px){
  .plant-landmark>span{font-size:10px}.plant-landmark>small{font-size:7.5px}.route-terminal{width:24%}.terminal-direct{left:0}.terminal-bank{left:25%}.terminal-stable{left:50%}.terminal-xrp{left:75%}
  .fx-currency-port{width:104px}.fx-world-principle b{font-size:9px}.fx-world-principle span{font-size:6.5px}
  .factory-gate{width:252px}.factory-cycle-node>b{font-size:7.5px}.factory-cycle-node>small{font-size:6px}
  .expedition-scene{height:1640px}.expedition-station{width:155px}.station-02,.station-04,.station-06{left:50%}.expedition-current-marker{left:14%}
  .obs-force{width:150px}.obs-force>i{width:34px;height:34px}.obs-context-ring strong{font-size:6.2px}
}

@media (prefers-reduced-motion:reduce){
  .residual-packet,.fx-route-packet,.factory-packet,.obs-packet{display:none}.netting-machine::before,.route-switch,.fx-reservoir-orbit,.factory-gate>div::before,.reuse-wheel,.spot-pump i,.future-signal,.price-tick,.price-tick i,.flow-silo i,.inventory-vessel>div,.fx-reservoir-tank>div,.reactor-liquid{animation:none!important}.fx-inventory-world .fx-route-group{opacity:.18}.fx-inventory-world[data-active-fx-route="jpy-mxn"] .fx-route-jpy-mxn{opacity:1}
}

/* Shared one-glance conclusion rail for every major diagram. */
.diagram-claim{
  background:linear-gradient(90deg,rgba(23,92,255,.08),rgba(255,255,255,.98) 48%)!important;
  box-shadow:inset 4px 0 0 var(--blue);
}
.diagram-claim>div:first-child{
  display:flex;
  min-width:0;
  align-items:flex-start;
  flex-direction:column;
  gap:0;
}
.diagram-claim>div:first-child>.figure-claim-label{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  color:#fff;
  background:var(--blue);
  font-size:10px;
  font-weight:850;
  line-height:1;
  letter-spacing:.06em;
}
.diagram-claim>div:first-child>.figure-claim-title{
  max-width:820px;
  margin-top:9px;
  font-size:clamp(17px,1.7vw,21px);
  line-height:1.45;
  letter-spacing:-.025em;
}
.diagram-claim .figure-claim-note{
  margin-top:6px;
  color:var(--muted);
  font-size:10px;
  line-height:1.55;
}

@media (max-width:820px){
  .diagram-claim{
    gap:11px!important;
    padding:16px 17px 17px!important;
    box-shadow:inset 3px 0 0 var(--blue);
  }
  .diagram-claim>div:first-child>.figure-claim-label{
    min-height:23px;
    font-size:9.5px;
  }
  .diagram-claim>div:first-child>.figure-claim-title{
    margin-top:8px;
    font-size:16px;
    line-height:1.48;
  }
  .diagram-claim .figure-claim-note{
    margin-top:5px;
    font-size:10.5px;
  }
}
