/* ═══════════════════════════════════════════════════════════════════
   RoyaltyMetrix · marketing page styles
   Scoped under .rmx-site to avoid conflicts with the host theme.
   Light theme only. All sizing and colors match the design review.
   ═══════════════════════════════════════════════════════════════════ */

/* --- Typography resets just inside our container ---
   Avada-style themes aggressively style headings, links, paragraphs,
   and buttons globally. We revert inheritable properties at the boundary
   so RMX owns its own typographic environment. */
.rmx-site,
.rmx-site * {
  box-sizing: border-box;
}
.rmx-site {
  all: revert;
  font-family: var(--rmx-font-sans);
  font-weight: 400;
  color: var(--rmx-ink1);
  background: var(--rmx-bg);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Fonts */
  --rmx-font-serif: "Source Serif 4", "Source Serif Pro", Georgia, serif;
  --rmx-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rmx-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* Palette — light */
  --rmx-bg: #F7F7F5;
  --rmx-bg-raised: #FFFFFF;
  --rmx-bg-deep: #EEECE5;
  --rmx-ink1: #0F0F0E;
  --rmx-ink2: #2E2C28;
  --rmx-ink3: #4A4843;
  --rmx-quiet: #6B645E;
  --rmx-border: #D8D5CE;
  --rmx-border-soft: #E4E1DA;
  --rmx-cobalt: #1F52C4;
  --rmx-cobalt-deep: #164198;
  --rmx-cobalt-tint: #F2F6FD;
  --rmx-pos: #2E8B5C;
  --rmx-neg: #A93D3D;
  --rmx-amber: #C6921E;
  --rmx-ngl: #6E5A45;
  --rmx-band-bg: #0C0B09;
  --rmx-band-ink: #F7F2EA;
  --rmx-nav-bg: rgba(247, 247, 245, 0.85);

  /* Hero sizing — matches the v2 tweaks the reviewers approved */
  --rmx-page-max: 1240px;
  --rmx-hero-size: 60px;
  --rmx-hero-lh: 1.06;
  --rmx-hero-em-nowrap: nowrap;
}

.rmx-site h1,
.rmx-site h2,
.rmx-site h3,
.rmx-site h4 {
  font-family: var(--rmx-font-serif);
  font-weight: 500;
  color: var(--rmx-ink1);
  margin: 0;
  text-wrap: balance;
}
.rmx-site p { margin: 0; }
.rmx-site a { color: inherit; text-decoration: none; }
.rmx-site button { font: inherit; cursor: pointer; background: transparent; border: none; color: inherit; padding: 0; }
.rmx-site em { font-style: italic; color: var(--rmx-cobalt); font-weight: 500; }
.rmx-site strong { font-weight: 600; color: var(--rmx-ink1); }
.rmx-site ol, .rmx-site ul { list-style: none; padding: 0; margin: 0; }

.rmx-container {
  max-width: var(--rmx-page-max);
  margin: 0 auto;
  padding: 0 40px;
}

/* ─── Nav ─────────────────────────────────────────────────────── */
.rmx-nav {
  position: sticky;
  top: 0;
  z-index: 10;
  height: 84px;
  background: var(--rmx-nav-bg);
  backdrop-filter: saturate(1.2) blur(10px);
  -webkit-backdrop-filter: saturate(1.2) blur(10px);
  border-bottom: .5px solid var(--rmx-border);
}
.rmx-nav-inner {
  max-width: var(--rmx-page-max);
  margin: 0 auto;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 0 40px;
}
.rmx-nav img { height: 44px; display: block; }
.rmx-nav .rmx-audience-tag {
  font-family: var(--rmx-font-mono);
  font-size: 10px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--rmx-cobalt);
  border: .5px solid var(--rmx-cobalt);
  padding: 6px 12px;
  border-radius: 2px;
  font-weight: 500;
  line-height: 1;
}
.rmx-nav .rmx-nav-spacer { flex: 1; }
.rmx-nav-link {
  font-family: var(--rmx-font-sans);
  font-size: 13.5px;
  color: var(--rmx-ink2);
  letter-spacing: .1px;
  border-bottom: 1.5px solid transparent;
  padding-bottom: 2px;
  font-weight: 400;
}
.rmx-nav-link.rmx-active {
  color: var(--rmx-ink1);
  border-bottom-color: var(--rmx-cobalt);
  font-weight: 500;
}
.rmx-cta {
  display: inline-block;
  font-family: var(--rmx-font-sans);
  font-weight: 500;
  font-size: 13px;
  padding: 9px 16px;
  background: var(--rmx-cobalt);
  color: #FFFFFF !important;
  border-radius: 2px;
  letter-spacing: .1px;
  line-height: 1.4;
}
.rmx-cta.rmx-cta-lg {
  font-size: 14px;
  padding: 13px 22px;
}
.rmx-cta-secondary {
  font-family: var(--rmx-font-sans);
  font-weight: 500;
  font-size: 14px;
  padding: 12px 18px;
  color: var(--rmx-ink1);
  border-bottom: 1px solid var(--rmx-cobalt);
  display: inline-block;
}

/* ─── Section primitives ──────────────────────────────────────── */
.rmx-eyebrow {
  font-family: var(--rmx-font-mono);
  font-size: 11px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--rmx-cobalt);
  font-weight: 500;
  margin-bottom: 24px;
}
.rmx-eyebrow-italic { font-style: italic; }

/* ─── Hero ────────────────────────────────────────────────────── */
.rmx-hero { padding: 80px 40px 56px; }
.rmx-hero-grid {
  max-width: var(--rmx-page-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.25fr .85fr;
  gap: 48px;
  align-items: center;
}
.rmx-hero h1 {
  font-size: var(--rmx-hero-size);
  line-height: var(--rmx-hero-lh);
  letter-spacing: -1.6px;
}
.rmx-hero h1 em { white-space: var(--rmx-hero-em-nowrap); }
.rmx-hero-lede {
  font-family: var(--rmx-font-sans);
  font-size: 17px;
  line-height: 1.6;
  color: var(--rmx-ink2);
  max-width: 580px;
  margin-top: 24px;
}
.rmx-hero-ctas { display: flex; gap: 14px; margin-top: 32px; align-items: center; }

/* Hero artifact (right column) */
.rmx-hero-artifact {
  position: relative;
  width: 440px;
  height: 520px;
  margin: 0 auto;
}
.rmx-paper-statement {
  position: absolute;
  right: 0; top: 18px;
  width: 320px; height: 400px;
  background: #FFFFFF;
  border: .5px solid var(--rmx-border);
  box-shadow: 0 1px 0 rgba(0,0,0,0.04);
  padding: 18px 20px;
  font-family: var(--rmx-font-mono);
  font-size: 10px;
  color: var(--rmx-quiet);
  overflow: hidden;
}
.rmx-paper-statement-head {
  display: flex;
  justify-content: space-between;
  border-bottom: .5px solid var(--rmx-ink1);
  padding-bottom: 8px;
  margin-bottom: 10px;
  color: var(--rmx-ink2);
}
.rmx-paper-row {
  display: grid;
  grid-template-columns: 60px 1fr 80px;
  gap: 8px;
  padding: 5px 0;
  border-bottom: .5px solid #EEECE5;
  color: var(--rmx-neg);
}
.rmx-paper-row > :last-child { text-align: right; }
.rmx-paper-row.rmx-paper-row-filled { color: var(--rmx-ink2); }
.rmx-paper-highlight-box {
  position: absolute;
  left: 16px; top: 108px;
  width: 288px; height: 210px;
  border: 1.5px solid var(--rmx-cobalt);
  border-radius: 4px;
  pointer-events: none;
}
.rmx-paper-margin-note {
  position: absolute;
  right: 6px; top: 230px;
  font-family: var(--rmx-font-serif);
  font-style: italic;
  font-size: 15px;
  color: var(--rmx-cobalt);
  line-height: 1.2;
  text-align: right;
  pointer-events: none;
}
.rmx-paper-chart {
  position: absolute;
  left: 0; bottom: 20px;
  width: 320px;
  background: #FFFFFF;
  border: .5px solid var(--rmx-border);
  padding: 18px 20px;
  box-shadow: 0 2px 12px rgba(12,11,9,0.06);
}
.rmx-paper-chart-eyebrow {
  font-family: var(--rmx-font-mono);
  font-size: 10.5px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--rmx-cobalt);
  margin-bottom: 14px;
  font-weight: 500;
}
.rmx-paper-chart-title {
  font-family: var(--rmx-font-mono);
  font-weight: 500;
  font-size: 34px;
  line-height: 1;
  letter-spacing: -0.7px;
  color: var(--rmx-ink1);
  font-variant-numeric: tabular-nums;
}
.rmx-paper-chart-sub {
  font-family: var(--rmx-font-mono);
  font-size: 11px;
  color: var(--rmx-pos);
  margin-top: 8px;
}
.rmx-paper-chart svg { margin-top: 18px; display: block; width: 100%; height: 88px; }
.rmx-paper-chart-axis {
  display: flex;
  justify-content: space-between;
  font-family: var(--rmx-font-mono);
  font-size: 9.5px;
  letter-spacing: .5px;
  color: var(--rmx-quiet);
  margin-top: 6px;
}
.rmx-paper-claim {
  position: absolute;
  right: -10px; top: 0;
  background: #0C0B09;
  color: #F7F2EA;
  padding: 14px 18px;
  font-family: var(--rmx-font-mono);
  font-size: 11px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  border: .5px solid #2A261F;
  box-shadow: 0 6px 20px rgba(12,11,9,0.25);
}
.rmx-paper-claim-label { color: #5C9AFF; margin-bottom: 6px; font-weight: 500; }
.rmx-paper-claim-main { color: #F7F2EA; font-size: 15px; letter-spacing: .3px; text-transform: none; }
.rmx-paper-claim-sub { color: #B0A999; margin-top: 4px; font-size: 10px; }

/* ─── Problem ─────────────────────────────────────────────────── */
.rmx-problem { padding: 96px 40px 80px; background: var(--rmx-bg); }
.rmx-problem-inner {
  max-width: var(--rmx-page-max);
  margin: 0 auto;
}
.rmx-problem-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.rmx-problem h2 {
  font-size: 54px;
  line-height: 1.08;
  letter-spacing: -1.4px;
}
.rmx-problem-body {
  font-family: var(--rmx-font-sans);
  font-size: 17px;
  line-height: 1.7;
  color: var(--rmx-ink2);
  padding-top: 56px;
}

/* ─── Pillars ─────────────────────────────────────────────────── */
.rmx-pillars { padding: 88px 40px; }
.rmx-pillars-inner { max-width: var(--rmx-page-max); margin: 0 auto; }
.rmx-pillars h2 {
  font-size: 44px;
  line-height: 1.1;
  letter-spacing: -1px;
  margin-bottom: 56px;
  max-width: 760px;
}
.rmx-pillar-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  border-top: .5px solid var(--rmx-ink1);
  padding-top: 32px;
}
.rmx-pillar {
  border-top: 3px solid var(--rmx-cobalt);
  padding-top: 18px;
  margin-top: -35px;
}
.rmx-pillar[data-accent="amber"] { border-top-color: var(--rmx-amber); }
.rmx-pillar[data-accent="pos"] { border-top-color: var(--rmx-pos); }
.rmx-pillar[data-accent="ngl"] { border-top-color: var(--rmx-ngl); }
.rmx-pillar[data-accent="cobalt"] { border-top-color: var(--rmx-cobalt); }
.rmx-pillar-key {
  font-family: var(--rmx-font-mono);
  font-size: 11px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin-bottom: 14px;
  font-weight: 500;
  color: var(--rmx-cobalt);
}
.rmx-pillar[data-accent="amber"] .rmx-pillar-key { color: var(--rmx-amber); }
.rmx-pillar[data-accent="pos"] .rmx-pillar-key { color: var(--rmx-pos); }
.rmx-pillar[data-accent="ngl"] .rmx-pillar-key { color: var(--rmx-ngl); }
.rmx-pillar h3 {
  font-size: 21px;
  line-height: 1.25;
  letter-spacing: -0.3px;
  margin-bottom: 14px;
}
.rmx-pillar-body {
  font-family: var(--rmx-font-sans);
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--rmx-ink2);
}

/* ─── Why exclusive (dark band) ───────────────────────────────── */
.rmx-why {
  padding: 96px 40px;
  background: var(--rmx-band-bg);
  color: var(--rmx-band-ink);
  border-top: .5px solid rgba(247,242,234,0.08);
  border-bottom: .5px solid rgba(247,242,234,0.08);
}
.rmx-why-inner { max-width: var(--rmx-page-max); margin: 0 auto; }
.rmx-why .rmx-eyebrow { color: #5C9AFF; font-style: italic; margin-bottom: 28px; }
.rmx-why h2 {
  color: var(--rmx-band-ink);
  font-size: 44px;
  line-height: 1.1;
  letter-spacing: -1px;
  margin-bottom: 32px;
}
.rmx-why h2 em { color: #EDB958; }
.rmx-why-body {
  font-family: var(--rmx-font-sans);
  font-size: 18px;
  line-height: 1.7;
  color: #D8D1C4;
  max-width: 820px;
}

/* ─── Process ─────────────────────────────────────────────────── */
.rmx-process {
  padding: 88px 40px;
  background: var(--rmx-bg-deep);
  scroll-margin-top: 84px;
}
.rmx-process-inner { max-width: var(--rmx-page-max); margin: 0 auto; }
.rmx-process h2 {
  font-size: 44px;
  line-height: 1.1;
  letter-spacing: -1px;
  margin-bottom: 48px;
  max-width: 820px;
}
.rmx-process-list {
  border-top: .5px solid var(--rmx-ink1);
}
.rmx-process-item {
  display: grid;
  grid-template-columns: 140px 1.1fr 2.2fr;
  gap: 36px;
  padding: 28px 0;
  border-bottom: .5px solid var(--rmx-border);
  align-items: baseline;
}
.rmx-process-stage {
  font-family: var(--rmx-font-mono);
  font-size: 11px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--rmx-cobalt);
  font-weight: 500;
}
.rmx-process-item h3 {
  font-size: 26px;
  line-height: 1.15;
  letter-spacing: -0.5px;
}
.rmx-process-body {
  font-family: var(--rmx-font-sans);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--rmx-ink2);
}
.rmx-process-footnote {
  margin-top: 20px;
  font-family: var(--rmx-font-mono);
  font-size: 11.5px;
  color: var(--rmx-quiet);
  letter-spacing: .3px;
  font-style: italic;
}

/* ─── ProductStrip (dark band) ────────────────────────────────── */
.rmx-products {
  padding: 80px 40px 96px;
  background: var(--rmx-band-bg);
  color: var(--rmx-band-ink);
}
.rmx-products-inner { max-width: var(--rmx-page-max); margin: 0 auto; }
.rmx-products .rmx-eyebrow { color: #5C9AFF; }
.rmx-products h2 {
  color: var(--rmx-band-ink);
  font-size: 46px;
  line-height: 1.1;
  letter-spacing: -1.1px;
  margin-bottom: 48px;
  max-width: 880px;
}
.rmx-products h2 em { color: #5C9AFF; }
.rmx-products-grid {
  display: grid;
  grid-template-columns: 1.25fr .8fr .95fr;
  gap: 20px;
  align-items: start;
}
.rmx-memo {
  background: #FFFFFF;
  color: var(--rmx-ink2);
  border: .5px solid var(--rmx-border);
  padding: 28px 30px;
}
.rmx-memo-eyebrow {
  font-family: var(--rmx-font-mono);
  font-size: 10px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--rmx-cobalt);
  margin-bottom: 16px;
  font-weight: 500;
}
.rmx-memo-title {
  font-family: var(--rmx-font-serif);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: -0.3px;
  color: var(--rmx-ink1);
  margin-bottom: 16px;
}
.rmx-memo p {
  font-family: var(--rmx-font-sans);
  font-size: 13px;
  line-height: 1.6;
  color: var(--rmx-ink2);
  margin-bottom: 10px;
}
.rmx-memo p strong { color: var(--rmx-ink1); font-weight: 600; }
.rmx-memo-signers {
  border-top: .5px solid var(--rmx-border);
  margin-top: 18px;
  padding-top: 10px;
  font-family: var(--rmx-font-mono);
  font-size: 10.5px;
  color: var(--rmx-quiet);
  letter-spacing: .3px;
  font-style: italic;
}
.rmx-memo-note {
  font-family: var(--rmx-font-mono);
  font-size: 9.5px;
  color: var(--rmx-quiet);
  letter-spacing: .3px;
  margin-top: 8px;
  font-style: italic;
}
.rmx-kpi-strip {
  display: grid;
  gap: 1px;
  background: rgba(255,255,255,0.1);
  border: .5px solid rgba(255,255,255,0.1);
}
.rmx-kpi {
  background: var(--rmx-band-bg);
  padding: 22px;
}
.rmx-kpi-label {
  font-family: var(--rmx-font-mono);
  font-size: 10px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: #5C9AFF;
  font-weight: 500;
}
.rmx-kpi-value {
  font-family: var(--rmx-font-mono);
  font-weight: 500;
  font-size: 20px;
  color: var(--rmx-band-ink);
  letter-spacing: -0.3px;
  margin-top: 8px;
  font-variant-numeric: tabular-nums;
}
.rmx-kpi-sub {
  font-family: var(--rmx-font-mono);
  font-size: 10.5px;
  color: #B0A999;
  margin-top: 6px;
  font-style: italic;
}
.rmx-scorecard-title {
  font-family: var(--rmx-font-mono);
  font-size: 10.5px;
  letter-spacing: .4px;
  color: #B0A999;
  margin-bottom: 12px;
  font-style: italic;
}
.rmx-scorecard {
  border: .5px solid rgba(255,255,255,0.12);
}
.rmx-scorecard-row {
  display: grid;
  grid-template-columns: 1fr 70px;
  padding: 12px 16px;
  align-items: baseline;
  border-bottom: .5px solid rgba(255,255,255,0.08);
}
.rmx-scorecard-row:last-child { border-bottom: none; }
.rmx-scorecard-row span:first-child {
  font-family: var(--rmx-font-sans);
  font-size: 13px;
  color: var(--rmx-band-ink);
}
.rmx-scorecard-grade {
  font-family: var(--rmx-font-mono);
  font-size: 10.5px;
  letter-spacing: 1.2px;
  font-weight: 600;
  text-align: right;
}
.rmx-scorecard-grade[data-accent="pos"] { color: var(--rmx-pos); }
.rmx-scorecard-grade[data-accent="neg"] { color: var(--rmx-neg); }
.rmx-scorecard-grade[data-accent="amber"] { color: var(--rmx-amber); }
.rmx-scorecard-footnote {
  font-family: var(--rmx-font-mono);
  font-size: 10px;
  color: #8A847A;
  letter-spacing: .3px;
  font-style: italic;
  margin-top: 10px;
}

/* ─── Field band ──────────────────────────────────────────────── */
.rmx-field {
  position: relative;
  height: 460px;
  overflow: hidden;
  background: #0C0B09;
}
.rmx-field svg { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.rmx-field-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(5,4,3,0.85) 0%, rgba(5,4,3,0.55) 45%, rgba(5,4,3,0.15) 100%);
}
.rmx-field-content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 56px 40px;
}
.rmx-field-content-inner {
  max-width: var(--rmx-page-max);
  margin: 0 auto;
  width: 100%;
}
.rmx-field .rmx-eyebrow { color: #EDB958; margin-bottom: 14px; }
.rmx-field h2 {
  font-size: 52px;
  line-height: 1.05;
  letter-spacing: -1.2px;
  color: #F7F2EA;
  max-width: 840px;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}
.rmx-field h2 em { color: #EDB958; }

/* ─── Record band (inverted cream in light mode) ──────────────── */
.rmx-record {
  padding: 72px 40px;
  background: #EEECE5;
  color: var(--rmx-ink1);
}
.rmx-record-inner { max-width: var(--rmx-page-max); margin: 0 auto; }
.rmx-record .rmx-eyebrow { color: var(--rmx-cobalt); margin-bottom: 24px; }
.rmx-record h2 {
  font-size: 44px;
  line-height: 1.1;
  letter-spacing: -1px;
  margin-bottom: 40px;
  max-width: 820px;
}
.rmx-record-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(15,15,14,0.12);
  border: .5px solid rgba(15,15,14,0.12);
}
.rmx-record-cell {
  background: #EEECE5;
  padding: 26px 24px;
}
.rmx-record-value {
  font-family: var(--rmx-font-mono);
  font-weight: 500;
  font-size: 36px;
  line-height: 1;
  letter-spacing: -.6px;
  color: var(--rmx-ink1);
  font-variant-numeric: tabular-nums;
}
.rmx-record-label {
  font-family: var(--rmx-font-mono);
  font-size: 11px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--rmx-cobalt);
  margin-top: 12px;
}
.rmx-record-disclaimer {
  margin-top: 20px;
  font-family: var(--rmx-font-mono);
  font-size: 11px;
  letter-spacing: .3px;
  color: var(--rmx-quiet);
  font-style: italic;
}

/* ─── Team ────────────────────────────────────────────────────── */
.rmx-team { padding: 88px 40px; scroll-margin-top: 84px; }
.rmx-team-inner { max-width: var(--rmx-page-max); margin: 0 auto; }
.rmx-team h2 {
  font-size: 44px;
  line-height: 1.1;
  letter-spacing: -1px;
  margin-bottom: 28px;
  max-width: 820px;
}
.rmx-team-intro {
  font-family: var(--rmx-font-sans);
  font-size: 16px;
  line-height: 1.65;
  color: var(--rmx-ink2);
  max-width: 820px;
  margin-bottom: 54px
}
.rmx-team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: .5px solid var(--rmx-ink1);
  margin-top: 40px
}
.rmx-team-member {
  padding: 26px 28px 26px 0;
  border-bottom: .5px solid var(--rmx-border);
}
.rmx-team-name {
  font-family: var(--rmx-font-serif);
  font-weight: 500;
  font-size: 22px;
  letter-spacing: -0.3px;
  color: var(--rmx-ink1);
  margin-bottom: 4px;
}
.rmx-team-role {
  font-family: var(--rmx-font-mono);
  font-size: 11px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--rmx-cobalt);
  margin-bottom: 12px;
  font-weight: 500;
}
.rmx-team-bio {
  font-family: var(--rmx-font-sans);
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--rmx-ink2);
}
.rmx-team-footnote,
.rmx-team-location {
  font-family: var(--rmx-font-mono);
  font-size: 12px;
  color: var(--rmx-quiet);
  letter-spacing: .3px;
  font-style: italic;
  margin-top: 32px;
}
.rmx-team-location { margin-top: 12px; font-size: 11px; font-style: normal; }

/* ─── Who we serve ────────────────────────────────────────────── */
.rmx-who { padding: 88px 40px; background: var(--rmx-bg); }
.rmx-who-inner { max-width: var(--rmx-page-max); margin: 0 auto; }
.rmx-who .rmx-eyebrow { font-style: italic; margin-bottom: 28px; }
.rmx-who h2 {
  font-size: 44px;
  line-height: 1.15;
  letter-spacing: -1px;
  margin-bottom: 40px;
}
.rmx-who h2 em { color: var(--rmx-ink1); }
.rmx-trait {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 16px;
  padding: 20px 0;
  border-bottom: .5px solid var(--rmx-border);
  align-items: baseline;
}
.rmx-trait:first-child { border-top: .5px solid var(--rmx-border); }
.rmx-trait-dash {
  font-family: var(--rmx-font-serif);
  font-size: 18px;
  color: var(--rmx-amber);
  font-weight: 500;
  letter-spacing: -.3px;
}
.rmx-trait-text {
  font-family: var(--rmx-font-sans);
  font-size: 16.5px;
  line-height: 1.6;
  color: var(--rmx-ink1);
}
.rmx-who-redirect {
  font-family: var(--rmx-font-sans);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--rmx-quiet);
  margin-top: 32px;
  font-style: italic;
  max-width: 720px;
}

/* ─── FAQ ─────────────────────────────────────────────────────── */
.rmx-faq { padding: 88px 40px; background: var(--rmx-bg-deep); }
.rmx-faq-inner { max-width: var(--rmx-page-max); margin: 0 auto; }
.rmx-faq h2 {
  font-size: 44px;
  line-height: 1.1;
  letter-spacing: -1px;
  margin-bottom: 40px;
}
.rmx-faq-list { border-top: .5px solid var(--rmx-ink1); }
.rmx-faq-row { border-bottom: .5px solid var(--rmx-border); }
.rmx-faq-q {
  width: 100%;
  text-align: left;
  padding: 22px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  color: var(--rmx-ink1);
}
.rmx-faq-q-text {
  font-family: var(--rmx-font-serif);
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.3px;
  line-height: 1.35;
}
.rmx-faq-q-icon {
  font-family: var(--rmx-font-mono);
  font-size: 20px;
  color: var(--rmx-cobalt);
  font-weight: 400;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .15s ease;
}
.rmx-faq-row[data-open="true"] .rmx-faq-q-icon { transform: rotate(45deg); }
.rmx-faq-a {
  padding: 0 0 22px;
  max-width: 780px;
  display: none;
}
.rmx-faq-row[data-open="true"] .rmx-faq-a { display: block; }
.rmx-faq-a p {
  font-family: var(--rmx-font-sans);
  font-size: 15px;
  line-height: 1.7;
  color: var(--rmx-ink2);
}

/* ─── Footer ──────────────────────────────────────────────────── */
.rmx-footer {
  padding: 64px 40px 40px;
  background: #0C0B09;
  color: #B0A999;
  scroll-margin-top: 84px;
}
.rmx-footer-grid {
  max-width: var(--rmx-page-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1.2fr;
  gap: 48px;
}
.rmx-footer img { height: 40px; display: block; margin-bottom: 20px; }
.rmx-footer-label {
  font-family: var(--rmx-font-mono);
  font-size: 10px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #5C9AFF;
  margin-bottom: 10px;
  font-weight: 500;
}
.rmx-footer-label.rmx-spaced { margin-top: 22px; }
.rmx-footer-location {
  font-family: var(--rmx-font-mono);
  font-size: 12px;
  line-height: 1.75;
  color: #D6D1C4;
}
.rmx-footer-contact-link {
  display: block;
  font-family: var(--rmx-font-sans);
  font-size: 14px;
  color: #E8E2D5;
  border-bottom: 1px solid #5C9AFF;
  padding-bottom: 2px;
  margin-bottom: 14px;
  width: fit-content;
}
.rmx-footer-people {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.rmx-footer-people a {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--rmx-font-sans);
  font-size: 12.5px;
  color: #B0A999;
}
.rmx-footer-people svg { color: #5C9AFF; display: block; }
.rmx-footer-blurb {
  font-family: var(--rmx-font-sans);
  font-size: 14px;
  line-height: 1.65;
  color: #D6D1C4;
}
.rmx-footer-memberships {
  max-width: var(--rmx-page-max);
  margin: 40px auto 0;
  font-family: var(--rmx-font-mono);
  font-size: 11px;
  color: #8A847A;
  letter-spacing: .4px;
  font-style: italic;
}
.rmx-footer-legal {
  max-width: var(--rmx-page-max);
  margin: 18px auto 0;
  padding-top: 18px;
  border-top: .5px solid rgba(255,255,255,.08);
  display: flex;
  justify-content: space-between;
  font-family: var(--rmx-font-mono);
  font-size: 11px;
  color: #8A847A;
  letter-spacing: .3px;
}
.rmx-footer-disclaimer {
  max-width: var(--rmx-page-max);
  margin: 14px auto 0;
  font-family: var(--rmx-font-mono);
  font-size: 10.5px;
  color: #75706A;
  letter-spacing: .3px;
  font-style: italic;
}

/* ─── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .rmx-hero-grid { grid-template-columns: 1fr; }
  .rmx-hero-artifact { width: 100%; max-width: 440px; }
  .rmx-problem-grid { grid-template-columns: 1fr; gap: 32px; }
  .rmx-pillar-grid { grid-template-columns: repeat(2, 1fr); }
  .rmx-products-grid { grid-template-columns: 1fr; }
  .rmx-process-item { grid-template-columns: 100px 1fr; }
  .rmx-process-item h3 { grid-column: 2; }
  .rmx-process-body { grid-column: 2; }
  .rmx-record-grid { grid-template-columns: repeat(2, 1fr); }
  .rmx-team-grid { grid-template-columns: repeat(2, 1fr); }
  .rmx-footer-grid { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 640px) {
  .rmx-nav { height: auto; padding: 12px 0; }
  .rmx-nav-inner { flex-wrap: wrap; gap: 16px; padding: 0 20px; }
  .rmx-nav .rmx-audience-tag { display: none; }
  .rmx-container,
  .rmx-hero, .rmx-problem, .rmx-pillars, .rmx-why, .rmx-process,
  .rmx-products, .rmx-record, .rmx-team, .rmx-who, .rmx-faq, .rmx-footer,
  .rmx-field-content { padding-left: 20px; padding-right: 20px; }
  .rmx-hero h1 { font-size: 38px; letter-spacing: -1px; }
  .rmx-problem h2, .rmx-why h2, .rmx-process h2, .rmx-products h2,
  .rmx-record h2, .rmx-team h2, .rmx-who h2, .rmx-faq h2 { font-size: 32px; letter-spacing: -0.6px; }
  .rmx-field h2 { font-size: 32px; letter-spacing: -0.6px; }
  .rmx-pillar-grid { grid-template-columns: 1fr; }
  .rmx-team-grid { grid-template-columns: 1fr; }
  .rmx-record-grid { grid-template-columns: 1fr 1fr; }
  .rmx-process-item { grid-template-columns: 1fr; gap: 10px; }
  .rmx-hero-artifact { height: 580px; }
}
/* ═══════════════════════════════════════════════════════════
   Mobile responsiveness — overrides for ≤900px and ≤600px
   ═══════════════════════════════════════════════════════════ */

/* Tablet & phone — collapse two-column layouts to one */
@media (max-width: 900px) {

  /* Hero — stack columns, shrink the artifact */
  .rmx-hero-grid,
  .rmx-problem-grid,
  .rmx-products-grid,
  .rmx-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* Headlines — scale down */
  .rmx-hero h1 { font-size: 44px !important; line-height: 1.05 !important; }
  .rmx-problem h2,
  .rmx-pillars h2,
  .rmx-why h2,
  .rmx-process h2,
  .rmx-products h2,
  .rmx-record h2,
  .rmx-team h2,
  .rmx-who h2,
  .rmx-faq h2 {
    font-size: 32px !important;
    line-height: 1.1 !important;
  }

  /* Pillars — single column */
  .rmx-pillar-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* Process — single column */
  .rmx-process-list {
    grid-template-columns: 1fr !important;
  }

  /* Record band — 2-up instead of 4-up */
  .rmx-record-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }

  /* Team — single column */
  .rmx-team-grid {
    grid-template-columns: 1fr !important;
  }

  /* KPI strip — stack vertically */
  .rmx-kpi-strip {
    grid-template-columns: 1fr !important;
  }

  /* Section padding — reduce */
  .rmx-hero,
  .rmx-problem,
  .rmx-pillars,
  .rmx-why,
  .rmx-process,
  .rmx-products,
  .rmx-record,
  .rmx-team,
  .rmx-who,
  .rmx-faq {
    padding-left: 24px !important;
    padding-right: 24px !important;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  /* Drop the desktop padding-top on problem body (we added that earlier) */
  .rmx-problem-body {
    padding-top: 0 !important;
  }

  /* Hero artifact — shrink */
  .rmx-hero-artifact-wrap {
    transform: scale(0.85);
    transform-origin: top left;
  }
}

/* Phone-specific — tighter */
@media (max-width: 600px) {

  /* Nav — wrap, hide some links */
  .rmx-nav-inner {
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 12px 16px !important;
  }
  .rmx-nav-link {
    font-size: 13px !important;
  }
  .rmx-nav-spacer { display: none !important; }

  /* Logo — smaller on phones so it doesn't dominate */
  .rmx-nav-inner svg[aria-label="RoyaltyMetrix"] {
    width: 180px !important;
    height: auto !important;
  }

  /* Hero — even smaller headline */
  .rmx-hero h1 { font-size: 34px !important; }
  .rmx-hero-lede { font-size: 16px !important; }

  /* Hero CTAs — stack */
  .rmx-hero-ctas {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .rmx-hero-ctas .rmx-cta,
  .rmx-hero-ctas .rmx-cta-secondary {
    text-align: center;
    width: 100%;
  }

  /* Record band — 1-up on phones */
  .rmx-record-grid {
    grid-template-columns: 1fr !important;
  }

  /* Footer — 1-column */
  .rmx-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .rmx-footer-legal {
    flex-direction: column !important;
    gap: 8px !important;
  }

  /* Hide audience tag on small screens (if you didn't already remove it) */
  .rmx-audience-tag { display: none !important; }

  /* Hero artifact — even smaller, or hide */
  .rmx-hero-artifact-wrap {
    transform: scale(0.7);
    transform-origin: top left;
  }
}

/* Universal — prevent horizontal scroll */
html, body {
  overflow-x: hidden;
}
.rmx-site {
  max-width: 100vw;
  overflow-x: hidden;
}