/* Ridge Federal — portfolio brand takeover.
   Federal-coded but not patriotic-kitsch: deep slate-blue paper, a single
   institutional-bronze accent, monospaced rule, a stamped letterform mark.
   Honest about pilot stage — no invented stats, no telemetry theater. */

.rf-zone {
  --rf-paper:   #F5F2EB;     /* warm institutional cream */
  --rf-ink:     #1E2A3D;     /* navy ink, near-black */
  --rf-ink-2:   #2C3D58;
  --rf-rule:    #C9C0AE;
  --rf-bronze:  #B8893A;     /* federal-seal accent */
  --rf-bronze-d:#8E6A2C;
  --rf-mute:    #6B6555;

  background: var(--rf-paper);
  color: var(--rf-ink);
  padding: 0;
  position: relative;
  overflow: hidden;
}
.rf-zone::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(900px 540px at 12% 6%, rgba(184,137,58,0.10), transparent 65%),
    radial-gradient(700px 480px at 90% 95%, rgba(30,42,61,0.06), transparent 60%);
  pointer-events: none;
}
.rf-zone__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 120px 64px;
  position: relative;
  display: grid;
  gap: 96px;
}

/* ── Editorial nameplate ──────────────────────────────────── */
.rf-handoff {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 24px;
  padding-bottom: 28px;
  border-bottom: 2px solid var(--rf-ink);
  position: relative;
}
.rf-handoff::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -6px;
  height: 1px;
  background: var(--rf-ink);
  opacity: 0.5;
}
.rf-handoff__brand {
  font: 700 clamp(56px, 8vw, 120px)/0.92 'Source Serif Pro', 'IBM Plex Serif', Georgia, serif;
  letter-spacing: -0.025em;
  margin: 0;
  color: var(--rf-ink);
}
.rf-handoff__brand em {
  font-style: normal;
  color: var(--rf-bronze);
}
.rf-handoff__meta {
  font: 600 11px/1.4 var(--font-mono, ui-monospace, monospace);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--rf-mute);
  text-align: right;
}
.rf-handoff__meta b {
  display: block;
  margin-top: 6px;
  color: var(--rf-ink);
  font-weight: 700;
  letter-spacing: 0.16em;
}

/* ── Mission strap (pulled from the site's own line) ──────── */
.rf-mission {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 64px;
  align-items: start;
  position: relative;
}
.rf-mission__copy { min-width: 0; }
.rf-mission .eyebrow {
  font: 600 11px/1 var(--font-mono, ui-monospace, monospace);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--rf-bronze-d);
  margin: 0 0 24px;
  display: inline-flex; align-items: center; gap: 12px;
}
.rf-mission .eyebrow::before {
  content: ""; width: 36px; height: 1px; background: currentColor;
}
.rf-mission h2 {
  font: 600 clamp(40px, 4.8vw, 64px)/1.05 'Source Serif Pro', 'IBM Plex Serif', Georgia, serif;
  letter-spacing: -0.02em;
  margin: 0 0 28px;
  color: var(--rf-ink);
  text-wrap: balance;
}
.rf-mission h2 em {
  font-style: italic;
  color: var(--rf-bronze);
}
.rf-mission p {
  font: 400 19px/1.6 var(--font-sans, system-ui);
  color: var(--rf-ink-2);
  margin: 0 0 16px;
  max-width: 580px;
  text-wrap: pretty;
}

/* The stamped R seal — institutional, not flashy */
.rf-seal {
  position: relative;
  aspect-ratio: 1 / 1;
  max-width: 360px;
  margin-left: auto;
  display: grid;
  place-items: center;
  color: var(--rf-ink);
}
.rf-seal svg {
  width: 100%; height: 100%;
  display: block;
}
.rf-seal__letter {
  position: absolute;
  font: 700 clamp(96px, 13vw, 184px)/1 'Source Serif Pro', 'IBM Plex Serif', Georgia, serif;
  background: linear-gradient(155deg, var(--rf-ink) 0%, var(--rf-ink-2) 45%, var(--rf-bronze) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -0.04em;
}

/* ── Four pillars (Collaboration / Decision-making / Trust / Clarity) ── */
.rf-pillars__head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: 24px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--rf-rule);
  margin-bottom: 0;
}
.rf-pillars__head h3 {
  font: 600 clamp(28px, 3vw, 40px)/1.15 'Source Serif Pro', 'IBM Plex Serif', Georgia, serif;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--rf-ink);
}
.rf-pillars__head h3 em {
  font-style: italic;
  color: var(--rf-bronze);
}
.rf-pillars__head .meta {
  font: 600 11px/1 var(--font-mono, ui-monospace, monospace);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--rf-mute);
}
.rf-pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--rf-rule);
}
.rf-pillar {
  padding: 36px 28px 36px 0;
  border-right: 1px solid var(--rf-rule);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.rf-pillar:last-child {
  border-right: 0;
  padding-right: 0;
}
.rf-pillar:nth-child(n+2) {
  padding-left: 28px;
}
.rf-pillar .ref {
  font: 600 10px/1 var(--font-mono, ui-monospace, monospace);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--rf-bronze-d);
}
.rf-pillar h4 {
  font: 600 22px/1.2 'Source Serif Pro', 'IBM Plex Serif', Georgia, serif;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--rf-ink);
}
.rf-pillar p {
  font: 400 15px/1.55 var(--font-sans, system-ui);
  color: var(--rf-ink-2);
  margin: 0;
  text-wrap: pretty;
}

/* ── Pilot-stage callout — honest about where we are ──────── */
.rf-pilot {
  display: grid;
  grid-template-columns: 200px 1fr 180px;
  gap: 48px;
  align-items: center;
  background: var(--rf-ink);
  color: #F5F2EB;
  padding: 48px 56px;
  position: relative;
}
.rf-pilot::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--rf-bronze);
}
.rf-pilot__stamp {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rf-pilot__stamp .label {
  font: 700 10px/1 var(--font-mono, ui-monospace, monospace);
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--rf-bronze);
}
.rf-pilot__stamp .value {
  font: 700 44px/1 'Source Serif Pro', 'IBM Plex Serif', Georgia, serif;
  letter-spacing: -0.02em;
  color: #fff;
}
.rf-pilot__stamp .sub {
  font: 400 12px/1.4 var(--font-mono, ui-monospace, monospace);
  letter-spacing: 0.1em;
  color: rgba(245,242,235,0.65);
}
.rf-pilot__copy h4 {
  font: 600 22px/1.3 'Source Serif Pro', 'IBM Plex Serif', Georgia, serif;
  letter-spacing: -0.01em;
  margin: 0 0 14px;
  color: #fff;
}
.rf-pilot__copy p {
  font: 400 15px/1.6 var(--font-sans, system-ui);
  color: rgba(245,242,235,0.78);
  margin: 0;
  max-width: 520px;
}
.rf-pilot__meta {
  display: grid;
  gap: 14px;
  text-align: right;
}
.rf-pilot__meta div {
  display: flex; flex-direction: column; gap: 4px;
}
.rf-pilot__meta b {
  font: 700 10px/1 var(--font-mono, ui-monospace, monospace);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--rf-bronze);
}
.rf-pilot__meta span {
  font: 500 14px/1.4 var(--font-sans, system-ui);
  color: rgba(245,242,235,0.85);
}

/* ── What we're testing — the pilot agenda ──────────────── */
.rf-test__head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: 24px;
  padding-bottom: 18px;
  border-bottom: 2px solid var(--rf-ink);
  margin-bottom: 0;
}
.rf-test__head h3 {
  font: 600 clamp(28px, 3vw, 40px)/1.15 'Source Serif Pro', 'IBM Plex Serif', Georgia, serif;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--rf-ink);
}
.rf-test__head h3 em { font-style: italic; color: var(--rf-bronze); }
.rf-test__head .meta {
  font: 600 11px/1 var(--font-mono, ui-monospace, monospace);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--rf-mute);
}
.rf-test {
  display: grid;
  grid-template-columns: 1fr;
}
.rf-test__row {
  display: grid;
  grid-template-columns: 100px 1fr 140px;
  gap: 32px;
  align-items: baseline;
  padding: 24px 0;
  border-bottom: 1px solid var(--rf-rule);
}
.rf-test__row:last-child { border-bottom: 0; }
.rf-test__row .num {
  font: 700 12px/1 var(--font-mono, ui-monospace, monospace);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rf-bronze-d);
}
.rf-test__row h4 {
  font: 600 19px/1.35 'Source Serif Pro', 'IBM Plex Serif', Georgia, serif;
  letter-spacing: -0.005em;
  margin: 0 0 6px;
  color: var(--rf-ink);
}
.rf-test__row p {
  font: 400 15px/1.55 var(--font-sans, system-ui);
  color: var(--rf-ink-2);
  margin: 0;
  max-width: 620px;
}
.rf-test__row .ref {
  font: 600 10px/1 var(--font-mono, ui-monospace, monospace);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--rf-mute);
  text-align: right;
}

/* ── Closing operator note ───────────────────────────────── */
.rf-quote {
  border-left: 4px solid var(--rf-bronze);
  padding: 8px 0 8px 36px;
  max-width: 880px;
}
.rf-quote .eyebrow {
  font: 600 11px/1 var(--font-mono, ui-monospace, monospace);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--rf-bronze-d);
  margin: 0 0 18px;
}
.rf-quote blockquote {
  font: 500 clamp(24px, 2.6vw, 32px)/1.35 'Source Serif Pro', 'IBM Plex Serif', Georgia, serif;
  letter-spacing: -0.01em;
  margin: 0 0 18px;
  color: var(--rf-ink);
  text-wrap: pretty;
}
.rf-quote blockquote em { font-style: italic; color: var(--rf-bronze); }
.rf-quote cite {
  font: 500 12px/1.5 var(--font-mono, ui-monospace, monospace);
  letter-spacing: 0.14em;
  font-style: normal;
  color: var(--rf-mute);
  text-transform: uppercase;
}

/* ── Hero tint — federal slate over the dark base ────────── */
.rf-hero { /* hooks for the locked .mq-hero shell */ }
.rf-hero .mq-hero__giant em {
  color: #E8C580;        /* warm bronze for the accent word */
}
.rf-hero .mq-hero__eyebrow { color: #E8C580; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 1024px) {
  .rf-zone__inner { padding: 80px 32px; gap: 64px; }
  .rf-mission { grid-template-columns: 1fr; gap: 40px; }
  .rf-seal { max-width: 260px; margin: 0 auto; }
  .rf-pillars { grid-template-columns: repeat(2, 1fr); }
  .rf-pillar:nth-child(2) { border-right: 0; padding-right: 0; }
  .rf-pillar:nth-child(3) { padding-left: 0; border-top: 1px solid var(--rf-rule); padding-top: 36px; }
  .rf-pillar:nth-child(4) { border-top: 1px solid var(--rf-rule); padding-top: 36px; }
  .rf-pilot { grid-template-columns: 1fr; gap: 24px; padding: 36px 28px; }
  .rf-pilot__meta { text-align: left; grid-template-columns: repeat(2, 1fr); }
  .rf-test__row { grid-template-columns: 60px 1fr; }
  .rf-test__row .ref { display: none; }
}
