:root {
  --rp-lab: #071310;
  --rp-lab-2: #0d1b17;
  --rp-paper: #f4f1e8;
  --rp-paper-2: #e9e4d8;
  --rp-ink: #101916;
  --rp-muted: #4d5a55;
  --rp-dark-muted: #a6b1ad;
  --rp-coral: #ff6b52;
  --rp-cobalt: #3157d5;
  --rp-link-dark: #89a5ff;
  --rp-lime: #c6e76a;
  --rp-dark-line: rgba(244, 241, 232, 0.17);
  --rp-light-line: rgba(16, 25, 22, 0.18);
  --rp-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --rp-serif: Georgia, "Times New Roman", serif;
  --rp-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

.rp-home,
.rp-page {
  margin: 0;
  color: var(--rp-paper);
  background: var(--rp-lab);
  font-family: var(--rp-sans);
  -webkit-font-smoothing: antialiased;
}

.rp-home *,
.rp-page * {
  box-sizing: border-box;
}

.rp-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.rp-home a,
.rp-page a {
  color: inherit;
  text-decoration: none;
}

.rp-home button,
.rp-page button {
  font: inherit;
}

.rp-shell {
  width: min(1400px, calc(100% - 64px));
  margin-inline: auto;
}

.rp-skip {
  position: fixed;
  top: -90px;
  left: 24px;
  z-index: 120;
  padding: 13px 17px;
  color: var(--rp-ink);
  background: var(--rp-lime);
  border-radius: 3px;
  font-weight: 800;
}

.rp-skip:focus {
  top: 18px;
}

.rp-header {
  position: sticky;
  top: 0;
  z-index: 60;
  color: var(--rp-paper);
  background: rgba(7, 19, 16, 0.86);
  border-bottom: 1px solid var(--rp-dark-line);
  backdrop-filter: blur(18px);
}

.rp-nav {
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 30px;
}

.rp-wordmark {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.045em;
}

.rp-wordmark-mark {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  color: var(--rp-lab);
  background: var(--rp-paper);
  border-radius: 2px;
  font: 800 14px/1 var(--rp-mono);
}

.rp-wordmark small {
  padding-left: 12px;
  border-left: 1px solid var(--rp-dark-line);
  color: var(--rp-dark-muted);
  font: 650 10px/1.2 var(--rp-mono);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.rp-nav-links {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-left: auto;
}

.rp-nav-links > a:not(.rp-button) {
  color: #c8d0cd;
  font-size: 13px;
  font-weight: 650;
}

.rp-nav-links > a:not(.rp-button):hover {
  color: var(--rp-paper);
}

.rp-locale {
  min-width: 40px;
  min-height: 40px;
  display: grid !important;
  place-items: center;
  border: 1px solid var(--rp-dark-line);
  font: 700 10px/1 var(--rp-mono) !important;
}

.rp-menu {
  display: none;
  position: relative;
  width: 44px;
  height: 44px;
  margin-left: auto;
  color: var(--rp-paper);
  background: transparent;
  border: 1px solid var(--rp-dark-line);
}

.rp-menu span,
.rp-menu span::before,
.rp-menu span::after {
  position: absolute;
  left: 11px;
  width: 20px;
  height: 1px;
  content: "";
  background: currentColor;
  transition: 160ms ease;
}

.rp-menu span { top: 21px; }
.rp-menu span::before { left: 0; top: -6px; }
.rp-menu span::after { left: 0; top: 6px; }
.rp-menu[aria-expanded="true"] span { background: transparent; }
.rp-menu[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
.rp-menu[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }

.rp-mobile-nav {
  display: none;
  padding: 8px 24px 22px;
  background: var(--rp-lab);
  border-top: 1px solid var(--rp-dark-line);
}

.rp-mobile-nav.open { display: grid; }
.rp-mobile-nav a { padding: 14px 2px; border-bottom: 1px solid var(--rp-dark-line); font-weight: 650; }

.rp-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 19px;
  border: 1px solid currentColor;
  border-radius: 3px;
  font-size: 13px;
  font-weight: 760;
  transition: color 160ms ease, background 160ms ease, border-color 160ms ease;
}

.rp-button.rp-button-dark {
  color: var(--rp-lab);
  background: var(--rp-paper);
  border-color: var(--rp-paper);
}

.rp-button.rp-button-dark:hover { background: var(--rp-lime); border-color: var(--rp-lime); }
.rp-button.rp-button-outline { color: var(--rp-paper); background: transparent; border-color: var(--rp-dark-line); }
.rp-button.rp-button-outline:hover { border-color: var(--rp-paper); }
.rp-button.rp-button-cobalt { color: white; background: var(--rp-cobalt); border-color: var(--rp-cobalt); }
.rp-button.rp-button-cobalt:hover { background: #2445b7; border-color: #2445b7; }
.rp-button.rp-button-ink { color: var(--rp-paper); background: var(--rp-ink); border-color: var(--rp-ink); }
.rp-text-link.rp-text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--rp-cobalt); font-weight: 750; }
.rp-text-link span { transition: transform 160ms ease; }
.rp-text-link:hover span { transform: translateX(3px); }

.rp-home a:focus-visible,
.rp-home button:focus-visible,
.rp-page a:focus-visible,
.rp-page button:focus-visible {
  outline: 3px solid var(--rp-lime);
  outline-offset: 4px;
}

.rp-section-paper a:focus-visible,
.rp-section-paper button:focus-visible,
.rp-section-light a:focus-visible,
.rp-section-light button:focus-visible {
  outline-color: var(--rp-cobalt);
}

.rp-eyebrow,
.rp-meta {
  font: 700 10px/1.35 var(--rp-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rp-eyebrow {
  display: flex;
  align-items: center;
  gap: 11px;
}

.rp-eyebrow::before {
  width: 30px;
  height: 1px;
  content: "";
  background: currentColor;
}

.rp-hero {
  position: relative;
  min-height: 820px;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  border-bottom: 1px solid var(--rp-dark-line);
}

.rp-hero-grid {
  min-height: 740px;
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(500px, 6fr);
  gap: 30px;
  align-items: center;
  padding-block: 82px 66px;
}

.rp-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 820px;
}

.rp-hero .rp-eyebrow { color: var(--rp-lime); }

.rp-hero h1 {
  margin: 27px 0 0;
  font-size: clamp(57px, 7.3vw, 112px);
  line-height: 0.88;
  letter-spacing: -0.075em;
  text-wrap: balance;
}

.rp-hero h1 em {
  display: block;
  color: var(--rp-coral);
  font-family: var(--rp-serif);
  font-weight: 400;
  letter-spacing: -0.055em;
}

.rp-lead {
  max-width: 730px;
  margin: 31px 0 0;
  color: #bec8c4;
  font-size: clamp(18px, 1.6vw, 23px);
  line-height: 1.5;
  letter-spacing: -0.018em;
}

.rp-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 33px;
}

.rp-boundary {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 28px;
  padding-top: 19px;
  color: #9eaaa5;
  border-top: 1px solid var(--rp-dark-line);
  font: 650 9px/1.55 var(--rp-mono);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.rp-boundary span:not(:last-child)::after {
  margin: 0 10px;
  content: "/";
  color: #5e6b66;
}

.rp-field {
  position: relative;
  height: 610px;
  min-width: 0;
  isolation: isolate;
}

.rp-field::before {
  position: absolute;
  inset: 9% 1%;
  z-index: -1;
  content: "";
  background: radial-gradient(ellipse, rgba(49, 87, 213, 0.18), rgba(7, 19, 16, 0) 70%);
}

.rp-field canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.rp-field.evidence-unavailable canvas,
.rp-field.evidence-unavailable .rp-field-stamp,
.rp-field.evidence-unavailable .rp-field-controls,
.rp-field.evidence-unavailable .rp-field-cutoff,
.rp-field.evidence-unavailable .rp-field-axes {
  display: none;
}

.rp-field.evidence-unavailable::after {
  position: absolute;
  inset: 28% 8%;
  display: grid;
  place-items: center;
  padding: 24px;
  content: attr(data-empty-label);
  color: var(--rp-dark-muted);
  background: rgba(7, 19, 16, 0.84);
  border: 1px solid var(--rp-dark-line);
  font: 700 12px/1.5 var(--rp-mono);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.rp-field canvas.webgl-fallback {
  opacity: 0.78;
  background:
    linear-gradient(155deg, transparent 12%, rgba(137, 165, 255, 0.22) 49%, transparent 50%),
    repeating-linear-gradient(0deg, transparent 0 28px, rgba(198, 231, 106, 0.14) 29px 30px);
  clip-path: polygon(0 22%, 100% 4%, 100% 81%, 0 96%);
}

.rp-field-stamp,
.rp-field-cutoff,
.rp-field-axes,
.rp-field-controls {
  position: absolute;
  z-index: 3;
  font-family: var(--rp-mono);
}

.rp-field-stamp {
  top: 6%;
  left: 3%;
  padding: 8px 9px;
  color: var(--rp-lime);
  background: rgba(7, 19, 16, 0.8);
  border: 1px solid var(--rp-dark-line);
  font-size: 9px;
  letter-spacing: 0.09em;
}

.rp-field-cutoff {
  right: 2%;
  bottom: 16%;
  width: 205px;
  padding: 15px;
  color: var(--rp-paper);
  background: rgba(7, 19, 16, 0.86);
  border: 1px solid var(--rp-dark-line);
}

.rp-field-cutoff small { display: block; color: var(--rp-dark-muted); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; }
.rp-field-cutoff strong { display: block; margin-top: 8px; font-size: 14px; }
.rp-field-cutoff span { display: block; margin-top: 8px; color: var(--rp-coral); font-size: 9px; }

.rp-field-axes {
  left: 3%;
  right: 2%;
  bottom: 3%;
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding-top: 12px;
  color: #81908a;
  border-top: 1px solid var(--rp-dark-line);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rp-field-controls {
  left: 3%;
  bottom: 14%;
  display: flex;
  background: rgba(7, 19, 16, 0.82);
  border: 1px solid var(--rp-dark-line);
}

.rp-field-controls button {
  min-height: 44px;
  padding: 0 13px;
  color: #9eaaa5;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--rp-dark-line);
  font: 700 10px/1 var(--rp-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.rp-field-controls button:last-child { border: 0; }
.rp-field-controls button.active { color: var(--rp-lab); background: var(--rp-lime); }

.rp-proof-rail {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--rp-dark-line);
}

.rp-proof-rail > div {
  min-height: 96px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 20px 25px;
  border-right: 1px solid var(--rp-dark-line);
}

.rp-proof-rail > div:last-child { border: 0; }
.rp-proof-rail b { color: var(--rp-coral); font: 700 10px/1 var(--rp-mono); }
.rp-proof-rail span { color: #b6c0bc; font-size: 12px; line-height: 1.45; }

.rp-section {
  position: relative;
  padding: 126px 0;
  border-bottom: 1px solid var(--rp-light-line);
}

.rp-section-dark {
  color: var(--rp-paper);
  background: var(--rp-lab);
  border-color: var(--rp-dark-line);
}

.rp-section-paper {
  color: var(--rp-ink);
  background: var(--rp-paper);
}

.rp-section-cobalt {
  color: white;
  background: var(--rp-cobalt);
  border-color: rgba(255, 255, 255, 0.25);
}

.rp-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 470px);
  gap: 80px;
  align-items: end;
  margin-bottom: 58px;
}

.rp-section h2,
.rp-page-hero h1 {
  margin: 18px 0 0;
  font-size: clamp(44px, 5.7vw, 80px);
  line-height: 0.96;
  letter-spacing: -0.065em;
  text-wrap: balance;
}

.rp-section-head > p,
.rp-section-copy {
  margin: 0;
  color: var(--rp-muted);
  font-size: 16px;
  line-height: 1.72;
}

.rp-section-dark .rp-section-head > p,
.rp-section-dark .rp-section-copy { color: var(--rp-dark-muted); }
.rp-section-paper .rp-eyebrow { color: var(--rp-cobalt); }
.rp-section-dark .rp-eyebrow { color: var(--rp-lime); }

.rp-manifesto {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 100px;
  align-items: start;
}

.rp-process {
  border-top: 1px solid var(--rp-dark-line);
  counter-reset: process;
}

.rp-process-row {
  counter-increment: process;
  display: grid;
  grid-template-columns: 46px 1fr auto;
  gap: 16px;
  align-items: center;
  min-height: 82px;
  border-bottom: 1px solid var(--rp-dark-line);
}

.rp-process-row::before {
  content: "0" counter(process);
  color: var(--rp-coral);
  font: 700 9px/1 var(--rp-mono);
}

.rp-process-row strong { font-size: 17px; }
.rp-process-row span { color: #788782; font: 700 9px/1 var(--rp-mono); }

.rp-system-feature {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  border: 1px solid var(--rp-ink);
  background: white;
}

.rp-system-intro {
  min-height: 500px;
  display: flex;
  flex-direction: column;
  padding: 34px;
  border-right: 1px solid var(--rp-ink);
}

.rp-system-code {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  font: 700 10px/1.3 var(--rp-mono);
  letter-spacing: 0.1em;
}

.rp-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #1e562f;
}

.rp-status::before {
  width: 7px;
  height: 7px;
  content: "";
  background: var(--rp-lime);
  border: 1px solid #527023;
  border-radius: 50%;
}

.rp-system-intro h3 {
  margin: 62px 0 0;
  font-size: clamp(53px, 6vw, 86px);
  line-height: 0.9;
  letter-spacing: -0.075em;
}

.rp-system-intro > p {
  margin: 24px 0 0;
  color: var(--rp-muted);
  font-size: 15px;
  line-height: 1.65;
}

.rp-system-intro .rp-actions { margin-top: auto; padding-top: 35px; }

.rp-system-evidence {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.rp-evidence-cell {
  min-height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 29px;
  border-right: 1px solid var(--rp-light-line);
  border-bottom: 1px solid var(--rp-light-line);
}

.rp-evidence-cell:nth-child(2n) { border-right: 0; }
.rp-evidence-cell:nth-last-child(-n + 2) { border-bottom: 0; }
.rp-evidence-cell label { color: var(--rp-muted); font: 700 9px/1.4 var(--rp-mono); letter-spacing: 0.1em; text-transform: uppercase; }
.rp-evidence-cell strong { display: block; margin-top: 12px; font-size: clamp(28px, 3.6vw, 48px); letter-spacing: -0.055em; }
.rp-evidence-cell small { color: var(--rp-muted); font-size: 11px; line-height: 1.5; }

.rp-program-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--rp-dark-line);
  border-left: 1px solid var(--rp-dark-line);
}

.rp-program-card {
  min-height: 390px;
  display: flex;
  flex-direction: column;
  padding: 27px;
  border-right: 1px solid var(--rp-dark-line);
  border-bottom: 1px solid var(--rp-dark-line);
}

.rp-program-top { display: flex; justify-content: space-between; gap: 13px; color: var(--rp-dark-muted); font: 700 8px/1.3 var(--rp-mono); letter-spacing: 0.08em; text-transform: uppercase; }
.rp-program-card h3 { margin: 70px 0 0; font-size: 24px; letter-spacing: -0.035em; }
.rp-program-card p { margin: 17px 0 0; color: var(--rp-dark-muted); font-size: 13px; line-height: 1.65; }
.rp-program-card footer { margin-top: auto; padding-top: 26px; color: var(--rp-link-dark); font: 700 9px/1.35 var(--rp-mono); letter-spacing: 0.08em; text-transform: uppercase; }
.rp-program-card.active { background: rgba(198, 231, 106, 0.055); }
.rp-program-card.active footer { color: var(--rp-lime); }

.rp-output-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--rp-ink);
  border-left: 1px solid var(--rp-ink);
}

.rp-output-card {
  min-height: 340px;
  display: flex;
  flex-direction: column;
  padding: 28px;
  border-right: 1px solid var(--rp-ink);
  border-bottom: 1px solid var(--rp-ink);
  transition: background 160ms ease;
}

.rp-output-card:hover { background: white; }
.rp-output-card .rp-meta { color: var(--rp-cobalt); }
.rp-output-card h3 { margin: 68px 0 0; font-size: 24px; line-height: 1.1; letter-spacing: -0.04em; }
.rp-output-card p { margin: 15px 0 0; color: var(--rp-muted); font-size: 13px; line-height: 1.65; }
.rp-output-card .rp-text-link { margin-top: auto; padding-top: 25px; font-size: 12px; }

.rp-principle-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}

.rp-principle {
  min-height: 310px;
  padding: 26px;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.rp-principle span { font: 700 9px/1 var(--rp-mono); }
.rp-principle h3 { margin: 65px 0 0; font-size: 19px; line-height: 1.2; }
.rp-principle p { margin: 14px 0 0; color: #dbe2ff; font-size: 12px; line-height: 1.6; }

.rp-access {
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 80px;
  align-items: center;
}

.rp-access-copy p { max-width: 680px; color: var(--rp-muted); font-size: 17px; line-height: 1.7; }
.rp-access-card { padding: 31px; background: white; border: 1px solid var(--rp-ink); box-shadow: 12px 12px 0 var(--rp-lime); }
.rp-access-card .rp-meta { color: var(--rp-cobalt); }
.rp-price { display: flex; align-items: flex-end; gap: 8px; margin-top: 28px; }
.rp-price strong { font-size: 54px; line-height: 0.9; letter-spacing: -0.07em; }
.rp-price span { color: var(--rp-muted); font: 650 10px/1.4 var(--rp-mono); }
.rp-access-list { list-style: none; margin: 25px 0; padding: 21px 0; display: grid; gap: 11px; border-top: 1px solid var(--rp-light-line); border-bottom: 1px solid var(--rp-light-line); }
.rp-access-list li { display: flex; gap: 9px; font-size: 13px; }
.rp-access-list li::before { content: "—"; color: var(--rp-cobalt); }
.rp-access-card .rp-button { width: 100%; }

.rp-page-hero {
  padding: 96px 0 80px;
  color: var(--rp-ink);
  background: var(--rp-paper);
  border-bottom: 1px solid var(--rp-light-line);
}

.rp-page-hero .rp-eyebrow { color: var(--rp-cobalt); }
.rp-page-hero p { max-width: 760px; margin: 28px 0 0; color: var(--rp-muted); font-size: 19px; line-height: 1.65; }
.rp-page-main { color: var(--rp-ink); background: var(--rp-paper); }
.rp-page-main .rp-section:first-child { padding-top: 85px; }

.rp-charter-grid,
.rp-trust-grid,
.rp-about-grid {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: 80px;
}

.rp-sticky { position: sticky; top: 112px; align-self: start; }
.rp-sticky h2 { margin-top: 17px; }
.rp-list-rows { border-top: 1px solid var(--rp-ink); }
.rp-list-row { display: grid; grid-template-columns: 56px 1fr; gap: 18px; padding: 25px 0; border-bottom: 1px solid var(--rp-ink); }
.rp-list-row > span { color: var(--rp-cobalt); font: 700 9px/1 var(--rp-mono); }
.rp-list-row h3 { margin: 0; font-size: 19px; letter-spacing: -0.025em; }
.rp-list-row p { margin: 8px 0 0; color: var(--rp-muted); font-size: 13px; line-height: 1.65; }

.rp-about-operator { padding: 29px; background: white; border: 1px solid var(--rp-ink); }
.rp-operator-mark { width: 62px; height: 62px; display: grid; place-items: center; color: var(--rp-ink); background: var(--rp-lime); border-radius: 50%; font: 800 13px/1 var(--rp-mono); }
.rp-about-operator h3 { margin: 29px 0 0; font-size: 29px; letter-spacing: -0.045em; }
.rp-about-operator p { color: var(--rp-muted); font-size: 13px; line-height: 1.65; }

.rp-footer {
  padding: 65px 0 35px;
  color: var(--rp-paper);
  background: var(--rp-lab);
}

.rp-footer-grid {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 0.6fr);
  gap: 55px;
}

.rp-footer p { max-width: 480px; color: var(--rp-dark-muted); font-size: 12px; line-height: 1.65; }
.rp-footer-title { margin: 0 0 15px; color: #83908b; font: 700 9px/1 var(--rp-mono); letter-spacing: 0.1em; text-transform: uppercase; }
.rp-footer-links { display: grid; gap: 9px; }
.rp-footer-links a { color: #c7cfcc; font-size: 12px; }
.rp-footer-links a:hover { color: white; }
.rp-footer-risk { display: flex; justify-content: space-between; gap: 30px; margin-top: 45px; padding-top: 22px; color: #7f8c87; border-top: 1px solid var(--rp-dark-line); font-size: 10px; line-height: 1.6; }
.rp-footer-risk p { margin: 0; font-size: inherit; }
.rp-footer-risk span { flex: 0 0 auto; font-family: var(--rp-mono); }

[data-rp-reveal] {
  opacity: 0;
  transform: translateY(17px);
  transition: opacity 650ms ease, transform 650ms ease;
}

[data-rp-reveal].revealed { opacity: 1; transform: none; }

@media (max-width: 1120px) {
  .rp-nav-links .rp-nav-optional { display: none; }
  .rp-hero { min-height: auto; }
  .rp-hero-grid { grid-template-columns: 1fr; }
  .rp-hero-copy { max-width: 950px; }
  .rp-field { width: min(900px, 100%); height: 570px; }
  .rp-manifesto,
  .rp-system-feature,
  .rp-charter-grid,
  .rp-trust-grid,
  .rp-about-grid,
  .rp-access { grid-template-columns: 1fr; gap: 50px; }
  .rp-system-intro { min-height: 430px; border-right: 0; border-bottom: 1px solid var(--rp-ink); }
  .rp-program-grid { grid-template-columns: repeat(2, 1fr); }
  .rp-principle-grid { grid-template-columns: repeat(2, 1fr); }
  .rp-sticky { position: static; }
  .rp-access-card { max-width: 560px; }
}

@media (max-width: 820px) {
  .rp-shell { width: min(100% - 30px, 1400px); }
  .rp-nav-links { display: none; }
  .rp-menu { display: block; }
  .rp-wordmark small { display: none; }
  .rp-hero-grid { min-height: auto; padding-block: 65px 48px; }
  .rp-hero h1 { font-size: clamp(52px, 14.5vw, 75px); }
  .rp-lead { font-size: 18px; }
  .rp-actions { display: grid; }
  .rp-actions .rp-button { width: 100%; }
  .rp-boundary { display: grid; gap: 7px; }
  .rp-boundary span:not(:last-child)::after { display: none; }
  .rp-field { height: 480px; }
  .rp-field-cutoff { width: 185px; }
  .rp-field-controls { top: 16%; bottom: auto; }
  .rp-proof-rail { grid-template-columns: 1fr; }
  .rp-proof-rail > div { border-right: 0; border-bottom: 1px solid var(--rp-dark-line); }
  .rp-section { padding: 86px 0; }
  .rp-section-head { display: block; margin-bottom: 38px; }
  .rp-section-head > p { margin-top: 23px; }
  .rp-section h2,
  .rp-page-hero h1 { font-size: 43px; overflow-wrap: anywhere; hyphens: auto; }
  .rp-manifesto { gap: 39px; }
  .rp-system-evidence { grid-template-columns: 1fr; }
  .rp-evidence-cell { min-height: 190px; border-right: 0; border-bottom: 1px solid var(--rp-light-line) !important; }
  .rp-evidence-cell:last-child { border-bottom: 0 !important; }
  .rp-program-grid,
  .rp-output-grid,
  .rp-principle-grid { grid-template-columns: 1fr; }
  .rp-program-card { min-height: 310px; }
  .rp-output-card { min-height: 280px; }
  .rp-principle { min-height: 250px; }
  .rp-footer-grid { grid-template-columns: 1fr 1fr; }
  .rp-footer-grid > div:first-child { grid-column: 1 / -1; }
  .rp-footer-risk { display: block; }
  .rp-footer-risk span { display: block; margin-top: 12px; }
  .rp-page-hero { padding: 72px 0 60px; }
}

@media (max-width: 500px) {
  .rp-hero h1 { font-size: 49px; }
  .rp-field { height: 420px; }
  .rp-field-cutoff { right: 0; bottom: 20%; }
  .rp-field-stamp { left: 0; }
  .rp-field-controls { left: 0; }
  .rp-field-axes { left: 0; right: 0; display: grid; gap: 3px; }
  .rp-system-intro { padding: 24px; }
  .rp-system-intro h3 { font-size: 56px; }
  .rp-access-card { padding: 23px; box-shadow: 8px 8px 0 var(--rp-lime); }
  .rp-footer-grid { grid-template-columns: 1fr; }
  .rp-footer-grid > div:first-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  [data-rp-reveal] { opacity: 1; transform: none; }
}
