
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=DM+Sans:wght@400;500;700&display=swap');

/* ============================================================
   RSG VARIANT B &mdash; DESIGN TOKENS (May 2026 revision)
   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 {
  --font-display: 'Montserrat', system-ui, sans-serif;
  --font-body: 'DM Sans', system-ui, sans-serif;
  --font-mono: 'DM Sans', system-ui, sans-serif;
  --paper: #FFFFFF;
  --paper-soft: #FFFFFF;
  --paper-line: #E5E4DE;
  --ink: #1A1A1A;
  --ink-900: #111111;
  --ink-700: #262626;
  --ink-500: #6B6B6B;
  --ink-2: #2E2E2E;
  --black: #000000;
  --green-500: #2C7A4B;
  --green-600: #1F5B36;
  --green-700: #143E25;
  --green-50: #E8F1EB;
  --orange-500: #E78A2C;
  --red: #C8202B;
  --line: #E4E8E5;
  --line-2: #EEF1EE;
  --border: #e6ebe7;
  --shadow-md: 0 6px 24px rgba(0,0,0,0.06);
  --shadow-lg: 0 18px 48px rgba(0,0,0,0.10);
  --radius-md: 14px;
  --radius-lg: 20px;
  --section-y: 96px;
  --gutter: 24px;
  --card-pad: 28px;
  --card-pad-lg: 32px;
  --grid-gap: 20px;
  --grid-gap-lg: 24px;
  --header-mb: 56px;
  --dark-grad: linear-gradient(135deg, #0A0A0A 0%, #1F1F1F 50%, #0A0A0A 100%);
  font-family: var(--font-body);
  color: var(--ink-900);
  background: var(--paper);
  line-height: 1.6;
}

/* ============================================================
   RESETS & PRIMITIVES
   ============================================================ */
.rsg-page * { box-sizing: border-box; }
.rsg-page h1, .rsg-page h2, .rsg-page h3, .rsg-page h4 { font-family: var(--font-display); font-weight: 700; color: var(--ink-900); line-height: 1.15; margin: 0; }
.rsg-page h1 { font-size: clamp(36px, 5vw, 56px); letter-spacing: -0.02em; }
.rsg-page h2 { font-size: clamp(28px, 3.6vw, 42px); letter-spacing: -0.015em; }
.rsg-page h3 { font-size: clamp(20px, 2.2vw, 24px); }
.rsg-page p { margin: 0 0 16px; color: var(--ink-2); }
.rsg-page a { color: inherit; text-decoration: none; }
.rsg-page strong { color: var(--ink-900); font-weight: 700; }
.rsg-page img { max-width: 100%; height: auto; display: block; }
.rsg-page ul, .rsg-page ol { margin: 0; padding: 0; }
.rsg-page .container { max-width: 1200px; margin: 0 auto; padding: 0 var(--gutter); }

/* Heading reset &mdash; plain, no italic, no underline (Rule 3, May 2026) */
.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; }

/* Eyebrow with green dot prefix (rule 6) &mdash; Montserrat for brand consistency */
.rsg-page .eyebrow { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-display); font-size: 12px; font-weight: 700; 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); 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(32,157,80,0.6); }
/* Dark-pill eyebrow variant &mdash; matches the SEO Audit CTA-pill style */
.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(32,157,80,0.28); animation: pulse 2s infinite; }

/* Section header */
.rsg-page .section-header { margin-bottom: var(--header-mb); }
.rsg-page .section-header.align-left { text-align: left; }
.rsg-page .section-header.align-center { text-align: center; }
.rsg-page .section-header .lede { font-size: clamp(15px, 1.4vw, 17px); color: var(--ink-2); max-width: 820px; margin-top: 16px; text-wrap: balance; }
.rsg-page .section-dark .section-header h2,
.rsg-page .section-dark .section-header .lede { color: #fff; }
.rsg-page .section-dark .lede { color: rgba(255,255,255,0.75); }
.rsg-page .lede { font-size: 17px; color: var(--ink-2); line-height: 1.65; }

/* Buttons */
.rsg-page .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 24px; font-family: var(--font-display); font-size: 14px; font-weight: 600; letter-spacing: 0.01em; border-radius: 999px; transition: transform .15s, box-shadow .15s, background .15s, color .15s; cursor: pointer; border: 0; text-decoration: none; }
.rsg-page .btn-primary { background: var(--green-500); color: #fff; }
.rsg-page .btn-primary:hover { background: var(--green-600); transform: translateY(-1px); box-shadow: 0 8px 24px rgba(32,157,80,0.25); }
.rsg-page .btn-ghost { background: transparent; color: var(--ink-900); border: 1.5px solid var(--ink-900); }
.rsg-page .btn-ghost:hover { background: var(--ink-900); color: #fff; }
.rsg-page .section-dark .btn-ghost { color: #fff; border-color: rgba(255,255,255,0.4); }
.rsg-page .section-dark .btn-ghost:hover { background: #fff; color: #000; }
.rsg-page .btn-large { padding: 16px 26px; font-size: 15px; white-space: nowrap; }

/* Sections */
.rsg-page .section { padding: var(--section-y) 0; }
.rsg-page .section-dark { background: var(--dark-grad); color: #fff; }
.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); }

/* Entrance animations */
.rsg-page .reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease-out, transform .8s ease-out; }
.rsg-page .reveal.visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { .rsg-page .reveal { opacity: 1; transform: none; transition: none; } }

/* ============================================================
   NAV
   ============================================================ */
.rsg-page .nav { background: var(--paper); padding: 18px 0; border-bottom: 1px solid var(--line-2); position: sticky; top: 0; z-index: 30; backdrop-filter: blur(6px); }
.rsg-page .nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.rsg-page .nav-logo img { height: 32px; }
.rsg-page .nav-links { display: flex; gap: 28px; align-items: center; }
.rsg-page .nav-links a { font-family: var(--font-display); font-size: 14px; color: var(--ink-700); font-weight: 500; }
.rsg-page .nav-links a:hover { color: var(--green-600); }

/* ============================================================
   HERO  (v2.1 &mdash; May 2026 design refinement, content unchanged)
   ============================================================ */
.rsg-page .hero { padding: 72px 0 var(--section-y); background: var(--paper); position: relative; overflow: hidden; }
.rsg-page .hero::before {
  content: ""; position: absolute; top: -180px; right: -120px; width: 760px; height: 760px;
  background: radial-gradient(circle, rgba(32,157,80,0.07) 0%, rgba(32,157,80,0.02) 40%, transparent 70%);
  pointer-events: none; z-index: 0;
}
.rsg-page .hero::after {
  content: ""; position: absolute; bottom: -160px; left: -100px; width: 480px; height: 480px;
  background: radial-gradient(circle, rgba(200,32,43,0.045) 0%, rgba(200,32,43,0.01) 50%, transparent 75%);
  pointer-events: none; z-index: 0;
}
.rsg-page .hero .container { position: relative; z-index: 1; }
.rsg-page .hero-grid { display: grid; grid-template-columns: 1.02fr 1fr; gap: 110px; align-items: center; }
.rsg-page .hero h1 { font-size: 40px; margin-bottom: 12px; line-height: 1.2em; letter-spacing: -0.025em; text-wrap: balance; }
.rsg-page .hero h1 em { color: var(--green-600); position: relative; z-index: 1; }
/* hero h1 em underline shade &mdash; removed per Hamza request */
.rsg-page .hero-eyebrow-wrap { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; flex-wrap: wrap; }
.rsg-page .hero-eyebrow-wrap .eyebrow { margin-bottom: 0; }
.rsg-page .hero-eyebrow-wrap .trust-pill { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; background: #fff; border: 1px solid var(--line); border-radius: 999px; font-family: var(--font-mono); font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-700); box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
.rsg-page .hero-eyebrow-wrap .trust-pill .tp-yelp { font-family: 'Montserrat', sans-serif; font-weight: 800; color: #C8202B; letter-spacing: -0.02em; text-transform: lowercase; font-size: 12px; }
.rsg-page .hero-eyebrow-wrap .trust-pill .tp-check { width: 13px; height: 13px; border-radius: 50%; background: var(--green-500); color: #fff; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsg-page .hero-eyebrow-wrap .trust-pill .tp-check svg { width: 8px; height: 8px; }
.rsg-page .hero-subhead { font-family: var(--font-display); font-weight: 700; font-size: 18px; color: var(--ink-900); margin: 0 0 16px; line-height: 1.4; max-width: 560px; display: flex; align-items: flex-start; gap: 12px; }
.rsg-page .hero-subhead::before { content: ""; width: 28px; height: 3px; background: var(--green-500); flex-shrink: 0; border-radius: 2px; margin-top: 11px; }
.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 .hero-lede { font-family: var(--font-body); font-size: 15px; color: var(--ink-2); margin: 0 0 14px; line-height: 1.6; max-width: 560px; }
.rsg-page .hero-lede.last { margin-bottom: 22px; }
.rsg-page .hero-lede.hero-lede-bold { font-size: 16.5px; font-weight: 700; color: var(--ink-900); }
.rsg-page .hero-ctas { display: flex; gap: 10px; flex-wrap: nowrap; align-items: center; }
.rsg-page .hero-ctas .btn svg { width: 14px; height: 14px; }
.rsg-page .hero-ctas .btn { white-space: nowrap; }
.rsg-page .hero-ctas .btn-large { padding: 10px 18px; font-size: 12.5px; }
.rsg-page .hero-tagline { display: flex; align-items: center; gap: 10px; margin-top: 22px; font-family: var(--font-mono); font-size: 12px; color: var(--ink-500); font-style: italic; }
.rsg-page .hero-tagline .ht-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green-500); flex-shrink: 0; box-shadow: 0 0 0 4px rgba(32,157,80,0.15); animation: pulse 2.4s infinite; }
.rsg-page .hero-trust-row { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 14px; font-family: var(--font-display); font-size: 13.5px; color: var(--ink-700); }
.rsg-page .hero-trust-row .htr-rating, .rsg-page .hero-trust-row .htr-badge { display: inline-flex; align-items: center; gap: 8px; }
.rsg-page .hero-trust-row .htr-stars { display: inline-flex; align-items: center; gap: 1px; margin-right: 4px; }
.rsg-page .hero-trust-row .htr-stars svg { width: 14px; height: 14px; }
.rsg-page .hero-trust-row strong { color: var(--ink-900); font-weight: 700; }
.rsg-page .hero-trust-row .htr-muted { color: var(--ink-2); font-weight: 500; }
.rsg-page .hero-trust-row .htr-badge svg { width: 16px; height: 16px; flex-shrink: 0; }
.rsg-page .hero-trust-row .htr-divider { width: 1px; height: 14px; background: var(--line); }
.rsg-page .hero-tip-callout { display: flex; align-items: flex-start; gap: 12px; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--green-500); border-radius: 10px; padding: 12px 16px 12px 12px; margin-top: 12px; max-width: 580px; box-shadow: 0 4px 16px rgba(0,0,0,0.04); }
.rsg-page .hero-tip-callout .htc-icon { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 8px; background: rgba(44,122,75,0.08); flex-shrink: 0; }
.rsg-page .hero-tip-callout .htc-icon svg { width: 18px; height: 18px; }
.rsg-page .hero-tip-callout p { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--ink-900); font-family: var(--font-body); }
@media (max-width: 480px) {
  .rsg-page .hero-trust-row { flex-direction: column; align-items: center; gap: 8px; font-size: 13px; }
  .rsg-page .hero-trust-row .htr-divider { display: none; }
  .rsg-page .hero-trust-row .htr-rating, .rsg-page .hero-trust-row .htr-badge { background: #FFFFFF; border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px; gap: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.04); }
  .rsg-page .hero-trust-row .htr-stars { gap: 1.5px; margin-right: 2px; }
  .rsg-page .hero-trust-row .htr-stars svg { width: 13px; height: 13px; }
  .rsg-page .hero-trust-row .htr-badge svg { width: 15px; height: 15px; }
  .rsg-page .hero-tip-callout { padding: 12px 14px; }
  .rsg-page .hero-tip-callout p { font-size: 13px; }
}
@media (max-width: 640px) { .rsg-page .hero-ctas { flex-wrap: wrap; } }

.rsg-page .hero-stage { position: relative; padding: 0; }
.rsg-page .float-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; box-shadow: var(--shadow-lg); position: absolute; z-index: 2; }
.rsg-page .float-card.ping .fc-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--green-500); flex-shrink: 0; box-shadow: 0 0 0 4px rgba(32,157,80,0.18); animation: pulse 2s infinite; }
.rsg-page .float-card.ping strong { display: block; font-family: var(--font-display); font-size: 12px; color: var(--ink-900); line-height: 1.3; }
.rsg-page .float-card.ping span:not(.fc-dot) { display: block; font-size: 10px; color: var(--ink-500); line-height: 1.3; margin-top: 2px; }
@keyframes pulse { 0%,100%{ transform: scale(1); } 50%{ transform: scale(1.18); } }

/* KPI Dashboard */
.rsg-page .kpi-card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 24px; box-shadow: var(--shadow-md); position: relative; z-index: 1; }
.rsg-page .kpi-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.rsg-page .kpi-title { font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--ink-900); }
.rsg-page .kpi-badge { background: var(--green-50); color: var(--green-700); padding: 4px 10px; border-radius: 999px; font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 6px; }
.rsg-page .kpi-pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--green-500); animation: pulse 2s ease-in-out infinite; display: inline-block; }
.rsg-page .kpi-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-bottom: 20px; }
.rsg-page .kpi-stat { padding: 12px; background: var(--paper-soft); border-radius: 10px; }
.rsg-page .kpi-lbl { font-family: var(--font-mono); font-size: 10px; color: var(--ink-500); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 4px; font-weight: 700; }
.rsg-page .kpi-val { font-family: var(--font-display); font-size: 26px; font-weight: 800; color: var(--ink-900); line-height: 1; }
.rsg-page .kpi-delta { font-size: 11px; font-weight: 700; margin-top: 4px; font-family: var(--font-mono); }
.rsg-page .kpi-delta.up { color: var(--green-600); }
.rsg-page .kpi-delta.down { color: var(--green-600); }
.rsg-page .kpi-spark { padding-top: 8px; border-top: 1px solid var(--line-2); }
.rsg-page .kpi-spark svg { width: 100%; height: 40px; }
.rsg-page .kpi-caption { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-500); margin-top: 8px; font-weight: 600; }

/* ============================================================
   PLATFORM-CONTEXT HERO MOCKUP (Pattern 35 &mdash; Yelp variant, v2)
   Single backdrop card: photo fills it, phone sits in lower-left,
   stat sticker top-right, agency-partner badge top-left.
   ============================================================ */
.rsg-page .platform-hero { position: relative; width: 100%; max-width: 620px; height: 640px; margin: 0 auto; }
.rsg-page .platform-hero::before {
  content: ""; position: absolute; top: 30px; left: 30px; right: -10px; bottom: -10px;
  background: linear-gradient(135deg, var(--green-50) 0%, rgba(200,32,43,0.06) 100%);
  border-radius: 28px; z-index: 0;
}
.rsg-page .platform-hero-photo { position: absolute; inset: 0; border-radius: 26px; overflow: hidden; background: #F1F3F4; box-shadow: 0 30px 70px rgba(0,0,0,0.20), 0 12px 36px rgba(0,0,0,0.10); z-index: 1; border: 1px solid rgba(255,255,255,0.6); }
.rsg-page .platform-hero-photo img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; }
.rsg-page .platform-hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(0,0,0,0.02) 0%, rgba(0,0,0,0) 45%, rgba(0,0,0,0) 100%); pointer-events: none; }
.rsg-page .platform-hero-photo::before { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 60px rgba(0,0,0,0.12); border-radius: 26px; pointer-events: none; z-index: 2; }

.rsg-page .phone-shell { position: absolute; bottom: 36px; left: -72px; width: 232px; height: 440px; background: #111; border-radius: 32px; padding: 6px; box-shadow: 0 28px 60px rgba(0,0,0,0.38), 0 10px 24px rgba(0,0,0,0.24), 0 0 0 4px rgba(255,255,255,0.85); z-index: 3; }
.rsg-page .phone-shell::after { content: ""; position: absolute; top: -14px; left: -14px; right: -14px; bottom: -14px; border-radius: 40px; background: radial-gradient(ellipse at center, rgba(32,157,80,0.18) 0%, transparent 70%); z-index: -1; pointer-events: none; }
.rsg-page .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 .phone-screen { width: 220px; height: 428px; background: #fff; border-radius: 26px; overflow: hidden; position: relative; }
.rsg-page .ph-statusbar { display: flex; justify-content: space-between; align-items: center; padding: 6px 22px 4px; font-family: system-ui, -apple-system, sans-serif; font-size: 10px; font-weight: 700; color: #1a1a1a; padding-top: 8px; }
.rsg-page .ph-yelpbar { display: flex; align-items: center; justify-content: space-between; padding: 8px 14px 10px; border-bottom: 1px solid #EEE; }
.rsg-page .ph-yelpwordmark { font-family: 'Montserrat', system-ui, sans-serif; font-weight: 800; font-size: 18px; color: #C8202B; letter-spacing: -0.02em; }
.rsg-page .ph-loc { display: inline-flex; align-items: center; gap: 4px; font-family: system-ui, sans-serif; font-size: 10.5px; color: #444; font-weight: 600; }
.rsg-page .ph-loc svg { width: 11px; height: 11px; }
.rsg-page .ph-sponsored-lbl { font-family: system-ui, sans-serif; font-size: 9.5px; font-weight: 700; color: #C8202B; letter-spacing: 0.04em; text-transform: uppercase; padding: 10px 14px 4px; display: flex; align-items: center; gap: 6px; }
.rsg-page .ph-sponsored-lbl::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: #C8202B; }
.rsg-page .ph-listing { margin: 0 14px; padding: 12px; background: #fff; border: 1px solid #E4E4E0; border-radius: 10px; font-family: system-ui, sans-serif; box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
.rsg-page .ph-listing-top { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 8px; }
.rsg-page .ph-listing-thumb { width: 52px; height: 52px; border-radius: 6px; overflow: hidden; flex-shrink: 0; background: linear-gradient(135deg, #2C7A4B 0%, #143E25 100%); position: relative; display: flex; align-items: center; justify-content: center; color: #fff; }
.rsg-page .ph-listing-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rsg-page .ph-listing-thumb .pt-icon { width: 26px; height: 26px; color: #fff; }
.rsg-page .ph-listing-info { flex: 1; min-width: 0; }
.rsg-page .ph-biz-name { display: block; font-size: 13px; font-weight: 700; color: #1a1a1a; margin-bottom: 4px; font-family: system-ui, sans-serif; line-height: 1.2; }
.rsg-page .ph-stars { display: flex; align-items: center; gap: 5px; margin-bottom: 4px; }
.rsg-page .ph-star { background: #C8202B; color: #fff; font-size: 9px; padding: 2px 4px; border-radius: 2px; letter-spacing: -0.5px; font-weight: 700; line-height: 1; }
.rsg-page .ph-reviews { font-size: 10px; color: #666; font-weight: 600; }
.rsg-page .ph-addr { display: flex; align-items: center; gap: 3px; font-size: 9.5px; color: #777; }
.rsg-page .ph-badges { display: flex; gap: 12px; padding: 6px 0; border-top: 1px solid #F0F0EC; border-bottom: 1px solid #F0F0EC; margin-bottom: 8px; }
.rsg-page .ph-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 9.5px; font-weight: 700; }
.rsg-page .ph-badge.verified { color: #1E88E5; }
.rsg-page .ph-badge.guarantee { color: #C8202B; }
.rsg-page .ph-badge svg { width: 12px; height: 12px; flex-shrink: 0; }
.rsg-page .ph-quote { font-size: 10px; color: #444; line-height: 1.45; margin: 0 0 8px; font-style: italic; }
.rsg-page .ph-quote::before { content: "\201C"; color: #C8202B; font-weight: 800; margin-right: 2px; }
.rsg-page .ph-response { display: flex; align-items: center; gap: 4px; font-size: 10px; color: #1a1a1a; margin: 0 0 10px; font-weight: 600; }
.rsg-page .ph-response-dot { width: 6px; height: 6px; border-radius: 50%; background: #34C759; flex-shrink: 0; box-shadow: 0 0 0 3px rgba(52,199,89,0.18); }
.rsg-page .ph-response strong { color: #1a1a1a; }
.rsg-page .ph-cta { width: 100%; padding: 10px; background: #C8202B; color: #fff; border: 0; border-radius: 6px; font-size: 11.5px; font-weight: 700; font-family: system-ui, sans-serif; cursor: pointer; letter-spacing: 0.02em; }
.rsg-page .ph-next { margin: 12px 14px 0; padding: 10px 12px; background: #FAFAF6; border: 1px solid #EEEEE8; border-radius: 8px; opacity: 0.85; }
.rsg-page .ph-next-thumb-row { display: flex; gap: 8px; align-items: center; }
.rsg-page .ph-next-thumb { width: 32px; height: 32px; border-radius: 4px; background: #E0E0DA; flex-shrink: 0; }
.rsg-page .ph-next-lines { flex: 1; }
.rsg-page .ph-next-line { height: 6px; background: #DADAD2; border-radius: 3px; margin-bottom: 4px; }
.rsg-page .ph-next-line.short { width: 50%; }

.rsg-page .hero-stat-sticker { position: absolute; top: 64px; right: -36px; z-index: 5; background: #fff; border-radius: 16px; padding: 14px 18px; box-shadow: 0 20px 44px rgba(0,0,0,0.22), 0 4px 12px rgba(0,0,0,0.10); display: flex; align-items: center; gap: 14px; border: 1px solid var(--line); }
.rsg-page .hero-stat-sticker .hss-icon { width: 40px; height: 40px; border-radius: 12px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 6px 18px rgba(32,157,80,0.32); }
.rsg-page .hero-stat-sticker .hss-icon svg { width: 20px; height: 20px; }
.rsg-page .hero-stat-sticker .hss-meta { display: flex; flex-direction: column; gap: 2px; }
.rsg-page .hero-stat-sticker .hss-label { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; }
.rsg-page .hero-stat-sticker .hss-value { font-family: var(--font-display); font-size: 20px; font-weight: 800; color: var(--ink-900); line-height: 1; letter-spacing: -0.01em; }
.rsg-page .hero-stat-sticker .hss-delta { font-family: var(--font-mono); font-size: 10px; color: var(--green-600); font-weight: 700; margin-top: 3px; letter-spacing: 0.04em; }

.rsg-page .hero-partner-badge { position: absolute; top: -16px; left: 50%; transform: translateX(-50%); z-index: 4; background: #fff; border-radius: 999px; padding: 9px 18px; display: inline-flex; align-items: center; gap: 9px; box-shadow: 0 10px 28px rgba(0,0,0,0.16), 0 2px 6px rgba(0,0,0,0.08); font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--ink-900); border: 1px solid var(--line); white-space: nowrap; }
.rsg-page .hero-partner-badge .hpb-yelp { color: #C8202B; font-family: 'Montserrat', sans-serif; font-weight: 800; letter-spacing: -0.02em; font-size: 14px; text-transform: lowercase; }
.rsg-page .hero-partner-badge .hpb-divider { width: 1px; height: 14px; background: var(--line); }
.rsg-page .hero-partner-badge .hpb-check { width: 15px; height: 15px; border-radius: 50%; background: var(--green-500); color: #fff; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 0 0 3px rgba(32,157,80,0.18); }
.rsg-page .hero-partner-badge .hpb-check svg { width: 9px; height: 9px; }

.rsg-page .hero-floating-ping { position: absolute; bottom: 28px; right: 24px; z-index: 4; background: #fff; border-radius: 14px; padding: 12px 16px; box-shadow: 0 16px 36px rgba(0,0,0,0.22), 0 3px 10px rgba(0,0,0,0.10); display: flex; align-items: center; gap: 12px; max-width: 220px; border: 1px solid rgba(255,255,255,0.7); }
.rsg-page .hero-floating-ping .hfp-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--green-500); flex-shrink: 0; box-shadow: 0 0 0 4px rgba(32,157,80,0.22); animation: pulse 2s infinite; }
.rsg-page .hero-floating-ping strong { display: block; font-family: var(--font-display); font-size: 13px; color: var(--ink-900); line-height: 1.3; font-weight: 700; }
.rsg-page .hero-floating-ping span:not(.hfp-dot) { display: block; font-size: 10.5px; color: var(--ink-500); line-height: 1.35; margin-top: 3px; }

/* Mid-right secondary sticker &mdash; Yelp Premium Partner badge for visual balance */
.rsg-page .hero-cpl-card { position: absolute; top: 50%; right: -28px; transform: translateY(-50%); z-index: 4; background: var(--dark-grad); color: #fff; border-radius: 16px; padding: 14px 18px 14px 14px; box-shadow: 0 18px 38px rgba(0,0,0,0.24), 0 4px 10px rgba(0,0,0,0.12); display: flex; align-items: center; gap: 12px; border: 1px solid rgba(255,255,255,0.06); }
.rsg-page .hero-cpl-card .hcc-icon { width: 38px; height: 38px; border-radius: 10px; background: rgba(32,157,80,0.18); color: var(--green-500); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsg-page .hero-cpl-card .hcc-icon svg { width: 18px; height: 18px; }
.rsg-page .hero-cpl-card .hcc-meta { display: flex; flex-direction: column; gap: 2px; min-width: 80px; }
.rsg-page .hero-cpl-card .hcc-label { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.55); font-weight: 700; }
.rsg-page .hero-cpl-card .hcc-value { font-family: var(--font-display); font-size: 18px; font-weight: 800; color: var(--green-500); line-height: 1; letter-spacing: -0.01em; }
.rsg-page .hero-cpl-card .hcc-delta { font-family: var(--font-mono); font-size: 9.5px; color: rgba(255,255,255,0.7); margin-top: 3px; letter-spacing: 0.04em; }

/* ============================================================
   REASON STACK (alternating-row layout, May 2026)
   Adapted from LSA page. Each row has text + custom visualization.
   ============================================================ */
.rsg-page .reason-stack { display: grid; gap: 18px; }
.rsg-page .reason-row { display: grid; grid-template-columns: 1.05fr 1fr; gap: 40px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px 32px; position: relative; overflow: hidden; box-shadow: var(--shadow-md); }
.rsg-page .reason-row.flip { grid-template-columns: 1fr 1.05fr; }
.rsg-page .reason-row.flip .rr-text { order: 2; }
.rsg-page .reason-row.flip .rr-viz { order: 1; }
.rsg-page .reason-row .rr-num { position: absolute; top: 6px; right: 22px; font-family: var(--font-display); font-size: 96px; font-weight: 800; color: var(--ink-900); opacity: 0.05; line-height: 1; pointer-events: none; }
.rsg-page .reason-row.flip .rr-num { right: auto; left: 28px; }
.rsg-page .reason-row .rr-tag { display: inline-flex; align-items: center; gap: 7px; padding: 5px 10px; background: var(--green-50); color: var(--green-700); border-radius: 999px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; margin-bottom: 12px; }
.rsg-page .reason-row .rr-tag::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--green-500); }
.rsg-page .reason-row h3 { font-size: 21px; margin-bottom: 10px; line-height: 1.25; }
.rsg-page .reason-row p { font-size: 14px; margin-bottom: 12px; line-height: 1.55; }
.rsg-page .reason-row .rr-quote { background: var(--paper-soft); border-left: 3px solid var(--green-500); padding: 10px 14px; border-radius: 0 8px 8px 0; font-family: var(--font-display); font-style: italic; font-size: 13px; color: var(--ink-700); margin: 0; line-height: 1.45; }
.rsg-page .reason-row .rr-viz { position: relative; min-height: 200px; }

/* VIZ 1 &mdash; Yelp comparison stack (Reason 01) */
.rsg-page .viz-compare { position: relative; min-height: 200px; display: flex; align-items: center; justify-content: center; padding: 4px; }
.rsg-page .viz-compare .vc-stack { display: grid; gap: 10px; width: 100%; max-width: 320px; }
.rsg-page .viz-compare .vc-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; display: grid; grid-template-columns: 40px 1fr auto; gap: 12px; align-items: center; box-shadow: 0 4px 12px rgba(0,0,0,0.04); transition: transform .2s; }
.rsg-page .viz-compare .vc-card.featured { border: 2px solid var(--green-500); box-shadow: 0 12px 28px rgba(32,157,80,0.18); transform: scale(1.04); position: relative; }
.rsg-page .viz-compare .vc-card.featured::after { content: "1st to reply"; position: absolute; top: -10px; right: 10px; background: var(--green-500); color: #fff; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; padding: 3px 8px; border-radius: 999px; }
.rsg-page .viz-compare .vc-logo { width: 40px; height: 40px; border-radius: 8px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); display: flex; align-items: center; justify-content: center; color: #fff; }
.rsg-page .viz-compare .vc-logo svg { width: 20px; height: 20px; }
.rsg-page .viz-compare .vc-card.muted .vc-logo { background: linear-gradient(135deg, #B6B6B6, #8B8B8B); }
.rsg-page .viz-compare .vc-name { display: block; font-family: var(--font-display); font-size: 13px; font-weight: 700; color: var(--ink-900); line-height: 1.2; }
.rsg-page .viz-compare .vc-meta { display: block; font-family: var(--font-mono); font-size: 10px; color: var(--ink-500); margin-top: 3px; }
.rsg-page .viz-compare .vc-stars { color: #C8202B; font-size: 11px; letter-spacing: 0; }
.rsg-page .viz-compare .vc-caption { margin-top: 14px; text-align: center; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; display: flex; align-items: center; justify-content: center; gap: 8px; }
.rsg-page .viz-compare .vc-caption .vcc-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 0 3px rgba(32,157,80,0.18); animation: pulse 2s infinite; }

/* VIZ 2 &mdash; CPL bar comparison (Reason 02) */
.rsg-page .viz-cpl { padding: 8px 4px; }
.rsg-page .viz-cpl .vcpl-row { display: grid; grid-template-columns: 90px 1fr; gap: 14px; align-items: center; margin-bottom: 16px; }
.rsg-page .viz-cpl .vcpl-label { font-family: var(--font-display); font-size: 13px; font-weight: 700; color: var(--ink-900); }
.rsg-page .viz-cpl .vcpl-label small { display: block; font-family: var(--font-mono); font-size: 9px; font-weight: 600; color: var(--ink-500); letter-spacing: 0.08em; text-transform: uppercase; margin-top: 2px; }
.rsg-page .viz-cpl .vcpl-bar { height: 40px; border-radius: 8px; position: relative; overflow: hidden; background: var(--paper-soft); }
.rsg-page .viz-cpl .vcpl-fill { position: absolute; top: 0; bottom: 0; left: 0; border-radius: 8px; display: flex; align-items: center; padding: 0 14px; color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 14px; letter-spacing: -0.01em; }
.rsg-page .viz-cpl .vcpl-fill.yelp { width: 40%; background: linear-gradient(90deg, var(--green-500), var(--green-700)); box-shadow: 0 4px 12px rgba(32,157,80,0.28); }
.rsg-page .viz-cpl .vcpl-fill.ppc { width: 78%; background: linear-gradient(90deg, var(--red), #9F1219); box-shadow: 0 4px 12px rgba(200,32,43,0.24); }
.rsg-page .viz-cpl .vcpl-fill.ppc::after { content: "Up to 2x more"; position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font-family: var(--font-mono); font-size: 9px; font-weight: 700; letter-spacing: 0.08em; opacity: 0.9; text-transform: uppercase; }
.rsg-page .viz-cpl .vcpl-axis { display: flex; justify-content: space-between; padding: 0 0 0 104px; font-family: var(--font-mono); font-size: 9.5px; color: var(--ink-500); font-weight: 600; margin-top: 8px; }
.rsg-page .viz-cpl .vcpl-axis span:nth-child(odd) { opacity: 0.6; }
.rsg-page .viz-cpl .vcpl-caption { text-align: center; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; margin-top: 18px; padding-top: 14px; border-top: 1px dashed var(--line); }

/* VIZ 3 &mdash; Parallel pipeline (Reason 03) */
.rsg-page .viz-pipes { position: relative; padding: 4px 0; min-height: 200px; display: flex; align-items: center; justify-content: center; }
.rsg-page .viz-pipes .vp-stage { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; width: 100%; max-width: 360px; }
.rsg-page .viz-pipes .vp-col { background: #fff; border-radius: 12px; padding: 12px 12px; position: relative; border: 1px solid var(--line); min-height: 180px; display: flex; flex-direction: column; }
.rsg-page .viz-pipes .vp-col.google { background: linear-gradient(180deg, #fff, #FBE9EA); border-color: rgba(200,32,43,0.25); }
.rsg-page .viz-pipes .vp-col.yelp { background: linear-gradient(180deg, #fff, var(--green-50)); border-color: rgba(32,122,75,0.3); }
.rsg-page .viz-pipes .vp-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 8px; border-bottom: 1px dashed var(--line); margin-bottom: 10px; }
.rsg-page .viz-pipes .vp-head strong { font-family: var(--font-display); font-size: 12px; font-weight: 800; color: var(--ink-900); letter-spacing: 0.02em; }
.rsg-page .viz-pipes .vp-status { font-family: var(--font-mono); font-size: 8.5px; font-weight: 700; letter-spacing: 0.08em; padding: 3px 7px; border-radius: 4px; text-transform: uppercase; }
.rsg-page .viz-pipes .vp-status.warn { background: rgba(200,32,43,0.12); color: var(--red); }
.rsg-page .viz-pipes .vp-status.ok { background: var(--green-50); color: var(--green-700); }
.rsg-page .viz-pipes .vp-pipe { flex: 1; display: flex; flex-direction: column; gap: 4px; align-items: center; padding: 8px 0; }
.rsg-page .viz-pipes .vp-drop { width: 16px; height: 16px; border-radius: 50%; }
.rsg-page .viz-pipes .vp-drop.green { background: var(--green-500); box-shadow: 0 0 0 3px rgba(32,157,80,0.18); }
.rsg-page .viz-pipes .vp-drop.red { background: var(--red); opacity: 0.6; }
.rsg-page .viz-pipes .vp-drop.gray { background: #BBB; opacity: 0.5; }
.rsg-page .viz-pipes .vp-arrow { color: var(--ink-500); font-size: 14px; line-height: 1; opacity: 0.5; }
.rsg-page .viz-pipes .vp-zigzag { font-family: var(--font-mono); font-size: 9px; color: var(--red); font-weight: 700; letter-spacing: 0.08em; margin: 4px 0; text-transform: uppercase; }
.rsg-page .viz-pipes .vp-bottom { padding: 8px 10px; background: var(--ink-900); color: #fff; border-radius: 8px; text-align: center; font-family: var(--font-mono); font-size: 9px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-top: 8px; }
.rsg-page .viz-pipes .vp-bottom.yelp { background: var(--green-700); }

/* VIZ 4 &mdash; Speed vs Budget gauge (Reason 04) */
.rsg-page .viz-speed { position: relative; min-height: 200px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 8px; }
.rsg-page .viz-speed .vs-gauge { width: 200px; height: 130px; position: relative; padding-bottom: 18px; }
.rsg-page .viz-speed .vs-gauge svg { width: 100%; height: 100%; }
.rsg-page .viz-speed .vs-num { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); text-align: center; }
.rsg-page .viz-speed .vs-num strong { display: block; font-family: var(--font-display); font-size: 26px; font-weight: 800; color: var(--ink-900); line-height: 1; letter-spacing: -0.02em; }
.rsg-page .viz-speed .vs-num span { display: block; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--green-700); margin-top: 4px; font-weight: 700; }
.rsg-page .viz-speed .vs-scale { position: absolute; bottom: 2px; left: 0; right: 0; display: flex; justify-content: space-between; padding: 0 6px; font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; }
.rsg-page .viz-speed .vs-versus { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; width: 100%; max-width: 320px; margin-top: 4px; }
.rsg-page .viz-speed .vs-pill { padding: 10px 12px; border-radius: 10px; text-align: center; background: #fff; border: 1px solid var(--line); }
.rsg-page .viz-speed .vs-pill.win { background: var(--green-50); border-color: rgba(32,157,80,0.3); }
.rsg-page .viz-speed .vs-pill.lose { background: var(--paper-soft); opacity: 0.7; }
.rsg-page .viz-speed .vs-pill strong { display: block; font-family: var(--font-display); font-size: 13px; font-weight: 800; color: var(--ink-900); line-height: 1.2; }
.rsg-page .viz-speed .vs-pill.win strong { color: var(--green-700); }
.rsg-page .viz-speed .vs-pill.lose strong { text-decoration: line-through; text-decoration-color: var(--ink-500); }
.rsg-page .viz-speed .vs-pill span { display: block; font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; margin-top: 3px; }
.rsg-page .viz-speed .vs-vs { font-family: var(--font-display); font-weight: 800; font-size: 13px; color: var(--ink-700); letter-spacing: 0.04em; }

@keyframes pulseRing { 0% { box-shadow: 0 0 0 0 rgba(32,157,80,0.4); } 70% { box-shadow: 0 0 0 12px rgba(32,157,80,0); } 100% { box-shadow: 0 0 0 0 rgba(32,157,80,0); } }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

@media (max-width: 1024px) {
  .rsg-page .reason-row, .rsg-page .reason-row.flip { grid-template-columns: 1fr; gap: 32px; padding: 32px 28px; }
  .rsg-page .reason-row.flip .rr-text, .rsg-page .reason-row.flip .rr-viz { order: initial; }
  .rsg-page .reason-row .rr-num { font-size: 88px; }
}
/* ============================================================
   LOGO MARQUEE (Pattern 16)
   ============================================================ */
.rsg-page .logo-marquee { overflow: hidden; padding: 40px 0; background: #fff; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); position: relative; }
.rsg-page .logo-marquee::before, .rsg-page .logo-marquee::after { content: ""; position: absolute; top: 0; bottom: 0; width: 120px; z-index: 2; pointer-events: none; }
.rsg-page .logo-marquee::before { left: 0; background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,0) 100%); }
.rsg-page .logo-marquee::after { right: 0; background: linear-gradient(270deg, #fff 0%, rgba(255,255,255,0) 100%); }
.rsg-page .lm-track { display: flex; width: max-content; animation: marqueeScroll 70s linear infinite; }
.rsg-page .lm-set { display: flex; gap: 56px; padding-right: 56px; align-items: center; }
.rsg-page .lm-logo { height: 56px; width: auto; max-width: 160px; object-fit: contain; opacity: 0.75; filter: grayscale(0.15); transition: opacity .25s, filter .25s, transform .25s; flex-shrink: 0; }
.rsg-page .lm-logo:hover { opacity: 1; filter: none; transform: scale(1.05); }
@keyframes marqueeScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ============================================================
   CAMPAIGN OVERVIEW STATS
   ============================================================ */
.rsg-page .stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--grid-gap); }
.rsg-page .stat-tile { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); padding: var(--card-pad); position: relative; overflow: hidden; min-height: 130px; }
.rsg-page .stat-tile .bg-num { position: absolute; top: 8px; right: 18px; font-family: var(--font-display); font-size: 72px; font-weight: 800; color: var(--ink-900); opacity: 0.04; line-height: 1; }
.rsg-page .stat-tile .st-label { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; margin-bottom: 8px; }
.rsg-page .stat-tile .st-value { font-family: var(--font-display); font-size: 32px; font-weight: 800; color: var(--ink-900); line-height: 1; }
.rsg-page .stat-tile .st-delta { display: inline-flex; align-items: center; gap: 4px; font-family: var(--font-mono); font-size: 11px; color: var(--green-700); font-weight: 700; margin-top: 8px; padding: 3px 8px; background: var(--green-50); border-radius: 6px; }

/* ============================================================
   REASON / FEATURE CARDS (Why HVAC owners add Yelp to the mix)
   ============================================================ */
.rsg-page .reason-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--grid-gap); }
.rsg-page .reason-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--card-pad-lg); position: relative; overflow: hidden; }
.rsg-page .reason-card .rc-bg-num { position: absolute; top: 8px; right: 20px; font-family: var(--font-display); font-size: 96px; font-weight: 800; color: var(--ink-900); opacity: 0.045; line-height: 1; pointer-events: none; }
.rsg-page .reason-card > * { position: relative; z-index: 1; }
.rsg-page .reason-card .rc-num { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-700); font-weight: 700; margin-bottom: 14px; display: inline-block; padding: 4px 10px; background: var(--green-50); border-radius: 999px; }
.rsg-page .reason-card h3 { font-size: 20px; margin-bottom: 12px; }
.rsg-page .reason-card p { font-size: 14px; }

/* Speed-to-live section redesign */
.rsg-page .speed-hero { display: grid; grid-template-columns: auto 1fr; gap: 32px; align-items: center; padding: 28px 36px; margin: 0 0 36px; background: linear-gradient(135deg, #fff, var(--paper-soft)); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 4px 16px rgba(0,0,0,0.04); }
.rsg-page .speed-hero .sh-num { font-family: var(--font-display); font-size: clamp(48px, 5vw, 64px); font-weight: 800; color: var(--ink-900); letter-spacing: -0.03em; line-height: 0.95; }
.rsg-page .speed-hero .sh-num em { color: var(--green-700); font-style: normal; }
.rsg-page .speed-hero .sh-num-lbl { display: block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; margin-top: 6px; }
.rsg-page .speed-hero .sh-bars { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.rsg-page .speed-hero .sh-bar { display: grid; grid-template-columns: 100px 1fr 90px; align-items: center; gap: 12px; }
.rsg-page .speed-hero .sh-bar .sh-bar-lbl { font-family: var(--font-display); font-size: 12.5px; font-weight: 700; color: var(--ink-900); }
.rsg-page .speed-hero .sh-bar .sh-bar-val { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.10em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; text-align: right; }
.rsg-page .speed-hero .sh-bar .sh-bar-track { height: 8px; background: var(--paper-soft); border-radius: 999px; overflow: hidden; position: relative; border: 1px solid var(--line-2); }
.rsg-page .speed-hero .sh-bar .sh-bar-fill { height: 100%; border-radius: 999px; }
.rsg-page .speed-hero .sh-bar.featured .sh-bar-fill { background: linear-gradient(90deg, var(--green-500), #6EE7B7); width: 12%; }
.rsg-page .speed-hero .sh-bar.featured .sh-bar-lbl { color: var(--green-700); }
.rsg-page .speed-hero .sh-bar.featured .sh-bar-val { color: var(--green-700); }
.rsg-page .speed-hero .sh-bar.meta .sh-bar-fill { background: linear-gradient(90deg, #F87171, #EF4444); width: 55%; }
.rsg-page .speed-hero .sh-bar.lsa .sh-bar-fill { background: linear-gradient(90deg, #F59E0B, #FBBF24); width: 100%; }
.rsg-page .speed-hero .sh-bar.ppc .sh-bar-fill { background: linear-gradient(90deg, #60A5FA, #3B82F6); width: 65%; }
/* Friction-removed cards (replaces No.01-No.04) */
.rsg-page .friction-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.rsg-page .friction-card { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 26px 28px 24px; overflow: hidden; transition: transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .friction-card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0,0,0,0.07); }
.rsg-page .friction-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; opacity: 0.95; }
.rsg-page .friction-card.f-red::before { background: linear-gradient(90deg, #F87171, #FCA5A5); }
.rsg-page .friction-card.f-amber::before { background: linear-gradient(90deg, #F59E0B, #FBBF24); }
.rsg-page .friction-card.f-blue::before { background: linear-gradient(90deg, #3B82F6, #60A5FA); }
.rsg-page .friction-card.f-green::before { background: linear-gradient(90deg, var(--green-500), #6EE7B7); }
.rsg-page .friction-card .fc-head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.rsg-page .friction-card .fc-icon { width: 52px; height: 52px; border-radius: 14px; color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; position: relative; }
.rsg-page .friction-card .fc-icon svg { width: 26px; height: 26px; }
.rsg-page .friction-card.f-red .fc-icon { background: linear-gradient(135deg, #F87171, #EF4444); box-shadow: 0 10px 24px rgba(239,68,68,0.28); }
.rsg-page .friction-card.f-amber .fc-icon { background: linear-gradient(135deg, #F59E0B, #D97706); box-shadow: 0 10px 24px rgba(245,158,11,0.28); }
.rsg-page .friction-card.f-blue .fc-icon { background: linear-gradient(135deg, #3B82F6, #1D4ED8); box-shadow: 0 10px 24px rgba(59,130,246,0.28); }
.rsg-page .friction-card.f-green .fc-icon { background: linear-gradient(135deg, var(--green-500), var(--green-700)); box-shadow: 0 10px 24px rgba(32,157,80,0.28); }
.rsg-page .friction-card .fc-tag { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 800; padding: 4px 10px; border-radius: 999px; }
.rsg-page .friction-card.f-red .fc-tag { background: rgba(239,68,68,0.10); color: #B91C1C; }
.rsg-page .friction-card.f-amber .fc-tag { background: rgba(245,158,11,0.12); color: #B45309; }
.rsg-page .friction-card.f-blue .fc-tag { background: rgba(59,130,246,0.10); color: #1D4ED8; }
.rsg-page .friction-card.f-green .fc-tag { background: var(--green-50); color: var(--green-700); }
.rsg-page .friction-card.f-green .fc-tag::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 6px var(--green-500); }
.rsg-page .friction-card h3 { font-family: var(--font-display); font-size: 19px; font-weight: 800; color: var(--ink-900); margin: 0 0 8px; letter-spacing: -0.005em; line-height: 1.3; }
.rsg-page .friction-card p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--ink-2); }

/* AI Search Visibility section redesign */
.rsg-page .ai-tools-strip { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 28px; padding: 16px 20px; background: linear-gradient(135deg, #fff, var(--paper-soft)); border: 1px solid var(--line); border-radius: 14px; }
.rsg-page .ai-tools-strip .ats-lbl { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-700); font-weight: 700; margin-right: 4px; }
.rsg-page .ai-tools-strip .ats-chip { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px 6px 7px; background: #fff; border: 1px solid var(--line); border-radius: 999px; font-family: var(--font-display); font-size: 12.5px; font-weight: 700; color: var(--ink-900); transition: border-color .2s, transform .2s; }
.rsg-page .ai-tools-strip .ats-chip:hover { transform: translateY(-1px); }
.rsg-page .ai-tools-strip .ats-chip .ats-dot { width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 10px; box-shadow: 0 3px 8px rgba(0,0,0,0.10); }
.rsg-page .ai-tools-strip .ats-chip.openai .ats-dot { background: #10A37F; }
.rsg-page .ai-tools-strip .ats-chip.gemini .ats-dot { background: linear-gradient(135deg, #4285F4, #9333EA); }
.rsg-page .ai-tools-strip .ats-chip.perplexity .ats-dot { background: #20B8CD; }
.rsg-page .ai-tools-strip .ats-chip.claude .ats-dot { background: #D97757; }
/* AI insight cards (replaces simple bulleted list) */
.rsg-page .ai-insights { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 0 0 32px; }
.rsg-page .ai-insight { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 26px 26px 22px; overflow: hidden; transition: transform .25s, box-shadow .25s, border-color .25s; display: flex; flex-direction: column; gap: 14px; }
.rsg-page .ai-insight:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0,0,0,0.07); }
.rsg-page .ai-insight::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; }
.rsg-page .ai-insight.i-blue::before { background: linear-gradient(90deg, #3B82F6, #60A5FA); }
.rsg-page .ai-insight.i-red::before { background: linear-gradient(90deg, #F87171, #FCA5A5); }
.rsg-page .ai-insight.i-green::before { background: linear-gradient(90deg, var(--green-500), #6EE7B7); }
.rsg-page .ai-insight .ai-icon { width: 48px; height: 48px; border-radius: 13px; color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsg-page .ai-insight .ai-icon svg { width: 24px; height: 24px; }
.rsg-page .ai-insight.i-blue .ai-icon { background: linear-gradient(135deg, #3B82F6, #1D4ED8); box-shadow: 0 10px 24px rgba(59,130,246,0.28); }
.rsg-page .ai-insight.i-red .ai-icon { background: linear-gradient(135deg, #F87171, #EF4444); box-shadow: 0 10px 24px rgba(239,68,68,0.28); }
.rsg-page .ai-insight.i-green .ai-icon { background: linear-gradient(135deg, var(--green-500), var(--green-700)); box-shadow: 0 10px 24px rgba(32,157,80,0.28); }
.rsg-page .ai-insight .ai-headline { font-family: var(--font-display); font-size: 16.5px; font-weight: 800; color: var(--ink-900); line-height: 1.35; margin: 0; letter-spacing: -0.005em; }
.rsg-page .ai-insight p { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--ink-2); }
.rsg-page .ai-profile-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.rsg-page .ai-profile-chips .apc { background: var(--paper-soft); border: 1px solid var(--line-2); padding: 3px 9px; border-radius: 999px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.08em; font-weight: 700; color: var(--ink-700); }
/* AI dashboard frame (Google search screenshot) */
.rsg-page .ai-dashboard { position: relative; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,0.08), 0 0 0 1px var(--line); margin: 24px 0 32px; }
.rsg-page .ai-dashboard-bar { display: flex; align-items: center; justify-content: space-between; padding: 12px 18px; background: #F8FAFC; border-bottom: 1px solid #E2E8F0; }
.rsg-page .ai-dashboard-bar .ad-dots { display: flex; gap: 6px; }
.rsg-page .ai-dashboard-bar .ad-dots span { width: 10px; height: 10px; border-radius: 50%; }
.rsg-page .ai-dashboard-bar .ad-dots .d1 { background: #FF5F56; }
.rsg-page .ai-dashboard-bar .ad-dots .d2 { background: #FFBD2E; }
.rsg-page .ai-dashboard-bar .ad-dots .d3 { background: #27C93F; }
.rsg-page .ai-dashboard-bar .ad-label { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: #64748B; font-weight: 700; }
.rsg-page .ai-dashboard-bar .ad-query { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: #1D4ED8; font-weight: 700; }
.rsg-page .ai-dashboard-bar .ad-query::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #1D4ED8; }
.rsg-page .ai-dashboard img { display: block; width: 100%; height: auto; }

/* Truth About Reviews section redesign */
.rsg-page .rating-compare { display: grid; grid-template-columns: 1fr 140px 1fr; gap: 18px; align-items: stretch; margin: 0 0 32px; }
.rsg-page .rc-card { padding: 26px 28px; border-radius: 18px; border: 1px solid var(--line); background: #fff; display: flex; flex-direction: column; gap: 12px; position: relative; overflow: hidden; transition: transform .25s, box-shadow .25s; box-shadow: 0 6px 18px rgba(0,0,0,0.04); }
.rsg-page .rc-card:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0,0,0,0.08); }



.rsg-page .rc-card .rc-label { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; }
.rsg-page .rc-card.rc-yelp .rc-label { color: var(--green-700); }
.rsg-page .rc-card.rc-google .rc-label { color: var(--green-700); }
.rsg-page .rc-card .rc-rating { font-family: var(--font-display); font-size: clamp(36px, 4vw, 52px); font-weight: 800; color: var(--ink-900); line-height: 1; letter-spacing: -0.02em; display: flex; align-items: baseline; gap: 6px; }
.rsg-page .rc-card .rc-rating .rc-stars { color: #FBBF24; font-size: 0.7em; }
.rsg-page .rc-card.rc-yelp .rc-rating { background: linear-gradient(135deg, var(--green-700), var(--green-500)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.rsg-page .rc-card .rc-desc { font-size: 13px; line-height: 1.55; color: var(--ink-2); margin-top: 4px; }
.rsg-page .rc-card .rc-desc strong { color: var(--ink-900); font-weight: 700; }
.rsg-page .rc-vs { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 6px; }
.rsg-page .rc-vs .rc-vs-circle { width: 48px; height: 48px; border-radius: 50%; background: var(--ink-900); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 800; font-size: 13px; letter-spacing: 0.05em; box-shadow: 0 10px 24px rgba(0,0,0,0.20); }
.rsg-page .rc-vs .rc-vs-line { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; white-space: nowrap; }
.rsg-page .rc-card.rc-yelp { background: linear-gradient(135deg, #fff 60%, rgba(32,157,80,0.06)); border-color: rgba(32,157,80,0.20); }
.rsg-page .rc-card.rc-yelp::after { content: ''; position: absolute; top: -80px; right: -80px; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(circle, rgba(32,157,80,0.10), transparent 70%); pointer-events: none; }
.rsg-page .rc-card.rc-google::after { content: ''; position: absolute; top: -80px; right: -80px; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(circle, rgba(0,0,0,0.03), transparent 70%); pointer-events: none; }
.rsg-page .rc-card .rc-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; position: relative; z-index: 1; }
.rsg-page .rc-card .rc-logo { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 20px rgba(0,0,0,0.12); position: relative; flex-shrink: 0; } .rsg-page .rc-card .rc-logo svg, .rsg-page .rc-card .rc-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.rsg-page .rc-card.rc-google .rc-logo { background: #fff; border: 1px solid var(--line); padding: 7px; box-shadow: 0 8px 20px rgba(66,133,244,0.18); }
.rsg-page .rc-card.rc-yelp .rc-logo { background: #fff; border: 1px solid var(--line); padding: 7px; box-shadow: 0 8px 20px rgba(199,0,0,0.28); }
.rsg-page .rc-card .rc-stat { display: flex; align-items: baseline; gap: 18px; flex-wrap: wrap; position: relative; z-index: 1; }
.rsg-page .rc-card .rc-stars-bar { position: relative; font-size: 22px; line-height: 1; letter-spacing: 3px; flex-shrink: 0; }
.rsg-page .rc-card .rc-stars-bar .stars-bg { color: #E5E7EB; }
.rsg-page .rc-card .rc-stars-bar .stars-fg { position: absolute; top: 0; left: 0; overflow: hidden; color: #FBBF24; white-space: nowrap; }

/* Rating + Filter explainer block */
.rsg-page .reviews-grid-v2 { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: center; margin-bottom: 36px; }
.rsg-page .reviews-grid-v2 .rg-dist { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 14px; box-shadow: 0 8px 24px rgba(0,0,0,0.04); position: relative; overflow: hidden; }

.rsg-page .reviews-grid-v2 .rg-dist img { display: block; width: 100%; height: auto; border-radius: 10px; }
.rsg-page .reviews-grid-v2 .rg-explain { padding-left: 8px; }
.rsg-page .reviews-grid-v2 .rg-explain .rg-tag { display: inline-flex; align-items: center; gap: 8px; background: rgba(32,157,80,0.10); color: var(--green-700); padding: 5px 12px; border-radius: 999px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; margin-bottom: 12px; }
.rsg-page .reviews-grid-v2 .rg-explain h3 { font-family: var(--font-display); font-size: clamp(20px, 2vw, 24px); font-weight: 800; color: var(--ink-900); margin: 0 0 10px; line-height: 1.3; letter-spacing: -0.005em; }
.rsg-page .reviews-grid-v2 .rg-explain p { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--ink-2); }
/* Yelp filtering screenshot dashboard frame */
.rsg-page .yelp-filter-frame { position: relative; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,0.08), 0 0 0 1px var(--line); margin: 0 0 32px; }
.rsg-page .yelp-filter-frame .yff-bar { display: flex; align-items: center; justify-content: space-between; padding: 12px 18px; background: #F8FAFC; border-bottom: 1px solid #E2E8F0; }
.rsg-page .yelp-filter-frame .yff-dots { display: flex; gap: 6px; }
.rsg-page .yelp-filter-frame .yff-dots span { width: 10px; height: 10px; border-radius: 50%; }
.rsg-page .yelp-filter-frame .yff-dots .d1 { background: #FF5F56; }
.rsg-page .yelp-filter-frame .yff-dots .d2 { background: #FFBD2E; }
.rsg-page .yelp-filter-frame .yff-dots .d3 { background: #27C93F; }
.rsg-page .yelp-filter-frame .yff-label { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: #64748B; font-weight: 700; }
.rsg-page .yelp-filter-frame .yff-source { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: #DC2626; font-weight: 700; }
.rsg-page .yelp-filter-frame .yff-source::before { content: ''; width: 16px; height: 16px; border-radius: 4px; background: #DC2626; display: inline-flex; align-items: center; justify-content: center; }
.rsg-page .yelp-filter-frame img { display: block; width: 100%; height: auto; }
/* Reviews insight cards (replaces bulleted list) */
.rsg-page .reviews-insights { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 0 0 32px; }
.rsg-page .ri-card { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 26px 26px 22px; overflow: hidden; transition: transform .25s, box-shadow .25s; display: flex; flex-direction: column; gap: 14px; }
.rsg-page .ri-card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0,0,0,0.07); }
.rsg-page .ri-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; }
.rsg-page .ri-card.ri-blue::before { background: linear-gradient(90deg, #3B82F6, #60A5FA); }
.rsg-page .ri-card.ri-amber::before { background: linear-gradient(90deg, #F59E0B, #FBBF24); }
.rsg-page .ri-card.ri-green::before { background: linear-gradient(90deg, var(--green-500), #6EE7B7); }
.rsg-page .ri-card .ri-icon { width: 48px; height: 48px; border-radius: 13px; color: #fff; display: flex; align-items: center; justify-content: center; }
.rsg-page .ri-card .ri-icon svg { width: 24px; height: 24px; }
.rsg-page .ri-card.ri-blue .ri-icon { background: linear-gradient(135deg, #3B82F6, #1D4ED8); box-shadow: 0 10px 24px rgba(59,130,246,0.28); }
.rsg-page .ri-card.ri-amber .ri-icon { background: linear-gradient(135deg, #F59E0B, #D97706); box-shadow: 0 10px 24px rgba(245,158,11,0.28); }
.rsg-page .ri-card.ri-green .ri-icon { background: linear-gradient(135deg, var(--green-500), var(--green-700)); box-shadow: 0 10px 24px rgba(32,157,80,0.28); }
.rsg-page .ri-card .ri-headline { font-family: var(--font-display); font-size: 16.5px; font-weight: 800; color: var(--ink-900); line-height: 1.35; margin: 0; letter-spacing: -0.005em; }
.rsg-page .ri-card p { margin: 0; font-size: 13.5px; line-height: 1.65; color: var(--ink-2); }

/* Why Choose Us section redesign */
.rsg-page .choose-stats-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 0 0 36px; }
.rsg-page .css-tile { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; overflow: hidden; transition: transform .25s, box-shadow .25s; }
.rsg-page .css-tile:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(0,0,0,0.05); }
.rsg-page .css-tile .css-icon { width: 32px; height: 32px; border-radius: 9px; background: var(--green-50); color: var(--green-700); display: flex; align-items: center; justify-content: center; margin-bottom: 10px; }
.rsg-page .css-tile .css-icon svg { width: 16px; height: 16px; }
.rsg-page .css-tile .css-num { font-family: var(--font-display); font-size: clamp(24px, 2.4vw, 30px); font-weight: 800; color: var(--ink-900); line-height: 1; letter-spacing: -0.02em; }
.rsg-page .css-tile .css-lbl { display: block; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; margin-top: 6px; }
/* Differentiator cards */
.rsg-page .diff-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 0 0 40px; }
.rsg-page .diff-card { position: relative; border-radius: 20px; padding: 30px 32px; overflow: hidden; transition: transform .25s, box-shadow .25s; }
.rsg-page .diff-card:hover { transform: translateY(-3px); }
.rsg-page .diff-card.dc-light { background: #fff; border: 1px solid var(--line); box-shadow: 0 8px 24px rgba(0,0,0,0.04); }
.rsg-page .diff-card.dc-dark { background: var(--dark-grad); color: #fff; border: 1px solid rgba(255,255,255,0.08); box-shadow: 0 16px 40px rgba(0,0,0,0.20); }
.rsg-page .diff-card.dc-dark::before { content: ''; position: absolute; top: -100px; right: -100px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(32,157,80,0.20), transparent 65%); pointer-events: none; }
.rsg-page .diff-card.dc-light::before { content: ''; position: absolute; top: -80px; right: -80px; width: 240px; height: 240px; border-radius: 50%; background: radial-gradient(circle, rgba(32,157,80,0.06), transparent 70%); pointer-events: none; }
.rsg-page .diff-card .dc-head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; position: relative; z-index: 1; }
.rsg-page .diff-card .dc-icon { width: 46px; height: 46px; border-radius: 13px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; }
.rsg-page .diff-card .dc-icon svg { width: 22px; height: 22px; }
.rsg-page .diff-card.dc-light .dc-icon { background: linear-gradient(135deg, var(--green-500), var(--green-700)); box-shadow: 0 10px 24px rgba(32,157,80,0.28); }
.rsg-page .diff-card.dc-dark .dc-icon { background: linear-gradient(135deg, #FF1A1A, #C70000); box-shadow: 0 10px 24px rgba(199,0,0,0.30); }
.rsg-page .diff-card .dc-tag { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; border-radius: 999px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; }
.rsg-page .diff-card.dc-light .dc-tag { background: var(--green-50); color: var(--green-700); }
.rsg-page .diff-card.dc-dark .dc-tag { background: rgba(32,157,80,0.20); color: var(--green-500); border: 1px solid rgba(32,157,80,0.30); }
.rsg-page .diff-card .dc-title { font-family: var(--font-display); font-size: clamp(20px, 2vw, 24px); font-weight: 800; line-height: 1.25; margin: 0 0 14px; letter-spacing: -0.01em; position: relative; z-index: 1; }
.rsg-page .diff-card.dc-light .dc-title { color: var(--ink-900); }
.rsg-page .diff-card.dc-dark .dc-title { color: #fff; }
.rsg-page .diff-card .dc-lead { font-size: 14px; line-height: 1.65; margin: 0 0 18px; position: relative; z-index: 1; }
.rsg-page .diff-card.dc-light .dc-lead { color: var(--ink-2); }
.rsg-page .diff-card.dc-dark .dc-lead { color: rgba(255,255,255,0.78); }
.rsg-page .diff-card .dc-checks { display: flex; flex-direction: column; gap: 12px; list-style: none; padding: 0; margin: 0; position: relative; z-index: 1; }
.rsg-page .diff-card .dc-checks li { display: grid; grid-template-columns: 26px 1fr; gap: 12px; align-items: flex-start; font-size: 13.5px; line-height: 1.55; }
.rsg-page .diff-card.dc-light .dc-checks li { color: var(--ink-2); }
.rsg-page .diff-card.dc-dark .dc-checks li { color: rgba(255,255,255,0.85); }
.rsg-page .diff-card .dc-checks .check { width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }
.rsg-page .diff-card.dc-light .dc-checks .check { background: var(--green-50); color: var(--green-700); }
.rsg-page .diff-card.dc-dark .dc-checks .check { background: rgba(32,157,80,0.20); color: var(--green-500); }
.rsg-page .diff-card .dc-checks .check svg { width: 12px; height: 12px; stroke-width: 3; }
.rsg-page .diff-card .dc-checks li strong { color: inherit; font-weight: 700; }
.rsg-page .diff-card.dc-light .dc-checks li strong { color: var(--ink-900); }
.rsg-page .diff-card.dc-dark .dc-checks li strong { color: #fff; }
/* Yelp-vs-Google scale comparison callout */
.rsg-page .scale-callout { position: relative; background: var(--dark-grad); color: #fff; border-radius: 22px; padding: 36px 40px; overflow: hidden; border: 1px solid rgba(255,255,255,0.08); box-shadow: 0 24px 60px rgba(0,0,0,0.30); margin: 0 0 32px; }
.rsg-page .scale-callout::before { content: ''; position: absolute; top: -120px; right: -120px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(32,157,80,0.18), transparent 65%); pointer-events: none; }
.rsg-page .scale-callout::after { content: ''; position: absolute; bottom: -100px; left: -100px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(32,157,80,0.08), transparent 65%); pointer-events: none; }
.rsg-page .scale-callout .sc-head { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; position: relative; z-index: 1; }
.rsg-page .scale-callout .sc-tag { display: inline-flex; align-items: center; gap: 8px; background: rgba(32,157,80,0.18); color: var(--green-500); padding: 6px 14px; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; border: 1px solid rgba(32,157,80,0.30); }
.rsg-page .scale-callout .sc-grid { display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: center; padding: 24px 28px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.10); border-radius: 16px; margin-bottom: 22px; position: relative; z-index: 1; }
.rsg-page .scale-callout .sc-platform { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.rsg-page .scale-callout .sc-platform.right { align-items: flex-end; }
.rsg-page .scale-callout .sc-name { display: inline-flex; align-items: center; gap: 8px; padding: 5px 11px; background: rgba(255,255,255,0.08); border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.75); font-weight: 700; }
.rsg-page .scale-callout .sc-name .sc-dot { width: 8px; height: 8px; border-radius: 50%; }
.rsg-page .scale-callout .sc-name.yelp .sc-dot { background: #FF1A1A; box-shadow: 0 0 8px #FF1A1A; }
.rsg-page .scale-callout .sc-name.google .sc-dot { background: linear-gradient(135deg, #4285F4, #34A853); }
.rsg-page .scale-callout .sc-amount { font-family: var(--font-display); font-weight: 800; line-height: 1; letter-spacing: -0.03em; }
.rsg-page .scale-callout .sc-platform.yelp .sc-amount { font-size: clamp(32px, 3.4vw, 44px); color: #fff; }
.rsg-page .scale-callout .sc-platform.google .sc-amount { font-size: clamp(48px, 6vw, 72px); background: linear-gradient(135deg, #fff 30%, #9CA3AF); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.rsg-page .scale-callout .sc-bar { display: block; height: 6px; border-radius: 999px; }
.rsg-page .scale-callout .sc-platform.yelp .sc-bar { background: linear-gradient(90deg, #FF1A1A, #C70000); width: 60px; }
.rsg-page .scale-callout .sc-platform.google .sc-bar { background: linear-gradient(90deg, #4285F4, #EA4335 30%, #FBBC04 60%, #34A853); width: 220px; max-width: 100%; }
.rsg-page .scale-callout .sc-multiplier { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.rsg-page .scale-callout .sc-multiplier .sc-mult-num { font-family: var(--font-display); font-size: 38px; font-weight: 800; line-height: 1; letter-spacing: -0.02em; background: linear-gradient(135deg, var(--green-500), #6EE7B7); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.rsg-page .scale-callout .sc-multiplier .sc-mult-lbl { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.55); font-weight: 700; text-align: center; }
.rsg-page .scale-callout .sc-body { font-size: 14.5px; line-height: 1.7; color: rgba(255,255,255,0.82); margin: 0 0 18px; position: relative; z-index: 1; }
.rsg-page .scale-callout .sc-body strong { color: #fff; font-weight: 700; }
.rsg-page .scale-callout .sc-glove { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; background: rgba(32,157,80,0.18); border: 1px solid rgba(32,157,80,0.30); border-radius: 999px; color: var(--green-500); font-family: var(--font-display); font-size: 13px; font-weight: 700; position: relative; z-index: 1; }
.rsg-page .scale-callout .sc-glove svg { width: 14px; height: 14px; }

/* What Happens On Your Account section redesign */
.rsg-page .profile-setup-card { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 32px 36px; overflow: hidden; box-shadow: 0 8px 24px rgba(0,0,0,0.04); margin: 0 0 32px; }
.rsg-page .profile-setup-card::before { content: ''; position: absolute; top: -100px; right: -100px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(32,157,80,0.10), transparent 65%); pointer-events: none; }
.rsg-page .profile-setup-card .psc-head { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; position: relative; z-index: 1; }
.rsg-page .profile-setup-card .psc-icon { width: 56px; height: 56px; border-radius: 16px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 12px 28px rgba(32,157,80,0.28); flex-shrink: 0; }
.rsg-page .profile-setup-card .psc-icon svg { width: 28px; height: 28px; }
.rsg-page .profile-setup-card .psc-tag { display: inline-flex; align-items: center; gap: 8px; background: var(--green-50); color: var(--green-700); padding: 6px 14px; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; }
.rsg-page .profile-setup-card .psc-title { font-family: var(--font-display); font-size: clamp(20px, 2.2vw, 26px); font-weight: 800; color: var(--ink-900); margin: 0 0 10px; line-height: 1.3; letter-spacing: -0.01em; position: relative; z-index: 1; }
.rsg-page .profile-setup-card .psc-lead { font-size: 15px; line-height: 1.65; color: var(--ink-2); margin: 0 0 22px; position: relative; z-index: 1; }
.rsg-page .profile-setup-card .psc-checks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; position: relative; z-index: 1; }
.rsg-page .profile-setup-card .psc-check { background: var(--paper-soft); border: 1px solid var(--line-2); border-radius: 14px; padding: 16px 18px; transition: border-color .25s, background .25s; }
.rsg-page .profile-setup-card .psc-check:hover { border-color: rgba(32,157,80,0.25); background: #fff; }
.rsg-page .profile-setup-card .psc-check .check-badge { width: 30px; height: 30px; border-radius: 10px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: flex; align-items: center; justify-content: center; margin-bottom: 10px; box-shadow: 0 6px 14px rgba(32,157,80,0.22); }
.rsg-page .profile-setup-card .psc-check .check-badge svg { width: 14px; height: 14px; stroke-width: 3; }
.rsg-page .profile-setup-card .psc-check strong { display: block; color: var(--ink-900); font-family: var(--font-display); font-size: 14.5px; font-weight: 800; margin-bottom: 6px; line-height: 1.3; }
.rsg-page .profile-setup-card .psc-check p { margin: 0; font-size: 13px; line-height: 1.55; color: var(--ink-2); }
.rsg-page .cadence-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 0 0 36px; }
.rsg-page .cadence-card { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 26px 28px 22px; overflow: hidden; transition: transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .cadence-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0,0,0,0.08); }
.rsg-page .cadence-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; }
.rsg-page .cadence-card.cc-amber::before { background: linear-gradient(90deg, #F59E0B, #FBBF24); }
.rsg-page .cadence-card.cc-blue::before { background: linear-gradient(90deg, #3B82F6, #60A5FA); }
.rsg-page .cadence-card.cc-green::before { background: linear-gradient(90deg, var(--green-500), #6EE7B7); }
.rsg-page .cadence-card::after { content: ''; position: absolute; top: -60px; right: -60px; width: 180px; height: 180px; border-radius: 50%; pointer-events: none; }
.rsg-page .cadence-card.cc-amber::after { background: radial-gradient(circle, rgba(245,158,11,0.10), transparent 70%); }
.rsg-page .cadence-card.cc-blue::after { background: radial-gradient(circle, rgba(59,130,246,0.10), transparent 70%); }
.rsg-page .cadence-card.cc-green::after { background: radial-gradient(circle, rgba(32,157,80,0.10), transparent 70%); }
.rsg-page .cadence-card .cc-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; position: relative; z-index: 1; }
.rsg-page .cadence-card .cc-icon { width: 52px; height: 52px; border-radius: 15px; color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsg-page .cadence-card .cc-icon svg { width: 26px; height: 26px; }
.rsg-page .cadence-card.cc-amber .cc-icon { background: linear-gradient(135deg, #F59E0B, #D97706); box-shadow: 0 12px 28px rgba(245,158,11,0.28); }
.rsg-page .cadence-card.cc-blue .cc-icon { background: linear-gradient(135deg, #3B82F6, #1D4ED8); box-shadow: 0 12px 28px rgba(59,130,246,0.28); }
.rsg-page .cadence-card.cc-green .cc-icon { background: linear-gradient(135deg, var(--green-500), var(--green-700)); box-shadow: 0 12px 28px rgba(32,157,80,0.28); }
.rsg-page .cadence-card .cc-tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; white-space: nowrap; }
.rsg-page .cadence-card.cc-amber .cc-tag { background: rgba(245,158,11,0.12); color: #B45309; }
.rsg-page .cadence-card.cc-blue .cc-tag { background: rgba(59,130,246,0.10); color: #1D4ED8; }
.rsg-page .cadence-card.cc-green .cc-tag { background: var(--green-50); color: var(--green-700); }
.rsg-page .cadence-card .cc-title { font-family: var(--font-display); font-size: 20px; font-weight: 800; color: var(--ink-900); margin: 0 0 16px; line-height: 1.3; letter-spacing: -0.005em; position: relative; z-index: 1; }
.rsg-page .cadence-card .cc-tasks { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; position: relative; z-index: 1; }
.rsg-page .cadence-card .cc-tasks li { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: flex-start; font-size: 13.5px; line-height: 1.55; color: var(--ink-2); padding-bottom: 12px; border-bottom: 1px solid var(--line-2); }
.rsg-page .cadence-card .cc-tasks li:last-child { border-bottom: 0; padding-bottom: 0; }
.rsg-page .cadence-card .cc-tasks li::before { content: ''; width: 8px; height: 8px; border-radius: 50%; margin-top: 7px; }
.rsg-page .cadence-card.cc-amber .cc-tasks li::before { background: #F59E0B; box-shadow: 0 0 0 3px rgba(245,158,11,0.18); }
.rsg-page .cadence-card.cc-blue .cc-tasks li::before { background: #3B82F6; box-shadow: 0 0 0 3px rgba(59,130,246,0.18); }
.rsg-page .cadence-card.cc-green .cc-tasks li::before { background: var(--green-500); box-shadow: 0 0 0 3px rgba(32,157,80,0.18); }

/* Partnership section redesign --- compact 2x2 commit cards */
.rsg-page .partnership-hero { position: relative; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,0.06), 0 0 0 1px var(--line); margin: 0 0 28px; }
.rsg-page .partnership-hero .ph-bar { display: flex; align-items: center; justify-content: space-between; padding: 12px 18px; background: #F8FAFC; border-bottom: 1px solid #E2E8F0; }
.rsg-page .partnership-hero .ph-dots { display: flex; gap: 6px; }
.rsg-page .partnership-hero .ph-dots span { width: 10px; height: 10px; border-radius: 50%; }
.rsg-page .partnership-hero .ph-dots .d1 { background: #FF5F56; }
.rsg-page .partnership-hero .ph-dots .d2 { background: #FFBD2E; }
.rsg-page .partnership-hero .ph-dots .d3 { background: #27C93F; }
.rsg-page .partnership-hero .ph-label { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: #64748B; font-weight: 700; }
.rsg-page .partnership-hero .ph-source { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: #DC2626; font-weight: 700; }
.rsg-page .partnership-hero img { display: block; width: 100%; height: auto; }
.rsg-page .partnership-intro { font-size: 16px; line-height: 1.65; color: var(--ink-2); margin: 0 0 32px; max-width: 980px; text-wrap: pretty; }
.rsg-page .commit-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin: 0 0 32px; }
.rsg-page .commit-card { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; transition: transform .25s, box-shadow .25s; display: flex; flex-direction: column; }
.rsg-page .commit-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0,0,0,0.08); }
.rsg-page .commit-card .com-strip { height: 4px; width: 100%; }
.rsg-page .commit-card.com-amber .com-strip { background: linear-gradient(90deg, #F59E0B, #FBBF24); }
.rsg-page .commit-card.com-green .com-strip { background: linear-gradient(90deg, var(--green-500), #6EE7B7); }
.rsg-page .commit-card.com-blue .com-strip { background: linear-gradient(90deg, #3B82F6, #60A5FA); }
.rsg-page .commit-card.com-red .com-strip { background: linear-gradient(90deg, #F87171, #FCA5A5); }
.rsg-page .commit-card .com-shot { background: var(--paper-soft); aspect-ratio: 16/9; overflow: hidden; position: relative; }
.rsg-page .commit-card .com-shot img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
/* Weekly Review mockup graphic */
.rsg-page .wr-mock { width: 100%; height: 100%; background: linear-gradient(180deg, #F8FAFC 0%, #EEF4F1 100%); padding: 16px 18px; display: grid; grid-template-rows: auto auto auto auto; gap: 12px; font-family: var(--font-display); }
.rsg-page .wr-mock .wr-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.rsg-page .wr-mock .wr-head-left { display: flex; align-items: center; gap: 10px; min-width: 0; }
.rsg-page .wr-mock .wr-head-badge { width: 30px; height: 30px; border-radius: 50%; background: var(--green-500); color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsg-page .wr-mock .wr-head-badge svg { width: 16px; height: 16px; }
.rsg-page .wr-mock .wr-head-left strong { display: block; font-size: 13px; font-weight: 800; color: var(--ink-900); line-height: 1.2; }
.rsg-page .wr-mock .wr-head-left span { display: block; font-family: var(--font-mono); font-size: 9px; font-weight: 700; color: var(--ink-700); letter-spacing: 0.12em; text-transform: uppercase; margin-top: 2px; }
.rsg-page .wr-mock .wr-confirmed { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; background: #fff; border: 1px solid var(--green-500); border-radius: 999px; font-family: var(--font-mono); font-size: 9px; font-weight: 700; color: var(--green-700); letter-spacing: 0.12em; text-transform: uppercase; flex-shrink: 0; }
.rsg-page .wr-mock .wr-confirmed-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green-500); }
.rsg-page .wr-mock .wr-days { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.rsg-page .wr-mock .wr-day { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 8px 4px; text-align: center; }
.rsg-page .wr-mock .wr-day-lbl { display: block; font-family: var(--font-mono); font-size: 8px; font-weight: 700; color: var(--ink-700); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 2px; }
.rsg-page .wr-mock .wr-day-num { display: block; font-family: var(--font-display); font-size: 18px; font-weight: 800; color: var(--ink-900); line-height: 1; }
.rsg-page .wr-mock .wr-day-active { background: linear-gradient(135deg, var(--green-500), var(--green-700)); border-color: var(--green-700); box-shadow: 0 4px 12px rgba(44,122,75,0.30); }
.rsg-page .wr-mock .wr-day-active .wr-day-lbl { color: rgba(255,255,255,0.75); }
.rsg-page .wr-mock .wr-day-active .wr-day-num { color: #fff; }
.rsg-page .wr-mock .wr-slot { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; background: #fff; border: 1.5px solid var(--green-500); border-radius: 10px; padding: 10px 14px; position: relative; overflow: hidden; }
.rsg-page .wr-mock .wr-slot::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--green-500); }
.rsg-page .wr-mock .wr-slot-time strong { display: block; font-family: var(--font-display); font-size: 18px; font-weight: 800; color: var(--ink-900); line-height: 1; }
.rsg-page .wr-mock .wr-slot-time span { display: block; font-size: 10px; font-weight: 600; color: var(--ink-2); margin-top: 3px; }
.rsg-page .wr-mock .wr-slot-info { border-left: 1px solid var(--line); padding-left: 14px; min-width: 0; }
.rsg-page .wr-mock .wr-slot-info strong { display: block; font-family: var(--font-display); font-size: 12.5px; font-weight: 700; color: var(--ink-900); line-height: 1.2; }
.rsg-page .wr-mock .wr-slot-info span { display: block; font-family: var(--font-body); font-size: 10.5px; color: var(--ink-2); margin-top: 3px; line-height: 1.35; }
.rsg-page .wr-mock .wr-slot-cta { padding: 6px 14px; background: var(--green-500); color: #fff; border-radius: 999px; font-family: var(--font-display); font-size: 10px; font-weight: 700; letter-spacing: 0.04em; flex-shrink: 0; text-transform: uppercase; }
.rsg-page .wr-mock .wr-stats { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 12px; }
.rsg-page .wr-mock .wr-stat { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; }
.rsg-page .wr-mock .wr-stat-lbl { display: block; font-family: var(--font-mono); font-size: 8px; font-weight: 700; color: var(--ink-700); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 6px; }
.rsg-page .wr-mock .wr-bars { display: flex; gap: 4px; align-items: flex-end; height: 26px; }
.rsg-page .wr-mock .wr-bars span { flex: 1; background: linear-gradient(180deg, var(--green-500), var(--green-700)); border-radius: 2px; min-height: 30%; }
.rsg-page .wr-mock .wr-att { display: flex; align-items: baseline; gap: 6px; }
.rsg-page .wr-mock .wr-att strong { font-family: var(--font-display); font-size: 18px; font-weight: 800; color: var(--ink-900); line-height: 1; }
.rsg-page .wr-mock .wr-att em { font-family: var(--font-body); font-size: 10px; font-weight: 600; font-style: normal; color: var(--green-600); }
.rsg-page .wr-mock .wr-next strong { display: block; font-family: var(--font-display); font-size: 11.5px; font-weight: 700; color: var(--ink-900); line-height: 1.2; }
.rsg-page .wr-mock .wr-next span { display: block; font-family: var(--font-body); font-size: 9.5px; color: var(--ink-2); margin-top: 2px; }
.rsg-page .commit-card .com-body { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.rsg-page .commit-card .com-head { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.rsg-page .commit-card .com-num { width: 32px; height: 32px; border-radius: 9px; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 800; font-size: 12px; flex-shrink: 0; }
.rsg-page .commit-card.com-amber .com-num { background: linear-gradient(135deg, #F59E0B, #D97706); box-shadow: 0 6px 16px rgba(245,158,11,0.28); }
.rsg-page .commit-card.com-green .com-num { background: linear-gradient(135deg, var(--green-500), var(--green-700)); box-shadow: 0 6px 16px rgba(32,157,80,0.28); }
.rsg-page .commit-card.com-blue .com-num { background: linear-gradient(135deg, #3B82F6, #1D4ED8); box-shadow: 0 6px 16px rgba(59,130,246,0.28); }
.rsg-page .commit-card.com-red .com-num { background: linear-gradient(135deg, #F87171, #EF4444); box-shadow: 0 6px 16px rgba(239,68,68,0.28); }
.rsg-page .commit-card .com-tag { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; padding: 3px 9px; border-radius: 999px; }
.rsg-page .commit-card.com-amber .com-tag { background: rgba(245,158,11,0.12); color: #B45309; }
.rsg-page .commit-card.com-green .com-tag { background: var(--green-50); color: var(--green-700); }
.rsg-page .commit-card.com-blue .com-tag { background: rgba(59,130,246,0.10); color: #1D4ED8; }
.rsg-page .commit-card.com-red .com-tag { background: rgba(239,68,68,0.10); color: #B91C1C; }
.rsg-page .commit-card .com-title { font-family: var(--font-display); font-size: 18px; font-weight: 800; color: var(--ink-900); margin: 0; line-height: 1.3; letter-spacing: -0.005em; }
.rsg-page .commit-card p { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--ink-2); }

/* Right Partner section redesign --- fit-col-v2 (fixes badge overlap glitch) */
.rsg-page .fit-grid-v2 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 0 0 32px; }
.rsg-page .fcv-card { position: relative; border-radius: 20px; padding: 26px 28px 24px; overflow: hidden; display: flex; flex-direction: column; gap: 16px; transition: transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .fcv-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0,0,0,0.08); }
.rsg-page .fcv-card.fcv-notfit { background: #fff; border: 1px solid var(--line); }
.rsg-page .fcv-card.fcv-builtfor { background: #fff; border: 1px solid var(--line); }
.rsg-page .fcv-card.fcv-pact { background: var(--dark-grad); color: #fff; border: 1px solid rgba(255,255,255,0.08); box-shadow: 0 16px 40px rgba(0,0,0,0.20); }
.rsg-page .fcv-card.fcv-pact::before { content: ''; position: absolute; top: -80px; right: -80px; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(circle, rgba(245,184,77,0.18), transparent 70%); pointer-events: none; }
.rsg-page .fcv-card.fcv-notfit::before { content: ''; position: absolute; top: -60px; right: -60px; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle, rgba(239,68,68,0.08), transparent 70%); pointer-events: none; }
.rsg-page .fcv-card.fcv-builtfor::before { content: ''; position: absolute; top: -60px; right: -60px; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle, rgba(32,157,80,0.08), transparent 70%); pointer-events: none; }
.rsg-page .fcv-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; position: relative; z-index: 1; }
.rsg-page .fcv-icon { width: 48px; height: 48px; border-radius: 13px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; }
.rsg-page .fcv-icon svg { width: 24px; height: 24px; stroke-width: 2.5; }
.rsg-page .fcv-card.fcv-notfit .fcv-icon { background: linear-gradient(135deg, #F87171, #EF4444); box-shadow: 0 10px 24px rgba(239,68,68,0.28); }
.rsg-page .fcv-card.fcv-builtfor .fcv-icon { background: linear-gradient(135deg, var(--green-500), var(--green-700)); box-shadow: 0 10px 24px rgba(32,157,80,0.28); }
.rsg-page .fcv-card.fcv-pact .fcv-icon { background: linear-gradient(135deg, #F5B84D, #DC9632); box-shadow: 0 10px 24px rgba(245,184,77,0.32); }
.rsg-page .fcv-tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; white-space: nowrap; }
.rsg-page .fcv-card.fcv-notfit .fcv-tag { background: rgba(239,68,68,0.10); color: #B91C1C; }
.rsg-page .fcv-card.fcv-builtfor .fcv-tag { background: var(--green-50); color: var(--green-700); }
.rsg-page .fcv-card.fcv-pact .fcv-tag { background: rgba(245,184,77,0.18); color: #F5B84D; border: 1px solid rgba(245,184,77,0.32); }
.rsg-page .fcv-title { font-family: var(--font-display); font-size: 18px; font-weight: 800; line-height: 1.3; margin: 0; letter-spacing: -0.005em; position: relative; z-index: 1; padding-bottom: 14px; border-bottom: 1px solid var(--line-2); }
.rsg-page .fcv-card.fcv-notfit .fcv-title, .rsg-page .fcv-card.fcv-builtfor .fcv-title { color: var(--ink-900); }
.rsg-page .fcv-card.fcv-pact .fcv-title { color: #fff; border-bottom-color: rgba(255,255,255,0.12); }
.rsg-page .fcv-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; position: relative; z-index: 1; }
.rsg-page .fcv-list li { display: grid; grid-template-columns: 16px 1fr; gap: 12px; align-items: flex-start; font-size: 13.5px; line-height: 1.55; }
.rsg-page .fcv-card.fcv-notfit .fcv-list li, .rsg-page .fcv-card.fcv-builtfor .fcv-list li { color: var(--ink-2); }
.rsg-page .fcv-card.fcv-pact .fcv-list li { color: rgba(255,255,255,0.82); }
.rsg-page .fcv-list li::before { content: ''; width: 7px; height: 7px; border-radius: 50%; margin-top: 7px; }
.rsg-page .fcv-card.fcv-notfit .fcv-list li::before { background: #EF4444; box-shadow: 0 0 0 3px rgba(239,68,68,0.18); }
.rsg-page .fcv-card.fcv-builtfor .fcv-list li::before { background: var(--green-500); box-shadow: 0 0 0 3px rgba(32,157,80,0.18); }
.rsg-page .fcv-card.fcv-pact .fcv-list li::before { background: #F5B84D; box-shadow: 0 0 0 3px rgba(245,184,77,0.24); }
@media (max-width: 880px) { .rsg-page .fit-grid-v2 { grid-template-columns: 1fr; } }

@media (max-width: 880px) {
  .rsg-page .commit-grid { grid-template-columns: 1fr; }
}

@media (max-width: 880px) {
  .rsg-page .profile-setup-card { padding: 26px; }
  .rsg-page .profile-setup-card .psc-checks { grid-template-columns: 1fr; }
  .rsg-page .cadence-grid { grid-template-columns: 1fr; }
}

@media (max-width: 880px) {
  .rsg-page .choose-stats-strip { grid-template-columns: repeat(2, 1fr); }
  .rsg-page .diff-cards { grid-template-columns: 1fr; }
  .rsg-page .scale-callout { padding: 28px 24px; }
  .rsg-page .scale-callout .sc-grid { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
  .rsg-page .scale-callout .sc-platform.right { align-items: flex-start; }
}


@media (max-width: 880px) {
  .rsg-page .rating-compare { grid-template-columns: 1fr; gap: 12px; }
  .rsg-page .rating-compare .rc-vs { flex-direction: row; gap: 12px; margin: 0; padding: 4px 0; }
  .rsg-page .reviews-grid-v2 { grid-template-columns: 1fr; gap: 24px; }
  .rsg-page .reviews-insights { grid-template-columns: 1fr; }
}
@media (max-width: 880px) {
  .rsg-page .ai-insights { grid-template-columns: 1fr; }
  .rsg-page .ai-tools-strip { gap: 8px; padding: 14px 16px; }
}
/* Scenario persona cards */
.rsg-page .scenarios-section { margin-top: 56px; }
.rsg-page .scenarios-head { margin-bottom: 24px; max-width: 880px; }
.rsg-page .scenarios-head .sh-tag { display: inline-flex; align-items: center; gap: 8px; background: rgba(32,157,80,0.10); color: var(--green-700); padding: 5px 12px; border-radius: 999px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; margin-bottom: 14px; }
.rsg-page .scenarios-head h3 { font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 28px); font-weight: 800; color: var(--ink-900); margin: 0; letter-spacing: -0.01em; line-height: 1.25; }
.rsg-page .scenarios-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.rsg-page .scenario-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px 24px 22px; transition: transform .25s, border-color .25s, box-shadow .25s; position: relative; overflow: hidden; }
.rsg-page .scenario-card:hover { transform: translateY(-2px); border-color: rgba(32,157,80,0.25); box-shadow: 0 12px 32px rgba(0,0,0,0.06); }
.rsg-page .scenario-card .sc-step { font-family: var(--font-display); font-size: 32px; font-weight: 800; color: var(--ink-900); opacity: 0.08; position: absolute; top: 14px; right: 18px; letter-spacing: -0.02em; line-height: 1; }
.rsg-page .scenario-card .sc-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; color: #fff; box-shadow: 0 8px 20px rgba(0,0,0,0.10); }
.rsg-page .scenario-card .sc-icon svg { width: 24px; height: 24px; }
.rsg-page .scenario-card.s-amber .sc-icon { background: linear-gradient(135deg, #F59E0B, #D97706); box-shadow: 0 8px 20px rgba(245,158,11,0.25); }
.rsg-page .scenario-card.s-blue .sc-icon { background: linear-gradient(135deg, #3B82F6, #1D4ED8); box-shadow: 0 8px 20px rgba(59,130,246,0.25); }
.rsg-page .scenario-card.s-green .sc-icon { background: linear-gradient(135deg, var(--green-500), var(--green-700)); box-shadow: 0 8px 20px rgba(32,157,80,0.25); }
.rsg-page .scenario-card p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--ink-2); }
/* 90-day onboarding callout */
.rsg-page .onboarding-callout { position: relative; margin-top: 56px; padding: 36px 40px; background: linear-gradient(135deg, #F4F9F5 0%, #E9F1EB 100%); color: var(--ink-900); border-radius: 22px; overflow: hidden; border: 1px solid rgba(44,122,75,0.18); box-shadow: 0 18px 44px rgba(20,62,37,0.08); }
.rsg-page .onboarding-callout::before { content: ''; position: absolute; top: -120px; right: -120px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(44,122,75,0.16), transparent 65%); pointer-events: none; }
.rsg-page .onboarding-callout::after { content: ''; position: absolute; bottom: -100px; left: -100px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(44,122,75,0.08), transparent 65%); pointer-events: none; }
.rsg-page .onboarding-callout .ob-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 36px; align-items: center; position: relative; z-index: 1; }
.rsg-page .onboarding-callout .ob-tag { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: var(--green-700); padding: 6px 14px; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; border: 1px solid rgba(44,122,75,0.25); margin-bottom: 16px; box-shadow: 0 2px 6px rgba(20,62,37,0.05); }
.rsg-page .onboarding-callout .ob-body { color: var(--ink-2); font-size: 15px; line-height: 1.7; margin: 0 0 20px; }
.rsg-page .onboarding-callout .ob-body strong { color: var(--ink-900); font-weight: 700; }
.rsg-page .onboarding-callout .ob-cta { display: inline-flex; align-items: center; gap: 10px; background: var(--green-500); color: #fff; padding: 13px 26px; border-radius: 999px; font-family: var(--font-display); font-weight: 700; font-size: 14px; text-decoration: none; box-shadow: 0 10px 24px rgba(44,122,75,0.30); transition: transform .25s, box-shadow .25s; }
.rsg-page .onboarding-callout .ob-cta:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(44,122,75,0.40); }
.rsg-page .onboarding-callout .ob-cta svg { width: 16px; height: 16px; }
.rsg-page .onboarding-callout .ob-timeline { display: flex; flex-direction: column; gap: 16px; }
.rsg-page .onboarding-callout .ob-phase { display: grid; grid-template-columns: 56px 1fr; gap: 16px; align-items: center; padding: 16px 18px; background: #fff; border: 1px solid rgba(44,122,75,0.15); border-radius: 14px; position: relative; box-shadow: 0 4px 12px rgba(20,62,37,0.04); }
.rsg-page .onboarding-callout .ob-phase::before { content: ''; position: absolute; left: 39px; top: -16px; height: 16px; width: 2px; background: linear-gradient(180deg, transparent, rgba(44,122,75,0.40)); }
.rsg-page .onboarding-callout .ob-phase:first-child::before { display: none; }
.rsg-page .onboarding-callout .ob-phase .ob-num { width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 800; line-height: 1; box-shadow: 0 6px 14px rgba(44,122,75,0.28); }
.rsg-page .onboarding-callout .ob-phase .ob-num strong { font-size: 16px; }
.rsg-page .onboarding-callout .ob-phase .ob-num span { font-family: var(--font-mono); font-size: 8px; letter-spacing: 0.10em; text-transform: uppercase; margin-top: 1px; opacity: 0.85; }
.rsg-page .onboarding-callout .ob-phase .ob-info strong { display: block; color: var(--ink-900); font-family: var(--font-display); font-size: 15px; font-weight: 700; margin-bottom: 2px; }
.rsg-page .onboarding-callout .ob-phase .ob-info span { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-2); font-weight: 700; }
@media (max-width: 880px) {
  .rsg-page .speed-hero { grid-template-columns: 1fr; padding: 24px; gap: 20px; }
  .rsg-page .speed-hero .sh-bar { grid-template-columns: 88px 1fr 80px; }
  .rsg-page .friction-grid { grid-template-columns: 1fr; }
  .rsg-page .scenarios-grid { grid-template-columns: 1fr; }
  .rsg-page .onboarding-callout { padding: 28px 24px; }
  .rsg-page .onboarding-callout .ob-grid { grid-template-columns: 1fr; gap: 28px; }
}
.rsg-page .reason-stat { margin-top: 16px; padding: 14px 16px; background: var(--paper-soft); border-radius: 10px; display: flex; justify-content: space-between; align-items: center; }
.rsg-page .reason-stat strong { font-family: var(--font-display); font-size: 22px; font-weight: 800; color: var(--green-600); }
.rsg-page .reason-stat span { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-500); font-weight: 600; max-width: 60%; text-align: right; }

/* ============================================================
   FOUNDER PROMISE (dark gradient section)
   ============================================================ */
.rsg-page .founder-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: center; }
.rsg-page .founder-checks { list-style: none; padding: 0; margin: 28px 0 28px; display: grid; gap: 22px; }
.rsg-page .founder-checks li { display: flex; gap: 16px; font-size: 14.5px; color: rgba(255,255,255,0.72); line-height: 1.6; align-items: flex-start; }
.rsg-page .founder-checks svg { width: 22px; height: 22px; color: var(--green-500); flex-shrink: 0; margin-top: 2px; }
.rsg-page .founder-checks li strong { color: #fff; display: block; margin-bottom: 4px; font-family: var(--font-display); font-size: 15.5px; font-weight: 700; }
/* Green callout box (inspiration style) */
.rsg-page .founder-callout { background: rgba(32,157,80,0.12); border: 1px solid rgba(32,157,80,0.35); border-radius: 12px; padding: 18px 22px; margin: 8px 0 28px; }
.rsg-page .founder-callout strong { display: block; color: #fff; font-family: var(--font-display); font-size: 16px; font-weight: 700; margin-bottom: 4px; }
.rsg-page .founder-callout span { display: block; color: var(--green-500); font-size: 14.5px; line-height: 1.55; }
/* "A NOTE FROM THE FOUNDER" green pill badge above video frame */
.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(32,157,80,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 .founder-quote { background: rgba(255,255,255,0.06); border-left: 3px solid var(--green-500); padding: 18px 22px; border-radius: 0 12px 12px 0; font-size: 14px; line-height: 1.7; color: rgba(255,255,255,0.86); margin-bottom: 24px; }
.rsg-page .founder-quote span { display: block; margin-top: 8px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-500); font-weight: 700; }

.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 { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; background: #000; }
.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-embed { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 4; display: block; }
.rsg-page .video-frame .vf-label { position: absolute; bottom: 18px; left: 18px; right: 18px; color: #fff; font-family: var(--font-display); font-size: 13px; font-weight: 600; opacity: 0.9; }
.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; }

/* ============================================================
   HOW YELP WORKS &mdash; screenshot + comparison
   ============================================================ */
.rsg-page .how-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
.rsg-page .how-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px; }
.rsg-page .how-card h3 { font-size: 16px; margin-bottom: 14px; display: flex; align-items: center; gap: 10px; }
.rsg-page .how-card h3 .badge-sponsored { padding: 4px 10px; background: var(--orange-500); color: #fff; border-radius: 6px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; font-weight: 700; text-transform: uppercase; }
.rsg-page .how-card h3 .badge-form { padding: 4px 10px; background: var(--green-500); color: #fff; border-radius: 6px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; font-weight: 700; text-transform: uppercase; }
.rsg-page .how-shot { aspect-ratio: 16/9; border-radius: var(--radius-md); overflow: hidden; background: var(--paper-soft); border: 1px solid var(--line); margin-bottom: 0; }
.rsg-page .how-shot img { width: 100%; height: 100%; object-fit: cover; }
.rsg-page .how-card p { font-size: 13px; margin: 0; }

/* Ã‚Â§4 section vertical compaction */
.rsg-page #how-lsa-vs-channels { padding: 64px 0; }
.rsg-page #how-lsa-vs-channels .section-header { margin-bottom: 32px; }
.rsg-page #how-lsa-vs-channels .lede { max-width: 760px; margin-top: 10px; }
.rsg-page #how-lsa-vs-channels .yelp-workflow-grid { margin-bottom: 20px; }
.rsg-page #how-lsa-vs-channels .how-card { padding: 22px 22px 18px; padding-top: 26px; }
.rsg-page #how-lsa-vs-channels .how-card h3 { font-size: 14px; margin-bottom: 10px; }
.rsg-page #how-lsa-vs-channels .info-cards-grid { margin: 0 auto 20px; }
.rsg-page #how-lsa-vs-channels .info-stat-card { padding: 24px 26px 22px; gap: 14px; }
.rsg-page #how-lsa-vs-channels .info-stat-card .isc-icon { width: 50px; height: 50px; border-radius: 14px; }
.rsg-page #how-lsa-vs-channels .info-stat-card .isc-icon svg { width: 23px; height: 23px; }
.rsg-page #how-lsa-vs-channels .info-stat-card .isc-title { font-size: 18px; }
.rsg-page #how-lsa-vs-channels .section-header .lede { max-width: 1100px; }
.rsg-page #how-lsa-vs-channels .info-stat-card p { font-size: 13.5px; line-height: 1.6; }
.rsg-page #how-lsa-vs-channels .info-stat-card .isc-stat { padding: 12px 18px; }
.rsg-page #how-lsa-vs-channels .info-stat-card .isc-stat strong { font-size: 26px; }
.rsg-page #how-lsa-vs-channels .channel-cmp { padding: 20px 24px; margin: 0 auto 20px; }
.rsg-page #how-lsa-vs-channels .channel-cmp h4 { font-size: 16px; margin-bottom: 14px; padding-bottom: 10px; }
.rsg-page #how-lsa-vs-channels .ch-header { padding: 0 12px 8px; margin-bottom: 4px; }
.rsg-page #how-lsa-vs-channels .channel-row { padding: 11px 12px; }
.rsg-page #how-lsa-vs-channels .channel-row.featured { padding-left: 22px; padding-right: 22px; padding-top: 12px; padding-bottom: 12px; margin: 4px -12px; }
.rsg-page #how-lsa-vs-channels .channel-row .ch-icon { width: 32px; height: 32px; font-size: 12px; }
.rsg-page #how-lsa-vs-channels .channel-row .ch-name { font-size: 14px; }
.rsg-page #how-lsa-vs-channels .channel-row .ch-pricing { font-size: 11.5px; }
.rsg-page #how-lsa-vs-channels .channel-row .ch-cpl { font-size: 14px; }
.rsg-page #how-lsa-vs-channels .math-grid { margin: 0 auto 10px; }
.rsg-page #how-lsa-vs-channels .math-card { padding: 16px 18px; gap: 8px; }
.rsg-page #how-lsa-vs-channels .math-card .mc-head { padding-bottom: 6px; margin-bottom: 2px; }
.rsg-page #how-lsa-vs-channels .math-card .mc-head strong { font-size: 14px; }
.rsg-page #how-lsa-vs-channels .math-card .mc-eq { padding: 7px 12px; }
.rsg-page #how-lsa-vs-channels .math-card .mc-eq span { font-size: 11px; }
.rsg-page #how-lsa-vs-channels .math-card .mc-result { padding: 12px 14px; }
.rsg-page #how-lsa-vs-channels .math-card .mc-result strong { font-size: 26px; }
.rsg-page #how-lsa-vs-channels .math-conclusion { padding: 14px 22px; gap: 14px; }
.rsg-page #how-lsa-vs-channels .math-conclusion p { font-size: 13px; }
/* ============================================================
   Ã‚Â§4 ENHANCEMENTS &mdash; workflow steps, stat cards, channel cmp, math
   ============================================================ */
.rsg-page .yelp-workflow-grid { display: grid; grid-template-columns: 1fr 72px 1fr; gap: 14px; align-items: stretch; margin: 0 auto 28px; width: 100%; }
.rsg-page .yelp-workflow-grid .how-card { position: relative; padding-top: 28px; }
.rsg-page .how-card .step-badge { position: absolute; top: -14px; left: 22px; background: var(--ink-900); 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: 2; box-shadow: 0 6px 16px rgba(0,0,0,0.18); }
/* WORKFLOW CARD REDESIGN &mdash; bigger step number header strip */
.rsg-page .yelp-workflow-grid .how-card { background: linear-gradient(180deg, #fff 0%, var(--paper-soft) 100%); border: 1px solid var(--line); border-radius: 18px; padding: 0; overflow: hidden; box-shadow: 0 10px 28px rgba(0,0,0,0.08), 0 2px 6px rgba(0,0,0,0.04); transition: transform .25s ease, box-shadow .25s ease; position: relative; padding-top: 0 !important; }
.rsg-page .yelp-workflow-grid .how-card:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(32,157,80,0.12), 0 4px 12px rgba(0,0,0,0.06); }
.rsg-page .yelp-workflow-grid .how-card .step-badge { position: static; display: none; }
.rsg-page .yelp-workflow-grid .how-card .ws-head { display: grid; grid-template-columns: 72px 1fr; gap: 16px; padding: 18px 22px 16px; border-bottom: 1px solid var(--line-2); background: linear-gradient(135deg, rgba(32,157,80,0.06), transparent 60%); align-items: center; }
.rsg-page .yelp-workflow-grid .how-card .ws-num { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; border-right: 1px solid var(--line-2); padding-right: 16px; }
.rsg-page .yelp-workflow-grid .how-card .ws-num small { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--green-700); font-weight: 700; margin-bottom: 4px; }
.rsg-page .yelp-workflow-grid .how-card .ws-num strong { font-family: var(--font-display); font-size: 36px; font-weight: 800; color: var(--ink-900); letter-spacing: -0.03em; line-height: 1; }
.rsg-page .yelp-workflow-grid .how-card .ws-meta { display: flex; flex-direction: column; gap: 6px; }
.rsg-page .yelp-workflow-grid .how-card .ws-meta h4 { margin: 0; font-size: 16px; font-weight: 800; color: var(--ink-900); line-height: 1.25; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rsg-page .yelp-workflow-grid .how-card .ws-meta h4 .badge-sponsored,
.rsg-page .yelp-workflow-grid .how-card .ws-meta h4 .badge-form { padding: 3px 8px; font-size: 9px; }
.rsg-page .yelp-workflow-grid .how-card .ws-meta span.ws-sub { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; color: var(--ink-500); font-weight: 600; }
.rsg-page .yelp-workflow-grid .how-card .how-shot { margin: 0; border: 0; border-radius: 0; aspect-ratio: 16/9; background: #fff; }
.rsg-page .yelp-workflow-grid .how-card .how-shot img { object-fit: contain; padding: 14px; background: var(--paper-soft); }

/* WORKFLOW CONNECTOR BADGE */
.rsg-page .yelp-workflow-arrow { position: relative; display: flex; align-items: center; justify-content: center; }
.rsg-page .yelp-workflow-arrow::before { content: ""; position: absolute; left: 4px; right: 4px; top: 50%; height: 0; border-top: 2px dashed rgba(32,157,80,0.35); transform: translateY(-50%); z-index: 1; }
.rsg-page .yelp-workflow-arrow .ywa-line { display: none; }
.rsg-page .yelp-workflow-arrow .ywa-badge { width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 24px rgba(32,157,80,0.32), 0 0 0 6px rgba(32,157,80,0.10); position: relative; z-index: 2; }
.rsg-page .yelp-workflow-arrow .ywa-badge svg { width: 22px; height: 22px; }
.rsg-page .yelp-workflow-arrow .ywa-label { position: absolute; bottom: -22px; left: 50%; transform: translateX(-50%); font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-700); font-weight: 700; white-space: nowrap; z-index: 3; background: var(--paper); padding: 0 6px; }
/* Insight cards &mdash; redesigned (numbered, gradient icon, decorative blob, hover lift) */
.rsg-page .info-cards-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 1040px; margin: 0 auto 28px; }
.rsg-page .info-stat-card { background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 28px 30px 26px; position: relative; overflow: hidden; box-shadow: 0 8px 24px rgba(0,0,0,0.04); transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.rsg-page .info-stat-card:hover { transform: translateY(-3px); box-shadow: 0 20px 48px rgba(0,0,0,0.10); border-color: rgba(32,157,80,0.30); }
.rsg-page .info-stat-card::before { content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 5px; background: linear-gradient(180deg, var(--green-500), var(--green-700)); }
.rsg-page .info-stat-card::after { content: ""; position: absolute; top: -60px; right: -60px; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(circle, rgba(32,157,80,0.09), rgba(32,157,80,0.02) 50%, transparent 75%); pointer-events: none; }
.rsg-page .info-stat-card .isc-head { display: contents; }
.rsg-page .info-stat-card .isc-icon { width: 52px; height: 52px; border-radius: 14px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 12px 28px rgba(32,157,80,0.28); float: right; margin: 0 0 14px 18px; position: relative; z-index: 2; }
.rsg-page .info-stat-card .isc-icon::before { content: ""; position: absolute; inset: 0; border-radius: 16px; background: linear-gradient(135deg, rgba(255,255,255,0.25), transparent 50%); pointer-events: none; }
.rsg-page .info-stat-card .isc-icon svg { width: 26px; height: 26px; position: relative; z-index: 1; }
.rsg-page .info-stat-card .isc-title { font-family: var(--font-display); font-size: 20px; font-weight: 800; color: var(--ink-900); line-height: 1.28; margin: 0 0 14px; letter-spacing: -0.005em; position: relative; z-index: 1; }
.rsg-page .info-stat-card .isc-stat { display: inline-flex; align-items: baseline; gap: 12px; padding: 14px 20px; background: linear-gradient(135deg, rgba(32,157,80,0.08), rgba(32,157,80,0.14)); border-radius: 12px; border: 1px solid rgba(32,157,80,0.22); position: relative; z-index: 1; margin: 0 0 14px; }
.rsg-page .info-stat-card .isc-stat strong { font-family: var(--font-display); font-size: 30px; font-weight: 800; color: var(--green-700); letter-spacing: -0.02em; line-height: 1; }
.rsg-page .info-stat-card .isc-stat span { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-700); font-weight: 700; }
.rsg-page .info-stat-card p { margin: 0; font-size: 14px; color: var(--ink-2); line-height: 1.65; position: relative; z-index: 1; }

/* Channel comparison (replaces plain HTML table) */
.rsg-page .channel-cmp { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 22px 28px; max-width: 1040px; margin: 0 auto 24px; box-shadow: var(--shadow-md); }
.rsg-page .channel-cmp h4 { font-family: var(--font-display); font-size: 19px; margin: 0 0 20px; padding-bottom: 14px; border-bottom: 2px solid var(--ink-900); display: flex; align-items: center; justify-content: space-between; }
.rsg-page .channel-cmp h4 small { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); border: 0; padding: 0; }
.rsg-page .ch-header { display: grid; grid-template-columns: 40px 1fr 1fr 130px 150px; gap: 16px; padding: 0 12px 12px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); border-bottom: 1px solid var(--line-2); margin-bottom: 6px; }
.rsg-page .channel-row { display: grid; grid-template-columns: 40px 1fr 1fr 130px 150px; gap: 16px; align-items: center; padding: 14px 12px; border-bottom: 1px solid var(--line-2); position: relative; transition: background .2s; }
.rsg-page .channel-row:last-child { border-bottom: 0; }
.rsg-page .channel-row.featured { background: var(--green-50); margin: 6px -12px 6px; padding-left: 24px; padding-right: 24px; border-radius: 12px; border: 1px solid rgba(32,157,80,0.28); }
.rsg-page .channel-row .ch-icon { width: 36px; height: 36px; border-radius: 9px; display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 13px; flex-shrink: 0; box-shadow: 0 4px 10px rgba(0,0,0,0.08); }
.rsg-page .channel-row .ch-icon.yelp { background: linear-gradient(135deg, #FF1A1A, #C70000); }
.rsg-page .channel-row .ch-icon.lsa { background: #fff; border: 1px solid var(--line-2); padding: 4px; }
.rsg-page .channel-row .ch-icon.ppc { background: linear-gradient(135deg, #4285F4, #34A853); }
.rsg-page .channel-row .ch-icon.meta { background: linear-gradient(135deg, #1877F2, #0A5BCB); }
.rsg-page .channel-row .ch-name { font-family: var(--font-display); font-size: 15px; font-weight: 700; color: var(--ink-900); }
.rsg-page .channel-row .ch-pricing { font-family: var(--font-mono); font-size: 12px; color: var(--ink-700); font-weight: 600; letter-spacing: 0.02em; }
.rsg-page .channel-row .ch-cpl { font-family: var(--font-display); font-size: 15px; font-weight: 800; color: var(--ink-900); text-align: left; letter-spacing: -0.01em; }
.rsg-page .channel-row.featured .ch-cpl { color: var(--green-700); }
.rsg-page .channel-row .ch-mode { padding: 6px 12px; border-radius: 999px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.08em; font-weight: 700; text-transform: uppercase; display: inline-block; white-space: nowrap; }
.rsg-page .channel-row .ch-mode.compare { background: rgba(32,157,80,0.18); color: var(--green-700); }
.rsg-page .channel-row .ch-mode.urgent { background: rgba(231,138,44,0.18); color: var(--orange-500); }
.rsg-page .channel-row .ch-mode.active { background: rgba(66,133,244,0.14); color: #1E5BC4; }
.rsg-page .channel-row .ch-mode.discovery { background: rgba(107,107,107,0.12); color: var(--ink-700); }

/* Channel comparison table (Notion-style: channels as rows, attributes as columns) */
.rsg-page .channel-cmp-v2 { background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; max-width: 1040px; margin: 0 auto 24px; box-shadow: var(--shadow-md); }
.rsg-page .channel-cmp-v2 .cmp-caption { padding: 16px 22px; font-family: var(--font-display); font-size: 14.5px; font-weight: 800; color: var(--ink-900); background: #fff; border-bottom: 2px solid var(--ink-900); display: flex; align-items: center; justify-content: space-between; }
.rsg-page .channel-cmp-v2 .cmp-caption .cmp-sub { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; }
.rsg-page .channel-cmp-v2 table { width: 100%; border-collapse: collapse; }
.rsg-page .channel-cmp-v2 th, .rsg-page .channel-cmp-v2 td { padding: 16px 20px; text-align: left; border-bottom: 1px solid var(--line-2); font-size: 14px; vertical-align: middle; }
.rsg-page .channel-cmp-v2 tr:last-child td, .rsg-page .channel-cmp-v2 tr:last-child th { border-bottom: 0; }
.rsg-page .channel-cmp-v2 thead th { background: var(--paper-soft); padding: 14px 20px; font-family: var(--font-mono); font-weight: 700; font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-700); border-bottom: 2px solid var(--ink-900); }
.rsg-page .channel-cmp-v2 tbody th { font-family: var(--font-display); font-size: 15px; font-weight: 800; color: var(--ink-900); width: 290px; white-space: nowrap; }
.rsg-page .channel-cmp-v2 tbody th .ch-icon { display: inline-flex; vertical-align: middle; margin-right: 10px; width: 30px; height: 30px; border-radius: 8px; align-items: center; justify-content: center; background: #FFFFFF; padding: 5px; box-shadow: 0 2px 6px rgba(0,0,0,0.08), 0 0 0 1px rgba(0,0,0,0.05); }
.rsg-page .channel-cmp-v2 .ch-icon svg, .rsg-page .channel-cmp-v2 .ch-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }



.rsg-page .channel-cmp-v2 tbody td { color: var(--ink-2); }
.rsg-page .channel-cmp-v2 .ch-cpl-val { font-family: var(--font-display); font-size: 15px; font-weight: 800; color: var(--ink-900); letter-spacing: -0.01em; }
.rsg-page .channel-cmp-v2 tr.featured-row { background: rgba(32,157,80,0.07); position: relative; box-shadow: inset 4px 0 0 var(--green-500); }
.rsg-page .channel-cmp-v2 tr.featured-row th { color: var(--green-700); position: relative; }
.rsg-page .channel-cmp-v2 tr.featured-row th .feat-pill { display: inline-flex; align-items: center; gap: 4px; margin-left: 10px; background: var(--green-500); color: #fff; padding: 3px 8px 3px 7px; border-radius: 999px; font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; vertical-align: middle; white-space: nowrap; box-shadow: 0 3px 8px rgba(32,157,80,0.30); }
.rsg-page .channel-cmp-v2 tr.featured-row th .feat-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 2px rgba(255,255,255,0.4); }
.rsg-page .channel-cmp-v2 tr.featured-row th .ch-name { display: inline-flex; align-items: center; gap: 0; white-space: nowrap; }
.rsg-page .channel-cmp-v2 tr.featured-row td .ch-cpl-val { color: var(--green-700); }
.rsg-page .channel-cmp-v2 .ch-mode { display: inline-block; padding: 5px 11px; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.10em; font-weight: 700; text-transform: uppercase; white-space: nowrap; }
.rsg-page .channel-cmp-v2 .ch-mode.compare { background: rgba(32,157,80,0.18); color: var(--green-700); }
.rsg-page .channel-cmp-v2 .ch-mode.urgent { background: rgba(231,138,44,0.18); color: var(--orange-500); }
.rsg-page .channel-cmp-v2 .ch-mode.active { background: rgba(66,133,244,0.14); color: #1E5BC4; }
.rsg-page .channel-cmp-v2 .ch-mode.discovery { background: rgba(107,107,107,0.12); color: var(--ink-700); }

@media (max-width: 768px) {
  .rsg-page .channel-cmp-v2 { overflow-x: auto; }
  .rsg-page .channel-cmp-v2 table { min-width: 720px; }
  .rsg-page .channel-cmp-v2 th, .rsg-page .channel-cmp-v2 td { padding: 12px 14px; font-size: 13px; }
}
/* Math comparison cards */
.rsg-page .math-grid { display: grid; grid-template-columns: 1fr 60px 1fr; gap: 16px; align-items: stretch; max-width: 1040px; margin: 0 auto 14px; }
.rsg-page .math-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 20px 22px; box-shadow: var(--shadow-md); display: flex; flex-direction: column; gap: 10px; position: relative; }
.rsg-page .math-card.yelp { border-top: 4px solid var(--green-500); }
.rsg-page .math-card.lsa { border-top: 4px solid var(--orange-500); }
.rsg-page .math-card .mc-head { display: flex; align-items: center; gap: 10px; padding-bottom: 8px; border-bottom: 1px solid var(--line-2); margin-bottom: 4px; }
.rsg-page .math-card .mc-head .mc-dot { width: 30px; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: #FFFFFF; padding: 5px; flex-shrink: 0; box-shadow: 0 2px 6px rgba(0,0,0,0.08), 0 0 0 1px rgba(0,0,0,0.05); } .rsg-page .math-card .mc-dot svg, .rsg-page .math-card .mc-dot img { display: block; width: 100%; height: 100%; object-fit: contain; }


.rsg-page .math-card .mc-head strong { font-family: var(--font-display); font-size: 15px; color: var(--ink-900); font-weight: 800; }
.rsg-page .math-card .mc-eq { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; background: var(--paper-soft); border-radius: 8px; }
.rsg-page .math-card .mc-eq span { font-family: var(--font-mono); font-size: 11.5px; color: var(--ink-700); font-weight: 600; letter-spacing: 0.02em; }
.rsg-page .math-card .mc-eq .mc-op { font-family: var(--font-display); font-weight: 800; color: var(--ink-900); font-size: 16px; }
.rsg-page .math-card .mc-result { padding: 16px 18px; border-radius: 10px; text-align: center; margin-top: auto; }
.rsg-page .math-card.yelp .mc-result { background: var(--green-50); border: 1px solid rgba(32,157,80,0.22); }
.rsg-page .math-card.lsa .mc-result { background: rgba(231,138,44,0.10); border: 1px solid rgba(231,138,44,0.22); }
.rsg-page .math-card .mc-result strong { display: block; font-family: var(--font-display); font-size: 32px; font-weight: 800; line-height: 1; letter-spacing: -0.02em; }
.rsg-page .math-card.yelp .mc-result strong { color: var(--green-700); }
.rsg-page .math-card.lsa .mc-result strong { color: var(--orange-500); }
.rsg-page .math-card .mc-result span { display: block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; margin-top: 6px; }
.rsg-page .math-vs { display: flex; align-items: center; justify-content: center; }
.rsg-page .math-vs span { font-family: var(--font-display); font-size: 13px; font-weight: 800; color: var(--ink-700); letter-spacing: 0.04em; background: #fff; border: 1.5px solid var(--line); width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-md); }
.rsg-page .math-conclusion { background: var(--paper-soft); color: var(--ink-2); border: 1px solid var(--line-2); border-left: 5px solid var(--green-500); border-radius: 10px; padding: 14px 26px 14px 22px; max-width: 1040px; margin: 0 auto; display: flex; align-items: center; gap: 14px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
.rsg-page .math-conclusion .mc-tag { background: rgba(32,157,80,0.15); color: var(--green-700); width: 36px; height: 36px; padding: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsg-page .math-conclusion .mc-tag svg { width: 20px; height: 20px; }
.rsg-page .math-conclusion p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--ink-2); }
.rsg-page .math-conclusion p strong { color: var(--ink-900); font-weight: 800; }
.rsg-page .math-conclusion p em { font-style: italic; color: var(--ink-2); }
.rsg-page .math-conclusion.mc-with-cta { padding: 12px 12px 12px 22px; gap: 16px; flex-wrap: wrap; }
.rsg-page .math-conclusion.mc-with-cta p { flex: 1 1 auto; min-width: 240px; }
.rsg-page .math-conclusion .mc-cta-btn { margin-left: auto; align-self: center; padding: 8px 16px; font-size: 12px; border-radius: 999px; display: inline-flex; align-items: center; white-space: nowrap; flex-shrink: 0; line-height: 1.2; }
.rsg-page .math-conclusion .mc-cta-btn svg { width: 14px !important; height: 14px !important; margin-right: 6px !important; }
@media (max-width: 720px) {
  .rsg-page .math-conclusion.mc-with-cta { flex-direction: column; align-items: flex-start; padding: 16px 18px; }
  .rsg-page .math-conclusion .mc-cta-btn { margin-left: 0; width: 100%; justify-content: center; }
}

@media (max-width: 1024px) {
  .rsg-page .yelp-workflow-grid { grid-template-columns: 1fr; gap: 32px; }
  .rsg-page .yelp-workflow-arrow { display: none; }
  .rsg-page .info-cards-grid { grid-template-columns: 1fr; }
  .rsg-page .channel-row, .rsg-page .ch-header { grid-template-columns: 40px 1fr 110px 130px; gap: 12px; }
  .rsg-page .channel-row .ch-pricing, .rsg-page .ch-header > span:nth-child(3) { display: none; }
  .rsg-page .math-grid { grid-template-columns: 1fr; gap: 16px; }
  .rsg-page .math-vs { display: none; }
  .rsg-page .math-conclusion { flex-direction: column; align-items: flex-start; }
}
/* ============================================================
   PERCENT BREAKDOWN BAR (Pattern 17)
   ============================================================ */
.rsg-page .pct-bar { max-width: 880px; margin: 0 auto; }
.rsg-page .pb-labels { display: flex; margin-bottom: 10px; }
.rsg-page .pb-lbl { padding: 0 6px; }
.rsg-page .pb-lbl strong { display: block; font-family: var(--font-display); font-size: 26px; font-weight: 800; color: var(--ink-900); line-height: 1; }
.rsg-page .pb-lbl span { display: block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-500); margin-top: 4px; font-weight: 700; }
.rsg-page .pb-track { display: flex; height: 56px; border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-md); }
.rsg-page .pb-seg { display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 15px; letter-spacing: -0.01em; }
.rsg-page .pb-seg.red { background: linear-gradient(135deg, var(--red), #9F1219); }
.rsg-page .pb-seg.orange { background: linear-gradient(135deg, var(--orange-500), #C46E1A); }
.rsg-page .pb-seg.green { background: linear-gradient(135deg, var(--green-500), var(--green-700)); }
.rsg-page .pb-caption { margin-top: 14px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; color: var(--ink-500); text-align: left; font-weight: 600; }

/* ============================================================
   COMPARISON TABLES (Pattern 19)
   ============================================================ */
.rsg-page .cmp-stack { display: grid; gap: 24px; }
.rsg-page .cmp-table { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px; }
.rsg-page .cmp-head h4 { font-family: var(--font-display); font-size: 18px; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 2px solid var(--ink-900); }
.rsg-page .cmp-grid { display: grid; grid-template-columns: 130px 1fr 1fr; gap: 0; }
.rsg-page .cmp-col-head { padding: 14px 12px; background: var(--paper-soft); font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: var(--ink-900); border-bottom: 1px solid var(--line); }
.rsg-page .cmp-blank { background: var(--paper-soft); border-bottom: 1px solid var(--line); }
.rsg-page .cmp-key { padding: 14px 12px; background: var(--paper-soft); font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-700); font-weight: 700; border-bottom: 1px solid var(--line-2); }
.rsg-page .cmp-val { padding: 14px 16px; font-size: 14px; color: var(--ink-2); border-bottom: 1px solid var(--line-2); }
.rsg-page .cmp-val.highlight { background: var(--green-50); color: var(--green-700); font-weight: 600; }
.rsg-page .cmp-note { margin: 18px 0 0; font-size: 14px; color: var(--ink-2); }

/* ============================================================
   CHANNEL SETUP TIMELINE (Pattern 29)
   ============================================================ */
.rsg-page .setup-timeline { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px; box-shadow: var(--shadow-md); }
.rsg-page .st-row { display: grid; grid-template-columns: 130px 1fr 90px; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line-2); }
.rsg-page .st-row:last-child { border-bottom: 0; }
.rsg-page .str-name { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); font-weight: 700; font-size: 14px; color: var(--ink-900); }
.rsg-page .str-name i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.rsg-page .str-bar { height: 14px; background: var(--paper-soft); border-radius: 7px; overflow: hidden; position: relative; }
.rsg-page .str-fill { height: 100%; border-radius: 7px; transition: width 1s ease; }
.rsg-page .str-fill.yelp { width: 14%; background: linear-gradient(90deg, var(--green-500), var(--green-700)); }
.rsg-page .str-fill.ppc { width: 28%; background: linear-gradient(90deg, #4285F4, #1E5BC4); }
.rsg-page .str-fill.meta { width: 28%; background: linear-gradient(90deg, #1877F2, #0A5BCB); }
.rsg-page .str-fill.lsa { width: 100%; background: linear-gradient(90deg, var(--orange-500), var(--red)); }
.rsg-page .str-dur { font-family: var(--font-mono); font-size: 12px; font-weight: 700; color: var(--ink-900); text-align: right; }
.rsg-page .st-tip { padding: 14px 16px; background: var(--green-50); border-radius: 10px; margin-top: 16px; font-size: 13px; color: var(--green-700); }
.rsg-page .st-tip strong { color: var(--green-700); }

/* ============================================================
   BRAND INSIGHTS AI TABLE (Pattern 3)
   ============================================================ */
.rsg-page .brand-insights { background: #000; border-radius: var(--radius-lg); padding: 24px; color: #fff; box-shadow: var(--shadow-lg); }
.rsg-page .brand-insights header { display: flex; align-items: center; gap: 10px; padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,0.1); margin-bottom: 8px; }
.rsg-page .bi-icon { width: 36px; height: 36px; border-radius: 8px; background: linear-gradient(135deg, #8B5CF6, #A78BFA); display: inline-flex; align-items: center; justify-content: center; font-size: 18px; }
.rsg-page .brand-insights h4 { color: #fff; flex: 1; font-size: 18px; margin: 0; }
.rsg-page .bi-tag { background: rgba(255,255,255,0.1); padding: 4px 10px; border-radius: 999px; font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.rsg-page .bi-table { width: 100%; border-collapse: collapse; }
.rsg-page .bi-table th { text-align: left; padding: 12px 8px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.5); font-weight: 600; border-bottom: 1px solid rgba(255,255,255,0.08); }
.rsg-page .bi-table td { padding: 14px 8px; font-size: 14px; border-bottom: 1px solid rgba(255,255,255,0.06); color: rgba(255,255,255,0.85); }
.rsg-page .bi-table tr:last-child td { border-bottom: 0; }
.rsg-page .bi-plat { display: inline-block; width: 24px; height: 24px; border-radius: 50%; line-height: 24px; text-align: center; margin-right: 10px; font-size: 14px; color: #fff; font-weight: 700; }
.rsg-page .bi-plat.gemini { background: linear-gradient(135deg, #4285F4, #34A853); }
.rsg-page .bi-plat.chatgpt { background: #10A37F; }
.rsg-page .bi-plat.perplexity { background: #1A1A1A; border: 1px solid rgba(255,255,255,0.2); }
.rsg-page .bi-plat.grok { background: #000; border: 1px solid rgba(255,255,255,0.3); }
.rsg-page .bi-plat.copilot { background: linear-gradient(135deg, #00A4EF, #0078D4); }
.rsg-page .bi-plat.google { background: #fff; color: #4285F4; }
.rsg-page .bi-table td u { text-decoration: underline; text-decoration-color: rgba(255,255,255,0.3); }
.rsg-page .bi-emoji { margin-left: 10px; }
.rsg-page .bi-emoji.good { color: #22C55E; }
.rsg-page .bi-emoji.bad { color: #F97316; }

/* ============================================================
   RATING DISTRIBUTION + Google Business Profile PROFILE (Pattern 13 + 31)
   ============================================================ */
.rsg-page .reviews-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px; align-items: start; }
.rsg-page .rating-dist { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px; }
.rsg-page .rd-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 14px; border-bottom: 1px solid var(--line-2); margin-bottom: 14px; }
.rsg-page .rd-top h5 { font-size: 14px; margin: 0; }
.rsg-page .rd-score { display: flex; align-items: baseline; gap: 6px; }
.rsg-page .rd-score strong { font-family: var(--font-display); font-size: 32px; font-weight: 800; color: var(--ink-900); }
.rsg-page .rd-score span { color: var(--orange-500); font-size: 18px; letter-spacing: 1px; }
.rsg-page .rd-row { display: grid; grid-template-columns: 36px 1fr 50px; gap: 12px; align-items: center; margin-bottom: 10px; }
.rsg-page .rd-star { font-size: 13px; color: var(--ink-500); font-weight: 600; }
.rsg-page .rd-bar { height: 10px; background: var(--paper-soft); border-radius: 5px; overflow: hidden; }
.rsg-page .rd-fill { height: 100%; background: linear-gradient(90deg, var(--green-500), var(--green-600)); border-radius: 5px; }
.rsg-page .rd-pct { font-size: 12px; color: var(--ink-700); font-weight: 700; text-align: right; }
.rsg-page .rd-note { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line-2); font-size: 13px; color: var(--ink-2); }
.rsg-page .rd-note strong { color: var(--green-700); }

.rsg-page .gbp-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 22px; box-shadow: var(--shadow-md); }
.rsg-page .gbp-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.rsg-page .gbp-title { font-family: var(--font-display); font-weight: 700; font-size: 14px; color: var(--ink-900); }
.rsg-page .gbp-strength { font-family: var(--font-mono); font-size: 11px; color: var(--ink-500); }
.rsg-page .gbp-strength strong { color: var(--green-700); font-weight: 700; }
.rsg-page .gbp-tabs { display: flex; gap: 14px; padding: 12px 0; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); overflow-x: auto; }
.rsg-page .gbp-tabs::-webkit-scrollbar { display: none; }
.rsg-page .gbp-tab { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em; color: var(--ink-500); white-space: nowrap; font-weight: 600; padding: 4px 0; border-bottom: 2px solid transparent; }
.rsg-page .gbp-tab.active { color: var(--ink-900); border-bottom-color: var(--green-500); }
.rsg-page .gbp-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 14px 0; }
.rsg-page .gbp-stat { background: var(--paper-soft); border-radius: 10px; padding: 12px 10px; text-align: center; }
.rsg-page .gbp-stat strong { display: block; font-family: var(--font-display); font-size: 18px; font-weight: 800; color: var(--ink-900); line-height: 1; }
.rsg-page .gbp-stat span { display: block; font-family: var(--font-mono); font-size: 8px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-500); margin-top: 6px; font-weight: 600; }
.rsg-page .gbp-mini-chart { padding: 12px 14px; background: var(--paper-soft); border-radius: 10px; margin-bottom: 14px; }
.rsg-page .gbp-mini-chart .gmc-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.rsg-page .gbp-mini-chart .gmc-row span:first-child { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-700); font-weight: 700; }
.rsg-page .gbp-mini-chart .gmc-row span:last-child { font-family: var(--font-display); font-size: 13px; font-weight: 700; color: var(--green-700); }
.rsg-page .gbp-mini-chart svg { width: 100%; height: 36px; display: block; }
.rsg-page .gbp-foot { padding-top: 4px; }
.rsg-page .gbp-foot strong { display: block; font-family: var(--font-display); font-size: 15px; color: var(--ink-900); }
.rsg-page .gbp-rate { display: block; font-size: 12px; color: var(--ink-700); margin: 2px 0; }
.rsg-page .gbp-rate b { color: var(--orange-500); }
.rsg-page .gbp-cat { display: block; font-size: 11px; color: var(--ink-500); margin-bottom: 10px; }
.rsg-page .gbp-verify { display: inline-flex; align-items: center; gap: 5px; font-family: var(--font-mono); font-size: 10px; color: var(--green-700); font-weight: 700; letter-spacing: 0.04em; padding: 4px 10px; background: var(--green-50); border-radius: 999px; }
.rsg-page .gbp-verify svg { width: 13px; height: 13px; color: var(--green-500); }

/* ============================================================
   RISK CARDS (Pattern 24)
   ============================================================ */
.rsg-page .risk-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--grid-gap); }
.rsg-page .risk-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--card-pad-lg); position: relative; overflow: hidden; }
.rsg-page .risk-card .rc-bg-num { position: absolute; top: 4px; right: 18px; font-family: var(--font-display); font-size: 80px; font-weight: 800; color: var(--ink-900); opacity: 0.05; line-height: 1; }
.rsg-page .rc-sev { display: inline-block; padding: 5px 12px; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; margin-bottom: 14px; }
.rsg-page .rc-sev.high { background: rgba(200,32,43,0.1); color: var(--red); }
.rsg-page .rc-sev.med { background: rgba(231,138,44,0.12); color: var(--orange-500); }
.rsg-page .rc-sev.low { background: var(--green-50); color: var(--green-700); }
.rsg-page .risk-card h3 { font-size: 19px; margin-bottom: 12px; }
.rsg-page .risk-card p { font-size: 14px; }
.rsg-page .rc-move { margin-top: 16px; padding: 14px 16px; background: var(--paper-soft); border-left: 3px solid var(--green-500); border-radius: 0 10px 10px 0; }
.rsg-page .rc-move-tag { display: block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-700); font-weight: 700; margin-bottom: 6px; }
.rsg-page .rc-move p { margin: 0; font-size: 13px; color: var(--ink-2); }

/* ============================================================
   EQUATION CALLOUT (Pattern 25) &mdash; used in lead-quality section
   ============================================================ */
.rsg-page .eq-card { border-radius: var(--radius-lg); padding: 44px; text-align: center; box-shadow: var(--shadow-lg); background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); }
.rsg-page .eq-tag { display: inline-block; background: rgba(32,157,80,0.2); color: var(--green-500); padding: 6px 14px; border-radius: 999px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; margin-bottom: 24px; }
.rsg-page .eq-row { display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap; margin-bottom: 18px; }
.rsg-page .eq-wrong { font-family: var(--font-mono); font-size: 22px; color: rgba(255,255,255,0.4); font-weight: 600; }
.rsg-page .eq-wrong s { text-decoration-color: var(--red); text-decoration-thickness: 2px; }
.rsg-page .eq-arrow { font-family: var(--font-display); font-size: 28px; color: var(--green-500); }
.rsg-page .eq-right { font-family: var(--font-mono); font-size: 22px; color: var(--green-500); font-weight: 700; }
.rsg-page .eq-note { font-size: 14px; color: rgba(255,255,255,0.72); max-width: 600px; margin: 0 auto; }

.rsg-page .leadq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--grid-gap); margin-top: 40px; }
.rsg-page .leadq-card { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: var(--radius-lg); padding: var(--card-pad-lg); }
.rsg-page .leadq-card h4 { color: #fff; font-size: 18px; margin-bottom: 12px; }
.rsg-page .leadq-card p { color: rgba(255,255,255,0.75); font-size: 14px; }
.rsg-page .leadq-bars { display: grid; gap: 12px; margin-top: 16px; }
.rsg-page .leadq-bar-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: center; }
.rsg-page .leadq-bar-row .lqr-label { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; color: rgba(255,255,255,0.7); font-weight: 600; text-transform: uppercase; }
.rsg-page .leadq-bar-row .lqr-bar { height: 24px; background: rgba(255,255,255,0.08); border-radius: 6px; overflow: hidden; position: relative; display: flex; align-items: center; padding: 0 8px; }
.rsg-page .leadq-bar-row .lqr-fill { position: absolute; left: 0; top: 0; bottom: 0; background: linear-gradient(90deg, var(--green-500), var(--green-700)); border-radius: 6px; }
.rsg-page .leadq-bar-row .lqr-fill.red { background: linear-gradient(90deg, var(--red), #9F1219); }
.rsg-page .leadq-bar-row .lqr-val { position: relative; z-index: 2; font-family: var(--font-display); font-weight: 800; font-size: 13px; color: #fff; }

/* ============================================================
   VERIFIED PARTNER BADGES (Pattern 21)
   ============================================================ */
/* SPECIALIZATION &mdash; split layout (light section + dark partner card) */
.rsg-page .spec-split { display: grid; grid-template-columns: 1.1fr 0.95fr; gap: 56px; align-items: center; }
.rsg-page .spec-left .eyebrow { margin-bottom: 18px; }
.rsg-page .spec-left h2 { margin-bottom: 18px; }
.rsg-page .spec-left .lede { max-width: 520px; margin-bottom: 28px; }
.rsg-page .spec-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; padding: 22px; background: #000; border-radius: var(--radius-lg); }
.rsg-page .spec-stats .ss-tile { padding: 4px 8px; }
.rsg-page .spec-stats .ss-tile strong { display: block; font-family: var(--font-display); font-size: 28px; font-weight: 800; color: var(--green-500); line-height: 1; }
.rsg-page .spec-stats .ss-tile span { display: block; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.65); margin-top: 8px; font-weight: 700; line-height: 1.4; }

.rsg-page .cert-card { background: var(--dark-grad); border-radius: var(--radius-lg); padding: 32px; color: #fff; box-shadow: var(--shadow-lg); position: relative; overflow: hidden; }
.rsg-page .cert-card::before { content: ""; position: absolute; top: -40%; right: -20%; width: 280px; height: 280px; background: radial-gradient(circle, rgba(32,157,80,0.18), transparent 70%); pointer-events: none; }
.rsg-page .cc-tag { display: inline-block; background: rgba(32,157,80,0.18); color: var(--green-500); padding: 5px 12px; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; margin-bottom: 14px; position: relative; }
.rsg-page .cert-card h4 { font-size: 22px; color: #fff; margin-bottom: 10px; position: relative; }
.rsg-page .cert-card > p { color: rgba(255,255,255,0.7); font-size: 14px; margin-bottom: 22px; position: relative; }
.rsg-page .cc-list { display: grid; gap: 10px; margin-bottom: 22px; position: relative; }
.rsg-page .cc-row { display: grid; grid-template-columns: 44px 1fr auto; gap: 14px; align-items: center; padding: 14px 16px; background: rgba(255,255,255,0.05); border-radius: 12px; border: 1px solid rgba(255,255,255,0.08); }
.rsg-page .cc-logo { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 800; font-size: 18px; color: #fff; }
.rsg-page .cc-logo.yelp { background: linear-gradient(135deg, #FF1A1A, #C70000); }
.rsg-page .cc-logo.google { background: linear-gradient(135deg, #4285F4, #34A853); }
.rsg-page .cc-logo.meta { background: linear-gradient(135deg, #1877F2, #0A5BCB); }
.rsg-page .cc-logo.lsa { background: linear-gradient(135deg, #1A73E8, #0D47A1); font-size: 14px; }
.rsg-page .cc-info strong { display: block; font-family: var(--font-display); font-size: 14px; color: #fff; }
.rsg-page .cc-info span { display: block; font-family: var(--font-body); font-size: 12px; color: rgba(255,255,255,0.6); margin-top: 2px; }
.rsg-page .cc-verify { display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px; background: rgba(32,157,80,0.15); border: 1px solid rgba(32,157,80,0.3); border-radius: 999px; color: var(--green-500); font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; }
.rsg-page .cc-foot { color: rgba(255,255,255,0.55); font-size: 12px; font-style: italic; margin: 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.08); position: relative; }

/* ============================================================
   CASE STUDY &mdash; Google Search Console Dashboard + Lead Flow Chart
   ============================================================ */
.rsg-page .case-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.rsg-page .case-info h2 em { color: var(--green-500); }
.rsg-page .case-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 28px 0; }
.rsg-page .case-tile { padding: 18px 20px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 14px; }
.rsg-page .case-tile strong { display: block; font-family: var(--font-display); font-size: 28px; font-weight: 800; color: var(--green-500); line-height: 1; }
.rsg-page .case-tile span { display: block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.7); margin-top: 8px; font-weight: 600; }

.rsg-page .gsc-dash { background: #fff; border-radius: var(--radius-lg); padding: 24px; box-shadow: var(--shadow-lg); }

/* Maryland case study --- premium redesign */
.rsg-page .case-roi-reveal { position: relative; display: grid; grid-template-columns: 1fr 100px 1.4fr; gap: 28px; align-items: center; padding: 32px 40px; margin: 0 0 40px; background: linear-gradient(135deg, rgba(255,255,255,0.04), rgba(32,157,80,0.06)); border: 1px solid rgba(255,255,255,0.10); border-radius: 20px; overflow: hidden; }
.rsg-page .case-roi-reveal::before { content: ""; position: absolute; top: -120px; right: -120px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(32,157,80,0.20), transparent 65%); pointer-events: none; }
.rsg-page .roi-investment, .rsg-page .roi-result { display: flex; flex-direction: column; gap: 8px; position: relative; z-index: 1; }
.rsg-page .roi-investment .roi-label, .rsg-page .roi-result .roi-label { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; }
.rsg-page .roi-investment .roi-label { color: rgba(255,255,255,0.55); }
.rsg-page .roi-result .roi-label { color: var(--green-500); }
.rsg-page .roi-investment .roi-amount { font-family: var(--font-display); font-size: clamp(32px, 4vw, 44px); font-weight: 800; color: rgba(255,255,255,0.65); letter-spacing: -0.02em; line-height: 1; }
.rsg-page .roi-result .roi-amount { font-family: var(--font-display); font-size: clamp(48px, 6.5vw, 72px); font-weight: 800; letter-spacing: -0.03em; line-height: 1; background: linear-gradient(135deg, #fff 30%, #6EE7B7); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.rsg-page .roi-investment .roi-sub, .rsg-page .roi-result .roi-sub { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.45); font-weight: 600; }
.rsg-page .roi-arrow { position: relative; display: flex; align-items: center; justify-content: center; z-index: 1; }
.rsg-page .roi-multiplier { position: absolute; top: -32px; left: 50%; transform: translateX(-50%); background: var(--green-500); color: #fff; padding: 5px 12px; border-radius: 999px; font-family: var(--font-display); font-weight: 800; font-size: 13px; box-shadow: 0 10px 24px rgba(32,157,80,0.40); white-space: nowrap; }
.rsg-page .roi-arrow-line { width: 80px; height: 2px; background: linear-gradient(90deg, rgba(255,255,255,0.20), var(--green-500)); position: relative; }
.rsg-page .roi-arrow-line::after { content: ""; position: absolute; right: -2px; top: 50%; border: 8px solid transparent; border-left-color: var(--green-500); transform: translateY(-50%); }
.rsg-page .case-feature-v2 { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; margin-bottom: 32px; }
.rsg-page .case-info-v2 { display: flex; flex-direction: column; gap: 22px; }
.rsg-page .case-chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.rsg-page .case-chip { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10); border-radius: 14px; padding: 16px 18px; position: relative; overflow: hidden; }
.rsg-page .case-chip::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--green-500), #6EE7B7); }
.rsg-page .case-chip strong { display: block; font-family: var(--font-display); font-size: 24px; font-weight: 800; color: #fff; line-height: 1; letter-spacing: -0.02em; }
.rsg-page .case-chip span { display: block; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.65); margin-top: 8px; font-weight: 700; }
.rsg-page .case-quote { position: relative; padding: 18px 22px 18px 56px; background: rgba(32,157,80,0.08); border: 1px solid rgba(32,157,80,0.20); border-radius: 12px; color: rgba(255,255,255,0.88); font-size: 14.5px; line-height: 1.6; font-style: italic; }
.rsg-page .case-quote::before { content: "\201C"; position: absolute; top: -8px; left: 16px; font-family: var(--font-display); font-size: 64px; font-weight: 800; color: var(--green-500); line-height: 1; opacity: 0.55; }
.rsg-page .case-reasons-row { margin-top: 32px; }
.rsg-page .case-reasons-row .crh-head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.rsg-page .case-reasons-row .crh-head .ct-tag { display: inline-flex; align-items: center; gap: 8px; background: rgba(32,157,80,0.18); color: var(--green-500); padding: 7px 14px; border-radius: 999px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; border: 1px solid rgba(32,157,80,0.30); }
.rsg-page .case-reasons-row .crh-divider { flex: 1; height: 1px; background: linear-gradient(90deg, rgba(255,255,255,0.12), transparent); }
.rsg-page .case-reasons { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rsg-page .case-reason { display: flex; flex-direction: column; gap: 12px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 22px 22px 20px; transition: border-color .25s, background .25s, transform .25s; position: relative; overflow: hidden; }
.rsg-page .case-reason::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; opacity: 0.85; }
.rsg-page .case-reason.r-amber::before { background: linear-gradient(90deg, #F59E0B, #FBBF24); }
.rsg-page .case-reason.r-blue::before { background: linear-gradient(90deg, #3B82F6, #60A5FA); }
.rsg-page .case-reason.r-green::before { background: linear-gradient(90deg, var(--green-500), #6EE7B7); }
.rsg-page .case-reason.r-amber:hover { border-color: rgba(245,158,11,0.35); background: rgba(245,158,11,0.05); }
.rsg-page .case-reason.r-blue:hover { border-color: rgba(59,130,246,0.35); background: rgba(59,130,246,0.05); }
.rsg-page .case-reason.r-green:hover { border-color: rgba(32,157,80,0.35); background: rgba(32,157,80,0.06); }
.rsg-page .case-reason:hover { transform: translateY(-3px); }
.rsg-page .case-reason .cr-icon { width: 48px; height: 48px; border-radius: 14px; color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsg-page .case-reason.r-amber .cr-icon { background: linear-gradient(135deg, #F59E0B, #D97706); box-shadow: 0 8px 20px rgba(245,158,11,0.30); }
.rsg-page .case-reason.r-blue .cr-icon { background: linear-gradient(135deg, #3B82F6, #1D4ED8); box-shadow: 0 8px 20px rgba(59,130,246,0.30); }
.rsg-page .case-reason.r-green .cr-icon { background: linear-gradient(135deg, var(--green-500), var(--green-700)); box-shadow: 0 8px 20px rgba(32,157,80,0.30); }
.rsg-page .case-reason .cr-icon svg { width: 24px; height: 24px; }
.rsg-page .case-reason .cr-body strong { display: block; color: #fff; font-family: var(--font-display); font-size: 16px; font-weight: 800; margin-bottom: 6px; letter-spacing: -0.005em; }
.rsg-page .case-reason .cr-body p { margin: 0; color: rgba(255,255,255,0.75); font-size: 13.5px; line-height: 1.55; }
.rsg-page .case-dashboard { position: relative; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 24px 60px rgba(0,0,0,0.40), 0 0 0 1px rgba(255,255,255,0.10); }
.rsg-page .case-dashboard-bar { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; background: #F8FAFC; border-bottom: 1px solid #E2E8F0; }
.rsg-page .case-dashboard-bar .dash-dots { display: flex; gap: 6px; }
.rsg-page .case-dashboard-bar .dash-dots span { width: 10px; height: 10px; border-radius: 50%; }
.rsg-page .case-dashboard-bar .dash-dots .d1 { background: #FF5F56; }
.rsg-page .case-dashboard-bar .dash-dots .d2 { background: #FFBD2E; }
.rsg-page .case-dashboard-bar .dash-dots .d3 { background: #27C93F; }
.rsg-page .case-dashboard-bar .dash-label { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: #64748B; font-weight: 700; }
.rsg-page .case-dashboard-bar .dash-live { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: #16A34A; font-weight: 700; }
.rsg-page .case-dashboard-bar .dash-live::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #16A34A; box-shadow: 0 0 8px #16A34A; animation: dashPulse 2s infinite; }
@keyframes dashPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }
.rsg-page .case-dashboard img { display: block; width: 100%; height: auto; }
.rsg-page .case-totals { position: relative; margin-top: 48px; padding: 32px 36px; background: linear-gradient(135deg, rgba(255,255,255,0.04), rgba(32,157,80,0.05)); border: 1px solid rgba(255,255,255,0.10); border-radius: 20px; overflow: hidden; }
.rsg-page .case-totals::before { content: ""; position: absolute; bottom: -120px; right: -120px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(32,157,80,0.16), transparent 65%); pointer-events: none; }
.rsg-page .case-totals-head { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,0.10); position: relative; z-index: 1; }
.rsg-page .case-totals-head .ct-tag { display: inline-flex; align-items: center; gap: 8px; background: rgba(32,157,80,0.18); color: var(--green-500); padding: 8px 16px; border-radius: 999px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; border: 1px solid rgba(32,157,80,0.30); }
.rsg-page .case-totals-head .ct-tag svg { width: 12px; height: 12px; }
.rsg-page .case-totals-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; position: relative; z-index: 1; margin-bottom: 24px; }
.rsg-page .case-total-card { position: relative; padding: 20px; border-radius: 14px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10); display: flex; flex-direction: column; gap: 8px; transition: transform .25s, border-color .25s; }
.rsg-page .case-total-card:hover { transform: translateY(-3px); border-color: rgba(32,157,80,0.30); }
.rsg-page .case-total-card .ct-icon { width: 36px; height: 36px; border-radius: 10px; background: rgba(32,157,80,0.18); color: var(--green-500); display: flex; align-items: center; justify-content: center; margin-bottom: 4px; }
.rsg-page .case-total-card .ct-icon svg { width: 18px; height: 18px; }
.rsg-page .case-total-card .ct-num { font-family: var(--font-display); font-size: clamp(26px, 2.5vw, 32px); font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: #fff; }
.rsg-page .case-total-card .ct-lbl { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.65); font-weight: 700; }
.rsg-page .case-totals-summary { position: relative; z-index: 1; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.10); color: rgba(255,255,255,0.85); font-size: 14.5px; line-height: 1.65; margin: 0; }
.rsg-page .case-totals-summary strong { color: #fff; font-weight: 700; }
@media (max-width: 880px) {
  .rsg-page .case-feature-v2 { grid-template-columns: 1fr; gap: 32px; }
  .rsg-page .case-reasons { grid-template-columns: 1fr; }
  .rsg-page .case-roi-reveal { grid-template-columns: 1fr; padding: 24px; }
  .rsg-page .case-roi-reveal .roi-arrow { transform: rotate(90deg); margin: 0 auto; }
  .rsg-page .case-totals-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .rsg-page .case-chips { grid-template-columns: 1fr; }
  .rsg-page .case-totals-grid { grid-template-columns: 1fr; }
}
.rsg-page .gsc-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 14px; border-bottom: 1px solid var(--line-2); margin-bottom: 18px; }
.rsg-page .gsc-head strong { font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--ink-900); }
.rsg-page .gsc-range { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; color: var(--ink-500); padding: 4px 10px; background: var(--paper-soft); border-radius: 6px; font-weight: 600; }
.rsg-page .gsc-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 18px; }
.rsg-page .gsc-tile { padding: 12px; border-radius: 10px; color: #fff; }
.rsg-page .gsc-tile span { display: block; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.92; margin-bottom: 6px; font-weight: 700; }
.rsg-page .gsc-tile strong { display: block; font-family: var(--font-display); font-size: 22px; font-weight: 800; }
.rsg-page .gsc-tile.blue { background: linear-gradient(135deg, #4285F4, #1E5BC4); }
.rsg-page .gsc-tile.purple { background: linear-gradient(135deg, #8B5CF6, #6D3FD6); }
.rsg-page .gsc-tile.green { background: linear-gradient(135deg, #22C55E, var(--green-700)); }
.rsg-page .gsc-tile.orange { background: linear-gradient(135deg, var(--orange-500), #C46E1A); }
.rsg-page .gsc-chart { position: relative; }
.rsg-page .gsc-chart svg { width: 100%; height: 180px; display: block; }
.rsg-page .gsc-axis { display: flex; justify-content: space-between; padding-top: 6px; font-family: var(--font-mono); font-size: 10px; color: var(--ink-500); font-weight: 600; }
.rsg-page .gsc-legend { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line-2); }
.rsg-page .gsc-legend span { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 11px; color: var(--ink-700); font-weight: 600; }
.rsg-page .gsc-legend i { width: 12px; height: 3px; border-radius: 2px; }

/* ============================================================
   OPS GRID (Pattern 23)
   ============================================================ */
.rsg-page .ops-strip { text-align: left; }
.rsg-page .ops-status { background: #000; color: #fff; padding: 12px 22px; border-radius: 999px; display: inline-flex; align-items: center; gap: 14px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; margin: 0 auto 32px; }
.rsg-page .ops-status .live { display: inline-flex; align-items: center; gap: 6px; }
.rsg-page .ops-status .live i { width: 7px; height: 7px; border-radius: 50%; background: var(--green-500); animation: pulse 2s infinite; }
.rsg-page .ops-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--grid-gap); text-align: left; }
.rsg-page .ops-col { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--card-pad-lg); }
.rsg-page .oc-tag { display: inline-block; background: var(--green-50); color: var(--green-700); padding: 5px 12px; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; margin-bottom: 12px; }
.rsg-page .ops-col h3 { font-size: 17px; margin-bottom: 18px; line-height: 1.35; }
.rsg-page .ops-col ul { list-style: none; padding: 0; margin: 0 0 16px; }
.rsg-page .ops-col li { padding: 14px 0; border-top: 1px solid var(--line-2); font-size: 14px; color: var(--ink-2); line-height: 1.6; }
.rsg-page .ops-col li:first-child { border-top: 0; padding-top: 0; }
.rsg-page .ops-col li strong { color: var(--ink-900); }

/* High-budget exception callout (premium dark card with stat band + pills) */
.rsg-page .hb-callout { position: relative; background: var(--dark-grad); color: #fff; border-radius: 20px; padding: 32px 36px; max-width: 980px; margin: 40px 0 0; overflow: hidden; border: 1px solid rgba(255,255,255,0.08); box-shadow: 0 24px 60px rgba(0,0,0,0.30); }
.rsg-page .hb-callout::before { content: ""; position: absolute; top: -120px; right: -120px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(32,157,80,0.20), transparent 65%); pointer-events: none; }
.rsg-page .hb-callout::after { content: ""; position: absolute; bottom: -100px; left: -100px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(32,157,80,0.10), transparent 65%); pointer-events: none; }
.rsg-page .hb-decoration { position: absolute; top: 28px; right: 32px; display: flex; gap: 8px; z-index: 1; }
.rsg-page .hb-decoration .hb-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 12px rgba(32,157,80,0.6); }
.rsg-page .hb-decoration .hb-dot.d2 { background: rgba(32,157,80,0.6); box-shadow: 0 0 8px rgba(32,157,80,0.4); }
.rsg-page .hb-decoration .hb-dot.d3 { background: rgba(255,255,255,0.3); box-shadow: none; }
.rsg-page .hb-tag { display: inline-flex; align-items: center; gap: 8px; background: rgba(32,157,80,0.18); color: var(--green-500); padding: 6px 14px; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; border: 1px solid rgba(32,157,80,0.30); margin-bottom: 18px; position: relative; z-index: 2; }
.rsg-page .hb-tag svg { width: 12px; height: 12px; color: #FFD60A; }
.rsg-page .hb-stat-band { display: grid; grid-template-columns: 1fr 48px 1fr; gap: 24px; align-items: center; padding: 22px 28px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.10); border-radius: 14px; margin-bottom: 24px; position: relative; z-index: 2; }
.rsg-page .hb-big-stat { display: flex; flex-direction: column; gap: 4px; }
.rsg-page .hb-big-num { font-family: var(--font-display); font-size: clamp(26px, 3vw, 34px); font-weight: 800; color: #fff; letter-spacing: -0.02em; line-height: 1; }
.rsg-page .hb-big-stat.alt .hb-big-num { background: linear-gradient(135deg, var(--green-500), #6EE7B7); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.rsg-page .hb-big-lbl { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.55); font-weight: 700; }
.rsg-page .hb-arrow { width: 44px; height: 44px; border-radius: 50%; background: var(--green-500); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 28px rgba(32,157,80,0.45); justify-self: center; }
.rsg-page .hb-arrow svg { width: 22px; height: 22px; }
.rsg-page .hb-body { position: relative; z-index: 2; }
.rsg-page .hb-body p { color: rgba(255,255,255,0.78); font-size: 14.5px; line-height: 1.7; margin: 0 0 14px; }
.rsg-page .hb-body p:last-child { margin-bottom: 0; }
.rsg-page .hb-body p strong { color: #fff; font-weight: 700; }
.rsg-page .hb-pills { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.rsg-page .hb-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-top: 22px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,0.10); position: relative; z-index: 2; }
.rsg-page .hb-cta-btn { display: inline-flex; align-items: center; padding: 10px 20px; background: var(--green-500); color: #fff; border-radius: 999px; text-decoration: none; font-family: var(--font-display); font-size: 13px; font-weight: 700; letter-spacing: 0.01em; line-height: 1.2; transition: background .2s, transform .2s; box-shadow: 0 6px 16px rgba(44,122,75,0.30); white-space: nowrap; }
.rsg-page .hb-cta-btn:hover { background: var(--green-600); transform: translateY(-1px); }
@media (max-width: 720px) {
  .rsg-page .hb-actions { justify-content: flex-start; }
  .rsg-page .hb-cta-btn { width: 100%; justify-content: center; }
}
.rsg-page .hb-pill { display: inline-flex; align-items: center; gap: 10px; background: rgba(255,255,255,0.06); color: #fff; border: 1px solid rgba(255,255,255,0.12); padding: 8px 16px 8px 8px; border-radius: 999px; font-family: var(--font-display); font-size: 13px; font-weight: 700; transition: background .25s, border-color .25s; }
.rsg-page .hb-pill:hover { background: rgba(32,157,80,0.16); border-color: rgba(32,157,80,0.30); }
.rsg-page .hb-pill .hb-pill-num { width: 22px; height: 22px; border-radius: 50%; background: var(--green-500); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 10px; font-weight: 800; }

@media (max-width: 720px) {
  .rsg-page .hb-callout { padding: 26px 22px; }
  .rsg-page .hb-stat-band { grid-template-columns: 1fr; gap: 14px; padding: 18px; }
  .rsg-page .hb-arrow { transform: rotate(90deg); margin: 0 auto; width: 36px; height: 36px; }
  .rsg-page .hb-arrow svg { width: 18px; height: 18px; }
  .rsg-page .hb-decoration { top: 18px; right: 18px; }
}

/* Phase timeline (vertical numbered roadmap) */
.rsg-page .phase-timeline { position: relative; max-width: 980px; margin: 0 0 40px; }
.rsg-page .pt-row { display: grid; grid-template-columns: 60px 1fr; gap: 24px; position: relative; padding-bottom: 22px; }
.rsg-page .pt-row:last-child { padding-bottom: 0; }
.rsg-page .pt-num-col { position: relative; display: flex; justify-content: center; }
.rsg-page .pt-num { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 800; font-size: 15px; box-shadow: 0 8px 20px rgba(32,157,80,0.30), 0 0 0 5px rgba(32,157,80,0.10); position: relative; z-index: 2; flex-shrink: 0; height: 48px; }
.rsg-page .pt-num.dark { background: linear-gradient(135deg, var(--ink-900), #000); box-shadow: 0 8px 20px rgba(0,0,0,0.22), 0 0 0 5px rgba(0,0,0,0.08); }
.rsg-page .pt-line { position: absolute; top: 50px; bottom: -22px; left: 50%; transform: translateX(-50%); width: 2px; background: linear-gradient(180deg, rgba(32,157,80,0.40), var(--line-2)); z-index: 1; }
.rsg-page .pt-row:last-child .pt-line { display: none; }
.rsg-page .pt-card { background: var(--paper-soft); border: 1px solid var(--line-2); border-radius: 14px; padding: 20px 24px; transition: border-color .25s, transform .25s, box-shadow .25s; }
.rsg-page .pt-card:hover { border-color: rgba(32,157,80,0.30); box-shadow: 0 8px 24px rgba(0,0,0,0.06); transform: translateX(2px); }
.rsg-page .pt-card .pt-meta { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.rsg-page .pt-card .pt-badge { display: inline-block; background: rgba(32,157,80,0.12); color: var(--green-700); padding: 4px 10px; border-radius: 6px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; }
.rsg-page .pt-card h3 { font-family: var(--font-display); font-size: 19px; font-weight: 800; color: var(--ink-900); margin: 0 0 10px; line-height: 1.3; letter-spacing: -0.005em; }
.rsg-page .pt-card p { margin: 0; font-size: 14px; color: var(--ink-2); line-height: 1.65; }

@media (max-width: 640px) {
  .rsg-page .phase-timeline .pt-row { grid-template-columns: 48px 1fr; gap: 16px; }
  .rsg-page .phase-timeline .pt-num { width: 40px; height: 40px; font-size: 13px; }
  .rsg-page .phase-timeline .pt-card { padding: 16px 18px; }
  .rsg-page .phase-timeline .pt-card h3 { font-size: 16.5px; }
  .rsg-page .phase-timeline .pt-line { top: 42px; }
}
.rsg-page .oc-caption { display: block; padding-top: 14px; border-top: 1px solid var(--line-2); font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; }
.rsg-page .oc-caption .dot-active { color: var(--green-500); }

/* ============================================================
   SCORE VISUALIZATION (Pattern 5)
   ============================================================ */
.rsg-page .score-viz { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 720px; margin: 0 auto 40px; }
.rsg-page .sv-side { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.rsg-page .sv-side.green { border-top: 4px solid var(--green-500); }
.rsg-page .sv-side.red { border-top: 4px solid var(--red); }
.rsg-page .sv-num { width: 84px; height: 84px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 24px; font-weight: 800; color: #fff; }
.rsg-page .sv-side.green .sv-num { background: linear-gradient(135deg, var(--green-500), var(--green-700)); box-shadow: 0 8px 24px rgba(32,157,80,0.3); }
.rsg-page .sv-side.red .sv-num { background: linear-gradient(135deg, var(--red), #9F1219); box-shadow: 0 8px 24px rgba(200,32,43,0.3); }
.rsg-page .sv-side p { margin: 0; font-size: 14px; color: var(--ink-2); }
.rsg-page .sv-side p strong { display: block; color: var(--ink-900); margin-bottom: 4px; font-size: 16px; }

.rsg-page .verdict-wrap { position: relative; }
.rsg-page .verdict-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--grid-gap); position: relative; }
.rsg-page .verdict-grid::before { content: "VS"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 56px; height: 56px; border-radius: 50%; background: #fff; border: 1.5px solid var(--line); box-shadow: var(--shadow-md); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 800; font-size: 14px; color: var(--ink-700); letter-spacing: 0.04em; z-index: 5; }
.rsg-page .verdict-col { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--card-pad-lg); position: relative; }
.rsg-page .verdict-col .vh-icon { position: absolute; top: 22px; right: 22px; width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #fff; }
.rsg-page .verdict-col.green .vh-icon { background: var(--green-500); }
.rsg-page .verdict-col.red .vh-icon { background: var(--red); }
.rsg-page .verdict-col .vh-icon svg { width: 18px; height: 18px; }
.rsg-page .verdict-col.green { border-top: 4px solid var(--green-500); }
.rsg-page .verdict-col.red { border-top: 4px solid var(--red); }
.rsg-page .verdict-col header { padding-bottom: 16px; border-bottom: 1px solid var(--line-2); margin-bottom: 16px; }
.rsg-page .vh-tag { display: inline-block; padding: 5px 12px; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; margin-bottom: 10px; }
.rsg-page .verdict-col.green .vh-tag { background: var(--green-50); color: var(--green-700); }
.rsg-page .verdict-col.red .vh-tag { background: rgba(200,32,43,0.1); color: var(--red); }
.rsg-page .verdict-col h3 { font-size: 18px; }
.rsg-page .vc-item { display: grid; grid-template-columns: 36px 1fr; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line-2); }
.rsg-page .vc-item:last-child { border-bottom: 0; }
.rsg-page .vc-num { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; font-family: var(--font-mono); font-size: 13px; font-weight: 700; color: #fff; }
.rsg-page .verdict-col.green .vc-num { background: var(--green-500); }
.rsg-page .verdict-col.red .vc-num { background: var(--red); }
.rsg-page .vc-body strong { display: block; font-family: var(--font-display); font-size: 14px; color: var(--ink-900); margin-bottom: 4px; }
.rsg-page .vc-body p { margin: 0; font-size: 13px; color: var(--ink-2); }

/* ============================================================
   PRICING (3-tier with featured Accelerate)
   ============================================================ */
.rsg-page .pricing-section { padding: var(--section-y) 0; background: var(--paper-soft); }
.rsg-page .pricing-includes { background: #fff; border-radius: 999px; padding: 14px 28px; display: inline-flex; align-items: center; gap: 18px; margin: 0 auto 40px; flex-wrap: wrap; justify-content: center; box-shadow: var(--shadow-md); }
.rsg-page .pricing-includes strong { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--green-700); font-weight: 700; }
.rsg-page .pricing-includes span { font-family: var(--font-mono); font-size: 11px; color: var(--ink-700); display: inline-flex; align-items: center; gap: 6px; }
.rsg-page .pricing-includes span::before { content: "Ã¢Å“â€œ"; color: var(--green-500); font-weight: 700; }
.rsg-page .pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--grid-gap); align-items: stretch; }
.rsg-page .pricing-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--card-pad-lg); display: flex; flex-direction: column; position: relative; }
.rsg-page .pricing-card.featured { background: #000; color: #fff; transform: translateY(-12px); box-shadow: var(--shadow-lg); border-color: rgba(255,255,255,0.1); }
.rsg-page .pricing-card.featured h3 { color: #fff; }
.rsg-page .pricing-card.featured .price-amt { color: #fff; }
.rsg-page .pricing-card.featured .price-band, .rsg-page .pricing-card.featured .price-list li { color: rgba(255,255,255,0.8); }
.rsg-page .pricing-card.featured .price-list li::before { color: var(--green-500); }
.rsg-page .featured-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--green-500); color: #fff; padding: 6px 14px; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; }
.rsg-page .price-tag { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--green-700); font-weight: 700; margin-bottom: 10px; }
.rsg-page .pricing-card.featured .price-tag { color: var(--green-500); }
.rsg-page .pricing-card h3 { font-size: 24px; margin-bottom: 6px; }
.rsg-page .price-band { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-500); margin-bottom: 18px; }
.rsg-page .price-amt { font-family: var(--font-display); font-size: 44px; font-weight: 800; line-height: 1; color: var(--ink-900); margin-bottom: 4px; }
.rsg-page .price-amt sub { font-size: 14px; font-weight: 500; color: var(--ink-500); margin-left: 2px; vertical-align: baseline; }
.rsg-page .price-desc { font-size: 13px; color: var(--ink-2); margin: 14px 0 20px; min-height: 38px; }
.rsg-page .pricing-card.featured .price-desc { color: rgba(255,255,255,0.75); }
.rsg-page .price-list { list-style: none; padding: 0; margin: 0 0 24px; flex: 1; }
.rsg-page .price-list li { padding: 8px 0 8px 24px; font-size: 13px; color: var(--ink-2); position: relative; }
.rsg-page .price-list li::before { content: "Ã¢Å“â€œ"; position: absolute; left: 0; color: var(--green-500); font-weight: 800; }
.rsg-page .price-list li strong { color: var(--ink-900); }
.rsg-page .pricing-card.featured .price-list li strong { color: #fff; }
/* Pricing v2 &mdash; full-content card layout matching live pricing page */
.rsg-page .pg-v2 .pricing-card { padding: 30px 28px; gap: 0; }
.rsg-page .pg-v2 .price-tier-name { display: block; font-family: var(--font-display); font-size: 13px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--green-600); margin-bottom: 8px; }
.rsg-page .pg-v2 .pricing-card.featured .price-tier-name { color: var(--green-500); }
.rsg-page .pg-v2 .pricing-card:last-child .price-tier-name { color: var(--green-700); }
.rsg-page .pg-v2 .price-amt { font-family: var(--font-display); font-size: 44px; font-weight: 800; line-height: 1; color: var(--ink-900); margin: 0 0 18px; display: flex; align-items: baseline; gap: 4px; }
.rsg-page .pg-v2 .price-amt strong { font-weight: 800; }
.rsg-page .pg-v2 .price-amt span { font-size: 16px; font-weight: 500; color: var(--ink-500); }
.rsg-page .pg-v2 .pricing-card.featured .price-amt { color: #fff; }
.rsg-page .pg-v2 .pricing-card.featured .price-amt span { color: rgba(255,255,255,0.7); }
.rsg-page .pg-v2 .price-desc-lead { font-family: var(--font-display); font-size: 17px; font-weight: 700; line-height: 1.35; color: var(--ink-900); margin: 0 0 10px; letter-spacing: -0.005em; }
.rsg-page .pg-v2 .pricing-card.featured .price-desc-lead { color: #fff; }
.rsg-page .pg-v2 .price-desc { font-size: 13.5px; color: var(--ink-2); margin: 0 0 20px; line-height: 1.55; min-height: 0; }
.rsg-page .pg-v2 .price-list { margin: 0 0 18px; }
.rsg-page .pg-v2 .price-list li { padding: 6px 0 6px 24px; font-size: 13px; line-height: 1.5; }
.rsg-page .pg-v2 .price-list li.pl-highlight { color: var(--green-600); font-weight: 700; }
.rsg-page .pg-v2 .pricing-card.featured .price-list li.pl-highlight { color: var(--green-500); }
.rsg-page .pg-v2 .price-baseline { display: inline-flex; align-items: center; gap: 6px; padding: 0 0 18px; border-top: 1px solid var(--line); padding-top: 16px; margin: 0 0 18px; font-family: var(--font-body); font-size: 12px; font-style: italic; color: var(--ink-500); cursor: pointer; }
.rsg-page .pg-v2 .price-baseline svg { width: 14px; height: 14px; }
.rsg-page .pg-v2 .pricing-card.featured .price-baseline { border-top-color: rgba(255,255,255,0.12); color: rgba(255,255,255,0.6); }
.rsg-page .pg-v2 .price-cta { margin-top: auto; width: 100%; justify-content: center; text-align: center; }
.rsg-page .btn-amber { display: inline-flex; align-items: center; justify-content: center; padding: 14px 22px; background: linear-gradient(135deg, #F5B84D, #DC9632); color: #fff; border: 0; border-radius: 999px; font-family: var(--font-display); font-size: 14px; font-weight: 700; text-decoration: none; letter-spacing: 0.01em; transition: transform .2s, box-shadow .2s; box-shadow: 0 10px 24px rgba(220,150,50,0.32); }
.rsg-page .btn-amber:hover { transform: translateY(-1px); box-shadow: 0 14px 32px rgba(220,150,50,0.42); }

/* Featured (Accelerate) card &mdash; force all content to render white per user request */
.rsg-page .pg-v2 .pricing-card.featured { padding-top: 30px; }
.rsg-page .pg-v2 .pricing-card.featured .price-amt strong { color: #FFFFFF; }
.rsg-page .pg-v2 .pricing-card.featured .price-amt span { color: rgba(255,255,255,0.85); }
.rsg-page .pg-v2 .pricing-card.featured .price-desc-lead { color: #FFFFFF; }
.rsg-page .pg-v2 .pricing-card.featured .price-desc { color: rgba(255,255,255,0.85); }
.rsg-page .pg-v2 .pricing-card.featured .price-list li { color: rgba(255,255,255,0.92); }
.rsg-page .pg-v2 .pricing-card.featured .price-list li.pl-highlight { color: #FFFFFF; font-weight: 700; }
.rsg-page .pg-v2 .pricing-card.featured .price-list li::before { color: #FFFFFF; }
.rsg-page .pg-v2 .pricing-card.featured .price-tier-name { color: var(--green-500); }
.rsg-page .pg-v2 .pricing-card.featured .price-baseline { color: rgba(255,255,255,0.7); border-top-color: rgba(255,255,255,0.18); }
.rsg-page .price-cta { width: 100%; }
.rsg-page .price-footnote { text-align: left; max-width: 700px; margin: 32px 0 0; font-size: 12px; color: var(--ink-500); font-style: italic; }

/* ============================================================
   MUTUAL FIT (3-column with Pact black card)
   ============================================================ */
.rsg-page .fit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--grid-gap); }
.rsg-page .fit-col { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--card-pad-lg); position: relative; }
.rsg-page .fit-col.pact { background: var(--dark-grad); color: #fff; border-color: rgba(255,255,255,0.1); }
.rsg-page .fit-col.pact h3 { color: #fff; }
.rsg-page .fit-col header { padding: 4px 0 16px; border-bottom: 1px solid var(--line-2); margin-bottom: 16px; padding-left: 52px; }
.rsg-page .fit-col.pact header { border-bottom-color: rgba(255,255,255,0.12); }
.rsg-page .fit-col .fit-icon { position: absolute; top: var(--card-pad-lg); left: var(--card-pad-lg); width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #fff; }
.rsg-page .fit-col .fit-icon svg { width: 18px; height: 18px; }
.rsg-page .fit-col.notfit .fit-icon { background: var(--red); }
.rsg-page .fit-col.builtfor .fit-icon { background: var(--green-500); }
.rsg-page .fit-col.pact .fit-icon { background: var(--green-500); box-shadow: 0 0 0 4px rgba(32,157,80,0.18); }
.rsg-page .fit-col .fit-tag { position: absolute; top: calc(var(--card-pad-lg) + 6px); right: var(--card-pad-lg); padding: 5px 12px; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; background: var(--paper-soft); color: var(--ink-700); }
.rsg-page .fit-col.notfit .fit-tag { background: rgba(200,32,43,0.1); color: var(--red); }
.rsg-page .fit-col.builtfor .fit-tag { background: var(--green-50); color: var(--green-700); }
.rsg-page .fit-col.pact .fit-tag { background: rgba(231,138,44,0.18); color: var(--orange-500); }
.rsg-page .fit-col h3 { font-size: 17px; line-height: 1.35; }
.rsg-page .fit-col ul { list-style: none; padding: 0; margin: 0; }
.rsg-page .fit-col li { padding: 12px 0 12px 20px; font-size: 13px; line-height: 1.6; position: relative; border-bottom: 1px solid var(--line-2); }
.rsg-page .fit-col.pact li { color: rgba(255,255,255,0.82); border-bottom-color: rgba(255,255,255,0.08); }
.rsg-page .fit-col li:last-child { border-bottom: 0; }
.rsg-page .fit-col li::before { content: ""; position: absolute; left: 0; top: 18px; width: 8px; height: 8px; border-radius: 50%; }
.rsg-page .fit-col.notfit li::before { background: var(--red); }
.rsg-page .fit-col.builtfor li::before { background: var(--green-500); }
.rsg-page .fit-col.pact li::before { background: var(--green-500); box-shadow: 0 0 12px rgba(32,157,80,0.6); }

/* ============================================================
   TESTIMONIALS (Pattern 9)
   ============================================================ */
.rsg-page .testimonials { padding: var(--section-y) 0; }
.rsg-page .test-card { position: relative; max-width: 920px; margin: 0 auto; background: #fff; border-radius: var(--radius-lg); padding: 48px 64px; box-shadow: var(--shadow-md); }
.rsg-page .test-grid { display: grid; grid-template-columns: 140px 1fr; gap: 36px; align-items: start; }
.rsg-page .test-photo { width: 140px; height: 140px; border-radius: 50%; background: var(--paper-soft); border: 3px solid var(--green-500); overflow: hidden; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsg-page .test-photo-fallback { font-family: var(--font-display); font-size: 42px; font-weight: 800; color: var(--green-500); }
.rsg-page .test-stars { color: #FBBF24; font-size: 22px; letter-spacing: 2px; margin-bottom: 14px; }
.rsg-page .test-quote { font-size: 17px; color: var(--ink-2); line-height: 1.65; margin: 0 0 14px; }
.rsg-page .test-greenline { font-size: 17px; line-height: 1.65; color: var(--green-700); font-weight: 600; margin: 0 0 18px; background: var(--green-50); padding: 10px 14px; border-radius: 8px; border-left: 3px solid var(--green-500); }
.rsg-page .test-attrib strong { display: block; font-size: 16px; color: var(--ink-900); }
.rsg-page .test-attrib span { font-size: 13px; color: var(--ink-500); }
.rsg-page .test-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; background: var(--paper-soft); border: 0; cursor: pointer; font-size: 18px; color: var(--ink-700); }
.rsg-page .test-arrow.left { left: -20px; }
.rsg-page .test-arrow.right { right: -20px; }

/* New testimonials carousel (4-slide) */
.rsg-page .tc-carousel { position: relative; max-width: 1080px; margin: 0 auto; padding: 0 56px; }
.rsg-page .tc-viewport { position: relative; overflow: hidden; border-radius: 22px; }
.rsg-page .tc-track { display: flex; transition: transform .5s cubic-bezier(0.22, 1, 0.36, 1); }
.rsg-page .tc-slide { min-width: 100%; display: grid; grid-template-columns: 1fr 1.1fr; gap: 36px; padding: 36px 40px; background: var(--paper-soft); align-items: center; }
.rsg-page .tc-content { display: flex; flex-direction: column; gap: 18px; }
.rsg-page .tc-quote-normal { font-size: 14.5px; line-height: 1.65; color: var(--ink-2); margin: 0; }
.rsg-page .tc-quote-highlight { font-family: var(--font-display); font-size: 17px; line-height: 1.55; color: var(--green-700); font-weight: 700; margin: 0; letter-spacing: -0.005em; }
.rsg-page .needs-source { background: rgba(231,138,44,0.08); border: 1px dashed var(--orange-500); padding: 16px 18px; border-radius: var(--radius-md); font-family: var(--font-mono); font-size: 12px; color: var(--orange-500); font-style: normal; line-height: 1.5; letter-spacing: 0.02em; }

.rsg-page .tc-attrib { display: inline-flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 8px 22px 8px 8px; margin-top: 4px; align-self: flex-start; box-shadow: 0 6px 16px rgba(0,0,0,0.06); }
.rsg-page .tc-avatar { width: 50px; height: 50px; border-radius: 50%; overflow: hidden; flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 16px; }
.rsg-page .tc-avatar img { width: 100%; height: 100%; object-fit: cover; }
.rsg-page .tc-avatar.av-1 { background: linear-gradient(135deg, #3B82F6, #1D4ED8); }
.rsg-page .tc-avatar.av-2 { background: linear-gradient(135deg, #F5B84D, #DC9632); }
.rsg-page .tc-avatar.av-3 { background: linear-gradient(135deg, var(--green-500), var(--green-700)); }
.rsg-page .tc-avatar.av-4 { background: linear-gradient(135deg, #EF4444, #B91C1C); }
.rsg-page .tc-attrib-text { display: flex; flex-direction: column; gap: 2px; }
.rsg-page .tc-attrib-text strong { color: var(--ink-900); font-family: var(--font-display); font-size: 17px; font-weight: 800; letter-spacing: -0.005em; line-height: 1.2; }
.rsg-page .tc-attrib-text span { color: var(--green-700); font-size: 12.5px; font-weight: 600; }
.rsg-page .tc-hero { position: relative; aspect-ratio: 4/3; border-radius: 18px; overflow: hidden; background: linear-gradient(135deg, #E2E8F0, #CBD5E1); box-shadow: 0 16px 40px rgba(0,0,0,0.10); }
.rsg-page .tc-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rsg-page .tc-arrow { position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; width: 44px !important; height: 44px !important; min-width: 44px !important; padding: 0 !important; border-radius: 50% !important; background: #FFFFFF !important; color: #475569 !important; border: 1px solid #E5E7EB !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: 0 6px 16px rgba(0,0,0,0.08) !important; transition: background .2s, transform .2s, box-shadow .2s !important; z-index: 2 !important; appearance: none !important; -webkit-appearance: none !important; text-decoration: none !important; font: inherit !important; line-height: 1 !important; }
.rsg-page .tc-arrow:hover { background: #2C7A4B !important; border-color: #2C7A4B !important; color: #FFFFFF !important; transform: translateY(-50%) scale(1.05) !important; box-shadow: 0 10px 24px rgba(44,122,75,0.25) !important; }
.rsg-page .tc-arrow:hover svg, .rsg-page .tc-arrow:hover svg * { color: #FFFFFF !important; stroke: #FFFFFF !important; }
.rsg-page .tc-arrow svg { width: 18px !important; height: 18px !important; display: block !important; color: #475569 !important; stroke: #475569 !important; fill: none !important; flex-shrink: 0 !important; pointer-events: none !important; }
.rsg-page .tc-arrow.left { left: 0; }
.rsg-page .tc-arrow.right { right: 0; }
.rsg-page .tc-dots { display: flex; justify-content: center; gap: 8px; margin-top: 24px; }
.rsg-page .tc-dot { width: 28px; height: 6px; border-radius: 999px; background: var(--line); border: 0; cursor: pointer; padding: 0; transition: background .25s, width .25s; }
.rsg-page .tc-dot.active { background: var(--green-500); width: 44px; }
.rsg-page .tc-dot:hover { background: var(--green-700); }
@media (max-width: 880px) {
  .rsg-page .tc-carousel { padding: 0 12px; }
  .rsg-page .tc-slide { grid-template-columns: 1fr; padding: 28px 22px; gap: 24px; }
  .rsg-page .tc-arrow { top: auto !important; bottom: -52px !important; transform: none !important; }
  .rsg-page .tc-arrow:hover { transform: scale(1.05) !important; }
  .rsg-page .tc-arrow.left { left: calc(50% - 56px); }
  .rsg-page .tc-arrow.right { right: calc(50% - 56px); }
  .rsg-page .tc-dots { margin-top: 60px; }
}

.rsg-page .test-dots { display: flex; gap: 6px; justify-content: center; margin-top: 28px; }
.rsg-page .test-dots .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--line); }
.rsg-page .test-dots .dot.active { background: var(--green-500); width: 22px; border-radius: 3px; }

/* ============================================================
   FAQ
   ============================================================ */
.rsg-page .faq { padding: var(--section-y) 0; background: var(--paper); }
.rsg-page .faq-list { max-width: 880px; margin: 0 auto; display: grid; gap: 12px; }
.rsg-page .faq-item { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; }
.rsg-page .faq-item details summary { padding: 22px 28px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 18px; font-family: var(--font-display); font-size: 13px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink-900); }
.rsg-page .faq-item details summary::-webkit-details-marker { display: none; }
.rsg-page .faq-item details summary::after { content: ""; width: 28px; height: 28px; border-radius: 50%; background: var(--green-50); flex-shrink: 0; position: relative; transition: transform .2s; }
.rsg-page .faq-item details summary { position: relative; }
.rsg-page .faq-item details summary::before { content: ""; position: absolute; right: 36px; width: 10px; height: 10px; border-right: 2px solid var(--green-600); border-bottom: 2px solid var(--green-600); transform: translateY(-3px) rotate(45deg); transition: transform .2s; z-index: 2; }
.rsg-page .faq-item details[open] summary::before { transform: translateY(3px) rotate(-135deg); }
.rsg-page .faq-item details .faq-body { padding: 0 28px 24px; font-size: 14px; color: var(--ink-2); line-height: 1.7; text-transform: none; font-family: var(--font-body); }
.rsg-page .faq-item details .faq-body p { margin: 0 0 12px; }
.rsg-page .faq-item details .faq-body p:last-child { margin: 0; }

/* FAQ v2 - 2-col header with callout + numbered list */
.rsg-page .faq-v2 .faq-top { display: grid; grid-template-columns: 1fr 380px; gap: 56px; align-items: start; margin-bottom: 44px; }
.rsg-page .faq-v2 .faq-top-left .eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--green-600); font-family: var(--font-display); margin-bottom: 14px; }
.rsg-page .faq-v2 .faq-top-left .eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--green-500); }
.rsg-page .faq-v2 .faq-top-left h2 { font-family: var(--font-display); font-size: clamp(34px, 4vw, 50px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.08; color: var(--ink-900); margin: 0 0 16px; max-width: 620px; text-wrap: balance; }
.rsg-page .faq-v2 .faq-top-left .lede { font-size: 15px; color: var(--ink-2); line-height: 1.55; max-width: 520px; margin: 0; text-wrap: pretty; }
.rsg-page .faq-v2 .faq-cta { background: rgba(44, 122, 75, 0.07); border: 1px solid rgba(44, 122, 75, 0.18); border-radius: 16px; padding: 22px 24px; }
.rsg-page .faq-v2 .faq-cta-icon { width: 40px; height: 40px; border-radius: 10px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); display: flex; align-items: center; justify-content: center; color: #fff; margin-bottom: 14px; box-shadow: 0 6px 14px rgba(44,122,75,0.22); }
.rsg-page .faq-v2 .faq-cta-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-700); font-family: var(--font-display); margin-bottom: 6px; }
.rsg-page .faq-v2 .faq-cta-body { font-size: 13.5px; color: var(--ink-2); line-height: 1.55; margin: 0 0 16px; }
.rsg-page .faq-v2 .faq-cta-btn { display: inline-flex; align-items: center; gap: 10px; padding: 6px 7px 6px 18px; background: #fff; border: 1.5px solid var(--ink-900); border-radius: 999px; text-decoration: none; font-family: var(--font-display); font-size: 13px; font-weight: 700; color: var(--ink-900); transition: background .2s, color .2s; }
.rsg-page .faq-v2 .faq-cta-btn:hover { background: var(--ink-900); color: #fff; }
.rsg-page .faq-v2 .faq-cta-btn .arrow { width: 28px; height: 28px; border-radius: 50%; background: var(--ink-900); display: flex; align-items: center; justify-content: center; color: #fff; transition: background .2s; }
.rsg-page .faq-v2 .faq-cta-btn:hover .arrow { background: var(--green-500); }
.rsg-page .faq-v2 .faq-list { max-width: none; margin: 0; gap: 10px; }
.rsg-page .faq-v2 .faq-item { border-radius: 14px; }
.rsg-page .faq-v2 .faq-item details summary { display: grid; grid-template-columns: 44px 1fr 32px; align-items: center; gap: 16px; padding: 22px 28px; }
.rsg-page .faq-v2 .faq-item details summary::before, .rsg-page .faq-v2 .faq-item details summary::after { display: none; }
.rsg-page .faq-v2 .faq-item .faq-num { font-family: var(--font-display); font-size: 13px; font-weight: 800; color: var(--green-600); letter-spacing: 0.04em; }
.rsg-page .faq-v2 .faq-item .faq-q { font-family: var(--font-display); font-size: 13px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink-900); line-height: 1.4; }
.rsg-page .faq-v2 .faq-item .faq-chevron { width: 28px; height: 28px; border-radius: 50%; background: var(--green-50); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform .25s; justify-self: end; }
.rsg-page .faq-v2 .faq-item .faq-chevron svg { width: 12px; height: 12px; color: var(--green-600); }
.rsg-page .faq-v2 .faq-item details[open] .faq-chevron { transform: rotate(180deg); }
.rsg-page .faq-v2 .faq-item details .faq-body { padding: 0 28px 24px 86px; }
@media (max-width: 880px) {
  .rsg-page .faq-v2 .faq-top { grid-template-columns: 1fr; gap: 24px; margin-bottom: 32px; }
  .rsg-page .faq-v2 .faq-item details summary { grid-template-columns: 36px 1fr 28px; padding: 18px 20px; gap: 12px; }
  .rsg-page .faq-v2 .faq-item details .faq-body { padding: 0 20px 20px; }
}

/* ============================================================
   FINAL CTA + CITY FOOTER + SITE FOOTER
   ============================================================ */
.rsg-page .final-cta { background: var(--dark-grad); color: #fff; padding: 96px 0; text-align: center; position: relative; overflow: hidden; }
.rsg-page .final-cta h2 { color: #fff; margin: 0 0 18px; font-size: clamp(36px, 4.6vw, 56px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.08; max-width: 820px; margin-left: auto; margin-right: auto; text-wrap: balance; }
.rsg-page .final-cta p.fc-lede { color: rgba(255,255,255,0.78); max-width: 640px; margin: 0 auto 32px; font-size: 17px; line-height: 1.55; text-wrap: pretty; }
.rsg-page .final-cta .container { position: relative; z-index: 2; }
.rsg-page .final-cta::before { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 800px; height: 800px; background: radial-gradient(circle at center, rgba(44,122,75,0.18) 0%, rgba(44,122,75,0) 60%); pointer-events: none; z-index: 1; }
.rsg-page .final-cta .eyebrow { display: inline-flex; align-items: center; gap: 8px; color: #4ade80; font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; font-family: var(--font-display); margin: 0 0 18px; justify-content: center; }
.rsg-page .final-cta .eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--green-500); }
.rsg-page .final-cta .fc-sub { color: rgba(255,255,255,0.55); font-size: 13.5px; font-style: italic; margin: 22px 0 0; line-height: 1.5; }
.rsg-page .final-cta .fc-sub em { color: rgba(255,255,255,0.85); font-style: italic; font-weight: 600; }

.rsg-page .city-footer-wrap { background: linear-gradient(180deg, var(--dark-grad) 50%, var(--paper) 50%); padding: 0 var(--gutter); }
.rsg-page .city-footer { max-width: 1200px; margin: 0 auto; background: #fff; border-radius: var(--radius-lg); padding: 56px 48px; box-shadow: var(--shadow-lg); transform: translateY(-60px); }
.rsg-page .city-footer h2 { font-size: clamp(24px, 3vw, 32px); margin-bottom: 8px; }
.rsg-page .city-footer .cf-cap { font-size: 14px; color: var(--ink-500); margin-bottom: 32px; }
.rsg-page .city-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px 24px; }
.rsg-page .city-grid a { font-family: var(--font-display); font-size: 13px; color: var(--ink-700); font-weight: 500; padding: 4px 0; }
.rsg-page .city-grid a:hover { color: var(--green-600); }

.rsg-page .site-footer { background: var(--dark-grad); color: rgba(255,255,255,0.78); padding: 60px 0 24px; margin-top: -60px; }
.rsg-page .site-footer .footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 32px; padding-bottom: 36px; border-bottom: 1px solid rgba(255,255,255,0.1); }
.rsg-page .site-footer h5 { color: #fff; font-family: var(--font-display); font-size: 14px; letter-spacing: 0.04em; margin-bottom: 14px; text-transform: uppercase; font-weight: 700; }
.rsg-page .site-footer ul { list-style: none; padding: 0; margin: 0; }
.rsg-page .site-footer ul li { padding: 4px 0; }
.rsg-page .site-footer ul a { font-size: 13px; color: rgba(255,255,255,0.7); }
.rsg-page .site-footer ul a:hover { color: var(--green-500); }
.rsg-page .footer-logo img { height: 36px; margin-bottom: 18px; filter: brightness(1.1); }
.rsg-page .footer-bio { font-size: 13px; color: rgba(255,255,255,0.68); margin-bottom: 18px; line-height: 1.6; }
.rsg-page .footer-socials { display: flex; gap: 10px; }
.rsg-page .footer-socials a { width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; }
.rsg-page .footer-socials .sf { background: #1877F2; }
.rsg-page .footer-socials .sl { background: #0A66C2; }
.rsg-page .footer-socials .si { background: linear-gradient(135deg, #833AB4, #FD1D1D, #FCB045); }
.rsg-page .footer-socials .sy { background: #FF0000; }
.rsg-page .footer-socials svg { width: 16px; height: 16px; }
.rsg-page .footer-copy { padding-top: 24px; font-size: 12px; color: rgba(255,255,255,0.55); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; }

/* Floating UI */
.rsg-page .float-ui-call { position: fixed; bottom: 24px; left: 24px; width: 56px; height: 56px; border-radius: 50%; background: var(--green-500); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(32,157,80,0.4); z-index: 50; }
.rsg-page .float-ui-call svg { width: 22px; height: 22px; }
.rsg-page .float-ui-help { position: fixed; bottom: 24px; right: 24px; background: #fff; padding: 12px 18px 12px 14px; border-radius: 999px; box-shadow: var(--shadow-lg); display: flex; align-items: center; gap: 10px; z-index: 50; }
.rsg-page .float-ui-help .help-av { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, var(--green-500), var(--green-700)); display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 14px; }
.rsg-page .float-ui-help span { font-family: var(--font-display); font-size: 13px; font-weight: 600; color: var(--ink-900); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .rsg-page .hero-grid, .rsg-page .founder-grid, .rsg-page .case-feature, .rsg-page .reviews-grid, .rsg-page .how-grid, .rsg-page .spec-split { grid-template-columns: 1fr; gap: 40px; }
  .rsg-page .reason-grid, .rsg-page .risk-grid, .rsg-page .leadq-grid { grid-template-columns: 1fr; }
  .rsg-page .stat-row, .rsg-page .gsc-tiles, .rsg-page .case-tiles { grid-template-columns: repeat(2, 1fr); }
  .rsg-page .ops-grid, .rsg-page .pricing-grid, .rsg-page .fit-grid, .rsg-page .verdict-grid { grid-template-columns: 1fr; }
  .rsg-page .verdict-grid::before { display: none; }
  .rsg-page .city-grid { grid-template-columns: repeat(3, 1fr); }
  .rsg-page .pricing-card.featured { transform: none; }
  .rsg-page .float-card { display: none; }
  .rsg-page .hero-stage { padding: 0; margin-top: 24px; }
  .rsg-page .platform-hero { max-width: 100%; height: 600px; }
  .rsg-page .phone-shell { bottom: 24px; left: 12px; transform: none; width: 200px; height: 380px; }
  .rsg-page .phone-screen { width: 188px; height: 368px; }
  .rsg-page .hero-stat-sticker { top: 12px; right: 12px; padding: 10px 14px; }
  .rsg-page .hero-stat-sticker .hss-value { font-size: 17px; }
  .rsg-page .hero-floating-ping { display: none; }
  .rsg-page .hero-cpl-card { top: auto; bottom: 12px; right: 12px; transform: none; padding: 12px 14px; }
  .rsg-page .hero-cpl-card .hcc-value { font-size: 15px; }
}
@media (max-width: 640px) {
  .rsg-page .platform-hero { height: 560px; }
  .rsg-page .phone-shell { left: 8px; transform: none; width: 188px; height: 360px; }
  .rsg-page .phone-screen { width: 176px; height: 348px; }
  .rsg-page .hero-partner-badge { font-size: 9px; padding: 6px 10px; }
  .rsg-page .hero-stat-sticker { right: 10px; top: 10px; padding: 8px 12px; }
  .rsg-page .hero-stat-sticker .hss-icon { width: 32px; height: 32px; }
  .rsg-page .hero-stat-sticker .hss-icon svg { width: 16px; height: 16px; }
  .rsg-page .hero-stat-sticker .hss-value { font-size: 14px; }
  .rsg-page .hero-stat-sticker .hss-label { font-size: 8px; }
  .rsg-page .hero-cpl-card { bottom: 10px; right: 10px; padding: 10px 12px; }
  .rsg-page .hero-cpl-card .hcc-icon { width: 30px; height: 30px; }
  .rsg-page .hero-cpl-card .hcc-icon svg { width: 14px; height: 14px; }
  .rsg-page .hero-cpl-card .hcc-value { font-size: 13px; }
  .rsg-page .hero-cpl-card .hcc-label { font-size: 8px; }
}
@media (max-width: 640px) {
  .rsg-page .nav-links { display: none; }
  .rsg-page .stat-row, .rsg-page .gsc-tiles, .rsg-page .spec-stats { grid-template-columns: 1fr; }
  .rsg-page .city-grid { grid-template-columns: repeat(2, 1fr); }
  .rsg-page .test-card { padding: 32px 24px; }
  .rsg-page .test-grid { grid-template-columns: 1fr; text-align: center; }
  .rsg-page .test-photo { margin: 0 auto; }
  .rsg-page .pb-track { height: 44px; }
  .rsg-page .footer-grid { grid-template-columns: 1fr; }
  .rsg-page .verdict-col header { padding-left: 0; padding-top: 50px; }
  .rsg-page .verdict-col .vh-icon { top: 20px; left: 20px; right: auto; }
  .rsg-page .fit-col header { padding-left: 0; padding-top: 56px; }
  .rsg-page .fit-col .fit-tag { top: 20px; right: 20px; }
}


/* ============================================================
   §6 BLUE CHECK / VERIFIED BADGE section styles
   ============================================================ */
.rsg-page .badge-imgs-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 0 0 40px; }
.rsg-page .badge-imgs-row figure { margin: 0; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); padding: 18px; display: flex; flex-direction: column; gap: 14px; box-shadow: var(--shadow-sm); }
.rsg-page .badge-imgs-row img { width: 100%; height: auto; display: block; border-radius: 8px; max-height: 220px; object-fit: contain; }
.rsg-page .badge-imgs-row figcaption { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; color: var(--ink-500); font-weight: 600; text-align: center; }
.rsg-page .reqs-intro { font-size: 22px; margin: 0 0 22px; color: var(--ink-900); font-weight: 700; }
.rsg-page .reqs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 0 0 36px; }
.rsg-page .req-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px 24px 26px; position: relative; overflow: hidden; box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; isolation: isolate; }
.rsg-page .req-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.05); border-color: rgba(44,122,75,0.25); }
.rsg-page .req-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--green-500), var(--green-700)); z-index: 2; }
.rsg-page .req-card::after { content: ""; position: absolute; bottom: -40px; right: -40px; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(circle, rgba(44,122,75,0.10) 0%, transparent 70%); z-index: 0; pointer-events: none; }
.rsg-page .req-card > * { position: relative; z-index: 1; }
.rsg-page .req-card .rc-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; gap: 12px; }
.rsg-page .req-card .rc-icon { width: 48px; height: 48px; border-radius: 12px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 8px 20px rgba(44,122,75,0.30); }
.rsg-page .req-card .rc-icon svg { width: 22px; height: 22px; }
.rsg-page .req-card .rc-tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-700); font-weight: 700; padding: 5px 11px; background: var(--green-50); border-radius: 999px; white-space: nowrap; }
.rsg-page .req-card .rc-num { position: absolute; top: 14px; right: 18px; font-family: var(--font-display); font-size: 88px; font-weight: 800; color: var(--ink-900); opacity: 0.04; line-height: 1; pointer-events: none; z-index: 0; }
.rsg-page .req-card h4 { font-size: 17px; margin: 0 0 12px; color: var(--ink-900); line-height: 1.3; font-weight: 800; }
.rsg-page .req-card p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--ink-2); }
.rsg-page .req-card .rc-footnote { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line-2); font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; display: inline-flex; align-items: center; gap: 6px; }
.rsg-page .req-card .rc-footnote::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--green-500); }
.rsg-page .timeline-note { font-size: 15px; color: var(--ink-2); margin: 0 0 24px; max-width: 880px; line-height: 1.65; }
.rsg-page .timeline-note strong { color: var(--ink-900); }
.rsg-page .ein-callout { background: var(--dark-grad); color: rgba(255,255,255,0.88); border-radius: var(--radius-md); padding: 18px 22px; display: flex; gap: 14px; align-items: flex-start; margin: 0 0 24px; }
.rsg-page .ein-callout .ein-icon { width: 28px; height: 28px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }
.rsg-page .ein-callout .ein-icon svg { width: 22px; height: 22px; }
.rsg-page .ein-callout p { margin: 0; font-size: 14px; line-height: 1.6; color: rgba(255,255,255,0.88); }
.rsg-page .ein-callout p strong { color: #fff; }
.rsg-page .multichannel-note { font-size: 15px; color: var(--ink-2); margin: 0 0 28px; max-width: 880px; line-height: 1.65; }
.rsg-page .multichannel-note strong { color: var(--ink-900); }
.rsg-page .badge-cta-row { margin: 0 0 8px; }
@media (max-width: 768px) {
  .rsg-page .badge-imgs-row { grid-template-columns: 1fr; }
  .rsg-page .reqs-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   §6 BLUE CHECK — Timeline viz + warning callout + multichannel insight
   ============================================================ */
.rsg-page .vtimeline { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px 26px; margin: 0 0 24px; box-shadow: var(--shadow-sm); position: relative; overflow: hidden; }
.rsg-page .vtimeline::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--green-500), var(--green-700), var(--green-500)); }
.rsg-page .vtimeline-head { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.rsg-page .vtimeline-head .vth-tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-700); font-weight: 700; padding: 5px 12px; background: var(--green-50); border-radius: 999px; }
.rsg-page .vtimeline-head h4 { margin: 0; font-size: 17px; color: var(--ink-900); font-weight: 800; line-height: 1.3; }
.rsg-page .vtimeline-steps { display: grid; grid-template-columns: 1fr 22px 1fr 22px 1fr 22px 1.1fr; gap: 10px; align-items: stretch; position: relative; }
.rsg-page .vt-step { background: var(--paper-soft); border-radius: var(--radius-md); padding: 18px 16px 16px; position: relative; display: flex; flex-direction: column; gap: 6px; transition: transform .2s, background .2s; }
.rsg-page .vt-step.vt-total { background: linear-gradient(180deg, var(--green-50), #fff); border: 1.5px solid var(--green-500); box-shadow: 0 8px 22px rgba(44,122,75,0.15); }
.rsg-page .vtimeline-steps { position: relative; }
.rsg-page .vt-arrow { display: flex; align-items: center; justify-content: center; color: var(--green-600); opacity: 0.55; }
.rsg-page .vt-arrow svg { width: 22px; height: 22px; }
.rsg-page .vt-step .vt-eye { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; }
.rsg-page .vt-step.vt-total .vt-eye { color: var(--green-700); }
.rsg-page .vt-step .vt-val { font-family: var(--font-display); font-size: 22px; font-weight: 800; color: var(--ink-900); line-height: 1; margin-top: 2px; letter-spacing: -0.01em; }
.rsg-page .vt-step.vt-total .vt-val { color: var(--green-700); font-size: 26px; }
.rsg-page .vt-step .vt-desc { font-size: 12.5px; color: var(--ink-2); line-height: 1.45; margin-top: 6px; }

.rsg-page .ein-warning { background: linear-gradient(135deg, var(--paper-soft) 0%, var(--green-50) 100%); color: var(--ink-900); border-radius: var(--radius-lg); padding: 24px 28px; margin: 0 0 24px; position: relative; overflow: hidden; box-shadow: var(--shadow-sm); border: 1px solid rgba(44,122,75,0.22); }
.rsg-page .ein-warning::before { content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, var(--green-500), var(--green-700)); }
.rsg-page .ein-warning::after { content: ""; position: absolute; top: -60px; right: -60px; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(circle, rgba(44,122,75,0.14) 0%, transparent 70%); pointer-events: none; }
.rsg-page .ein-warning-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; position: relative; }
.rsg-page .ein-warning .ew-pulse { width: 10px; height: 10px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 0 4px rgba(44,122,75,0.22); animation: pulse 2s infinite; flex-shrink: 0; }
.rsg-page .ein-warning .ew-eyebrow { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--green-700); font-weight: 700; }
.rsg-page .ein-warning .ew-body { font-size: 15px; line-height: 1.55; color: var(--ink-900); margin: 0 0 14px; font-weight: 500; }
.rsg-page .ein-warning .ew-body strong { color: var(--green-700); font-weight: 700; }
.rsg-page .ein-warning .ew-solution { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; background: #fff; border-radius: 10px; border-left: 3px solid var(--green-500); border: 1px solid rgba(44,122,75,0.20); border-left: 3px solid var(--green-500); }
.rsg-page .ein-warning .ew-solution .ews-tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-700); font-weight: 700; white-space: nowrap; padding-top: 2px; }
.rsg-page .ein-warning .ew-solution p { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--ink-2); }
.rsg-page .ein-warning .ew-solution p strong { color: var(--ink-900); font-weight: 700; }

.rsg-page .multichannel-insight { background: linear-gradient(135deg, var(--green-50) 0%, #fff 60%); border: 1px solid var(--line); border-left: 4px solid var(--green-500); border-radius: var(--radius-md); padding: 22px 26px; margin: 0 0 32px; display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: flex-start; }
.rsg-page .multichannel-insight .mi-icon { width: 44px; height: 44px; border-radius: 12px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(44,122,75,0.30); flex-shrink: 0; }
.rsg-page .multichannel-insight .mi-icon svg { width: 22px; height: 22px; }
.rsg-page .multichannel-insight .mi-eye { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-700); font-weight: 700; margin-bottom: 6px; display: block; }
.rsg-page .multichannel-insight h4 { font-size: 17px; margin: 0 0 8px; color: var(--ink-900); font-weight: 800; line-height: 1.3; }
.rsg-page .multichannel-insight p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--ink-2); }
.rsg-page .multichannel-insight p strong { color: var(--ink-900); }

.rsg-page .badge-cta-row { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 16px 0 8px; }
.rsg-page .badge-cta-row .bcr-btn { padding: 10px 20px; font-size: 12.5px; border-radius: 999px; }
.rsg-page .badge-cta-row .bcr-btn svg { width: 14px !important; height: 14px !important; }
.rsg-page .badge-cta-row .bcr-subline { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; color: var(--ink-500); font-style: italic; text-align: center; }
.rsg-page .multichannel-insight .mc-action { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(44,122,75,0.15); display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.rsg-page .multichannel-insight .mc-action .bcr-btn { padding: 8px 16px; font-size: 11.5px; border-radius: 999px; flex-shrink: 0; }
.rsg-page .multichannel-insight .mc-action .bcr-btn svg { width: 13px !important; height: 13px !important; margin-right: 5px !important; }
.rsg-page .multichannel-insight .mc-action .bcr-subline { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.04em; color: var(--ink-500); font-style: italic; flex: 1; min-width: 200px; text-align: left; }
@media (max-width: 640px) {
  .rsg-page .multichannel-insight .mc-action { flex-direction: column; align-items: flex-start; gap: 10px; }
  .rsg-page .multichannel-insight .mc-action .bcr-subline { width: 100%; }
}

@media (max-width: 768px) {
  .rsg-page .vtimeline-steps { grid-template-columns: 1fr 1fr; gap: 10px; }
  .rsg-page .vt-arrow { display: none; }
  .rsg-page .ein-warning { padding: 20px 22px; }
  .rsg-page .ein-warning .ew-solution { flex-direction: column; gap: 6px; }
}

/* ============================================================
   §7 RANKING FACTORS — evidence images + 4-factor grid + closing
   ============================================================ */
.rsg-page .rank-evidence { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin: 0 0 36px; }
.rsg-page .rank-evidence .re-img { margin: 0; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 14px; display: flex; flex-direction: column; gap: 12px; box-shadow: var(--shadow-sm); }
.rsg-page .rank-evidence .re-img img { width: 100%; height: auto; display: block; border-radius: 10px; max-height: 240px; object-fit: contain; background: var(--paper-soft); }
.rsg-page .rank-evidence .re-img figcaption { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; color: var(--ink-500); font-weight: 600; text-align: center; }

.rsg-page .rank-factors-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin: 0 0 28px; }
.rsg-page .rf-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px 26px; position: relative; overflow: hidden; box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.rsg-page .rf-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.05); border-color: rgba(44,122,75,0.20); }
.rsg-page .rf-card::before { content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, var(--green-500), var(--green-700)); }
.rsg-page .rf-card .rf-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.rsg-page .rf-card .rf-num { font-family: var(--font-display); font-size: 22px; font-weight: 800; color: var(--green-700); letter-spacing: -0.02em; padding: 4px 12px; background: var(--green-50); border-radius: 8px; line-height: 1; }
.rsg-page .rf-card .rf-icon { width: 42px; height: 42px; border-radius: 10px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 6px 16px rgba(44,122,75,0.28); }
.rsg-page .rf-card .rf-icon svg { width: 20px; height: 20px; }
.rsg-page .rf-card h3 { font-size: 18px; margin: 0 0 10px; color: var(--ink-900); font-weight: 800; line-height: 1.3; }
.rsg-page .rf-card p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--ink-2); }
.rsg-page .rf-card p strong { color: var(--ink-900); font-weight: 700; }
.rsg-page .rf-card p em { color: var(--green-700); font-style: italic; font-weight: 600; }

.rsg-page .rank-closing { background: linear-gradient(135deg, var(--paper-soft) 0%, var(--green-50) 100%); border: 1px solid var(--line); border-left: 5px solid var(--green-500); border-radius: var(--radius-md); padding: 22px 28px; }
.rsg-page .rank-closing p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--ink-700); font-family: var(--font-display); }
.rsg-page .rank-closing p em { font-style: italic; color: var(--ink-2); font-weight: 500; }
.rsg-page .rank-closing p strong { color: var(--green-700); font-weight: 800; }

@media (max-width: 880px) {
  .rsg-page .rank-evidence { grid-template-columns: 1fr; }
  .rsg-page .rank-factors-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   §8 CASE STUDIES — dark unified section with 2 articles
   ============================================================ */
.rsg-page .cs-section { background: linear-gradient(180deg, #0A0A0A 0%, #1A1A1A 50%, #0F0F0F 100%); position: relative; overflow: hidden; }
.rsg-page .cs-section::before { content: ""; position: absolute; top: 0; right: -200px; width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(44,122,75,0.10) 0%, transparent 70%); pointer-events: none; }
.rsg-page .cs-section::after { content: ""; position: absolute; bottom: 0; left: -200px; width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(44,122,75,0.08) 0%, transparent 70%); pointer-events: none; }
.rsg-page .cs-section .container { position: relative; z-index: 1; }

.rsg-page .cs-card { background: linear-gradient(135deg, rgba(255,255,255,0.04), rgba(44,122,75,0.04)); border: 1px solid rgba(255,255,255,0.10); border-radius: 22px; padding: 36px 36px 32px; margin: 0 0 32px; position: relative; overflow: hidden; box-shadow: 0 24px 60px rgba(0,0,0,0.35); }
.rsg-page .cs-card:last-child { margin-bottom: 0; }
.rsg-page .cs-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--green-500), var(--green-700), var(--green-500)); }

.rsg-page .cs-card .cs-head { margin-bottom: 26px; }
.rsg-page .cs-card .cs-loc { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--green-500); font-weight: 700; display: inline-block; padding: 6px 14px; background: rgba(44,122,75,0.15); border: 1px solid rgba(44,122,75,0.30); border-radius: 999px; margin-bottom: 14px; }
.rsg-page .cs-card .cs-head h3 { color: #fff; font-size: clamp(22px, 2.4vw, 28px); margin: 0; font-weight: 800; line-height: 1.25; letter-spacing: -0.015em; }

.rsg-page .cs-stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 28px; }
.rsg-page .cs-stat { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; padding: 16px 18px; }
.rsg-page .cs-stat strong { display: block; font-family: var(--font-display); font-size: 26px; font-weight: 800; color: #fff; line-height: 1; letter-spacing: -0.015em; }
.rsg-page .cs-stat span { display: block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.55); font-weight: 600; margin-top: 8px; line-height: 1.3; }
.rsg-page .cs-stat.highlight { background: linear-gradient(135deg, rgba(44,122,75,0.18), rgba(44,122,75,0.06)); border-color: rgba(44,122,75,0.40); box-shadow: 0 4px 16px rgba(44,122,75,0.20); }
.rsg-page .cs-stat.highlight strong { color: var(--green-500); }

.rsg-page .cs-imgs { display: grid; grid-template-columns: 1.1fr 1fr; gap: 16px; margin-bottom: 28px; }
.rsg-page .cs-imgs .cs-img { margin: 0; background: #fff; border-radius: 14px; padding: 12px 12px 10px; position: relative; box-shadow: 0 12px 32px rgba(0,0,0,0.35); }
.rsg-page .cs-imgs .cs-img-tag { position: absolute; top: -10px; left: 14px; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: #fff; background: var(--green-700); padding: 4px 10px; border-radius: 999px; font-weight: 700; box-shadow: 0 4px 10px rgba(44,122,75,0.35); white-space: nowrap; }
.rsg-page .cs-imgs .cs-img img { width: 100%; height: auto; display: block; border-radius: 8px; max-height: 260px; object-fit: contain; background: var(--paper-soft); }

.rsg-page .cs-body { font-size: 14.5px; line-height: 1.7; color: rgba(255,255,255,0.82); margin: 0 0 18px; }
.rsg-page .cs-body strong { color: #fff; font-weight: 700; }
.rsg-page .cs-body:last-of-type { margin-bottom: 0; }

.rsg-page .cs-totals { margin-top: 28px; padding: 22px 24px; background: linear-gradient(135deg, rgba(44,122,75,0.10), rgba(255,255,255,0.02)); border: 1px solid rgba(44,122,75,0.25); border-radius: 14px; }
.rsg-page .cs-totals-tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--green-500); font-weight: 700; margin-bottom: 16px; display: inline-flex; align-items: center; gap: 8px; }
.rsg-page .cs-totals-tag::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 0 4px rgba(44,122,75,0.20); }
.rsg-page .cs-totals-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.rsg-page .ctot strong { display: block; font-family: var(--font-display); font-size: 28px; font-weight: 800; color: #fff; line-height: 1; letter-spacing: -0.02em; }
.rsg-page .ctot span { display: block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.55); font-weight: 600; margin-top: 8px; line-height: 1.3; }

.rsg-page .cs-quote { margin-top: 28px; padding: 22px 26px; background: rgba(0,0,0,0.30); border: 1px solid rgba(255,255,255,0.08); border-left: 4px solid var(--green-500); border-radius: 14px; }
.rsg-page .cs-quote-tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--green-500); font-weight: 700; margin-bottom: 10px; display: block; }
.rsg-page .cs-quote p { margin: 0; font-size: 14.5px; line-height: 1.7; color: rgba(255,255,255,0.85); }
.rsg-page .cs-quote p strong { color: #fff; font-weight: 700; }
.rsg-page .cs-quote p em { color: var(--green-500); font-style: italic; font-weight: 600; }

.rsg-page .cs-cta-row { margin-top: 24px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.rsg-page .cs-cta { padding: 9px 18px; font-size: 12px; border-radius: 999px; }
.rsg-page .cs-cta-sub { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.06em; color: rgba(255,255,255,0.55); font-style: italic; flex: 1; min-width: 200px; }

@media (max-width: 880px) {
  .rsg-page .cs-card { padding: 28px 24px; }
  .rsg-page .cs-stat-row { grid-template-columns: repeat(2, 1fr); }
  .rsg-page .cs-imgs { grid-template-columns: 1fr; }
  .rsg-page .cs-totals-grid { grid-template-columns: repeat(2, 1fr); }
  .rsg-page .cs-cta-row { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   §8 CASE STUDIES — compact 2-col layout (v2)
   ============================================================ */
.rsg-page .cs-card { padding: 30px 30px 28px; }
.rsg-page .cs-card .cs-head { margin-bottom: 22px; }
.rsg-page .cs-card .cs-head h3 { color: #fff; font-size: clamp(20px, 2.2vw, 26px); }

.rsg-page .cs-split { display: grid; grid-template-columns: 1fr 1.05fr; gap: 28px; align-items: stretch; margin-bottom: 22px; }
.rsg-page .cs-left { display: flex; flex-direction: column; gap: 14px; }
.rsg-page .cs-tag { display: inline-block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--green-500); background: rgba(44,122,75,0.15); border: 1px solid rgba(44,122,75,0.30); padding: 6px 14px; border-radius: 999px; font-weight: 700; align-self: flex-start; }
.rsg-page .cs-stats3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.rsg-page .cs3 { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10); border-top: 2px solid var(--green-500); border-radius: 10px; padding: 14px 14px 12px; }
.rsg-page .cs3 strong { display: block; font-family: var(--font-display); font-size: 22px; font-weight: 800; color: #fff; line-height: 1; letter-spacing: -0.015em; }
.rsg-page .cs3 span { display: block; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.55); font-weight: 600; margin-top: 8px; line-height: 1.3; }
.rsg-page .cs-quote-side { margin: 4px 0 0; padding: 14px 16px; background: rgba(44,122,75,0.10); border: 1px solid rgba(44,122,75,0.25); border-left: 3px solid var(--green-500); border-radius: 10px; font-size: 13.5px; line-height: 1.6; color: rgba(255,255,255,0.85); }
.rsg-page .cs-quote-side em { font-style: italic; color: #fff; font-weight: 500; }
.rsg-page .cs-right { display: flex; align-items: center; justify-content: center; }

.rsg-page .cs-window { width: 100%; background: #fff; border-radius: 12px; padding: 0; overflow: hidden; box-shadow: 0 16px 38px rgba(0,0,0,0.40); border: 1px solid rgba(255,255,255,0.08); }
.rsg-page .cs-window-bar { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: #F4F4F0; border-bottom: 1px solid var(--line-2); }
.rsg-page .csw-dots { display: inline-flex; gap: 6px; }
.rsg-page .csw-dots i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.rsg-page .csw-dots i:nth-child(1) { background: #FF5F56; }
.rsg-page .csw-dots i:nth-child(2) { background: #FFBD2E; }
.rsg-page .csw-dots i:nth-child(3) { background: #27C93F; }
.rsg-page .csw-label { flex: 1; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.10em; text-transform: uppercase; color: var(--ink-700); font-weight: 700; text-align: center; }
.rsg-page .csw-live { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--green-700); font-weight: 700; }
.rsg-page .cs-window img { width: 100%; height: auto; display: block; max-height: 280px; object-fit: contain; background: #fff; padding: 8px; }

.rsg-page .cs-body { font-size: 14px; line-height: 1.65; color: rgba(255,255,255,0.82); margin: 0 0 22px; }
.rsg-page .cs-body strong { color: #fff; font-weight: 700; }

.rsg-page .cs-totals-compact { background: rgba(0,0,0,0.30); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 22px 22px 22px; }
.rsg-page .csc-tag { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-500); font-weight: 700; margin-bottom: 14px; }
.rsg-page .csc-tag::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 0 4px rgba(44,122,75,0.20); }
.rsg-page .csc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
.rsg-page .csc { padding: 12px 14px; background: rgba(255,255,255,0.04); border-radius: 10px; border: 1px solid rgba(255,255,255,0.06); }
.rsg-page .csc strong { display: block; font-family: var(--font-display); font-size: 22px; font-weight: 800; color: #fff; line-height: 1; }
.rsg-page .csc span { display: block; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.55); font-weight: 600; margin-top: 6px; line-height: 1.3; }
.rsg-page .csc-chart { margin-top: 4px; }

@media (max-width: 880px) {
  .rsg-page .cs-card { padding: 24px 22px; }
  .rsg-page .cs-split { grid-template-columns: 1fr; gap: 20px; }
  .rsg-page .cs-stats3 { grid-template-columns: repeat(3, 1fr); }
  .rsg-page .csc-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .rsg-page .cs-stats3 { grid-template-columns: 1fr; }
  .rsg-page .cs3 strong { font-size: 20px; }
}

/* ============================================================
   §11 WHY CHOOSE US — 3 reason cards (HVAC-Only / Premier Partner / Daily Ops)
   ============================================================ */
.rsg-page .why-reasons { display: grid; grid-template-columns: 1fr; gap: 20px; margin: 0 0 32px; }
.rsg-page .wr-card { border-radius: var(--radius-lg); padding: 32px 32px 28px; position: relative; overflow: hidden; box-shadow: var(--shadow-md); transition: transform .25s ease, box-shadow .25s ease; }
.rsg-page .wr-card:hover { transform: translateY(-3px); box-shadow: 0 20px 50px rgba(0,0,0,0.10); }
.rsg-page .wr-card::before { content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 5px; background: linear-gradient(180deg, var(--green-500), var(--green-700)); }
.rsg-page .wr-card.wr-light { background: linear-gradient(135deg, #fff 0%, var(--green-50) 100%); border: 1px solid var(--line); }
.rsg-page .wr-card.wr-dark { background: linear-gradient(135deg, #0F0F0F 0%, #1F1F1F 100%); border: 1px solid rgba(255,255,255,0.08); color: rgba(255,255,255,0.85); }
.rsg-page .wr-card.wr-dark::before { background: var(--green-500); }
.rsg-page .wr-card.wr-discipline { background: linear-gradient(135deg, var(--paper-soft) 0%, #fff 50%, var(--green-50) 100%); border: 1px solid var(--line); }
.rsg-page .wr-card.wr-discipline::before { background: var(--green-500); }

.rsg-page .wr-head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; flex-wrap: wrap; }
.rsg-page .wr-num { font-family: var(--font-display); font-size: 24px; font-weight: 800; color: var(--green-600); padding: 6px 14px; background: var(--green-50); border: 1px solid var(--green-500); border-radius: 10px; line-height: 1; letter-spacing: -0.02em; }
.rsg-page .wr-card.wr-dark .wr-num { background: rgba(44,122,75,0.18); border-color: rgba(44,122,75,0.45); color: var(--green-500); }
.rsg-page .wr-pill { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-700); padding: 6px 14px; background: var(--green-50); border-radius: 999px; font-weight: 700; }
.rsg-page .wr-card.wr-dark .wr-pill { background: rgba(44,122,75,0.18); color: var(--green-500); }

.rsg-page .wr-card h3 { font-size: 22px; margin: 0 0 14px; color: var(--ink-900); font-weight: 800; line-height: 1.25; }
.rsg-page .wr-card.wr-dark h3 { color: #fff; }
.rsg-page .wr-body { font-size: 14.5px; line-height: 1.65; color: var(--ink-2); margin: 0 0 16px; }
.rsg-page .wr-card.wr-dark .wr-body { color: rgba(255,255,255,0.78); }
.rsg-page .wr-card.wr-dark .wr-body strong { color: #fff; }

.rsg-page .wr-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.rsg-page .wr-list li { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.55; color: var(--ink-2); }
.rsg-page .wr-list li svg { width: 22px; height: 22px; color: #fff; background: var(--green-500); border-radius: 50%; padding: 4px; flex-shrink: 0; box-shadow: 0 3px 10px rgba(44,122,75,0.32); margin-top: 1px; }
.rsg-page .wr-list li strong { color: var(--ink-900); font-weight: 700; }
.rsg-page .wr-card.wr-dark .wr-list li { color: rgba(255,255,255,0.78); }
.rsg-page .wr-card.wr-dark .wr-list li strong { color: #fff; }

.rsg-page .wr-cadence-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 0 0 22px; }
.rsg-page .wr-cad { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 16px 12px 14px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; position: relative; overflow: hidden; transition: border-color .2s; }
.rsg-page .wr-cad::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--green-500); }
.rsg-page .wr-cad:hover { border-color: var(--green-500); }
.rsg-page .wrc-num { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-700); font-weight: 700; padding: 3px 8px; background: var(--green-50); border-radius: 6px; }
.rsg-page .wrc-lbl { font-family: var(--font-display); font-size: 13px; font-weight: 700; color: var(--ink-900); line-height: 1.3; }

.rsg-page .wr-closing { background: var(--green-50); color: var(--ink-900); border: 1px solid rgba(44,122,75,0.25); border-left: 4px solid var(--green-500); border-radius: var(--radius-md); padding: 16px 20px; display: grid; grid-template-columns: 32px 1fr; gap: 14px; align-items: center; }
.rsg-page .wr-closing .wrcl-icon { width: 32px; height: 32px; border-radius: 50%; background: var(--green-500); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsg-page .wr-closing .wrcl-icon svg { width: 16px; height: 16px; color: #fff; }
.rsg-page .wr-closing p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--ink-2); }
.rsg-page .wr-closing p strong { color: var(--ink-900); font-weight: 700; }

.rsg-page .why-cta-row { display: flex; justify-content: flex-start; padding: 6px 0; }
.rsg-page .why-cta { padding: 10px 22px; font-size: 13px; border-radius: 999px; }

@media (max-width: 880px) {
  .rsg-page .wr-card { padding: 24px 22px; }
  .rsg-page .wr-cadence-grid { grid-template-columns: repeat(2, 1fr); }
  .rsg-page .wr-card h3 { font-size: 19px; }
}
@media (max-width: 480px) {
  .rsg-page .wr-cadence-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   §12 DISPUTES — comparison table + Google AI callout + rate rule
   ============================================================ */
.rsg-page .disp-evidence { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 0; overflow: hidden; box-shadow: var(--shadow-md); margin: 0 0 36px; }
.rsg-page .disp-evidence .de-bar { display: flex; align-items: center; gap: 14px; padding: 10px 16px; background: #F4F4F0; border-bottom: 1px solid var(--line-2); }
.rsg-page .de-dots { display: inline-flex; gap: 6px; }
.rsg-page .de-dots i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.rsg-page .de-dots i:nth-child(1) { background: #FF5F56; } .rsg-page .de-dots i:nth-child(2) { background: #FFBD2E; } .rsg-page .de-dots i:nth-child(3) { background: #27C93F; }
.rsg-page .de-label { flex: 1; text-align: center; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-700); font-weight: 700; }
.rsg-page .de-live { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--green-700); font-weight: 700; }
.rsg-page .disp-evidence img { width: 100%; height: auto; display: block; padding: 12px; background: #fff; }

.rsg-page .disp-subhead { font-size: 22px; font-weight: 800; color: var(--ink-900); margin: 0 0 18px; }

.rsg-page .disp-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 0 0 28px; }
.rsg-page .dc-col { background: #fff; border-radius: var(--radius-lg); padding: 28px 28px 24px; position: relative; box-shadow: var(--shadow-sm); overflow: hidden; border: 1px solid var(--line); }
.rsg-page .dc-col::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; }
.rsg-page .dc-col.dc-yes { background: linear-gradient(180deg, #fff 0%, var(--green-50) 100%); border-color: rgba(44,122,75,0.30); }
.rsg-page .dc-col.dc-yes::before { background: var(--green-500); }
.rsg-page .dc-col.dc-no { background: linear-gradient(180deg, #fff 0%, #FFF5F5 100%); border-color: rgba(200,32,43,0.25); }
.rsg-page .dc-col.dc-no::before { background: var(--red); }

.rsg-page .dc-header { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--line-2); }
.rsg-page .dc-tick, .rsg-page .dc-x { width: 44px; height: 44px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 6px 16px rgba(0,0,0,0.10); }
.rsg-page .dc-tick { background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; }
.rsg-page .dc-x { background: linear-gradient(135deg, var(--red), #8E1620); color: #fff; }
.rsg-page .dc-tick svg, .rsg-page .dc-x svg { width: 22px; height: 22px; }
.rsg-page .dc-eyebrow { display: block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; margin-bottom: 4px; }
.rsg-page .dc-yes .dc-eyebrow { color: var(--green-700); }
.rsg-page .dc-no .dc-eyebrow { color: var(--red); }
.rsg-page .dc-header h4 { margin: 0; font-size: 16px; color: var(--ink-900); font-weight: 800; line-height: 1.3; }
.rsg-page .dc-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.rsg-page .dc-list li { font-size: 14px; line-height: 1.55; color: var(--ink-2); padding-left: 22px; position: relative; }
.rsg-page .dc-list li::before { content: ""; position: absolute; left: 0; top: 7px; width: 10px; height: 10px; border-radius: 50%; }
.rsg-page .dc-yes .dc-list li::before { background: var(--green-500); box-shadow: 0 0 0 3px rgba(44,122,75,0.15); }
.rsg-page .dc-no .dc-list li::before { background: var(--red); box-shadow: 0 0 0 3px rgba(200,32,43,0.12); }
.rsg-page .dc-yes .dc-list li strong { color: var(--ink-900); font-weight: 700; }

.rsg-page .disp-ai-callout { background: linear-gradient(135deg, #F4F8FF 0%, #EBF2FE 100%); color: var(--ink-900); border-radius: var(--radius-lg); padding: 26px 30px; margin: 0 0 28px; display: grid; grid-template-columns: 56px 1fr; gap: 20px; align-items: flex-start; position: relative; overflow: hidden; border: 1px solid rgba(66,133,244,0.25); }
.rsg-page .disp-ai-callout::before { content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, #4285F4, var(--green-500)); }
.rsg-page .disp-ai-callout::after { content: ""; position: absolute; top: -40px; right: -40px; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(circle, rgba(66,133,244,0.18) 0%, transparent 70%); pointer-events: none; }
.rsg-page .disp-ai-callout .dac-icon { width: 56px; height: 56px; border-radius: 14px; background: linear-gradient(135deg, #4285F4, #1E5BC4); color: #fff; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 8px 22px rgba(66,133,244,0.32); position: relative; z-index: 1; }
.rsg-page .disp-ai-callout .dac-icon svg { width: 28px; height: 28px; }
.rsg-page .disp-ai-callout .dac-body { position: relative; z-index: 1; }
.rsg-page .disp-ai-callout .dac-eye { display: block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: #4285F4; font-weight: 700; margin-bottom: 8px; }
.rsg-page .disp-ai-callout p { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--ink-2); }
.rsg-page .disp-ai-callout p strong { color: var(--ink-900); font-weight: 700; }

.rsg-page .disp-rule { background: #fff; border: 1px solid var(--line); border-left: 5px solid var(--green-500); border-radius: var(--radius-lg); padding: 26px 30px; margin: 0 0 24px; box-shadow: var(--shadow-sm); }
.rsg-page .disp-rule .dr-rate { display: grid; grid-template-columns: 1fr 60px 1fr; gap: 18px; align-items: center; padding-bottom: 20px; margin-bottom: 18px; border-bottom: 1px solid var(--line-2); }
.rsg-page .disp-rule .drr-pct { text-align: center; padding: 14px 18px; background: var(--green-50); border-radius: var(--radius-md); border: 1px solid rgba(44,122,75,0.20); }
.rsg-page .disp-rule .drr-pct strong { display: block; font-family: var(--font-display); font-size: 30px; font-weight: 800; color: var(--green-700); line-height: 1; letter-spacing: -0.02em; }
.rsg-page .disp-rule .drr-pct span { display: block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; margin-top: 8px; }
.rsg-page .disp-rule .drr-pct.danger { background: #FFF5F5; border-color: rgba(200,32,43,0.20); }
.rsg-page .disp-rule .drr-pct.danger strong { color: var(--red); }
.rsg-page .disp-rule .drr-divider { font-family: var(--font-display); font-size: 14px; font-weight: 800; color: var(--ink-500); text-align: center; position: relative; }
.rsg-page .disp-rule .drr-divider::before { content: "VS"; }
.rsg-page .disp-rule .dr-body { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--ink-2); }
.rsg-page .disp-rule .dr-body strong { color: var(--ink-900); font-weight: 700; }

.rsg-page .disp-cta-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 6px 0; }
.rsg-page .disp-cta { padding: 10px 22px; font-size: 13px; border-radius: 999px; }
.rsg-page .disp-cta-sub { font-family: var(--font-mono); font-size: 13.5px; letter-spacing: 0.02em; color: var(--ink-700); font-style: italic; flex: 1; min-width: 220px; }

@media (max-width: 880px) {
  .rsg-page .disp-compare { grid-template-columns: 1fr; }
  .rsg-page .disp-ai-callout { grid-template-columns: 1fr; padding: 22px 24px; gap: 14px; }
  .rsg-page .disp-rule .dr-rate { grid-template-columns: 1fr; gap: 12px; }
  .rsg-page .disp-rule .drr-divider { padding: 6px 0; }
}

/* VOLUME SWINGS section styling */
.rsg-page .vol-grid { display: grid; grid-template-columns: 1.55fr 1fr; gap: 24px; margin: 0 0 32px; align-items: stretch; }

.rsg-page .vol-chart { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); margin: 0; display: flex; flex-direction: column; }
.rsg-page .vol-chart .vc-bar { display: flex; align-items: center; gap: 14px; padding: 10px 16px; background: #F4F4F0; border-bottom: 1px solid var(--line-2); }
.rsg-page .vol-chart .vc-bar .de-label { flex: 1; text-align: center; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-700); font-weight: 700; }
.rsg-page .vol-chart .vc-bar .de-live { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--green-700); font-weight: 700; }
.rsg-page .vol-chart img { width: 100%; height: auto; display: block; padding: 14px; background: #fff; flex: 1; object-fit: contain; }

.rsg-page .vol-months { display: grid; grid-template-rows: 1fr 1fr 1fr; gap: 14px; }
.rsg-page .vm-tile { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 18px 22px 16px; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; gap: 10px; position: relative; overflow: hidden; }
.rsg-page .vm-tile::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 4px; }
.rsg-page .vm-tile.vm-peak::before { background: var(--green-500); }
.rsg-page .vm-tile.vm-low::before { background: #C8202B; }
.rsg-page .vm-tile.vm-mid::before { background: #E0A828; }

.rsg-page .vm-tile .vm-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.rsg-page .vm-tile .vm-rank { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); }
.rsg-page .vm-tile.vm-peak .vm-rank { color: var(--green-700); }
.rsg-page .vm-tile.vm-low .vm-rank { color: #C8202B; }
.rsg-page .vm-tile.vm-mid .vm-rank { color: #B6831A; }
.rsg-page .vm-tile .vm-count { display: inline-flex; align-items: baseline; gap: 6px; }
.rsg-page .vm-tile .vm-count strong { font-family: var(--font-display); font-size: 28px; font-weight: 800; color: var(--ink-900); line-height: 1; letter-spacing: -0.02em; }
.rsg-page .vm-tile.vm-peak .vm-count strong { color: var(--green-700); }
.rsg-page .vm-tile.vm-low .vm-count strong { color: #C8202B; }
.rsg-page .vm-tile.vm-mid .vm-count strong { color: #B6831A; }
.rsg-page .vm-tile .vm-count span { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; }
.rsg-page .vm-tile .vm-month { font-family: var(--font-display); font-size: 22px; font-weight: 800; color: var(--ink-900); line-height: 1.1; letter-spacing: -0.01em; margin: 0; }

.rsg-page .vm-tile .vm-gauge { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
.rsg-page .vm-tile .vm-gauge-track { position: relative; height: 10px; background: #F1EFEA; border-radius: 999px; overflow: hidden; }
.rsg-page .vm-tile .vm-gauge-fill { position: absolute; top: 0; left: 0; bottom: 0; border-radius: 999px; transition: width 0.4s ease; }
.rsg-page .vm-tile.vm-peak .vm-gauge-fill { background: linear-gradient(90deg, #4FB37A, var(--green-500)); }
.rsg-page .vm-tile.vm-low .vm-gauge-fill { background: linear-gradient(90deg, #E45A65, #C8202B); }
.rsg-page .vm-tile.vm-mid .vm-gauge-fill { background: linear-gradient(90deg, #ECC04C, #C8941A); }
.rsg-page .vm-tile .vm-gauge-tick { position: absolute; top: -3px; bottom: -3px; width: 1px; background: rgba(0,0,0,0.20); }
.rsg-page .vm-tile .vm-gauge-meta { display: flex; align-items: center; justify-content: space-between; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; }
.rsg-page .vm-tile .vm-gauge-meta strong { color: var(--ink-900); font-weight: 800; font-family: var(--font-display); font-size: 12px; letter-spacing: -0.01em; text-transform: none; }
.rsg-page .vm-tile.vm-peak .vm-gauge-meta strong { color: var(--green-700); }
.rsg-page .vm-tile.vm-low .vm-gauge-meta strong { color: #C8202B; }
.rsg-page .vm-tile.vm-mid .vm-gauge-meta strong { color: #B6831A; }

.rsg-page .vol-explain { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 0 0 24px; }
.rsg-page .ve-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px 26px; box-shadow: var(--shadow-sm); position: relative; }
.rsg-page .ve-card.ve-why { border-left: 4px solid #E0A828; }
.rsg-page .ve-card.ve-fix { border-left: 4px solid var(--green-500); }
.rsg-page .ve-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; color: var(--ink-700); margin-bottom: 12px; }
.rsg-page .ve-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.rsg-page .ve-dot-amber { background: #E0A828; box-shadow: 0 0 0 3px rgba(224,168,40,0.18); }
.rsg-page .ve-dot-green { background: var(--green-500); box-shadow: 0 0 0 3px rgba(44,122,75,0.18); }
.rsg-page .ve-card p { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--ink-2); }
.rsg-page .ve-card p strong { color: var(--ink-900); font-weight: 700; }

@media (max-width: 980px) {
  .rsg-page .vol-grid { grid-template-columns: 1fr; }
  .rsg-page .vol-months { grid-template-rows: auto; grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 720px) {
  .rsg-page .vol-explain { grid-template-columns: 1fr; }
  .rsg-page .vol-months { grid-template-columns: 1fr; }
  .rsg-page .vm-tile { grid-template-columns: 1fr auto 48px; }
}


/* PARTNERSHIP section - 4 step cards + closing emphasis */
.rsg-page .partner-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin: 0 0 32px; }

.rsg-page .ps-card { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 30px 30px 26px; box-shadow: 0 4px 14px rgba(0,0,0,0.04); overflow: hidden; min-height: 280px; display: flex; flex-direction: column; gap: 0; isolation: isolate; transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; }
.rsg-page .ps-card::before { content: ""; position: absolute; top: 0; right: 0; width: 260px; height: 260px; pointer-events: none; z-index: 0; opacity: 0.85; transition: opacity 0.3s ease; }
.rsg-page .ps-card::after { content: ""; position: absolute; bottom: -120px; left: -60px; width: 280px; height: 280px; border-radius: 50%; pointer-events: none; z-index: 0; opacity: 0.5; transition: opacity 0.3s ease; }
.rsg-page .ps-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0,0,0,0.10); }
.rsg-page .ps-card:hover::before { opacity: 1; }
.rsg-page .ps-card:hover::after { opacity: 0.75; }
.rsg-page .ps-card:hover .ps-medallion { transform: rotate(-6deg) scale(1.05); }

.rsg-page .ps-card.ps-1::before { background: radial-gradient(circle at top right, rgba(44,122,75,0.16) 0%, transparent 65%); }
.rsg-page .ps-card.ps-1::after { background: radial-gradient(circle, rgba(44,122,75,0.10) 0%, transparent 70%); }
.rsg-page .ps-card.ps-1:hover { border-color: rgba(44,122,75,0.32); }

.rsg-page .ps-card.ps-2::before { background: radial-gradient(circle at top right, rgba(224,168,40,0.18) 0%, transparent 65%); }
.rsg-page .ps-card.ps-2::after { background: radial-gradient(circle, rgba(224,168,40,0.10) 0%, transparent 70%); }
.rsg-page .ps-card.ps-2:hover { border-color: rgba(224,168,40,0.38); }

.rsg-page .ps-card.ps-3::before { background: radial-gradient(circle at top right, rgba(66,133,244,0.16) 0%, transparent 65%); }
.rsg-page .ps-card.ps-3::after { background: radial-gradient(circle, rgba(66,133,244,0.10) 0%, transparent 70%); }
.rsg-page .ps-card.ps-3:hover { border-color: rgba(66,133,244,0.32); }

.rsg-page .ps-card.ps-4::before { background: radial-gradient(circle at top right, rgba(200,32,43,0.14) 0%, transparent 65%); }
.rsg-page .ps-card.ps-4::after { background: radial-gradient(circle, rgba(200,32,43,0.08) 0%, transparent 70%); }
.rsg-page .ps-card.ps-4:hover { border-color: rgba(200,32,43,0.32); }

.rsg-page .ps-medallion { position: absolute; top: 24px; right: 24px; width: 64px; height: 64px; border-radius: 20px; display: inline-flex; align-items: center; justify-content: center; color: #fff; z-index: 2; transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1); }
.rsg-page .ps-medallion::before { content: ""; position: absolute; inset: -6px; border-radius: 26px; border: 1px dashed; opacity: 0.35; pointer-events: none; }
.rsg-page .ps-medallion svg { width: 28px; height: 28px; position: relative; z-index: 1; }
.rsg-page .ps-card.ps-1 .ps-medallion { background: linear-gradient(135deg, #4FB37A, var(--green-700)); box-shadow: 0 12px 28px rgba(44,122,75,0.36), inset 0 1px 0 rgba(255,255,255,0.30); }
.rsg-page .ps-card.ps-1 .ps-medallion::before { border-color: var(--green-500); }
.rsg-page .ps-card.ps-2 .ps-medallion { background: linear-gradient(135deg, #ECC04C, #C8941A); box-shadow: 0 12px 28px rgba(224,168,40,0.40), inset 0 1px 0 rgba(255,255,255,0.30); }
.rsg-page .ps-card.ps-2 .ps-medallion::before { border-color: #E0A828; }
.rsg-page .ps-card.ps-3 .ps-medallion { background: linear-gradient(135deg, #6FA1F7, #2B6CD4); box-shadow: 0 12px 28px rgba(66,133,244,0.36), inset 0 1px 0 rgba(255,255,255,0.30); }
.rsg-page .ps-card.ps-3 .ps-medallion::before { border-color: #4285F4; }
.rsg-page .ps-card.ps-4 .ps-medallion { background: linear-gradient(135deg, #E45A65, #C8202B); box-shadow: 0 12px 28px rgba(200,32,43,0.36), inset 0 1px 0 rgba(255,255,255,0.30); }
.rsg-page .ps-card.ps-4 .ps-medallion::before { border-color: #C8202B; }

.rsg-page .ps-tag { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 12px; background: #fff; border: 1px solid; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; align-self: flex-start; max-width: calc(100% - 88px); position: relative; z-index: 1; box-shadow: 0 2px 8px rgba(0,0,0,0.04); margin-bottom: 22px; }
.rsg-page .ps-tag .ps-tag-dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; flex-shrink: 0; }
.rsg-page .ps-card.ps-1 .ps-tag { color: var(--green-700); border-color: rgba(44,122,75,0.28); }
.rsg-page .ps-card.ps-1 .ps-tag .ps-tag-dot { background: var(--green-500); box-shadow: 0 0 0 3px rgba(44,122,75,0.18); }
.rsg-page .ps-card.ps-2 .ps-tag { color: #B6831A; border-color: rgba(224,168,40,0.36); }
.rsg-page .ps-card.ps-2 .ps-tag .ps-tag-dot { background: #E0A828; box-shadow: 0 0 0 3px rgba(224,168,40,0.20); }
.rsg-page .ps-card.ps-3 .ps-tag { color: #2B6CD4; border-color: rgba(66,133,244,0.28); }
.rsg-page .ps-card.ps-3 .ps-tag .ps-tag-dot { background: #4285F4; box-shadow: 0 0 0 3px rgba(66,133,244,0.18); }
.rsg-page .ps-card.ps-4 .ps-tag { color: #C8202B; border-color: rgba(200,32,43,0.28); }
.rsg-page .ps-card.ps-4 .ps-tag .ps-tag-dot { background: #C8202B; box-shadow: 0 0 0 3px rgba(200,32,43,0.18); }

.rsg-page .ps-card h3 { margin: 0 0 12px; font-family: var(--font-display); font-size: 22px; font-weight: 800; color: var(--ink-900); line-height: 1.25; letter-spacing: -0.01em; position: relative; z-index: 1; padding-right: 0; max-width: 100%; }
.rsg-page .ps-card p { margin: 0 0 22px; font-size: 14.5px; line-height: 1.65; color: var(--ink-2); position: relative; z-index: 1; flex: 1; }
.rsg-page .ps-card p strong { color: var(--ink-900); font-weight: 700; }

.rsg-page .ps-foot { display: flex; align-items: center; gap: 12px; padding-top: 18px; border-top: 1px dashed rgba(0,0,0,0.10); position: relative; z-index: 1; }
.rsg-page .ps-foot-line { display: inline-block; width: 28px; height: 2px; border-radius: 2px; flex-shrink: 0; }
.rsg-page .ps-foot-mark { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; }
.rsg-page .ps-card.ps-1 .ps-foot-line { background: var(--green-500); }
.rsg-page .ps-card.ps-1 .ps-foot-mark { color: var(--green-700); }
.rsg-page .ps-card.ps-2 .ps-foot-line { background: #E0A828; }
.rsg-page .ps-card.ps-2 .ps-foot-mark { color: #B6831A; }
.rsg-page .ps-card.ps-3 .ps-foot-line { background: #4285F4; }
.rsg-page .ps-card.ps-3 .ps-foot-mark { color: #2B6CD4; }
.rsg-page .ps-card.ps-4 .ps-foot-line { background: #C8202B; }
.rsg-page .ps-card.ps-4 .ps-foot-mark { color: #C8202B; }


/* PARTNER CLOSE - source-faithful, WP-safe */
.rsg-page .partner-close { background: linear-gradient(135deg, var(--paper-soft) 0%, var(--green-50) 100%) !important; border: 1px solid var(--line) !important; border-left: 5px solid var(--green-500) !important; border-radius: var(--radius-lg) !important; padding: 32px 38px !important; position: relative; }
.rsg-page .partner-close .pc-eyebrow { display: inline-flex !important; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 700; color: var(--green-700) !important; margin: 0 0 14px !important; }
.rsg-page .partner-close .pc-eyebrow-dot { width: 8px !important; height: 8px !important; border-radius: 50% !important; background: var(--green-500) !important; box-shadow: 0 0 0 3px rgba(44,122,75,0.20); display: inline-block !important; flex-shrink: 0; }
.rsg-page .partner-close .pc-body { margin: 0 0 20px !important; padding: 0 0 20px !important; border-bottom: 1px solid rgba(44,122,75,0.22) !important; font-size: 16px !important; line-height: 1.65 !important; color: var(--ink-900) !important; font-weight: 500 !important; }
.rsg-page .partner-close .pc-emph { margin: 0 !important; font-family: var(--font-display) !important; font-size: 17px !important; font-weight: 700 !important; color: var(--ink-900) !important; line-height: 1.5 !important; letter-spacing: -0.01em !important; }
.rsg-page .partner-close .pc-emph em { font-style: italic !important; color: var(--green-700) !important; }
@media (max-width: 920px) {
  .rsg-page .partner-steps { grid-template-columns: 1fr; }
  .rsg-page .ps-card { padding: 26px 24px 22px; min-height: 0; }
  .rsg-page .ps-medallion { top: 20px; right: 20px; width: 54px; height: 54px; }
  .rsg-page .ps-medallion svg { width: 24px; height: 24px; }
  .rsg-page .ps-tag { max-width: calc(100% - 76px); }
  .rsg-page .ps-card h3 { font-size: 19px; }
}

@media (max-width: 560px) {
  .rsg-page .partner-close { padding: 24px 22px; }
  .rsg-page .partner-close .pc-emph { grid-template-columns: 1fr; }
}


/* PRICING SECTION rebuild — included strip + 3 tier cards + ad-spend stats + close */
.rsg-page .pp-included { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 22px 28px; margin: 0 0 32px; box-shadow: var(--shadow-sm); display: grid; grid-template-columns: minmax(220px, 280px) 1fr; gap: 28px; align-items: center; }
.rsg-page .ppi-head { display: flex; flex-direction: column; gap: 6px; }
.rsg-page .ppi-eye { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; color: var(--green-700); }
.rsg-page .ppi-eye-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 0 3px rgba(44,122,75,0.20); display: inline-block; flex-shrink: 0; }
.rsg-page .ppi-sub { font-family: var(--font-display); font-size: 15px; font-weight: 700; color: var(--ink-900); line-height: 1.4; letter-spacing: -0.01em; }
.rsg-page .ppi-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rsg-page .ppi-chip { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px 7px 10px; background: var(--green-50); border: 1px solid rgba(44,122,75,0.20); border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--ink-900); line-height: 1; }
.rsg-page .ppi-chip-ic { 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 .ppi-chip-ic svg { width: 11px; height: 11px; }

.rsg-page .pp-cards { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 18px; margin: 0 0 32px; align-items: stretch; }
.rsg-page .pp-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 30px 28px; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; position: relative; overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; }
.rsg-page .pp-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: rgba(44,122,75,0.28); }
.rsg-page .pp-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--green-500); opacity: 0.7; }
.rsg-page .pp-card.pp-grow::before { background: linear-gradient(90deg, #4FB37A, var(--green-500)); }
.rsg-page .pp-card.pp-dom::before { background: linear-gradient(90deg, var(--green-700), #1B5230); }

.rsg-page .pp-card .ppc-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 18px; }
.rsg-page .pp-card .ppc-name { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.20em; text-transform: uppercase; font-weight: 800; color: var(--green-700); }
.rsg-page .pp-card .ppc-range { display: inline-flex; align-items: center; padding: 5px 11px; background: var(--green-50); border: 1px solid rgba(44,122,75,0.24); border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.10em; text-transform: uppercase; font-weight: 700; color: var(--green-700); }
.rsg-page .pp-card .ppc-price { display: flex; align-items: baseline; gap: 6px; margin: 0 0 18px; }
.rsg-page .pp-card .ppc-price strong { font-family: var(--font-display); font-size: 44px; font-weight: 800; color: var(--ink-900); line-height: 1; letter-spacing: -0.025em; }
.rsg-page .pp-card .ppc-price span { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; }
.rsg-page .pp-card .ppc-best { margin: 0 0 24px; font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--ink-900); line-height: 1.45; letter-spacing: -0.005em; padding-bottom: 22px; border-bottom: 1px dashed rgba(0,0,0,0.10); flex: 1; }
.rsg-page .pp-card .ppc-footer { margin-top: auto; }
.rsg-page .pp-card .ppc-cta { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--green-700); text-decoration: none; transition: gap 0.25s ease, color 0.25s ease; }
.rsg-page .pp-card .ppc-cta svg { width: 14px !important; height: 14px !important; transition: transform 0.25s ease; }
.rsg-page .pp-card .ppc-cta:hover { gap: 12px; color: var(--green-900); }
.rsg-page .pp-card .ppc-cta:hover svg { transform: translateX(2px); }

.rsg-page .pp-card.pp-featured { background: linear-gradient(135deg, #000 0%, #1F1F1F 50%, #2C2C2C 100%); color: #fff; border-color: transparent; box-shadow: 0 20px 50px rgba(0,0,0,0.25); transform: translateY(-8px); }
.rsg-page .pp-card.pp-featured:hover { transform: translateY(-12px); box-shadow: 0 28px 60px rgba(0,0,0,0.32); border-color: transparent; }
.rsg-page .pp-card.pp-featured::before { background: linear-gradient(90deg, var(--green-500), #4FB37A); height: 5px; opacity: 1; }
.rsg-page .pp-card.pp-featured .ppc-name { color: #4FB37A; }
.rsg-page .pp-card.pp-featured .ppc-range { background: rgba(79,179,122,0.14); border-color: rgba(79,179,122,0.35); color: #6BCB94; }
.rsg-page .pp-card.pp-featured .ppc-price strong { color: #fff !important; }
.rsg-page .pp-card.pp-featured .ppc-price span { color: rgba(255,255,255,0.55); }
.rsg-page .pp-card.pp-featured .ppc-best { color: #fff !important; border-bottom-color: rgba(255,255,255,0.18); }
.rsg-page .pp-card.pp-featured .ppc-cta { color: #6BCB94 !important; }
.rsg-page .pp-card.pp-featured .ppc-cta:hover { color: #8DDDB0 !important; }
.rsg-page .pp-card.pp-featured strong, .rsg-page .pp-card.pp-featured b { color: #fff !important; }

.rsg-page .pp-adspend { background: linear-gradient(135deg, var(--paper-soft) 0%, var(--green-50) 100%); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 26px 32px; margin: 0 0 28px; }
.rsg-page .ppa-stats { display: grid; grid-template-columns: 1fr 1px 1fr 1px 1fr; gap: 24px; align-items: center; padding-bottom: 22px; border-bottom: 1px solid rgba(44,122,75,0.22); margin-bottom: 22px; }
.rsg-page .ppa-stat { text-align: center; }
.rsg-page .ppa-stat strong { display: block; font-family: var(--font-display); font-size: 30px; font-weight: 800; color: var(--ink-900); line-height: 1; letter-spacing: -0.025em; }
.rsg-page .ppa-stat strong small { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.04em; color: var(--ink-500); font-weight: 700; }
.rsg-page .ppa-stat span { display: block; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; margin-top: 8px; }
.rsg-page .ppa-stat.ppa-accent strong { color: var(--green-700); }
.rsg-page .ppa-divider { width: 1px; height: 48px; background: rgba(44,122,75,0.22); margin: 0 auto; }
.rsg-page .ppa-explain { display: flex; flex-direction: column; gap: 8px; }
.rsg-page .ppa-explain .ppa-line { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--ink-900); }
.rsg-page .ppa-explain .ppa-note { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--ink-2); font-style: italic; }
.rsg-page .ppa-explain strong { color: var(--ink-900); font-weight: 700; }

.rsg-page .pp-close { display: flex; align-items: center; gap: 28px; padding: 24px 4px 0; border-top: 1px dashed rgba(0,0,0,0.10); flex-wrap: wrap; }
.rsg-page .pp-close .ppcl-body { margin: 0; flex: 1; min-width: 320px; font-size: 15px; line-height: 1.65; color: var(--ink-2); }
.rsg-page .pp-close .ppcl-body strong { color: var(--ink-900); font-weight: 700; }
.rsg-page .pp-close .pp-final-cta { display: inline-flex; align-items: center; gap: 10px; padding: 14px 26px; font-size: 14px; border-radius: 999px; flex-shrink: 0; white-space: nowrap; }
.rsg-page .pp-close .pp-final-cta-ic { width: 16px !important; height: 16px !important; }

@media (max-width: 980px) {
  .rsg-page .pp-included { grid-template-columns: 1fr; gap: 14px; }
  .rsg-page .pp-cards { grid-template-columns: 1fr; gap: 14px; }
  .rsg-page .pp-card.pp-featured { transform: translateY(0); }
  .rsg-page .pp-card.pp-featured:hover { transform: translateY(-4px); }
  .rsg-page .ppa-stats { grid-template-columns: 1fr; gap: 18px; }
  .rsg-page .ppa-divider { display: none; }
  .rsg-page .pp-close { gap: 16px; }
}


/* WR CTA inside discipline card */
.rsg-page .wr-discipline .wr-cta-row { margin-top: 18px; padding-top: 0; display: flex; }
.rsg-page .wr-discipline .wr-cta-row .why-cta { padding: 10px 22px; font-size: 13px; border-radius: 999px; }

/* WR CTA inside discipline card */
.rsg-page .wr-discipline .wr-cta-row { margin-top: 18px; display: flex; justify-content: flex-end; }
.rsg-page .wr-discipline .wr-cta-row .why-cta { padding: 8px 16px; font-size: 11.5px; border-radius: 999px; letter-spacing: 0.02em; }
.rsg-page .wr-discipline .wr-cta-row .why-cta svg { width: 12px !important; height: 12px !important; margin-right: 5px !important; }

/* §1B LSA INTRO — definition + SERP-stack visualization */
.rsg-page .lsa-intro-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 56px; align-items: stretch; }

.rsg-page .lsa-intro-content .eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 700; color: var(--green-700); margin-bottom: 18px; }
.rsg-page .lsa-intro-content .eyebrow-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 0 3px rgba(44,122,75,0.20); display: inline-block; }
.rsg-page .lsa-intro-content h2 { margin: 0 0 18px; font-family: var(--font-display); font-size: clamp(28px, 3vw, 36px); font-weight: 700; color: var(--ink-900); line-height: 1.22; letter-spacing: -0.015em; }
.rsg-page .lsa-intro-content .lede { margin: 0 0 28px; font-size: 16px; line-height: 1.65; color: var(--ink-2); }
.rsg-page .lsa-intro-content .lede strong { color: var(--ink-900); font-weight: 700; }

.rsg-page .lsa-intro-chips { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.rsg-page .lic-chip { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px 12px 48px; box-shadow: 0 2px 6px rgba(0,0,0,0.04); transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; overflow: hidden; }
.rsg-page .lic-chip::before { content: ""; position: absolute; right: -40px; top: -40px; width: 110px; height: 110px; border-radius: 50%; opacity: 0.55; pointer-events: none; transition: opacity 0.3s ease; }
.rsg-page .lic-chip:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(0,0,0,0.08); }
.rsg-page .lic-chip:hover::before { opacity: 0.85; }
.rsg-page .lic-chip .lic-ic { position: absolute; top: 12px; left: 12px; transform: none; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: #fff; box-shadow: 0 4px 10px rgba(0,0,0,0.12); z-index: 1; line-height: 0; padding: 0; }
.rsg-page .lic-chip .lic-ic svg { width: 13px !important; height: 13px !important; display: block !important; margin: 0 !important; flex-shrink: 0; }
.rsg-page .lic-chip > div { position: relative; z-index: 1; }
.rsg-page .lic-chip strong { display: block; font-family: var(--font-display); font-size: 13.5px; font-weight: 700; color: var(--ink-900); line-height: 1.2; letter-spacing: -0.005em; }
.rsg-page .lic-chip span { display: block; font-size: 11px; line-height: 1.35; color: var(--ink-500); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; letter-spacing: -0.005em; }

/* per-chip color variants */
.rsg-page .lic-chip.lic-1 .lic-ic { background: linear-gradient(135deg, #4FB37A, var(--green-700)); }
.rsg-page .lic-chip.lic-1::before { background: radial-gradient(circle, rgba(44,122,75,0.16), transparent 70%); }
.rsg-page .lic-chip.lic-1:hover { border-color: rgba(44,122,75,0.28); }
.rsg-page .lic-chip.lic-2 .lic-ic { background: linear-gradient(135deg, #ECC04C, #B6831A); }
.rsg-page .lic-chip.lic-2::before { background: radial-gradient(circle, rgba(224,168,40,0.18), transparent 70%); }
.rsg-page .lic-chip.lic-2:hover { border-color: rgba(224,168,40,0.35); }
.rsg-page .lic-chip.lic-3 .lic-ic { background: linear-gradient(135deg, #6FA1F7, #2B6CD4); }
.rsg-page .lic-chip.lic-3::before { background: radial-gradient(circle, rgba(66,133,244,0.16), transparent 70%); }
.rsg-page .lic-chip.lic-3:hover { border-color: rgba(66,133,244,0.28); }
.rsg-page .lic-chip.lic-4 .lic-ic { background: linear-gradient(135deg, #E45A65, #C8202B); }
.rsg-page .lic-chip.lic-4::before { background: radial-gradient(circle, rgba(200,32,43,0.12), transparent 70%); }
.rsg-page .lic-chip.lic-4:hover { border-color: rgba(200,32,43,0.28); }

/* SERP STACK visualization */
.rsg-page .serp-stack { margin: 0 0 18px; background: #fff; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; box-shadow: 0 24px 56px rgba(0,0,0,0.10), 0 6px 16px rgba(0,0,0,0.06); }
.rsg-page .serp-stack .ss-bar { display: flex; align-items: center; gap: 14px; padding: 12px 18px; background: linear-gradient(180deg, #F8F8F4, #EFEFE9); border-bottom: 1px solid var(--line-2); }
.rsg-page .serp-stack .ss-dots { display: inline-flex; gap: 6px; }
.rsg-page .serp-stack .ss-dots i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.rsg-page .serp-stack .ss-dots i:nth-child(1) { background: #FF5F56; } .rsg-page .serp-stack .ss-dots i:nth-child(2) { background: #FFBD2E; } .rsg-page .serp-stack .ss-dots i:nth-child(3) { background: #27C93F; }
.rsg-page .serp-stack .ss-url { flex: 1; display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; background: #fff; border: 1px solid var(--line-2); border-radius: 999px; font-family: var(--font-mono); font-size: 11px; color: var(--ink-500); font-weight: 600; }
.rsg-page .serp-stack .ss-url svg { width: 13px; height: 13px; flex-shrink: 0; color: var(--ink-500); }

.rsg-page .serp-stack .ss-body { padding: 14px; display: flex; flex-direction: column; gap: 10px; background: linear-gradient(180deg, #fff 0%, #F8F8F4 100%); }

.rsg-page .ss-tier { position: relative; border-radius: 12px; padding: 12px 14px; }
.rsg-page .ss-tier .sst-tag-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 8px; }

.rsg-page .sst-tag { display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; }
.rsg-page .sst-tag.sst-tag-active { background: var(--green-50); color: var(--green-700); border: 1px solid rgba(44,122,75,0.32); }
.rsg-page .sst-tag.sst-tag-active .sst-tag-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 0 3px rgba(44,122,75,0.22); display: inline-block; }
.rsg-page .sst-tag.sst-tag-mute { background: rgba(0,0,0,0.04); color: var(--ink-500); border: 1px solid rgba(0,0,0,0.06); }
.rsg-page .sst-arrow { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-700); font-weight: 700; }

.rsg-page .ss-tier-lsa { background: linear-gradient(135deg, #FFFFFF 0%, var(--green-50) 100%); border: 1.5px solid rgba(44,122,75,0.30); box-shadow: 0 8px 20px rgba(44,122,75,0.10); }
.rsg-page .ss-tier-lsa::before { display: none; }
.rsg-page .ss-tier-lsa .sst-cards { display: flex; flex-direction: column; gap: 6px; }
.rsg-page .ss-tier-lsa .sst-card { display: grid; grid-template-columns: 32px 1fr auto; gap: 10px; align-items: center; padding: 8px 11px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.rsg-page .ss-tier-lsa .sst-card-featured { border-color: rgba(44,122,75,0.42); box-shadow: 0 4px 14px rgba(44,122,75,0.14); background: linear-gradient(135deg, #fff, #F4FAF5); }
.rsg-page .sst-icon { width: 32px; height: 32px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; }
.rsg-page .sst-icon svg { width: 18px; height: 18px; }
.rsg-page .sst-icon-mute { background: #EEE; color: #B0B0B0; }
.rsg-page .sst-meta strong { display: block; font-family: var(--font-display); font-size: 13.5px; font-weight: 700; color: var(--ink-900); line-height: 1.2; }
.rsg-page .sst-meta span { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: var(--ink-500); margin-top: 2px; line-height: 1; }
.rsg-page .sst-stars { color: #F5B400; font-size: 11px; letter-spacing: 1px; }
.rsg-page .sst-cta { padding: 6px 14px; background: var(--green-500); color: #fff; border-radius: 999px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; }

.rsg-page .ss-tier-faded { background: rgba(0,0,0,0.02); border: 1px dashed rgba(0,0,0,0.10); opacity: 0.62; padding: 10px 14px; }
.rsg-page .ss-tier-faded .ss-blur { height: 7px; border-radius: 999px; background: linear-gradient(90deg, rgba(0,0,0,0.10), rgba(0,0,0,0.04)); margin-bottom: 5px; }
.rsg-page .ss-tier-faded .ss-blur:last-child { margin-bottom: 0; }
.rsg-page .ss-tier-faded .ss-blur-short { width: 60%; }
.rsg-page .ss-tier-faded .ss-blur-map { height: 28px; border-radius: 10px; background: linear-gradient(135deg, rgba(0,0,0,0.06), rgba(0,0,0,0.03)); }

.rsg-page .serp-callout { margin-top: 22px; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--green-500); border-radius: 12px; padding: 14px 18px; display: grid; grid-template-columns: 36px 1fr; gap: 14px; align-items: center; box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
.rsg-page .serp-callout .sc-icon { width: 36px; height: 36px; border-radius: 10px; background: var(--green-50); color: var(--green-700); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; border: 1px solid rgba(44,122,75,0.20); }
.rsg-page .serp-callout .sc-icon svg { width: 16px; height: 16px; }
.rsg-page .serp-callout p { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--ink-2); }
.rsg-page .serp-callout p strong { color: var(--ink-900); font-weight: 700; }

@media (max-width: 980px) {
  .rsg-page .lsa-intro-grid { grid-template-columns: 1fr; gap: 36px; }
  .rsg-page .lsa-intro-chips { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .rsg-page .lsa-intro-chips { grid-template-columns: 1fr; }
  .rsg-page .serp-stack .ss-url { font-size: 10px; padding: 5px 10px; }
  .rsg-page .ss-tier { padding: 12px 14px; }
  .rsg-page .ss-tier .sst-tag-row { flex-wrap: wrap; }
  .rsg-page .sst-tag { font-size: 9px; padding: 4px 9px; }
  .rsg-page .sst-arrow { font-size: 9px; }
}

/* ===== Mobile polish pass (May 2026) ===== */
@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 .lm-set { gap: 36px; padding-right: 36px; }
  .rsg-page .reason-row { padding: 24px 22px; gap: 28px; }
  .rsg-page .hero-grid { gap: 32px; }
  .rsg-page .section-header h2, .rsg-page .faq-v2 .faq-top-left h2 { font-size: clamp(26px, 6vw, 36px); }
  .rsg-page .container { padding: 0 20px; }
  .rsg-page .scale-callout, .rsg-page .onboarding-callout, .rsg-page .hb-callout { padding: 28px 24px; }
  .rsg-page .tc-carousel { padding: 0 12px; }
  .rsg-page .tc-arrow { display: none; }
}

@media (max-width: 480px) {
  .rsg-page { --section-y: 48px; --gutter: 16px; }
  .rsg-page .container { padding: 0 16px; }
  .rsg-page .city-grid { grid-template-columns: 1fr; gap: 8px; }
  .rsg-page .hero h1 { font-size: clamp(32px, 9vw, 40px); }
  .rsg-page .btn-large { padding: 12px 22px; font-size: 13px; }
  .rsg-page .hero-ctas .btn { width: 100%; justify-content: center; }
  .rsg-page .final-cta h2 { font-size: clamp(26px, 8vw, 32px); }
  .rsg-page .final-cta .fc-lede { font-size: 15px; }
  .rsg-page .faq-v2 .faq-item details summary { padding: 16px 16px; gap: 10px; grid-template-columns: 32px 1fr 26px; }
  .rsg-page .faq-v2 .faq-item .faq-q { font-size: 12px; letter-spacing: 0.03em; }
  .rsg-page .faq-v2 .faq-cta { padding: 18px 18px; }
  .rsg-page .tc-attrib { padding: 6px 16px 6px 6px; gap: 10px; }
  .rsg-page .tc-attrib-text strong { font-size: 15px; }
  .rsg-page .tc-quote-normal, .rsg-page .tc-quote-highlight { font-size: 14px; line-height: 1.55; }
  .rsg-page .tc-slide { padding: 22px 16px; gap: 18px; }
  .rsg-page .hero-cpl-card { right: 8px; padding: 10px 12px; }
  .rsg-page .hero-partner-badge { font-size: 9px; padding: 5px 10px; }
}

/* Prevent horizontal scroll from any rogue overflow */
.rsg-page { overflow-x: hidden; }
.rsg-page img, .rsg-page svg { max-width: 100%; }

/* ===== Targeted mobile polish for hero, CPL bars, long buttons, weekly review mockup ===== */
@media (max-width: 768px) {
  /* CPL viz &mdash; shrink label column + bar text to fit */
  .rsg-page .viz-cpl .vcpl-row { grid-template-columns: 70px 1fr; gap: 10px; margin-bottom: 12px; }
  .rsg-page .viz-cpl .vcpl-label { font-size: 12px; }
  .rsg-page .viz-cpl .vcpl-label small { font-size: 8px; }
  .rsg-page .viz-cpl .vcpl-bar { height: 34px; }
  .rsg-page .viz-cpl .vcpl-fill { font-size: 12px; padding: 0 10px; }
  .rsg-page .viz-cpl .vcpl-fill.ppc::after { display: none; }
  .rsg-page .viz-cpl .vcpl-axis { padding-left: 80px; font-size: 8.5px; }
  /* Long buttons &mdash; allow wrap if needed, shrink padding */
  .rsg-page .btn-large { white-space: normal !important; line-height: 1.3; font-size: 13px; padding: 12px 18px; text-align: center; }
  /* Weekly review mockup &mdash; slim grid, smaller text */
  .rsg-page .wr-mock { padding: 12px 12px; gap: 10px; }
  .rsg-page .wr-mock .wr-head-left strong { font-size: 12px; }
  .rsg-page .wr-mock .wr-head-left span { font-size: 8px; }
  .rsg-page .wr-mock .wr-confirmed { font-size: 8px; padding: 3px 9px; }
  .rsg-page .wr-mock .wr-days { gap: 4px; }
  .rsg-page .wr-mock .wr-day { padding: 6px 2px; }
  .rsg-page .wr-mock .wr-day-lbl { font-size: 7px; }
  .rsg-page .wr-mock .wr-day-num { font-size: 15px; }
  .rsg-page .wr-mock .wr-slot { grid-template-columns: 1fr; gap: 6px; padding: 10px 12px; }
  .rsg-page .wr-mock .wr-slot-time strong { font-size: 16px; }
  .rsg-page .wr-mock .wr-slot-info { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); padding-top: 6px; }
  .rsg-page .wr-mock .wr-slot-info strong { font-size: 12px; }
  .rsg-page .wr-mock .wr-slot-info span { font-size: 10px; }
  .rsg-page .wr-mock .wr-slot-cta { align-self: flex-start; }
  .rsg-page .wr-mock .wr-stats { grid-template-columns: 1fr 1fr; gap: 8px; }
  .rsg-page .wr-mock .wr-stat { padding: 6px 8px; }
  .rsg-page .wr-mock .wr-stat-lbl { font-size: 7px; }
  .rsg-page .wr-mock .wr-next strong { font-size: 10.5px; }
  .rsg-page .wr-mock .wr-next span { font-size: 9px; }
  .rsg-page .wr-mock .wr-stat:last-child { grid-column: span 2; }
}
@media (max-width: 640px) {
  /* Hide hero floating cards on small phones &mdash; they crowd the phone mockup */
  .rsg-page .hero-cpl-card, .rsg-page .hero-partner-badge { display: none !important; }
  /* Allow #how-lsa-vs-channels CTA button text to wrap */
  .rsg-page #how-lsa-vs-channels .btn-large { font-size: 12.5px; padding: 11px 14px; }
}
@media (max-width: 480px) {
  /* CPL viz &mdash; even tighter */
  .rsg-page .viz-cpl .vcpl-row { grid-template-columns: 60px 1fr; gap: 8px; }
  .rsg-page .viz-cpl .vcpl-label { font-size: 11px; }
  .rsg-page .viz-cpl .vcpl-fill { font-size: 11px; padding: 0 8px; }
  .rsg-page .viz-cpl .vcpl-axis { padding-left: 68px; font-size: 8px; }
  /* Stats single col */
  .rsg-page .wr-mock .wr-stats { grid-template-columns: 1fr; }
  .rsg-page .wr-mock .wr-stat:last-child { grid-column: span 1; }
}

/* ===== Defensive SVG sizing &mdash; kills theme overrides that inflate inline icons in buttons ===== */
.rsg-page .btn svg, .rsg-page .btn-large svg, .rsg-page a.btn svg, .rsg-page a.btn-large svg, .rsg-page a.btn-primary svg, .rsg-page a.btn-ghost svg { width: 18px !important; height: 18px !important; max-width: 18px !important; max-height: 18px !important; min-width: 0 !important; min-height: 0 !important; flex-shrink: 0 !important; display: inline-block !important; vertical-align: middle !important; }
.rsg-page .btn-large svg { margin-right: 6px !important; }
/* ===== Weekly Review mockup &mdash; final mobile structure fix ===== */
@media (max-width: 768px) {
  .rsg-page .commit-card .com-shot { aspect-ratio: auto; height: auto; min-height: 280px; }
  .rsg-page .wr-mock { padding: 14px 14px 16px; grid-template-rows: auto auto auto auto !important; }
  .rsg-page .wr-mock .wr-slot { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 8px !important; padding: 12px 14px !important; }
  .rsg-page .wr-mock .wr-slot-time { display: flex !important; align-items: baseline !important; gap: 8px !important; }
  .rsg-page .wr-mock .wr-slot-time strong { font-size: 17px !important; }
  .rsg-page .wr-mock .wr-slot-time span { font-size: 11px !important; margin-top: 0 !important; }
  .rsg-page .wr-mock .wr-slot-info { border-left: 0 !important; padding-left: 0 !important; border-top: 1px solid #E5E7EB !important; padding-top: 8px !important; margin-top: 2px !important; }
  .rsg-page .wr-mock .wr-slot-info strong { font-size: 12.5px !important; }
  .rsg-page .wr-mock .wr-slot-info span { font-size: 10.5px !important; line-height: 1.4 !important; }
  .rsg-page .wr-mock .wr-slot-cta { align-self: flex-start !important; padding: 5px 12px !important; font-size: 9.5px !important; margin-top: 4px !important; }
  .rsg-page .wr-mock .wr-stats { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .rsg-page .wr-mock .wr-stat { padding: 8px 10px !important; }
  .rsg-page .wr-mock .wr-stat:last-child { grid-column: 1 / -1 !important; }
  .rsg-page .wr-mock .wr-att { display: flex !important; align-items: baseline !important; gap: 6px !important; }
  .rsg-page .wr-mock .wr-att strong { font-size: 16px !important; }
  .rsg-page .wr-mock .wr-att em { font-size: 9.5px !important; }
  .rsg-page .wr-mock .wr-next strong { font-size: 11px !important; }
  .rsg-page .wr-mock .wr-next span { font-size: 9.5px !important; }
  .rsg-page .wr-mock .wr-bars { height: 24px !important; }
}

/* ===== High-budget callout CTA &mdash; fix mobile overflow ===== */
@media (max-width: 720px) {
  .rsg-page .hb-cta-btn { white-space: normal !important; text-align: center !important; line-height: 1.3 !important; font-size: 12.5px !important; padding: 10px 16px !important; width: 100% !important; justify-content: center !important; }
  .rsg-page .hb-cta-btn svg { width: 12px !important; height: 12px !important; }
  .rsg-page .hb-actions { justify-content: stretch !important; flex-direction: column !important; align-items: stretch !important; }
  .rsg-page .hb-pills { justify-content: center; }
}

/* ===== Force white text inside onboarding phase badges (30 DAYS / 90 DAYS circles) ===== */
.rsg-page .onboarding-callout .ob-phase .ob-num,
.rsg-page .onboarding-callout .ob-phase .ob-num strong,
.rsg-page .onboarding-callout .ob-phase .ob-num span { color: #FFFFFF !important; }
