
/* ============================================================
   RSG VARIANT B — DESIGN TOKENS (May 2026 revision, harmonised w/ Yelp Ads page)
   Only TWO fonts on the site: Montserrat (display) + DM Sans (everything else).
   --font-mono kept as a token name for compatibility with existing component
   CSS but now maps to DM Sans. JetBrains Mono is RETIRED.
   ============================================================ */
.rsg-page {
  /* Greens — v2 palette */
  --green-700: #143E25;
  --green-600: #1F5B36;
  --green-500: #2C7A4B;
  --green-400: #3FA66B;
  --green-50:  #E8F1EB;
  --green-25:  #f4faf5;

  /* Ink */
  --ink-900: #111111;
  --ink-700: #262626;
  --ink-500: #6B6B6B;
  --ink-400: #6b7670;
  --ink-300: #9ba49f;
  --ink-2:   #2E2E2E;
  --ink:     #1A1A1A;
  --black:   #000000;

  /* Paper backgrounds — cream RETIRED, all whites */
  --paper:      #FFFFFF;
  --paper-soft: #FFFFFF;
  --paper-line: #E5E4DE;
  --bg:         #FFFFFF;
  --bg-soft:    #FFFFFF;
  --bg-tint:    #FFFFFF;
  --border:     #e6ebe7;
  --border-strong: #d4dcd6;
  --line:       #E4E8E5;
  --line-2:     #EEF1EE;

  /* Accents */
  --amber:      #f5a623;
  --orange-500: #E78A2C;
  --red:        #C8202B;

  /* Shadow + radius scale */
  --shadow-sm: 0 1px 2px rgba(14, 31, 21, 0.04), 0 1px 3px rgba(14, 31, 21, 0.06);
  --shadow-md: 0 6px 24px rgba(0,0,0,0.06);
  --shadow-lg: 0 18px 48px rgba(0,0,0,0.10);

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;

  /* Layout */
  --container: 1200px;
  --gutter: 24px;
  --section-y: 96px;
  --section-y-sm: 64px;
  --card-pad: 28px;
  --card-pad-lg: 32px;
  --grid-gap: 20px;
  --grid-gap-lg: 24px;
  --header-mb: 56px;

  /* Dark gradient — no external image dep, matches Yelp page */
  --dark-grad: linear-gradient(135deg, #0A0A0A 0%, #1F1F1F 50%, #0A0A0A 100%);

  /* Font tokens */
  --font-display: 'Montserrat', system-ui, sans-serif;
  --font-body: 'DM Sans', system-ui, sans-serif;
  --font-mono: 'DM Sans', system-ui, sans-serif;
}


.rsg-page *, .rsg-page *::before, .rsg-page *::after { box-sizing: border-box; }
.rsg-page { scroll-behavior: smooth; }
.rsg-page {
  margin: 0;
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink-500);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.rsg-page img, .rsg-page svg { display: block; max-width: 100%; }
.rsg-page button { font: inherit; cursor: pointer; border: 0; background: transparent; color: inherit; }
.rsg-page a { color: var(--green-500); text-decoration: none; }
.rsg-page a:hover { text-decoration: underline; }


.rsg-page h1, .rsg-page h2, .rsg-page h3, .rsg-page h4 {
  font-family: var(--font-display);
  color: var(--ink-900);
  letter-spacing: -0.015em;
  line-height: 1.15;
  margin: 0 0 16px;
  font-weight: 700;
  text-transform: capitalize;
}

/* Heading reset — plain, no italic, no underline. Green em emphasis. */
.rsg-page h1 em, .rsg-page h2 em, .rsg-page h3 em, .rsg-page h4 em { font-style: normal; text-decoration: none; color: var(--green-500); font-weight: inherit; }

.rsg-page .eyebrow, .rsg-page .pill, .rsg-page .tier-name, .rsg-page .channel-tag, .rsg-page .case-tag, .rsg-page .factor-num, .rsg-page .phase-num, .rsg-page .ops-cadence, .rsg-page .fit-tag, .rsg-page .ready-card .label, .rsg-page .onboard-card h3 .label, .rsg-page .tier-tag, .rsg-page .promise-badge, .rsg-page .case-stat-lbl, .rsg-page .invest-stage, .rsg-page .hv-badge, .rsg-page .hv-stat-label, .rsg-page .hv-chart-label, .rsg-page .duo-tag, .rsg-page .logo-strip-label, .rsg-page .hv-float-lead .label, .rsg-page .footer-brand h4, .rsg-page footer h4, .rsg-page .nav-links a, .rsg-page .channel-tab { text-transform: none; }

.rsg-page .eyebrow { text-transform: uppercase; }
.rsg-page .logo-strip-label, .rsg-page .channel-meta dt { text-transform: uppercase; }
.rsg-page .factor-num, .rsg-page .phase-num, .rsg-page .ops-cadence, .rsg-page .pill, .rsg-page .channel-tag, .rsg-page .case-tag, .rsg-page .fit-tag, .rsg-page .tier-name, .rsg-page .tier-tag, .rsg-page .promise-badge, .rsg-page .case-stat-lbl, .rsg-page .hv-stat-label, .rsg-page .ready-card .label, .rsg-page .onboard-card h3 .label, .rsg-page .wrong-action strong, .rsg-page .duo-tag { text-transform: uppercase; }
.rsg-page h1 { font-size: clamp(36px, 5vw, 56px); font-weight: 700; letter-spacing: -0.02em; line-height: 1.08; }
.rsg-page h2 { font-size: clamp(28px, 3.6vw, 42px); font-weight: 700; letter-spacing: -0.015em; line-height: 1.14; }
.rsg-page h3 { font-size: clamp(20px, 2.2vw, 24px); font-weight: 700; }
.rsg-page h4 { font-size: 17px; font-weight: 700; color: var(--ink-900); }
.rsg-page p { margin: 0 0 16px; color: var(--ink-2); text-wrap: pretty; }
.rsg-page strong { color: var(--ink-900); font-weight: 700; }


.rsg-page .container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.rsg-page .container-narrow {
  max-width: 880px;
  margin-inline: auto;
  padding-inline: var(--gutter);
}


.rsg-page section { padding: var(--section-y) 0; }
.rsg-page .section-soft { background: var(--paper-soft); }
.rsg-page .section-tint { background: var(--paper-soft); }

.rsg-page .dark-bg,
.rsg-page .section-dark {
  background: var(--dark-grad);
  color: rgba(255,255,255,0.88);
  position: relative;
}
.rsg-page .section-dark h2, .rsg-page .section-dark h3, .rsg-page .section-dark h4 { color: #fff; }
.rsg-page .section-dark p { color: rgba(255,255,255,0.78); }
.rsg-page .section-dark p strong,
.rsg-page .section-dark p b,
.rsg-page .spec-section p strong,
.rsg-page .spec-section p b,
.rsg-page .dark-bg p strong,
.rsg-page .dark-bg p b { color: #fff; }

/* Section intro / header — left-aligned by default, lede balanced w/ 820px max */
.rsg-page .section-intro { text-align: left; margin: 0 0 var(--header-mb); }
.rsg-page .section-intro p { font-size: clamp(15px, 1.4vw, 17px); color: var(--ink-2); }
.rsg-page .section-intro.center { text-align: center; margin-left: auto; margin-right: auto; }
.rsg-page .section-dark .section-intro p { color: rgba(255,255,255,0.75); }

/* Eyebrow — 7px green dot, 0.18em letter-spacing, Montserrat 700 */
.rsg-page .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--green-600);
  margin-bottom: 18px;
}
.rsg-page .eyebrow::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--green-500);
  display: inline-block;
  flex-shrink: 0;
}
.rsg-page .section-dark .eyebrow { color: var(--green-500); }
.rsg-page .section-dark .eyebrow::before { background: var(--green-500); box-shadow: 0 0 12px rgba(44,122,75,0.6); }

/* Dark-pill eyebrow variant (mirrors Yelp Ads page hero) */
.rsg-page .eyebrow.eyebrow-pill {
  background: #000;
  color: #fff;
  padding: 9px 18px;
  border-radius: 999px;
  gap: 9px;
  font-size: 11.5px;
  letter-spacing: 0.14em;
  margin-bottom: 22px;
  box-shadow: 0 4px 14px rgba(0,0,0,0.18);
}
.rsg-page .eyebrow.eyebrow-pill::before {
  width: 8px;
  height: 8px;
  background: var(--green-500);
  box-shadow: 0 0 0 4px rgba(44,122,75,0.28);
  animation: rsgPulse 2s infinite;
}
@keyframes rsgPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.18); opacity: 0.85; }
}

/* Dashed blue callout (italic emphasis line) */
.rsg-page .dashed-callout,
.rsg-page h1.dashed-callout,
.rsg-page h2.dashed-callout,
.rsg-page h3.dashed-callout,
.rsg-page h4.dashed-callout {
  display: block;
  background: #EBECFF;
  border: 1.5px dashed rgb(0, 38, 135);
  border-radius: 10px;
  padding: 8px 14px;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: 13px !important;
  line-height: 1.4;
  color: rgb(0, 38, 135);
  text-align: left;
  text-decoration: none;
  text-transform: capitalize;
  letter-spacing: 0;
  margin: 0 0 18px;
}
.rsg-page .dashed-callout strong { color: rgb(0, 38, 135); font-weight: 700; }


.rsg-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  line-height: 1;
  padding: 16px 24px;
  border-radius: 999px;
  border: 1.5px solid transparent;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  min-height: 48px;
}
.rsg-page .btn-primary {
  background: var(--green-500);
  color: #fff;
  box-shadow: 0 6px 16px -6px rgba(44, 122, 75, 0.5);
}
.rsg-page .btn-primary:hover {
  background: var(--green-600);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(44, 122, 75, 0.25);
  text-decoration: none;
}
.rsg-page .btn-secondary {
  background: #fff;
  color: var(--ink-900);
  border-color: var(--border-strong);
}
.rsg-page .btn-secondary:hover {
  border-color: var(--ink-900);
  transform: translateY(-1px);
  text-decoration: none;
}
.rsg-page .btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  color: var(--ink-900);
  padding: 14px 22px 14px 24px;
  border: 1.5px solid var(--ink-900);
  border-radius: 999px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: -0.005em;
  transition: background .2s, color .2s, border-color .2s, transform .15s;
}
.rsg-page .btn-ghost::after {
  content: "\2192 ";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--ink-900);
  color: #fff;
  font-size: 13px;
  transition: transform .2s, background .2s;
}
.rsg-page .btn-ghost:hover {
  background: var(--ink-900);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}
.rsg-page .btn-ghost:hover::after { background: var(--green-500); transform: translateX(3px); }

.rsg-page .section-dark .btn-secondary {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,0.3);
}
.rsg-page .section-dark .btn-secondary:hover { border-color: #fff; }


.rsg-page .nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,0.96);
  backdrop-filter: saturate(140%) blur(8px);
  border-bottom: 1px solid transparent;
  transition: border-color .2s, box-shadow .2s;
}
.rsg-page .nav.scrolled {
  border-bottom-color: var(--border);
  box-shadow: 0 1px 0 rgba(0,0,0,0.03);
}
.rsg-page .nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
  gap: 24px;
}
.rsg-page .brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  color: var(--ink-900);
  text-decoration: none;
  letter-spacing: -0.01em;
}
.rsg-page .brand:hover { text-decoration: none; }
.rsg-page .brand-mark {
  display: flex; align-items: flex-end; gap: 2px;
  height: 22px;
}
.rsg-page .brand-mark span {
  width: 4px;
  background: var(--green-500);
  border-radius: 1px;
}
.rsg-page .brand-mark span:nth-child(1) { height: 30%; }
.rsg-page .brand-mark span:nth-child(2) { height: 55%; }
.rsg-page .brand-mark span:nth-child(3) { height: 80%; }
.rsg-page .brand-mark span:nth-child(4) { height: 100%; background: var(--green-700); }

.rsg-page .nav-links {
  display: flex;
  align-items: center;
  gap: 32px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.rsg-page .nav-links a {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 14px;
  color: var(--ink-700);
  text-decoration: none;
  transition: color .15s;
}
.rsg-page .nav-links a:hover { color: var(--green-500); }
.rsg-page .nav-cta {
  display: flex;
  align-items: center;
  gap: 12px;
}
.rsg-page .nav-cta .btn { padding: 12px 20px; min-height: 44px; font-size: 14px; }
.rsg-page .nav-burger { display: none; }


.rsg-page .hero {
  padding: 72px 0 var(--section-y);
  background: linear-gradient(180deg, var(--bg-tint) 0%, #fff 100%);
  position: relative;
  overflow: hidden;
}
.rsg-page .hero-grid {
  display: grid;
  grid-template-columns: 1.02fr 1fr;
  gap: 64px;
  align-items: center;
}
.rsg-page .hero h1 {
  font-size: clamp(32px, 3.5vw, 45px);
  line-height: 1.08;
  letter-spacing: -0.025em;
  margin-bottom: 22px;
  text-wrap: balance;
}
.rsg-page .hero h1 em {
  font-style: normal;
  color: var(--green-500);
  position: relative;
}
.rsg-page .hero-sub {
  font-size: 16px;
  line-height: 1.55;
  color: var(--ink-500);
  margin-bottom: 32px;
  max-width: 540px;
}
.rsg-page .hero-cta {
  display: flex;
  gap: 14px;
  flex-wrap: nowrap;
  align-items: center;
  margin-bottom: 0;
  margin-top: 32px;
}
.rsg-page .hero-cta .btn { white-space: nowrap; }
@media (max-width: 640px) { .rsg-page .hero-cta { flex-wrap: wrap; } }
.rsg-page .hero-trust {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.rsg-page .trust-item {
  display: flex;
  align-items: center;
  gap: 0;
  font-size: 15.5px;
  line-height: 1.4;
  color: var(--ink-500);
  font-family: var(--font-body);
  white-space: nowrap;
}
.rsg-page .trust-item .trust-icon { margin-right: 12px; }
.rsg-page .trust-item strong {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--ink-900);
  font-size: 16px;
  letter-spacing: -0.01em;
  margin-right: 6px;
}
.rsg-page .trust-icon {
  width: 28px; height: 28px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--green-50);
  color: var(--green-500);
}
.rsg-page .trust-bar { display: none; }
@media (max-width: 720px) {
  .rsg-page .trust-item { white-space: normal; font-size: 15px; }
}


.rsg-page .hero-visual {
  position: relative;
}
.rsg-page .hv-card {
  position: absolute;
  background: #fff;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--border);
}
.rsg-page .hv-main {
  inset: 0;
  padding: 24px;
  display: flex; flex-direction: column; gap: 16px;
}
.rsg-page .hv-head {
  display: flex; justify-content: space-between; align-items: center;
}
.rsg-page .hv-title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--ink-900);
  font-size: 15px;
}
.rsg-page .hv-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--green-50);
  color: var(--green-600);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
}
.rsg-page .hv-badge::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--green-500);
}
.rsg-page .hv-stats {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
}
.rsg-page .hv-stat {
  background: var(--bg-soft);
  border-radius: 10px;
  padding: 12px;
  border: 1px solid var(--border);
}
.rsg-page .hv-stat-label { font-size: 11px; color: var(--ink-400); font-weight: 500; text-transform: uppercase; letter-spacing: .08em; }
.rsg-page .hv-stat-val { font-family: var(--font-display); font-weight: 800; color: var(--ink-900); font-size: 19px; margin-top: 4px; letter-spacing: -0.02em; }
.rsg-page .hv-stat-delta { font-size: 11px; color: var(--green-500); font-weight: 600; margin-top: 2px; }

.rsg-page .hv-chart {
  flex: 1;
  background: linear-gradient(180deg, var(--green-25) 0%, #fff 100%);
  border-radius: 10px;
  padding: 16px;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--border);
}
.rsg-page .hv-chart-label {
  position: absolute; top: 12px; left: 16px;
  font-size: 11px; color: var(--ink-400); font-weight: 500;
}

.rsg-page .hv-float-call {
  bottom: -24px; right: -24px;
  width: 220px;
  padding: 14px 16px;
  display: flex; gap: 10px; align-items: center;
}
.rsg-page .hv-float-call .dot {
  width: 36px; height: 36px;
  border-radius: 50%; background: var(--green-500);
  display: flex; align-items: center; justify-content: center;
  color: #fff; flex-shrink: 0;
}
.rsg-page .hv-float-call .l1 { font-family: var(--font-display); font-weight: 700; font-size: 13px; color: var(--ink-900); }
.rsg-page .hv-float-call .l2 { font-size: 12px; color: var(--ink-400); }

.rsg-page .hv-float-lead {
  top: 20px; left: -28px;
  padding: 12px 16px;
  width: 220px;
}
.rsg-page .hv-float-lead .label { font-size: 11px; color: var(--ink-400); text-transform: uppercase; letter-spacing: .08em; font-weight: 500; margin-bottom: 4px; }
.rsg-page .hv-float-lead .val { font-family: var(--font-display); font-weight: 800; color: var(--ink-900); font-size: 20px; }
.rsg-page .hv-float-lead .sub { font-size: 12px; color: var(--green-500); font-weight: 600; }

/* ============================================================
   HERO VISUAL — Premium "Command Centre" composition (v3)
   ============================================================ */
.rsg-page .hv2-stage { position: relative; padding: 32px 22px 50px 28px; }
.rsg-page .hv2-stage::before {
  content: ""; position: absolute; top: -40px; right: -60px; width: 480px; height: 480px;
  background: radial-gradient(circle, rgba(44,122,75,0.18) 0%, rgba(44,122,75,0.04) 45%, transparent 70%);
  z-index: 0; pointer-events: none;
}
.rsg-page .hv2-stage::after {
  content: ""; position: absolute; bottom: -60px; left: -40px; width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(231,138,44,0.10) 0%, rgba(231,138,44,0.02) 50%, transparent 75%);
  z-index: 0; pointer-events: none;
}

/* Main light card */
.rsg-page .hv2-main {
  position: relative; z-index: 2;
  background: linear-gradient(160deg, #FFFFFF 0%, #F4FAF6 60%, #FFFFFF 100%);
  border-radius: 24px;
  padding: 24px 22px 22px;
  border: 1px solid var(--line-2);
  box-shadow: 0 28px 60px rgba(0,0,0,0.10), 0 10px 28px rgba(0,0,0,0.06);
  overflow: hidden;
}
.rsg-page .hv2-main::before {
  content: ""; position: absolute; top: -80px; right: -80px; width: 280px; height: 280px;
  background: radial-gradient(circle, rgba(44,122,75,0.14) 0%, rgba(44,122,75,0.04) 50%, transparent 75%);
  pointer-events: none;
}
.rsg-page .hv2-main::after {
  content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(44,122,75,0.22), transparent);
}

/* Header inside main card */
.rsg-page .hv2-head { position: relative; display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; }
.rsg-page .hv2-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-display); font-weight: 700; font-size: 10.5px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--green-600);
}
.rsg-page .hv2-eyebrow::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--green-500);
  box-shadow: 0 0 0 4px rgba(44,122,75,0.18); animation: hv2Pulse 2.2s infinite;
}
.rsg-page .hv2-anchor {
  font-family: var(--font-mono); font-size: 10.5px; color: var(--ink-500);
  letter-spacing: 0.04em; font-weight: 600;
}
.rsg-page .hv2-anchor strong { color: var(--ink-900); font-family: var(--font-display); font-weight: 800; letter-spacing: -0.01em; }

.rsg-page .hv2-title {
  position: relative;
  font-family: var(--font-display); font-weight: 700;
  color: var(--ink-900); font-size: 20px; line-height: 1.2; letter-spacing: -0.015em;
  margin-bottom: 18px;
}
.rsg-page .hv2-title em { font-style: normal; color: var(--green-500); }

/* 4-channel grid */
.rsg-page .hv2-grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 18px; }
.rsg-page .hv2-channel {
  position: relative;
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px 14px 14px 16px;
  display: flex; align-items: center; gap: 12px;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}
.rsg-page .hv2-channel::before {
  content: ""; position: absolute; left: 0; top: 14%; bottom: 14%; width: 3px; border-radius: 0 3px 3px 0;
  background: var(--ch-accent, var(--green-500));
}
.rsg-page .hv2-channel:hover { transform: translateY(-2px); border-color: var(--border-strong); box-shadow: 0 8px 18px rgba(0,0,0,0.06); }
.rsg-page .hv2-mark {
  width: 38px; height: 38px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  background: #FFFFFF;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08), 0 0 0 1px rgba(0,0,0,0.05);
  padding: 7px;
}
.rsg-page .hv2-mark svg { display: block; width: 100%; height: 100%; }
.rsg-page .hv2-mark.lsa { --ch-accent: #3FA66B; }
.rsg-page .hv2-channel[data-ch="ppc"] { --ch-accent: #4285F4; }
.rsg-page .hv2-channel[data-ch="meta"] { --ch-accent: #1877F2; }
.rsg-page .hv2-channel[data-ch="yelp"] { --ch-accent: #D32F37; }
.rsg-page .hv2-channel[data-ch="lsa"] { --ch-accent: #3FA66B; }
.rsg-page .hv2-ch-text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.rsg-page .hv2-ch-name { font-family: var(--font-display); font-weight: 700; font-size: 13.5px; color: var(--ink-900); letter-spacing: -0.005em; line-height: 1.1; }
.rsg-page .hv2-ch-sub { font-family: var(--font-mono); font-size: 9.5px; color: var(--ink-500); letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; }

/* Footer line */
.rsg-page .hv2-foot {
  position: relative; padding-top: 16px;
  border-top: 1px dashed var(--line);
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-display); font-size: 12px; color: var(--ink-500);
  font-style: italic; font-weight: 500; letter-spacing: 0.005em;
}
.rsg-page .hv2-foot-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green-500); flex-shrink: 0; box-shadow: 0 0 0 4px rgba(44,122,75,0.18); }

/* Floating accent: 0% markup card (BOTTOM-LEFT, no overlap with title) */
.rsg-page .hv2-float-zero {
  position: absolute; z-index: 3;
  bottom: 28px; left: -22px;
  background: #fff;
  border-radius: 16px;
  padding: 16px 18px 14px;
  box-shadow: 0 22px 50px rgba(0,0,0,0.22), 0 8px 24px rgba(0,0,0,0.10), 0 0 0 1px rgba(0,0,0,0.04);
  display: flex; flex-direction: column; gap: 4px;
  min-width: 200px;
}
.rsg-page .hv2-float-zero::before {
  content: ""; position: absolute; left: 0; top: 18px; bottom: 18px; width: 4px;
  border-radius: 0 4px 4px 0; background: linear-gradient(180deg, #2C7A4B, #143E25);
}
.rsg-page .hv2-zero-label {
  font-family: var(--font-display); font-size: 10px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-500);
}
.rsg-page .hv2-zero-val {
  font-family: var(--font-display); font-weight: 800; font-size: 38px; line-height: 1;
  color: var(--ink-900); letter-spacing: -0.04em;
  display: flex; align-items: baseline; gap: 6px;
}
.rsg-page .hv2-zero-val em { font-style: normal; font-size: 14px; color: var(--green-600); font-weight: 700; letter-spacing: 0; }
.rsg-page .hv2-zero-sub {
  font-family: var(--font-body); font-size: 12px; color: var(--green-700); font-weight: 600; line-height: 1.35;
}

/* Floating accent: HVAC-exclusive pill (TOP-RIGHT) */
.rsg-page .hv2-float-only {
  position: absolute; z-index: 3;
  top: 14px; right: -10px;
  background: #fff;
  border-radius: 999px;
  padding: 9px 16px 9px 12px;
  display: inline-flex; align-items: center; gap: 9px;
  box-shadow: 0 14px 32px rgba(0,0,0,0.16), 0 4px 12px rgba(0,0,0,0.08);
  font-family: var(--font-display); font-weight: 700; font-size: 11.5px;
  color: var(--ink-900); letter-spacing: 0.02em;
}
.rsg-page .hv2-float-only .hv2-check {
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--green-500); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.rsg-page .hv2-float-only .hv2-check svg { width: 10px; height: 10px; }
.rsg-page .hv2-float-only strong { color: var(--green-700); font-weight: 800; }

@keyframes hv2Pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.25); opacity: 0.85; } }

/* Hero visual responsive */
@media (max-width: 960px) {
  .rsg-page .hv2-stage { padding: 24px 14px 40px 14px; }
  .rsg-page .hv2-float-zero { bottom: 12px; left: -8px; min-width: 180px; padding: 14px 16px 12px; }
  .rsg-page .hv2-zero-val { font-size: 32px; }
  .rsg-page .hv2-float-only { right: 0; top: 8px; font-size: 10.5px; padding: 8px 14px 8px 10px; }
}
@media (max-width: 640px) {
  .rsg-page .hv2-float-zero { position: relative; left: 0; bottom: 0; margin: 14px auto 0; }
  .rsg-page .hv2-float-only { position: relative; right: 0; top: 0; margin: 0 auto 12px; }
  .rsg-page .hv2-stage { display: flex; flex-direction: column; align-items: stretch; }
}


/* Platforms-we-run intro band (sits above the logo carousel) */
.rsg-page .platforms-band {
  padding: 64px 0 40px;
  background: var(--paper);
  border-top: 1px solid var(--line-2);
}
.rsg-page .platforms-band .pb-head {
  text-align: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(17px, 1.6vw, 19px);
  color: var(--ink-900);
  letter-spacing: -0.005em;
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 12px 28px;
  display: block;
  max-width: max-content;
  margin: 0 auto 36px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}
.rsg-page .platforms-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.rsg-page .pb-card {
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 28px 22px 26px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  position: relative;
  overflow: hidden;
}
.rsg-page .pb-card:hover { transform: translateY(-3px); border-color: var(--border-strong); box-shadow: 0 12px 28px rgba(0,0,0,0.06); }
.rsg-page .pb-icon {
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
}
.rsg-page .pb-icon svg { width: 100%; height: 100%; display: block; }
.rsg-page .pb-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 17px;
  color: var(--ink-900);
  letter-spacing: -0.005em;
}
.rsg-page .pb-sub {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-500);
  font-weight: 700;
  margin-top: -6px;
}
@media (max-width: 900px) {
  .rsg-page .platforms-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
}
@media (max-width: 480px) {
  .rsg-page .platforms-band { padding: 48px 0 32px; }
  .rsg-page .platforms-band .pb-head { font-size: 15px; padding: 10px 20px; }
}

.rsg-page .logo-strip { padding: 56px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); overflow: hidden; }
.rsg-page .logo-strip-label {
  text-align: center;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-400);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 32px;
}
.rsg-page .logo-carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
  
  mask-image: linear-gradient(90deg, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);
}
.rsg-page .logo-carousel-track {
  display: flex;
  align-items: center;
  gap: 64px;
  width: max-content;
  animation: logoMarquee 80s linear infinite;
}
.rsg-page .logo-carousel:hover .logo-carousel-track { animation-play-state: paused; }
@keyframes logoMarquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}
.rsg-page .logo-slide {
  flex: 0 0 auto;
  width: 200px;
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rsg-page .logo-slide img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(100%) opacity(0.75);
  transition: filter .2s ease;
}
.rsg-page .logo-slide:hover img { filter: grayscale(0%) opacity(1); }

@media (max-width: 768px) {
  .rsg-page .logo-strip { padding: 40px 0; }
  .rsg-page .logo-carousel-track { gap: 40px; animation-duration: 50s; }
  .rsg-page .logo-slide { width: 150px; height: 72px; }
}


.rsg-page .card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 32px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.rsg-page .card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  border-color: var(--border-strong);
}
.rsg-page .card-icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  background: var(--green-50);
  color: var(--green-500);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
}
.rsg-page .card-num {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 32px;
  color: var(--green-500);
  line-height: 1;
  margin-bottom: 16px;
  letter-spacing: -0.03em;
}
.rsg-page .card h3 { font-size: 20px; margin-bottom: 10px; }
.rsg-page .card p { color: var(--ink-500); font-size: 15.5px; margin: 0; }

.rsg-page .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.rsg-page .grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.rsg-page .grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }


.rsg-page .problem-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 56px;
  align-items: center;
}
.rsg-page .problem-image {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--border);
}
.rsg-page .problem-image img { width: 100%; height: auto; display: block; }


.rsg-page .problem-pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 56px;
}
.rsg-page .pillar {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px;
  transition: box-shadow .2s, transform .2s;
}
.rsg-page .pillar:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.rsg-page .pillar-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: var(--green-50);
  color: var(--green-500);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
}
.rsg-page .pillar h3 { font-size: 17px; line-height: 1.25; margin-bottom: 8px; }
.rsg-page .pillar p { font-size: 14.5px; line-height: 1.55; color: var(--ink-500); margin: 0; }

.rsg-page .problem-visual {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 32px;
  align-items: stretch;
}
.rsg-page .problem-visual-img {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-md);
  background: #fff;
}
.rsg-page .problem-visual-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rsg-page .problem-visual-side {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 32px;
  display: flex; flex-direction: column; gap: 22px;
}
.rsg-page .problem-visual-stat .num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 38px;
  color: #000;
  letter-spacing: -0.025em;
  line-height: 1;
  margin-bottom: 6px;
}
.rsg-page .problem-visual-stat .lbl {
  font-size: 14px;
  color: var(--ink-500);
  line-height: 1.4;
}
.rsg-page .problem-visual-stat + .problem-visual-stat { padding-top: 22px; border-top: 1px solid var(--border); }
.rsg-page .problem-visual-note {
  margin: 0;
  font-size: 14.5px;
  color: var(--ink-700);
  line-height: 1.5;
  padding-top: 22px;
  border-top: 1px solid var(--border);
}
.rsg-page .problem-visual-side .btn { margin-top: auto; }

@media (max-width: 1024px) {
  .rsg-page .problem-pillars { grid-template-columns: repeat(2, 1fr); }
  .rsg-page .problem-visual { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .rsg-page .problem-pillars { grid-template-columns: 1fr; }
}
.rsg-page .checklist { list-style: none; padding: 0; margin: 28px 0 32px; }
.rsg-page .checklist li {
  position: relative;
  padding: 12px 0 12px 36px;
  border-top: 1px solid var(--border);
  color: var(--ink-500);
  font-size: 15.5px;
  line-height: 1.55;
}
.rsg-page .checklist li:last-child { border-bottom: 1px solid var(--border); }
.rsg-page .checklist li::before {
  content: "";
  position: absolute;
  left: 0; top: 16px;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--green-50);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a8a4a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 13px;
}
.rsg-page .checklist li strong {
  display: block;
  color: var(--ink-900);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 2px;
}


.rsg-page .signal-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}
.rsg-page .signal {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 24px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.rsg-page .signal-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: var(--green-50);
  color: var(--green-500);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.rsg-page .signal-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 16px;
  color: var(--ink-900);
}


.rsg-page .readiness-grid {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 56px;
  align-items: stretch;
}
.rsg-page .readiness-left h2 { margin-bottom: 20px; }
.rsg-page .readiness-left p { font-size: 16px; }
.rsg-page .readiness-meter {
  margin-top: 36px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 24px 26px;
}
.rsg-page .readiness-meter-bar {
  display: flex;
  gap: 4px;
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 14px;
}
.rsg-page .readiness-meter-bar .seg {
  width: var(--w);
  height: 100%;
  border-radius: 999px;
}
.rsg-page .seg-red { background: #e57373; }
.rsg-page .seg-amber { background: #f5b84d; }
.rsg-page .seg-green { background: var(--green-500); }
.rsg-page .readiness-meter-labels {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
  font-size: 12.5px;
  color: var(--ink-400);
  font-family: var(--font-display);
  margin-bottom: 14px;
  line-height: 1.35;
}
.rsg-page .readiness-meter-labels span { display: block; }
.rsg-page .readiness-meter-labels b {
  font-weight: 700;
  color: #000;
  font-size: 15px;
  display: block;
  letter-spacing: -0.01em;
  margin-bottom: 2px;
}
.rsg-page .readiness-meter-labels span:nth-child(1) b { color: #000; }
.rsg-page .readiness-meter-labels span:nth-child(2) b { color: #000; }
.rsg-page .readiness-meter-labels span:nth-child(3) b { color: #000; }
.rsg-page .readiness-meter-note {
  margin: 0;
  font-size: 13.5px;
  color: var(--ink-400);
  line-height: 1.5;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

.rsg-page .readiness-right {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 36px;
  display: flex;
  flex-direction: column;
  position: relative;
  box-shadow: var(--shadow-md);
}
.rsg-page .readiness-right-header { margin-bottom: 24px; }
.rsg-page .readiness-right-tag {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green-500);
  background: var(--green-50);
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.rsg-page .readiness-right-header h3 { font-size: 22px; margin: 0; }

.rsg-page .readiness-outcomes {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.rsg-page .readiness-outcomes li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: start;
  padding: 22px 0;
  border-top: 1px solid var(--border);
}
.rsg-page .readiness-outcomes li:last-child { border-bottom: 1px solid var(--border); }
.rsg-page .o-icon {
  width: 42px; height: 42px;
  border-radius: 12px;
  background: var(--green-50);
  color: var(--green-500);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.rsg-page .o-body h4 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 17px;
  color: var(--ink-900);
  margin: 4px 0 4px;
  letter-spacing: -0.01em;
}
.rsg-page .o-body p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--ink-500);
}
.rsg-page .readiness-cta { margin-top: 24px; align-self: flex-start; }

@media (max-width: 1024px) {
  .rsg-page .readiness-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 600px) {
  .rsg-page .readiness-outcomes li { grid-template-columns: auto 1fr; }
}



.rsg-page .promise {
  border-radius: var(--radius-xl);
  padding: 64px;
  margin: 32px 0;
  position: relative;
  overflow: hidden;
}
.rsg-page .promise-section { padding: var(--section-y) 0; }
.rsg-page .promise-section .promise-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 56px;
  align-items: center;
  position: relative;
}
.rsg-page .promise-section .promise-portrait::after { color: #fff; }
.rsg-page .promise::before {
  content: "";
  position: absolute;
  right: -120px; top: -120px;
  width: 400px; height: 400px;
  background: radial-gradient(closest-side, rgba(110, 215, 147, 0.18), transparent);
  pointer-events: none;
}
.rsg-page .promise-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 56px;
  align-items: center;
  position: relative;
}
.rsg-page .promise h2 { color: #fff; margin-bottom: 24px; }
.rsg-page .promise-list {
  list-style: none; padding: 0; margin: 24px 0 32px;
}
.rsg-page .promise-list li {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 10px 0;
  color: rgba(255,255,255,0.85);
}
.rsg-page .promise-list .check {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: #3FA66B;
  color: var(--green-700);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 2px;
}
.rsg-page .promise-quote {
  background: rgba(255,255,255,0.06);
  border-left: 3px solid #3FA66B;
  padding: 18px 22px;
  border-radius: 0 12px 12px 0;
  margin: 28px 0 0;
  font-size: 15px;
  color: rgba(255,255,255,0.92);
}
/* Founder video custom player (mirrors Yelp Ads page) */
.rsg-page .video-frame-wrap { position: relative; max-width: 440px; margin: 0 auto; padding-top: 14px; }
.rsg-page .founder-note-badge { position: absolute; top: 0; left: 50%; transform: translateX(-50%); background: var(--green-500); color: #fff; padding: 7px 16px; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; z-index: 4; white-space: nowrap; box-shadow: 0 6px 16px rgba(44,122,75,0.32); }
.rsg-page .video-caption { text-align: center; margin-top: 16px; font-size: 13px; color: rgba(255,255,255,0.7); }
.rsg-page .video-caption strong { display: block; color: #fff; font-family: var(--font-display); font-size: 14px; font-weight: 700; margin-bottom: 3px; }

.rsg-page .video-frame { position: relative; aspect-ratio: 9/16; width: 100%; max-width: 440px; margin: 0 auto; border-radius: 22px; overflow: hidden; background: linear-gradient(135deg, #2A2A2A, #1A1A1A); border: 1px solid rgba(255,255,255,0.1); box-shadow: var(--shadow-lg); }
.rsg-page .video-frame video,
.rsg-page .video-frame .vf-poster,
.rsg-page .video-frame .vf-iframe { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; background: #000; border: 0; }
.rsg-page .video-frame .vf-iframe { object-fit: fill; }
.rsg-page .video-frame .vf-play { position: absolute; bottom: 18px; left: 18px; width: 56px; height: 56px; border-radius: 50%; background: rgba(255,255,255,0.95); border: 0; padding: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 3; box-shadow: 0 8px 22px rgba(0,0,0,0.30); transition: transform .2s, background .2s, opacity .2s; }
.rsg-page .video-frame .vf-play:hover { transform: scale(1.08); background: #fff; }
.rsg-page .video-frame .vf-play .vf-play-icon { display: block; width: 0; height: 0; border-left: 18px solid var(--green-600); border-top: 11px solid transparent; border-bottom: 11px solid transparent; margin-left: 4px; }
.rsg-page .video-frame.playing .vf-play { opacity: 0; pointer-events: none; }
.rsg-page .video-frame .vf-time { position: absolute; top: 14px; right: 14px; padding: 4px 10px; background: rgba(0,0,0,0.7); color: #fff; border-radius: 999px; font-family: var(--font-mono); font-size: 11px; font-weight: 700; z-index: 3; pointer-events: none; }


.rsg-page .budget-section { overflow: hidden; }
.rsg-page .budget-header {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 48px;
}
.rsg-page .budget-header-text h2 { margin-bottom: 16px; }
.rsg-page .budget-header-text p { font-size: 17px; max-width: 560px; margin: 0; }
.rsg-page .budget-header-stat {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.rsg-page .budget-stat-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: center;
}
.rsg-page .budget-stat-row + .budget-stat-row { padding-top: 18px; border-top: 1px solid var(--border); }
.rsg-page .budget-stat-row .num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 36px;
  color: #000;
  letter-spacing: -0.025em;
  line-height: 1;
}
.rsg-page .budget-stat-row.alt .num { color: #000; }
.rsg-page .budget-stat-row .lbl { font-size: 13.5px; color: var(--ink-500); line-height: 1.45; }

.rsg-page .budget-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  counter-reset: budget;
}
.rsg-page .budget-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px 28px 0;
  position: relative;
  counter-increment: budget;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform .2s, box-shadow .2s;
}
.rsg-page .budget-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.rsg-page .budget-card::before {
  content: counter(budget, decimal-leading-zero);
  position: absolute;
  top: 24px; right: 28px;
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--green-50);
  font-size: 44px;
  line-height: 1;
  letter-spacing: -0.04em;
}
.rsg-page .budget-card.featured {
  background: var(--green-25);
  border-color: var(--green-50);
}
.rsg-page .budget-card.featured::before { color: var(--green-50); }

.rsg-page .budget-card-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.rsg-page .budget-card-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: var(--green-50);
  color: var(--green-500);
  display: flex; align-items: center; justify-content: center;
}
.rsg-page .budget-card .pill {
  display: inline-block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--green-500);
  background: var(--green-50);
  padding: 5px 10px;
  border-radius: 999px;
  margin: 0;
  text-transform: uppercase;
}
.rsg-page .budget-card h3 { font-size: 18px; margin: 0 0 10px; padding-right: 52px; line-height: 1.25; }
.rsg-page .budget-card p { font-size: 14.5px; line-height: 1.55; margin: 0 0 24px; }

.rsg-page .budget-card-foot {
  margin-top: auto;
  margin-left: -28px;
  margin-right: -28px;
  padding: 18px 28px;
  border-top: 1px solid var(--border);
  background: var(--bg-soft);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.rsg-page .budget-card.featured .budget-card-foot { background: rgba(26, 138, 74, 0.08); border-top-color: var(--green-50); }
.rsg-page .bigword {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 28px;
  color: #000;
  letter-spacing: -0.025em;
  line-height: 1;
}
.rsg-page .budget-card.featured .bigword { color: #000; }
.rsg-page .bigword-lbl {
  font-size: 12px;
  color: var(--ink-400);
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: 0.02em;
}
.rsg-page .pace-bar {
  width: 100%;
  height: 8px;
  background: rgba(26, 138, 74, 0.15);
  border-radius: 999px;
  margin-bottom: 6px;
  overflow: hidden;
}
.rsg-page .pace-fill {
  display: block;
  height: 100%;
  width: var(--w);
  background: var(--green-500);
  border-radius: 999px;
}

@media (max-width: 1024px) {
  .rsg-page .budget-header { grid-template-columns: 1fr; gap: 32px; align-items: start; }
  .rsg-page .budget-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .rsg-page .budget-grid { grid-template-columns: 1fr; }
}


.rsg-page .channel-tabs {
  display: flex;
  gap: 4px;
  margin: 0 0 48px;
  background: var(--bg-soft);
  padding: 6px;
  border-radius: 14px;
  flex-wrap: wrap;
  border: 1px solid var(--border);
}
.rsg-page .channel-tab {
  padding: 14px 24px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14.5px;
  color: var(--ink-500);
  background: transparent;
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  transition: color .15s, background .15s, box-shadow .15s;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  letter-spacing: -0.005em;
}
.rsg-page .channel-tab .tab-num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  color: var(--ink-300);
  letter-spacing: 0.06em;
}
.rsg-page .channel-tab.active {
  color: var(--ink-900);
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.rsg-page .channel-tab.active .tab-num { color: var(--green-500); }
.rsg-page .channel-tab:hover:not(.active) { color: var(--ink-700); background: rgba(255,255,255,0.6); }

.rsg-page .channel-panel { display: none; }
.rsg-page .channel-panel.active { display: grid; }

.rsg-page .channel-panel {
  grid-template-columns: 1fr 1.05fr;
  gap: 56px;
  align-items: stretch;
}
.rsg-page .channel-info {
  display: flex;
  flex-direction: column;
}
.rsg-page .channel-info h3 {
  font-size: 32px;
  margin-bottom: 12px;
  letter-spacing: -0.02em;
}
.rsg-page .channel-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green-500);
  background: var(--green-50);
  padding: 7px 14px;
  border-radius: 999px;
  margin-bottom: 18px;
  align-self: flex-start;
}
.rsg-page .channel-tag::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--green-500);
}
.rsg-page .channel-lede {
  font-size: 17px;
  color: var(--ink-700);
  font-weight: 500;
  margin-bottom: 18px;
  line-height: 1.5;
}
.rsg-page .channel-info > p {
  margin-bottom: 28px;
  color: var(--ink-500);
  font-size: 15.5px;
  line-height: 1.6;
}
.rsg-page .channel-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 32px;
  margin: 0 0 28px;
  padding: 24px 28px;
  background: var(--bg-soft);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
}
.rsg-page .channel-meta > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.rsg-page .channel-meta dt {
  font-family: var(--font-display);
  font-size: 10.5px;
  font-weight: 700;
  color: var(--green-500);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0;
}
.rsg-page .channel-meta dd {
  margin: 0;
  font-size: 14.5px;
  color: var(--ink-700);
  font-weight: 500;
  line-height: 1.5;
}
.rsg-page .channel-info .btn-ghost { margin-top: auto; align-self: flex-start; }
.rsg-page .channel-image {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--border);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
}
.rsg-page .channel-image img { width: 100%; display: block; border-radius: 10px; }

.rsg-page .channel-media {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.rsg-page .channel-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 18px 20px;
}
.rsg-page .channel-stat {
  text-align: left;
  padding: 6px 0;
}
.rsg-page .channel-stat + .channel-stat {
  border-left: 1px solid var(--border);
  padding-left: 16px;
}
.rsg-page .channel-stat .v {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 24px;
  color: var(--ink-900);
  letter-spacing: -0.02em;
  line-height: 1;
  margin-bottom: 8px;
}
.rsg-page .channel-stat .l {
  font-size: 12px;
  color: var(--ink-500);
  font-weight: 500;
  line-height: 1.35;
}
.rsg-page .channel-quote {
  margin: 0;
  background: var(--green-25);
  border-left: 3px solid var(--green-500);
  padding: 16px 20px;
  border-radius: 0 12px 12px 0;
  font-size: 14.5px;
  color: var(--ink-700);
  line-height: 1.55;
  font-style: italic;
}
@media (max-width: 600px) {
  .rsg-page .channel-stats { grid-template-columns: 1fr; }
  .rsg-page .channel-stat + .channel-stat { border-left: 0; border-top: 1px solid var(--border); padding-left: 0; padding-top: 12px; }
}


.rsg-page .cmp-wrap { margin-top: 56px; }
.rsg-page .cmp-wrap + .cmp-wrap { margin-top: 40px; }
.rsg-page .cmp-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  color: var(--ink-900);
  margin-bottom: 18px;
}
.rsg-page .cmp-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  font-size: 15px;
}
.rsg-page .cmp-table th, .rsg-page .cmp-table td {
  padding: 16px 20px;
  text-align: left;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
}
.rsg-page .cmp-table th {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14px;
  color: var(--ink-900);
  background: var(--bg-soft);
  border-bottom-width: 2px;
}
.rsg-page .cmp-table tr:last-child td { border-bottom: 0; }
.rsg-page .cmp-table td:first-child {
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--ink-900);
  width: 22%;
  background: var(--bg-soft);
}
.rsg-page .cmp-note {
  margin-top: 18px;
  padding: 18px 22px 18px 58px;
  background: var(--green-25) url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232C7A4B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='9' y1='18' x2='15' y2='18'/%3E%3Cline x1='10' y1='22' x2='14' y2='22'/%3E%3Cpath d='M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .23 2.23 1.5 3.5A4.61 4.61 0 0 1 8.91 14'/%3E%3C/svg%3E") no-repeat;
  background-position: 20px 16px;
  background-size: 24px 24px;
  border-left: 3px solid var(--green-500);
  border-radius: 0 12px 12px 0;
  font-size: 15px;
  color: var(--ink-700);
}
.rsg-page .agg-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}
.rsg-page .agg-issues {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.rsg-page .agg-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px 28px 24px;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.rsg-page .agg-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--green-500), transparent 80%);
  opacity: 0;
  transition: opacity .25s ease;
}
.rsg-page .agg-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--green-50);
}
.rsg-page .agg-card:hover::before { opacity: 1; }
.rsg-page .agg-card-bg {
  position: absolute;
  right: -8px;
  bottom: -10px;
  color: var(--green-50);
  opacity: 0.9;
  transition: transform .35s ease, opacity .25s ease;
  pointer-events: none;
}
.rsg-page .agg-card:hover .agg-card-bg { transform: rotate(-8deg) scale(1.1); opacity: 1; }
.rsg-page .agg-card-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: var(--green-500);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
  box-shadow: 0 6px 14px -6px rgba(26, 138, 74, 0.55);
}
.rsg-page .agg-card h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  color: #000;
  margin: 0 0 8px;
  position: relative;
}
.rsg-page .agg-card p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--ink-500);
  position: relative;
}
@media (max-width: 720px) {
  .rsg-page .agg-issues { grid-template-columns: 1fr; }
}


.rsg-page .seo-section { padding: var(--section-y) 0; }
.rsg-page .seo-section .section-intro h2, .rsg-page .seo-section .section-intro p { color: #fff; }
.rsg-page .seo-section .section-intro p { color: rgba(255,255,255,0.78); }
.rsg-page .seo-section .eyebrow { color: var(--green-500); }
.rsg-page .seo-section .eyebrow::before { background: var(--green-500); }

.rsg-page .seo-race {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 28px;
  align-items: stretch;
  margin-bottom: 32px;
}
.rsg-page .seo-runner {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-xl);
  padding: 32px;
  position: relative;
  overflow: hidden;
  transition: transform .2s, border-color .2s, background .2s;
}
.rsg-page .seo-runner::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--green-500), transparent);
}
.rsg-page .seo-runner.tortoise::before { background: linear-gradient(90deg, #f5b84d, transparent); }
.rsg-page .seo-runner:hover { transform: translateY(-3px); border-color: rgba(255,255,255,0.22); background: rgba(255,255,255,0.06); }

.rsg-page .seo-runner-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}
.rsg-page .seo-runner-icon {
  width: 52px; height: 52px;
  border-radius: 14px;
  background: var(--green-500);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 22px -8px rgba(26, 138, 74, 0.6);
}
.rsg-page .seo-runner.tortoise .seo-runner-icon {
  background: #f5b84d;
  color: #5a3500;
  box-shadow: 0 8px 22px -8px rgba(245, 184, 77, 0.55);
}
.rsg-page .seo-runner-tag {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green-500);
  background: rgba(26,138,74,0.18);
  padding: 4px 10px;
  border-radius: 999px;
  display: inline-block;
  margin-bottom: 4px;
}
.rsg-page .tortoise-tag { color: #f5b84d; background: rgba(245, 184, 77, 0.18); }
.rsg-page .seo-runner-head h3 { color: #fff; font-size: 26px; margin: 0; }
.rsg-page .seo-runner-speed {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  letter-spacing: 0.05em;
  text-align: right;
  padding-left: 12px;
  border-left: 1px solid rgba(255,255,255,0.1);
}
.rsg-page .seo-runner > p {
  color: rgba(255,255,255,0.75);
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 24px;
}

.rsg-page .seo-track {
  background: rgba(255,255,255,0.08);
  height: 10px;
  border-radius: 999px;
  position: relative;
  margin-bottom: 8px;
  overflow: hidden;
}
.rsg-page .seo-track-fill {
  display: block;
  height: 100%;
  width: var(--w);
  background: linear-gradient(90deg, var(--green-500), #3FA66B);
  border-radius: 999px;
  box-shadow: 0 0 18px rgba(110, 215, 147, 0.4);
}
.rsg-page .seo-track-fill.alt { background: linear-gradient(90deg, #b87c1f, #f5b84d); box-shadow: 0 0 18px rgba(245, 184, 77, 0.35); }
.rsg-page .seo-track-label {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.5);
  text-transform: uppercase;
  display: block;
  margin-bottom: 20px;
}

.rsg-page .seo-attrs { list-style: none; padding: 0; margin: 0; }
.rsg-page .seo-attrs li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-size: 14px;
}
.rsg-page .seo-attrs li:last-child { border-bottom: 1px solid rgba(255,255,255,0.08); }
.rsg-page .seo-attrs li span { color: rgba(255,255,255,0.6); }
.rsg-page .seo-attrs li b {
  font-family: var(--font-display);
  font-weight: 600;
  color: #fff;
  font-size: 14.5px;
}

.rsg-page .seo-vs {
  align-self: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 28px;
  color: var(--green-500);
  width: 56px; height: 56px;
  border-radius: 50%;
  background: rgba(26, 138, 74, 0.15);
  border: 1px solid rgba(26, 138, 74, 0.3);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}

.rsg-page .seo-case {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-xl);
  padding: 40px;
  position: relative;
  overflow: hidden;
}
.rsg-page .seo-case::after {
  content: "";
  position: absolute;
  top: 0; right: 0;
  width: 280px; height: 280px;
  background: radial-gradient(closest-side, rgba(26, 138, 74, 0.18), transparent);
  pointer-events: none;
}
.rsg-page .seo-case-tag {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green-500);
  background: rgba(26,138,74,0.18);
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 16px;
}
.rsg-page .seo-case h3 { color: #fff; font-size: 22px; margin-bottom: 14px; }
.rsg-page .seo-case > p { color: rgba(255,255,255,0.78); font-size: 15.5px; line-height: 1.65; margin-bottom: 28px; }
.rsg-page .seo-case > p b { color: #fff; font-weight: 600; }
.rsg-page .seo-case-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 28px;
  padding: 24px 0;
  border-top: 1px solid rgba(255,255,255,0.1);
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.rsg-page .seo-case-stat .v {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 32px;
  color: #fff;
  letter-spacing: -0.025em;
  line-height: 1;
  margin-bottom: 8px;
}
.rsg-page .seo-case-stat .l {
  font-size: 12.5px;
  color: rgba(255,255,255,0.6);
  font-family: var(--font-display);
  letter-spacing: 0.02em;
}
.rsg-page .seo-case-bottom {
  margin: 0;
  color: #fff;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
  font-style: italic;
}

@media (max-width: 1024px) {
  .rsg-page .seo-race { grid-template-columns: 1fr; }
  .rsg-page .seo-vs { transform: rotate(90deg); }
  .rsg-page .seo-case-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .rsg-page .seo-case-stats { grid-template-columns: 1fr 1fr; }
  .rsg-page .seo-runner-head { grid-template-columns: auto 1fr; }
  .rsg-page .seo-runner-speed { grid-column: 1 / -1; text-align: left; padding-left: 0; border-left: 0; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 10px; margin-top: 4px; }
}


.rsg-page .trust-section { background: var(--bg-soft); }
.rsg-page .trust-header {
  margin-bottom: 48px;
  max-width: 880px;
}
.rsg-page .trust-header h2 { margin-bottom: 14px; max-width: 880px; }
.rsg-page .trust-header p { font-size: 16.5px; max-width: 620px; margin: 0 0 32px; }
.rsg-page .trust-marquee {
  width: 100%;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 14px 0;
  position: relative;
}
.rsg-page .trust-marquee::before, .rsg-page .trust-marquee::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  width: 60px;
  z-index: 2;
  pointer-events: none;
}
.rsg-page .trust-marquee::before { left: 0; background: linear-gradient(90deg, #fff, transparent); }
.rsg-page .trust-marquee::after { right: 0; background: linear-gradient(-90deg, #fff, transparent); }
.rsg-page .trust-marquee-row {
  display: flex;
  gap: 24px;
  white-space: nowrap;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-700);
  letter-spacing: 0.02em;
  animation: trustMarquee 28s linear infinite;
}
.rsg-page .trust-marquee-row span:nth-child(even) { color: var(--green-500); font-weight: 800; }
@keyframes trustMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.rsg-page .trust-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.rsg-page .trust-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 36px 36px 28px;
  position: relative;
  overflow: hidden;
  transition: box-shadow .25s, transform .25s, border-color .25s;
}
.rsg-page .trust-card::after {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--green-500), transparent 70%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;
}
.rsg-page .trust-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
  border-color: var(--green-50);
}
.rsg-page .trust-card:hover::after { transform: scaleX(1); }

.rsg-page .trust-card-num {
  position: absolute;
  top: 28px; right: 32px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 48px;
  line-height: 1;
  color: var(--green-50);
  letter-spacing: -0.04em;
  transition: color .25s;
}
.rsg-page .trust-card:hover .trust-card-num { color: var(--green-25); }

.rsg-page .trust-card-icon {
  width: 52px; height: 52px;
  border-radius: 14px;
  background: var(--green-500);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 22px;
  box-shadow: 0 10px 22px -10px rgba(26, 138, 74, 0.55);
}
.rsg-page .trust-card-q {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--green-500);
  margin-bottom: 8px;
}
.rsg-page .trust-card h3 {
  font-size: 22px;
  margin-bottom: 12px;
  padding-right: 60px;
  line-height: 1.2;
}
.rsg-page .trust-card p {
  margin: 0 0 20px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-500);
}
.rsg-page .trust-card-proof {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  margin: 0 -16px -8px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: 12px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 13px;
  color: #000;
  letter-spacing: -0.005em;
}
.rsg-page .trust-card-proof .dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--green-500);
  box-shadow: 0 0 0 4px rgba(26, 138, 74, 0.18);
  flex-shrink: 0;
}

@media (max-width: 1024px) {
  .rsg-page .trust-header { grid-template-columns: 1fr; gap: 28px; }
  .rsg-page .trust-header-side { align-items: flex-start; }
}
@media (max-width: 600px) {
  .rsg-page .trust-grid { grid-template-columns: 1fr; }
  .rsg-page .trust-card { padding: 28px 24px 22px; }
  .rsg-page .trust-card-num { font-size: 38px; top: 24px; right: 24px; }
  .rsg-page .trust-card h3 { padding-right: 50px; }
}


.rsg-page .cases-section { padding: var(--section-y) 0; }
.rsg-page .cases-header {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 48px;
}
.rsg-page .cases-header h2 { margin-bottom: 14px; }
.rsg-page .cases-header p { font-size: 16.5px; max-width: 560px; margin: 0; }
.rsg-page .cases-tally {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 22px 8px;
}
.rsg-page .cases-tally-item {
  text-align: center;
  padding: 0 12px;
}
.rsg-page .cases-tally-item + .cases-tally-item { border-left: 1px solid var(--border); }
.rsg-page .cases-tally-item .v {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 26px;
  color: #000;
  letter-spacing: -0.02em;
  line-height: 1;
  margin-bottom: 6px;
}
.rsg-page .cases-tally-item .l {
  font-size: 12px;
  color: var(--ink-500);
  font-family: var(--font-display);
  letter-spacing: 0.02em;
}

.rsg-page .case-feature {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 0;
  margin-bottom: 28px;
  box-shadow: var(--shadow-md);
  position: relative;
}
.rsg-page .case-feature::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 3px; height: 100%;
  background: linear-gradient(180deg, var(--green-500), transparent);
}
.rsg-page .case-feature.reverse { grid-template-columns: 1.05fr 1fr; }
.rsg-page .case-feature.reverse .case-content { order: 2; }
.rsg-page .case-content {
  padding: 48px;
  display: flex; flex-direction: column; justify-content: center;
}

.rsg-page .case-feature-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 14px;
}
.rsg-page .case-tag {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green-500);
  background: var(--green-50);
  padding: 6px 12px;
  border-radius: 999px;
}
.rsg-page .case-loc {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  color: var(--ink-500);
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: 0.02em;
}
.rsg-page .case-loc svg { color: var(--ink-400); }

.rsg-page .case-feature h3 { font-size: 28px; line-height: 1.18; margin-bottom: 16px; }
.rsg-page .case-feature p { margin-bottom: 28px; color: var(--ink-500); font-size: 15.5px; line-height: 1.6; }

.rsg-page .case-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 0 0 24px;
  padding: 24px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.rsg-page .case-stats > div { position: relative; }
.rsg-page .case-stats > div + div { padding-left: 16px; border-left: 1px solid var(--border); }
.rsg-page .case-stat-val {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 32px;
  color: #000;
  letter-spacing: -0.025em;
  line-height: 1;
  margin-bottom: 8px;
}
.rsg-page .case-stat-lbl {
  font-size: 11.5px;
  color: var(--ink-500);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-family: var(--font-display);
}

.rsg-page .case-channels {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 13px;
}
.rsg-page .case-channels-label {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-400);
  font-weight: 700;
  margin-right: 4px;
}
.rsg-page .case-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: #fff;
  border: 1px solid var(--border-strong);
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ink-700);
}
.rsg-page .case-chip::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--green-500);
}

.rsg-page .case-media {
  background: var(--bg-soft);
  padding: 40px;
  display: flex; align-items: center; justify-content: center;
  position: relative;
  min-height: 360px;
}
.rsg-page .case-media-badge {
  position: absolute;
  top: 24px; left: 24px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border: 1px solid var(--border);
  padding: 6px 12px 6px 10px;
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 11.5px;
  font-weight: 600;
  color: var(--ink-700);
  z-index: 2;
}
.rsg-page .case-media-badge::before {
  content: "";
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--green-500);
  box-shadow: 0 0 0 4px rgba(26,138,74,0.18);
  animation: caseDotPulse 1.8s ease-in-out infinite;
}
@keyframes caseDotPulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.15); }
}
.rsg-page .case-media img {
  width: 100%; max-width: 480px;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--border);
}
.rsg-page .case-media .stack {
  display: flex; flex-direction: column; gap: 16px;
  width: 100%; max-width: 480px;
}

.rsg-page .case-mini-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.rsg-page .case-mini {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 36px;
  transition: box-shadow .2s, transform .2s, border-color .2s;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
.rsg-page .case-mini::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--green-500), transparent 70%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;
}
.rsg-page .case-mini:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--green-50); }
.rsg-page .case-mini:hover::before { transform: scaleX(1); }

.rsg-page .case-mini h3 { font-size: 21px; line-height: 1.22; margin-bottom: 20px; }
.rsg-page .case-mini > p { margin: 20px 0; font-size: 15px; line-height: 1.55; }
.rsg-page .case-mini-stats {
  display: flex;
  gap: 0;
  padding: 18px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.rsg-page .case-mini-stat { padding: 0 18px; flex: 1; }
.rsg-page .case-mini-stat:first-child { padding-left: 0; }
.rsg-page .case-mini-stat + .case-mini-stat { border-left: 1px solid var(--border); }
.rsg-page .case-mini-stat .v {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 24px;
  color: #000;
  letter-spacing: -0.02em;
  line-height: 1;
  margin-bottom: 6px;
}
.rsg-page .case-mini-stat .l {
  font-size: 11.5px;
  color: var(--ink-500);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-family: var(--font-display);
  font-weight: 600;
}

.rsg-page .case-mini-media {
  margin-top: auto;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border);
}
.rsg-page .case-mini-media img { width: 100%; display: block; }

.rsg-page .case-roas {
  margin-top: auto;
  padding: 28px;
  background: linear-gradient(135deg, var(--green-25), var(--green-50));
  border: 1px solid var(--green-50);
  border-radius: var(--radius-lg);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.rsg-page .case-roas::before {
  content: "";
  position: absolute;
  top: -40px; right: -40px;
  width: 140px; height: 140px;
  background: radial-gradient(closest-side, rgba(26,138,74,0.25), transparent);
  pointer-events: none;
}
.rsg-page .case-roas-big {
  display: inline-flex;
  align-items: baseline;
  gap: 14px;
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1;
  color: #000;
}
.rsg-page .case-roas-big .dollar { font-size: 36px; }
.rsg-page .case-roas-big .arrow { font-size: 28px; color: var(--ink-400); }
.rsg-page .case-roas-big .amt { font-size: 48px; }
.rsg-page .case-roas-lbl {
  font-size: 13px;
  color: var(--ink-500);
  margin-top: 8px;
  font-family: var(--font-display);
  letter-spacing: 0.02em;
}

@media (max-width: 1024px) {
  .rsg-page .cases-header { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 600px) {
  .rsg-page .case-stats { grid-template-columns: 1fr; }
  .rsg-page .case-stats > div + div { border-left: 0; border-top: 1px solid var(--border); padding-left: 0; padding-top: 16px; margin-top: 16px; }
  .rsg-page .case-mini-stats { flex-direction: column; gap: 16px; }
  .rsg-page .case-mini-stat { padding: 0; border-left: 0 !important; }
  .rsg-page .case-mini-stat + .case-mini-stat { padding-top: 16px; border-top: 1px solid var(--border); border-left: 0; }
}


.rsg-page .spec-section { padding: var(--section-y) 0; }
.rsg-page .spec-section h2, .rsg-page .spec-section h3 { color: #fff; }
.rsg-page .spec-section .eyebrow { color: var(--green-500); }
.rsg-page .spec-section .eyebrow::before { background: var(--green-500); }
.rsg-page .spec-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.rsg-page .spec-left p {
  color: rgba(255,255,255,0.78);
  font-size: 16.5px;
  line-height: 1.65;
  margin-bottom: 36px;
  max-width: 540px;
}
.rsg-page .spec-left p b { color: #fff; font-weight: 600; }
.rsg-page .spec-numbers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-lg);
  padding: 28px 8px;
}
.rsg-page .spec-number { padding: 0 20px; }
.rsg-page .spec-number + .spec-number { border-left: 1px solid rgba(255,255,255,0.1); }
.rsg-page .spec-number .v {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 30px;
  color: #fff;
  letter-spacing: -0.025em;
  line-height: 1;
  margin-bottom: 10px;
}
.rsg-page .spec-number .l {
  font-size: 12.5px;
  color: rgba(255,255,255,0.62);
  line-height: 1.45;
}

.rsg-page .spec-certs {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-xl);
  padding: 36px;
  position: relative;
  overflow: hidden;
}
.rsg-page .spec-certs::after {
  content: "";
  position: absolute;
  top: -80px; right: -80px;
  width: 220px; height: 220px;
  background: radial-gradient(closest-side, rgba(26,138,74,0.22), transparent);
  pointer-events: none;
}
.rsg-page .spec-certs-head { position: relative; margin-bottom: 24px; }
.rsg-page .spec-certs-tag {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--green-500);
  background: rgba(26,138,74,0.18);
  padding: 5px 12px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.rsg-page .spec-certs-head h3 { font-size: 22px; margin-bottom: 10px; }
.rsg-page .spec-certs-head p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,0.72);
}
.rsg-page .spec-certs-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.rsg-page .spec-certs-list li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 18px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.rsg-page .spec-certs-list li:last-child { border-bottom: 1px solid rgba(255,255,255,0.08); }
.rsg-page .cert-mark {
  width: 44px; height: 44px;
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  background: #FFFFFF;
  padding: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.18), 0 0 0 1px rgba(255,255,255,0.06) inset;
}
.rsg-page .cert-mark svg { display: block; width: 100%; height: 100%; }
.rsg-page .cert-name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15.5px;
  color: #fff;
  margin-bottom: 2px;
  letter-spacing: -0.005em;
}
.rsg-page .cert-role {
  font-size: 12.5px;
  color: rgba(255,255,255,0.6);
}
.rsg-page .cert-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--green-500);
  background: rgba(26,138,74,0.18);
  padding: 5px 10px;
  border-radius: 999px;
}
.rsg-page .cert-badge svg { stroke: var(--green-500); }
.rsg-page .spec-certs-foot {
  margin-top: 22px;
  font-size: 13.5px;
  color: rgba(255,255,255,0.66);
  line-height: 1.55;
  padding-top: 18px;
  border-top: 1px dashed rgba(255,255,255,0.12);
  font-style: italic;
}

@media (max-width: 1024px) {
  .rsg-page .spec-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 600px) {
  .rsg-page .spec-numbers { grid-template-columns: 1fr; padding: 12px 16px; }
  .rsg-page .spec-number { padding: 18px 8px; }
  .rsg-page .spec-number + .spec-number { border-left: 0; border-top: 1px solid rgba(255,255,255,0.1); }
  .rsg-page .spec-certs-list li { grid-template-columns: auto 1fr; }
  .rsg-page .cert-badge { grid-column: 1 / -1; justify-self: start; }
}


.rsg-page .factors-section { overflow: hidden; }
.rsg-page .factors-header {
  display: grid;
  grid-template-columns: 1.4fr 280px;
  gap: 48px;
  align-items: center;
  margin-bottom: 56px;
}
.rsg-page .factors-header-text h2 { margin-bottom: 14px; }
.rsg-page .factors-header-text p { font-size: 16.5px; max-width: 580px; margin: 0; }
.rsg-page .factors-hub {
  position: relative;
  width: 280px;
  height: 280px;
  margin: 0 auto;
}
.rsg-page .factors-hub-ring {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  animation: hubSpin 60s linear infinite;
}
@keyframes hubSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.rsg-page .factors-hub-center {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 130px; height: 130px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-md);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 2;
}
.rsg-page .factors-hub-center .num {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 56px;
  line-height: 1;
  color: var(--green-500);
  letter-spacing: -0.03em;
}
.rsg-page .factors-hub-center .lbl {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-500);
  font-weight: 600;
  margin-top: 4px;
}
.rsg-page .factors-hub-dot {
  position: absolute;
  top: 50%; left: 50%;
  --r: 120px;
  transform: translate(-50%, -50%) rotate(var(--a)) translateY(calc(var(--r) * -1)) rotate(calc(var(--a) * -1));
  background: #fff;
  border: 1px solid var(--border);
  padding: 6px 12px;
  border-radius: 999px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 12px;
  color: var(--ink-700);
  letter-spacing: 0.02em;
  white-space: nowrap;
  z-index: 1;
  box-shadow: var(--shadow-sm);
}

.rsg-page .factors-tracks {
  display: flex;
  flex-direction: column;
  gap: 36px;
}
.rsg-page .factors-track-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-500);
  margin-bottom: 18px;
}
.rsg-page .factors-track-label .dot {
  width: 10px; height: 10px;
  border-radius: 50%;
}
.rsg-page .factors-track-label .dot.inside { background: var(--green-500); box-shadow: 0 0 0 4px rgba(26,138,74,0.18); }
.rsg-page .factors-track-label .dot.outside { background: #b87c1f; box-shadow: 0 0 0 4px rgba(184, 124, 31, 0.2); }

.rsg-page .factor-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.rsg-page .factor-v2 {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 32px;
  position: relative;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.rsg-page .factor-v2::before {
  content: "";
  position: absolute;
  left: 0; top: 28px; bottom: 28px;
  width: 3px;
  background: linear-gradient(180deg, var(--green-500), transparent);
  border-radius: 0 3px 3px 0;
  opacity: 0;
  transition: opacity .25s, top .25s, bottom .25s;
}
.rsg-page .factor-v2.alt::before { background: linear-gradient(180deg, #f5b84d, transparent); }
.rsg-page .factor-v2:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--green-50);
}
.rsg-page .factor-v2.alt:hover { border-color: rgba(245, 184, 77, 0.35); }
.rsg-page .factor-v2:hover::before { opacity: 1; top: 0; bottom: 0; }
.rsg-page .factor-num-big {
  position: absolute;
  top: 24px; right: 28px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 52px;
  line-height: 1;
  color: var(--green-50);
  letter-spacing: -0.04em;
}
.rsg-page .factor-v2.alt .factor-num-big { color: #fbeacb; }
.rsg-page .factor-icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  background: var(--green-500);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 22px;
  box-shadow: 0 10px 22px -10px rgba(26,138,74,0.55);
}
.rsg-page .factor-v2.alt .factor-icon {
  background: #f5b84d;
  color: #5a3500;
  box-shadow: 0 10px 22px -10px rgba(245,184,77,0.55);
}
.rsg-page .factor-eyebrow {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-500);
  margin-bottom: 8px;
}
.rsg-page .factor-eyebrow.alt { color: #b87c1f; }
.rsg-page .factor-v2 h3 {
  font-size: 18px;
  line-height: 1.25;
  margin: 0 0 10px;
  padding-right: 60px;
}
.rsg-page .factor-v2 p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--ink-500);
}

@media (max-width: 1024px) {
  .rsg-page .factors-header { grid-template-columns: 1fr; }
  .rsg-page .factors-hub { display: none; }
  .rsg-page .factor-grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .rsg-page .factor-grid-3 { grid-template-columns: 1fr; }
}


.rsg-page .phases-band {
  margin-top: 96px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 48px;
  position: relative;
  overflow: hidden;
}
.rsg-page .phases-band::before {
  content: "";
  position: absolute;
  top: -100px; right: -100px;
  width: 280px; height: 280px;
  background: radial-gradient(closest-side, rgba(26,138,74,0.08), transparent);
  pointer-events: none;
}
.rsg-page .phases-band-head { max-width: 720px; margin-bottom: 40px; position: relative; }
.rsg-page .phases-band-head h2 { margin-bottom: 12px; font-size: clamp(26px, 3vw, 36px); }
.rsg-page .phases-band-head p { margin: 0; font-size: 16px; color: var(--ink-500); }

.rsg-page .phases-timeline {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  counter-reset: phasecount;
}
.rsg-page .phase-step {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 28px;
  align-items: stretch;
  counter-increment: phasecount;
  position: relative;
}
.rsg-page .phase-step-rail {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 28px;
}
.rsg-page .phase-step-dot {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--green-500);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  position: relative;
  z-index: 2;
  box-shadow: 0 8px 20px -8px rgba(26,138,74,0.55);
}
.rsg-page .phase-step-dot::before {
  content: counter(phasecount, decimal-leading-zero);
}
.rsg-page .phase-step-dot::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1.5px dashed rgba(26,138,74,0.35);
}
.rsg-page .phase-step-dot.final { background: #000; box-shadow: 0 8px 20px -8px rgba(0,0,0,0.4); }
.rsg-page .phase-step-dot.final::after { border-color: rgba(0,0,0,0.25); }
.rsg-page .phase-step-line {
  flex: 1;
  width: 2px;
  margin-top: 6px;
  background: linear-gradient(180deg, var(--green-50) 0%, var(--green-50) 60%, transparent 100%);
  min-height: 40px;
}

.rsg-page .phase-step-card {
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px 32px;
  margin-bottom: 24px;
  transition: transform .2s, box-shadow .2s, border-color .2s;
  position: relative;
}
.rsg-page .phase-step:last-child .phase-step-card { margin-bottom: 0; }
.rsg-page .phase-step-card:hover {
  transform: translateY(-2px);
  border-color: var(--green-50);
  box-shadow: var(--shadow-md);
}
.rsg-page .phase-step-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
}
.rsg-page .phase-step-num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-500);
  background: var(--green-50);
  padding: 5px 12px;
  border-radius: 999px;
}
.rsg-page .phase-step-time {
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  color: var(--ink-400);
  letter-spacing: 0.04em;
}
.rsg-page .phase-step-card h3 {
  font-size: 22px;
  margin: 0 0 10px;
  letter-spacing: -0.01em;
}
.rsg-page .phase-step-card p {
  margin: 0 0 18px;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--ink-500);
}
.rsg-page .phase-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.rsg-page .phase-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 12.5px;
  border: 1px solid var(--border-strong);
  background: #fff;
}
.rsg-page .phase-chip .cdot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--green-500);
}
.rsg-page .phase-chip.primary { color: #000; border-color: var(--green-500); background: var(--green-25); }
.rsg-page .phase-chip.primary .cdot { box-shadow: 0 0 0 3px rgba(26,138,74,0.2); }
.rsg-page .phase-chip.muted { color: var(--ink-400); }
.rsg-page .phase-chip.muted .cdot { background: var(--ink-300); }
.rsg-page .phase-chip-sep {
  color: var(--ink-400);
  font-weight: 500;
  margin: 0 2px;
}

@media (max-width: 720px) {
  .rsg-page .phases-band { padding: 32px 24px; }
  .rsg-page .phase-step { grid-template-columns: 40px 1fr; gap: 16px; }
  .rsg-page .phase-step-dot { width: 32px; height: 32px; font-size: 12px; }
  .rsg-page .phase-step-card { padding: 22px; }
}


.rsg-page .ops-section { padding: var(--section-y) 0; }
.rsg-page .ops-section h2, .rsg-page .ops-section h3 { color: #fff; }
.rsg-page .ops-section .eyebrow { color: var(--green-500); }
.rsg-page .ops-section .eyebrow::before { background: var(--green-500); }

.rsg-page .ops-header {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 48px;
}
.rsg-page .ops-header-text p { color: rgba(255,255,255,0.78); font-size: 16.5px; max-width: 600px; margin: 0; }
.rsg-page .ops-pulse {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-lg);
  padding: 22px 26px;
}
.rsg-page .ops-pulse-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.rsg-page .ops-pulse-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--green-500);
  box-shadow: 0 0 0 4px rgba(26,138,74,0.25);
  animation: opsPulse 1.6s ease-in-out infinite;
}
@keyframes opsPulse {
  0%,100% { box-shadow: 0 0 0 4px rgba(26,138,74,0.25); }
  50% { box-shadow: 0 0 0 8px rgba(26,138,74,0.08); }
}
.rsg-page .ops-pulse-label {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff;
}
.rsg-page .ops-pulse-counts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}
.rsg-page .ops-pulse-counts > div { padding: 0 14px; }
.rsg-page .ops-pulse-counts > div:first-child { padding-left: 0; }
.rsg-page .ops-pulse-counts > div + div { border-left: 1px solid rgba(255,255,255,0.1); }
.rsg-page .ops-pulse-counts .v {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  color: #fff;
  letter-spacing: -0.02em;
  line-height: 1;
  margin-bottom: 4px;
}
.rsg-page .ops-pulse-counts .l {
  font-size: 11px;
  color: rgba(255,255,255,0.6);
  letter-spacing: 0.04em;
}

.rsg-page .ops-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.rsg-page .ops-card-v2 {
  position: relative;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-xl);
  padding: 32px 30px 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: border-color .25s, background .25s, transform .2s;
}
.rsg-page .ops-card-v2:hover { border-color: rgba(26,138,74,0.5); transform: translateY(-3px); background: rgba(255,255,255,0.06); }
.rsg-page .ops-card-v2.featured {
  background:
    linear-gradient(180deg, rgba(26,138,74,0.18), rgba(255,255,255,0.03)),
    rgba(255,255,255,0.04);
  border-color: rgba(26,138,74,0.45);
}
.rsg-page .ops-card-ribbon {
  position: absolute;
  top: 0; right: 0;
  background: var(--green-500);
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 0 var(--radius-xl) 0 12px;
  z-index: 2;
}
.rsg-page .ops-card-v2.featured { padding-top: 56px; }

.rsg-page .ops-card-cadence {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.rsg-page .ops-card-cadence-tag {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
  background: rgba(255,255,255,0.08);
  padding: 5px 12px;
  border-radius: 999px;
}
.rsg-page .ops-card-cadence-tag.green {
  color: #fff;
  background: var(--green-500);
}
.rsg-page .ops-card-cadence-icon {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.8);
  display: flex; align-items: center; justify-content: center;
}
.rsg-page .ops-card-v2.featured .ops-card-cadence-icon {
  background: var(--green-500);
  border-color: var(--green-500);
  color: #fff;
  box-shadow: 0 10px 22px -10px rgba(26,138,74,0.55);
}
.rsg-page .ops-card-v2 h3 {
  font-size: 18px;
  line-height: 1.25;
  margin: 0 0 22px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.rsg-page .ops-list-v2 { list-style: none; padding: 0; margin: 0 0 24px; }
.rsg-page .ops-list-v2 li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 12px 0;
}
.rsg-page .ops-list-v2 li:not(:last-child) { border-bottom: 1px solid rgba(255,255,255,0.06); }
.rsg-page .ops-bullet {
  width: 26px; height: 26px;
  min-width: 26px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.25);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
  padding: 5px;
  box-sizing: border-box;
}
.rsg-page .ops-bullet svg { width: 100%; height: 100%; display: block; stroke: currentColor; stroke-width: 3; overflow: visible; }
.rsg-page .ops-bullet.green {
  background: var(--green-500);
  border-color: var(--green-500);
  box-shadow: 0 4px 10px -4px rgba(26,138,74,0.5);
}
.rsg-page .ops-list-v2 strong {
  display: block;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14.5px;
  color: #fff;
  margin-bottom: 4px;
}
.rsg-page .ops-list-v2 span {
  display: block;
  font-size: 13.5px;
  line-height: 1.5;
  color: rgba(255,255,255,0.65);
}

.rsg-page .ops-card-foot {
  margin: auto -30px 0;
  padding: 16px 30px;
  background: rgba(255,255,255,0.04);
  border-top: 1px solid rgba(255,255,255,0.08);
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 12.5px;
  color: rgba(255,255,255,0.78);
  letter-spacing: 0.02em;
}
.rsg-page .ops-card-foot .dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,0.4);
}
.rsg-page .ops-card-foot.green-foot {
  background: rgba(26,138,74,0.15);
  border-top-color: rgba(26,138,74,0.3);
}
.rsg-page .ops-card-foot.green-foot .dot {
  background: var(--green-500);
  box-shadow: 0 0 0 3px rgba(26,138,74,0.25);
}
.rsg-page .ops-card-foot .dot.pulse { animation: opsPulse 1.6s ease-in-out infinite; }

@media (max-width: 1024px) {
  .rsg-page .ops-header { grid-template-columns: 1fr; gap: 28px; }
  .rsg-page .ops-cards { grid-template-columns: 1fr; }
}
.rsg-page .ops-card.dark {
  background:
    linear-gradient(135deg, rgba(0, 0, 0, 0.9) 50%, rgba(74, 74, 74, 0.9) 100%),
    url('/hvac-advertising-agency/assets/hvac-bg.jpg') center/cover no-repeat;
  background-color: #1a1a1a;
  color: rgba(255,255,255,0.85);
  border: 0;
}
.rsg-page .ops-card.dark h3 { color: #fff; }
.rsg-page .ops-cadence {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green-500);
  margin-bottom: 8px;
}
.rsg-page .ops-card.dark .ops-cadence { color: #3FA66B; }
.rsg-page .ops-card h3 { font-size: 18px; margin-bottom: 16px; }
.rsg-page .ops-list { list-style: none; padding: 0; margin: 0; }
.rsg-page .ops-list li {
  position: relative;
  padding: 10px 0 10px 28px;
  font-size: 14.5px;
  line-height: 1.55;
  border-top: 1px solid var(--border);
}
.rsg-page .ops-list li:last-child { border-bottom: 1px solid var(--border); }
.rsg-page .ops-list li::before {
  content: "";
  position: absolute;
  left: 0; top: 14px;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--green-50);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a8a4a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px;
}
.rsg-page .ops-card.dark .ops-list li { border-top-color: rgba(255,255,255,0.1); color: rgba(255,255,255,0.8); }
.rsg-page .ops-card.dark .ops-list li:last-child { border-bottom-color: rgba(255,255,255,0.1); }
.rsg-page .ops-card.dark .ops-list li::before {
  background-color: rgba(110,215,147,0.15);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236ed793' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
}
.rsg-page .ops-list strong {
  font-family: var(--font-display);
  display: block;
  color: var(--ink-900);
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 2px;
}
.rsg-page .ops-card.dark .ops-list strong { color: #fff; }


.rsg-page .onboard-section { padding: var(--section-y) 0; }
.rsg-page .onboard-header {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 48px;
}
.rsg-page .onboard-header-text p { font-size: 16.5px; max-width: 580px; margin: 0; }
.rsg-page .onboard-mini-timeline {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 22px 24px;
}
.rsg-page .onboard-mini-timeline-head {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-500);
  margin-bottom: 14px;
}
.rsg-page .onboard-mini-bar {
  display: flex;
  gap: 4px;
  height: 12px;
  margin-bottom: 12px;
}
.rsg-page .onboard-mini-bar .seg {
  width: var(--w);
  height: 100%;
  border-radius: 999px;
}
.rsg-page .seg.fast { background: var(--green-500); }
.rsg-page .seg.mid { background: #f5b84d; }
.rsg-page .seg.slow { background: #c14848; }
.rsg-page .onboard-mini-labels {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
  color: var(--ink-500);
}
.rsg-page .onboard-mini-labels b {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  color: #000;
  letter-spacing: -0.01em;
  margin-bottom: 2px;
}
.rsg-page .onboard-mini-labels i {
  font-style: normal;
  font-size: 11.5px;
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--ink-400);
}

.rsg-page .onboard-tracks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 48px;
}
.rsg-page .onboard-track {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 36px;
  position: relative;
  overflow: hidden;
}
.rsg-page .onboard-track.we {
  background: linear-gradient(180deg, var(--green-25), #fff);
  border-color: var(--green-50);
}
.rsg-page .onboard-track-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border);
}
.rsg-page .onboard-track-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 999px;
}
.rsg-page .onboard-track-tag.you-tag { color: #b87c1f; background: #fef3c7; }
.rsg-page .onboard-track-tag.we-tag { color: var(--green-500); background: var(--green-50); }
.rsg-page .onboard-track-count {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 12.5px;
  color: var(--ink-400);
  letter-spacing: 0.02em;
}

.rsg-page .onboard-checklist { list-style: none; padding: 0; margin: 0; }
.rsg-page .onboard-checklist li {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 16px 0;
}
.rsg-page .onboard-checklist li:not(:last-child) { border-bottom: 1px dashed var(--border); }
.rsg-page .oc-icon {
  width: 40px; height: 40px;
  min-width: 40px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  color: var(--ink-700);
  flex-shrink: 0;
  margin-top: 2px;
  padding: 9px;
  overflow: hidden;
  box-sizing: border-box;
}
.rsg-page .oc-icon svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
}
.rsg-page .onboard-checklist.green .oc-icon {
  background: var(--green-500);
  border-color: var(--green-500);
  color: #fff;
  box-shadow: 0 6px 14px -6px rgba(26,138,74,0.55);
}
.rsg-page .onboard-checklist li > div { flex: 1; min-width: 0; }
.rsg-page .onboard-checklist strong {
  display: block;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  color: #000;
  margin-bottom: 4px;
  letter-spacing: -0.005em;
  line-height: 1.3;
}
.rsg-page .onboard-checklist span {
  display: block;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--ink-500);
}

.rsg-page .onboard-timeline {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 40px;
  position: relative;
  overflow: hidden;
}
.rsg-page .onboard-timeline::before {
  content: "";
  position: absolute;
  top: -120px; right: -120px;
  width: 280px; height: 280px;
  background: radial-gradient(closest-side, rgba(26,138,74,0.08), transparent);
  pointer-events: none;
}
.rsg-page .onboard-timeline-head { position: relative; margin-bottom: 24px; }
.rsg-page .onboard-timeline-tag {
  display: inline-block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-500);
  background: var(--green-50);
  padding: 5px 12px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.rsg-page .onboard-timeline-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
}
.rsg-page .otl-row {
  display: grid;
  grid-template-columns: 200px 1fr 1.2fr;
  gap: 24px;
  align-items: center;
  padding: 18px 0;
  border-top: 1px solid var(--border);
}
.rsg-page .otl-row:last-child { border-bottom: 0; }
.rsg-page .otl-channel {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15.5px;
  color: #000;
}
.rsg-page .otl-channel .dot {
  width: 9px; height: 9px;
  border-radius: 50%;
}
.rsg-page .otl-channel .dot.fast { background: var(--green-500); box-shadow: 0 0 0 4px rgba(44,122,75,0.18); }
.rsg-page .otl-channel .dot.mid { background: #f5b84d; box-shadow: 0 0 0 4px rgba(245,184,77,0.2); }
.rsg-page .otl-channel .dot.meta { background: #1977F1; box-shadow: 0 0 0 4px rgba(25,119,241,0.2); }
.rsg-page .otl-channel .dot.slow { background: #c14848; box-shadow: 0 0 0 4px rgba(193,72,72,0.18); }
.rsg-page .otl-bar-wrap { display: flex; flex-direction: column; gap: 8px; }
.rsg-page .otl-bar-label {
  display: inline-flex;
  align-self: flex-start;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-900);
  background: #fff;
  border: 1px solid var(--border);
  padding: 4px 12px;
  border-radius: 999px;
  white-space: nowrap;
}
.rsg-page .otl-bar-label.fast { color: var(--green-700); border-color: rgba(44,122,75,0.32); background: var(--green-25); }
.rsg-page .otl-bar-label.mid { color: #8B5E15; border-color: rgba(245,184,77,0.48); background: #FDF5E4; }
.rsg-page .otl-bar-label.meta { color: #0B4FB0; border-color: rgba(25,119,241,0.32); background: #EAF2FE; }
.rsg-page .otl-bar-label.slow { color: #9C2C2C; border-color: rgba(193,72,72,0.32); background: #FCEDED; }
.rsg-page .otl-bar {
  position: relative;
  height: 14px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: 999px;
  overflow: hidden;
}
.rsg-page .otl-fill {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: var(--w);
  border-radius: 999px;
}
.rsg-page .otl-fill.fast { background: linear-gradient(90deg, var(--green-500), rgba(44,122,75,0.7)); }
.rsg-page .otl-fill.mid { background: linear-gradient(90deg, #f5b84d, rgba(245,184,77,0.7)); }
.rsg-page .otl-fill.meta { background: linear-gradient(90deg, #1977F1, rgba(25,119,241,0.7)); }
.rsg-page .otl-fill.slow { background: linear-gradient(90deg, #c14848, rgba(193,72,72,0.7)); }
.rsg-page .otl-bar-ticks {
  display: flex;
  justify-content: space-between;
  padding: 0 4px;
  margin-top: 6px;
}
.rsg-page .otl-bar-tick {
  font-family: var(--font-display);
  font-size: 10.5px;
  font-weight: 600;
  color: var(--ink-300);
  letter-spacing: 0.04em;
}
.rsg-page .otl-note { font-size: 13.5px; color: var(--ink-500); line-height: 1.5; }

/* ============================================================
   MID-PAGE LAUNCHPAD CTA (sits between onboarding + what-goes-wrong)
   Unique design: asymmetric split card, floating platform pills,
   dark-gradient block with green glow + bold display CTA.
   ============================================================ */
.rsg-page .midcta-section { padding: 56px 0; }
.rsg-page .midcta-card {
  position: relative;
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 0;
  background: linear-gradient(135deg, #0F1A14 0%, #1A2B22 55%, #0A1610 100%);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 30px 72px rgba(0,0,0,0.22), 0 12px 32px rgba(0,0,0,0.12);
  border: 1px solid rgba(255,255,255,0.06);
}
.rsg-page .midcta-card::before {
  content: ""; position: absolute; top: -80px; left: -100px; width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(44,122,75,0.36) 0%, rgba(44,122,75,0.06) 55%, transparent 75%);
  pointer-events: none;
}
.rsg-page .midcta-card::after {
  content: ""; position: absolute; bottom: -100px; right: -80px; width: 320px; height: 320px;
  background: radial-gradient(circle, rgba(231,138,44,0.18) 0%, rgba(231,138,44,0.04) 55%, transparent 75%);
  pointer-events: none;
}

.rsg-page .midcta-left {
  position: relative; z-index: 2;
  padding: 48px 44px 48px 48px;
  display: flex; flex-direction: column;
  gap: 18px;
}
.rsg-page .midcta-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  align-self: flex-start;
  font-family: var(--font-display); font-weight: 700; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: #3FA66B;
  background: rgba(63,166,107,0.12);
  padding: 7px 14px; border-radius: 999px;
  border: 1px solid rgba(63,166,107,0.28);
}
.rsg-page .midcta-eyebrow::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%;
  background: #3FA66B; box-shadow: 0 0 0 4px rgba(63,166,107,0.20);
  animation: rsgPulse 2.2s infinite;
}
.rsg-page .midcta-title {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.18; letter-spacing: -0.02em;
  color: #fff; margin: 0;
}
.rsg-page .midcta-title em { font-style: normal; color: #3FA66B; }
.rsg-page .midcta-lede {
  font-family: var(--font-body); font-size: 15px; line-height: 1.6;
  color: rgba(255,255,255,0.72); margin: 0; max-width: 540px;
}
.rsg-page .midcta-trust {
  display: flex; flex-direction: column; gap: 9px;
  margin-top: 4px;
}
.rsg-page .midcta-trust span {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-display); font-weight: 500; font-size: 13.5px;
  color: rgba(255,255,255,0.85);
}
.rsg-page .midcta-trust .tick {
  width: 20px; height: 20px; border-radius: 50%;
  background: rgba(63,166,107,0.18);
  color: #3FA66B;
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.rsg-page .midcta-trust .tick svg { width: 11px; height: 11px; }
.rsg-page .midcta-cta {
  margin-top: 10px;
  display: inline-flex; align-self: flex-start; align-items: center; gap: 10px;
  background: #fff; color: var(--ink-900);
  font-family: var(--font-display); font-weight: 700; font-size: 15px;
  padding: 16px 26px; border-radius: 999px;
  box-shadow: 0 14px 32px rgba(0,0,0,0.28), 0 0 0 6px rgba(63,166,107,0.10);
  border: 0; text-decoration: none;
  transition: transform .2s, box-shadow .2s, background .2s;
}
.rsg-page .midcta-cta:hover {
  transform: translateY(-2px);
  background: var(--green-25);
  box-shadow: 0 22px 42px rgba(0,0,0,0.32), 0 0 0 6px rgba(63,166,107,0.18);
  text-decoration: none;
}
.rsg-page .midcta-cta .cta-arrow {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--green-500); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
}
.rsg-page .midcta-cta .cta-arrow svg { width: 14px; height: 14px; }
.rsg-page .midcta-foot {
  margin-top: 6px;
  font-family: var(--font-mono); font-size: 11.5px;
  color: rgba(255,255,255,0.45);
  font-style: italic; letter-spacing: 0.02em;
}

/* Right column: floating "launch queue" pills */
.rsg-page .midcta-right {
  position: relative; z-index: 2;
  padding: 48px 48px 48px 12px;
  display: flex; flex-direction: column; justify-content: center;
  gap: 12px;
}
.rsg-page .midcta-stack-label {
  font-family: var(--font-mono); font-size: 10px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  margin-bottom: 6px;
}
.rsg-page .midcta-pill {
  position: relative;
  display: flex; align-items: center; gap: 12px;
  padding: 12px 16px;
  background: rgba(255,255,255,0.045);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  transition: transform .25s, border-color .25s, background .25s;
}
.rsg-page .midcta-pill:hover { transform: translateX(-4px); border-color: rgba(255,255,255,0.18); background: rgba(255,255,255,0.07); }
.rsg-page .midcta-pill .pill-mark {
  width: 32px; height: 32px; border-radius: 8px;
  background: #fff;
  padding: 6px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.30);
}
.rsg-page .midcta-pill .pill-mark svg { width: 100%; height: 100%; display: block; }
.rsg-page .midcta-pill .pill-meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rsg-page .midcta-pill .pill-name {
  font-family: var(--font-display); font-weight: 700; font-size: 13.5px;
  color: #fff; letter-spacing: -0.005em;
}
.rsg-page .midcta-pill .pill-eta {
  font-family: var(--font-mono); font-size: 10px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}
.rsg-page .midcta-pill .pill-status {
  margin-left: auto;
  font-family: var(--font-mono); font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: #3FA66B;
  display: inline-flex; align-items: center; gap: 6px;
}
.rsg-page .midcta-pill .pill-status::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%;
  background: #3FA66B; box-shadow: 0 0 0 3px rgba(63,166,107,0.20);
}

@media (max-width: 960px) {
  .rsg-page .midcta-card { grid-template-columns: 1fr; }
  .rsg-page .midcta-left { padding: 40px 32px 24px; }
  .rsg-page .midcta-right { padding: 8px 32px 40px; }
}
@media (max-width: 480px) {
  .rsg-page .midcta-section { padding: 40px 0; }
  .rsg-page .midcta-left { padding: 32px 24px 20px; }
  .rsg-page .midcta-right { padding: 4px 24px 32px; }
  .rsg-page .midcta-title { font-size: 22px; }
  .rsg-page .midcta-cta { width: 100%; justify-content: center; padding: 14px 22px; font-size: 14px; }
}

.rsg-page .onboard-timeline-foot {
  margin-top: 24px;
  padding: 18px 22px;
  background: var(--green-25);
  border-left: 3px solid var(--green-500);
  border-radius: 0 12px 12px 0;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-700);
}
.rsg-page .onboard-timeline-foot svg { color: var(--green-500); flex-shrink: 0; margin-top: 2px; }
.rsg-page .timeline-note-section { padding: 0 0 var(--section-y); margin-top: -32px; }
.rsg-page .timeline-note-section .onboard-timeline-foot { margin-top: 0; }
@media (max-width: 768px) {
  .rsg-page .timeline-note-section { padding: 0 0 56px; margin-top: -24px; }
}

@media (max-width: 1024px) {
  .rsg-page .onboard-header { grid-template-columns: 1fr; gap: 28px; }
  .rsg-page .onboard-tracks { grid-template-columns: 1fr; }
  .rsg-page .otl-row { grid-template-columns: 1fr; gap: 8px; padding: 16px 0; }
}


.rsg-page .wrong-section { padding: var(--section-y) 0; background: #fff; }
.rsg-page .wrong-header {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 56px;
}
.rsg-page .wrong-header-text h2 { margin-bottom: 14px; }
.rsg-page .wrong-header-text p { font-size: 16.5px; max-width: 600px; margin: 0; }
.rsg-page .wrong-header-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 22px 8px;
}
.rsg-page .wrong-header-stats > div { padding: 0 16px; }
.rsg-page .wrong-header-stats > div + div { border-left: 1px solid var(--border); }
.rsg-page .wrong-header-stats .v {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 28px;
  color: #000;
  letter-spacing: -0.025em;
  line-height: 1;
  margin-bottom: 6px;
}
.rsg-page .wrong-header-stats .l {
  font-size: 12px;
  color: var(--ink-500);
  font-family: var(--font-display);
  letter-spacing: 0.02em;
}

.rsg-page .wrong-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.rsg-page .wrong-card-v2 {
  position: relative;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 36px 36px 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .25s ease, border-color .25s ease;
}
.rsg-page .wrong-card-v2:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--border-strong);
}
.rsg-page .wrong-card-rail {
  position: absolute;
  left: 0; top: 36px; bottom: 36px;
  width: 3px;
  border-radius: 0 3px 3px 0;
}
.rsg-page .wrong-card-rail[data-severity="high"] { background: linear-gradient(180deg, #c14848, rgba(193,72,72,0.25)); }
.rsg-page .wrong-card-rail[data-severity="mid"] { background: linear-gradient(180deg, #f5b84d, rgba(245,184,77,0.25)); }
.rsg-page .wrong-card-rail[data-severity="low"] { background: linear-gradient(180deg, var(--green-500), rgba(26,138,74,0.25)); }

.rsg-page .wrong-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.rsg-page .wrong-card-num {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 26px;
  color: var(--ink-300);
  letter-spacing: -0.03em;
  line-height: 1;
}
.rsg-page .wrong-card-icon {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  color: var(--ink-700);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  box-sizing: border-box;
}
.rsg-page .wrong-card-icon svg { width: 100%; height: 100%; display: block; }
.rsg-page .wrong-severity {
  margin-left: auto;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 10.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 11px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.rsg-page .wrong-severity::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%;
}
.rsg-page .wrong-severity.high { color: #c14848; background: rgba(193,72,72,0.12); }
.rsg-page .wrong-severity.high::before { background: #c14848; }
.rsg-page .wrong-severity.mid { color: #b87c1f; background: rgba(245,184,77,0.18); }
.rsg-page .wrong-severity.mid::before { background: #b87c1f; }
.rsg-page .wrong-severity.low { color: var(--green-500); background: var(--green-50); }
.rsg-page .wrong-severity.low::before { background: var(--green-500); }

.rsg-page .wrong-card-v2 h3 {
  font-size: 19px;
  line-height: 1.25;
  margin: 0 0 12px;
}
.rsg-page .wrong-card-v2 > p {
  margin: 0 0 22px;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--ink-500);
}
.rsg-page .wrong-card-v2 > p b { color: #000; font-weight: 600; }

.rsg-page .wrong-action-v2 {
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 16px 18px;
  margin-bottom: 22px;
}
.rsg-page .wrong-action-v2.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 24px;
  padding: 18px 20px;
}
.rsg-page .action-label {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 10.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--green-500);
  margin-bottom: 6px;
}
.rsg-page .action-text {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--ink-700);
}

.rsg-page .wrong-card-media {
  margin: auto -36px 0;
  border-top: 1px solid var(--border);
  background: var(--bg-soft);
  padding: 24px 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rsg-page .wrong-card-media img {
  width: 100%;
  border-radius: 8px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  display: block;
}
.rsg-page .wrong-card-v2.no-media { padding-bottom: 36px; }
.rsg-page .wrong-card-v2.no-media .wrong-action-v2 { margin-bottom: 0; }

@media (max-width: 1024px) {
  .rsg-page .wrong-header { grid-template-columns: 1fr; gap: 28px; }
  .rsg-page .wrong-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .rsg-page .wrong-card-v2 { padding: 28px 24px 0; }
  .rsg-page .wrong-card-media { margin: auto -24px 0; padding: 20px 24px; }
  .rsg-page .wrong-action-v2.split { grid-template-columns: 1fr; }
}


.rsg-page .lq-section { padding: var(--section-y) 0; }
.rsg-page .lq-section h2, .rsg-page .lq-section h3 { color: #fff; }
.rsg-page .lq-section .eyebrow { color: var(--green-500); }
.rsg-page .lq-section .eyebrow::before { background: var(--green-500); }

.rsg-page .lq-header {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 40px;
}
.rsg-page .lq-header-text p { color: rgba(255,255,255,0.78); font-size: 16.5px; max-width: 600px; margin: 0; }

.rsg-page .lq-formula {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-lg);
  padding: 22px 24px;
}
.rsg-page .lq-formula-label {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-bottom: 14px;
}
.rsg-page .lq-formula-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.rsg-page .lq-formula-row + .lq-formula-row { margin-top: 10px; }
.rsg-page .lq-tile {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  padding: 9px 14px;
  border-radius: 8px;
  letter-spacing: 0.02em;
}
.rsg-page .lq-tile.success { background: var(--green-500); color: #fff; }
.rsg-page .lq-tile.danger { background: rgba(193,72,72,0.2); color: #ff9b9b; border: 1px solid rgba(193,72,72,0.5); }
.rsg-page .lq-tile.dark { background: #fff; color: #000; }
.rsg-page .lq-op {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 18px;
  color: rgba(255,255,255,0.55);
}
.rsg-page .lq-op.equals { color: #fff; }

.rsg-page .lq-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 24px;
}
.rsg-page .lq-glass {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02)),
    rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-xl);
  padding: 36px;
  position: relative;
  overflow: hidden;
  transition: border-color .2s, transform .2s;
}
.rsg-page .lq-glass:hover { border-color: rgba(26,138,74,0.5); transform: translateY(-3px); }
.rsg-page .lq-glass::before {
  content: "";
  position: absolute;
  top: -60px; right: -60px;
  width: 180px; height: 180px;
  background: radial-gradient(closest-side, rgba(26,138,74,0.18), transparent);
  pointer-events: none;
}
.rsg-page .lq-glass-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
  gap: 16px;
}
.rsg-page .lq-tag {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 999px;
}
.rsg-page .lq-tag.green { color: var(--green-500); background: rgba(26,138,74,0.18); }
.rsg-page .lq-tag.amber { color: #f5b84d; background: rgba(245,184,77,0.18); }
.rsg-page .lq-mega {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 48px;
  color: #fff;
  letter-spacing: -0.04em;
  line-height: 1;
}
.rsg-page .lq-mega .pct { font-size: 28px; color: rgba(255,255,255,0.6); margin-left: 2px; letter-spacing: -0.02em; }
.rsg-page .lq-glass h3 { font-size: 19px; line-height: 1.25; margin: 8px 0 12px; padding-right: 80px; }
.rsg-page .lq-glass p { margin: 0 0 20px; font-size: 14.5px; line-height: 1.6; color: rgba(255,255,255,0.72); }
.rsg-page .lq-glass p:last-child { margin-bottom: 0; }

.rsg-page .lq-bullets {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.rsg-page .lq-bullets li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  color: rgba(255,255,255,0.85);
}
.rsg-page .lq-bullets .dot.green {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--green-500);
  box-shadow: 0 0 0 4px rgba(26,138,74,0.2);
  flex-shrink: 0;
}

.rsg-page .lq-vs-bar { display: flex; flex-direction: column; gap: 14px; }
.rsg-page .lq-vs-row { display: grid; grid-template-columns: 130px 1fr; gap: 14px; align-items: center; }
.rsg-page .lq-vs-row .lbl { font-size: 13px; color: rgba(255,255,255,0.75); font-family: var(--font-display); font-weight: 600; }
.rsg-page .lq-vs-row .bar {
  position: relative;
  height: 24px;
  background: rgba(255,255,255,0.06);
  border-radius: 999px;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.rsg-page .lq-vs-row .fill {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: var(--w);
  border-radius: 999px;
}
.rsg-page .lq-vs-row .fill.green { background: linear-gradient(90deg, var(--green-500), rgba(26,138,74,0.5)); }
.rsg-page .lq-vs-row .fill.amber { background: linear-gradient(90deg, #f5b84d, rgba(245,184,77,0.4)); }
.rsg-page .pct-lbl {
  position: relative;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 12px;
  color: #fff;
  z-index: 1;
  padding-left: 12px;
}

.rsg-page .lq-trap {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02)),
    rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-xl);
  padding: 40px;
  overflow: hidden;
  position: relative;
}
.rsg-page .lq-trap-head { margin-bottom: 28px; }
.rsg-page .lq-trap-head .lq-tag { margin-bottom: 12px; display: inline-block; }
.rsg-page .lq-trap-head h3 { font-size: 22px; line-height: 1.25; margin: 0; max-width: 700px; }

.rsg-page .lq-ratio {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 24px;
  align-items: stretch;
  margin-bottom: 24px;
}
.rsg-page .lq-ratio-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-lg);
  padding: 28px;
}
.rsg-page .lq-ratio-card.big { border-color: rgba(26,138,74,0.45); background: rgba(26,138,74,0.08); }
.rsg-page .lq-ratio-num {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 44px;
  color: #fff;
  letter-spacing: -0.03em;
  line-height: 1;
  margin-bottom: 12px;
}
.rsg-page .lq-ratio-card.big .lq-ratio-num { color: var(--green-500); }
.rsg-page .lq-ratio-lbl {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  margin-bottom: 6px;
}
.rsg-page .lq-ratio-sub { font-size: 13.5px; color: rgba(255,255,255,0.78); line-height: 1.45; }

.rsg-page .lq-ratio-divider {
  align-self: center;
  text-align: center;
  padding: 0 8px;
}
.rsg-page .lq-ratio-ratio {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 36px;
  color: var(--green-500);
  letter-spacing: -0.03em;
  line-height: 1;
  margin-bottom: 6px;
}
.rsg-page .lq-ratio-rlbl {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
}

.rsg-page .lq-trap-note {
  margin: 0 0 24px;
  font-size: 15px;
  line-height: 1.65;
  color: rgba(255,255,255,0.82);
}
.rsg-page .lq-trap-note b { color: #fff; font-weight: 600; }
.rsg-page .lq-trap-screens {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.rsg-page .lq-trap-screens img {
  width: 100%;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: #fff;
}

@media (max-width: 1024px) {
  .rsg-page .lq-header { grid-template-columns: 1fr; gap: 28px; }
  .rsg-page .lq-pair { grid-template-columns: 1fr; }
  .rsg-page .lq-ratio { grid-template-columns: 1fr; gap: 14px; }
  .rsg-page .lq-ratio-divider { padding: 8px 0; }
  .rsg-page .lq-glass h3 { padding-right: 0; }
}
@media (max-width: 600px) {
  .rsg-page .lq-trap-screens { grid-template-columns: 1fr; }
  .rsg-page .lq-vs-row { grid-template-columns: 1fr; gap: 4px; }
}
.rsg-page .lq-big {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 56px;
  color: #000;
  line-height: 1;
  letter-spacing: -0.03em;
  margin-bottom: 8px;
}
.rsg-page .lq-keyword-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 24px 0;
}
.rsg-page .lq-keyword-row img {
  width: 100%;
  border-radius: 10px;
  border: 1px solid var(--border);
}


.rsg-page .ready-section { padding: var(--section-y) 0; }
.rsg-page .ready-header {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 48px;
}
.rsg-page .ready-header-text h2 { margin-bottom: 14px; }
.rsg-page .ready-header-text p { font-size: 16.5px; max-width: 600px; margin: 0; }
.rsg-page .ready-scoreboard {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 22px;
  display: flex;
  justify-content: center;
}
.rsg-page .ready-scoreboard-line { display: flex; align-items: center; gap: 24px; }
.rsg-page .rs-side { text-align: center; min-width: 110px; }
.rsg-page .rs-side .rs-num {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 36px;
  letter-spacing: -0.025em;
  line-height: 1;
  margin-bottom: 6px;
}
.rsg-page .rs-side.go .rs-num { color: var(--green-500); }
.rsg-page .rs-side.wait .rs-num { color: #c14848; }
.rsg-page .rs-side .rs-lbl {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 12px;
  color: var(--ink-500);
  letter-spacing: 0.02em;
}
.rsg-page .rs-divider {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 16px;
  color: var(--ink-300);
  letter-spacing: 0.02em;
}

.rsg-page .ready-versus {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  position: relative;
}
.rsg-page .ready-versus::after {
  content: "VS";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 56px; height: 56px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--border-strong);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 14px;
  color: var(--ink-700);
  letter-spacing: 0.05em;
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--shadow-md);
  z-index: 2;
}
.rsg-page .ready-col {
  position: relative;
  border-radius: var(--radius-xl);
  padding: 36px;
  overflow: hidden;
}
.rsg-page .ready-col.go {
  background: linear-gradient(180deg, var(--green-25), #fff);
  border: 1px solid var(--green-50);
}
.rsg-page .ready-col.wait {
  background: linear-gradient(180deg, #fdf2f2, #fff);
  border: 1px solid #f5d4d4;
}
.rsg-page .ready-col::before {
  content: "";
  position: absolute;
  top: -60px; right: -60px;
  width: 180px; height: 180px;
  background: radial-gradient(closest-side, rgba(26,138,74,0.2), transparent);
  pointer-events: none;
}
.rsg-page .ready-col.wait::before { background: radial-gradient(closest-side, rgba(193,72,72,0.18), transparent); }
.rsg-page .ready-col-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}
.rsg-page .ready-col-tag {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 999px;
}
.rsg-page .ready-col-tag.go { background: var(--green-500); color: #fff; }
.rsg-page .ready-col-tag.wait { background: #c14848; color: #fff; }
.rsg-page .ready-col-icon {
  width: 38px; height: 38px;
  border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff;
  padding: 8px;
  box-sizing: border-box;
}
.rsg-page .ready-col-icon svg { width: 100%; height: 100%; display: block; }
.rsg-page .ready-col-icon.go { background: var(--green-500); box-shadow: 0 8px 18px -8px rgba(26,138,74,0.55); }
.rsg-page .ready-col-icon.wait { background: #c14848; box-shadow: 0 8px 18px -8px rgba(193,72,72,0.55); }
.rsg-page .ready-col-title {
  font-size: 18px;
  margin: 0 0 22px;
  padding-bottom: 22px;
  border-bottom: 1px dashed rgba(0,0,0,0.1);
  color: #000;
}
.rsg-page .ready-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: rch;
}
.rsg-page .ready-checklist li {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 14px;
  align-items: start;
  padding: 12px 0;
}
.rsg-page .ready-checklist li:not(:last-child) { border-bottom: 1px dashed rgba(0,0,0,0.08); }
.rsg-page .rch-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px; height: 32px;
  border-radius: 50%;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 12.5px;
  letter-spacing: 0.02em;
  border: 1.5px solid;
  background: #fff;
}
.rsg-page .ready-checklist.go .rch-num { border-color: var(--green-500); color: var(--green-500); }
.rsg-page .ready-checklist.wait .rch-num { border-color: #c14848; color: #c14848; }
.rsg-page .rch-text {
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--ink-700);
  align-self: center;
}


.rsg-page .invest-section { padding: var(--section-y) 0; }
.rsg-page .invest-header {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 36px;
}
.rsg-page .invest-header h2 { margin-bottom: 14px; }
.rsg-page .invest-header p { font-size: 16.5px; max-width: 580px; margin: 0; }
.rsg-page .invest-header p b { color: #000; font-weight: 600; }
.rsg-page .invest-formula {
  background: #000;
  color: #fff;
  border-radius: var(--radius-lg);
  padding: 24px 28px;
  position: relative;
  overflow: hidden;
}
.rsg-page .invest-formula::before {
  content: "";
  position: absolute;
  top: -60px; right: -60px;
  width: 180px; height: 180px;
  background: radial-gradient(closest-side, rgba(26,138,74,0.35), transparent);
}
.rsg-page .invest-formula-label {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-500);
  margin-bottom: 8px;
}
.rsg-page .invest-formula-amount {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 54px;
  letter-spacing: -0.04em;
  line-height: 1;
  color: #fff;
}
.rsg-page .invest-formula-amount .dash { color: rgba(255,255,255,0.55); margin: 0 4px; }
.rsg-page .invest-formula-sub {
  margin-top: 8px;
  font-size: 13px;
  color: rgba(255,255,255,0.7);
}

.rsg-page .invest-stages {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
.rsg-page .invest-stage-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 22px 24px;
  transition: border-color .2s, transform .2s;
}
.rsg-page .invest-stage-card:hover { border-color: var(--green-50); transform: translateY(-2px); }
.rsg-page .invest-stage-label {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-500);
  margin-bottom: 6px;
}
.rsg-page .invest-stage-rev {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 13.5px;
  color: var(--ink-500);
  margin-bottom: 14px;
}
.rsg-page .invest-stage-pct {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 34px;
  color: #000;
  letter-spacing: -0.025em;
  line-height: 1;
  margin-bottom: 14px;
}
.rsg-page .invest-stage-pct span { color: var(--ink-400); font-size: 18px; margin-left: 2px; }
.rsg-page .invest-stage-bar {
  height: 5px;
  background: var(--bg-soft);
  border-radius: 999px;
  overflow: hidden;
}
.rsg-page .invest-stage-bar span {
  display: block;
  height: 100%;
  width: var(--w);
  background: linear-gradient(90deg, var(--green-500), rgba(26,138,74,0.4));
  border-radius: 999px;
}

.rsg-page .invest-callout {
  background: #fff;
  border: 1px solid var(--green-50);
  border-radius: var(--radius-lg);
  padding: 24px 28px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}
.rsg-page .invest-callout-left {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: center;
}
.rsg-page .invest-callout-icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  background: var(--green-500);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 8px 18px -8px rgba(26,138,74,0.55);
}
.rsg-page .invest-callout-tag {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-500);
  margin-bottom: 4px;
}
.rsg-page .invest-callout p b { color: #000; font-weight: 600; }


.rsg-page .min-section { padding: var(--section-y) 0; }
.rsg-page .min-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start;
}
.rsg-page .min-left h2 { margin-bottom: 14px; }
.rsg-page .min-left > p { font-size: 16px; color: var(--ink-500); margin-bottom: 28px; max-width: 520px; }
.rsg-page .min-left > p b { color: #000; font-weight: 600; }

.rsg-page .min-reasons {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 24px;
}
.rsg-page .min-reason {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: start;
  padding: 18px 0;
  border-top: 1px solid var(--border);
}
.rsg-page .min-reason:last-child { border-bottom: 1px solid var(--border); }
.rsg-page .min-reason-num {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 22px;
  color: var(--green-500);
  letter-spacing: -0.025em;
  line-height: 1;
  width: 44px;
  text-align: left;
}
.rsg-page .min-reason h3 {
  font-size: 15.5px;
  margin: 0 0 6px;
  color: #000;
  font-weight: 600;
  line-height: 1.3;
}
.rsg-page .min-reason p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-500);
}

.rsg-page .min-quote {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  background: var(--green-25);
  border-left: 3px solid var(--green-500);
  padding: 18px 22px;
  border-radius: 0 12px 12px 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--ink-700);
}
.rsg-page .min-quote b { color: var(--green-500); font-weight: 700; }
.rsg-page .min-quote-icon {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--green-500);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  padding: 6px;
  box-sizing: border-box;
  flex-shrink: 0;
}
.rsg-page .min-quote-icon svg { width: 100%; height: 100%; display: block; }

.rsg-page .min-right {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.rsg-page .min-budget-card {
  background: linear-gradient(180deg, #000, #1a1a1a);
  color: #fff;
  border-radius: var(--radius-xl);
  padding: 32px;
  position: relative;
  overflow: hidden;
}
.rsg-page .min-budget-card::before {
  content: "";
  position: absolute;
  top: -100px; right: -100px;
  width: 240px; height: 240px;
  background: radial-gradient(closest-side, rgba(26,138,74,0.35), transparent);
}
.rsg-page .min-budget-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  position: relative;
}
.rsg-page .min-budget-tag {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-500);
  background: rgba(26,138,74,0.18);
  padding: 5px 12px;
  border-radius: 999px;
}
.rsg-page .min-budget-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 11.5px;
  color: rgba(255,255,255,0.7);
  letter-spacing: 0.04em;
}
.rsg-page .min-budget-live .dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--green-500);
  box-shadow: 0 0 0 4px rgba(26,138,74,0.25);
  animation: opsPulse 1.8s ease-in-out infinite;
}
.rsg-page .min-budget-amount {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 58px;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #fff;
  position: relative;
}
.rsg-page .min-budget-amount span { font-size: 22px; color: rgba(255,255,255,0.55); margin-left: 4px; letter-spacing: -0.01em; }
.rsg-page .min-budget-sub {
  margin: 6px 0 22px;
  font-size: 13px;
  color: rgba(255,255,255,0.65);
  position: relative;
}
.rsg-page .min-budget-bar {
  position: relative;
  height: 10px;
  background: rgba(255,255,255,0.1);
  border-radius: 999px;
  margin-bottom: 6px;
}
.rsg-page .min-budget-bar-fill {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: var(--w);
  background: linear-gradient(90deg, var(--green-500), #3FA66B);
  border-radius: 999px;
  box-shadow: 0 0 16px rgba(110,215,147,0.5);
}
.rsg-page .min-budget-bar-marker {
  position: absolute;
  left: var(--at);
  top: -28px;
  transform: translateX(-50%);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  color: var(--green-500);
  background: rgba(26,138,74,0.18);
  padding: 3px 8px;
  border-radius: 6px;
  white-space: nowrap;
}
.rsg-page .min-budget-bar-marker::after {
  content: "";
  position: absolute;
  top: 100%; left: 50%;
  transform: translateX(-50%);
  width: 0; height: 0;
  border: 4px solid transparent;
  border-top-color: rgba(26,138,74,0.4);
}
.rsg-page .min-budget-bar-labels {
  display: flex;
  justify-content: space-between;
  font-family: var(--font-display);
  font-size: 10.5px;
  font-weight: 600;
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.04em;
  margin-bottom: 22px;
}
.rsg-page .min-budget-split {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  padding: 14px 4px;
  position: relative;
}
.rsg-page .min-budget-split-item { padding: 0 12px; }
.rsg-page .min-budget-split-item + .min-budget-split-item { border-left: 1px solid rgba(255,255,255,0.08); }
.rsg-page .min-budget-split-item .lbl {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  margin-bottom: 4px;
}
.rsg-page .min-budget-split-item .val {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 12.5px;
  letter-spacing: -0.005em;
}
.rsg-page .min-budget-split-item .val.danger { color: #ff9b9b; }
.rsg-page .min-budget-split-item .val.good { color: #3FA66B; }

.rsg-page .min-screenshot {
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 16px;
}
.rsg-page .min-screenshot img { width: 100%; display: block; border-radius: 8px; border: 1px solid var(--border); }

@media (max-width: 1024px) {
  .rsg-page .ready-header, .rsg-page .invest-header, .rsg-page .min-grid { grid-template-columns: 1fr; gap: 28px; }
  .rsg-page .invest-stages { grid-template-columns: repeat(2, 1fr); }
  .rsg-page .ready-versus { grid-template-columns: 1fr; }
  .rsg-page .ready-versus::after { display: none; }
  .rsg-page .invest-callout { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .rsg-page .invest-stages { grid-template-columns: 1fr; }
  .rsg-page .min-budget-split { grid-template-columns: 1fr; }
  .rsg-page .min-budget-split-item { padding: 10px 12px; }
  .rsg-page .min-budget-split-item + .min-budget-split-item { border-left: 0; border-top: 1px solid rgba(255,255,255,0.08); }
}


.rsg-page .invest-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 32px;
}
.rsg-page .invest-card {
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 24px;
  text-align: center;
}
.rsg-page .invest-stage {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  color: var(--ink-700);
  margin-bottom: 8px;
}
.rsg-page .invest-pct {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 28px;
  color: #000;
  letter-spacing: -0.02em;
}

.rsg-page .budget-callout {
  margin-top: 32px;
  background: var(--green-25);
  border: 1px solid var(--green-50);
  border-radius: var(--radius-lg);
  padding: 32px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: center;
}
.rsg-page .budget-callout .big {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 44px;
  color: #000;
  letter-spacing: -0.025em;
  line-height: 1;
  margin-bottom: 4px;
}
.rsg-page .budget-callout p { margin: 0; font-size: 15px; }


.rsg-page .pricing-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.rsg-page .tier {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 40px 32px;
  display: flex; flex-direction: column;
  position: relative;
  transition: box-shadow .2s, transform .2s;
}
.rsg-page .tier:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.rsg-page .tier.featured {
  background:
    linear-gradient(135deg, rgba(0, 0, 0, 0.9) 50%, rgba(74, 74, 74, 0.9) 100%),
    url('/hvac-advertising-agency/assets/hvac-bg.jpg') center/cover no-repeat;
  background-color: #1a1a1a;
  color: rgba(255,255,255,0.88);
  border: 0;
  box-shadow: var(--shadow-lg);
}
.rsg-page .tier.featured h3 { color: #fff; }
.rsg-page .tier-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green-500);
  margin-bottom: 12px;
}
.rsg-page .tier.featured .tier-name { color: #3FA66B; }
.rsg-page .tier-price {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 44px;
  color: #000;
  letter-spacing: -0.025em;
  line-height: 1;
}
.rsg-page .tier.featured .tier-price { color: #fff; }
.rsg-page .tier-price .per {
  font-size: 15px;
  color: var(--ink-400);
  font-weight: 500;
  letter-spacing: 0;
}
.rsg-page .tier.featured .tier-price .per { color: rgba(255,255,255,0.6); }
.rsg-page .tier-tagline {
  margin: 16px 0 24px;
  font-size: 15px;
  line-height: 1.5;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border);
}
.rsg-page .tier.featured .tier-tagline { border-bottom-color: rgba(255,255,255,0.15); color: rgba(255,255,255,0.78); }
.rsg-page .tier .btn { width: 100%; margin-top: auto; }
.rsg-page .tier-tag {
  position: absolute;
  top: -12px; left: 32px;
  background: var(--green-500);
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
}


.rsg-page .fit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
}
.rsg-page .fit-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 32px;
}
.rsg-page .fit-tag {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  display: inline-block;
  margin-bottom: 16px;
}
.rsg-page .fit-card.not .fit-tag { background: #fde8e8; color: #b91c1c; }
.rsg-page .fit-card.built .fit-tag { background: var(--green-50); color: var(--green-500); }
.rsg-page .fit-card.pact .fit-tag { background: #fef3c7; color: #92400e; }
.rsg-page .fit-card.pact {
  background:
    linear-gradient(135deg, rgba(0, 0, 0, 0.9) 50%, rgba(74, 74, 74, 0.9) 100%),
    url('/hvac-advertising-agency/assets/hvac-bg.jpg') center/cover no-repeat;
  background-color: #1a1a1a;
  color: rgba(255,255,255,0.85);
  border: 0;
}
.rsg-page .fit-card.pact .fit-tag { background: rgba(255,255,255,0.12); color: #fcd34d; }
.rsg-page .fit-card.pact h3 { color: #fff; }
.rsg-page .fit-list { list-style: none; padding: 0; margin: 16px 0 0; }
.rsg-page .fit-list li {
  padding: 10px 0;
  font-size: 14.5px;
  line-height: 1.5;
  border-top: 1px solid var(--border);
}
.rsg-page .fit-list li:last-child { border-bottom: 1px solid var(--border); }
.rsg-page .fit-card.pact .fit-list li { border-color: rgba(255,255,255,0.1); color: rgba(255,255,255,0.82); }


.rsg-page .budget-flow-section { padding: var(--section-y) 0; }
.rsg-page .budget-flow-section h2, .rsg-page .budget-flow-section h3 { color: #fff; }
.rsg-page .budget-flow-section .eyebrow { color: var(--green-500); }
.rsg-page .budget-flow-section .eyebrow::before { background: var(--green-500); }

.rsg-page .budget-flow-header {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 48px;
}
.rsg-page .budget-flow-header-text p { color: rgba(255,255,255,0.78); font-size: 16.5px; max-width: 580px; margin: 0; }
.rsg-page .budget-flow-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: var(--radius-lg);
  padding: 18px 22px;
}
.rsg-page .bfc-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.rsg-page .bfc-row svg { color: var(--green-500); flex-shrink: 0; }
.rsg-page .bfc-label {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}
.rsg-page .bfc-value {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  color: #fff;
  letter-spacing: -0.005em;
}
.rsg-page .bfc-zero {
  color: var(--green-500);
  font-size: 22px;
  letter-spacing: -0.025em;
}
.rsg-page .bfc-divider {
  height: 1px;
  background: rgba(255,255,255,0.1);
  margin: 12px 0;
}

.rsg-page .budget-flow-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.rsg-page .bf-card {
  position: relative;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-xl);
  padding: 32px 30px 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: border-color .2s, transform .2s, background .2s;
}
.rsg-page .bf-card:hover {
  border-color: rgba(26,138,74,0.5);
  background: rgba(255,255,255,0.07);
  transform: translateY(-3px);
}
.rsg-page .bf-num {
  position: absolute;
  top: 24px; right: 30px;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 42px;
  line-height: 1;
  color: rgba(255,255,255,0.08);
  letter-spacing: -0.04em;
}
.rsg-page .bf-icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  background: var(--green-500);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 22px;
  box-shadow: 0 10px 22px -10px rgba(26,138,74,0.55);
}
.rsg-page .bf-tag {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-500);
  margin-bottom: 8px;
}
.rsg-page .bf-card h3 { font-size: 18px; margin: 0 0 12px; line-height: 1.25; }
.rsg-page .bf-card p { margin: 0 0 24px; font-size: 14.5px; line-height: 1.6; color: rgba(255,255,255,0.72); }
.rsg-page .bf-foot {
  margin: auto -30px 0;
  padding: 16px 30px;
  background: rgba(255,255,255,0.04);
  border-top: 1px solid rgba(255,255,255,0.08);
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 12.5px;
  color: rgba(255,255,255,0.78);
}
.rsg-page .bf-foot .dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--green-500);
  box-shadow: 0 0 0 3px rgba(26,138,74,0.25);
}


.rsg-page .pricing-section { padding: var(--section-y) 0; }
.rsg-page .pricing-header {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 48px;
}
.rsg-page .pricing-header h2 { margin-bottom: 14px; }
.rsg-page .pricing-header p { font-size: 16.5px; max-width: 580px; margin: 0; }
.rsg-page .pricing-header p b { color: var(--green-500); font-weight: 700; }
.rsg-page .pricing-callout {
  background: var(--green-25);
  border: 1px solid var(--green-50);
  border-radius: var(--radius-lg);
  padding: 18px 22px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
}
.rsg-page .pc-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: var(--green-500);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 8px 18px -8px rgba(26,138,74,0.55);
}
.rsg-page .pc-tag {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-500);
  margin-bottom: 4px;
}
.rsg-page .pc-list {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 13.5px;
  color: var(--ink-700);
}

.rsg-page .pricing-row { gap: 22px; }
.rsg-page .tier-v2 {
  position: relative;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  overflow: visible;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.rsg-page .tier-v2:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); border-color: var(--border-strong); }
.rsg-page .tier-v2.featured-v2 {
  background: linear-gradient(180deg, #000, #1a1a1a);
  border: 0;
  box-shadow: var(--shadow-lg);
  color: rgba(255,255,255,0.88);
  position: relative;
  overflow: visible;
  margin-top: 18px;
}
.rsg-page .tier-v2.featured-v2::before {
  content: "";
  position: absolute;
  top: -100px; right: -100px;
  width: 240px; height: 240px;
  background: radial-gradient(closest-side, rgba(26,138,74,0.3), transparent);
  pointer-events: none;
  border-radius: 50%;
  overflow: hidden;
}
.rsg-page .tier-v2.featured-v2 h3, .rsg-page .tier-v2.featured-v2 p, .rsg-page .tier-v2.featured-v2 .tier-v2-features li { color: rgba(255,255,255,0.88); }
.rsg-page .tier-v2-ribbon {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #d4a957, #b88a3a);
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 9px 22px;
  border-radius: 999px;
  box-shadow: 0 10px 22px -6px rgba(184, 138, 58, 0.55);
  white-space: nowrap;
  z-index: 3;
}
.rsg-page .tier-v2-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
  position: relative;
}
.rsg-page .tier-v2-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-500);
}
.rsg-page .tier-v2.featured-v2 .tier-v2-name { color: #3FA66B; }
.rsg-page .tier-v2-stage {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 11.5px;
  letter-spacing: 0.04em;
  color: var(--ink-400);
  padding: 4px 10px;
  background: var(--bg-soft);
  border-radius: 999px;
}
.rsg-page .tier-v2.featured-v2 .tier-v2-stage { color: rgba(255,255,255,0.65); background: rgba(255,255,255,0.08); }

.rsg-page .tier-v2-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 14px;
  position: relative;
}
.rsg-page .tier-v2-price .amount {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 44px;
  color: #000;
  letter-spacing: -0.03em;
  line-height: 1;
}
.rsg-page .tier-v2.featured-v2 .tier-v2-price .amount { color: #fff; }
.rsg-page .tier-v2-price .per {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 14px;
  color: var(--ink-400);
}
.rsg-page .tier-v2.featured-v2 .tier-v2-price .per { color: rgba(255,255,255,0.55); }

.rsg-page .tier-v2-tagline {
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-500);
  margin: 0 0 24px;
  padding-bottom: 22px;
  border-bottom: 1px dashed var(--border);
  position: relative;
}
.rsg-page .tier-v2.featured-v2 .tier-v2-tagline { color: rgba(255,255,255,0.72); border-bottom-color: rgba(255,255,255,0.15); }

.rsg-page .tier-v2-features {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
}
.rsg-page .tier-v2-features li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14.5px;
  line-height: 1.45;
  color: var(--ink-700);
}
.rsg-page .tier-v2-features .check {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--green-50);
  color: var(--green-500);
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
  padding: 4px;
  box-sizing: border-box;
}
.rsg-page .tier-v2-features .check svg { width: 100%; height: 100%; display: block; stroke: currentColor; stroke-width: 3; overflow: visible; }
.rsg-page .tier-v2.featured-v2 .tier-v2-features .check {
  background: var(--green-500);
  color: #fff;
}
.rsg-page .tier-v2-cta { width: 100%; margin-top: auto; position: relative; }
.rsg-page .tier-v2.featured-v2 .btn-secondary { display: none; }

.rsg-page .pricing-foot {
  text-align: center;
  margin: 88px 0 24px;
  font-size: 14px;
  color: var(--ink-400);
}
.rsg-page .pricing-foot b { color: #000; font-weight: 600; }


.rsg-page .fit-section { padding: var(--section-y) 0; }
.rsg-page .fit-header {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 48px;
}
.rsg-page .fit-header h2 { margin-bottom: 14px; }
.rsg-page .fit-header p { font-size: 16.5px; max-width: 580px; margin: 0; }
.rsg-page .fit-stamp {
  background: #fff;
  border: 1px solid var(--green-50);
  border-radius: var(--radius-lg);
  padding: 20px 24px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
}
.rsg-page .fit-stamp-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: var(--green-500);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 8px 18px -8px rgba(26,138,74,0.55);
}
.rsg-page .fit-stamp-tag {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-500);
  margin-bottom: 4px;
}
.rsg-page .fit-stamp-text { font-size: 14px; line-height: 1.45; color: var(--ink-700); font-weight: 500; }

.rsg-page .fit-grid-v2 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 22px;
}
.rsg-page .fit-card-v2 {
  position: relative;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 36px 32px;
  overflow: hidden;
  transition: transform .2s, box-shadow .25s, border-color .25s;
}
.rsg-page .fit-card-v2:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.rsg-page .fit-card-v2.pact {
  background: linear-gradient(180deg, #000, #1a1a1a);
  border: 0;
  color: rgba(255,255,255,0.88);
}
.rsg-page .fit-card-v2.pact::before {
  content: "";
  position: absolute;
  top: -100px; right: -100px;
  width: 240px; height: 240px;
  background: radial-gradient(closest-side, rgba(26,138,74,0.28), transparent);
}
.rsg-page .fit-card-rail {
  position: absolute;
  left: 0; top: 36px; bottom: 36px;
  width: 3px;
  border-radius: 0 3px 3px 0;
}
.rsg-page .fit-card-rail.not { background: linear-gradient(180deg, #c14848, rgba(193,72,72,0.2)); }
.rsg-page .fit-card-rail.built { background: linear-gradient(180deg, var(--green-500), rgba(26,138,74,0.2)); }

.rsg-page .fit-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  gap: 12px;
}
.rsg-page .fit-card-icon {
  width: 40px; height: 40px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  padding: 8px;
  box-sizing: border-box;
}
.rsg-page .fit-card-icon svg { width: 100%; height: 100%; display: block; }
.rsg-page .fit-card-icon.not { background: #c14848; box-shadow: 0 8px 18px -8px rgba(193,72,72,0.55); }
.rsg-page .fit-card-icon.built { background: var(--green-500); box-shadow: 0 8px 18px -8px rgba(26,138,74,0.55); }
.rsg-page .fit-card-icon.pact { background: rgba(26,138,74,0.6); }
.rsg-page .fit-card-tag {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 7px 13px;
  border-radius: 999px;
}
.rsg-page .fit-card-tag.not { color: #c14848; background: rgba(193,72,72,0.12); }
.rsg-page .fit-card-tag.built { color: var(--green-500); background: var(--green-50); }
.rsg-page .fit-card-tag.pact { color: #fcd34d; background: rgba(252, 211, 77, 0.15); }
.rsg-page .fit-card-v2 h3 {
  font-size: 19px;
  line-height: 1.25;
  margin: 0 0 20px;
  padding-bottom: 20px;
  border-bottom: 1px dashed rgba(0,0,0,0.1);
}
.rsg-page .fit-card-v2.pact h3 { color: #fff; border-bottom-color: rgba(255,255,255,0.15); }

.rsg-page .fit-list-v2 { list-style: none; padding: 0; margin: 0; }
.rsg-page .fit-list-v2 li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--ink-700);
}
.rsg-page .fit-list-v2 li:not(:last-child) { border-bottom: 1px dashed rgba(0,0,0,0.08); }
.rsg-page .fit-card-v2.pact .fit-list-v2 li { color: rgba(255,255,255,0.82); }
.rsg-page .fit-card-v2.pact .fit-list-v2 li:not(:last-child) { border-bottom-color: rgba(255,255,255,0.08); }
.rsg-page .fl-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  margin-top: 8px;
  flex-shrink: 0;
}
.rsg-page .fl-dot.not { background: #c14848; box-shadow: 0 0 0 3px rgba(193,72,72,0.18); }
.rsg-page .fl-dot.built { background: var(--green-500); box-shadow: 0 0 0 3px rgba(26,138,74,0.18); }
.rsg-page .fl-dot.pact { background: #fcd34d; box-shadow: 0 0 0 3px rgba(252, 211, 77, 0.2); }


.rsg-page .faq-section { padding: var(--section-y) 0; }
.rsg-page .faq-header {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 48px;
}
.rsg-page .faq-header h2 { margin-bottom: 14px; }
.rsg-page .faq-header p { font-size: 16.5px; max-width: 580px; margin: 0; }
.rsg-page .faq-side-card {
  background: var(--green-25);
  border: 1px solid var(--green-50);
  border-radius: var(--radius-lg);
  padding: 22px 24px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
}
.rsg-page .faq-side-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: var(--green-500);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 8px 18px -8px rgba(26,138,74,0.55);
}
.rsg-page .faq-side-tag {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-500);
  margin-bottom: 6px;
}
.rsg-page .faq-side-card p { margin: 0 0 12px; font-size: 13.5px; line-height: 1.5; color: var(--ink-700); }

.rsg-page .faq-list-v2 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rsg-page .faq-list-v2 .faq-item {
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
  transition: border-color .2s, box-shadow .25s;
}
.rsg-page .faq-list-v2 .faq-item:hover { border-color: var(--border-strong); }
.rsg-page .faq-list-v2 .faq-item.open {
  border-color: var(--green-500);
  box-shadow: 0 12px 28px -16px rgba(26,138,74,0.35);
}
.rsg-page .faq-list-v2 .faq-q {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 22px 26px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 17px;
  color: #000;
  text-align: left;
  width: 100%;
  border: 0;
  background: transparent;
  cursor: pointer;
  letter-spacing: -0.005em;
}
.rsg-page .faq-list-v2 .faq-q:hover { color: var(--green-500); }
.rsg-page .faq-q-num {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--green-500);
  width: 32px;
  text-align: left;
}
.rsg-page .faq-q-text { flex: 1; }
.rsg-page .faq-list-v2 .faq-icon {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--green-50);
  color: var(--green-500);
  display: inline-flex; align-items: center; justify-content: center;
  transition: transform .25s, background .15s, color .15s;
  flex-shrink: 0;
}
.rsg-page .faq-list-v2 .faq-item.open .faq-icon {
  background: var(--green-500);
  color: #fff;
  transform: rotate(180deg);
}
.rsg-page .faq-list-v2 .faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
}
.rsg-page .faq-list-v2 .faq-item.open .faq-a { max-height: 1500px; }
.rsg-page .faq-list-v2 .faq-a-inner {
  padding: 0 26px 26px 76px;
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--ink-500);
}
.rsg-page .faq-list-v2 .faq-a-inner p:first-child { margin-top: 4px; }
.rsg-page .faq-list-v2 .faq-a-inner p:last-child { margin-bottom: 0; }
.rsg-page .faq-list-v2 .faq-a-inner strong { color: #000; }

@media (max-width: 1024px) {
  .rsg-page .budget-flow-header, .rsg-page .pricing-header, .rsg-page .fit-header, .rsg-page .faq-header { grid-template-columns: 1fr; gap: 28px; }
  .rsg-page .budget-flow-cards { grid-template-columns: 1fr; }
  .rsg-page .fit-grid-v2 { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .rsg-page .faq-list-v2 .faq-q { grid-template-columns: auto 1fr; padding: 18px 20px; font-size: 15.5px; }
  .rsg-page .faq-list-v2 .faq-q .faq-icon { grid-column: 2; justify-self: end; }
  .rsg-page .faq-list-v2 .faq-a-inner { padding: 0 20px 22px; }
  .rsg-page .faq-q-num { display: none; }
}
.rsg-page .faq-q {
  width: 100%;
  text-align: left;
  padding: 24px 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  color: var(--ink-900);
  display: flex; justify-content: space-between; align-items: center;
  gap: 24px;
  background: transparent;
  border: 0;
  cursor: pointer;
  transition: color .15s;
}
.rsg-page .faq-q:hover { color: var(--green-500); }
.rsg-page .faq-icon {
  flex-shrink: 0;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--green-50);
  color: var(--green-500);
  display: flex; align-items: center; justify-content: center;
  transition: transform .25s ease, background .15s;
}
.rsg-page .faq-item.open .faq-icon { background: var(--green-500); color: #fff; transform: rotate(180deg); }
.rsg-page .faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
  font-size: 16px;
  color: var(--ink-500);
}
.rsg-page .faq-a-inner { padding: 0 0 24px; max-width: 760px; }
.rsg-page .faq-a-inner p:last-child { margin-bottom: 0; }
.rsg-page .faq-item.open .faq-a { max-height: 1500px; }
.rsg-page .faq-q {
  width: 100%;
  text-align: left;
  padding: 24px 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  color: var(--ink-900);
  display: flex; justify-content: space-between; align-items: center;
  gap: 24px;
  background: transparent;
  border: 0;
  cursor: pointer;
  transition: color .15s;
}
.rsg-page .faq-q:hover { color: var(--green-500); }
.rsg-page .faq-icon {
  flex-shrink: 0;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--green-50);
  color: var(--green-500);
  display: flex; align-items: center; justify-content: center;
  transition: transform .25s ease, background .15s;
}
.rsg-page .faq-item.open .faq-icon { background: var(--green-500); color: #fff; transform: rotate(180deg); }
.rsg-page .faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
  font-size: 16px;
  color: var(--ink-500);
}
.rsg-page .faq-a-inner { padding: 0 0 24px; max-width: 760px; }
.rsg-page .faq-a-inner p:last-child { margin-bottom: 0; }
.rsg-page .faq-item.open .faq-a { max-height: 1500px; }


.rsg-page .final-cta {
  background: var(--dark-grad);
  background-color: #1a1a1a;
  color: rgba(255,255,255,0.88);
  text-align: center;
  position: relative;
  overflow: hidden;
  padding: 120px 0;
}
.rsg-page .final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.04), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(255, 255, 255, 0.03), transparent 40%);
  pointer-events: none;
}
.rsg-page .final-cta-card { background: transparent; padding: 0; }
.rsg-page .final-cta-inner {
  position: relative;
  max-width: 760px;
  margin: 0 auto;
  padding: 0 24px;
}
.rsg-page .final-cta-card .final-cta-inner { padding: 0; }
.rsg-page .final-cta h2 { color: #fff; margin-bottom: 20px; font-size: clamp(32px, 4.4vw, 52px); }
.rsg-page .final-cta p { font-size: 19px; color: rgba(255,255,255,0.78); margin-bottom: 36px; }
.rsg-page .final-cta .reassurance {
  margin-top: 24px;
  font-size: 14px;
  color: rgba(255,255,255,0.62);
}


.rsg-page footer {
  background: #0a2517;
  color: rgba(255,255,255,0.65);
  padding: 80px 0 32px;
  font-size: 14px;
}
.rsg-page .footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 64px;
}
.rsg-page footer h4 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 18px;
}
.rsg-page .footer-links { list-style: none; padding: 0; margin: 0; }
.rsg-page .footer-links li { margin-bottom: 10px; }
.rsg-page .footer-links a {
  color: rgba(255,255,255,0.65);
  font-family: var(--font-body);
  font-size: 14px;
  transition: color .15s;
}
.rsg-page .footer-links a:hover { color: #fff; text-decoration: none; }
.rsg-page .footer-brand p { margin: 16px 0 24px; max-width: 320px; color: rgba(255,255,255,0.6); }
.rsg-page .footer-brand .brand { color: #fff; }
.rsg-page .footer-brand .brand-mark span { background: #3FA66B; }
.rsg-page .footer-brand .brand-mark span:nth-child(4) { background: #fff; }
.rsg-page .footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: 32px;
  display: flex; justify-content: space-between; align-items: center;
  font-size: 13px;
  color: rgba(255,255,255,0.5);
}
.rsg-page .socials { display: flex; gap: 12px; }
.rsg-page .socials a {
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  color: #fff;
  transition: background .15s;
}
.rsg-page .socials a:hover { background: var(--green-500); text-decoration: none; }


@media (max-width: 1024px) {
  .rsg-page { --section-y: 72px; }
  .rsg-page .hero-grid, .rsg-page .promise-grid, .rsg-page .problem-grid, .rsg-page .agg-grid, .rsg-page .channel-panel.active, .rsg-page .onboard-grid, .rsg-page .lq-stats, .rsg-page .ready-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .rsg-page .case-feature, .rsg-page .case-feature.reverse { grid-template-columns: 1fr; }
  .rsg-page .case-feature.reverse .case-content { order: 0; }
  .rsg-page .case-content { padding: 36px; }
  .rsg-page .case-media { min-height: 260px; padding: 28px; }
  .rsg-page .grid-3, .rsg-page .grid-4, .rsg-page .factor-grid, .rsg-page .phase-row, .rsg-page .ops-grid, .rsg-page .fit-grid, .rsg-page .pricing-row, .rsg-page .cert-row, .rsg-page .signal-row { grid-template-columns: repeat(2, 1fr); }
  .rsg-page .budget-grid { grid-template-columns: repeat(2, 1fr); }
  .rsg-page .case-mini-row { grid-template-columns: 1fr; }
  .rsg-page .invest-row { grid-template-columns: repeat(2, 1fr); }
  .rsg-page .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; gap: 32px; }
  .rsg-page .promise { padding: 48px; }
  .rsg-page .hv-float-call { right: 0; bottom: -16px; }
  .rsg-page .hv-float-lead { left: 0; top: -16px; }
  .rsg-page .duo { grid-template-columns: 1fr; }
  .rsg-page .nav-links { display: none; }
  .rsg-page .nav-burger {
    display: flex;
    width: 44px; height: 44px;
    align-items: center; justify-content: center;
    border-radius: 8px;
    border: 1px solid var(--border);
  }
  .rsg-page .nav-cta .btn:not(.nav-burger) { display: none; }
  .rsg-page .nav-mobile {
    position: fixed;
    inset: 72px 0 0 0;
    background: #fff;
    padding: 32px;
    flex-direction: column;
    gap: 8px;
    transform: translateX(100%);
    transition: transform .3s ease;
    z-index: 99;
  }
  .rsg-page .nav-mobile.open { transform: translateX(0); display: flex; }
  .rsg-page .nav-mobile a {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 20px;
    color: var(--ink-900);
    padding: 16px 0;
    border-bottom: 1px solid var(--border);
    text-decoration: none;
  }
  .rsg-page .nav-mobile .btn-primary { margin-top: 24px; padding: 18px 28px; }
}

@media (max-width: 720px) {
  .rsg-page { --section-y: 56px; --gutter: 20px; }
  .rsg-page .hero { padding: 48px 0 32px; }
  .rsg-page { font-size: 16px; }
  .rsg-page .grid-3, .rsg-page .grid-4, .rsg-page .factor-grid, .rsg-page .phase-row, .rsg-page .ops-grid, .rsg-page .fit-grid, .rsg-page .pricing-row, .rsg-page .cert-row, .rsg-page .signal-row, .rsg-page .grid-2, .rsg-page .trust-grid, .rsg-page .wrong-grid, .rsg-page .case-mini-row, .rsg-page .invest-row, .rsg-page .budget-grid {
    grid-template-columns: 1fr;
  }
  .rsg-page .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .rsg-page .footer-brand { grid-column: 1 / -1; }
  .rsg-page .footer-bottom { flex-direction: column; gap: 16px; text-align: center; }
  .rsg-page .case-content { padding: 28px; }
  .rsg-page .promise { padding: 32px; }
  .rsg-page .hero-trust { gap: 16px; }
  .rsg-page .trust-bar { display: none; }
  .rsg-page .hero-cta .btn { width: 100%; }
  .rsg-page .channel-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .rsg-page .channel-tab { white-space: nowrap; }
  .rsg-page .cmp-table { font-size: 13px; }
  .rsg-page .cmp-table th, .rsg-page .cmp-table td { padding: 12px 14px; }
  .rsg-page .budget-callout { grid-template-columns: 1fr; }
  .rsg-page .case-stats { grid-template-columns: 1fr; gap: 12px; }
  .rsg-page h1 { font-size: 36px; }
  .rsg-page .promise-portrait { width: 70%; }
  .rsg-page .hv-float-call, .rsg-page .hv-float-lead { display: none; }
}


.rsg-page .reveal { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .6s ease; }
.rsg-page .reveal.in { opacity: 1; transform: translateY(0); }




.rsg-page, .rsg-page { overflow-x: hidden; max-width: 100%; }
.rsg-page img, .rsg-page svg, .rsg-page video { max-width: 100%; }

@media (max-width: 1024px) {
  .rsg-page { --section-y: 72px; --gutter: 22px; }
  .rsg-page section { padding: 64px 0; }
  .rsg-page h1 { font-size: clamp(32px, 6vw, 48px); }
  .rsg-page h2 { font-size: clamp(26px, 4.6vw, 36px); }

  
  .rsg-page .budget-flow-header, .rsg-page .pricing-header, .rsg-page .fit-header, .rsg-page .faq-header, .rsg-page .ready-header, .rsg-page .invest-header, .rsg-page .min-grid, .rsg-page .lq-header, .rsg-page .trust-header, .rsg-page .ops-header, .rsg-page .onboard-header, .rsg-page .cases-header, .rsg-page .wrong-header, .rsg-page .factors-header, .rsg-page .spec-grid, .rsg-page .problem-grid, .rsg-page .promise-grid, .rsg-page .problem-visual, .rsg-page .agg-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    align-items: start !important;
  }

  
  .rsg-page .channel-panel.active { grid-template-columns: 1fr !important; }
  .rsg-page .channel-info > * { max-width: 100%; }

  
  .rsg-page .problem-pillars, .rsg-page .budget-grid, .rsg-page .agg-issues, .rsg-page .ops-cards, .rsg-page .budget-flow-cards, .rsg-page .factor-grid-3, .rsg-page .ready-versus, .rsg-page .invest-stages, .rsg-page .trust-grid, .rsg-page .wrong-grid, .rsg-page .pricing-row, .rsg-page .fit-grid-v2, .rsg-page .onboard-tracks, .rsg-page .cert-row, .rsg-page .seo-race, .rsg-page .case-mini-row, .rsg-page .duo {
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
  }
  .rsg-page .pricing-row { gap: 22px !important; }

  
  .rsg-page .tier-v2.featured-v2 { margin-top: 24px; }

  
  .rsg-page .seo-race { grid-template-columns: 1fr !important; }
  .rsg-page .seo-vs { display: none !important; }

  
  .rsg-page .case-feature, .rsg-page .case-feature.reverse { grid-template-columns: 1fr !important; }
  .rsg-page .case-feature.reverse .case-content { order: 0; }
  .rsg-page .case-content { padding: 32px !important; }
  .rsg-page .case-media { min-height: auto !important; padding: 24px !important; }
  .rsg-page .case-media img, .rsg-page .case-media .stack { max-width: 100% !important; }

  
  .rsg-page .factors-hub { display: none !important; }
  .rsg-page .hero-visual .hv-float-call, .rsg-page .hero-visual .hv-float-lead { display: none; }

  
  .rsg-page .lq-ratio { grid-template-columns: 1fr !important; gap: 14px !important; }
  .rsg-page .lq-ratio-divider { padding: 8px 0 !important; }
  .rsg-page .lq-trap { padding: 32px !important; }
  .rsg-page .lq-trap-screens { gap: 12px !important; }

  
  .rsg-page .phases-band { padding: 36px 28px !important; }
  .rsg-page .phase-step { grid-template-columns: 44px 1fr !important; gap: 18px !important; }
  .rsg-page .phase-step-card { padding: 24px 26px !important; }

  
  .rsg-page .phases-band-head h2 { font-size: 26px !important; }

  
  .rsg-page .trust-marquee-row { font-size: 12.5px; }

  
  .rsg-page .hero { padding: 64px 0 48px !important; }
  .rsg-page .hero-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .rsg-page .hero-visual { aspect-ratio: auto !important; min-height: 360px; }

  
  .rsg-page .min-grid { grid-template-columns: 1fr !important; gap: 32px !important; }

  
  .rsg-page .cmp-table { font-size: 13.5px; }
  .rsg-page .cmp-table th, .rsg-page .cmp-table td { padding: 12px 14px; }

  
  .rsg-page .ops-pulse-counts > div { padding: 0 10px; }

  
  .rsg-page .ready-versus::after { display: none !important; }

  
  .rsg-page .promise { padding: 48px !important; }
  .rsg-page .promise-grid { grid-template-columns: 1fr !important; gap: 36px !important; }

  
  .rsg-page .factor-v2, .rsg-page .trust-card, .rsg-page .case-mini, .rsg-page .ready-col, .rsg-page .fit-card-v2, .rsg-page .tier-v2, .rsg-page .bf-card, .rsg-page .lq-glass, .rsg-page .wrong-card-v2, .rsg-page .onboard-track, .rsg-page .pillar, .rsg-page .agg-card, .rsg-page .signal { padding: 28px !important; }

  
  .rsg-page .spec-numbers { grid-template-columns: 1fr !important; padding: 12px 16px !important; }
  .rsg-page .spec-number { padding: 18px 8px !important; }
  .rsg-page .spec-number + .spec-number { border-left: 0 !important; border-top: 1px solid rgba(255,255,255,0.1) !important; }

  
  .rsg-page .seo-case-stats { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }

  
  .rsg-page .invest-stages { grid-template-columns: repeat(2, 1fr) !important; }

  
  .rsg-page .onboard-mini-labels { font-size: 11.5px; }
  .rsg-page .otl-row { grid-template-columns: 1fr !important; gap: 10px !important; padding: 16px 0 !important; }
  .rsg-page .otl-channel { font-size: 14.5px; }
  .rsg-page .otl-bar { height: 30px; }

  
  .rsg-page .channel-stats { grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 14px 16px; }
  .rsg-page .channel-stat .v { font-size: 18px; }
  .rsg-page .channel-stat .l { font-size: 11px; }
  .rsg-page .channel-stat + .channel-stat { padding-left: 12px; }
}


@media (max-width: 768px) {
  .rsg-page { --section-y: 56px; --gutter: 18px; }
  .rsg-page section { padding: 52px 0; }
  .rsg-page { font-size: 15.5px; }
  .rsg-page h1 { font-size: clamp(28px, 7vw, 36px) !important; line-height: 1.1; }
  .rsg-page h2 { font-size: clamp(22px, 5.6vw, 30px) !important; line-height: 1.15; }
  .rsg-page h3 { font-size: 18px !important; }
  .rsg-page p { font-size: 15px; }

  
  .rsg-page .btn { white-space: normal !important; text-align: center; line-height: 1.25; min-height: 48px; padding: 14px 20px !important; }
  .rsg-page .btn-ghost { white-space: normal !important; line-height: 1.3; }
  .rsg-page h1, .rsg-page h2, .rsg-page h3, .rsg-page h4, .rsg-page p, .rsg-page li, .rsg-page td, .rsg-page th, .rsg-page span, .rsg-page strong, .rsg-page a { overflow-wrap: anywhere; word-break: normal; }
  .rsg-page .channel-meta dd, .rsg-page .channel-info p, .rsg-page .lq-trap-note { overflow-wrap: anywhere; }
  .rsg-page .problem-visual-note, .rsg-page .ops-list-v2 span, .rsg-page .onboard-checklist span, .rsg-page .factor-v2 p { overflow-wrap: anywhere; }

  
  .rsg-page .problem-pillars, .rsg-page .budget-grid, .rsg-page .agg-issues, .rsg-page .ops-cards, .rsg-page .budget-flow-cards, .rsg-page .factor-grid-3, .rsg-page .ready-versus, .rsg-page .invest-stages, .rsg-page .trust-grid, .rsg-page .wrong-grid, .rsg-page .pricing-row, .rsg-page .fit-grid-v2, .rsg-page .onboard-tracks, .rsg-page .cert-row, .rsg-page .case-mini-row, .rsg-page .duo, .rsg-page .lq-pair, .rsg-page .lq-trap-screens, .rsg-page .seo-race {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  
  .rsg-page .cases-tally, .rsg-page .wrong-header-stats, .rsg-page .spec-numbers, .rsg-page .ops-pulse-counts, .rsg-page .seo-case-stats {
    grid-template-columns: 1fr !important;
  }
  .rsg-page .cases-tally-item + .cases-tally-item, .rsg-page .wrong-header-stats > div + div, .rsg-page .ops-pulse-counts > div + div, .rsg-page .case-stats > div + div, .rsg-page .case-mini-stat + .case-mini-stat {
    border-left: 0 !important;
    border-top: 1px solid var(--border) !important;
    padding-left: 0 !important;
    padding-top: 12px !important;
    margin-top: 12px !important;
  }
  .rsg-page .ops-pulse-counts > div + div { border-top-color: rgba(255,255,255,0.1) !important; }
  .rsg-page .cases-tally-item, .rsg-page .wrong-header-stats > div, .rsg-page .ops-pulse-counts > div, .rsg-page .spec-number {
    padding: 10px 0 !important;
    text-align: left !important;
  }

  
  .rsg-page .case-stats { grid-template-columns: 1fr !important; gap: 0 !important; padding: 16px 0 !important; }
  .rsg-page .case-mini-stats { flex-direction: column !important; gap: 12px !important; padding: 14px 0 !important; }
  .rsg-page .case-mini-stat { padding: 0 !important; }

  
  .rsg-page .factor-v2, .rsg-page .trust-card, .rsg-page .case-mini, .rsg-page .ready-col, .rsg-page .fit-card-v2, .rsg-page .tier-v2, .rsg-page .bf-card, .rsg-page .lq-glass, .rsg-page .wrong-card-v2, .rsg-page .onboard-track, .rsg-page .pillar, .rsg-page .agg-card, .rsg-page .signal, .rsg-page .channel-info, .rsg-page .case-content {
    padding: 24px !important;
  }
  .rsg-page .case-feature, .rsg-page .case-mini, .rsg-page .factor-v2, .rsg-page .trust-card, .rsg-page .ready-col, .rsg-page .fit-card-v2, .rsg-page .tier-v2, .rsg-page .bf-card, .rsg-page .lq-glass, .rsg-page .wrong-card-v2, .rsg-page .onboard-track {
    border-radius: 16px !important;
  }

  
  .rsg-page .promise { padding: 32px !important; }
  .rsg-page .promise-portrait { width: 75% !important; }

  
  .rsg-page .hero { padding: 48px 0 32px !important; }
  .rsg-page .hero-cta { flex-direction: column; align-items: stretch; }
  .rsg-page .hero-cta .btn { width: 100%; justify-content: center; }
  .rsg-page .hero-visual { min-height: 280px; }
  .rsg-page .hv-stats { grid-template-columns: repeat(2, 1fr) !important; }

  
  .rsg-page .invest-callout { grid-template-columns: 1fr !important; gap: 16px !important; }
  .rsg-page .invest-callout .btn { width: 100%; justify-content: center; }
  .rsg-page .budget-callout { grid-template-columns: 1fr !important; }
  .rsg-page .budget-callout .btn { width: 100%; justify-content: center; }

  
  .rsg-page .channel-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding: 5px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-right: calc(-1 * var(--gutter));
    padding-right: var(--gutter);
    border-radius: 14px 0 0 14px;
  }
  .rsg-page .channel-tabs::-webkit-scrollbar { display: none; }
  .rsg-page .channel-tab { white-space: nowrap; padding: 12px 16px; font-size: 13.5px; flex: 0 0 auto; }
  .rsg-page .channel-tab .tab-num { display: none; }
  .rsg-page .channel-meta { grid-template-columns: 1fr !important; gap: 14px 0 !important; padding: 18px 20px !important; }
  .rsg-page .channel-image { padding: 8px; }
  .rsg-page .channel-stats { grid-template-columns: 1fr !important; padding: 14px 18px; }
  .rsg-page .channel-stat + .channel-stat { border-left: 0; padding-left: 0; padding-top: 12px; margin-top: 12px; border-top: 1px solid var(--border); }
  .rsg-page .channel-stat .v { font-size: 22px; }

  
  .rsg-page .cmp-table { font-size: 12.5px; }
  .rsg-page .cmp-table th, .rsg-page .cmp-table td { padding: 10px 12px; }

  
  .rsg-page .seo-runner { padding: 24px !important; }
  .rsg-page .seo-runner-head { grid-template-columns: auto 1fr !important; }
  .rsg-page .seo-runner-speed {
    grid-column: 1 / -1 !important;
    text-align: left !important;
    padding-left: 0 !important;
    border-left: 0 !important;
    border-top: 1px solid rgba(255,255,255,0.1) !important;
    padding-top: 10px !important;
    margin-top: 4px !important;
  }

  
  .rsg-page .phases-band { padding: 28px 18px !important; }
  .rsg-page .phase-step { grid-template-columns: 36px 1fr !important; gap: 14px !important; }
  .rsg-page .phase-step-dot { width: 32px !important; height: 32px !important; font-size: 11.5px; }
  .rsg-page .phase-step-dot::after { inset: -4px !important; }
  .rsg-page .phase-step-card { padding: 20px !important; }
  .rsg-page .phase-step-card h3 { font-size: 18px !important; }
  .rsg-page .phase-step-head { gap: 10px; flex-wrap: wrap; }
  .rsg-page .phase-chips { gap: 6px; }
  .rsg-page .phase-chip { font-size: 11.5px; padding: 5px 10px; }

  
  .rsg-page .onboard-mini-labels b { font-size: 14px !important; }
  .rsg-page .onboard-mini-labels i { font-size: 10.5px !important; }

  
  .rsg-page .faq-list-v2 .faq-q { grid-template-columns: auto 1fr auto; padding: 16px 18px; font-size: 14.5px; gap: 12px; }
  .rsg-page .faq-q-num { width: 24px; font-size: 11.5px; }
  .rsg-page .faq-list-v2 .faq-icon { width: 26px; height: 26px; }
  .rsg-page .faq-list-v2 .faq-a-inner { padding: 0 18px 20px 18px !important; font-size: 14.5px; }

  
  .rsg-page .tier-v2 { padding: 28px 22px !important; }
  .rsg-page .tier-v2-price .amount { font-size: 36px !important; }
  .rsg-page .tier-v2.featured-v2 { padding: 36px 22px 28px !important; }

  
  .rsg-page .ready-checklist li { grid-template-columns: 28px 1fr !important; gap: 10px !important; padding: 10px 0 !important; }
  .rsg-page .rch-num { width: 26px !important; height: 26px !important; font-size: 11px !important; }

  
  .rsg-page .invest-formula { padding: 20px 22px !important; }
  .rsg-page .invest-formula-amount { font-size: 38px !important; }

  
  .rsg-page .min-budget-card { padding: 26px 22px !important; }
  .rsg-page .min-budget-amount { font-size: 42px !important; }
  .rsg-page .min-budget-amount span { font-size: 16px !important; }
  .rsg-page .min-budget-split { grid-template-columns: 1fr !important; padding: 4px 4px !important; }
  .rsg-page .min-budget-split-item { padding: 10px 14px !important; }
  .rsg-page .min-budget-split-item + .min-budget-split-item { border-left: 0 !important; border-top: 1px solid rgba(255,255,255,0.08) !important; }

  
  .rsg-page .lq-formula { padding: 18px 20px !important; }
  .rsg-page .lq-formula-row { gap: 8px !important; }
  .rsg-page .lq-tile { padding: 7px 10px !important; font-size: 12.5px !important; }
  .rsg-page .lq-op { font-size: 14px !important; }
  .rsg-page .lq-mega { font-size: 36px !important; }

  
  .rsg-page .section-intro { margin-bottom: 32px !important; }
  .rsg-page .section-intro h2 { margin-bottom: 12px; }

  
  .rsg-page .ops-list-v2 li { padding: 10px 0; }
  .rsg-page .ops-card-v2 { padding: 26px 24px 0 !important; }
  .rsg-page .ops-card-foot { margin: auto -24px 0 !important; padding: 14px 24px !important; font-size: 12px; }
  .rsg-page .ops-card-ribbon { font-size: 10px; padding: 6px 12px; }

  
  .rsg-page .trust-card { padding: 28px 24px 24px !important; }
  .rsg-page .trust-card-num { font-size: 36px !important; right: 24px !important; top: 24px !important; }
  .rsg-page .trust-card h3 { padding-right: 50px !important; font-size: 19px !important; }
  .rsg-page .trust-marquee-row { font-size: 12px; gap: 18px; }
  .rsg-page .trust-marquee { padding: 12px 0; }

  
  .rsg-page .wrong-card-v2 { padding: 28px 24px 0 !important; }
  .rsg-page .wrong-card-media { margin: auto -24px 0 !important; padding: 18px 24px !important; }
  .rsg-page .wrong-card-head { gap: 10px !important; flex-wrap: wrap; }
  .rsg-page .wrong-severity { font-size: 9.5px; padding: 4px 9px; }
  .rsg-page .wrong-action-v2.split { grid-template-columns: 1fr !important; }

  
  .rsg-page .hero-trust { gap: 10px; }
  .rsg-page .trust-item { font-size: 14px; }

  
  .rsg-page .logos { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
  .rsg-page .logo-cell { height: 48px; font-size: 13px; }

  
  .rsg-page .final-cta { padding: 72px 0 !important; }
  .rsg-page .final-cta-inner { padding: 0 16px !important; }
  .rsg-page .final-cta h2 { font-size: 28px !important; }
  .rsg-page .final-cta p { font-size: 16px !important; }
  .rsg-page .final-cta .btn { width: 100%; justify-content: center; padding: 16px 24px !important; }

  
  .rsg-page .cases-tally-item .v, .rsg-page .wrong-header-stats .v { font-size: 22px !important; }

  
  .rsg-page .problem-visual-side, .rsg-page .lq-formula, .rsg-page .pricing-callout, .rsg-page .fit-stamp, .rsg-page .faq-side-card, .rsg-page .invest-callout, .rsg-page .budget-callout, .rsg-page .invest-formula, .rsg-page .ready-scoreboard, .rsg-page .cases-tally, .rsg-page .wrong-header-stats, .rsg-page .min-budget-card {
    padding: 20px 22px !important;
    max-width: 100%;
    box-sizing: border-box;
  }
  .rsg-page .invest-callout-left { grid-template-columns: auto 1fr !important; gap: 14px !important; }
  .rsg-page .invest-callout-icon { width: 42px !important; height: 42px !important; }

  
  .rsg-page .spec-certs { padding: 28px 24px !important; }
  .rsg-page .spec-certs-list li {
    grid-template-columns: auto 1fr !important;
    row-gap: 8px;
  }
  .rsg-page .cert-badge {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    margin-top: 4px;
  }

  
  .rsg-page .seo-case { padding: 28px 24px !important; }

  
  .rsg-page .lq-glass-head { flex-direction: column-reverse; align-items: flex-start; }
  .rsg-page .lq-glass h3 { padding-right: 0 !important; }
  .rsg-page .lq-vs-row { grid-template-columns: 1fr !important; gap: 4px !important; }

  
  .rsg-page .onboard-checklist li { padding: 14px 0 !important; gap: 14px !important; }
  .rsg-page .oc-icon { width: 36px; height: 36px; min-width: 36px; padding: 8px; }

  
  .rsg-page .channel-info h3 { font-size: 24px !important; }
  .rsg-page .channel-info .channel-lede { font-size: 15px !important; }

  
  .rsg-page .container, .rsg-page .container-narrow { padding-inline: var(--gutter); }

  
  .rsg-page .hero-visual .hv-card { width: 100% !important; max-width: 100% !important; }
  .rsg-page .hv-card.hv-main { padding: 18px !important; }
}


@media (max-width: 480px) {
  .rsg-page { --section-y: 44px; --gutter: 14px; }
  .rsg-page section { padding: 44px 0; }
  .rsg-page h1 { font-size: 28px !important; }
  .rsg-page h2 { font-size: 22px !important; }

  
  .rsg-page .factor-v2, .rsg-page .trust-card, .rsg-page .case-mini, .rsg-page .ready-col, .rsg-page .fit-card-v2, .rsg-page .tier-v2, .rsg-page .bf-card, .rsg-page .lq-glass, .rsg-page .wrong-card-v2, .rsg-page .onboard-track, .rsg-page .pillar, .rsg-page .agg-card, .rsg-page .signal, .rsg-page .seo-runner, .rsg-page .min-budget-card, .rsg-page .lq-trap, .rsg-page .promise, .rsg-page .invest-callout, .rsg-page .pricing-callout, .rsg-page .fit-stamp, .rsg-page .faq-side-card, .rsg-page .budget-flow-card, .rsg-page .case-content {
    padding: 20px !important;
  }

  
  .rsg-page .case-stat-val, .rsg-page .case-mini-stat .v, .rsg-page .lq-big, .rsg-page .invest-stage-pct, .rsg-page .min-budget-amount, .rsg-page .invest-formula-amount, .rsg-page .lq-ratio-num, .rsg-page .lq-mega {
    font-size: 28px !important;
  }
  .rsg-page .min-budget-amount { font-size: 36px !important; }

  
  .rsg-page .hv-stats { grid-template-columns: 1fr 1fr !important; }
  .rsg-page .hv-stat-val { font-size: 16px !important; }

  
  .rsg-page .logos { grid-template-columns: 1fr 1fr !important; }
  .rsg-page .logo-cell { font-size: 12px; height: 44px; }

  
  .rsg-page .trust-marquee-row { font-size: 11.5px; gap: 14px; }

  
  .rsg-page .channel-image { padding: 4px; }

  
  .rsg-page .lq-ratio-card { padding: 20px !important; }
  .rsg-page .lq-ratio-num { font-size: 32px !important; }
  .rsg-page .lq-ratio-ratio { font-size: 28px !important; }
}


.rsg-page .btn.btn-on-dark { background:#ffffff !important; color: var(--green-700) !important; }
.rsg-page .btn.btn-on-dark:hover { background: var(--green-25) !important; }
.rsg-page .btn.btn-lg { padding:18px 32px !important; font-size:16px !important; min-height:56px !important; }
.rsg-page .btn-primary { color:#fff; }
.rsg-page .btn-primary svg { color: currentColor; }

/* ===== Mobile polish pass (May 2026, Yelp-page-parity baseline) ===== */
@media (max-width: 768px) {
  .rsg-page { --section-y: 56px; }
  .rsg-page .hero { padding: 40px 0 56px; }
  .rsg-page .final-cta { padding: 56px 0; }
  .rsg-page .final-cta h2 { font-size: clamp(28px, 7vw, 38px); }
  .rsg-page .hero-grid { gap: 32px; }
  .rsg-page .section-intro h2, .rsg-page section h2 { font-size: clamp(26px, 6vw, 36px); }
  .rsg-page .container, .rsg-page .container-narrow { padding-inline: 20px; }
  .rsg-page .hero-cta .btn, .rsg-page .hero-ctas .btn { width: 100%; justify-content: center; }
}

@media (max-width: 480px) {
  .rsg-page { --section-y: 48px; --gutter: 16px; }
  .rsg-page .container, .rsg-page .container-narrow { padding-inline: 16px; }
  .rsg-page .hero h1 { font-size: clamp(30px, 9vw, 40px) !important; }
  .rsg-page .btn-lg { padding: 14px 22px !important; font-size: 14px !important; min-height: 48px !important; }
  .rsg-page .final-cta h2 { font-size: clamp(26px, 8vw, 32px); }
}

/* ============================================================
   HERO VISUAL V6 — Phone-Mockup over HVAC Unsplash backdrop
   ============================================================ */
.rsg-page .v6-wrap { position: relative; padding: 0; min-height: 580px; }
.rsg-page .v6-backdrop {
  position: absolute; inset: 24px;
  border-radius: 22px; overflow: hidden;
  background:
    linear-gradient(160deg, rgba(10,18,14,0.55) 0%, rgba(15,25,20,0.30) 45%, rgba(8,15,11,0.65) 100%),
    url('/assets/embedded/db4f597ce666.jpg') center/cover no-repeat;
  box-shadow: 0 20px 50px rgba(0,0,0,0.22), 0 8px 22px rgba(0,0,0,0.12);
  border: 1px solid rgba(255,255,255,0.06);
}
.rsg-page .v6-backdrop::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(circle at 78% 50%, rgba(44,122,75,0.18) 0%, transparent 50%),
    radial-gradient(circle at 14% 18%, rgba(231,138,44,0.10) 0%, transparent 40%);
  pointer-events: none;
}

/* Top center "Agency Partner" pill */
.rsg-page .v6-pill-top {
  position: absolute; top: 6px; left: 50%; transform: translateX(-50%);
  background: #fff; border-radius: 999px;
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 16px 8px 12px;
  box-shadow: 0 12px 28px rgba(0,0,0,0.22), 0 4px 12px rgba(0,0,0,0.10);
  font-family: var(--font-display); font-size: 12px; z-index: 4; white-space: nowrap;
}
.rsg-page .v6-pill-top .brand {
  font-family: var(--font-display); font-weight: 800;
  color: var(--green-700); letter-spacing: -0.01em; font-size: 14px;
}
.rsg-page .v6-pill-top .divider { width: 1px; height: 14px; background: var(--line); }
.rsg-page .v6-pill-top .label {
  font-weight: 700; font-size: 11px; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--ink-700);
}
.rsg-page .v6-pill-top .check {
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--green-500); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.rsg-page .v6-pill-top .check svg { width: 10px; height: 10px; }

/* Phone shell — overflows the backdrop on the bottom-left for dynamic hierarchy */
.rsg-page .v6-phone {
  position: absolute; top: 56px; left: -16px; z-index: 5;
  width: 240px;
  background: #111;
  border-radius: 36px;
  padding: 6px;
  box-shadow: 0 36px 70px rgba(0,0,0,0.50), 0 14px 32px rgba(0,0,0,0.28), 0 0 0 4px rgba(255,255,255,0.92);
}
.rsg-page .v6-phone::after {
  content: ""; position: absolute; top: -12px; left: -12px; right: -12px; bottom: -12px;
  border-radius: 44px; pointer-events: none; z-index: -1;
  background: radial-gradient(ellipse at center, rgba(44,122,75,0.18) 0%, transparent 65%);
}
.rsg-page .v6-phone-notch {
  position: absolute; top: 6px; left: 50%; transform: translateX(-50%);
  width: 78px; height: 18px; background: #111;
  border-radius: 0 0 12px 12px; z-index: 5;
}
.rsg-page .v6-phone-screen {
  background: #fff; border-radius: 30px; overflow: hidden;
  font-family: system-ui, -apple-system, sans-serif;
}
.rsg-page .v6-statusbar {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 22px 4px;
  font-size: 10px; font-weight: 700; color: #1a1a1a;
}
/* RSG Campaign Monitor screen (replaces Yelp-style search UI) */
.rsg-page .v6-monitor-head {
  padding: 11px 12px 10px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 8px;
  border-bottom: 1px solid #EEE;
}
.rsg-page .v6-monitor-head .logo {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-display); font-weight: 800; font-size: 10.5px;
  color: var(--ink-900); letter-spacing: -0.01em;
  min-width: 0; flex: 1;
  white-space: nowrap;
}
.rsg-page .v6-monitor-head .logo > span:last-child { white-space: nowrap; }
.rsg-page .v6-monitor-head .logo-mark {
  width: 18px; height: 18px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.rsg-page .v6-monitor-head .logo-mark svg,
.rsg-page .v6-monitor-head .logo-mark img { width: 100%; height: 100%; display: block; object-fit: contain; }
.rsg-page .v6-monitor-head .live-pill { flex-shrink: 0; }
.rsg-page .v6-monitor-head .live-pill { font-size: 8px; padding: 3px 8px; gap: 4px; }
.rsg-page .v6-monitor-head .live-pill .pulse { width: 5px; height: 5px; }
.rsg-page .v6-monitor-head .live-pill {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: var(--font-mono); font-size: 8.5px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--green-700);
  background: var(--green-25); border: 1px solid rgba(44,122,75,0.22);
  padding: 3px 9px; border-radius: 999px;
}
.rsg-page .v6-monitor-head .live-pill .pulse {
  width: 6px; height: 6px; border-radius: 50%; background: var(--green-500);
  box-shadow: 0 0 0 3px rgba(44,122,75,0.18);
}

.rsg-page .v6-monitor-anchor {
  padding: 14px 14px 13px;
  display: flex; flex-direction: column; gap: 2px;
  background: linear-gradient(140deg, #FAFCFA 0%, #fff 100%);
  border-bottom: 1px solid #F0F0F0;
  position: relative;
  overflow: hidden;
}
.rsg-page .v6-monitor-anchor::after {
  content: ""; position: absolute; top: -30px; right: -30px;
  width: 120px; height: 120px; border-radius: 50%;
  background: radial-gradient(circle, rgba(44,122,75,0.16) 0%, transparent 60%);
  pointer-events: none;
}
.rsg-page .v6-monitor-anchor .label {
  font-family: var(--font-mono); font-size: 8.5px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-500);
  position: relative; z-index: 1;
}
.rsg-page .v6-monitor-anchor .amount {
  font-family: var(--font-display); font-weight: 800; font-size: 30px;
  color: var(--ink-900); letter-spacing: -0.03em; line-height: 1; margin-top: 4px;
  position: relative; z-index: 1;
}
.rsg-page .v6-monitor-anchor .amount em {
  font-style: normal; color: var(--green-500);
}
.rsg-page .v6-monitor-anchor .sub {
  font-size: 10px; color: var(--ink-500); margin-top: 4px; line-height: 1.3;
  position: relative; z-index: 1;
}

.rsg-page .v6-channels-list {
  padding: 10px 12px;
  display: flex; flex-direction: column; gap: 6px;
}
.rsg-page .v6-ch-row {
  display: grid; grid-template-columns: auto 1fr auto;
  align-items: center; gap: 9px;
  padding: 8px 10px 8px 13px;
  background: #fff; border: 1px solid #ECECEC; border-radius: 9px;
  position: relative; overflow: hidden;
}
.rsg-page .v6-ch-row::before {
  content: ""; position: absolute; left: 0; top: 22%; bottom: 22%; width: 3px;
  background: var(--ch); border-radius: 0 3px 3px 0;
}
.rsg-page .v6-ch-row .chip {
  width: 22px; height: 22px; padding: 3px; border-radius: 5px;
  background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,0.10);
  display: flex; align-items: center; justify-content: center;
}
.rsg-page .v6-ch-row .chip svg { width: 100%; height: 100%; display: block; }
.rsg-page .v6-ch-row .ch-meta { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.rsg-page .v6-ch-row .nm {
  font-family: var(--font-display); font-weight: 700; font-size: 10.5px;
  color: var(--ink-900); letter-spacing: -0.005em;
}
.rsg-page .v6-ch-row .sb {
  font-family: var(--font-mono); font-size: 7.5px; font-weight: 700;
  letter-spacing: 0.10em; text-transform: uppercase; color: var(--ink-500);
}
.rsg-page .v6-ch-row .live-dot {
  width: 8px; height: 8px; border-radius: 50%; background: var(--green-500);
  box-shadow: 0 0 0 3px rgba(44,122,75,0.18);
}

.rsg-page .v6-monitor-foot {
  padding: 11px 14px;
  font-family: var(--font-mono); font-size: 9px; font-weight: 700;
  letter-spacing: 0.10em; text-transform: uppercase;
  color: var(--green-700);
  background: linear-gradient(180deg, #fff 0%, var(--green-25) 100%);
  border-top: 1px solid #F0F0F0;
  display: flex; align-items: center; gap: 6px;
}
.rsg-page .v6-monitor-foot::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--green-500);
  box-shadow: 0 0 0 3px rgba(44,122,75,0.18);
}

/* Floating corner cards on the backdrop */
.rsg-page .v6-float-tr {
  position: absolute; top: 70px; right: 32px; z-index: 4;
  background: #fff; border-radius: 14px;
  padding: 12px 14px 10px;
  box-shadow: 0 18px 38px rgba(0,0,0,0.22), 0 6px 14px rgba(0,0,0,0.08);
  display: flex; align-items: center; gap: 10px;
  min-width: 160px;
}
.rsg-page .v6-float-tr .icon {
  width: 32px; height: 32px; border-radius: 8px;
  background: linear-gradient(135deg, var(--green-500), var(--green-700));
  color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  font-family: var(--font-display); font-weight: 800; font-size: 14px;
}
.rsg-page .v6-float-tr .meta { display: flex; flex-direction: column; gap: 1px; }
.rsg-page .v6-float-tr .h {
  font-family: var(--font-mono); font-size: 8.5px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-500);
}
.rsg-page .v6-float-tr .v {
  font-family: var(--font-display); font-weight: 800; font-size: 16px;
  color: var(--ink-900); letter-spacing: -0.01em; line-height: 1;
}
.rsg-page .v6-float-tr .s {
  font-size: 9.5px; color: var(--green-700); font-weight: 600; margin-top: 1px;
}
.rsg-page .v6-float-br {
  position: absolute; bottom: 36px; right: 24px; z-index: 4;
  background: #fff; border-radius: 14px;
  padding: 11px 14px 11px 12px;
  box-shadow: 0 18px 38px rgba(0,0,0,0.22), 0 6px 14px rgba(0,0,0,0.08);
  display: flex; align-items: center; gap: 9px;
  min-width: 200px;
}
.rsg-page .v6-float-br .pulse {
  width: 10px; height: 10px; border-radius: 50%; background: var(--green-500);
  box-shadow: 0 0 0 4px rgba(44,122,75,0.18); flex-shrink: 0;
}
.rsg-page .v6-float-br .meta { display: flex; flex-direction: column; gap: 1px; }
.rsg-page .v6-float-br .h {
  font-family: var(--font-display); font-weight: 800; font-size: 12px;
  color: var(--ink-900); letter-spacing: -0.005em; line-height: 1.15;
}
.rsg-page .v6-float-br .s { font-size: 10px; color: var(--ink-500); margin-top: 1px; }

@media (max-width: 960px) {
  .rsg-page .v6-wrap { min-height: 540px; }
}
@media (max-width: 720px) {
  .rsg-page .v6-wrap { min-height: 500px; }
  .rsg-page .v6-phone { width: 200px; left: -8px; top: 48px; z-index: 5; }
  .rsg-page .v6-float-tr { right: 18px; top: 56px; padding: 10px 12px 8px; min-width: 140px; }
  .rsg-page .v6-float-tr .v { font-size: 14px; }
  .rsg-page .v6-float-br { right: 14px; bottom: 26px; padding: 10px 12px; min-width: 160px; }
}

/* Prevent horizontal scroll from any rogue overflow */
.rsg-page { overflow-x: hidden; }
.rsg-page img, .rsg-page svg { max-width: 100%; }
