
/* ============================================================
   HVAC EMAIL MARKETING — page-specific components (_supp)
   Loads AFTER master-css. All scoped under .rsg-page.
   Design system: --green-500 #2C7A4B, Montserrat + DM Sans,
   border+shadow depth, green emphasis only. On-brand only.
   ============================================================ */

/* ---------- shared helpers ---------- */
.rsg-page .eyebrow-dot { display:none; } /* .eyebrow::before already renders the green dot */
/* ghost button legible on the dark final CTA */
.rsg-page .final-cta .btn-ghost { color:#fff; border-color:rgba(255,255,255,.45); background:transparent; }
.rsg-page .final-cta .btn-ghost:hover { border-color:#fff; background:rgba(255,255,255,.08); }
.rsg-page .em-eyebrow { display:inline-flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--green-700); margin-bottom:13px; }
.rsg-page .em-eyebrow i { font-style:normal; width:26px; height:26px; border-radius:7px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 4px 10px rgba(32,157,80,.3); }
.rsg-page .em-eyebrow i svg { width:14px; height:14px; }
.rsg-page .em-ic-chip { width:44px; height:44px; border-radius:12px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 8px 20px rgba(32,157,80,.22); }
.rsg-page .em-ic-chip svg { width:21px; height:21px; }

/* ============================================================
   §1 HERO — email-native right column
   ============================================================ */
.rsg-page .em-hero { position:relative; width:100%; max-width:524px; margin-left:auto; padding:14px 20px 30px 0; }
.rsg-page .emh-client { position:relative; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 30px 66px rgba(16,44,28,.20), 0 8px 22px rgba(0,0,0,.08); overflow:hidden; z-index:2; }
.rsg-page .emh-toolbar { display:flex; align-items:center; gap:9px; padding:12px 15px; border-bottom:1px solid var(--line-2); background:linear-gradient(180deg,#fbfdfc,#f4f8f5); }
.rsg-page .emh-dots { display:flex; gap:6px; }
.rsg-page .emh-dots span { width:10px; height:10px; border-radius:50%; background:#dfe4e0; }
.rsg-page .emh-dots span:nth-child(1){ background:#f2b8b5; } .rsg-page .emh-dots span:nth-child(2){ background:#f6d08a; } .rsg-page .emh-dots span:nth-child(3){ background:#a7d8ba; }
.rsg-page .emh-tb-title { font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.04em; color:var(--ink-500); text-transform:uppercase; }
.rsg-page .emh-sent { margin-left:auto; display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.24); border-radius:999px; padding:4px 10px; }
.rsg-page .emh-sent .emh-dot { width:7px; height:7px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 3px rgba(44,122,75,.18); }
.rsg-page .emh-meta { display:flex; align-items:center; gap:11px; padding:13px 15px; border-bottom:1px solid var(--line-2); }
.rsg-page .emh-ava { 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; font-family:var(--font-display); font-weight:800; font-size:16px; flex-shrink:0; box-shadow:0 6px 15px rgba(32,157,80,.28); }
.rsg-page .emh-from { min-width:0; flex:1; }
.rsg-page .emh-from b { display:block; font-family:var(--font-display); font-weight:700; font-size:13.5px; color:var(--ink-900); }
.rsg-page .emh-subj { display:block; font-size:12.5px; color:var(--ink-500); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rsg-page .emh-time { font-family:var(--font-mono); font-size:10.5px; color:var(--ink-500); flex-shrink:0; }
.rsg-page .emh-preview { position:relative; height:296px; overflow:hidden; background:#f6f8f7; }
.rsg-page .emh-preview img { width:100%; display:block; }
.rsg-page .emh-preview::after { content:""; position:absolute; left:0; right:0; bottom:0; height:70px; background:linear-gradient(180deg,rgba(255,255,255,0),#fff); }
.rsg-page .emh-badge { position:absolute; top:-14px; right:14px; z-index:5; display:inline-flex; align-items:center; gap:8px; background:#0d0d0d; color:#fff; border-radius:999px; padding:7px 13px; font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; box-shadow:0 12px 26px rgba(0,0,0,.28); }
.rsg-page .emh-badge .emh-dot { width:7px; height:7px; border-radius:50%; background:#4ADE80; box-shadow:0 0 0 3px rgba(74,222,128,.28); }
.rsg-page .emh-result { position:absolute; left:-26px; bottom:-22px; z-index:6; width:250px; background:#fff; border:1px solid var(--line); border-radius:15px; padding:15px 16px; box-shadow:0 22px 50px rgba(16,44,28,.24); }
.rsg-page .emh-result-h { display: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(--ink-500); margin-bottom:12px; }
.rsg-page .emh-result-h svg { width:14px; height:14px; color:var(--green-600); }
.rsg-page .emh-rstats { display:grid; grid-template-columns:1fr 1fr; gap:11px 10px; }
.rsg-page .emh-rstat.wide { grid-column:1 / -1; border-top:1px solid var(--line-2); padding-top:11px; }
.rsg-page .emh-rstat strong { display:block; font-family:var(--font-display); font-weight:800; font-size:21px; line-height:1; color:var(--green-700); letter-spacing:-.01em; }
.rsg-page .emh-rstat.wide strong { font-size:23px; }
.rsg-page .emh-rstat span { display:block; margin-top:4px; font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .emh-pill { position:absolute; z-index:5; display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); border-radius:11px; padding:8px 12px; font-family:var(--font-display); font-weight:700; font-size:12px; color:var(--ink-900); box-shadow:0 12px 28px rgba(0,0,0,.12); }
.rsg-page .emh-pill svg { width:15px; height:15px; color:var(--green-600); flex-shrink:0; }
.rsg-page .emh-pill.p1 { top:64px; right:-22px; }
.rsg-page .emh-pill.p2 { top:120px; right:-30px; }
.rsg-page .em-hero-glow { position:absolute; inset:-8% -6% -10% -6%; z-index:0; background:radial-gradient(60% 55% at 70% 30%, rgba(44,122,75,.16), transparent 70%); filter:blur(6px); }

/* hero 4-benefit strip (below CTAs) */
.rsg-page .em-hbenefits { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:22px; }
.rsg-page .em-hben { display:flex; align-items:flex-start; gap:11px; background:#fff; border:1px solid var(--line); border-radius:13px; padding:13px 14px; box-shadow:var(--shadow-md); }
.rsg-page .em-hben .hb-ic { width:32px; height:32px; border-radius:9px; background:var(--green-50); color:var(--green-600); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .em-hben .hb-ic svg { width:16px; height:16px; }
.rsg-page .em-hben p { margin:0; font-size:12.5px; line-height:1.42; color:var(--ink-2); }
.rsg-page .em-hben p b { color:var(--ink-900); font-weight:700; display:block; font-family:var(--font-display); font-size:12.5px; margin-bottom:1px; }

/* ============================================================
   §2 / §3 comparison callout + concept cards
   ============================================================ */
.rsg-page .em-def { position:relative; display:flex; gap:16px; align-items:flex-start; background:linear-gradient(135deg,var(--green-50),#fff); border:1px solid rgba(44,122,75,.24); border-left:4px solid var(--green-500); border-radius:14px; padding:20px 24px; margin:0 0 30px; box-shadow:var(--shadow-md); }
.rsg-page .em-def .emd-ic { flex-shrink:0; }
.rsg-page .em-def p { margin:0; font-size:15px; line-height:1.62; color:var(--ink-2); }
.rsg-page .em-def p strong { color:var(--ink-900); }

.rsg-page .em-concepts { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:0 0 30px; }
.rsg-page .em-concept { background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px 26px 24px; box-shadow:var(--shadow-md); display:flex; flex-direction:column; position:relative; overflow:hidden; }
.rsg-page .em-concept::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--green-500),#4ADE80); }
.rsg-page .em-concept.auto::before { background:linear-gradient(90deg,#6B6B6B,#9aa3a0); }
.rsg-page .em-concept-h { display:flex; align-items:center; gap:12px; margin-bottom:6px; }
.rsg-page .em-concept .ecc-tag { 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:6px; padding:4px 9px; }
.rsg-page .em-concept.auto .ecc-tag { color:var(--ink-700); background:#F1F3F2; border-color:var(--line); }
.rsg-page .em-concept h3 { font-family:var(--font-display); font-size:19px; font-weight:800; color:var(--ink-900); margin:0 0 4px; letter-spacing:-.01em; }
.rsg-page .em-concept .ecc-sub { font-size:13px; color:var(--ink-500); margin:0 0 16px; }
.rsg-page .em-flowlist { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.rsg-page .em-flowlist li { display:flex; align-items:flex-start; gap:11px; font-size:13.5px; line-height:1.5; color:var(--ink-2); }
.rsg-page .em-flowlist .efl-n { width:22px; height:22px; border-radius:7px; background:var(--green-50); color:var(--green-700); font-family:var(--font-mono); font-weight:700; font-size:11px; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.rsg-page .em-concept.auto .efl-n { background:#F1F3F2; color:var(--ink-700); }
.rsg-page .em-flowlist li b { color:var(--ink-900); font-weight:700; }
.rsg-page .em-takeaway { display:flex; align-items:center; gap:14px; flex-wrap:wrap; background:var(--paper-soft); border:1px solid var(--line); border-radius:14px; padding:18px 22px; }
.rsg-page .em-takeaway .emt-side { flex:1; min-width:180px; font-size:14px; line-height:1.5; color:var(--ink-2); }
.rsg-page .em-takeaway .emt-side b { color:var(--ink-900); }
.rsg-page .em-takeaway .emt-arrow { color:var(--green-500); }
.rsg-page .em-takeaway .emt-arrow svg { width:22px; height:22px; display:block; }

/* ============================================================
   §2 REDESIGN — What-It-Is (segmentation) + Trap→Channel
   ============================================================ */
.rsg-page .em-whatis { display:grid; grid-template-columns:.92fr 1.08fr; gap:34px; align-items:center; background:linear-gradient(155deg,#F4FAF6,#fff 62%); border:1px solid rgba(44,122,75,.2); border-radius:20px; padding:34px 38px; margin:0 0 28px; box-shadow:var(--shadow-md); position:relative; overflow:hidden; }
.rsg-page .em-whatis::after { content:""; position:absolute; top:-30%; right:-8%; width:46%; height:150%; background:radial-gradient(circle,rgba(44,122,75,.12),transparent 65%); pointer-events:none; }
.rsg-page .wi-body { position:relative; z-index:1; }
.rsg-page .wi-tag { display:inline-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(--green-700); margin-bottom:14px; }
.rsg-page .wi-tag i { width:24px; height:24px; border-radius:7px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 4px 10px rgba(32,157,80,.3); }
.rsg-page .wi-tag i svg { width:13px; height:13px; }
.rsg-page .wi-lead { font-size:18px; line-height:1.55; color:var(--ink-900); font-weight:500; margin:0 0 18px; }
.rsg-page .wi-lead strong { color:var(--green-700); font-weight:800; }
.rsg-page .wi-nots { display:flex; gap:10px; flex-wrap:wrap; }
.rsg-page .wi-not { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.02em; color:var(--ink-500); background:#fff; border:1px solid var(--line); border-radius:999px; padding:7px 13px; }
.rsg-page .wi-not .wi-x { width:16px; height:16px; border-radius:50%; background:#EDEFEE; color:#9aa3a0; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .wi-not .wi-x svg { width:9px; height:9px; }
.rsg-page .wi-seg { position:relative; z-index:1; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 14px 34px rgba(16,44,28,.12); padding:18px; }
.rsg-page .wi-seg-top { display:flex; align-items:center; gap:11px; padding:6px 8px 15px; border-bottom:1px dashed var(--line); margin-bottom:14px; }
.rsg-page .wi-seg-top .wst-ic { width:38px; height:38px; border-radius:10px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 6px 15px rgba(32,157,80,.28); }
.rsg-page .wi-seg-top .wst-ic svg { width:19px; height:19px; }
.rsg-page .wi-seg-top b { display:block; font-family:var(--font-display); font-weight:800; font-size:14px; color:var(--ink-900); }
.rsg-page .wi-seg-top .wst-sub { font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .wi-seg-rows { display:grid; gap:10px; }
.rsg-page .wi-seg-row { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:12px; background:linear-gradient(90deg, rgba(44,122,75,.055), #fff 45%); border:1px solid var(--line); border-left:3px solid var(--green-500); border-radius:11px; padding:10px 13px; transition:transform .2s, box-shadow .2s, border-color .2s; }
.rsg-page .wi-seg-row:hover { transform:translateX(3px); box-shadow:0 8px 18px rgba(32,157,80,.12); border-left-color:var(--green-600); }
.rsg-page .wi-seg-seg { display:flex; align-items:center; gap:11px; min-width:0; }
.rsg-page .wi-seg-seg .wss-ic { width:32px; height:32px; border-radius:9px; background:var(--green-50); color:var(--green-600); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .wi-seg-seg .wss-ic svg { width:16px; height:16px; }
.rsg-page .wi-seg-seg b { font-family:var(--font-display); font-weight:700; font-size:12.5px; color:var(--ink-900); line-height:1.25; display:block; }
.rsg-page .wi-seg-seg .wss-sub { display:block; font-size:10.5px; color:var(--ink-500); }
.rsg-page .wi-seg-arrow { color:var(--green-500); display:flex; }
.rsg-page .wi-seg-arrow svg { width:16px; height:16px; }
.rsg-page .wi-seg-camp { font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.22); border-radius:7px; padding:6px 9px; text-align:center; white-space:nowrap; }
.rsg-page .em-transform { background:#fff; border:1px solid var(--line); border-radius:20px; overflow:hidden; box-shadow:var(--shadow-lg); }
.rsg-page .et-headrow, .rsg-page .et-row { display:grid; grid-template-columns:1fr 140px 1fr; }
.rsg-page .et-row { border-top:1px solid var(--line-2); }
.rsg-page .et-head { padding:18px 26px; }
.rsg-page .et-head.trap { background:#F5F6F6; }
.rsg-page .et-head.win { background:linear-gradient(180deg,rgba(44,122,75,.13),rgba(44,122,75,.05)); border-top:3px solid var(--green-500); }
.rsg-page .et-head .eth-t { font-family:var(--font-display); font-weight:800; font-size:17px; letter-spacing:-.01em; }
.rsg-page .et-head.trap .eth-t { color:var(--ink-700); }
.rsg-page .et-head.win .eth-t { color:var(--green-700); }
.rsg-page .et-head .eth-s { display:block; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-top:3px; }
.rsg-page .et-head.trap .eth-s { color:var(--ink-500); }
.rsg-page .et-head.win .eth-s { color:var(--green-600); }
.rsg-page .et-mid { background:#fff; }
.rsg-page .et-cell { padding:17px 26px; font-size:14px; line-height:1.45; display:flex; align-items:center; gap:12px; }
.rsg-page .et-cell.trap { background:#FAFBFB; color:var(--ink-500); }
.rsg-page .et-cell.win { background:rgba(44,122,75,.045); color:var(--ink-900); font-weight:600; }
.rsg-page .et-mk { width:20px; height:20px; border-radius:50%; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; }
.rsg-page .et-cell.trap .et-mk { background:#EDEFEE; color:#9aa3a0; }
.rsg-page .et-cell.win .et-mk { background:var(--green-50); color:var(--green-600); }
.rsg-page .et-mk svg { width:11px; height:11px; }
.rsg-page .et-dim { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:14px 8px; border-left:1px solid var(--line-2); border-right:1px solid var(--line-2); background:#fff; text-align:center; }
.rsg-page .et-dim .etd-ic { width:34px; height:34px; border-radius:9px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 14px rgba(32,157,80,.26); }
.rsg-page .et-dim .etd-ic svg { width:17px; height:17px; }
.rsg-page .et-dim .etd-l { font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-700); }
.rsg-page .et-mlabel { display:none; }
@media (max-width:760px){
  .rsg-page .em-whatis { grid-template-columns:1fr; gap:24px; padding:26px 22px; }
  .rsg-page .et-headrow { display:none; }
  .rsg-page .et-row { grid-template-columns:1fr; border-top:0; border-bottom:9px solid var(--line-2); }
  .rsg-page .et-row:last-child { border-bottom:0; }
  .rsg-page .et-dim { order:-1; flex-direction:row; justify-content:flex-start; gap:11px; border:0; border-bottom:1px solid var(--line-2); padding:13px 20px; }
  .rsg-page .et-cell { padding:13px 20px; }
  .rsg-page .et-mlabel { display:inline; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; opacity:.75; margin-right:3px; }
}
@media (max-width:560px){
  .rsg-page .wi-seg-row { grid-template-columns:1fr auto; }
  .rsg-page .wi-seg-arrow { display:none; }
  .rsg-page .wi-seg-camp { grid-column:1 / -1; text-align:left; }
}

/* ============================================================
   §3 REDESIGN — Trigger Machine (automation) vs Season Roadmap (campaigns)
   ============================================================ */
.rsg-page .em-avc { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:0 0 24px; align-items:stretch; }
.rsg-page .avc { border:1px solid var(--line); border-radius:20px; overflow:hidden; box-shadow:var(--shadow-md); display:flex; flex-direction:column; background:#fff; }
.rsg-page .avc.camp { border-color:rgba(44,122,75,.28); }
.rsg-page .avc-head { padding:24px 26px 16px; }
.rsg-page .avc-tag { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; border-radius:999px; padding:5px 12px; margin-bottom:13px; }
.rsg-page .avc.auto .avc-tag { color:var(--ink-700); background:#F1F3F2; border:1px solid var(--line); }
.rsg-page .avc.camp .avc-tag { color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.22); }
.rsg-page .avc-tag .avt-dot { width:7px; height:7px; border-radius:50%; }
.rsg-page .avc.auto .avt-dot { background:var(--ink-500); }
.rsg-page .avc.camp .avt-dot { background:var(--green-500); box-shadow:0 0 0 3px rgba(44,122,75,.18); }
.rsg-page .avc-head h3 { font-family:var(--font-display); font-size:20px; font-weight:800; color:var(--ink-900); margin:0 0 5px; letter-spacing:-.01em; }
.rsg-page .avc-head .avc-sub { font-size:13px; color:var(--ink-500); margin:0; }
/* automation flow canvas */
.rsg-page .avc.auto .avc-body { background:#FAFBFB; background-image:radial-gradient(rgba(44,122,75,.11) 1.1px, transparent 1.1px); background-size:15px 15px; padding:20px 22px; flex:1; display:flex; flex-direction:column; }
.rsg-page .au-row { display:flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:10px 12px; box-shadow:0 4px 12px rgba(0,0,0,.05); margin-bottom:11px; }
.rsg-page .au-row:last-child { margin-bottom:0; }
.rsg-page .au-seg { display:flex; align-items:center; gap:9px; min-width:0; flex:1; }
.rsg-page .au-seg .au-ic { width:28px; height:28px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .au-trig .au-ic { background:#EDEFEE; color:var(--ink-700); }
.rsg-page .au-act .au-ic { background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; box-shadow:0 5px 12px rgba(32,157,80,.28); }
.rsg-page .au-seg .au-ic svg { width:15px; height:15px; }
.rsg-page .au-seg b { font-family:var(--font-display); font-weight:700; font-size:12px; color:var(--ink-900); line-height:1.15; display:block; }
.rsg-page .au-seg .au-when { font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--green-700); display:block; margin-top:1px; }
.rsg-page .au-trig b { color:var(--ink-700); }
.rsg-page .au-arrow { flex-shrink:0; color:var(--green-500); position:relative; width:26px; height:16px; }
.rsg-page .au-arrow::before { content:""; position:absolute; top:50%; left:0; right:6px; height:2px; transform:translateY(-50%); background:repeating-linear-gradient(90deg,var(--green-500) 0 4px, transparent 4px 8px); }
.rsg-page .au-arrow::after { content:""; position:absolute; right:0; top:50%; transform:translateY(-50%); border-left:6px solid var(--green-500); border-top:4px solid transparent; border-bottom:4px solid transparent; }
.rsg-page .au-arrow .aup { position:absolute; top:50%; left:0; width:5px; height:5px; border-radius:50%; background:var(--green-500); transform:translateY(-50%); animation:auPulse 2.6s linear infinite; }
@keyframes auPulse { 0%{left:0;opacity:0} 12%{opacity:1} 80%{opacity:1} 100%{left:16px;opacity:0} }
/* automation "how it works" storyboard (fills the canvas, tells the process story) */
.rsg-page .au-story { margin-top:14px; flex:1; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(135deg,rgba(44,122,75,.08),rgba(44,122,75,.02)); border:1px solid rgba(44,122,75,.26); border-radius:13px; padding:16px; }
.rsg-page .aus-lead { font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--green-700); text-align:center; margin:0 0 14px; }
.rsg-page .aus-track { display:grid; grid-template-columns:1fr 28px 1fr 28px 1fr; align-items:start; }
.rsg-page .aus-step { text-align:center; padding:0 3px; }
.rsg-page .aus-ic { width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 9px; position:relative; }
.rsg-page .aus-ic.trig { background:#EDEFEE; color:var(--ink-700); }
.rsg-page .aus-ic.eng { background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; box-shadow:0 8px 18px rgba(32,157,80,.32); }
.rsg-page .aus-ic.eng::after { content:""; position:absolute; inset:-5px; border-radius:50%; border:2px solid rgba(44,122,75,.35); animation:auRing 2.1s ease-out infinite; }
.rsg-page .aus-ic.out { background:var(--green-50); color:var(--green-600); border:2px solid var(--green-500); }
.rsg-page .aus-ic svg { width:19px; height:19px; }
.rsg-page .aus-txt b { display:block; font-family:var(--font-display); font-weight:800; font-size:11.5px; color:var(--ink-900); line-height:1.2; margin-bottom:3px; }
.rsg-page .aus-txt span { display:block; font-size:9.5px; color:var(--ink-500); line-height:1.4; }
.rsg-page .aus-arrow { margin-top:18px; position:relative; height:2px; }
.rsg-page .aus-arrow::before { content:""; position:absolute; left:2px; right:7px; top:0; height:2px; background:repeating-linear-gradient(90deg,var(--green-500) 0 4px,transparent 4px 8px); }
.rsg-page .aus-arrow::after { content:""; position:absolute; right:0; top:50%; transform:translateY(-50%); border-left:6px solid var(--green-500); border-top:4px solid transparent; border-bottom:4px solid transparent; }
.rsg-page .aus-arrow .aup2 { position:absolute; top:50%; left:0; width:5px; height:5px; border-radius:50%; background:var(--green-500); transform:translateY(-50%); animation:auPulse2 2.6s linear infinite; }
@keyframes auPulse2 { 0%{left:0;opacity:0} 12%{opacity:1} 80%{opacity:1} 100%{left:20px;opacity:0} }
@keyframes auRing { 0%{transform:scale(.82);opacity:.85} 100%{transform:scale(1.28);opacity:0} }
.rsg-page .aus-foot { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:15px; padding-top:12px; border-top:1px dashed rgba(44,122,75,.25); font-size:11px; color:var(--ink-2); text-align:center; }
.rsg-page .aus-foot b { color:var(--ink-900); font-weight:700; }
.rsg-page .aus-foot .ausf-dot { width:7px; height:7px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 3px rgba(44,122,75,.18); animation:auLive 1.8s ease-in-out infinite; flex-shrink:0; }
@keyframes auLive { 0%,100%{opacity:1} 50%{opacity:.35} }
@media (max-width:600px){
  .rsg-page .aus-track { grid-template-columns:1fr; gap:12px; }
  .rsg-page .aus-arrow { display:none; }
  .rsg-page .aus-step { display:flex; align-items:center; gap:12px; text-align:left; padding:0; }
  .rsg-page .aus-ic { margin:0; flex-shrink:0; }
}
/* campaign scheduler mockup (a real "Campaign Calendar" tool screen) */
.rsg-page .avc.camp .avc-body { padding:20px 22px; flex:1; background:#FAFBFB; background-image:radial-gradient(rgba(44,122,75,.11) 1.1px, transparent 1.1px); background-size:15px 15px; }
.rsg-page .cm-sched { border:1px solid var(--line); border-radius:13px; overflow:hidden; background:#fff; box-shadow:0 10px 26px rgba(16,44,28,.10); }
.rsg-page .cms-bar { display:flex; align-items:center; gap:10px; padding:12px 15px; background:linear-gradient(180deg,#fbfdfc,#f4f8f5); border-bottom:1px solid var(--line-2); }
.rsg-page .cms-bar-ic { width:28px; height:28px; border-radius:8px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 5px 12px rgba(32,157,80,.26); }
.rsg-page .cms-bar-ic svg { width:15px; height:15px; }
.rsg-page .cms-bar-t { font-family:var(--font-display); font-weight:800; font-size:13px; color:var(--ink-900); }
.rsg-page .cms-bar-badge { margin-left:auto; display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.22); border-radius:999px; padding:4px 9px; }
.rsg-page .cms-bar-badge .cbd { width:6px; height:6px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 3px rgba(44,122,75,.18); }
.rsg-page .cms-row { display:flex; align-items:center; gap:12px; padding:12px 14px; border-bottom:1px solid var(--line-2); transition:background .18s; }
.rsg-page .cms-row:last-child { border-bottom:0; }
.rsg-page .cms-row:hover { background:rgba(44,122,75,.04); }
.rsg-page .cms-ic { width:34px; height:34px; border-radius:9px; background:var(--green-50); color:var(--green-600); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .cms-ic svg { width:17px; height:17px; }
.rsg-page .cms-main { flex:1; min-width:0; }
.rsg-page .cms-main b { display:block; font-family:var(--font-display); font-weight:700; font-size:12.5px; color:var(--ink-900); line-height:1.25; }
.rsg-page .cms-sub { display:inline-flex; align-items:center; gap:5px; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--green-700); margin-top:4px; }
.rsg-page .cms-sub svg { width:11px; height:11px; }
.rsg-page .cms-st { flex-shrink:0; display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.2); border-radius:999px; padding:5px 9px; }
.rsg-page .cms-st .cst-dot { width:6px; height:6px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 3px rgba(44,122,75,.16); }
@media (max-width:420px){ .rsg-page .cms-st span { display:none; } .rsg-page .cms-st { padding:6px; } }
/* shared footer specs (folds the old comparison table) */
.rsg-page .avc-foot { border-top:1px solid var(--line-2); padding:16px 24px 18px; background:#fff; margin-top:auto; }
.rsg-page .avc-foot .avf-cap { font-size:12.5px; line-height:1.5; color:var(--ink-2); margin:0 0 12px; }
.rsg-page .avc-foot .avf-cap b { color:var(--ink-900); }
.rsg-page .avc-specs { display:flex; flex-wrap:wrap; gap:7px; }
.rsg-page .avc-spec { font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; border-radius:6px; padding:5px 9px; }
.rsg-page .avc.auto .avc-spec { color:var(--ink-700); background:#F1F3F2; }
.rsg-page .avc.camp .avc-spec { color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.18); }
@media (max-width:860px){ .rsg-page .em-avc { grid-template-columns:1fr; } }
/* light CTA banner (lightbulb + question + green button) */
.rsg-page .em-cta-banner { display:flex; align-items:center; gap:18px; background:linear-gradient(135deg,var(--green-50),#fff 70%); border:1px solid rgba(44,122,75,.24); border-left:5px solid var(--green-500); border-radius:14px; padding:19px 24px; box-shadow:var(--shadow-md); }
.rsg-page .em-cta-banner .ecb-ic { width:42px; height:42px; border-radius:11px; background:#fff; color:var(--green-600); display:flex; align-items:center; justify-content:center; flex-shrink:0; border:1px solid rgba(44,122,75,.22); box-shadow:0 3px 8px rgba(32,157,80,.12); }
.rsg-page .em-cta-banner .ecb-ic svg { width:20px; height:20px; }
.rsg-page .em-cta-banner p { flex:1; margin:0; font-size:14.5px; line-height:1.55; color:var(--ink-2); }
.rsg-page .em-cta-banner p strong { color:var(--ink-900); font-weight:800; }
.rsg-page .em-cta-banner .ecb-btn { flex-shrink:0; display:inline-flex; align-items:center; gap:7px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; font-family:var(--font-display); font-weight:700; font-size:12.5px; padding:9px 15px; border-radius:999px; text-decoration:none; box-shadow:0 6px 16px rgba(32,157,80,.26); transition:transform .2s, box-shadow .2s; white-space:nowrap; }
.rsg-page .em-cta-banner .ecb-btn:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(32,157,80,.32); }
.rsg-page .em-cta-banner .ecb-btn svg { width:15px; height:15px; }
@media (max-width:720px){ .rsg-page .em-cta-banner { flex-direction:column; align-items:flex-start; gap:15px; } .rsg-page .em-cta-banner .ecb-btn { width:auto; max-width:100%; white-space:normal; } }
/* §4 promise CTAs + outline-white button (ported from graphic-design founder template) */
.rsg-page .promise-ctas { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.rsg-page .btn-outline-white { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,0.4); box-shadow:none; }
.rsg-page .btn-outline-white:hover { border-color:#fff; background:rgba(255,255,255,0.08); transform:translateY(-2px); }
/* ============================================================
   §5 REDESIGN — "Email Autopsy" (dead newsletter teardown + diagnosis)
   ============================================================ */
.rsg-page .em-autopsy { display:grid; grid-template-columns:.96fr 1.04fr; gap:40px; align-items:stretch; }
/* the dead email mockup */
.rsg-page .ax-mail { position:relative; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-lg); display:flex; flex-direction:column; }
/* animated diagnostic scan beam */
.rsg-page .ax-scan { position:absolute; left:0; right:0; top:-90px; height:90px; z-index:3; pointer-events:none; background:linear-gradient(180deg, transparent, rgba(44,122,75,.13) 55%, rgba(44,122,75,.26)); border-bottom:2px solid rgba(44,122,75,.65); box-shadow:0 0 26px rgba(44,122,75,.45); animation:axScan 3.6s cubic-bezier(.45,0,.25,1) infinite; }
@keyframes axScan { 0%{top:-90px;opacity:0} 7%{opacity:1} 90%{opacity:1} 100%{top:100%;opacity:0} }
.rsg-page .ax-scanning { display:inline-flex; align-items:center; gap:6px; 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,.24); border-radius:999px; padding:4px 10px; }
.rsg-page .ax-scanning .axsc-dot { width:6px; height:6px; border-radius:50%; background:var(--green-500); animation:axBlink 1.2s ease-in-out infinite; }
@keyframes axBlink { 0%,100%{opacity:1} 50%{opacity:.35} }
/* the newsletter body filler + generic CTA */
.rsg-page .ax-grow { flex:1; }
.rsg-page .ax-banner { height:60px; border-radius:8px; background:repeating-linear-gradient(135deg,#ebedec,#ebedec 11px,#f4f5f5 11px,#f4f5f5 22px); border:1px solid var(--line-2); display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:8.5px; letter-spacing:.1em; text-transform:uppercase; color:#b0b4b1; margin:2px 0 11px; }
.rsg-page .ax-cta { display:inline-block; margin-top:11px; background:#d7dbd8; color:#8a8f8c; font-family:var(--font-display); font-weight:700; font-size:11px; padding:8px 16px; border-radius:7px; }
.rsg-page .ax-mail::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(120,124,122,.04),rgba(120,124,122,.10)); pointer-events:none; z-index:1; }
.rsg-page .ax-ribbon { position:absolute; top:20px; right:-40px; transform:rotate(45deg); background:linear-gradient(135deg,#3A3A3A,#111); color:#fff; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:6px 48px; box-shadow:0 5px 14px rgba(0,0,0,.3); z-index:4; }
.rsg-page .ax-bar { display:flex; align-items:center; gap:9px; padding:12px 15px; border-bottom:1px solid var(--line-2); background:#F3F4F4; position:relative; z-index:2; }
.rsg-page .ax-dots { display:flex; gap:6px; } .rsg-page .ax-dots span { width:10px; height:10px; border-radius:50%; background:#d7dbd8; }
.rsg-page .ax-bar-t { font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .ax-status { margin-left:auto; display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#8a8f8c; background:#E6E9E7; border-radius:999px; padding:4px 10px; }
.rsg-page .ax-status svg { width:11px; height:11px; }
.rsg-page .ax-line { position:relative; z-index:2; display:flex; gap:12px; align-items:flex-start; padding:14px 16px; border-bottom:1px dashed var(--line); }
.rsg-page .ax-line:last-child { border-bottom:0; }
.rsg-page .ax-num { position:relative; width:23px; height:23px; border-radius:50%; background:linear-gradient(135deg,#4A4A4A,#1A1A1A); color:#fff; font-family:var(--font-display); font-weight:800; font-size:11.5px; display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 3px 8px rgba(0,0,0,.22); }
.rsg-page .ax-num::after { content:""; position:absolute; inset:-2px; border-radius:50%; border:2px solid var(--green-500); opacity:0; animation:axRing 3.6s ease-out infinite; animation-delay:var(--d,0s); }
@keyframes axRing { 0%{transform:scale(1);opacity:.85} 45%{opacity:0} 100%{transform:scale(2);opacity:0} }
.rsg-page .ax-lb { min-width:0; flex:1; }
.rsg-page .ax-tag { font-family:var(--font-mono); font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#a2a7a4; display:block; margin-bottom:4px; }
.rsg-page .ax-subj { font-family:var(--font-display); font-weight:700; font-size:14px; color:#6B6B6B; line-height:1.3; }
.rsg-page .ax-to { display:flex; align-items:center; gap:8px; }
.rsg-page .ax-to .ax-av { width:24px; height:24px; border-radius:50%; background:#E0E3E1; color:#9aa3a0; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:12px; flex-shrink:0; }
.rsg-page .ax-to span { font-size:12.5px; color:#8a8f8c; font-family:var(--font-mono); }
.rsg-page .ax-msg { font-size:12px; color:#a2a7a4; line-height:1.55; font-style:italic; }
.rsg-page .ax-stat { display:flex; align-items:center; gap:12px; width:100%; }
.rsg-page .ax-stat .axs-v { font-family:var(--font-display); font-weight:800; font-size:19px; color:#8a8f8c; line-height:1; }
.rsg-page .ax-stat .axs-track { flex:1; height:7px; border-radius:4px; background:#E6E9E7; position:relative; overflow:hidden; }
.rsg-page .ax-stat .axs-fill { position:absolute; inset:0 auto 0 0; width:12%; background:repeating-linear-gradient(45deg,#c3c8c5,#c3c8c5 5px,#d5d9d6 5px,#d5d9d6 10px); border-radius:4px; }
.rsg-page .ax-stat .axs-lbl { font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#a2a7a4; }
/* diagnosis list */
.rsg-page .ax-dx-head { font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--green-700); margin:0 0 16px; display:inline-flex; align-items:center; gap:9px; }
.rsg-page .ax-dx-head i { width:24px; height:24px; border-radius:7px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:inline-flex; align-items:center; justify-content:center; }
.rsg-page .ax-dx-head i svg { width:14px; height:14px; }
.rsg-page .ax-dx { display:grid; gap:13px; }
.rsg-page .dx-row { display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:14px; padding:15px 17px; box-shadow:var(--shadow-md); transition:transform .2s, box-shadow .2s, border-color .2s; }
.rsg-page .dx-row:hover { transform:translateX(3px); border-color:rgba(44,122,75,.28); box-shadow:0 12px 28px rgba(0,0,0,.07); }
.rsg-page .dx-num { width:30px; height:30px; border-radius:9px; background:linear-gradient(135deg,#4A4A4A,#1A1A1A); color:#fff; font-family:var(--font-display); font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .dx-b { min-width:0; flex:1; }
.rsg-page .dx-b h3 { font-family:var(--font-display); font-size:15px; font-weight:800; color:var(--ink-900); margin:1px 0 5px; letter-spacing:-.01em; line-height:1.25; }
.rsg-page .dx-prob { font-size:12.5px; line-height:1.5; color:var(--ink-500); margin:0 0 10px; }
.rsg-page .dx-fix { display:flex; align-items:flex-start; gap:9px; font-size:12.5px; line-height:1.5; color:var(--ink-900); background:var(--green-50); border:1px solid rgba(44,122,75,.16); border-radius:10px; padding:9px 12px; }
.rsg-page .dx-fix .dxf-ic { width:18px; height:18px; border-radius:50%; background:var(--green-500); color:#fff; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.rsg-page .dx-fix .dxf-ic svg { width:11px; height:11px; }
.rsg-page .dx-fix .dxf-stat { display:inline-flex; align-items:center; gap:6px; margin-left:5px; white-space:nowrap; }
.rsg-page .dx-fix .dxf-stat s { color:#b0b4b1; font-weight:800; font-family:var(--font-display); text-decoration:line-through; }
.rsg-page .dx-fix .dxf-stat b { color:var(--green-700); font-weight:800; font-family:var(--font-display); }
@media (max-width:900px){ .rsg-page .em-autopsy { grid-template-columns:1fr; gap:28px; } .rsg-page .ax-mail { max-width:460px; } }

/* ============================================================
   §5 REDESIGN v2 — Two-Path Journey (animated diverging roads)
   ============================================================ */
.rsg-page .em-journey { display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:center; }
.rsg-page .jn-origin { display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; position:relative; }
.rsg-page .jn-origin::after { content:""; position:absolute; right:-13px; top:50%; width:13px; height:2px; background:var(--line); }
.rsg-page .jn-send-ic { width:54px; height:54px; border-radius:15px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 22px rgba(32,157,80,.3); }
.rsg-page .jn-send-ic svg { width:24px; height:24px; }
.rsg-page .jn-send-t { font-family:var(--font-mono); font-weight:700; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-700); line-height:1.35; }
.rsg-page .jn-lanes { display:grid; gap:20px; min-width:0; }
.rsg-page .jn-lane { position:relative; border-radius:16px; padding:16px 20px 18px; box-shadow:var(--shadow-md); }
.rsg-page .jn-lane.bad { background:#F7F8F8; border:1px solid var(--line); }
.rsg-page .jn-lane.good { background:linear-gradient(135deg,var(--green-50),#fff 78%); border:1px solid rgba(44,122,75,.3); }
.rsg-page .jn-lane-head { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:2px; }
.rsg-page .jn-lane-tag { font-family:var(--font-display); font-weight:800; font-size:14.5px; letter-spacing:-.01em; }
.rsg-page .jn-lane.bad .jn-lane-tag { color:var(--ink-700); }
.rsg-page .jn-lane.good .jn-lane-tag { color:var(--green-700); }
.rsg-page .jn-lane-sub { font-size:11.5px; color:var(--ink-500); }
.rsg-page .jn-lane-body { display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center; margin-top:12px; }
.rsg-page .jn-road { position:relative; display:flex; justify-content:space-between; gap:6px; padding-top:5px; }
.rsg-page .jn-rail { position:absolute; left:12px; right:12px; top:16px; height:3px; z-index:0; border-radius:2px; }
.rsg-page .jn-lane.bad .jn-rail { background:repeating-linear-gradient(90deg,#c9cec9 0 6px, transparent 6px 12px); }
.rsg-page .jn-lane.good .jn-rail { background:rgba(44,122,75,.18); }
.rsg-page .jn-dot { position:absolute; top:10px; width:15px; height:15px; border-radius:50%; z-index:3; }
.rsg-page .jn-lane.bad .jn-dot { background:#9aa3a0; box-shadow:0 0 0 4px rgba(154,163,160,.22); animation:jnBad 10s ease-in-out infinite; }
.rsg-page .jn-lane.good .jn-dot { background:var(--green-500); box-shadow:0 0 0 4px rgba(44,122,75,.22); animation:jnGood 10s ease-in-out infinite; }
@keyframes jnBad { 0%{left:2px;opacity:0} 5%{left:2px;opacity:1} 14%{left:calc(12.5% - 7.5px)} 27%{left:calc(12.5% - 7.5px)} 36%{left:calc(37.5% - 7.5px)} 49%{left:calc(37.5% - 7.5px)} 58%{left:calc(62.5% - 7.5px)} 71%{left:calc(62.5% - 7.5px)} 80%{left:calc(87.5% - 7.5px)} 92%{left:calc(87.5% - 7.5px)} 98%{left:calc(100% - 20px);opacity:1} 100%{left:calc(100% - 20px);opacity:0} }
@keyframes jnGood { 0%{left:2px;opacity:0} 5%{left:2px;opacity:1} 14%{left:calc(12.5% - 7.5px)} 27%{left:calc(12.5% - 7.5px)} 36%{left:calc(37.5% - 7.5px)} 49%{left:calc(37.5% - 7.5px)} 58%{left:calc(62.5% - 7.5px)} 71%{left:calc(62.5% - 7.5px)} 80%{left:calc(87.5% - 7.5px)} 92%{left:calc(87.5% - 7.5px)} 98%{left:calc(100% - 20px)} 100%{left:calc(100% - 20px);opacity:1} }
/* §5 rail segment shine — each connector lights in sequence, synced to the traveling dot's 6s clock */
.rsg-page .jn-seg { position:absolute; top:16px; height:3px; border-radius:2px; opacity:0; z-index:1; pointer-events:none; }
.rsg-page .jn-lane.good .jn-seg { background:linear-gradient(90deg,#2C7A4B,#143E25); box-shadow:0 0 6px 0 rgba(44,122,75,.4); }
.rsg-page .jn-lane.bad .jn-seg { background:linear-gradient(90deg,#5C5C5C,#2E2E2E); box-shadow:0 0 6px 0 rgba(46,46,46,.35); }
.rsg-page .jn-seg.s1 { left:12px; width:calc(12.5% - 12px); animation:jnLine1 10s ease-in-out infinite; }
.rsg-page .jn-seg.s2 { left:12.5%; width:25%; animation:jnLine2 10s ease-in-out infinite; }
.rsg-page .jn-seg.s3 { left:37.5%; width:25%; animation:jnLine3 10s ease-in-out infinite; }
.rsg-page .jn-seg.s4 { left:62.5%; width:25%; animation:jnLine4 10s ease-in-out infinite; }
.rsg-page .jn-seg.s5 { left:87.5%; width:calc(12.5% - 12px); animation:jnLine5 10s ease-in-out infinite; }
@keyframes jnLine1 { 0%,5%{opacity:0} 9%{opacity:1;filter:brightness(1.7)} 14%,100%{opacity:1;filter:brightness(1)} }
@keyframes jnLine2 { 0%,27%{opacity:0} 31%{opacity:1;filter:brightness(1.7)} 36%,100%{opacity:1;filter:brightness(1)} }
@keyframes jnLine3 { 0%,49%{opacity:0} 53%{opacity:1;filter:brightness(1.7)} 58%,100%{opacity:1;filter:brightness(1)} }
@keyframes jnLine4 { 0%,71%{opacity:0} 75%{opacity:1;filter:brightness(1.7)} 80%,100%{opacity:1;filter:brightness(1)} }
@keyframes jnLine5 { 0%,92%{opacity:0} 95%{opacity:1;filter:brightness(1.7)} 98%,100%{opacity:1;filter:brightness(1)} }
/* §5 progress via the check/cross NODES lighting up in sequence (replaces the moving dot) — dim -> pop+ring -> lit, synced to each segment's shine */
.rsg-page .jn-lane.good .jn-node { --ng:rgba(74,222,128,.7); }
.rsg-page .jn-lane.bad .jn-node { --ng:rgba(154,163,160,.55); }
.rsg-page .jn-road > .jn-wp:nth-of-type(1) .jn-node { animation:jnNode1 10s ease-in-out infinite; }
.rsg-page .jn-road > .jn-wp:nth-of-type(2) .jn-node { animation:jnNode2 10s ease-in-out infinite; }
.rsg-page .jn-road > .jn-wp:nth-of-type(3) .jn-node { animation:jnNode3 10s ease-in-out infinite; }
.rsg-page .jn-road > .jn-wp:nth-of-type(4) .jn-node { animation:jnNode4 10s ease-in-out infinite; }
@keyframes jnNode1 { 0%,11%{opacity:.45;filter:grayscale(.85) brightness(1.05);transform:scale(.82);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 0 rgba(0,0,0,0)} 14%{opacity:1;filter:grayscale(0) brightness(1);transform:scale(1.2);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 6px var(--ng)} 19%{transform:scale(1);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 0 rgba(0,0,0,0)} 100%{opacity:1;filter:grayscale(0) brightness(1);transform:scale(1);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 0 rgba(0,0,0,0)} }
@keyframes jnNode2 { 0%,33%{opacity:.45;filter:grayscale(.85) brightness(1.05);transform:scale(.82);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 0 rgba(0,0,0,0)} 36%{opacity:1;filter:grayscale(0) brightness(1);transform:scale(1.2);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 6px var(--ng)} 41%{transform:scale(1);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 0 rgba(0,0,0,0)} 100%{opacity:1;filter:grayscale(0) brightness(1);transform:scale(1);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 0 rgba(0,0,0,0)} }
@keyframes jnNode3 { 0%,55%{opacity:.45;filter:grayscale(.85) brightness(1.05);transform:scale(.82);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 0 rgba(0,0,0,0)} 58%{opacity:1;filter:grayscale(0) brightness(1);transform:scale(1.2);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 6px var(--ng)} 63%{transform:scale(1);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 0 rgba(0,0,0,0)} 100%{opacity:1;filter:grayscale(0) brightness(1);transform:scale(1);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 0 rgba(0,0,0,0)} }
@keyframes jnNode4 { 0%,77%{opacity:.45;filter:grayscale(.85) brightness(1.05);transform:scale(.82);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 0 rgba(0,0,0,0)} 80%{opacity:1;filter:grayscale(0) brightness(1);transform:scale(1.2);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 6px var(--ng)} 85%{transform:scale(1);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 0 rgba(0,0,0,0)} 100%{opacity:1;filter:grayscale(0) brightness(1);transform:scale(1);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 0 rgba(0,0,0,0)} }
@media (prefers-reduced-motion:reduce){ .rsg-page .jn-dot{display:none;animation:none} .rsg-page .jn-seg{animation:none;opacity:1} .rsg-page .jn-node{animation:none} }
.rsg-page .jn-wp { position:relative; z-index:1; flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; min-width:0; }
.rsg-page .jn-node { width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:9px; border:2px solid #fff; box-shadow:0 2px 6px rgba(0,0,0,.12); }
.rsg-page .jn-node svg { width:12px; height:12px; }
.rsg-page .jn-lane.bad .jn-node { background:#E0E3E1; color:#8a8f8c; }
.rsg-page .jn-lane.good .jn-node { background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; }
.rsg-page .jn-wp-t { font-family:var(--font-display); font-weight:700; font-size:11.5px; color:var(--ink-900); line-height:1.2; }
.rsg-page .jn-wp-d { font-size:10px; color:var(--ink-500); line-height:1.3; margin-top:3px; }
.rsg-page .jn-goal { flex-shrink:0; display:flex; flex-direction:column; align-items:center; text-align:center; border-radius:13px; padding:12px 15px; min-width:108px; }
.rsg-page .jn-lane.bad .jn-goal { background:#EAECEB; border:1px solid var(--line); }
.rsg-page .jn-lane.good .jn-goal { background:linear-gradient(135deg,var(--green-500),var(--green-700)); box-shadow:0 8px 20px rgba(32,157,80,.3); }
.rsg-page .jn-goal-ic { width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:6px; }
.rsg-page .jn-goal-ic svg { width:16px; height:16px; }
.rsg-page .jn-lane.bad .jn-goal-ic { background:#d3d7d4; color:#6B6B6B; }
.rsg-page .jn-lane.good .jn-goal-ic { background:rgba(255,255,255,.22); color:#fff; }
.rsg-page .jn-goal b { font-family:var(--font-display); font-weight:800; font-size:14px; line-height:1; }
.rsg-page .jn-lane.bad .jn-goal b { color:var(--ink-700); }
.rsg-page .jn-lane.good .jn-goal b { color:#fff; }
.rsg-page .jn-goal span { font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; margin-top:3px; }
.rsg-page .jn-lane.bad .jn-goal span { color:var(--ink-500); }
.rsg-page .jn-lane.good .jn-goal span { color:rgba(255,255,255,.9); }
.rsg-page .jn-close { text-align:center; font-size:14px; color:var(--ink-2); margin:26px 0 0; }
.rsg-page .jn-close strong { color:var(--ink-900); font-weight:800; }
@media (max-width:820px){
  .rsg-page .em-journey { grid-template-columns:1fr; gap:16px; }
  .rsg-page .jn-origin { flex-direction:row; justify-content:center; gap:12px; }
  .rsg-page .jn-origin::after { display:none; }
  .rsg-page .jn-lane-body { grid-template-columns:1fr; gap:16px; }
  .rsg-page .jn-road { flex-direction:column; gap:12px; padding-top:0; }
  .rsg-page .jn-rail, .rsg-page .jn-dot, .rsg-page .jn-seg { display:none; }
  .rsg-page .jn-wp { flex-direction:row; align-items:center; text-align:left; gap:12px; }
  .rsg-page .jn-node { margin-bottom:0; animation:none; }
  .rsg-page .jn-wp-d { margin-top:0; }
  .rsg-page .jn-goal { flex-direction:row; gap:10px; min-width:0; align-self:flex-start; padding:11px 16px; }
  .rsg-page .jn-goal-ic { margin-bottom:0; }
}

/* ============================================================
   §4 PROMISE — dark founder panel
   ============================================================ */
.rsg-page .em-promise { background:var(--dark-grad); border-radius:var(--radius-lg); padding:46px 46px 42px; position:relative; overflow:hidden; }
.rsg-page .em-promise::after { content:""; position:absolute; top:-30%; right:-10%; width:60%; height:120%; background:radial-gradient(circle,rgba(44,122,75,.28),transparent 62%); pointer-events:none; }
.rsg-page .em-promise > * { position:relative; z-index:1; }
.rsg-page .em-promise .emp-eyebrow { color:#7EE0A6; }
.rsg-page .em-promise .emp-eyebrow i { background:rgba(74,222,128,.16); color:#7EE0A6; box-shadow:none; }
.rsg-page .em-promise h2 { color:#fff; }
.rsg-page .em-promise .emp-lede { color:rgba(255,255,255,.82); font-size:16px; line-height:1.6; max-width:none; margin:0 0 30px; }
.rsg-page .em-promise .emp-lede strong { color:#fff; }
.rsg-page .em-promise-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:30px; align-items:start; }
.rsg-page .emp-list { display:grid; gap:16px; }
.rsg-page .emp-item { display:flex; gap:15px; align-items:flex-start; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:17px 19px; }
.rsg-page .emp-item .emp-n { width:30px; height:30px; border-radius:9px; background:linear-gradient(135deg,var(--green-500),#4ADE80); color:#06231a; font-family:var(--font-display); font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .emp-item h4 { font-family:var(--font-display); font-size:15.5px; font-weight:700; color:#fff; margin:0 0 5px; }
.rsg-page .emp-item p { margin:0; font-size:13.5px; line-height:1.55; color:rgba(255,255,255,.72); }
.rsg-page .emp-founder { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:24px; text-align:center; }
.rsg-page .emp-founder img { width:112px; height:112px; border-radius:50%; object-fit:cover; border:3px solid rgba(74,222,128,.35); margin:0 auto 14px; display:block; }
.rsg-page .emp-founder .emp-guar { font-family:var(--font-display); font-weight:800; font-size:19px; color:#fff; line-height:1.2; margin-bottom:6px; }
.rsg-page .emp-founder .emp-guar em { color:#7EE0A6; font-style:normal; }
.rsg-page .emp-founder p { font-size:13px; line-height:1.55; color:rgba(255,255,255,.74); margin:0 0 8px; }
.rsg-page .emp-founder .emp-sig { font-family:var(--font-mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:#7EE0A6; font-weight:700; }
.rsg-page .em-promise-cta { margin-top:28px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.rsg-page .em-promise-cta .emc-note { font-size:13.5px; color:rgba(255,255,255,.7); }

/* ============================================================
   §5 FAIL — pain cards with mini-viz
   ============================================================ */
.rsg-page .em-fail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:8px; }
.rsg-page .em-fail { background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px 24px 22px; box-shadow:var(--shadow-md); position:relative; transition:transform .25s,box-shadow .25s,border-color .25s; display:flex; flex-direction:column; }
.rsg-page .em-fail:hover { transform:translateY(-3px); border-color:rgba(44,122,75,.3); box-shadow:0 16px 36px rgba(0,0,0,.08); }
.rsg-page .em-fail h3 { font-family:var(--font-display); font-size:17px; font-weight:800; color:var(--ink-900); margin:14px 0 8px; letter-spacing:-.01em; }
.rsg-page .em-fail p { font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0; }
.rsg-page .em-fail .emf-foot { margin-top:16px; padding-top:15px; border-top:1px solid var(--line-2); }
/* subject-line open-rate bars */
.rsg-page .emf-bars { display:flex; align-items:flex-end; gap:16px; }
.rsg-page .emf-bar { flex:1; text-align:center; }
.rsg-page .emf-bar .efb-track { height:74px; display:flex; align-items:flex-end; }
.rsg-page .emf-bar .efb-fill { width:100%; border-radius:7px 7px 0 0; }
.rsg-page .emf-bar.bad .efb-fill { background:repeating-linear-gradient(45deg,#e2e6e3,#e2e6e3 6px,#eef1ee 6px,#eef1ee 12px); border:1px solid var(--line); }
.rsg-page .emf-bar.good .efb-fill { background:linear-gradient(180deg,#4ADE80,var(--green-500)); box-shadow:0 6px 14px rgba(32,157,80,.28); }
.rsg-page .emf-bar .efb-val { font-family:var(--font-display); font-weight:800; font-size:17px; margin-top:8px; color:var(--ink-900); }
.rsg-page .emf-bar.good .efb-val { color:var(--green-700); }
.rsg-page .emf-bar .efb-lbl { font-family:var(--font-mono); font-size:9px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-500); font-weight:700; margin-top:3px; }
/* wrong-message target viz */
.rsg-page .emf-mini { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.rsg-page .emf-chip { font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.03em; padding:6px 10px; border-radius:7px; display:inline-flex; align-items:center; gap:6px; }
.rsg-page .emf-chip.x { color:#8a8a8a; background:#F1F3F2; border:1px solid var(--line); text-decoration:line-through; }
.rsg-page .emf-chip.ok { color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.2); }
.rsg-page .emf-chip svg { width:12px; height:12px; }
.rsg-page .emf-arrow { color:var(--ink-500); }
.rsg-page .emf-arrow svg { width:15px; height:15px; display:block; }
.rsg-page .emf-cap { font-family:var(--font-mono); font-size:9.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-500); font-weight:700; }

/* ============================================================
   §6 acquisition vs retention cost
   ============================================================ */
.rsg-page .em-cost2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:6px 0 0; }
.rsg-page .em-cost { border:1px solid var(--line); border-radius:16px; padding:24px 26px; box-shadow:var(--shadow-md); position:relative; overflow:hidden; }
.rsg-page .em-cost.hot { background:linear-gradient(160deg,#FBF5EC,#fff); border-color:rgba(217,164,65,.3); }
.rsg-page .em-cost.warm { background:linear-gradient(160deg,var(--green-50),#fff); border-color:rgba(44,122,75,.28); }
.rsg-page .em-cost .ec-tag { font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:10px; display:inline-block; }
.rsg-page .em-cost.hot .ec-tag { color:#B4802A; }
.rsg-page .em-cost.warm .ec-tag { color:var(--green-700); }
.rsg-page .em-cost .ec-num { font-family:var(--font-display); font-weight:800; font-size:34px; letter-spacing:-.02em; line-height:1; }
.rsg-page .em-cost.hot .ec-num { color:#B4802A; }
.rsg-page .em-cost.warm .ec-num { color:var(--green-700); }
.rsg-page .em-cost .ec-unit { font-size:13px; color:var(--ink-500); font-family:var(--font-mono); font-weight:700; }
.rsg-page .em-cost .ec-desc { font-size:13.5px; line-height:1.55; color:var(--ink-2); margin:12px 0 0; }
.rsg-page .em-cost .ec-desc b { color:var(--ink-900); }

/* ============================================================
   §7 — SEASONAL DEMAND-RHYTHM ANNUAL TIMELINE  (prefix: sdr-)
   Winner (Direction B curve) hardened + grafted:
     · A  → window chrome + product toolbar + filter/count bar + dot-grid canvas
     · D  → compact 4-season intensity equalizers beneath the curve
     · C  → restrained stacked-paper offset shadow on campaign cards
   Palette: green + grey only. Base state of every animated part = final frame.
   ============================================================ */

/* ---- app window ---- */
.rsg-page .sdr-panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden;}

/* ---- window chrome ---- */
.rsg-page .sdr-chrome{display:flex;align-items:center;gap:14px;padding:11px 18px;border-bottom:1px solid var(--line-2);background:linear-gradient(180deg,#fff,rgba(44,122,75,.035));}
.rsg-page .sdr-dots{display:flex;gap:7px;flex-shrink:0;}
.rsg-page .sdr-dots i{width:11px;height:11px;border-radius:50%;background:#E4E8E5;}
.rsg-page .sdr-dots i:first-child{background:#C9CFCB;}
.rsg-page .sdr-dots i:nth-child(2){background:#E4E8E5;}
.rsg-page .sdr-tab{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--ink-700);background:#fff;border:1px solid var(--line);border-radius:9px;padding:6px 12px;box-shadow:var(--shadow-md);white-space:nowrap;}
.rsg-page .sdr-tab svg{width:13px;height:13px;color:var(--green-600);flex-shrink:0;}
.rsg-page .sdr-crumb{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-500);white-space:nowrap;}

/* ---- toolbar ---- */
.rsg-page .sdr-toolbar{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:19px 22px;border-bottom:1px solid var(--line-2);}
.rsg-page .sdr-tico{width:46px;height:46px;border-radius:12px;flex-shrink:0;background:linear-gradient(135deg,var(--green-500),var(--green-700));box-shadow:0 8px 20px rgba(44,122,75,.28);display:flex;align-items:center;justify-content:center;}
.rsg-page .sdr-tico svg{width:24px;height:24px;color:#fff;}
.rsg-page .sdr-ttl{display:flex;flex-direction:column;gap:4px;min-width:0;}
.rsg-page .sdr-ttl h3{font-family:var(--font-display);font-weight:800;font-size:19px;letter-spacing:-.01em;color:var(--ink-900);line-height:1.1;margin:0;}
.rsg-page .sdr-ttl span{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-500);}
.rsg-page .sdr-plan{margin-left:auto;display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--green-500),var(--green-700));color:#fff;border-radius:999px;padding:8px 16px;font-family:var(--font-display);font-weight:700;font-size:13px;box-shadow:0 8px 20px rgba(44,122,75,.25);white-space:nowrap;}
.rsg-page .sdr-plan svg{width:14px;height:14px;flex-shrink:0;}

/* ---- filter / legend bar ---- */
.rsg-page .sdr-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 22px;border-bottom:1px solid var(--line-2);background:rgba(44,122,75,.035);}
.rsg-page .sdr-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-700);box-shadow:var(--shadow-md);}
.rsg-page .sdr-chip i{width:10px;height:10px;border-radius:3px;flex-shrink:0;}
.rsg-page .sdr-chip.peak i{background:linear-gradient(135deg,#4ADE80,var(--green-500));}
.rsg-page .sdr-chip.build i{background:var(--green-500);}
.rsg-page .sdr-chip.slow i{background:#C9CFCB;}
.rsg-page .sdr-count{margin-left:auto;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);white-space:nowrap;}

/* ---- chart header ---- */
.rsg-page .sdr-chart-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:18px 22px 0;}
.rsg-page .sdr-chart-hd b{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-700);}
.rsg-page .sdr-chart-hd span{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-500);}

/* ---- chart ---- */
.rsg-page .sdr-chart{display:flex;gap:14px;padding:14px 22px 6px;}
.rsg-page .sdr-yaxis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:4px 0 26px;flex-shrink:0;}
.rsg-page .sdr-yaxis span{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-500);}
.rsg-page .sdr-plot{flex:1;min-width:0;}
.rsg-page .sdr-svg{display:block;width:100%;height:auto;}
.rsg-page .sdr-grid-line{stroke:var(--line-2);stroke-width:1;stroke-dasharray:3 6;}
.rsg-page .sdr-baseline{stroke:var(--line);stroke-width:1.25;}
.rsg-page .sdr-guide{stroke-width:1.5;stroke-dasharray:2 5;stroke-linecap:round;opacity:.4;}
.rsg-page .sdr-area{fill:url(#sdrArea);}
.rsg-page .sdr-line{fill:none;stroke:url(#sdrLine);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2000;stroke-dashoffset:0;}
.rsg-page .sdr-node{}
.rsg-page .sdr-months{display:flex;margin-top:8px;}
.rsg-page .sdr-months span{flex:1;text-align:center;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;}
.rsg-page .sdr-months .mo-p{color:var(--green-500);}
.rsg-page .sdr-months .mo-b{color:var(--ink-700);}
.rsg-page .sdr-months .mo-s{color:var(--ink-500);}

/* ---- divider ---- */
.rsg-page .sdr-divider{height:1px;background:var(--line-2);margin:0 22px;}

/* ---- campaign cards on dot-grid canvas ---- */
.rsg-page .sdr-canvas{padding:22px;background-color:#fff;background-image:radial-gradient(circle,rgba(20,62,37,.055) 1px,transparent 1.4px);background-size:22px 22px;}
.rsg-page .sdr-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.rsg-page .sdr-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 15px 14px 18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-md),4px 5px 0 -2px #fff,5px 6px 0 -2px #E4E8E5;transition:transform .2s ease,box-shadow .2s ease;}
.rsg-page .sdr-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;}
.rsg-page .sdr-card.peak::before{background:linear-gradient(180deg,#4ADE80,var(--green-500));}
.rsg-page .sdr-card.build::before{background:var(--green-500);}
.rsg-page .sdr-card.slow::before{background:#C9CFCB;}
.rsg-page .sdr-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg),4px 5px 0 -2px #fff,5px 6px 0 -2px #E4E8E5;}
.rsg-page .sdr-card-top{display:flex;align-items:center;gap:8px;margin-bottom:11px;}
.rsg-page .sdr-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.rsg-page .sdr-card.peak .sdr-dot{background:#4ADE80;box-shadow:0 0 0 3px rgba(74,222,128,.20);}
.rsg-page .sdr-card.build .sdr-dot{background:var(--green-500);box-shadow:0 0 0 3px rgba(44,122,75,.14);}
.rsg-page .sdr-card.slow .sdr-dot{background:#C9CFCB;box-shadow:0 0 0 3px rgba(154,162,157,.16);}
.rsg-page .sdr-mo{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-900);}
.rsg-page .sdr-mtag{margin-left:auto;font-family:var(--font-mono);font-size:8.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;white-space:nowrap;}
.rsg-page .sdr-card.peak .sdr-mtag{color:var(--green-700);background:rgba(74,222,128,.16);}
.rsg-page .sdr-card.build .sdr-mtag{color:var(--green-700);background:var(--green-50);}
.rsg-page .sdr-card.slow .sdr-mtag{color:var(--ink-500);background:#EEF1EE;}
.rsg-page .sdr-focus{font-family:var(--font-display);font-weight:700;font-size:13.5px;line-height:1.32;color:var(--ink-900);margin:0 0 11px;}
.rsg-page .sdr-goal{margin-top:auto;padding-top:11px;border-top:1px solid var(--line-2);display:flex;gap:7px;align-items:flex-start;font-family:var(--font-body);font-size:12px;line-height:1.45;color:var(--ink-500);}
.rsg-page .sdr-goal svg{width:13px;height:13px;color:var(--green-600);flex-shrink:0;margin-top:1px;}

/* ---- all-year summary banner ---- */
.rsg-page .sdr-summary{margin-top:16px;display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,var(--green-50),#fff);border:1px solid rgba(44,122,75,.28);border-radius:18px;padding:22px 24px;box-shadow:var(--shadow-md);}
.rsg-page .sdr-sum-chip{width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,var(--green-500),var(--green-700));display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(44,122,75,.30);flex-shrink:0;}
.rsg-page .sdr-sum-chip svg{width:26px;height:26px;color:#fff;}
.rsg-page .sdr-sum-body{flex:1;min-width:0;}
.rsg-page .sdr-sum-label{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--green-700);margin-bottom:7px;}
.rsg-page .sdr-sum-focus{font-family:var(--font-display);font-weight:800;font-size:17px;line-height:1.3;letter-spacing:-.01em;color:var(--ink-900);margin:0 0 9px;}
.rsg-page .sdr-sum-goal{display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--green-700);line-height:1.4;}
.rsg-page .sdr-sum-goal svg{width:15px;height:15px;color:var(--green-600);flex-shrink:0;}
.rsg-page .sdr-sum-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--green-500),var(--green-700));color:#fff;font-family:var(--font-display);font-weight:700;font-size:13px;padding:11px 18px;border-radius:999px;text-decoration:none;box-shadow:0 8px 20px rgba(44,122,75,.28);transition:transform .2s,box-shadow .2s;white-space:nowrap;}
.rsg-page .sdr-sum-cta:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(44,122,75,.34);}
.rsg-page .sdr-sum-cta svg{width:16px;height:16px;color:#fff;}

/* ---- entrance motion (base state above = final visible frame) ---- */
@keyframes sdrDraw{from{stroke-dashoffset:2000;}to{stroke-dashoffset:0;}}
@keyframes sdrFade{from{opacity:0;}to{opacity:1;}}
@keyframes sdrRise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.rsg-page .sdr-panel.reveal.visible .sdr-line{animation:sdrDraw 1.7s cubic-bezier(.65,0,.35,1) forwards;}
.rsg-page .sdr-panel.reveal.visible .sdr-area{animation:sdrFade 1.2s ease .3s both;}
.rsg-page .sdr-panel.reveal.visible .sdr-guide{animation:sdrFade .8s ease .9s both;}
.rsg-page .sdr-panel.reveal.visible .sdr-node{animation:sdrFade .5s ease both;}
.rsg-page .sdr-panel.reveal.visible .sdr-card{animation:sdrRise .5s ease both;}
.rsg-page .sdr-summary.reveal.visible{animation:sdrRise .55s ease both;}

/* ---- responsive ---- */
@media (max-width:1024px){
  .rsg-page .sdr-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:900px){
  .rsg-page .sdr-crumb{display:none;}
  .rsg-page .sdr-plan{margin-left:0;}
  .rsg-page .sdr-chart{gap:10px;}
}
@media (max-width:600px){
  .rsg-page .sdr-grid{grid-template-columns:repeat(2,1fr);}
  .rsg-page .sdr-chart{padding:14px 16px 6px;}
  .rsg-page .sdr-chart-hd{padding:16px 16px 0;}
  .rsg-page .sdr-divider{margin:0 16px;}
  .rsg-page .sdr-canvas{padding:18px 16px;}
  .rsg-page .sdr-toolbar,.rsg-page .sdr-filters,.rsg-page .sdr-chrome{padding-left:16px;padding-right:16px;}
  .rsg-page .sdr-count{margin-left:0;width:100%;}
  .rsg-page .sdr-ttl h3{font-size:17px;}
  .rsg-page .sdr-summary{flex-direction:column;align-items:flex-start;gap:14px;padding:20px;}
  .rsg-page .sdr-sum-focus{font-size:16px;}
}
@media (max-width:400px){
  .rsg-page .sdr-yaxis{display:none;}
  .rsg-page .sdr-grid{grid-template-columns:1fr;}
  .rsg-page .sdr-months span{font-size:8.5px;letter-spacing:-.02em;}
  .rsg-page .sdr-toolbar{gap:12px;}
}
@media (prefers-reduced-motion:reduce){
  .rsg-page .sdr-panel.reveal.visible .sdr-line,
  .rsg-page .sdr-panel.reveal.visible .sdr-area,
  .rsg-page .sdr-panel.reveal.visible .sdr-guide,
  .rsg-page .sdr-panel.reveal.visible .sdr-node,
  .rsg-page .sdr-panel.reveal.visible .sdr-card,
  .rsg-page .sdr-summary.reveal.visible{animation:none;}
  .rsg-page .sdr-card{transition:none;}
  .rsg-page .sdr-card:hover{transform:none;}
}

/* ============================================================
   §8 list-hiding — CRM chips + small-vs-cold
   ============================================================ */
/* ===================== §8 List Activation Pipeline — FINAL (lst-) ===================== */
/* Scoped under .rsg-page. Fresh lst- prefix. Green + neutrals only. */

.rsg-page{
  /* chart green ramp (all on-brand greens). Accent #4ADE80 is used sparingly — live-sync dot only. */
  --lst-g1:#143E25; --lst-g2:#1F5B36; --lst-g3:#2C7A4B; --lst-g4:#6FBF8E;
  --lst-cap-a:#D2D8D4; --lst-cap-b:#C1C8C3;
}

.rsg-page .lst-wrap{margin-top:6px}
.rsg-page .lst-wrap *{box-sizing:border-box}

/* ---------- intro ---------- */
.rsg-page .lst-intro{max-width:none;margin-bottom:30px}
.rsg-page .lst-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono,'DM Sans',sans-serif);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green-600,#1F5B36);margin:0 0 13px}
.rsg-page .lst-eyebrow::before{content:"";display:inline-block;width:22px;height:1px;background:var(--green-500,#2C7A4B)}
.rsg-page .lst-title{font-family:var(--font-display,'Montserrat',sans-serif);font-weight:800;color:var(--ink-900,#111);font-size:clamp(23px,3vw,33px);line-height:1.14;letter-spacing:-.01em;margin:0 0 13px}
.rsg-page .lst-lede{font-family:var(--font-body,'DM Sans',sans-serif);color:var(--ink-700,#262626);font-size:clamp(15px,1.35vw,16.5px);line-height:1.62;max-width:none;margin:0}

/* ---------- window / board ---------- */
.rsg-page .lst-board{border:1px solid var(--line,#E4E8E5);border-radius:16px;background:#FBFCFB;box-shadow:var(--shadow-lg,0 18px 48px rgba(0,0,0,.10));overflow:hidden}
.rsg-page .lst-bar{display:flex;align-items:center;gap:12px;padding:13px 18px;background:#fff;border-bottom:1px solid var(--line-2,#EEF1EE)}
.rsg-page .lst-dots{display:flex;gap:6px}
.rsg-page .lst-dots i{display:block;width:10px;height:10px;border-radius:50%;background:#DDE2DE}
.rsg-page .lst-bartitle{font-family:var(--font-mono,'DM Sans',sans-serif);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-700,#262626)}
.rsg-page .lst-live{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono,'DM Sans',sans-serif);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-600,#1F5B36);background:var(--green-50,#E8F1EB);border:1px solid #CBE3D3;border-radius:999px;padding:5px 11px}
.rsg-page .lst-live b{display:block;width:7px;height:7px;border-radius:50%;background:#4ADE80}
@media (prefers-reduced-motion:no-preference){.rsg-page .lst-live b{animation:lst-ping-solid 2.4s ease-in-out infinite}}
@keyframes lst-ping-solid{0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.5)}60%{box-shadow:0 0 0 5px rgba(74,222,128,0)}}

/* ---------- flow ---------- */
.rsg-page .lst-flow{display:flex;align-items:stretch;gap:0;padding:24px}
.rsg-page .lst-stage{flex:1 1 0;min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line-2,#EEF1EE);border-radius:13px;padding:16px;box-shadow:0 3px 14px rgba(0,0,0,.04)}
.rsg-page .lst-stage--wide{flex:1.45 1 0}
.rsg-page .lst-sh{display:flex;align-items:center;gap:10px;margin-bottom:15px}
.rsg-page .lst-glyph{flex:none;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 14px rgba(31,91,54,.28)}
.rsg-page .lst-shtx{display:flex;flex-direction:column;gap:2px;min-width:0}
.rsg-page .lst-step{font-family:var(--font-mono,'DM Sans',sans-serif);font-size:8.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-500,#6B6B6B)}
.rsg-page .lst-sname{font-family:var(--font-display,'Montserrat',sans-serif);font-weight:700;font-size:13.5px;line-height:1.2;color:var(--ink-900,#111)}
.rsg-page .lst-mlabel{font-family:var(--font-mono,'DM Sans',sans-serif);font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500,#6B6B6B);margin:0 0 9px}

/* stage 1 — sources + records */
.rsg-page .lst-crms{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px}
.rsg-page .lst-crm{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line-2,#EEF1EE);border-radius:9px;background:#fff}
.rsg-page .lst-crm .ic{flex:none;width:26px;height:26px;border-radius:7px;color:#fff;background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));display:flex;align-items:center;justify-content:center;box-shadow:0 3px 9px rgba(31,91,54,.24)}
.rsg-page .lst-crm span{font-family:var(--font-body,'DM Sans',sans-serif);font-weight:600;font-size:11px;line-height:1.1;color:var(--ink-700,#262626)}
.rsg-page .lst-div{height:1px;background:var(--line-2,#EEF1EE);margin:2px 0 13px}
.rsg-page .lst-recs{display:flex;flex-direction:column;gap:7px;margin-top:auto}
.rsg-page .lst-rec{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line-2,#EEF1EE);border-radius:8px;background:#FBFCFB}
.rsg-page .lst-rec>svg{flex:none;color:var(--green-600,#1F5B36)}
.rsg-page .lst-rec span{flex:1;min-width:0;font-family:var(--font-body,'DM Sans',sans-serif);font-weight:500;font-size:11.5px;color:var(--ink-700,#262626)}
.rsg-page .lst-pulse{flex:none;position:relative;width:8px;height:8px;border-radius:50%;background:var(--green-500,#2C7A4B)}
.rsg-page .lst-pulse::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--green-500,#2C7A4B);opacity:.5}
@media (prefers-reduced-motion:no-preference){.rsg-page .lst-pulse::after{animation:lst-ping 2.4s ease-out infinite}}
@keyframes lst-ping{0%{transform:scale(.6);opacity:.6}70%,100%{transform:scale(1.7);opacity:0}}

/* rails + travelling flow-dot */
.rsg-page .lst-rail{flex:none;width:40px;display:flex;align-items:center;justify-content:center;position:relative}
.rsg-page .lst-rail::before{content:"";position:absolute;left:2px;right:2px;top:50%;height:2px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,var(--green-500,#2C7A4B) 0 6px,transparent 6px 12px);opacity:.5}
.rsg-page .lst-chev{position:relative;z-index:1;width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid #CBE3D3;color:var(--green-600,#1F5B36);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(31,91,54,.14)}
.rsg-page .lst-flowdot{position:absolute;z-index:0;top:50%;left:2px;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--green-500,#2C7A4B);box-shadow:0 0 0 4px rgba(44,122,75,.14);opacity:0}
@media (prefers-reduced-motion:no-preference){.rsg-page .reveal.visible .lst-flowdot{animation:lst-flow-h 2.2s linear infinite;animation-delay:var(--fd,0s)}}
@keyframes lst-flow-h{0%{left:2px;opacity:0}15%{opacity:1}80%{opacity:1}100%{left:calc(100% - 10px);opacity:0}}

/* stage 2 — audit checks */
.rsg-page .lst-checks{display:flex;flex-direction:column;gap:14px;margin-top:2px;flex:1;justify-content:space-between}
.rsg-page .lst-check{display:flex;align-items:flex-start;gap:9px}
.rsg-page .lst-tick{flex:none;width:19px;height:19px;margin-top:1px;border-radius:6px;background:var(--green-50,#E8F1EB);border:1px solid #CBE3D3;color:var(--green-600,#1F5B36);display:flex;align-items:center;justify-content:center}
.rsg-page .lst-check p{margin:0;font-family:var(--font-body,'DM Sans',sans-serif);font-size:12px;font-weight:500;line-height:1.35;color:var(--ink-700,#262626)}

/* stage 3 — segments (CSS-only track widths, no numeric labels) */
.rsg-page .lst-segs{display:flex;flex-direction:column;gap:9px;flex:1;justify-content:space-between}
.rsg-page .lst-seg{display:flex;flex-direction:column;gap:6px;padding:9px 11px;border:1px solid var(--line-2,#EEF1EE);border-radius:8px;background:#fff}
.rsg-page .lst-seg .top{display:flex;align-items:center;gap:8px}
.rsg-page .lst-seg .top i{flex:none;width:7px;height:7px;border-radius:2px;background:var(--green-500,#2C7A4B)}
.rsg-page .lst-seg .top span{font-family:var(--font-body,'DM Sans',sans-serif);font-weight:600;font-size:11.5px;color:var(--ink-700,#262626)}
.rsg-page .lst-seg .track{height:5px;border-radius:3px;background:var(--line,#E4E8E5);overflow:hidden}
.rsg-page .lst-seg .track i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--green-500,#2C7A4B),var(--green-600,#1F5B36));transform-origin:left}
@media (prefers-reduced-motion:no-preference){.rsg-page .reveal.visible .lst-seg .track i{animation:lst-track .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:.35s}}
@keyframes lst-track{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* stage 4 — activated list */
.rsg-page .lst-out{display:flex;flex-direction:column;gap:10px;flex:1;justify-content:space-between}
.rsg-page .lst-foot{margin-top:auto;padding-top:13px;border-top:1px solid var(--line-2,#EEF1EE);display:flex;gap:9px;align-items:flex-start}
.rsg-page .lst-foot .fic{flex:none;width:20px;height:20px;border-radius:6px;background:var(--green-50,#E8F1EB);border:1px solid #CBE3D3;color:var(--green-600,#1F5B36);display:flex;align-items:center;justify-content:center}
.rsg-page .lst-foot .fic svg{width:12px;height:12px}
.rsg-page .lst-foot p{margin:0;font-family:var(--font-body,'DM Sans',sans-serif);font-size:11px;line-height:1.45;color:var(--ink-500,#6B6B6B)}
.rsg-page .lst-foot p b{color:var(--green-700,#143E25);font-weight:700}
.rsg-page .lst-tags{display:flex;flex-wrap:wrap;gap:6px}
.rsg-page .lst-tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono,'DM Sans',sans-serif);font-size:8.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--green-700,#143E25);background:var(--green-50,#E8F1EB);border:1px solid #CBE3D3;border-radius:999px;padding:4px 8px}
.rsg-page .lst-tag i{flex:none;width:5px;height:5px;border-radius:50%;background:var(--green-500,#2C7A4B)}
.rsg-page .lst-ready{display:flex;align-items:center;gap:10px;padding:11px;border-radius:10px;color:#fff;background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));box-shadow:0 8px 20px rgba(31,91,54,.26)}
.rsg-page .lst-ready .ic{flex:none;width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.16);color:#fff;display:flex;align-items:center;justify-content:center}
.rsg-page .lst-ready .tx{display:flex;flex-direction:column;gap:2px}
.rsg-page .lst-ready b{font-family:var(--font-display,'Montserrat',sans-serif);font-weight:700;font-size:13px}
.rsg-page .lst-ready small{font-family:var(--font-mono,'DM Sans',sans-serif);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;opacity:.88}
.rsg-page .lst-rows{display:flex;flex-direction:column;gap:7px}
.rsg-page .lst-row{display:flex;align-items:center;gap:9px;padding:7px 9px;border:1px solid var(--line-2,#EEF1EE);border-radius:8px;background:#fff}
.rsg-page .lst-av{flex:none;width:22px;height:22px;border-radius:50%;background:var(--green-50,#E8F1EB);border:1px solid #CBE3D3;color:var(--green-600,#1F5B36);display:flex;align-items:center;justify-content:center}
.rsg-page .lst-ln{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.rsg-page .lst-ln i{display:block;height:6px;border-radius:3px;background:var(--line,#E4E8E5)}
.rsg-page .lst-ln i:first-child{width:70%;background:#E1E6E2}
.rsg-page .lst-ln i:last-child{width:45%}
.rsg-page .lst-ok{flex:none;color:var(--green-500,#2C7A4B)}

/* ---------- quality comparison band + dot-density ---------- */
.rsg-page .lst-compare{border-top:1px solid var(--line-2,#EEF1EE);background:#fff;padding:24px}
.rsg-page .lst-cmp{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:16px}
.rsg-page .lst-side{border-radius:14px;padding:20px;display:flex;flex-direction:column}
.rsg-page .lst-win{background:linear-gradient(180deg,#F2F9F4,#E8F1EB);border:1.5px solid var(--green-500,#2C7A4B);box-shadow:0 12px 30px rgba(31,91,54,.14)}
.rsg-page .lst-lose{background:#F5F6F5;border:1px solid var(--line,#E4E8E5);box-shadow:0 2px 10px rgba(0,0,0,.04)}
.rsg-page .lst-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono,'DM Sans',sans-serif);font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:999px;margin-bottom:14px;align-self:flex-start}
.rsg-page .lst-win .lst-badge{background:var(--green-500,#2C7A4B);color:#fff}
.rsg-page .lst-lose .lst-badge{background:#E4E8E5;color:var(--ink-500,#6B6B6B)}
.rsg-page .lst-big{font-family:var(--font-display,'Montserrat',sans-serif);font-weight:800;font-size:clamp(34px,4.4vw,46px);line-height:1;letter-spacing:-.02em}
.rsg-page .lst-win .lst-big{color:var(--green-600,#1F5B36)}
.rsg-page .lst-lose .lst-big{color:#9AA29D}
.rsg-page .lst-slabel{font-family:var(--font-display,'Montserrat',sans-serif);font-weight:700;font-size:14px;margin:9px 0 8px}
.rsg-page .lst-win .lst-slabel{color:var(--ink-900,#111)}
.rsg-page .lst-lose .lst-slabel{color:var(--ink-700,#262626)}
.rsg-page .lst-sdesc{margin:0;font-family:var(--font-body,'DM Sans',sans-serif);font-size:12.5px;line-height:1.5}
.rsg-page .lst-win .lst-sdesc{color:var(--ink-700,#262626)}
.rsg-page .lst-win .lst-sdesc b{color:var(--green-700,#143E25)}
.rsg-page .lst-lose .lst-sdesc{color:var(--ink-500,#6B6B6B)}
/* dot-density motif — equal counts on both sides; quality shown by fill only */
.rsg-page .lst-density{margin-top:14px;padding-top:13px;border-top:1px solid rgba(0,0,0,.06)}
.rsg-page .lst-density .cap{display:block;font-family:var(--font-mono,'DM Sans',sans-serif);font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500,#6B6B6B);margin-bottom:8px}
.rsg-page .lst-density svg{display:block;width:100%;height:auto;max-width:172px}
.rsg-page .lst-vs{align-self:center;justify-self:center;flex:none;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line,#E4E8E5);color:var(--ink-500,#6B6B6B);font-family:var(--font-display,'Montserrat',sans-serif);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md,0 6px 24px rgba(0,0,0,.06))}

/* ---------- List Growth chart card (compounding) ---------- */
.rsg-page .lst-growth-card{margin-top:24px;border:1px solid var(--line,#E4E8E5);border-radius:16px;background:#FBFCFB;box-shadow:var(--shadow-lg,0 18px 48px rgba(0,0,0,.10));overflow:hidden}
.rsg-page .lst-gbody{display:grid;grid-template-columns:1.55fr 1fr;gap:22px;padding:22px 24px 26px}
.rsg-page .lst-plot-head{margin-bottom:14px}
.rsg-page .lst-plot-title{font-family:var(--font-display,'Montserrat',sans-serif);font-weight:700;font-size:15px;line-height:1.25;color:var(--ink-900,#111);margin:5px 0 0}
.rsg-page .lst-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:11px}
.rsg-page .lst-lg{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-body,'DM Sans',sans-serif);font-size:11px;font-weight:600;color:var(--ink-700,#262626)}
.rsg-page .lst-lg i{width:11px;height:11px;border-radius:3px;flex:none}
.rsg-page .lst-lg .seg-chip{background:linear-gradient(180deg,var(--lst-g4),var(--lst-g2))}
.rsg-page .lst-lg .cap-chip{background:repeating-linear-gradient(45deg,var(--lst-cap-b) 0 2px,var(--lst-cap-a) 2px 4px)}
/* plot */
.rsg-page .lst-plot{position:relative;padding-top:26px}
.rsg-page .lst-grid{position:absolute;left:0;right:0;top:26px;bottom:24px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;z-index:0}
.rsg-page .lst-grid span{display:block;height:1px;background:var(--line-2,#EEF1EE)}
.rsg-page .lst-anno{position:absolute;top:0;z-index:2;font-family:var(--font-mono,'DM Sans',sans-serif);font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:999px;white-space:nowrap}
.rsg-page .lst-anno.start{left:0;color:var(--green-700,#143E25);background:var(--green-50,#E8F1EB);border:1px solid #CBE3D3}
.rsg-page .lst-anno.start b{font-family:var(--font-display,'Montserrat',sans-serif);font-weight:800;font-size:11px;margin-right:3px}
.rsg-page .lst-anno.end{top:-12px;right:0;color:var(--ink-500,#6B6B6B);background:#fff;border:1px solid var(--line,#E4E8E5)}
.rsg-page .lst-bars{position:relative;z-index:1;display:flex;align-items:flex-end;gap:6px;height:210px}
.rsg-page .lst-gbar{position:relative;flex:1 1 0;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;border-radius:5px 5px 0 0;overflow:hidden;transform-origin:bottom}
.rsg-page .lst-gbar .fill{display:flex;flex-direction:column;width:100%;height:100%}
.rsg-page .lst-cap{background:repeating-linear-gradient(45deg,var(--lst-cap-b) 0 3px,var(--lst-cap-a) 3px 6px);min-height:0}
.rsg-page .lst-gseg{min-height:0}
.rsg-page .lst-gseg.a{background:var(--lst-g1)}
.rsg-page .lst-gseg.b{background:var(--lst-g2)}
.rsg-page .lst-gseg.c{background:var(--lst-g3)}
.rsg-page .lst-gseg.d{background:var(--lst-g4)}
.rsg-page .lst-gseg.b,.rsg-page .lst-gseg.c,.rsg-page .lst-gseg.d{border-top:1px solid rgba(255,255,255,.55)}
.rsg-page .lst-xaxis{display:flex;justify-content:space-between;margin-top:9px;font-family:var(--font-mono,'DM Sans',sans-serif);font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-500,#6B6B6B)}
/* quality rail */
.rsg-page .lst-rail-q{border-left:1px solid var(--line-2,#EEF1EE);padding-left:22px;display:flex;flex-direction:column;gap:16px}
.rsg-page .lst-q{display:flex;gap:12px;align-items:flex-start}
.rsg-page .lst-q-ic{flex:none;width:34px;height:34px;border-radius:9px;background:var(--green-50,#E8F1EB);border:1px solid #CBE3D3;color:var(--green-600,#1F5B36);display:flex;align-items:center;justify-content:center}
.rsg-page .lst-q-t{font-family:var(--font-display,'Montserrat',sans-serif);font-weight:700;font-size:13px;color:var(--ink-900,#111);line-height:1.2}
.rsg-page .lst-q-d{font-family:var(--font-body,'DM Sans',sans-serif);font-size:11.5px;line-height:1.45;color:var(--ink-500,#6B6B6B);margin-top:3px}

/* ---------- growth callout (verbatim, lightbulb) ---------- */
.rsg-page .lst-callout{display:flex;gap:14px;align-items:flex-start;margin-top:20px;padding:18px 20px;border:1px solid var(--line-2,#EEF1EE);border-left:4px solid var(--green-500,#2C7A4B);border-radius:12px;background:var(--green-50,#E8F1EB);box-shadow:var(--shadow-md,0 6px 24px rgba(0,0,0,.06))}
.rsg-page .lst-callout .ic{flex:none;width:38px;height:38px;border-radius:10px;background:#fff;border:1px solid #CBE3D3;color:var(--green-600,#1F5B36);display:flex;align-items:center;justify-content:center}
.rsg-page .lst-callout p{margin:0;flex:1;min-width:0;font-family:var(--font-body,'DM Sans',sans-serif);font-size:14px;line-height:1.6;color:var(--ink-700,#262626)}
.rsg-page .lst-callout strong{color:var(--ink-900,#111);font-weight:700}
.rsg-page .lst-cta{flex:none;align-self:center;display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));color:#fff;font-family:var(--font-display,'Montserrat',sans-serif);font-weight:700;font-size:13px;padding:11px 18px;border-radius:999px;text-decoration:none;box-shadow:0 8px 20px rgba(44,122,75,.28);transition:transform .2s,box-shadow .2s;white-space:nowrap}
.rsg-page .lst-cta:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(44,122,75,.34)}
.rsg-page .lst-cta svg{width:16px;height:16px;color:#fff}

/* ---------- entrance motion (base = final/visible) ---------- */
.rsg-page .lst-intro,.rsg-page .lst-flow>*,.rsg-page .lst-compare,.rsg-page .lst-growth-card,.rsg-page .lst-callout{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .rsg-page .reveal.visible .lst-intro{animation:lst-rise .5s ease both}
  .rsg-page .reveal.visible .lst-flow>*{animation:lst-rise .55s ease both;animation-delay:var(--d,0s)}
  .rsg-page .reveal.visible .lst-compare{animation:lst-rise .55s ease both;animation-delay:.44s}
  .rsg-page .reveal.visible .lst-growth-card{animation:lst-rise .55s ease both;animation-delay:.5s}
  .rsg-page .reveal.visible .lst-callout{animation:lst-rise .55s ease both;animation-delay:.56s}
  .rsg-page .reveal.visible .lst-gbar{animation:lst-grow .8s cubic-bezier(.2,.7,.2,1) both}
  .rsg-page .reveal.visible .lst-gbar:nth-child(1){animation-delay:.50s}
  .rsg-page .reveal.visible .lst-gbar:nth-child(2){animation-delay:.54s}
  .rsg-page .reveal.visible .lst-gbar:nth-child(3){animation-delay:.58s}
  .rsg-page .reveal.visible .lst-gbar:nth-child(4){animation-delay:.62s}
  .rsg-page .reveal.visible .lst-gbar:nth-child(5){animation-delay:.66s}
  .rsg-page .reveal.visible .lst-gbar:nth-child(6){animation-delay:.70s}
  .rsg-page .reveal.visible .lst-gbar:nth-child(7){animation-delay:.74s}
  .rsg-page .reveal.visible .lst-gbar:nth-child(8){animation-delay:.78s}
  .rsg-page .reveal.visible .lst-gbar:nth-child(9){animation-delay:.82s}
  .rsg-page .reveal.visible .lst-gbar:nth-child(10){animation-delay:.86s}
  .rsg-page .reveal.visible .lst-gbar:nth-child(11){animation-delay:.90s}
  .rsg-page .reveal.visible .lst-gbar:nth-child(12){animation-delay:.94s}
}
@keyframes lst-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes lst-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .rsg-page .lst-flow{flex-direction:column;padding:18px}
  .rsg-page .lst-stage,.rsg-page .lst-stage--wide{flex:1 1 auto}
  .rsg-page .lst-rail{width:auto;height:36px}
  .rsg-page .lst-rail::before{left:50%;right:auto;top:2px;bottom:2px;height:auto;width:2px;transform:translateX(-50%);background:repeating-linear-gradient(180deg,var(--green-500,#2C7A4B) 0 6px,transparent 6px 12px)}
  .rsg-page .lst-chev{transform:rotate(90deg)}
  .rsg-page .lst-flowdot{top:2px;left:50%;margin-top:0;margin-left:-4px}
  .rsg-page .lst-gbody{grid-template-columns:1fr;gap:24px}
  .rsg-page .lst-rail-q{border-left:0;border-top:1px solid var(--line-2,#EEF1EE);padding-left:0;padding-top:20px;flex-direction:row;flex-wrap:wrap}
  .rsg-page .lst-rail-q .lst-q{flex:1 1 240px}
}
@media (prefers-reduced-motion:no-preference){
  @media (max-width:1080px){
    .rsg-page .reveal.visible .lst-flowdot{animation-name:lst-flow-v}
  }
}
@keyframes lst-flow-v{0%{top:2px;opacity:0}15%{opacity:1}80%{opacity:1}100%{top:calc(100% - 10px);opacity:0}}
@media (max-width:640px){
  .rsg-page .lst-cmp{grid-template-columns:1fr}
  .rsg-page .lst-vs{margin:2px auto}
  .rsg-page .lst-compare{padding:18px}
  .rsg-page .lst-density svg{max-width:200px}
  .rsg-page .lst-bars{height:170px;gap:4px}
  .rsg-page .lst-rail-q{flex-direction:column;justify-content:flex-start}
  .rsg-page .lst-rail-q .lst-q{flex:0 0 auto}
}
@media (max-width:640px){
  .rsg-page .lst-callout{flex-direction:column;align-items:flex-start;gap:12px}
  .rsg-page .lst-cta{align-self:flex-start}
}
@media (max-width:480px){
  /* stack the two chart annotations vertically WITH a gap; push the plot + gridlines down so both pills clear the bars */
  .rsg-page .lst-plot{padding-top:60px}
  .rsg-page .lst-grid{top:60px}
  .rsg-page .lst-anno.start{top:0;left:0;right:auto}
  .rsg-page .lst-anno.end{top:32px;left:0;right:auto}
}
@media (max-width:420px){
  .rsg-page .lst-flow{padding:14px}
  .rsg-page .lst-stage{padding:14px}
  .rsg-page .lst-crms{grid-template-columns:1fr}
  .rsg-page .lst-callout{flex-direction:column;gap:10px} .rsg-page .lst-cta{align-self:flex-start}
  .rsg-page .lst-gbody{padding:18px 16px 20px}
  .rsg-page .lst-bars{height:150px;gap:3px}
  .rsg-page .lst-anno{font-size:8px;padding:3px 7px}
}

/* ---------- reduced-motion safety net ---------- */
@media (prefers-reduced-motion:reduce){
  .rsg-page .lst-wrap *,.rsg-page .reveal.visible .lst-wrap *{animation:none!important;transition:none!important}
  .rsg-page .lst-flowdot{display:none}
  .rsg-page .lst-gbar{transform:none!important}
  .rsg-page .lst-seg .track i{transform:none!important}
}

/* ============================================================
   §9 build steps + dashboard feature
   ============================================================ */
.rsg-page .em-steps { display:grid; gap:16px; }
.rsg-page .em-step { display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 24px; box-shadow:var(--shadow-md); transition:transform .2s,box-shadow .2s,border-color .2s; }
.rsg-page .em-step:hover { transform:translateY(-2px); border-color:rgba(44,122,75,.28); box-shadow:0 14px 32px rgba(0,0,0,.07); }
.rsg-page .em-step .es-n { width:46px; height:46px; border-radius:12px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; font-family:var(--font-display); font-weight:800; font-size:19px; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(32,157,80,.26); }
.rsg-page .em-step h3 { font-family:var(--font-display); font-size:17.5px; font-weight:800; color:var(--ink-900); margin:2px 0 6px; letter-spacing:-.01em; }
.rsg-page .em-step p { font-size:14px; line-height:1.6; color:var(--ink-2); margin:0; }
.rsg-page .em-track-feature { display:grid; grid-template-columns:.95fr 1.05fr; gap:32px; align-items:center; margin-top:26px; background:var(--paper-soft); border:1px solid var(--line); border-radius:var(--radius-lg); padding:30px; }
.rsg-page .em-track-feature h3 { font-family:var(--font-display); font-size:20px; font-weight:800; color:var(--ink-900); margin:0 0 9px; letter-spacing:-.01em; }
.rsg-page .em-track-feature p { font-size:14px; line-height:1.62; color:var(--ink-2); margin:0; }

/* browser/LeadConnector frame for dashboard screenshots */
.rsg-page .em-lc-frame { background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-lg); overflow:hidden; }
.rsg-page .em-lc-bar { display:flex; align-items:center; gap:8px; padding:11px 14px; border-bottom:1px solid var(--line-2); background:linear-gradient(180deg,#fbfdfc,#f4f8f5); }
.rsg-page .em-lc-bar .lc-dots { display:flex; gap:6px; }
.rsg-page .em-lc-bar .lc-dots span { width:9px; height:9px; border-radius:50%; background:#dfe4e0; }
.rsg-page .em-lc-bar .lc-title { font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .em-lc-bar .lc-badge { margin-left:auto; display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.22); border-radius:999px; padding:3px 9px; }
.rsg-page .em-lc-shot { padding:6px; background:#fff; }
.rsg-page .em-lc-shot img { width:100%; display:block; border-radius:8px; }

/* ============================================================
   §10 7 campaign types + summary + email gallery
   ============================================================ */
.rsg-page .em-camp-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.rsg-page .em-camp { background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px; box-shadow:var(--shadow-md); position:relative; transition:transform .25s,box-shadow .25s,border-color .25s; display:flex; flex-direction:column; }
.rsg-page .em-camp:hover { transform:translateY(-3px); border-color:rgba(44,122,75,.3); box-shadow:0 16px 36px rgba(0,0,0,.08); }
.rsg-page .em-camp.last { grid-column:1 / -1; }
.rsg-page .em-camp-h { display:flex; align-items:center; gap:13px; margin-bottom:12px; }
.rsg-page .em-camp-h h3 { font-family:var(--font-display); font-size:16.5px; font-weight:800; color:var(--ink-900); margin:0; letter-spacing:-.01em; }
.rsg-page .em-camp p { font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0; }
.rsg-page .em-camp .ecmp-meta { margin-top:14px; padding-top:13px; border-top:1px solid var(--line-2); display:flex; gap:8px; flex-wrap:wrap; }
.rsg-page .em-camp .ecmp-tag { font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.2); border-radius:6px; padding:5px 9px; }
/* real email gallery */
.rsg-page .em-gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:8px; }
.rsg-page .em-gcard { background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; box-shadow:var(--shadow-md); display:flex; flex-direction:column; transition:transform .25s,box-shadow .25s; }
.rsg-page .em-gcard:hover { transform:translateY(-3px); box-shadow:0 18px 38px rgba(0,0,0,.1); }
.rsg-page .em-gshot { height:220px; overflow:hidden; background:#f6f8f7; border-bottom:1px solid var(--line-2); position:relative; }
.rsg-page .em-gshot img { width:100%; display:block; }
.rsg-page .em-gshot .egs-tag { position:absolute; top:10px; left:10px; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#fff; background:rgba(13,13,13,.82); backdrop-filter:blur(3px); border-radius:6px; padding:4px 8px; }
.rsg-page .em-gcap { padding:13px 15px 15px; }
.rsg-page .em-gcap b { display:block; font-family:var(--font-display); font-weight:700; font-size:13px; color:var(--ink-900); margin-bottom:3px; }
.rsg-page .em-gcap span { font-size:11.5px; color:var(--ink-500); line-height:1.4; }

/* ============================================================
   §11 system hub connections
   ============================================================ */
.rsg-page .em-sys-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.rsg-page .em-sys { background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px 22px; box-shadow:var(--shadow-md); text-align:left; transition:transform .25s,box-shadow .25s,border-color .25s; }
.rsg-page .em-sys:hover { transform:translateY(-3px); border-color:rgba(44,122,75,.3); box-shadow:0 16px 34px rgba(0,0,0,.08); }
.rsg-page .em-sys h4 { font-family:var(--font-display); font-size:15.5px; font-weight:800; color:var(--ink-900); margin:14px 0 7px; }
.rsg-page .em-sys p { font-size:13px; line-height:1.55; color:var(--ink-2); margin:0; }
.rsg-page .em-sys .es-plus { font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green-600); display:block; margin-bottom:2px; }

/* ============================================================
   §12 CASE STUDIES with real dashboards
   ============================================================ */
.rsg-page .em-cases { display:grid; gap:24px; }
.rsg-page .em-case { display:grid; grid-template-columns:.82fr 1.18fr; gap:0; background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); overflow:hidden; }
.rsg-page .em-case.flip .emcs-body { order:2; }
.rsg-page .emcs-body { padding:32px 34px; display:flex; flex-direction:column; justify-content:center; }
.rsg-page .emcs-loc { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:10.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 12px; margin-bottom:14px; align-self:flex-start; }
.rsg-page .emcs-loc svg { width:13px; height:13px; }
.rsg-page .emcs-body h3 { font-family:var(--font-display); font-size:21px; font-weight:800; color:var(--ink-900); margin:0 0 12px; letter-spacing:-.01em; line-height:1.24; }
.rsg-page .emcs-body p { font-size:14px; line-height:1.62; color:var(--ink-2); margin:0 0 18px; }
.rsg-page .emcs-stats { display:flex; gap:22px; flex-wrap:wrap; }
.rsg-page .emcs-stat strong { display:block; font-family:var(--font-display); font-weight:800; font-size:27px; line-height:1; color:var(--green-700); letter-spacing:-.02em; }
.rsg-page .emcs-stat span { display:block; margin-top:5px; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .emcs-media { background:linear-gradient(160deg,#EEF3F0,#E4EDE7); padding:30px 30px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; position:relative; }
.rsg-page .emcs-media .emcs-cap { font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-500); text-align:center; }
.rsg-page .emcs-media .em-lc-frame { width:100%; }
.rsg-page .emcs-email { width:118px; flex-shrink:0; border-radius:8px; overflow:hidden; border:1px solid var(--line); box-shadow:0 10px 26px rgba(0,0,0,.16); background:#fff; align-self:center; }
.rsg-page .emcs-email img { width:100%; display:block; }
.rsg-page .emcs-duo { display:flex; gap:16px; align-items:center; width:100%; }
.rsg-page .emcs-duo .em-lc-frame { flex:1; min-width:0; }

/* disclaimer note */
.rsg-page .em-disclaimer { font-family:var(--font-mono); font-size:11px; letter-spacing:.02em; color:var(--ink-500); margin-top:18px; text-align:left; }

/* ============================================================
   §13 PLAN MATRIX + automated/managed split
   ============================================================ */
.rsg-page .em-split2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:0 0 30px; }
.rsg-page .em-splitc { border-radius:16px; padding:26px; box-shadow:var(--shadow-md); border:1px solid var(--line); position:relative; overflow:hidden; }
.rsg-page .em-splitc.every { background:linear-gradient(160deg,var(--green-50),#fff); border-color:rgba(44,122,75,.28); }
.rsg-page .em-splitc.dom { background:var(--dark-grad); }
.rsg-page .em-splitc .esc-tag { font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; border-radius:999px; padding:5px 12px; display:inline-block; margin-bottom:14px; }
.rsg-page .em-splitc.every .esc-tag { color:var(--green-700); background:#fff; border:1px solid rgba(44,122,75,.24); }
.rsg-page .em-splitc.dom .esc-tag { color:#06231a; background:linear-gradient(135deg,#4ADE80,var(--green-500)); }
.rsg-page .em-splitc h3 { font-family:var(--font-display); font-size:19px; font-weight:800; margin:0 0 10px; letter-spacing:-.01em; }
.rsg-page .em-splitc.every h3 { color:var(--ink-900); }
.rsg-page .em-splitc.dom h3 { color:#fff; }
.rsg-page .em-splitc p { font-size:13.5px; line-height:1.6; margin:0; }
.rsg-page .em-splitc.every p { color:var(--ink-2); }
.rsg-page .em-splitc.dom p { color:rgba(255,255,255,.8); }
.rsg-page .em-splitc.dom p strong { color:#fff; }
.rsg-page .em-splitc .esc-price { font-family:var(--font-display); font-weight:800; font-size:15px; margin-top:12px; }
.rsg-page .em-splitc.dom .esc-price { color:#7EE0A6; }
.rsg-page .em-splitc.every .esc-price { color:var(--green-700); }

/* matrix table */
.rsg-page .em-matrix { background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); overflow:hidden; }
.rsg-page .em-matrix table { width:100%; border-collapse:collapse; }
.rsg-page .em-matrix th, .rsg-page .em-matrix td { padding:15px 18px; text-align:center; vertical-align:middle; }
.rsg-page .em-matrix thead th { border-bottom:2px solid var(--line); background:#fff; }
.rsg-page .em-matrix .mx-feat { text-align:left; font-family:var(--font-display); font-weight:700; font-size:13.5px; color:var(--ink-900); width:38%; }
.rsg-page .em-matrix tbody td { border-bottom:1px solid var(--line-2); font-size:13px; }
.rsg-page .em-matrix tbody tr:last-child td { border-bottom:0; }
.rsg-page .em-matrix tbody tr:hover td { background:rgba(0,0,0,.012); }
.rsg-page .em-matrix .mx-plan { font-family:var(--font-display); font-weight:800; font-size:16px; color:var(--ink-900); }
.rsg-page .em-matrix .mx-plan span { display:block; font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.04em; color:var(--ink-500); margin-top:3px; }
.rsg-page .em-matrix .mx-dom { background:rgba(44,122,75,.05); border-left:1px solid rgba(44,122,75,.16); border-right:1px solid rgba(44,122,75,.16); }
.rsg-page .em-matrix thead .mx-dom { background:linear-gradient(180deg,rgba(44,122,75,.14),rgba(44,122,75,.05)); border-top:3px solid var(--green-500); }
.rsg-page .em-matrix tbody tr:hover td.mx-dom { background:rgba(44,122,75,.085); }
.rsg-page .em-yes { width:26px; height:26px; border-radius:50%; background:var(--green-50); color:var(--green-600); display:inline-flex; align-items:center; justify-content:center; }
.rsg-page .em-yes svg { width:15px; height:15px; }
.rsg-page .em-no { width:26px; height:26px; border-radius:50%; background:#F1F3F2; color:#B8BEBA; display:inline-flex; align-items:center; justify-content:center; }
.rsg-page .em-no svg { width:13px; height:13px; }

/* ============================================================
   §14 which tier (reuses .pp-* pricing) — extra tier cards
   ============================================================ */
.rsg-page .em-tiers { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:8px; }
.rsg-page .em-tier { background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px; box-shadow:var(--shadow-md); position:relative; }
.rsg-page .em-tier.featured { border-color:rgba(44,122,75,.4); box-shadow:0 18px 40px rgba(32,157,80,.14); }
.rsg-page .em-tier .et-rev { font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); border-radius:999px; padding:5px 12px; display:inline-block; margin-bottom:12px; }
.rsg-page .em-tier h4 { font-family:var(--font-display); font-size:17px; font-weight:800; color:var(--ink-900); margin:0 0 8px; }
.rsg-page .em-tier p { font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0; }
.rsg-page .em-tier p b { color:var(--green-700); }

/* ============================================================
   §15 ROI — cost table + illustrative callout
   ============================================================ */
.rsg-page .em-roi-callout { display:flex; gap:18px; align-items:flex-start; background:linear-gradient(135deg,var(--green-50),#fff); border:1px solid rgba(44,122,75,.24); border-left:4px solid var(--green-500); border-radius:14px; padding:22px 24px; margin:0 0 30px; box-shadow:var(--shadow-md); }
.rsg-page .em-roi-callout .erc-math { flex-shrink:0; text-align:center; padding-right:20px; border-right:1px solid rgba(44,122,75,.2); }
.rsg-page .em-roi-callout .erc-math strong { display:block; font-family:var(--font-display); font-weight:800; font-size:32px; color:var(--green-700); line-height:1; letter-spacing:-.02em; }
.rsg-page .em-roi-callout .erc-math span { font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-500); display:block; margin-top:6px; }
.rsg-page .em-roi-callout p { margin:0; font-size:14px; line-height:1.6; color:var(--ink-2); }
.rsg-page .em-roi-callout p b { color:var(--ink-900); }
.rsg-page .em-roi-callout em { font-style:italic; color:var(--ink-500); }

.rsg-page .em-costtable { background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); overflow:hidden; }
.rsg-page .em-costtable table { width:100%; border-collapse:collapse; }
.rsg-page .em-costtable th, .rsg-page .em-costtable td { padding:15px 22px; text-align:left; }
.rsg-page .em-costtable thead th { border-bottom:2px solid var(--line); font-family:var(--font-display); }
.rsg-page .em-costtable thead .ct-rsg { background:linear-gradient(180deg,rgba(44,122,75,.14),rgba(44,122,75,.05)); border-top:3px solid var(--green-500); color:var(--green-700); }
.rsg-page .em-costtable .ct-role { font-family:var(--font-display); font-weight:700; color:var(--ink-900); font-size:14px; }
.rsg-page .em-costtable tbody td { border-bottom:1px solid var(--line-2); font-size:13.5px; color:var(--ink-2); }
.rsg-page .em-costtable .ct-inhouse { font-family:var(--font-display); font-weight:700; color:var(--ink-700); }
.rsg-page .em-costtable .ct-rsg { background:rgba(44,122,75,.05); border-left:1px solid rgba(44,122,75,.16); border-right:1px solid rgba(44,122,75,.16); color:var(--green-700); font-weight:700; }
.rsg-page .em-costtable tbody tr:last-child td { border-bottom:0; }
.rsg-page .em-costtable .ct-total td { background:#0d0d0d; }
.rsg-page .em-costtable .ct-total .ct-role, .rsg-page .em-costtable .ct-total .ct-inhouse { color:#fff; font-family:var(--font-display); font-weight:800; font-size:16px; }
.rsg-page .em-costtable .ct-total .ct-rsg { background:linear-gradient(135deg,var(--green-600),var(--green-700)); color:#fff; border-color:transparent; }

/* ============================================================
   §17 keep reading
   ============================================================ */
.rsg-page .em-read-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.rsg-page .em-read { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px; box-shadow:var(--shadow-md); text-decoration:none; transition:transform .25s,box-shadow .25s,border-color .25s; }
.rsg-page .em-read:hover { transform:translateY(-3px); border-color:rgba(44,122,75,.3); box-shadow:0 16px 34px rgba(0,0,0,.08); }
.rsg-page .em-read .er-ic { width:38px; height:38px; border-radius:10px; background:var(--green-50); color:var(--green-600); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.rsg-page .em-read .er-ic svg { width:19px; height:19px; }
.rsg-page .em-read h4 { font-family:var(--font-display); font-size:15px; font-weight:800; color:var(--ink-900); margin:0 0 7px; line-height:1.3; }
.rsg-page .em-read p { font-size:12.5px; line-height:1.5; color:var(--ink-2); margin:0 0 14px; }
.rsg-page .em-read .er-link { margin-top:auto; font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--green-700); display:inline-flex; align-items:center; gap:6px; }
.rsg-page .em-read .er-link svg { width:14px; height:14px; }

/* ============================================================
   §18 KEEP READING — premium editorial resource library (kr-)
   Featured lead card + 4-up secondary cards. Green gradient icon
   chips (white glyph), topic kicker pills, arrow-circle CTAs,
   hover lift + growing top-accent + corner glow. LIGHT + editorial,
   green as accent only. Supersedes .em-read-grid/.em-read (dead code).
   ============================================================ */
/* inline contextual text-link (interlinks from the source content doc) */
.rsg-page .ilink { color:var(--green-700); font-weight:600; text-decoration:underline; text-decoration-color:rgba(44,122,75,.4); text-underline-offset:2px; transition:color .2s, text-decoration-color .2s; }
.rsg-page .ilink:hover { color:var(--green-600); text-decoration-color:var(--green-500); }
.rsg-page .kr-wrap { display:flex; flex-direction:column; gap:16px; }
.rsg-page .kr-feature, .rsg-page .kr-card { position:relative; overflow:hidden; text-decoration:none; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 8px 24px -16px rgba(17,17,17,.18); transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, border-color .3s; }
.rsg-page .kr-feature:hover, .rsg-page .kr-card:hover { transform:translateY(-4px); border-color:rgba(44,122,75,.34); box-shadow:0 22px 44px -22px rgba(17,17,17,.28); }
.rsg-page .kr-feature::after, .rsg-page .kr-card::after { content:""; position:absolute; top:-42%; right:-28%; width:58%; height:130%; background:radial-gradient(circle, rgba(74,222,128,.16), transparent 68%); opacity:0; transition:opacity .3s; pointer-events:none; }
.rsg-page .kr-feature:hover::after, .rsg-page .kr-card:hover::after { opacity:1; }
.rsg-page .kr-ic { display:flex; align-items:center; justify-content:center; flex-shrink:0; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; box-shadow:0 8px 18px -8px rgba(44,122,75,.6); transition:transform .3s; }
.rsg-page .kr-feature .kr-ic { width:54px; height:54px; border-radius:15px; margin-bottom:16px; }
.rsg-page .kr-card .kr-ic { width:44px; height:44px; border-radius:12px; margin-bottom:15px; }
.rsg-page .kr-feature .kr-ic svg { width:26px; height:26px; }
.rsg-page .kr-card .kr-ic svg { width:21px; height:21px; }
.rsg-page .kr-feature:hover .kr-ic, .rsg-page .kr-card:hover .kr-ic { transform:scale(1.06); }
.rsg-page .kr-kick { display:inline-flex; align-items:center; gap:6px; align-self:flex-start; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); border:1px solid #CBE3D3; padding:4px 10px; border-radius:999px; margin-bottom:11px; }
.rsg-page .kr-kick i { width:5px; height:5px; border-radius:50%; background:var(--green-500); }
/* featured */
.rsg-page .kr-feature { display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; padding:32px 34px; background:linear-gradient(115deg,var(--green-50) 0%,#fff 58%); border-color:rgba(44,122,75,.24); }
.rsg-page .kr-feature::before { content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:linear-gradient(180deg,var(--green-500),#4ADE80); }
.rsg-page .kr-feat-body { min-width:0; }
.rsg-page .kr-feature h3 { font-family:var(--font-display); font-size:24px; font-weight:800; letter-spacing:-.02em; color:var(--ink-900); margin:0 0 10px; line-height:1.22; }
.rsg-page .kr-feature p { font-size:14px; line-height:1.55; color:var(--ink-2); margin:0; max-width:62ch; }
.rsg-page .kr-round { flex-shrink:0; width:60px; height:60px; border-radius:50%; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 26px -10px rgba(44,122,75,.6); transition:transform .3s; }
.rsg-page .kr-round svg { width:24px; height:24px; }
.rsg-page .kr-feature:hover .kr-round { transform:translateX(4px) scale(1.06); }
.rsg-page .kr-feat-cta { display:flex; flex-direction:column; align-items:center; gap:12px; flex-shrink:0; padding-left:32px; border-left:1px solid rgba(44,122,75,.16); }
.rsg-page .kr-feat-lbl { font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--green-700); white-space:nowrap; }
/* secondary grid */
.rsg-page .kr-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.rsg-page .kr-card { display:flex; flex-direction:column; padding:22px 22px 18px; }
.rsg-page .kr-card::before { content:""; position:absolute; left:0; top:0; height:3px; width:100%; background:linear-gradient(90deg,var(--green-500),#4ADE80); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.rsg-page .kr-card:hover::before { transform:scaleX(1); }
.rsg-page .kr-card h4 { font-family:var(--font-display); font-size:14.5px; font-weight:800; color:var(--ink-900); margin:0 0 7px; line-height:1.3; }
.rsg-page .kr-card p { font-size:12.5px; line-height:1.5; color:var(--ink-2); margin:0 0 16px; }
.rsg-page .kr-link { margin-top:auto; display:inline-flex; align-items:center; gap:9px; font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--green-700); }
.rsg-page .kr-arrow { width:26px; height:26px; border-radius:50%; background:var(--green-50); border:1px solid #CBE3D3; display:flex; align-items:center; justify-content:center; color:var(--green-700); transition:background .28s, color .28s, border-color .28s, transform .28s; }
.rsg-page .kr-arrow svg { width:13px; height:13px; }
.rsg-page .kr-card:hover .kr-arrow { background:var(--green-500); border-color:var(--green-500); color:#fff; transform:translateX(3px); }
/* entrance stagger (gated on the wrap's reveal) */
@media (prefers-reduced-motion:no-preference){
  .rsg-page .kr-wrap.reveal.visible .kr-feature { animation:krRise .55s ease both; }
  .rsg-page .kr-wrap.reveal.visible .kr-card { animation:krRise .55s ease both; }
  .rsg-page .kr-wrap.reveal.visible .kr-card:nth-child(1){ animation-delay:.06s; }
  .rsg-page .kr-wrap.reveal.visible .kr-card:nth-child(2){ animation-delay:.12s; }
  .rsg-page .kr-wrap.reveal.visible .kr-card:nth-child(3){ animation-delay:.18s; }
  .rsg-page .kr-wrap.reveal.visible .kr-card:nth-child(4){ animation-delay:.24s; }
}
@keyframes krRise { from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:translateY(0); } }
/* responsive */
@media (max-width:1040px){ .rsg-page .kr-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:720px){ .rsg-page .kr-feature { grid-template-columns:1fr; gap:20px; padding:26px 24px; } .rsg-page .kr-round { width:52px; height:52px; } .rsg-page .kr-feature h3 { font-size:20px; } .rsg-page .kr-feat-cta { flex-direction:row; border-left:0; padding-left:0; gap:14px; } }
@media (max-width:520px){ .rsg-page .kr-grid { grid-template-columns:1fr; } }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .rsg-page .em-hero { max-width:480px; margin:0 auto; }
}
@media (max-width: 980px) {
  .rsg-page .em-sys-grid { grid-template-columns:repeat(2,1fr); }
  .rsg-page .em-gallery { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 860px) {
  .rsg-page .em-concepts, .rsg-page .em-fail-grid, .rsg-page .em-cost2, .rsg-page .em-camp-grid, .rsg-page .em-split2, .rsg-page .em-read-grid, .rsg-page .em-tiers { grid-template-columns:1fr; }
  .rsg-page .em-promise-grid { grid-template-columns:1fr; }
  .rsg-page .em-case, .rsg-page .em-case.flip { grid-template-columns:1fr; }
  .rsg-page .em-case.flip .emcs-body { order:0; }
  .rsg-page .em-track-feature { grid-template-columns:1fr; gap:22px; }
  .rsg-page .em-camp.last { grid-column:auto; }
}
@media (max-width: 680px) {
  .rsg-page .em-hbenefits { grid-template-columns:1fr; }
  .rsg-page .em-matrix { overflow-x:auto; } .rsg-page .em-matrix table { min-width:560px; }
  .rsg-page .em-costtable { overflow-x:auto; } .rsg-page .em-costtable table { min-width:520px; }
  .rsg-page .em-promise { padding:34px 24px 30px; }
  .rsg-page .emcs-duo { flex-direction:column; }
  .rsg-page .emcs-email { width:150px; }
  .rsg-page .em-roi-callout { flex-direction:column; }
  .rsg-page .em-roi-callout .erc-math { border-right:0; padding-right:0; border-bottom:1px solid rgba(44,122,75,.2); padding-bottom:14px; width:100%; }
}
@media (max-width: 560px) {
  .rsg-page .em-gallery { grid-template-columns:1fr; }
  .rsg-page .em-sys-grid { grid-template-columns:1fr; }
  /* hero floating widgets -> static, no clipping */
  .rsg-page .em-hero { padding:10px 0 20px; max-width:400px; }
  .rsg-page .emh-result { position:static; width:100%; margin-top:16px; left:0; bottom:0; }
  .rsg-page .emh-pill.p1, .rsg-page .emh-pill.p2, .rsg-page .emh-badge { position:static; display:inline-flex; margin:8px 8px 0 0; }
  .rsg-page .emh-pill { box-shadow:var(--shadow-md); }
}
/* ============================================================
   §6 REDESIGN v3 — The Hidden Cost (compact, graphic-design-page card style)
   3 stat cards (new cost / past cost / lopsided budget) + a slim
   cooling strip. Cloned from hvac-graphic-design.html .vn-card:
   green gradient icon chip + glow, mini-SVG-viz in a hairline foot,
   2-line mono caption, hover lift + corner radial glow.
   Palette: green = kept/good, charcoal/grey = cost/cold/lost.
   ============================================================ */
.rsg-page .rm-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.rsg-page .rm-card { position:relative; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px 24px 22px; box-shadow:var(--shadow-md); display:flex; flex-direction:column; transition:transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .rm-card::after { content:""; position:absolute; top:-40px; right:-40px; width:140px; height:140px; background:radial-gradient(circle, rgba(44,122,75,0.07) 0%, transparent 70%); pointer-events:none; }
.rsg-page .rm-card:hover { transform:translateY(-3px); border-color:rgba(44,122,75,0.28); box-shadow:0 16px 36px rgba(0,0,0,0.08); }
.rsg-page .rm-ic { position:relative; z-index:1; 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:16px; box-shadow:0 8px 20px rgba(44,122,75,0.30); }
.rsg-page .rm-ic svg { width:21px; height:21px; }
.rsg-page .rm-card.cost .rm-ic { background:linear-gradient(135deg,var(--green-500),var(--green-700)); box-shadow:0 8px 20px rgba(44,122,75,0.30); }
.rsg-page .rm-fig { position:relative; z-index:1; font-family:var(--font-display); font-weight:800; font-size:38px; line-height:1; letter-spacing:-.03em; color:var(--ink-900); }
.rsg-page .rm-card.good .rm-fig { color:var(--green-700); }
.rsg-page .rm-sub { position:relative; z-index:1; display:block; font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-500); margin:11px 0 12px; }
.rsg-page .rm-desc { position:relative; z-index:1; font-size:13px; line-height:1.58; color:var(--ink-2); margin:0 0 16px; }
.rsg-page .rm-desc b { color:var(--ink-900); }
.rsg-page .rm-foot { margin-top:auto; padding-top:15px; border-top:1px solid var(--line-2); display:flex; align-items:center; gap:13px; }
.rsg-page .rm-foot svg { display:block; flex-shrink:0; }
.rsg-page .rm-label { font-family:var(--font-mono); font-size:9px; letter-spacing:.07em; text-transform:uppercase; font-weight:700; color:var(--ink-500); line-height:1.45; }
.rsg-page .rm-label b { color:var(--green-700); }
.rsg-page .rm-bar { transform-box:fill-box; transform-origin:left center; transform:scaleX(1); }
.rsg-page .reveal.visible .rm-bar { animation:rmBar 1.1s cubic-bezier(.35,0,.15,1) both; }
@keyframes rmBar { from{ transform:scaleX(0); } to{ transform:scaleX(1); } }

/* ---- slim cooling strip ---- */
/* §6 — CJN cooling gauge (Direction B: warmth thermometers that drop green->grey) */
.rsg-page .cjn-panel { margin-top:18px; position:relative; overflow:hidden; background:linear-gradient(160deg,#FAFBFA,#fff 70%); border:1px solid var(--line,#E4E8E5); border-radius:16px; padding:22px 28px 26px; box-shadow:var(--shadow-md,0 6px 24px rgba(0,0,0,.06)); }
.rsg-page .cjn-head { display:inline-flex; align-items:center; gap:9px; font-family:var(--font-display,'Montserrat',sans-serif); font-size:13.5px; font-weight:800; letter-spacing:-.01em; color:var(--ink-900,#111); margin:0 0 18px; }
.rsg-page .cjn-chip { width:28px; height:28px; border-radius:8px; background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25)); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 6px 16px rgba(44,122,75,.28); }
.rsg-page .cjn-chip svg { width:15px; height:15px; color:#fff; }

/* cooling gradient connector ribbon (threads warm -> cold across the stages) */
.rsg-page .cjn-ribbon { display:flex; align-items:center; gap:12px; margin:0 0 20px; }
.rsg-page .cjn-rlab { font-family:var(--font-mono,'DM Sans',sans-serif); font-size:9px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; color:var(--ink-500,#6B6B6B); white-space:nowrap; display:inline-flex; align-items:center; gap:5px; }
.rsg-page .cjn-rlab svg { width:12px; height:12px; flex-shrink:0; }
.rsg-page .cjn-track { flex:1 1 auto; position:relative; height:8px; min-width:56px; border-radius:99px; background:linear-gradient(90deg,var(--green-500,#2C7A4B) 0%,#7FB48F 34%,#9FB4A8 62%,#9AA29D 100%); box-shadow:inset 0 1px 2px rgba(0,0,0,.09); }
.rsg-page .cjn-node { position:absolute; top:50%; width:13px; height:13px; border-radius:50%; transform:translate(-50%,-50%); border:2.5px solid #fff; box-shadow:0 2px 6px rgba(0,0,0,.16); }
.rsg-page .cjn-node.n1 { left:9%; background:var(--green-500,#2C7A4B); }
.rsg-page .cjn-node.n2 { left:50%; background:#9FB4A8; }
.rsg-page .cjn-node.n3 { left:91%; background:#9AA29D; }

/* stage cards */
.rsg-page .cjn-stages { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.rsg-page .cjn-stage { position:relative; display:flex; gap:15px; align-items:stretch; background:#fff; border:1px solid var(--line,#E4E8E5); border-radius:14px; padding:17px 17px 17px 20px; box-shadow:0 4px 16px rgba(0,0,0,.05); overflow:hidden; min-width:0; }
.rsg-page .cjn-stage::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; }
.rsg-page .cjn-stage.s1 { background:linear-gradient(165deg,var(--green-50,#E8F1EB),#fff 66%); } .rsg-page .cjn-stage.s1::before { background:var(--green-500,#2C7A4B); }
.rsg-page .cjn-stage.s2 { background:#fff; } .rsg-page .cjn-stage.s2::before { background:#9FB4A8; }
.rsg-page .cjn-stage.s3 { background:linear-gradient(165deg,#F0F2F1,#fff 66%); } .rsg-page .cjn-stage.s3::before { background:#9AA29D; }

/* thermometer gauge */
.rsg-page .cjn-thermo { position:relative; flex:0 0 44px; width:44px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.rsg-page .cjn-tube { position:relative; width:16px; height:84px; border-radius:9px 9px 0 0; }
.rsg-page .cjn-tube::after { content:""; position:absolute; left:3px; top:8px; width:3px; height:52px; border-radius:2px; background:rgba(255,255,255,.55); z-index:3; }
.rsg-page .cjn-merc { position:absolute; left:0; right:0; bottom:0; border-radius:8px 8px 0 0; transform-origin:bottom center; z-index:2; }
.rsg-page .cjn-tick { position:absolute; right:-6px; width:5px; height:1.5px; border-radius:1px; background:rgba(17,17,17,.14); z-index:4; }
.rsg-page .cjn-tick.t1 { top:22%; } .rsg-page .cjn-tick.t2 { top:50%; } .rsg-page .cjn-tick.t3 { top:78%; }
.rsg-page .cjn-bulb { width:32px; height:32px; border-radius:50%; margin-top:-7px; position:relative; z-index:1; box-shadow:inset -2px -3px 5px rgba(0,0,0,.14); }
.rsg-page .cjn-stage.s1 .cjn-tube { background:#DBEBE1; } .rsg-page .cjn-stage.s1 .cjn-merc { height:90%; background:linear-gradient(180deg,#3FA968,var(--green-600,#1F5B36)); } .rsg-page .cjn-stage.s1 .cjn-bulb { background:linear-gradient(145deg,#3FA968,var(--green-600,#1F5B36)); }
.rsg-page .cjn-stage.s2 .cjn-tube { background:#E7ECE9; } .rsg-page .cjn-stage.s2 .cjn-merc { height:48%; background:linear-gradient(180deg,#AEBFB6,#8FA79A); } .rsg-page .cjn-stage.s2 .cjn-bulb { background:linear-gradient(145deg,#AEBFB6,#8FA79A); }
.rsg-page .cjn-stage.s3 .cjn-tube { background:#EAEDEB; } .rsg-page .cjn-stage.s3 .cjn-merc { height:15%; background:linear-gradient(180deg,#B4BAB6,#9AA29D); } .rsg-page .cjn-stage.s3 .cjn-bulb { background:linear-gradient(145deg,#B4BAB6,#9AA29D); }

/* stage body */
.rsg-page .cjn-body { min-width:0; display:flex; flex-direction:column; }
.rsg-page .cjn-top { display:flex; align-items:center; margin-bottom:11px; }
.rsg-page .cjn-pill { display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono,'DM Sans',sans-serif); font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:4px 9px; border-radius:20px; }
.rsg-page .cjn-pill .cjn-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.rsg-page .cjn-stage.s1 .cjn-pill { background:var(--green-50,#E8F1EB); color:var(--green-700,#143E25); } .rsg-page .cjn-stage.s1 .cjn-pill .cjn-dot { background:var(--green-500,#2C7A4B); }
.rsg-page .cjn-stage.s2 .cjn-pill { background:#EDF0EE; color:#54605A; } .rsg-page .cjn-stage.s2 .cjn-pill .cjn-dot { background:#9FB4A8; }
.rsg-page .cjn-stage.s3 .cjn-pill { background:#EBEDEC; color:#535A56; } .rsg-page .cjn-stage.s3 .cjn-pill .cjn-dot { background:#9AA29D; }
.rsg-page .cjn-title { display:block; font-family:var(--font-display,'Montserrat',sans-serif); font-weight:800; font-size:14.5px; color:var(--ink-900,#111); margin:0 0 5px; letter-spacing:-.01em; line-height:1.25; }
.rsg-page .cjn-desc { display:block; font-family:var(--font-body,'DM Sans',sans-serif); font-size:12px; line-height:1.5; color:var(--ink-500,#6B6B6B); }
.rsg-page .cjn-read { margin-top:auto; padding-top:12px; font-family:var(--font-mono,'DM Sans',sans-serif); font-size:8.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; display:inline-flex; align-items:center; gap:7px; }
.rsg-page .cjn-read .k { color:#9AA29D; }
.rsg-page .cjn-read .v { position:relative; padding-left:9px; }
.rsg-page .cjn-read .v::before { content:""; position:absolute; left:0; top:50%; width:3px; height:3px; border-radius:50%; transform:translateY(-50%); background:currentColor; }
.rsg-page .cjn-stage.s1 .cjn-read .v { color:var(--green-700,#143E25); } .rsg-page .cjn-stage.s2 .cjn-read .v { color:#54605A; } .rsg-page .cjn-stage.s3 .cjn-read .v { color:#6B6B6B; }

/* reveal: mercury settles to its level (base = final visible level) */
.rsg-page .cjn-panel.reveal.visible .cjn-merc { animation:cjn-fill 1s cubic-bezier(.22,1,.36,1) both; }
.rsg-page .cjn-panel.reveal.visible .cjn-stage.s1 .cjn-merc { animation-delay:.06s; }
.rsg-page .cjn-panel.reveal.visible .cjn-stage.s2 .cjn-merc { animation-delay:.20s; }
.rsg-page .cjn-panel.reveal.visible .cjn-stage.s3 .cjn-merc { animation-delay:.34s; }
@keyframes cjn-fill { from { transform:scaleY(.12); } to { transform:scaleY(1); } }

@media (prefers-reduced-motion: reduce){ .rsg-page .cjn-merc { animation:none !important; transform:none !important; } }
@media (max-width:900px){ .rsg-page .cjn-stages { gap:12px; } .rsg-page .cjn-stage { padding:15px 14px 15px 17px; gap:12px; } .rsg-page .cjn-thermo { flex-basis:40px; width:40px; } }
@media (max-width:640px){ .rsg-page .cjn-panel { padding:20px 18px 22px; } .rsg-page .cjn-stages { grid-template-columns:1fr; } .rsg-page .cjn-rlab.end .t { display:none; } }
@media (max-width:400px){ .rsg-page .cjn-panel { padding:18px 14px 20px; } .rsg-page .cjn-tube { height:74px; } .rsg-page .cjn-stage { padding:14px 12px 14px 15px; } .rsg-page .cjn-rlab { font-size:8px; letter-spacing:.08em; } }

@media (prefers-reduced-motion: reduce){ .rsg-page .rm-bar { animation:none !important; transform:scaleX(1) !important; } }
@media (max-width:760px){ .rsg-page .rm-grid { grid-template-columns:1fr; gap:14px; } }
.rsg-page .cln{flex:1;display:flex;flex-direction:column;justify-content:center;gap:7px;margin-top:2px}
.rsg-page .cln-rec{position:relative;border-radius:11px;padding:9px 11px;border:1px solid var(--line,#E4E8E5);background:#fff;box-shadow:0 2px 9px rgba(0,0,0,.04)}
.rsg-page .cln-rec.raw{background:linear-gradient(180deg,#F6F8F7,#fff)}
.rsg-page .cln-rec.ok{background:linear-gradient(165deg,var(--green-50,#E8F1EB),#fff 80%);border-color:rgba(44,122,75,.28)}
.rsg-page .cln-badge{position:absolute;top:-8px;left:12px;font-family:var(--font-mono,'DM Sans',sans-serif);font-size:8px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:#EDEFEE;color:var(--ink-500,#6B6B6B);border:1px solid var(--line,#E4E8E5)}
.rsg-page .cln-badge.ok{background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));color:#fff;border-color:transparent}
.rsg-page .cln-row{display:flex;align-items:center;gap:9px;padding:4px 0}
.rsg-page .cln-row + .cln-row{border-top:1px solid var(--line-2,#EEF1EE)}
.rsg-page .cln-ic{flex:none;width:23px;height:23px;border-radius:6px;background:#EDEFEE;color:#9AA29D;display:flex;align-items:center;justify-content:center}
.rsg-page .cln-ic svg{width:12px;height:12px}
.rsg-page .cln-ic.ok{background:var(--green-50,#E8F1EB);color:var(--green-600,#1F5B36)}
.rsg-page .cln-sk{flex:1;height:7px;border-radius:4px;background:#D2D8D4;position:relative}
.rsg-page .cln-sk.ok{background:linear-gradient(90deg,var(--green-500,#2C7A4B),#6FBF8E)}
.rsg-page .cln-sk.strike::after{content:"";position:absolute;top:50%;left:0;right:0;height:1.5px;background:#9AA29D}
.rsg-page .cln-dup,.rsg-page .cln-x{flex:none;color:#9AA29D;display:flex;align-items:center}
.rsg-page .cln-dup svg{width:14px;height:14px}
.rsg-page .cln-x svg{width:13px;height:13px}
.rsg-page .cln-ck{flex:none;width:18px;height:18px;border-radius:5px;background:var(--green-50,#E8F1EB);border:1px solid #CBE3D3;color:var(--green-600,#1F5B36);display:flex;align-items:center;justify-content:center}
.rsg-page .cln-ck svg{width:11px;height:11px}
.rsg-page .cln-mid{display:flex;flex-direction:column;align-items:center;gap:3px;padding:0}
.rsg-page .cln-dn{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 15px rgba(44,122,75,.28)}
.rsg-page .cln-dn svg{width:14px;height:14px}
.rsg-page .cln-op{font-family:var(--font-mono,'DM Sans',sans-serif);font-size:8px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--green-700,#143E25)}
/* ---- premium quality-difference comparison ---- */
.rsg-page .lst-cmp-hd{display:flex;align-items:center;gap:13px;margin-bottom:20px}
.rsg-page .lst-cmp-hd .ic{flex:none;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(44,122,75,.28)}
.rsg-page .lst-cmp-hd .ic svg{width:19px;height:19px}
.rsg-page .lst-cmp-hd .lst-mlabel{margin:0 0 3px}
.rsg-page .lst-cmp-title{font-family:var(--font-display,'Montserrat',sans-serif);font-weight:800;font-size:17px;letter-spacing:-.01em;color:var(--ink-900,#111);line-height:1.15}
.rsg-page .lst-cmp-title .g{color:var(--green-600,#1F5B36)}
.rsg-page .lst-cmp-title .s{color:#9AA29D}
.rsg-page .lst-win{position:relative;overflow:hidden;box-shadow:0 20px 46px rgba(31,91,54,.20)}
.rsg-page .lst-win::before{content:"";position:absolute;top:-90px;right:-70px;width:240px;height:240px;background:radial-gradient(circle,rgba(44,122,75,.16),transparent 66%);pointer-events:none;z-index:0}
.rsg-page .lst-win>*{position:relative;z-index:1}
.rsg-page .lst-win .lst-big{font-size:clamp(40px,5vw,54px);color:var(--green-600,#1F5B36);text-shadow:0 3px 16px rgba(44,122,75,.16)}
.rsg-page .lst-win .lst-badge{box-shadow:0 6px 14px rgba(44,122,75,.28)}
.rsg-page .lst-lose{background:#F6F7F6;box-shadow:none}
.rsg-page .lst-lose .lst-big{color:#AEB5B0}
.rsg-page .lst-vs{width:48px;height:48px;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,var(--green-500,#2C7A4B),#4ADE80) border-box;box-shadow:0 10px 24px rgba(31,91,54,.16);color:var(--green-700,#143E25);font-size:12px}
.rsg-page .lst-win .lst-density svg{filter:drop-shadow(0 1px 2px rgba(44,122,75,.32))}
.rsg-page .reveal.visible .lst-win .lst-density svg{animation:lst-dotwipe 1.15s cubic-bezier(.4,0,.1,1) both}
@keyframes lst-dotwipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){.rsg-page .reveal.visible .lst-win .lst-density svg{animation:none}}
/* ---- enhanced growth chart: rising trend line + peak dot ---- */
.rsg-page .lst-trend{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:visible}
.rsg-page .lst-trend polyline{fill:none;stroke:url(#lstTrendGrad);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 5px rgba(44,122,75,.4))}
.rsg-page .lst-trend-dot{position:absolute;top:-5px;right:1.5%;width:12px;height:12px;border-radius:50%;background:#4ADE80;border:2.5px solid #fff;box-shadow:0 3px 9px rgba(44,122,75,.55);z-index:4}
.rsg-page .reveal.visible .lst-trend{animation:lst-fade .9s ease 1.05s both}
.rsg-page .reveal.visible .lst-trend-dot{animation:lst-pop .5s cubic-bezier(.34,1.56,.64,1) 1.5s both}
@keyframes lst-pop{0%{opacity:0;transform:scale(0)}100%{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:no-preference){.rsg-page .lst-trend-dot::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid rgba(74,222,128,.55);animation:lst-ping 2.2s ease-out 2s infinite}}
@keyframes lst-ping{0%{transform:scale(.7);opacity:.7}100%{transform:scale(2);opacity:0}}
@media (prefers-reduced-motion:reduce){.rsg-page .reveal.visible .lst-trend,.rsg-page .reveal.visible .lst-trend-dot{animation:none}}
/* ---- enhanced compounding rail: premium tiles ---- */
.rsg-page .lst-rail-q{border-left:none;padding-left:0;gap:11px;justify-content:center}
.rsg-page .lst-q-eyebrow{font-family:var(--font-mono,'DM Sans',sans-serif);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-700,#143E25);margin:0 0 3px;display:flex;align-items:center;gap:8px}
.rsg-page .lst-q-eyebrow::before{content:"";width:18px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--green-500,#2C7A4B),#4ADE80)}
.rsg-page .lst-q{background:#fff;border:1px solid var(--line,#E4E8E5);border-radius:12px;padding:13px 14px;box-shadow:0 2px 10px rgba(0,0,0,.04);transition:transform .2s,box-shadow .2s,border-color .2s}
.rsg-page .lst-q:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.08);border-color:rgba(44,122,75,.28)}
.rsg-page .lst-q-ic{background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));border:none;color:#fff;box-shadow:0 6px 15px rgba(44,122,75,.28);width:36px;height:36px;border-radius:10px}
.rsg-page .lst-q-ic svg{width:18px;height:18px}
.rsg-page .lst-q-t{font-size:13.5px}
/* ---- pipeline stage cards: hover uplift ---- */
.rsg-page .lst-stage{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.rsg-page .lst-stage:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(31,91,54,.14);border-color:rgba(44,122,75,.32)}
@media (prefers-reduced-motion:reduce){.rsg-page .lst-stage{transition:none}.rsg-page .lst-stage:hover{transform:none}}
/* ===== §9 How We Run It — Premium Vertical Process Roadmap (hwr-) ===== */
.rsg-page .hwr-roadmap{ max-width:none; margin-top:clamp(2rem,5vw,3.25rem); }
.rsg-page .hwr-flow{ position:relative; display:flex; flex-direction:column; }

/* ---- step row: [rail] [card] ---- */
.rsg-page .hwr-step{ display:flex; gap:clamp(16px,2.4vw,26px); margin-bottom:26px; }

/* ---- rail + node + connector ---- */
.rsg-page .hwr-rail{ flex:0 0 56px; position:relative; display:flex; justify-content:center; }
.rsg-page .hwr-node{
  position:relative; z-index:2; width:56px; height:56px; flex:0 0 56px; margin-top:58px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display,'Montserrat',sans-serif); font-weight:800; font-size:1.02rem; color:#fff;
  background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));
  box-shadow:0 8px 20px rgba(31,91,54,.28),0 0 0 5px rgba(44,122,75,.08);
}
.rsg-page .hwr-rail::after{
  content:""; position:absolute; top:114px; bottom:-84px; left:calc(50% - 1px); width:2px; border-radius:2px;
  background:linear-gradient(180deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));
  transform-origin:top center; z-index:1;
}
.rsg-page .hwr-capstone .hwr-rail::after{ display:none; }

/* ---- step card (steps 1-4) ---- */
.rsg-page .hwr-card{
  flex:1 1 auto; min-width:0;
  background:var(--paper,#fff); border:1px solid var(--line,#E4E8E5); border-radius:var(--radius-lg,20px);
  padding:clamp(18px,2.4vw,26px) clamp(18px,2.6vw,30px);
  box-shadow:var(--shadow-md,0 6px 24px rgba(0,0,0,.06));
  transition:transform .35s cubic-bezier(.16,.84,.44,1),box-shadow .35s ease,border-color .35s ease;
}
.rsg-page .hwr-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg,0 18px 48px rgba(0,0,0,.10)); border-color:#C9CFCB; }
.rsg-page .hwr-card-inner{
  display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(18px,2.6vw,32px); align-items:center;
}
.rsg-page .hwr-copy{ min-width:0; }

.rsg-page .hwr-card-head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.rsg-page .hwr-icon{
  flex:0 0 auto; width:40px; height:40px; border-radius:11px;
  display:flex; align-items:center; justify-content:center; color:#fff;
  background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));
  box-shadow:0 6px 16px rgba(44,122,75,.26);
}
.rsg-page .hwr-icon svg{ display:block; }
.rsg-page .hwr-steplabel{
  font-family:var(--font-mono,'DM Sans',sans-serif); font-size:10px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--ink-500,#6B6B6B);
}
.rsg-page .hwr-title{
  font-family:var(--font-display,'Montserrat',sans-serif); font-weight:700;
  font-size:clamp(1.08rem,1.7vw,1.28rem); line-height:1.26; color:var(--ink-900,#111); margin:0 0 10px;
}
.rsg-page .hwr-body{
  font-family:var(--font-body,'DM Sans',sans-serif); font-size:clamp(.93rem,1vw,1rem);
  line-height:1.62; color:var(--ink-700,#262626); margin:0;
}
.rsg-page .hwr-card-foot{
  margin-top:18px; padding-top:14px; border-top:1px solid var(--line-2,#EEF1EE);
  display:flex; align-items:center; gap:8px;
  font-family:var(--font-mono,'DM Sans',sans-serif); font-size:10px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:var(--ink-500,#6B6B6B);
}
.rsg-page .hwr-card-foot .hwr-dot{
  width:6px; height:6px; border-radius:50%; background:var(--green-500,#2C7A4B);
  box-shadow:0 0 0 3px rgba(44,122,75,.14);
}

/* ---- visual panel (right column of each step) ---- */
.rsg-page .hwr-visual{
  min-width:0; background:linear-gradient(180deg,#fff,var(--line-2,#EEF1EE));
  border:1px solid var(--line-2,#EEF1EE); border-radius:14px; padding:18px;
}
.rsg-page .hwr-vcap{
  font-family:var(--font-mono,'DM Sans',sans-serif); font-size:9.5px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:var(--ink-500,#6B6B6B); margin-bottom:14px;
}

/* graphic 1 — list -> segments */
.rsg-page .hwr-seg{ display:flex; flex-direction:column; align-items:center; }
.rsg-page .hwr-seg-top{
  display:inline-flex; align-items:center; gap:9px;
  background:var(--green-50,#E8F1EB); border:1px solid rgba(44,122,75,.2); border-radius:999px;
  padding:6px 15px 6px 6px; font-family:var(--font-display,'Montserrat',sans-serif);
  font-weight:700; font-size:12.5px; color:var(--green-700,#143E25);
}
.rsg-page .hwr-seg-chip{
  width:26px; height:26px; border-radius:50%; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  color:#fff; background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));
}
.rsg-page .hwr-seg-branch{ width:100%; height:26px; margin:2px 0; }
.rsg-page .hwr-seg-branch path{ fill:none; stroke:#C9CFCB; stroke-width:1.5; }
.rsg-page .hwr-seg-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:9px; width:100%; }
.rsg-page .hwr-seg-item{
  display:flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line,#E4E8E5);
  border-radius:11px; padding:10px 11px; font-family:var(--font-body,'DM Sans',sans-serif);
  font-weight:600; font-size:11.5px; color:var(--ink-700,#262626); box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.rsg-page .hwr-seg-item::before{
  content:""; width:7px; height:7px; border-radius:50%; flex:0 0 auto;
  background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));
}

/* graphic 2 — season rhythm (distinct from the page calendar) */
.rsg-page .hwr-seasons{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.rsg-page .hwr-season{
  display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--line,#E4E8E5);
  border-radius:11px; padding:11px 12px; box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.rsg-page .hwr-season-ic{
  flex:0 0 auto; width:30px; height:30px; border-radius:9px; display:flex; align-items:center; justify-content:center;
  color:var(--green-600,#1F5B36); background:var(--green-50,#E8F1EB); box-shadow:inset 0 0 0 1px rgba(31,91,54,.14);
}
.rsg-page .hwr-season-ic svg{ display:block; }
.rsg-page .hwr-season-name{
  font-family:var(--font-body,'DM Sans',sans-serif); font-weight:600; font-size:11.5px;
  line-height:1.25; color:var(--ink-700,#262626);
}

/* graphic 3 — your-voice email card + waveform */
.rsg-page .hwr-mail{ background:#fff; border:1px solid var(--line,#E4E8E5); border-radius:12px; box-shadow:0 4px 14px rgba(0,0,0,.05); overflow:hidden; }
.rsg-page .hwr-mail-hd{ display:flex; align-items:center; gap:10px; padding:11px 13px; border-bottom:1px solid var(--line-2,#EEF1EE); }
.rsg-page .hwr-av{
  width:30px; height:30px; border-radius:9px; flex:0 0 auto;
  background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25)); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display,'Montserrat',sans-serif); font-weight:800; font-size:11px;
}
.rsg-page .hwr-mail-id{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.rsg-page .hwr-mail-from{ font-family:var(--font-display,'Montserrat',sans-serif); font-weight:700; font-size:12.5px; color:var(--ink-900,#111); }
.rsg-page .hwr-mail-sub{ font-family:var(--font-mono,'DM Sans',sans-serif); font-size:8.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-500,#6B6B6B); }
.rsg-page .hwr-voicetag{
  margin-left:auto; flex:0 0 auto; display:inline-flex; align-items:center; gap:5px;
  font-family:var(--font-mono,'DM Sans',sans-serif); font-size:8.5px; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase; color:var(--green-700,#143E25);
  background:var(--green-50,#E8F1EB); border:1px solid rgba(44,122,75,.22); border-radius:999px; padding:4px 8px;
}
.rsg-page .hwr-mail-bd{ padding:14px 13px; display:flex; flex-direction:column; gap:8px; }
.rsg-page .hwr-line{ height:8px; border-radius:5px; background:var(--line-2,#EEF1EE); }
.rsg-page .hwr-line.g{ background:linear-gradient(90deg,var(--green-50,#E8F1EB),var(--line-2,#EEF1EE)); }
.rsg-page .hwr-wave{ display:flex; align-items:flex-end; gap:3px; height:22px; margin-top:6px; }
.rsg-page .hwr-wave i{ width:3px; flex:0 0 auto; border-radius:2px; background:linear-gradient(180deg,var(--green-500,#2C7A4B),var(--green-700,#143E25)); }

/* graphic 4 — trigger -> action automation */
.rsg-page .hwr-auto{ display:flex; flex-direction:column; gap:12px; }
.rsg-page .hwr-auto-row{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:9px; }
.rsg-page .hwr-auto-node{
  display:flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--line,#E4E8E5);
  border-radius:11px; padding:10px 11px; box-shadow:0 2px 8px rgba(0,0,0,.04); min-width:0;
}
.rsg-page .hwr-auto-node.trig{ background:linear-gradient(180deg,#fff,var(--line-2,#EEF1EE)); }
.rsg-page .hwr-auto-ic{
  flex:0 0 auto; width:28px; height:28px; border-radius:8px; display:flex; align-items:center; justify-content:center;
  color:#fff; background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));
}
.rsg-page .hwr-auto-ic svg{ display:block; }
.rsg-page .hwr-auto-t{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.rsg-page .hwr-auto-k{ font-family:var(--font-mono,'DM Sans',sans-serif); font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-500,#6B6B6B); }
.rsg-page .hwr-auto-v{ font-family:var(--font-body,'DM Sans',sans-serif); font-weight:700; font-size:11.5px; color:var(--ink-900,#111); line-height:1.22; }
.rsg-page .hwr-auto-arrow{ display:inline-flex; color:var(--green-500,#2C7A4B); }
.rsg-page .hwr-auto-arrow svg{ display:block; }

/* ---- capstone (step 5) ---- */
.rsg-page .hwr-capstone{ display:flex; gap:clamp(16px,2.4vw,26px); }
.rsg-page .hwr-cap-node{ box-shadow:0 10px 26px rgba(31,91,54,.34),0 0 0 6px rgba(44,122,75,.10); }
.rsg-page .hwr-cap-panel{
  flex:1 1 auto; min-width:0; position:relative; overflow:hidden;
  background:radial-gradient(120% 140% at 100% 0%, rgba(44,122,75,.06) 0%, rgba(44,122,75,0) 42%), var(--paper,#fff);
  border:1px solid var(--line,#E4E8E5); border-radius:var(--radius-lg,20px);
  box-shadow:var(--shadow-lg,0 18px 48px rgba(0,0,0,.10)); padding:clamp(22px,3vw,40px);
}
.rsg-page .hwr-cap-panel::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));
}
.rsg-page .hwr-cap-grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:clamp(22px,3vw,40px); align-items:center;
}
.rsg-page .hwr-cap-copy{ min-width:0; }
.rsg-page .hwr-cap-eyebrow{ display:inline-flex; align-items:center; gap:11px; margin-bottom:16px; }
.rsg-page .hwr-cap-icon{
  width:44px; height:44px; flex:0 0 auto; border-radius:12px; display:flex; align-items:center; justify-content:center;
  color:#fff; background:linear-gradient(135deg,var(--green-500,#2C7A4B),var(--green-700,#143E25));
  box-shadow:0 8px 20px rgba(31,91,54,.28),0 0 0 5px rgba(44,122,75,.08);
}
.rsg-page .hwr-cap-icon svg{ display:block; }
.rsg-page .hwr-cap-eyebrow .hwr-steplabel{ line-height:1.35; }
.rsg-page .hwr-cap-title{
  font-family:var(--font-display,'Montserrat',sans-serif); font-weight:800;
  font-size:clamp(1.4rem,2.6vw,2rem); line-height:1.16; letter-spacing:-.01em; color:var(--ink-900,#111); margin:0 0 14px;
}
.rsg-page .hwr-cap-title em{ color:inherit; font-style:normal; }
.rsg-page .hwr-cap-body{
  font-family:var(--font-body,'DM Sans',sans-serif); font-size:clamp(.98rem,1.15vw,1.06rem);
  line-height:1.66; color:var(--ink-700,#262626); margin:0;
}
.rsg-page .hwr-cap-visual{ min-width:0; }

/* ---- screenshot frame (dark app bar) ---- */
.rsg-page .hwr-shotframe{
  border:1px solid var(--line,#E4E8E5); border-radius:14px; overflow:hidden;
  background:var(--paper,#fff); box-shadow:0 18px 44px rgba(20,62,37,.14);
}
.rsg-page .hwr-shotbar{
  display:flex; align-items:center; gap:12px; padding:11px 15px;
  background:linear-gradient(135deg,#000000 0%,#4A4A4A 100%);
}
.rsg-page .hwr-shotdots{ display:flex; gap:6px; flex:0 0 auto; }
.rsg-page .hwr-shotdots i{ width:10px; height:10px; border-radius:50%; }
.rsg-page .hwr-shotdots i:nth-child(1){ background:rgba(255,255,255,.32); }
.rsg-page .hwr-shotdots i:nth-child(2){ background:rgba(255,255,255,.22); }
.rsg-page .hwr-shotdots i:nth-child(3){ background:rgba(255,255,255,.14); }
.rsg-page .hwr-shottitle{
  font-family:var(--font-mono,'DM Sans',sans-serif); font-size:11px; font-weight:600; letter-spacing:.04em;
  color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; flex:0 1 auto;
}
.rsg-page .hwr-shotmeta{ margin-left:auto; display:inline-flex; align-items:center; gap:10px; flex:0 0 auto; }
.rsg-page .hwr-shotstatus{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-mono,'DM Sans',sans-serif); font-size:9.5px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.86);
}
.rsg-page .hwr-livedot{ width:7px; height:7px; border-radius:50%; background:#4ADE80; box-shadow:0 0 0 0 rgba(74,222,128,.5); }
.rsg-page .hwr-lcpill{
  display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px;
  background:var(--green-500,#2C7A4B); color:#fff;
  font-family:var(--font-mono,'DM Sans',sans-serif); font-size:9.5px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; white-space:nowrap;
}
.rsg-page .hwr-shotbody{ background:#fff; }
.rsg-page .hwr-shotbody .em-lc-shot img,
.rsg-page .hwr-shotbody img{ display:block; width:100%; height:auto; }

/* ===== Motion — base state is already the FINAL visible frame ===== */
@keyframes hwrGrow{ from{ transform:scaleY(0); } to{ transform:scaleY(1); } }
@keyframes hwrPop{ from{ transform:scale(.55); opacity:0; } to{ transform:scale(1); opacity:1; } }
@keyframes hwrRise{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }
@keyframes hwrPulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(74,222,128,.5); } 50%{ box-shadow:0 0 0 6px rgba(74,222,128,0); } }

@media (prefers-reduced-motion: no-preference){
  .rsg-page .reveal.visible .hwr-rail::after{ animation:hwrGrow .6s cubic-bezier(.16,.84,.44,1) both; }
  .rsg-page .reveal.visible .hwr-node{ animation:hwrPop .5s cubic-bezier(.16,.84,.44,1) both; }
  .rsg-page .reveal.visible .hwr-card,
  .rsg-page .reveal.visible .hwr-cap-panel{ animation:hwrRise .6s cubic-bezier(.16,.84,.44,1) both; animation-delay:.08s; }
  .rsg-page .hwr-livedot{ animation:hwrPulse 2s ease-in-out infinite; }
}
@media (prefers-reduced-motion: reduce){
  .rsg-page .hwr-card{ transition:none; }
  .rsg-page .hwr-card:hover{ transform:none; }
  .rsg-page .hwr-livedot{ animation:none; }
}

/* ===== Responsive ===== */
@media (max-width:900px){
  .rsg-page .hwr-card-inner{ grid-template-columns:1fr; gap:18px; }
  .rsg-page .hwr-cap-grid{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .rsg-page .hwr-rail{ flex:0 0 46px; }
  .rsg-page .hwr-node{ width:46px; height:46px; flex-basis:46px; font-size:.9rem; margin-top:52px; }
  .rsg-page .hwr-rail::after{ top:98px; bottom:-78px; }
  .rsg-page .hwr-step{ gap:14px; }
  .rsg-page .hwr-capstone{ gap:14px; }
  .rsg-page .hwr-cap-panel{ padding:20px 18px; }
  .rsg-page .hwr-seasons{ grid-template-columns:1fr; }
  .rsg-page .hwr-seg-grid{ grid-template-columns:1fr; }
  .rsg-page .hwr-auto-row{ grid-template-columns:1fr; gap:8px; }
  .rsg-page .hwr-auto-arrow{ transform:rotate(90deg); justify-self:start; margin-left:8px; }
  .rsg-page .hwr-shotstatus{ display:none; }
}
@media (max-width:400px){
  .rsg-page .hwr-card{ padding:16px; }
  .rsg-page .hwr-card-head{ gap:10px; }
  .rsg-page .hwr-icon{ width:36px; height:36px; }
  .rsg-page .hwr-shottitle{ font-size:10px; }
}
/* ============================================================
   §10 THE CAMPAIGNS — FINAL: "Campaign Library & Client Showcase"
   All selectors scoped under .rsg-page · fresh "ct-" prefix
   Palette: green + neutrals only. Self-contained tokens.
   ============================================================ */
.rsg-page{
  --green-500:#2C7A4B; --green-600:#1F5B36; --green-700:#143E25; --green-50:#E8F1EB;
  --ink-900:#111111; --ink-700:#262626; --ink-2:#2E2E2E; --ink-500:#6B6B6B;
  --line:#E4E8E5; --line-2:#EEF1EE;
  --shadow-md:0 4px 16px rgba(17,17,17,.06);
  --shadow-lg:0 20px 44px -14px rgba(17,17,17,.18);
  --radius-lg:20px;
  --font-display:'Montserrat',system-ui,-apple-system,sans-serif;
  --font-body:'DM Sans',system-ui,-apple-system,sans-serif;
  --font-mono:'DM Sans',system-ui,-apple-system,sans-serif;
}
.rsg-page .ct-lib,
.rsg-page .ct-lib *,
.rsg-page .ct-lib *::before,
.rsg-page .ct-lib *::after,
.rsg-page .ct-showcase-head,
.rsg-page .ct-showcase-head *,
.rsg-page .ct-gallery,
.rsg-page .ct-gallery *,
.rsg-page .ct-gallery *::before,
.rsg-page .ct-gallery *::after{box-sizing:border-box;}

/* ---------- LIBRARY GRID ---------- */
.rsg-page .ct-lib{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:8px;
}
.rsg-page .ct-card{
  position:relative;display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:26px 26px 22px;box-shadow:var(--shadow-md);overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.rsg-page .ct-card::before{
  content:"";position:absolute;left:0;top:0;height:3px;width:54px;
  background:linear-gradient(90deg,var(--green-500),var(--green-700));
  border-radius:0 0 6px 0;opacity:0;transition:opacity .28s ease, width .28s ease;
}
.rsg-page .ct-card:hover{transform:translateY(-4px);border-color:rgba(44,122,75,.34);box-shadow:var(--shadow-lg);}
.rsg-page .ct-card:hover::before{opacity:1;width:98px;}
.rsg-page .ct-card--wide{grid-column:1 / -1;}

/* flagship emphasis (highest-volume campaign) — safe, alignment-preserving */
.rsg-page .ct-card--flag{background:linear-gradient(180deg,#fff 58%,var(--green-50));}
.rsg-page .ct-card--flag::before{opacity:1;width:98px;}

.rsg-page .ct-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.rsg-page .ct-ic{
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;flex:0 0 46px;border-radius:13px;
  background:linear-gradient(135deg,var(--green-500),var(--green-700));
  box-shadow:0 8px 18px rgba(44,122,75,.34);color:#fff;
}
.rsg-page .ct-ic svg{width:23px;height:23px;display:block;}
.rsg-page .ct-idx{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.16em;color:var(--green-600);opacity:.5;}
.rsg-page .ct-card-title{
  font-family:var(--font-display);font-size:17px;font-weight:800;letter-spacing:-.01em;
  color:var(--ink-900);margin:0 0 10px;line-height:1.25;
}
.rsg-page .ct-card-body{
  font-family:var(--font-body);font-size:13.5px;line-height:1.62;color:var(--ink-2);
  margin:0 0 18px;flex:1 0 auto;
}

/* meta strip */
.rsg-page .ct-meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-2);padding-top:15px;}
.rsg-page .ct-meta--three{grid-template-columns:repeat(3,1fr);}
.rsg-page .ct-meta-cell{padding:0 16px;min-width:0;}
.rsg-page .ct-meta-cell:first-child{padding-left:0;}
.rsg-page .ct-meta-cell + .ct-meta-cell{border-left:1px solid var(--line-2);}
.rsg-page .ct-meta-label{
  display:block;font-family:var(--font-mono);font-size:9.5px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink-500);margin-bottom:6px;
}
.rsg-page .ct-meta-val{
  display:flex;align-items:flex-start;gap:7px;font-family:var(--font-body);
  font-size:12.5px;font-weight:600;line-height:1.35;color:var(--ink-700);
}
.rsg-page .ct-meta-val svg{width:14px;height:14px;flex:0 0 14px;margin-top:1px;color:var(--green-600);display:block;}

/* ---------- SHOWCASE HEADING ---------- */
.rsg-page .ct-showcase-head{margin:46px 0 30px;}
.rsg-page .ct-kicker{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);
  font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--green-600);margin-bottom:11px;
}
.rsg-page .ct-kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green-500);box-shadow:0 0 0 3px var(--green-50);}
.rsg-page .ct-showcase-head h3{
  font-family:var(--font-display);font-size:22px;font-weight:800;letter-spacing:-.015em;
  color:var(--ink-900);margin:0;line-height:1.2;
}

/* ---------- GALLERY (dark app-bar email frames) ---------- */
.rsg-page .ct-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.rsg-page .ct-shot{
  margin:0;display:flex;flex-direction:column;align-items:center;
  background:transparent;border:none;box-shadow:none;overflow:visible;
}
/* phone device frame */
.rsg-page .ct-phone{
  position:relative;width:100%;max-width:198px;
  background:linear-gradient(158deg,#2c2c2c 0%,#0c0c0c 100%);
  border-radius:30px;padding:7px;
  box-shadow:0 22px 44px -18px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.07);
  transition:transform .35s cubic-bezier(.16,.84,.44,1), box-shadow .35s ease;
}
.rsg-page .ct-shot:hover .ct-phone{ transform:translateY(-6px); box-shadow:0 32px 58px -20px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.09); }
.rsg-page .ct-topbar{
  position:relative;display:flex;align-items:center;justify-content:center;
  height:32px;background:#fff;border-radius:24px 24px 0 0;
}
.rsg-page .ct-notch{
  width:62px;height:15px;border-radius:999px;background:#000;
}
.rsg-page .ct-shot-view{position:relative;height:316px;overflow:hidden;background:#fff;border-radius:0 0 24px 24px;}
.rsg-page .ct-shot-view img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;}
.rsg-page .ct-shot-view::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:64px;
  background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,#fff 100%);pointer-events:none;border-radius:0 0 24px 24px;
}
.rsg-page .ct-shot-cap{padding:17px 6px 0;border-top:none;text-align:center;max-width:230px;}
.rsg-page .ct-shot-tag{
  display:inline-block;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:6px;
  padding:4px 8px;margin-bottom:9px;
}
.rsg-page .ct-shot-cap h4{
  font-family:var(--font-display);font-size:14.5px;font-weight:800;letter-spacing:-.01em;
  color:var(--ink-900);margin:0 0 5px;line-height:1.25;
}
.rsg-page .ct-shot-cap p{font-family:var(--font-body);font-size:12px;line-height:1.5;color:var(--ink-500);margin:0;}

/* ---------- MOTION (base = final visible frame; never blank) ---------- */
.rsg-page .ct-card,
.rsg-page .ct-shot,
.rsg-page .ct-showcase-head{opacity:1;transform:none;}
@keyframes ctRise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:no-preference){
  .rsg-page .ct-lib.reveal.visible .ct-card{animation:ctRise .55s ease both;}
  .rsg-page .ct-lib.reveal.visible .ct-card:nth-child(1){animation-delay:.03s;}
  .rsg-page .ct-lib.reveal.visible .ct-card:nth-child(2){animation-delay:.08s;}
  .rsg-page .ct-lib.reveal.visible .ct-card:nth-child(3){animation-delay:.13s;}
  .rsg-page .ct-lib.reveal.visible .ct-card:nth-child(4){animation-delay:.18s;}
  .rsg-page .ct-lib.reveal.visible .ct-card:nth-child(5){animation-delay:.23s;}
  .rsg-page .ct-lib.reveal.visible .ct-card:nth-child(6){animation-delay:.28s;}
  .rsg-page .ct-lib.reveal.visible .ct-card:nth-child(7){animation-delay:.33s;}
  .rsg-page .ct-showcase-head.reveal.visible{animation:ctRise .55s ease both;animation-delay:.04s;}
  .rsg-page .ct-gallery.reveal.visible .ct-shot{animation:ctRise .55s ease both;}
  .rsg-page .ct-gallery.reveal.visible .ct-shot:nth-child(1){animation-delay:.04s;}
  .rsg-page .ct-gallery.reveal.visible .ct-shot:nth-child(2){animation-delay:.10s;}
  .rsg-page .ct-gallery.reveal.visible .ct-shot:nth-child(3){animation-delay:.16s;}
  .rsg-page .ct-gallery.reveal.visible .ct-shot:nth-child(4){animation-delay:.22s;}
}
@media (prefers-reduced-motion:reduce){
  .rsg-page .ct-card,
  .rsg-page .ct-shot,
  .rsg-page .ct-showcase-head{animation:none !important;opacity:1;transform:none;}
  .rsg-page .ct-card,
  .rsg-page .ct-shot{transition:none;}
}

/* ---------- RESPONSIVE (desktop / 900 / 600 / 400) ---------- */
@media (max-width:900px){
  .rsg-page .ct-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:600px){
  .rsg-page .ct-lib{grid-template-columns:1fr;}
  .rsg-page .ct-card--wide{grid-column:auto;}
  .rsg-page .ct-gallery{grid-template-columns:1fr;}
  .rsg-page .ct-shot-view{height:360px;}
  .rsg-page .ct-showcase-head{margin-top:38px;}
  .rsg-page .ct-showcase-head h3{font-size:19px;}
  /* stack the 3-cell meta on the wide card */
  .rsg-page .ct-meta--three{grid-template-columns:1fr;}
  .rsg-page .ct-meta--three .ct-meta-cell{padding:0;}
  .rsg-page .ct-meta--three .ct-meta-cell + .ct-meta-cell{
    border-left:0;border-top:1px solid var(--line-2);padding-top:12px;margin-top:12px;
  }
}
@media (max-width:400px){
  .rsg-page .ct-card{padding:22px 20px 20px;}
  .rsg-page .ct-meta{grid-template-columns:1fr;}
  .rsg-page .ct-meta .ct-meta-cell{padding:0;}
  .rsg-page .ct-meta .ct-meta-cell + .ct-meta-cell{
    border-left:0;border-top:1px solid var(--line-2);padding-top:12px;margin-top:12px;
  }
  .rsg-page .ct-shot-view{height:320px;}
}
/* ============================================================
   §11 — THE BIGGER SYSTEM · "Connected System Board"
   Fresh "bs-" prefix. All selectors scoped under .rsg-page.
   Palette: green + neutrals ONLY. Tokens INHERITED from .rsg-page
   (NOT re-declared here — keeps section CSS from leaking page tokens).
   Depth via border+shadow; green-gradient chips; hairline spine.
   ============================================================ */

.rsg-page .bs-board{
  --bs-anchor-w: 250px;
  --bs-gap: 56px;
  position: relative;
  display: grid;
  grid-template-columns: var(--bs-anchor-w) 1fr;
  gap: var(--bs-gap);
  align-items: stretch;
  margin-top: 40px;
}

/* ---- Anchor: the "Email" engine that feeds every channel ---- */
.rsg-page .bs-anchor{
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 18px;
  padding: 34px 28px;
  border-radius: var(--radius-lg);
  background: linear-gradient(155deg, var(--green-600) 0%, var(--green-700) 100%);
  box-shadow: 0 22px 46px -20px rgba(20,62,37,.72), inset 0 1px 0 rgba(255,255,255,.10);
  color: #fff;
}
.rsg-page .bs-anchor-glow{
  position: absolute; top: -80px; right: -70px;
  width: 230px; height: 230px; border-radius: 50%;
  background: radial-gradient(circle, rgba(74,222,128,.32), transparent 66%);
  pointer-events: none;
}
.rsg-page .bs-anchor-chip{
  position: relative;
  width: 62px; height: 62px; border-radius: 17px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.06));
  border: 1px solid rgba(255,255,255,.30);
  box-shadow: 0 8px 20px -6px rgba(0,0,0,.42);
}
.rsg-page .bs-anchor-chip svg{ width: 30px; height: 30px; stroke: #fff; }
.rsg-page .bs-anchor-chip::after{
  content: ""; position: absolute; inset: -6px; border-radius: 22px;
  border: 1.5px solid rgba(74,222,128,.55); opacity: 0; pointer-events: none;
}
.rsg-page .bs-anchor-word{
  position: relative;
  font-family: var(--font-display); font-weight: 800;
  font-size: 30px; letter-spacing: -.02em; line-height: 1;
}
.rsg-page .bs-anchor-tag{
  position: relative;
  display: inline-flex; align-items: center;
  font-family: var(--font-mono); font-size: 11px; font-weight: 600;
  letter-spacing: .16em; text-transform: uppercase;
  color: rgba(255,255,255,.88);
  background: rgba(0,0,0,.20); border: 1px solid rgba(255,255,255,.20);
  padding: 6px 13px; border-radius: 999px;
}

/* ---- Spine (runs the gutter) ---- */
.rsg-page .bs-spine{
  position: absolute; top: 10px; bottom: 10px;
  left: calc(var(--bs-anchor-w) + var(--bs-gap) / 2 - 1px);
  width: 2px; border-radius: 2px; pointer-events: none;
  background: linear-gradient(180deg, rgba(44,122,75,.10), rgba(44,122,75,.42) 12%, rgba(44,122,75,.42) 88%, rgba(44,122,75,.10));
}
/* anchor -> spine connector — drawn on the spine (never clipped by the
   anchor's overflow:hidden) and anchored to the spine's own geometry. */
.rsg-page .bs-spine::before{
  content: ""; position: absolute; top: 50%;
  right: 0; width: calc(var(--bs-gap) / 2); height: 2px;
  transform: translateY(-50%);
  background: linear-gradient(90deg, var(--green-500), rgba(44,122,75,.15));
  pointer-events: none;
}
/* faint secondary traveling pulse (glide) */
.rsg-page .bs-spine::after{
  content: ""; position: absolute; left: 50%; margin-left: -2px; top: 0;
  width: 4px; height: 62px; border-radius: 4px;
  background: linear-gradient(180deg, transparent, rgba(74,222,128,.38), transparent);
  opacity: 0; pointer-events: none;
}
.rsg-page .bs-flowdot{
  position: absolute; left: 50%; top: 0;
  width: 7px; height: 7px; margin-left: -3.5px; border-radius: 50%;
  background: #4ADE80; box-shadow: 0 0 10px 2px rgba(74,222,128,.6);
  opacity: 0;
}

/* ---- Cards ---- */
.rsg-page .bs-cards{ display: flex; flex-direction: column; gap: 20px; }
.rsg-page .bs-card{
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 24px 26px 22px;
  box-shadow: 0 1px 2px rgba(17,17,17,.04);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.rsg-page .bs-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 42px -20px rgba(20,62,37,.42);
  border-color: rgba(44,122,75,.42);
}
/* card <- spine branch + node */
.rsg-page .bs-card::before{
  content: ""; position: absolute; top: 50%;
  left: calc(-1 * var(--bs-gap) / 2);
  width: calc(var(--bs-gap) / 2); height: 2px;
  background: linear-gradient(90deg, rgba(44,122,75,.15), var(--green-500));
  transform: translateY(-50%);
}
.rsg-page .bs-card::after{
  content: ""; position: absolute; top: 50%;
  left: calc(-1 * var(--bs-gap) / 2 - 5px);
  width: 11px; height: 11px; margin-top: -5.5px; border-radius: 50%;
  background: #fff; border: 2.5px solid var(--green-500);
  box-shadow: 0 0 0 4px rgba(44,122,75,.10);
  transition: box-shadow .25s ease, background .25s ease;
}
.rsg-page .bs-card:hover::after{
  background: var(--green-500);
  box-shadow: 0 0 0 6px rgba(44,122,75,.16);
}

/* equation header */
.rsg-page .bs-eq{ display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.rsg-page .bs-eq-kicker{
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-mono); font-size: 12px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--green-600);
}
.rsg-page .bs-plus{
  display: inline-flex; align-items: center; justify-content: center;
  width: 19px; height: 19px; border-radius: 6px;
  background: linear-gradient(135deg, var(--green-500), var(--green-700));
  color: #fff; font-family: var(--font-display); font-size: 13px; font-weight: 800; line-height: 1;
  box-shadow: 0 3px 8px -2px rgba(44,122,75,.5);
}
.rsg-page .bs-ic-chip{
  flex-shrink: 0; width: 42px; height: 42px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--green-500), var(--green-700));
  box-shadow: 0 8px 18px -6px rgba(44,122,75,.55), inset 0 1px 0 rgba(255,255,255,.20);
}
.rsg-page .bs-ic-chip svg{ width: 22px; height: 22px; stroke: #fff; }
.rsg-page .bs-eq-arrow{
  margin-left: auto; width: 18px; height: 18px; flex-shrink: 0;
  stroke: var(--green-500); opacity: .5;
  transition: transform .25s ease, opacity .25s ease;
}
.rsg-page .bs-card:hover .bs-eq-arrow{ transform: translateX(3px); opacity: 1; }

.rsg-page .bs-card h3{
  font-family: var(--font-display); font-weight: 800;
  font-size: 19px; line-height: 1.25; color: var(--ink-900); margin: 0 0 8px;
}
.rsg-page .bs-card p{
  font-family: var(--font-body);
  font-size: 14.5px; line-height: 1.6; color: var(--ink-2); margin: 0;
}

/* ---- Integration bar (sync callout) ---- */
.rsg-page .bs-integrate{
  position: relative;
  margin-top: 30px;
  padding: 24px 28px 24px 32px;
  background: linear-gradient(118deg, var(--green-50), #fff 62%);
  border: 1px solid rgba(44,122,75,.28);
  border-radius: 16px;
  box-shadow: 0 16px 36px -24px rgba(20,62,37,.5);
  overflow: hidden;
}
.rsg-page .bs-integrate::before{
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px;
  background: linear-gradient(180deg, var(--green-500), var(--green-700));
}
.rsg-page .bs-int-main{ display: flex; align-items: center; gap: 20px; }
.rsg-page .bs-int-ic{
  flex-shrink: 0; width: 48px; height: 48px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--green-500), var(--green-700));
  box-shadow: 0 10px 22px -8px rgba(44,122,75,.6), inset 0 1px 0 rgba(255,255,255,.20);
}
.rsg-page .bs-int-ic svg{ width: 24px; height: 24px; stroke: #fff; }
.rsg-page .bs-int-main p{ margin: 0; font-family: var(--font-body); font-size: 15px; line-height: 1.6; color: var(--ink-2); }
.rsg-page .bs-int-main strong{ color: var(--ink-900); font-weight: 700; }

/* decorative node rail repurposed as a hairline divider */
.rsg-page .bs-int-divider{ display: flex; align-items: center; margin: 20px 0 18px; }
.rsg-page .bs-int-node{
  flex-shrink: 0; width: 11px; height: 11px; border-radius: 4px;
  background: #fff; border: 2px solid var(--green-500);
}
.rsg-page .bs-int-line{
  flex: 1 1 auto; height: 2px;
  background: linear-gradient(90deg, rgba(44,122,75,.35), rgba(44,122,75,.18));
}

/* "Syncs With" foot: CRM name chips (verbatim from the sync sentence) */
.rsg-page .bs-int-foot{ display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.rsg-page .bs-int-lbl{
  font-family: var(--font-mono); font-size: 10.5px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; color: var(--green-600);
  margin-right: 3px;
}
.rsg-page .bs-crm-chip{
  display: inline-flex; align-items: center; gap: 7px;
  background: #fff; border: 1px solid var(--line); border-radius: 999px;
  padding: 7px 14px;
  font-family: var(--font-body); font-size: 13px; font-weight: 600; color: var(--ink-700);
}
.rsg-page .bs-crm-chip::before{
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--green-500);
}

/* ---- Motion (subtle; base = final visible frame; only under .reveal.visible) ---- */
@media (prefers-reduced-motion: no-preference){
  .rsg-page .reveal.visible .bs-anchor{ animation: bsRise .55s ease both; }
  .rsg-page .reveal.visible .bs-card{ animation: bsRise .55s ease both; animation-delay: var(--d, 0s); }
  .rsg-page .bs-integrate.reveal.visible{ animation: bsRise .55s ease both; animation-delay: .5s; }
  .rsg-page .reveal.visible .bs-anchor-chip::after{ animation: bsRing 3s ease-out infinite; }
}
@keyframes bsRise{ from{ opacity: 0; transform: translateY(16px); } to{ opacity: 1; transform: translateY(0); } }
@keyframes bsFlow{ 0%{ top: 0; opacity: 0; } 8%{ opacity: 1; } 88%{ opacity: 1; } 100%{ top: 100%; opacity: 0; } }
@keyframes bsGlide{ 0%{ top: -62px; opacity: 0; } 12%{ opacity: .9; } 88%{ opacity: .9; } 100%{ top: 100%; opacity: 0; } }
@keyframes bsRing{ 0%{ transform: scale(1); opacity: .7; } 70%{ transform: scale(1.25); opacity: 0; } 100%{ opacity: 0; } }

/* ---- Responsive ---- */
@media (max-width: 900px){
  .rsg-page .bs-board{ grid-template-columns: 1fr; gap: 0; }
  .rsg-page .bs-spine{ display: none; }
  .rsg-page .bs-anchor{
    flex-direction: row; align-items: center; gap: 18px;
    padding: 22px 24px; margin-bottom: 22px;
  }
  .rsg-page .bs-anchor-word{ font-size: 26px; }
  .rsg-page .bs-cards{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .rsg-page .bs-card::before,
  .rsg-page .bs-card::after{ display: none; }
}
@media (max-width: 600px){
  .rsg-page .bs-anchor{ flex-wrap: wrap; }
  .rsg-page .bs-cards{ grid-template-columns: 1fr; }
  .rsg-page .bs-card{ padding: 22px 20px 20px; }
  .rsg-page .bs-integrate{ padding: 22px 20px 22px 24px; }
  .rsg-page .bs-int-main{ flex-direction: column; align-items: flex-start; gap: 14px; }
}
@media (max-width: 400px){
  .rsg-page .bs-anchor-chip{ width: 52px; height: 52px; border-radius: 15px; }
  .rsg-page .bs-anchor-chip svg{ width: 26px; height: 26px; }
  .rsg-page .bs-anchor-word{ font-size: 23px; }
  .rsg-page .bs-card h3{ font-size: 18px; }
  .rsg-page .bs-crm-chip{ padding: 6px 12px; font-size: 12.5px; }
}
/* ============================================================
   §12 Real Results — Premium Alternating Case Studies (FINAL)
   Fresh prefix: rr-  |  Everything scoped under .rsg-page
   Palette: green + neutrals only. Dark #000->#4A4A4A app-bar
   surround frame with white inset screen = "real software" proof.
   Grafts: bigger green hero-stat, ghost index numeral,
   duo "The Email / The Engagement" plate labels.
   No redefinition of page shadow/color tokens (fallbacks only).
   ============================================================ */

.rsg-page .rr-cases{
  display:flex;
  flex-direction:column;
  gap:clamp(48px,5.5vw,80px);
  margin-top:clamp(38px,5vw,60px);
}

/* ---- Case panel (alternating 2-col) — editorial, hairline-separated, no box ---- */
.rsg-page .rr-case{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(30px,4vw,64px);
  align-items:center;
  padding-top:clamp(30px,4vw,48px);
  border-top:1px solid var(--line,#E4E8E5);
}
.rsg-page .rr-case:first-child{ border-top:0; padding-top:0; }
.rsg-page .rr-case--flip .rr-story{ order:2; }
.rsg-page .rr-case--flip .rr-proof{ order:1; }

/* ---- Story side ---- */
.rsg-page .rr-story{ position:relative; min-width:0; }
.rsg-page .rr-story::before{ display:none; }

/* meta row: ghost index numeral + location pill (case-file cadence) */
.rsg-page .rr-meta{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}
.rsg-page .rr-idx{
  font-family:var(--font-display,'Montserrat');
  font-weight:800;
  font-size:clamp(30px,3.4vw,44px);
  line-height:.82;
  letter-spacing:-.02em;
  color:var(--line,#E4E8E5);
  flex:none;
}
.rsg-page .rr-loc{
  display:inline-flex; align-items:center; gap:7px;
  font-family:var(--font-mono,'DM Sans');
  font-size:12px; font-weight:600;
  letter-spacing:.09em; text-transform:uppercase;
  color:var(--green-700,#143E25);
  background:var(--green-50,#E8F1EB);
  border:1px solid #d3e6d9;
  border-radius:99px;
  padding:6px 13px 6px 11px;
}
.rsg-page .rr-loc svg{ display:block; color:var(--green-600,#1F5B36); }

.rsg-page .rr-headline{
  font-family:var(--font-display,'Montserrat');
  font-weight:800;
  font-size:clamp(22px,2.5vw,31px);
  line-height:1.18; letter-spacing:-.015em;
  color:var(--ink-900,#111111);
  margin:0 0 15px;
}
.rsg-page .rr-body{
  font-family:var(--font-body,'DM Sans');
  font-size:clamp(15px,1.1vw,16.5px);
  line-height:1.62;
  color:var(--ink-700,#262626);
  margin:0 0 26px;
  max-width:none;
}

/* ---- Stat row (hairline dividers via 1px grid gap over line-grey) ---- */
.rsg-page .rr-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(128px,1fr));
  gap:1px;
  background:var(--line-2,#EEF1EE);
  border:1px solid var(--line,#E4E8E5);
  border-radius:14px;
  overflow:hidden;
}
/* FIX #1: Case 1 (currency) locks to a roomy 2x2 so "$46,405" at full
   hero size fits its cell (~207-252px content) without spilling over the
   neighboring stat. Three-class specificity beats the single-class media
   grid rules at every breakpoint, keeping the fix robust down to mobile. */
.rsg-page .rr-stats.rr-stats--quad{
  grid-template-columns:repeat(2,1fr);
}
.rsg-page .rr-stat{
  position:relative;
  background:#fff;
  padding:18px 16px 16px;
}
.rsg-page .rr-num{
  font-family:var(--font-display,'Montserrat');
  font-weight:800;
  font-size:clamp(22px,2.2vw,29px);
  line-height:1; letter-spacing:-.02em;
  color:var(--ink-900,#111111);
  white-space:nowrap;
}
.rsg-page .rr-label{
  font-family:var(--font-mono,'DM Sans');
  font-size:11px; font-weight:600;
  letter-spacing:.07em; text-transform:uppercase;
  color:var(--ink-500,#6B6B6B);
  margin-top:9px;
}
/* headline metric — white cell, green number + a thin green top accent only */
.rsg-page .rr-stat--hero{
  background:#fff;
}
.rsg-page .rr-stat--hero::before{
  content:"";
  position:absolute; left:0; top:0;
  width:100%; height:2px;
  background:var(--green-500,#2C7A4B);
}
.rsg-page .rr-stat--hero .rr-num{
  color:var(--green-600,#1F5B36);
  font-size:clamp(26px,2.9vw,38px);
}
.rsg-page .rr-stat--hero .rr-label{ color:var(--ink-500,#6B6B6B); }

/* ---- Proof side ---- */
.rsg-page .rr-proof{ margin:0; min-width:0; }
.rsg-page .rr-duo{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:start;
}
.rsg-page .rr-duo-col{ display:flex; flex-direction:column; min-width:0; }
.rsg-page .rr-plate-tag{
  font-family:var(--font-mono,'DM Sans');
  font-size:11px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--green-600,#1F5B36);
  margin-bottom:9px;
}

/* light macOS-style window frame (matches the website-design page reference) */
.rsg-page .rr-frame{
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(180deg,#EFF2F5 0%,#F8FAFB 100%);
  box-shadow:0 20px 44px -22px rgba(17,17,17,.24);
  border:1px solid var(--line,#E4E8E5);
  transition:transform .45s cubic-bezier(.16,.84,.44,1), box-shadow .45s ease;
}
.rsg-page .rr-frame:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 58px -24px rgba(17,17,17,.3);
}
.rsg-page .rr-bar{
  display:flex; align-items:center; gap:10px;
  padding:11px 14px;
  background:#E7EAEE;
}
.rsg-page .rr-dots{ display:flex; gap:6px; }
.rsg-page .rr-dots i{
  width:11px; height:11px; border-radius:50%;
  display:block;
}
.rsg-page .rr-dots i:nth-child(1){ background:#FF5F57; }
.rsg-page .rr-dots i:nth-child(2){ background:#FEBC2E; }
.rsg-page .rr-dots i:nth-child(3){ background:#28C840; }
.rsg-page .rr-tag{
  margin-left:auto;
  display:inline-flex; align-items:center; gap:7px;
  font-family:var(--font-mono,'DM Sans');
  font-size:11px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-500,#6B6B6B);
  white-space:nowrap;
}
.rsg-page .rr-live{
  width:7px; height:7px; border-radius:50%;
  background:var(--green-500,#2C7A4B);
  flex:none;
}
.rsg-page .rr-shot{
  background:#fff;
  margin:8px;
  border:1px solid #E6E9ED;
  border-radius:10px;
  overflow:hidden;
}
/* FIX #2: dropped object-fit:cover (dead with height:auto). Natural aspect
   ratio preserved so real dashboard numbers are never cropped in the proof. */
.rsg-page .rr-shot img{
  display:block;
  width:100%; height:auto;
}
.rsg-page .rr-cap{
  display:flex; align-items:center; gap:8px;
  margin-top:15px;
  font-family:var(--font-mono,'DM Sans');
  font-size:12px; letter-spacing:.03em;
  color:var(--ink-500,#6B6B6B);
}
.rsg-page .rr-cap svg{ flex:none; color:var(--green-500,#2C7A4B); }

/* ---- "Why It Worked" explainer (proof-side; adds insight + balances single-dashboard cases) ---- */
.rsg-page .rr-why{
  margin-top:20px;
  padding:16px 18px 17px;
  background:#FAFBFA;
  border:1px solid var(--line-2,#EEF1EE);
  border-radius:12px;
}
.rsg-page .rr-why-hd{
  display:block;
  font-family:var(--font-mono,'DM Sans');
  font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--ink-500,#6B6B6B);
  margin-bottom:13px;
}
.rsg-page .rr-why-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.rsg-page .rr-why-list li{ display:flex; align-items:flex-start; gap:11px; }
.rsg-page .rr-why-ic{
  flex:none; width:20px; height:20px; margin-top:1px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:6px;
  background:var(--green-50,#E8F1EB);
  color:var(--green-600,#1F5B36);
}
.rsg-page .rr-why-ic svg{ display:block; }
.rsg-page .rr-why-tx{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.rsg-page .rr-why-k{
  font-family:var(--font-display,'Montserrat');
  font-weight:700; font-size:13.5px; line-height:1.25; color:var(--ink-900,#111111);
}
.rsg-page .rr-why-v{
  font-family:var(--font-body,'DM Sans');
  font-size:12.5px; line-height:1.5; color:var(--ink-500,#6B6B6B);
}

/* ---- Disclaimer ---- */
.rsg-page .rr-note{
  display:flex; align-items:flex-start; gap:11px;
  margin-top:0;
  padding-top:22px;
  border-top:1px solid var(--line,#E4E8E5);
  font-family:var(--font-body,'DM Sans');
  font-size:13.5px; line-height:1.55;
  color:var(--ink-500,#6B6B6B);
}
.rsg-page .rr-note svg{ flex:none; margin-top:1px; color:var(--green-600,#1F5B36); }

/* ---- Motion (subtle, guarded, base = final visible frame) ---- */
@media (prefers-reduced-motion: no-preference){
  .rsg-page .rr-case.reveal.visible .rr-story{
    animation:rr-in-up .7s cubic-bezier(.16,.84,.44,1) both;
  }
  .rsg-page .rr-case.reveal.visible .rr-proof{
    animation:rr-in-up .7s .12s cubic-bezier(.16,.84,.44,1) both;
  }
  .rsg-page .rr-case--flip.reveal.visible .rr-story{ animation-delay:.12s; }
  .rsg-page .rr-case--flip.reveal.visible .rr-proof{ animation-delay:0s; }
  @keyframes rr-in-up{
    from{ opacity:0; transform:translateY(20px); }
    to{ opacity:1; transform:none; }
  }
  .rsg-page .rr-live{ animation:rr-pulse 2.4s ease-out infinite; }
  @keyframes rr-pulse{
    0%{ box-shadow:0 0 0 0 rgba(74,222,128,.55); }
    70%{ box-shadow:0 0 0 7px rgba(74,222,128,0); }
    100%{ box-shadow:0 0 0 0 rgba(74,222,128,0); }
  }
}

/* ---- Responsive ---- */
@media (max-width:1040px){ .rsg-page .rr-duo{ grid-template-columns:1fr; gap:18px; } }
@media (max-width:900px){
  .rsg-page .rr-case{ grid-template-columns:1fr; gap:30px; }
  .rsg-page .rr-case--flip .rr-story,
  .rsg-page .rr-case--flip .rr-proof{ order:0; }
}
@media (max-width:600px){
  .rsg-page .rr-duo{ grid-template-columns:1fr; gap:22px; }
  .rsg-page .rr-stats{ grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); }
}
@media (max-width:400px){
  .rsg-page .rr-stats{ grid-template-columns:1fr; }
  .rsg-page .rr-meta{ gap:11px; }
  .rsg-page .rr-tag{ font-size:10px; padding:5px 10px; }
}

/* ============================================================
   §13 THE MATH — Ledger / Receipt (FINAL)  [prefix: mth-]
   All selectors scoped under .rsg-page.
   Tokens scoped to .mth-wrap (never redefined on .rsg-page)
   so the section can't clobber page-wide shadows/radii/fonts.
   Palette: green + neutrals only. cost = charcoal/grey, value = green.
   ============================================================ */

.rsg-page .mth-wrap{
  --green-500:#2C7A4B; --green-600:#1F5B36; --green-700:#143E25; --green-50:#E8F1EB;
  --green-accent:#4ADE80;
  --ink-900:#111111; --ink-700:#262626; --ink-2:#2E2E2E; --ink-500:#6B6B6B;
  --line:#E4E8E5; --line-2:#EEF1EE; --cool:#C9CFCB; --cool-2:#9AA29D;
  --shadow-md:0 4px 16px rgba(17,17,17,.06);
  --shadow-lg:0 18px 48px rgba(17,17,17,.14);
  --radius-lg:20px;
  --font-display:'Montserrat',system-ui,sans-serif;
  --font-body:'DM Sans',system-ui,sans-serif;
  --font-mono:'DM Sans',system-ui,sans-serif;
  margin:0;
}
.rsg-page .mth-wrap *{ box-sizing:border-box; }

/* ---- ROI calculation slip (receipt) ---- */
.rsg-page .mth-slip{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  overflow:hidden;
  margin:0 0 40px;
}

/* dark tab header (thin — the lighter dark moment) */
.rsg-page .mth-slip-tab{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; flex-wrap:wrap;
  padding:12px 22px;
  background:linear-gradient(135deg,#000 0%,#4A4A4A 100%);
}
.rsg-page .mth-tab-kick{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--font-mono);
  font-size:11px; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:#fff;
}
.rsg-page .mth-tab-kick i{
  width:7px; height:7px; border-radius:50%;
  background:var(--green-accent); box-shadow:0 0 0 3px rgba(74,222,128,.22);
  flex:none;
}
.rsg-page .mth-tab-pill{
  font-family:var(--font-mono);
  font-size:10px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:rgba(255,255,255,.74);
  padding:4px 11px; border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
}

.rsg-page .mth-slip-body{ padding:30px 30px 32px; }

/* equation calculator — resolves INTO the green total bar (no $7,500 tile here) */
.rsg-page .mth-eq{
  display:flex; align-items:stretch; flex-wrap:wrap;
  gap:10px; margin:0 0 18px;
}
.rsg-page .mth-eq-tile{
  flex:1 1 auto; min-width:96px;
  display:flex; flex-direction:column; justify-content:center; gap:6px;
  padding:16px 18px;
  background:#fff; border:1px solid var(--line);
  border-radius:14px; box-shadow:var(--shadow-md);
}
.rsg-page .mth-eq-val{
  font-family:var(--font-display); font-weight:800;
  font-size:clamp(22px,3.4vw,30px); line-height:1;
  letter-spacing:-.02em; color:var(--ink-900);
  font-variant-numeric:tabular-nums;
}
.rsg-page .mth-eq-cap{
  font-family:var(--font-mono); font-size:9.5px; font-weight:700;
  letter-spacing:.09em; text-transform:uppercase; color:var(--ink-500);
}
.rsg-page .mth-op{
  align-self:center; flex:none;
  font-family:var(--font-mono); font-weight:700;
  font-size:20px; color:var(--ink-500);
  padding:0 2px; user-select:none;
}

/* green revenue hero bar — the SOLE $7,500 hero; equation resolves into it */
.rsg-page .mth-total{
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:14px 24px;
  padding:22px 26px; margin:0 0 24px;
  border-radius:16px;
  background:linear-gradient(135deg,var(--green-600),var(--green-700));
  box-shadow:0 14px 34px rgba(20,62,37,.30);
}
.rsg-page .mth-total-lead{
  display:inline-flex; align-items:baseline; gap:14px; min-width:0;
}
.rsg-page .mth-total-eq{
  font-family:var(--font-display); font-weight:800; line-height:1;
  font-size:clamp(2rem,5vw,2.8rem); color:rgba(255,255,255,.5);
  flex:none;
}
.rsg-page .mth-total-fig{
  font-family:var(--font-display); font-weight:800; color:#fff;
  font-size:clamp(2.5rem,6.4vw,3.6rem); line-height:.95;
  letter-spacing:-.03em; display:inline-flex; align-items:flex-start;
  font-variant-numeric:tabular-nums;
}
.rsg-page .mth-total-fig .mth-cur{
  font-size:.5em; font-weight:700; margin-right:.06em; transform:translateY(.24em);
}
.rsg-page .mth-total-meta{ text-align:right; }
.rsg-page .mth-total-label{
  display:block; font-family:var(--font-mono);
  font-size:12px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:#fff;
}
.rsg-page .mth-total-sub{
  display:block; margin-top:6px;
  font-family:var(--font-mono); font-size:11px; font-weight:500;
  letter-spacing:.04em; color:rgba(255,255,255,.82);
}

/* dashed tear rule */
.rsg-page .mth-rule{
  border:0; border-top:1px dashed var(--line); margin:0 0 20px;
}

/* body copy */
.rsg-page .mth-note{
  margin:0; font-family:var(--font-body);
  font-size:15px; line-height:1.68; color:var(--ink-2); max-width:62ch;
}
.rsg-page .mth-note b{ color:var(--ink-900); font-weight:700; }
/* disclaimer — dedicated class, robust against inherited theme italics */
.rsg-page .mth-illus{ font-style:normal; color:var(--green-600); font-weight:700; }

/* ---- cost-comparison ledger ---- */
.rsg-page .mth-cost{ margin:0; }
.rsg-page .mth-h3{
  display:flex; align-items:flex-start; gap:12px;
  font-family:var(--font-display); font-weight:800;
  font-size:clamp(19px,2.4vw,23px); line-height:1.3;
  color:var(--ink-900); margin:0 0 18px; letter-spacing:-.01em;
}
.rsg-page .mth-h3 i{
  flex:none; width:5px; align-self:stretch; margin-top:3px; min-height:1.2em;
  border-radius:3px;
  background:linear-gradient(180deg,var(--green-500),var(--green-700));
}

.rsg-page .mth-ledger{
  background:#fff; border:1px solid var(--line);
  border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
  overflow:hidden;
}

.rsg-page .mth-led-head,
.rsg-page .mth-led-row,
.rsg-page .mth-led-total{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(0,1.15fr) minmax(0,1.15fr);
  align-items:stretch;
}

/* header */
.rsg-page .mth-led-head{ border-bottom:2px solid var(--line); }
.rsg-page .mth-hd-item{
  padding:16px 22px; align-self:center;
  font-family:var(--font-mono); font-size:10.5px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-500);
}
.rsg-page .mth-hd-house{
  padding:16px 22px; align-self:center;
  display:inline-flex; align-items:center; justify-content:flex-end; gap:8px;
  text-align:right;
  font-family:var(--font-display); font-weight:700; font-size:13.5px; color:var(--ink-700);
}
.rsg-page .mth-hd-house::before{
  content:""; width:8px; height:8px; border-radius:2px;
  background:var(--ink-700); flex:none;
}
.rsg-page .mth-hd-rsg{
  padding:16px 22px;
  display:flex; flex-direction:column; align-items:flex-end; justify-content:center;
  background:linear-gradient(180deg,var(--green-50),rgba(232,241,235,.4));
  border-top:3px solid var(--green-500);
}
.rsg-page .mth-hd-rsg-t{
  font-family:var(--font-display); font-weight:700; font-size:13.5px;
  color:var(--green-700); text-align:right;
}

/* rows */
.rsg-page .mth-led-row{ border-bottom:1px solid var(--line-2); }
.rsg-page .mth-led-row:hover{ background:#FBFCFB; }
.rsg-page .mth-led-name{
  padding:15px 22px; align-self:center;
  font-family:var(--font-display); font-weight:600; font-size:14px; color:var(--ink-900);
}
.rsg-page .mth-led-house{
  padding:15px 22px; align-self:center; text-align:right;
  font-family:var(--font-mono); font-weight:700; font-size:13.5px;
  color:var(--ink-700); font-variant-numeric:tabular-nums;
}
.rsg-page .mth-led-rsg{
  padding:15px 22px;
  display:flex; align-items:center; justify-content:flex-end;
  background:rgba(44,122,75,.05);
  border-left:1px solid rgba(44,122,75,.14);
}
.rsg-page .mth-incl{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-body); font-weight:700; font-size:12.5px;
  color:var(--green-700);
  background:var(--green-50); border:1px solid rgba(44,122,75,.22);
  padding:5px 11px 5px 9px; border-radius:999px;
}
.rsg-page .mth-incl svg{ flex:none; }

/* mobile-only micro labels */
.rsg-page .mth-mlab{ display:none; }

/* total bar (dark — the dominant dark moment) */
.rsg-page .mth-led-total{
  background:linear-gradient(135deg,#000 0%,#4A4A4A 100%);
}
.rsg-page .mth-led-total .mth-tot-name{
  padding:18px 22px; align-self:center;
  color:#fff; font-family:var(--font-display); font-weight:800; font-size:16px;
}
.rsg-page .mth-tot-house{
  padding:18px 22px; align-self:center; text-align:right;
  font-family:var(--font-display); font-weight:800; font-size:clamp(16px,2.2vw,19px);
  color:#fff; letter-spacing:-.01em; font-variant-numeric:tabular-nums;
}
.rsg-page .mth-tot-rsg{
  padding:14px 22px;
  display:flex; align-items:center; justify-content:flex-end;
}
.rsg-page .mth-tot-rsg span{
  font-family:var(--font-display); font-weight:700; font-size:13.5px;
  color:#fff; line-height:1.35; text-align:right;
  background:linear-gradient(135deg,var(--green-500),var(--green-700));
  padding:9px 15px; border-radius:12px;
  box-shadow:0 8px 20px rgba(20,62,37,.4);
}

/* closing paragraph */
.rsg-page .mth-close{
  margin:26px 0 0; font-family:var(--font-body);
  font-size:16px; line-height:1.7; color:var(--ink-2);
}

/* ---- motion (base = final visible frame; gated on .reveal.visible) ---- */
@keyframes mth-pop{
  from{ opacity:0; transform:translateY(12px) scale(.97); }
  to{ opacity:1; transform:none; }
}
@keyframes mth-slide{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:none; }
}
@media (prefers-reduced-motion:no-preference){
  .rsg-page .mth-slip.reveal.visible .mth-eq > *{ animation:mth-pop .45s ease both; }
  .rsg-page .mth-slip.reveal.visible .mth-eq > *:nth-child(1){ animation-delay:.05s; }
  .rsg-page .mth-slip.reveal.visible .mth-eq > *:nth-child(2){ animation-delay:.10s; }
  .rsg-page .mth-slip.reveal.visible .mth-eq > *:nth-child(3){ animation-delay:.15s; }
  .rsg-page .mth-slip.reveal.visible .mth-eq > *:nth-child(4){ animation-delay:.20s; }
  .rsg-page .mth-slip.reveal.visible .mth-eq > *:nth-child(5){ animation-delay:.25s; }
  .rsg-page .mth-slip.reveal.visible .mth-eq > *:nth-child(6){ animation-delay:.30s; }
  .rsg-page .mth-slip.reveal.visible .mth-eq > *:nth-child(7){ animation-delay:.35s; }
  .rsg-page .mth-slip.reveal.visible .mth-total{ animation:mth-pop .5s ease .42s both; }

  .rsg-page .mth-cost.reveal.visible .mth-led-row{ animation:mth-slide .5s ease both; }
  .rsg-page .mth-cost.reveal.visible .mth-led-row:nth-child(2){ animation-delay:.06s; }
  .rsg-page .mth-cost.reveal.visible .mth-led-row:nth-child(3){ animation-delay:.12s; }
  .rsg-page .mth-cost.reveal.visible .mth-led-row:nth-child(4){ animation-delay:.18s; }
  .rsg-page .mth-cost.reveal.visible .mth-led-row:nth-child(5){ animation-delay:.24s; }
  .rsg-page .mth-cost.reveal.visible .mth-led-total{ animation:mth-slide .55s ease .3s both; }

  .rsg-page .mth-close.reveal.visible{ animation:mth-slide .5s ease .15s both; }
}

/* ---- responsive ---- */
@media (max-width:900px){
  .rsg-page .mth-slip-body{ padding:26px 24px 28px; }
  .rsg-page .mth-total-meta{ text-align:right; }
  .rsg-page .mth-led-head,
  .rsg-page .mth-led-row,
  .rsg-page .mth-led-total{
    grid-template-columns:minmax(0,1.5fr) minmax(0,1.05fr) minmax(0,1.15fr);
  }
}

@media (max-width:600px){
  .rsg-page .mth-slip{ margin:0 0 32px; }
  .rsg-page .mth-slip-body{ padding:22px 18px 24px; }
  .rsg-page .mth-total{ padding:20px; }
  .rsg-page .mth-total-meta{ text-align:left; }

  /* equation stacks cleanly — no horizontal overflow */
  .rsg-page .mth-eq{ flex-direction:column; align-items:stretch; gap:8px; }
  .rsg-page .mth-eq-tile{ flex:1 1 auto; }
  .rsg-page .mth-op{ align-self:center; padding:2px 0; }

  /* ledger reflows to stacked cards — table never overflows */
  .rsg-page .mth-led-head{ display:none; }
  .rsg-page .mth-led-row,
  .rsg-page .mth-led-total{ grid-template-columns:1fr 1fr; gap:0; }
  .rsg-page .mth-led-name,
  .rsg-page .mth-led-total .mth-tot-name{
    grid-column:1 / -1; padding:14px 18px 8px;
    border-bottom:1px dashed var(--line);
  }
  .rsg-page .mth-led-house,
  .rsg-page .mth-led-rsg,
  .rsg-page .mth-tot-house,
  .rsg-page .mth-tot-rsg{
    display:flex;
    text-align:left; justify-content:flex-start;
    flex-direction:column; align-items:flex-start; gap:6px;
    padding:12px 18px 14px;
  }
  .rsg-page .mth-led-rsg{ border-left:0; border-top:1px solid rgba(44,122,75,.14); }
  .rsg-page .mth-tot-rsg span{ text-align:left; }
  .rsg-page .mth-mlab{
    display:block; font-family:var(--font-mono);
    font-size:9.5px; font-weight:700; letter-spacing:.1em;
    text-transform:uppercase; color:var(--ink-500);
  }
  .rsg-page .mth-led-total .mth-mlab{ color:rgba(255,255,255,.65); }
  .rsg-page .mth-led-total .mth-tot-name{ border-bottom-color:rgba(255,255,255,.2); }
}

@media (max-width:400px){
  .rsg-page .mth-total-lead{ gap:10px; }
  .rsg-page .mth-total-fig{ font-size:clamp(2.2rem,12vw,2.8rem); }
  .rsg-page .mth-led-name,
  .rsg-page .mth-led-total .mth-tot-name{ font-size:13.5px; }

  /* strict 1-col reflow at ~375px: In-House and RS Gonzales values stack */
  .rsg-page .mth-led-row,
  .rsg-page .mth-led-total{ grid-template-columns:1fr; }
  .rsg-page .mth-led-rsg{ border-top:1px solid rgba(44,122,75,.14); }
}

@media (prefers-reduced-motion:reduce){
  .rsg-page .mth-slip.reveal.visible .mth-eq > *,
  .rsg-page .mth-slip.reveal.visible .mth-total,
  .rsg-page .mth-cost.reveal.visible .mth-led-row,
  .rsg-page .mth-cost.reveal.visible .mth-led-total,
  .rsg-page .mth-close.reveal.visible{ animation:none !important; }
}

/* ============================================================
   §14 WHAT'S INCLUDED — FINAL (repaired) — Two-Layer Architecture
   Foundation slab + raised Premium layer + capability matrix.
   Fresh incl- prefix. All selectors scoped under .rsg-page.
   Brand tokens declared as fallbacks on the wrapper only;
   never redefines --shadow-*/--radius-*/--font-* on .rsg-page.
   Green + neutrals only. Base = final visible frame.
   ============================================================ */
.rsg-page .incl-arch{
  --incl-g5:#2C7A4B;
  --incl-g6:#1F5B36;
  --incl-g7:#143E25;
  --incl-g50:#E8F1EB;
  --incl-acc:#4ADE80;
  --incl-ink:#111111;
  --incl-ink2:#2E2E2E;
  --incl-ink5:#6B6B6B;
  --incl-line:#E4E8E5;
  --incl-line2:#EEF1EE;
  --incl-grey:#9AA29D;
  --incl-cool:#C9CFCB;
  position:relative;
  margin:0;
}
.rsg-page .incl-arch *{ box-sizing:border-box; }

/* screen-reader only */
.rsg-page .incl-sr{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ---- stacked layers wrapper (clean stack, no overlap) ---- */
.rsg-page .incl-stack{ display:flex; flex-direction:column; align-items:stretch; gap:14px; margin-bottom:34px; }

.rsg-page .incl-layer{ position:relative; border-radius:20px; }

/* + connector between foundation and premium */
.rsg-page .incl-join{
  align-self:center;
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; margin:-4px 0;
  border-radius:50%;
  background:#fff; color:#2C7A4B;
  border:1px solid rgba(44,122,75,.22);
  box-shadow:0 8px 18px -8px rgba(17,17,17,.22);
  position:relative; z-index:2;
}
.rsg-page .incl-join svg{ display:block; }
.rsg-page .incl-body{ display:flex; align-items:center; gap:28px; }
.rsg-page .incl-text{ flex:1 1 auto; min-width:0; }

/* ---- PREMIUM (raised, on top) ---- */
.rsg-page .incl-premium{
  padding:32px 34px;
  overflow:hidden;
  background:linear-gradient(152deg,#0C3A22 0%, #143E25 34%, #1F5B36 100%);
  border:1px solid rgba(74,222,128,.30);
  box-shadow:0 22px 48px -14px rgba(9,38,23,.42), 0 4px 12px rgba(0,0,0,.10);
  transition:box-shadow .35s ease, transform .35s ease;
}
.rsg-page .incl-premium:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-lg,0 34px 74px rgba(9,38,23,.44)), 0 10px 22px rgba(0,0,0,.16);
}
.rsg-page .incl-premium::before{        /* bright green top accent — hero moment #1 */
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,#4ADE80,#2C7A4B);
}
.rsg-page .incl-premium::after{         /* corner glow */
  content:""; position:absolute; top:-70px; right:-60px; width:220px; height:220px;
  background:radial-gradient(circle,rgba(74,222,128,.24),transparent 66%);
  pointer-events:none;
}
.rsg-page .incl-premium > *{ position:relative; z-index:1; }

/* ---- FOUNDATION (base slab) ---- */
.rsg-page .incl-foundation{
  padding:32px 34px;
  overflow:hidden;
  background:linear-gradient(162deg,#E8F1EB 0%, #ffffff 72%);
  border:1px solid rgba(44,122,75,.26);
  box-shadow:var(--shadow-md,0 6px 24px rgba(0,0,0,.06));
}

/* ---- tags ---- */
.rsg-page .incl-tag{
  font-family:var(--font-mono,'DM Sans',sans-serif);
  font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  border-radius:999px; padding:5px 13px; display:inline-flex; align-items:center; gap:7px;
  margin-bottom:14px;
}
.rsg-page .incl-tag::before{ content:""; width:7px; height:7px; border-radius:50%; }
.rsg-page .incl-tag--base{ color:#143E25; background:#fff; border:1px solid rgba(44,122,75,.24); }
.rsg-page .incl-tag--base::before{ background:#2C7A4B; }
.rsg-page .incl-tag--dom{ color:#06231a; background:linear-gradient(135deg,#4ADE80,#2C7A4B); }
.rsg-page .incl-tag--dom::before{ background:#06231a; }

/* ---- titles / body / plan-line ---- */
.rsg-page .incl-h3{
  font-family:var(--font-display,'Montserrat',sans-serif);
  font-size:21px; font-weight:800; letter-spacing:-.01em; line-height:1.22; margin:0 0 10px;
  color:#111111;
}
.rsg-page .incl-h3--dom{ color:#fff; }
.rsg-page .incl-p{
  font-family:var(--font-body,'DM Sans',sans-serif);
  font-size:14px; line-height:1.62; margin:0; color:#2E2E2E;
}
.rsg-page .incl-p--dom{ color:rgba(255,255,255,.82); }
.rsg-page .incl-p--dom strong{ color:#fff; font-weight:700; }
.rsg-page .incl-plan{
  font-family:var(--font-display,'Montserrat',sans-serif);
  font-weight:800; font-size:14px; margin-top:16px;
  display:flex; align-items:center; gap:8px;
}
.rsg-page .incl-plan::before{ content:""; width:7px; height:7px; border-radius:50%; flex:0 0 auto; }
.rsg-page .incl-plan--base{ color:#143E25; }
.rsg-page .incl-plan--base::before{ background:#2C7A4B; }
.rsg-page .incl-plan--dom{ color:#8DE7AF; }
.rsg-page .incl-plan--dom::before{ background:#4ADE80; box-shadow:0 0 0 4px rgba(74,222,128,.18); }

/* ============================================================
   MOTIFS
   ============================================================ */
.rsg-page .incl-motif{ flex:0 0 auto; }
.rsg-page .incl-motif-lbl{
  display:block; text-align:center;
  font-family:var(--font-mono,'DM Sans',sans-serif);
  font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:#143E25; margin-bottom:12px;
}

/* --- Foundation motif: Missed Call -> 60s -> Auto-Text --- */
.rsg-page .incl-flow{ width:222px; }
.rsg-page .incl-flow-track{
  display:flex; align-items:center; justify-content:center; gap:9px; flex-wrap:wrap;
  padding:16px 14px; border-radius:14px;
  background:#fff; border:1px solid rgba(44,122,75,.20);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);
}
.rsg-page .incl-fnode{
  font-family:var(--font-display,'Montserrat',sans-serif);
  font-weight:700; font-size:11px; color:#2E2E2E; line-height:1;
  background:#fff; border:1px solid #E4E8E5; border-radius:9px;
  padding:8px 10px; white-space:nowrap; box-shadow:0 2px 6px -3px rgba(17,17,17,.16);
}
.rsg-page .incl-fnode--send{
  display:inline-flex; align-items:center; gap:7px;
  color:#143E25; background:#E8F1EB; border-color:rgba(44,122,75,.34);
}
.rsg-page .incl-farrow{
  display:flex; flex-direction:column; align-items:center; gap:4px; flex:0 0 auto;
}
.rsg-page .incl-fsec{
  font-family:var(--font-mono,'DM Sans',sans-serif);
  font-weight:800; font-size:8.5px; letter-spacing:.04em; color:#143E25;
  background:#E8F1EB; border:1px solid rgba(44,122,75,.28);
  border-radius:999px; padding:1px 7px; line-height:1.4;
}
.rsg-page .incl-farrow svg{ display:block; color:#9AA29D; }
.rsg-page .incl-pulse{ position:relative; width:9px; height:9px; flex:0 0 auto; }
.rsg-page .incl-pulse .incl-dot{        /* pulse dot — hero moment #2 */
  position:absolute; inset:0; border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#4ADE80,#2C7A4B);
}
.rsg-page .incl-pulse .incl-ring{
  position:absolute; inset:0; border-radius:50%; border:1.5px solid #2C7A4B; opacity:.5;
  animation:inclPulse 2.6s ease-out infinite;
}
.rsg-page .incl-pulse .incl-ring:nth-child(2){ animation-delay:1.3s; }
@keyframes inclPulse{
  0%{ transform:scale(1); opacity:.55; }
  75%{ opacity:0; }
  100%{ transform:scale(3.4); opacity:0; }
}

/* --- Premium motif: monthly cadence --- */
.rsg-page .incl-cadence{ width:180px; }
.rsg-page .incl-cadence .incl-motif-lbl{ color:#8DE7AF; }
.rsg-page .incl-cad-track{
  display:flex; align-items:flex-end; justify-content:space-between; gap:8px;
  height:78px; padding:12px 12px 0;
  border-radius:14px; background:rgba(255,255,255,.06);
  border:1px solid rgba(74,222,128,.22);
}
.rsg-page .incl-cbar{
  flex:1 1 0; border-radius:5px 5px 0 0; transform-origin:bottom;
  background:linear-gradient(180deg,#2C7A4B,#1F5B36);
  box-shadow:0 2px 8px rgba(20,62,37,.30);
}
.rsg-page .incl-cbar.h1{ height:44%; } .rsg-page .incl-cbar.h2{ height:64%; }
.rsg-page .incl-cbar.h3{ height:38%; } .rsg-page .incl-cbar.h4{ height:82%; }
.rsg-page .incl-cbar.h5{ height:56%; } .rsg-page .incl-cbar.h6{ height:72%; }
.rsg-page .incl-cad-axis{
  display:flex; justify-content:space-between; gap:8px; margin-top:8px; padding:0 12px;
  font-family:var(--font-mono,'DM Sans',sans-serif);
  font-size:8.5px; font-weight:700; letter-spacing:.02em; color:rgba(255,255,255,.55);
}
.rsg-page .incl-cad-axis span{ flex:1 1 0; text-align:center; }

/* ============================================================
   CAPABILITY MATRIX — desktop native table
   ============================================================ */
.rsg-page .incl-matrix{ margin-top:0; }
.rsg-page .incl-mwrap{
  background:#fff; border:1px solid #E4E8E5;
  border-radius:var(--radius-lg,20px); box-shadow:var(--shadow-md,0 6px 24px rgba(0,0,0,.06));
  overflow:hidden;
}
.rsg-page .incl-tbl{ width:100%; border-collapse:collapse; }
.rsg-page .incl-tbl th, .rsg-page .incl-tbl td{ padding:15px 18px; text-align:center; vertical-align:middle; }

/* head */
.rsg-page .incl-tbl thead th{ border-bottom:2px solid #E4E8E5; background:#fff; }
.rsg-page .incl-fhead{ width:40%; }
.rsg-page .incl-phead{
  font-family:var(--font-display,'Montserrat',sans-serif);
  font-weight:800; font-size:16px; color:#111111; line-height:1.1;
}
.rsg-page .incl-phead span{
  display:block; margin-top:4px;
  font-family:var(--font-mono,'DM Sans',sans-serif);
  font-size:9.5px; font-weight:700; letter-spacing:.02em; color:#6B6B6B;
}

/* feature cells (now <th scope="row">) */
.rsg-page .incl-fcell{
  text-align:left; font-family:var(--font-display,'Montserrat',sans-serif);
  font-weight:700; font-size:13.5px; color:#111111; width:40%; line-height:1.35;
}
.rsg-page .incl-tbl th.incl-fcell{ font-weight:700; }
.rsg-page .incl-tbl tbody td,
.rsg-page .incl-tbl tbody th{ border-bottom:1px solid #EEF1EE; }
.rsg-page .incl-tbl tbody tr:last-child td,
.rsg-page .incl-tbl tbody tr:last-child th{ border-bottom:0; }
.rsg-page .incl-tbl tbody tr:hover td,
.rsg-page .incl-tbl tbody tr:hover th{ background:rgba(0,0,0,.012); }

/* group label rows (full-width band via colspan) */
.rsg-page .incl-glabel{
  font-family:var(--font-mono,'DM Sans',sans-serif);
  font-weight:700; font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  color:#143E25; text-align:left; padding:11px 18px 9px;
  background:#E8F1EB; box-shadow:inset 3px 0 0 #2C7A4B;
}
.rsg-page .incl-grouprow td{ background:#E8F1EB; }

/* Dominate column — one continuous complete green band */
.rsg-page .incl-dom{
  background:rgba(44,122,75,.06);
  border-left:1px solid rgba(44,122,75,.16); border-right:1px solid rgba(44,122,75,.16);
}
.rsg-page .incl-tbl thead .incl-dom{
  background:linear-gradient(180deg,rgba(44,122,75,.15),rgba(44,122,75,.05));
  border-top:3px solid #2C7A4B;
}
.rsg-page .incl-tbl thead .incl-dom .incl-phead{ color:#143E25; }
.rsg-page .incl-tbl thead .incl-dom .incl-phead span{ color:#1F5B36; }
.rsg-page .incl-tbl tbody tr:hover td.incl-dom{ background:rgba(44,122,75,.10); }

/* yes / no marks — no = open "locked slot" chip */
.rsg-page .incl-yes, .rsg-page .incl-no{
  width:28px; height:28px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
  transition:transform .3s ease;
}
.rsg-page .incl-yes{ background:#E8F1EB; color:#1F5B36; }
.rsg-page .incl-no{ background:#fff; color:#9AA29D; border:1.5px solid #C9CFCB; }
.rsg-page .incl-dom .incl-yes{
  background:linear-gradient(135deg,#2C7A4B,#1F5B36); color:#fff;
  box-shadow:0 3px 9px -3px rgba(20,62,37,.5), 0 0 0 3px rgba(74,222,128,.14);
}
.rsg-page .incl-tbl tbody tr:hover .incl-yes{ transform:scale(1.08); }

/* ============================================================
   CAPABILITY MATRIX — mobile stacked per-plan cards (hidden >=601px)
   ============================================================ */
.rsg-page .incl-mstack{ display:none; }
.rsg-page .incl-pcard{
  background:#fff; border:1px solid #E4E8E5; border-radius:16px; overflow:hidden;
  box-shadow:var(--shadow-md,0 6px 22px rgba(0,0,0,.06));
}
.rsg-page .incl-pcard + .incl-pcard{ margin-top:16px; }
.rsg-page .incl-pcard--dom{
  border-color:rgba(44,122,75,.34); border-top:3px solid #2C7A4B;
  background:linear-gradient(180deg,#F5FBF7 0%, #ffffff 42%);
}
.rsg-page .incl-pc-head{
  padding:16px 18px; border-bottom:1px solid #E4E8E5;
  background:linear-gradient(180deg,#FBFCFB,#fff);
}
.rsg-page .incl-pcard--dom .incl-pc-head{ background:transparent; border-bottom-color:rgba(44,122,75,.2); }
.rsg-page .incl-pc-name{
  display:block; font-family:var(--font-display,'Montserrat',sans-serif);
  font-weight:800; font-size:18px; color:#111111;
}
.rsg-page .incl-pcard--dom .incl-pc-name{ color:#143E25; }
.rsg-page .incl-pc-sub{
  display:block; margin-top:4px; font-family:var(--font-mono,'DM Sans',sans-serif);
  font-size:11px; font-weight:700; letter-spacing:.02em; color:#6B6B6B;
}
.rsg-page .incl-pcard--dom .incl-pc-sub{ color:#1F5B36; }
.rsg-page .incl-pc-group{
  font-family:var(--font-mono,'DM Sans',sans-serif);
  font-weight:700; font-size:9.5px; letter-spacing:.12em; text-transform:uppercase;
  color:#143E25; padding:12px 18px 6px;
  background:#E8F1EB; box-shadow:inset 3px 0 0 #2C7A4B;
}
.rsg-page .incl-frow{
  display:flex; align-items:center; gap:13px; padding:13px 18px;
  border-bottom:1px solid #EEF1EE;
  font-family:var(--font-body,'DM Sans',sans-serif); font-size:13.5px; line-height:1.4;
  color:#2E2E2E;
}
.rsg-page .incl-frow:last-child{ border-bottom:0; }
.rsg-page .incl-frow .incl-yes, .rsg-page .incl-frow .incl-no{ width:26px; height:26px; }
.rsg-page .incl-pcard--dom .incl-yes{
  background:linear-gradient(135deg,#2C7A4B,#1F5B36); color:#fff;
  box-shadow:0 3px 9px -3px rgba(20,62,37,.5);
}

/* ============================================================
   MOTION — base = final visible frame; gated on .reveal.visible
   ============================================================ */
.rsg-page .reveal.visible .incl-cbar{ animation:inclGrow .7s cubic-bezier(.2,.8,.2,1) both; }
.rsg-page .reveal.visible .incl-cbar.h2{ animation-delay:.06s; }
.rsg-page .reveal.visible .incl-cbar.h3{ animation-delay:.12s; }
.rsg-page .reveal.visible .incl-cbar.h4{ animation-delay:.18s; }
.rsg-page .reveal.visible .incl-cbar.h5{ animation-delay:.24s; }
.rsg-page .reveal.visible .incl-cbar.h6{ animation-delay:.30s; }
@keyframes inclGrow{ from{ transform:scaleY(.18); opacity:.4; } to{ transform:scaleY(1); opacity:1; } }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:900px){
  .rsg-page .incl-body{ flex-direction:column; align-items:flex-start; gap:22px; }
  .rsg-page .incl-motif{ width:100%; }
  .rsg-page .incl-flow, .rsg-page .incl-cadence{ width:100%; max-width:300px; margin:0 auto; }
  .rsg-page .incl-premium{ padding:26px 26px; }
  .rsg-page .incl-foundation{ padding:26px 26px; }
  .rsg-page .incl-tbl th, .rsg-page .incl-tbl td{ padding:14px 12px; }
  .rsg-page .incl-fcell{ font-size:13px; }
}
@media (max-width:600px){
  .rsg-page .incl-stack{ margin-bottom:26px; }
  .rsg-page .incl-premium{ padding:24px 20px; }
  .rsg-page .incl-foundation{ padding:24px 20px; }
  .rsg-page .incl-h3{ font-size:19px; }
  /* swap desktop table for stacked per-plan cards — no overflow, no hidden columns */
  .rsg-page .incl-mwrap{ display:none; }
  .rsg-page .incl-mstack{ display:block; }
}
@media (max-width:400px){
  .rsg-page .incl-premium{ padding:22px 16px; }
  .rsg-page .incl-foundation{ padding:22px 16px; }
  .rsg-page .incl-tag{ font-size:9px; padding:4px 10px; }
  .rsg-page .incl-h3{ font-size:17px; }
  .rsg-page .incl-plan{ font-size:13px; }
  .rsg-page .incl-flow-track{ padding:14px 10px; gap:7px; }
  .rsg-page .incl-fnode{ font-size:10.5px; padding:7px 9px; }
  .rsg-page .incl-frow{ font-size:13px; gap:11px; padding:12px 15px; }
  .rsg-page .incl-pc-head, .rsg-page .incl-pc-group{ padding-left:15px; padding-right:15px; }
}

/* reduced-motion guard */
@media (prefers-reduced-motion: reduce){
  .rsg-page .incl-arch *{ animation:none !important; transition:none !important; }
  .rsg-page .incl-pulse .incl-ring{ opacity:.35; }
}

/* ============================================================
   §13 THE MATH — Light ROI calculator + comparison table  [roi-]
   FINAL. Replaces the rejected dark ledger/receipt.
   Scoped .rsg-page. Fresh roi- prefix. LIGHT on-template.
   value/revenue/RSG = GREEN; cost/in-house = CHARCOAL-GREY TEXT.
   ============================================================ */
.rsg-page .roi-block{display:flex;flex-direction:column;gap:28px;}

/* ---- ROI calculator card (white, border + shadow) ---- */
.rsg-page .roi-card{
  background:#fff;
  border:1px solid var(--line,#E4E8E5);
  border-radius:var(--radius-lg,20px);
  padding:30px 32px 34px;
  box-shadow:0 1px 2px rgba(17,17,17,.04), 0 18px 42px -30px rgba(17,17,17,.24);
}
.rsg-page .roi-card-top{display:flex;align-items:center;gap:12px;margin-bottom:22px;flex-wrap:wrap;}
.rsg-page .roi-kick{display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-mono,'DM Sans');font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500,#6B6B6B);}
.rsg-page .roi-kick i{width:28px;height:28px;border-radius:8px;flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#2C7A4B,#1F5B36);
  box-shadow:0 6px 14px -8px rgba(31,91,54,.7);}
.rsg-page .roi-pill{margin-left:auto;
  font-family:var(--font-mono,'DM Sans');font-size:10.5px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--green-700,#143E25);
  background:var(--green-50,#E8F1EB);border:1px solid #CFE3D6;
  padding:5px 11px;border-radius:999px;}

/* equation strip */
.rsg-page .roi-eq{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;}
.rsg-page .roi-tile{flex:1 1 118px;min-width:106px;
  background:#FAFBFA;border:1px solid var(--line,#E4E8E5);border-radius:14px;
  padding:16px 16px 14px;display:flex;flex-direction:column;gap:7px;}
.rsg-page .roi-tv{font-family:var(--font-display,'Montserrat');font-weight:800;
  font-size:30px;line-height:1;letter-spacing:-.015em;color:var(--ink-900,#111);
  font-variant-numeric:tabular-nums;}
.rsg-page .roi-tc{font-family:var(--font-mono,'DM Sans');font-size:10.5px;
  font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500,#6B6B6B);}
.rsg-page .roi-op{flex:0 0 18px;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display,'Montserrat');font-weight:700;font-size:20px;color:#9AA29D;}

/* green result (the only saturated fill in the card) */
.rsg-page .roi-result{flex:1.5 1 196px;min-width:178px;
  display:flex;flex-direction:column;justify-content:center;gap:5px;
  background:linear-gradient(135deg,#2C7A4B 0%,#143E25 100%);
  border-radius:16px;padding:16px 22px;color:#fff;
  box-shadow:0 16px 34px -18px rgba(20,62,37,.72);}
.rsg-page .roi-res-fig{font-family:var(--font-display,'Montserrat');font-weight:800;
  font-size:42px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.rsg-page .roi-res-cur{font-size:.6em;font-weight:700;opacity:.85;vertical-align:.28em;margin-right:1px;}
.rsg-page .roi-res-meta{display:flex;flex-direction:column;gap:3px;}
.rsg-page .roi-res-lab{font-family:var(--font-mono,'DM Sans');font-size:11px;
  font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#4ADE80;}
.rsg-page .roi-res-sub{font-family:var(--font-body,'DM Sans');font-size:11.5px;
  line-height:1.45;color:rgba(255,255,255,.74);}

.rsg-page .roi-rule{margin:26px 0 0;border:0;border-top:1px solid var(--line-2,#EEF1EE);}
.rsg-page .roi-note{margin:22px 0 0;font-family:var(--font-body,'DM Sans');
  font-size:16px;line-height:1.72;color:var(--ink-700,#262626);}
.rsg-page .roi-note b{color:var(--ink-900,#111);font-weight:700;}
.rsg-page .roi-illus{font-style:normal;font-weight:700;color:var(--green-600,#1F5B36);}

/* ---- cost comparison ---- */
.rsg-page .roi-h3{margin:0 0 18px;display:flex;align-items:flex-start;gap:11px;
  font-family:var(--font-display,'Montserrat');font-weight:800;font-size:24px;
  line-height:1.26;letter-spacing:-.01em;color:var(--ink-900,#111);}
.rsg-page .roi-h3 i{flex:0 0 auto;width:6px;height:26px;border-radius:3px;margin-top:4px;
  background:linear-gradient(180deg,#2C7A4B,#1F5B36);}

.rsg-page .roi-tbl{background:#fff;border:1px solid var(--line,#E4E8E5);
  border-radius:16px;overflow:hidden;
  box-shadow:0 1px 2px rgba(17,17,17,.04), 0 18px 42px -32px rgba(17,17,17,.22);}
.rsg-page .roi-thead,.rsg-page .roi-tr{display:grid;
  grid-template-columns:1.5fr 1fr 1.3fr;align-items:center;}
.rsg-page .roi-thead{background:#FAFBFA;border-bottom:1px solid var(--line,#E4E8E5);}
.rsg-page .roi-th{padding:15px 20px;font-family:var(--font-mono,'DM Sans');
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-500,#6B6B6B);}
.rsg-page .roi-th-rsg{align-self:stretch;display:flex;align-items:center;color:#fff;
  letter-spacing:.07em;background:linear-gradient(135deg,#2C7A4B,#1F5B36);}

.rsg-page .roi-tr{border-top:1px solid var(--line-2,#EEF1EE);transition:background .2s ease;}
.rsg-page .roi-cell{padding:16px 20px;font-family:var(--font-body,'DM Sans');font-size:15px;}
.rsg-page .roi-c-name{font-weight:700;color:var(--ink-900,#111);}
.rsg-page .roi-c-house{color:var(--ink-500,#6B6B6B);font-weight:600;
  font-family:var(--font-display,'Montserrat');font-variant-numeric:tabular-nums;}
.rsg-page .roi-c-rsg{align-self:stretch;display:flex;align-items:center;
  background:var(--green-50,#E8F1EB);border-left:1px solid #DBE9E0;
  color:var(--green-700,#143E25);font-weight:700;}
.rsg-page .roi-tr:hover .roi-c-name,
.rsg-page .roi-tr:hover .roi-c-house{background:#F5F7F6;}
.rsg-page .roi-incl{display:inline-flex;align-items:center;gap:8px;
  color:var(--green-700,#143E25);font-weight:700;}
.rsg-page .roi-incl svg{flex:0 0 auto;display:block;}
.rsg-page .roi-mlab{display:none;}

/* TOTAL — green band (never black) */
.rsg-page .roi-total{background:var(--green-50,#E8F1EB);
  border-top:2px solid var(--green-500,#2C7A4B);}
.rsg-page .roi-total .roi-cell{padding:20px;color:var(--ink-900,#111);font-family:var(--font-display,'Montserrat');}
.rsg-page .roi-tot-name{font-weight:800;font-size:16px;color:var(--green-700,#143E25);}
.rsg-page .roi-tot-house{font-weight:700;font-size:16px;color:var(--ink-2,#2E2E2E);
  font-variant-numeric:tabular-nums;}
.rsg-page .roi-tot-rsg{align-self:stretch;display:flex;align-items:center;
  font-weight:800;font-size:15px;color:var(--green-700,#143E25);border-left:1px solid rgba(44,122,75,.18);}

.rsg-page .roi-close{margin:0;font-family:var(--font-body,'DM Sans');
  font-size:16px;line-height:1.72;color:var(--ink-700,#262626);}

/* ---- motion (base = final visible frame) ---- */
@media (prefers-reduced-motion:no-preference){
  .rsg-page .roi-card.reveal.visible .roi-eq>*{animation:roiRise .55s cubic-bezier(.2,.7,.2,1) both;}
  .rsg-page .roi-card.reveal.visible .roi-eq>*:nth-child(1){animation-delay:.04s;}
  .rsg-page .roi-card.reveal.visible .roi-eq>*:nth-child(2){animation-delay:.09s;}
  .rsg-page .roi-card.reveal.visible .roi-eq>*:nth-child(3){animation-delay:.14s;}
  .rsg-page .roi-card.reveal.visible .roi-eq>*:nth-child(4){animation-delay:.19s;}
  .rsg-page .roi-card.reveal.visible .roi-eq>*:nth-child(5){animation-delay:.24s;}
  .rsg-page .roi-card.reveal.visible .roi-eq>*:nth-child(6){animation-delay:.29s;}
  .rsg-page .roi-card.reveal.visible .roi-eq>*:nth-child(7){animation-delay:.34s;}
  .rsg-page .roi-card.reveal.visible .roi-eq>*:nth-child(8){animation-delay:.42s;}
  .rsg-page .roi-cost.reveal.visible .roi-tr{animation:roiRise .5s cubic-bezier(.2,.7,.2,1) both;}
  .rsg-page .roi-cost.reveal.visible .roi-tr:nth-child(2){animation-delay:.06s;}
  .rsg-page .roi-cost.reveal.visible .roi-tr:nth-child(3){animation-delay:.12s;}
  .rsg-page .roi-cost.reveal.visible .roi-tr:nth-child(4){animation-delay:.18s;}
  .rsg-page .roi-cost.reveal.visible .roi-tr:nth-child(5){animation-delay:.24s;}
  .rsg-page .roi-cost.reveal.visible .roi-tr:nth-child(6){animation-delay:.30s;}
}
@keyframes roiRise{from{opacity:.001;transform:translateY(10px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){
  .rsg-page .roi-card.reveal.visible .roi-eq>*,
  .rsg-page .roi-cost.reveal.visible .roi-tr{animation:none;}
}

/* ---- responsive ---- */
@media (max-width:900px){
  .rsg-page .roi-card{padding:26px 22px 28px;}
  .rsg-page .roi-res-fig{font-size:38px;}
  .rsg-page .roi-thead,.rsg-page .roi-tr{grid-template-columns:1.4fr 1fr 1.15fr;}
  .rsg-page .roi-cell,.rsg-page .roi-th{padding:14px 16px;}
}
@media (max-width:600px){
  .rsg-page .roi-block{gap:22px;}
  .rsg-page .roi-eq{flex-direction:column;align-items:stretch;gap:9px;}
  .rsg-page .roi-tile{flex:none;width:100%;flex-direction:row;justify-content:space-between;align-items:center;padding:13px 16px;}
  .rsg-page .roi-tv{font-size:24px;}
  .rsg-page .roi-op{flex:none;padding:1px 0;font-size:16px;}
  .rsg-page .roi-result{flex:none;width:100%;flex-direction:row;justify-content:space-between;align-items:center;padding:15px 18px;}
  .rsg-page .roi-res-fig{font-size:34px;}
  .rsg-page .roi-res-meta{align-items:flex-end;text-align:right;}
  .rsg-page .roi-note,.rsg-page .roi-close{font-size:15.5px;}
  .rsg-page .roi-h3{font-size:20px;}

  /* table -> stacked cards */
  .rsg-page .roi-thead{display:none;}
  .rsg-page .roi-tr{display:block;padding:14px 16px;}
  .rsg-page .roi-tr:first-child{border-top:0;}
  .rsg-page .roi-cell{padding:0;font-size:15px;}
  .rsg-page .roi-c-name{display:block;margin-bottom:10px;}
  .rsg-page .roi-c-house,.rsg-page .roi-c-rsg{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;border-radius:9px;margin-top:7px;border-left:0;}
  .rsg-page .roi-c-house{background:#F5F7F6;}
  .rsg-page .roi-tr:hover .roi-c-house{background:#F5F7F6;}
  .rsg-page .roi-mlab{display:inline-block;font-family:var(--font-mono,'DM Sans');font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500,#6B6B6B);}
  .rsg-page .roi-c-rsg .roi-mlab{color:var(--green-600,#1F5B36);}
  .rsg-page .roi-total .roi-cell{padding:0;}
  .rsg-page .roi-tot-name{display:block;margin-bottom:9px;}
  .rsg-page .roi-tot-house,.rsg-page .roi-tot-rsg{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;border-left:0;}
  .rsg-page .roi-tot-house .roi-mlab,.rsg-page .roi-tot-rsg .roi-mlab{color:rgba(255,255,255,.7);}
}
@media (max-width:400px){
  .rsg-page .roi-card{padding:22px 16px 24px;}
  .rsg-page .roi-res-fig{font-size:30px;}
  .rsg-page .roi-tv{font-size:22px;}
}
/* ===== HERO right-column: 2026 Email Calendar (hv4) ===== */
.hv4-root{
  --hv4-green:var(--green-500,#2C7A4B);
  --hv4-green-d:var(--green-600,#1F5B36);
  --hv4-green-dd:var(--green-700,#143E25);
  --hv4-green-br:#4ADE80;
  --hv4-green-50:var(--green-50,#E8F1EB);
  --hv4-ink:var(--ink-900,#111);
  --hv4-ink7:var(--ink-700,#262626);
  --hv4-ink5:var(--ink-500,#6B6B6B);
  --hv4-line:var(--line,#E4E8E5);
  width:100%;
  max-width:540px;
  margin:0 auto;
  font-family:var(--font-body,'DM Sans',system-ui,sans-serif);
  color:var(--hv4-ink);
  box-sizing:border-box;
  -webkit-font-smoothing:antialiased;
}
.hv4-root *{box-sizing:border-box;}

/* window shell */
.hv4-win{
  position:relative;
  background:#FFFFFF;
  border:1px solid var(--hv4-line);
  border-radius:20px;
  box-shadow:0 20px 50px rgba(16,44,28,.14),0 2px 6px rgba(16,44,28,.05);
  overflow:hidden;
  animation:hv4-pop .7s cubic-bezier(.2,.7,.25,1) both;
}
.hv4-win::after{
  content:"";
  position:absolute;
  top:-90px;right:-90px;
  width:220px;height:220px;
  background:radial-gradient(circle,rgba(74,222,128,.16),rgba(74,222,128,0) 70%);
  pointer-events:none;
}

/* title bar */
.hv4-bar{
  display:flex;
  align-items:center;
  gap:8px;
  padding:11px 16px;
  background:#E7EAEE;
  border-bottom:1px solid var(--hv4-line);
}
.hv4-dot{width:11px;height:11px;border-radius:50%;flex:none;}
.hv4-dot.r{background:#FF5F57;}
.hv4-dot.y{background:#FEBC2E;}
.hv4-dot.g{background:#28C840;}
.hv4-urlbar{
  margin-left:8px;
  flex:1;
  min-width:0;
  height:22px;
  border-radius:7px;
  background:#F5F7F8;
  border:1px solid var(--hv4-line);
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 9px;
  font-family:var(--font-mono,'DM Sans',monospace);
  font-size:11px;
  color:var(--hv4-ink5);
  overflow:hidden;
  white-space:nowrap;
}
.hv4-urlbar svg{flex:none;}
.hv4-urlbar span{overflow:hidden;text-overflow:ellipsis;}

/* header */
.hv4-head{
  display:flex;
  align-items:center;
  gap:11px;
  padding:16px 18px 13px;
}
.hv4-cal-chip{
  width:38px;height:38px;flex:none;
  border-radius:11px;
  background:linear-gradient(150deg,var(--hv4-green),var(--hv4-green-dd));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 14px rgba(20,62,37,.28);
}
.hv4-htext{min-width:0;flex:1;}
.hv4-htitle{
  font-family:var(--font-display,'Montserrat',sans-serif);
  font-weight:700;
  font-size:16px;
  letter-spacing:-.01em;
  line-height:1.15;
  color:var(--hv4-ink);
}
.hv4-hsub{
  font-size:11.5px;
  color:var(--hv4-ink5);
  margin-top:2px;
}
.hv4-plan-pill{
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 10px;
  border-radius:999px;
  background:var(--hv4-green-50);
  border:1px solid rgba(44,122,75,.28);
  color:var(--hv4-green-dd);
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
}
.hv4-plan-pill .hv4-star{width:12px;height:12px;flex:none;}

/* chart card */
.hv4-chart{
  margin:2px 18px 0;
  padding:12px 14px 8px;
  background:#F8FAFB;
  border:1px solid var(--hv4-line);
  border-radius:14px;
}
.hv4-chart-top{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  margin-bottom:6px;
}
.hv4-chart-lbl{
  font-size:10.5px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--hv4-ink5);
}
.hv4-chart-val{
  font-family:var(--font-display,'Montserrat',sans-serif);
  font-size:12px;
  font-weight:700;
  color:var(--hv4-green-d);
}
.hv4-svgwrap{width:100%;line-height:0;}
.hv4-svgwrap svg{width:100%;height:auto;display:block;}
/* base state = finished chart; entrance REPLAYS when the chart scrolls into view
   (gated on .reveal.visible via the page IntersectionObserver, same as the §7 sdr graph) */
.hv4-chart.reveal{opacity:1 !important;transform:none !important;}
.hv4-area-path{
  stroke-dasharray:640;
  stroke-dashoffset:0;
}
.hv4-chart.reveal.visible .hv4-area-path{animation:hv4-drawg 1.6s cubic-bezier(.65,0,.35,1) .2s both;}
.hv4-chart.reveal.visible .hv4-area-fill{animation:hv4-wipe 1.6s cubic-bezier(.65,0,.35,1) .2s both;}
.hv4-chart.reveal.visible .hv4-node{animation:hv4-nodein .45s ease-out both;}
@keyframes hv4-drawg{from{stroke-dashoffset:640;}to{stroke-dashoffset:0;}}
@keyframes hv4-wipe{from{clip-path:inset(0 100% 0 0);}to{clip-path:inset(0 0 0 0);}}
@keyframes hv4-nodein{from{opacity:0;}to{opacity:1;}}
.hv4-months{
  display:flex;
  justify-content:space-between;
  margin-top:4px;
  font-family:var(--font-mono,'DM Sans',monospace);
  font-size:9px;
  color:var(--hv4-ink5);
  letter-spacing:.02em;
}

/* rows */
.hv4-rows{padding:12px 18px 6px;display:flex;flex-direction:column;gap:8px;}
.hv4-row{
  display:flex;
  align-items:center;
  gap:11px;
  padding:9px 11px;
  border:1px solid var(--hv4-line);
  border-radius:12px;
  background:#FFFFFF;
  transition:transform .2s ease;
  animation:hv4-rise .6s cubic-bezier(.2,.7,.25,1) both;
}
.hv4-row:nth-child(1){animation-delay:.30s;}
.hv4-row:nth-child(2){animation-delay:.40s;}
.hv4-row:nth-child(3){animation-delay:.50s;}
.hv4-row:nth-child(4){animation-delay:.60s;}
.hv4-mchip{
  flex:none;
  width:40px;
  text-align:center;
  padding:5px 0;
  border-radius:9px;
  background:var(--hv4-green-50);
  color:var(--hv4-green-dd);
  font-family:var(--font-display,'Montserrat',sans-serif);
  font-weight:700;
  font-size:11px;
  letter-spacing:.02em;
  line-height:1;
}
.hv4-rmeta{min-width:0;flex:1;}
.hv4-rname{
  font-size:12.5px;
  font-weight:600;
  color:var(--hv4-ink);
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.hv4-rsub{
  font-size:10.5px;
  color:var(--hv4-ink5);
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.hv4-tag{
  flex:none;
  padding:3px 8px;
  border-radius:999px;
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.hv4-tag.peak{background:var(--hv4-green);color:#fff;}
.hv4-tag.build{background:#EFF2F5;color:var(--hv4-ink7);border:1px solid var(--hv4-line);}
.hv4-check{
  flex:none;
  width:22px;height:22px;
  border-radius:50%;
  background:var(--hv4-green-50);
  display:flex;align-items:center;justify-content:center;
}
.hv4-check svg{width:12px;height:12px;}

/* footer */
.hv4-foot{
  display:flex;
  align-items:center;
  gap:10px;
  margin:6px 18px 16px;
  padding:11px 14px;
  border-radius:13px;
  background:linear-gradient(120deg,var(--hv4-green-50),#F5F7F8);
  border:1px solid rgba(44,122,75,.18);
}
.hv4-fstat{flex:none;}
.hv4-fnum{
  font-family:var(--font-display,'Montserrat',sans-serif);
  font-weight:800;
  font-size:22px;
  line-height:1;
  color:var(--hv4-green-d);
  letter-spacing:-.02em;
}
.hv4-fnum small{font-size:12px;font-weight:700;}
.hv4-flbl{font-size:10px;color:var(--hv4-ink5);margin-top:3px;}
.hv4-fdiv{width:1px;align-self:stretch;background:rgba(44,122,75,.18);flex:none;}
.hv4-ftext{
  font-size:11.5px;
  line-height:1.35;
  color:var(--hv4-ink7);
}
.hv4-ftext b{color:var(--hv4-ink);font-weight:700;}
.hv4-pulse{
  display:inline-block;
  width:7px;height:7px;
  border-radius:50%;
  background:var(--hv4-green);
  margin-right:5px;
  vertical-align:middle;
  box-shadow:0 0 0 0 rgba(44,122,75,.5);
  animation:hv4-pulse 2.4s ease-out infinite;
}

@keyframes hv4-pop{from{opacity:0;transform:translateY(10px) scale(.99);}to{opacity:1;transform:none;}}
@keyframes hv4-rise{from{opacity:0;transform:translateY(9px);}to{opacity:1;transform:none;}}
@keyframes hv4-draw{to{stroke-dashoffset:0;}}
@keyframes hv4-pulse{
  0%{box-shadow:0 0 0 0 rgba(44,122,75,.45);}
  70%{box-shadow:0 0 0 7px rgba(44,122,75,0);}
  100%{box-shadow:0 0 0 0 rgba(44,122,75,0);}
}
@media (prefers-reduced-motion:reduce){
  .hv4-win,.hv4-row,.hv4-area-path,.hv4-pulse,.hv4-area-fill,.hv4-node{animation:none!important;}
  .hv4-area-path{stroke-dashoffset:0;}
  .hv4-area-fill{clip-path:none;}
  .hv4-node{opacity:1;}
}

/* ===== right-column decor: glow + dashed frame + STEP-BY-STEP border progress line + fixed corner chips ===== */
@media (min-width:981px){ .rsg-page .hero-stage{ padding:40px 30px; } }
.rsg-page .hero-stage > .hv4-root{ position:relative; z-index:1; }
.rc-decor{ position:absolute; inset:0; z-index:0; pointer-events:none; }
/* soft breathing green halo behind the mockup (depth) */
.rc-glow{ position:absolute; inset:0; background:radial-gradient(58% 52% at 50% 46%, rgba(44,122,75,.16), rgba(44,122,75,.05) 46%, rgba(44,122,75,0) 72%); filter:blur(6px); animation:rcBreathe 9s ease-in-out infinite; }
/* rounded dashed frame (the track) — whisper of green tint + soft lift */
.rc-frame{ position:absolute; inset:10px; border:1.5px dashed rgba(44,122,75,.32); border-radius:38px; background:linear-gradient(165deg, rgba(44,122,75,.05), rgba(44,122,75,0) 52%); box-shadow:0 44px 74px -48px rgba(16,44,28,.24); }
/* the bold shining progress line that runs the border step by step */
.rc-prog{ position:absolute; inset:10px; pointer-events:none; }
.rc-seg{ position:absolute; border-radius:5px; box-shadow:0 2px 7px rgba(16,44,28,.30), 0 0 6px rgba(44,122,75,.35); }
.rc-seg.top{ top:-2px; left:40px; right:40px; height:4px; transform-origin:left center; transform:scaleX(0); background:linear-gradient(90deg,#2C7A4B,#143E25); animation:segTop 10s ease-in-out infinite; }
.rc-seg.right{ right:-2px; top:40px; bottom:40px; width:4px; transform-origin:center top; transform:scaleY(0); background:linear-gradient(180deg,#2C7A4B,#143E25); animation:segRight 10s ease-in-out infinite; }
.rc-seg.bottom{ bottom:-2px; left:40px; right:40px; height:4px; transform-origin:right center; transform:scaleX(0); background:linear-gradient(270deg,#2C7A4B,#143E25); animation:segBottom 10s ease-in-out infinite; }
.rc-seg.left{ left:-2px; top:40px; bottom:40px; width:4px; transform-origin:center bottom; transform:scaleY(0); background:linear-gradient(0deg,#143E25,#2C7A4B); animation:segLeft 10s ease-in-out infinite; }
/* green check-circle runner riding the leading edge of the progress line */
.rc-runner{ position:absolute; left:40px; top:0; width:18px; height:18px; margin:-9px 0 0 -9px; border-radius:50%; background:linear-gradient(135deg,#2C7A4B,#143E25); display:flex; align-items:center; justify-content:center; box-shadow:0 4px 10px rgba(16,44,28,.34), 0 0 6px rgba(44,122,75,.4); animation:rcRunner 10s ease-in-out infinite; }
.rc-runner .rc-ico{ position:absolute; width:11px; height:11px; opacity:0; }
.rc-runner .rc-ico.i1{ animation:rcIco1 10s ease-in-out infinite; }
.rc-runner .rc-ico.i2{ animation:rcIco2 10s ease-in-out infinite; }
.rc-runner .rc-ico.i3{ animation:rcIco3 10s ease-in-out infinite; }
.rc-runner .rc-ico.i4{ animation:rcIco4 10s ease-in-out infinite; }
.rc-runner svg{ width:100%; height:100%; display:block; }
/* fixed corner chips (checkpoints), each lights up as the line reaches it */
.rc-chip{ position:absolute; display:inline-flex; align-items:center; gap:7px; padding:7px 12px 7px 10px; background:#fff; border:1px solid var(--line); border-radius:999px; box-shadow:0 12px 28px rgba(16,44,28,.14); font-family:var(--font-display); font-weight:600; font-size:12px; line-height:1; color:var(--ink-900); white-space:nowrap; }
.rc-chip svg{ width:14px; height:14px; color:var(--green-600); flex-shrink:0; }
.rc-chip .rc-dot{ width:6px; height:6px; border-radius:50%; background:var(--green-500); flex-shrink:0; box-shadow:0 0 0 0 rgba(44,122,75,0); }
.rc-chip.c1{ top:-4px; left:0; }
.rc-chip.c2{ top:-4px; right:0; }
.rc-chip.c3{ bottom:-4px; right:0; }
.rc-chip.c4{ bottom:-4px; left:0; }
.rc-chip.c1 .rc-dot{ animation:rcDot 10s ease-in-out infinite .4s; }
.rc-chip.c2 .rc-dot{ animation:rcDot 10s ease-in-out infinite 2.6s; }
.rc-chip.c3 .rc-dot{ animation:rcDot 10s ease-in-out infinite 5.2s; }
.rc-chip.c4 .rc-dot{ animation:rcDot 10s ease-in-out infinite 7.8s; }
@keyframes rcBreathe{ 0%,100%{ transform:scale(1); opacity:.82; } 50%{ transform:scale(1.07); opacity:1; } }
@keyframes segTop{ 0%,4%{ transform:scaleX(0); opacity:1; } 26%{ transform:scaleX(1); opacity:1; } 92%{ transform:scaleX(1); opacity:1; } 100%{ transform:scaleX(1); opacity:0; } }
@keyframes segRight{ 0%,30%{ transform:scaleY(0); opacity:1; } 52%{ transform:scaleY(1); opacity:1; } 92%{ transform:scaleY(1); opacity:1; } 100%{ transform:scaleY(1); opacity:0; } }
@keyframes segBottom{ 0%,56%{ transform:scaleX(0); opacity:1; } 78%{ transform:scaleX(1); opacity:1; } 92%{ transform:scaleX(1); opacity:1; } 100%{ transform:scaleX(1); opacity:0; } }
@keyframes rcRunner{ 0%{ left:49px; top:0; opacity:0; } 4%{ left:49px; top:0; opacity:1; } 26%{ left:calc(100% - 31px); top:0; opacity:1; } 30%{ left:100%; top:49px; opacity:1; } 52%{ left:100%; top:calc(100% - 31px); opacity:1; } 56%{ left:calc(100% - 49px); top:100%; opacity:1; } 78%{ left:31px; top:100%; opacity:1; } 92%{ left:31px; top:100%; opacity:1; } 93%{ left:31px; top:100%; opacity:0; } 100%{ left:49px; top:0; opacity:0; } }
@keyframes rcIco1{ 0%{opacity:1} 24%{opacity:1} 28%{opacity:0} 100%{opacity:0} }
@keyframes rcIco2{ 0%,24%{opacity:0} 28%{opacity:1} 50%{opacity:1} 54%{opacity:0} 100%{opacity:0} }
@keyframes rcIco3{ 0%,50%{opacity:0} 54%{opacity:1} 76%{opacity:1} 80%{opacity:0} 100%{opacity:0} }
@keyframes rcIco4{ 0%,76%{opacity:0} 80%{opacity:1} 92%{opacity:1} 100%{opacity:0} }
@keyframes rcDot{ 0%{ box-shadow:0 0 0 0 rgba(44,122,75,.6); background:#4ADE80; } 7%{ box-shadow:0 0 0 8px rgba(44,122,75,0); background:#4ADE80; } 10%,100%{ box-shadow:0 0 0 0 rgba(44,122,75,0); background:var(--green-500); } }
@media (prefers-reduced-motion:reduce){ .rc-seg,.rc-glow,.rc-chip .rc-dot{ animation:none; } .rc-seg{ transform:none; opacity:.9; } .rc-runner{ display:none; } }
@media (max-width:980px){ .rc-decor{ display:none; } }
/* PERF: skip rendering/animating off-screen sections (fixes Elementor editor OOM) - no visual change */
.rsg-page section:not(.hero){ content-visibility:auto; contain-intrinsic-size:auto 800px; }

@media (max-width:420px){
  .hv4-htitle{font-size:15px;}
  .hv4-rname{font-size:12px;}
  .hv4-plan-pill{padding:4px 8px;font-size:10px;}
  .hv4-fnum{font-size:20px;}
}
@media (max-width:360px){
  .hv4-hsub{display:none;}
  .hv4-plan-pill span.hv4-planword{display:none;}
}

/* ===== §1 HERO — MOBILE FIT =====================================================
   BUG: once .hero-grid stacks to one column, `1fr` means minmax(AUTO,1fr), so the
   track was sized to the widest item's intrinsic min-content. The hv4 calendar
   mockup's min-content is ~394px (its nowrap campaign-name / segment rows), so at a
   375px viewport the 343px container got a 394px track — the H1, ledes, dashed
   callout, CTAs and trust row all overflowed ~51px and were clipped by
   .rsg-page{overflow-x:hidden}. Fix = minmax(0,1fr) on the track AND min-width:0 on
   the items (a grid item's own min-width:auto would still blow past the track).
   ------------------------------------------------------------------------------- */
@media (max-width:1024px){
  .rsg-page .hero-grid{ grid-template-columns:minmax(0,1fr); }
  .rsg-page .hero-grid > *{ min-width:0; }
  .rsg-page .hero-stage{ min-width:0; }
  /* min-width only — .hv4-root keeps its 540px desktop/tablet cap (width:100% already
     stops it exceeding the container, so do NOT override max-width here) */
  .rsg-page .hv4-root{ min-width:0; }
}
/* the mockup now shrinks to the real container width — tighten its internal gutters
   so the campaign rows keep readable names instead of ellipsing early */
@media (max-width:480px){
  .rsg-page .hv4-bar{ padding:10px 12px; }
  .rsg-page .hv4-head{ padding:14px 12px 11px; gap:9px; }
  .rsg-page .hv4-chart{ margin:2px 12px 0; padding:10px 11px 6px; }
  .rsg-page .hv4-svgwrap svg{ height:70px; }
  .rsg-page .hv4-rows{ padding:10px 12px 4px; gap:7px; }
  .rsg-page .hv4-row{ gap:8px; padding:8px 9px; }
  .rsg-page .hv4-mchip{ width:34px; }
  .rsg-page .hv4-foot{ margin:6px 12px 14px; padding:10px 11px; gap:9px; }
  /* keeps "2026 Email Calendar" on ONE line in the ~150px header slot */
  .rsg-page .hv4-htitle{ font-size:14px; }
}
/* narrowest phones: drop the decorative confirmation circle so the campaign name
   and its segment line both read in full instead of ellipsing */
@media (max-width:390px){
  .rsg-page .hv4-check{ display:none; }
}
@media (max-width:360px){
  /* "Seasonal Demand" + "Sends Timed To Peaks" both wrap and collide side-by-side
     this narrow — stack them instead */
  .rsg-page .hv4-chart-top{ flex-direction:column; align-items:flex-start; gap:2px; }
}
