


@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; }

/* S4 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; }
/* ============================================================
   S4 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: "\2713"; 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: "\2713"; 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; }
}


/* ============================================================
   S6 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; }
}

/* ============================================================
   S6 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; }
}

/* ============================================================
   S7 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; }
}

/* ============================================================
   S8 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; }
}

/* ============================================================
   S8 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; }
}

/* ============================================================
   S11 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; }
}

/* ============================================================
   S12 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; }
}


/* ============================================================
   S2 -- "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; }
}


/* S4 -- 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; } }


/* S5 -- "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; }


/* S5 -- 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; } }


/* S6 -- 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; } }


/* S8 -- 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; } }


/* S10 -- 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; } }


/* S10 -- 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; }


/* S11 -- 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; } }


/* S12 -- 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; } }


/* S13 -- 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; } }


/* S14 -- 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; } }


/* S16 -- 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; } }


/* S4 -- 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; } }


/* ============================================================
   BLOG ARCHIVE -- supplemental components (August 2026)
   Namespaces (verified 0 hits in master-css.txt + casestudies.html):
     blg-   shared blog primitives (card, chip, meta, pagination, search)
     blga-  Variation A "Editorial Desk"
     blgb-  Variation B "Newsroom Rail"
     blgc-  Variation C "Index Ledger"
   All scoped under .rsg-page. Green + charcoal only, per brand tokens.
   Every grid track uses minmax(0,1fr) so long titles cannot blow the column.
   ============================================================ */

/* ---- image helper: data URIs are declared ONCE as custom properties on
        .rsg-page, then referenced by class, so a preview file that shows the
        same post in three variations carries the payload a single time.
        In production these become real image tags emitted by the WP loop. ---- */
.rsg-page .blg-img { background-size: cover; background-position: center; background-repeat: no-repeat; background-color: #EEF3EF; display: block; }

/* screen-reader-only label (the master library has no .sr-only) */
.rsg-page .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* white outline button on the dark bands (proven on the case-studies hub;
   not present in the shared master library, so it is declared here) */
.rsg-page .btn-outline-white { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.45); }
.rsg-page .btn-outline-white:hover { background: #fff; color: #000; }

/* every masthead H1 balances its own line breaks rather than carrying
   hard .hd-ln spans tuned to a single viewport width */
.rsg-page .blga-hero h1, .rsg-page .blgb-hero h1, .rsg-page .blgc-hero h1 { text-wrap: balance; }

/* ============================================================
   SHARED BLOG PRIMITIVES
   ============================================================ */

/* category chip */
.rsg-page .blg-chip { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.07em; 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: 6px; padding: 4px 9px; }
.rsg-page .blg-chip.on-dark { color: #9FE8BE; background: rgba(44,122,75,0.22); border-color: rgba(110,231,183,0.28); }
.rsg-page .blg-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }

/* byline / meta row -- avatar, name, date, read time */
.rsg-page .blg-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.05em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); }
.rsg-page .blg-meta .blg-av { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 1.5px solid #fff; box-shadow: 0 2px 6px rgba(0,0,0,0.14); }
.rsg-page .blg-meta .blg-by { color: var(--ink-700); }
.rsg-page .blg-meta i { width: 3px; height: 3px; border-radius: 50%; background: var(--line); display: inline-block; flex-shrink: 0; }
.rsg-page .blg-meta .blg-rt { display: inline-flex; align-items: center; gap: 5px; color: var(--green-700); }
.rsg-page .blg-meta .blg-rt svg { width: 12px; height: 12px; flex-shrink: 0; }
.rsg-page .blg-meta.on-dark { color: rgba(255,255,255,0.55); }
.rsg-page .blg-meta.on-dark .blg-by { color: rgba(255,255,255,0.88); }
.rsg-page .blg-meta.on-dark .blg-rt { color: #9FE8BE; }
.rsg-page .blg-meta.on-dark i { background: rgba(255,255,255,0.25); }

/* the read-more affordance */
.rsg-page .blg-link { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-size: 13.5px; font-weight: 700; color: var(--green-600); transition: gap .2s, color .2s; }
.rsg-page .blg-link svg { width: 15px; height: 15px; flex-shrink: 0; transition: transform .2s; }

/* ---- CARD: image on top, body below (the grid workhorse) ---- */
.rsg-page .blg-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; position: relative; box-shadow: var(--shadow-md); transition: transform .22s, box-shadow .22s, border-color .22s; }
.rsg-page .blg-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 ease; z-index: 3; }
.rsg-page .blg-card:hover { transform: translateY(-4px); border-color: rgba(44,122,75,0.34); box-shadow: 0 22px 48px rgba(20,50,32,0.12); }
.rsg-page .blg-card:hover::before { transform: scaleX(1); }
.rsg-page .blg-card:hover .blg-link { color: var(--green-700); gap: 12px; }
.rsg-page .blg-card:hover .blg-link svg { transform: translateX(3px); }
.rsg-page .blg-shot { position: relative; aspect-ratio: 16 / 10; border-bottom: 1px solid var(--line); overflow: hidden; }
.rsg-page .blg-shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rsg-page .blg-shot .blg-chip { position: absolute; left: 14px; bottom: 14px; background: rgba(255,255,255,0.95); backdrop-filter: blur(4px); box-shadow: 0 4px 12px rgba(0,0,0,0.14); }
.rsg-page .blg-body { padding: 22px 24px 20px; display: flex; flex-direction: column; flex: 1 1 auto; }
.rsg-page .blg-card h3 { font-family: var(--font-display); font-size: 19px; font-weight: 700; line-height: 1.28; letter-spacing: -0.015em; color: var(--ink-900); margin: 0 0 10px; }
.rsg-page .blg-card h3 a { color: inherit; }
.rsg-page .blg-card:hover h3 a { color: var(--green-700); }
.rsg-page .blg-dek { font-size: 14px; line-height: 1.6; color: var(--ink-2); margin: 0 0 16px; }
.rsg-page .blg-foot { margin-top: auto; padding-top: 15px; border-top: 1px solid var(--line-2); display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }

/* ---- ROW CARD: image left, body right ---- */
.rsg-page .blg-row { display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr); align-items: stretch; background: #fff; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; position: relative; box-shadow: var(--shadow-md); transition: transform .22s, box-shadow .22s, border-color .22s; }
.rsg-page .blg-row::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 ease; z-index: 3; }
.rsg-page .blg-row:hover { transform: translateY(-3px); border-color: rgba(44,122,75,0.34); box-shadow: 0 18px 40px rgba(20,50,32,0.10); }
.rsg-page .blg-row:hover::before { transform: scaleX(1); }
.rsg-page .blg-row:hover .blg-link { color: var(--green-700); gap: 12px; }
.rsg-page .blg-row .blg-shot { aspect-ratio: auto; height: 100%; border-bottom: 0; border-right: 1px solid var(--line); }
.rsg-page .blg-row .blg-body { padding: 20px 22px; }
.rsg-page .blg-row h3 { font-size: 17.5px; }

/* ---- PAGINATION ---- */
.rsg-page .blg-pag { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 46px; padding-top: 34px; border-top: 1px solid var(--line); }
.rsg-page .blg-pag a, .rsg-page .blg-pag span { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 13px; border-radius: 11px; border: 1px solid var(--line); background: #fff; font-family: var(--font-display); font-size: 14px; font-weight: 700; color: var(--ink-700); transition: background .18s, color .18s, border-color .18s, box-shadow .18s; }
.rsg-page .blg-pag a:hover { border-color: rgba(44,122,75,0.45); color: var(--green-700); box-shadow: 0 6px 16px rgba(0,0,0,0.06); }
.rsg-page .blg-pag .current { background: var(--green-500); border-color: var(--green-500); color: #fff; box-shadow: 0 8px 20px rgba(44,122,75,0.26); }
.rsg-page .blg-pag .dots { border: 0; background: none; min-width: 20px; color: var(--ink-500); box-shadow: none; }
.rsg-page .blg-pag .blg-pnext { gap: 8px; padding: 0 18px; }
.rsg-page .blg-pag .blg-pnext svg { width: 15px; height: 15px; flex-shrink: 0; }

/* ---- SEARCH FIELD ---- */
.rsg-page .blg-search { display: flex; align-items: stretch; gap: 0; max-width: 460px; width: 100%; background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-md); }
.rsg-page .blg-search input { flex: 1 1 auto; min-width: 0; border: 0; outline: 0; background: transparent; padding: 14px 16px; font-family: var(--font-body); font-size: 14.5px; color: var(--ink-900); }
.rsg-page .blg-search input::placeholder { color: var(--ink-500); }
.rsg-page .blg-search button { flex: 0 0 auto; border: 0; cursor: pointer; background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; padding: 0 20px; display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-size: 13.5px; font-weight: 700; transition: filter .18s; }
.rsg-page .blg-search button:hover { filter: brightness(1.08); }
.rsg-page .blg-search button svg { width: 16px; height: 16px; flex-shrink: 0; }
.rsg-page .blg-search.on-dark { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.18); box-shadow: none; }
.rsg-page .blg-search.on-dark input { color: #fff; }
.rsg-page .blg-search.on-dark input::placeholder { color: rgba(255,255,255,0.5); }

/* ---- SARAH BAND (dark, closes every variation before the final CTA) ---- */
.rsg-page .blg-sarah { background: var(--dark-grad); color: #fff; padding: 76px 0; }
.rsg-page .blg-sgrid { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: 44px; align-items: center; }
.rsg-page .blg-sphoto { position: relative; border-radius: 20px; overflow: hidden; border: 1px solid rgba(255,255,255,0.14); box-shadow: 0 24px 60px rgba(0,0,0,0.42); }
.rsg-page .blg-sphoto img { width: 100%; display: block; aspect-ratio: 1 / 1; object-fit: cover; }
.rsg-page .blg-sarah h2 { color: #fff; margin: 0 0 16px; font-size: clamp(24px, 2.7vw, 32px); }
.rsg-page .blg-sarah h2 em { font-style: normal; color: #6EE7B7; }
.rsg-page .blg-sarah p { color: rgba(255,255,255,0.76); font-size: 16px; line-height: 1.66; margin: 0 0 14px; max-width: 62ch; }
.rsg-page .blg-sarah p strong { color: #fff; }
.rsg-page .blg-sname { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #6EE7B7; margin: 0 0 18px; }
.rsg-page .blg-sctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }

/* ============================================================
   VARIATION A -- "EDITORIAL DESK"
   Dark masthead carrying a live topic-frequency instrument, an asymmetric
   featured trio, a quiet text filter, then a full-width 3-up grid.
   ============================================================ */
.rsg-page .blga-hero { background: var(--dark-grad); padding: 84px 0 78px; position: relative; overflow: hidden; }
.rsg-page .blga-hero::after { content: ""; position: absolute; right: -140px; top: -140px; width: 460px; height: 460px; border-radius: 50%; background: radial-gradient(circle, rgba(44,122,75,0.24) 0%, rgba(44,122,75,0) 68%); pointer-events: none; }
.rsg-page .blga-hgrid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: 54px; align-items: center; position: relative; z-index: 1; }
.rsg-page .blga-hero h1 { color: #fff; margin: 0 0 20px; max-width: 15ch; }
.rsg-page .blga-hero h1 em { font-style: normal; color: #6EE7B7; }
.rsg-page .blga-hlede { font-size: 17px; line-height: 1.66; color: rgba(255,255,255,0.76); margin: 0 0 28px; max-width: 56ch; }
.rsg-page .blga-hlede strong { color: #fff; font-weight: 700; }
.rsg-page .blga-hstats { display: flex; flex-wrap: wrap; gap: 10px 30px; margin-top: 26px; }
.rsg-page .blga-hstat { display: flex; flex-direction: column; gap: 3px; }
.rsg-page .blga-hstat b { font-family: var(--font-display); font-size: 25px; font-weight: 800; color: #fff; line-height: 1; letter-spacing: -0.02em; }
.rsg-page .blga-hstat span { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: rgba(255,255,255,0.5); }

/* topic-frequency instrument */
.rsg-page .blga-panel { background: #fff; border-radius: 20px; border: 1px solid var(--line); box-shadow: 0 28px 66px rgba(0,0,0,0.4); overflow: hidden; }
.rsg-page .blga-pbar { display: flex; align-items: center; gap: 11px; padding: 12px 16px; background: linear-gradient(180deg, #FBFCFB, #F3F7F4); border-bottom: 1px solid var(--line); }
.rsg-page .blga-pbar .blga-pt { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: var(--ink-700); }
.rsg-page .blga-pbar .blga-pl { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: var(--green-700); }
.rsg-page .blga-pbar .blga-pd { 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 .blga-pbody { padding: 18px 18px 16px; }
.rsg-page .blga-trow { display: grid; grid-template-columns: minmax(0, 178px) minmax(0, 1fr) 30px; align-items: center; gap: 12px; padding: 7px 0; }
.rsg-page .blga-trow + .blga-trow { border-top: 1px dashed var(--line-2); }
.rsg-page .blga-tname { font-family: var(--font-body); font-size: 12.5px; font-weight: 600; color: var(--ink-900); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rsg-page .blga-ttrack { height: 9px; border-radius: 999px; background: #EFF3F0; overflow: hidden; }
/* display:block is REQUIRED - a bare <span> is inline and ignores width/height,
   so without it the fill renders as nothing and the chart reads as empty rails */
.rsg-page .blga-tfill { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--green-500), var(--green-700)); }
.rsg-page .blga-tnum { font-family: var(--font-mono); font-size: 11.5px; font-weight: 700; color: var(--ink-700); text-align: right; }
.rsg-page .blga-pfoot { padding: 12px 18px; border-top: 1px solid var(--line); background: var(--paper-soft); font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }

/* featured trio */
.rsg-page .blga-fhead { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; flex-wrap: wrap; margin-bottom: 34px; }
.rsg-page .blga-fhead .section-header { margin-bottom: 0; flex: 1 1 420px; min-width: 0; }
.rsg-page .blga-fgrid { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr); gap: 26px; align-items: start; }
.rsg-page .blga-stack { display: grid; gap: 22px; }
.rsg-page .blga-lead h3 { font-size: 25px; line-height: 1.24; }
.rsg-page .blga-lead .blg-shot { aspect-ratio: 16 / 9; }
.rsg-page .blga-lead .blg-body { padding: 26px 28px 22px; }

/* quiet topic filter */
.rsg-page .blga-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 26px; padding: 26px 0 0; margin-top: 46px; border-top: 1px solid var(--line); }
.rsg-page .blga-filter a { font-family: var(--font-body); font-size: 14px; font-weight: 600; color: var(--ink-2); padding: 4px 0; border-bottom: 2px solid transparent; transition: color .18s, border-color .18s; }
.rsg-page .blga-filter a:hover { color: var(--green-600); }
.rsg-page .blga-filter a.active { color: var(--green-700); border-bottom-color: var(--green-500); }
.rsg-page .blga-filter a span { font-family: var(--font-mono); font-size: 11px; font-weight: 700; color: var(--ink-500); margin-left: 4px; }
.rsg-page .blga-countline { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); margin: 16px 0 0; }

/* the grid */
.rsg-page .blga-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 34px; }

/* ============================================================
   VARIATION B -- "NEWSROOM RAIL"
   Light split masthead with an archive-ledger instrument, one wide lead
   story, then a 2-up grid beside a sticky sidebar rail. This is the
   variation that KEEPS the WordPress sidebar widget area.
   ============================================================ */
.rsg-page .blgb-hero { background: linear-gradient(180deg, #F7FAF8 0%, #FFFFFF 100%); padding: 74px 0 66px; border-bottom: 1px solid var(--line-2); }
.rsg-page .blgb-hgrid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 52px; align-items: center; }
.rsg-page .blgb-hero h1 { margin: 0 0 18px; max-width: 16ch; }
.rsg-page .blgb-hlede { font-size: 17px; line-height: 1.66; color: var(--ink-2); margin: 0 0 26px; max-width: 58ch; }
.rsg-page .blgb-hlede strong { color: var(--ink-900); }

/* archive ledger instrument -- posts per year, real counts */
.rsg-page .blgb-ledger { background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow-lg); overflow: hidden; }
.rsg-page .blgb-lhead { padding: 16px 20px 14px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, #FBFCFB, #F3F7F4); }
.rsg-page .blgb-lhead .blgb-lt { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--green-700); margin-bottom: 6px; }
.rsg-page .blgb-lhead .blgb-lb { font-family: var(--font-display); font-size: 17px; font-weight: 800; color: var(--ink-900); letter-spacing: -0.01em; }
.rsg-page .blgb-lbody { padding: 16px 20px 10px; }
.rsg-page .blgb-lrow { display: grid; grid-template-columns: 44px minmax(0, 1fr) 34px; align-items: center; gap: 12px; padding: 6px 0; }
.rsg-page .blgb-lyear { font-family: var(--font-mono); font-size: 11.5px; font-weight: 700; color: var(--ink-700); }
.rsg-page .blgb-lbars { display: flex; gap: 3px; align-items: flex-end; height: 22px; }
.rsg-page .blgb-lbars i { flex: 1 1 auto; min-width: 0; border-radius: 2px; background: linear-gradient(180deg, var(--green-500), var(--green-700)); display: block; }
.rsg-page .blgb-lbars i.off { background: #E9EEEA; }
.rsg-page .blgb-lnum { font-family: var(--font-mono); font-size: 11.5px; font-weight: 700; color: var(--ink-900); text-align: right; }
.rsg-page .blgb-lfoot { padding: 13px 20px; border-top: 1px solid var(--line); background: var(--paper-soft); display: flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); }
.rsg-page .blgb-lfoot svg { width: 13px; height: 13px; color: var(--green-500); flex-shrink: 0; }

/* wide lead story */
.rsg-page .blgb-lead { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: stretch; background: #fff; border: 1px solid var(--line); border-radius: 22px; overflow: hidden; box-shadow: var(--shadow-lg); position: relative; }
.rsg-page .blgb-lead .blgb-shot { position: relative; min-height: 340px; }
.rsg-page .blgb-lead .blgb-shot .blg-img { position: absolute; inset: 0; }
.rsg-page .blgb-flag { position: absolute; top: 16px; left: 16px; z-index: 2; display: inline-flex; align-items: center; gap: 7px; background: #000; color: #fff; border-radius: 999px; padding: 7px 15px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; }
.rsg-page .blgb-flag .blgb-fd { width: 7px; height: 7px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 0 4px rgba(44,122,75,0.3); }
.rsg-page .blgb-lbody { padding: 34px 36px; display: flex; flex-direction: column; justify-content: center; }
.rsg-page .blgb-lbody h3 { font-family: var(--font-display); font-size: clamp(21px, 2.2vw, 27px); font-weight: 700; line-height: 1.24; letter-spacing: -0.018em; color: var(--ink-900); margin: 0 0 12px; }
.rsg-page .blgb-lbody p { font-size: 15px; line-height: 1.62; color: var(--ink-2); margin: 0 0 20px; }

/* main + rail */
.rsg-page .blgb-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 330px); gap: 40px; align-items: start; }
.rsg-page .blgb-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.rsg-page .blgb-rail { position: sticky; top: 24px; display: grid; gap: 20px; }
.rsg-page .blgb-widget { background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-md); overflow: hidden; }
.rsg-page .blgb-wtitle { font-family: var(--font-display); font-size: 14px; font-weight: 800; letter-spacing: 0.02em; color: var(--ink-900); padding: 16px 20px 14px; border-bottom: 1px solid var(--line-2); display: flex; align-items: center; gap: 9px; }
.rsg-page .blgb-wtitle svg { width: 15px; height: 15px; color: var(--green-500); flex-shrink: 0; }
.rsg-page .blgb-wbody { padding: 16px 20px 18px; }
.rsg-page .blgb-wbody .blg-search { max-width: none; box-shadow: none; }

/* topics with proportional bars */
.rsg-page .blgb-topic { display: grid; grid-template-columns: minmax(0, 1fr) 26px; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px dashed var(--line-2); }
.rsg-page .blgb-topic:last-child { border-bottom: 0; padding-bottom: 0; }
.rsg-page .blgb-topic a { font-size: 13.5px; font-weight: 600; color: var(--ink-700); transition: color .18s; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rsg-page .blgb-topic a:hover { color: var(--green-700); }
.rsg-page .blgb-topic .blgb-tb { grid-column: 1 / -1; height: 5px; border-radius: 999px; background: #EFF3F0; overflow: hidden; margin-top: 6px; }
.rsg-page .blgb-topic .blgb-tb i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--green-500), var(--green-700)); }
.rsg-page .blgb-topic b { font-family: var(--font-mono); font-size: 11px; font-weight: 700; color: var(--ink-500); text-align: right; }
.rsg-page .blgb-allink { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; font-family: var(--font-display); font-size: 12.5px; font-weight: 700; color: var(--green-600); }
.rsg-page .blgb-allink svg { width: 13px; height: 13px; flex-shrink: 0; }

/* recent posts -- FULL titles (the live widget truncates them mid-sentence) */
.rsg-page .blgb-rp { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 13px; align-items: start; padding: 13px 0; border-bottom: 1px dashed var(--line-2); }
.rsg-page .blgb-rp:first-child { padding-top: 0; }
.rsg-page .blgb-rp:last-child { border-bottom: 0; padding-bottom: 0; }
.rsg-page .blgb-rp .blg-img { width: 64px; height: 48px; border-radius: 9px; border: 1px solid var(--line); }
.rsg-page .blgb-rp .blgb-rpd { display: block; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.07em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); margin-bottom: 4px; }
.rsg-page .blgb-rp .blgb-rpt { display: block; font-family: var(--font-display); font-size: 13.5px; font-weight: 700; line-height: 1.34; color: var(--ink-900); transition: color .18s; }
.rsg-page .blgb-rp:hover .blgb-rpt { color: var(--green-700); }

/* Sarah rail card */
.rsg-page .blgb-scard { background: var(--dark-grad); border: 1px solid rgba(255,255,255,0.1); border-radius: 18px; padding: 24px 22px; text-align: left; box-shadow: var(--shadow-lg); }
.rsg-page .blgb-scard img { width: 54px; height: 54px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(110,231,183,0.5); margin-bottom: 14px; }
.rsg-page .blgb-scard h4 { font-family: var(--font-display); font-size: 16px; font-weight: 800; color: #fff; margin: 0 0 8px; line-height: 1.3; }
.rsg-page .blgb-scard p { font-size: 13.5px; line-height: 1.6; color: rgba(255,255,255,0.72); margin: 0 0 18px; }
.rsg-page .blgb-scard .btn { width: 100%; justify-content: center; }

/* ============================================================
   VARIATION C -- "INDEX LEDGER"
   A magazine contents page. One spotlight story on a mounted panel, then a
   dense numbered index: nine posts in the vertical space the live page
   spends on one and a half.
   ============================================================ */
.rsg-page .blgc-hero { background: var(--paper); padding: 76px 0 44px; }
.rsg-page .blgc-htop { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); gap: 48px; align-items: end; }
.rsg-page .blgc-hero h1 { margin: 0 0 18px; max-width: 17ch; }
.rsg-page .blgc-hlede { font-size: 17px; line-height: 1.66; color: var(--ink-2); margin: 0; max-width: 56ch; }
.rsg-page .blgc-hlede strong { color: var(--ink-900); }

/* coverage strip -- one stacked bar of the whole archive by topic */
.rsg-page .blgc-cov { margin-top: 44px; padding-top: 30px; border-top: 1px solid var(--line); }
.rsg-page .blgc-covhead { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 13px; }
.rsg-page .blgc-covhead .blgc-cl { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--green-700); }
.rsg-page .blgc-covhead .blgc-cr { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); }
.rsg-page .blgc-bar { display: flex; height: 16px; border-radius: 999px; overflow: hidden; border: 1px solid var(--line); background: #fff; }
.rsg-page .blgc-bar i { display: block; height: 100%; }
.rsg-page .blgc-key { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 14px; }
.rsg-page .blgc-ki { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; color: var(--ink-2); transition: color .18s; }
.rsg-page .blgc-ki:hover { color: var(--green-700); }
.rsg-page .blgc-ki em { font-style: normal; width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; }
.rsg-page .blgc-ki b { font-family: var(--font-mono); font-size: 11px; font-weight: 700; color: var(--ink-500); }

/* spotlight -- image with the panel mounted over its lower edge */
.rsg-page .blgc-spot { position: relative; }
.rsg-page .blgc-spot .blgc-simg { aspect-ratio: 21 / 9; border-radius: 22px; border: 1px solid var(--line); }
.rsg-page .blgc-panel { background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 26px 60px rgba(20,50,32,0.14); padding: 30px 34px 28px; max-width: 760px; margin: -78px auto 0; position: relative; z-index: 2; }
.rsg-page .blgc-panel h3 { font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 29px); font-weight: 700; line-height: 1.22; letter-spacing: -0.018em; color: var(--ink-900); margin: 0 0 12px; }
.rsg-page .blgc-panel p { font-size: 15px; line-height: 1.62; color: var(--ink-2); margin: 0 0 20px; }
.rsg-page .blgc-pfoot { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 18px; border-top: 1px solid var(--line-2); }

/* the index itself */
.rsg-page .blgc-ihead { display: flex; align-items: flex-end; justify-content: space-between; gap: 26px; flex-wrap: wrap; margin-bottom: 8px; }
.rsg-page .blgc-ihead .section-header { margin-bottom: 0; flex: 1 1 400px; min-width: 0; }
.rsg-page .blgc-group { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); padding: 26px 0 10px; border-bottom: 2px solid var(--ink-900); margin-bottom: 0; }
.rsg-page .blgc-idx { border-top: 0; }
.rsg-page .blgc-item { display: grid; grid-template-columns: 40px 74px minmax(0, 1fr) minmax(0, 190px) 74px 26px; align-items: center; gap: 18px; padding: 15px 10px 15px 0; border-bottom: 1px solid var(--line-2); position: relative; transition: background .18s; }
.rsg-page .blgc-item::before { content: ""; position: absolute; left: -10px; top: 0; bottom: 0; width: 3px; border-radius: 999px; background: var(--green-500); transform: scaleY(0); transition: transform .2s; }
.rsg-page .blgc-item:hover { background: #F8FBF9; }
.rsg-page .blgc-item:hover::before { transform: scaleY(1); }
.rsg-page .blgc-no { font-family: var(--font-mono); font-size: 12px; font-weight: 700; color: var(--ink-500); }
.rsg-page .blgc-thumb { width: 74px; height: 52px; border-radius: 8px; border: 1px solid var(--line); }
.rsg-page .blgc-ititle { display: block; font-family: var(--font-display); font-size: 16.5px; font-weight: 700; line-height: 1.32; letter-spacing: -0.012em; color: var(--ink-900); transition: color .18s; }
.rsg-page .blgc-item:hover .blgc-ititle { color: var(--green-700); }
.rsg-page .blgc-itopic { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.07em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rsg-page .blgc-idate { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.05em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); text-align: right; }
.rsg-page .blgc-iarrow { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 8px; border: 1px solid var(--line); color: var(--green-600); transition: background .18s, color .18s, border-color .18s, transform .18s; }
.rsg-page .blgc-iarrow svg { width: 13px; height: 13px; }
.rsg-page .blgc-item:hover .blgc-iarrow { background: var(--green-500); border-color: var(--green-500); color: #fff; transform: translateX(3px); }
.rsg-page .blgc-irt { display: inline-flex; align-items: center; gap: 5px; font-family: var(--font-mono); font-size: 10.5px; font-weight: 700; color: var(--green-700); }
.rsg-page .blgc-irt svg { width: 12px; height: 12px; flex-shrink: 0; }

/* ============================================================
   RESPONSIVE -- house baseline 1024 / 768 / 480
   ============================================================ */
@media (max-width: 1024px) {
  .rsg-page .blga-hgrid,
  .rsg-page .blgb-hgrid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .rsg-page .blga-fgrid { grid-template-columns: minmax(0, 1fr); }
  .rsg-page .blga-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rsg-page .blgb-main { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .rsg-page .blgb-rail { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rsg-page .blgc-htop { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .rsg-page .blgc-item { grid-template-columns: 34px 66px minmax(0, 1fr) 74px 26px; gap: 14px; }
  .rsg-page .blgc-itopic { display: none; }
}
@media (max-width: 768px) {
  .rsg-page .blga-hero { padding: 58px 0 54px; }
  .rsg-page .blga-grid { grid-template-columns: minmax(0, 1fr); }
  .rsg-page .blga-filter { gap: 4px 18px; }
  .rsg-page .blgb-hero { padding: 54px 0 48px; }
  .rsg-page .blgb-lead { grid-template-columns: minmax(0, 1fr); }
  .rsg-page .blgb-lead .blgb-shot { min-height: 0; aspect-ratio: 16 / 9; }
  .rsg-page .blgb-lbody { padding: 26px 24px; }
  .rsg-page .blgb-grid { grid-template-columns: minmax(0, 1fr); }
  .rsg-page .blgb-rail { grid-template-columns: minmax(0, 1fr); }
  .rsg-page .blg-row { grid-template-columns: minmax(0, 1fr); }
  .rsg-page .blg-row .blg-shot { height: auto; aspect-ratio: 16 / 10; border-right: 0; border-bottom: 1px solid var(--line); }
  .rsg-page .blgc-hero { padding: 54px 0 34px; }
  .rsg-page .blgc-spot .blgc-simg { aspect-ratio: 16 / 9; }
  .rsg-page .blgc-panel { margin: -46px 16px 0; padding: 24px 22px 22px; }
  /* Hiding the number leaves FOUR visible children in a three-track grid, so
     the arrow wrapped onto a second row under the thumbnail. Each cell is
     placed explicitly instead: thumb | title over read-time | arrow. */
  .rsg-page .blgc-item { grid-template-columns: 58px minmax(0, 1fr) 26px; grid-template-rows: auto auto; gap: 5px 13px; padding: 14px 8px 14px 0; align-items: center; }
  .rsg-page .blgc-no { display: none; }
  .rsg-page .blgc-thumb { width: 58px; height: 42px; grid-column: 1; grid-row: 1 / span 2; align-self: start; }
  .rsg-page .blgc-ttl { grid-column: 2; grid-row: 1; }
  .rsg-page .blgc-irt { grid-column: 2; grid-row: 2; justify-self: start; }
  .rsg-page .blgc-iarrow { grid-column: 3; grid-row: 1 / span 2; }
  .rsg-page .blgc-idate { display: none; }
  .rsg-page .blg-sgrid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .rsg-page .blg-sphoto { max-width: 190px; }
  .rsg-page .blga-hstats { gap: 10px 22px; }
}
@media (max-width: 480px) {
  .rsg-page .blga-hero { padding: 46px 0 44px; }
  .rsg-page .blg-body { padding: 20px 18px 18px; }
  .rsg-page .blga-lead .blg-body { padding: 22px 18px 20px; }
  .rsg-page .blga-lead h3 { font-size: 21px; }
  .rsg-page .blg-card h3 { font-size: 18px; }
  /* at 375 a 3-column row truncated every topic name to "Digital Marketing...".
     The name takes the full width and the bar drops to its own row instead. */
  .rsg-page .blga-trow { grid-template-columns: minmax(0, 1fr) 30px; gap: 5px 10px; padding: 9px 0; }
  .rsg-page .blga-ttrack { grid-column: 1 / -1; height: 6px; }
  .rsg-page .blg-search button span { display: none; }
  .rsg-page .blg-search button { padding: 0 16px; }
  .rsg-page .blg-pag a, .rsg-page .blg-pag span { min-width: 38px; height: 38px; padding: 0 10px; font-size: 13px; }
  .rsg-page .blgc-panel { margin: -34px 12px 0; padding: 22px 18px 20px; }
  .rsg-page .blgc-ititle { font-size: 15px; }
  .rsg-page .blgc-key { gap: 7px 16px; }
  .rsg-page .blgb-lbody { padding: 22px 18px; }
  .rsg-page .blgb-wbody { padding: 14px 16px 16px; }
}

/* reveal failsafe -- a blank page is never acceptable if the observer
   never fires (see feedback_reveal-needs-css-failsafe) */
@keyframes blgRevealFailsafe { to { opacity: 1; transform: none; } }
.rsg-page .reveal { animation: blgRevealFailsafe 0s linear 5s forwards; }
.rsg-page .reveal.visible { animation: none; }

/* WordPress theme defensive CSS -- the active theme sets its own list and
   figure rules that would otherwise leak into these components */
.rsg-page ul, .rsg-page ol { list-style: none; }
.rsg-page figure { margin: 0; }
.rsg-page svg { max-width: 100%; }
.rsg-page { overflow-x: hidden; }


/* ============================================================
   BLOG ARCHIVE -- ROUND 2 COMPONENTS (August 2026)
   Loads ON TOP of the shared master library AND the round-1 blg- primitives,
   so cards, chips, bylines and pagination stay byte-identical across rounds.
   Namespaces (verified 0 hits in master-css.txt, archive-supp.css, post-supp.css):
     dir-  Variation D "The Directory"
     sea-  Variation E "The Season Dial"
     qwl-  Variation F "The Question Wall"
     fdk-  Variation G "Field Desk"
   Every grid track is minmax(0,1fr) or a fixed px so a long title cannot
   blow a column.
   ============================================================ */

/* ---- shared round-2 primitives ---- */
/* hairline stat spine: the dividers ARE grid tracks, so they never mis-align */
.rsg-page .v2-spine { display: grid; grid-template-columns: minmax(0,1fr) 1px minmax(0,1fr) 1px minmax(0,1fr) 1px minmax(0,1fr); align-items: center; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-md); overflow: hidden; }
.rsg-page .v2-spine i { background: var(--line); align-self: stretch; display: block; }
.rsg-page .v2-sp { padding: 18px 20px; min-width: 0; }
.rsg-page .v2-sp b { display: block; font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 29px); font-weight: 800; letter-spacing: -0.025em; line-height: 1; color: var(--ink-900); font-variant-numeric: tabular-nums; }
.rsg-page .v2-sp span { display: block; margin-top: 6px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); }
.rsg-page .v2-spine.on-dark { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.14); box-shadow: none; }
.rsg-page .v2-spine.on-dark i { background: rgba(255,255,255,0.14); }
.rsg-page .v2-spine.on-dark .v2-sp b { color: #fff; }
.rsg-page .v2-spine.on-dark .v2-sp span { color: rgba(255,255,255,0.5); }

/* instrument panel chrome, reused by three of the four variations */
.rsg-page .v2-panel { background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow-lg); overflow: hidden; }
.rsg-page .v2-pbar { display: flex; align-items: center; gap: 11px; padding: 13px 18px; background: linear-gradient(180deg, #FBFCFB, #F3F7F4); border-bottom: 1px solid var(--line); }
.rsg-page .v2-pbar b { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: var(--ink-700); }
.rsg-page .v2-pbar em { font-style: normal; margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: var(--green-700); }
.rsg-page .v2-pbar em::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 .v2-pbody { padding: 20px; }
.rsg-page .v2-pfoot { padding: 12px 18px; border-top: 1px solid var(--line); background: var(--paper-soft); font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }

/* light closing plate -- deliberately breaks the round-1 habit of ending on
   two consecutive dark bands */
.rsg-page .v2-plate { background: linear-gradient(135deg, #F4FAF6 0%, #FFFFFF 60%); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 68px 0; }
.rsg-page .v2-pgrid { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 48px; align-items: center; }
.rsg-page .v2-pstage { position: relative; border-radius: 20px; overflow: hidden; background: radial-gradient(circle at 50% 30%, #E8F1EB 0%, #F7FAF8 70%); border: 1px solid var(--line); }
.rsg-page .v2-pstage::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(44,122,75,0.16) 1px, transparent 1px); background-size: 14px 14px; }
.rsg-page .v2-pstage img { position: relative; z-index: 1; width: 100%; display: block; }
.rsg-page .v2-plate h2 { margin: 0 0 14px; font-size: clamp(24px, 2.7vw, 33px); }
.rsg-page .v2-plate h2 em { font-style: normal; color: var(--green-600); }
.rsg-page .v2-plate p { font-size: 16.5px; line-height: 1.68; color: var(--ink-2); margin: 0 0 14px; max-width: 60ch; }
.rsg-page .v2-plate p strong { color: var(--ink-900); }
.rsg-page .v2-pkick { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--green-700); margin: 0 0 12px; }
.rsg-page .v2-pctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }

/* ============================================================
   VARIATION D -- "THE DIRECTORY"
   The whole archive on one page. 21 native <details> disclosures, one per
   real category, each opening to every article in it. Zero JavaScript, so it
   ships through Elementor without a Wordfence 403 - and it is the structural
   fix for the live defect that 35 of 85 articles are unreachable because the
   pagination caps at page 5 of 9.
   ============================================================ */
.rsg-page .dir-hero { background: var(--paper); padding: 76px 0 58px; }
.rsg-page .dir-hgrid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr); gap: 52px; align-items: center; }
.rsg-page .dir-hero h1 { margin: 0 0 18px; max-width: 16ch; text-wrap: balance; }
.rsg-page .dir-lede { font-size: 17px; line-height: 1.66; color: var(--ink-2); margin: 0 0 26px; max-width: 56ch; }
.rsg-page .dir-lede strong { color: var(--ink-900); }
.rsg-page .dir-spine { margin-top: 44px; }

/* read-length histogram -- the one dataset none of the round-1 instruments drew */
.rsg-page .dir-hist { display: grid; gap: 11px; }
.rsg-page .dir-hrow { display: grid; grid-template-columns: 72px minmax(0, 1fr) 30px; align-items: center; gap: 13px; }
.rsg-page .dir-hlab { font-family: var(--font-mono); font-size: 11px; font-weight: 700; color: var(--ink-700); white-space: nowrap; }
.rsg-page .dir-htrack { height: 22px; border-radius: 6px; background: #F2F5F3; border: 1px solid var(--line-2); overflow: hidden; position: relative; }
/* display:block is REQUIRED - a bare <span> is inline, and width/height do not
   apply to inline boxes, so the fill silently renders as nothing */
.rsg-page .dir-hfill { display: block; height: 100%; border-radius: 5px 0 0 5px; background: linear-gradient(90deg, var(--green-500), var(--green-700)); }
.rsg-page .dir-hn { font-family: var(--font-mono); font-size: 11.5px; font-weight: 700; color: var(--ink-900); text-align: right; font-variant-numeric: tabular-nums; }
/* the median sits in the footer rather than as a floating tick, which never
   lined up against variable-width bars */
.rsg-page .dir-hnote { display: flex; align-items: center; gap: 9px; margin-top: 14px; padding-top: 13px; border-top: 1px dashed var(--line-2); font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); }
.rsg-page .dir-hnote b { color: var(--green-700); }

/* the directory itself */
.rsg-page .dir-wrap { border-top: 2px solid var(--ink-900); }
.rsg-page .dir-row { border-bottom: 1px solid var(--line); }
.rsg-page .dir-row > summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 42px minmax(0, 1fr) minmax(0, 190px) 46px 26px; align-items: center; gap: 18px; padding: 17px 10px 17px 0; transition: background .18s; }
.rsg-page .dir-row > summary::-webkit-details-marker { display: none; }
.rsg-page .dir-row > summary:hover { background: #F8FBF9; }
.rsg-page .dir-no { font-family: var(--font-mono); font-size: 12px; font-weight: 700; color: var(--ink-500); font-variant-numeric: tabular-nums; }
.rsg-page .dir-name { font-family: var(--font-display); font-size: 17px; font-weight: 700; letter-spacing: -0.012em; color: var(--ink-900); }
.rsg-page .dir-row[open] > summary .dir-name { color: var(--green-700); }
.rsg-page .dir-bar { height: 8px; border-radius: 999px; background: #EFF3F0; overflow: hidden; }
.rsg-page .dir-bar i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--green-500), var(--green-700)); }
.rsg-page .dir-count { font-family: var(--font-mono); font-size: 12px; font-weight: 700; color: var(--ink-900); text-align: right; font-variant-numeric: tabular-nums; }
.rsg-page .dir-chev { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 8px; border: 1px solid var(--line); color: var(--green-600); transition: background .18s, color .18s, border-color .18s, transform .2s; }
.rsg-page .dir-row[open] > summary .dir-chev { background: var(--green-500); border-color: var(--green-500); color: #fff; transform: rotate(90deg); }
.rsg-page .dir-body { padding: 4px 0 22px 60px; }
.rsg-page .dir-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 32px; }
.rsg-page .dir-item { display: grid; grid-template-columns: 88px minmax(0, 1fr) 56px; align-items: baseline; gap: 14px; padding: 9px 8px 9px 0; border-bottom: 1px dashed var(--line-2); transition: background .16s; }
.rsg-page .dir-item:hover { background: #F8FBF9; }
.rsg-page .dir-idate { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.05em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); }
.rsg-page .dir-ititle { font-size: 14.5px; line-height: 1.45; font-weight: 600; color: var(--ink-900); transition: color .16s; }
.rsg-page .dir-item:hover .dir-ititle { color: var(--green-700); }
.rsg-page .dir-imin { font-family: var(--font-mono); font-size: 10px; font-weight: 700; color: var(--green-700); text-align: right; white-space: nowrap; }
.rsg-page .dir-dormant .dir-name { color: var(--ink-500); }
.rsg-page .dir-flag { display: inline-block; margin-left: 9px; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); background: var(--paper-soft); border: 1px solid var(--line); border-radius: 5px; padding: 3px 7px; vertical-align: 2px; }

/* dark topic-to-service bridge */
.rsg-page .dir-bridge { background: var(--dark-grad); color: #fff; padding: 72px 0; }
.rsg-page .dir-bridge h2 { color: #fff; }
.rsg-page .dir-bridge .eyebrow { color: var(--green-500); }
.rsg-page .dir-brows { display: grid; gap: 12px; margin-top: 34px; }
.rsg-page .dir-brow { display: grid; grid-template-columns: minmax(0, 250px) minmax(0, 1fr) 42px minmax(0, 260px) 26px; align-items: center; gap: 20px; padding: 17px 20px; border: 1px solid rgba(255,255,255,0.12); border-radius: 14px; background: rgba(255,255,255,0.04); transition: background .2s, border-color .2s, transform .2s; }
.rsg-page .dir-brow:hover { background: rgba(255,255,255,0.08); border-color: rgba(110,231,183,0.4); transform: translateX(3px); }
.rsg-page .dir-btopic { font-family: var(--font-display); font-size: 15.5px; font-weight: 700; color: #fff; }
.rsg-page .dir-btrack { height: 7px; border-radius: 999px; background: rgba(255,255,255,0.12); overflow: hidden; }
.rsg-page .dir-btrack i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--green-500), #6EE7B7); }
.rsg-page .dir-bn { font-family: var(--font-mono); font-size: 12px; font-weight: 700; color: #9FE8BE; text-align: right; font-variant-numeric: tabular-nums; }
.rsg-page .dir-bdest { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase; font-weight: 700; color: rgba(255,255,255,0.7); }
.rsg-page .dir-barrow { color: #6EE7B7; display: inline-flex; justify-content: flex-end; }

/* ============================================================
   VARIATION E -- "THE SEASON DIAL"
   Organised by the HVAC operating calendar rather than by date. Nine of the
   eighty-five articles are written for a specific moment in the year; the
   masthead is a dial that lights the quadrant the reader is actually in.
   ============================================================ */
.rsg-page .sea-hero { background: linear-gradient(180deg, #F7FAF8 0%, #FFFFFF 78%); padding: 72px 0 60px; border-bottom: 1px solid var(--line-2); }
.rsg-page .sea-hgrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 430px); gap: 54px; align-items: center; }
.rsg-page .sea-hero h1 { margin: 0 0 18px; max-width: 15ch; text-wrap: balance; }
.rsg-page .sea-lede { font-size: 17px; line-height: 1.66; color: var(--ink-2); margin: 0 0 24px; max-width: 54ch; }
.rsg-page .sea-lede strong { color: var(--ink-900); }
.rsg-page .sea-note { display: inline-flex; align-items: flex-start; gap: 11px; padding: 14px 16px; border: 1px solid rgba(44,122,75,0.24); border-left: 3px solid var(--green-500); border-radius: 12px; background: linear-gradient(135deg, #F4FAF6 0%, #FFFFFF 62%); font-size: 14px; line-height: 1.58; color: var(--ink-2); max-width: 52ch; }
.rsg-page .sea-note svg { color: var(--green-600); flex-shrink: 0; margin-top: 2px; }
.rsg-page .sea-note strong { color: var(--ink-900); }

/* the dial */
.rsg-page .sea-dial { position: relative; width: 100%; max-width: 460px; margin: 0 auto; }
.rsg-page .sea-dial svg { display: block; width: 100%; height: auto; }
.rsg-page .sea-mid { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); text-align: center; width: 38%; }
.rsg-page .sea-mid b { display: block; font-family: var(--font-display); font-size: clamp(28px, 3.4vw, 40px); font-weight: 800; line-height: 1; letter-spacing: -0.03em; color: var(--ink-900); font-variant-numeric: tabular-nums; }
.rsg-page .sea-mid span { display: block; margin-top: 7px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); line-height: 1.45; }
.rsg-page .sea-key { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; margin-top: 20px; }
.rsg-page .sea-ki { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); }
.rsg-page .sea-ki em { font-style: normal; width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; }
.rsg-page .sea-ki.now { color: var(--green-700); }

/* season bands */
.rsg-page .sea-band { padding: 46px 0; border-bottom: 1px solid var(--line-2); }
.rsg-page .sea-band.alt { background: var(--paper-soft); }
.rsg-page .sea-band.now { background: linear-gradient(135deg, #F2F9F5 0%, #FFFFFF 70%); }
.rsg-page .sea-brow { display: grid; grid-template-columns: minmax(0, 216px) minmax(0, 1fr); gap: 40px; align-items: start; }
.rsg-page .sea-id { position: sticky; top: 24px; }
.rsg-page .sea-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 6px 16px rgba(44,122,75,0.26); }
.rsg-page .sea-id h3 { font-family: var(--font-display); font-size: 24px; font-weight: 800; letter-spacing: -0.02em; color: var(--ink-900); margin: 0 0 7px; }
.rsg-page .sea-months { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); margin: 0 0 12px; }
.rsg-page .sea-when { font-size: 14px; line-height: 1.58; color: var(--ink-2); margin: 0; }
.rsg-page .sea-nowtag { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 12px; background: #000; color: #fff; border-radius: 999px; padding: 6px 13px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; }
.rsg-page .sea-nowtag::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 0 4px rgba(44,122,75,0.3); }
.rsg-page .sea-arts { display: grid; gap: 14px; }
.rsg-page .sea-art { display: grid; grid-template-columns: 116px minmax(0, 1fr) 80px 26px; align-items: center; gap: 20px; padding: 14px 16px 14px 14px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow-md); transition: transform .2s, border-color .2s, box-shadow .2s; }
.rsg-page .sea-art:hover { transform: translateY(-2px); border-color: rgba(44,122,75,0.34); box-shadow: 0 16px 34px rgba(20,50,32,0.10); }
.rsg-page .sea-shot { height: 74px; border-radius: 10px; border: 1px solid var(--line); }
.rsg-page .sea-at { font-family: var(--font-display); font-size: 16px; font-weight: 700; line-height: 1.32; letter-spacing: -0.012em; color: var(--ink-900); display: block; }
.rsg-page .sea-art:hover .sea-at { color: var(--green-700); }
.rsg-page .sea-ad { display: block; margin-top: 5px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); }
.rsg-page .sea-am { font-family: var(--font-mono); font-size: 11px; font-weight: 700; color: var(--green-700); text-align: right; display: inline-flex; align-items: center; gap: 5px; justify-content: flex-end; }

/* dark mid-page instrument divider */
.rsg-page .sea-mark { background: var(--dark-grad); color: #fff; padding: 54px 0; position: relative; overflow: hidden; border-top: 1px dashed rgba(110,231,183,0.4); border-bottom: 1px dashed rgba(110,231,183,0.4); }
.rsg-page .sea-mark::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px); background-size: 48px 48px; pointer-events: none; }
.rsg-page .sea-mark .container { position: relative; z-index: 1; }

/* ============================================================
   VARIATION F -- "THE QUESTION WALL"
   Readers arrive with a question. Thirteen of the eighty-five articles are
   literally titled as one, so the questions themselves are set at heading
   scale and become the graphic.
   ============================================================ */
.rsg-page .qwl-hero { background: var(--dark-grad); padding: 80px 0 70px; position: relative; overflow: hidden; }
.rsg-page .qwl-hero::after { content: ""; position: absolute; left: -160px; bottom: -180px; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(44,122,75,0.22) 0%, rgba(44,122,75,0) 70%); pointer-events: none; }
.rsg-page .qwl-hero .container { position: relative; z-index: 1; }
.rsg-page .qwl-hero h1 { color: #fff; margin: 0 0 20px; max-width: 17ch; text-wrap: balance; }
.rsg-page .qwl-hero h1 em { font-style: normal; color: #6EE7B7; }
.rsg-page .qwl-lede { font-size: 17px; line-height: 1.66; color: rgba(255,255,255,0.76); margin: 0 0 30px; max-width: 58ch; }
.rsg-page .qwl-lede strong { color: #fff; font-weight: 700; }
/* segmented recency control */
.rsg-page .qwl-seg { display: inline-flex; flex-wrap: wrap; padding: 5px; border-radius: 14px; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.16); gap: 4px; }
.rsg-page .qwl-sg { display: inline-flex; align-items: baseline; gap: 8px; padding: 10px 17px; border-radius: 10px; font-family: var(--font-display); font-size: 13.5px; font-weight: 700; color: rgba(255,255,255,0.72); transition: background .18s, color .18s; white-space: nowrap; }
.rsg-page .qwl-sg b { font-family: var(--font-mono); font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.45); font-variant-numeric: tabular-nums; }
.rsg-page .qwl-sg:hover { color: #fff; background: rgba(255,255,255,0.06); }
.rsg-page .qwl-sg.on { background: var(--green-500); color: #fff; box-shadow: 0 8px 20px rgba(44,122,75,0.34); }
.rsg-page .qwl-sg.on b { color: rgba(255,255,255,0.85); }

/* the wall */
.rsg-page .qwl-wall { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 56px; }
.rsg-page .qwl-q { display: block; padding: 22px 0; border-bottom: 1px solid var(--line); position: relative; transition: padding-left .22s; }
.rsg-page .qwl-q::before { content: ""; position: absolute; left: -14px; top: 26px; width: 3px; height: 0; border-radius: 999px; background: var(--green-500); transition: height .22s; }
.rsg-page .qwl-q:hover { padding-left: 10px; }
.rsg-page .qwl-q:hover::before { height: calc(100% - 46px); }
.rsg-page .qwl-qt { font-family: var(--font-display); font-size: clamp(19px, 2vw, 23px); font-weight: 700; line-height: 1.28; letter-spacing: -0.018em; color: var(--ink-900); transition: color .2s; }
.rsg-page .qwl-q:hover .qwl-qt { color: var(--green-700); }
.rsg-page .qwl-qm { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin-top: 11px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); }
.rsg-page .qwl-qm .qwl-ans { display: inline-flex; align-items: center; gap: 6px; color: var(--green-700); }
.rsg-page .qwl-qm i { width: 3px; height: 3px; border-radius: 50%; background: var(--line); display: inline-block; }

/* six-year spine with honest gaps */
.rsg-page .qwl-spine { margin-top: 12px; }
.rsg-page .qwl-track { position: relative; height: 92px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(180deg, #FBFCFB, #F5F8F6); overflow: hidden; }
.rsg-page .qwl-tick { position: absolute; bottom: 26px; width: 2px; border-radius: 2px; background: var(--green-500); opacity: 0.85; }
.rsg-page .qwl-tick.old { background: #BFCBC3; }
.rsg-page .qwl-yr { position: absolute; bottom: 7px; transform: translateX(-50%); font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.06em; font-weight: 700; color: var(--ink-500); }
.rsg-page .qwl-base { position: absolute; left: 0; right: 0; bottom: 24px; height: 1px; background: var(--line); }
.rsg-page .qwl-gap { position: absolute; bottom: 26px; height: 12px; border-top: 1px dashed rgba(107,107,107,0.5); }
.rsg-page .qwl-gap span { position: absolute; left: 50%; top: -17px; transform: translateX(-50%); font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.05em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); white-space: nowrap; background: #FAFCFB; padding: 0 5px; }
.rsg-page .qwl-slegend { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 14px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); }
.rsg-page .qwl-slegend span { display: inline-flex; align-items: center; gap: 8px; }
.rsg-page .qwl-slegend em { font-style: normal; width: 12px; height: 3px; border-radius: 2px; background: var(--green-500); }
.rsg-page .qwl-slegend em.old { background: #BFCBC3; }

/* ============================================================
   VARIATION G -- "FIELD DESK"
   The only masthead in either round that leads with a photograph. Sarah is
   the first thing on the page rather than a band near the bottom.
   ============================================================ */
.rsg-page .fdk-hero { background: linear-gradient(135deg, #0A0A0A 0%, #16211B 55%, #0A0A0A 100%); position: relative; overflow: hidden; padding: 0; }
.rsg-page .fdk-hero::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px); background-size: 22px 22px; pointer-events: none; }
.rsg-page .fdk-hgrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 430px); gap: 48px; align-items: end; position: relative; z-index: 1; }
.rsg-page .fdk-copy { padding: 84px 0 88px; }
.rsg-page .fdk-hero h1 { color: #fff; margin: 0 0 20px; max-width: 15ch; text-wrap: balance; }
.rsg-page .fdk-hero h1 em { font-style: normal; color: #6EE7B7; }
.rsg-page .fdk-lede { font-size: 17px; line-height: 1.66; color: rgba(255,255,255,0.76); margin: 0 0 26px; max-width: 54ch; }
.rsg-page .fdk-lede strong { color: #fff; }
.rsg-page .fdk-sig { display: flex; align-items: center; gap: 13px; margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,0.14); }
.rsg-page .fdk-sig b { display: block; font-family: var(--font-display); font-size: 14.5px; font-weight: 800; color: #fff; }
.rsg-page .fdk-sig span { display: block; margin-top: 3px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; color: #6EE7B7; }
/* The portrait carries a BAKED-IN white studio background - it is not a
   transparent cut-out - so treating it as one puts a bare white rectangle on
   the dark ground. Instead it is mounted as a deliberate standing plate:
   rounded top corners, a lit edge, and a green stage glow spilling out behind
   it so the plate reads as placed rather than pasted. */
.rsg-page .fdk-stage { position: relative; align-self: end; }
.rsg-page .fdk-stage::before { content: ""; position: absolute; left: 50%; bottom: -10px; transform: translateX(-50%); width: 150%; height: 78%; border-radius: 999px 999px 0 0; background: radial-gradient(ellipse at 50% 100%, rgba(44,122,75,0.62) 0%, rgba(44,122,75,0.2) 44%, rgba(44,122,75,0) 74%); pointer-events: none; }
.rsg-page .fdk-plate { position: relative; z-index: 1; max-width: 430px; margin: 0 auto; border-radius: 24px 24px 0 0; overflow: hidden; background: #fff; border: 1px solid rgba(255,255,255,0.22); border-bottom: 0; box-shadow: 0 -14px 54px rgba(44,122,75,0.34), 0 -2px 0 rgba(110,231,183,0.35); }
.rsg-page .fdk-plate::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--green-500), #6EE7B7, var(--green-500)); }
.rsg-page .fdk-plate img { display: block; width: 100%; }
.rsg-page .fdk-badge { position: absolute; z-index: 2; left: -14px; bottom: 54px; display: inline-flex; align-items: center; gap: 10px; background: #fff; border-radius: 14px; padding: 11px 15px; box-shadow: 0 14px 34px rgba(0,0,0,0.45); }
.rsg-page .fdk-badge b { font-family: var(--font-display); font-size: 21px; font-weight: 800; line-height: 1; color: var(--ink-900); font-variant-numeric: tabular-nums; }
.rsg-page .fdk-badge span { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); line-height: 1.35; display: block; }

/* directory card -- a different card anatomy from the round-1 .blg-card */
.rsg-page .fdk-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.rsg-page .fdk-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 4px 18px 18px 18px; overflow: hidden; box-shadow: var(--shadow-md); transition: transform .22s, box-shadow .22s, border-color .22s; }
.rsg-page .fdk-card:hover { transform: translateY(-4px); border-color: rgba(44,122,75,0.34); box-shadow: 0 22px 48px rgba(20,50,32,0.12); }
.rsg-page .fdk-shot { position: relative; height: 188px; flex-shrink: 0; }
.rsg-page .fdk-shot .blg-img { position: absolute; inset: 0; }
/* a bottom-up scrim: it seats the mono kicker AND pulls the red accent baked
   into the supplied feature banners down toward the brand ground */
.rsg-page .fdk-scrim { position: absolute; left: 0; right: 0; bottom: 0; height: 62%; background: linear-gradient(180deg, rgba(10,10,10,0) 0%, rgba(10,10,10,0.28) 42%, rgba(11,32,20,0.86) 100%); }
.rsg-page .fdk-kick { position: absolute; left: 15px; right: 15px; bottom: 12px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.11em; text-transform: uppercase; font-weight: 700; color: #9FE8BE; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rsg-page .fdk-stamp { position: absolute; left: 0; top: 0; background: #fff; border-radius: 0 0 12px 0; padding: 8px 13px 8px 15px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; font-weight: 700; color: var(--ink-900); box-shadow: 4px 4px 12px rgba(0,0,0,0.18); font-variant-numeric: tabular-nums; }
.rsg-page .fdk-body { padding: 20px 22px 18px; display: flex; flex-direction: column; flex: 1 1 auto; }
.rsg-page .fdk-card h3 { font-family: var(--font-display); font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -0.015em; color: var(--ink-900); margin: 0 0 9px; }
.rsg-page .fdk-card:hover h3 { color: var(--green-700); }
.rsg-page .fdk-dek { font-size: 13.5px; line-height: 1.58; color: var(--ink-2); margin: 0 0 16px; }
.rsg-page .fdk-foot { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line-2); display: flex; align-items: center; justify-content: space-between; gap: 12px; }

/* "watch it instead" dark video band */
.rsg-page .fdk-watch { background: var(--dark-grad); color: #fff; padding: 74px 0; }
.rsg-page .fdk-watch h2 { color: #fff; }
.rsg-page .fdk-watch .eyebrow { color: var(--green-500); }
.rsg-page .fdk-wgrid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 34px; align-items: center; margin-top: 34px; }
.rsg-page .fdk-vid { position: relative; display: block; border-radius: 18px; overflow: hidden; border: 1px solid rgba(255,255,255,0.14); box-shadow: 0 24px 60px rgba(0,0,0,0.5); background: #000; }
.rsg-page .fdk-vid img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; opacity: 0.94; transition: opacity .2s, transform .3s; }
.rsg-page .fdk-vid:hover img { opacity: 1; transform: scale(1.015); }
.rsg-page .fdk-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 78px; height: 78px; border-radius: 50%; background: rgba(44,122,75,0.94); display: flex; align-items: center; justify-content: center; box-shadow: 0 14px 38px rgba(0,0,0,0.5); transition: transform .2s, background .2s; }
.rsg-page .fdk-vid:hover .fdk-play { transform: translate(-50%, -50%) scale(1.07); background: var(--green-500); }
.rsg-page .fdk-play svg { margin-left: 4px; color: #fff; }
.rsg-page .fdk-vcap { position: absolute; left: 0; right: 0; bottom: 0; padding: 38px 20px 16px; background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 100%); }
.rsg-page .fdk-vcap b { display: block; font-family: var(--font-display); font-size: 15.5px; font-weight: 700; line-height: 1.34; color: #fff; }
.rsg-page .fdk-vcap span { display: block; margin-bottom: 6px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: #9FE8BE; }
.rsg-page .fdk-wside p { color: rgba(255,255,255,0.76); font-size: 15.5px; line-height: 1.66; margin: 0 0 18px; }
.rsg-page .fdk-wside p strong { color: #fff; }

/* ============================================================
   RESPONSIVE -- house baseline 1024 / 768 / 480
   ============================================================ */
@media (max-width: 1024px) {
  .rsg-page .dir-hgrid, .rsg-page .sea-hgrid, .rsg-page .fdk-hgrid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .rsg-page .dir-list { grid-template-columns: minmax(0, 1fr); }
  .rsg-page .dir-brow { grid-template-columns: minmax(0, 200px) minmax(0, 1fr) 42px 26px; }
  .rsg-page .dir-bdest { display: none; }
  .rsg-page .sea-brow { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .rsg-page .sea-id { position: static; }
  .rsg-page .qwl-wall { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .rsg-page .fdk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rsg-page .fdk-wgrid { grid-template-columns: minmax(0, 1fr); }
  .rsg-page .v2-pgrid { grid-template-columns: minmax(0, 230px) minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 768px) {
  .rsg-page .dir-hero { padding: 54px 0 44px; }
  .rsg-page .v2-spine { grid-template-columns: minmax(0,1fr) 1px minmax(0,1fr); }
  .rsg-page .v2-spine i:nth-of-type(2) { display: none; }
  .rsg-page .v2-sp { padding: 15px 16px; }
  /* the details rows drop the proportional bar; name and count carry it */
  .rsg-page .dir-row > summary { grid-template-columns: 32px minmax(0, 1fr) 40px 26px; gap: 12px; padding: 15px 6px 15px 0; }
  .rsg-page .dir-bar { display: none; }
  .rsg-page .dir-body { padding-left: 18px; }
  .rsg-page .dir-item { grid-template-columns: minmax(0, 1fr) 52px; gap: 10px; }
  .rsg-page .dir-idate { grid-column: 1 / -1; order: -1; }
  .rsg-page .dir-brow { grid-template-columns: minmax(0, 1fr) 42px 26px; gap: 12px; padding: 15px 16px; }
  .rsg-page .dir-btrack { grid-column: 1 / -1; order: 3; }
  .rsg-page .sea-hero { padding: 52px 0 46px; }
  .rsg-page .sea-art { grid-template-columns: 84px minmax(0, 1fr) 26px; gap: 14px; }
  .rsg-page .sea-am { grid-column: 2; justify-content: flex-start; margin-top: 4px; }
  .rsg-page .qwl-hero { padding: 56px 0 52px; }
  .rsg-page .fdk-copy { padding: 56px 0 0; }
  .rsg-page .fdk-hgrid { gap: 0; }
  .rsg-page .fdk-plate { max-width: 330px; }
  .rsg-page .fdk-badge { left: 0; bottom: 46px; }
  .rsg-page .fdk-grid { grid-template-columns: minmax(0, 1fr); }
  .rsg-page .v2-plate { padding: 52px 0; }
  .rsg-page .v2-pgrid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .rsg-page .v2-pstage { max-width: 240px; }
}
@media (max-width: 480px) {
  .rsg-page .v2-spine { grid-template-columns: minmax(0, 1fr); }
  .rsg-page .v2-spine i { height: 1px; align-self: auto; }
  .rsg-page .dir-hrow { grid-template-columns: 62px minmax(0, 1fr) 26px; gap: 9px; }
  .rsg-page .dir-name { font-size: 15.5px; }
  .rsg-page .dir-item { padding: 8px 4px 8px 0; }
  .rsg-page .dir-ititle { font-size: 13.5px; }
  .rsg-page .sea-dial { max-width: 300px; }
  .rsg-page .sea-art { grid-template-columns: 68px minmax(0, 1fr) 26px; gap: 11px; padding: 12px; }
  .rsg-page .sea-shot { height: 52px; }
  .rsg-page .sea-at { font-size: 14.5px; }
  .rsg-page .qwl-qt { font-size: 18px; }
  .rsg-page .qwl-seg { width: 100%; }
  .rsg-page .qwl-sg { flex: 1 1 auto; justify-content: center; padding: 10px 12px; font-size: 12.5px; }
  .rsg-page .qwl-track { height: 78px; }
  /* the gap label is ~100px wide and its bar starts at the very left edge, so
     centring it pushes the text off-canvas. The legend already states it. */
  .rsg-page .qwl-gap span { display: none; }
  .rsg-page .fdk-play { width: 58px; height: 58px; }
  .rsg-page .fdk-shot { height: 158px; }
}


/* =============================================================================
   V4 ARCHIVE -- the refinement pass on D "The Directory".
   Prefixes: blgh- (dark centred masthead) . blgm- (cover rack) .
             blgp- (pager caption) . msr- (measured band)

   What changed and why:
     - the masthead is DARK and CENTRED, and it carries the blog signals the
       old light two-column hero had none of: a byline with a face, a search
       field, topic pills, and real article covers
     - the cover rack deliberately crests the section boundary, so the dark
       masthead hands off to the article grid instead of stopping at a seam
     - the 21 accordion disclosures are gone, and so is the tile-per-category
       topic browser that briefly replaced them
     - the topic-to-service bridge band is gone
     - the four-stat masthead strip is gone
   Every element sized with width or height here is a grid item, a flex item,
   absolutely positioned, or carries an explicit display:block -- an inline
   box silently ignores both.
   ============================================================================= */

/* ---------------------------------------------------------------- S1 masthead */
/* The brand dark gradient is the base layer; a vertical fade sits on top of it
   so the LAST fifth of the masthead settles on a flat #0A0A0A. That flat edge
   is what lets the cover band underneath match it exactly -- the 135deg
   gradient alone reads a different value at the left and right bottom corners,
   so nothing can be butted against it. */
.rsg-page .blgh { position: relative; background: linear-gradient(180deg, rgba(10,10,10,0) 0%, rgba(10,10,10,0) 58%, #0A0A0A 90%), var(--dark-grad); color: #fff; padding: 88px 0 28px; }
.rsg-page .blgh-c { max-width: 812px; margin: 0 auto; text-align: center; }

.rsg-page .blgh-pill { display: inline-flex; align-items: center; gap: 9px; padding: 7px 15px 7px 12px; border-radius: 999px; border: 1px solid rgba(110,231,183,0.26); background: rgba(44,122,75,0.18); font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.13em; text-transform: uppercase; font-weight: 700; color: #9FE8BE; }
.rsg-page .blgh-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #6EE7B7; box-shadow: 0 0 0 4px rgba(110,231,183,0.18); }

.rsg-page .blgh h1 { color: #fff; margin: 22px 0 20px; font-family: var(--font-display); font-size: clamp(34px, 4.9vw, 60px); font-weight: 800; letter-spacing: -0.025em; line-height: 1.06; text-wrap: balance; }
.rsg-page .blgh h1 em { font-style: normal; color: #6EE7B7; }
.rsg-page .blgh-lede { font-size: 17.5px; line-height: 1.66; color: rgba(255,255,255,0.74); margin: 0 auto; max-width: 66ch; }
.rsg-page .blgh-lede strong { color: #fff; font-weight: 600; }

.rsg-page .blgh-by { display: inline-flex; align-items: center; gap: 11px; margin-top: 26px; padding: 7px 16px 7px 7px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.05); }
.rsg-page .blgh-by img { display: block; width: 34px; height: 34px; border-radius: 50%; object-fit: cover; border: 1px solid rgba(110,231,183,0.35); }
.rsg-page .blgh-byt { text-align: left; min-width: 0; }
.rsg-page .blgh-byt b { display: block; font-family: var(--font-display); font-size: 13px; font-weight: 700; color: #fff; line-height: 1.2; }
.rsg-page .blgh-byt span { display: block; margin-top: 2px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 700; color: rgba(255,255,255,0.5); }

.rsg-page .blgh-find { display: flex; justify-content: center; margin-top: 30px; }
.rsg-page .blgh-find .blg-search { max-width: 520px; }

.rsg-page .blgh-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 22px; }
.rsg-page .blgh-chip { display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.14); background: rgba(255,255,255,0.05); font-family: var(--font-display); font-size: 12.5px; font-weight: 600; color: rgba(255,255,255,0.86); transition: background .18s, border-color .18s, color .18s; }
.rsg-page .blgh-chip b { font-family: var(--font-mono); font-size: 10px; font-weight: 700; color: #9FE8BE; font-variant-numeric: tabular-nums; }
.rsg-page .blgh-chip:hover { background: rgba(44,122,75,0.26); border-color: rgba(110,231,183,0.42); color: #fff; }

/* ---- the cover rack. It sits in its OWN band whose background is a hard
   50/50 split from the masthead's flat dark to page white, with equal padding
   above and below the single row -- so the seam passes exactly through the
   middle of every cover and the rack reads as rising out of the masthead.
   This is done with a background split rather than a negative margin on
   purpose: a negative bottom margin on the last child COLLAPSES THROUGH its
   parent, so the section keeps its full height, its dark background paints
   over the overhang, and the covers end up flush with the seam instead of
   crossing it. That was the first attempt and it looked like nothing. */
.rsg-page .blgm-lab { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 58px 0 0; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; color: rgba(255,255,255,0.42); }
.rsg-page .blgm-lab i { display: block; width: 46px; height: 1px; background: rgba(255,255,255,0.18); }
.rsg-page .blgm-band { background: linear-gradient(180deg, #0A0A0A 0%, #0A0A0A 50%, var(--paper) 50%, var(--paper) 100%); padding: 28px 0; }
.rsg-page .blgm { display: flex; justify-content: center; align-items: flex-start; gap: 16px; }
/* The covers SHRINK to fit rather than carrying a fixed width. Seven fixed
   158px covers plus their gaps come to 1202px, which is wider than the 1152px
   container at every viewport -- the outer two then hang past the container
   and get cut by the page's overflow-x, which reads as a rendering fault at
   1200 and below. flex:1 1 0 with a max-width makes the row fit by
   construction, so no breakpoint arithmetic can be got wrong later. */
.rsg-page .blgm-i { display: block; flex: 1 1 0; min-width: 0; max-width: 158px; }
.rsg-page .blgm-cov { display: block; height: 106px; border-radius: 11px; background-color: #143E25; background-size: cover; background-position: center; border: 1px solid rgba(255,255,255,0.18); box-shadow: 0 16px 32px rgba(0,0,0,0.34); transition: transform .22s ease-out, box-shadow .22s ease-out; }
.rsg-page .blgm-i:nth-child(odd) .blgm-cov { transform: rotate(-2.1deg); }
.rsg-page .blgm-i:nth-child(even) .blgm-cov { transform: rotate(1.7deg) translateY(9px); }
.rsg-page .blgm-i:hover .blgm-cov { transform: translateY(-7px) rotate(0deg); box-shadow: 0 22px 44px rgba(0,0,0,0.42); }

/* ---------------------------------------------------------------- S2 pager */
/* .blg-pag already ships in the shared sheet and its child selectors are the
   same class names Elementor's own pagination emits (page-numbers, current,
   dots, prev, next), so the real widget output inherits this styling with no
   markup surgery. Only the caption line is new. */
.rsg-page .blgp-line { margin: 16px 0 0; text-align: center; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: var(--ink-500); }
.rsg-page .blgp-line b { color: var(--ink-900); }
.rsg-page .blg-pag .page-numbers.prev, .rsg-page .blg-pag .page-numbers.next { gap: 8px; padding: 0 18px; }
.rsg-page .blg-pag .page-numbers svg { width: 15px; height: 15px; flex-shrink: 0; }

/* The tpc- topic-browser rules that stood here are removed with their section.
   Topic navigation is the eight masthead pills only. */

/* ---------------------------------------------------------------- S4 measured */
/* A dark band never inherits its ink -- every text colour in here is set on
   the element itself, because a component's own colour rule beats a wrapper. */
.rsg-page .msr { background: var(--dark-grad); padding: 76px 0; }
.rsg-page .msr .section-header h2 { color: #fff; }
.rsg-page .msr .section-header .eyebrow { color: #6EE7B7; }
.rsg-page .msr .section-header .lede { color: rgba(255,255,255,0.72); }
.rsg-page .msr .section-header .lede strong { color: #fff; }
.rsg-page .msr-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; margin-top: 36px; }
.rsg-page .msr-card { border: 1px solid rgba(255,255,255,0.13); border-radius: 18px; background: rgba(255,255,255,0.045); padding: 20px 22px 18px; }
.rsg-page .msr-ch { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,0.1); }
.rsg-page .msr-ch b { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.11em; text-transform: uppercase; font-weight: 700; color: #fff; }
.rsg-page .msr-ch span { margin-left: auto; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: #9FE8BE; }

/* Row height and gap are tuned so this card's content stands the same height
   as the per-year chart beside it -- 5 rows at 28 plus 4 gaps at 14 equals the
   196 the column track uses. Measured, not eyeballed. */
.rsg-page .msr-hist { display: grid; gap: 14px; margin-top: 18px; }
.rsg-page .msr-hrow { display: grid; grid-template-columns: 74px minmax(0, 1fr) 28px; align-items: center; gap: 12px; }
.rsg-page .msr-hlab { font-family: var(--font-mono); font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.72); white-space: nowrap; }
.rsg-page .msr-htrack { display: block; height: 28px; border-radius: 7px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.1); overflow: hidden; }
.rsg-page .msr-hfill { display: block; height: 100%; border-radius: 5px 0 0 5px; background: linear-gradient(90deg, #6EE7B7, var(--green-600)); }
.rsg-page .msr-hn { font-family: var(--font-mono); font-size: 11.5px; font-weight: 700; color: #fff; text-align: right; font-variant-numeric: tabular-nums; }

/* Column heights are PERCENTAGES inside a positioned track, never inline
   pixels -- a shorter track at a breakpoint then rescales the whole chart
   instead of letting the tall columns climb out of it. */
.rsg-page .msr-cols { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 12px; height: 196px; margin-top: 20px; }
.rsg-page .msr-col { display: grid; grid-template-rows: 16px minmax(0, 1fr) 16px; gap: 7px; min-width: 0; }
.rsg-page .msr-cn { font-family: var(--font-mono); font-size: 11px; font-weight: 700; color: #9FE8BE; text-align: center; font-variant-numeric: tabular-nums; }
.rsg-page .msr-ctrack { position: relative; min-height: 0; }
.rsg-page .msr-cbar { position: absolute; left: 0; right: 0; bottom: 0; border-radius: 7px 7px 0 0; background: linear-gradient(180deg, #6EE7B7, var(--green-600)); }
.rsg-page .msr-cyr { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.05em; font-weight: 700; color: rgba(255,255,255,0.55); text-align: center; }
.rsg-page .msr-note { display: flex; align-items: flex-start; gap: 10px; margin: 24px 0 0; font-size: 14px; line-height: 1.6; color: rgba(255,255,255,0.66); }
.rsg-page .msr-note svg { width: 15px; height: 15px; flex-shrink: 0; margin-top: 3px; color: #6EE7B7; }
.rsg-page .msr-note b { color: #fff; font-weight: 600; }

/* ---------------------------------------------------------------- responsive */
/* Breakpoints match the layout breakpoints already in the shared sheet
   (1024 / 768 / 480), so a component never restacks on a width where the
   grid around it has not. */
@media (max-width: 1024px) {
  .rsg-page .blgh { padding-top: 68px; }
  .rsg-page .tpc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rsg-page .msr-grid { grid-template-columns: minmax(0, 1fr); }
  .rsg-page .blgm-i:nth-child(n+6) { display: none; }
  .rsg-page .msr-cols { height: 176px; }
}
@media (max-width: 768px) {
  .rsg-page .blgh { padding-top: 54px; }
  .rsg-page .blgh-lede { font-size: 16.5px; }
  /* the band padding tracks the cover height so the 50/50 seam keeps landing
     on the middle of the row at every width */
  .rsg-page .blgm-band { padding: 24px 0; }
  .rsg-page .blgm { gap: 13px; }
  .rsg-page .blgm-i { max-width: 152px; }
  .rsg-page .blgm-cov { height: 96px; }
  .rsg-page .blgm-i:nth-child(n+4) { display: none; }
  .rsg-page .blgm-lab { margin-top: 36px; }
  .rsg-page .msr { padding: 58px 0; }
  .rsg-page .msr-cols { height: 158px; gap: 8px; }
  .rsg-page .msr-hrow { grid-template-columns: 66px minmax(0, 1fr) 26px; gap: 10px; }
}
@media (max-width: 480px) {
  .rsg-page .blgh-by { margin-top: 22px; }
  .rsg-page .blgh-chip { font-size: 11.5px; padding: 7px 12px; }
  /* eight pills wrap to five rows at 375 and push the first article most of a
     screen further down. Four lead pills plus the "All 21 Topics" link is
     three rows, and nothing becomes unreachable -- that link opens the browser
     holding all of them. */
  .rsg-page .blgh-chips a:nth-child(n+5) { display: none; }
  .rsg-page .blgm-band { padding: 20px 0; }
  .rsg-page .blgm { gap: 11px; }
  .rsg-page .blgm-i { max-width: 146px; }
  .rsg-page .blgm-cov { height: 88px; }
  .rsg-page .blgm-i:nth-child(n+3) { display: none; }
  .rsg-page .tpc-grid { grid-template-columns: minmax(0, 1fr); }
  .rsg-page .msr-cols { height: 136px; gap: 6px; }
  .rsg-page .msr-cn { font-size: 10px; }
  .rsg-page .msr-cyr { font-size: 9px; }
}


/* ---- lead card: the first child of the article grid, no second template ---- */
.rsg-page .blgv-lead { grid-column: 1 / -1; }
.rsg-page .blgv-lead .blg-shot { min-height: 268px; }
.rsg-page .blgv-lead .blg-body { padding: 26px 30px 24px; }
.rsg-page .blgv-lead h3 { font-size: 26px; line-height: 1.22; }
.rsg-page .blgv-lead .blg-dek { font-size: 15.5px; line-height: 1.62; }
.rsg-page .blgv-flag { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; margin-bottom: 12px; padding: 4px 10px; border-radius: 6px; 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; }
/* the cover band already supplies the air under the masthead, so this section
   opens tighter than a standalone .section would */
.rsg-page .blgv-sec { padding-top: 58px; }
@media (max-width: 768px) {
  .rsg-page .blgv-lead .blg-shot { min-height: 0; }
  .rsg-page .blgv-lead .blg-body { padding: 22px 18px 20px; }
  .rsg-page .blgv-lead h3 { font-size: 21px; }
  .rsg-page .blgv-sec { padding-top: 46px; }
}

/* ---- post imagery, declared once and referenced by class ---- */
.rsg-page {
  --bi25: url('/wp-content/uploads/rsg-assets/a69715c61021951d.jpg');
  --bi7: url('/wp-content/uploads/rsg-assets/93b52623201455a5.jpg');
  --bi30: url('/wp-content/uploads/rsg-assets/5e6e228956496714.jpg');
  --bi20: url('/wp-content/uploads/rsg-assets/037bd9e8e6c7a95a.jpg');
  --bi8: url('/wp-content/uploads/rsg-assets/ff67fef221c95d74.jpg');
  --bi26: url('/wp-content/uploads/rsg-assets/a90d725643b552dd.jpg');
  --bi5: url('/wp-content/uploads/rsg-assets/46f71f1a28d03d31.jpg');
}
.rsg-page .bi25 { background-image: var(--bi25); }
.rsg-page .bi7 { background-image: var(--bi7); }
.rsg-page .bi30 { background-image: var(--bi30); }
.rsg-page .bi20 { background-image: var(--bi20); }
.rsg-page .bi8 { background-image: var(--bi8); }
.rsg-page .bi26 { background-image: var(--bi26); }
.rsg-page .bi5 { background-image: var(--bi5); }

/* ---- article card covers: 85 posts, one custom property each. These point at
   the mirrored live media library (root-relative), so nothing is inlined and
   every cover is a real cacheable file shared with the post page. ---- */
.rsg-page {
  --bcv1: url('/wp-content/uploads/2026/08/hvac-local-service-ads-shift-to-google-ads-2026-featured.jpg');
  --bcv2: url('/wp-content/uploads/2026/07/Feature-Image-1.png');
  --bcv3: url('/wp-content/uploads/2026/07/Feature-Image.png');
  --bcv4: url('/wp-content/uploads/2026/07/Feature-Banner-1.png');
  --bcv5: url('/wp-content/uploads/2026/07/Feature-Banner.png');
  --bcv6: url('/wp-content/uploads/2026/06/Header-Banner.png');
  --bcv7: url('/wp-content/uploads/2026/06/Banner-Image.png');
  --bcv8: url('/wp-content/uploads/2026/05/Header.png');
  --bcv9: url('/wp-content/uploads/2026/04/Feature-Banner-1.png');
  --bcv10: url('/wp-content/uploads/2026/04/Banner-2.png');
  --bcv11: url('/wp-content/uploads/2026/04/Banner-1.png');
  --bcv12: url('/wp-content/uploads/2026/04/banner.png');
  --bcv13: url('/wp-content/uploads/2026/04/Feature-Banner.png');
  --bcv14: url('/wp-content/uploads/2026/04/Hero-Banner.png');
  --bcv15: url('/wp-content/uploads/2026/03/Hero-Banner.png');
  --bcv16: url('/wp-content/uploads/2026/03/banner.png');
  --bcv17: url('/wp-content/uploads/2026/03/hvac-marketing-trends-2026-1.jpg');
  --bcv18: url('/wp-content/uploads/2026/02/HVAC-Website-Blog-Banner-1-2.png');
  --bcv19: url('/wp-content/uploads/2026/01/winter-storm.jpg');
  --bcv20: url('/wp-content/uploads/2026/01/HVAC-Website-Blog-Banner.jpg');
  --bcv21: url('/wp-content/uploads/2026/01/hvac-marketing-trends-2026-2.jpg');
  --bcv22: url('/wp-content/uploads/2025/12/HVAC-Website-Blog-Banner-3.jpg');
  --bcv23: url('/wp-content/uploads/2025/12/hvac-marketing-lsas.jpg');
  --bcv24: url('/wp-content/uploads/2025/12/HVAC-Website-Blog-Banner-4.png');
  --bcv25: url('/wp-content/uploads/2025/12/HVAC-Website-Blog-Banner-3-2.png');
  --bcv26: url('/wp-content/uploads/2025/11/HVAC-Website-Blog-Banner-2.png');
  --bcv27: url('/wp-content/uploads/2025/11/HVAC-Website-Blog-Banner-1.png');
  --bcv28: url('/wp-content/uploads/2025/11/HVAC-Website-Blog-Banner.png');
  --bcv29: url('/wp-content/uploads/2025/08/HVAC-Website-Blog-Banner-1.png');
  --bcv30: url('/wp-content/uploads/2025/08/banner.png');
  --bcv31: url('/wp-content/uploads/2025/07/HVAC-Website-Blog-Banner-1.png');
  --bcv32: url('/wp-content/uploads/2025/07/HVAC-Website-Blog-Banner.png');
  --bcv33: url('/wp-content/uploads/2025/06/HVAC-Website-Blog-Banner-2.png');
  --bcv34: url('/wp-content/uploads/2025/06/HVAC-Website-Blog-Banner-1.png');
  --bcv35: url('/wp-content/uploads/2025/06/HVAC-Website-Blog-Banner.png');
  --bcv36: url('/wp-content/uploads/2025/05/5-features-HVAC-website-2025.png');
  --bcv37: url('/wp-content/uploads/2025/04/HVAC-Website-Blog-Banner.png');
  --bcv38: url('/wp-content/uploads/2025/03/HVAC-Website-Blog-Banner-1.png');
  --bcv39: url('/wp-content/uploads/2025/03/HVAC-Website-Blog-Banner-1.jpg');
  --bcv40: url('/wp-content/uploads/2025/02/HVAC-SEO-Keywords-1-1.jpg');
  --bcv41: url('/wp-content/uploads/2025/01/Why-Digital-Marketing-Matters-for-Seattle-HVAC-Startups.jpg');
  --bcv42: url('/wp-content/uploads/2025/01/a-dynamic-aerial-view-of-a-beefc259-9786-4556-8538-6219a46bce32.jpg');
  --bcv43: url('/wp-content/uploads/2024/12/spring-ads.png');
  --bcv44: url('/wp-content/uploads/2024/12/tiktok-blog.png');
  --bcv45: url('/wp-content/uploads/2024/12/hvac-billboards-banner-1.png');
  --bcv46: url('/wp-content/uploads/2024/10/winter-hvac-marketing-ldeas.png');
  --bcv47: url('/wp-content/uploads/2024/09/fall-hvac-marketing-ldeas.jpg');
  --bcv48: url('/wp-content/uploads/2024/07/hvac-marketing-lsas.png');
  --bcv49: url('/wp-content/uploads/2024/05/hvac-copywriting-secrets.png');
  --bcv50: url('/wp-content/uploads/2024/05/HVAC-SEO-Blog-Header.png');
  --bcv51: url('/wp-content/uploads/2024/05/hvac-social-media-posts-blog-header.png');
  --bcv52: url('/wp-content/uploads/2024/05/Demystifying-Email-Marketing-Services-Choosing-the-Best-for-Your-Business.jpg');
  --bcv53: url('/wp-content/uploads/2024/05/unique-selling-proposition-header-image.png');
  --bcv54: url('/wp-content/uploads/2024/05/hvac-seo-services-blog-banner.png');
  --bcv55: url('/wp-content/uploads/2024/05/effective-review-management-blog-header-image.jpg');
  --bcv56: url('/wp-content/uploads/2024/05/How-to-Choose-the-Best-Marketing-Consulting.jpg');
  --bcv57: url('/wp-content/uploads/2024/05/knowing-seo-metrics-1.png');
  --bcv58: url('/wp-content/uploads/2024/05/hiring-hvac-social-media-consultant.jpg');
  --bcv59: url('/wp-content/uploads/2024/05/edith-yanez-tatiana-ahlborn-1024x873.jpg');
  --bcv60: url('/wp-content/uploads/2024/05/marketing_building_blocks.png');
  --bcv61: url('/wp-content/uploads/2024/05/CelebrateCustomerSuccess_GuitarPerformance.png');
  --bcv62: url('/wp-content/uploads/2024/05/seo-company-blog-banner.png');
  --bcv63: url('/wp-content/uploads/2024/05/chatgpt-small-business-marketing.png');
  --bcv64: url('/wp-content/uploads/2024/05/power-hvac-social-media-marketing.jpg');
  --bcv65: url('/wp-content/uploads/2024/05/earth-day-blog-header.png');
  --bcv66: url('/wp-content/uploads/2024/05/hvac-blogging-header-image.png');
  --bcv67: url('/wp-content/uploads/2024/05/craft-winning-hvac-marketing-strategy.png');
  --bcv68: url('/wp-content/uploads/2024/05/hvac-tagline-slogan.png');
  --bcv69: url('/wp-content/uploads/2024/05/hvac-google-business-profile-header-image.png');
  --bcv70: url('/wp-content/uploads/2024/05/strike-inbox-gold-blog-header-image.png');
  --bcv71: url('/wp-content/uploads/2024/05/hvac-seo-companies-blog-header.png');
  --bcv72: url('/wp-content/uploads/2024/05/google-business-profile-unlock-small-business-potential.jpg');
  --bcv73: url('/wp-content/uploads/2024/05/seo-fundamentals-how-to-improve-hvac-website.jpg');
  --bcv74: url('/wp-content/uploads/2024/05/how-to-choose-hvac-blogger.jpg');
  --bcv75: url('/wp-content/uploads/2024/05/hiring-hvac-copywriting-agency-vs-freelancer.png');
  --bcv76: url('/wp-content/uploads/2024/05/e-e-a-t-hvac-seo.png');
  --bcv77: url('/wp-content/uploads/2024/05/museum-of-failure.png');
  --bcv78: url('/wp-content/uploads/2024/05/dc-generals-blog-header.jpg');
  --bcv79: url('/wp-content/uploads/2024/05/seo-blog-header.jpg');
  --bcv80: url('/wp-content/uploads/2024/05/Pineapple_Landscaping_Header_Image.jpg');
  --bcv81: url('/wp-content/uploads/2024/05/Personal_Branding_Blog_Header.png');
  --bcv82: url('/wp-content/uploads/2024/05/DigitalMarketingGrowth_SmallBusiness_Cover.jpg');
  --bcv83: url('/wp-content/uploads/2024/05/DentistPatient_DMVMarketing_RS_Gonzales.png');
  --bcv84: url('/wp-content/uploads/2024/05/benefits_of_customer_empowerment_graphic.png');
  --bcv85: url('/wp-content/uploads/2024/05/how-to-grow-service-based-business-blog.png');
  --bcv86: url('/wp-content/uploads/2024/05/find_your_niche_target.png');
}
.rsg-page .bcv1 { background-image: var(--bcv1); }
.rsg-page .bcv2 { background-image: var(--bcv2); }
.rsg-page .bcv3 { background-image: var(--bcv3); }
.rsg-page .bcv4 { background-image: var(--bcv4); }
.rsg-page .bcv5 { background-image: var(--bcv5); }
.rsg-page .bcv6 { background-image: var(--bcv6); }
.rsg-page .bcv7 { background-image: var(--bcv7); }
.rsg-page .bcv8 { background-image: var(--bcv8); }
.rsg-page .bcv9 { background-image: var(--bcv9); }
.rsg-page .bcv10 { background-image: var(--bcv10); }
.rsg-page .bcv11 { background-image: var(--bcv11); }
.rsg-page .bcv12 { background-image: var(--bcv12); }
.rsg-page .bcv13 { background-image: var(--bcv13); }
.rsg-page .bcv14 { background-image: var(--bcv14); }
.rsg-page .bcv15 { background-image: var(--bcv15); }
.rsg-page .bcv16 { background-image: var(--bcv16); }
.rsg-page .bcv17 { background-image: var(--bcv17); }
.rsg-page .bcv18 { background-image: var(--bcv18); }
.rsg-page .bcv19 { background-image: var(--bcv19); }
.rsg-page .bcv20 { background-image: var(--bcv20); }
.rsg-page .bcv21 { background-image: var(--bcv21); }
.rsg-page .bcv22 { background-image: var(--bcv22); }
.rsg-page .bcv23 { background-image: var(--bcv23); }
.rsg-page .bcv24 { background-image: var(--bcv24); }
.rsg-page .bcv25 { background-image: var(--bcv25); }
.rsg-page .bcv26 { background-image: var(--bcv26); }
.rsg-page .bcv27 { background-image: var(--bcv27); }
.rsg-page .bcv28 { background-image: var(--bcv28); }
.rsg-page .bcv29 { background-image: var(--bcv29); }
.rsg-page .bcv30 { background-image: var(--bcv30); }
.rsg-page .bcv31 { background-image: var(--bcv31); }
.rsg-page .bcv32 { background-image: var(--bcv32); }
.rsg-page .bcv33 { background-image: var(--bcv33); }
.rsg-page .bcv34 { background-image: var(--bcv34); }
.rsg-page .bcv35 { background-image: var(--bcv35); }
.rsg-page .bcv36 { background-image: var(--bcv36); }
.rsg-page .bcv37 { background-image: var(--bcv37); }
.rsg-page .bcv38 { background-image: var(--bcv38); }
.rsg-page .bcv39 { background-image: var(--bcv39); }
.rsg-page .bcv40 { background-image: var(--bcv40); }
.rsg-page .bcv41 { background-image: var(--bcv41); }
.rsg-page .bcv42 { background-image: var(--bcv42); }
.rsg-page .bcv43 { background-image: var(--bcv43); }
.rsg-page .bcv44 { background-image: var(--bcv44); }
.rsg-page .bcv45 { background-image: var(--bcv45); }
.rsg-page .bcv46 { background-image: var(--bcv46); }
.rsg-page .bcv47 { background-image: var(--bcv47); }
.rsg-page .bcv48 { background-image: var(--bcv48); }
.rsg-page .bcv49 { background-image: var(--bcv49); }
.rsg-page .bcv50 { background-image: var(--bcv50); }
.rsg-page .bcv51 { background-image: var(--bcv51); }
.rsg-page .bcv52 { background-image: var(--bcv52); }
.rsg-page .bcv53 { background-image: var(--bcv53); }
.rsg-page .bcv54 { background-image: var(--bcv54); }
.rsg-page .bcv55 { background-image: var(--bcv55); }
.rsg-page .bcv56 { background-image: var(--bcv56); }
.rsg-page .bcv57 { background-image: var(--bcv57); }
.rsg-page .bcv58 { background-image: var(--bcv58); }
.rsg-page .bcv59 { background-image: var(--bcv59); }
.rsg-page .bcv60 { background-image: var(--bcv60); }
.rsg-page .bcv61 { background-image: var(--bcv61); }
.rsg-page .bcv62 { background-image: var(--bcv62); }
.rsg-page .bcv63 { background-image: var(--bcv63); }
.rsg-page .bcv64 { background-image: var(--bcv64); }
.rsg-page .bcv65 { background-image: var(--bcv65); }
.rsg-page .bcv66 { background-image: var(--bcv66); }
.rsg-page .bcv67 { background-image: var(--bcv67); }
.rsg-page .bcv68 { background-image: var(--bcv68); }
.rsg-page .bcv69 { background-image: var(--bcv69); }
.rsg-page .bcv70 { background-image: var(--bcv70); }
.rsg-page .bcv71 { background-image: var(--bcv71); }
.rsg-page .bcv72 { background-image: var(--bcv72); }
.rsg-page .bcv73 { background-image: var(--bcv73); }
.rsg-page .bcv74 { background-image: var(--bcv74); }
.rsg-page .bcv75 { background-image: var(--bcv75); }
.rsg-page .bcv76 { background-image: var(--bcv76); }
.rsg-page .bcv77 { background-image: var(--bcv77); }
.rsg-page .bcv78 { background-image: var(--bcv78); }
.rsg-page .bcv79 { background-image: var(--bcv79); }
.rsg-page .bcv80 { background-image: var(--bcv80); }
.rsg-page .bcv81 { background-image: var(--bcv81); }
.rsg-page .bcv82 { background-image: var(--bcv82); }
.rsg-page .bcv83 { background-image: var(--bcv83); }
.rsg-page .bcv84 { background-image: var(--bcv84); }
.rsg-page .bcv85 { background-image: var(--bcv85); }
.rsg-page .bcv86 { background-image: var(--bcv86); }
