
/* =====================================================================
   HVAC REPUTATION MANAGEMENT — PAGE SUPPLEMENT
   Base design system = cloned from hvac-email-marketing.html (master CSS).
   This block adds: (A) graphic-page components reused verbatim
   (tn-table, fit2, phases-timeline), and (B) new reputation-specific
   visual components, all prefixed .rep-*. Green + charcoal/grey only.
   ===================================================================== */

/* ============ (A1) COMPARISON TABLE — from hvac-graphic-design (.tn-*) ============ */
.rsg-page .tn-table-wrap { margin: 40px 0 26px; overflow-x: auto; }
.rsg-page .tn-table { width: 100%; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); overflow: hidden; border-collapse: collapse; }
.rsg-page .tn-table th,
.rsg-page .tn-table td { padding: 15px 22px; text-align: left; vertical-align: middle; }
.rsg-page .tn-dim-head { width: 210px; background: var(--paper-soft); border-bottom: 2px solid var(--line); }
.rsg-page .tn-then-head { background: var(--paper-soft); border-bottom: 2px solid var(--line); border-left: 1px solid var(--line); }
.rsg-page .tn-now-head { background: linear-gradient(180deg, rgba(44,122,75,0.14) 0%, rgba(44,122,75,0.05) 100%); border-bottom: 2px solid var(--line); border-left: 1px solid rgba(44,122,75,0.22); border-right: 1px solid rgba(44,122,75,0.22); }
.rsg-page .tn-th-inner { display: flex; align-items: center; gap: 12px; }
.rsg-page .tn-th-ic { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rsg-page .tn-ic-gray { background: #EDF1EF; color: #98A39E; }
.rsg-page .tn-ic-green { background: linear-gradient(135deg, var(--green-500), var(--green-700)); color: #fff; box-shadow: 0 5px 14px rgba(32,157,80,0.28); }
.rsg-page .tn-th-ic svg { width: 18px; height: 18px; }
.rsg-page .tn-th-inner b { font-family: var(--font-head); font-weight: 800; font-size: 15px; color: var(--ink-900); display: block; letter-spacing: -0.01em; }
.rsg-page .tn-era-tag { display: block; font-family: var(--font-body); font-size: 11.5px; color: #7A857F; font-weight: 500; margin-top: 2px; }
.rsg-page .tn-now-tag { color: var(--green-500); font-weight: 600; }
.rsg-page .tn-dim { font-family: var(--font-head); font-weight: 700; font-size: 14px; color: var(--ink-900); border-bottom: 1px solid var(--line-2); background: var(--paper-soft); width: 210px; }
.rsg-page .tn-then { border-bottom: 1px solid var(--line-2); border-left: 1px solid var(--line); font-size: 13.5px; line-height: 1.55; color: var(--ink-2); }
.rsg-page .tn-now { border-bottom: 1px solid rgba(44,122,75,0.1); border-left: 1px solid rgba(44,122,75,0.2); border-right: 1px solid rgba(44,122,75,0.2); background: rgba(44,122,75,0.04); font-size: 13.5px; line-height: 1.55; color: var(--ink-900); font-weight: 600; }
.rsg-page .tn-x { display:inline-flex; width:18px; height:18px; border-radius:50%; background:#EDF1EF; color:#98A39E; align-items:center; justify-content:center; margin-right:8px; vertical-align:-4px; flex-shrink:0; }
.rsg-page .tn-x svg { width:9px; height:9px; }
.rsg-page .tn-ck { display: inline-flex; width: 18px; height: 18px; border-radius: 50%; background: var(--green-500); color: #fff; align-items: center; justify-content: center; margin-right: 8px; vertical-align: -4px; flex-shrink: 0; }
.rsg-page .tn-ck svg { width: 10px; height: 10px; }
.rsg-page .tn-table tbody tr:last-child .tn-dim,
.rsg-page .tn-table tbody tr:last-child .tn-then,
.rsg-page .tn-table tbody tr:last-child .tn-now { border-bottom: 0; }
.rsg-page .tn-table tbody tr:hover .tn-then { background: rgba(0,0,0,0.012); }
.rsg-page .tn-table tbody tr:hover .tn-now { background: rgba(44,122,75,0.08); }
@media (max-width: 768px) {
  .rsg-page .tn-table th, .rsg-page .tn-table td { padding: 11px 14px; font-size: 12.5px; }
  .rsg-page .tn-dim-head, .rsg-page .tn-dim { display: none; }
}

/* ============ (A2) FIT CARDS — from hvac-graphic-design (.fit2-*) ============ */
.rsg-page .fit2-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:8px; align-items:stretch; }
.rsg-page .fit2-card{ border-radius:18px; padding:28px 28px 26px; border:1px solid var(--line,#E4E8E5); }
.rsg-page .fit2-yes{ background:linear-gradient(160deg,#F4F9F5 0%,#EAF2EC 100%); border-color:rgba(44,122,75,.24); box-shadow:0 18px 44px rgba(20,62,37,.10); }
.rsg-page .fit2-no{ background:#fff; box-shadow:var(--shadow-sm,0 2px 8px rgba(0,0,0,.04)); }
.rsg-page .fit2-head{ display:flex; align-items:center; gap:14px; margin-bottom:20px; padding-bottom:18px; border-bottom:1px solid rgba(0,0,0,.07); }
.rsg-page .fit2-medal{ flex:none; width:48px; height:48px; border-radius:14px; display:grid; place-items:center; }
.rsg-page .fit2-medal svg{ width:24px; height:24px; }
.rsg-page .fit2-medal-yes{ background:linear-gradient(135deg,var(--green-600,#1F5B36),var(--green-500,#2C7A4B)); color:#fff; box-shadow:0 8px 18px rgba(44,122,75,.26); }
.rsg-page .fit2-medal-no{ background:#EDF1EF; color:#8A938F; }
.rsg-page .fit2-title{ font-family:var(--font-display,'Montserrat',sans-serif); font-size:18px; font-weight:800; color:var(--ink-900,#111); margin:0 0 3px; line-height:1.2; letter-spacing:-.01em; }
.rsg-page .fit2-sub{ font-family:var(--font-display,'Montserrat',sans-serif); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.rsg-page .fit2-yes .fit2-sub{ color:var(--green-600,#1F5B36); }
.rsg-page .fit2-no .fit2-sub{ color:#8A938F; }
.rsg-page .fit2-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.rsg-page .fit2-list li{ display:flex; align-items:flex-start; gap:12px; font-family:var(--font-body,'DM Sans',sans-serif); font-size:14px; line-height:1.5; }
.rsg-page .fit2-yes .fit2-list li{ color:var(--ink-700,#262626); }
.rsg-page .fit2-no .fit2-list li{ color:var(--ink-500,#6B6B6B); }
.rsg-page .fit2-list li b{ color:var(--ink-900,#111); font-weight:700; }
.rsg-page .fit2-no .fit2-list li b{ color:var(--ink-700,#262626); }
.rsg-page .fit2-mk{ flex:none; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; margin-top:1px; }
.rsg-page .fit2-mk svg{ width:13px; height:13px; }
.rsg-page .fit2-mk-yes{ background:var(--green-500,#2C7A4B); color:#fff; box-shadow:0 4px 10px rgba(44,122,75,.24); }
.rsg-page .fit2-mk-no{ background:#EDF1EF; color:#98A39E; }
.rsg-page .fit2-note{ margin-top:22px; font-family:var(--font-body); font-size:14px; line-height:1.65; color:var(--ink-700); background:var(--paper-soft); border:1px solid var(--line); border-left:4px solid var(--green-500); border-radius:12px; padding:16px 20px; }
.rsg-page .fit2-note strong{ color:var(--ink-900); }
@media (max-width:760px){ .rsg-page .fit2-grid{ grid-template-columns:1fr; gap:16px; } }

/* ============ (A3) PHASE TIMELINE — from hvac-graphic-design (.phase-*) ============ */
.rsg-page .phases-timeline { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:0; counter-reset:phasecount; }
.rsg-page .phase-step { display:grid; grid-template-columns:56px 1fr; gap:28px; align-items:stretch; counter-increment:phasecount; position:relative; }
.rsg-page .phase-step-rail { position:relative; display:flex; flex-direction:column; align-items:center; padding-top:26px; }
.rsg-page .phase-step-dot { width:44px; height:44px; 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:14px; position:relative; z-index:2; box-shadow:0 8px 20px -6px rgba(44,122,75,.55); }
.rsg-page .phase-step-dot::before { content:counter(phasecount, decimal-leading-zero); }
.rsg-page .phase-step-dot::after { content:""; position:absolute; inset:-6px; border-radius:50%; border:1.5px dashed rgba(44,122,75,.35); }
.rsg-page .phase-step-dot.final { background:linear-gradient(135deg,#3A3A3A,#111); box-shadow:0 8px 20px -6px rgba(0,0,0,.40); }
.rsg-page .phase-step-dot.final::after { border-color:rgba(0,0,0,.22); }
.rsg-page .phase-step-line { flex:1; width:2px; margin-top:6px; background:linear-gradient(180deg, rgba(44,122,75,.30) 0%, rgba(44,122,75,.14) 60%, transparent 100%); min-height:40px; }
.rsg-page .phase-step-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px 30px; margin-bottom:22px; transition:transform .2s, box-shadow .2s, border-color .2s; position:relative; box-shadow:var(--shadow-sm); }
.rsg-page .phase-step:last-child .phase-step-card { margin-bottom:0; }
.rsg-page .phase-step-card:hover { transform:translateY(-3px); border-color:rgba(44,122,75,.30); box-shadow:var(--shadow-lg); }
.rsg-page .phase-step-head { display:flex; align-items:center; gap:14px; margin-bottom:11px; }
.rsg-page .phase-step-num { font-family:var(--font-mono); font-weight:700; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); padding:5px 12px; border-radius:999px; }
.rsg-page .phase-step-card h3 { font-size:20px; margin:0 0 9px; letter-spacing:-.01em; }
.rsg-page .phase-step-card p { margin:0; font-size:14px; line-height:1.62; color:var(--ink-2); }
.rsg-page .phase-step-card p a.ilink { color:var(--green-700); font-weight:600; }
@media (max-width:600px){ .rsg-page .phase-step { grid-template-columns:44px 1fr; gap:16px; } .rsg-page .phase-step-dot { width:38px; height:38px; font-size:12.5px; } .rsg-page .phase-step-card { padding:22px; } }
.rsg-page .phase-chips { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:17px; }
.rsg-page .phase-chip { display:inline-flex; align-items:center; gap:8px; padding:6px 12px; border-radius:999px; font-family:var(--font-display); font-weight:600; font-size:12.5px; border:1px solid var(--green-500); background:rgba(44,122,75,.06); color:var(--ink-900); }
.rsg-page .phase-chip .cdot { width:7px; height:7px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 3px rgba(44,122,75,.20); flex-shrink:0; }

/* =====================================================================
   (B) NEW REPUTATION-SPECIFIC COMPONENTS  (.rep-*)
   ===================================================================== */

/* ---------- (B1) HERO VISUAL — Reputation Dashboard ---------- */
.rsg-page .rep-hero-vis { position:relative; width:100%; max-width:512px; margin-left:auto; padding:0; }
.rsg-page .rep-hero-glow { position:absolute; inset:0; border-radius:34px; background:radial-gradient(120% 120% at 72% 20%, rgba(44,122,75,.20), rgba(44,122,75,.05) 46%, transparent 72%); pointer-events:none; }
.rsg-page .rep-hero-glow::after { content:""; position:absolute; inset:0; border-radius:34px; background:radial-gradient(90% 80% at 20% 92%, rgba(74,222,128,.14), transparent 60%); }
.rsg-page .rep-dash { position:relative; z-index:2; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 30px 66px -20px rgba(20,55,34,.42), 0 10px 24px rgba(0,0,0,.08); overflow:hidden; }
.rsg-page .rep-dash-bar { display:flex; align-items:center; gap:7px; padding:11px 15px; background:#F4F6F5; border-bottom:1px solid var(--line); }
.rsg-page .rep-dash-bar i { width:10px; height:10px; border-radius:50%; display:inline-block; }
.rsg-page .rep-dash-bar .d1{ background:#F0645B; } .rsg-page .rep-dash-bar .d2{ background:#F5BE4F; } .rsg-page .rep-dash-bar .d3{ background:#5FC466; }
.rsg-page .rep-dash-url { margin-left:8px; flex:1; display:flex; align-items:center; gap:7px; background:#fff; border:1px solid var(--line); border-radius:7px; padding:5px 11px; font-family:var(--font-mono); font-size:10.5px; color:#7A857F; }
.rsg-page .rep-dash-url svg{ width:11px; height:11px; flex-shrink:0; }
.rsg-page .rep-dash-body { padding:20px 22px 22px; }
.rsg-page .rep-dash-head { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.rsg-page .rep-dash-ic { width:42px; height:42px; 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 18px rgba(44,122,75,.30); }
.rsg-page .rep-dash-ic svg{ width:22px; height:22px; }
.rsg-page .rep-dash-htext { flex:1; min-width:0; }
.rsg-page .rep-dash-title { font-family:var(--font-display); font-weight:800; font-size:15px; color:var(--ink-900); letter-spacing:-.01em; }
.rsg-page .rep-dash-sub { font-family:var(--font-body); font-size:11.5px; color:var(--ink-500); margin-top:1px; }
.rsg-page .rep-dash-live { display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.2); border-radius:999px; padding:5px 10px; }
.rsg-page .rep-dash-live .pdot{ width:6px; height:6px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 0 rgba(44,122,75,.5); animation:repPulse 2.4s ease-out infinite; }
@keyframes repPulse { 0%{ box-shadow:0 0 0 0 rgba(44,122,75,.5);} 70%{ box-shadow:0 0 0 7px rgba(44,122,75,0);} 100%{ box-shadow:0 0 0 0 rgba(44,122,75,0);} }
.rsg-page .rep-dash-score { display:grid; grid-template-columns:1.05fr 1fr; gap:14px; margin-bottom:16px; }
.rsg-page .rep-score-main { background:var(--paper-soft); border:1px solid var(--line); border-radius:13px; padding:15px 16px; }
.rsg-page .rep-score-num { display:flex; align-items:baseline; gap:6px; }
.rsg-page .rep-score-num b { font-family:var(--font-display); font-weight:800; font-size:34px; color:var(--ink-900); line-height:1; letter-spacing:-.02em; }
.rsg-page .rep-score-num span { font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .rep-stars { display:inline-flex; gap:2px; margin-top:8px; }
.rsg-page .rep-stars svg { width:15px; height:15px; }
.rsg-page .rep-score-cap { font-family:var(--font-body); font-size:11px; color:var(--ink-500); margin-top:6px; }
.rsg-page .rep-score-vel { background:#fff; border:1px solid var(--line); border-radius:13px; padding:13px 15px; display:flex; flex-direction:column; }
.rsg-page .rep-vel-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; }
.rsg-page .rep-vel-lbl { font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .rep-vel-up { display:inline-flex; align-items:center; gap:3px; font-family:var(--font-display); font-size:11px; font-weight:800; color:var(--green-600); }
.rsg-page .rep-vel-up svg { width:12px; height:12px; }
.rsg-page .rep-vel-bars { display:flex; align-items:flex-end; gap:5px; height:44px; }
.rsg-page .rep-vel-bars i { flex:1; background:linear-gradient(180deg,var(--green-500),#4ADE80); border-radius:3px 3px 0 0; transform-origin:bottom; animation:repGrow 1s cubic-bezier(.16,1,.3,1) both; }
@keyframes repGrow { from{ transform:scaleY(.05);} to{ transform:scaleY(1);} }
.rsg-page .rep-dash-feed { display:flex; flex-direction:column; gap:9px; }
.rsg-page .rep-rev { display:flex; align-items:flex-start; gap:11px; padding:11px 12px; background:var(--paper-soft); border:1px solid var(--line); border-radius:11px; }
.rsg-page .rep-rev-av { width:32px; height:32px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:13px; color:#fff; background:linear-gradient(135deg,#3E9B63,#256B41); }
.rsg-page .rep-rev-av.a2 { background:linear-gradient(135deg,#4F8E6E,#2E5C44); }
.rsg-page .rep-rev-av.a3 { background:linear-gradient(135deg,#5C6B63,#39433D); }
.rsg-page .rep-rev-b { flex:1; min-width:0; }
.rsg-page .rep-rev-top { display:flex; align-items:center; gap:8px; }
.rsg-page .rep-rev-name { font-family:var(--font-display); font-weight:700; font-size:12px; color:var(--ink-900); }
.rsg-page .rep-rev-stars { display:inline-flex; gap:1px; }
.rsg-page .rep-rev-stars svg { width:10px; height:10px; }
.rsg-page .rep-rev-txt { font-family:var(--font-body); font-size:11px; color:var(--ink-2); line-height:1.4; margin-top:2px; }
.rsg-page .rep-rev-tag { display:inline-flex; align-items:center; gap:4px; margin-top:6px; font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--green-700); }
.rsg-page .rep-rev-tag svg { width:11px; height:11px; }
.rsg-page .rep-dash-foot { display:flex; align-items:center; gap:12px; margin-top:15px; padding-top:14px; border-top:1px dashed var(--line-2); }
.rsg-page .rep-foot-ic { width:30px; height:30px; border-radius:9px; background:var(--green-50); color:var(--green-600); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .rep-foot-ic svg { width:16px; height:16px; }
.rsg-page .rep-dash-foot p { margin:0; font-family:var(--font-body); font-size:11.5px; line-height:1.4; color:var(--ink-2); }
.rsg-page .rep-dash-foot p b { color:var(--ink-900); }
/* floating chips on hero visual */
.rsg-page .rep-float { position:absolute; z-index:4; display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:9px 13px; box-shadow:0 14px 30px rgba(20,55,34,.16); font-family:var(--font-display); font-weight:700; font-size:12px; color:var(--ink-900); animation:repBob 5s ease-in-out infinite; }
.rsg-page .rep-float .rep-float-ic { width:24px; height:24px; border-radius:7px; display:flex; align-items:center; justify-content:center; flex-shrink:0; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; }
.rsg-page .rep-float .rep-float-ic svg { width:13px; height:13px; }
.rsg-page .rep-float span small { display:block; font-family:var(--font-mono); font-size:8.5px; font-weight:600; letter-spacing:.04em; color:var(--ink-500); text-transform:uppercase; margin-top:1px; }
.rsg-page .rep-float-a { top:6px; left:-14px; animation-delay:0s; }
.rsg-page .rep-float-b { top:296px; right:-16px; bottom:auto; animation-delay:-2.5s; }
@keyframes repBob { 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-8px);} }
@media (max-width:600px){ .rsg-page .rep-hero-vis{ padding:22px 4px 8px; max-width:440px; margin:0 auto; } .rsg-page .rep-float-a{ left:0; top:0; } .rsg-page .rep-float-b{ right:2px; top:auto; bottom:132px; } }
/* hero feature strip — the Notion intro bullets, folded into the hero */
.rsg-page .rep-hero-feats { display:grid; grid-template-columns:repeat(4,1fr); gap:16px 24px; margin-top:38px; padding-top:28px; border-top:1px solid var(--line); }
.rsg-page .rep-hfeat { display:flex; align-items:flex-start; gap:12px; font-family:var(--font-body); font-size:13.5px; line-height:1.45; color:var(--ink-700); }
.rsg-page .rep-hfeat-ic { flex:none; width:32px; height:32px; border-radius:9px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 15px rgba(44,122,75,.24); }
.rsg-page .rep-hfeat-ic svg { width:17px; height:17px; }
.rsg-page .rep-hfeat b { color:var(--ink-900); font-weight:700; }
@media (max-width:900px){ .rsg-page .rep-hero-feats { grid-template-columns:1fr 1fr; gap:16px 20px; } }
@media (max-width:560px){ .rsg-page .rep-hero-feats { grid-template-columns:1fr; } }

/* ---------- (B2) §3 SCOPE — everywhere homeowners check + 4 signals ---------- */
.rsg-page .rep-def { display:flex; gap:16px; align-items:flex-start; background:linear-gradient(135deg,#F4F9F5 0%,#E9F1EB 100%); border:1px solid rgba(44,122,75,.18); border-left:5px solid var(--green-500); border-radius:14px; padding:22px 26px; margin:8px 0 30px; }
.rsg-page .rep-def-ic { width:40px; height:40px; border-radius:11px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 8px 18px rgba(44,122,75,.26); }
.rsg-page .rep-def-ic svg { width:21px; height:21px; }
.rsg-page .rep-def p { margin:0; font-family:var(--font-body); font-size:15px; line-height:1.68; color:var(--ink-700); }
.rsg-page .rep-def p strong { color:var(--ink-900); }
.rsg-page .rep-scope { background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow-md); padding:26px 28px; margin-bottom:22px; }
.rsg-page .rep-scope-head { display:flex; align-items:center; gap:10px; margin-bottom:20px; }
.rsg-page .rep-scope-eye { font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--green-600); display:inline-flex; align-items:center; gap:9px; }
.rsg-page .rep-scope-eye::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 4px rgba(44,122,75,.15); }
.rsg-page .rep-scope-grid { display:grid; grid-template-columns:1.15fr 2fr; gap:20px; align-items:stretch; }
.rsg-page .rep-scope-primary { background:linear-gradient(160deg,#F4FAF6,#FFFFFF); border:1px solid rgba(44,122,75,.2); border-radius:14px; padding:20px; display:flex; flex-direction:column; justify-content:center; }
.rsg-page .rep-scope-goo { display:inline-flex; align-items:center; gap:10px; }
.rsg-page .rep-goo-mark { width:34px; height:34px; border-radius:8px; background:#fff; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 3px 8px rgba(0,0,0,.06); }
.rsg-page .rep-goo-mark svg { width:20px; height:20px; }
.rsg-page .rep-scope-primary b { font-family:var(--font-display); font-weight:800; font-size:16px; color:var(--ink-900); }
.rsg-page .rep-scope-primary .rep-scope-tag { display:block; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green-600); margin-top:2px; }
.rsg-page .rep-scope-rate { display:flex; align-items:center; gap:8px; margin-top:16px; }
.rsg-page .rep-scope-rate b { font-family:var(--font-display); font-weight:800; font-size:26px; color:var(--ink-900); }
.rsg-page .rep-scope-rate .rep-stars svg { width:16px; height:16px; }
.rsg-page .rep-scope-note { font-family:var(--font-body); font-size:12px; color:var(--ink-500); margin-top:8px; line-height:1.5; }
.rsg-page .rep-scope-others { display:flex; flex-direction:column; }
.rsg-page .rep-scope-olbl { font-family:var(--font-body); font-size:13px; color:var(--ink-2); margin:0 0 12px; }
.rsg-page .rep-scope-olbl b { color:var(--ink-900); font-weight:700; }
.rsg-page .rep-chips { display:flex; flex-wrap:wrap; gap:10px; }
.rsg-page .rep-chip { display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--line); border-radius:11px; padding:10px 14px; box-shadow:var(--shadow-sm); font-family:var(--font-display); font-weight:700; font-size:13px; color:var(--ink-900); transition:transform .18s, box-shadow .18s; }
.rsg-page .rep-chip:hover { transform:translateY(-2px); box-shadow:var(--shadow-md); }
.rsg-page .rep-chip .rep-chip-g { width:26px; height:26px; border-radius:7px; background:var(--paper-soft); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:#5B6660; flex-shrink:0; }
.rsg-page .rep-chip .rep-chip-g svg { width:15px; height:15px; }
.rsg-page .rep-signals { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.rsg-page .rep-sig { background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px 18px; box-shadow:var(--shadow-sm); position:relative; overflow:hidden; transition:transform .2s, box-shadow .2s; }
.rsg-page .rep-sig:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.rsg-page .rep-sig::after { content:""; position:absolute; width:120px; height:120px; border-radius:50%; top:-70px; right:-50px; background:radial-gradient(circle,rgba(44,122,75,.1),transparent 70%); }
.rsg-page .rep-sig-ic { width:40px; height:40px; border-radius:11px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:13px; box-shadow:0 7px 16px rgba(44,122,75,.24); position:relative; z-index:1; }
.rsg-page .rep-sig-ic svg { width:20px; height:20px; }
.rsg-page .rep-sig h3 { font-family:var(--font-display); font-size:14.5px; font-weight:800; color:var(--ink-900); margin:0 0 6px; letter-spacing:-.01em; }
.rsg-page .rep-sig p { font-family:var(--font-body); font-size:12.5px; line-height:1.55; color:var(--ink-2); margin:0; position:relative; z-index:1; }
.rsg-page .rep-start { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:26px; }
.rsg-page .rep-start-card { display:flex; gap:16px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 24px; box-shadow:var(--shadow-sm); }
.rsg-page .rep-start-num { flex:none; width:40px; height:40px; border-radius:11px; background:var(--green-50); color:var(--green-700); border:1px solid rgba(44,122,75,.2); display:flex; align-items:center; justify-content:center; }
.rsg-page .rep-start-num svg { width:20px; height:20px; }
.rsg-page .rep-start-card h3 { font-family:var(--font-display); font-size:16px; font-weight:800; color:var(--ink-900); margin:0 0 6px; }
.rsg-page .rep-start-card p { font-family:var(--font-body); font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0; }
@media (max-width:860px){ .rsg-page .rep-scope-grid{ grid-template-columns:1fr; } .rsg-page .rep-signals{ grid-template-columns:1fr 1fr; } .rsg-page .rep-start{ grid-template-columns:1fr; } }
@media (max-width:520px){ .rsg-page .rep-signals{ grid-template-columns:1fr; } }

/* ---------- (B3) §4 VELOCITY vs VOLUME ---------- */
.rsg-page .rep-vel2 { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:8px 0 26px; }
.rsg-page .rep-velcard { border-radius:18px; padding:24px 26px; border:1px solid var(--line); position:relative; overflow:hidden; }
.rsg-page .rep-velcard.bad { background:#fff; }
.rsg-page .rep-velcard.good { background:linear-gradient(160deg,#F4F9F5,#EAF2EC); border-color:rgba(44,122,75,.24); box-shadow:0 18px 44px rgba(20,62,37,.09); }
.rsg-page .rep-vel-head { display:flex; align-items:center; gap:11px; margin-bottom:6px; }
.rsg-page .rep-vel-badge { font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; padding:5px 11px; border-radius:999px; }
.rsg-page .bad .rep-vel-badge { background:#EDF0EE; color:#6E7873; }
.rsg-page .good .rep-vel-badge { background:var(--green-500); color:#fff; }
.rsg-page .rep-velcard h3 { font-family:var(--font-display); font-size:18px; font-weight:800; color:var(--ink-900); margin:0 0 4px; letter-spacing:-.01em; }
.rsg-page .rep-velcard .rep-vel-sub { font-family:var(--font-body); font-size:13px; color:var(--ink-2); margin:0 0 18px; }
.rsg-page .rep-velchart { display:flex; align-items:flex-end; gap:4px; height:96px; padding:12px 4px 0; border-bottom:1.5px solid var(--line-2); }
.rsg-page .rep-velchart i { flex:1; border-radius:3px 3px 0 0; transform-origin:bottom; animation:repGrow 1.1s cubic-bezier(.16,1,.3,1) both; }
.rsg-page .rep-velchart.bars-bad i { background:#C6CDC9; }
.rsg-page .rep-velchart.bars-good i { background:linear-gradient(180deg,var(--green-500),#4ADE80); }
.rsg-page .rep-velx { display:flex; justify-content:space-between; margin-top:9px; font-family:var(--font-mono); font-size:9px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .rep-vel-foot { display:flex; align-items:center; gap:8px; margin-top:16px; font-family:var(--font-body); font-size:13px; line-height:1.45; color:var(--ink-2); }
.rsg-page .rep-vel-foot b { color:var(--ink-900); }
.rsg-page .rep-vel-foot .rep-vf-ic { width:22px; height:22px; border-radius:6px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .bad .rep-vf-ic { background:#EDF0EE; color:#7A857F; }
.rsg-page .good .rep-vf-ic { background:var(--green-50); color:var(--green-600); }
.rsg-page .rep-vf-ic svg { width:13px; height:13px; }
.rsg-page .rep-fail { background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-sm); padding:8px 4px; }
.rsg-page .rep-fail-lbl { display:flex; align-items:center; gap:9px; font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-700); padding:16px 24px 12px; }
.rsg-page .rep-fail-lbl svg { width:16px; height:16px; color:#7A857F; }
.rsg-page .rep-fail-list { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.rsg-page .rep-fail-item { display:flex; align-items:flex-start; gap:12px; padding:15px 24px; border-top:1px solid var(--line); font-family:var(--font-body); font-size:13.5px; line-height:1.5; color:var(--ink-2); }
.rsg-page .rep-fail-item .rep-fx { flex:none; width:22px; height:22px; border-radius:50%; background:#EDF0EE; color:#8A938F; display:flex; align-items:center; justify-content:center; margin-top:1px; }
.rsg-page .rep-fail-item .rep-fx svg { width:11px; height:11px; }
.rsg-page .rep-fail-item b { color:var(--ink-900); }
@media (max-width:820px){ .rsg-page .rep-vel2{ grid-template-columns:1fr; } .rsg-page .rep-fail-list{ grid-template-columns:1fr; } }

/* ===== §4 REDESIGN — 12-month review-activity heatmap ===== */
.rsg-page .rv-heat { position:relative; background:linear-gradient(162deg,#FFFFFF,#F5F9F6); border:1px solid var(--line); border-radius:22px; box-shadow:0 24px 58px -26px rgba(20,55,34,.20); padding:28px 30px; margin:6px 0 20px; overflow:hidden; }
.rsg-page .rv-heat::before { content:""; position:absolute; width:400px; height:400px; border-radius:50%; top:-230px; right:-140px; background:radial-gradient(circle,rgba(44,122,75,.08),transparent 68%); pointer-events:none; }
.rsg-page .rv-heat-head { position:relative; z-index:1; display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:20px; }
.rsg-page .rv-heat-eye { font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--green-600); display:inline-flex; align-items:center; gap:9px; }
.rsg-page .rv-heat-eye::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 4px rgba(44,122,75,.15); }
.rsg-page .rv-heat-legend { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .rv-heat-legend i { display:inline-flex; gap:3px; }
.rsg-page .rv-heat-legend i b { width:11px; height:11px; border-radius:3px; display:inline-block; }
.rsg-page .rv-tracks { position:relative; z-index:1; display:flex; flex-direction:column; gap:12px; }
.rsg-page .rv-track { display:grid; grid-template-columns:222px 1fr 146px; gap:24px; align-items:center; padding:20px 22px; border-radius:14px; }
.rsg-page .rv-track.burst { background:#F7F9F8; border:1px solid var(--line); }
.rsg-page .rv-track.steady { background:linear-gradient(160deg,#F4F9F5,#E9F1EB); border:1px solid rgba(44,122,75,.2); }
.rsg-page .rv-tlbl-badge { display:inline-flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:5px 12px; border-radius:999px; margin-bottom:13px; }
.rsg-page .burst .rv-tlbl-badge { background:#EAEDEB; color:#6E7873; }
.rsg-page .steady .rv-tlbl-badge { background:var(--green-500); color:#fff; }
.rsg-page .rv-tlbl-title { font-family:var(--font-display); font-size:16px; font-weight:800; color:var(--ink-900); letter-spacing:-.01em; margin-bottom:6px; line-height:1.2; }
.rsg-page .rv-tlbl-sub { font-family:var(--font-body); font-size:12.5px; color:var(--ink-2); line-height:1.5; }
.rsg-page .rv-recency { display:inline-flex; align-items:center; gap:6px; margin-top:11px; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.rsg-page .burst .rv-recency { color:#96A09B; }
.rsg-page .steady .rv-recency { color:var(--green-700); }
.rsg-page .rv-recency svg { width:13px; height:13px; }
.rsg-page .rv-cells { display:flex; gap:5px; align-items:center; }
.rsg-page .rv-cell { flex:1; height:36px; border-radius:7px; border:1px solid rgba(0,0,0,.03); box-shadow:inset 0 1px 0 rgba(255,255,255,.32), 0 1px 2px rgba(0,0,0,.05); }
.rsg-page .rv-cell.live { position:relative; box-shadow:0 0 0 3px rgba(44,122,75,.30), inset 0 1px 0 rgba(255,255,255,.3); }
.rsg-page .rv-cell.live::after { content:""; position:absolute; inset:-3px; border-radius:9px; border:2px solid rgba(44,122,75,.55); animation:rvPulse 2.1s ease-out infinite; }
@keyframes rvPulse { 0%{ transform:scale(1); opacity:.9; } 70%{ transform:scale(1.35); opacity:0; } 100%{ transform:scale(1.35); opacity:0; } }
.rsg-page .rv-cell.live::before { content:""; position:absolute; top:50%; left:50%; width:6px; height:6px; margin:-3px 0 0 -3px; border-radius:50%; background:#fff; box-shadow:0 0 6px rgba(255,255,255,.8); }
/* Map Pack outcome column */
.rsg-page .rv-outcome { display:flex; flex-direction:column; gap:6px; padding-left:18px; border-left:1px solid rgba(0,0,0,.08); align-self:stretch; justify-content:center; }
.rsg-page .rv-outcome-lbl { font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .rv-outcome-main { display:inline-flex; align-items:center; gap:8px; }
.rsg-page .rv-outcome-ic { flex:none; width:28px; height:28px; border-radius:8px; display:flex; align-items:center; justify-content:center; }
.rsg-page .rv-outcome-ic svg { width:15px; height:15px; }
.rsg-page .burst .rv-outcome-ic { background:#EAEDEB; color:#8A938F; }
.rsg-page .steady .rv-outcome-ic { background:var(--green-50); color:var(--green-600); }
.rsg-page .rv-outcome-val { font-family:var(--font-display); font-size:15px; font-weight:800; letter-spacing:-.01em; line-height:1.1; }
.rsg-page .burst .rv-outcome-val { color:#7A857F; }
.rsg-page .steady .rv-outcome-val { color:var(--green-700); }
.rsg-page .rv-outcome-sub { display:block; font-family:var(--font-mono); font-size:8px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; line-height:1.45; margin-top:6px; }
.rsg-page .burst .rv-outcome-sub { color:#96A09B; }
.rsg-page .steady .rv-outcome-sub { color:var(--green-600); }
.rsg-page .rv-months { display:grid; grid-template-columns:222px 1fr 146px; gap:24px; margin-top:9px; }
.rsg-page .rv-months-axis { grid-column:2; display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:9px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-500); padding:0 2px; }
@media (max-width:760px){ .rsg-page .rv-track{ grid-template-columns:1fr; gap:13px; } .rsg-page .rv-months{ display:none; } .rsg-page .rv-cell{ height:30px; } .rsg-page .rv-outcome{ border-left:none; border-top:1px solid rgba(0,0,0,.08); padding-left:0; padding-top:12px; flex-direction:row; align-items:center; gap:12px; } }
/* verdict callout (dark) */
.rsg-page .rv-verdict { position:relative; display:flex; align-items:center; gap:15px; background:linear-gradient(135deg,#0d1f14,#16321f); border-radius:16px; padding:18px 24px; margin-bottom:22px; overflow:hidden; }
.rsg-page .rv-verdict::before { content:""; position:absolute; inset:0; background:radial-gradient(60% 100% at 12% 0%,rgba(74,222,128,.12),transparent 60%); pointer-events:none; }
.rsg-page .rv-verdict-ic { position:relative; z-index:1; flex:none; width:42px; height:42px; border-radius:12px; background:rgba(74,222,128,.14); color:#4ADE80; display:flex; align-items:center; justify-content:center; }
.rsg-page .rv-verdict-ic svg { width:22px; height:22px; }
.rsg-page .rv-verdict p { position:relative; z-index:1; margin:0; font-family:var(--font-body); font-size:14.5px; line-height:1.56; color:rgba(255,255,255,.82); }
.rsg-page .rv-verdict p strong { color:#fff; font-weight:700; }
/* "how the quiet creeps in" grid */
.rsg-page .rv-quiet { background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-sm); padding:8px 6px 6px; }
.rsg-page .rv-quiet-lbl { display:flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-700); padding:16px 22px 12px; }
.rsg-page .rv-quiet-lbl svg { width:17px; height:17px; color:#96A09B; flex-shrink:0; }
.rsg-page .rv-quiet-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.rsg-page .rv-quiet-item { display:flex; align-items:flex-start; gap:13px; padding:16px 22px; border-top:1px solid var(--line); font-family:var(--font-body); font-size:13.5px; line-height:1.5; color:var(--ink-2); }
.rsg-page .rv-qi-ic { flex:none; width:32px; height:32px; border-radius:9px; background:#F0F2F1; color:#7A857F; display:flex; align-items:center; justify-content:center; }
.rsg-page .rv-qi-ic svg { width:16px; height:16px; }
.rsg-page .rv-quiet-item b { color:var(--ink-900); font-weight:700; }
@media (max-width:760px){ .rsg-page .rv-quiet-grid{ grid-template-columns:1fr; } }

/* ===== §4 REDESIGN v2 — Google "Local Pack" mockup (velocity -> ranking) ===== */
.rsg-page .mp-wrap { margin:6px 0 20px; }
.rsg-page .mp-lead { display:flex; align-items:center; gap:10px; margin-bottom:16px; font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--green-600); }
.rsg-page .mp-lead::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 4px rgba(44,122,75,.15); }
.rsg-page .mp { position:relative; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 28px 62px -26px rgba(20,55,34,.28), 0 8px 20px rgba(0,0,0,.05); overflow:hidden; }
.rsg-page .mp-bar { display:flex; align-items:center; gap:12px; padding:13px 16px; background:#fff; border-bottom:1px solid var(--line); }
.rsg-page .mp-search { flex:1; display:flex; align-items:center; gap:10px; background:var(--paper-soft); border:1px solid var(--line); border-radius:999px; padding:9px 15px; min-width:0; }
.rsg-page .mp-search .mp-g { width:16px; height:16px; flex-shrink:0; }
.rsg-page .mp-search .mp-q { font-family:var(--font-body); font-size:13.5px; font-weight:500; color:var(--ink-900); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rsg-page .mp-search .mp-caret { width:1.5px; height:15px; background:var(--green-500); margin-left:auto; flex-shrink:0; animation:mpCaret 1.1s step-end infinite; }
@keyframes mpCaret { 50%{ opacity:0; } }
.rsg-page .mp-tag { flex-shrink:0; display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.18); border-radius:7px; padding:6px 10px; }
.rsg-page .mp-tag svg { width:12px; height:12px; }
.rsg-page .mp-map { position:relative; height:78px; background:linear-gradient(135deg,#E9F0EB 0%,#E1EAE3 100%); border-bottom:1px solid var(--line); overflow:hidden; }
.rsg-page .mp-map svg.mp-roads { position:absolute; inset:0; width:100%; height:100%; }
.rsg-page .mp-pin { position:absolute; transform:translate(-50%,-100%); }
.rsg-page .mp-pin svg { display:block; filter:drop-shadow(0 3px 4px rgba(0,0,0,.22)); }
.rsg-page .mp-pin.p1 { left:26%; top:64%; width:30px; z-index:3; }
.rsg-page .mp-pin.p2 { left:58%; top:52%; width:24px; z-index:2; }
.rsg-page .mp-pin.p3 { left:80%; top:74%; width:24px; z-index:2; }
.rsg-page .mp-pin.p1 svg { width:30px; height:40px; }
.rsg-page .mp-pin.p2 svg, .rsg-page .mp-pin.p3 svg { width:24px; height:32px; }
.rsg-page .mp-result { display:grid; grid-template-columns:32px 1fr auto; gap:16px; align-items:center; padding:24px 22px; border-top:1px solid var(--line); transition:background .2s; }
.rsg-page .mp-result:hover { background:rgba(0,0,0,.012); }
.rsg-page .mp-result.win { background:linear-gradient(90deg,rgba(44,122,75,.06),transparent 62%); }
.rsg-page .mp-result.win:hover { background:linear-gradient(90deg,rgba(44,122,75,.09),transparent 62%); }
.rsg-page .mp-rank { width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:14px; color:#fff; background:#AEB6B1; }
.rsg-page .mp-result.win .mp-rank { background:linear-gradient(135deg,var(--green-500),var(--green-700)); box-shadow:0 6px 14px rgba(44,122,75,.32); }
.rsg-page .mp-name { font-family:var(--font-display); font-weight:700; font-size:15.5px; color:var(--ink-900); letter-spacing:-.01em; }
.rsg-page .mp-name .mp-you { font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#96A09B; background:#EEF0EE; border-radius:5px; padding:2px 7px; margin-left:8px; vertical-align:middle; }
.rsg-page .mp-rate { display:flex; align-items:center; gap:7px; margin-top:6px; }
.rsg-page .mp-stars { display:inline-flex; gap:1px; }
.rsg-page .mp-stars svg { width:13px; height:13px; }
.rsg-page .mp-rate-val { font-family:var(--font-body); font-size:12.5px; color:var(--ink-2); }
.rsg-page .mp-rate-val b { color:var(--ink-900); font-weight:700; }
.rsg-page .mp-recent { display:inline-flex; align-items:center; gap:5px; margin-top:9px; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.rsg-page .mp-recent svg { width:12px; height:12px; }
.rsg-page .mp-result.win .mp-recent { color:var(--green-700); }
.rsg-page .mp-result:not(.win) .mp-recent { color:#96A09B; }
.rsg-page .mp-trend { flex-shrink:0; display:inline-flex; align-items:center; gap:6px; font-family:var(--font-display); font-weight:700; font-size:12px; padding:7px 13px; border-radius:999px; }
.rsg-page .mp-trend svg { width:13px; height:13px; }
.rsg-page .mp-trend.up { background:var(--green-50); color:var(--green-700); border:1px solid rgba(44,122,75,.2); }
.rsg-page .mp-trend.down { background:#EFF1EF; color:#7A857F; border:1px solid var(--line); }
.rsg-page .mp-caption { display:flex; align-items:center; gap:14px; margin-top:16px; background:linear-gradient(135deg,#F4F9F5,#E9F1EB); border:1px solid rgba(44,122,75,.18); border-radius:14px; padding:16px 20px; }
.rsg-page .mp-caption-ic { flex:none; width:38px; height:38px; border-radius:11px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; }
.rsg-page .mp-caption-ic svg { width:20px; height:20px; }
.rsg-page .mp-caption p { margin:0; font-family:var(--font-body); font-size:14px; line-height:1.55; color:var(--ink-700); }
.rsg-page .mp-caption p strong { color:var(--ink-900); font-weight:700; }
@media (max-width:600px){
  .rsg-page .mp-result { grid-template-columns:28px 1fr; gap:12px; padding:15px 16px; }
  .rsg-page .mp-trend { grid-column:2; justify-self:start; margin-top:8px; }
  .rsg-page .mp-tag { display:none; }
}

/* ===== §5 REDESIGN — Review Engine automation-builder mockup ===== */
.rsg-page .eng { position:relative; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 28px 62px -26px rgba(20,55,34,.26), 0 8px 20px rgba(0,0,0,.05); overflow:hidden; margin:6px 0 30px; }
.rsg-page .eng-bar { display:flex; align-items:center; gap:12px; padding:13px 18px; border-bottom:1px solid var(--line); background:#fff; }
.rsg-page .eng-dots { display:flex; gap:6px; flex-shrink:0; }
.rsg-page .eng-dots i { width:10px; height:10px; border-radius:50%; }
.rsg-page .eng-dots .d1{ background:#F0645B; } .rsg-page .eng-dots .d2{ background:#F5BE4F; } .rsg-page .eng-dots .d3{ background:#5FC466; }
.rsg-page .eng-title { font-family:var(--font-display); font-weight:800; font-size:14px; color:var(--ink-900); }
.rsg-page .eng-title span { font-family:var(--font-mono); font-size:9.5px; font-weight:600; color:var(--ink-500); text-transform:uppercase; letter-spacing:.09em; margin-left:9px; }
.rsg-page .eng-active { margin-left:auto; display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green-700); flex-shrink:0; }
.rsg-page .eng-toggle { width:32px; height:18px; border-radius:999px; background:var(--green-500); position:relative; box-shadow:inset 0 0 0 1px rgba(0,0,0,.06); }
.rsg-page .eng-toggle::after { content:""; position:absolute; top:2px; right:2px; width:14px; height:14px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.28); }
.rsg-page .eng-canvas { background:radial-gradient(circle, rgba(20,60,35,.07) 1.2px, transparent 1.2px) 0 0 / 22px 22px, linear-gradient(160deg,#F8FAF9,#F1F6F3); padding:28px 28px 30px; }
.rsg-page .eng-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:28px; align-items:stretch; }
.rsg-page .eng-flow { display:flex; flex-direction:column; }
.rsg-page .eng-node { display:flex; align-items:center; gap:15px; background:#fff; border:1px solid var(--line); border-radius:13px; padding:16px 16px; box-shadow:0 6px 16px rgba(20,55,34,.08); position:relative; z-index:2; }
.rsg-page .eng-node.trigger { border-color:rgba(44,122,75,.32); box-shadow:0 10px 22px rgba(44,122,75,.15); }
.rsg-page .eng-node-ic { flex:none; width:40px; height:40px; border-radius:11px; display:flex; align-items:center; justify-content:center; }
.rsg-page .eng-node.trigger .eng-node-ic { background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; box-shadow:0 6px 14px rgba(44,122,75,.3); }
.rsg-page .eng-node:not(.trigger) .eng-node-ic { background:var(--green-50); color:var(--green-600); border:1px solid rgba(44,122,75,.16); }
.rsg-page .eng-node-ic svg { width:20px; height:20px; }
.rsg-page .eng-node-body { flex:1; min-width:0; }
.rsg-page .eng-node-title { display:block; font-family:var(--font-display); font-weight:700; font-size:13.5px; color:var(--ink-900); letter-spacing:-.01em; line-height:1.3; }
.rsg-page .eng-node-sub { display:block; font-family:var(--font-body); font-size:11px; color:var(--ink-2); margin-top:5px; line-height:1.5; }
.rsg-page .eng-node-tag { flex:none; align-self:flex-start; font-family:var(--font-mono); font-size:7.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-500); background:var(--paper-soft); border:1px solid var(--line); border-radius:6px; padding:4px 7px; }
.rsg-page .eng-node.trigger .eng-node-tag { color:var(--green-700); background:var(--green-50); border-color:rgba(44,122,75,.22); }
.rsg-page .eng-conn { height:24px; width:2px; margin-left:34px; position:relative; z-index:1; background:linear-gradient(180deg,rgba(44,122,75,.42),rgba(44,122,75,.24)); }
.rsg-page .eng-conn::after { content:""; position:absolute; left:50%; bottom:0; transform:translate(-50%,40%) rotate(45deg); width:7px; height:7px; border-right:2px solid rgba(44,122,75,.32); border-bottom:2px solid rgba(44,122,75,.32); }
.rsg-page .eng-loop { display:inline-flex; align-items:center; gap:8px; margin-top:18px; align-self:flex-start; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.2); border-radius:999px; padding:8px 14px; }
.rsg-page .eng-loop svg { width:13px; height:13px; }
/* sidebar: what the customer gets */
.rsg-page .eng-side { display:flex; flex-direction:column; gap:14px; }
.rsg-page .eng-side-lbl { font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-500); display:inline-flex; align-items:center; gap:8px; }
.rsg-page .eng-side-lbl::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 3px rgba(44,122,75,.15); }
.rsg-page .eng-phone { background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 12px 30px rgba(20,55,34,.12); padding:16px 15px; }
.rsg-page .eng-msg-from { display:flex; align-items:center; gap:9px; padding-bottom:12px; margin-bottom:13px; border-bottom:1px solid var(--line); }
.rsg-page .eng-msg-av { width:30px; height:30px; border-radius:9px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .eng-msg-av svg { width:16px; height:16px; }
.rsg-page .eng-msg-from b { font-family:var(--font-display); font-size:12.5px; font-weight:700; color:var(--ink-900); display:block; }
.rsg-page .eng-msg-from span span { display:block; font-family:var(--font-mono); font-size:8.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-500); margin-top:7px; }
.rsg-page .eng-bubble { background:linear-gradient(160deg,#EFF6F1,#E7F1EA); border:1px solid rgba(44,122,75,.14); border-radius:13px 13px 13px 4px; padding:11px 13px; font-family:var(--font-body); font-size:12px; line-height:1.5; color:var(--ink-900); }
.rsg-page .eng-bubble .eng-link { display:inline-flex; align-items:center; gap:5px; margin-top:8px; font-family:var(--font-mono); font-size:9.5px; font-weight:700; color:var(--green-700); background:#fff; border:1px solid rgba(44,122,75,.2); border-radius:7px; padding:6px 9px; }
.rsg-page .eng-bubble .eng-link svg { width:11px; height:11px; }
.rsg-page .eng-delivered { display:flex; align-items:center; justify-content:flex-end; gap:5px; margin-top:7px; font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--green-600); }
.rsg-page .eng-delivered svg { width:11px; height:11px; }
/* sidebar: "reviews keep arriving" feed — fills the column + reinforces velocity */
.rsg-page .eng-feed { flex:1; min-height:0; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 6px 16px rgba(20,55,34,.07); padding:15px 16px; }
.rsg-page .eng-feed-hd { display:flex; align-items:center; gap:8px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.rsg-page .eng-feed-dot { width:7px; height:7px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 3px rgba(44,122,75,.15); flex:none; }
.rsg-page .eng-feed-hd b { font-family:var(--font-display); font-size:12.5px; font-weight:800; color:var(--ink-900); }
.rsg-page .eng-feed-tag { margin-left:auto; font-family:var(--font-mono); font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.2); border-radius:6px; padding:3px 7px; }
.rsg-page .eng-feed-list { flex:1; display:flex; flex-direction:column; justify-content:space-evenly; padding:4px 0; }
.rsg-page .eng-feed-row { display:flex; align-items:center; gap:11px; }
.rsg-page .eng-feed-av { flex:none; width:30px; height:30px; border-radius:9px; background:var(--green-50); border:1px solid rgba(44,122,75,.16); color:var(--green-700); font-family:var(--font-display); font-weight:800; font-size:12px; display:flex; align-items:center; justify-content:center; }
.rsg-page .eng-feed-info { flex:1; min-width:0; }
.rsg-page .eng-feed-stars { display:block; color:var(--green-500); font-size:10px; letter-spacing:1.5px; line-height:1; }
.rsg-page .eng-feed-name { display:block; font-family:var(--font-body); font-size:11.5px; color:var(--ink-2); margin-top:4px; }
.rsg-page .eng-feed-name b { color:var(--ink-900); font-weight:700; }
.rsg-page .eng-feed-foot { display:flex; align-items:center; gap:7px; padding-top:11px; border-top:1px solid var(--line); font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .eng-feed-foot svg { width:12px; height:12px; color:var(--green-600); flex:none; }
@media (max-width:820px){ .rsg-page .eng-grid { grid-template-columns:1fr; gap:22px; } .rsg-page .eng-feed { flex:none; } }
@media (max-width:560px){
  .rsg-page .eng-node-tag { display:none; }
  .rsg-page .eng-title span { display:none; }
  .rsg-page .eng-canvas { padding:22px 16px 24px; }
  .rsg-page .eng-node { padding:12px 13px; gap:12px; }
}

/* ---------- (B4) §5 REVIEW ENGINE — step cards (engine mockup CSS lives in the §5 REDESIGN block above) ---------- */
.rsg-page .rep-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.rsg-page .rep-step { background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px; box-shadow:var(--shadow-md); position:relative; overflow:hidden; transition:transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .rep-step:hover { transform:translateY(-3px); border-color:rgba(44,122,75,.3); box-shadow:0 16px 38px rgba(0,0,0,.08); }
.rsg-page .rep-step::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--green-500),var(--green-700)); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.rsg-page .rep-step:hover::before { transform:scaleX(1); }
.rsg-page .rep-step-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(44,122,75,.24); position:relative; z-index:1; }
.rsg-page .rep-step-ic svg { width:21px; height:21px; }
.rsg-page .rep-step h3 { font-family:var(--font-display); font-size:16.5px; font-weight:700; color:var(--ink-900); margin:0 0 8px; line-height:1.3; }
.rsg-page .rep-step p { font-family:var(--font-body); font-size:13px; line-height:1.58; color:var(--ink-2); margin:0; position:relative; z-index:1; }
.rsg-page .rep-step p a.ilink { color:var(--green-700); font-weight:600; }
@media (max-width:900px){ .rsg-page .rep-steps{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .rsg-page .rep-steps{ grid-template-columns:1fr; } }

/* §5 feature — turning reviews into marketing (2-col, enhanced surface list + real screenshot) */
.rsg-page .rep-feature { display:grid; grid-template-columns:1fr 1.08fr; gap:38px; align-items:center; margin-top:30px; background:linear-gradient(160deg,#F4FAF6,#FFFFFF 62%); border:1px solid rgba(44,122,75,.16); border-radius:22px; padding:34px 36px; }
.rsg-page .rep-feature-body h3 { font-family:var(--font-display); font-size:22px; font-weight:800; color:var(--ink-900); margin:0 0 12px; letter-spacing:-.01em; line-height:1.22; }
.rsg-page .rep-feature-body p { font-family:var(--font-body); font-size:14.5px; line-height:1.7; color:var(--ink-700); margin:0 0 20px; }
.rsg-page .rep-feature-body p a.ilink { color:var(--green-700); font-weight:600; }
/* enhanced "where reviews show up" list */
.rsg-page .rep-surf-list { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 26px -14px rgba(20,55,34,.2); overflow:hidden; }
.rsg-page .rep-surf-item { display:flex; align-items:center; gap:13px; padding:13px 16px; border-top:1px solid rgba(44,122,75,.1); transition:background .18s; }
.rsg-page .rep-surf-item:first-child { border-top:0; }
.rsg-page .rep-surf-item:hover { background:var(--green-50); }
.rsg-page .rep-surf-ic { width:38px; height:38px; border-radius:11px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; flex:none; box-shadow:0 6px 15px rgba(44,122,75,.24); }
.rsg-page .rep-surf-ic svg { width:19px; height:19px; }
.rsg-page .rep-surf-tx { flex:1; min-width:0; }
.rsg-page .rep-surf-tx b { display:block; font-family:var(--font-display); font-size:14px; font-weight:700; color:var(--ink-900); line-height:1.2; }
.rsg-page .rep-surf-tx span { display:block; font-family:var(--font-body); font-size:12px; color:var(--ink-2); margin-top:3px; }
.rsg-page .rep-surf-check { flex:none; width:22px; height:22px; border-radius:50%; background:var(--green-50); color:var(--green-600); display:flex; align-items:center; justify-content:center; }
.rsg-page .rep-surf-check svg { width:13px; height:13px; }
/* browser-frame side gets a soft caption lead */
.rsg-page .rep-feature-vis { }
.rsg-page .rep-feature-vis .rep-viz-lead { display:inline-flex; align-items:center; gap:8px; margin-bottom:12px; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.2); border-radius:999px; padding:6px 13px; }
.rsg-page .rep-feature-vis .rep-viz-lead svg { width:13px; height:13px; }
/* browser frame for screenshot */
.rsg-page .rep-bw { background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 24px 54px -18px rgba(20,55,34,.34), 0 8px 20px rgba(0,0,0,.06); overflow:hidden; }
.rsg-page .rep-bw-bar { display:flex; align-items:center; gap:7px; padding:9px 13px; background:#F4F6F5; border-bottom:1px solid var(--line); }
.rsg-page .rep-bw-bar i { width:9px; height:9px; border-radius:50%; }
.rsg-page .rep-bw-bar .d1{ background:#F0645B;} .rsg-page .rep-bw-bar .d2{ background:#F5BE4F;} .rsg-page .rep-bw-bar .d3{ background:#5FC466;}
.rsg-page .rep-bw-url { margin-left:8px; flex:1; background:#fff; border:1px solid var(--line); border-radius:6px; padding:4px 11px; font-family:var(--font-mono); font-size:10px; color:#7A857F; }
.rsg-page .rep-bw img { display:block; width:100%; height:auto; }
.rsg-page .rep-bw-cap { font-family:var(--font-body); font-size:11.5px; color:var(--ink-500); text-align:center; padding:10px 14px; background:#fff; border-top:1px solid var(--line); }
.rsg-page .rep-bw-cap b { color:var(--ink-700); }
@media (max-width:840px){ .rsg-page .rep-feature{ grid-template-columns:1fr; gap:26px; padding:28px 24px; } }

/* §5 dual list — what we handle vs what you handle */
.rsg-page .rep-dual { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:30px; align-items:start; }
.rsg-page .rep-dcol { position:relative; overflow:hidden; border-radius:18px; padding:26px 26px; border:1px solid var(--line); }
.rsg-page .rep-dcol.we { background:linear-gradient(160deg,#F1F8F3,#E5EFE8); border-color:rgba(44,122,75,.26); box-shadow:0 16px 36px -20px rgba(20,55,34,.32); }
.rsg-page .rep-dcol.we::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--green-500),var(--green-700)); }
.rsg-page .rep-dcol.you { background:#fff; box-shadow:var(--shadow-sm); }
.rsg-page .rep-dcol-head { display:flex; align-items:center; gap:13px; margin-bottom:4px; padding-bottom:16px; border-bottom:1px solid rgba(0,0,0,.08); }
.rsg-page .we .rep-dcol-head { border-bottom-color:rgba(44,122,75,.18); }
.rsg-page .rep-dcol-ic { width:40px; height:40px; border-radius:11px; display:flex !important; align-items:center !important; justify-content:center !important; flex-shrink:0; align-self:center; }
.rsg-page .we .rep-dcol-ic { background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; box-shadow:0 8px 18px rgba(44,122,75,.26); }
.rsg-page .you .rep-dcol-ic { background:var(--paper-soft); color:var(--green-600); border:1px solid var(--line); }
.rsg-page .rep-dcol-ic svg { width:20px !important; height:20px !important; display:block; }
.rsg-page .rep-dcol-head b { font-family:var(--font-display); font-size:16px; font-weight:800; color:var(--ink-900); display:block; letter-spacing:-.01em; }
.rsg-page .rep-dcol-head > div > span { display:block; margin-top:6px; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--green-600); }
.rsg-page .you .rep-dcol-head > div > span { color:var(--ink-500); }
.rsg-page .rep-dlist { list-style:none; margin:0; padding:0; }
.rsg-page .rep-dlist li { display:flex; align-items:center; gap:13px; padding:13px 2px; font-family:var(--font-body); font-size:13.5px; line-height:1.45; color:var(--ink-700); border-top:1px solid var(--line); }
.rsg-page .we .rep-dlist li { border-top-color:rgba(44,122,75,.14); }
.rsg-page .rep-dlist li:first-child { border-top:0; }
.rsg-page .rep-dlist li svg { flex:none; width:23px; height:23px; padding:5px; border-radius:50%; box-sizing:border-box; }
.rsg-page .we .rep-dlist li svg { background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; box-shadow:0 4px 10px rgba(44,122,75,.3); }
.rsg-page .you .rep-dlist li svg { background:var(--green-50); color:var(--green-600); border:1px solid rgba(44,122,75,.2); }
@media (max-width:760px){ .rsg-page .rep-dual{ grid-template-columns:1fr; } }

/* ---------- (B5) §8 STALE-REPUTATION COST (reuses .rm-card internals) ---------- */
.rsg-page .rep-cost { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
@media (max-width:900px){ .rsg-page .rep-cost{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .rsg-page .rep-cost{ grid-template-columns:1fr; } }
.rsg-page .rep-ccard { background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px 22px; box-shadow:var(--shadow-sm); position:relative; overflow:hidden; display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s, border-color .2s; }
.rsg-page .rep-ccard:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:rgba(44,122,75,.24); }
.rsg-page .rep-ccard::after { content:""; position:absolute; width:130px; height:130px; border-radius:50%; top:-74px; right:-54px; background:radial-gradient(circle,rgba(44,122,75,.09),transparent 70%); }
.rsg-page .rep-cc-ic { width:46px; height:46px; border-radius:13px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:14px; box-shadow:0 8px 20px rgba(44,122,75,.24); position:relative; z-index:1; }
.rsg-page .rep-cc-ic svg { width:23px; height:23px; }
.rsg-page .rep-cc-title { font-family:var(--font-display); font-size:15.5px; font-weight:800; color:var(--ink-900); margin:0 0 8px; letter-spacing:-.01em; line-height:1.28; position:relative; z-index:1; }
.rsg-page .rep-cc-desc { font-family:var(--font-body); font-size:13px; line-height:1.6; color:var(--ink-2); margin:0 0 16px; position:relative; z-index:1; }
.rsg-page .rep-cc-desc a.ilink { color:var(--green-700); font-weight:600; }
.rsg-page .rep-cc-foot { margin-top:auto; padding-top:14px; border-top:1px solid var(--line); display:flex; align-items:center; gap:11px; position:relative; z-index:1; }
.rsg-page .rep-cc-viz { flex:none; display:flex; align-items:center; }
.rsg-page .rep-cc-cap { font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-500); line-height:1.4; }

/* ---------- (B6) §9 REVIEWS HUB + language mining ---------- */
.rsg-page .rep-hub { display:grid; grid-template-columns:1fr; gap:0; margin:6px 0 24px; }
/* hub -> spokes org-chart connector (stem + rail + 3 drops + connection nodes) */
.rsg-page .rep-hub-links { position:relative; height:52px; }
.rsg-page .rep-hub-links span { position:absolute; }
.rsg-page .rhl-stem { top:3px; left:calc(50% - 1px); width:2px; height:25px; border-radius:2px; background:var(--green-500); }
.rsg-page .rhl-rail { top:27px; left:calc((100% - 36px)/6); right:calc((100% - 36px)/6); height:2px; border-radius:2px; background:linear-gradient(90deg,var(--green-600),var(--green-500) 50%,var(--green-600)); }
.rsg-page .rhl-drop { top:27px; width:2px; height:25px; border-radius:2px; background:var(--green-500); }
.rsg-page .rhl-drop.d1 { left:calc((100% - 36px)/6 - 1px); }
.rsg-page .rhl-drop.d2 { left:calc(50% - 1px); }
.rsg-page .rhl-drop.d3 { right:calc((100% - 36px)/6 - 1px); }
.rsg-page .rhl-node { top:41px; width:11px; height:11px; border-radius:50%; background:linear-gradient(135deg,var(--green-500),var(--green-700)); box-shadow:0 0 0 3px #fff, 0 0 0 4px rgba(44,122,75,.22), 0 3px 9px rgba(44,122,75,.35); }
.rsg-page .rhl-node.n1 { left:calc((100% - 36px)/6 - 5.5px); }
.rsg-page .rhl-node.n2 { left:calc(50% - 5.5px); }
.rsg-page .rhl-node.n3 { right:calc((100% - 36px)/6 - 5.5px); }
.rsg-page .rep-hub-center { display:flex; align-items:center; gap:16px; background:linear-gradient(135deg,var(--green-600),var(--green-500)); border-radius:18px; padding:22px 26px; color:#fff; box-shadow:0 18px 40px rgba(20,62,37,.24); }
.rsg-page .rep-hub-center .rep-hub-ic { width:52px; height:52px; border-radius:14px; background:rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .rep-hub-center .rep-hub-ic svg { width:27px; height:27px; }
.rsg-page .rep-hub-center b { font-family:var(--font-display); font-size:19px; font-weight:800; display:block; line-height:1.15; margin-bottom:8px; }
.rsg-page .rep-hub-center span { font-family:var(--font-body); font-size:13.5px; color:rgba(255,255,255,.85); }
.rsg-page .rep-hub-center .rep-hub-lead { flex-shrink:0; }
.rsg-page .rep-hub-signals { display:flex; flex-wrap:wrap; gap:9px; margin-left:auto; justify-content:flex-end; }
.rsg-page .rep-hub-center .rep-hub-signals span { display:inline-flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.03em; color:#fff; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.32); border-radius:999px; padding:7px 13px; white-space:nowrap; }
.rsg-page .rep-hub-center .rep-hub-signals span::before { content:""; width:6px; height:6px; border-radius:50%; background:#fff; opacity:.75; flex-shrink:0; }
.rsg-page .rep-hub-spokes { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; position:relative; }
.rsg-page .rep-spoke { background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px 24px 22px; box-shadow:0 10px 30px -18px rgba(20,55,34,.28); position:relative; overflow:hidden; display:flex; flex-direction:column; transition:transform .22s, box-shadow .22s; }
.rsg-page .rep-spoke::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--green-500),var(--green-700)); transform:scaleX(0); transform-origin:left; transition:transform .32s ease; }
.rsg-page .rep-spoke:hover { transform:translateY(-4px); box-shadow:0 22px 46px -20px rgba(20,55,34,.42); }
.rsg-page .rep-spoke:hover::before { transform:scaleX(1); }
.rsg-page .rep-spoke-ic { width:46px; height:46px; border-radius:13px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:15px; box-shadow:0 8px 18px rgba(44,122,75,.28); align-self:flex-start; }
.rsg-page .rep-spoke-ic svg { width:22px; height:22px; }
.rsg-page .rep-spoke h3 { font-family:var(--font-display); font-size:15.5px; font-weight:800; color:var(--ink-900); margin:0 0 8px; letter-spacing:-.01em; }
.rsg-page .rep-spoke p { font-family:var(--font-body); font-size:13px; line-height:1.6; color:var(--ink-2); margin:0; }
.rsg-page .rep-spoke p a.ilink { color:var(--green-700); font-weight:600; }
/* spoke micro-viz footers — the graphic element each card needs */
.rsg-page .rep-spoke-viz { margin-top:auto; padding-top:16px; border-top:1px solid var(--line); }
.rsg-page .rep-spoke-viz .rsv-lbl { display:block; font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--ink-500); margin:0 0 10px; }
/* card 1 — map-pack rank ladder */
.rsg-page .spk-rank { display:flex; flex-direction:column; gap:6px; }
.rsg-page .spk-rank-row { display:flex; align-items:center; gap:9px; padding:7px 10px; border-radius:9px; }
.rsg-page .spk-rank-row .spk-pos { font-family:var(--font-mono); font-weight:700; font-size:10px; flex-shrink:0; }
.rsg-page .spk-rank-row.is-top { background:var(--green-50); border:1px solid rgba(44,122,75,.22); }
.rsg-page .spk-rank-row.is-top .spk-pos { color:var(--green-700); }
.rsg-page .spk-rank-row.is-top b { font-family:var(--font-display); font-size:11.5px; font-weight:700; color:var(--ink-900); }
.rsg-page .spk-rank-row.is-top .spk-pin { display:inline-flex; color:var(--green-600); flex-shrink:0; }
.rsg-page .spk-rank-row.is-top .spk-pin svg { width:13px; height:13px; }
.rsg-page .spk-rank-row.ghost .spk-pos { color:var(--ink-500); }
.rsg-page .spk-rank-row.ghost .spk-bar { flex:1; height:6px; border-radius:3px; background:var(--line); }
/* card 2 — GBP profile strip */
.rsg-page .spk-gbp { display:flex; align-items:center; gap:11px; }
.rsg-page .spk-gbp-av { width:34px; height:34px; border-radius:10px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; font-family:var(--font-display); font-weight:800; font-size:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .spk-gbp-info { flex:1; min-width:0; }
.rsg-page .spk-gbp-info b { display:block; font-family:var(--font-display); font-size:12px; font-weight:700; color:var(--ink-900); }
.rsg-page .spk-gbp-info .spk-gbp-stars { display:block; margin-top:4px; font-size:12px; letter-spacing:2.5px; color:var(--green-500); line-height:1; }
.rsg-page .spk-gbp-badge { display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.22); border-radius:999px; padding:5px 10px; flex-shrink:0; }
.rsg-page .spk-gbp-badge::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--green-500); }
/* card 3 — AI answer */
.rsg-page .spk-ai { display:flex; flex-direction:column; gap:9px; }
.rsg-page .spk-ai-bubble { background:var(--green-50); border:1px solid rgba(44,122,75,.18); border-radius:11px; padding:10px 12px; font-family:var(--font-body); font-size:11.5px; line-height:1.5; color:var(--ink-2); font-style:italic; }
.rsg-page .spk-ai-bubble b { color:var(--green-700); font-weight:700; font-style:normal; }
.rsg-page .spk-ai-sources { display:flex; flex-wrap:wrap; gap:6px; }
.rsg-page .spk-ai-sources span { display:inline-flex; align-items:center; gap:5px; font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-500); background:#fff; border:1px solid var(--line); border-radius:999px; padding:4px 9px; }
.rsg-page .spk-ai-sources span::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--green-500); flex-shrink:0; }
.rsg-page .rep-mine { display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; margin-top:26px; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow-md); padding:28px 30px; }
.rsg-page .rep-mine-body h3 { font-family:var(--font-display); font-size:20px; font-weight:800; color:var(--ink-900); margin:0 0 11px; letter-spacing:-.01em; }
.rsg-page .rep-mine-body p { font-family:var(--font-body); font-size:14px; line-height:1.68; color:var(--ink-700); margin:0; }
.rsg-page .rep-mine-body p a.ilink { color:var(--green-700); font-weight:600; }
.rsg-page .rep-mine-body .rmb-head { display:flex; align-items:center; gap:11px; margin-bottom:15px; }
.rsg-page .rep-mine-body .rmb-ic { width:40px; height:40px; border-radius:11px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 8px 18px rgba(44,122,75,.26); }
.rsg-page .rep-mine-body .rmb-ic svg { width:20px; height:20px; }
.rsg-page .rep-mine-body .rmb-eyebrow { font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--green-600); }
.rsg-page .rep-mine-body .rmb-note { display:flex; align-items:flex-start; gap:11px; margin-top:18px; padding:14px 16px; background:var(--green-50); border-left:3px solid var(--green-500); border-radius:0 12px 12px 0; }
.rsg-page .rep-mine-body .rmb-note-ic { color:var(--green-600); flex-shrink:0; margin-top:1px; display:inline-flex; }
.rsg-page .rep-mine-body .rmb-note-ic svg { width:17px; height:17px; }
.rsg-page .rep-mine-body .rmb-note p { margin:0; font-family:var(--font-body); font-size:13.5px; line-height:1.55; color:var(--ink-2); font-style:italic; }
.rsg-page .rep-mine-body .rmb-note p strong { color:var(--green-700); font-weight:700; font-style:normal; }
.rsg-page .rep-mine-viz { display:flex; flex-direction:column; gap:14px; }
.rsg-page .rep-phrases { display:flex; flex-wrap:wrap; gap:9px; }
.rsg-page .rep-phrase { font-family:var(--font-body); font-size:13px; font-style:italic; color:var(--ink-900); background:var(--paper-soft); border:1px dashed rgba(44,122,75,.35); border-radius:999px; padding:8px 15px; }
.rsg-page .rep-mine-arrow { display:flex; align-items:center; justify-content:center; gap:9px; font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green-600); }
.rsg-page .rep-mine-arrow svg { width:18px; height:18px; }
.rsg-page .rep-mine-out { display:flex; flex-wrap:wrap; gap:9px; }
.rsg-page .rep-mine-out span { display:inline-flex; align-items:center; gap:7px; font-family:var(--font-display); font-weight:600; font-size:12px; color:#fff; background:linear-gradient(135deg,var(--green-500),var(--green-700)); border-radius:999px; padding:7px 14px; box-shadow:0 6px 14px rgba(44,122,75,.24); }
@media (max-width:860px){ .rsg-page .rep-hub{ gap:16px; } .rsg-page .rep-hub-links{ display:none; } .rsg-page .rep-hub-spokes{ grid-template-columns:1fr; } .rsg-page .rep-mine{ grid-template-columns:1fr; gap:22px; } .rsg-page .rep-hub-center{ flex-wrap:wrap; } .rsg-page .rep-hub-signals{ margin-left:0; justify-content:flex-start; width:100%; } }

/* ---------- (B7) §11 CASE STUDY (dark) ---------- */
.rsg-page .rep-case { display:grid; grid-template-columns:1.1fr 1fr; gap:44px; align-items:center; }
.rsg-page .rep-case-badge { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#8FE7B2; background:rgba(74,222,128,.1); border:1px solid rgba(74,222,128,.24); border-radius:999px; padding:6px 14px; margin-bottom:18px; }
.rsg-page .rep-case-body h2 { color:#fff; margin:0 0 8px; }
.rsg-page .rep-case-loc { font-family:var(--font-mono); font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#8FE7B2; margin:0 0 16px; }
.rsg-page .rep-case-body p { font-family:var(--font-body); font-size:15px; line-height:1.72; color:rgba(255,255,255,.8); margin:0 0 16px; }
.rsg-page .rep-case-body p strong { color:#fff; }
.rsg-page .rep-case-rail { display:flex; gap:14px; margin-top:22px; }
.rsg-page .rep-stat { flex:1; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:16px 14px; text-align:center; }
.rsg-page .rep-stat b { display:block; font-family:var(--font-display); font-weight:800; font-size:30px; color:#fff; line-height:1; letter-spacing:-.02em; }
.rsg-page .rep-stat b .rep-stat-star { color:#FBBF24; font-size:22px; }
.rsg-page .rep-stat span { display:block; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:rgba(255,255,255,.62); margin-top:8px; line-height:1.4; }
.rsg-page .rep-case-note { display:flex; align-items:center; gap:11px; margin-top:22px; background:rgba(74,222,128,.08); border:1px solid rgba(74,222,128,.2); border-radius:13px; padding:14px 18px; }
.rsg-page .rep-case-note svg { flex:none; width:20px; height:20px; color:#4ADE80; }
.rsg-page .rep-case-note p { margin:0; font-family:var(--font-body); font-size:14px; color:#fff; }
.rsg-page .rep-case-note p strong { color:#fff; }
/* growth chart */
.rsg-page .rep-chart { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.11); border-radius:20px; padding:24px 24px 20px; }
.rsg-page .rep-chart-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.rsg-page .rep-chart-top .rep-chart-t { font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:rgba(255,255,255,.62); }
.rsg-page .rep-chart-top .rep-chart-v { font-family:var(--font-display); font-weight:800; font-size:13px; color:#8FE7B2; }
.rsg-page .rep-chart-svg { width:100%; height:auto; display:block; }
.rsg-page .rep-chart-x { display:flex; justify-content:space-between; margin-top:8px; font-family:var(--font-mono); font-size:9.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.rsg-page .rep-area-path { animation:repDraw 1.6s ease-out forwards; }
.rsg-page .rep-line-path { stroke-dasharray:600; stroke-dashoffset:600; animation:repDrawLine 1.8s ease-out forwards; }
@keyframes repDrawLine { to { stroke-dashoffset:0; } }
@keyframes repDraw { from { opacity:0; } to { opacity:1; } }
@media (max-width:860px){ .rsg-page .rep-case{ grid-template-columns:1fr; gap:30px; } }
@media (max-width:460px){ .rsg-page .rep-case-rail{ flex-wrap:wrap; } .rsg-page .rep-stat{ flex:1 1 40%; } }
/* ===== §11 CASE STUDY REDESIGN — "90-Day Transformation" (rep-case/rep-chart/rep-stat above now dead) ===== */
.rsg-page .rc2-head { max-width:840px; margin-bottom:32px; }
.rsg-page .rc2-badge { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#8FE7B2; background:rgba(74,222,128,.1); border:1px solid rgba(74,222,128,.24); border-radius:999px; padding:6px 14px; margin-bottom:18px; }
.rsg-page .rc2-badge svg { width:14px; height:14px; }
.rsg-page .rc2-head h2 { color:#fff; margin:0 0 13px; }
.rsg-page .rc2-client { display:inline-flex; align-items:center; gap:9px; font-family:var(--font-mono); font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#8FE7B2; }
.rsg-page .rc2-client::before { content:""; width:7px; height:7px; border-radius:50%; background:#4ADE80; box-shadow:0 0 10px #4ADE80; }
/* transformation panel */
.rsg-page .rc2-xform { display:grid; grid-template-columns:1fr auto 1fr; align-items:stretch; background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.12); border-radius:24px; padding:34px 30px; margin-bottom:32px; position:relative; overflow:hidden; }
.rsg-page .rc2-xform::before { content:""; position:absolute; right:-90px; top:-90px; width:340px; height:340px; background:radial-gradient(circle,rgba(74,222,128,.16),transparent 70%); pointer-events:none; }
.rsg-page .rc2-state { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; padding:4px 30px; }
.rsg-page .rc2-state.after { padding-left:34px; border-left:1px dashed rgba(255,255,255,.12); }
.rsg-page .rc2-daytag { font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:15px; }
.rsg-page .rc2-state.before .rc2-daytag { color:rgba(255,255,255,.5); }
.rsg-page .rc2-state.after .rc2-daytag { color:#8FE7B2; }
.rsg-page .rc2-stars { font-size:19px; letter-spacing:3px; line-height:1; margin-bottom:16px; display:flex; align-items:center; }
.rsg-page .rc2-state.before .rc2-stars { color:rgba(255,255,255,.22); }
.rsg-page .rc2-state.after .rc2-stars { color:#4ADE80; }
.rsg-page .rc2-stars .rc2-rating { font-family:var(--font-display); font-size:14px; font-weight:800; color:#fff; margin-left:9px; letter-spacing:0; }
.rsg-page .rc2-big { font-family:var(--font-display); font-weight:800; line-height:1; letter-spacing:-.02em; display:flex; align-items:baseline; gap:9px; }
.rsg-page .rc2-big .rc2-num { font-size:54px; }
.rsg-page .rc2-big .rc2-unit { font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.rsg-page .rc2-state.before .rc2-big { color:rgba(255,255,255,.5); }
.rsg-page .rc2-state.after .rc2-big { color:#fff; }
.rsg-page .rc2-state.after .rc2-big .rc2-num { text-shadow:0 0 34px rgba(74,222,128,.55); }
.rsg-page .rc2-sub { margin-top:13px; font-family:var(--font-body); font-size:12.5px; line-height:1.5; }
.rsg-page .rc2-state.before .rc2-sub { color:rgba(255,255,255,.46); }
.rsg-page .rc2-state.after .rc2-sub { color:rgba(255,255,255,.82); }
.rsg-page .rc2-state.after .rc2-sub strong { color:#8FE7B2; font-weight:700; }
/* center climb connector */
.rsg-page .rc2-arc { position:relative; z-index:1; width:158px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.rsg-page .rc2-arc svg { width:100%; height:72px; display:block; overflow:visible; }
.rsg-page .rc2-arc-lbl { margin-top:8px; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#8FE7B2; white-space:nowrap; }
/* story + stat tiles */
.rsg-page .rc2-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:44px; align-items:center; }
.rsg-page .rc2-story p { font-family:var(--font-body); font-size:15px; line-height:1.72; color:rgba(255,255,255,.8); margin:0 0 16px; }
.rsg-page .rc2-story p strong { color:#fff; }
.rsg-page .rc2-note { display:flex; align-items:center; gap:14px; margin-top:16px; background:linear-gradient(135deg,rgba(74,222,128,.16),rgba(74,222,128,.04)); border:1px solid rgba(74,222,128,.32); border-radius:15px; padding:15px 20px; position:relative; overflow:hidden; }
.rsg-page .rc2-note::before { content:""; position:absolute; right:-40px; top:-40px; width:150px; height:150px; background:radial-gradient(circle,rgba(74,222,128,.22),transparent 70%); pointer-events:none; }
.rsg-page .rc2-note-ic { position:relative; z-index:1; width:38px; height:38px; border-radius:11px; background:linear-gradient(135deg,#4ADE80,#1F9D50); color:#0A0A0A; display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 6px 16px rgba(74,222,128,.4); }
.rsg-page .rc2-note-ic svg { width:19px; height:19px; }
.rsg-page .rc2-note p { position:relative; z-index:1; margin:0; font-family:var(--font-display); font-size:15px; font-weight:700; color:#fff; line-height:1.4; letter-spacing:-.01em; }
.rsg-page .rc2-stats { display:flex; flex-direction:column; gap:14px; }
.rsg-page .rc2-tile { display:flex; align-items:center; gap:15px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:17px 20px; position:relative; overflow:hidden; }
.rsg-page .rc2-tile::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,#4ADE80,#8FE7B2); }
.rsg-page .rc2-tile-ic { width:42px; height:42px; border-radius:12px; background:rgba(74,222,128,.14); border:1px solid rgba(74,222,128,.28); color:#4ADE80; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .rc2-tile-ic svg { width:20px; height:20px; }
.rsg-page .rc2-tile-b { display:block; font-family:var(--font-display); font-weight:800; font-size:26px; color:#fff; line-height:1; letter-spacing:-.02em; }
.rsg-page .rc2-tile-b .rc2-star { color:#4ADE80; font-size:18px; }
.rsg-page .rc2-tile-l { display:block; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:rgba(255,255,255,.62); margin-top:8px; }
.rsg-page .rc2-foot { font-family:var(--font-mono); font-size:10px; font-weight:600; letter-spacing:.04em; color:rgba(255,255,255,.5); margin:30px 0 0; }
@media (max-width:860px){
  .rsg-page .rc2-xform { grid-template-columns:1fr; padding:26px 22px; }
  .rsg-page .rc2-state { padding:16px 4px; }
  .rsg-page .rc2-state.after { padding-left:4px; border-left:0; border-top:1px dashed rgba(255,255,255,.12); padding-top:22px; }
  .rsg-page .rc2-arc { width:100%; flex-direction:row; gap:12px; padding:8px 0; }
  .rsg-page .rc2-arc svg { width:70px; height:48px; transform:rotate(90deg); }
  .rsg-page .rc2-grid { grid-template-columns:1fr; gap:28px; }
}
@media (max-width:520px){ .rsg-page .rc2-big .rc2-num{ font-size:42px; } }
/* ===== §11 CASE STUDY v3 — realistic Google Business Profile proof mockup ===== */
.rsg-page .rc2-panel { position:relative; overflow:hidden; border-radius:26px; padding:42px 44px; background:linear-gradient(165deg,rgba(255,255,255,.06),rgba(255,255,255,.02) 62%); border:1px solid rgba(255,255,255,.13); box-shadow:0 40px 90px -42px rgba(0,0,0,.85); }
.rsg-page .rc2-panel::before { content:""; position:absolute; top:-150px; right:-130px; width:480px; height:480px; background:radial-gradient(circle,rgba(74,222,128,.15),transparent 68%); pointer-events:none; }
.rsg-page .rc2-panel::after { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,transparent,rgba(74,222,128,.55),transparent); }
.rsg-page .rc2-panel > .rc2-split { position:relative; z-index:1; }
.rsg-page .rc2-split { display:grid; grid-template-columns:1.05fr .95fr; gap:46px; align-items:start; }
.rsg-page .rc2-did { margin-top:24px; }
.rsg-page .rc2-did-lbl { display:block; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#8FE7B2; margin-bottom:13px; }
.rsg-page .rc2-did ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.rsg-page .rc2-did li { display:flex; align-items:flex-start; gap:11px; font-family:var(--font-body); font-size:13.5px; line-height:1.45; color:rgba(255,255,255,.78); }
.rsg-page .rc2-did li svg { flex:none; width:20px; height:20px; padding:4px; border-radius:50%; background:rgba(74,222,128,.16); border:1px solid rgba(74,222,128,.32); color:#4ADE80; box-sizing:border-box; margin-top:1px; }
.rsg-page .rc2-did li strong { color:#fff; font-weight:700; }
@media (max-width:560px){ .rsg-page .rc2-panel{ padding:26px 20px; border-radius:20px; } }
.rsg-page .rc2-left h2 { color:#fff; margin:0 0 13px; }
.rsg-page .rc2-left > .rc2-client { margin-bottom:20px; }
.rsg-page .rc2-left p { font-family:var(--font-body); font-size:15px; line-height:1.72; color:rgba(255,255,255,.8); margin:0 0 16px; }
.rsg-page .rc2-left p strong { color:#fff; }
.rsg-page .rc2-stats3 { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:24px; }
.rsg-page .rc2-stat { position:relative; overflow:hidden; background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.03)); border:1px solid rgba(255,255,255,.13); border-radius:16px; padding:17px 16px 15px; transition:transform .2s, box-shadow .2s, border-color .2s; }
.rsg-page .rc2-stat::before { content:""; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,#4ADE80,#8FE7B2); }
.rsg-page .rc2-stat:hover { transform:translateY(-3px); border-color:rgba(74,222,128,.42); box-shadow:0 16px 34px -18px rgba(74,222,128,.45); }
.rsg-page .rc2-stat-ic { width:34px; height:34px; border-radius:9px; background:rgba(74,222,128,.15); border:1px solid rgba(74,222,128,.3); color:#4ADE80; display:flex; align-items:center; justify-content:center; margin-bottom:13px; }
.rsg-page .rc2-stat-ic svg { width:17px; height:17px; }
.rsg-page .rc2-stat b { display:block; font-family:var(--font-display); font-weight:800; font-size:30px; color:#fff; line-height:1; letter-spacing:-.02em; text-shadow:0 0 26px rgba(74,222,128,.4); }
.rsg-page .rc2-stat b i { color:#4ADE80; font-size:20px; font-style:normal; margin-left:2px; }
.rsg-page .rc2-stat-l { display:block; font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-top:10px; line-height:1.4; }
.rsg-page .rc2-right { position:relative; }
.rsg-page .gbp { background:#fff; border-radius:18px; box-shadow:0 34px 80px -26px rgba(0,0,0,.7); overflow:hidden; }
.rsg-page .gbp-search { display:flex; align-items:center; gap:11px; padding:12px 16px; border-bottom:1px solid #EDEFF2; }
.rsg-page .gbp-g { width:19px; height:19px; flex-shrink:0; }
.rsg-page .gbp-g svg { width:100%; height:100%; display:block; }
.rsg-page .gbp-q { flex:1; font-family:var(--font-body); font-size:13px; color:#3c4043; }
.rsg-page .gbp-sicon { color:#5f6368; display:inline-flex; }
.rsg-page .gbp-sicon svg { width:15px; height:15px; }
.rsg-page .gbp-body { padding:20px 22px 18px; }
.rsg-page .gbp-name { font-family:var(--font-display); font-size:21px; font-weight:800; color:#202124; letter-spacing:-.01em; display:flex; align-items:center; gap:8px; line-height:1.2; }
.rsg-page .gbp-verified { color:var(--green-500); display:inline-flex; flex-shrink:0; }
.rsg-page .gbp-verified svg { width:17px; height:17px; }
.rsg-page .gbp-cat { font-family:var(--font-body); font-size:13px; color:#5f6368; margin-top:5px; }
.rsg-page .gbp-rating { display:flex; align-items:center; gap:11px; margin-top:16px; }
.rsg-page .gbp-score { font-family:var(--font-display); font-size:34px; font-weight:800; color:#202124; line-height:1; }
.rsg-page .gbp-stars { color:var(--green-500); font-size:18px; letter-spacing:2px; }
.rsg-page .gbp-count { font-family:var(--font-body); font-size:12.5px; color:#5f6368; }
.rsg-page .gbp-breakdown { margin-top:18px; display:flex; flex-direction:column; gap:7px; }
.rsg-page .gbp-bar { display:flex; align-items:center; gap:11px; }
.rsg-page .gbp-bk { font-family:var(--font-body); font-size:12px; color:#5f6368; width:8px; flex-shrink:0; }
.rsg-page .gbp-track { flex:1; height:8px; border-radius:4px; background:#EDEFF2; overflow:hidden; }
.rsg-page .gbp-track i { display:block; height:100%; border-radius:4px; background:linear-gradient(90deg,var(--green-500),var(--green-600)); }
.rsg-page .gbp-bv { font-family:var(--font-mono); font-size:11px; font-weight:700; color:#9aa0a6; width:20px; text-align:right; flex-shrink:0; }
.rsg-page .gbp-bar.is-top .gbp-bv { color:var(--green-600); }
.rsg-page .gbp-foot { display:flex; align-items:center; gap:9px; padding:13px 22px; background:var(--green-50); border-top:1px solid #EDEFF2; }
.rsg-page .gbp-foot-ic { color:var(--green-600); display:inline-flex; flex-shrink:0; }
.rsg-page .gbp-foot-ic svg { width:16px; height:16px; }
.rsg-page .gbp-foot span { font-family:var(--font-body); font-size:12.5px; color:var(--ink-700); }
.rsg-page .gbp-foot span b { color:var(--green-700); font-weight:700; }
.rsg-page .gbp-float { position:absolute; top:-15px; right:16px; z-index:2; display:inline-flex; align-items:center; gap:6px; font-family:var(--font-display); font-weight:700; font-size:11.5px; color:#fff; background:linear-gradient(135deg,var(--green-500),var(--green-700)); border-radius:999px; padding:8px 15px; box-shadow:0 12px 26px rgba(20,62,37,.55); border:1px solid rgba(255,255,255,.16); }
.rsg-page .gbp-float svg { width:13px; height:13px; }
.rsg-page .rc2-right .rc2-foot { text-align:left; margin-top:18px; }
@media (max-width:860px){ .rsg-page .rc2-split{ grid-template-columns:1fr; gap:32px; } }
@media (max-width:560px){ .rsg-page .rc2-stats3{ gap:10px; } .rsg-page .rc2-stat{ padding:15px 10px; } .rsg-page .rc2-stat b{ font-size:26px; white-space:nowrap; } .rsg-page .rc2-stat b i{ font-size:17px; } }
@media (max-width:430px){ .rsg-page .rc2-stats3{ gap:8px; } .rsg-page .rc2-stat{ padding:13px 7px; } .rsg-page .rc2-stat b{ font-size:21px; } .rsg-page .rc2-stat b i{ font-size:14px; } }
/* real client screenshots in browser frames (replaces the drawn GBP card) */
.rsg-page .cs-shot { position:relative; border-radius:14px; overflow:hidden; background:#0e0e0e; border:1px solid rgba(255,255,255,.14); box-shadow:0 28px 66px -28px rgba(0,0,0,.85); }
.rsg-page .cs-bar { display:flex; align-items:center; gap:6px; padding:9px 14px; background:rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.1); }
.rsg-page .cs-dot { width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.22); flex-shrink:0; }
.rsg-page .cs-url { margin-left:10px; font-family:var(--font-mono); font-size:10px; color:rgba(255,255,255,.55); letter-spacing:.02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rsg-page .cs-shot img { display:block; width:100%; height:auto; }
.rsg-page .cs-cap { font-family:var(--font-body); font-size:12.5px; line-height:1.55; color:rgba(255,255,255,.62); margin:12px 2px 20px; }
.rsg-page .cs-cap strong { color:#8FE7B2; font-weight:700; }

/* ---------- (B8) §13 PRICING — included chips head label + tier context ---------- */
.rsg-page .ppi-head { font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--green-700); display:flex; align-items:center; gap:9px; }
.rsg-page .ppi-head::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 4px rgba(44,122,75,.15); }
.rsg-page .ppi-head small { display:block; font-family:var(--font-body); font-size:12px; font-weight:400; letter-spacing:0; text-transform:none; color:var(--ink-2); margin-top:4px; }

/* ===================================================================
   §2 REDESIGN — "The Anatomy of a Reputation" (surface number -> signals)
   =================================================================== */
.rsg-page .rep-anatomy { position:relative; background:linear-gradient(162deg,#FFFFFF 0%,#F4F9F6 100%); border:1px solid var(--line); border-radius:24px; box-shadow:0 26px 64px -28px rgba(20,55,34,.22); padding:32px 34px 34px; overflow:hidden; margin-bottom:20px; }
.rsg-page .rep-anatomy::before { content:""; position:absolute; width:440px; height:440px; border-radius:50%; top:-230px; right:-150px; background:radial-gradient(circle,rgba(44,122,75,.10),transparent 68%); pointer-events:none; }
.rsg-page .rep-anat-def { position:relative; z-index:1; display:flex; gap:15px; align-items:flex-start; padding-bottom:26px; margin-bottom:28px; border-bottom:1px dashed var(--line-2); }
.rsg-page .rep-anat-def-ic { flex:none; width:42px; height:42px; border-radius:12px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 18px rgba(44,122,75,.26); }
.rsg-page .rep-anat-def-ic svg { width:22px; height:22px; }
.rsg-page .rep-anat-def p { margin:0; font-family:var(--font-body); font-size:15.5px; line-height:1.66; color:var(--ink-700); }
.rsg-page .rep-anat-def p b { color:var(--ink-900); font-weight:700; }
.rsg-page .rep-anat-grid { position:relative; z-index:1; display:grid; grid-template-columns:250px 1fr; gap:36px; align-items:center; }
/* surface: the number everyone fixates on */
.rsg-page .rep-surface { position:relative; background:linear-gradient(158deg,#FFFFFF,#EDF6F0); border:1px solid rgba(44,122,75,.20); border-radius:20px; padding:24px 22px 22px; text-align:center; box-shadow:0 18px 42px rgba(20,62,37,.14); }
.rsg-page .rep-surface-lbl { display:inline-block; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-500); background:#fff; border:1px solid var(--line); border-radius:999px; padding:5px 12px; margin-bottom:16px; }
.rsg-page .rep-surface-goo { width:38px; height:38px; margin:0 auto 8px; display:flex; align-items:center; justify-content:center; }
.rsg-page .rep-surface-goo svg { width:34px; height:34px; }
.rsg-page .rep-surface-num { font-family:var(--font-display); font-weight:800; font-size:54px; line-height:1; color:var(--ink-900); letter-spacing:-.03em; }
.rsg-page .rep-surface-stars { display:flex; justify-content:center; gap:3px; margin:11px 0 12px; }
.rsg-page .rep-surface-stars svg { width:17px; height:17px; }
.rsg-page .rep-surface-cap { font-family:var(--font-body); font-size:12.5px; color:var(--ink-2); line-height:1.45; }
.rsg-page .rep-surface-cap b { color:var(--ink-900); font-weight:700; }
/* depth: what it's really built from */
.rsg-page .rep-depth-lbl { display:flex; align-items:flex-start; gap:10px; font-family:var(--font-display); font-size:14px; font-weight:700; color:var(--ink-900); margin-bottom:16px; letter-spacing:-.01em; line-height:1.4; }
.rsg-page .rep-depth-lbl svg { flex:none; width:20px; height:20px; color:var(--green-600); margin-top:1px; }
.rsg-page .rep-signals4 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.rsg-page .rep-sig4 { position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:14px; padding:17px 17px 16px; box-shadow:var(--shadow-sm); overflow:hidden; transition:transform .2s, box-shadow .2s, border-color .2s; }
.rsg-page .rep-sig4:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:rgba(44,122,75,.26); }
.rsg-page .rep-sig4::after { content:""; position:absolute; width:96px; height:96px; border-radius:50%; top:-56px; right:-40px; background:radial-gradient(circle,rgba(44,122,75,.10),transparent 70%); }
.rsg-page .rep-sig4-top { display:flex; align-items:center; gap:10px; margin-bottom:9px; position:relative; z-index:1; }
.rsg-page .rep-sig4-ic { flex:none; width:34px; height:34px; border-radius:9px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 14px rgba(44,122,75,.22); }
.rsg-page .rep-sig4-ic svg { width:18px; height:18px; }
.rsg-page .rep-sig4 h3 { font-family:var(--font-display); font-size:13.5px; font-weight:800; color:var(--ink-900); margin:0; letter-spacing:-.01em; line-height:1.2; }
.rsg-page .rep-sig4 p { font-family:var(--font-body); font-size:12.5px; line-height:1.55; color:var(--ink-2); margin:0 0 15px; position:relative; z-index:1; }
.rsg-page .rep-sig4-foot { margin-top:auto; padding-top:13px; border-top:1px solid var(--line); display:flex; align-items:center; gap:11px; position:relative; z-index:1; }
.rsg-page .rep-sig4-cap { font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.045em; text-transform:uppercase; color:var(--ink-500); line-height:1.45; }
.rsg-page .rep-sig4-stars { display:inline-flex; gap:2px; flex:none; }
.rsg-page .rep-sig4-stars svg { width:15px; height:15px; }
.rsg-page .rep-sig4-dots { display:inline-flex; gap:4px; align-items:center; flex:none; }
.rsg-page .rep-sig4-dots i { width:8px; height:8px; border-radius:50%; }
.rsg-page .rep-sig4-dots i.on { box-shadow:0 0 0 3px rgba(44,122,75,.16); }
.rsg-page .rep-sig4-badge { flex:none; width:30px; height:30px; border-radius:8px; background:var(--green-50); border:1px solid rgba(44,122,75,.2); color:var(--green-600); display:flex; align-items:center; justify-content:center; }
.rsg-page .rep-sig4-badge svg { width:16px; height:16px; }
/* connector from the surface number into the breakdown */
.rsg-page .rep-surf-arrow { position:absolute; right:-17px; top:50%; transform:translateY(-50%); width:34px; height:34px; border-radius:50%; background:#fff; border:1px solid var(--line); box-shadow:0 6px 15px rgba(20,55,34,.16); display:flex; align-items:center; justify-content:center; color:var(--green-600); z-index:4; }
.rsg-page .rep-surf-arrow svg { width:17px; height:17px; }
@media (max-width:860px){ .rsg-page .rep-surf-arrow { right:auto; left:50%; top:auto; bottom:-18px; transform:translateX(-50%) rotate(90deg); } }
@media (max-width:860px){ .rsg-page .rep-anat-grid{ grid-template-columns:1fr; gap:24px; } .rsg-page .rep-surface{ max-width:360px; margin:0 auto; } }
@media (max-width:520px){ .rsg-page .rep-signals4{ grid-template-columns:1fr; } }
/* platform ribbon — official brand logos, engine-vs-monitor split */
.rsg-page .rep-platstrip { position:relative; background:linear-gradient(135deg,#F5FAF6,#E9F1EB); border:1px solid rgba(44,122,75,.16); border-radius:20px; padding:26px 30px; margin-bottom:22px; overflow:hidden; }
.rsg-page .rep-platstrip::before { content:""; position:absolute; width:360px; height:360px; border-radius:50%; top:-210px; left:-120px; background:radial-gradient(circle,rgba(44,122,75,.08),transparent 68%); pointer-events:none; }
.rsg-page .rep-platstrip-lead { position:relative; z-index:1; font-family:var(--font-body); font-size:14.5px; line-height:1.55; color:var(--ink-700); margin-bottom:22px; }
.rsg-page .rep-platstrip-lead b { color:var(--ink-900); font-weight:700; }
.rsg-page .rep-plat-cols { position:relative; z-index:1; display:flex; align-items:flex-start; gap:28px; }
.rsg-page .rep-plat-col { display:flex; flex-direction:column; gap:13px; }
.rsg-page .rep-plat-col.engine { flex:none; }
.rsg-page .rep-plat-col.monitor { flex:1; min-width:0; }
.rsg-page .rep-plat-col-lbl { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--green-700); }
.rsg-page .rep-plat-col-lbl::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 3px rgba(44,122,75,.15); }
.rsg-page .rep-plat-col.monitor .rep-plat-col-lbl { color:#7A857F; }
.rsg-page .rep-plat-col.monitor .rep-plat-col-lbl::before { background:#B4BDB8; box-shadow:0 0 0 3px rgba(0,0,0,.045); }
.rsg-page .rep-plat-divider { width:1px; align-self:stretch; background:linear-gradient(180deg,transparent,rgba(44,122,75,.24),transparent); flex:none; }
.rsg-page .rep-platmarks { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.rsg-page .rep-platmark { display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:10px 15px; box-shadow:var(--shadow-sm); font-family:var(--font-display); font-weight:700; font-size:13.5px; color:var(--ink-900); transition:transform .18s, box-shadow .18s; }
.rsg-page .rep-platmark:hover { transform:translateY(-2px); box-shadow:var(--shadow-md); }
.rsg-page .rep-platmark-logo { width:22px; height:22px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .rep-platmark-logo svg { width:20px; height:20px; }
.rsg-page .rep-platmark.primary { border-color:rgba(44,122,75,.34); box-shadow:0 12px 26px rgba(44,122,75,.17); padding:11px 20px; font-size:16px; letter-spacing:-.01em; }
.rsg-page .rep-platmark.primary .rep-platmark-logo { width:26px; height:26px; }
.rsg-page .rep-platmark.primary .rep-platmark-logo svg { width:24px; height:24px; }
.rsg-page .rep-platstrip-note { position:relative; z-index:1; font-family:var(--font-body); font-size:12.5px; line-height:1.55; color:var(--ink-2); margin:16px 0 0; padding-top:18px; border-top:1px dashed rgba(44,122,75,.22); }
.rsg-page .rep-platstrip-note b { color:var(--ink-900); font-weight:700; }
@media (max-width:760px){ .rsg-page .rep-plat-cols { flex-direction:column; gap:20px; } .rsg-page .rep-plat-divider { width:auto; height:1px; background:linear-gradient(90deg,transparent,rgba(44,122,75,.24),transparent); } .rsg-page .rep-platmark.primary { align-self:flex-start; } }
/* two starting-point paths */
.rsg-page .rep-paths { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:26px; }
.rsg-page .rep-path { position:relative; background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px 26px; box-shadow:var(--shadow-sm); overflow:hidden; transition:transform .2s, box-shadow .2s, border-color .2s; }
.rsg-page .rep-path::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:linear-gradient(var(--green-500),var(--green-700)); }
.rsg-page .rep-path:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:rgba(44,122,75,.26); }
.rsg-page .rep-path-top { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:14px; }
.rsg-page .rep-path-ic { flex:none; width:42px; height:42px; border-radius:12px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 18px rgba(44,122,75,.24); }
.rsg-page .rep-path-ic svg { width:21px; height:21px; }
.rsg-page .rep-path-viz { display:flex; align-items:flex-end; gap:4px; height:36px; }
.rsg-page .rep-path-viz i { width:7px; border-radius:2px 2px 0 0; }
.rsg-page .rep-path h3 { font-family:var(--font-display); font-size:17px; font-weight:800; color:var(--ink-900); margin:0 0 7px; letter-spacing:-.01em; }
.rsg-page .rep-path p { font-family:var(--font-body); font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0; }
@media (max-width:680px){ .rsg-page .rep-paths{ grid-template-columns:1fr; } }

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
  .rsg-page .rep-vel-bars i, .rsg-page .rep-velchart i, .rsg-page .rep-float,
  .rsg-page .rep-area-path, .rsg-page .rep-line-path, .rsg-page .rep-dash-live .pdot { animation:none !important; }
  .rsg-page .rep-line-path { stroke-dashoffset:0; }
  .rsg-page .rep-velchart i, .rsg-page .rep-vel-bars i { transform:none; }
}

/* ===== Local Rank Tracker (hero right column) ===== */
.rsg-page .rt{--card:#fff;--disp:'Montserrat',system-ui,sans-serif;--body:'DM Sans',system-ui,sans-serif;
  --g500:#2C7A4B;--g600:#1F5B36;--g700:#143E25;--g50:#E8F1EB;--g100:#D6E7DC;--gbr:#38C172;
  --ink:#141a17;--body-c:#3a4640;--mut:#71807a;--line:#E6ECE8;--line2:#EEF2F0;--gold:#FBBC04;
  position:relative;width:100%;height:648px;border-radius:20px;overflow:hidden;
  background:radial-gradient(130% 100% at 12% -8%,#FBFEFC 0%,#F5FAF7 46%,#EFF5F1 100%);
  border:1px solid var(--line);box-shadow:0 1px 0 #fff inset,0 30px 62px -30px rgba(15,46,28,.46),0 8px 20px -14px rgba(15,46,28,.24);
  font-family:var(--body);color:var(--body-c);display:flex;flex-direction:column;padding:0;gap:0;}
/* browser window chrome */
.rsg-page .rt-bar{display:flex;align-items:center;gap:11px;padding:7px 14px;background:linear-gradient(180deg,#FFFFFF,#F4F8F6);border-bottom:1px solid var(--line);flex:none;}
.rsg-page .rt-bar .dots{display:flex;gap:6px;flex:none;}
.rsg-page .rt-bar .dots i{width:10px;height:10px;border-radius:50%;background:#D6DED9;box-shadow:inset 0 0 0 1px rgba(60,80,68,.05);}
.rsg-page .rt-bar .dots i:nth-child(3){background:var(--g500);box-shadow:none;}
.rsg-page .rt-bar .url{display:inline-flex;align-items:center;gap:6px;min-width:0;font-family:var(--body);font-size:11.5px;font-weight:500;color:#6b7a72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rsg-page .rt-bar .url svg{width:11px;height:11px;color:#9aa8a1;flex:none;}
.rsg-page .rt-bar .url b{color:var(--ink);font-weight:600;}
.rsg-page .rt-bar .bspacer{flex:1;}
.rsg-page .rt-bar .blive{display:inline-flex;align-items:center;gap:6px;font-family:var(--disp);font-size:9.5px;font-weight:700;letter-spacing:.06em;color:var(--g600);background:rgba(56,193,114,.10);border:1px solid rgba(56,193,114,.3);border-radius:999px;padding:5px 10px;flex:none;box-shadow:0 1px 0 rgba(255,255,255,.6) inset;}
.rsg-page .rt-bar .blive i{width:7px;height:7px;border-radius:50%;background:var(--gbr);box-shadow:0 0 0 0 rgba(56,193,114,.6);animation:rt-pulse 1.9s ease-out infinite;}
/* app body under the chrome */
.rsg-page .rt-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:11px 14px 13px;gap:8px;}

/* header */
.rsg-page .rt-head{display:flex;align-items:center;gap:11px;}
.rsg-page .rt-logo{width:40px;height:40px;border-radius:12px;background:linear-gradient(150deg,#2C7A4B 0%,#1F5B36 52%,#143E25 100%);display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 1px 0 rgba(255,255,255,.28) inset,0 6px 14px -6px rgba(20,62,37,.7),0 0 0 1px rgba(20,62,37,.28);}
.rsg-page .rt-logo svg{width:21px;height:21px;color:#fff;}
.rsg-page .rt-h-tt b{font-family:var(--disp);font-weight:700;font-size:15px;color:var(--ink);letter-spacing:-.2px;display:block;line-height:1.1;}
.rsg-page .rt-h-tt span{font-size:11px;color:var(--mut);display:inline-flex;align-items:center;gap:4px;margin-top:4px;}
.rsg-page .rt-h-tt span svg{width:11px;height:11px;color:var(--g500);}
.rsg-page .rt-h-r{margin-left:auto;display:flex;align-items:center;gap:8px;}
.rsg-page .rt-pill{font-family:var(--disp);font-size:9.5px;font-weight:700;letter-spacing:.03em;color:var(--g700);background:linear-gradient(180deg,#fff,#F1F7F3);border:1px solid var(--line);border-radius:999px;padding:5px 10px;display:inline-flex;align-items:center;gap:5px;box-shadow:0 1px 0 #fff inset,0 2px 5px -3px rgba(15,46,28,.3);}
.rsg-page .rt-pill svg{width:10px;height:10px;color:var(--g500);}
.rsg-page .rt-live{display:inline-flex;align-items:center;gap:6px;font-family:var(--disp);font-size:9.5px;font-weight:700;letter-spacing:.06em;color:var(--g600);background:rgba(56,193,114,.10);border:1px solid rgba(56,193,114,.3);border-radius:999px;padding:5px 10px;box-shadow:0 1px 0 rgba(255,255,255,.6) inset;}
.rsg-page .rt-live i{width:7px;height:7px;border-radius:50%;background:var(--gbr);box-shadow:0 0 0 0 rgba(56,193,114,.6);animation:rt-pulse 1.9s ease-out infinite;}

/* stat cards */
.rsg-page .rt-stats{display:grid;grid-template-columns:1.08fr 1fr 1fr;gap:10px;}
.rsg-page .rt-stat{background:linear-gradient(180deg,#fff,#FBFDFC);border:1px solid var(--line);border-radius:13px;padding:9px 11px;position:relative;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 20px -13px rgba(15,46,28,.42);}
.rsg-page .rt-stat.hero{background:linear-gradient(150deg,#F1FAF4,#fff 62%);border-color:rgba(44,122,75,.28);}
.rsg-page .rt-stat .lab{font-family:var(--disp);font-size:8.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);display:flex;align-items:center;gap:5px;}
.rsg-page .rt-stat .lab svg{width:12px;height:12px;color:var(--g500);}
.rsg-page .rt-stat .big{font-family:var(--disp);font-weight:800;font-size:26px;color:var(--ink);line-height:1;margin-top:7px;display:flex;align-items:baseline;gap:3px;letter-spacing:-.02em;}
.rsg-page .rt-stat .big .sm{font-size:12px;color:var(--mut);font-weight:700;}
.rsg-page .rt-stat .big .star{color:var(--gold);font-size:16px;}
.rsg-page .rt-stat.hero .big{font-size:30px;color:var(--g700);}
.rsg-page .rt-stat .foot{font-size:9.5px;color:var(--g600);font-weight:700;margin-top:7px;display:flex;align-items:center;gap:5px;}
.rsg-page .rt-stat .foot svg{width:9px;height:9px;}
.rsg-page .rt-stat .foot.mut{color:var(--mut);font-weight:600;}
/* mini position ladder inside hero stat */
.rsg-page .rt-mini{display:inline-flex;align-items:center;position:relative;padding:0 3px;}
.rsg-page .rt-mini::before{content:"";position:absolute;left:4px;right:4px;top:50%;height:2px;background:var(--g100);transform:translateY(-50%);}
.rsg-page .rt-mini i{width:5px;height:5px;border-radius:50%;background:#fff;position:relative;z-index:1;margin:0 2.5px;box-shadow:0 0 0 1.5px var(--g100);}
.rsg-page .rt-mini i.on{background:var(--g500);width:8px;height:8px;box-shadow:0 0 0 1.5px var(--g500),0 0 0 3px rgba(44,122,75,.16);}
.rsg-page .rt-dots{display:inline-flex;gap:3px;}
.rsg-page .rt-dots i{width:6px;height:6px;border-radius:2px;background:var(--g100);}
.rsg-page .rt-dots i.on{background:linear-gradient(180deg,var(--gbr),var(--g500));}
.rsg-page .rt-ministars{display:inline-flex;gap:1px;color:var(--gold);font-size:8px;line-height:1;}

/* keyword table */
.rsg-page .rt-table{background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 20px -13px rgba(15,46,28,.4);overflow:hidden;}
.rsg-page .rt-thead{display:grid;grid-template-columns:1fr 54px 42px 60px;gap:8px;padding:7px 13px;border-bottom:1px solid var(--line2);font-family:var(--disp);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);align-items:center;}
.rsg-page .rt-thead .c-r,.rsg-page .rt-thead .c-d,.rsg-page .rt-thead .c-h{text-align:center;}
.rsg-page .rt-row{display:grid;grid-template-columns:1fr 54px 42px 60px;gap:8px;padding:6px 13px;align-items:center;border-bottom:1px solid var(--line2);position:relative;}
.rsg-page .rt-row:last-child{border-bottom:0;}
.rsg-page .rt-row.top{background:linear-gradient(90deg,rgba(44,122,75,.08),rgba(44,122,75,0) 70%);}
.rsg-page .rt-row.top::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--g500),var(--gbr));}
.rsg-page .rt-kw{display:flex;align-items:center;gap:9px;min-width:0;}
.rsg-page .rt-kw .mi{width:22px;height:22px;border-radius:6px;background:var(--g50);display:flex;align-items:center;justify-content:center;flex:none;}
.rsg-page .rt-kw .mi svg{width:12px;height:12px;color:var(--g600);}
.rsg-page .rt-kw .kt{min-width:0;}
.rsg-page .rt-kw .kt b{font-family:var(--body);font-weight:600;font-size:12px;color:var(--ink);display:block;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rsg-page .rt-kw .kt .star{color:var(--gold);font-size:9px;}
/* rank cell = position-strength ladder + badge */
.rsg-page .rt-rank{justify-self:center;display:flex;align-items:center;gap:5px;}
.rsg-page .rt-ladder{display:flex;align-items:flex-end;gap:2px;height:17px;}
.rsg-page .rt-ladder i{width:3px;border-radius:1px;background:var(--g100);}
.rsg-page .rt-ladder i:nth-child(1){height:7px;}.rsg-page .rt-ladder i:nth-child(2){height:12px;}.rsg-page .rt-ladder i:nth-child(3){height:17px;}
.rsg-page .rt-ladder[data-s="1"] i:nth-child(1){background:var(--g500);}
.rsg-page .rt-ladder[data-s="2"] i:nth-child(-n+2){background:var(--g500);}
.rsg-page .rt-ladder[data-s="3"] i{background:linear-gradient(180deg,var(--gbr),var(--g500));}
.rsg-page .rt-badge{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:800;font-size:14px;color:#fff;background:linear-gradient(135deg,#5FA678,#3C7C57);box-shadow:0 4px 9px -4px rgba(31,91,54,.55);}
.rsg-page .rt-badge.b1{background:linear-gradient(135deg,var(--g500),var(--g700));box-shadow:0 5px 12px -3px rgba(20,62,37,.6),0 0 0 3px rgba(44,122,75,.14);}
.rsg-page .rt-delta{justify-self:center;display:inline-flex;align-items:center;gap:2px;font-family:var(--disp);font-size:10px;font-weight:800;color:var(--g600);background:var(--g50);border-radius:6px;padding:3px 6px;}
.rsg-page .rt-delta svg{width:8px;height:8px;}
.rsg-page .rt-spark{justify-self:center;width:58px;height:26px;}
.rsg-page .rt-spark svg{width:100%;height:100%;display:block;overflow:visible;}
.rsg-page .rt-spark .bl{stroke:var(--line2);stroke-width:1;stroke-dasharray:2 3;vector-effect:non-scaling-stroke;}
.rsg-page .rt-spark .ln{fill:none;stroke:var(--g500);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:140;stroke-dashoffset:140;animation:rt-draw 1.3s ease .1s forwards;}
.rsg-page .rt-spark .ar{fill:url(#rtSpark);opacity:0;animation:rt-fade .9s ease .4s forwards;}
.rsg-page .rt-spark .dh{fill:var(--gbr);opacity:0;animation:rt-fade .5s ease 1.05s forwards;}
.rsg-page .rt-spark .dt{fill:var(--g500);opacity:0;animation:rt-pop .3s ease 1.05s forwards;}

/* bottom split */
.rsg-page .rt-bottom{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:1;min-height:0;}
.rsg-page .rt-map{background:var(--card);border:1px solid var(--line);border-radius:13px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 16px -12px rgba(20,55,34,.3);}
.rsg-page .rt-map-c{position:relative;height:106px;overflow:hidden;flex:none;
  background:linear-gradient(135deg,#E6EFE8 0%,#DCE7DF 58%,#D3E0D7 100%);}
/* faint street grid */
.rsg-page .rt-map-c .grid{position:absolute;inset:0;opacity:.42;
  background-image:linear-gradient(rgba(120,140,128,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(120,140,128,.13) 1px,transparent 1px);
  background-size:20px 20px;}
.rsg-page .rt-map-c .park{position:absolute;border-radius:7px;background:rgba(44,122,75,.17);border:1px solid rgba(44,122,75,.15);}
.rsg-page .rt-map-c .park1{left:3%;top:60%;width:42px;height:33px;}
.rsg-page .rt-map-c .park2{left:63%;top:6%;width:30px;height:23px;}
.rsg-page .rt-map-c .rd{position:absolute;background:#fff;border-radius:2px;box-shadow:0 0 0 1px rgba(150,166,156,.42);}
.rsg-page .rt-map-c .rd1{top:40%;left:-14%;width:128%;height:11px;transform:rotate(-7deg);}
.rsg-page .rt-map-c .rd2{top:-14%;left:57%;width:9px;height:130%;transform:rotate(9deg);}
.rsg-page .rt-map-c .rd3{top:74%;left:-14%;width:128%;height:6px;transform:rotate(4deg);}
.rsg-page .rt-map-c .rd4{top:-10%;left:27%;width:6px;height:122%;transform:rotate(7deg);}
.rsg-page .rt-map-c .rd5{top:15%;left:-14%;width:128%;height:6px;transform:rotate(-6deg);}
.rsg-page .rt-map-c .rd.mn{height:12px;}
.rsg-page .rt-map-c .rd.mn::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.6px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,#F6C544 0 6px,transparent 6px 13px);opacity:.8;}
.rsg-page .rt-map-c .blk{position:absolute;background:rgba(255,255,255,.66);border-radius:3px;box-shadow:0 1px 2px rgba(60,80,68,.14);}
.rsg-page .rt-map-c .b1{width:24px;height:18px;left:12%;top:13%;}.rsg-page .rt-map-c .b2{width:20px;height:24px;left:69%;top:58%;}
.rsg-page .rt-map-c .b3{width:16px;height:15px;left:81%;top:17%;}.rsg-page .rt-map-c .b4{width:19px;height:14px;left:30%;top:81%;}
.rsg-page .rt-map-c .b5{width:15px;height:18px;left:59%;top:77%;}.rsg-page .rt-map-c .b6{width:21px;height:14px;left:5%;top:27%;}
.rsg-page .rt-map-c .b7{width:14px;height:14px;left:88%;top:45%;}.rsg-page .rt-map-c .b8{width:17px;height:15px;left:46%;top:19%;}
.rsg-page .rt-map-c .ring{position:absolute;left:37%;top:50%;width:96px;height:96px;transform:translate(-50%,-50%);border-radius:50%;border:1.6px dashed rgba(44,122,75,.52);background:radial-gradient(circle,rgba(44,122,75,.16),rgba(44,122,75,.05) 60%,transparent 72%);}
.rsg-page .rt-map-c .ring::after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(44,122,75,.5);}
.rsg-page .rt-map-c .pin{position:absolute;left:37%;top:50%;transform:translate(-50%,-100%);width:29px;height:29px;z-index:3;}
.rsg-page .rt-map-c .pin svg{width:100%;height:100%;filter:drop-shadow(0 3px 5px rgba(0,0,0,.35));}
.rsg-page .rt-map-c .pin::after{content:"";position:absolute;left:50%;top:84%;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:rgba(44,122,75,.42);animation:rt-ping 2.1s ease-out infinite;}
.rsg-page .rt-map-c .opin{position:absolute;width:18px;height:18px;transform:translate(-50%,-100%);z-index:2;}
.rsg-page .rt-map-c .opin svg{width:100%;height:100%;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3));}
.rsg-page .rt-map-c .opin b{position:absolute;left:50%;top:33%;transform:translate(-50%,-50%);font-family:var(--disp);font-size:8px;font-weight:800;color:#fff;}
.rsg-page .rt-map-c .o1{left:74%;top:52%;}.rsg-page .rt-map-c .o2{left:19%;top:72%;}
/* labeled pin callout */
.rsg-page .rt-map-c .youtag{position:absolute;left:37%;top:9px;transform:translateX(-50%);font-family:var(--disp);font-size:8.5px;font-weight:800;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,var(--g500),var(--g700));border-radius:7px;padding:3px 8px;box-shadow:0 6px 13px -4px rgba(20,62,37,.6);white-space:nowrap;z-index:4;}
.rsg-page .rt-map-c .youtag::after{content:"";position:absolute;left:50%;bottom:-4px;transform:translateX(-50%) rotate(45deg);width:7px;height:7px;background:var(--g700);border-radius:1px;}
.rsg-page .rt-map-c .mp{position:absolute;bottom:7px;right:8px;font-family:var(--disp);font-size:8px;font-weight:700;letter-spacing:.04em;color:var(--g700);background:rgba(255,255,255,.94);border-radius:999px;padding:3px 8px;display:inline-flex;align-items:center;gap:4px;box-shadow:0 2px 6px rgba(60,80,68,.18);}
.rsg-page .rt-map-c .mp svg{width:9px;height:9px;color:var(--g500);}
/* compass + scale bar */
.rsg-page .rt-map-c .cmp{position:absolute;left:8px;top:8px;width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 2px 5px rgba(60,80,68,.2);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-size:7px;font-weight:800;color:var(--g700);}
.rsg-page .rt-map-c .cmp::before{content:"";position:absolute;top:1.5px;left:50%;transform:translateX(-50%);border-left:2.5px solid transparent;border-right:2.5px solid transparent;border-bottom:4px solid var(--g500);}
.rsg-page .rt-map-c .scl{position:absolute;left:8px;bottom:7px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;}
.rsg-page .rt-map-c .scl b{font-family:var(--disp);font-size:6.5px;font-weight:700;color:var(--g700);background:rgba(255,255,255,.8);padding:0 3px;border-radius:2px;letter-spacing:.02em;}
.rsg-page .rt-map-c .scl i{width:26px;height:3px;background:rgba(255,255,255,.9);border:1px solid rgba(60,80,68,.4);border-radius:1px;}
.rsg-page .rt-pack{padding:4px 10px;display:flex;flex-direction:column;gap:0;flex:1;justify-content:center;}
.rsg-page .rt-pk{display:flex;align-items:center;gap:8px;padding:5px 0;border-top:1px solid var(--line2);}
.rsg-page .rt-pk:first-child{border-top:0;}
.rsg-page .rt-pk .pn{width:17px;font-family:var(--disp);font-weight:800;font-size:10.5px;color:var(--mut);text-align:center;flex:none;}
.rsg-page .rt-pk.me .pn{color:var(--g600);}
.rsg-page .rt-pk .pb{min-width:0;flex:1;}
.rsg-page .rt-pk .pb b{font-family:var(--body);font-weight:700;font-size:10.5px;color:var(--ink);display:block;line-height:1.1;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rsg-page .rt-pk .pb span{font-size:9px;color:var(--mut);display:inline-flex;align-items:center;gap:3px;}
.rsg-page .rt-pk .pb span .star{color:var(--gold);font-size:8px;}
.rsg-page .rt-pk.me{background:var(--g50);border-radius:8px;margin:1px -4px;padding:4px 6px;border-top:0;}

/* reviews drive rank (dark) — dual combo proof chart */
.rsg-page .rt-rdr{border-radius:13px;overflow:hidden;padding:12px 14px;position:relative;color:#fff;
  background:radial-gradient(120% 90% at 100% 0%,#1f5b36 0%,#10251a 60%,#0c1c13 100%);
  box-shadow:0 12px 26px -12px rgba(12,28,19,.7);display:flex;flex-direction:column;}
.rsg-page .rt-rdr::after{content:"";position:absolute;right:-40px;top:-40px;width:130px;height:130px;background:radial-gradient(circle,rgba(56,193,114,.28),transparent 70%);pointer-events:none;}
.rsg-page .rt-rdr .rdr-top{display:flex;align-items:flex-start;justify-content:space-between;position:relative;}
.rsg-page .rt-rdr .lab{font-family:var(--disp);font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8FE7B2;}
.rsg-page .rt-rdr .new{display:inline-flex;align-items:center;gap:4px;font-family:var(--body);font-size:8.5px;font-weight:700;color:#052e18;background:var(--gbr);border-radius:999px;padding:3px 7px;}
.rsg-page .rt-rdr .num{font-family:var(--disp);font-weight:800;font-size:32px;line-height:1;margin-top:5px;display:flex;align-items:baseline;gap:6px;position:relative;color:#fff;}
.rsg-page .rt-rdr .num .counter{font-size:32px;font-weight:800;color:#fff;letter-spacing:-.01em;}
.rsg-page .rt-rdr .num span{font-size:11px;font-weight:600;color:rgba(255,255,255,.75);}
/* legend */
.rsg-page .rt-leg{display:flex;gap:14px;margin-top:7px;position:relative;}
.rsg-page .rt-leg span{display:inline-flex;align-items:center;gap:6px;font-family:var(--body);font-size:8.5px;font-weight:600;color:rgba(255,255,255,.84);}
.rsg-page .rt-leg .lg-bar{width:9px;height:9px;border-radius:2px;background:linear-gradient(180deg,var(--gbr),var(--g500));}
.rsg-page .rt-leg .lg-ln{width:16px;height:2px;border-radius:2px;background:#fff;position:relative;}
.rsg-page .rt-leg .lg-ln::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.6px rgba(56,193,114,.9);}
/* combo chart */
.rsg-page .rt-combo{flex:1;min-height:0;margin-top:6px;position:relative;}
.rsg-page .rt-combo svg{width:100%;height:100%;display:block;overflow:visible;}
.rsg-page .rt-combo .cgrid{stroke:rgba(255,255,255,.10);stroke-width:1;stroke-dasharray:2 3;}
.rsg-page .rt-combo .cbar{transform-box:fill-box;transform-origin:center bottom;transform:scaleY(0);animation:rt-bar .9s cubic-bezier(.2,.8,.3,1) forwards;}
/* rank line — base state is fully drawn (offset 0) so it is ALWAYS visible even if the draw
   animation is interrupted / never runs; the animation only re-reveals it on load. */
.rsg-page .rt-combo .cline{fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));stroke-dasharray:100;stroke-dashoffset:0;animation:rt-draw-in 1s ease 1.3s both;}
.rsg-page .rt-combo .cdot{fill:#0e2419;stroke:#fff;stroke-width:1.8;opacity:0;animation:rt-fade .3s ease both;}
.rsg-page .rt-combo .cdot-end{fill:#fff;stroke:var(--gbr);stroke-width:2.4;opacity:0;animation:rt-pop .4s cubic-bezier(.2,1.3,.4,1) both;}
.rsg-page .rt-combo .ctick{stroke:rgba(255,255,255,.26);stroke-width:1;}
.rsg-page .rt-combo .cax{fill:rgba(255,255,255,.88);font-family:'DM Sans',system-ui,sans-serif;font-size:8px;font-weight:700;}
.rsg-page .rt-combo .cax-1{fill:#8FE7B2;}
.rsg-page .rt-combo .cnow{fill:rgba(255,255,255,.52);font-family:'DM Sans',system-ui,sans-serif;font-size:7px;font-weight:600;}
.rsg-page .rt-rdr .climb{display:flex;align-items:center;gap:8px;margin-top:9px;padding-top:9px;border-top:1px solid rgba(255,255,255,.12);position:relative;}
.rsg-page .rt-rdr .climb .ci{width:26px;height:26px;border-radius:8px;background:rgba(56,193,114,.16);border:1px solid rgba(56,193,114,.3);display:flex;align-items:center;justify-content:center;flex:none;}
.rsg-page .rt-rdr .climb .ci svg{width:14px;height:14px;color:var(--gbr);}
.rsg-page .rt-rdr .climb b{font-family:var(--disp);font-size:11px;font-weight:700;color:#fff;display:block;line-height:1.15;margin-bottom:3px;}
.rsg-page .rt-rdr .climb span{font-size:9px;color:rgba(255,255,255,.66);}

@keyframes rt-pulse{0%{box-shadow:0 0 0 0 rgba(56,193,114,.55);}70%{box-shadow:0 0 0 7px rgba(56,193,114,0);}100%{box-shadow:0 0 0 0 rgba(56,193,114,0);}}
@keyframes rt-ping{0%{transform:translate(-50%,-50%) scale(.5);opacity:.85;}100%{transform:translate(-50%,-50%) scale(2.6);opacity:0;}}
@keyframes rt-draw{to{stroke-dashoffset:0;}}
@keyframes rt-draw-in{from{stroke-dashoffset:100;}to{stroke-dashoffset:0;}}
@keyframes rt-fade{to{opacity:1;}}
@keyframes rt-pop{to{opacity:1;}}
@keyframes rt-bar{to{transform:scaleY(1);}}
/* entrance — staggered fade-up on load; holds settled (both fill), never loops */
@keyframes rt-up{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
.rsg-page .rt-head,.rsg-page .rt-stat,.rsg-page .rt-table,.rsg-page .rt-map,.rsg-page .rt-rdr{animation:rt-up .55s cubic-bezier(.22,.7,.3,1) both;}
.rsg-page .rt-head{animation-delay:.03s;}
.rsg-page .rt-stat:nth-child(1){animation-delay:.10s;}
.rsg-page .rt-stat:nth-child(2){animation-delay:.15s;}
.rsg-page .rt-stat:nth-child(3){animation-delay:.20s;}
.rsg-page .rt-table{animation-delay:.27s;}
.rsg-page .rt-map{animation-delay:.34s;}
.rsg-page .rt-rdr{animation-delay:.40s;}
@media (prefers-reduced-motion:reduce){.rsg-page .rt-head,.rsg-page .rt-stat,.rsg-page .rt-table,.rsg-page .rt-map,.rsg-page .rt-rdr{animation:none;}}
