/* =============================================================
   Unityzm Platform Roadmap — Sovereign Trust skin
   Scoped under `.rmx` so it never leaks into other pages.
   Source of truth: design_handoff_roadmap/prototype.
   ============================================================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap');

.rmx {
  --ink-0:#ffffff; --ink-50:#fafafa; --ink-100:#f4f4f5; --ink-150:#ececee; --ink-200:#e4e4e7;
  --ink-300:#d4d4d8; --ink-400:#a1a1aa; --ink-500:#71717a; --ink-600:#52525b; --ink-700:#3f3f46;
  --ink-800:#27272a; --ink-900:#18181b; --ink-950:#09090b;
  --sov-50:#eef3fb; --sov-100:#d6e1f3; --sov-200:#adc1e6; --sov-300:#7d99d3; --sov-400:#4f72bb;
  --sov-500:#3253a0; --sov-600:#243f82; --sov-700:#1d3268; --sov-800:#172551; --sov-900:#111a3a;
  --emerald-50:#ecfdf5; --emerald-200:#a7f3d0; --emerald-500:#10b981; --emerald-600:#059669; --emerald-700:#047857;
  --amber-50:#fffbeb; --amber-200:#fde68a; --amber-500:#f59e0b; --amber-600:#d97706; --amber-700:#b45309;
  --rose-50:#fef2f2; --rose-200:#fecaca; --rose-500:#ef4444; --rose-600:#dc2626; --rose-700:#b91c1c;
  --sky-50:#f0f9ff; --sky-200:#bae6fd; --sky-500:#0ea5e9; --sky-600:#0284c7;
  --border:var(--ink-200); --border-strong:var(--ink-300); --input:var(--ink-200); --ring:var(--sov-500);
  --ledger-stripe:repeating-linear-gradient(135deg,transparent 0 6px,rgba(15,23,42,.035) 6px 7px);
  --radius-xs:2px; --radius-sm:4px; --radius:6px; --radius-md:8px; --radius-lg:10px; --radius-xl:14px;
  --shadow-xs:0 1px 0 rgba(9,9,11,.04);
  --shadow-sm:0 1px 2px rgba(9,9,11,.06),0 1px 1px rgba(9,9,11,.04);
  --shadow-md:0 4px 12px rgba(9,9,11,.08),0 2px 4px rgba(9,9,11,.04);
  --shadow-lg:0 12px 32px rgba(9,9,11,.10),0 4px 8px rgba(9,9,11,.04);
  --shadow-focus:0 0 0 3px color-mix(in oklab,var(--ring) 30%,transparent);
  --font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --font-serif:'Instrument Serif','Iowan Old Style',Georgia,serif;
  --tracking-mark:0.18em;
  /* responsive layout primitives — overridden per breakpoint at the end of this
     file so every `.wrap`/`.nav-inner` (and section wrap) scales in one place:
     gutter shrinks on phones, container widens on TV. */
  --rmx-maxw:1200px;
  --rmx-gutter:40px;

  background:var(--ink-0); color:var(--ink-900);
  font-family:var(--font-sans); font-feature-settings:'cv11','ss01';
  -webkit-font-smoothing:antialiased; min-height:100vh;
}
.rmx *, .rmx *::before, .rmx *::after { box-sizing:border-box; }
.rmx ::selection { background:color-mix(in oklab,var(--sov-600) 25%,transparent); }
.rmx a { color:inherit; }
.rmx .wrap { max-width:var(--rmx-maxw); margin:0 auto; padding:0 var(--rmx-gutter); }
.rmx .mono { font-family:var(--font-mono); font-variant-numeric:tabular-nums; }
.rmx .eyebrow { font:600 11px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); display:inline-flex; align-items:center; gap:9px; }
.rmx .eyebrow .dot { width:6px; height:6px; border-radius:999px; background:var(--emerald-500); box-shadow:0 0 0 3px color-mix(in oklab,var(--emerald-500) 18%,transparent); }
.rmx .ico { width:18px; height:18px; stroke-width:1.5; flex-shrink:0; }

/* nav */
.rmx .nav { position:sticky; top:0; z-index:60; height:60px; background:color-mix(in oklab,var(--ink-0) 86%,transparent); backdrop-filter:blur(8px); border-bottom:1px solid var(--border); }
.rmx .nav-inner { max-width:var(--rmx-maxw); margin:0 auto; padding:0 var(--rmx-gutter); height:100%; display:flex; align-items:center; gap:36px; }
.rmx .lockup { display:inline-flex; align-items:center; gap:11px; text-decoration:none; }
.rmx .lockup img { width:24px; height:24px; }
.rmx .lockup b { font:600 15px/1 var(--font-sans); letter-spacing:-.01em; color:var(--ink-950); }
.rmx .lockup span { font:500 10px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); padding-left:11px; border-left:1px solid var(--border-strong); }
.rmx .nav-links { display:flex; gap:28px; align-items:center; }
.rmx .nav-links a { font:500 13px/1 var(--font-sans); color:var(--ink-600); text-decoration:none; transition:color 120ms; }
.rmx .nav-links a:hover { color:var(--ink-950); }
.rmx .nav-links a.active { color:var(--ink-950); position:relative; }
.rmx .nav-links a.active::after { content:""; position:absolute; left:0; right:0; bottom:-23px; height:2px; background:var(--sov-600); }
.rmx .nav-right { margin-left:auto; display:flex; align-items:center; gap:8px; }

/* buttons */
.rmx .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:38px; padding:0 16px; border-radius:var(--radius); font:600 13px/1 var(--font-sans); letter-spacing:-.005em; border:1px solid transparent; cursor:pointer; text-decoration:none; white-space:nowrap; transition:background 120ms,border-color 120ms,transform 80ms,box-shadow 120ms; }
.rmx .btn:active { transform:translateY(1px); }
.rmx .btn:disabled { opacity:.55; cursor:default; }
.rmx .btn-primary { background:var(--sov-600); color:#fff; box-shadow:var(--shadow-xs); }
.rmx .btn-primary:hover { background:var(--sov-700); }
.rmx .btn-ghost { background:transparent; color:var(--ink-800); border-color:var(--border-strong); }
.rmx .btn-ghost:hover { background:var(--ink-50); }
.rmx .btn-quiet { background:transparent; color:var(--ink-700); }
.rmx .btn-quiet:hover { background:var(--ink-100); }
.rmx .btn-lg { height:46px; padding:0 22px; font-size:14px; }
.rmx .btn .ico { width:16px; height:16px; }

/* status badges */
/* display/width/height/flex are asserted here so a generic third-party `.progress`
   (or similar) global rule can never leak in and squash a badge into a thin bar. */
.rmx .st { display:inline-flex; align-items:center; align-self:flex-start; width:auto; height:auto; flex:0 0 auto; font:600 9px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; padding:4px 7px; border-radius:var(--radius-sm); white-space:nowrap; }
.rmx .st.shipped { background:var(--emerald-50); color:var(--emerald-700); border:1px solid var(--emerald-200); }
.rmx .st.inprog { background:var(--amber-50); color:var(--amber-700); border:1px solid var(--amber-200); }
.rmx .st.planned { background:var(--sky-50); color:var(--sky-600); border:1px solid var(--sky-200); }
.rmx .st.exploring { background:var(--ink-100); color:var(--ink-500); border:1px solid var(--border); }

/* hero */
.rmx .hero { position:relative; border-bottom:1px solid var(--border); overflow:hidden; }
.rmx .hero::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:var(--ledger-stripe); -webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent); mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent); opacity:.8; }
.rmx .hero-grid { position:relative; display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; padding:72px 0 76px; }
.rmx .hero h1 { font-family:var(--font-serif); font-weight:400; font-size:54px; line-height:1.06; letter-spacing:-.015em; color:var(--ink-950); margin:22px 0 20px; max-width:17ch; }
.rmx .hero h1 i { font-style:italic; color:var(--sov-700); }
.rmx .hero .lede { font:400 16px/1.6 var(--font-sans); color:var(--ink-600); max-width:50ch; margin:0 0 30px; }
.rmx .hero-cta { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.rmx .hero-note { margin-top:22px; font:500 12px/1.5 var(--font-sans); color:var(--ink-500); display:inline-flex; align-items:center; gap:8px; }
.rmx .hero-note svg { width:14px; height:14px; color:var(--emerald-600); }

/* build-ledger envelope */
.rmx .envelope { background:var(--ink-0); border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); overflow:hidden; }
.rmx .env-head { display:flex; align-items:center; gap:10px; padding:14px 18px; border-bottom:1px solid var(--border); background:var(--ink-50); }
.rmx .env-head .tl { display:flex; gap:6px; }
.rmx .env-head .tl span { width:9px; height:9px; border-radius:999px; background:var(--ink-300); }
.rmx .env-head .title { font:600 12px/1 var(--font-mono); color:var(--ink-600); }
.rmx .env-head .scope { margin-left:auto; font:600 10px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--sov-600); }
.rmx .env-body { padding:18px 22px 8px; }
.rmx .env-amt { display:flex; align-items:baseline; gap:10px; margin-bottom:4px; }
.rmx .env-amt .v { font:600 28px/1 var(--font-mono); letter-spacing:-.01em; color:var(--ink-950); }
.rmx .env-amt .cur { font:600 12px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); }
.rmx .env-sub { font:500 12px/1.4 var(--font-sans); color:var(--ink-500); margin-bottom:16px; }
.rmx .gl-rows { border-top:1px solid var(--border); }
.rmx .gl-row { display:grid; grid-template-columns:70px 1fr auto; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid var(--ink-100); }
.rmx .gl-row:last-child { border-bottom:none; }
.rmx .gl-row .hash { font:500 11px/1 var(--font-mono); color:var(--sov-600); }
.rmx .gl-row .msg { font:500 12.5px/1.35 var(--font-sans); color:var(--ink-800); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rmx .gl-row .msg small { display:block; font:400 11px/1.3 var(--font-sans); color:var(--ink-500); margin-top:2px; }
.rmx .gl-row .when { font:500 11px/1 var(--font-mono); color:var(--ink-400); white-space:nowrap; }
.rmx .gl-row .ref { font:600 9px/1 var(--font-mono); color:var(--emerald-700); background:var(--emerald-50); border:1px solid var(--emerald-200); border-radius:var(--radius-sm); padding:3px 6px; margin-left:8px; }
.rmx .env-foot { display:flex; align-items:center; gap:8px; padding:12px 22px; border-top:1px solid var(--border); background:var(--ink-50); font:500 11px/1 var(--font-mono); color:var(--ink-500); }
.rmx .env-foot .hash { color:var(--ink-700); }

/* stat band */
.rmx .statband { border-bottom:1px solid var(--border); background:var(--ink-50); }
/* grid-auto-flow:row asserted to neutralise a leaked global `.stats` rule that
   sets auto-flow:column — without it, reducing the column count on smaller
   screens spills the items into content-sized implicit columns instead of rows. */
.rmx .stats { display:grid; grid-auto-flow:row; grid-template-columns:repeat(4,1fr); }
.rmx .stat { padding:28px 4px; border-right:1px solid var(--border); }
.rmx .stat:last-child { border-right:none; }
.rmx .stat b { display:block; font:600 28px/1 var(--font-sans); letter-spacing:-.02em; color:var(--ink-950); font-variant-numeric:tabular-nums; }
.rmx .stat span { display:block; font:500 12px/1.4 var(--font-sans); color:var(--ink-500); margin-top:9px; max-width:22ch; }

/* section scaffold */
.rmx section.block { padding:88px 0; border-bottom:1px solid var(--border); }
.rmx .sec-eyebrow { margin-bottom:16px; }
.rmx .sec-title { font:600 34px/1.12 var(--font-sans); letter-spacing:-.022em; color:var(--ink-950); margin:0; max-width:22ch; }
.rmx .sec-lede { font:400 16px/1.6 var(--font-sans); color:var(--ink-600); margin:16px 0 0; max-width:56ch; }
.rmx .sec-head-split { display:grid; grid-template-columns:1fr auto; align-items:end; gap:32px; }

/* story */
.rmx .story-grid { display:grid; grid-template-columns:230px minmax(0,1fr); gap:56px; align-items:start; margin-top:52px; }
.rmx .vrail { position:sticky; top:84px; }
.rmx .vrail h4 { font:600 11px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); margin:0 0 14px; }
.rmx .vrail a, .rmx .vrail button { display:block; width:100%; text-align:left; background:none; border:none; cursor:pointer; text-decoration:none; padding:9px 14px; border-left:2px solid var(--border); transition:border-color 120ms,background 120ms; }
.rmx .vrail a:hover, .rmx .vrail button:hover { background:var(--ink-50); border-left-color:var(--border-strong); }
.rmx .vrail a.now, .rmx .vrail button.now, .rmx .vrail .sel { border-left-color:var(--sov-600); background:var(--ink-50); }
.rmx .vrail .vv { font:600 11px/1 var(--font-mono); color:var(--sov-600); }
.rmx .vrail .vt { display:block; font:600 13px/1.25 var(--font-sans); color:var(--ink-900); margin-top:4px; }
.rmx .vrail .vm { display:block; font:500 10.5px/1.4 var(--font-mono); color:var(--ink-400); margin-top:3px; }
.rmx .vrail .vgen { margin-top:14px; }
.rmx .vdetail { border:1px solid var(--border); border-left:3px solid var(--sov-600); border-radius:var(--radius-md); padding:16px 18px; margin-bottom:28px; background:var(--ink-0); }
.rmx .vdetail .vh { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.rmx .vdetail b { font:600 14px/1.2 var(--font-sans); color:var(--ink-950); }
.rmx .vdetail p { font:400 13px/1.55 var(--font-sans); color:var(--ink-600); margin:8px 0 10px; }
.rmx .vdetail .vc { font:500 11px/1.5 var(--font-mono); color:var(--ink-500); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rmx .vdetail .vc b { color:var(--sov-600); font-weight:600; }

.rmx .chapters { display:flex; flex-direction:column; }
.rmx .chapter { padding:0 0 44px; margin-bottom:44px; border-bottom:1px solid var(--border); scroll-margin-top:84px; }
.rmx .chapter:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.rmx .ch-head { display:grid; grid-template-columns:44px 1fr auto; gap:18px; align-items:baseline; }
.rmx .ch-head .n { font:600 12px/1 var(--font-mono); color:var(--sov-600); }
.rmx .ch-head .period { font:600 10px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); }
.rmx .ch-head h3 { font:600 22px/1.2 var(--font-sans); letter-spacing:-.015em; color:var(--ink-950); margin:8px 0 0; }
.rmx .ch-head h3 em { font-family:var(--font-serif); font-style:italic; font-weight:400; color:var(--ink-500); font-size:21px; margin-left:10px; letter-spacing:0; }
.rmx .ch-head .commits { font:500 11px/1 var(--font-mono); color:var(--ink-400); white-space:nowrap; }
.rmx .ch-narration { font:400 14.5px/1.65 var(--font-sans); color:var(--ink-600); margin:14px 0 22px; max-width:64ch; padding-left:62px; }
.rmx .milestones { margin-left:62px; border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; }
.rmx .ms { display:grid; grid-template-columns:108px 1fr auto; gap:16px; align-items:center; padding:13px 18px; background:var(--ink-0); border-bottom:1px solid var(--ink-100); }
.rmx .ms:last-child { border-bottom:none; }
.rmx .ms:hover { background:var(--ink-50); }
.rmx .ms .d { font:500 11px/1.3 var(--font-mono); color:var(--ink-400); }
.rmx .ms .t { font:600 13.5px/1.3 var(--font-sans); color:var(--ink-900); }
.rmx .ms .t small { display:block; font:400 12px/1.45 var(--font-sans); color:var(--ink-500); margin-top:3px; }
@media (max-width:900px){ .rmx .story-grid{ grid-template-columns:1fr; gap:32px; } .rmx .vrail{ position:static; } .rmx .ch-narration,.rmx .milestones{ margin-left:0; padding-left:0; } }

/* branch graph band */
.rmx .graphband { background:var(--ink-950); color:#fff; border-bottom:1px solid var(--ink-800); position:relative; overflow:hidden; }
.rmx .graphband::before { content:""; position:absolute; inset:0; background-image:var(--ledger-stripe); opacity:.35; mix-blend-mode:screen; }
.rmx .graphband .inner { position:relative; padding:84px 0 88px; }
.rmx .graphband .sec-eyebrow { color:var(--sov-300); }
.rmx .graphband .eyebrow { color:var(--sov-300); }
.rmx .graphband .eyebrow .dot { background:var(--sov-300); box-shadow:0 0 0 3px rgba(125,153,211,.25); }
.rmx .graphband h2 { font-family:var(--font-serif); font-weight:400; font-size:40px; line-height:1.08; letter-spacing:-.01em; color:#fff; margin:14px 0 14px; }
.rmx .graphband h2 i { font-style:italic; color:var(--sov-300); }
.rmx .graphband .gb-lede { font:400 15px/1.65 var(--font-sans); color:rgba(255,255,255,.62); margin:0 0 44px; max-width:56ch; }
.rmx .gb-head { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.rmx .gb-head .btn-ghost { color:#fff; border-color:rgba(255,255,255,.25); }
.rmx .gb-head .btn-ghost:hover { background:rgba(255,255,255,.06); }
.rmx .lanes { display:flex; flex-direction:column; gap:0; border:1px solid rgba(255,255,255,.10); border-radius:var(--radius-md); overflow:hidden; background:rgba(255,255,255,.03); }
.rmx .lane, .rmx .lane-months { display:grid; grid-template-columns:250px repeat(5,1fr); align-items:center; }
.rmx .lane-months { border-bottom:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.03); }
.rmx .lane-months span { font:600 10px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:rgba(255,255,255,.45); padding:12px 0 12px 6px; border-left:1px solid rgba(255,255,255,.07); }
.rmx .lane-months .lbl { font:600 10px/1 var(--font-sans); color:rgba(255,255,255,.45); padding-left:20px; border-left:none; }
.rmx .lane { border-bottom:1px solid rgba(255,255,255,.06); min-height:44px; }
.rmx .lane:last-child { border-bottom:none; }
.rmx .lane .name { font:500 12px/1.3 var(--font-mono); color:rgba(255,255,255,.78); padding:0 18px 0 20px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rmx .lane .cells { display:grid; grid-template-columns:repeat(5,1fr); grid-column:2 / 7; align-self:stretch; align-items:center; }
.rmx .lane .cells > i { border-left:1px solid rgba(255,255,255,.07); height:100%; grid-row:1; }
.rmx .lane .bar { grid-row:1; height:8px; border-radius:999px; position:relative; margin:0 10px; }
.rmx .lane .bar::before { content:""; position:absolute; left:-4px; top:50%; transform:translateY(-50%); width:8px; height:8px; border-radius:999px; background:inherit; box-shadow:0 0 0 3px rgba(255,255,255,.08); }
.rmx .lane.main-spine .bar { height:3px; }
.rmx .lane.main-spine .bar::before { display:none; }
.rmx .lane.main-spine .name { color:var(--emerald-500); font-weight:600; }
.rmx .graph-legend { display:flex; gap:22px; margin-top:18px; font:500 11px/1 var(--font-mono); color:rgba(255,255,255,.5); flex-wrap:wrap; }
.rmx .graph-legend i { display:inline-block; width:14px; height:4px; border-radius:999px; vertical-align:middle; margin-right:7px; }
.rmx .dag { overflow-x:auto; border:1px solid rgba(255,255,255,.10); border-radius:var(--radius-md); background:rgba(255,255,255,.02); padding:10px 0; }
.rmx .dag-row { height:22px; display:flex; align-items:center; gap:8px; font:500 11px/1 var(--font-mono); white-space:nowrap; padding-right:12px; color:rgba(255,255,255,.85); }
.rmx .dag-row .rsub { color:rgba(255,255,255,.85); overflow:hidden; text-overflow:ellipsis; flex:1; min-width:0; }
.rmx .dag-row .rmeta { color:rgba(255,255,255,.4); }
.rmx .dag-row .rhash { color:var(--sov-300); }
.rmx .dag-row .rpill { font:600 9px/1 var(--font-mono); border-radius:var(--radius-sm); padding:1px 5px; border:1px solid; }

/* worked days */
.rmx .cal-card { margin-top:44px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--ink-0); padding:26px 28px; }
.rmx .cal-scroll { overflow-x:auto; }
.rmx .cal-grid { display:flex; gap:3px; min-width:max-content; }
.rmx .cal-week { display:flex; flex-direction:column; gap:3px; }
.rmx .cal-day { width:12px; height:12px; border-radius:3px; background:var(--ink-100); }
.rmx .cal-day[data-l="1"] { background:#d1fae5; }
.rmx .cal-day[data-l="2"] { background:#6ee7b7; }
.rmx .cal-day[data-l="3"] { background:var(--emerald-500); }
.rmx .cal-day[data-l="4"] { background:var(--emerald-700); }
.rmx .cal-foot { display:flex; align-items:center; justify-content:space-between; margin-top:16px; }
.rmx .cal-legend { display:inline-flex; align-items:center; gap:4px; font:500 11px/1 var(--font-sans); color:var(--ink-500); }
.rmx .cal-legend .cal-day { width:11px; height:11px; }

/* decomposed commits */
.rmx .commitlist { display:flex; flex-direction:column; gap:12px; margin-top:44px; }
.rmx .commit { border:1px solid var(--border); border-radius:var(--radius-md); background:var(--ink-0); padding:16px 20px; }
.rmx .commit:hover { border-color:var(--border-strong); }
.rmx .c-head { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.rmx .c-head .hash { font:500 12px/1 var(--font-mono); color:var(--sov-600); }
.rmx .c-head .scopetag { font:600 9px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; padding:4px 7px; border-radius:var(--radius-sm); background:var(--ink-100); color:var(--ink-600); border:1px solid var(--border); }
.rmx .c-head .subject { font:600 13.5px/1.3 var(--font-sans); color:var(--ink-900); }
.rmx .c-head .meta { margin-left:auto; font:500 11px/1 var(--font-mono); color:var(--ink-400); white-space:nowrap; }
.rmx .c-msg { margin-top:10px; }
.rmx .c-msg summary { font:600 9px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-400); cursor:pointer; }
.rmx .c-msg pre { margin:8px 0 0; font:400 11.5px/1.5 var(--font-mono); color:var(--ink-600); white-space:pre-wrap; background:var(--ink-50); border:1px solid var(--border); border-radius:var(--radius-sm); padding:10px 12px; max-height:220px; overflow:auto; }
.rmx .c-ai { display:grid; grid-template-columns:18px 1fr; gap:12px; margin-top:13px; padding-top:13px; border-top:1px solid var(--ink-100); }
.rmx .c-ai .mark { width:18px; height:18px; border-radius:999px; background:var(--emerald-50); border:1px solid var(--emerald-200); display:inline-flex; align-items:center; justify-content:center; margin-top:1px; }
.rmx .c-ai .mark svg { width:10px; height:10px; stroke-width:2.4; color:var(--emerald-600); }
.rmx .c-ai p { font:400 13.5px/1.6 var(--font-sans); color:var(--ink-700); margin:0; max-width:72ch; }
.rmx .c-ai p.muted { color:var(--ink-400); }
.rmx .c-refs { display:flex; gap:6px; margin-top:10px; flex-wrap:wrap; align-items:center; }
.rmx .c-refs .lbl { font:600 9px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-400); margin-right:2px; }
.rmx .c-refs a, .rmx .c-refs span.ref { font:500 11px/1 var(--font-mono); color:var(--sov-700); background:var(--sov-50); border:1px solid var(--sov-200); border-radius:var(--radius-sm); padding:4px 8px; text-decoration:none; }
.rmx .c-refs a:hover { background:var(--sov-100); }

/* what's next */
.rmx .next-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; margin-top:44px; }
.rmx .next { background:var(--ink-0); padding:24px 26px; display:flex; flex-direction:column; min-height:150px; }
.rmx .next:hover { background:var(--ink-50); }
.rmx .next .nh { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; }
.rmx .next h3 { font:600 14.5px/1.3 var(--font-sans); letter-spacing:-.005em; color:var(--ink-950); margin:0; }
.rmx .next p { font:400 12.5px/1.55 var(--font-sans); color:var(--ink-600); margin:0; flex:1; }
.rmx .next .eta { margin-top:16px; font:500 11px/1 var(--font-mono); color:var(--ink-400); }
@media (max-width:1040px){ .rmx .next-grid{ grid-template-columns:repeat(2,1fr); } }

/* guide dock */
.rmx .guide-fab { position:fixed; right:28px; bottom:28px; z-index:70; display:inline-flex; align-items:center; gap:9px; height:44px; padding:0 20px; border-radius:999px; background:var(--ink-950); color:#fff; border:1px solid var(--ink-800); font:600 13px/1 var(--font-sans); cursor:pointer; box-shadow:var(--shadow-lg); transition:transform 120ms,background 120ms; }
.rmx .guide-fab:hover { transform:translateY(-1px); background:var(--ink-900); }
.rmx .guide-fab .gdot { width:7px; height:7px; border-radius:999px; background:var(--emerald-500); box-shadow:0 0 0 3px rgba(16,185,129,.25); }
.rmx .guide { position:fixed; right:28px; bottom:84px; z-index:70; width:min(400px,calc(100vw - 56px)); max-height:70vh; overflow-y:auto; background:var(--ink-0); border:1px solid var(--border); border-radius:var(--radius-xl); box-shadow:var(--shadow-lg); }
.rmx .g-head { display:flex; align-items:center; gap:10px; padding:16px 20px; border-bottom:1px solid var(--border); background:var(--ink-50); border-radius:var(--radius-xl) var(--radius-xl) 0 0; }
.rmx .g-head b { font:600 13px/1 var(--font-sans); color:var(--ink-950); }
.rmx .g-head .backend { margin-left:auto; font:600 9px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--sov-700); background:var(--sov-50); border:1px solid var(--sov-200); padding:4px 7px; border-radius:var(--radius-sm); }
.rmx .g-body { padding:18px 20px 20px; }
.rmx .g-tour { background:var(--ink-50); border:1px solid var(--border); border-radius:var(--radius-md); padding:16px 18px; }
.rmx .g-tour .step { font:600 10px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); }
.rmx .g-tour h4 { font:600 15px/1.3 var(--font-sans); color:var(--ink-950); margin:8px 0 8px; }
.rmx .g-tour p { font:400 13px/1.6 var(--font-sans); color:var(--ink-600); margin:0; }
.rmx .g-tour .g-nav { display:flex; gap:8px; margin-top:14px; }
.rmx .g-tour .g-nav .btn { height:32px; padding:0 12px; font-size:12px; }
.rmx .g-ask { display:flex; gap:8px; margin-top:14px; }
.rmx .g-ask input { flex:1; height:38px; border:1px solid var(--input); border-radius:var(--radius); padding:0 12px; font:400 13px/1 var(--font-sans); color:var(--ink-900); background:var(--ink-0); }
.rmx .g-ask input:focus { outline:none; border-color:var(--ring); box-shadow:var(--shadow-focus); }
.rmx .g-ask input::placeholder { color:var(--ink-400); }
.rmx .g-answer { margin-top:12px; background:var(--ink-50); border:1px solid var(--border); border-radius:var(--radius-md); padding:12px 14px; font:400 13px/1.55 var(--font-sans); color:var(--ink-700); white-space:pre-wrap; }
.rmx .g-answer .saved { display:block; margin-top:8px; font:500 10px/1 var(--font-mono); color:var(--ink-400); }

/* footer */
.rmx footer { background:var(--ink-50); border-top:1px solid var(--border); padding:56px 0 40px; }
.rmx .foot-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; }
.rmx .foot-brand .lockup { margin-bottom:16px; }
.rmx .foot-brand p { font:400 13px/1.6 var(--font-sans); color:var(--ink-500); margin:0; max-width:38ch; }
.rmx .foot-col h5 { font:600 11px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); margin:4px 0 16px; }
.rmx .foot-col a { display:block; font:500 13px/1 var(--font-sans); color:var(--ink-700); text-decoration:none; margin-bottom:12px; transition:color 120ms; }
.rmx .foot-col a:hover { color:var(--ink-950); }
.rmx .foot-bar { display:flex; align-items:center; justify-content:space-between; margin-top:48px; padding-top:22px; border-top:1px solid var(--border); }
.rmx .foot-bar span { font:400 12px/1.5 var(--font-sans); color:var(--ink-500); }
.rmx .foot-bar .mono { font:500 11px/1 var(--font-mono); color:var(--ink-400); }

/* dark mode (tokens flipped on the scope) */
html[data-theme="dark"] .rmx {
  --ink-0:#09090b; --ink-50:#111113; --ink-100:#1b1b1e; --ink-150:#202023; --ink-200:#27272a;
  --ink-300:#3f3f46; --ink-400:#71717a; --ink-500:#a1a1aa; --ink-600:#d4d4d8; --ink-700:#e4e4e7;
  --ink-800:#f4f4f5; --ink-900:#fafafa; --ink-950:#ffffff;
  --border:#232327; --border-strong:#3f3f46;
  --emerald-50:rgba(16,185,129,.12); --emerald-200:rgba(16,185,129,.35); --emerald-600:#34d399; --emerald-700:#6ee7b7;
  --amber-50:rgba(245,158,11,.12); --amber-200:rgba(245,158,11,.35); --amber-700:#fbbf24;
  --rose-50:rgba(239,68,68,.12); --rose-200:rgba(239,68,68,.35);
  --sky-50:rgba(14,165,233,.12); --sky-200:rgba(14,165,233,.35); --sky-600:#38bdf8;
  --sov-50:rgba(79,114,187,.14); --sov-100:rgba(79,114,187,.22); --sov-200:rgba(79,114,187,.45); --sov-700:#7d99d3;
  --ledger-stripe:repeating-linear-gradient(135deg,transparent 0 6px,rgba(255,255,255,.045) 6px 7px);
  --shadow-xs:0 1px 0 rgba(0,0,0,.4); --shadow-sm:0 1px 2px rgba(0,0,0,.5);
  --shadow-md:0 4px 12px rgba(0,0,0,.5),0 2px 4px rgba(0,0,0,.4);
  --shadow-lg:0 12px 32px rgba(0,0,0,.6),0 4px 8px rgba(0,0,0,.4);
}
html[data-theme="dark"] .rmx .btn-primary { background:var(--sov-500); }
html[data-theme="dark"] .rmx .btn-primary:hover { background:var(--sov-400); }
html[data-theme="dark"] .rmx .gl-row .hash,
html[data-theme="dark"] .rmx .vrail .vv,
html[data-theme="dark"] .rmx .ch-head .n,
html[data-theme="dark"] .rmx .c-head .hash,
html[data-theme="dark"] .rmx .env-head .scope { color:var(--sov-300); }
html[data-theme="dark"] .rmx .nav-links a.active::after { background:var(--sov-300); }
html[data-theme="dark"] .rmx .hero h1 i { color:var(--sov-300); }
html[data-theme="dark"] .rmx .vrail a.now, html[data-theme="dark"] .rmx .vrail .sel { border-left-color:var(--sov-300); }
html[data-theme="dark"] .rmx .graphband { background:#050506; border-bottom-color:#232327; }
html[data-theme="dark"] .rmx .guide-fab { background:var(--ink-100); border-color:var(--ink-200); }
html[data-theme="dark"] .rmx .cal-day[data-l="1"] { background:#0e4429; }
html[data-theme="dark"] .rmx .cal-day[data-l="2"] { background:#006d32; }
html[data-theme="dark"] .rmx .cal-day[data-l="3"] { background:#26a641; }
html[data-theme="dark"] .rmx .cal-day[data-l="4"] { background:#39d353; }

@media (max-width:1040px){
  .rmx .hero-grid{ grid-template-columns:1fr; gap:40px; }
  .rmx .stats{ grid-template-columns:repeat(2,1fr); }
  .rmx .sec-head-split{ grid-template-columns:1fr; align-items:start; }
  .rmx .foot-grid{ grid-template-columns:1fr 1fr; }
  .rmx .lane,.rmx .lane-months{ grid-template-columns:170px repeat(5,1fr); }
}

/* =============================================================
   Discussion dialog (net-new in roadmap v2)
   ============================================================= */
.rmx .rdx-overlay { position:fixed; inset:0; z-index:80; background:rgba(9,9,11,.55); display:flex; align-items:center; justify-content:center; padding:32px; }
.rmx .rdx { width:min(1020px,100%); height:min(680px,calc(100vh - 64px)); background:var(--ink-0); border:1px solid var(--border); border-radius:var(--radius-xl); box-shadow:var(--shadow-lg); display:grid; grid-template-rows:auto 1fr; overflow:hidden; }
.rmx .rdx-head { display:flex; align-items:center; gap:14px; padding:16px 22px; border-bottom:1px solid var(--border); background:var(--ink-50); }
.rmx .rdx-head b { font:600 15px/1 var(--font-sans); letter-spacing:-.01em; color:var(--ink-950); }
.rmx .rdx-head .rdx-sub { font:400 12px/1 var(--font-sans); color:var(--ink-500); }
.rmx .rdx-agentschips { margin-left:auto; display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.rmx .rdx-close { width:32px; height:32px; border-radius:var(--radius); border:1px solid var(--border-strong); background:transparent; color:var(--ink-600); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; margin-left:8px; }
.rmx .rdx-close:hover { background:var(--ink-100); }
.rmx .rdx-close svg { width:14px; height:14px; stroke-width:2; }
.rmx .mn { font:600 11px/1 var(--font-mono); border-radius:var(--radius-sm); padding:2px 6px; white-space:nowrap; }
.rmx .mn-mutale { color:var(--sov-700); background:var(--sov-50); border:1px solid var(--sov-200); }
.rmx .mn-bwalya { color:var(--emerald-700); background:var(--emerald-50); border:1px solid var(--emerald-200); }
.rmx .mn-lombe { color:var(--amber-700); background:var(--amber-50); border:1px solid var(--amber-200); }
.rmx .mn-chileshe { color:var(--rose-700); background:var(--rose-50); border:1px solid var(--rose-200); }
.rmx .rdx-body { display:grid; grid-template-columns:286px 1fr; min-height:0; }
.rmx .rdx-side { border-right:1px solid var(--border); background:var(--ink-50); overflow-y:auto; padding:18px; display:flex; flex-direction:column; gap:18px; }
.rmx .rdx-side h5 { font:600 10px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); margin:0 0 -8px; }
.rmx .rdx-join { border:1px solid var(--border); border-radius:var(--radius-md); background:var(--ink-0); padding:14px 15px; }
.rmx .rdx-join label { display:block; font:600 12px/1.3 var(--font-sans); color:var(--ink-900); margin-bottom:9px; }
.rmx .rdx-join .row { display:flex; gap:6px; }
.rmx .rdx-join input { flex:1; min-width:0; height:34px; border:1px solid var(--input); border-radius:var(--radius); padding:0 10px; font:500 12.5px/1 var(--font-mono); color:var(--ink-900); background:var(--ink-0); }
.rmx .rdx-join input:focus { outline:none; border-color:var(--ring); box-shadow:var(--shadow-focus); }
.rmx .rdx-join .btn { height:34px; padding:0 12px; font-size:12px; }
.rmx .rdx-join small { display:block; font:400 10.5px/1.5 var(--font-sans); color:var(--ink-500); margin-top:8px; }
.rmx .rdx-join .err { font:500 11px/1.4 var(--font-sans); color:var(--rose-600); margin-top:7px; }
.rmx .rdx-me { display:flex; align-items:center; gap:10px; border:1px solid var(--emerald-200); background:var(--emerald-50); border-radius:var(--radius-md); padding:11px 13px; }
.rmx .rdx-me .av { width:28px; height:28px; border-radius:999px; background:var(--emerald-600); color:#fff; font:600 11px/1 var(--font-sans); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.rmx .rdx-me .who b { display:block; font:600 12px/1.2 var(--font-sans); color:var(--ink-950); }
.rmx .rdx-me .who span { font:500 10.5px/1.4 var(--font-mono); color:var(--ink-500); }
.rmx .rdx-me .leave { margin-left:auto; font:500 11px/1 var(--font-sans); color:var(--ink-500); background:none; border:none; cursor:pointer; text-decoration:underline; }
.rmx .rdx-threads { display:flex; flex-direction:column; gap:6px; }
.rmx .rdx-thread { text-align:left; background:var(--ink-0); border:1px solid var(--border); border-radius:var(--radius-md); padding:11px 13px; cursor:pointer; width:100%; }
.rmx .rdx-thread:hover { border-color:var(--border-strong); }
.rmx .rdx-thread.active { border-color:var(--sov-200); box-shadow:0 0 0 1px var(--sov-200); }
.rmx .rdx-thread .tt { display:flex; align-items:center; gap:8px; }
.rmx .rdx-thread .tt b { font:600 12.5px/1.3 var(--font-sans); color:var(--ink-950); flex:1; min-width:0; }
.rmx .rdx-thread .tag { font:600 9px/1 var(--font-mono); color:var(--sov-700); background:var(--sov-50); border:1px solid var(--sov-200); border-radius:var(--radius-sm); padding:3px 5px; flex-shrink:0; }
.rmx .rdx-thread .tm { display:block; font:400 11px/1.45 var(--font-sans); color:var(--ink-500); margin-top:5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rmx .rdx-thread .tc { display:block; font:500 10px/1 var(--font-mono); color:var(--ink-400); margin-top:7px; }
.rmx .rdx-agents { display:flex; flex-direction:column; gap:6px; }
.rmx .rdx-agent { display:flex; align-items:center; gap:10px; border:1px solid var(--border); background:var(--ink-0); border-radius:var(--radius-md); padding:9px 12px; }
.rmx .rdx-agent .av { width:26px; height:26px; border-radius:var(--radius-sm); font:600 11px/1 var(--font-mono); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.rmx .rdx-agent.mutale .av { background:var(--sov-50); color:var(--sov-700); border:1px solid var(--sov-200); }
.rmx .rdx-agent.bwalya .av { background:var(--emerald-50); color:var(--emerald-700); border:1px solid var(--emerald-200); }
.rmx .rdx-agent.lombe .av { background:var(--amber-50); color:var(--amber-700); border:1px solid var(--amber-200); }
.rmx .rdx-agent.chileshe .av { background:var(--rose-50); color:var(--rose-700); border:1px solid var(--rose-200); }
.rmx .rdx-agent .who b { display:block; font:600 12px/1.2 var(--font-mono); color:var(--ink-950); }
.rmx .rdx-agent .who span { font:400 10.5px/1.4 var(--font-sans); color:var(--ink-500); }
.rmx .rdx-agent .live { margin-left:auto; width:6px; height:6px; border-radius:999px; background:var(--emerald-500); box-shadow:0 0 0 2px color-mix(in oklab,var(--emerald-500) 20%,transparent); }
.rmx .rdx-main { display:grid; grid-template-rows:auto 1fr auto; min-height:0; }
.rmx .rdx-thread-head { display:flex; align-items:center; gap:10px; padding:14px 22px; border-bottom:1px solid var(--border); }
.rmx .rdx-thread-head b { font:600 14px/1.25 var(--font-sans); color:var(--ink-950); }
.rmx .rdx-thread-head .tag { font:600 9px/1 var(--font-mono); color:var(--sov-700); background:var(--sov-50); border:1px solid var(--sov-200); border-radius:var(--radius-sm); padding:3px 5px; }
.rmx .rdx-thread-head .meta { margin-left:auto; font:500 11px/1 var(--font-mono); color:var(--ink-400); }
.rmx .rdx-msgs { overflow-y:auto; padding:20px 22px; display:flex; flex-direction:column; gap:16px; }
.rmx .rdx-msg { display:grid; grid-template-columns:32px 1fr; gap:12px; }
.rmx .rdx-msg .av { width:32px; height:32px; border-radius:999px; background:var(--ink-150); color:var(--ink-600); border:1px solid var(--border); font:600 11px/1 var(--font-sans); display:inline-flex; align-items:center; justify-content:center; }
.rmx .rdx-msg.me .av { background:var(--emerald-600); color:#fff; border-color:transparent; }
.rmx .rdx-msg .ln { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.rmx .rdx-msg .ln b { font:600 12.5px/1 var(--font-sans); color:var(--ink-950); }
.rmx .rdx-msg .ln .ph { font:500 10.5px/1 var(--font-mono); color:var(--ink-400); }
.rmx .rdx-msg .ln .t { font:500 10.5px/1 var(--font-mono); color:var(--ink-400); margin-left:auto; }
.rmx .rdx-msg p { font:400 13px/1.6 var(--font-sans); color:var(--ink-700); margin:5px 0 0; max-width:64ch; overflow-wrap:break-word; }
.rmx .rdx-msg.agent .av { border-radius:var(--radius-sm); font-family:var(--font-mono); }
.rmx .rdx-msg.agent.mutale .av { background:var(--sov-50); color:var(--sov-700); border:1px solid var(--sov-200); }
.rmx .rdx-msg.agent.bwalya .av { background:var(--emerald-50); color:var(--emerald-700); border:1px solid var(--emerald-200); }
.rmx .rdx-msg.agent.lombe .av { background:var(--amber-50); color:var(--amber-700); border:1px solid var(--amber-200); }
.rmx .rdx-msg.agent.chileshe .av { background:var(--rose-50); color:var(--rose-700); border:1px solid var(--rose-200); }
.rmx .rdx-msg.agent .ln b { font-family:var(--font-mono); }
.rmx .rdx-msg.agent .scope { font:600 9px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; padding:3px 6px; border-radius:var(--radius-sm); }
.rmx .rdx-msg.agent.mutale .scope { background:var(--sov-50); color:var(--sov-700); border:1px solid var(--sov-200); }
.rmx .rdx-msg.agent.bwalya .scope { background:var(--emerald-50); color:var(--emerald-700); border:1px solid var(--emerald-200); }
.rmx .rdx-msg.agent.lombe .scope { background:var(--amber-50); color:var(--amber-700); border:1px solid var(--amber-200); }
.rmx .rdx-msg.agent.chileshe .scope { background:var(--rose-50); color:var(--rose-700); border:1px solid var(--rose-200); }
.rmx .rdx-msg.agent .bubble { margin-top:5px; border:1px solid var(--border); border-left-width:2px; border-radius:var(--radius-md); padding:10px 14px; background:var(--ink-50); }
.rmx .rdx-msg.agent.mutale .bubble { border-left-color:var(--sov-400); }
.rmx .rdx-msg.agent.bwalya .bubble { border-left-color:var(--emerald-500); }
.rmx .rdx-msg.agent.lombe .bubble { border-left-color:var(--amber-500); }
.rmx .rdx-msg.agent.chileshe .bubble { border-left-color:var(--rose-500); }
.rmx .rdx-msg.agent .bubble p { margin:0; color:var(--ink-700); }
.rmx .rdx-msg .typing { display:inline-flex; gap:4px; padding:12px 14px; }
.rmx .rdx-msg .typing i { width:5px; height:5px; border-radius:999px; background:var(--ink-400); animation:rdx-blink 1s infinite; }
.rmx .rdx-msg .typing i:nth-child(2) { animation-delay:.15s; }
.rmx .rdx-msg .typing i:nth-child(3) { animation-delay:.3s; }
@keyframes rdx-blink { 0%,60%,100% { opacity:.3; } 30% { opacity:1; } }
.rmx .rdx-composer { border-top:1px solid var(--border); padding:14px 22px 16px; position:relative; }
.rmx .rdx-composer .row { display:flex; gap:8px; }
.rmx .rdx-composer input { flex:1; min-width:0; height:40px; border:1px solid var(--input); border-radius:var(--radius); padding:0 13px; font:400 13px/1 var(--font-sans); color:var(--ink-900); background:var(--ink-0); }
.rmx .rdx-composer input:focus { outline:none; border-color:var(--ring); box-shadow:var(--shadow-focus); }
.rmx .rdx-composer input:disabled { background:var(--ink-50); cursor:not-allowed; }
.rmx .rdx-composer .hint { display:flex; gap:6px; align-items:center; font:400 11px/1 var(--font-sans); color:var(--ink-500); margin-top:9px; flex-wrap:wrap; }
.rmx .rdx-composer .locked { font:500 11px/1.4 var(--font-sans); color:var(--ink-500); margin-top:9px; }
@media (max-width:820px){
  .rmx .rdx-overlay { padding:12px; }
  .rmx .rdx-body { grid-template-columns:1fr; }
  .rmx .rdx-side { display:none; }
}

/* ============================================================================
   Marketing pages — platform / solutions / developers / pricing / about / contact
   Shared sovereign skin; all colours via tokens so dark mode flips automatically.
   ============================================================================ */
.rmx .hero-solo { position:relative; border-bottom:1px solid var(--border); overflow:hidden; }
.rmx .hero-solo::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:var(--ledger-stripe); -webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 80%,transparent); mask-image:linear-gradient(180deg,transparent,#000 30%,#000 80%,transparent); opacity:.7; }
.rmx .hero-solo .wrap { position:relative; padding:78px var(--rmx-gutter) 60px; }
.rmx .hero-solo h1 { font-family:var(--font-serif); font-weight:400; font-size:54px; line-height:1.05; letter-spacing:-.015em; color:var(--ink-950); margin:20px 0 18px; max-width:20ch; }
.rmx .hero-solo h1 i { font-style:italic; color:var(--sov-700); }
.rmx .hero-solo .lede { font:400 17px/1.62 var(--font-sans); color:var(--ink-600); max-width:62ch; margin:0 0 28px; }

.rmx .capgroup { padding:60px 0; border-bottom:1px solid var(--border); }
.rmx .capgroup:last-of-type { border-bottom:none; }
.rmx .cap-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; margin-top:32px; }
.rmx .cap { background:var(--ink-0); padding:24px 26px; display:flex; flex-direction:column; min-height:172px; transition:background 120ms; }
.rmx .cap:hover { background:var(--ink-50); }
.rmx .cap h3 { font:600 15px/1.3 var(--font-sans); letter-spacing:-.005em; color:var(--ink-950); margin:0 0 9px; }
.rmx .cap p { font:400 12.5px/1.58 var(--font-sans); color:var(--ink-600); margin:0; flex:1; }
.rmx .cap .proof { margin-top:16px; font:500 10.5px/1 var(--font-mono); color:var(--sov-600); display:inline-flex; align-items:center; gap:6px; word-break:break-all; }
.rmx .cap .proof::before { content:"→"; color:var(--ink-400); }
@media (max-width:1040px){ .rmx .cap-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:680px){ .rmx .cap-grid{ grid-template-columns:1fr; } }

.rmx .tiers { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:40px; }
.rmx .tier { background:var(--ink-0); border:1px solid var(--border); border-radius:var(--radius-md); padding:28px 26px; display:flex; flex-direction:column; }
.rmx .tier.featured { border-color:var(--sov-400); box-shadow:var(--shadow-md); }
.rmx .tier .tname { font:600 11px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--sov-600); }
.rmx .tier .price { font:600 34px/1 var(--font-sans); letter-spacing:-.02em; color:var(--ink-950); margin:16px 0 4px; font-variant-numeric:tabular-nums; }
.rmx .tier .price small { font:500 13px/1 var(--font-sans); color:var(--ink-500); letter-spacing:0; }
.rmx .tier .tsub { font:400 13px/1.5 var(--font-sans); color:var(--ink-600); margin:0 0 18px; min-height:42px; }
.rmx .tier ul { list-style:none; margin:0 0 22px; padding:0; flex:1; }
.rmx .tier li { font:400 13px/1.5 var(--font-sans); color:var(--ink-700); padding:8px 0 8px 24px; position:relative; border-top:1px solid var(--ink-100); }
.rmx .tier li:first-child { border-top:none; }
.rmx .tier li::before { content:"✓"; position:absolute; left:0; color:var(--emerald-600); font-weight:700; }
@media (max-width:900px){ .rmx .tiers{ grid-template-columns:1fr; } }

.rmx .rows { display:flex; flex-direction:column; border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; margin-top:32px; }
.rmx .row2 { display:grid; grid-template-columns:248px 1fr; gap:24px; padding:20px 24px; background:var(--ink-0); border-bottom:1px solid var(--ink-100); }
.rmx .row2:last-child { border-bottom:none; }
.rmx .row2:hover { background:var(--ink-50); }
.rmx .row2 .rk { font:600 13.5px/1.35 var(--font-sans); color:var(--ink-950); }
.rmx .row2 .rk small { display:block; font:500 10.5px/1.3 var(--font-mono); color:var(--sov-600); margin-top:6px; }
.rmx .row2 .rv { font:400 13.5px/1.6 var(--font-sans); color:var(--ink-600); }
.rmx .row2 .rv code { font-family:var(--font-mono); font-size:12px; background:var(--ink-100); border:1px solid var(--border); border-radius:4px; padding:2px 6px; color:var(--ink-800); }
@media (max-width:680px){ .rmx .row2{ grid-template-columns:1fr; gap:8px; } }

.rmx .codeblock { background:#0b0b0d; border:1px solid #26262b; border-radius:var(--radius-md); padding:20px 22px; overflow-x:auto; margin-top:18px; }
.rmx .codeblock pre { margin:0; font:400 12.5px/1.7 var(--font-mono); color:#e4e4e7; white-space:pre; }
.rmx .codeblock .cm { color:#7d99d3; }
.rmx .codeblock .ck { color:#6ee7b7; }

.rmx .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:40px; align-items:start; }
.rmx .field { margin-bottom:16px; }
.rmx .field label { display:block; font:600 10px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); margin-bottom:8px; }
.rmx .field input, .rmx .field textarea, .rmx .field select { width:100%; border:1px solid var(--input); border-radius:var(--radius); padding:11px 13px; font:400 14px/1.4 var(--font-sans); color:var(--ink-900); background:var(--ink-0); }
.rmx .field input:focus, .rmx .field textarea:focus, .rmx .field select:focus { outline:none; border-color:var(--ring); box-shadow:var(--shadow-focus); }
.rmx .field textarea { min-height:120px; resize:vertical; }
.rmx .contact-aside { background:var(--ink-50); border:1px solid var(--border); border-radius:var(--radius-md); padding:26px 28px; }
.rmx .contact-aside h4 { font:600 11px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); margin:0 0 14px; }
.rmx .contact-aside p { font:400 13.5px/1.6 var(--font-sans); color:var(--ink-700); margin:0 0 16px; }
.rmx .contact-aside .cl { display:flex; align-items:center; gap:10px; font:500 13px/1.4 var(--font-sans); color:var(--ink-800); margin-bottom:12px; }
.rmx .contact-aside .cl svg { width:15px; height:15px; color:var(--sov-600); flex-shrink:0; }
@media (max-width:760px){ .rmx .contact-grid{ grid-template-columns:1fr; gap:28px; } }

.rmx .ctaband { padding:72px 0; text-align:center; border-bottom:1px solid var(--border); }
.rmx .ctaband h2 { font-family:var(--font-serif); font-weight:400; font-size:38px; line-height:1.1; letter-spacing:-.01em; color:var(--ink-950); margin:0 0 14px; }
.rmx .ctaband p { font:400 16px/1.6 var(--font-sans); color:var(--ink-600); max-width:54ch; margin:0 auto 26px; }
.rmx .ctaband .hero-cta { justify-content:center; }

/* ============================================================================
   Editions library — books on a shelf (/editions) + the per-edition novel
   ============================================================================ */
.rmx .lib { padding:46px 0 70px; }
.rmx .shelf-label { font:600 11px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); margin:0 0 26px; }
.rmx .shelf-label.up { margin-top:48px; }
.rmx .shelf { display:flex; gap:30px; align-items:flex-end; flex-wrap:wrap; padding:0 6px; }
.rmx .shelf-base { height:13px; margin:2px 0 0; border-radius:0 0 5px 5px; background:linear-gradient(var(--ink-200),var(--ink-300)); box-shadow:0 14px 22px -12px rgba(0,0,0,.45); }
.rmx .book-slot { position:relative; text-decoration:none; flex:0 0 auto; }

/* the book */
.rmx .book { position:relative; width:150px; height:222px; border-radius:3px 7px 7px 3px; background:linear-gradient(140deg,var(--bk-a),var(--bk-b)); color:#fff; overflow:hidden; box-shadow:0 2px 0 rgba(0,0,0,.25),0 16px 26px -14px rgba(0,0,0,.55); transition:transform .2s ease, box-shadow .2s ease; }
.rmx .book::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 42%); pointer-events:none; }
.rmx .book::before { content:""; position:absolute; top:4px; bottom:4px; right:0; width:5px; background:repeating-linear-gradient(var(--bk-spine) 0 1px, rgba(255,255,255,.35) 1px 3px); opacity:.5; }
.rmx .book-slot:hover .book { transform:translateY(-10px) rotate(-1.2deg); box-shadow:0 2px 0 rgba(0,0,0,.25),0 26px 36px -16px rgba(0,0,0,.6); }
.rmx .bc-spine { position:absolute; left:0; top:0; bottom:0; width:13px; background:var(--bk-spine); box-shadow:inset -2px 0 5px rgba(0,0,0,.35); }
.rmx .bc-face { position:relative; height:100%; padding:18px 15px 15px 26px; display:flex; flex-direction:column; }
.rmx .bc-icon { font-size:24px; line-height:1; }
.rmx .bc-name { font-family:var(--font-serif); font-weight:400; font-size:22px; line-height:1.05; letter-spacing:-.01em; margin-top:auto; color:#fff; }
.rmx .bc-tag { font:400 10.5px/1.4 var(--font-sans); color:rgba(255,255,255,.82); margin-top:9px; }
.rmx .bc-foot { font:600 8.5px/1 var(--font-sans); letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.62); margin-top:11px; }
.rmx .book-active { position:absolute; top:-10px; right:-6px; z-index:4; font:600 9px/1 var(--font-mono); color:var(--emerald-700); background:var(--emerald-50); border:1px solid var(--emerald-200); border-radius:999px; padding:4px 8px; }

/* upcoming / empty */
.rmx .book-upcoming { background:linear-gradient(140deg,#3f3f46,#52525b); filter:saturate(.4); }
.rmx .bc-soon { margin-top:11px; font:600 8.5px/1 var(--font-sans); letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.3); border-radius:999px; padding:4px 8px; align-self:flex-start; }
.rmx .book-empty { background:none; border:2px dashed var(--border-strong); box-shadow:none; }
.rmx .book-empty::after, .rmx .book-empty::before { display:none; }

/* hover detail above the book */
.rmx .book-pop { position:absolute; left:50%; bottom:calc(100% + 16px); transform:translateX(-50%) translateY(6px); width:240px; background:var(--ink-0); border:1px solid var(--border); border-radius:var(--radius-md); box-shadow:var(--shadow-lg); padding:16px 17px; opacity:0; visibility:hidden; transition:opacity .16s ease, transform .16s ease; z-index:6; }
.rmx .book-pop::after { content:""; position:absolute; left:50%; top:100%; transform:translateX(-50%); border:7px solid transparent; border-top-color:var(--ink-0); filter:drop-shadow(0 1px 0 var(--border)); }
.rmx .book-slot:hover .book-pop { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.rmx .book-pop b { font:600 14px/1.2 var(--font-sans); color:var(--ink-950); }
.rmx .book-pop p { font:400 12px/1.5 var(--font-sans); color:var(--ink-600); margin:6px 0 10px; }
.rmx .book-pop ul { list-style:none; margin:0 0 12px; padding:0; }
.rmx .book-pop li { font:500 11.5px/1.5 var(--font-sans); color:var(--ink-700); padding:5px 0 5px 16px; position:relative; border-top:1px solid var(--ink-100); }
.rmx .book-pop li::before { content:""; position:absolute; left:2px; top:11px; width:5px; height:5px; border-radius:999px; background:var(--sov-400); }
.rmx .book-pop .bp-open { font:600 11.5px/1 var(--font-sans); color:var(--sov-600); }

/* the novel */
.rmx .novel-hero { position:relative; overflow:hidden; background:linear-gradient(155deg,var(--bk-a),var(--bk-b)); color:#fff; }
.rmx .novel-hero::before { content:""; position:absolute; inset:0; background-image:var(--ledger-stripe); opacity:.4; mix-blend-mode:screen; }
.rmx .nh-grid { position:relative; display:grid; grid-template-columns:1.25fr .75fr; gap:40px; align-items:center; padding:54px 0 60px; }
.rmx .novel-back { display:inline-block; font:600 12px/1 var(--font-sans); color:rgba(255,255,255,.85); text-decoration:none; margin-bottom:20px; }
.rmx .nh-eyebrow { font:600 11px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:rgba(255,255,255,.7); }
.rmx .nh-copy h1 { font-family:var(--font-serif); font-weight:400; font-size:56px; line-height:1.03; letter-spacing:-.015em; color:#fff; margin:14px 0 12px; }
.rmx .nh-tag { font:400 17px/1.5 var(--font-sans); color:rgba(255,255,255,.85); margin:0 0 22px; max-width:42ch; }
.rmx .nh-meta { display:flex; flex-wrap:wrap; gap:22px; margin-bottom:18px; }
.rmx .nh-meta span { font:400 12.5px/1 var(--font-sans); color:rgba(255,255,255,.7); }
.rmx .nh-meta b { font-weight:600; color:#fff; }
.rmx .nh-price { font:500 13px/1 var(--font-mono); color:rgba(255,255,255,.78); margin:0 0 26px; }
.rmx .nh-cta .btn-primary { background:#fff; color:#09090b; }
.rmx .nh-cta .btn-primary:hover { background:rgba(255,255,255,.88); }
/* out-specify the dark-mode .btn-primary override (this button sits on a coloured hero) */
html[data-theme="dark"] .rmx .nh-cta .btn-primary { background:#fff; color:#09090b; }
.rmx .nh-cta .btn-ghost { color:#fff; border-color:rgba(255,255,255,.4); }
.rmx .nh-book { display:flex; justify-content:center; }
.rmx .book-lg { width:228px; height:330px; }
.rmx .book-lg .bc-name { font-size:30px; }
.rmx .book-lg .bc-tag { font-size:12px; }

.rmx .novel-intro { border-bottom:1px solid var(--border); background:var(--ink-50); }
.rmx .novel-intro .wrap { padding:34px var(--rmx-gutter); }
.rmx .novel-intro p { font:400 18px/1.6 var(--font-serif); font-style:italic; color:var(--ink-700); margin:0; max-width:64ch; }
.rmx .novel-compliance { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:18px; }
.rmx .novel-compliance .cl-lbl { font:600 10px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); }
.rmx .novel-compliance .cl-tag { font:600 11px/1 var(--font-sans); color:var(--sov-700); background:var(--sov-50); border:1px solid var(--sov-200); border-radius:999px; padding:5px 11px; }

.rmx .novel .chapters { padding:60px 0; }
.rmx .novel .chapter { display:grid; grid-template-columns:210px 1fr; gap:46px; align-items:center; padding:30px 0; border-bottom:1px solid var(--ink-100); }
.rmx .novel .chapter:last-child { border-bottom:none; }
.rmx .novel .chapter.flip { grid-template-columns:1fr 210px; }
.rmx .novel .chapter.flip .ch-art { order:2; }
.rmx .ch-art { width:210px; height:210px; border-radius:50%; background:linear-gradient(150deg,var(--bk-a),var(--bk-b)); display:flex; align-items:center; justify-content:center; color:#fff; box-shadow:0 16px 30px -14px rgba(0,0,0,.5); position:relative; overflow:hidden; }
.rmx .ch-art::after { content:""; position:absolute; inset:0; background:linear-gradient(140deg,rgba(255,255,255,.18),transparent 50%); }
.rmx .ch-art svg { width:98px; height:98px; position:relative; }
.rmx .ch-no { font:600 11px/1 var(--font-mono); color:var(--ink-400); }
.rmx .ch-copy h3 { font:600 24px/1.2 var(--font-sans); letter-spacing:-.015em; color:var(--ink-950); margin:10px 0 12px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.rmx .ch-mode { font:600 9px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; padding:5px 8px; border-radius:var(--radius-sm); }
.rmx .ch-mode.pub { background:var(--sky-50); color:var(--sky-600); border:1px solid var(--sky-200); }
.rmx .ch-mode.int { background:var(--amber-50); color:var(--amber-700); border:1px solid var(--amber-200); }
.rmx .ch-mode.on { background:var(--emerald-50); color:var(--emerald-700); border:1px solid var(--emerald-200); }
.rmx .ch-copy p { font:400 15.5px/1.65 var(--font-sans); color:var(--ink-600); margin:0; max-width:60ch; }
@media (max-width:760px){
  .rmx .nh-grid { grid-template-columns:1fr; }
  .rmx .nh-book { display:none; }
  .rmx .novel .chapter, .rmx .novel .chapter.flip { grid-template-columns:1fr; gap:20px; justify-items:start; }
  .rmx .chapter.flip .ch-art { order:0; }
}

.rmx .logos { display:flex; gap:26px; flex-wrap:wrap; align-items:center; margin-top:30px; }
.rmx .logos span { font:600 11px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-400); }

/* national flag + flag-colour badges (Sovereign / National edition) */
.rmx .natl { display:inline-flex; align-items:center; gap:12px; }
.rmx .natl-flag { width:46px; height:31px; object-fit:cover; border-radius:3px; box-shadow:0 2px 6px rgba(0,0,0,.25); border:1px solid rgba(0,0,0,.12); flex-shrink:0; }
.rmx .natl-meta { display:flex; flex-direction:column; gap:6px; }
.rmx .natl-name { font:600 12.5px/1 var(--font-sans); color:var(--ink-900); }
.rmx .natl-badges { display:inline-flex; gap:5px; }
.rmx .natl-sw { width:13px; height:13px; border-radius:3px; box-shadow:inset 0 0 0 1px rgba(0,0,0,.18); }
.rmx .natl.on-dark .natl-name { color:#fff; }
.rmx .natl.on-dark .natl-flag { border-color:rgba(255,255,255,.3); }
.rmx .natl.on-dark .natl-sw { box-shadow:inset 0 0 0 1px rgba(255,255,255,.4); }
.rmx .nh-natl { margin:0 0 20px; }
.rmx .eb-natl { margin-top:14px; }
.rmx .auth-natl { margin-top:20px; }

/* global breadcrumbs (under the nav, rooted at Home) */
.rmx .crumbs { border-bottom:1px solid var(--border); background:color-mix(in oklab,var(--ink-50) 70%,transparent); }
.rmx .crumbs .wrap { display:flex; align-items:center; flex-wrap:wrap; gap:2px; padding:11px var(--rmx-gutter); }
.rmx .crumbs a, .rmx .crumbs .crumb-cur { font:500 12px/1 var(--font-sans); text-decoration:none; }
.rmx .crumb-home { display:inline-flex; align-items:center; gap:6px; color:var(--ink-600); }
.rmx .crumb-home:hover { color:var(--ink-950); }
.rmx .crumb-home svg { width:14px; height:14px; }
.rmx .crumb-seg { display:inline-flex; align-items:center; gap:2px; }
.rmx .crumb-sep { color:var(--ink-300); margin:0 7px; font-size:12px; }
.rmx .crumb-link { color:var(--ink-600); }
.rmx .crumb-link:hover { color:var(--ink-950); }
.rmx .crumb-cur { color:var(--ink-950); font-weight:600; }

/* /platform edition-aware band */
.rmx .ed-band { position:relative; overflow:hidden; background:linear-gradient(150deg,var(--bk-a),var(--bk-b)); color:#fff; border-bottom:1px solid var(--border); }
.rmx .ed-band::before { content:""; position:absolute; inset:0; background-image:var(--ledger-stripe); opacity:.4; mix-blend-mode:screen; }
.rmx .ed-band .wrap { position:relative; display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; padding:30px var(--rmx-gutter); }
.rmx .ed-band .eb-eyebrow { font:600 11px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:rgba(255,255,255,.75); }
.rmx .ed-band h2 { font-family:var(--font-serif); font-weight:400; font-size:30px; line-height:1.1; letter-spacing:-.01em; color:#fff; margin:10px 0 8px; }
.rmx .ed-band p { font:400 14px/1.55 var(--font-sans); color:rgba(255,255,255,.82); margin:0; max-width:62ch; }
.rmx .ed-band .eb-side { display:flex; flex-direction:column; align-items:flex-end; gap:14px; }
.rmx .ed-band .eb-meta { display:flex; gap:18px; }
.rmx .ed-band .eb-meta span { font:400 12px/1 var(--font-sans); color:rgba(255,255,255,.7); }
.rmx .ed-band .eb-meta b { font-weight:600; color:#fff; }
/* fixed #09090b (not --ink-950, which inverts to white in dark mode) since the button is always white */
.rmx .ed-band .eb-btn { background:#fff; color:#09090b; white-space:nowrap; }
.rmx .ed-band .eb-btn:hover { background:rgba(255,255,255,.88); }
@media (max-width:760px){ .rmx .ed-band .wrap { grid-template-columns:1fr; } .rmx .ed-band .eb-side { align-items:flex-start; } }

/* ── Rollout schedule + running environment ─────────────────────────────── */
.rmx .rollout-band { background:var(--ink-50); border-bottom:1px solid var(--border); }
.rmx .rollout-band .wrap { padding:26px var(--rmx-gutter); }
.rmx .rb-head { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; flex-wrap:wrap; }
.rmx .rb-badges { display:flex; align-items:center; gap:10px; }
.rmx .rb-env { display:inline-flex; align-items:center; gap:7px; font:600 12px/1 var(--font-sans); padding:7px 12px; border-radius:999px; border:1px solid var(--border); color:var(--ink-700); background:var(--ink-0); }
.rmx .rb-env .dot { width:7px; height:7px; border-radius:50%; background:currentColor; }
.rmx .rb-env-production { color:#16794a; border-color:rgba(22,121,74,.35); background:rgba(22,121,74,.08); }
.rmx .rb-env-staging { color:#9a6b00; border-color:rgba(154,107,0,.35); background:rgba(154,107,0,.08); }
.rmx .rb-env-development { color:#1f6feb; border-color:rgba(31,111,235,.35); background:rgba(31,111,235,.08); }
.rmx .rb-ver { font:600 12px/1 var(--font-mono,var(--font-sans)); padding:7px 12px; border-radius:999px; border:1px solid var(--border); color:var(--ink-700); }
.rmx .rb-deployed { font:500 11px/1 var(--font-mono,var(--font-sans)); padding:7px 10px; border-radius:999px; border:1px solid var(--border); color:var(--ink-500); display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.rmx .rb-timeline { list-style:none; margin:20px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.rmx .rb-step { position:relative; padding:14px 16px; border-radius:14px; border:1px solid var(--border); background:var(--ink-0); display:flex; flex-direction:column; gap:5px; }
.rmx .rb-step::before { content:""; position:absolute; left:16px; top:14px; width:8px; height:8px; border-radius:50%; background:var(--ink-300); }
.rmx .rb-step .rb-when { padding-left:18px; font:700 10px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); }
.rmx .rb-step .rb-cohort { font:600 16px/1.1 var(--font-sans); color:var(--ink-900); }
.rmx .rb-step .rb-date { font:400 13px/1 var(--font-sans); color:var(--ink-600); }
.rmx .rb-step.rb-live { border-color:rgba(22,121,74,.35); background:rgba(22,121,74,.06); }
.rmx .rb-step.rb-live::before { background:#16794a; box-shadow:0 0 0 3px rgba(22,121,74,.18); }
.rmx .rb-step.rb-live .rb-when { color:#16794a; }
@media (max-width:760px){ .rmx .rb-timeline { grid-template-columns:1fr 1fr; } }
@media (max-width:460px){ .rmx .rb-timeline { grid-template-columns:1fr; } }

.rmx .blist { list-style:none; margin:14px 0 0; padding:0; }
.rmx .blist li { font:400 12px/1.5 var(--font-sans); color:var(--ink-600); padding:6px 0 6px 18px; position:relative; border-top:1px solid var(--ink-100); }
.rmx .blist li:first-child { border-top:none; }
.rmx .blist li::before { content:""; position:absolute; left:3px; top:12px; width:5px; height:5px; border-radius:999px; background:var(--sov-400); }
.rmx .cap.tall { min-height:auto; }

/* ============================================================================
   Sovereign SSO auth — split-screen brand panel + form card (/auth/*)
   ============================================================================ */
.rmx.auth, .rmx .auth { min-height:100vh; display:grid; grid-template-columns:1.05fr 0.95fr; }
/* fixed dark in both themes (a token would invert in dark mode) */
.rmx .auth-brand { position:relative; background:#0b0b0d; color:#fff; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; padding:52px 56px; }
/* edition-branded: the panel takes the edition's accent gradient */
.rmx .auth-brand.branded { background:linear-gradient(158deg,var(--bk-a),var(--bk-b)); }
.rmx .auth-ed-chip { display:inline-flex; align-items:center; gap:7px; font:600 10px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:#fff; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25); border-radius:999px; padding:6px 12px; margin-bottom:18px; }
.rmx .auth-ed-chip .dot { width:6px; height:6px; border-radius:999px; background:#fff; }
.rmx .auth-home { display:inline-flex; align-items:center; gap:6px; font:600 12px/1 var(--font-sans); color:var(--ink-500); text-decoration:none; margin-bottom:22px; transition:color 120ms; }
.rmx .auth-home:hover { color:var(--ink-950); }
.rmx .auth-home svg { width:14px; height:14px; }
.rmx .auth-brand::before { content:""; position:absolute; inset:0; background-image:var(--ledger-stripe); opacity:.4; mix-blend-mode:screen; }
.rmx .auth-brand > * { position:relative; }
.rmx .auth-brand .lockup b { color:#fff; }
.rmx .auth-brand .lockup span { color:rgba(255,255,255,.6); border-left-color:rgba(255,255,255,.25); }
.rmx .auth-brand .bquote { font-family:var(--font-serif); font-weight:400; font-size:34px; line-height:1.18; letter-spacing:-.01em; color:#fff; max-width:16ch; }
.rmx .auth-brand .bquote i { font-style:italic; color:var(--sov-300); }
.rmx .auth-brand .bsub { font:400 14px/1.6 var(--font-sans); color:rgba(255,255,255,.6); max-width:42ch; margin-top:18px; }
.rmx .auth-brand .bfoot { display:flex; gap:28px; }
.rmx .auth-brand .bfoot .bf { }
.rmx .auth-brand .bfoot b { display:block; font:600 16px/1 var(--font-sans); color:#fff; }
.rmx .auth-brand .bfoot span { display:block; font:500 10px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:rgba(255,255,255,.45); margin-top:7px; }

.rmx .auth-form { display:flex; align-items:center; justify-content:center; padding:48px 40px; background:var(--ink-0); }
.rmx .auth-card { width:100%; max-width:404px; }
.rmx .auth-tenant { display:inline-flex; align-items:center; gap:7px; font:600 10px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--sov-700); background:var(--sov-50); border:1px solid var(--sov-200); border-radius:999px; padding:5px 11px; margin-bottom:22px; }
.rmx .auth-tenant .dot { width:6px; height:6px; border-radius:999px; background:var(--emerald-500); }
.rmx .auth-card .eyebrow { margin-bottom:14px; }
.rmx .auth-card h1 { font-family:var(--font-serif); font-weight:400; font-size:34px; line-height:1.1; letter-spacing:-.015em; color:var(--ink-950); margin:0 0 10px; }
.rmx .auth-card h1 i { font-style:italic; color:var(--sov-700); }
.rmx .auth-sub { font:400 14.5px/1.6 var(--font-sans); color:var(--ink-600); margin:0 0 26px; }
.rmx .auth-form-fields { display:flex; flex-direction:column; gap:18px; }
/* every auth input shares the field look (covers bare inputs e.g. magic-link) */
.rmx .auth-card input:not([type=checkbox]) { width:100%; border:1px solid var(--input); border-radius:var(--radius); padding:11px 13px; font:400 14px/1.4 var(--font-sans); color:var(--ink-900); background:var(--ink-0); }
.rmx .auth-card input:not([type=checkbox]):focus { outline:none; border-color:var(--ring); box-shadow:var(--shadow-focus); }
.rmx .auth-remember { display:flex; align-items:center; gap:9px; font:400 13px/1 var(--font-sans); color:var(--ink-600); cursor:pointer; }
.rmx .auth-remember input { width:15px; height:15px; accent-color:var(--sov-600); }
.rmx .magic-row { display:flex; gap:8px; margin-top:10px; }
.rmx .magic-row input { flex:1; }
.rmx .magic-row .btn { flex:0 0 auto; }
.rmx .auth-sep { display:flex; align-items:center; gap:12px; margin:22px 0 4px; font:500 10px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-400); }
.rmx .auth-sep::before, .rmx .auth-sep::after { content:""; flex:1; height:1px; background:var(--border); }

/* input status (extends .field) */
.rmx .field { margin-bottom:0; }
.rmx .field .lbl-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.rmx .field .lbl-row label { margin-bottom:0; }
.rmx .field .iwrap { position:relative; }
.rmx .field .iwrap .sic { position:absolute; top:50%; right:11px; transform:translateY(-50%); width:16px; height:16px; pointer-events:none; }
.rmx .field.ok input { border-color:var(--emerald-500); }
.rmx .field.ok .sic { color:var(--emerald-600); }
.rmx .field.error input { border-color:var(--rose-500); }
.rmx .field.error .sic { color:var(--rose-600); }
.rmx .field .smsg { margin-top:7px; font:500 11px/1.4 var(--font-sans); }
.rmx .field.ok .smsg { color:var(--emerald-700); }
.rmx .field.error .smsg { color:var(--rose-700); }
.rmx .field .hint { margin-top:7px; font:400 11px/1.4 var(--font-sans); color:var(--ink-400); }
.rmx .field .flink { font:500 12px/1 var(--font-sans); color:var(--sov-600); text-decoration:none; }
.rmx .field .flink:hover { color:var(--sov-700); }

/* password meter */
.rmx .pmeter { display:flex; flex-direction:column; gap:9px; margin-top:12px; }
.rmx .pmeter .bars { display:flex; gap:5px; }
.rmx .pmeter .bars i { height:4px; flex:1; border-radius:999px; background:var(--ink-200); }
.rmx .pmeter .bars i.on.critical { background:var(--rose-500); }
.rmx .pmeter .bars i.on.warn { background:var(--amber-500); }
.rmx .pmeter .bars i.on.ok { background:var(--emerald-500); }
.rmx .pmeter .plabel { font:600 11px/1 var(--font-sans); }
.rmx .pmeter .plabel.critical { color:var(--rose-600); }
.rmx .pmeter .plabel.warn { color:var(--amber-700); }
.rmx .pmeter .plabel.ok { color:var(--emerald-700); }
.rmx .pmeter ul { list-style:none; margin:2px 0 0; padding:0; display:flex; flex-direction:column; gap:5px; }
.rmx .pmeter li { display:flex; align-items:center; gap:8px; font:400 11px/1.3 var(--font-sans); color:var(--ink-400); }
.rmx .pmeter li.met { color:var(--emerald-700); }
.rmx .pmeter li .chk { width:13px; height:13px; border-radius:999px; background:var(--ink-150); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.rmx .pmeter li.met .chk { background:color-mix(in oklab,var(--emerald-500) 20%,transparent); color:var(--emerald-600); }
.rmx .pmeter li .chk svg { width:8px; height:8px; }

/* banners + scope switcher + alt link */
.rmx .auth-banner { border-radius:var(--radius-md); padding:11px 13px; font:500 12px/1.45 var(--font-sans); margin-bottom:4px; }
.rmx .auth-banner.err { background:var(--rose-50); color:var(--rose-700); border:1px solid var(--rose-200); }
.rmx .auth-banner.info { background:var(--sky-50); color:var(--sky-600); border:1px solid var(--sky-200); }
.rmx .auth-flash { display:flex; flex-direction:column; gap:8px; margin-bottom:18px; }
.rmx .auth-scope { margin-bottom:22px; }
.rmx .auth-scope .sprompt { font:600 10px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); margin:0 0 9px; }
.rmx .auth-scope .seg { display:inline-flex; width:100%; gap:2px; padding:3px; background:var(--ink-100); border:1px solid var(--border); border-radius:var(--radius); }
.rmx .auth-scope .seg a { flex:1; min-width:0; text-align:center; padding:7px 6px; border-radius:var(--radius-sm); font:600 11px/1.2 var(--font-sans); color:var(--ink-600); text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:background 120ms,color 120ms; }
.rmx .auth-scope .seg a:hover { color:var(--ink-950); }
.rmx .auth-scope .seg a.on { background:var(--ink-0); color:var(--ink-950); box-shadow:var(--shadow-xs); }
.rmx .auth-alt { margin-top:26px; text-align:center; font:400 13.5px/1.5 var(--font-sans); color:var(--ink-500); }
.rmx .auth-alt a { color:var(--sov-600); text-decoration:none; font-weight:600; }
.rmx .auth-alt a:hover { color:var(--sov-700); }
.rmx .auth-note { margin-top:12px; text-align:center; font:400 11px/1.5 var(--font-sans); color:var(--ink-400); }
.rmx .auth-chip { width:48px; height:48px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; font-size:22px; }
.rmx .auth-chip.ok { background:var(--emerald-50); color:var(--emerald-700); border:1px solid var(--emerald-200); }
.rmx .auth-chip .spin { width:18px; height:18px; border-radius:999px; border:2px solid var(--ink-200); border-top-color:var(--sov-500); animation:rmx-spin 0.7s linear infinite; }
@keyframes rmx-spin { to { transform:rotate(360deg); } }

/* ============================================================================
   Dev tools flyout + "in development" badge (dev-only, on /platform)
   ============================================================================ */
.rmx .dev-badge { position:fixed; top:70px; right:16px; z-index:65; display:inline-flex; align-items:center; gap:7px; font:600 11px/1 var(--font-sans); letter-spacing:.02em; color:var(--amber-700); background:var(--amber-50); border:1px solid var(--amber-200); border-radius:999px; padding:7px 13px; box-shadow:var(--shadow-sm); }
.rmx .dev-badge .dot { width:6px; height:6px; border-radius:999px; background:var(--amber-500); box-shadow:0 0 0 3px color-mix(in oklab,var(--amber-500) 22%,transparent); }

/* bg uses --ink-950 (flips per theme); text uses --ink-0 (flips opposite) so the
   pill stays dark-on-light in light mode and light-on-dark in dark mode. */
.rmx .dev-fab { position:fixed; top:70px; left:16px; z-index:65; display:inline-flex; align-items:center; gap:8px; height:36px; padding:0 14px; border-radius:999px; background:var(--ink-950); color:var(--ink-0); border:1px solid var(--border-strong); font:600 12px/1 var(--font-sans); cursor:pointer; box-shadow:var(--shadow-md); transition:transform 120ms; }
.rmx .dev-fab:hover { transform:translateY(-1px); }
.rmx .dev-fab svg { width:15px; height:15px; }
.rmx .dev-scrim { position:fixed; inset:0; z-index:70; background:rgba(9,9,11,.35); backdrop-filter:blur(1px); }
.rmx .dev-panel { position:fixed; top:0; left:0; bottom:0; z-index:71; width:min(440px,92vw); background:var(--ink-0); border-right:1px solid var(--border); box-shadow:var(--shadow-lg); transform:translateX(-102%); transition:transform 180ms ease; display:flex; flex-direction:column; }
.rmx .dev-panel.open { transform:translateX(0); }
.rmx .dev-head { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--border); background:var(--ink-50); }
.rmx .dev-head b { font:600 13px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-600); }
.rmx .dev-head button { background:none; border:none; cursor:pointer; color:var(--ink-400); font-size:15px; }
.rmx .dev-head button:hover { color:var(--ink-900); }
.rmx .dev-msg { margin:14px 20px 0; padding:10px 12px; border-radius:var(--radius); font:500 12px/1.4 var(--font-sans); }
.rmx .dev-msg.ok { background:var(--emerald-50); color:var(--emerald-700); border:1px solid var(--emerald-200); }
.rmx .dev-msg.error { background:var(--rose-50); color:var(--rose-700); border:1px solid var(--rose-200); }
.rmx .dev-body { flex:1; overflow-y:auto; padding:8px 20px 24px; }
.rmx .dev-sec { padding:18px 0; border-bottom:1px solid var(--ink-100); }
.rmx .dev-sec:last-child { border-bottom:none; }
.rmx .dev-sec h4 { font:600 11px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); margin:0 0 10px; }
.rmx .dev-doc { font:400 12px/1.5 var(--font-sans); color:var(--ink-500); margin:0 0 12px; }
.rmx .dev-cur { font:400 14px/1 var(--font-sans); color:var(--ink-900); margin:0 0 6px; }
.rmx .dev-cur code { font-family:var(--font-mono); font-size:11px; color:var(--sov-600); background:var(--sov-50); border:1px solid var(--sov-200); border-radius:var(--radius-sm); padding:2px 6px; margin-left:6px; }
.rmx .dev-eds { display:flex; flex-wrap:wrap; gap:6px; }
.rmx .dev-ed { font:600 11.5px/1 var(--font-sans); color:var(--ink-700); background:var(--ink-0); border:1px solid var(--border); border-radius:999px; padding:7px 12px; cursor:pointer; transition:border-color 120ms,background 120ms; }
.rmx .dev-ed:hover { border-color:var(--border-strong); }
.rmx .dev-ed.on { background:var(--sov-600); color:#fff; border-color:var(--sov-600); }
.rmx .dev-checks { display:flex; flex-direction:column; gap:7px; }
.rmx .dev-check { display:flex; align-items:center; gap:9px; font:500 12.5px/1.3 var(--font-sans); color:var(--ink-700); }
.rmx .dev-check .ci { width:16px; height:16px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; font:700 10px/1 var(--font-sans); background:var(--amber-50); color:var(--amber-700); border:1px solid var(--amber-200); flex-shrink:0; }
.rmx .dev-check.ok .ci { background:var(--emerald-50); color:var(--emerald-700); border-color:var(--emerald-200); }
.rmx .dev-check .dev-fix { margin-left:auto; font:500 11px/1 var(--font-sans); color:var(--sov-600); text-decoration:none; }
.rmx .dev-actions { display:flex; flex-direction:column; gap:8px; }
.rmx .dev-action { display:flex; align-items:flex-start; gap:12px; padding:12px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--ink-0); }
.rmx .dev-action.warn { border-color:var(--amber-200); background:var(--amber-50); }
.rmx .dev-action.danger { border-color:var(--rose-200); background:var(--rose-50); }
.rmx .dev-action .da-info { flex:1; min-width:0; }
.rmx .dev-action .da-info b { font:600 13px/1.2 var(--font-sans); color:var(--ink-950); }
.rmx .dev-action .da-info p { font:400 11.5px/1.5 var(--font-sans); color:var(--ink-600); margin:4px 0 0; }
.rmx .dev-action .da-cmd { display:block; margin-top:8px; font-family:var(--font-mono); font-size:11px; color:var(--ink-800); background:var(--ink-100); border:1px solid var(--border); border-radius:var(--radius-sm); padding:6px 8px; white-space:pre-wrap; word-break:break-all; user-select:all; }
.rmx .dev-run { flex:0 0 auto; align-self:flex-start; font:600 11.5px/1 var(--font-sans); color:var(--ink-0); background:var(--ink-900); border:none; border-radius:var(--radius); padding:8px 14px; cursor:pointer; }
.rmx .dev-run:hover { background:var(--ink-950); }

/* prod: missing-config flow banner */
.rmx .prod-config { background:var(--amber-50); border-bottom:1px solid var(--amber-200); }
.rmx .prod-config .wrap { padding:18px var(--rmx-gutter); }
.rmx .prod-config .pc-card p { font:400 14px/1.55 var(--font-sans); color:var(--ink-700); margin:10px 0 14px; max-width:70ch; }
.rmx .prod-config .pc-items { display:flex; flex-wrap:wrap; gap:8px; }
.rmx .prod-config .pc-item { display:inline-flex; flex-direction:column; gap:2px; padding:9px 13px; background:var(--ink-0); border:1px solid var(--amber-200); border-radius:var(--radius-md); text-decoration:none; }
.rmx .prod-config .pc-item b { font:600 12.5px/1 var(--font-sans); color:var(--ink-950); }
.rmx .prod-config .pc-item span { font:500 11px/1 var(--font-sans); color:var(--sov-600); }

/* full-screen sovereign status screen (setup complete, etc.) */
.rmx .sov-screen { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:48px 24px; text-align:center; }
.rmx .sov-screen .inner { max-width:440px; display:flex; flex-direction:column; align-items:center; }
.rmx .sov-screen h1 { font-family:var(--font-serif); font-weight:400; font-size:40px; line-height:1.08; letter-spacing:-.015em; color:var(--ink-950); margin:22px 0 8px; }
.rmx .sov-screen p { font:400 15px/1.6 var(--font-sans); color:var(--ink-600); margin:0 0 24px; max-width:42ch; }

@media (max-width:900px){
  .rmx.auth, .rmx .auth { grid-template-columns:1fr; }
  .rmx .auth-brand { display:none; }
  .rmx .auth-form { min-height:100vh; padding:40px 24px; }
}

/* ============================================================================
   RESPONSIVE SYSTEM — phone · tablet · desktop · TV
   Authoritative (appended last). Scales the whole marketing skin — including the
   "/" platform page — across device classes by overriding the layout primitives
   (--rmx-gutter / --rmx-maxw), fluidly scaling headings, stacking grids, and
   swapping the desktop nav for a JS-free hamburger.
   ============================================================================ */

/* ---- Fluid headings: shrink on small screens, desktop max preserved ---- */
.rmx .hero-solo h1, .rmx .hero h1 { font-size:clamp(1.9rem, 1.15rem + 4vw, 3.375rem); }
.rmx .ctaband h2 { font-size:clamp(1.55rem, 1.1rem + 2.4vw, 2.375rem); }
.rmx .ed-band h2 { font-size:clamp(1.4rem, 1.1rem + 1.5vw, 1.875rem); }
.rmx .sec-title { font-size:clamp(1.5rem, 1.05rem + 2vw, 2.125rem); }
.rmx .graphband h2 { font-size:clamp(1.75rem, 1.2rem + 2.4vw, 2.5rem); }

/* ---- Long monospace proofs never blow out a narrow cap card ---- */
.rmx .cap .proof, .rmx .gl-row .hash { overflow-wrap:anywhere; }

/* ---- Nav machinery: hidden on desktop; .nav-menu collapses to flow ---- */
.rmx .nav-toggle, .rmx .nav-burger { display:none; }
.rmx .nav-menu { display:contents; }

/* ============================ TABLET (≤1024px) ============================ */
@media (max-width:1024px){
  .rmx { --rmx-gutter:32px; }
  .rmx section.block { padding:64px 0; }
  .rmx .capgroup { padding:48px 0; }
  .rmx .hero-solo .wrap { padding-top:56px; padding-bottom:48px; }
  .rmx .nav-links { gap:20px; }
  .rmx .lockup span { display:none; }
}

/* ===================== PHONE / SMALL TABLET (≤880px) ===================== */
@media (max-width:880px){
  /* desktop nav → hamburger dropdown (anchored to the sticky .nav) */
  .rmx .nav-burger {
    display:inline-flex; flex-direction:column; justify-content:center; gap:5px;
    margin-left:auto; width:42px; height:42px; padding:0 9px; border-radius:var(--radius);
    border:1px solid var(--border-strong); background:var(--ink-0); cursor:pointer;
  }
  .rmx .nav-burger span { display:block; width:100%; height:2px; background:var(--ink-800); border-radius:2px; transition:transform .2s, opacity .2s; }
  .rmx .nav-menu {
    display:none; position:absolute; top:60px; left:0; right:0; z-index:60;
    flex-direction:column; gap:18px; padding:18px var(--rmx-gutter) 22px;
    background:var(--ink-0); border-bottom:1px solid var(--border); box-shadow:var(--shadow-lg);
  }
  .rmx .nav-toggle:checked ~ .nav-menu { display:flex; }
  .rmx .nav-toggle:checked ~ .nav-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .rmx .nav-toggle:checked ~ .nav-burger span:nth-child(2){ opacity:0; }
  .rmx .nav-toggle:checked ~ .nav-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  .rmx .nav-links { flex-direction:column; align-items:stretch; gap:0; width:100%; }
  .rmx .nav-links a { padding:13px 4px; border-bottom:1px solid var(--ink-100); font-size:15px; }
  .rmx .nav-links a.active::after { display:none; }
  .rmx .nav-right { width:100%; margin-left:0; flex-direction:column; align-items:stretch; gap:10px; }
  .rmx .nav-right .btn { width:100%; height:44px; }
}

/* ============================ PHONE (≤640px) ============================ */
@media (max-width:640px){
  .rmx { --rmx-gutter:20px; }
  .rmx .hero-solo .wrap { padding-top:40px; padding-bottom:36px; }
  .rmx section.block { padding:48px 0; }
  .rmx .capgroup { padding:36px 0; }
  .rmx .ctaband { padding:48px 0; }
  /* stat band → 2 clean columns */
  .rmx .stats { grid-template-columns:repeat(2,1fr); }
  .rmx .stat { padding:22px 10px; }
  .rmx .stat:nth-child(2n){ border-right:none; }
  .rmx .stat:nth-child(-n+2){ border-bottom:1px solid var(--border); }
  /* footer → 2 cols, brand full width */
  .rmx .foot-grid { grid-template-columns:1fr 1fr; gap:28px 24px; }
  .rmx .foot-brand { grid-column:1 / -1; }
  /* hero + CTA buttons stack full-width for easy tapping */
  .rmx .hero-cta { flex-direction:column; align-items:stretch; width:100%; }
  .rmx .hero-cta .btn { width:100%; }
  /* edition band button may wrap on tiny screens */
  .rmx .ed-band .eb-meta { flex-wrap:wrap; gap:10px 18px; }
  .rmx .ed-band .eb-btn { white-space:normal; text-align:left; }
}

/* ========================= SMALL PHONE (≤420px) ========================= */
@media (max-width:420px){
  .rmx { --rmx-gutter:16px; }
  .rmx .stats { grid-template-columns:1fr; }
  .rmx .stat { border-right:none; border-bottom:1px solid var(--border); }
  .rmx .stat:nth-child(-n+2){ border-bottom:1px solid var(--border); }
  .rmx .stat:last-child { border-bottom:none; }
  .rmx .foot-grid { grid-template-columns:1fr; gap:24px; }
  .rmx .foot-bar { flex-direction:column; align-items:flex-start; gap:8px; }
}

/* ============================ TV / LARGE (≥1600px) ============================ */
@media (min-width:1600px){
  .rmx { --rmx-maxw:1360px; }
  .rmx .hero-solo h1, .rmx .hero h1 { font-size:64px; }
  .rmx .sec-title { font-size:40px; }
  .rmx .ctaband h2 { font-size:46px; }
  .rmx .hero-solo .lede, .rmx .hero .lede { font-size:18px; }
  .rmx .hero-solo .wrap { padding-top:104px; padding-bottom:84px; }
  .rmx section.block, .rmx .capgroup { padding:104px 0; }
  .rmx .stat b { font-size:34px; }
  .rmx .stat span { font-size:13px; }
  .rmx .cap { min-height:188px; }
}

/* ============================== 4K TV (≥2200px) ============================== */
@media (min-width:2200px){
  .rmx { --rmx-maxw:1640px; --rmx-gutter:56px; }
  .rmx .hero-solo h1, .rmx .hero h1 { font-size:76px; }
  .rmx .sec-title { font-size:46px; }
  .rmx .hero-solo .lede, .rmx .hero .lede { font-size:20px; }
  .rmx .sec-lede { font-size:18px; }
  .rmx .cap h3 { font-size:17px; }
  .rmx .cap p { font-size:14px; }
}

/* Respect reduced-motion for the burger animation + hover transitions */
@media (prefers-reduced-motion:reduce){
  .rmx .nav-burger span, .rmx .btn, .rmx .cap, .rmx .next { transition:none; }
}

/* ============================================================================
   ENGINE — tier-visibility contract + app-styled mobile tab bar
   Driven by UnityzmWeb.Components.Responsive / ResponsiveRegistry. Hide rules use
   min/max-width boundaries (never display:revert) so an element's own display
   type is preserved when it is shown.
   ============================================================================ */

/* show-from: hidden until the tier's min-width is reached */
@media (max-width:640px){  .rmx [data-show-from="tablet"]  { display:none !important; } }
@media (max-width:1024px){ .rmx [data-show-from="desktop"] { display:none !important; } }
@media (max-width:1599px){ .rmx [data-show-from="tv"]      { display:none !important; } }

/* hide-from: hidden once the tier's min-width is reached */
@media (min-width:641px){  .rmx [data-hide-from="tablet"]  { display:none !important; } }
@media (min-width:1025px){ .rmx [data-hide-from="desktop"] { display:none !important; } }
@media (min-width:1600px){ .rmx [data-hide-from="tv"]      { display:none !important; } }

/* Graded capability groups on the platform page: 3 on phone, 4 on tablet, all ≥desktop */
@media (max-width:1024px){ .rmx .capgroup[data-grp="5"] { display:none; } }
@media (max-width:640px){  .rmx .capgroup[data-grp="4"] { display:none; } }

/* ---- app-styled mobile bottom tab bar (phone only) ---- */
.rmx .mtab { display:none; }
@media (max-width:640px){
  .rmx .mtab {
    display:flex; position:fixed; left:0; right:0; bottom:0; z-index:75;
    align-items:stretch; gap:2px;
    padding:6px 8px calc(8px + env(safe-area-inset-bottom, 0px));
    background:color-mix(in oklab, var(--ink-0) 88%, transparent);
    backdrop-filter:blur(14px) saturate(1.2); -webkit-backdrop-filter:blur(14px) saturate(1.2);
    border-top:1px solid var(--border);
  }
  .rmx .mtab-item {
    flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:4px; padding:7px 4px; text-decoration:none; color:var(--ink-500);
    border-radius:var(--radius-md); transition:color .15s, background .15s;
  }
  .rmx .mtab-item svg { width:22px; height:22px; }
  .rmx .mtab-item span { font:600 10px/1 var(--font-sans); letter-spacing:.01em; }
  .rmx .mtab-item.active { color:var(--sov-600); background:var(--sov-50); }
  .rmx .mtab-item:active { background:var(--ink-100); }
  /* keep the footer clear of the fixed bar */
  .rmx footer { padding-bottom:calc(40px + 60px + env(safe-area-inset-bottom, 0px)); }
}
html[data-theme="dark"] .rmx .mtab-item.active { color:var(--sov-300); }

/* ── Landing Blog (A1) — vault-backed build-story posts ────────────────────── */
.rmx .tag { display:inline-flex; align-items:center; height:22px; padding:0 9px; border-radius:999px; background:var(--sov-50); color:var(--sov-700); border:1px solid color-mix(in oklab,var(--sov-600) 16%,transparent); font:600 10.5px/1 var(--font-sans); letter-spacing:.02em; text-transform:lowercase; }
.rmx .blog-tags { display:flex; flex-wrap:wrap; gap:6px; }
.rmx .blog-dot { color:var(--ink-400); }

/* Author by-line */
.rmx .blog-author { display:inline-flex; align-items:center; gap:10px; }
.rmx .blog-avatar { flex:none; width:32px; height:32px; border-radius:999px; background-size:cover; background-position:center; background-color:var(--ink-100); border:1px solid var(--border); display:inline-flex; align-items:center; justify-content:center; }
.rmx .blog-avatar--initial { font:600 13px/1 var(--font-sans); color:var(--sov-700); background:var(--sov-50); }
.rmx .blog-author--lg .blog-avatar { width:46px; height:46px; }
.rmx .blog-author--lg .blog-avatar--initial { font-size:18px; }
.rmx .blog-author-meta { display:flex; flex-direction:column; gap:2px; min-width:0; }
.rmx .blog-author-name { font:600 13px/1.2 var(--font-sans); color:var(--ink-950); }
.rmx .blog-author--lg .blog-author-name { font-size:15px; }
.rmx .blog-author-headline { font:400 11.5px/1.2 var(--font-sans); color:var(--ink-500); }
.rmx .blog-author--lg .blog-author-headline { font-size:13px; }

/* Index feed */
.rmx .blog-empty { padding:24px 0 8px; }
.rmx .blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:8px; }
@media (max-width:1040px){ .rmx .blog-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:680px){ .rmx .blog-grid{ grid-template-columns:1fr; } }
.rmx .blog-card { display:flex; flex-direction:column; background:var(--ink-0); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; text-decoration:none; box-shadow:var(--shadow-xs); transition:box-shadow 140ms,border-color 140ms,transform 80ms; }
.rmx .blog-card:hover { box-shadow:var(--shadow-md); border-color:var(--border-strong); transform:translateY(-2px); }
.rmx .blog-card-hero { height:158px; background-size:cover; background-position:center; background-color:var(--ink-100); border-bottom:1px solid var(--border); }
.rmx .blog-card-hero--blank { background-image:var(--ledger-stripe); background-color:var(--sov-50); }
.rmx .blog-card-body { display:flex; flex-direction:column; gap:10px; padding:18px 20px 20px; flex:1; }
.rmx .blog-card-title { font:600 17px/1.32 var(--font-sans); letter-spacing:-.012em; color:var(--ink-950); margin:0; }
.rmx .blog-card-summary { font:400 13px/1.55 var(--font-sans); color:var(--ink-600); margin:0; flex:1; }
.rmx .blog-part-tag { display:inline-block; align-self:flex-start; font:600 10px/1 var(--font-mono); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--sov-600); background:var(--sov-50); border:1px solid var(--sov-100); border-radius:999px; padding:4px 8px; }
.rmx .blog-card-hero--blank .blog-part-num { display:flex; align-items:center; justify-content:center; height:100%; font-family:var(--font-serif); font-size:38px; color:var(--sov-300); }
.rmx .blog-card-meta { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-top:6px; font:500 11.5px/1 var(--font-sans); color:var(--ink-500); }

/* Single article — LinkedIn-style */
.rmx .blog-article { border-bottom:1px solid var(--border); }
.rmx .blog-article-wrap { max-width:760px; padding-top:40px; padding-bottom:64px; }
.rmx .blog-back { display:inline-block; margin-bottom:24px; font:500 12.5px/1 var(--font-sans); color:var(--ink-500); text-decoration:none; }
.rmx .blog-back:hover { color:var(--ink-950); }
.rmx .blog-article-head { display:flex; flex-direction:column; gap:16px; padding-bottom:8px; }
.rmx .blog-article-title { font-family:var(--font-serif); font-weight:400; font-size:42px; line-height:1.08; letter-spacing:-.015em; color:var(--ink-950); margin:8px 0 0; }
.rmx .blog-article-summary { font:400 17px/1.55 var(--font-sans); color:var(--ink-600); margin:0; max-width:60ch; }
.rmx .blog-article-meta { display:flex; align-items:center; flex-wrap:wrap; gap:7px; font:500 12.5px/1 var(--font-sans); color:var(--ink-500); }
.rmx .blog-article-hero { width:100%; aspect-ratio:16/7; margin:28px 0 8px; border-radius:var(--radius-lg); background-size:cover; background-position:center; background-color:var(--ink-100); border:1px solid var(--border); }
.rmx .blog-prose { margin-top:28px; }
.rmx .blog-prose > :first-child { margin-top:0; }
.rmx .blog-share { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:40px; padding-top:24px; border-top:1px solid var(--border); }
.rmx .blog-share-label { font:600 11px/1 var(--font-sans); letter-spacing:var(--tracking-mark); text-transform:uppercase; color:var(--ink-500); margin-right:4px; }
.rmx .blog-share-link { flex:1; min-width:180px; height:38px; padding:0 12px; border:1px solid var(--border); border-radius:var(--radius); background:var(--ink-50); color:var(--ink-600); font:500 12px/1 var(--font-mono); }
@media (max-width:680px){ .rmx .blog-article-title{ font-size:32px; } }

html[data-theme="dark"] .rmx .tag { background:color-mix(in oklab,var(--sov-500) 22%,transparent); color:var(--sov-200); border-color:color-mix(in oklab,var(--sov-400) 30%,transparent); }
html[data-theme="dark"] .rmx .blog-card,
html[data-theme="dark"] .rmx .blog-share-link { background:color-mix(in oklab,var(--ink-0) 4%,transparent); }
html[data-theme="dark"] .rmx .blog-avatar--initial { background:color-mix(in oklab,var(--sov-500) 22%,transparent); color:var(--sov-200); }
html[data-theme="dark"] .rmx .blog-card-hero--blank { background-color:color-mix(in oklab,var(--sov-500) 14%,transparent); }
html[data-theme="dark"] .rmx .blog-article-title { color:var(--ink-50); }
