
/* ============================================================
   HVAC CRM AUTOMATION — SUPPLEMENTAL COMPONENTS
   Built on the shared Variant-B master CSS (tokens only).
   Design language cloned from hvac-email-marketing.html +
   hvac-graphic-design.html.
   ============================================================ */

/* Defensive: force strong/b white in dark sections */
.rsg-page .section-dark strong, .rsg-page .section-dark b { color:#fff; }

/* Founder promise CTAs (from email-marketing build) */
.rsg-page .promise-ctas { display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }
.rsg-page .btn-outline-white { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.42); }
.rsg-page .btn-outline-white:hover { background:#fff; color:#111; }

/* Mid-page CTA banner (from email-marketing build) */
.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; } }

/* Key insight — premium spotlight; DISTINCT from the CTA banner
   (top-accent bar + corner glow instead of lightbulb + left bar + button) */
.rsg-page .keynote { position:relative; overflow:hidden; border-radius:20px; padding:34px 38px; margin:30px 0; border:1px solid var(--line); background:radial-gradient(150% 130% at 100% 0%, rgba(44,122,75,.11) 0%, transparent 52%), linear-gradient(158deg,#FFFFFF 0%,#F4FAF6 100%); box-shadow:0 18px 46px rgba(20,50,32,.10); }
.rsg-page .keynote::before { display:none; }
.rsg-page .keynote-tag { position:relative; z-index:1; display:inline-flex; align-items:center; gap:12px; font-family:var(--font-mono); font-size:11.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--green-600); margin-bottom:18px; }
.rsg-page .keynote-tag::before { content:""; width:30px; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--green-600),var(--green-500)); }
.rsg-page .keynote p { position:relative; z-index:1; margin:0; font-family:var(--font-display); font-size:22px; font-weight:600; line-height:1.48; color:var(--ink-900); letter-spacing:-.012em; }
.rsg-page .keynote p strong { font-weight:800; color:var(--green-600); }
/* split variant — statement + bento dashboard */
.rsg-page .keynote--split { display:grid; grid-template-columns:1fr 1.04fr; gap:34px; align-items:stretch; }
.rsg-page .keynote-main { position:relative; z-index:1; min-width:0; display:flex; flex-direction:column; justify-content:center; }
.rsg-page .keynote p.kn-lead { margin:0 0 14px; font-family:var(--font-body); font-size:16px; font-weight:500; line-height:1.6; color:var(--ink-2); letter-spacing:0; }
.rsg-page .keynote p.kn-punch { margin:0; font-family:var(--font-display); font-size:27px; font-weight:800; line-height:1.26; color:var(--ink-900); letter-spacing:-.018em; }
.rsg-page .keynote p.kn-punch strong { color:var(--green-600); font-weight:800; }
.rsg-page .kn-feats { margin-top:24px; padding-top:22px; border-top:1px solid rgba(44,122,75,.16); display:flex; flex-direction:column; gap:15px; }
.rsg-page .kn-feat { display:flex; align-items:center; gap:14px; }
.rsg-page .kn-feat .kf-ic { width:42px; height:42px; border-radius:12px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 8px 18px rgba(44,122,75,.26); }
.rsg-page .kn-feat .kf-ic svg { width:20px; height:20px; stroke:#fff; }
.rsg-page .kn-feat .kf-tx { min-width:0; }
.rsg-page .kn-feat .kf-tx b { display:block; font-family:var(--font-display); font-size:15px; font-weight:800; color:var(--ink-900); line-height:1.15; letter-spacing:-.005em; }
.rsg-page .kn-feat .kf-tx span { display:block; font-family:var(--font-body); font-size:13px; color:var(--ink-2); margin-top:3px; line-height:1.4; }
/* §2 keynote — "One Command Center" bento mini-dashboard */
.rsg-page .knd { position:relative; z-index:1; background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:0 20px 48px rgba(15,40,25,.16); }
.rsg-page .knd-bar { display:flex; align-items:center; gap:9px; padding:11px 14px; border-bottom:1px solid var(--line-2); background:var(--paper-soft); }
.rsg-page .knd-logo { width:26px; height:26px; border-radius:8px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; box-shadow:0 5px 12px rgba(44,122,75,.3); flex-shrink:0; }
.rsg-page .knd-logo svg { width:15px; height:15px; stroke:#fff; }
.rsg-page .knd-bar b { font-family:var(--font-display); font-size:13px; font-weight:800; color:var(--ink-900); }
.rsg-page .knd-tag { margin-left:auto; font-family:var(--font-mono); font-size:8px; 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); padding:4px 9px; border-radius:999px; }
.rsg-page .knd-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:13px; background:radial-gradient(circle at 1px 1px, rgba(20,50,32,.05) 1px, transparent 0) 0 0/16px 16px; }
.rsg-page .knd-tile { background:#fff; border:1px solid var(--line-2); border-radius:12px; padding:12px 13px; box-shadow:0 3px 10px rgba(0,0,0,.04); transition:transform .18s ease, box-shadow .18s ease; }
.rsg-page .knd-tile:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(20,50,32,.09); }
.rsg-page .knd-tile.wide { grid-column:1 / -1; }
.rsg-page .knd-th { display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.rsg-page .knd-ic { width:26px; height:26px; border-radius:7px; background:var(--green-50); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .knd-ic svg { width:14px; height:14px; stroke:var(--green-600); }
.rsg-page .knd-th b { font-family:var(--font-display); font-size:12.5px; font-weight:700; color:var(--ink-900); }
.rsg-page .knd-bars { display:flex; align-items:flex-end; gap:4px; height:22px; }
.rsg-page .knd-bars i { width:6px; border-radius:2px 2px 0 0; background:linear-gradient(var(--green-500),var(--green-700)); }
.rsg-page .knd-avs { display:flex; align-items:center; height:22px; }
.rsg-page .knd-av { width:22px; height:22px; border-radius:50%; border:2px solid #fff; background:linear-gradient(135deg,#9FB8A8,#6E8E7C); margin-left:-7px; box-shadow:0 2px 5px rgba(0,0,0,.08); }
.rsg-page .knd-av:first-child { margin-left:0; }
.rsg-page .knd-av.more { background:var(--green-50); color:var(--green-700); font-family:var(--font-mono); font-size:9px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.rsg-page .knd-cal { display:flex; gap:4px; height:22px; align-items:center; }
.rsg-page .knd-cal i { width:15px; height:16px; border-radius:4px; background:#EEF1EE; }
.rsg-page .knd-cal i.on { background:linear-gradient(135deg,var(--green-500),var(--green-700)); box-shadow:0 3px 8px rgba(44,122,75,.3); }
.rsg-page .knd-seq { display:flex; align-items:center; gap:0; height:22px; }
.rsg-page .knd-seq .sd2 { width:11px; height:11px; border-radius:50%; border:2px solid var(--green-500); background:#fff; flex-shrink:0; }
.rsg-page .knd-seq .sd2.on { background:var(--green-500); }
.rsg-page .knd-seq .sl2 { flex:1; height:2px; background:repeating-linear-gradient(90deg,var(--green-500) 0 4px,transparent 4px 7px); }
.rsg-page .knd-seq .schk { width:18px; height:18px; border-radius:50%; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-left:5px; }
.rsg-page .knd-seq .schk svg { width:10px; height:10px; stroke:#fff; }
.rsg-page .knd-chans { display:flex; align-items:center; gap:8px; }
.rsg-page .knd-chan { width:30px; height:30px; border-radius:8px; background:var(--paper-soft); border:1px solid var(--line-2); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .knd-chan svg { width:15px; height:15px; stroke:var(--green-600); }
.rsg-page .knd-chan-lbl { font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-500); margin-left:4px; }
.rsg-page .knd-tile.hero { grid-column:1 / -1; background:linear-gradient(135deg,var(--green-500),var(--green-700)); border:0; display:flex; align-items:center; gap:13px; box-shadow:0 14px 30px rgba(44,122,75,.32); padding:15px 16px; }
.rsg-page .knd-tile.hero:hover { transform:translateY(-2px); box-shadow:0 20px 40px rgba(44,122,75,.4); }
.rsg-page .knd-hic { width:40px; height:40px; border-radius:11px; background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .knd-hic svg { width:21px; height:21px; stroke:#fff; }
.rsg-page .knd-htx b { display:block; font-family:var(--font-display); font-size:15.5px; font-weight:800; color:#fff; line-height:1.1; }
.rsg-page .knd-htx span { display:block; font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:rgba(255,255,255,.85); margin-top:5px; }
/* dark-section variant */
.rsg-page .section-dark .keynote { border-color:rgba(255,255,255,.14); background:radial-gradient(150% 130% at 100% 0%, rgba(74,222,128,.13) 0%, transparent 52%), rgba(255,255,255,.04); box-shadow:0 22px 55px rgba(0,0,0,.40); }
.rsg-page .section-dark .keynote::before { background:linear-gradient(90deg,var(--green-500),#4ADE80); }
.rsg-page .section-dark .keynote-tag { color:#7CE8A6; }
.rsg-page .section-dark .keynote-tag::before { background:#7CE8A6; }
.rsg-page .section-dark .keynote p { color:#fff; }
.rsg-page .section-dark .keynote p strong { color:#7CE8A6; }
@media (max-width:820px){ .rsg-page .keynote--split { grid-template-columns:1fr; gap:26px; } }
@media (max-width:560px){ .rsg-page .keynote { padding:26px 24px; } .rsg-page .keynote p { font-size:18px; } }

/* ============================================================
   §1 HERO — "Unified Inbox" CRM app window (fluid, reflows)
   ============================================================ */
.rsg-page .crm-hero-stage { display:flex; justify-content:center; align-items:flex-end; position:relative; align-self:end; }
.rsg-page .crmh { position:relative; width:100%; max-width:520px; }
.rsg-page .crmh-win { position:relative; background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:0 34px 74px rgba(15,40,25,.20), 0 10px 24px rgba(15,40,25,.10); z-index:2; }
.rsg-page .crmh-bar { display:flex; align-items:center; gap:7px; padding:11px 15px; background:#F3F6F3; border-bottom:1px solid var(--line-2); }
.rsg-page .crmh-bar .d { width:9px; height:9px; border-radius:50%; }
.rsg-page .crmh-bar .d1 { background:#E5726B; } .rsg-page .crmh-bar .d2 { background:#E7C15C; } .rsg-page .crmh-bar .d3 { background:#7BC77F; }
.rsg-page .crmh-addr { margin-left:8px; flex:1; display:flex; align-items:center; gap:7px; background:#fff; border:1px solid var(--line); border-radius:7px; padding:5px 11px; font-family:var(--font-mono); font-size:10.5px; color:var(--ink-500); overflow:hidden; white-space:nowrap; }
.rsg-page .crmh-addr svg { width:11px; height:11px; stroke:var(--green-600); flex-shrink:0; }
.rsg-page .crmh-live { display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--green-700); }
.rsg-page .crmh-live::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 3px rgba(44,122,75,.20); }
.rsg-page .crmh-body { display:grid; grid-template-columns:52px 1fr; min-height:360px; }
.rsg-page .crmh-rail { background:#FAFBFA; border-right:1px solid var(--line-2); display:flex; flex-direction:column; align-items:center; gap:4px; padding:12px 0; }
.rsg-page .crmh-rail .rlogo { width:30px; height:30px; border-radius:9px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; margin-bottom:8px; box-shadow:0 5px 12px rgba(44,122,75,.32); }
.rsg-page .crmh-rail .rlogo svg { width:16px; height:16px; stroke:#fff; }
.rsg-page .crmh-rail .ri { width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center; color:#AAB2AB; }
.rsg-page .crmh-rail .ri svg { width:17px; height:17px; }
.rsg-page .crmh-rail .ri.on { background:var(--green-50); color:var(--green-600); }
.rsg-page .crmh-main { padding:15px 16px 18px; min-width:0; }
.rsg-page .crmh-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:13px; }
.rsg-page .crmh-head b { font-family:var(--font-display); font-size:14px; font-weight:800; color:var(--ink-900); }
.rsg-page .crmh-unread { 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,.18); padding:4px 9px; border-radius:999px; }
.rsg-page .crmh-thread { border:1px solid rgba(44,122,75,.22); background:linear-gradient(180deg,#F7FBF8,#fff); border-radius:13px; padding:13px 13px 14px; }
.rsg-page .crmh-contact { display:flex; align-items:center; gap:10px; margin-bottom:11px; }
.rsg-page .crmh-av { width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,#9FB8A8,#6E8E7C); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:12px; flex-shrink:0; }
.rsg-page .crmh-contact .cn { font-family:var(--font-display); font-size:12.5px; font-weight:700; color:var(--ink-900); line-height:1.1; }
.rsg-page .crmh-contact .cn span { display:block; font-family:var(--font-mono); font-size:9px; font-weight:600; letter-spacing:.03em; color:var(--ink-500); margin-top:3px; }
.rsg-page .crmh-missed { margin-left:auto; display:inline-flex; align-items:center; gap:5px; font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#5C5C5C; background:#EFEFEC; border:1px solid #E0E0DA; padding:4px 9px; border-radius:999px; }
.rsg-page .crmh-missed svg { width:11px; height:11px; stroke:#6B6B6B; }
.rsg-page .crmh-msgs { display:flex; flex-direction:column; gap:8px; }
.rsg-page .crmh-msg { max-width:84%; font-size:11.5px; line-height:1.5; padding:9px 12px; border-radius:12px; }
.rsg-page .crmh-msg.out { align-self:flex-end; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; border-bottom-right-radius:4px; }
.rsg-page .crmh-msg.in { align-self:flex-start; background:#fff; border:1px solid var(--line); color:var(--ink-2); border-bottom-left-radius:4px; }
.rsg-page .crmh-auto { align-self:flex-end; display:inline-flex; align-items:center; gap:5px; font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--green-700); margin-top:1px; }
.rsg-page .crmh-auto svg { width:11px; height:11px; stroke:var(--green-600); }
.rsg-page .crmh-status { display:flex; align-items:center; gap:8px; margin-top:12px; padding-top:11px; border-top:1px dashed var(--line); }
.rsg-page .crmh-book { 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:#fff; background:var(--green-500); padding:5px 11px; border-radius:999px; }
.rsg-page .crmh-book svg { width:11px; height:11px; stroke:#fff; }
.rsg-page .crmh-status .cs-when { font-family:var(--font-mono); font-size:9.5px; color:var(--ink-500); }
/* mini pipeline row */
.rsg-page .crmh-pipe { display:flex; gap:7px; margin-top:13px; }
.rsg-page .crmh-pill2 { flex:1; display:flex; align-items:center; gap:7px; background:#FAFBFA; border:1px solid var(--line-2); border-radius:9px; padding:8px 9px; }
.rsg-page .crmh-pill2 .pi { width:22px; height:22px; border-radius:6px; background:var(--green-50); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .crmh-pill2 .pi svg { width:12px; height:12px; stroke:var(--green-600); }
.rsg-page .crmh-pill2 b { font-family:var(--font-display); font-size:11px; font-weight:800; color:var(--ink-900); line-height:1; }
.rsg-page .crmh-pill2 span { display:block; font-family:var(--font-mono); font-size:7.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-500); margin-top:3px; }
/* floating chip */
.rsg-page .crmh-float { position:absolute; z-index:5; right:-22px; bottom:38px; display:flex; align-items:center; gap:11px; background:#fff; border-radius:14px; padding:11px 15px 11px 12px; box-shadow:0 20px 42px rgba(15,40,25,.22); border:1px solid var(--line-2); }
.rsg-page .crmh-float .cf-ic { width:38px; height:38px; border-radius:11px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 8px 18px rgba(44,122,75,.34); }
.rsg-page .crmh-float .cf-ic svg { width:20px; height:20px; stroke:#fff; }
.rsg-page .crmh-float b { font-family:var(--font-display); font-size:13px; font-weight:800; color:var(--ink-900); line-height:1.05; }
.rsg-page .crmh-float span { display:block; font-family:var(--font-mono); font-size:8px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--green-700); margin-top:4px; }
.rsg-page .crmh-badge { position:absolute; z-index:5; left:-20px; top:34px; display:inline-flex; align-items:center; gap:7px; background:#111; color:#fff; border-radius:999px; padding:7px 13px; box-shadow:0 12px 28px rgba(0,0,0,.28); font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.rsg-page .crmh-badge .bdot { width:7px; height:7px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 3px rgba(44,122,75,.3); }
@media (max-width:1040px){ .rsg-page .crmh-float { right:0; } .rsg-page .crmh-badge { left:0; } }
@media (max-width:560px){
  .rsg-page .crmh-float, .rsg-page .crmh-badge { position:static; margin:14px auto 0; width:max-content; max-width:100%; }
  .rsg-page .crmh-float { right:auto; bottom:auto; }
}

/* Hero right column — animated Leads Dashboard (GHL-style) */
.rsg-page .ghd { position:relative; width:100%; max-width:520px; }
.rsg-page .ghd::before { content:""; position:absolute; z-index:0; left:52%; top:42%; transform:translate(-50%,-50%); width:116%; height:94%; background:radial-gradient(55% 55% at 55% 32%, rgba(44,122,75,.20), transparent 72%); filter:blur(24px); pointer-events:none; }
.rsg-page .ghd-title { display:flex; align-items:center; gap:10px; min-width:0; }
.rsg-page .ghd-logo { width:30px; height:30px; border-radius:9px; background:linear-gradient(135deg,#3E9A63,var(--green-700)); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 6px 13px -4px rgba(44,122,75,.55); }
.rsg-page .ghd-logo svg { width:16px; height:16px; stroke:#fff; }
.rsg-page .ghd-pt { fill:#fff; stroke:var(--green-600); stroke-width:2; opacity:0; animation:ghdpop .3s ease forwards; }
.rsg-page .ghd-win { position:relative; background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:0 40px 82px -20px rgba(15,40,25,.30), 0 12px 26px rgba(15,40,25,.10), inset 0 1px 0 rgba(255,255,255,.75); z-index:2; animation:ghdfloat 7s ease-in-out infinite; }
.rsg-page .ghd-bar { display:flex; align-items:center; gap:9px; padding:11px 14px; border-bottom:1px solid var(--line-2); background:linear-gradient(180deg,#FCFDFC,#F3F6F3); }
.rsg-page .ghd-dots { display:flex; gap:6px; } .rsg-page .ghd-dots i { width:9px; height:9px; border-radius:50%; background:#D7DCD8; display:block; } .rsg-page .ghd-dots i.g { background:var(--green-500); }
.rsg-page .ghd-addr { flex:1; display:flex; align-items:center; gap:7px; background:#fff; border:1px solid var(--line); border-radius:7px; padding:5px 11px; font-family:var(--font-mono); font-size:10.5px; font-weight:600; color:var(--ink-500); overflow:hidden; white-space:nowrap; min-width:0; }
.rsg-page .ghd-addr svg { width:11px; height:11px; stroke:#8B918C; flex-shrink:0; } .rsg-page .ghd-addr b { color:var(--ink-700); font-weight:700; }
.rsg-page .ghd-live { display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); border:1px solid rgba(44,122,75,.22); border-radius:999px; padding:4px 9px; flex-shrink:0; }
.rsg-page .ghd-live::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 3px rgba(44,122,75,.18); animation:ghdpulse 2s infinite; }
.rsg-page .ghd-body { position:relative; padding:15px 16px 15px; }
.rsg-page .ghd-head { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-bottom:13px; }
.rsg-page .ghd-t b { display:block; font-family:var(--font-display); font-size:15px; font-weight:800; color:var(--ink-900); line-height:1.1; }
.rsg-page .ghd-t em { font-style:normal; font-family:var(--font-mono); font-size:10px; color:var(--ink-500); }
.rsg-page .ghd-range { display:inline-flex; align-items:center; gap:6px; font-family:var(--font-display); font-size:10.5px; font-weight:700; color:var(--ink-700); background:#F3F6F4; border:1px solid var(--line-2); border-radius:8px; padding:5px 10px; flex-shrink:0; }
.rsg-page .ghd-range svg { width:12px; height:12px; stroke:var(--green-600); }
.rsg-page .ghd-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-bottom:12px; }
.rsg-page .ghd-kpi { position:relative; border:1px solid var(--line-2); border-radius:13px; padding:11px 12px; background:linear-gradient(180deg,#fff,#FAFCFB); overflow:hidden; }
.rsg-page .ghd-l { display:flex; align-items:center; gap:5px; font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .ghd-lic { width:13px; height:13px; stroke:var(--green-600); fill:none; flex-shrink:0; }
.rsg-page .ghd-v { display:block; font-family:var(--font-display); font-size:22px; font-weight:800; color:var(--ink-900); line-height:1; margin-top:5px; }
.rsg-page .ghd-d { display:inline-flex; align-items:center; gap:3px; font-size:10px; font-weight:700; color:var(--green-600); margin-top:5px; } .rsg-page .ghd-d svg { width:10px; height:10px; stroke:var(--green-600); }
.rsg-page .ghd-spark { position:absolute; right:9px; top:11px; width:48px; height:20px; overflow:visible; }
.rsg-page .ghd-spark .sfill { fill:rgba(44,122,75,.13); opacity:0; animation:ghdop .8s .4s ease forwards; }
.rsg-page .ghd-spark .sline { fill:none; stroke:var(--green-500); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:120; stroke-dashoffset:120; animation:ghddraw 1.3s .3s ease forwards; }
.rsg-page .ghd-spark .sdot { fill:var(--green-600); opacity:0; animation:ghdpop .3s 1.4s ease forwards; }
.rsg-page .ghd-panel { border:1px solid var(--line-2); border-radius:13px; background:linear-gradient(180deg,#fff,#FAFCFB); padding:13px 14px; margin-bottom:11px; }
.rsg-page .ghd-ph { display:flex; align-items:center; justify-content:space-between; margin-bottom:11px; }
.rsg-page .ghd-ph b { font-family:var(--font-display); font-size:12px; font-weight:800; color:var(--ink-900); }
.rsg-page .ghd-ph em { font-style:normal; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--green-600); display:inline-flex; align-items:center; gap:5px; }
.rsg-page .ghd-ph em::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--green-500); animation:ghdpulse 2s infinite; }
.rsg-page .ghd-chart { height:118px; } .rsg-page .ghd-chart svg { width:100%; height:100%; overflow:visible; }
.rsg-page .ghd-grid line { stroke:var(--line-2); stroke-width:1; }
.rsg-page .ghd-area { fill:url(#ghdfill); opacity:0; animation:ghdfade 1.2s .35s ease forwards; }
.rsg-page .ghd-cline { fill:none; stroke:url(#ghdline); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:640; stroke-dashoffset:640; animation:ghddrawline 1.5s .2s cubic-bezier(.5,.1,.2,1) forwards; }
.rsg-page .ghd-dot { fill:#fff; stroke:var(--green-600); stroke-width:3; opacity:0; filter:drop-shadow(0 0 5px rgba(44,122,75,.65)); animation:ghdpop .4s 1.5s ease forwards; }
.rsg-page .ghd-xax { display:flex; justify-content:space-between; margin-top:6px; padding:0 2px; }
.rsg-page .ghd-xax span { font-family:var(--font-mono); font-size:8.5px; font-weight:600; color:#8B918C; }
.rsg-page .ghd-funnel .ghd-frow { display:flex; align-items:center; gap:10px; margin-bottom:9px; } .rsg-page .ghd-funnel .ghd-frow:last-child { margin-bottom:0; }
.rsg-page .ghd-flabel { width:70px; flex-shrink:0; font-family:var(--font-display); font-size:10.5px; font-weight:700; color:var(--ink-700); }
.rsg-page .ghd-fnum { width:32px; flex-shrink:0; text-align:right; font-family:var(--font-display); font-size:12px; font-weight:800; color:var(--green-700); }
.rsg-page .ghd-ftrack { flex:1; height:18px; border-radius:6px; background:#F0F3F1; overflow:hidden; }
.rsg-page .ghd-ffill { height:100%; border-radius:6px; width:0; background:linear-gradient(90deg,#3E9A63,var(--green-700)); box-shadow:inset 0 1px 0 rgba(255,255,255,.28); animation:ghdgrow 1.1s cubic-bezier(.4,0,.2,1) forwards; }
.rsg-page .ghd-demo { text-align:right; font-family:var(--font-mono); font-size:8px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#8B918C; margin-top:4px; }
.rsg-page .ghd-toasts { position:absolute; right:13px; bottom:44px; width:210px; height:58px; z-index:6; }
.rsg-page .ghd-toast { position:absolute; inset:0; display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.86); backdrop-filter:blur(14px) saturate(1.3); -webkit-backdrop-filter:blur(14px) saturate(1.3); border:1px solid rgba(255,255,255,.92); border-radius:13px; padding:9px 12px; box-shadow:0 20px 40px -14px rgba(12,36,22,.42); opacity:0; animation:ghdtoast 10s ease-in-out infinite; }
.rsg-page .ghd-toast.t2 { animation-delay:5s; }
.rsg-page .ghd-ta { position:relative; width:34px; height:34px; border-radius:10px; background:linear-gradient(135deg,#3E9A63,var(--green-700)); color:#fff; font-family:var(--font-display); font-weight:800; font-size:13px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .ghd-pd { position:absolute; top:-2px; right:-2px; width:10px; height:10px; border-radius:50%; background:#3EE07F; border:2px solid #fff; }
.rsg-page .ghd-tt b { display:block; font-family:var(--font-display); font-size:8.5px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--green-600); }
.rsg-page .ghd-tt .nm { display:block; font-family:var(--font-display); font-size:12.5px; font-weight:800; color:var(--ink-900); line-height:1.15; margin-top:1px; }
.rsg-page .ghd-tt .sv { display:block; font-family:var(--font-mono); font-size:9.5px; color:var(--ink-500); margin-top:1px; }
@keyframes ghddraw { to { stroke-dashoffset:0; } }
@keyframes ghddrawline { to { stroke-dashoffset:0; } }
@keyframes ghdgrow { from { width:0; } }
@keyframes ghdfade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@keyframes ghdpop { from { opacity:0; transform:scale(.6); } to { opacity:1; transform:scale(1); } }
@keyframes ghdpulse { 0% { box-shadow:0 0 0 0 rgba(44,122,75,.45); } 70% { box-shadow:0 0 0 6px rgba(44,122,75,0); } 100% { box-shadow:0 0 0 0 rgba(44,122,75,0); } }
@keyframes ghdtoast { 0% { opacity:0; transform:translateY(14px) scale(.95); } 6% { opacity:1; transform:translateY(0) scale(1); } 44% { opacity:1; transform:translateY(0) scale(1); } 52% { opacity:0; transform:translateY(-10px) scale(.98); } 100% { opacity:0; transform:translateY(-10px) scale(.98); } }
@keyframes ghdfloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
@keyframes ghdop { from { opacity:0; } to { opacity:1; } }
@media (max-width:560px){
  .rsg-page .ghd-kpis { grid-template-columns:1fr; gap:8px; }
  .rsg-page .ghd-kpi { display:flex; align-items:center; gap:10px; padding:11px 14px; }
  .rsg-page .ghd-kpi .ghd-l { order:1; width:98px; flex-shrink:0; margin:0; }
  .rsg-page .ghd-kpi .ghd-v { order:2; font-size:22px; }
  .rsg-page .ghd-kpi .ghd-d { order:3; margin:0 0 0 auto; }
  .rsg-page .ghd-kpi .ghd-spark { position:static; order:4; width:56px; height:22px; flex-shrink:0; }
}
@media (prefers-reduced-motion:reduce){ .rsg-page .ghd-spark .sline { animation:none; stroke-dashoffset:0; } .rsg-page .ghd-spark .sfill, .rsg-page .ghd-spark .sdot { animation:none; opacity:1; } .rsg-page .ghd-area { animation:none; opacity:1; } .rsg-page .ghd-cline { animation:none; stroke-dashoffset:0; } .rsg-page .ghd-dot, .rsg-page .ghd-pt { animation:none; opacity:1; } .rsg-page .ghd-ffill { animation:none; } .rsg-page .ghd-win { animation:none; } .rsg-page .ghd-toast { animation:none; opacity:1; } .rsg-page .ghd-toast.t2 { display:none; } .rsg-page .ghd-live::before, .rsg-page .ghd-ph em::before { animation:none; } }

/* Hero trust bullets (four capture points) */
.rsg-page .hero-tip-callout p { font-family:var(--font-mono); }

/* ============================================================
   §2 — Lifecycle "one thread per customer"
   ============================================================ */
.rsg-page .life { background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow-md); overflow:hidden; margin-top:6px; }
.rsg-page .life-head { display:flex; align-items:center; gap:12px; padding:18px 24px; border-bottom:1px solid var(--line-2); background:var(--paper-soft); }
.rsg-page .life-head .lh-ic { width:34px; height:34px; border-radius:10px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 6px 14px rgba(44,122,75,.26); }
.rsg-page .life-head .lh-ic svg { width:18px; height:18px; stroke:#fff; }
.rsg-page .life-head b { font-family:var(--font-display); font-size:16px; font-weight:800; color:var(--ink-900); }
.rsg-page .life-head span { display:block; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-500); margin-top:3px; }
.rsg-page .life-inputs { display:flex; flex-wrap:wrap; gap:9px; padding:20px 24px 4px; }
.rsg-page .life-in { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:8px 14px; font-family:var(--font-display); font-weight:700; font-size:12.5px; color:var(--ink-900); box-shadow:0 3px 10px rgba(0,0,0,.04); }
.rsg-page .life-in svg { width:15px; height:15px; stroke:var(--green-600); }
.rsg-page .life-merge { display:flex; align-items:center; gap:10px; padding:4px 24px 2px; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--green-700); }
.rsg-page .life-merge svg { width:16px; height:16px; stroke:var(--green-500); }
.rsg-page .life-track { position:relative; display:flex; align-items:flex-start; gap:0; padding:32px 26px 30px; overflow-x:auto; background:radial-gradient(125% 84% at 50% 0%, #F1F9F4 0%, #FFFFFF 74%); }
.rsg-page .life-node { position:relative; flex:1; min-width:104px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px; padding:0 4px; }
/* connector rail */
.rsg-page .life-node::before { content:""; position:absolute; top:26px; left:-50%; width:100%; height:3px; border-radius:2px; background:linear-gradient(90deg,rgba(44,122,75,.30),var(--green-500)); z-index:0; }
.rsg-page .life-node:first-child::before { display:none; }
/* flow chevron on the rail */
.rsg-page .life-node::after { content:""; position:absolute; top:21px; left:-8px; width:10px; height:10px; border-top:2.6px solid var(--green-500); border-right:2.6px solid var(--green-500); transform:rotate(45deg); z-index:1; }
.rsg-page .life-node:first-child::after { display:none; }
/* icon tile (matches the page icon-chip language) */
.rsg-page .life-dot { position:relative; z-index:2; width:54px; height:54px; border-radius:16px; background:linear-gradient(140deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; border:3px solid #fff; box-shadow:0 10px 22px rgba(44,122,75,.30); transition:transform .22s ease, box-shadow .22s ease; }
.rsg-page .life-dot::after { content:""; position:absolute; inset:-6px; border-radius:21px; border:1.5px dashed rgba(44,122,75,.30); }
.rsg-page .life-dot svg { width:25px; height:25px; stroke:#fff; }
.rsg-page .life-node:hover .life-dot { transform:translateY(-4px); box-shadow:0 16px 32px rgba(44,122,75,.40); }
/* Review = the goal — dark finish (matches the "final = dark" motif) */
.rsg-page .life-node:last-child .life-dot { background:linear-gradient(140deg,#3A3A3A,#111); box-shadow:0 12px 26px rgba(0,0,0,.34); }
.rsg-page .life-node:last-child .life-dot::after { border-color:rgba(0,0,0,.24); }
.rsg-page .life-lbl { font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-700); line-height:1.35; }
@media (max-width:760px){ .rsg-page .life-track { padding:26px 18px; } .rsg-page .life-node { min-width:92px; } .rsg-page .life-dot { width:48px; height:48px; } .rsg-page .life-dot svg { width:22px; height:22px; } }

/* ============================================================
   §3 — Comparison cards + sync band
   ============================================================ */
.rsg-page .vsc { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:stretch; }
.rsg-page .vsc-card { position:relative; border-radius:18px; padding:28px 28px 24px; display:flex; flex-direction:column; overflow:hidden; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.rsg-page .vsc-card.fs { background:var(--paper-soft); border:1px solid var(--line); }
.rsg-page .vsc-card.fs:hover { transform:translateY(-3px); box-shadow:0 16px 38px rgba(0,0,0,.07); }
.rsg-page .vsc-card.rsg { background:linear-gradient(150deg,#EEF7F1 0%,#FFFFFF 62%); border:1px solid rgba(44,122,75,.30); box-shadow:0 20px 48px rgba(20,60,36,.13); }
.rsg-page .vsc-card.rsg:hover { transform:translateY(-4px); box-shadow:0 28px 62px rgba(20,60,36,.18); border-color:rgba(44,122,75,.45); }
.rsg-page .vsc-card.rsg::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--green-700),var(--green-600) 55%,var(--green-500)); z-index:2; }
.rsg-page .vsc-card.rsg::after { content:""; position:absolute; top:-50px; right:-50px; width:160px; height:160px; border-radius:50%; background:radial-gradient(circle,rgba(44,122,75,.13),transparent 70%); pointer-events:none; }
.rsg-page .vsc-top { display:flex; align-items:center; gap:13px; margin-bottom:6px; padding-bottom:18px; position:relative; z-index:1; border-bottom:1px solid var(--line-2); }
.rsg-page .vsc-card.rsg .vsc-top { border-bottom-color:rgba(44,122,75,.16); }
.rsg-page .vsc-ic { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .vsc-card.fs .vsc-ic { background:#E9ECE9; }
.rsg-page .vsc-card.fs .vsc-ic svg { width:22px; height:22px; stroke:#6B6B6B; }
.rsg-page .vsc-card.rsg .vsc-ic { background:linear-gradient(135deg,var(--green-500),var(--green-700)); box-shadow:0 8px 18px rgba(44,122,75,.3); }
.rsg-page .vsc-card.rsg .vsc-ic svg { width:22px; height:22px; stroke:#fff; }
.rsg-page .vsc-htx { min-width:0; }
.rsg-page .vsc-title { display:block; font-family:var(--font-display); font-size:16.5px; font-weight:800; color:var(--ink-900); line-height:1.15; }
.rsg-page .vsc-sub { display:block; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-top:5px; color:var(--ink-500); }
.rsg-page .vsc-card.rsg .vsc-sub { color:var(--green-700); }
.rsg-page .vsc-badge { margin-left:auto; align-self:flex-start; font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:linear-gradient(135deg,var(--green-500),var(--green-700)); padding:5px 11px; border-radius:999px; box-shadow:0 6px 14px rgba(44,122,75,.28); position:relative; z-index:1; }
.rsg-page .vsc-rows { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; position:relative; z-index:1; }
.rsg-page .vsc-rows li { display:flex; align-items:center; gap:12px; font-size:13.5px; line-height:1.45; color:var(--ink-2); padding:13px 0; }
.rsg-page .vsc-card.fs .vsc-rows li { border-bottom:1px solid var(--line-2); }
.rsg-page .vsc-card.rsg .vsc-rows li { border-bottom:1px solid rgba(44,122,75,.12); }
.rsg-page .vsc-card .vsc-rows li:last-child { border-bottom:0 !important; padding-bottom:0; }
.rsg-page .vsc-rows li .rmk { width:24px; height:24px; border-radius:7px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .vsc-card.fs .rmk { background:#E9ECE9; }
.rsg-page .vsc-card.fs .rmk svg { width:10px; height:10px; fill:#A8AFA9; stroke:none; }
.rsg-page .vsc-card.rsg .rmk { background:linear-gradient(135deg,var(--green-500),var(--green-700)); box-shadow:0 4px 10px rgba(44,122,75,.28); }
.rsg-page .vsc-card.rsg .rmk svg { width:13px; height:13px; stroke:#fff; }
.rsg-page .vsc-rows li strong { color:var(--ink-900); }
.rsg-page .sync-band { position:relative; overflow:hidden; display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:22px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:17px 22px; box-shadow:0 10px 30px rgba(20,50,32,.06); }
.rsg-page .sync-band::after { content:""; position:absolute; top:-70px; right:-40px; width:200px; height:200px; border-radius:50%; background:radial-gradient(circle,rgba(44,122,75,.08),transparent 70%); pointer-events:none; }
.rsg-page .sync-lead { position:relative; z-index:1; display:flex; align-items:center; gap:13px; }
.rsg-page .sync-ic { width:42px; height:42px; border-radius:12px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 8px 18px rgba(44,122,75,.28); }
.rsg-page .sync-ic svg { width:21px; height:21px; stroke:#fff; }
.rsg-page .sync-tx b { display:block; font-family:var(--font-display); font-weight:800; font-size:14.5px; color:var(--ink-900); line-height:1.15; }
.rsg-page .sync-tx span { display:block; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--green-700); margin-top:4px; }
.rsg-page .sync-chips { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:9px; margin-left:auto; }
.rsg-page .sync-chip { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-display); font-weight:700; font-size:12.5px; color:var(--ink-900); background:#fff; border:1px solid var(--line); border-radius:999px; padding:8px 15px 8px 10px; box-shadow:0 3px 10px rgba(0,0,0,.05); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.rsg-page .sync-chip:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(20,50,32,.11); border-color:rgba(44,122,75,.32); }
.rsg-page .sync-chip .sd { width:17px; height:17px; border-radius:50%; background:var(--green-50); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .sync-chip .sd svg { width:10px; height:10px; stroke:var(--green-600); }
@media (max-width:640px){ .rsg-page .sync-chips { margin-left:0; } }
@media (max-width:820px){ .rsg-page .vsc { grid-template-columns:1fr; } }

/* ============================================================
   §5 — Pain cards (graphic-design .vn family, green + grey)
   ============================================================ */
.rsg-page .vn-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.rsg-page .vn-card { position:relative; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px 26px 24px; box-shadow:var(--shadow-md); display:flex; flex-direction:column; transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.rsg-page .vn-card::after { content:""; position:absolute; top:-40px; right:-40px; width:150px; height:150px; background:radial-gradient(circle, rgba(44,122,75,0.09) 0%, transparent 70%); pointer-events:none; transition:opacity .28s ease; }
.rsg-page .vn-card:hover { transform:translateY(-5px); border-color:rgba(44,122,75,0.32); box-shadow:0 22px 46px rgba(20,50,32,0.12); }
.rsg-page .vn-ic { position:relative; z-index:1; width:46px; height:46px; border-radius:13px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:15px; box-shadow:0 8px 20px rgba(44,122,75,0.30); transition:transform .28s ease; }
.rsg-page .vn-card:hover .vn-ic { transform:scale(1.08) rotate(-3deg); }
.rsg-page .vn-card::before { content:""; position:absolute; left:0; top:0; height:3px; width:100%; background:linear-gradient(90deg,var(--green-700),var(--green-600) 55%,var(--green-500)); transform:scaleX(0); transform-origin:left; transition:transform .3s ease; z-index:2; }
.rsg-page .vn-card:hover::before { transform:scaleX(1); }
.rsg-page .vn-ic svg { width:21px; height:21px; }
.rsg-page .vn-card h3 { position:relative; z-index:1; font-family:var(--font-display); font-size:16px; font-weight:700; color:var(--ink-900); margin:0 0 7px; line-height:1.3; }
.rsg-page .vn-card p { position:relative; z-index:1; font-size:13px; line-height:1.58; color:var(--ink-2); margin:0 0 16px; }
.rsg-page .vn-foot { margin-top:auto; display:flex; align-items:center; gap:14px; padding:13px 15px; background:linear-gradient(180deg,#F6F8F5,#FCFDFB); border:1px solid var(--line-2); border-radius:12px; }
.rsg-page .vn-foot svg { display:block; flex-shrink:0; }
.rsg-page .vn-label { font-family:var(--font-mono); font-size:9px; letter-spacing:0.07em; text-transform:uppercase; font-weight:700; color:var(--ink-500); line-height:1.4; }
@media (max-width:640px){ .rsg-page .vn-grid { grid-template-columns:1fr; } }

/* ============================================================
   §6 — LeadConnector feature split (real dashboard screenshot)
   ============================================================ */
.rsg-page .crf { display:grid; grid-template-columns:1.05fr 1fr; gap:46px; align-items:center; margin-top:8px; }
.rsg-page .crf-shot { position:relative; }
.rsg-page .crf-frame { background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:0 26px 60px rgba(15,40,25,.18); }
.rsg-page .crf-frame .cf-bar { display:flex; align-items:center; gap:6px; padding:10px 13px; background:#F3F6F3; border-bottom:1px solid var(--line-2); }
.rsg-page .crf-frame .cf-bar .d { width:8px; height:8px; border-radius:50%; }
.rsg-page .crf-frame .cf-bar .d1{background:#E5726B}.rsg-page .crf-frame .cf-bar .d2{background:#E7C15C}.rsg-page .crf-frame .cf-bar .d3{background:#7BC77F}
.rsg-page .crf-frame .cf-tab { margin-left:8px; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .crf-frame img { display:block; width:100%; height:auto; }
.rsg-page .crf-lc { position:absolute; left:-18px; bottom:-18px; display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--line-2); border-radius:12px; padding:9px 14px 9px 10px; box-shadow:0 16px 34px rgba(15,40,25,.20); }
.rsg-page .crf-lc .lc-ic { width:30px; height:30px; border-radius:8px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .crf-lc .lc-ic svg { width:16px; height:16px; stroke:#fff; }
.rsg-page .crf-lc b { font-family:var(--font-display); font-size:12.5px; font-weight:800; color:var(--ink-900); line-height:1; }
.rsg-page .crf-lc span { display:block; font-family:var(--font-mono); font-size:8px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--green-700); margin-top:3px; }
.rsg-page .crf-sub { margin-top:26px; display:flex; flex-direction:column; gap:18px; }
.rsg-page .crf-block h3 { font-family:var(--font-display); font-size:18px; font-weight:800; color:var(--ink-900); margin:0 0 8px; letter-spacing:-.01em; }
.rsg-page .crf-block p { font-size:14px; line-height:1.62; color:var(--ink-2); margin:0; }
.rsg-page .crf-eye { display:inline-flex; align-items:center; gap:9px; font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--green-700); margin-bottom:11px; }
.rsg-page .crf-eye i { font-style:normal; 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 .crf-eye i svg { width:13px; height:13px; stroke:#fff; }
@media (max-width:900px){ .rsg-page .crf { grid-template-columns:1fr; gap:40px; } .rsg-page .crf-lc { left:12px; } }

/* §6 — "one system replaces six tools" consolidation */
.rsg-page .plat { display:grid; grid-template-columns:0.9fr auto 1.2fr; gap:26px; align-items:center; background:linear-gradient(180deg,#FBFDFC,#FFFFFF); border:1px solid var(--line); border-radius:22px; padding:28px; box-shadow:0 18px 50px rgba(20,50,32,.07); margin-top:6px; }
.rsg-page .plat-old-lbl { 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:14px; }
.rsg-page .plat-tools { display:grid; grid-template-columns:1fr; gap:9px; }
.rsg-page .plat-tool { display:flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--line-2); border-radius:10px; padding:10px 12px; font-family:var(--font-display); font-size:12px; font-weight:700; color:var(--ink-500); box-shadow:0 2px 8px rgba(0,0,0,.04); }
.rsg-page .plat-tool .pt-ic { width:24px; height:24px; border-radius:7px; background:#EDEFEC; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .plat-tool .pt-ic svg { width:13px; height:13px; stroke:#8A8A84; }
.rsg-page .plat-old-foot { display:inline-flex; align-items:center; gap:7px; margin-top:14px; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .plat-old-foot svg { width:14px; height:14px; stroke:#9AA29D; }
.rsg-page .plat-merge { display:flex; flex-direction:column; align-items:center; gap:11px; }
.rsg-page .plat-merge-node { width:52px; height:52px; border-radius:50%; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; box-shadow:0 12px 26px rgba(44,122,75,.36); border:4px solid #fff; }
.rsg-page .plat-merge-node svg { width:24px; height:24px; stroke:#fff; }
.rsg-page .plat-merge-lbl { font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--green-700); text-align:center; max-width:96px; line-height:1.5; }
.rsg-page .plat-badge { display:flex; align-items:center; gap:12px; margin-top:14px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); border-radius:13px; padding:13px 16px; box-shadow:0 12px 28px rgba(44,122,75,.3); }
.rsg-page .plat-badge .plat-badge-ic { width:36px; height:36px; border-radius:10px; background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .plat-badge .plat-badge-ic svg { width:19px; height:19px; stroke:#fff; }
.rsg-page .plat-badge b { display:block; font-family:var(--font-display); font-size:13.5px; font-weight:800; color:#fff; line-height:1.15; }
.rsg-page .plat-badge span { display:block; font-family:var(--font-mono); font-size:8px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:rgba(255,255,255,.85); margin-top:4px; }
.rsg-page .plat-feats { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:22px; }
.rsg-page .plat-feat { display:flex; gap:15px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px 26px; box-shadow:var(--shadow-md); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.rsg-page .plat-feat:hover { transform:translateY(-3px); border-color:rgba(44,122,75,.26); box-shadow:0 18px 40px rgba(0,0,0,.09); }
.rsg-page .plat-feat .pf-ic { width:44px; height:44px; border-radius:12px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 8px 20px rgba(44,122,75,.28); }
.rsg-page .plat-feat .pf-ic svg { width:22px; height:22px; stroke:#fff; }
.rsg-page .plat-feat h3 { font-family:var(--font-display); font-size:17px; font-weight:800; color:var(--ink-900); margin:0 0 8px; letter-spacing:-.01em; }
.rsg-page .plat-feat p { font-size:13.5px; line-height:1.62; color:var(--ink-2); margin:0; }
@media (max-width:900px){
  .rsg-page .plat { grid-template-columns:1fr; gap:18px; padding:24px; }
  .rsg-page .plat-merge-node svg { transform:rotate(90deg); }
  .rsg-page .plat-merge-lbl { max-width:none; }
  .rsg-page .plat-feats { grid-template-columns:1fr; }
}

/* ============================================================
   §7 — What We Connect (6 cards) + booking showcase
   ============================================================ */
.rsg-page .con-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.rsg-page .con-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 .22s, box-shadow .22s, border-color .22s; }
.rsg-page .con-card::after { content:""; position:absolute; top:-44px; right:-44px; width:130px; height:130px; background:radial-gradient(circle,rgba(44,122,75,.07),transparent 70%); pointer-events:none; }
.rsg-page .con-card:hover { transform:translateY(-4px); border-color:rgba(44,122,75,.26); box-shadow:0 20px 44px rgba(0,0,0,.09); }
.rsg-page .con-ic { position:relative; z-index:1; width:48px; height:48px; border-radius:13px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; margin-bottom:15px; box-shadow:0 8px 20px rgba(44,122,75,.28); }
.rsg-page .con-ic svg { width:23px; height:23px; stroke:#fff; }
.rsg-page .con-card h3 { position:relative; z-index:1; font-family:var(--font-display); font-size:16.5px; font-weight:700; color:var(--ink-900); margin:0 0 8px; line-height:1.25; }
.rsg-page .con-card p { position:relative; z-index:1; font-size:13.5px; line-height:1.6; color:var(--ink-2); margin:0; }
@media (max-width:900px){ .rsg-page .con-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .rsg-page .con-grid { grid-template-columns:1fr; } }

/* §7 — feature-preview cards (mini UI per capability) */
.rsg-page .fx-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.rsg-page .fx-card { position:relative; overflow:hidden; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 22px 20px; box-shadow:var(--shadow-md); transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.rsg-page .fx-card::before { content:""; position:absolute; left:0; top:0; height:3px; width:100%; background:linear-gradient(90deg,var(--green-700),var(--green-600) 55%,var(--green-500)); transform:scaleX(0); transform-origin:left; transition:transform .3s ease; z-index:2; }
.rsg-page .fx-card:hover::before { transform:scaleX(1); }
.rsg-page .fx-card:hover { transform:translateY(-5px); border-color:rgba(44,122,75,.30); box-shadow:0 22px 46px rgba(20,50,32,.12); }
.rsg-page .fx-head { display:flex; align-items:center; gap:11px; margin-bottom:14px; }
.rsg-page .fx-ic { width:40px; height:40px; border-radius:11px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 7px 16px rgba(44,122,75,.28); }
.rsg-page .fx-ic svg { width:19px; height:19px; stroke:#fff; }
.rsg-page .fx-head h3 { font-family:var(--font-display); font-size:15px; font-weight:800; color:var(--ink-900); margin:0; line-height:1.25; letter-spacing:-.01em; }
.rsg-page .fx-preview { display:flex; flex-direction:column; justify-content:center; gap:8px; min-height:104px; background:linear-gradient(180deg,#F6F8F5,#FCFDFB); border:1px solid var(--line-2); border-radius:12px; padding:13px; margin-bottom:15px; }
.rsg-page .fx-desc { font-size:13px; line-height:1.58; color:var(--ink-2); margin:0 0 0; margin-top:auto; }
/* inbox preview */
.rsg-page .fxp-chan { display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:8px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .fxp-chan svg { width:11px; height:11px; stroke:#8A8A84; }
.rsg-page .fxb { font-size:11px; line-height:1.35; padding:7px 10px; border-radius:10px; max-width:90%; }
.rsg-page .fxb.in { align-self:flex-start; background:#fff; border:1px solid var(--line); color:var(--ink-2); border-bottom-left-radius:3px; }
.rsg-page .fxb.out { align-self:flex-end; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; border-bottom-right-radius:3px; }
/* pipeline preview */
.rsg-page .fxp-pipe { flex-direction:row; align-items:stretch; gap:7px; }
.rsg-page .fxcol { flex:1; display:flex; flex-direction:column; gap:5px; background:#fff; border:1px solid var(--line-2); border-radius:8px; padding:7px 6px; }
.rsg-page .fxcol.on { background:var(--green-50); border-color:rgba(44,122,75,.25); }
.rsg-page .fxcol span { font-family:var(--font-mono); font-size:7.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .fxcol.on span { color:var(--green-700); }
.rsg-page .fxcol i { height:8px; border-radius:3px; background:#E7EAE8; }
.rsg-page .fxcol.on i { background:linear-gradient(90deg,var(--green-500),var(--green-700)); }
/* booking preview */
.rsg-page .fxp-book { gap:10px; }
.rsg-page .fxdays { display:flex; gap:5px; justify-content:center; }
.rsg-page .fxdays i { width:17px; height:19px; border-radius:4px; background:#EAEEEA; }
.rsg-page .fxdays i.on { background:linear-gradient(135deg,var(--green-500),var(--green-700)); box-shadow:0 4px 9px rgba(44,122,75,.3); }
.rsg-page .fxslot { display:flex; align-items:center; justify-content:space-between; background:#fff; border:1px solid var(--line); border-radius:8px; padding:8px 11px; font-family:var(--font-display); font-size:11px; font-weight:700; color:var(--ink-900); }
.rsg-page .fxslot-b { font-family:var(--font-mono); font-size:8px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#fff; background:var(--green-500); padding:3px 8px; border-radius:999px; }
/* payments preview */
.rsg-page .fxp-pay { gap:7px; }
.rsg-page .fxpay-row { display:flex; align-items:center; justify-content:space-between; background:#fff; border:1px solid var(--line); border-radius:8px; padding:8px 11px; font-family:var(--font-display); font-size:11px; font-weight:700; color:var(--ink-900); }
.rsg-page .fxpay-chip { display:inline-flex; align-items:center; gap:4px; font-family:var(--font-mono); font-size:8px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:3px 8px; border-radius:999px; }
.rsg-page .fxpay-chip.sent { color:var(--ink-500); background:#EEF1EE; }
.rsg-page .fxpay-chip.paid { color:#fff; background:var(--green-500); }
.rsg-page .fxpay-chip.paid svg { width:9px; height:9px; stroke:#fff; }
/* reviews preview */
.rsg-page .fxp-rev { gap:9px; }
.rsg-page .fxstars { display:flex; gap:3px; }
.rsg-page .fxstars svg { width:18px; height:18px; }
.rsg-page .fxrev-lbl { 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); }
.rsg-page .fxrev-lbl svg { width:13px; height:13px; stroke:var(--green-600); flex-shrink:0; }
/* reporting preview */
.rsg-page .fxp-report { gap:11px; }
.rsg-page .fxbars { display:flex; align-items:flex-end; gap:7px; height:46px; }
.rsg-page .fxbars i { flex:1; border-radius:3px 3px 0 0; background:linear-gradient(var(--green-500),var(--green-700)); }
.rsg-page .fxr-lbl { font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-500); }
@media (max-width:900px){ .rsg-page .fx-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .rsg-page .fx-grid { grid-template-columns:1fr; } }
/* booking showcase */
.rsg-page .bkshow { display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:center; margin-top:34px; background:linear-gradient(150deg,#F4FAF6,#FFFFFF 62%); border:1px solid rgba(44,122,75,.2); border-radius:20px; padding:30px 32px; }
.rsg-page .bkshow-tx .crf-eye { margin-bottom:12px; }
.rsg-page .bkshow-tx h3 { font-family:var(--font-display); font-size:20px; font-weight:800; color:var(--ink-900); margin:0 0 10px; letter-spacing:-.01em; }
.rsg-page .bkshow-tx p { font-size:14px; line-height:1.62; color:var(--ink-2); margin:0 0 16px; }
.rsg-page .bkshow-tags { display:flex; flex-wrap:wrap; gap:8px; }
.rsg-page .bkshow-tag { display:inline-flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--green-700); background:#fff; border:1px solid rgba(44,122,75,.2); padding:6px 12px; border-radius:999px; box-shadow:0 2px 8px rgba(20,50,32,.05); }
.rsg-page .bkshow-tag svg { width:13px; height:13px; stroke:var(--green-600); flex-shrink:0; }
.rsg-page .bkshow-shot { position:relative; }
.rsg-page .bkshow-float { position:absolute; left:-22px; bottom:-20px; z-index:3; display:flex; align-items:center; gap:11px; background:#fff; border:1px solid var(--line-2); border-radius:14px; padding:11px 15px 11px 12px; box-shadow:0 20px 42px rgba(15,40,25,.22); }
.rsg-page .bkshow-float .bkf-ic { width:38px; height:38px; border-radius:11px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 8px 18px rgba(44,122,75,.34); }
.rsg-page .bkshow-float .bkf-ic svg { width:20px; height:20px; stroke:#fff; }
.rsg-page .bkshow-float b { display:block; font-family:var(--font-display); font-size:13px; font-weight:800; color:var(--ink-900); line-height:1.05; }
.rsg-page .bkshow-float span { display:block; font-family:var(--font-mono); font-size:8px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--green-700); margin-top:4px; }
@media (max-width:820px){ .rsg-page .bkshow-float { left:8px; bottom:-16px; } }
.rsg-page .bkshow-pts { margin-top:22px; padding-top:20px; border-top:1px solid rgba(44,122,75,.16); display:flex; flex-direction:column; gap:13px; }
.rsg-page .bkshow-pt { display:flex; align-items:center; gap:11px; font-family:var(--font-body); font-size:13.5px; font-weight:600; color:var(--ink-900); line-height:1.35; }
.rsg-page .bkshow-pt .bp-ic { width:28px; height:28px; border-radius:8px; background:var(--green-50); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .bkshow-pt .bp-ic svg { width:15px; height:15px; stroke:var(--green-600); }
.rsg-page .bkshow-frame { background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; box-shadow:0 24px 54px rgba(15,40,25,.18); }
.rsg-page .bkshow-frame .bf-bar { display:flex; align-items:center; gap:6px; padding:9px 12px; background:#F3F6F3; border-bottom:1px solid var(--line-2); }
.rsg-page .bkshow-frame .bf-bar .d { width:8px; height:8px; border-radius:50%; }
.rsg-page .bkshow-frame .bf-bar .d1{background:#E5726B}.rsg-page .bkshow-frame .bf-bar .d2{background:#E7C15C}.rsg-page .bkshow-frame .bf-bar .d3{background:#7BC77F}
.rsg-page .bkshow-frame .bf-tab { margin-left:8px; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .bkshow-frame img { display:block; width:100%; height:auto; }
@media (max-width:820px){ .rsg-page .bkshow { grid-template-columns:1fr; gap:28px; padding:26px 22px; } }

/* ============================================================
   §8 — Automation flow (trigger -> action rows)
   ============================================================ */
.rsg-page .auto-win { background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow-md); overflow:hidden; margin-top:6px; }
.rsg-page .auto-head { display:flex; align-items:center; gap:12px; padding:16px 24px; border-bottom:1px solid var(--line-2); background:var(--paper-soft); }
.rsg-page .auto-head .ah-ic { width:32px; height:32px; border-radius:9px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 6px 14px rgba(44,122,75,.26); }
.rsg-page .auto-head .ah-ic svg { width:17px; height:17px; stroke:#fff; }
.rsg-page .auto-head b { font-family:var(--font-display); font-size:15px; font-weight:800; color:var(--ink-900); }
.rsg-page .auto-head .ah-live { 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:.08em; text-transform:uppercase; color:var(--green-700); }
.rsg-page .auto-head .ah-live::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 3px rgba(44,122,75,.2); animation:autoLive 2.4s ease-in-out infinite; }
@keyframes autoLive { 0%,100% { box-shadow:0 0 0 3px rgba(44,122,75,.22); } 50% { box-shadow:0 0 0 6px rgba(44,122,75,.05); } }
.rsg-page .auto-grid { padding:8px; background-image:radial-gradient(circle, rgba(20,50,32,.05) 1.1px, transparent 1.1px); background-size:20px 20px; }
.rsg-page .auto-row { display:grid; grid-template-columns:200px auto 1fr; gap:16px; align-items:center; padding:15px 16px; border-radius:13px; transition:background .15s; }
.rsg-page .auto-row + .auto-row { border-top:1px solid var(--line-2); }
.rsg-page .auto-row:hover { background:rgba(44,122,75,.03); }
.rsg-page .auto-trig { display:flex; align-items:center; gap:11px; background:#fff; border:1px solid var(--line); border-radius:11px; padding:11px 13px; box-shadow:0 3px 10px rgba(0,0,0,.04); }
.rsg-page .auto-trig .tg-ic { width:30px; height:30px; border-radius:8px; background:#EFEFEC; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .auto-trig .tg-ic svg { width:16px; height:16px; stroke:#5C5C5C; }
.rsg-page .auto-trig b { font-family:var(--font-display); font-size:12.5px; font-weight:700; color:var(--ink-900); line-height:1.1; }
.rsg-page .auto-trig span { display:block; font-family:var(--font-mono); font-size:8px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-500); margin-top:3px; }
.rsg-page .auto-arrow { display:flex; align-items:center; gap:3px; color:var(--green-500); }
.rsg-page .auto-arrow .aln { width:26px; height:2px; background:repeating-linear-gradient(90deg,var(--green-500) 0 5px,transparent 5px 10px); background-size:10px 2px; }
.rsg-page .auto-arrow svg { width:16px; height:16px; stroke:var(--green-500); flex-shrink:0; transition:transform .25s ease; }
.rsg-page .auto-act { display:flex; align-items:center; gap:12px; background:linear-gradient(135deg,#F4FAF6,#fff); border:1px solid rgba(44,122,75,.24); border-radius:11px; padding:12px 15px; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.rsg-page .auto-row:hover .auto-act { transform:translateX(3px); box-shadow:0 10px 24px rgba(44,122,75,.16); border-color:rgba(44,122,75,.42); }
.rsg-page .auto-row:hover .auto-arrow .aln { animation:autoFlow .7s linear infinite; }
.rsg-page .auto-row:hover .auto-arrow svg { transform:translateX(3px); }
@keyframes autoFlow { to { background-position:10px 0; } }
@media (prefers-reduced-motion:reduce){ .rsg-page .auto-row:hover .auto-arrow .aln { animation:none; } .rsg-page .auto-head .ah-live::before { animation:none; } }
.rsg-page .auto-act .ac-ic { width:34px; height:34px; border-radius:9px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 6px 15px rgba(44,122,75,.3); }
.rsg-page .auto-act .ac-ic svg { width:18px; height:18px; stroke:#fff; }
.rsg-page .auto-act .ac-tx { flex:1; min-width:0; }
.rsg-page .auto-act .ac-tx b { font-family:var(--font-display); font-size:13.5px; font-weight:700; color:var(--ink-900); line-height:1.2; }
.rsg-page .auto-act .ac-tx p { margin:4px 0 0; font-size:12px; line-height:1.5; color:var(--ink-2); }
.rsg-page .auto-time { flex-shrink:0; 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); padding:5px 9px; border-radius:999px; white-space:nowrap; }
@media (max-width:820px){
  .rsg-page .auto-row { grid-template-columns:1fr; gap:9px; }
  .rsg-page .auto-arrow { transform:rotate(90deg); justify-content:center; margin:0 auto; }
  .rsg-page .auto-trig { justify-content:flex-start; }
}

/* ============================================================
   §9 — Attribution (DARK): booked-job source board + cards
   ============================================================ */
.rsg-page .attr { display:grid; grid-template-columns:1.02fr 1fr; gap:38px; align-items:stretch; margin-top:10px; }
.rsg-page .attr-board { position:relative; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:24px; box-shadow:0 24px 55px rgba(0,0,0,.4); }
.rsg-page .attr-board::before { content:""; position:absolute; top:-90px; right:-70px; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle,rgba(74,222,128,.14),transparent 70%); pointer-events:none; }
.rsg-page .attr-bhead { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.rsg-page .attr-bhead b { font-family:var(--font-display); font-size:14px; font-weight:800; color:#fff; }
.rsg-page .attr-bhead .abtag { font-family:var(--font-mono); font-size:8.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#7CE8A6; background:rgba(74,222,128,.12); border:1px solid rgba(74,222,128,.3); padding:4px 10px; border-radius:999px; }
.rsg-page .attr-job { position:relative; z-index:1; display:flex; align-items:center; gap:12px; background:linear-gradient(135deg,rgba(44,122,75,.28),rgba(255,255,255,.03)); border:1px solid rgba(74,222,128,.3); border-radius:13px; padding:14px 15px; margin-bottom:16px; }
.rsg-page .attr-job .aj-ic { width:38px; height:38px; border-radius:10px; background:linear-gradient(135deg,var(--green-500),#4ADE80); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .attr-job .aj-ic svg { width:20px; height:20px; stroke:#0A2A18; }
.rsg-page .attr-job b { font-family:var(--font-display); font-size:14px; font-weight:800; color:#fff; line-height:1.1; }
.rsg-page .attr-job span { display:block; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-top:4px; }
.rsg-page .attr-job .aj-src { 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:#7CE8A6; }
.rsg-page .attr-job .aj-src svg { width:13px; height:13px; stroke:#7CE8A6; }
.rsg-page .attr-srclbl { position:relative; z-index:1; font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:11px; }
.rsg-page .attr-srcs { position:relative; z-index:1; display:flex; flex-direction:column; gap:10px; }
.rsg-page .attr-src { display:flex; align-items:center; gap:11px; }
.rsg-page .attr-src .as-ic { width:30px; height:30px; border-radius:8px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .attr-src .as-ic svg { width:15px; height:15px; stroke:#B7E9C9; }
.rsg-page .attr-src .as-name { font-family:var(--font-display); font-size:12.5px; font-weight:700; color:#fff; width:120px; flex-shrink:0; }
.rsg-page .attr-src .as-bar { flex:1; height:8px; border-radius:5px; background:rgba(255,255,255,.09); overflow:hidden; }
.rsg-page .attr-src .as-bar i { display:block; height:100%; border-radius:5px; background:linear-gradient(90deg,var(--green-500),#4ADE80); }
.rsg-page .attr-note { position:relative; z-index:1; margin-top:14px; font-family:var(--font-mono); font-size:9px; font-weight:600; letter-spacing:.03em; color:rgba(255,255,255,.42); text-align:right; }
.rsg-page .attr-cards { display:flex; flex-direction:column; gap:16px; }
.rsg-page .attr-c { position:relative; overflow:hidden; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:24px 24px; transition:transform .25s, border-color .25s, box-shadow .25s; }
.rsg-page .attr-c::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--green-600),#4ADE80); }
.rsg-page .attr-c:hover { transform:translateY(-4px); border-color:rgba(74,222,128,.36); box-shadow:0 22px 46px rgba(0,0,0,.4); }
.rsg-page .attr-c .ac-hd { display:flex; align-items:center; gap:12px; margin-bottom:11px; }
.rsg-page .attr-c .ac-mic { width:40px; height:40px; border-radius:11px; background:linear-gradient(135deg,var(--green-500),var(--green-700)); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 8px 18px rgba(44,122,75,.4); }
.rsg-page .attr-c .ac-mic svg { width:20px; height:20px; stroke:#fff; }
.rsg-page .attr-c h3 { font-family:var(--font-display); font-size:16px; font-weight:700; color:#fff; margin:0; line-height:1.25; }
.rsg-page .attr-c p { font-size:13.5px; line-height:1.6; color:rgba(255,255,255,.68); margin:0; }
@media (max-width:900px){ .rsg-page .attr { grid-template-columns:1fr; gap:26px; } .rsg-page .attr-src .as-name { width:104px; } }

/* ============================================================
   §10 — Phase timeline (graphic-design/advertising ported)
   ============================================================ */
.rsg-page .phases-timeline { list-style:none; padding:0; margin:6px 0 0; display:flex; flex-direction:column; gap:0; counter-reset:phasecount; }
.rsg-page .phase-step { display:grid; grid-template-columns:56px 1fr; gap:28px; align-items:stretch; counter-increment:phasecount; position:relative; }
.rsg-page .phase-step-rail { position:relative; display:flex; flex-direction:column; align-items:center; padding-top:26px; }
.rsg-page .phase-step-dot { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--green-500),var(--green-700)); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:14px; position:relative; z-index:2; box-shadow:0 8px 20px -6px rgba(44,122,75,.55); }
.rsg-page .phase-step-dot::before { content:counter(phasecount, decimal-leading-zero); }
.rsg-page .phase-step-dot::after { content:""; position:absolute; inset:-6px; border-radius:50%; border:1.5px dashed rgba(44,122,75,.35); }
.rsg-page .phase-step-dot.final { background:linear-gradient(135deg,#3A3A3A,#111); box-shadow:0 8px 20px -6px rgba(0,0,0,.40); }
.rsg-page .phase-step-dot.final::after { border-color:rgba(0,0,0,.22); }
.rsg-page .phase-step-line { flex:1; width:2px; margin-top:6px; background:linear-gradient(180deg, rgba(44,122,75,.30) 0%, rgba(44,122,75,.14) 60%, transparent 100%); min-height:40px; }
.rsg-page .phase-step-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px 30px; margin-bottom:22px; transition:transform .2s, box-shadow .2s, border-color .2s; position:relative; box-shadow:var(--shadow-sm,0 2px 10px rgba(0,0,0,.05)); }
.rsg-page .phase-step:last-child .phase-step-card { margin-bottom:0; }
.rsg-page .phase-step-card:hover { transform:translateY(-3px); border-color:rgba(44,122,75,.30); box-shadow:var(--shadow-lg); }
.rsg-page .phase-step-head { display:flex; align-items:center; gap:14px; margin-bottom:11px; }
.rsg-page .phase-step-num { font-family:var(--font-mono); font-weight:700; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--green-700); background:var(--green-50); padding:5px 12px; border-radius:999px; }
.rsg-page .phase-step-card h3 { font-size:20px; margin:0 0 9px; letter-spacing:-.01em; }
.rsg-page .phase-step-card p { margin:0; font-size:14px; line-height:1.62; color:var(--ink-2); }
.rsg-page .phase-chips { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:16px; }
.rsg-page .phase-chip { display:inline-flex; align-items:center; gap:8px; padding:6px 12px; border-radius:999px; font-family:var(--font-display); font-weight:600; font-size:12.5px; border:1px solid var(--green-500); background:rgba(44,122,75,.06); color:var(--ink-900); }
.rsg-page .phase-chip .cdot { width:7px; height:7px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 3px rgba(44,122,75,.20); flex-shrink:0; }
@media (max-width:600px){ .rsg-page .phase-step { grid-template-columns:44px 1fr; gap:16px; } .rsg-page .phase-step-dot { width:38px; height:38px; font-size:12.5px; } .rsg-page .phase-step-card { padding:22px; } }

/* ============================================================
   §11 — Case study card ($630/mo, green + charcoal only)
   ============================================================ */
/* §11 — Case study : Before -> After system switch */
.rsg-page .csw { background:#fff; border:1px solid var(--line); border-radius:22px; overflow:hidden; box-shadow:var(--shadow-lg); }
.rsg-page .csw-head { padding:34px 38px 4px; }
.rsg-page .csw-eye { display:inline-flex; align-items:center; gap:9px; font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--green-700); margin-bottom:14px; }
.rsg-page .csw-eye::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 4px rgba(44,122,75,.16); }
.rsg-page .csw-head h3 { font-family:var(--font-display); font-size:24px; font-weight:800; color:var(--ink-900); margin:0 0 13px; line-height:1.22; letter-spacing:-.01em; }
.rsg-page .csw-head p { font-size:14.5px; line-height:1.65; color:var(--ink-2); margin:0; max-width:none; }
.rsg-page .csw-switch { position:relative; display:grid; grid-template-columns:1fr auto 1fr; align-items:stretch; gap:22px; padding:26px 38px 28px; }
.rsg-page .csw-switch::before { content:""; position:absolute; left:38px; right:38px; top:50%; height:2px; background:repeating-linear-gradient(90deg,var(--green-500) 0 6px, transparent 6px 13px); background-size:13px 2px; opacity:.4; z-index:0; animation:cswflow 1.25s linear infinite; }
@keyframes cswflow { to { background-position-x:13px; } }
.rsg-page .csw-side { position:relative; z-index:1; display:flex; flex-direction:column; border-radius:16px; padding:20px 20px 18px; border:1px solid; }
.rsg-page .csw-before { background:#F6F6F6; border-color:#E6E6E6; }
.rsg-page .csw-after { background:#F1F6F3; border-color:rgba(44,122,75,.22); }
.rsg-page .csw-tag { align-self:flex-start; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:4px 11px; border-radius:999px; margin-bottom:14px; }
.rsg-page .csw-before .csw-tag { background:#4A4A4A; color:#fff; }
.rsg-page .csw-after .csw-tag { background:var(--green-500); color:#fff; }
.rsg-page .csw-tools { display:flex; flex-direction:column; gap:9px; }
.rsg-page .csw-tool { display:flex; align-items:center; gap:11px; background:#fff; border:1px solid var(--line-2); border-radius:11px; padding:9px 13px; font-family:var(--font-display); font-size:13.5px; font-weight:600; color:var(--ink-900); }
.rsg-page .csw-tool.on { border-color:rgba(44,122,75,.28); box-shadow:0 6px 16px rgba(20,50,32,.08); }
.rsg-page .ct-txt { display:flex; flex-direction:column; line-height:1.2; }
.rsg-page .ct-txt em { font-style:normal; font-family:var(--font-mono); font-size:9.5px; font-weight:600; letter-spacing:.02em; color:var(--ink-500); margin-top:3px; }
.rsg-page .ct-ic { width:28px; height:28px; border-radius:8px; background:#ECECEC; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rsg-page .ct-ic svg { width:15px; height:15px; stroke:#5C5C5C; }
.rsg-page .ct-ic.on { background:var(--green-500); }
.rsg-page .ct-ic.on svg { stroke:#fff; }
.rsg-page .csw-note { font-family:var(--font-mono); font-size:10px; font-weight:600; letter-spacing:.02em; color:var(--ink-500); margin-top:12px; }
.rsg-page .csw-unified { background:#fff; border:1px solid rgba(44,122,75,.28); border-radius:12px; padding:13px 14px; box-shadow:0 6px 16px rgba(20,50,32,.08); }
.rsg-page .cu-head { display:flex; align-items:center; gap:11px; font-family:var(--font-display); font-size:13.5px; font-weight:700; color:var(--ink-900); padding-bottom:11px; margin-bottom:11px; border-bottom:1px solid var(--line-2); }
.rsg-page .cu-mods { display:grid; grid-template-columns:1fr 1fr; gap:9px 12px; }
.rsg-page .cu-mod { display:flex; align-items:center; gap:8px; font-family:var(--font-display); font-size:12.5px; font-weight:600; color:var(--ink-700); }
.rsg-page .cu-ck { width:14px; height:14px; stroke:var(--green-500); flex-shrink:0; }
.rsg-page .csw-barwrap { margin-top:auto; padding-top:16px; }
.rsg-page .csw-bar { position:relative; height:14px; border-radius:7px; background:#E7E7E7; overflow:hidden; }
.rsg-page .csw-bar.saved { background:repeating-linear-gradient(-45deg,#E3E9E3 0 5px,#EEF1EE 5px 10px); }
.rsg-page .csw-bar i { display:block; height:100%; border-radius:7px; }
.rsg-page .csw-bar i.charcoal { background:linear-gradient(90deg,#6A6A6A,#333); }
.rsg-page .csw-bar i.green { background:linear-gradient(90deg,var(--green-500),var(--green-700)); }
.rsg-page .csw-gap { position:absolute; top:50%; right:8px; transform:translateY(-50%); font-family:var(--font-mono); font-size:8px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--ink-500); }
.rsg-page .csw-cap { font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-700); margin-top:8px; }
.rsg-page .csw-pivot { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:0 4px; }
.rsg-page .csw-medal { position:relative; width:132px; height:132px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #3E9A63, #143E25); display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:0 14px 34px rgba(20,62,37,.34), 0 0 0 8px rgba(44,122,75,.08); }
.rsg-page .csw-medal::before { content:""; position:absolute; inset:-10px; border-radius:50%; border:1.5px dashed rgba(44,122,75,.42); animation:krxspin 26s linear infinite; }
.rsg-page .csw-medal .m-big { font-family:var(--font-display); font-size:36px; font-weight:800; color:#fff; line-height:1; letter-spacing:-.02em; }
.rsg-page .csw-medal .m-sub { font-family:var(--font-mono); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.86); margin-top:6px; }
.rsg-page .csw-year { font-family:var(--font-display); font-size:12.5px; font-weight:700; color:var(--ink-700); }
.rsg-page .csw-year b { font-weight:800; color:var(--green-600); }
.rsg-page .csw-out { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px 24px; padding:20px 38px; border-top:1px solid var(--line-2); background:var(--paper-soft); }
.rsg-page .csw-freed { display:inline-flex; align-items:center; gap:10px; background:var(--green-50); border:1px solid rgba(44,122,75,.2); border-radius:11px; padding:11px 15px; }
.rsg-page .csw-freed svg { width:19px; height:19px; stroke:var(--green-600); flex-shrink:0; }
.rsg-page .csw-freed span { font-family:var(--font-display); font-size:13px; font-weight:700; color:var(--ink-900); line-height:1.3; }
.rsg-page .csw-pattern { font-size:14px; line-height:1.5; color:var(--ink-2); margin:0; }
.rsg-page .csw-pattern strong { color:var(--ink-900); }
.rsg-page .csw-foot { padding:0 38px 26px; font-family:var(--font-mono); font-size:10px; font-weight:600; letter-spacing:.02em; color:var(--ink-500); }
@media (prefers-reduced-motion:reduce){ .rsg-page .csw-switch::before, .rsg-page .csw-medal::before { animation:none; } }
@media (max-width:820px){ .rsg-page .csw-switch { grid-template-columns:1fr; gap:16px; } .rsg-page .csw-switch::before { display:none; } .rsg-page .csw-pivot { padding:4px 0; } .rsg-page .csw-medal { width:118px; height:118px; } .rsg-page .csw-medal .m-big { font-size:32px; } }
@media (max-width:480px){ .rsg-page .csw-head, .rsg-page .csw-switch, .rsg-page .csw-out, .rsg-page .csw-foot { padding-left:22px; padding-right:22px; } .rsg-page .csw-out { flex-direction:column; align-items:flex-start; } }

/* ============================================================
   Keep Reading — resource cards
   ============================================================ */
/* §15 — Keep Reading : hub + curated index */
.rsg-page .krx { display:grid; grid-template-columns:0.82fr 1.18fr; gap:26px; align-items:stretch; }
.rsg-page .krx-aside { position:relative; overflow:hidden; display:flex; flex-direction:column; background:linear-gradient(160deg,#F1F6F3,#E7F0EA); border:1px solid var(--line-2); border-radius:22px; padding:34px 34px 30px; }
.rsg-page .krx-head h2 { font-family:var(--font-display); font-size:26px; font-weight:800; color:var(--ink-900); margin:0 0 12px; line-height:1.18; letter-spacing:-.01em; }
.rsg-page .krx-lede { font-size:14px; line-height:1.6; color:var(--ink-2); margin:0; }
.rsg-page .krx-orbit { flex:1; min-height:190px; display:flex; align-items:center; justify-content:center; margin:14px 0 6px; }
.rsg-page .krx-orbit svg { width:min(230px,72%); height:auto; overflow:visible; }
.rsg-page .krx-ring { transform-box:view-box; transform-origin:100px 100px; }
.rsg-page .krx-ring-a { animation:krxspin 30s linear infinite; }
.rsg-page .krx-ring-b { animation:krxspin 22s linear infinite reverse; }
@keyframes krxspin { to { transform:rotate(360deg); } }
.rsg-page .krx-you { display:inline-flex; align-items:center; gap:9px; align-self:flex-start; background:#fff; border:1px solid rgba(44,122,75,.24); border-radius:999px; padding:8px 15px 8px 12px; font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--green-700); box-shadow:0 4px 14px rgba(20,50,32,.08); }
.rsg-page .krx-you-dot { width:9px; height:9px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 4px rgba(44,122,75,.18); animation:pulse 2.2s infinite; flex-shrink:0; }
.rsg-page .krx-list { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow-lg); overflow:hidden; }
.rsg-page .krx-row { position:relative; display:grid; grid-template-columns:48px 1fr 20px; align-items:center; gap:18px; padding:22px 26px; border-bottom:1px solid var(--line-2); transition:background .2s, padding-left .2s; }
.rsg-page .krx-row:last-child { border-bottom:0; }
.rsg-page .krx-row::before { content:""; position:absolute; left:0; top:0; bottom:0; width:0; background:var(--green-500); transition:width .2s; }
.rsg-page .krx-row:hover { background:var(--green-50); padding-left:31px; }
.rsg-page .krx-row:hover::before { width:4px; }
.rsg-page .krx-ic { width:48px; height:48px; border-radius:13px; background:var(--green-50); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .2s, transform .2s; }
.rsg-page .krx-ic svg { width:23px; height:23px; stroke:var(--green-600); transition:stroke .2s; }
.rsg-page .krx-row:hover .krx-ic { background:var(--green-500); transform:scale(1.05); }
.rsg-page .krx-row:hover .krx-ic svg { stroke:#fff; }
.rsg-page .krx-tx { min-width:0; }
.rsg-page .krx-t { display:block; font-family:var(--font-display); font-size:16px; font-weight:700; color:var(--ink-900); line-height:1.3; }
.rsg-page .krx-d { display:block; font-size:13px; line-height:1.5; color:var(--ink-2); margin-top:4px; }
.rsg-page .krx-arrow { width:19px; height:19px; stroke:var(--green-600); flex-shrink:0; transition:transform .2s; }
.rsg-page .krx-row:hover .krx-arrow { transform:translate(3px,-3px); }
@media (prefers-reduced-motion:reduce){ .rsg-page .krx-ring-a, .rsg-page .krx-ring-b, .rsg-page .krx-you-dot { animation:none; } }
@media (min-width:821px){ .rsg-page .krx-row { flex:1 1 0; } }
@media (max-width:820px){ .rsg-page .krx { grid-template-columns:1fr; } .rsg-page .krx-orbit { min-height:0; } .rsg-page .krx-orbit svg { width:200px; } }
@media (max-width:480px){ .rsg-page .krx-row { grid-template-columns:42px 1fr 18px; gap:14px; padding:18px 18px; } .rsg-page .krx-row:hover { padding-left:22px; } .rsg-page .krx-ic { width:42px; height:42px; } .rsg-page .krx-aside { padding:26px 24px 24px; } }

/* Final-CTA dark button fix (ghost -> visible on dark) */
.rsg-page .final-cta .fc-ctas { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-top:6px; }
.rsg-page .final-cta .btn-ghost { color:#fff; border-color:rgba(255,255,255,.42); }
.rsg-page .final-cta .btn-ghost:hover { background:#fff; color:#000; }

/* Section intro paragraph helper */
.rsg-page .sec-intro { font-size:16px; line-height:1.65; color:var(--ink-2); max-width:none; margin:0 0 34px; }
.rsg-page .sec-intro strong { color:var(--ink-900); }
