

@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; 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: cover; object-position: 35% 25%; display: block; }
.rsg-page .platform-hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0) 35%, rgba(0,0,0,0) 60%, rgba(20,62,37,0.42) 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; }
/* heading line helper: forces a break at the phrase boundary on desktop, flows naturally on mobile (no stray <br>) */
.rsg-page .hd-ln { display: block; }
@media (max-width: 600px) { .rsg-page .hd-ln { display: inline; } }
@media (max-width: 600px) {
  .rsg-page .ai-dashboard-bar { padding: 10px 12px; gap: 10px; }
  .rsg-page .ai-dashboard-bar .ad-dots { flex-shrink: 0; }
  .rsg-page .ai-dashboard-bar .ad-dots span { width: 8px; height: 8px; }
  .rsg-page .ai-dashboard-bar .ad-label { font-size: 8px; letter-spacing: 0.06em; white-space: nowrap; flex-shrink: 0; }
  .rsg-page .ai-dashboard-bar .ad-query { font-size: 7.5px; letter-spacing: 0.04em; gap: 5px; white-space: nowrap; overflow: hidden; min-width: 0; }
  .rsg-page .ai-dashboard-bar .ad-query::before { flex-shrink: 0; }
}
@media (max-width: 460px) {
  /* on the smallest phones the right-hand query crowds the label &mdash; drop it, keep the labelled chrome */
  .rsg-page .ai-dashboard-bar .ad-query { display: none; }
}

/* 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: inline; font-family: var(--font-display); font-size: inherit; 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, .rsg-page .video-frame img { 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-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; white-space: normal; text-align: center; line-height: 1.3; padding: 11px 16px; }
}

@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); }
  /* stacked: column no longer stretches, so reset the equal-height flex or images collapse to 0 height */
  .rsg-page .cs-section .cs-right .cs-window { flex: none; display: block; }
  .rsg-page .cs-section .cs-right .cs-window img { flex: none; height: auto; max-height: 320px; object-fit: contain; }
}
@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; }
/* ===== 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, .rsg-page .hero-pill-stack { display: none !important; }
  /* Give the phone mockup room so the Map Pack listing reads cleanly (left-anchored, backdrop stays right) */
  .rsg-page .phone-shell { left: 8px; transform: none; width: 214px; height: 420px; bottom: 22px; }
  .rsg-page .phone-screen { width: 202px; height: 408px; }
  .rsg-page .ph-listing { margin: 0 11px; padding: 11px; }
  .rsg-page .ph-listing-thumb { width: 44px; height: 44px; }
  .rsg-page .ph-listing-thumb .pt-icon { width: 21px; height: 21px; }
  .rsg-page .ph-biz-name { font-size: 12.5px; line-height: 1.25; }
  .rsg-page .ph-sponsored-lbl { font-size: 8.5px; padding: 9px 12px 4px; }
  /* 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: 400px) {
  .rsg-page .platform-hero { height: 520px; }
  .rsg-page .phone-shell { width: 198px; height: 392px; }
  .rsg-page .phone-screen { width: 186px; height: 380px; }
}
@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; }


/* ============================================================
   PPC PAGE SUPPLEMENTARY COMPONENTS (May 2026)
   Uses the existing design tokens only. PPC-specific visuals.
   ============================================================ */
/* Hero benefit pill stack (bottom-right corner of the graphic) */
.rsg-page .hero-pill-stack { position: absolute; bottom: 22px; right: -56px; z-index: 5; display: flex; flex-direction: column; gap: 10px; align-items: flex-end; }
.rsg-page .hps-pill { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 6px 15px 6px 6px; box-shadow: 0 10px 26px rgba(0,0,0,0.16), 0 2px 8px rgba(0,0,0,0.07); white-space: nowrap; }
.rsg-page .hps-pill .hps-ic { width: 24px; height: 24px; border-radius: 50%; 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 3px 8px rgba(32,157,80,0.28); }
.rsg-page .hps-pill .hps-ic svg { width: 13px; height: 13px; }
.rsg-page .hps-pill .hps-txt { font-family: var(--font-display); font-size: 11.5px; font-weight: 700; color: var(--ink-900); letter-spacing: -0.005em; }
.rsg-page .hps-pill .hps-txt span { font-weight: 500; color: var(--ink-500); }
@media (max-width: 480px) {
  .rsg-page .hero-pill-stack { right: -6px; bottom: 14px; gap: 7px; }
  .rsg-page .hps-pill { padding: 5px 12px 5px 5px; gap: 7px; }
  .rsg-page .hps-pill .hps-ic { width: 22px; height: 22px; }
  .rsg-page .hps-pill .hps-ic svg { width: 12px; height: 12px; }
  .rsg-page .hps-pill .hps-txt { font-size: 10.5px; }
}

/* Light tip callout (lightbulb + bold prefix + supporting text) */
.rsg-page .ppc-tip { display: flex; align-items: flex-start; gap: 14px; 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: 10px; padding: 18px 22px; margin: 28px 0 0; }
.rsg-page .ppc-tip .ppct-icon { width: 38px; height: 38px; border-radius: 9px; background: rgba(44,122,75,0.10); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsg-page .ppc-tip .ppct-icon svg { width: 20px; height: 20px; stroke: var(--green-500); fill: none; }
.rsg-page .ppc-tip p { margin: 0; font-size: 14px; line-height: 1.62; color: var(--ink-2); }
.rsg-page .ppc-tip p strong { color: var(--green-700); }
/* SERP screenshot + tip side-by-side row */
.rsg-page .ppc-serp-row { display: grid; grid-template-columns: 1.08fr 1fr; gap: 28px; align-items: stretch; margin: 0 0 32px; }
.rsg-page .ppc-serp-row .ai-dashboard { margin: 0; }
/* Jargon glossary panel (graphic, fills height beside the screenshot) */
.rsg-page .jargon-panel { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 22px 24px; box-shadow: var(--shadow-md); display: flex; flex-direction: column; gap: 14px; height: 100%; position: relative; overflow: hidden; }
.rsg-page .jargon-panel::before { content: ""; position: absolute; top: -70px; right: -70px; width: 190px; height: 190px; background: radial-gradient(circle, rgba(32,157,80,0.08) 0%, transparent 70%); pointer-events: none; }
.rsg-page .jargon-panel .jp-eyebrow { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; color: var(--green-700); display: inline-flex; align-items: center; gap: 8px; position: relative; }
.rsg-page .jargon-panel .jp-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 0 4px rgba(44,122,75,0.14); }
.rsg-page .jp-terms { flex: 1; display: flex; flex-direction: column; gap: 10px; }
.rsg-page .jp-term { flex: 1; display: flex; align-items: center; gap: 14px; background: var(--paper-soft); border: 1px solid var(--line-2); border-radius: 12px; padding: 12px 16px; transition: border-color .2s, box-shadow .2s, transform .2s; }
.rsg-page .jp-term:hover { border-color: rgba(44,122,75,0.30); box-shadow: 0 8px 20px rgba(0,0,0,0.05); transform: translateY(-1px); }
.rsg-page .jp-term .jp-ic { width: 46px; height: 46px; border-radius: 12px; background: #fff; border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
.rsg-page .jp-term .jp-ic svg { width: 24px; height: 24px; }
.rsg-page .jp-term .jp-ic img { max-width: 27px; max-height: 27px; width: auto; height: auto; display: block; }
.rsg-page .jp-term strong { display: block; font-family: var(--font-display); font-size: 15px; font-weight: 700; color: var(--ink-900); margin-bottom: 2px; letter-spacing: -0.005em; }
.rsg-page .jp-term p { margin: 0; font-size: 12.5px; line-height: 1.45; color: var(--ink-2); }
.rsg-page .jp-takeaway { background: linear-gradient(135deg, var(--paper-soft) 0%, var(--green-50) 100%); border: 1px solid rgba(44,122,75,0.18); border-left: 4px solid var(--green-500); border-radius: 0 10px 10px 0; padding: 13px 16px; font-size: 12.5px; line-height: 1.5; color: var(--ink-2); position: relative; }
.rsg-page .jp-takeaway strong { color: var(--green-700); }
@media (max-width: 880px) {
  .rsg-page .ppc-serp-row { grid-template-columns: 1fr; gap: 22px; align-items: start; }
  .rsg-page .jargon-panel { height: auto; }
  .rsg-page .jp-term { flex: none; }
}

/* Google ad-type comparison table */
.rsg-page .adtype-table { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); margin: 0 0 8px; }
.rsg-page .adtype-table table { width: 100%; border-collapse: collapse; }
.rsg-page .adtype-table thead th { text-align: left; padding: 16px 24px; background: linear-gradient(180deg, #fff, var(--paper-soft)); font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--ink-700); border-bottom: 2px solid var(--line); }
.rsg-page .adtype-table tbody tr { transition: background .2s; }
.rsg-page .adtype-table tbody tr:hover { background: var(--paper-soft); }
.rsg-page .adtype-table tbody td { padding: 18px 24px; font-size: 13.5px; line-height: 1.55; color: var(--ink-2); border-bottom: 1px solid var(--line-2); vertical-align: middle; }
.rsg-page .adtype-table tbody tr:last-child td { border-bottom: 0; }
.rsg-page .adtype-table .at-typecell { display: flex; align-items: center; gap: 13px; }
.rsg-page .adtype-table .at-ic { width: 44px; height: 44px; border-radius: 11px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; background: #fff; border: 1px solid var(--line); box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
.rsg-page .adtype-table .at-ic svg { width: 24px; height: 24px; }
.rsg-page .adtype-table .at-ic img { max-width: 28px; max-height: 28px; width: auto; height: auto; display: block; }
.rsg-page .adtype-table .at-name { font-family: var(--font-display); font-weight: 700; color: var(--ink-900); font-size: 14px; line-height: 1.25; }
.rsg-page .adtype-table tbody td { border-bottom: 0; }
.rsg-page .adtype-table tr.featured-row { background: linear-gradient(90deg, rgba(44,122,75,0.05), transparent); }
.rsg-page .adtype-table .at-rel { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 9px; }
.rsg-page .adtype-table .at-meter { display: inline-flex; gap: 4px; }
.rsg-page .adtype-table .at-meter i { width: 15px; height: 5px; border-radius: 3px; background: var(--line); }
.rsg-page .adtype-table tr.lvl-high .at-meter i.on { background: var(--green-500); }
.rsg-page .adtype-table tr.lvl-med .at-meter i.on { background: #E78A2C; }
.rsg-page .adtype-table tr.lvl-low .at-meter i.on { background: #94A3B8; }
.rsg-page .adtype-table tr.lvl-risk .at-meter i.on { background: var(--red); }
.rsg-page .adtype-table .rel-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border-radius: 999px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.07em; text-transform: uppercase; font-weight: 700; }
.rsg-page .adtype-table .rel-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.rsg-page .adtype-table .rel-high { background: var(--green-50); color: var(--green-700); }
.rsg-page .adtype-table .rel-med { background: rgba(231,138,44,0.13); color: #B45309; }
.rsg-page .adtype-table .rel-low { background: rgba(100,116,139,0.12); color: #64748B; }
.rsg-page .adtype-table .rel-risk { background: rgba(200,32,43,0.10); color: var(--red); }
.rsg-page .adtype-table .at-relnote { display: block; font-size: 13px; color: var(--ink-2); line-height: 1.5; }

/* CPC market-tier bars */
.rsg-page .cpc-tiers { display: grid; gap: 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px 32px; box-shadow: var(--shadow-md); margin: 0 0 22px; }
.rsg-page .cpc-row { display: grid; grid-template-columns: 240px 1fr; gap: 18px; align-items: center; }
.rsg-page .cpc-label { font-family: var(--font-display); font-size: 14px; font-weight: 700; color: var(--ink-900); }
.rsg-page .cpc-label small { display: block; font-family: var(--font-mono); font-size: 9.5px; font-weight: 600; color: var(--ink-500); letter-spacing: 0.06em; text-transform: uppercase; margin-top: 3px; }
.rsg-page .cpc-bar { height: 38px; border-radius: 8px; background: var(--paper-soft); position: relative; overflow: hidden; border: 1px solid var(--line-2); }
.rsg-page .cpc-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: 13.5px; letter-spacing: -0.01em; }
.rsg-page .cpc-fill.t1 { width: 32%; background: linear-gradient(90deg, var(--green-500), var(--green-700)); box-shadow: 0 4px 12px rgba(32,157,80,0.22); }
.rsg-page .cpc-fill.t2 { width: 58%; background: linear-gradient(90deg, #E78A2C, #B45309); box-shadow: 0 4px 12px rgba(231,138,44,0.20); }
.rsg-page .cpc-fill.t3 { width: 92%; background: linear-gradient(90deg, var(--red), #9F1219); box-shadow: 0 4px 12px rgba(200,32,43,0.20); }
.rsg-page .cpc-val-out { position: absolute; top: 0; bottom: 0; display: flex; align-items: center; margin-left: 12px; color: var(--ink-900); font-family: var(--font-display); font-weight: 700; font-size: 13px; white-space: nowrap; }
.rsg-page .cpc-peak { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 4px; }
.rsg-page .cpc-peak-card { background: var(--paper-soft); border: 1px solid var(--line); border-radius: 12px; padding: 18px 20px; }
.rsg-page .cpc-peak-card .cpk-lbl { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; margin-bottom: 6px; }
.rsg-page .cpc-peak-card .cpk-val { font-family: var(--font-display); font-size: 24px; font-weight: 800; color: var(--ink-900); line-height: 1; }
.rsg-page .cpc-peak-card .cpk-sub { font-size: 12.5px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }

/* "Where budgets get wasted" loss list */
.rsg-page .waste-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.rsg-page .waste-list li { position: relative; overflow: hidden; display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--red); border-radius: 14px; padding: 18px 22px; box-shadow: var(--shadow-md); }
.rsg-page .waste-list li::after { content: ""; position: absolute; top: -40px; right: -40px; width: 130px; height: 130px; background: radial-gradient(circle, rgba(200,32,43,0.07) 0%, transparent 70%); pointer-events: none; }
.rsg-page .waste-list .wi-ic { position: relative; z-index: 1; width: 42px; height: 42px; border-radius: 11px; background: linear-gradient(135deg, #E2434E, var(--red)); color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 6px 16px rgba(200,32,43,0.3); }
.rsg-page .waste-list .wi-ic svg { width: 21px; height: 21px; }
.rsg-page .waste-list .wi-text { position: relative; z-index: 1; font-size: 14.5px; font-weight: 600; color: var(--ink-900); line-height: 1.4; }
.rsg-page .waste-split { display: grid; grid-template-columns: 1.5fr 1fr; gap: 24px; align-items: stretch; }
.rsg-page .waste-split .waste-list { align-content: start; }
.rsg-page .waste-aside { position: relative; overflow: hidden; background: linear-gradient(150deg, #10231A 0%, #0A0A0A 55%, #0E1A13 100%); border: 1px solid rgba(44,122,75,0.30); border-radius: 18px; padding: 32px 30px; display: flex; flex-direction: column; justify-content: center; gap: 15px; box-shadow: 0 24px 56px rgba(0,0,0,0.32); }
.rsg-page .waste-aside::before { content: ""; position: absolute; top: -70px; left: -50px; width: 200px; height: 200px; background: radial-gradient(circle, rgba(44,122,75,0.30) 0%, transparent 70%); pointer-events: none; }
.rsg-page .waste-aside::after { content: ""; position: absolute; bottom: -80px; right: -60px; width: 240px; height: 240px; background: radial-gradient(circle, rgba(44,122,75,0.22) 0%, transparent 70%); pointer-events: none; }
.rsg-page .waste-aside .wa-eyebrow { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; color: var(--green-500); background: rgba(44,122,75,0.16); border: 1px solid rgba(44,122,75,0.32); padding: 6px 14px; border-radius: 999px; }
.rsg-page .waste-aside .wa-eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 8px var(--green-500); }
.rsg-page .waste-aside .wa-ic { position: relative; z-index: 1; width: 58px; height: 58px; 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 0 0 6px rgba(44,122,75,0.15), 0 12px 28px rgba(32,157,80,0.5); }
.rsg-page .waste-aside .wa-ic svg { width: 29px; height: 29px; }
.rsg-page .waste-aside .wa-title { position: relative; z-index: 1; font-family: var(--font-display); font-size: 20px; font-weight: 800; color: #fff; margin: 2px 0 0; letter-spacing: -0.01em; line-height: 1.2; }
.rsg-page .waste-aside .wa-text { position: relative; z-index: 1; font-size: 13.5px; line-height: 1.6; color: rgba(255,255,255,0.72); margin: 0; }
.rsg-page .waste-aside .wa-goal { position: relative; z-index: 1; font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,0.85); background: rgba(44,122,75,0.14); border: 1px solid rgba(44,122,75,0.3); border-left: 4px solid var(--green-500); border-radius: 10px; padding: 13px 16px; }
.rsg-page .waste-aside .wa-goal strong { color: #fff; }
.rsg-page .waste-aside .wa-outcome { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; background: linear-gradient(135deg, var(--green-500), var(--green-600)); color: #fff; font-family: var(--font-display); font-size: 12.5px; font-weight: 700; padding: 10px 18px; border-radius: 999px; box-shadow: 0 8px 22px rgba(32,157,80,0.45); }
.rsg-page .waste-aside .wa-outcome svg { width: 15px; height: 15px; }
.rsg-page .faq-v2 .faq-cta-icon svg { width: 22px; height: 22px; }
@media (max-width: 640px) {
  .rsg-page .pp-close .pp-final-cta { white-space: normal !important; width: 100%; justify-content: center; text-align: center; line-height: 1.35; padding: 14px 18px; font-size: 13.5px; }
}
@media (max-width: 860px) { .rsg-page .waste-split { grid-template-columns: 1fr; } }

/* Sub-topic label inside a section */
.rsg-page .ppc-subhead { font-family: var(--font-display); font-size: 21px; font-weight: 700; color: var(--ink-900); margin: 44px 0 8px; letter-spacing: -0.01em; }
.rsg-page .ppc-subhead:first-of-type { margin-top: 0; }
.rsg-page .ppc-sub-lede { font-size: 15px; color: var(--ink-2); line-height: 1.62; margin: 0 0 22px; }
.rsg-page .section-header .lede { max-width: none; text-wrap: pretty; }

/* Landing-page build elements (5 cards) */
.rsg-page .lp-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.rsg-page .lp-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px 26px; position: relative; overflow: hidden; transition: transform .25s, box-shadow .25s; }
.rsg-page .lp-card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0,0,0,0.07); }
.rsg-page .lp-card .lpc-ic { width: 46px; height: 46px; border-radius: 12px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; box-shadow: 0 8px 20px rgba(32,157,80,0.22); }
.rsg-page .lp-card .lpc-ic svg { width: 22px; height: 22px; }
.rsg-page .lp-card h4 { font-family: var(--font-display); font-size: 16.5px; font-weight: 700; color: var(--ink-900); margin: 0 0 8px; line-height: 1.3; }
.rsg-page .lp-card p { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--ink-2); }
.rsg-page .lp-card.lp-wide { grid-column: 1 / -1; }
.rsg-page .lp-pair { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 36px; align-items: center; margin: 0 0 10px; }
.rsg-page .lp-pair .lp-mock { display: flex; align-items: center; }
.rsg-page .lp-pair .ai-dashboard { margin: 0; width: 100%; max-width: 600px; }
.rsg-page .lp-mock { position: relative; }
.rsg-page .lp-mock-badge { position: absolute; top: -12px; right: 16px; z-index: 3; background: var(--green-500); color: #fff; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; padding: 6px 14px; border-radius: 999px; box-shadow: 0 8px 20px rgba(32,157,80,0.35); display: inline-flex; align-items: center; gap: 6px; }
.rsg-page .lp-mock-badge svg { width: 12px; height: 12px; }
.rsg-page .need-flow { position: relative; display: flex; flex-direction: column; justify-content: space-between; height: 100%; gap: 24px; padding-left: 4px; }
.rsg-page .need-flow::before { content: ""; position: absolute; left: 28px; top: 26px; bottom: 26px; width: 2px; background: linear-gradient(180deg, var(--green-500) 0%, rgba(44,122,75,0.22) 100%); border-radius: 2px; }
.rsg-page .need-step { position: relative; display: flex; gap: 20px; align-items: flex-start; }
.rsg-page .need-step .ns-node { position: relative; z-index: 1; width: 50px; height: 50px; border-radius: 15px; 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 0 0 6px rgba(44,122,75,0.10), 0 10px 24px rgba(32,157,80,0.34); }
.rsg-page .need-step .ns-node svg { width: 23px; height: 23px; }
.rsg-page .need-step .ns-body { padding-top: 7px; }
.rsg-page .need-step h4 { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--ink-900); margin: 0 0 5px; }
.rsg-page .need-step p { font-size: 13.5px; line-height: 1.55; margin: 0; color: var(--ink-2); }
.rsg-page .need-flow .ns-deco { position: absolute; left: 29px; width: 11px; height: 11px; border-radius: 50%; background: var(--green-500); transform: translate(-50%, -50%); box-shadow: 0 0 0 5px rgba(44,122,75,0.12); animation: pulse 2.6s ease-in-out infinite; z-index: 0; }
.rsg-page .need-flow .ns-deco.d2 { animation-delay: 1.3s; }
.rsg-page .need-flow .ns-spark { position: absolute; left: 29px; width: 5px; height: 5px; border-radius: 50%; background: rgba(44,122,75,0.45); transform: translate(-50%, -50%); }
.rsg-page .need-timeline { position: relative; display: flex; flex-direction: column; gap: 20px; }
.rsg-page .need-timeline::before { content: ""; position: absolute; left: 28px; top: 36px; bottom: 36px; width: 2px; background: linear-gradient(180deg, var(--green-500) 0%, rgba(44,122,75,0.2) 100%); z-index: 0; }
.rsg-page .nt-row { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 20px; align-items: center; }
.rsg-page .nt-badge { position: relative; z-index: 1; 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; font-family: var(--font-display); font-weight: 800; font-size: 16px; letter-spacing: 0.02em; box-shadow: 0 8px 20px rgba(32,157,80,0.3); }
.rsg-page .nt-badge::before { content: ""; position: absolute; inset: -6px; border: 2px dashed rgba(44,122,75,0.35); border-radius: 50%; }
.rsg-page .nt-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px 22px; box-shadow: var(--shadow-md); transition: transform .2s, box-shadow .2s, border-color .2s; }
.rsg-page .nt-card:hover { transform: translateY(-2px); border-color: rgba(44,122,75,0.3); box-shadow: 0 14px 30px rgba(0,0,0,0.07); }
.rsg-page .nt-card h4 { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--ink-900); margin: 0 0 5px; }
.rsg-page .nt-card p { font-size: 13.5px; line-height: 1.55; margin: 0; color: var(--ink-2); }
.rsg-page .setup-intro { margin: 0 0 22px; }
.rsg-page .setup-eyebrow { display: inline-flex; align-items: center; gap: 11px; background: rgba(44,122,75,0.08); color: var(--green-700); font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; padding: 7px 18px 7px 7px; border-radius: 999px; margin-bottom: 16px; }
.rsg-page .setup-eyebrow .se-ic { width: 30px; height: 30px; 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 4px 12px rgba(32,157,80,0.3); }
.rsg-page .setup-eyebrow .se-ic svg { width: 15px; height: 15px; }
.rsg-page .setup-intro h3 { font-family: var(--font-display); font-size: 23px; font-weight: 800; color: var(--ink-900); margin: 0 0 8px; letter-spacing: -0.01em; }
.rsg-page .setup-intro p { font-size: 15px; color: var(--ink-2); margin: 0; }
.rsg-page .setup-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0 0 36px; }
.rsg-page .setup-item { position: relative; overflow: hidden; display: flex; gap: 16px; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px 26px; box-shadow: var(--shadow-md); transition: transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .setup-item::after { content: ""; position: absolute; top: -45px; right: -45px; width: 140px; height: 140px; background: radial-gradient(circle, rgba(44,122,75,0.08) 0%, transparent 70%); pointer-events: none; }
.rsg-page .setup-item:hover { transform: translateY(-3px); border-color: rgba(44,122,75,0.35); box-shadow: 0 18px 40px rgba(0,0,0,0.09); }
.rsg-page .setup-item .su-ic { position: relative; z-index: 1; width: 48px; height: 48px; border-radius: 14px; 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 8px 20px rgba(32,157,80,0.28); }
.rsg-page .setup-item .su-ic svg { width: 23px; height: 23px; }
.rsg-page .setup-item .su-body { position: relative; z-index: 1; }
.rsg-page .setup-item strong { display: block; font-family: var(--font-display); font-size: 15.5px; font-weight: 700; color: var(--ink-900); margin: 0 0 6px; line-height: 1.3; }
.rsg-page .setup-item p { font-size: 13px; line-height: 1.55; margin: 0; color: var(--ink-2); }
@media (max-width: 760px) { .rsg-page .setup-grid { grid-template-columns: 1fr; } }
.rsg-page .cs-window img { display: block; width: 100%; height: auto; }
.rsg-page .cs-right { flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 16px; }
.rsg-page .cs-right .cs-window.cs-window-wide { margin-top: 0; }
.rsg-page .cs-window.cs-window-wide { margin-top: 20px; }
/* equalize column height (DESKTOP ONLY — on mobile the columns stack and this would collapse the images to 0 height) */
@media (min-width: 881px) {
  .rsg-page .cs-section .cs-right .cs-window { flex: 1 1 0; display: flex; flex-direction: column; min-height: 0; }
  .rsg-page .cs-section .cs-right .cs-window img { flex: 1 1 0; min-height: 0; max-height: none; height: auto; object-fit: contain; }
}
.rsg-page .build-list { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.rsg-page .build-item { position: relative; overflow: hidden; display: flex; gap: 16px; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px 26px; box-shadow: var(--shadow-md); transition: border-color .25s, box-shadow .25s, transform .25s; }
.rsg-page .build-item::after { content: ""; position: absolute; top: -45px; right: -45px; width: 145px; height: 145px; background: radial-gradient(circle, rgba(44,122,75,0.09) 0%, transparent 70%); pointer-events: none; }
.rsg-page .build-item:hover { border-color: rgba(44,122,75,0.35); box-shadow: 0 18px 40px rgba(0,0,0,0.09); transform: translateY(-3px); }
.rsg-page .build-item .bi-ic { position: relative; z-index: 1; width: 50px; height: 50px; border-radius: 14px; 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 8px 20px rgba(32,157,80,0.28); }
.rsg-page .build-item .bi-ic svg { width: 24px; height: 24px; }
.rsg-page .build-item .bi-incl { position: absolute; top: 16px; right: 16px; z-index: 2; width: 24px; height: 24px; border-radius: 50%; background: var(--green-50); color: var(--green-600); display: flex; align-items: center; justify-content: center; }
.rsg-page .build-item .bi-incl svg { width: 13px; height: 13px; }
.rsg-page .build-item .bi-body { position: relative; z-index: 1; padding-right: 16px; }
.rsg-page .build-item h4 { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--ink-900); margin: 0 0 5px; }
.rsg-page .build-item p { font-size: 13px; line-height: 1.55; margin: 0; color: var(--ink-2); }
.rsg-page .build-item.bi-wide { grid-column: 1 / -1; }
@media (max-width: 860px) { .rsg-page .lp-pair { grid-template-columns: 1fr; gap: 24px; } .rsg-page .need-flow { height: auto; gap: 30px; } .rsg-page .build-list { grid-template-columns: 1fr; } }
.rsg-page .ppc-split { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: stretch; margin: 0 0 10px; }
.rsg-page .ppc-split.flip .ppc-split-a { order: 2; }
.rsg-page .ppc-split .ppc-split-a { display: flex; }
.rsg-page .ppc-split .ai-dashboard { margin: 0; display: flex; flex-direction: column; width: 100%; }
.rsg-page .ppc-split .ai-dashboard img { flex: 1; min-height: 0; width: 100%; object-fit: cover; object-position: top center; }
.rsg-page .ppc-stack { display: flex; flex-direction: column; gap: 14px; }
.rsg-page .fit-spectrum { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 12px; align-items: center; margin: 0 0 40px; }
.rsg-page .fs-stage { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px 18px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 5px; box-shadow: var(--shadow-md); }
.rsg-page .fs-stage .fs-ic { width: 48px; height: 48px; border-radius: 13px; background: var(--paper-soft); border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; color: var(--ink-700); margin-bottom: 6px; }
.rsg-page .fs-stage .fs-ic svg { width: 23px; height: 23px; }
.rsg-page .fs-stage .fs-name { font-family: var(--font-display); font-size: 15.5px; font-weight: 800; color: var(--ink-900); letter-spacing: -0.01em; }
.rsg-page .fs-stage .fs-desc { font-size: 12px; color: var(--ink-500); line-height: 1.4; }
.rsg-page .fs-stage.featured { background: linear-gradient(160deg, #fff 0%, var(--green-50) 100%); border: 2px solid var(--green-500); box-shadow: 0 18px 38px rgba(32,157,80,0.16); transform: translateY(-8px); }
.rsg-page .fs-stage.featured .fs-ic { background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; border: 0; box-shadow: 0 6px 14px rgba(32,157,80,0.3); }
.rsg-page .fs-stage.featured .fs-name { color: var(--green-700); }
.rsg-page .fs-stage.featured .fs-tagline { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-600); font-weight: 700; margin-top: 4px; }
.rsg-page .fs-arrow { display: flex; align-items: center; justify-content: center; color: var(--green-500); }
.rsg-page .fs-arrow svg { width: 24px; height: 24px; }
@media (max-width: 760px) { .rsg-page .fit-spectrum { grid-template-columns: 1fr; gap: 10px; } .rsg-page .fs-arrow { transform: rotate(90deg); margin: 2px 0; } .rsg-page .fs-stage.featured { transform: none; } }
.rsg-page .rank-eq { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: stretch; margin: 0 0 18px; }
.rsg-page .rank-eq .rk-card { position: relative; overflow: hidden; background: linear-gradient(160deg, rgba(255,255,255,0.06) 0%, rgba(44,122,75,0.07) 100%); border: 1px solid rgba(255,255,255,0.10); border-radius: 16px; padding: 28px 26px 26px; box-shadow: 0 20px 44px rgba(0,0,0,0.32); transition: transform .3s, box-shadow .3s, border-color .3s; }
.rsg-page .rank-eq .rk-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--green-500), #6EE7B7); }
.rsg-page .rank-eq .rk-card::after { content: ""; position: absolute; top: -55px; right: -55px; width: 175px; height: 175px; background: radial-gradient(circle, rgba(44,122,75,0.30) 0%, transparent 70%); pointer-events: none; }
.rsg-page .rank-eq .rk-card:hover { transform: translateY(-4px); border-color: rgba(44,122,75,0.5); box-shadow: 0 30px 62px rgba(0,0,0,0.46), 0 0 0 1px rgba(44,122,75,0.3); }
.rsg-page .rank-eq .rk-ic { position: relative; z-index: 1; 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; margin-bottom: 18px; box-shadow: 0 0 0 6px rgba(44,122,75,0.15), 0 10px 26px rgba(32,157,80,0.55); }
.rsg-page .rank-eq .rk-ic svg { width: 25px; height: 25px; }
.rsg-page .rank-eq .rk-card h3 { position: relative; z-index: 1; font-family: var(--font-display); font-size: 18px; font-weight: 800; color: #fff; margin: 0 0 9px; letter-spacing: -0.01em; }
.rsg-page .rank-eq .rk-card p { position: relative; z-index: 1; font-size: 13.5px; line-height: 1.6; margin: 0; color: rgba(255,255,255,0.74); }
.rsg-page .rank-eq .rk-op { display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 28px; font-weight: 800; color: var(--green-500); }
.rsg-page .rank-result { position: relative; overflow: hidden; background: linear-gradient(135deg, rgba(44,122,75,0.2) 0%, rgba(255,255,255,0.03) 60%); border: 1px solid rgba(44,122,75,0.38); border-left: 5px solid var(--green-500); border-radius: 14px; padding: 22px 28px; box-shadow: 0 16px 40px rgba(0,0,0,0.32); }
.rsg-page .rank-result::after { content: ""; position: absolute; top: -70px; right: -50px; width: 240px; height: 240px; background: radial-gradient(circle, rgba(44,122,75,0.24) 0%, transparent 70%); pointer-events: none; }
.rsg-page .rank-result .rk-eq-sign { width: 46px; height: 46px; border-radius: 12px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 8px 20px rgba(32,157,80,0.4); }
.rsg-page .rank-result .rk-eq-sign svg { width: 22px; height: 22px; color: #fff; }
.rsg-page .rank-result p { position: relative; z-index: 1; margin: 0; font-size: 14.5px; line-height: 1.6; color: rgba(255,255,255,0.82); }
.rsg-page .rank-result p strong { color: #fff; }
@media (max-width: 860px) { .rsg-page .rank-eq { grid-template-columns: 1fr; } .rsg-page .rank-eq .rk-op { padding: 2px 0; } }
@media (max-width: 860px) {
  .rsg-page .ppc-split, .rsg-page .ppc-split.flip { grid-template-columns: 1fr; gap: 22px; }
  .rsg-page .ppc-split.flip .ppc-split-a { order: 0; }
  .rsg-page .ppc-split .ppc-split-a { display: block; }
  .rsg-page .ppc-split .ai-dashboard { display: block; }
  .rsg-page .ppc-split .ai-dashboard img { flex: none; height: auto; object-fit: contain; }
}

/* "Why us over generalists" 3-block bullet cards reuse cadence-card */
@media (max-width: 760px) {
  .rsg-page .cpc-row { grid-template-columns: 1fr; gap: 8px; }
  .rsg-page .cpc-peak { grid-template-columns: 1fr; }
  .rsg-page .lp-grid { grid-template-columns: 1fr; }
  .rsg-page .adtype-table { overflow-x: auto; }
}


/* ============================================================
   §2 — "WHAT IS HVAC SEO" MACHINE LAYOUT (redesign, June 2026)
   ============================================================ */
.rsg-page .seo-lead-frame { margin: 0 0 20px; }
.rsg-page .seo-worktogether { font-size: 15.5px; line-height: 1.64; color: var(--ink-2); margin: 0 0 42px; max-width: none; }
.rsg-page .seo-worktogether strong { color: var(--ink-900); }
.rsg-page .seo-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: stretch; margin: 0 0 26px; }
.rsg-page .seo-feature.flip .seo-feature-media { order: 2; }
.rsg-page .seo-feature-media { min-width: 0; display: flex; align-items: center; }
.rsg-page .seo-feature-media .ai-dashboard { margin: 0; width: 100%; }
.rsg-page .seo-feature-body { display: flex; flex-direction: column; justify-content: center; }
.rsg-page .sf-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--green-700); margin-bottom: 13px; }
.rsg-page .sf-eyebrow i { font-style: normal; width: 26px; height: 26px; border-radius: 7px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; box-shadow: 0 4px 10px rgba(32,157,80,0.3); }
.rsg-page .seo-feature-body h3 { font-family: var(--font-display); font-size: 22px; font-weight: 800; color: var(--ink-900); margin: 0 0 10px; letter-spacing: -0.01em; line-height: 1.25; }
.rsg-page .seo-feature-body p { font-size: 14.5px; line-height: 1.64; color: var(--ink-2); margin: 0; }
/* infographic visuals that fill the text column */
.rsg-page .sf-viz { margin-top: 22px; }
.rsg-page .sf-statrow { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.rsg-page .sf-stat { background: linear-gradient(135deg, var(--green-50), #fff); border: 1px solid rgba(44,122,75,0.22); border-radius: 12px; padding: 11px 17px; }
.rsg-page .sf-stat strong { display: block; font-family: var(--font-display); font-size: 19px; font-weight: 800; color: var(--green-700); line-height: 1; margin-bottom: 4px; }
.rsg-page .sf-stat span { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; }
.rsg-page .sf-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.rsg-page .sf-checks li { display: flex; align-items: center; gap: 12px; font-size: 13.5px; color: var(--ink-900); font-weight: 600; }
.rsg-page .sf-checks .sf-ck { width: 24px; height: 24px; border-radius: 7px; background: var(--green-50); color: var(--green-600); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsg-page .sf-checks .sf-ck svg { width: 13px; height: 13px; }
.rsg-page .sf-rings { display: flex; gap: 12px; }
.rsg-page .sf-ring { display: flex; flex-direction: column; align-items: center; gap: 8px; flex: 1; }
.rsg-page .sf-ring-c { position: relative; width: 62px; height: 62px; }
.rsg-page .sf-ring-c svg { width: 62px; height: 62px; transform: rotate(-90deg); }
.rsg-page .sf-ring-v { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 800; font-size: 16px; color: var(--green-700); }
.rsg-page .sf-ring small { font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; text-align: center; line-height: 1.3; }
.rsg-page .sf-pills { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.rsg-page .sf-pill { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 8px 16px; font-family: var(--font-display); font-weight: 700; font-size: 13px; color: var(--ink-900); box-shadow: 0 4px 12px rgba(0,0,0,0.05); }
.rsg-page .sf-pill .sf-dot { width: 9px; height: 9px; border-radius: 50%; }
.rsg-page .sf-hub { display: flex; align-items: center; gap: 12px; background: var(--paper-soft); border: 1px solid var(--line); border-radius: 14px; padding: 16px; }
.rsg-page .sf-hub-col { display: flex; flex-direction: column; gap: 7px; }
.rsg-page .sf-hub-tag { font-family: var(--font-mono); font-size: 9.5px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-700); background: #fff; border: 1px solid var(--line); border-radius: 7px; padding: 6px 9px; text-align: center; white-space: nowrap; }
.rsg-page .sf-hub-core { font-family: var(--font-display); font-weight: 800; font-size: 12.5px; color: #fff; background: linear-gradient(135deg, var(--green-500), var(--green-700)); border-radius: 10px; padding: 13px 12px; text-align: center; box-shadow: 0 8px 18px rgba(32,157,80,0.3); flex: 1; }
.rsg-page .sf-hub-core.dark { background: linear-gradient(135deg, #143E25, #0A0A0A); box-shadow: 0 8px 18px rgba(0,0,0,0.3); }
.rsg-page .sf-hub-arrow { color: var(--green-500); flex-shrink: 0; }
.rsg-page .sf-hub-arrow svg { width: 18px; height: 18px; display: block; }
.rsg-page .seo-phone-duo { display: flex; gap: 18px; justify-content: center; align-items: flex-start; }
.rsg-page .seo-phone { width: 50%; max-width: 210px; background: #0b0b0b; border-radius: 30px; padding: 7px; box-shadow: 0 24px 50px rgba(0,0,0,0.24), 0 6px 16px rgba(0,0,0,0.12); border: 1px solid rgba(0,0,0,0.45); position: relative; }
.rsg-page .seo-phone::before { content: ""; position: absolute; top: 15px; left: 50%; transform: translateX(-50%); width: 46px; height: 5px; border-radius: 3px; background: rgba(255,255,255,0.4); z-index: 2; }
.rsg-page .seo-phone img { display: block; width: 100%; height: auto; border-radius: 24px; }
.rsg-page .seo-web-duo { display: flex; gap: 18px; padding: 24px 26px; background: var(--paper-soft); justify-content: center; align-items: flex-start; }
.rsg-page .seo-web-duo img { width: 50%; max-width: 244px; height: auto; display: block; border-radius: 13px; box-shadow: 0 12px 28px rgba(0,0,0,0.13); border: 1px solid var(--line); }
.rsg-page .seo-gbp-wrap { position: relative; }
.rsg-page .seo-badge-float { position: absolute; right: -16px; bottom: -18px; background: #fff; border-radius: 13px; padding: 9px 11px; box-shadow: 0 16px 34px rgba(0,0,0,0.2); border: 1px solid var(--line); width: 230px; max-width: 62%; z-index: 4; }
.rsg-page .seo-badge-float img { display: block; width: 100%; height: auto; border-radius: 5px; }
.rsg-page .seo-trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 16px 0 0; }
.rsg-page .seo-trio-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px 26px; box-shadow: var(--shadow-md); transition: transform .25s, box-shadow .25s, border-color .25s; display: flex; flex-direction: column; }
.rsg-page .seo-trio-card:hover { transform: translateY(-3px); border-color: rgba(44,122,75,0.32); box-shadow: 0 16px 36px rgba(0,0,0,0.07); }
.rsg-page .seo-trio-card .st-ic { 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; margin-bottom: 14px; box-shadow: 0 8px 20px rgba(32,157,80,0.22); }
.rsg-page .seo-trio-card .st-ic svg { width: 21px; height: 21px; }
.rsg-page .seo-trio-card h4 { font-family: var(--font-display); font-size: 16.5px; font-weight: 700; color: var(--ink-900); margin: 0 0 7px; }
.rsg-page .seo-trio-card p { font-size: 13.5px; line-height: 1.6; color: var(--ink-2); margin: 0; }
.rsg-page .st-foot { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line-2); display: flex; align-items: center; gap: 10px; }
.rsg-page .st-stars { display: inline-flex; gap: 2px; }
.rsg-page .st-stars svg { width: 15px; height: 15px; }
.rsg-page .st-foot-label { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; line-height: 1.3; }
.rsg-page .st-net { width: 30px; height: 30px; border-radius: 8px; background: var(--green-50); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsg-page .st-net svg { width: 17px; height: 17px; color: var(--green-600); }
.rsg-page .st-tags { display: flex; gap: 7px; flex-wrap: wrap; }
.rsg-page .st-tag { font-family: var(--font-mono); font-size: 10px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--green-700); background: var(--green-50); border: 1px solid rgba(44,122,75,0.2); border-radius: 6px; padding: 5px 9px; }
@media (max-width: 880px) {
  .rsg-page .seo-feature, .rsg-page .seo-feature.flip { grid-template-columns: 1fr; gap: 24px; }
  .rsg-page .seo-feature.flip .seo-feature-media { order: 0; }
  .rsg-page .seo-trio { grid-template-columns: 1fr; }
  .rsg-page .seo-phone { max-width: 178px; }
  .rsg-page .seo-badge-float { position: static; width: auto; max-width: 280px; margin: 14px auto 0; }
}


/* §4 — pain / symptom cards */
.rsg-page .pain-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 0 0 40px; }
.rsg-page .pain-card { position: relative; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px 24px 22px; box-shadow: var(--shadow-md); display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .pain-foot { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line-2); display: flex; align-items: center; gap: 13px; }
.rsg-page .pain-foot svg { display: block; flex-shrink: 0; }
.rsg-page .pf-label { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.07em; text-transform: uppercase; font-weight: 700; color: var(--red); line-height: 1.4; }
.rsg-page .pain-card::after { content: ""; position: absolute; top: -40px; right: -40px; width: 130px; height: 130px; background: radial-gradient(circle, rgba(200,32,43,0.06) 0%, transparent 70%); pointer-events: none; }
.rsg-page .pain-card:hover { transform: translateY(-3px); border-color: rgba(200,32,43,0.28); box-shadow: 0 16px 36px rgba(0,0,0,0.08); }
.rsg-page .pain-ic { position: relative; z-index: 1; width: 44px; height: 44px; border-radius: 12px; background: linear-gradient(135deg, #E2434E, var(--red)); color: #fff; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; box-shadow: 0 8px 18px rgba(200,32,43,0.26); }
.rsg-page .pain-ic svg { width: 21px; height: 21px; }
.rsg-page .pain-card h4 { position: relative; z-index: 1; font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--ink-900); margin: 0 0 7px; line-height: 1.3; }
.rsg-page .pain-card p { position: relative; z-index: 1; font-size: 13px; line-height: 1.58; color: var(--ink-2); margin: 0 0 16px; }
.rsg-page .pain-tag { position: relative; z-index: 1; margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: var(--red); background: rgba(200,32,43,0.07); border: 1px solid rgba(200,32,43,0.2); border-radius: 7px; padding: 6px 11px; }
.rsg-page .pain-tag::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 3px rgba(200,32,43,0.14); }
@media (max-width: 900px) { .rsg-page .pain-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .rsg-page .pain-grid { grid-template-columns: 1fr; } }


/* §5 — "what makes HVAC SEO different" card footers (green positive visuals) */
.rsg-page .lp-grid-diff .lp-card { display: flex; flex-direction: column; }
.rsg-page .lp-grid-diff .lp-card p { margin-bottom: 18px; }
.rsg-page .diff-foot { margin-top: auto; padding-top: 15px; border-top: 1px solid var(--line-2); }
.rsg-page .df-cap { display: block; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 700; color: var(--green-700); margin-bottom: 10px; }
.rsg-page .diff-foot svg { display: block; width: 100%; height: auto; }


/* §5 — Local vs National comparison (enhanced versus table) */
.rsg-page .vs-table { background:#fff; border:1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); overflow:hidden; margin:0 0 8px; }
.rsg-page .vs-table table { width:100%; border-collapse:collapse; }
.rsg-page .vs-table th, .rsg-page .vs-table td { padding:15px 24px; text-align:left; vertical-align:middle; }
.rsg-page .vs-table thead th { border-bottom:2px solid var(--line); background:#fff; }
.rsg-page .vs-table tbody td { border-bottom:1px solid var(--line-2); font-size:13.5px; line-height:1.5; color:var(--ink-2); }
.rsg-page .vs-table tbody tr:last-child td { border-bottom:0; }
.rsg-page .vs-table tbody tr:hover td { background-color: rgba(0,0,0,0.012); }
.rsg-page .vs-table .vs-dim { width:206px; font-family:var(--font-display); font-weight:700; color:var(--ink-900); font-size:14px; }
.rsg-page .vs-table .vs-local { border-left:1px solid rgba(44,122,75,0.18); border-right:1px solid rgba(44,122,75,0.18); background: rgba(44,122,75,0.05); }
.rsg-page .vs-table thead .vs-local { background: linear-gradient(180deg, rgba(44,122,75,0.16), rgba(44,122,75,0.06)); }
.rsg-page .vs-table tbody td.vs-local { color:var(--ink-900); font-weight:600; }
.rsg-page .vs-table tbody tr:hover td.vs-local { background-color: rgba(44,122,75,0.09); }
.rsg-page .vs-ck { display:inline-flex; width:19px; height:19px; border-radius:50%; background:var(--green-500); color:#fff; align-items:center; justify-content:center; margin-right:9px; vertical-align:-4px; }
.rsg-page .vs-ck svg { width:11px; height:11px; }
.rsg-page .vs-na { display:inline-flex; width:19px; height:19px; border-radius:50%; background:#EEF1F4; color:#AEB7C2; align-items:center; justify-content:center; margin-right:9px; vertical-align:-4px; }
.rsg-page .vs-na svg { width:10px; height:10px; }
.rsg-page .vs-thh { display:inline-flex; align-items:center; gap:11px; }
.rsg-page .vs-thh .vs-hic { width:33px; height:33px; border-radius:9px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .vs-local .vs-hic { background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; box-shadow:0 6px 14px rgba(32,157,80,0.3); }
.rsg-page .vs-nat .vs-hic { background:#EEF1F4; color:#94A3B8; }
.rsg-page .vs-thh .vs-hic svg { width:17px; height:17px; }
.rsg-page .vs-thh b { font-family:var(--font-display); font-weight:800; font-size:15px; color:var(--ink-900); letter-spacing:-0.01em; line-height:1.1; }
.rsg-page .vs-thh .vs-sub { display:block; font-family:var(--font-mono); font-size:9px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; margin-top:4px; color:var(--green-700); }
.rsg-page .vs-nat .vs-thh b { color:var(--ink-700); }
.rsg-page .vs-nat .vs-thh .vs-sub { color:var(--ink-500); }
@media (max-width:760px){ .rsg-page .vs-table { overflow-x:auto; } .rsg-page .vs-table table { min-width:600px; } .rsg-page .vs-table .vs-dim { width:140px; } }


/* §6 — Mistake -> Fix transformation rows (refined) */
.rsg-page .fix-list { display: grid; gap: 18px; margin: 0 0 8px; }
.rsg-page .fix-row { position: relative; display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 6px 20px rgba(0,0,0,0.05); overflow: hidden; transition: transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .fix-row:hover { transform: translateY(-3px); border-color: rgba(44,122,75,0.25); box-shadow: 0 20px 44px rgba(0,0,0,0.09); }
.rsg-page .fix-problem { display: flex; gap: 16px; align-items: flex-start; padding: 26px 48px 26px 28px; }
.rsg-page .fix-xic { width: 42px; height: 42px; border-radius: 12px; background: linear-gradient(135deg, #E2434E, var(--red)); color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 8px 18px rgba(200,32,43,0.28); }
.rsg-page .fix-xic svg { width: 20px; height: 20px; }
.rsg-page .fix-problem h4 { font-family: var(--font-display); font-size: 16.5px; font-weight: 700; color: var(--ink-900); margin: 0 0 6px; line-height: 1.3; }
.rsg-page .fix-problem p { font-size: 13px; line-height: 1.58; color: var(--ink-2); margin: 0; }
.rsg-page .fix-fix { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 11px; padding: 26px 30px 26px 48px; background: linear-gradient(135deg, #F1F8F3 0%, #E6F1E9 100%); }
.rsg-page .ff-pill { align-self: flex-start; display: inline-flex; align-items: center; gap: 7px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; padding: 5px 13px 5px 10px; border-radius: 999px; box-shadow: 0 5px 12px rgba(32,157,80,0.3); }
.rsg-page .ff-pill svg { width: 12px; height: 12px; }
.rsg-page .fix-fix p { font-family: var(--font-display); font-size: 14.5px; font-weight: 700; color: var(--ink-900); margin: 0; line-height: 1.4; letter-spacing: -0.01em; }
.rsg-page .fix-seam { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 3; width: 40px; height: 40px; 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 0 0 5px #fff, 0 8px 18px rgba(32,157,80,0.4); }
.rsg-page .fix-seam svg { width: 18px; height: 18px; }
@media (max-width: 820px) {
  .rsg-page .fix-row { grid-template-columns: 1fr; }
  .rsg-page .fix-problem { padding: 24px 24px 26px; }
  .rsg-page .fix-fix { padding: 24px 24px 26px; }
  .rsg-page .fix-seam { display: none; }
}


.rsg-page .shot-2up { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 0 0 8px; }
.rsg-page .shot-2up .ai-dashboard { margin: 0; }
.rsg-page .nt-badge::before { display: none; }
.rsg-page .lp-pair-eq .need-timeline::before { display: none; }
.rsg-page .lp-pair-eq .nt-row { align-items: flex-start; position: relative; }
.rsg-page .lp-pair-eq .nt-badge { position: relative; z-index: 1; }
.rsg-page .lp-pair-eq .nt-row:not(:last-child)::after { content: ""; position: absolute; left: 27px; top: 28px; width: 2px; height: calc(100% + 20px); background: linear-gradient(180deg, var(--green-500), rgba(44,122,75,0.55)); z-index: 0; }
.rsg-page .howdo { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin: 0 0 8px; }
.rsg-page .howdo::before { content: ""; position: absolute; top: 34px; left: 17%; right: 17%; height: 2px; background: linear-gradient(90deg, rgba(44,122,75,0.12), rgba(44,122,75,0.4) 20%, rgba(44,122,75,0.4) 80%, rgba(44,122,75,0.12)); z-index: 0; }
.rsg-page .howdo-step { position: relative; z-index: 1; text-align: center; padding: 0 10px; }
.rsg-page .howdo-ic { width: 68px; height: 68px; border-radius: 50%; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; box-shadow: 0 0 0 6px #fff, 0 10px 24px rgba(32,157,80,0.32); }
.rsg-page .howdo-ic svg { width: 28px; height: 28px; }
.rsg-page .howdo-step h4 { font-family: var(--font-display); font-size: 16.5px; font-weight: 700; color: var(--ink-900); margin: 0 0 8px; letter-spacing: -0.01em; }
.rsg-page .howdo-step p { font-size: 13.5px; line-height: 1.6; color: var(--ink-2); margin: 0; }
@media (max-width: 760px) { .rsg-page .howdo { grid-template-columns: 1fr; gap: 30px; } .rsg-page .howdo::before { display: none; } }
.rsg-page .lp-pair-eq { align-items: stretch; grid-template-columns: 0.92fr 1.08fr; }
.rsg-page .lp-pair-eq .lp-mock { display: flex; height: 100%; }
.rsg-page .lp-pair-eq .lp-mock .ai-dashboard { max-width: none; width: 100%; height: 100%; display: flex; flex-direction: column; }
.rsg-page .lp-pair-eq .lp-mock .ai-dashboard img { flex: 1 1 0%; min-height: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
@media (max-width: 860px) { .rsg-page .lp-pair-eq { grid-template-columns: 1fr; align-items: start; } .rsg-page .lp-pair-eq .lp-mock { height: auto; } .rsg-page .lp-pair-eq .lp-mock .ai-dashboard { height: auto; } .rsg-page .lp-pair-eq .lp-mock .ai-dashboard img { flex: none; height: auto; object-fit: contain; } }
@media (max-width: 480px) { .rsg-page .lp-pair-eq .nt-row { grid-template-columns: 46px 1fr; gap: 14px; } .rsg-page .lp-pair-eq .nt-badge { width: 46px; height: 46px; font-size: 14px; } .rsg-page .lp-pair-eq .nt-row:not(:last-child)::after { left: 22px; } }
@media (max-width: 760px) { .rsg-page .shot-2up { grid-template-columns: 1fr; } }


/* §8 — service showcase cards (dark) */
.rsg-page .svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 0 0 24px; }
.rsg-page .svc-card { background: linear-gradient(160deg, rgba(255,255,255,0.055), rgba(44,122,75,0.06)); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; transition: transform .25s, border-color .25s, box-shadow .25s; }
.rsg-page .svc-card:hover { transform: translateY(-4px); border-color: rgba(44,122,75,0.5); box-shadow: 0 24px 50px rgba(0,0,0,0.4); }
.rsg-page .svc-shot { height: 156px; background: #fff; border-bottom: 1px solid rgba(255,255,255,0.12); overflow: hidden; }
.rsg-page .svc-shot img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.rsg-page .svc-iconhero { display: flex; align-items: center; justify-content: center; background: radial-gradient(circle at 50% 38%, var(--green-50), #fff); }
.rsg-page .svc-iconhero .ih-ic { width: 64px; height: 64px; border-radius: 18px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 8px rgba(44,122,75,0.08), 0 14px 28px rgba(32,157,80,0.3); }
.rsg-page .svc-iconhero .ih-ic svg { width: 30px; height: 30px; }
.rsg-page .svc-aishot { gap: 9px; flex-wrap: wrap; padding: 0 16px; }
.rsg-page .svc-aishot .ai-chip { display: inline-flex; align-items: center; gap: 7px; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 7px 13px; font-family: var(--font-display); font-weight: 700; font-size: 12px; color: var(--ink-900); box-shadow: 0 3px 8px rgba(0,0,0,0.06); }
.rsg-page .svc-aishot .ai-dot { width: 8px; height: 8px; border-radius: 50%; }
.rsg-page .svc-body { padding: 20px 22px 22px; }
.rsg-page .svc-head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.rsg-page .svc-ic { width: 38px; height: 38px; border-radius: 10px; 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 14px rgba(32,157,80,0.3); }
.rsg-page .svc-ic svg { width: 19px; height: 19px; }
.rsg-page .svc-card h3 { font-family: var(--font-display); font-size: 15px; font-weight: 700; color: #fff; margin: 0; line-height: 1.25; letter-spacing: -0.01em; }
.rsg-page .svc-card p { font-size: 12.5px; line-height: 1.55; color: rgba(255,255,255,0.7); margin: 0; }
.rsg-page .svc-report { display: grid; grid-template-columns: 1.05fr 1fr; gap: 28px; align-items: center; background: linear-gradient(150deg, rgba(44,122,75,0.16), rgba(255,255,255,0.03)); border: 1px solid rgba(44,122,75,0.3); border-radius: 18px; padding: 24px; }
.rsg-page .svc-report .sr-shot { border-radius: 12px; overflow: hidden; border: 1px solid rgba(255,255,255,0.14); background: #fff; }
.rsg-page .svc-report .sr-shot img { display: block; width: 100%; height: auto; }
.rsg-page .svc-report .sr-eyebrow { display: inline-flex; align-items: center; gap: 9px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--green-500); margin-bottom: 11px; }
.rsg-page .svc-report .sr-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 8px var(--green-500); }
.rsg-page .svc-report h3 { font-family: var(--font-display); font-size: 19px; font-weight: 800; color: #fff; margin: 0 0 9px; letter-spacing: -0.01em; }
.rsg-page .svc-report p { font-size: 13.5px; line-height: 1.6; color: rgba(255,255,255,0.78); margin: 0; }
.rsg-page .svc-report .sr-flow { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-top: 20px; }
.rsg-page .svc-report .sr-chip { display: inline-flex; align-items: center; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.16); border-radius: 999px; padding: 8px 15px; font-family: var(--font-display); font-weight: 700; font-size: 12.5px; color: #fff; }
.rsg-page .svc-report .sr-chip.on { background: linear-gradient(135deg, var(--green-500), var(--green-700)); border-color: transparent; box-shadow: 0 6px 16px rgba(32,157,80,0.4); }
.rsg-page .svc-report .sr-arrow { color: var(--green-500); display: inline-flex; }
.rsg-page .svc-report .sr-arrow svg { width: 15px; height: 15px; }
@media (max-width: 980px) { .rsg-page .svc-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .rsg-page .svc-grid { grid-template-columns: 1fr; } .rsg-page .svc-report { grid-template-columns: 1fr; } }


/* §10 — crawl-to-rank pipeline */
.rsg-page .crawl-flow { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 0 0 20px; }
.rsg-page .crawl-flow::before { content: ""; position: absolute; top: 33px; left: 12.5%; right: 12.5%; height: 3px; background: linear-gradient(90deg, rgba(44,122,75,0.22), rgba(44,122,75,0.5), var(--green-500)); border-radius: 3px; z-index: 0; }
.rsg-page .crawl-step { position: relative; z-index: 1; text-align: center; padding: 0 6px; }
.rsg-page .crawl-node { width: 66px; height: 66px; border-radius: 50%; background: #fff; border: 2px solid var(--line); color: var(--green-600); display: flex; align-items: center; justify-content: center; margin: 0 auto 15px; box-shadow: 0 0 0 6px var(--paper-soft), 0 8px 18px rgba(0,0,0,0.06); }
.rsg-page .crawl-node svg { width: 28px; height: 28px; }
.rsg-page .crawl-step.final .crawl-node { background: linear-gradient(135deg, var(--green-500), var(--green-700)); border-color: transparent; color: #fff; box-shadow: 0 0 0 6px var(--paper-soft), 0 12px 26px rgba(32,157,80,0.4); }
.rsg-page .crawl-step h4 { font-family: var(--font-display); font-size: 15.5px; font-weight: 700; color: var(--ink-900); margin: 0 0 5px; letter-spacing: -0.01em; }
.rsg-page .crawl-step p { font-size: 12.5px; line-height: 1.5; color: var(--ink-2); margin: 0; }
@media (max-width: 760px) { .rsg-page .crawl-flow { grid-template-columns: 1fr 1fr; gap: 26px 14px; } .rsg-page .crawl-flow::before { display: none; } }


/* §10 — foundation cards with phone mockups */
.rsg-page .lp-grid-cw { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .rsg-page .lp-grid-cw { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .rsg-page .lp-grid-cw { grid-template-columns: 1fr; } }
.rsg-page .lp-grid-cw .lp-card { display: flex; flex-direction: column; }
.rsg-page .cw-foot { margin-top: auto; padding-top: 22px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.rsg-page .cw-phone { width: 118px; height: 172px; border-radius: 21px; background: #0e0e0e; padding: 6px; box-shadow: 0 16px 32px rgba(0,0,0,0.2); position: relative; }
.rsg-page .cw-phone::before { content: ""; position: absolute; top: 11px; left: 50%; transform: translateX(-50%); width: 32px; height: 4px; border-radius: 3px; background: rgba(255,255,255,0.32); z-index: 3; }
.rsg-page .cw-screen { width: 100%; height: 100%; border-radius: 16px; background: #fff; overflow: hidden; position: relative; display: flex; flex-direction: column; }
.rsg-page .cw-cap { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; color: var(--green-700); }
/* screen 1: speed gauge */
.rsg-page .s-speed { align-items: center; justify-content: center; gap: 11px; padding: 12px; }
.rsg-page .s-speed .sp-val { font-family: var(--font-display); font-weight: 800; font-size: 14px; color: var(--green-700); }
.rsg-page .s-speed .sp-bar { width: 82px; height: 7px; border-radius: 4px; background: #E5E7EB; overflow: hidden; }
.rsg-page .s-speed .sp-bar i { display: block; width: 90%; height: 100%; border-radius: 4px; background: linear-gradient(90deg, var(--green-500), var(--green-700)); }
/* screen 2: mobile site */
.rsg-page .s-site .ss-bar { height: 24px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); display: flex; align-items: center; justify-content: space-between; padding: 0 9px; }
.rsg-page .s-site .ss-bar .l { height: 5px; border-radius: 2px; background: rgba(255,255,255,0.9); }
.rsg-page .s-site .ss-hero { height: 56px; margin: 7px; border-radius: 7px; background: linear-gradient(160deg, #20384a, #0f2330); display: flex; flex-direction: column; justify-content: center; gap: 5px; padding: 9px; }
.rsg-page .s-site .ss-hero .l { height: 5px; border-radius: 2px; background: rgba(255,255,255,0.55); }
.rsg-page .s-site .ss-cta { margin: 0 7px; height: 20px; border-radius: 6px; background: linear-gradient(90deg, var(--green-500), var(--green-700)); display: flex; align-items: center; justify-content: center; }
.rsg-page .s-site .ss-cta span { font-family: var(--font-display); font-size: 8px; font-weight: 800; color: #fff; letter-spacing: 0.05em; }
.rsg-page .s-site .ss-rows { padding: 9px 9px 0; display: flex; flex-direction: column; gap: 6px; }
.rsg-page .s-site .ss-rows .l { height: 5px; border-radius: 2px; background: #E5E7EB; }
/* screen 3: schema rich result */
.rsg-page .s-schema { padding: 13px 11px; gap: 9px; }
.rsg-page .s-schema .sc-title { height: 7px; width: 80%; border-radius: 3px; background: #4285F4; opacity: 0.85; }
.rsg-page .s-schema .sc-url { height: 5px; width: 55%; border-radius: 3px; background: #CBD5E1; }
.rsg-page .s-schema .sc-stars { display: flex; gap: 2px; align-items: center; }
.rsg-page .s-schema .sc-stars svg { width: 11px; height: 11px; }
.rsg-page .s-schema .sc-stars b { font-family: var(--font-mono); font-size: 8px; color: var(--ink-500); margin-left: 3px; }
.rsg-page .s-schema .sc-faq { margin-top: 2px; border-top: 1px solid #EEF1F4; padding-top: 8px; display: flex; flex-direction: column; gap: 8px; }
.rsg-page .s-schema .sc-faq-row { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.rsg-page .s-schema .sc-faq-row .l { height: 5px; border-radius: 2px; background: #E5E7EB; flex: 1; }
.rsg-page .s-schema .sc-faq-row svg { width: 11px; height: 11px; color: var(--green-600); flex-shrink: 0; }


/* §11 — backlink convergence hub */
.rsg-page .bl-hub { display: grid; grid-template-columns: 1.5fr 108px 0.92fr; gap: 18px; align-items: center; margin: 0 0 8px; }
.rsg-page .bl-sources { display: flex; flex-direction: column; gap: 14px; }
.rsg-page .bl-source { display: flex; gap: 14px; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 15px 18px; box-shadow: var(--shadow-md); transition: transform .2s, box-shadow .2s, border-color .2s; }
.rsg-page .bl-source:hover { transform: translateX(4px); border-color: rgba(44,122,75,0.3); box-shadow: 0 12px 28px rgba(0,0,0,0.07); }
.rsg-page .bl-source .bs-ic { width: 38px; height: 38px; border-radius: 10px; 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 14px rgba(32,157,80,0.28); }
.rsg-page .bl-source .bs-ic svg { width: 19px; height: 19px; }
.rsg-page .bl-source h4 { font-family: var(--font-display); font-size: 14.5px; font-weight: 700; color: var(--ink-900); margin: 0 0 4px; letter-spacing: -0.01em; }
.rsg-page .bl-source p { font-size: 12.5px; line-height: 1.5; color: var(--ink-2); margin: 0; }
.rsg-page .bl-connect { align-self: stretch; display: flex; align-items: center; justify-content: center; }
.rsg-page .bl-connect svg { width: 100%; height: 100%; }
.rsg-page .bl-core { background: linear-gradient(150deg, var(--green-50), #fff); border: 1px solid rgba(44,122,75,0.25); border-radius: 18px; padding: 28px 20px; text-align: center; box-shadow: 0 16px 34px rgba(32,157,80,0.12); }
.rsg-page .bl-core .bc-ring { width: 72px; height: 72px; border-radius: 50%; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; box-shadow: 0 0 0 8px rgba(44,122,75,0.1), 0 12px 26px rgba(32,157,80,0.38); }
.rsg-page .bl-core .bc-ring svg { width: 32px; height: 32px; }
.rsg-page .bl-core h4 { font-family: var(--font-display); font-size: 16px; font-weight: 800; color: var(--ink-900); margin: 0 0 9px; letter-spacing: -0.01em; }
.rsg-page .bl-core .bc-trend { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; color: #fff; background: linear-gradient(135deg, var(--green-500), var(--green-700)); border-radius: 999px; padding: 6px 13px; box-shadow: 0 6px 14px rgba(32,157,80,0.34); }
.rsg-page .bl-core .bc-trend svg { width: 13px; height: 13px; }
@media (max-width: 860px) { .rsg-page .bl-hub { grid-template-columns: 1fr; gap: 16px; } .rsg-page .bl-connect { display: none; } .rsg-page .bl-core { max-width: 340px; margin: 6px auto 0; } }


/* §12 — vertical phase timeline */
.rsg-page .ph-tl { position: relative; display: flex; flex-direction: column; gap: 26px; margin: 0 0 30px; }
.rsg-page .ph-item { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 30px; align-items: start; }
.rsg-page .ph-item .ph-badge { position: relative; z-index: 2; 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; font-family: var(--font-display); font-weight: 800; font-size: 17px; box-shadow: 0 0 0 6px var(--paper-soft), 0 8px 18px rgba(0,0,0,0.12); }
.rsg-page .ph-item.payoff .ph-badge { background: linear-gradient(135deg, #1c1c1c, #000); box-shadow: 0 0 0 6px var(--paper-soft), 0 0 0 10px rgba(44,122,75,0.12), 0 8px 18px rgba(0,0,0,0.2); }
.rsg-page .ph-item:not(:last-child)::after { content: ""; position: absolute; left: 27px; top: 28px; width: 2px; height: calc(100% + 26px); background: linear-gradient(180deg, var(--green-500), rgba(44,122,75,0.4)); z-index: 1; }
.rsg-page .ph-card2 { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 22px 26px; box-shadow: var(--shadow-md); transition: transform .2s, box-shadow .2s, border-color .2s; }
.rsg-page .ph-card2:hover { transform: translateY(-2px); border-color: rgba(44,122,75,0.3); box-shadow: 0 16px 34px rgba(0,0,0,0.07); }
.rsg-page .ph-pill { display: inline-flex; align-items: center; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--green-700); background: var(--green-50); border-radius: 999px; padding: 5px 13px; margin-bottom: 11px; }
.rsg-page .ph-item.payoff .ph-pill { color: #fff; background: linear-gradient(135deg, #143E25, #0A0A0A); }
.rsg-page .ph-card2 h3 { font-family: var(--font-display); font-size: 21px; font-weight: 800; color: var(--ink-900); margin: 0 0 8px; letter-spacing: -0.01em; }
.rsg-page .ph-card2 p { font-size: 14px; line-height: 1.6; color: var(--ink-2); margin: 0; }
@media (max-width: 560px) { .rsg-page .ph-item { grid-template-columns: 46px 1fr; gap: 18px; } .rsg-page .ph-item .ph-badge { width: 46px; height: 46px; font-size: 15px; } .rsg-page .ph-item:not(:last-child)::after { left: 22px; top: 23px; } }


/* §13 — search-to-revenue flow */
.rsg-page .flow5 { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 8px; margin: 0 0 26px; }
.rsg-page .flow-node { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.rsg-page .flow-node .fn-ic { width: 62px; height: 62px; border-radius: 17px; background: rgba(255,255,255,0.05); border: 1px solid rgba(44,122,75,0.45); color: #6EE7B7; display: flex; align-items: center; justify-content: center; transition: transform .2s; }
.rsg-page .flow-node:hover .fn-ic { transform: translateY(-3px); }
.rsg-page .flow-node .fn-ic svg { width: 26px; height: 26px; }
.rsg-page .flow-node.final .fn-ic { background: linear-gradient(135deg, var(--green-500), var(--green-700)); border-color: transparent; color: #fff; box-shadow: 0 0 0 6px rgba(44,122,75,0.16), 0 14px 30px rgba(32,157,80,0.5); }
.rsg-page .flow-node .fn-label { font-family: var(--font-display); font-weight: 700; font-size: 14px; color: #fff; letter-spacing: -0.01em; }
.rsg-page .flow-node.final .fn-label { color: #6EE7B7; }
.rsg-page .flow-arrow { color: rgba(110,231,183,0.55); display: flex; align-items: center; justify-content: center; padding-bottom: 30px; }
.rsg-page .flow-arrow svg { width: 22px; height: 22px; }
@media (max-width: 720px) { .rsg-page .flow5 { grid-template-columns: repeat(3, 1fr); gap: 24px 8px; } .rsg-page .flow-arrow { display: none; } }


/* §14 — SEO vs Paid comparison (refined) */
.rsg-page .cmp { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); overflow: hidden; margin: 0 0 8px; }
.rsg-page .cmp table { width: 100%; border-collapse: collapse; }
.rsg-page .cmp th, .rsg-page .cmp td { padding: 15px 24px; text-align: left; vertical-align: middle; }
.rsg-page .cmp thead th { border-bottom: 2px solid var(--line); background: #fff; padding-top: 20px; padding-bottom: 20px; }
.rsg-page .cmp tbody td { border-bottom: 1px solid var(--line-2); font-size: 13.5px; line-height: 1.5; }
.rsg-page .cmp tbody tr:last-child td { border-bottom: 0; }
.rsg-page .cmp tbody tr:hover td { background-color: rgba(0,0,0,0.012); }
.rsg-page .cmp .cmp-dim { width: 204px; font-family: var(--font-display); font-weight: 700; color: var(--ink-900); font-size: 14px; }
.rsg-page .cmp .cmp-seo { background: rgba(44,122,75,0.05); border-left: 1px solid rgba(44,122,75,0.16); border-right: 1px solid rgba(44,122,75,0.16); color: var(--ink-900); font-weight: 600; }
.rsg-page .cmp thead .cmp-seo { background: linear-gradient(180deg, rgba(44,122,75,0.14), rgba(44,122,75,0.05)); border-top: 3px solid var(--green-500); }
.rsg-page .cmp tbody tr:hover td.cmp-seo { background-color: rgba(44,122,75,0.085); }
.rsg-page .cmp .cmp-paid { color: var(--ink-2); }
.rsg-page .cmp-th { display: flex; flex-direction: column; gap: 4px; }
.rsg-page .cmp-th .cth-ic { width: 33px; height: 33px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsg-page .cmp-seo .cth-ic { background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; box-shadow: 0 6px 14px rgba(32,157,80,0.3); }
.rsg-page .cmp-paid .cth-ic { background: #EEF1F4; color: #64748B; }
.rsg-page .cmp-th .cth-ic svg { width: 17px; height: 17px; }
.rsg-page .cmp-th b { font-family: var(--font-display); font-weight: 800; font-size: 17px; color: var(--ink-900); line-height: 1.1; }
.rsg-page .cmp-th .cth-sub { display: block; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; margin-top: 3px; }
.rsg-page .cmp-seo .cth-sub { color: var(--green-700); }
.rsg-page .cmp-paid .cth-sub { color: var(--ink-500); }
@media (max-width: 680px) { .rsg-page .cmp { overflow-x: auto; } .rsg-page .cmp table { min-width: 580px; } .rsg-page .cmp .cmp-dim { width: 130px; } }


/* §16 — result growth-chart panel (fills the left column, reads as data) */
.rsg-page .cs-graph { margin-top: auto; padding-top: 6px; }
.rsg-page .cs-graph-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.10); border-radius: 14px; padding: 16px 18px 14px; }
.rsg-page .cs-graph-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.rsg-page .cgh-label { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: rgba(255,255,255,0.62); }
.rsg-page .cgh-trend { display: inline-flex; align-items: center; gap: 5px; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; color: #6EE7B7; background: rgba(44,122,75,0.18); border: 1px solid rgba(44,122,75,0.40); border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
.rsg-page .cgh-trend svg { width: 11px; height: 11px; }
.rsg-page .cs-chart svg { display: block; width: 100%; height: auto; }
.rsg-page .cs-chart .cc-big { font-family: var(--font-display); font-weight: 800; font-size: 28px; fill: #6EE7B7; letter-spacing: -0.02em; }
.rsg-page .cs-chart .cc-sub { font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; fill: rgba(255,255,255,0.6); }
.rsg-page .cs-chart .cc-tick { font-family: var(--font-mono); font-size: 8px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; fill: rgba(255,255,255,0.45); }
.rsg-page .cs-graph-foot { display: flex; gap: 22px; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.09); }
.rsg-page .cgf { display: flex; align-items: baseline; gap: 6px; }
.rsg-page .cgf b { font-family: var(--font-display); font-weight: 800; font-size: 16px; color: #fff; line-height: 1; }
.rsg-page .cgf span { font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; color: rgba(255,255,255,0.55); }
@media (max-width: 560px) { .rsg-page .cs-graph-foot { gap: 16px; } }


/* §4 — buyer persona cards */
.rsg-page .bp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 0 0 16px; }
.rsg-page .bp-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-md); transition: transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .bp-card:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(0,0,0,0.10); }
.rsg-page .bp-shot-bar { display: flex; align-items: center; gap: 6px; padding: 8px 12px; background: #F4F6F8; border-bottom: 1px solid var(--line); }
.rsg-page .bp-shot-bar .bp-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.rsg-page .bp-shot-bar .bp-lbl { font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.1em; text-transform: uppercase; color: #64748B; font-weight: 700; margin-left: auto; }
.rsg-page .bp-shot img { width: 100%; height: 152px; object-fit: cover; object-position: top; display: block; }
.rsg-page .bp-body { padding: 18px 18px 20px; display: flex; flex-direction: column; flex: 1; }
.rsg-page .bp-head { display: flex; align-items: center; gap: 11px; margin-bottom: 12px; }
.rsg-page .bp-ic { width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; box-shadow: 0 8px 16px rgba(0,0,0,0.12); }
.rsg-page .bp-ic svg { width: 20px; height: 20px; }
.rsg-page .bp-name { font-family: var(--font-display); font-weight: 800; font-size: 15.5px; color: var(--ink-900); line-height: 1.2; display: block; }
.rsg-page .bp-decide { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; margin-top: 5px; display: block; }
.rsg-page .bp-want { font-size: 13px; line-height: 1.55; color: var(--ink-2); margin: 0 0 15px; }
.rsg-page .bp-want strong { color: var(--ink-900); }
.rsg-page .bp-gives { margin-top: auto; background: var(--paper-soft); border: 1px solid var(--line); border-radius: 11px; padding: 13px 14px; }
.rsg-page .bp-gives-lbl { display: flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 700; color: var(--green-700); margin-bottom: 10px; }
.rsg-page .bp-gives ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.rsg-page .bp-gives li { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; line-height: 1.42; color: var(--ink-2); }
.rsg-page .bp-ck { flex-shrink: 0; width: 16px; height: 16px; border-radius: 50%; background: var(--green-50); display: inline-flex; align-items: center; justify-content: center; margin-top: 1px; }
.rsg-page .bp-ck svg { width: 9px; height: 9px; color: var(--green-600); }
.rsg-page .bp-emergency .bp-ic { background: linear-gradient(135deg, #E2434E, var(--red)); }
.rsg-page .bp-emergency .bp-decide { color: var(--red); }
.rsg-page .bp-ticket .bp-ic { background: linear-gradient(135deg, var(--green-500), var(--green-700)); }
.rsg-page .bp-ticket .bp-decide { color: var(--green-700); }
.rsg-page .bp-research .bp-ic { background: linear-gradient(135deg, #E9A23B, var(--orange-500)); }
.rsg-page .bp-research .bp-decide { color: var(--orange-500); }
@media (max-width: 880px) { .rsg-page .bp-grid { grid-template-columns: 1fr; } }


/* CW — business-type card color variants (no purple) */
.rsg-page .bp-residential .bp-ic { background: linear-gradient(135deg, #E2434E, var(--red)); }
.rsg-page .bp-residential .bp-decide { color: var(--red); }
.rsg-page .bp-commercial .bp-ic { background: linear-gradient(135deg, #3B82F6, #1E40AF); }
.rsg-page .bp-commercial .bp-decide { color: #1E40AF; }
.rsg-page .bp-duct .bp-ic { background: linear-gradient(135deg, #E9A23B, var(--orange-500)); }
.rsg-page .bp-duct .bp-decide { color: var(--orange-500); }
.rsg-page .bp-area .bp-ic { background: linear-gradient(135deg, var(--green-500), var(--green-700)); }
.rsg-page .bp-area .bp-decide { color: var(--green-700); }
.rsg-page .bp-fab .bp-ic { background: linear-gradient(135deg, #0E9AA6, #155E75); }
.rsg-page .bp-fab .bp-decide { color: #155E75; }
.rsg-page .bp-grid.bp-grid-5 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 880px) { .rsg-page .bp-grid.bp-grid-5 { grid-template-columns: 1fr; } }

/* CW — before/after voice quote cards */
.rsg-page .voice-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin: 8px 0 0; }
.rsg-page .vba-card { border-radius: 16px; padding: 26px 26px 24px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow-md); position: relative; display: flex; flex-direction: column; }
.rsg-page .vba-card.generic { background: #FBFBFA; border-color: var(--line); }
.rsg-page .vba-card.yours { background: linear-gradient(155deg, #F4F9F5, #E9F1EB); border-color: rgba(44,122,75,0.30); }
.rsg-page .vba-tag { display: inline-flex; align-items: center; gap: 7px; align-self: flex-start; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; border-radius: 999px; padding: 6px 12px; margin-bottom: 16px; }
.rsg-page .vba-card.generic .vba-tag { color: var(--ink-500); background: #EEF0F2; border: 1px solid var(--line); }
.rsg-page .vba-card.yours .vba-tag { color: var(--green-700); background: rgba(44,122,75,0.10); border: 1px solid rgba(44,122,75,0.25); }
.rsg-page .vba-quote { font-family: var(--font-display); font-weight: 700; font-size: 18px; line-height: 1.42; color: var(--ink-900); margin: 0; letter-spacing: -0.01em; }
.rsg-page .vba-card.generic .vba-quote { color: var(--ink-500); }
.rsg-page .vba-foot { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line-2); font-size: 12.5px; line-height: 1.5; color: var(--ink-2); }
@media (max-width: 760px) { .rsg-page .voice-ba { grid-template-columns: 1fr; } }

/* ============================================================
   HVAC LEAD GENERATION — page-specific components (supp)
   Palette discipline: green family + charcoal/grey + white only.
   (charcoal/grey = cost / waste / problem, green = owned / good)
   Loads AFTER master-css inside the same <style>.
   ============================================================ */

/* ---- shared small helpers ---------------------------------- */
.rsg-page .lg-ic-chip { 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; flex-shrink: 0; box-shadow: 0 8px 20px rgba(44,122,75,0.24); }
.rsg-page .lg-ic-chip svg { width: 21px; height: 21px; }
.rsg-page .lg-mono { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); }

/* white outline button for dark sections */
.rsg-page .btn-outline-white { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.5); }
.rsg-page .btn-outline-white:hover { background: rgba(255,255,255,0.1); border-color: #fff; transform: translateY(-1px); }
.rsg-page .promise-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.rsg-page .promise-ctas .btn-large { white-space: nowrap; }
.rsg-page .fc-ctas { display: inline-flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
/* dark-section centered CTA lead-in line */
.rsg-page .lg-dark-cta { text-align: center; margin-top: 34px; }
.rsg-page .lg-dark-cta p { color: rgba(255,255,255,0.82); font-family: var(--font-display); font-weight: 700; font-size: 17px; margin: 0 0 18px; }
/* small sub-heading used above card rows */
.rsg-page .lg-subhead { display: inline-flex; align-items: center; gap: 9px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.13em; text-transform: uppercase; font-weight: 700; color: var(--green-700); margin: 0 0 18px; }
.rsg-page .lg-subhead::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--green-500); }

/* §6 comparison-table header: icon to the LEFT of the label */
.rsg-page .cmp-th { flex-direction: row; align-items: center; gap: 12px; }
.rsg-page .cmp-th .cth-txt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.rsg-page .cmp-th .cth-sub { margin-top: 0; }

/* ============================================================
   §1 — HERO right column: LEAD TRACKER dashboard
   ============================================================ */
.rsg-page .lgh-dash { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 540px; max-width: 100%; z-index: 2; }
/* hero: remove the off-brand RED decorative glow (master .hero::after uses rgba(200,32,43)) */
.rsg-page .hero::after { display: none; }
/* hero: remove the offset backdrop card behind the dashboard (master .platform-hero::before fades to red rgba(200,32,43)) */
.rsg-page .platform-hero::before { display: none; }
/* hero trust row — keep both items on one inline line (override master wrap); mobile <=480 still stacks via master */
.rsg-page .hero-trust-row { flex-wrap: nowrap; }
.rsg-page .hero-trust-row .htr-rating, .rsg-page .hero-trust-row .htr-badge { white-space: nowrap; }
.rsg-page .lgh-win { background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 40px 90px -30px rgba(17,17,17,0.34), 0 12px 30px -12px rgba(17,17,17,0.14); overflow: hidden; }
.rsg-page .lgh-bar { display: flex; align-items: center; gap: 8px; padding: 12px 16px; background: linear-gradient(180deg,#F7F9F8,#EEF2F0); border-bottom: 1px solid var(--line); }
.rsg-page .lgh-dots { display: flex; gap: 6px; }
.rsg-page .lgh-dots i { width: 10px; height: 10px; border-radius: 50%; display: block; }
.rsg-page .lgh-dots i:nth-child(1){ background:#E2564F; } .rsg-page .lgh-dots i:nth-child(2){ background:#E9B44C; } .rsg-page .lgh-dots i:nth-child(3){ background:#2C7A4B; }
.rsg-page .lgh-url { flex: 1; text-align: center; font-family: var(--font-mono); font-size: 10.5px; color: var(--ink-500); font-weight: 600; letter-spacing: 0.02em; }
.rsg-page .lgh-body { padding: 18px 20px 20px; }
.rsg-page .lgh-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.rsg-page .lgh-title { display: flex; align-items: center; gap: 9px; font-family: var(--font-display); font-weight: 800; font-size: 15px; color: var(--ink-900); }
.rsg-page .lgh-title .lgh-tic { width: 26px; height: 26px; border-radius: 8px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: flex; align-items: center; justify-content: center; }
.rsg-page .lgh-title .lgh-tic svg { width: 14px; height: 14px; }
.rsg-page .lgh-live { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: var(--green-700); background: var(--green-50); border: 1px solid rgba(44,122,75,0.2); border-radius: 999px; padding: 4px 9px; }
.rsg-page .lgh-live .d { width: 6px; height: 6px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 0 3px rgba(44,122,75,0.18); animation: pulse 2s infinite; }

/* flow: Leads -> Booked -> Revenue */
.rsg-page .lgh-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: stretch; gap: 6px; margin-bottom: 16px; }
.rsg-page .lgh-node { background: #F8FAF9; border: 1px solid var(--line); border-radius: 12px; padding: 12px 10px; text-align: center; }
.rsg-page .lgh-node.win { background: linear-gradient(160deg, var(--green-50), #fff); border-color: rgba(44,122,75,0.32); }
.rsg-page .lgh-node b { display: block; font-family: var(--font-display); font-weight: 800; font-size: 22px; color: var(--ink-900); line-height: 1; letter-spacing: -0.01em; }
.rsg-page .lgh-node.win b { color: var(--green-700); }
.rsg-page .lgh-node span { display: block; font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.07em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; margin-top: 5px; }
.rsg-page .lgh-arrow { display: flex; align-items: center; justify-content: center; color: var(--green-500); }
.rsg-page .lgh-arrow svg { width: 15px; height: 15px; }

/* channel rows */
.rsg-page .lgh-chn { display: grid; gap: 8px; margin-bottom: 14px; }
.rsg-page .lgh-row { display: grid; grid-template-columns: 96px 1fr auto; align-items: center; gap: 10px; }
.rsg-page .lgh-row .k { font-family: var(--font-display); font-size: 11.5px; font-weight: 700; color: var(--ink-900); }
.rsg-page .lgh-track { height: 9px; border-radius: 999px; background: #EDF1EF; overflow: hidden; }
.rsg-page .lgh-fill { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--green-600), var(--green-500)); }
.rsg-page .lgh-row .v { font-family: var(--font-mono); font-size: 10px; font-weight: 700; color: var(--green-700); white-space: nowrap; }
.rsg-page .lgh-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 13px; border-top: 1px solid var(--line-2); }
.rsg-page .lgh-metric b { font-family: var(--font-display); font-weight: 800; font-size: 15px; color: var(--ink-900); }
.rsg-page .lgh-metric span { display: block; font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; margin-top: 3px; }
.rsg-page .lgh-note { font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; }

/* floating proof pills over the dashboard */
.rsg-page .lgh-pill { position: absolute; z-index: 5; display: inline-flex; align-items: center; gap: 9px; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 7px 14px 7px 7px; box-shadow: 0 12px 28px rgba(0,0,0,0.14); }
.rsg-page .lgh-pill .pic { width: 30px; height: 30px; border-radius: 999px; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsg-page .lgh-pill .pic svg { width: 15px; height: 15px; }
.rsg-page .lgh-pill b { font-family: var(--font-display); font-size: 12px; font-weight: 700; color: var(--ink-900); line-height: 1.15; display: block; }
.rsg-page .lgh-pill span { font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-500); font-weight: 700; }
.rsg-page .lgh-pill.p1 { top: 8px; right: -6px; }
.rsg-page .lgh-pill.p2 { bottom: 96px; left: -18px; }
.rsg-page .lgh-pill.p3 { bottom: 6px; right: 8px; }

/* ============================================================
   §2 — WHAT LEAD GENERATION MEANS: "Channels You Control"
   premium convergence diagram + own/rent lanes + 3-part test
   ============================================================ */
/* --- centerpiece: owned-channels convergence into "your business" hub --- */
.rsg-page .own-hero { position: relative; overflow: hidden; background: linear-gradient(160deg, var(--green-50) 0%, #FBFDFC 55%); border: 1px solid rgba(44,122,75,0.24); border-radius: 22px; padding: 30px 32px 28px; margin: 0 0 20px; box-shadow: 0 20px 50px -34px rgba(20,50,32,0.4); }
.rsg-page .own-hero::before { content:""; position:absolute; inset:0; background-image: radial-gradient(rgba(44,122,75,0.10) 1px, transparent 1px); background-size: 22px 22px; opacity:0.5; pointer-events:none; }
.rsg-page .own-hero::after { content:""; position:absolute; top:-80px; right:-60px; width:280px; height:280px; background: radial-gradient(circle, rgba(44,122,75,0.12), transparent 70%); pointer-events:none; }
.rsg-page .own-hero-head { position:relative; z-index:1; margin-bottom: 22px; }
.rsg-page .own-eyebrow { display:inline-flex; align-items:center; gap:8px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--green-700); margin-bottom: 10px; }
.rsg-page .own-eyebrow::before { content:""; width:7px; height:7px; border-radius:50%; background: var(--green-500); box-shadow: 0 0 0 4px rgba(44,122,75,0.16); }
.rsg-page .own-hero-head h3 { font-family: var(--font-display); font-size: 21px; font-weight: 800; color: var(--ink-900); margin: 0; line-height: 1.25; letter-spacing:-0.01em; }
.rsg-page .own-flow { position:relative; z-index:1; display:grid; grid-template-columns: minmax(0,1fr) 104px 256px; align-items:stretch; gap: 0; }
.rsg-page .own-chans { display:flex; flex-direction:column; justify-content:space-between; gap:14px; }
.rsg-page .own-chan { display:flex; align-items:center; gap:13px; background:#fff; border:1px solid rgba(44,122,75,0.18); border-radius:13px; padding:12px 16px; box-shadow: 0 8px 20px -12px rgba(20,50,32,0.28); transition: transform .2s, box-shadow .2s; }
.rsg-page .own-chan:hover { transform: translateX(4px); box-shadow: 0 12px 26px -12px rgba(20,50,32,0.34); }
.rsg-page .own-chan .oc-ic { width:38px; height:38px; border-radius:10px; 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 14px rgba(44,122,75,0.26); }
.rsg-page .own-chan .oc-ic svg { width:19px; height:19px; }
.rsg-page .own-chan .oc-txt { display:flex; flex-direction:column; line-height:1.2; }
.rsg-page .own-chan .oc-txt b { font-family: var(--font-display); font-size:14px; font-weight:700; color: var(--ink-900); }
.rsg-page .own-chan .oc-txt span { font-family: var(--font-mono); font-size:8.5px; letter-spacing:0.1em; text-transform:uppercase; color: var(--green-600); font-weight:700; margin-top:3px; display:inline-flex; align-items:center; gap:4px; }
.rsg-page .own-converge { display:flex; }
.rsg-page .own-converge svg { width:100%; height:100%; display:block; }
.rsg-page .own-hub { position:relative; align-self:center; background: radial-gradient(circle at 38% 30%, var(--green-500), var(--green-700)); border-radius:18px; padding:24px 22px; color:#fff; text-align:center; box-shadow: 0 20px 44px -18px rgba(44,122,75,0.6); border:1px solid rgba(255,255,255,0.14); overflow:hidden; }
.rsg-page .own-hub::after { content:""; position:absolute; top:-40px; right:-40px; width:140px; height:140px; background: radial-gradient(circle, rgba(255,255,255,0.18), transparent 70%); pointer-events:none; }
.rsg-page .own-hub-ic { position:relative; width:46px; height:46px; margin:0 auto 12px; border-radius:12px; background: rgba(255,255,255,0.16); border:1px solid rgba(255,255,255,0.3); display:flex; align-items:center; justify-content:center; }
.rsg-page .own-hub-ic svg { width:24px; height:24px; }
.rsg-page .own-hub b { position:relative; display:block; font-family: var(--font-display); font-size:18px; font-weight:800; letter-spacing:-0.01em; }
.rsg-page .own-hub-sub { position:relative; display:block; font-family: var(--font-mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.86); font-weight:700; margin-top:5px; }
.rsg-page .own-hub-eq { position:relative; display:inline-flex; align-items:center; gap:8px; margin-top:14px; padding:7px 12px; background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.24); border-radius:999px; font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; font-weight:700; color:#EAFBF1; }
.rsg-page .own-hub-eq svg { width:14px; height:14px; }
.rsg-page .own-hero-foot { position:relative; z-index:1; display:flex; align-items:center; gap:14px; margin-top:24px; padding-top:20px; border-top:1px solid rgba(44,122,75,0.16); }
.rsg-page .own-hero-foot .ohf-ic { width:42px; height:42px; border-radius:11px; background:#fff; border:1px solid rgba(44,122,75,0.22); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--green-600); box-shadow:0 6px 14px rgba(44,122,75,0.1); }
.rsg-page .own-hero-foot .ohf-ic svg { width:22px; height:22px; }
.rsg-page .own-hero-foot p { margin:0; font-size:13.5px; line-height:1.55; color: var(--ink-2); }
.rsg-page .own-hero-foot p strong { color: var(--ink-900); }

/* --- own vs rent lanes --- */
.rsg-page .own-compare { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:0 0 30px; }
.rsg-page .own-lane { position:relative; display:flex; flex-direction:column; gap:16px; border-radius:18px; padding:24px 26px; border:1px solid var(--line); transition: transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .own-lane:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0,0,0,0.08); }
.rsg-page .own-lane.own { background: linear-gradient(160deg, rgba(44,122,75,0.07), #fff); border-color: rgba(44,122,75,0.26); }
.rsg-page .own-lane.own:hover { border-color: rgba(44,122,75,0.42); }
.rsg-page .own-lane.rent { background:#F7F8F7; border-color:#E4E6E4; }
.rsg-page .own-lane-head { display:flex; align-items:flex-start; gap:14px; }
.rsg-page .own-lane .ol-ic { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color:#fff; box-shadow:0 8px 18px rgba(44,122,75,0.24); }
.rsg-page .own-lane .ol-ic svg { width:22px; height:22px; }
.rsg-page .own-lane .ol-body { flex:1; min-width:0; }
.rsg-page .own-lane .ol-body b { display:block; font-family: var(--font-display); font-size:16.5px; font-weight:800; color: var(--ink-900); margin-bottom:5px; }
.rsg-page .own-lane .ol-body p { margin:0; font-size:13px; line-height:1.58; color: var(--ink-2); }
.rsg-page .own-lane .ol-badge { flex-shrink:0; font-family:var(--font-mono); font-size:9px; letter-spacing:0.12em; text-transform:uppercase; font-weight:800; padding:5px 10px; border-radius:7px; }
.rsg-page .own-lane.own .ol-badge { color:#fff; background: linear-gradient(135deg,var(--green-500),var(--green-700)); }
.rsg-page .own-lane.rent .ol-badge { color:#6B6B6B; background:#E7E9E7; }
/* value-after-you-stop-paying mini chart */
.rsg-page .ol-chart { position:relative; height:86px; margin-top:2px; }
.rsg-page .ol-chart svg { position:absolute; left:0; bottom:0; width:100%; height:70px; }
.rsg-page .ol-stop { position:absolute; left:62.7%; top:0; transform:translateX(-50%); font-family:var(--font-mono); font-size:8px; letter-spacing:0.06em; text-transform:uppercase; font-weight:700; color:var(--ink-500); white-space:nowrap; background:rgba(255,255,255,0.9); padding:1px 5px; border-radius:4px; box-shadow:0 1px 4px rgba(0,0,0,0.05); }
.rsg-page .own-lane.own .ol-stop { color:var(--green-700); }
.rsg-page .own-lane .ol-tag { align-self:flex-start; display:inline-flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; border-radius:999px; padding:6px 12px; }
.rsg-page .own-lane.own .ol-tag { color:var(--green-700); background:#fff; border:1px solid rgba(44,122,75,0.28); }
.rsg-page .own-lane.own .ol-tag::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--green-500); }
.rsg-page .own-lane.rent .ol-tag { color:#6B6B6B; background:#EDEDED; border:1px solid #E0E0E0; }
.rsg-page .own-lane.rent .ol-tag::before { content:""; width:6px; height:6px; border-radius:50%; background:#B4BAB6; }

/* --- 3-part test --- */
.rsg-page .own-test-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:20px; }
.rsg-page .own-t { position:relative; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 24px 20px; box-shadow: var(--shadow-md); transition: transform .25s, box-shadow .25s, border-color .25s; display:flex; flex-direction:column; }
.rsg-page .own-t:hover { transform: translateY(-3px); border-color: rgba(44,122,75,0.3); box-shadow: 0 16px 36px rgba(0,0,0,0.07); }
.rsg-page .own-t::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background: linear-gradient(90deg, var(--green-500), var(--green-700)); transform:scaleX(0); transform-origin:left; transition: transform .3s; }
.rsg-page .own-t:hover::before { transform:scaleX(1); }
.rsg-page .own-t-viz { height:64px; margin-bottom:14px; display:flex; align-items:center; }
.rsg-page .own-t-viz svg { height:64px; width:auto; display:block; }
.rsg-page .own-t h4 { font-family: var(--font-display); font-size:16px; font-weight:700; color: var(--ink-900); margin:0 0 7px; line-height:1.3; }
.rsg-page .own-t p { font-size:13px; line-height:1.58; color: var(--ink-2); margin:0; }
.rsg-page .own-test-note { display:flex; align-items:flex-start; gap:14px; background: linear-gradient(135deg,#1A1A1A,#333); border-radius:14px; padding:18px 24px; }
.rsg-page .own-test-note .otn-x { width:36px; height:36px; border-radius:10px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.16); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#9AA29D; }
.rsg-page .own-test-note .otn-x svg { width:18px; height:18px; }
.rsg-page .own-test-note p { margin:0; font-size:14px; line-height:1.6; color:rgba(255,255,255,0.86); }
.rsg-page .own-test-note strong { color:#fff; }

/* ============================================================
   §3 — WHY UNPREDICTABLE: "Lead Flow Health Check" diagnostic
   dashboard (volatile-vs-steady chart) + cause cards + root cause
   ============================================================ */
.rsg-page .ufl-panel { background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow: 0 24px 54px -32px rgba(17,17,17,0.32); overflow:hidden; margin:0 0 22px; }
.rsg-page .ufl-bar { display:flex; align-items:center; gap:10px; padding:14px 20px; background: linear-gradient(180deg,#F7F9F8,#EEF2F0); border-bottom:1px solid var(--line); }
.rsg-page .ufl-dots { display:flex; gap:6px; }
.rsg-page .ufl-dots i { width:10px; height:10px; border-radius:50%; display:block; }
.rsg-page .ufl-dots i:nth-child(1){background:#E2564F;} .rsg-page .ufl-dots i:nth-child(2){background:#E9B44C;} .rsg-page .ufl-dots i:nth-child(3){background:#2C7A4B;}
.rsg-page .ufl-title { display:flex; align-items:center; gap:9px; font-family:var(--font-display); font-weight:800; font-size:14px; color:var(--ink-900); }
.rsg-page .ufl-title .ut-ic { width:26px; height:26px; border-radius:8px; background: linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; }
.rsg-page .ufl-title .ut-ic svg { width:14px; height:14px; }
.rsg-page .ufl-status { margin-left:auto; display:inline-flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:#5C5C5C; background:#ECEDEC; border:1px solid #DEE0DE; border-radius:999px; padding:5px 12px; }
.rsg-page .ufl-status .sdot { width:7px; height:7px; border-radius:50%; background:#8A918C; animation: pulse 2s infinite; }
.rsg-page .ufl-body { padding:24px 26px 22px; }
.rsg-page .ufl-chead { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:14px; }
.rsg-page .ufl-chead .ch-l { font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:var(--ink-500); }
.rsg-page .ufl-chead .ch-r { display:inline-flex; align-items:center; gap:7px; font-family:var(--font-display); font-size:13px; font-weight:800; color:#5C5C5C; }
.rsg-page .ufl-chead .ch-r svg { width:15px; height:15px; }
.rsg-page .ufl-chart { position:relative; height:184px; padding-left:34px; }
.rsg-page .ufl-chart svg { position:absolute; left:34px; top:0; right:0; width:calc(100% - 34px); height:100%; }
.rsg-page .ufl-yax { position:absolute; left:0; top:2px; bottom:20px; display:flex; flex-direction:column; justify-content:space-between; font-family:var(--font-mono); font-size:8px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-500); font-weight:700; }
.rsg-page .ufl-legend { display:flex; flex-wrap:wrap; gap:20px; margin-top:16px; padding-top:15px; border-top:1px solid var(--line-2); }
.rsg-page .ufl-lg { display:inline-flex; align-items:center; gap:9px; font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.05em; text-transform:uppercase; font-weight:700; color:var(--ink-2); }
.rsg-page .ufl-lg .sw { width:18px; height:5px; border-radius:3px; background:#B9C0BB; }
.rsg-page .ufl-lg .sw.dash { background:none; height:0; border-top:2px dashed var(--green-500); border-radius:0; }
.rsg-page .ufl-caption { margin:16px 0 0; font-size:13.5px; line-height:1.55; color:var(--ink-2); }
.rsg-page .ufl-caption strong { color:var(--ink-900); }

.rsg-page .ufl-causes { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:0 0 24px; }
.rsg-page .ufl-cause { position:relative; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 24px; box-shadow:var(--shadow-md); display:flex; flex-direction:column; transition:transform .25s,box-shadow .25s,border-color .25s; }
.rsg-page .ufl-cause:hover { transform:translateY(-3px); border-color:rgba(44,122,75,0.28); box-shadow:0 16px 36px rgba(0,0,0,0.08); }
.rsg-page .ufl-viz { height:76px; background: linear-gradient(160deg,#F5F8F6,#fff); border:1px solid var(--line-2); border-radius:12px; margin-bottom:16px; display:flex; align-items:center; padding:0 16px; overflow:hidden; }
.rsg-page .ufl-viz svg { width:100%; height:52px; display:block; }
.rsg-page .ufl-cause h3 { font-family:var(--font-display); font-size:16.5px; font-weight:700; color:var(--ink-900); margin:0 0 8px; line-height:1.3; display:flex; align-items:center; gap:12px; }
.rsg-page .ufl-cause h3 .cn { width:34px; height:34px; border-radius:9px; 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 14px rgba(44,122,75,0.24); }
.rsg-page .ufl-cause h3 .cn svg { width:16px; height:16px; }
.rsg-page .ufl-cause p { font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0 0 15px; }
.rsg-page .ufl-flag { margin-top:auto; padding-top:14px; border-top:1px solid var(--line-2); display:flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:9px; letter-spacing:0.09em; text-transform:uppercase; font-weight:700; color:#6B6B6B; }
.rsg-page .ufl-flag .fdot { width:7px; height:7px; border-radius:50%; background:#B4BAB6; flex-shrink:0; }

.rsg-page .ufl-root { display:flex; align-items:center; gap:20px; background: linear-gradient(135deg, var(--green-50) 0%, #fff 65%); border:1px solid rgba(44,122,75,0.24); border-left:5px solid var(--green-500); border-radius:16px; padding:24px 30px; position:relative; overflow:hidden; }
.rsg-page .ufl-root::after { content:""; position:absolute; top:-60px; right:-40px; width:200px; height:200px; background: radial-gradient(circle, rgba(44,122,75,0.09), transparent 70%); pointer-events:none; }
.rsg-page .ufl-root .ur-ic { position:relative; width:50px; height:50px; border-radius:14px; 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 8px 20px rgba(44,122,75,0.26); }
.rsg-page .ufl-root .ur-ic svg { width:25px; height:25px; }
.rsg-page .ufl-root .ur-txt { position:relative; }
.rsg-page .ufl-root .ur-eye { font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.14em; text-transform:uppercase; font-weight:700; color:var(--green-700); margin-bottom:6px; }
.rsg-page .ufl-root p { margin:0; font-size:16px; line-height:1.45; color:var(--ink-900); font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; }
.rsg-page .ufl-root p em { font-style:normal; color:var(--green-700); }

/* ============================================================
   §4 & inline — CTA BAND (light green, calendar CTA right)
   ============================================================ */
.rsg-page .lg-band { display: flex; align-items: center; gap: 20px; background: linear-gradient(135deg, var(--green-50) 0%, #fff 100%); border: 1px solid rgba(44,122,75,0.2); border-left: 5px solid var(--green-500); border-radius: 14px; padding: 22px 26px; position: relative; overflow: hidden; }
.rsg-page .lg-band::after { content:""; position:absolute; top:-60px; right:-40px; width:200px; height:200px; background: radial-gradient(circle, rgba(44,122,75,0.08), transparent 70%); pointer-events:none; }
.rsg-page .lg-band-ic { position: relative; z-index:1; width: 50px; height: 50px; border-radius: 13px; background: #fff; border: 1px solid rgba(44,122,75,0.22); display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 6px 16px rgba(44,122,75,0.12); color: var(--green-600); }
.rsg-page .lg-band-ic svg { width: 24px; height: 24px; }
.rsg-page .lg-band-txt { position: relative; z-index:1; flex: 1; }
.rsg-page .lg-band-txt strong { display:block; font-family: var(--font-display); font-size: 17px; font-weight: 800; color: var(--ink-900); margin-bottom: 4px; }
.rsg-page .lg-band-txt p { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--ink-2); }
.rsg-page .lg-band-btn { position: relative; z-index:1; flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px; background: var(--green-500); color: #fff; font-family: var(--font-display); font-weight: 700; font-size: 12px; border-radius: 999px; padding: 10px 18px; text-decoration: none; transition: background .2s, transform .15s, box-shadow .15s; }
.rsg-page .lg-band-btn:hover { background: var(--green-600); transform: translateY(-1px); box-shadow: 0 8px 22px rgba(44,122,75,0.28); }
.rsg-page .lg-band-btn svg { width: 15px; height: 15px; }

/* ============================================================
   §5 — TWO ENGINES (two premium panels)
   ============================================================ */
.rsg-page .lge-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin: 0 0 26px; align-items: stretch; }
.rsg-page .lge-panel { background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 26px 26px 24px; box-shadow: var(--shadow-md); display: flex; flex-direction: column; position: relative; overflow: hidden; }
.rsg-page .lge-panel::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background: linear-gradient(90deg, var(--green-500), var(--green-700)); }
.rsg-page .lge-head { display: flex; align-items: center; gap: 13px; margin-bottom: 6px; }
.rsg-page .lge-eyebrow { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--green-700); }
.rsg-page .lge-panel h3 { font-family: var(--font-display); font-size: 21px; font-weight: 800; color: var(--ink-900); margin: 6px 0 10px; line-height: 1.25; }
.rsg-page .lge-panel > p { font-size: 14px; line-height: 1.62; color: var(--ink-2); margin: 0 0 18px; }
/* engine viz */
.rsg-page .lge-viz { background: #F8FAF9; border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; margin-bottom: 16px; }
.rsg-page .lge-viz-h { display:flex; align-items:center; justify-content:space-between; margin-bottom: 12px; }
.rsg-page .lge-viz-h .l { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); }
.rsg-page .lge-viz-chart svg { display:block; width:100%; height:auto; }
.rsg-page .lge-viz-foot { display:flex; justify-content:space-between; margin-top: 8px; font-family: var(--font-mono); font-size: 8px; letter-spacing:0.05em; text-transform:uppercase; font-weight:700; color: var(--ink-500); }
.rsg-page .lge-callout { display: flex; gap: 12px; background: var(--green-50); border: 1px solid rgba(44,122,75,0.18); border-radius: 12px; padding: 14px 16px; margin-top: auto; }
.rsg-page .lge-callout .cx { width: 30px; height: 30px; border-radius: 8px; background: #fff; border: 1px solid rgba(44,122,75,0.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--green-600); }
.rsg-page .lge-callout .cx svg { width: 16px; height: 16px; }
.rsg-page .lge-callout p { margin: 0; font-size: 12.5px; line-height: 1.55; color: var(--ink-900); }
.rsg-page .lge-tradeoff { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.02em; color: var(--ink-500); font-style: italic; margin: 0; display:flex; align-items:flex-start; gap:8px; }
.rsg-page .lge-tradeoff b { color: var(--ink-700); font-style: normal; }

/* ============================================================
   §8 — SERVICES (7 channel cards)
   ============================================================ */
.rsg-page .lgs-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.rsg-page .lgs-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px; box-shadow: var(--shadow-md); display: flex; flex-direction: column; text-decoration: none; position: relative; overflow: hidden; transition: transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .lgs-card:hover { transform: translateY(-3px); border-color: rgba(44,122,75,0.3); box-shadow: 0 16px 38px rgba(0,0,0,0.08); }
.rsg-page .lgs-card::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background: linear-gradient(90deg, var(--green-500), var(--green-700)); transform: scaleX(0); transform-origin: left; transition: transform .3s; }
.rsg-page .lgs-card:hover::before { transform: scaleX(1); }
.rsg-page .lgs-card .lgs-top { display:flex; align-items:center; gap:12px; margin-bottom: 13px; }
.rsg-page .lgs-num { font-family: var(--font-mono); font-size: 10px; font-weight: 700; letter-spacing: 0.08em; color: var(--ink-500); margin-left: auto; }
.rsg-page .lgs-card h3 { font-family: var(--font-display); font-size: 16.5px; font-weight: 700; color: var(--ink-900); margin: 0 0 8px; line-height: 1.3; }
.rsg-page .lgs-card p { font-size: 13px; line-height: 1.58; color: var(--ink-2); margin: 0 0 16px; }
.rsg-page .lgs-link { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-size: 12.5px; font-weight: 700; color: var(--green-700); }
.rsg-page .lgs-link .lgs-arrow { width: 24px; height: 24px; border-radius: 50%; background: var(--green-50); display: flex; align-items: center; justify-content: center; transition: background .2s, color .2s; }
.rsg-page .lgs-link .lgs-arrow svg { width: 12px; height: 12px; color: var(--green-600); }
.rsg-page .lgs-card:hover .lgs-arrow { background: linear-gradient(135deg, var(--green-500), var(--green-700)); }
.rsg-page .lgs-card:hover .lgs-arrow svg { color: #fff; }
/* full-width capstone service card (fills the lone last-row slot) */
.rsg-page .lgs-card.lgs-wide { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 26px; }
.rsg-page .lgs-card.lgs-wide .lgs-top { margin-bottom: 0; }
.rsg-page .lgs-card.lgs-wide .lgs-wide-body { flex: 1; min-width: 0; }
.rsg-page .lgs-card.lgs-wide h3 { margin-bottom: 7px; }
.rsg-page .lgs-card.lgs-wide p { margin-bottom: 0; max-width: 760px; }
.rsg-page .lgs-card.lgs-wide .lgs-link { margin-top: 0; flex-shrink: 0; align-self: stretch; display: flex; align-items: center; padding-left: 26px; border-left: 1px solid var(--line-2); }
@media (max-width: 620px) {
  .rsg-page .lgs-card.lgs-wide { flex-direction: column; align-items: flex-start; gap: 0; }
  .rsg-page .lgs-card.lgs-wide .lgs-top { margin-bottom: 13px; }
  .rsg-page .lgs-card.lgs-wide h3 { margin-bottom: 8px; }
  .rsg-page .lgs-card.lgs-wide p { margin-bottom: 16px; }
  .rsg-page .lgs-card.lgs-wide .lgs-link { border-left: 0; padding-left: 0; align-self: flex-start; }
}

/* ============================================================
   §9 — PROTECT BUDGET (leak bar + 4 cards)
   ============================================================ */
.rsg-page .lgb-leak { display: grid; grid-template-columns: 1.15fr 1fr; gap: 30px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 28px 30px; box-shadow: var(--shadow-md); margin: 0 0 30px; }
.rsg-page .lgb-leak-copy .lgb-eye { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--green-700); margin-bottom: 10px; display:flex; align-items:center; gap:9px; }
.rsg-page .lgb-leak-copy h3 { font-family: var(--font-display); font-size: 20px; font-weight: 800; color: var(--ink-900); margin: 0 0 10px; line-height: 1.25; }
.rsg-page .lgb-leak-copy p { font-size: 13.5px; line-height: 1.6; color: var(--ink-2); margin: 0; }
.rsg-page .lgb-leak-copy strong { color: var(--ink-900); }
.rsg-page .lgb-alloc { display:flex; flex-direction:column; gap:15px; }
.rsg-page .lgb-alloc-top { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.rsg-page .lgb-alloc-lbl { font-family:var(--font-mono); font-size:10px; letter-spacing:0.12em; text-transform:uppercase; font-weight:700; color:var(--ink-500); }
.rsg-page .lgb-alloc-stat { font-family:var(--font-display); font-size:12px; font-weight:700; color:#6B6B6B; white-space:nowrap; }
.rsg-page .lgb-alloc-stat b { font-size:27px; font-weight:800; color:var(--ink-900); letter-spacing:-0.01em; margin-right:5px; }
.rsg-page .lgb-stack { display:flex; height:38px; border-radius:11px; overflow:hidden; box-shadow: inset 0 0 0 1px var(--line); }
.rsg-page .lgb-seg { display:flex; align-items:center; }
.rsg-page .lgb-seg.good { background: linear-gradient(90deg, var(--green-600), var(--green-500)); padding-left:13px; }
.rsg-page .lgb-seg.good .seg-in { font-family:var(--font-display); font-weight:800; font-size:13.5px; color:#fff; }
.rsg-page .lgb-seg.leak { background: repeating-linear-gradient(45deg,#C7CDC9,#C7CDC9 5px,#B9C0BB 5px,#B9C0BB 10px); }
.rsg-page .lgb-legend { display:flex; flex-wrap:wrap; gap:9px 18px; }
.rsg-page .lgb-lg { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.05em; text-transform:uppercase; font-weight:700; color:var(--ink-2); }
.rsg-page .lgb-lg .sw { width:13px; height:13px; border-radius:4px; flex-shrink:0; }
.rsg-page .lgb-lg .sw.good { background: var(--green-500); }
.rsg-page .lgb-lg .sw.leak { background: repeating-linear-gradient(45deg,#C7CDC9,#C7CDC9 4px,#B9C0BB 4px,#B9C0BB 8px); }
.rsg-page .lgb-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.rsg-page .lgb-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 22px 24px; box-shadow: var(--shadow-md); display:flex; gap:16px; align-items:flex-start; transition: transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .lgb-card:hover { transform: translateY(-3px); border-color: rgba(44,122,75,0.28); box-shadow: 0 16px 36px rgba(0,0,0,0.07); }
.rsg-page .lgb-card h4 { font-family: var(--font-display); font-size: 15.5px; font-weight:700; color: var(--ink-900); margin: 2px 0 6px; line-height:1.3; }
.rsg-page .lgb-card p { font-size: 13px; line-height:1.58; color: var(--ink-2); margin: 0; }
.rsg-page .lgb-card { position: relative; overflow: hidden; }
.rsg-page .lgb-card::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background: linear-gradient(90deg, var(--green-500), var(--green-700)); transform: scaleX(0); transform-origin: left; transition: transform .3s; }
.rsg-page .lgb-card:hover::before { transform: scaleX(1); }
.rsg-page .lgb-cad { position:absolute; top:20px; right:22px; font-family:var(--font-mono); font-size:9px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,0.2); border-radius:999px; padding:5px 10px; }
.rsg-page .lgb-card h4 { padding-right: 72px; }

/* ============================================================
   §10 — COST BY CHANNEL (light data cards)
   ============================================================ */
.rsg-page .lgc-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin: 0 0 26px; }
.rsg-page .lgc-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 22px 20px 20px; box-shadow: var(--shadow-md); display:flex; flex-direction:column; position:relative; overflow:hidden; }
.rsg-page .lgc-card::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background: linear-gradient(90deg, var(--green-500), var(--green-700)); }
.rsg-page .lgc-card .lgc-k { font-family: var(--font-display); font-size: 14px; font-weight:700; color: var(--ink-900); margin-bottom: 12px; min-height: 34px; display:flex; align-items:flex-start; gap:9px; }
.rsg-page .lgc-card .lgc-fig { font-family: var(--font-display); font-size: 24px; font-weight:800; color: var(--green-700); line-height:1; letter-spacing:-0.01em; }
.rsg-page .lgc-card .lgc-unit { font-family: var(--font-mono); font-size: 9px; letter-spacing:0.06em; text-transform:uppercase; color: var(--ink-500); font-weight:700; margin-top: 6px; }
.rsg-page .lgc-card .lgc-sub { font-size: 12px; line-height:1.5; color: var(--ink-2); margin: 12px 0 0; padding-top:12px; border-top:1px solid var(--line-2); }
.rsg-page .lgc-bill { display:grid; grid-template-columns: 1fr 1fr; gap: 20px; background: linear-gradient(135deg,#1A1A1A,#333); border-radius: 18px; padding: 26px 30px; color:#fff; }
.rsg-page .lgc-bill h3 { color:#fff; font-family: var(--font-display); font-size: 18px; font-weight:800; margin:0 0 10px; }
.rsg-page .lgc-bill p { font-size: 13.5px; line-height:1.6; color: rgba(255,255,255,0.82); margin:0 0 12px; }
.rsg-page .lgc-bill p:last-child { margin-bottom:0; }
.rsg-page .lgc-bill strong { color:#fff; }
.rsg-page .lgc-bill .lgc-bill-stat { display:flex; align-items:baseline; gap:10px; margin-bottom:14px; }
.rsg-page .lgc-bill .lgc-bill-stat b { font-family: var(--font-display); font-size: 40px; font-weight:800; color:#6EE7B7; line-height:1; }
.rsg-page .lgc-bill .lgc-bill-stat span { font-family: var(--font-mono); font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color: rgba(255,255,255,0.7); font-weight:700; }

/* §10 v2 — cost-per-channel RANGE CHART + light billing */
.rsg-page .cst-chart { background:#fff; border:1px solid var(--line); border-radius:20px; padding:26px 30px 20px; box-shadow:var(--shadow-md); margin:0 0 22px; }
.rsg-page .cst-plot { position:relative; }
.rsg-page .cst-gridlines { position:absolute; inset:0; display:grid; grid-template-columns:250px 1fr 116px; column-gap:22px; pointer-events:none; z-index:0; }
.rsg-page .cst-gl { grid-column:2; position:relative; }
.rsg-page .cst-gl span { position:absolute; top:4px; bottom:4px; width:1px; background:var(--line-2); }
.rsg-page .cst-gl span:nth-child(1){ left:0; } .rsg-page .cst-gl span:nth-child(2){ left:25%; } .rsg-page .cst-gl span:nth-child(3){ left:50%; } .rsg-page .cst-gl span:nth-child(4){ left:75%; } .rsg-page .cst-gl span:nth-child(5){ left:calc(100% - 1px); }
.rsg-page .cst-row { position:relative; z-index:1; display:grid; grid-template-columns:250px 1fr 116px; grid-template-areas:"name track fig" "note note note"; align-items:center; column-gap:22px; padding:16px 0; border-bottom:1px solid var(--line-2); }
.rsg-page .cst-row:last-of-type { border-bottom:0; padding-bottom:6px; }
.rsg-page .cst-name { grid-area:name; display:flex; align-items:center; gap:12px; }
.rsg-page .cst-name .cst-ic { width:34px; height:34px; border-radius:9px; 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 5px 12px rgba(44,122,75,0.22); }
.rsg-page .cst-name .cst-ic svg { width:17px; height:17px; }
.rsg-page .cst-name .cst-txt { min-width:0; }
.rsg-page .cst-name .cst-txt b { display:block; font-family:var(--font-display); font-size:14.5px; font-weight:700; color:var(--ink-900); line-height:1.2; }
.rsg-page .cst-name .cst-txt em { display:block; font-style:normal; font-family:var(--font-mono); font-size:9px; letter-spacing:0.07em; text-transform:uppercase; color:var(--ink-500); font-weight:700; margin-top:4px; }
.rsg-page .cst-track { grid-area:track; position:relative; height:16px; background:transparent; border-radius:999px; }
.rsg-page .cst-range { position:absolute; top:0; bottom:0; border-radius:999px; background:linear-gradient(90deg,var(--green-600),var(--green-500)); }
.rsg-page .cst-range::before, .rsg-page .cst-range::after { content:""; position:absolute; top:50%; transform:translateY(-50%); width:10px; height:10px; border-radius:50%; background:#fff; box-shadow:0 0 0 2.5px var(--green-600); }
.rsg-page .cst-range::before { left:-3px; } .rsg-page .cst-range::after { right:-3px; }
.rsg-page .cst-zero { position:absolute; left:0; top:50%; transform:translateY(-50%); display:inline-flex; align-items:center; gap:8px; }
.rsg-page .cst-zero .zd { width:14px; height:14px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 4px rgba(44,122,75,0.15); }
.rsg-page .cst-zero .zt { font-family:var(--font-mono); font-size:9px; letter-spacing:0.08em; text-transform:uppercase; font-weight:700; color:var(--green-700); }
.rsg-page .cst-fig { grid-area:fig; text-align:right; font-family:var(--font-display); font-size:17px; font-weight:800; color:var(--green-700); letter-spacing:-0.01em; white-space:nowrap; }
.rsg-page .cst-note { grid-area:note; margin:9px 0 0; padding-left:46px; font-size:12.5px; line-height:1.5; color:var(--ink-2); }
.rsg-page .cst-axis { display:grid; grid-template-columns:250px 1fr 116px; column-gap:22px; margin-top:4px; }
.rsg-page .cst-ticks { grid-column:2; display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:9px; letter-spacing:0.04em; color:var(--ink-500); font-weight:700; }
.rsg-page .cst-foot { margin-top:16px; padding-top:14px; border-top:1px solid var(--line-2); font-size:11.5px; line-height:1.5; color:var(--ink-500); }
/* light billing panel */
.rsg-page .cst-bill { display:grid; grid-template-columns:1fr 1fr; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow-md); overflow:hidden; }
.rsg-page .cst-bill-col { padding:28px 32px; }
.rsg-page .cst-bill-col.a { background:linear-gradient(158deg,var(--green-50),#fff 70%); border-right:1px solid var(--line-2); }
.rsg-page .cst-bill-stat { display:flex; align-items:baseline; gap:11px; margin-bottom:16px; }
.rsg-page .cst-bill-stat b { font-family:var(--font-display); font-size:46px; font-weight:800; color:var(--green-600); line-height:1; letter-spacing:-0.02em; }
.rsg-page .cst-bill-stat span { font-family:var(--font-mono); font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:var(--green-700); font-weight:700; max-width:110px; line-height:1.4; }
.rsg-page .cst-bill-col h4 { font-family:var(--font-display); font-size:16.5px; font-weight:800; color:var(--ink-900); margin:0 0 9px; }
.rsg-page .cst-bill-h { display:flex; align-items:center; gap:11px; margin:0 0 9px; }
.rsg-page .cst-bill-h h3 { margin:0; font-size:1em; }
.rsg-page .cst-bill-h .cbh-ic { width:32px; height:32px; border-radius:9px; 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 5px 12px rgba(44,122,75,0.22); }
.rsg-page .cst-bill-h .cbh-ic svg { width:16px; height:16px; }
.rsg-page .cst-flow { display:flex; align-items:center; gap:12px; margin-top:18px; flex-wrap:wrap; }
.rsg-page .cst-flow-node { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid rgba(44,122,75,0.22); border-radius:10px; padding:9px 13px; font-family:var(--font-display); font-size:12px; font-weight:700; color:var(--ink-900); box-shadow:0 4px 12px rgba(20,50,32,0.07); }
.rsg-page .cst-flow-node svg { width:15px; height:15px; color:var(--green-600); flex-shrink:0; }
.rsg-page .cst-flow-arrow { display:inline-flex; flex-direction:column; align-items:center; gap:2px; font-family:var(--font-mono); font-size:8px; letter-spacing:0.08em; text-transform:uppercase; font-weight:700; color:var(--green-700); }
.rsg-page .cst-flow-arrow svg { width:26px; height:10px; color:var(--green-500); }
.rsg-page .cst-bill-col p { font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0 0 12px; }
.rsg-page .cst-bill-col p:last-child { margin-bottom:0; }
.rsg-page .cst-bill-col strong { color:var(--ink-900); }
.rsg-page .cst-bill-note { background:var(--green-50); border:1px solid rgba(44,122,75,0.18); border-left:4px solid var(--green-500); border-radius:12px; padding:14px 16px; margin-top:16px; }
.rsg-page .cst-bill-note p { font-size:12.5px; margin:0; color:var(--ink-900); }
.rsg-page .cst-bill-note strong { color:var(--green-700); }
@media (max-width:820px){
  .rsg-page .cst-row, .rsg-page .cst-axis, .rsg-page .cst-gridlines { grid-template-columns:150px 1fr 84px; column-gap:14px; }
  .rsg-page .cst-name .cst-txt b { font-size:13px; }
  .rsg-page .cst-note { padding-left:0; }
  .rsg-page .cst-bill { grid-template-columns:1fr; }
  .rsg-page .cst-bill-col.a { border-right:0; border-bottom:1px solid var(--line-2); }
}
@media (max-width:560px){
  .rsg-page .cst-row { grid-template-columns:1fr auto; grid-template-areas:"name fig" "track track" "note note"; row-gap:11px; }
  .rsg-page .cst-axis, .rsg-page .cst-gridlines { display:none; }
  .rsg-page .cst-note { margin-top:0; }
}

/* ============================================================
   §11 — MORE LEADS DON'T MATTER (dark)
   ============================================================ */
.rsg-page .lgk-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin: 0 0 30px; }
.rsg-page .lgk-step { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; padding: 24px; position:relative; overflow:hidden; }
.rsg-page .lgk-step::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background: linear-gradient(90deg, var(--green-500), #4ADE80); }
.rsg-page .lgk-step .n { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; font-weight:700; color: #6EE7B7; margin-bottom: 12px; }
.rsg-page .lgk-step .lgk-ic { width: 44px; height:44px; border-radius: 12px; background: rgba(44,122,75,0.2); border:1px solid rgba(110,231,183,0.3); color:#6EE7B7; display:flex; align-items:center; justify-content:center; margin-bottom: 14px; }
.rsg-page .lgk-step .lgk-ic svg { width: 22px; height:22px; }
.rsg-page .lgk-step h3 { color:#fff; font-family: var(--font-display); font-size: 16.5px; font-weight:700; margin:0 0 8px; line-height:1.3; }
.rsg-page .lgk-step p { font-size: 13px; line-height:1.6; color: rgba(255,255,255,0.78); margin:0; }
/* cost per lead vs cost per booked job compare */
.rsg-page .lgk-cmp { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; background: rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.1); border-radius: 18px; padding: 26px 28px; }
.rsg-page .lgk-cmp-col .lgk-cmp-lbl { font-family: var(--font-mono); font-size: 9.5px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color: rgba(255,255,255,0.6); margin-bottom: 10px; }
.rsg-page .lgk-cmp-row { display:flex; align-items:center; gap: 14px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
.rsg-page .lgk-cmp-row:last-child { border-bottom:0; }
.rsg-page .lgk-cmp-fig { font-family: var(--font-display); font-weight:800; font-size: 20px; color:#fff; flex-shrink:0; }
.rsg-page .lgk-cmp-row.win .lgk-cmp-fig { color:#6EE7B7; }
.rsg-page .lgk-cmp-desc { font-size: 12.5px; line-height:1.45; color: rgba(255,255,255,0.78); }
.rsg-page .lgk-cmp-desc b { color:#fff; }
.rsg-page .lgk-cmp-col.you { position:relative; }

/* §11 v2 (LIGHT) — "cost per booked job" process + same-lead-two-outcomes fork */
.rsg-page .bkj-steps { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:stretch; margin:0 0 26px; }
.rsg-page .bkj-step { background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px 22px; box-shadow:var(--shadow-md); position:relative; overflow:hidden; display:flex; flex-direction:column; transition:transform .25s,box-shadow .25s,border-color .25s; }
.rsg-page .bkj-step:hover { transform:translateY(-3px); border-color:rgba(44,122,75,0.3); box-shadow:0 16px 36px rgba(0,0,0,0.08); }
.rsg-page .bkj-step::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--green-500),var(--green-700)); }
.rsg-page .bkj-step-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.rsg-page .bkj-ic { 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 8px 18px rgba(44,122,75,0.22); }
.rsg-page .bkj-ic svg { width:22px; height:22px; }
.rsg-page .bkj-n { font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:var(--green-600); }
.rsg-page .bkj-step h3 { font-family:var(--font-display); font-size:16px; font-weight:700; color:var(--ink-900); margin:0 0 8px; line-height:1.3; }
.rsg-page .bkj-step p { font-size:13px; line-height:1.58; color:var(--ink-2); margin:0; }
.rsg-page .bkj-conn { display:flex; align-items:center; justify-content:center; color:var(--green-500); padding:0 8px; }
.rsg-page .bkj-conn svg { width:22px; height:22px; }

.rsg-page .bkj-value { background:linear-gradient(160deg,var(--green-50),#fff 68%); border:1px solid rgba(44,122,75,0.2); border-radius:20px; padding:28px 32px; margin:0 0 26px; }
.rsg-page .bkj-lead { display:flex; align-items:center; gap:22px; padding-bottom:22px; border-bottom:1px dashed rgba(44,122,75,0.3); }
.rsg-page .bkj-lead-amt { font-family:var(--font-display); font-size:44px; font-weight:800; color:var(--ink-900); line-height:1; letter-spacing:-0.02em; flex-shrink:0; }
.rsg-page .bkj-lead-txt .bkj-eye { font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:#6B6B6B; margin-bottom:5px; }
.rsg-page .bkj-lead-txt p { font-size:13.5px; line-height:1.55; color:var(--ink-2); margin:0; }
.rsg-page .bkj-lead-txt p b { color:var(--ink-900); }
.rsg-page .bkj-becomes { display:flex; align-items:center; justify-content:center; gap:10px; margin:18px 0; font-family:var(--font-mono); font-size:10px; letter-spacing:0.12em; text-transform:uppercase; font-weight:700; color:var(--green-700); }
.rsg-page .bkj-becomes::before, .rsg-page .bkj-becomes::after { content:""; height:1px; flex:1; max-width:120px; background:linear-gradient(90deg,transparent,rgba(44,122,75,0.35)); }
.rsg-page .bkj-becomes::after { background:linear-gradient(90deg,rgba(44,122,75,0.35),transparent); }
.rsg-page .bkj-out { display:grid; grid-template-columns:1fr 1.4fr; gap:16px; align-items:stretch; }
.rsg-page .bkj-out-card { border-radius:16px; padding:20px 22px; display:flex; flex-direction:column; justify-content:center; }
.rsg-page .bkj-out-card.rep { background:#fff; border:1px solid var(--line); }
.rsg-page .bkj-out-card.hero { background:linear-gradient(135deg,var(--green-500),var(--green-700)); box-shadow:0 16px 40px -14px rgba(44,122,75,0.5); position:relative; overflow:hidden; }
.rsg-page .bkj-out-card.hero::after { content:""; position:absolute; top:-50px; right:-40px; width:170px; height:170px; background:radial-gradient(circle,rgba(255,255,255,0.16),transparent 70%); }
.rsg-page .bkj-out-amt { font-family:var(--font-display); font-weight:800; line-height:1; letter-spacing:-0.02em; }
.rsg-page .bkj-out-card.rep .bkj-out-amt { font-size:30px; color:var(--ink-900); }
.rsg-page .bkj-out-card.hero .bkj-out-amt { font-size:46px; color:#fff; position:relative; }
.rsg-page .bkj-out-role { font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.08em; text-transform:uppercase; font-weight:700; margin-top:8px; }
.rsg-page .bkj-out-card.rep .bkj-out-role { color:#6B6B6B; }
.rsg-page .bkj-out-card.hero .bkj-out-role { color:rgba(255,255,255,0.85); position:relative; }
.rsg-page .bkj-out-card.hero p { font-size:12.5px; line-height:1.5; color:rgba(255,255,255,0.9); margin:10px 0 0; position:relative; }
.rsg-page .bkj-out-card.hero p b { color:#fff; }
.rsg-page .bkj-out-tag { display:inline-flex; align-items:center; gap:6px; align-self:flex-start; font-family:var(--font-mono); font-size:8.5px; letter-spacing:0.1em; text-transform:uppercase; font-weight:800; color:var(--green-700); background:#fff; border-radius:999px; padding:4px 10px; margin-bottom:12px; position:relative; }
@media (max-width:820px){
  .rsg-page .bkj-steps { grid-template-columns:1fr; gap:14px; }
  .rsg-page .bkj-conn { transform:rotate(90deg); padding:2px 0; }
  .rsg-page .bkj-lead { flex-direction:column; align-items:flex-start; gap:10px; text-align:left; }
  .rsg-page .bkj-out { grid-template-columns:1fr; }
}

/* ============================================================
   §12 — AGGREGATORS (shared-lead viz + 4 cards)
   ============================================================ */
.rsg-page .lga-viz { background: #fff; border:1px solid var(--line); border-radius: 18px; padding: 26px 28px; box-shadow: var(--shadow-md); margin: 0 0 28px; }
.rsg-page .lga-viz-h { font-family: var(--font-mono); font-size: 10px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color: #6B6B6B; margin-bottom: 18px; display:flex; align-items:center; gap:9px; }
.rsg-page .lga-flow { display:grid; grid-template-columns: auto 1fr; gap: 22px; align-items:center; }
.rsg-page .lga-lead { text-align:center; }
.rsg-page .lga-lead .box { width: 120px; background: #F6F7F6; border:1px dashed #B9C0BB; border-radius:12px; padding: 16px 10px; }
.rsg-page .lga-lead .box svg { width:26px; height:26px; color:#6B6B6B; }
.rsg-page .lga-lead .box b { display:block; font-family:var(--font-display); font-weight:800; font-size:13px; color:var(--ink-900); margin-top:6px; }
.rsg-page .lga-lead .box span { font-family:var(--font-mono); font-size:8.5px; letter-spacing:0.05em; text-transform:uppercase; color:#6B6B6B; font-weight:700; }
.rsg-page .lga-sold { display:flex; flex-direction:column; gap:10px; }
.rsg-page .lga-sold-row { display:flex; align-items:center; gap:12px; }
.rsg-page .lga-sold-line { flex:1; height:2px; background: repeating-linear-gradient(90deg,#C7CDC9,#C7CDC9 5px,transparent 5px,transparent 10px); }
.rsg-page .lga-contractor { display:inline-flex; align-items:center; gap:8px; background:#F6F7F6; border:1px solid var(--line); border-radius:999px; padding:7px 14px; font-family:var(--font-display); font-size:12px; font-weight:700; color:#6B6B6B; white-space:nowrap; }
.rsg-page .lga-contractor .dot { width:8px; height:8px; border-radius:50%; background:#B9C0BB; }
.rsg-page .lga-grid { display:grid; grid-template-columns: repeat(2,1fr); gap:18px; margin: 0 0 28px; }
.rsg-page .lga-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px; box-shadow:var(--shadow-md); display:flex; flex-direction:column; transition: transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .lga-card:hover { transform: translateY(-3px); border-color: rgba(0,0,0,0.14); box-shadow:0 16px 36px rgba(0,0,0,0.08); }
.rsg-page .lga-card .lga-ic { width:44px; height:44px; border-radius:12px; background: linear-gradient(135deg,#4A4A4A,#1A1A1A); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.rsg-page .lga-card .lga-ic svg { width:22px; height:22px; }
.rsg-page .lga-card h3 { font-family:var(--font-display); font-size:16.5px; font-weight:700; color:var(--ink-900); margin:0 0 8px; line-height:1.3; }
.rsg-page .lga-card p { font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0; }
.rsg-page .lga-note { margin: 22px 0 0; padding-left: 26px; }
.rsg-page .lga-note p { margin:0; font-size:15px; line-height:1.7; color:var(--ink-2); }
.rsg-page .lga-note strong { color: var(--ink-900); font-weight:700; }

/* §12 v2 — "one lead sold three times" fan-out + green cost cards */
.rsg-page .agg-share { background:#fff; border:1px solid var(--line); border-radius:20px; padding:26px 30px; box-shadow:var(--shadow-md); margin:0 0 26px; }
.rsg-page .agg-share-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:8px; }
.rsg-page .agg-share-head .l { display:inline-flex; align-items:center; gap:9px; font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:#6B6B6B; }
.rsg-page .agg-speed { display:inline-flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.09em; text-transform:uppercase; font-weight:700; color:#5C5C5C; background:#F0F1F0; border:1px solid #E2E4E2; border-radius:999px; padding:6px 12px; }
.rsg-page .agg-speed svg { width:13px; height:13px; }
.rsg-page .agg-flow { display:grid; grid-template-columns:158px 92px 1fr; align-items:center; gap:6px; }
.rsg-page .agg-lead2 { display:flex; flex-direction:column; align-items:center; gap:8px; padding:20px 14px; background:linear-gradient(160deg,var(--green-50),#fff); border:1px solid rgba(44,122,75,0.3); border-radius:14px; text-align:center; }
.rsg-page .agg-lead2 .ic { width:40px; height:40px; border-radius:11px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 18px rgba(44,122,75,0.24); }
.rsg-page .agg-lead2 .ic svg { width:20px; height:20px; }
.rsg-page .agg-lead2 b { font-family:var(--font-display); font-size:14px; font-weight:800; color:var(--ink-900); }
.rsg-page .agg-lead2 span { font-family:var(--font-mono); font-size:8px; letter-spacing:0.06em; text-transform:uppercase; color:var(--green-700); font-weight:700; }
.rsg-page .agg-fan { display:flex; align-items:center; justify-content:center; }
.rsg-page .agg-fan svg { width:56px; height:112px; display:block; }
.rsg-page .agg-buyers { display:flex; flex-direction:column; gap:12px; }
.rsg-page .agg-buyer { display:flex; align-items:center; gap:11px; padding:11px 14px; border-radius:12px; }
.rsg-page .agg-buyer.you { background:linear-gradient(135deg,var(--green-500),var(--green-700)); box-shadow:0 12px 26px -10px rgba(44,122,75,0.55); }
.rsg-page .agg-buyer:not(.you) { background:#F4F5F4; border:1px solid var(--line); }
.rsg-page .agg-buyer .av { width:30px; height:30px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .agg-buyer.you .av { background:rgba(255,255,255,0.2); color:#fff; }
.rsg-page .agg-buyer:not(.you) .av { background:#E4E6E4; color:#8A918C; }
.rsg-page .agg-buyer .av svg { width:15px; height:15px; }
.rsg-page .agg-buyer .bt b { display:block; font-family:var(--font-display); font-size:13px; font-weight:700; line-height:1.1; }
.rsg-page .agg-buyer.you .bt b { color:#fff; }
.rsg-page .agg-buyer:not(.you) .bt b { color:var(--ink-900); }
.rsg-page .agg-buyer .bt span { display:block; font-family:var(--font-mono); font-size:8px; letter-spacing:0.05em; text-transform:uppercase; font-weight:700; margin-top:3px; }
.rsg-page .agg-buyer.you .bt span { color:rgba(255,255,255,0.85); }
.rsg-page .agg-buyer:not(.you) .bt span { color:#9AA29D; }
.rsg-page .agg-share-foot { margin-top:18px; padding-top:16px; border-top:1px solid var(--line-2); font-size:13.5px; line-height:1.55; color:var(--ink-2); }
.rsg-page .agg-share-foot strong { color:var(--ink-900); }

.rsg-page .agg-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin:0 0 26px; }
.rsg-page .agg-card2 { background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px; box-shadow:var(--shadow-md); display:flex; flex-direction:column; position:relative; overflow:hidden; transition:transform .25s,box-shadow .25s,border-color .25s; }
.rsg-page .agg-card2:hover { transform:translateY(-3px); border-color:rgba(44,122,75,0.28); box-shadow:0 16px 36px rgba(0,0,0,0.08); }
.rsg-page .agg-card2::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--green-500),var(--green-700)); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.rsg-page .agg-card2:hover::before { transform:scaleX(1); }
.rsg-page .agg-ic2 { width:46px; height:46px; border-radius:12px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:14px; box-shadow:0 8px 18px rgba(44,122,75,0.22); }
.rsg-page .agg-ic2 svg { width:22px; height:22px; }
.rsg-page .agg-card2 h3 { font-family:var(--font-display); font-size:16.5px; font-weight:700; color:var(--ink-900); margin:0 0 8px; line-height:1.3; }
.rsg-page .agg-card2 p { font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0 0 15px; }
.rsg-page .agg-flag { margin-top:auto; padding-top:14px; border-top:1px solid var(--line-2); display:flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:9px; letter-spacing:0.09em; text-transform:uppercase; font-weight:700; color:#6B6B6B; }
.rsg-page .agg-flag .fdot { width:7px; height:7px; border-radius:50%; background:#B4BAB6; flex-shrink:0; }
@media (max-width:760px){
  .rsg-page .agg-flow { grid-template-columns:1fr; gap:10px; justify-items:center; }
  .rsg-page .agg-lead2 { width:180px; }
  .rsg-page .agg-buyers { width:100%; max-width:340px; }
  .rsg-page .agg-fan svg { transform:rotate(90deg); width:44px; height:88px; }
  .rsg-page .agg-cards { grid-template-columns:1fr; }
}

/* ============================================================
   §13 — AI RECOMMENDS (chat mockup + points + signals)
   ============================================================ */
.rsg-page .lgai-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items:center; margin: 0 0 30px; }
.rsg-page .lgai-chat { background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow: 0 30px 70px -30px rgba(17,17,17,0.3); overflow:hidden; }
.rsg-page .lgai-chat-bar { display:flex; align-items:center; gap:10px; padding:14px 18px; border-bottom:1px solid var(--line); background:#F8FAF9; }
.rsg-page .lgai-chat-bar .ci { width:28px; height:28px; border-radius:8px; background: linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; }
.rsg-page .lgai-chat-bar .ci svg { width:16px; height:16px; }
.rsg-page .lgai-chat-bar b { font-family:var(--font-display); font-size:13px; font-weight:800; color:var(--ink-900); }
.rsg-page .lgai-chat-bar span { font-family:var(--font-mono); font-size:9px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-500); font-weight:700; margin-left:auto; }
.rsg-page .lgai-chat-body { padding: 20px; }
.rsg-page .lgai-q { background:#EFF2F0; border-radius: 14px 14px 14px 4px; padding: 12px 16px; font-size: 14px; color: var(--ink-900); font-weight:600; max-width: 88%; margin-bottom: 16px; }
.rsg-page .lgai-a { background: linear-gradient(160deg, var(--green-50), #fff); border:1px solid rgba(44,122,75,0.2); border-radius: 14px 14px 4px 14px; padding: 16px; margin-left:auto; max-width:96%; }
.rsg-page .lgai-a .lgai-a-lead { font-size: 13px; color: var(--ink-2); margin: 0 0 12px; line-height:1.5; }
.rsg-page .lgai-rec { display:flex; align-items:center; gap:12px; background:#fff; border:1px solid rgba(44,122,75,0.28); border-radius:12px; padding:12px 14px; box-shadow: 0 6px 16px rgba(44,122,75,0.1); }
.rsg-page .lgai-rec .badge { width:40px; height:40px; border-radius:10px; background: linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .lgai-rec .badge svg { width:20px; height:20px; }
.rsg-page .lgai-rec b { display:block; font-family:var(--font-display); font-size:14px; font-weight:800; color:var(--ink-900); }
.rsg-page .lgai-rec .stars { display:flex; gap:2px; margin-top:3px; }
.rsg-page .lgai-rec .stars svg { width:12px; height:12px; }
.rsg-page .lgai-rec .pick { margin-left:auto; font-family:var(--font-mono); font-size:8.5px; letter-spacing:0.08em; text-transform:uppercase; font-weight:700; color:var(--green-700); background:var(--green-50); border-radius:999px; padding:5px 9px; white-space:nowrap; }
.rsg-page .lgai-cap { text-align:center; font-family:var(--font-mono); font-size:9px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-500); font-weight:700; margin-top:14px; }
.rsg-page .lgai-points { display:grid; gap:22px; }
.rsg-page .lgai-point { display:flex; gap:16px; align-items:flex-start; }
.rsg-page .lgai-point .lgai-pn { width:34px; height:34px; border-radius:10px; background:var(--green-50); color:var(--green-700); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:14px; flex-shrink:0; }
.rsg-page .lgai-point h3 { font-family:var(--font-display); font-size:16px; font-weight:700; color:var(--ink-900); margin:4px 0 6px; line-height:1.3; }
.rsg-page .lgai-point p { font-size:13px; line-height:1.58; color:var(--ink-2); margin:0; }
.rsg-page .lgai-signals { background:#fff; border:1px solid var(--line); border-radius:18px; padding: 24px 26px; box-shadow: var(--shadow-md); }
.rsg-page .lgai-signals .lgai-sh { font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:var(--green-700); margin-bottom:16px; display:flex; align-items:center; gap:9px; }
.rsg-page .lgai-sgrid { display:grid; grid-template-columns: repeat(2,1fr); gap:14px; }
.rsg-page .lgai-sig { display:flex; gap:12px; align-items:flex-start; }
.rsg-page .lgai-sig .sc { width:32px; height:32px; border-radius:9px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .lgai-sig .sc svg { width:16px; height:16px; }
.rsg-page .lgai-sig b { display:block; font-family:var(--font-display); font-size:13.5px; font-weight:700; color:var(--ink-900); margin-bottom:3px; line-height:1.25; }
.rsg-page .lgai-sig span { font-size:12px; line-height:1.5; color:var(--ink-2); }

/* ============================================================
   §14 — TWO KINDS OF TRUST
   ============================================================ */
.rsg-page .lgt-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 22px; margin: 0 0 26px; }
.rsg-page .lgt-card { background:#fff; border:1px solid var(--line); border-radius: 18px; padding: 28px 30px; box-shadow: var(--shadow-md); position:relative; overflow:hidden; }
.rsg-page .lgt-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 .lgt-card .lgt-ic { 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; margin-bottom:16px; box-shadow: 0 8px 20px rgba(44,122,75,0.22); }
.rsg-page .lgt-card .lgt-ic svg { width:26px; height:26px; }
.rsg-page .lgt-card h3 { font-family:var(--font-display); font-size:19px; font-weight:800; color:var(--ink-900); margin:0 0 10px; line-height:1.25; }
.rsg-page .lgt-card p { font-size:14px; line-height:1.62; color:var(--ink-2); margin:0; }
.rsg-page .lgt-card .lgt-tag { display:inline-block; font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:var(--green-700); background:var(--green-50); border-radius:999px; padding:5px 12px; margin-bottom:16px; }
.rsg-page .lgt-both { display:flex; gap:14px; align-items:center; background: linear-gradient(135deg,#1A1A1A,#333); border-radius:16px; padding:20px 26px; color:#fff; }
.rsg-page .lgt-both .lgt-bx { width:42px; height:42px; border-radius:11px; background:rgba(110,231,183,0.14); border:1px solid rgba(110,231,183,0.3); color:#6EE7B7; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .lgt-both .lgt-bx svg { width:22px; height:22px; }
.rsg-page .lgt-both p { margin:0; font-size:14.5px; line-height:1.6; color:rgba(255,255,255,0.9); }
.rsg-page .lgt-both strong { color:#fff; }

/* ============================================================
   §15 — CASE STUDIES (dark, alternating result panels)
   ============================================================ */
.rsg-page .lgcs-list { display:flex; flex-direction:column; gap: 26px; margin: 0 0 30px; }
.rsg-page .lgcs-card { display:grid; grid-template-columns: 1fr 1fr; gap: 34px; align-items:center; background: rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.1); border-radius: 22px; padding: 32px 34px; }
.rsg-page .lgcs-card.flip .lgcs-proof { order:-1; }
.rsg-page .lgcs-loc { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:#6EE7B7; background:rgba(44,122,75,0.18); border:1px solid rgba(44,122,75,0.4); border-radius:999px; padding:5px 12px; margin-bottom:14px; }
.rsg-page .lgcs-card h3 { color:#fff; font-family:var(--font-display); font-size:21px; font-weight:800; margin:0 0 12px; line-height:1.28; }
.rsg-page .lgcs-card > .lgcs-body p { font-size:13.5px; line-height:1.62; color:rgba(255,255,255,0.78); margin:0; }
.rsg-page .lgcs-body strong { color:#fff; }
/* proof: dashboard-style stat panel with growth chart */
.rsg-page .lgcs-proof { min-width:0; }
.rsg-page .lgcs-panel { background: rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.12); border-radius:16px; padding: 18px 20px 16px; }
.rsg-page .lgcs-panel-h { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.rsg-page .lgcs-panel-h .l { font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:rgba(255,255,255,0.6); }
.rsg-page .lgcs-panel-h .t { display:inline-flex; align-items:center; gap:5px; font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; font-weight:700; color:#6EE7B7; background:rgba(44,122,75,0.18); border:1px solid rgba(44,122,75,0.4); border-radius:999px; padding:4px 10px; }
.rsg-page .lgcs-panel-h .t svg { width:11px; height:11px; }
.rsg-page .lgcs-chart svg { display:block; width:100%; height:auto; }
.rsg-page .lgcs-stats { display:grid; grid-template-columns: repeat(3,1fr); gap:10px; margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,0.09); }
.rsg-page .lgcs-stat { text-align:left; }
.rsg-page .lgcs-stat b { display:block; font-family:var(--font-display); font-weight:800; font-size:19px; color:#fff; line-height:1; }
.rsg-page .lgcs-stat.hero b { color:#6EE7B7; }
.rsg-page .lgcs-stat span { display:block; font-family:var(--font-mono); font-size:8px; letter-spacing:0.05em; text-transform:uppercase; color:rgba(255,255,255,0.6); font-weight:700; margin-top:5px; }
.rsg-page .lgcs-disc { font-family:var(--font-mono); font-size:11px; letter-spacing:0.02em; color:var(--ink-500); text-align:center; font-style:italic; }

/* ============================================================
   §19 — KEEP READING (related resources)
   ============================================================ */
.rsg-page .lgkr-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.rsg-page .lgkr-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:18px; padding: 26px 28px; box-shadow:var(--shadow-md); text-decoration:none; position:relative; overflow:hidden; transition: transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .lgkr-card:hover { transform: translateY(-3px); border-color: rgba(44,122,75,0.3); box-shadow: 0 18px 40px rgba(0,0,0,0.08); }
.rsg-page .lgkr-card::after { content:""; position:absolute; top:-40px; right:-40px; width:150px; height:150px; background: radial-gradient(circle, rgba(44,122,75,0.06), transparent 70%); pointer-events:none; }
.rsg-page .lgkr-kicker { font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.12em; text-transform:uppercase; font-weight:700; color:var(--green-700); background:var(--green-50); border-radius:999px; padding:5px 12px; align-self:flex-start; margin-bottom:16px; }
.rsg-page .lgkr-card h3 { font-family:var(--font-display); font-size:18px; font-weight:800; color:var(--ink-900); margin:0 0 8px; line-height:1.3; }
.rsg-page .lgkr-card p { font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0 0 18px; }
.rsg-page .lgkr-link { margin-top:auto; display:inline-flex; align-items:center; gap:9px; font-family:var(--font-display); font-size:13px; font-weight:700; color:var(--green-700); }
.rsg-page .lgkr-link .lgkr-arrow { width:28px; height:28px; border-radius:50%; background:var(--green-50); display:flex; align-items:center; justify-content:center; transition: background .2s; }
.rsg-page .lgkr-link .lgkr-arrow svg { width:13px; height:13px; color:var(--green-600); }
.rsg-page .lgkr-card:hover .lgkr-arrow { background:var(--green-500); }
.rsg-page .lgkr-card:hover .lgkr-arrow svg { color:#fff; }

/* ============================================================
   §13 v2 — "The New Front Door": old SERP (ten links) → AI answer (one name)
            + 3 why-cards + knowledge-base signal record
   ============================================================ */
.rsg-page .air-split { background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow: var(--shadow-lg); overflow:hidden; margin: 0 0 30px; }
.rsg-page .air-head { display:flex; align-items:center; gap:11px; padding:15px 22px; border-bottom:1px solid var(--line); background:#F8FAF9; }
.rsg-page .air-head .ah-ic { width:28px; height:28px; border-radius:8px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .air-head .ah-ic svg { width:16px; height:16px; }
.rsg-page .air-head b { font-family:var(--font-display); font-size:13.5px; font-weight:800; color:var(--ink-900); }
.rsg-page .air-head .ah-tag { font-family:var(--font-mono); font-size:9px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-500); font-weight:700; margin-left:auto; }

.rsg-page .air-body { display:grid; grid-template-columns: 1fr 60px 1.06fr; align-items:stretch; }
.rsg-page .air-lane { padding: 24px 24px 22px; display:flex; flex-direction:column; min-width:0; }
.rsg-page .air-old { background:#FBFCFB; }
.rsg-page .air-new { background:linear-gradient(180deg, var(--green-50), #fff 72%); }
.rsg-page .air-lbl { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.rsg-page .air-lbl .al-chip { font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; border-radius:999px; padding:5px 11px; }
.rsg-page .air-old .al-chip { color:var(--ink-500); background:#EDEFEE; }
.rsg-page .air-new .al-chip { color:#fff; background:linear-gradient(135deg,var(--green-500),var(--green-700)); }
.rsg-page .air-lbl .al-cap { font-size:12px; font-weight:600; color:var(--ink-500); }
.rsg-page .air-new .al-cap { color:var(--green-700); }

/* old lane — greyed mini SERP */
.rsg-page .air-searchbar { display:flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:9px 15px; margin-bottom:16px; }
.rsg-page .air-searchbar svg { width:14px; height:14px; color:var(--ink-500); flex-shrink:0; }
.rsg-page .air-searchbar span { font-size:12.5px; color:var(--ink-500); }
.rsg-page .air-serp { display:flex; flex-direction:column; gap:13px; position:relative; }
.rsg-page .air-res { display:flex; gap:11px; align-items:flex-start; }
.rsg-page .air-res .ar-n { font-family:var(--font-mono); font-size:10px; font-weight:700; color:#B4BBB6; min-width:16px; padding-top:1px; }
.rsg-page .air-res .ar-lines { flex:1; min-width:0; }
.rsg-page .air-res .ar-t { height:9px; border-radius:4px; background:#D3D9D5; width:72%; margin-bottom:7px; }
.rsg-page .air-res .ar-u { height:6px; border-radius:3px; background:#E4E8E5; width:40%; margin-bottom:8px; }
.rsg-page .air-res .ar-s { height:5px; border-radius:3px; background:#EEF1EE; width:100%; margin-bottom:5px; }
.rsg-page .air-res .ar-s.short { width:66%; margin-bottom:0; }
.rsg-page .air-serp-fade { position:absolute; left:0; right:0; bottom:0; height:64px; background:linear-gradient(180deg, rgba(251,252,251,0), #FBFCFB 88%); pointer-events:none; }
.rsg-page .air-old-foot { margin-top:16px; font-size:12.5px; line-height:1.55; color:var(--ink-500); }
.rsg-page .air-old-foot .aof-count { display:block; font-family:var(--font-mono); font-size:9px; letter-spacing:0.08em; text-transform:uppercase; font-weight:700; color:#B4BBB6; margin-bottom:6px; }

/* middle transform node */
.rsg-page .air-mid { display:flex; align-items:center; justify-content:center; position:relative; }
.rsg-page .air-mid::before { content:""; position:absolute; top:24px; bottom:24px; left:50%; width:1px; background:var(--line); }
.rsg-page .air-mid .am-node { width:40px; height:40px; border-radius:50%; background:#fff; border:1px solid var(--line); box-shadow: var(--shadow-md); display:flex; align-items:center; justify-content:center; color:var(--green-600); position:relative; z-index:1; }
.rsg-page .air-mid .am-node svg { width:18px; height:18px; }

/* new lane — AI answer */
.rsg-page .air-q { background:#fff; border:1px solid var(--line); border-radius:14px 14px 14px 4px; padding:11px 15px; font-size:13.5px; font-weight:600; color:var(--ink-900); max-width:92%; margin-bottom:14px; box-shadow: var(--shadow-md); }
.rsg-page .air-a-lead { font-size:12.5px; line-height:1.5; color:var(--ink-2); margin:0 0 12px; }
.rsg-page .air-rec { display:flex; align-items:center; gap:12px; background:#fff; border:1px solid rgba(44,122,75,0.3); border-radius:12px; padding:12px 14px; box-shadow: 0 12px 24px rgba(44,122,75,0.15); }
.rsg-page .air-rec .badge { width:40px; height:40px; border-radius:10px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .air-rec .badge svg { width:20px; height:20px; }
.rsg-page .air-rec b { display:block; font-family:var(--font-display); font-size:14px; font-weight:800; color:var(--ink-900); }
.rsg-page .air-rec .stars { display:flex; gap:2px; margin-top:3px; }
.rsg-page .air-rec .stars svg { width:12px; height:12px; }
.rsg-page .air-rec .pick { margin-left:auto; font-family:var(--font-mono); font-size:8.5px; letter-spacing:0.08em; text-transform:uppercase; font-weight:700; color:#fff; background:linear-gradient(135deg,var(--green-500),var(--green-700)); border-radius:999px; padding:5px 9px; white-space:nowrap; }
.rsg-page .air-picked { margin-top:18px; padding-top:16px; border-top:1px dashed rgba(44,122,75,0.28); }
.rsg-page .air-picked .ap-lead { display:block; font-family:var(--font-mono); font-size:9px; letter-spacing:0.09em; text-transform:uppercase; font-weight:700; color:var(--green-700); margin-bottom:13px; }
.rsg-page .air-picked .ap-row { display:flex; align-items:center; gap:11px; margin-bottom:11px; }
.rsg-page .air-picked .ap-row:last-child { margin-bottom:0; }
.rsg-page .air-picked .ap-ck { width:21px; height:21px; border-radius:50%; background:var(--green-50); color:var(--green-600); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .air-picked .ap-ck svg { width:11px; height:11px; }
.rsg-page .air-picked .ap-row .t { font-size:13px; font-weight:600; color:var(--ink-900); line-height:1.35; }
.rsg-page .air-new-foot { margin-top:auto; padding-top:18px; font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; font-weight:700; color:var(--green-700); line-height:1.5; }

/* Block 2 — 3 why-cards */
.rsg-page .air-why { display:grid; grid-template-columns: repeat(3,1fr); gap:18px; margin: 0 0 30px; }
.rsg-page .air-why-card { position:relative; background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px 22px 22px; overflow:hidden; transition: transform .2s, box-shadow .2s, border-color .2s; }
.rsg-page .air-why-card::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--green-500),var(--green-700)); transform:scaleX(0); transform-origin:left; transition: transform .25s; }
.rsg-page .air-why-card:hover { transform:translateY(-3px); box-shadow: var(--shadow-lg); border-color:rgba(44,122,75,0.3); }
.rsg-page .air-why-card:hover::before { transform:scaleX(1); }
.rsg-page .air-why-card .aw-ic { width:46px; height:46px; border-radius:13px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:16px; box-shadow: 0 8px 18px rgba(44,122,75,0.22); }
.rsg-page .air-why-card .aw-ic svg { width:23px; height:23px; }
.rsg-page .air-why-card h3 { font-family:var(--font-display); font-size:16px; font-weight:700; color:var(--ink-900); margin:0 0 8px; line-height:1.3; }
.rsg-page .air-why-card p { font-size:13px; line-height:1.6; color:var(--ink-2); margin:0; }

/* Block 3 — knowledge-base record */
.rsg-page .air-kb { background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow: var(--shadow-md); overflow:hidden; margin: 0 0 26px; }
.rsg-page .air-kb-head { display:flex; align-items:center; gap:12px; padding:16px 24px; border-bottom:1px solid var(--line); background:#F8FAF9; }
.rsg-page .air-kb-head .akb-ic { width:30px; height:30px; border-radius:9px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .air-kb-head .akb-ic svg { width:16px; height:16px; }
.rsg-page .air-kb-head b { font-family:var(--font-display); font-size:15px; font-weight:800; color:var(--ink-900); }
.rsg-page .air-kb-head .akb-tag { margin-left:auto; display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:9px; letter-spacing:0.08em; text-transform:uppercase; font-weight:700; color:var(--green-700); background:var(--green-50); border-radius:999px; padding:6px 12px; }
.rsg-page .air-kb-head .akb-tag svg { width:12px; height:12px; }
.rsg-page .air-kb-grid { display:grid; grid-template-columns: 1fr 1fr; }
.rsg-page .air-krow { display:flex; align-items:center; gap:14px; padding:18px 24px; border-bottom:1px solid var(--line-2); border-right:1px solid var(--line-2); }
.rsg-page .air-krow:nth-child(2n) { border-right:0; }
.rsg-page .air-krow:nth-last-child(-n+2) { border-bottom:0; }
.rsg-page .air-krow .ak-ic { width:38px; height:38px; border-radius:10px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .air-krow .ak-ic svg { width:19px; height:19px; }
.rsg-page .air-krow .ak-body { flex:1; min-width:0; }
.rsg-page .air-krow .ak-body b { display:block; font-family:var(--font-display); font-size:13.5px; font-weight:700; color:var(--ink-900); margin-bottom:3px; line-height:1.25; }
.rsg-page .air-krow .ak-body span { font-size:12px; line-height:1.5; color:var(--ink-2); }
.rsg-page .air-krow .ak-chk { width:24px; height:24px; border-radius:50%; background:var(--green-50); color:var(--green-600); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .air-krow .ak-chk svg { width:13px; height:13px; }
.rsg-page .air-kb-foot { display:flex; gap:13px; align-items:flex-start; padding:18px 24px; background:var(--green-50); border-top:1px solid rgba(44,122,75,0.18); }
.rsg-page .air-kb-foot .akf-ic { width:30px; height:30px; border-radius:9px; background:#fff; border:1px solid rgba(44,122,75,0.2); color:var(--green-600); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .air-kb-foot .akf-ic svg { width:16px; height:16px; }
.rsg-page .air-kb-foot p { font-size:13px; line-height:1.6; color:var(--ink-2); margin:0; }
.rsg-page .air-kb-foot p strong { color:var(--green-700); }

/* ============================================================
   §14 v2 — "The Path Every Lead Takes": origin -> 2 trust gates -> booked
            + light verdict banner (replaces the old dark both-bar)
   ============================================================ */
.rsg-page .tg-path { display:flex; align-items:stretch; gap:0; margin: 6px 0 24px; }
.rsg-page .tg-cap { flex:0 0 120px; align-self:center; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:20px 14px; border-radius:16px; border:1px solid var(--line); background:#fff; }
.rsg-page .tg-cap.start { background:#FBFCFB; }
.rsg-page .tg-cap.end { background:linear-gradient(160deg, var(--green-50), #fff); border-color:rgba(44,122,75,0.32); box-shadow: 0 10px 26px -14px rgba(44,122,75,0.4); }
.rsg-page .tg-cap .tc-ic { width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; }
.rsg-page .tg-cap.start .tc-ic { background:#EDEFEE; color:var(--ink-500); }
.rsg-page .tg-cap.end .tc-ic { background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; box-shadow: 0 8px 18px rgba(44,122,75,0.28); }
.rsg-page .tg-cap .tc-ic svg { width:22px; height:22px; }
.rsg-page .tg-cap b { font-family:var(--font-display); font-size:12.5px; font-weight:800; line-height:1.25; }
.rsg-page .tg-cap.start b { color:var(--ink-700); }
.rsg-page .tg-cap.end b { color:var(--green-700); }
.rsg-page .tg-cap .tc-sub { font-family:var(--font-mono); font-size:8px; letter-spacing:0.09em; text-transform:uppercase; font-weight:700; color:var(--ink-500); margin-top:5px; }

.rsg-page .tg-conn { flex:0 0 48px; align-self:center; display:flex; align-items:center; justify-content:center; position:relative; }
.rsg-page .tg-conn svg { width:22px; height:22px; color:var(--green-500); }
.rsg-page .tg-conn .tgc-lbl { position:absolute; top:calc(50% - 32px); left:50%; transform:translateX(-50%); font-family:var(--font-mono); font-size:8px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:var(--ink-500); }

.rsg-page .tg-gate { flex:1 1 0; min-width:0; display:flex; flex-direction:column; position:relative; background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px 24px 20px; box-shadow: var(--shadow-md); overflow:hidden; transition: transform .2s, box-shadow .2s, border-color .2s; }
.rsg-page .tg-gate::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--green-500),var(--green-700)); }
.rsg-page .tg-gate:hover { transform:translateY(-3px); box-shadow: var(--shadow-lg); border-color:rgba(44,122,75,0.3); }
.rsg-page .tg-gtag { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:9px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:var(--green-700); background:var(--green-50); border-radius:999px; padding:5px 12px; margin-bottom:15px; }
.rsg-page .tg-gate .tg-ic { width:50px; height:50px; border-radius:14px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:15px; box-shadow: 0 8px 18px rgba(44,122,75,0.22); }
.rsg-page .tg-gate .tg-ic svg { width:25px; height:25px; }
.rsg-page .tg-gate h3 { font-family:var(--font-display); font-size:19px; font-weight:800; color:var(--ink-900); margin:0 0 9px; line-height:1.2; }
.rsg-page .tg-gate p { font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0 0 16px; }
.rsg-page .tg-sigs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.rsg-page .tg-sig { display:inline-flex; align-items:center; gap:7px; font-family:var(--font-display); font-size:11.5px; font-weight:700; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,0.16); border-radius:8px; padding:6px 11px; }
.rsg-page .tg-sig::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--green-500); flex-shrink:0; }
.rsg-page .tg-q { display:flex; align-items:center; gap:11px; margin-top:auto; padding-top:14px; border-top:1px dashed var(--line); }
.rsg-page .tg-q .tgq-k { width:28px; height:28px; border-radius:9px; background:#fff; border:1.5px solid var(--green-500); color:var(--green-600); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .tg-q .tgq-k svg { width:15px; height:15px; }
.rsg-page .tg-q .tgq-t { font-family:var(--font-display); font-size:13px; font-weight:700; color:var(--ink-900); }

.rsg-page .tg-verdict { display:flex; gap:16px; align-items:flex-start; background:linear-gradient(135deg, var(--green-50), #fff 85%); border:1px solid rgba(44,122,75,0.2); border-left:5px solid var(--green-500); border-radius:16px; padding:20px 24px; }
.rsg-page .tg-verdict .tgv-ic { width:44px; height:44px; border-radius:12px; background:#fff; border:1px solid rgba(44,122,75,0.25); color:var(--green-600); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .tg-verdict .tgv-ic svg { width:22px; height:22px; }
.rsg-page .tgv-main { flex:1; display:flex; flex-direction:column; }
.rsg-page .tg-verdict p { font-size:14.5px; line-height:1.6; color:var(--ink-2); margin:0 0 14px; }
.rsg-page .tg-verdict p strong { color:var(--green-700); }
.rsg-page .tgv-btn { align-self:flex-end; display:inline-flex; align-items:center; gap:7px; background:var(--green-500); color:#fff; font-family:var(--font-display); font-weight:700; font-size:12px; border-radius:999px; padding:9px 16px; text-decoration:none; transition: background .2s, transform .15s, box-shadow .15s; }
.rsg-page .tgv-btn:hover { background:var(--green-600); transform:translateY(-1px); box-shadow: 0 8px 22px rgba(44,122,75,0.28); }
.rsg-page .tgv-btn svg { width:14px; height:14px; }

/* ============================================================
   §15 v2 — Case Wall: featured flagship (spend->revenue funnel) + 2x2 result grid
   ============================================================ */
.rsg-page .cw-feat { display:grid; grid-template-columns: 1fr 1.05fr; gap:0; background: linear-gradient(150deg, rgba(110,231,183,0.1), rgba(255,255,255,0.03) 60%); border:1px solid rgba(110,231,183,0.3); border-radius:24px; overflow:hidden; margin: 0 0 20px; box-shadow: 0 30px 70px -40px rgba(110,231,183,0.35); }
.rsg-page .cw-feat-story { padding: 34px 34px 32px; display:flex; flex-direction:column; }
.rsg-page .cw-feat-tag { display:inline-flex; align-items:center; gap:8px; align-self:flex-start; font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.12em; text-transform:uppercase; font-weight:800; color:#06130D; background:#6EE7B7; border-radius:999px; padding:6px 13px; margin-bottom:16px; }
.rsg-page .cw-feat-tag svg { width:12px; height:12px; }
.rsg-page .cw-loc2 { display:inline-flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:10px; letter-spacing:0.08em; text-transform:uppercase; font-weight:700; color:rgba(255,255,255,0.66); margin-bottom:12px; }
.rsg-page .cw-loc2 svg { width:12px; height:12px; color:#6EE7B7; flex-shrink:0; }
.rsg-page .cw-feat-story h3 { color:#fff; font-family:var(--font-display); font-size:28px; font-weight:800; line-height:1.15; margin:0 0 14px; }
.rsg-page .cw-feat-story p { font-size:14px; line-height:1.66; color:rgba(255,255,255,0.8); margin:0; }
.rsg-page .cw-feat-story strong { color:#fff; }

.rsg-page .cw-funnel { background: rgba(0,0,0,0.24); border-left:1px solid rgba(255,255,255,0.1); padding: 26px 30px; display:flex; flex-direction:column; justify-content:center; }
.rsg-page .cw-fn-h { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:16px; }
.rsg-page .cw-fn-h .l { font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:rgba(255,255,255,0.6); }
.rsg-page .cw-fn-h .r { display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.05em; text-transform:uppercase; font-weight:800; color:#06130D; background:#6EE7B7; border-radius:999px; padding:4px 11px; }
.rsg-page .cw-fn-h .r svg { width:11px; height:11px; }
.rsg-page .cw-money { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.rsg-page .cw-money .amt { font-family:var(--font-display); font-weight:800; color:#fff; line-height:1; }
.rsg-page .cw-money .lab { font-family:var(--font-mono); font-size:8.5px; letter-spacing:0.06em; text-transform:uppercase; font-weight:700; color:rgba(255,255,255,0.55); text-align:right; }
.rsg-page .cw-money.in { padding-bottom:15px; border-bottom:1px dashed rgba(255,255,255,0.18); margin-bottom:15px; }
.rsg-page .cw-money.in .amt { font-size:22px; color:rgba(255,255,255,0.88); }
.rsg-page .cw-fn-steps { display:flex; flex-direction:column; }
.rsg-page .cw-fn-step { display:grid; grid-template-columns: 34px 78px 1fr; align-items:center; gap:12px; }
.rsg-page .cw-fn-step .ic { width:34px; height:34px; border-radius:9px; background:rgba(110,231,183,0.1); border:1px solid rgba(110,231,183,0.28); color:#6EE7B7; display:flex; align-items:center; justify-content:center; }
.rsg-page .cw-fn-step .ic svg { width:16px; height:16px; }
.rsg-page .cw-fn-step .nm { font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; font-weight:700; color:rgba(255,255,255,0.7); }
.rsg-page .cw-fn-step .track { height:34px; border-radius:9px; background:rgba(255,255,255,0.05); }
.rsg-page .cw-fn-step .bar { height:34px; min-width:52px; border-radius:9px; background:linear-gradient(90deg, var(--green-600), #6EE7B7); display:flex; align-items:center; padding:0 14px; box-shadow: 0 4px 14px rgba(110,231,183,0.22); }
.rsg-page .cw-fn-step .bar b { font-family:var(--font-display); font-weight:800; font-size:16px; color:#fff; }
.rsg-page .cw-fn-drop { display:flex; align-items:center; gap:9px; padding: 5px 0 5px 124px; }
.rsg-page .cw-fn-drop .dsvg { width:13px; height:13px; color:rgba(110,231,183,0.65); flex-shrink:0; }
.rsg-page .cw-fn-drop b { font-family:var(--font-mono); font-size:9px; letter-spacing:0.05em; text-transform:uppercase; font-weight:800; color:#6EE7B7; }
.rsg-page .cw-fn-drop span { font-family:var(--font-mono); font-size:9px; letter-spacing:0.05em; text-transform:uppercase; font-weight:700; color:rgba(255,255,255,0.5); }
.rsg-page .cw-money.out { padding-top:15px; border-top:1px dashed rgba(255,255,255,0.18); margin-top:15px; }
.rsg-page .cw-money.out .amt { font-size:36px; color:#6EE7B7; }

.rsg-page .cw-grid { display:grid; grid-template-columns: 1fr 1fr; gap:18px; margin: 0 0 30px; }
.rsg-page .cw-card { display:flex; flex-direction:column; background: rgba(255,255,255,0.035); border:1px solid rgba(255,255,255,0.1); border-radius:20px; padding: 26px 26px 22px; transition: transform .2s, border-color .2s, background .2s; }
.rsg-page .cw-card:hover { transform:translateY(-3px); border-color:rgba(110,231,183,0.4); background:rgba(255,255,255,0.055); }
.rsg-page .cw-card h3 { color:#fff; font-family:var(--font-display); font-size:19px; font-weight:800; line-height:1.24; margin:0 0 11px; }
.rsg-page .cw-card p { font-size:13px; line-height:1.6; color:rgba(255,255,255,0.76); margin:0 0 16px; }
.rsg-page .cw-card strong { color:#fff; }
.rsg-page .cw-proof2 { margin-top:auto; }
.rsg-page .cw-proof-h { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; padding-top:16px; border-top:1px solid rgba(255,255,255,0.1); }
.rsg-page .cw-proof-h .l { font-family:var(--font-mono); font-size:9px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:rgba(255,255,255,0.55); }
.rsg-page .cw-proof-h .t { display:inline-flex; align-items:center; gap:5px; font-family:var(--font-mono); font-size:8.5px; letter-spacing:0.05em; text-transform:uppercase; font-weight:700; color:#6EE7B7; background:rgba(44,122,75,0.2); border:1px solid rgba(110,231,183,0.32); border-radius:999px; padding:4px 10px; }
.rsg-page .cw-proof-h .t svg { width:10px; height:10px; }
.rsg-page .cw-chart svg { display:block; width:100%; height:auto; }
.rsg-page .cw-stats { display:grid; grid-template-columns: repeat(3,1fr); gap:10px; margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,0.08); }
.rsg-page .cw-stat b { display:block; font-family:var(--font-display); font-weight:800; font-size:18px; color:#fff; line-height:1; }
.rsg-page .cw-stat.cw-lead b { color:#6EE7B7; }
.rsg-page .cw-stat span { display:block; font-family:var(--font-mono); font-size:7.5px; letter-spacing:0.05em; text-transform:uppercase; color:rgba(255,255,255,0.58); font-weight:700; margin-top:5px; }
.rsg-page .cw-cta { display:flex; align-items:center; gap:20px; margin-top:30px; background: linear-gradient(135deg, rgba(110,231,183,0.12), rgba(255,255,255,0.03) 72%); border:1px solid rgba(110,231,183,0.28); border-left:5px solid #6EE7B7; border-radius:16px; padding:22px 26px; position:relative; overflow:hidden; }
.rsg-page .cw-cta::after { content:""; position:absolute; top:-70px; right:-50px; width:230px; height:230px; background: radial-gradient(circle, rgba(110,231,183,0.14), transparent 70%); pointer-events:none; }
.rsg-page .cw-cta-ic { position:relative; z-index:1; width:50px; height:50px; border-radius:13px; background: rgba(110,231,183,0.12); border:1px solid rgba(110,231,183,0.32); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#6EE7B7; }
.rsg-page .cw-cta-ic svg { width:24px; height:24px; }
.rsg-page .cw-cta-txt { position:relative; z-index:1; flex:1; }
.rsg-page .cw-cta-txt strong { display:block; font-family:var(--font-display); font-size:18px; font-weight:800; color:#fff; line-height:1.3; }
.rsg-page .cw-cta .btn { position:relative; z-index:1; flex-shrink:0; font-size:12px; padding:10px 18px; }
.rsg-page .cw-cta .btn svg { width:15px; height:15px; }

/* ============================================================
   §19 v2 — Related Resources: guide cards w/ topic-specific graphic covers
   ============================================================ */
.rsg-page .rr-grid { display:grid; grid-template-columns: 1fr 1fr; gap:22px; }
.rsg-page .rr-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:20px; overflow:hidden; box-shadow: var(--shadow-md); text-decoration:none; position:relative; transition: transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .rr-card::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--green-500),var(--green-700)); transform:scaleX(0); transform-origin:left; transition:transform .3s; z-index:3; }
.rsg-page .rr-card:hover { transform:translateY(-4px); box-shadow: var(--shadow-lg); border-color:rgba(44,122,75,0.3); }
.rsg-page .rr-card:hover::before { transform:scaleX(1); }
.rsg-page .rr-cover { position:relative; height:184px; padding:22px 24px; display:flex; flex-direction:column; justify-content:center; background: linear-gradient(150deg, var(--green-50), #F5F9F6 72%); border-bottom:1px solid var(--line); overflow:hidden; }
.rsg-page .rr-cover-tag { position:absolute; top:14px; right:14px; z-index:2; font-family:var(--font-mono); font-size:8px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:var(--green-700); background:rgba(255,255,255,0.75); border:1px solid rgba(44,122,75,0.2); border-radius:999px; padding:4px 9px; }
.rsg-page .rr-body { padding:22px 24px 24px; display:flex; flex-direction:column; flex:1; }
.rsg-page .rr-kicker { display:inline-flex; align-self:flex-start; font-family:var(--font-mono); font-size:9px; letter-spacing:0.12em; text-transform:uppercase; font-weight:700; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,0.18); border-radius:999px; padding:5px 11px; margin-bottom:13px; }
.rsg-page .rr-card h3 { font-family:var(--font-display); font-size:18px; font-weight:800; color:var(--ink-900); line-height:1.3; margin:0 0 9px; }
.rsg-page .rr-card p { font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0 0 18px; }
.rsg-page .rr-link { margin-top:auto; display:inline-flex; align-items:center; gap:9px; font-family:var(--font-display); font-size:13px; font-weight:700; color:var(--green-700); }
.rsg-page .rr-link .rr-arrow { width:28px; height:28px; border-radius:50%; background:var(--green-50); display:flex; align-items:center; justify-content:center; transition: background .2s; }
.rsg-page .rr-link .rr-arrow svg { width:13px; height:13px; color:var(--green-600); }
.rsg-page .rr-card:hover .rr-arrow { background:var(--green-500); }
.rsg-page .rr-card:hover .rr-arrow svg { color:#fff; }

/* cover 1 — Map Pack mockup */
.rsg-page .rr-map { display:flex; flex-direction:column; gap:9px; }
.rsg-page .rr-map-row { display:flex; align-items:center; gap:11px; background:#fff; border:1px solid var(--line); border-radius:10px; padding:9px 12px; }
.rsg-page .rr-map-row.top { background: linear-gradient(120deg, #fff, var(--green-50)); border-color:rgba(44,122,75,0.35); box-shadow:0 8px 20px -12px rgba(44,122,75,0.45); }
.rsg-page .rr-rank { width:22px; height:22px; border-radius:7px; 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:11px; flex-shrink:0; }
.rsg-page .rr-rank.g { background:#E4E8E5; color:var(--ink-500); }
.rsg-page .rr-biz { flex:1; min-width:0; }
.rsg-page .rr-biz b { display:block; font-family:var(--font-display); font-size:12.5px; font-weight:800; color:var(--ink-900); line-height:1.1; }
.rsg-page .rr-stars { display:inline-flex; align-items:center; gap:5px; margin-top:5px; }
.rsg-page .rr-stars .rs { display:inline-flex; gap:1.5px; }
.rsg-page .rr-stars .rs svg { width:9px; height:9px; }
.rsg-page .rr-stars em { font-style:normal; font-family:var(--font-mono); font-size:8px; letter-spacing:0.06em; text-transform:uppercase; font-weight:700; color:var(--green-700); }
.rsg-page .rr-pin { width:26px; height:26px; border-radius:50%; background:var(--green-50); color:var(--green-600); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .rr-pin svg { width:14px; height:14px; }
.rsg-page .rr-bar { display:block; height:6px; border-radius:3px; background:#E4E8E5; }
.rsg-page .rr-bar.w1 { width:56%; margin-bottom:6px; }
.rsg-page .rr-bar.w2 { width:34%; }

/* cover 2 — schema code snippet */
.rsg-page .rr-cover.code { background: linear-gradient(150deg, #EDF2EE, #F7FAF8 72%); }
.rsg-page .rr-code { background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow: 0 12px 26px -16px rgba(20,50,32,0.4); overflow:hidden; }
.rsg-page .rr-code-bar { display:flex; align-items:center; gap:6px; padding:9px 13px; border-bottom:1px solid var(--line-2); background:#FBFCFB; }
.rsg-page .rr-code-bar i { width:8px; height:8px; border-radius:50%; background:#D3D9D5; }
.rsg-page .rr-code-bar i:nth-child(3) { background:var(--green-500); }
.rsg-page .rr-code-bar em { font-style:normal; margin-left:6px; font-family:var(--font-mono); font-size:8.5px; letter-spacing:0.06em; text-transform:uppercase; font-weight:700; color:var(--ink-500); }
.rsg-page .rr-code-body { margin:0; padding:12px 15px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size:11px; line-height:1.65; color:var(--ink-500); white-space:pre; overflow:hidden; }
.rsg-page .rr-code-body .ck { color:var(--green-700); font-weight:600; }
.rsg-page .rr-code-body .cs { color:var(--ink-700); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 980px) {
  .rsg-page .lgai-grid { grid-template-columns: 1fr; gap: 28px; }
  .rsg-page .air-body { grid-template-columns: 1fr; }
  .rsg-page .air-mid { min-height: 58px; }
  .rsg-page .air-mid::before { top:50%; bottom:auto; left:24px; right:24px; width:auto; height:1px; }
  .rsg-page .air-mid .am-node svg { transform: rotate(90deg); }
  /* hero dashboard: flow naturally instead of absolute-in-fixed-box (no overlap on mobile) */
  .rsg-page .platform-hero { height: auto !important; max-width: 560px; margin: 0 auto; }
  .rsg-page .lgh-dash { position: static; transform: none; top: auto; left: auto; width: 100%; }
  .rsg-page .lgh-pill { display: none; }
}
@media (max-width: 900px) {
  .rsg-page .own-flow { grid-template-columns: 1fr; gap: 18px; }
  .rsg-page .own-converge { display: none; }
  .rsg-page .own-chans { flex-direction: column; }
  .rsg-page .own-hub { align-self: stretch; }
  .rsg-page .own-test-grid { grid-template-columns: 1fr; }
  .rsg-page .lgs-grid { grid-template-columns: 1fr 1fr; }
  .rsg-page .lge-grid { grid-template-columns: 1fr; }
  .rsg-page .lgc-grid { grid-template-columns: 1fr 1fr; }
  .rsg-page .lgk-steps { grid-template-columns: 1fr; }
  .rsg-page .lgcs-card, .rsg-page .lgcs-card.flip { grid-template-columns: 1fr; gap: 24px; }
  .rsg-page .lgcs-card.flip .lgcs-proof { order: 0; }
  .rsg-page .lgb-leak { grid-template-columns: 1fr; gap: 22px; }
  .rsg-page .tg-path { flex-direction: column; align-items: stretch; }
  .rsg-page .tg-gate { flex: 0 0 auto; }
  .rsg-page .tg-cap { flex: 0 0 auto; align-self: stretch; width: 100%; flex-direction: row; justify-content: flex-start; text-align: left; gap: 15px; padding: 15px 20px; }
  .rsg-page .tg-cap .tc-ic { margin-bottom: 0; }
  .rsg-page .tg-conn { flex-basis: auto; height: 34px; }
  .rsg-page .tg-conn svg { transform: rotate(90deg); }
  .rsg-page .tg-conn .tgc-lbl { display: none; }
  .rsg-page .cw-feat { grid-template-columns: 1fr; }
  .rsg-page .cw-funnel { border-left: 0; border-top: 1px solid rgba(255,255,255,0.1); }
  .rsg-page .cw-feat-story h3 { font-size: 24px; }
}
@media (max-width: 760px) {
  .rsg-page .cw-grid { grid-template-columns: 1fr; }
  .rsg-page .own-compare { grid-template-columns: 1fr; }
  .rsg-page .ufl-causes { grid-template-columns: 1fr; }
  .rsg-page .ufl-root { flex-direction: column; align-items: flex-start; gap: 14px; }
  .rsg-page .lgb-grid { grid-template-columns: 1fr; }
  .rsg-page .lga-grid { grid-template-columns: 1fr; }
  .rsg-page .lgt-grid { grid-template-columns: 1fr; }
  .rsg-page .tg-verdict { flex-direction: column; gap: 13px; }
  .rsg-page .lgkr-grid { grid-template-columns: 1fr; }
  .rsg-page .rr-grid { grid-template-columns: 1fr; }
  .rsg-page .lgai-sgrid { grid-template-columns: 1fr; }
  .rsg-page .air-why { grid-template-columns: 1fr; }
  .rsg-page .air-kb-grid { grid-template-columns: 1fr; }
  .rsg-page .air-krow { border-right: 0; border-bottom: 1px solid var(--line-2); }
  .rsg-page .air-krow:last-child { border-bottom: 0; }
  .rsg-page .lgk-cmp { grid-template-columns: 1fr; }
  .rsg-page .lg-band { flex-direction: column; align-items: flex-start; gap: 16px; }
  .rsg-page .lg-band-btn { width: 100%; justify-content: center; }
  .rsg-page .cw-cta { flex-direction: column; align-items: flex-start; gap: 16px; }
  .rsg-page .cw-cta .btn { width: 100%; justify-content: center; }
  .rsg-page .lgc-bill { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 620px) {
  .rsg-page .lgs-grid { grid-template-columns: 1fr; }
  .rsg-page .lgc-grid { grid-template-columns: 1fr 1fr; }
  .rsg-page .lgh-dash { width: 100%; }
  .rsg-page .lgh-pill.p2 { left: 0; }
  .rsg-page .lgh-pill.p1 { right: 0; }
  .rsg-page .lgcs-stats { grid-template-columns: 1fr 1fr; }
  .rsg-page .cw-stats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 460px) {
  .rsg-page .lgc-grid { grid-template-columns: 1fr; }
  .rsg-page .lgh-flow { grid-template-columns: 1fr; }
  .rsg-page .lgh-arrow { transform: rotate(90deg); }
  .rsg-page .lgh-node b { font-size: 20px; }
}

/* ============================================================
   Â§1 HERO â€” V5 Multi-Channel Performance dashboard (ported)
   ============================================================ */
#lgh5{width:100%;display:flex;justify-content:center;}
#lgh5 .lgh5w{width:100%;max-width:552px;background:#fff;border:1px solid #E4E8E5;border-radius:16px;box-shadow:0 40px 90px -30px rgba(17,17,17,.34),0 12px 30px -12px rgba(17,17,17,.14);overflow:hidden;position:relative;}
#lgh5 .lgh5bar{display:flex;align-items:center;gap:10px;padding:11px 15px;border-bottom:1px solid #E4E8E5;background:#FBFCFB;}
#lgh5 .lgh5dots{display:flex;gap:6px;}
#lgh5 .lgh5dots i{width:9px;height:9px;border-radius:50%;background:#D3D9D5;}
#lgh5 .lgh5dots i:nth-child(3){background:#2C7A4B;}
#lgh5 .lgh5url{font-size:11px;color:#6B6B6B;}
#lgh5 .lgh5live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-family:"Montserrat",system-ui,sans-serif;font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#143E25;background:#E8F1EB;border-radius:999px;padding:4px 9px;}
#lgh5 .lgh5live::before{content:"";width:6px;height:6px;border-radius:50%;background:#2C7A4B;animation:lgh5pulse 1.6s infinite;}
@keyframes lgh5pulse{0%{box-shadow:0 0 0 0 rgba(44,122,75,.5)}70%{box-shadow:0 0 0 6px rgba(44,122,75,0)}100%{box-shadow:0 0 0 0 rgba(44,122,75,0)}}

/* ===== v5 — Multi-Channel Performance (prefix d5-) ===== */
#lgh5 .d5-body{
  padding:16px 16px 18px;
  background:
    radial-gradient(120% 90% at 100% 0%, #F2F7F3 0%, rgba(242,247,243,0) 55%),
    #FFFFFF;
  font-family:var(--fb, "DM Sans", system-ui, sans-serif);
}

/* KPI strip */
#lgh5 .d5-kpis{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;
}
#lgh5 .d5-kpi{
  position:relative;border:1px solid #E4E8E5;border-radius:12px;
  padding:9px 11px 10px;background:linear-gradient(180deg,#FCFEFD 0%,#F6FAF7 100%);
  box-shadow:0 1px 0 rgba(20,62,37,.03);
}
#lgh5 .d5-kpi.d5-hero{background:linear-gradient(135deg,var(--green-500) 0%,var(--green-700) 100%);border-color:transparent;box-shadow:0 8px 22px -12px rgba(20,62,37,.7);}
#lgh5 .d5-klab{font-family:var(--fd,"Montserrat",sans-serif);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6B6B6B;}
#lgh5 .d5-hero .d5-klab{color:#6EE7B7;}
#lgh5 .d5-kval{font-family:var(--fd,"Montserrat",sans-serif);font-weight:800;font-size:22px;line-height:1.05;color:#111;margin-top:3px;letter-spacing:-.01em;font-variant-numeric:tabular-nums;}
#lgh5 .d5-hero .d5-kval{color:#FFFFFF;}
#lgh5 .d5-kdelta{display:inline-flex;align-items:center;gap:3px;margin-top:4px;font-family:var(--fd,"Montserrat",sans-serif);font-size:9.5px;font-weight:700;color:#2C7A4B;}
#lgh5 .d5-hero .d5-kdelta{color:#6EE7B7;}
#lgh5 .d5-kdelta svg{width:9px;height:9px;display:block;}

/* section label */
#lgh5 .d5-slab{display:flex;align-items:center;justify-content:space-between;margin:0 2px 8px;}
#lgh5 .d5-slab h3{font-family:var(--fd,"Montserrat",sans-serif);font-size:11px;font-weight:800;letter-spacing:.02em;color:#111;margin:0;}
#lgh5 .d5-slab span{font-family:var(--fd,"Montserrat",sans-serif);font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#9AA3A0;}

/* channel rows */
#lgh5 .d5-chans{display:flex;flex-direction:column;gap:6px;}
#lgh5 .d5-crow{
  display:grid;grid-template-columns:36px 1fr auto auto 66px 42px;align-items:center;gap:10px;
  padding:7px 10px;border:1px solid #EEF1EE;border-radius:11px;background:#FFFFFF;
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
#lgh5.d5-go .d5-crow{opacity:0;transform:translateY(6px);animation:d5-rise .5s cubic-bezier(.2,.7,.3,1) forwards;}
#lgh5.d5-go .d5-crow:nth-child(1){animation-delay:.05s;}
#lgh5.d5-go .d5-crow:nth-child(2){animation-delay:.12s;}
#lgh5.d5-go .d5-crow:nth-child(3){animation-delay:.19s;}
#lgh5.d5-go .d5-crow:nth-child(4){animation-delay:.26s;}
#lgh5.d5-go .d5-crow:nth-child(5){animation-delay:.33s;}
#lgh5 .d5-crow:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(0,0,0,0.08);border-color:rgba(44,122,75,0.28);}
#lgh5 .d5-chip{
  width:36px;height:36px;border-radius:10px;background:#FFFFFF;border:1px solid #E4E8E5;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 1px 2px rgba(17,17,17,.06);
}
#lgh5 .d5-chip svg{width:21px;height:21px;display:block;}
#lgh5 .d5-chip img{width:22px;height:22px;object-fit:contain;display:block;}
#lgh5 .d5-chip img.d5-seologo{width:34px;height:auto;max-height:30px;object-fit:contain;mix-blend-mode:multiply;}
#lgh5 .d5-cmeta{min-width:0;}
#lgh5 .d5-cname{font-family:var(--fd,"Montserrat",sans-serif);font-size:11.5px;font-weight:700;color:#111;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#lgh5 .d5-csub{font-size:9px;color:#9AA3A0;font-weight:600;letter-spacing:.02em;margin-top:1px;}
#lgh5 .d5-cnum{text-align:right;font-family:var(--fd,"Montserrat",sans-serif);}
#lgh5 .d5-cbig{font-size:13px;font-weight:800;color:#111;line-height:1;font-variant-numeric:tabular-nums;}
#lgh5 .d5-ctag{font-size:8px;font-weight:700;color:#9AA3A0;letter-spacing:.05em;text-transform:uppercase;margin-top:2px;}
#lgh5 .d5-cpl{font-size:8px;font-weight:700;color:#6B6B6B;letter-spacing:.04em;text-transform:uppercase;margin-top:2px;}
#lgh5 .d5-spark{width:66px;height:24px;display:block;}
#lgh5 .d5-spark polyline{fill:none;stroke:#2C7A4B;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
#lgh5.d5-go .d5-spark polyline{stroke-dasharray:1;stroke-dashoffset:1;animation:d5-draw 1s ease forwards .35s;}
#lgh5 .d5-spark .d5-sparkdot{fill:#2C7A4B;}
#lgh5.d5-go .d5-spark .d5-sparkdot{opacity:0;animation:d5-pop .3s ease forwards 1.2s;}
#lgh5 .d5-trend{
  display:inline-flex;align-items:center;justify-content:flex-end;gap:2px;
  font-family:var(--fd,"Montserrat",sans-serif);font-size:10.5px;font-weight:800;color:#2C7A4B;
  font-variant-numeric:tabular-nums;
}
#lgh5 .d5-trend svg{width:9px;height:9px;display:block;}
#lgh5 .d5-trend.d5-flat{color:#6B6B6B;}
#lgh5 .d5-trend.d5-flat .d5-spark polyline,#lgh5 .d5-crow.d5-cflat .d5-spark polyline{stroke:#9AA3A0;}

/* bottom split */
#lgh5 .d5-bot{display:grid;grid-template-columns:172px 1fr;gap:14px;margin-top:14px;}
#lgh5 .d5-donutcard,#lgh5 .d5-areacard{
  border:1px solid #EEF1EE;border-radius:13px;padding:12px;background:linear-gradient(180deg,#FCFEFD,#F6FAF7);
}
#lgh5 .d5-donutwrap{position:relative;width:130px;height:130px;margin:6px auto 2px;}
#lgh5 .d5-donutwrap svg{width:130px;height:130px;display:block;transform:rotate(0deg);}
#lgh5 .d5-arc{fill:none;stroke-width:15;stroke-linecap:butt;stroke-dasharray:0 400;transition:stroke-dasharray 1.1s cubic-bezier(.3,.7,.3,1);}
#lgh5 .d5-dcenter{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
#lgh5 .d5-dnum{font-family:var(--fd,"Montserrat",sans-serif);font-size:22px;font-weight:800;color:#111;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
#lgh5 .d5-dcap{font-size:8.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#9AA3A0;margin-top:3px;}

/* areas */
#lgh5 .d5-areas{display:flex;flex-direction:column;gap:9px;margin-top:8px;}
#lgh5 .d5-arow{display:grid;grid-template-columns:1fr auto;gap:6px 8px;align-items:center;}
#lgh5 .d5-aname{font-family:var(--fb,"DM Sans",sans-serif);font-size:10.5px;font-weight:600;color:#262626;}
#lgh5 .d5-aval{font-family:var(--fd,"Montserrat",sans-serif);font-size:10px;font-weight:800;color:#111;font-variant-numeric:tabular-nums;}
#lgh5 .d5-atrack{grid-column:1 / -1;height:6px;border-radius:6px;background:#EDF1EE;overflow:hidden;display:block;}
#lgh5 .d5-afill{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,#3B8E5E,#1F5B36);transition:width 1.1s cubic-bezier(.3,.7,.3,1);}

@keyframes d5-rise{to{opacity:1;transform:translateY(0);}}
@keyframes d5-draw{to{stroke-dashoffset:0;}}
@keyframes d5-pop{to{opacity:1;}}
@media (max-width:560px){
  #lgh5 .d5-bot{grid-template-columns:1fr;}
  #lgh5 .d5-crow{grid-template-columns:36px 1fr auto 56px 40px;}
  #lgh5 .d5-cpl{display:none;}
}


