/* ==========================================================================
   Reigrow Solutions — Landing page
   Standalone stylesheet. Mobile-first. No framework, no WordPress dependency.
   Every rule is prefixed .rg- (or scoped inside .rg-page) so it cannot leak
   into a WordPress theme if this file is ever loaded elsewhere.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Design tokens
   -------------------------------------------------------------------------- */
:root {
  /* Brand — carried over from reigrowsolutions.com */
  --rg-navy-900: #060e22;
  --rg-navy-800: #0a1730;
  --rg-navy: #0e2148;
  --rg-navy-600: #123b86;
  --rg-navy-500: #143f8f;

  --rg-blue: #1878f0;
  --rg-blue-700: #0b4fc0;
  --rg-blue-300: #7cc0ff;
  --rg-blue-200: #8fd0ff;

  --rg-wa: #25d366;
  --rg-wa-600: #1dae55;
  --rg-wa-800: #128c7e;
  --rg-mint: #4fd48a;
  /* Accessible green ramp for green buttons and badges that carry white text */
  --rg-wa-ink: #0c8766;
  --rg-wa-ink-mid: #0a7360;
  --rg-wa-ink-deep: #07584a;

  /* Surfaces */
  --rg-bg: #ffffff;
  --rg-surface: #f7faff;
  --rg-surface-2: #f4f9ff;
  --rg-surface-3: #eff5ff;
  --rg-surface-4: #eaf2ff;

  /* Text */
  --rg-text: #0e2148;
  --rg-body: #4a5872;
  --rg-muted: #5f6e8a;
  --rg-placeholder: #6e7c96;
  --rg-on-dark: #c9d4e6;
  --rg-on-dark-soft: #a8bdde;
  --rg-on-dark-mute: #93a5c4;

  /* Lines + states */
  --rg-border: rgba(14, 33, 72, 0.09);
  --rg-border-strong: rgba(14, 33, 72, 0.16);
  --rg-border-dark: rgba(255, 255, 255, 0.12);
  --rg-focus: #0b4fc0;
  --rg-error: #d93a3a;
  --rg-error-bg: #fff4f4;
  --rg-success: #0b6b60;

  /* Radius */
  --rg-r-sm: 12px;
  --rg-r-md: 18px;
  --rg-r-lg: 24px;
  --rg-r-xl: 30px;
  --rg-r-pill: 999px;
  --rg-r-btn: 999px;

  /* Shadow */
  --rg-sh-sm: 0 10px 26px -20px rgba(14, 33, 72, 0.8);
  --rg-sh-md: 0 22px 50px -40px rgba(14, 33, 72, 0.85);
  --rg-sh-lg: 0 38px 84px -48px rgba(14, 33, 72, 0.9);
  --rg-sh-blue: 0 12px 26px -16px rgba(11, 79, 192, 0.6);
  --rg-sh-wa: 0 12px 26px -16px rgba(18, 140, 126, 0.62);

  /* Spacing scale (4px base) */
  --rg-s1: 4px;
  --rg-s2: 8px;
  --rg-s3: 12px;
  --rg-s4: 16px;
  --rg-s5: 20px;
  --rg-s6: 24px;
  --rg-s7: 32px;
  --rg-s8: 40px;
  --rg-s9: 48px;
  --rg-s10: 64px;

  /* Rhythm */
  --rg-section-y: clamp(46px, 8.4vw, 82px);
  --rg-gutter: 20px;
  --rg-maxw: 1240px;

  /* Type */
  --rg-display: "Sora", "Segoe UI", system-ui, sans-serif;
  --rg-sans: "Manrope", "Segoe UI", system-ui, sans-serif;

  /* Motion */
  --rg-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --rg-fast: 0.18s;
  --rg-base: 0.28s;

  /* Sticky action bar height, used to pad the page bottom */
  --rg-bar-h: 76px;
  --rg-z-bar: 60;
  --rg-z-header: 70;
}

/* --------------------------------------------------------------------------
   2. Reset + base
   -------------------------------------------------------------------------- */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body.rg-page {
  margin: 0;
  background: var(--rg-bg);
  color: var(--rg-body);
  font-family: var(--rg-sans);
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  padding-bottom: calc(var(--rg-bar-h) + env(safe-area-inset-bottom, 0px));
}

.rg-page img,
.rg-page svg { display: block; max-width: 100%; }

.rg-page h1,
.rg-page h2,
.rg-page h3,
.rg-page h4 {
  font-family: var(--rg-display);
  color: var(--rg-text);
  letter-spacing: -0.035em;
  line-height: 1.08;
  margin: 0;
  text-wrap: balance;
}

.rg-page p { margin: 0; text-wrap: pretty; }
.rg-page ul { margin: 0; padding: 0; list-style: none; }

.rg-page a { color: var(--rg-blue); text-decoration: none; }
.rg-page a:hover { color: var(--rg-blue-700); }

.rg-page ::selection { background: var(--rg-blue); color: #fff; }

.rg-page :focus-visible {
  outline: 3px solid var(--rg-focus);
  outline-offset: 3px;
  border-radius: 6px;
}

.rg-page strong { color: var(--rg-text); font-weight: 700; }

/* Screen-reader only */
.rg-sr {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* Skip link */
.rg-skip {
  position: absolute;
  top: -100px;
  left: var(--rg-gutter);
  z-index: 200;
  padding: 12px 18px;
  border-radius: var(--rg-r-sm);
  background: var(--rg-navy);
  color: #fff;
  font-weight: 700;
  font-size: 0.9375rem;
  transition: top var(--rg-fast) ease;
}
.rg-skip:focus { top: 12px; color: #fff; }
.rg-page a.rg-skip { color: #fff; }

/* --------------------------------------------------------------------------
   3. Layout primitives
   -------------------------------------------------------------------------- */
.rg-wrap {
  width: min(100% - (var(--rg-gutter) * 2), var(--rg-maxw));
  margin-inline: auto;
}

.rg-wrap--narrow { width: min(100% - (var(--rg-gutter) * 2), 860px); }

.rg-section { padding-block: var(--rg-section-y); position: relative; }
.rg-section--tight { padding-block: clamp(36px, 6.4vw, 60px); }

.rg-section--white { background: var(--rg-bg); }
.rg-section--soft { background: linear-gradient(180deg, #fff 0%, var(--rg-surface-2) 100%); }
.rg-section--soft-flip { background: linear-gradient(180deg, var(--rg-surface-2) 0%, #fff 100%); }
.rg-section--dark {
  background: linear-gradient(160deg, var(--rg-navy-900) 0%, #0b1b3e 34%, var(--rg-navy) 66%, var(--rg-navy-800) 100%);
  overflow: hidden;
}

/* Section heading block */
.rg-head { display: flex; flex-direction: column; gap: var(--rg-s3); margin-bottom: clamp(24px, 4.4vw, 36px); }
.rg-head--center { align-items: center; text-align: center; }
.rg-head--center .rg-head__sub { max-width: 60ch; }

.rg-eyebrow {
  font-family: var(--rg-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--rg-blue-700);
}
.rg-eyebrow--light { color: var(--rg-blue-300); }

.rg-h2 { font-size: clamp(1.75rem, 6.6vw, 3.25rem); font-weight: 700; }
.rg-h3 { font-size: clamp(1.0625rem, 4vw, 1.25rem); font-weight: 600; letter-spacing: -0.025em; }
.rg-head__sub { font-size: clamp(0.9375rem, 3.6vw, 1.0625rem); line-height: 1.72; max-width: 62ch; }

.rg-thin { font-weight: 300; }
/* These utilities must outrank `.rg-page h1..h4 { color: var(--rg-text) }`,
   which is (0,1,1) — without the .rg-page prefix a light heading on a dark
   section renders navy-on-navy. */
.rg-page .rg-light { color: #fff; }
.rg-page .rg-on-dark { color: var(--rg-on-dark-mute); }
.rg-page .rg-accent { color: var(--rg-blue-300); }
.rg-page .rg-grad {
  background: linear-gradient(96deg, var(--rg-blue) 0%, var(--rg-blue-700) 50%, var(--rg-navy) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* --------------------------------------------------------------------------
   4. Buttons
   -------------------------------------------------------------------------- */
.rg-btn {
  --rg-btn-bg: var(--rg-blue);
  --rg-btn-fg: #fff;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 15px 26px;
  border: 0;
  border-radius: var(--rg-r-btn);
  background: var(--rg-btn-bg);
  background-origin: border-box;
  background-clip: border-box;
  color: var(--rg-btn-fg);
  font-family: var(--rg-sans);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.012em;
  text-align: center;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.36s var(--rg-ease), box-shadow 0.36s ease,
              background 0.36s ease, color 0.36s ease, border-color 0.36s ease;
}
.rg-btn > * { position: relative; z-index: 1; }
/* Outranks the generic `.rg-page a` link colour so resting state matches hover */
.rg-page a.rg-btn,
.rg-page a.rg-btn:visited { color: var(--rg-btn-fg); }
.rg-btn:hover { color: var(--rg-btn-fg); transform: translateY(-3px); }
.rg-btn:active { transform: translateY(-1px) scale(0.988); transition-duration: 0.09s; }
.rg-btn[disabled],
.rg-btn[aria-disabled="true"] { opacity: 0.42; cursor: not-allowed; transform: none; box-shadow: none; }

/* Arrow that leans forward on hover */
.rg-arrow {
  display: inline-block;
  font-size: 1.05em;
  line-height: 1;
  transition: transform 0.36s var(--rg-ease);
}
.rg-btn:hover .rg-arrow { transform: translateX(4px); }

/* Filled buttons carry a slow sheen sweep — same detail as the main site.
   It is a second BACKGROUND layer (not a pseudo-element) so it always paints
   behind the label, including bare text nodes. */
.rg-btn--primary {
  --rg-btn-bg: linear-gradient(135deg, var(--rg-blue) 0%, var(--rg-blue-700) 52%, var(--rg-navy) 100%);
  background-image:
    linear-gradient(100deg, transparent 34%, rgba(255, 255, 255, 0.34) 50%, transparent 66%),
    linear-gradient(135deg, var(--rg-blue) 0%, var(--rg-blue-700) 52%, var(--rg-navy) 100%);
  background-size: 240% 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  animation: rgSheenBg 4.6s linear infinite;
  box-shadow: 0 10px 22px -14px rgba(11, 79, 192, 0.6), 0 1px 3px -1px rgba(14, 33, 72, 0.28);
}
.rg-btn--primary:hover {
  box-shadow: 0 16px 30px -16px rgba(11, 79, 192, 0.7), 0 2px 5px -2px rgba(14, 33, 72, 0.3);
}
.rg-btn--wa {
  --rg-btn-bg: linear-gradient(135deg, var(--rg-wa) 0%, var(--rg-wa-600) 50%, var(--rg-wa-800) 100%);
  background-image:
    linear-gradient(100deg, transparent 34%, rgba(255, 255, 255, 0.3) 50%, transparent 66%),
    linear-gradient(135deg, var(--rg-wa) 0%, var(--rg-wa-600) 50%, var(--rg-wa-800) 100%);
  background-size: 240% 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  animation: rgSheenBg 5.2s linear infinite;
  box-shadow: 0 10px 22px -14px rgba(18, 140, 126, 0.62), 0 1px 3px -1px rgba(9, 74, 66, 0.26);
}
.rg-btn--wa:hover {
  box-shadow: 0 16px 30px -16px rgba(18, 140, 126, 0.72), 0 2px 5px -2px rgba(9, 74, 66, 0.3);
}
.rg-btn--secondary {
  --rg-btn-bg: linear-gradient(140deg, #fff, var(--rg-surface-3));
  --rg-btn-fg: var(--rg-text);
  border-color: transparent;
  background-clip: border-box;
  box-shadow: 0 6px 16px -14px rgba(14, 33, 72, 0.8);
}
.rg-btn--secondary:hover {
  border-color: transparent;
  box-shadow: 0 12px 26px -18px rgba(14, 33, 72, 0.7);
}
.rg-btn--ghost {
  --rg-btn-bg: transparent;
  --rg-btn-fg: var(--rg-text);
  border-color: transparent;
  background-clip: border-box;
}
.rg-btn--ghost:hover { --rg-btn-bg: var(--rg-surface-3); }
.rg-btn--ghost-dark {
  --rg-btn-bg: linear-gradient(140deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.05));
  --rg-btn-fg: #fff;
  border-color: transparent;
  background-clip: border-box;
  box-shadow: none;
}
.rg-btn--ghost-dark:hover {
  --rg-btn-bg: rgba(255, 255, 255, 0.2);
  border-color: transparent;
  color: #fff;
}
.rg-btn--block { width: 100%; }
.rg-btn--lg { min-height: 60px; font-size: 1.0625rem; padding: 17px 30px; }
.rg-btn--sm { min-height: 46px; font-size: 0.9375rem; padding: 12px 20px; }

/* Repeating conversion band used between sections */
.rg-cta-band {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  text-align: center;
  margin-top: clamp(28px, 6vw, 44px);
  padding: clamp(28px, 6vw, 40px) clamp(22px, 5vw, 44px);
  border-radius: var(--rg-r-xl);
  background:
    radial-gradient(120% 140% at 92% 0%, rgba(24, 120, 240, 0.16) 0%, rgba(24, 120, 240, 0) 58%),
    radial-gradient(90% 130% at 4% 100%, rgba(37, 211, 102, 0.12) 0%, rgba(37, 211, 102, 0) 60%),
    linear-gradient(150deg, #ffffff 0%, #f3f8ff 100%);
  border: 1px solid rgba(24, 120, 240, 0.2);
  box-shadow: 0 28px 60px -40px rgba(14, 33, 72, 0.7);
}
.rg-cta-band::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--rg-blue), var(--rg-mint) 82%, rgba(37, 211, 102, 0));
}
.rg-cta-band--dark {
  background:
    radial-gradient(120% 140% at 92% 0%, rgba(124, 192, 255, 0.2) 0%, rgba(124, 192, 255, 0) 58%),
    linear-gradient(150deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.035));
  border-color: rgba(124, 192, 255, 0.28);
  box-shadow: 0 30px 66px -44px rgba(4, 10, 26, 0.9);
}
.rg-cta-band__copy { position: relative; display: flex; flex-direction: column; gap: 8px; align-items: inherit; }
.rg-cta-band__t {
  font-family: var(--rg-display);
  font-size: clamp(1.125rem, 4.6vw, 1.5rem);
  font-weight: 600;
  letter-spacing: -0.032em;
  line-height: 1.2;
  color: var(--rg-text);
}
.rg-cta-band--dark .rg-cta-band__t { color: #fff; }
.rg-cta-band__s { position: relative; font-size: 0.9375rem; line-height: 1.62; color: var(--rg-body); max-width: 48ch; }
.rg-cta-band--dark .rg-cta-band__s { color: var(--rg-on-dark-soft); }
.rg-cta-band .rg-btn-row { position: relative; width: 100%; }
.rg-cta-band .rg-btn { width: 100%; }
.rg-cta-band__micro {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 0.8125rem; font-weight: 700; color: var(--rg-muted);
}
.rg-cta-band--dark .rg-cta-band__micro { color: var(--rg-on-dark-mute); }

.rg-btn__spinner {
  width: 18px; height: 18px;
  border-radius: 50%;
  border: 2.5px solid rgba(255, 255, 255, 0.35);
  border-top-color: #fff;
  animation: rgSpin 0.7s linear infinite;
  display: none;
}
.rg-btn.is-busy .rg-btn__spinner { display: block; }
.rg-btn.is-busy .rg-btn__label { opacity: 0.7; }

.rg-btn-row { display: grid; gap: 10px; }

/* --------------------------------------------------------------------------
   5. Header (logo only — no exits) + sticky action bar
   -------------------------------------------------------------------------- */
.rg-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: var(--rg-z-header);
  padding: 16px var(--rg-gutter);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rg-s4);
}
.rg-header__logo { display: inline-flex; align-items: center; }
.rg-header__logo img { width: auto; height: 34px; }
.rg-header__meta {
  display: none;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--rg-text);
}
.rg-header__right { display: flex; align-items: center; gap: 18px; }
.rg-header__cta { display: none; }
.rg-header__dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--rg-mint);
  box-shadow: 0 0 0 4px rgba(79, 212, 138, 0.22);
}

.rg-bar {
  position: fixed;
  inset: auto 0 0;
  z-index: var(--rg-z-bar);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px var(--rg-gutter) calc(10px + env(safe-area-inset-bottom, 0px));
  background: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  border-top: 1px solid var(--rg-border);
  box-shadow: 0 -14px 40px -30px rgba(14, 33, 72, 0.9);
  transform: translateY(105%);
  transition: transform 0.34s var(--rg-ease);
}
.rg-bar.is-visible { transform: translateY(0); }
.rg-bar__cta { min-height: 50px; padding: 12px 20px; font-size: 0.9375rem; }
.rg-bar__wa {
  display: grid;
  place-items: center;
  width: 52px; height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rg-wa), var(--rg-wa-800));
  box-shadow: var(--rg-sh-wa);
  flex: 0 0 auto;
}
.rg-bar__wa svg { width: 24px; height: 24px; }

/* --------------------------------------------------------------------------
   6. Hero
   -------------------------------------------------------------------------- */
.rg-hero {
  position: relative;
  overflow: hidden;
  padding: 88px var(--rg-gutter) clamp(36px, 8vw, 64px);
  background: linear-gradient(170deg, #fff 0%, #f3f8ff 42%, var(--rg-surface-4) 100%);
}
.rg-hero__glow,
.rg-hero__grid { position: absolute; pointer-events: none; }
.rg-hero__glow {
  top: -260px; right: -200px;
  width: 720px; height: 720px;
  border-radius: 50%;
  background: radial-gradient(circle at 45% 45%, rgba(24, 120, 240, 0.24), rgba(24, 120, 240, 0) 66%);
  filter: blur(18px);
  animation: rgOrb 18s ease-in-out infinite;
}
.rg-hero__grid {
  inset: 0;
  background-image: linear-gradient(rgba(14, 33, 72, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(14, 33, 72, 0.045) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 26%, #000 10%, transparent 80%);
  mask-image: radial-gradient(ellipse 80% 60% at 50% 26%, #000 10%, transparent 80%);
}
.rg-hero__inner { position: relative; display: grid; gap: var(--rg-s5); }
.rg-hero__copy { display: flex; flex-direction: column; gap: var(--rg-s5); }

.rg-badge {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 15px 8px 9px;
  border-radius: var(--rg-r-pill);
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.96), rgba(232, 241, 255, 0.88));
  border: 1px solid rgba(24, 120, 240, 0.24);
  box-shadow: 0 8px 24px -16px rgba(14, 33, 72, 0.7);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--rg-text);
}
.rg-badge__ring {
  display: grid;
  place-items: center;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rg-blue), var(--rg-navy));
  flex: 0 0 auto;
}
.rg-badge__ring::after { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--rg-blue-200); }

.rg-hero h1 {
  font-size: clamp(2.0625rem, 8.6vw, 3.875rem);
  font-weight: 700;
  letter-spacing: -0.042em;
  line-height: 1.03;
}
.rg-hero__lede { font-size: clamp(0.9688rem, 3.9vw, 1.0938rem); line-height: 1.68; max-width: 56ch; }

.rg-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  border-radius: var(--rg-r-md);
  overflow: hidden;
  background: rgba(14, 33, 72, 0.09);
  border: 1px solid rgba(14, 33, 72, 0.1);
  box-shadow: var(--rg-sh-md);
}
.rg-stat { display: flex; flex-direction: column; gap: 3px; padding: 16px 12px; background: linear-gradient(160deg, #fff, var(--rg-surface-2)); }
.rg-stat__n {
  font-family: var(--rg-display);
  font-size: clamp(1.3125rem, 5.6vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  color: var(--rg-text);
  font-variant-numeric: tabular-nums;
}
.rg-stat__n small { font-size: 0.6em; color: var(--rg-muted); font-weight: 700; }
.rg-stat__l { font-size: 0.7188rem; line-height: 1.35; font-weight: 600; color: var(--rg-muted); }

/* Compact proof card — mobile only */
.rg-vitals {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 14px 16px;
  border-radius: var(--rg-r-md);
  background: linear-gradient(150deg, var(--rg-navy-800), var(--rg-navy) 58%, var(--rg-navy-600));
  box-shadow: 0 24px 50px -32px rgba(11, 27, 62, 0.95);
}
.rg-vitals__tick {
  display: grid; place-items: center;
  width: 36px; height: 36px;
  border-radius: var(--rg-r-sm);
  background: linear-gradient(135deg, var(--rg-mint), var(--rg-wa-800));
  flex: 0 0 auto;
}
.rg-vitals__tick svg { width: 18px; height: 18px; }
.rg-vitals__t { font-family: var(--rg-display); font-size: 0.9375rem; font-weight: 600; color: #fff; letter-spacing: -0.02em; }
.rg-vitals__m { display: flex; flex-wrap: wrap; gap: 10px; font-size: 0.7188rem; font-weight: 700; color: #7fa0d6; }
.rg-vitals__m span:first-child { color: #7fe3a6; }

/* Browser mockup — desktop only (hidden on phones so the CTA stays high) */
.rg-mock { display: none; }

/* --------------------------------------------------------------------------
   7. Marquees
   -------------------------------------------------------------------------- */
.rg-marquee { position: relative; overflow: hidden; display: flex; }
.rg-marquee::before,
.rg-marquee::after { content: none; }
.rg-marquee__track {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 34px;
  padding-right: 34px;
  animation: rgSlide 34s linear infinite;
  will-change: transform;
}
.rg-marquee--rev .rg-marquee__track { animation-name: rgSlideRev; animation-duration: 42s; }

.rg-strip {
  padding-block: 16px;
  background: linear-gradient(105deg, var(--rg-navy-900) 0%, var(--rg-navy) 40%, var(--rg-navy-600) 100%);
  overflow: hidden;
}
.rg-strip .rg-marquee {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.rg-strip__item {
  display: inline-flex;
  align-items: center;
  gap: 34px;
  flex: 0 0 auto;
  font-family: var(--rg-display);
  font-size: clamp(1rem, 4.4vw, 1.5rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.86);
  white-space: nowrap;
}
.rg-strip__item::after {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rg-blue), var(--rg-blue-300));
  flex: 0 0 auto;
}

.rg-chips { padding-block: 18px; background: #fff; border-block: 1px solid var(--rg-border); overflow: hidden; }
.rg-chips .rg-marquee {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.rg-chips .rg-marquee__track { gap: 12px; padding-right: 12px; }
.rg-chip {
  flex: 0 0 auto;
  padding: 9px 17px;
  border-radius: var(--rg-r-pill);
  border: 1px solid rgba(14, 33, 72, 0.13);
  background: linear-gradient(140deg, #fff, #f0f6ff);
  font-size: 0.8125rem;
  font-weight: 600;
  color: #33405c;
  white-space: nowrap;
}

/* --------------------------------------------------------------------------
   8. Cards — generic
   -------------------------------------------------------------------------- */
.rg-grid { display: grid; gap: var(--rg-s4); }

.rg-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px 20px;
  border-radius: var(--rg-r-lg);
  background: linear-gradient(155deg, #fff, var(--rg-surface-3));
  border: 1px solid var(--rg-border);
  box-shadow: var(--rg-sh-md);
  transition: transform 0.4s var(--rg-ease), box-shadow 0.4s ease;
}
.rg-card:hover { box-shadow: var(--rg-sh-lg); }
.rg-card__p { font-size: 0.9375rem; line-height: 1.62; }

.rg-icon {
  display: grid;
  place-items: center;
  width: 42px; height: 42px;
  border-radius: 13px;
  background: linear-gradient(140deg, rgba(24, 120, 240, 0.14), rgba(14, 33, 72, 0.08));
  border: 1px solid rgba(24, 120, 240, 0.2);
  flex: 0 0 auto;
}
.rg-icon svg { width: 22px; height: 22px; stroke: var(--rg-blue); }
.rg-icon--solid {
  background: linear-gradient(140deg, var(--rg-blue), var(--rg-blue-700));
  border-color: transparent;
  box-shadow: 0 14px 30px -16px rgba(11, 79, 192, 0.9);
}
.rg-icon--solid svg { stroke: #fff; }
.rg-icon--dark { background: linear-gradient(140deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.05)); border-color: rgba(255, 255, 255, 0.2); }
.rg-icon--dark svg { stroke: var(--rg-blue-300); }
.rg-icon--warn {
  background: linear-gradient(140deg, #e05046, #b6322e);
  border-color: transparent;
  box-shadow: 0 12px 26px -14px rgba(182, 50, 46, 0.75);
}
.rg-icon--warn svg { stroke: #fff; }

/* Problem cards — deliberately hot: these are the mistakes */
.rg-pain {
  position: relative;
  overflow: hidden;
  background: linear-gradient(150deg, #fff5f3 0%, #ffe9e5 58%, #ffdfd9 100%);
  border-color: rgba(182, 50, 46, 0.3);
  box-shadow: 0 14px 34px -26px rgba(140, 30, 26, 0.7);
}
.rg-pain::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #e05046, #b6322e);
}
.rg-pain h3 { color: #8f2420; }
.rg-pain .rg-card__p { color: #6b3a37; }

/* Problem section: sticky copy left, card stack right */
.rg2-prob { display: grid; gap: 24px; }
.rg2-prob__side { display: flex; flex-direction: column; gap: 14px; }
.rg2-prob__sub {
  font-size: clamp(0.9375rem, 3.6vw, 1.0625rem);
  line-height: 1.72;
  max-width: 48ch;
  color: var(--rg-body);
}
.rg2-prob__cards { display: grid; gap: 14px; align-content: start; }

.rg2-probcta {
  position: relative;
  overflow: hidden;
  display: flex; flex-direction: column; gap: 10px;
  margin-top: 10px;
  padding: 26px 24px;
  border-radius: var(--rg-r-lg);
  background: linear-gradient(160deg, #ffffff 0%, #f6faff 100%);
  border: 1px solid rgba(24, 120, 240, 0.2);
  box-shadow: 0 18px 40px -32px rgba(14, 33, 72, 0.65);
}
.rg2-probcta::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--rg-blue), var(--rg-navy));
}
.rg2-probcta__tag {
  align-self: start;
  padding: 6px 12px;
  border-radius: var(--rg-r-pill);
  background: linear-gradient(135deg, var(--rg-blue), var(--rg-navy));
  font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase;
  color: #fff;
  box-shadow: 0 10px 22px -12px rgba(11, 79, 192, 0.8);
}
.rg2-probcta__t {
  font-family: var(--rg-display);
  font-size: clamp(1.125rem, 4.4vw, 1.5rem);
  font-weight: 600; line-height: 1.24; letter-spacing: -0.03em;
  color: var(--rg-text);
}
.rg2-probcta__s { font-size: 0.9375rem; line-height: 1.65; color: var(--rg-body); }
.rg2-probcta__btn { width: 100%; margin-top: 6px; }
.rg2-probcta__micro { font-size: 0.8125rem; font-weight: 600; color: var(--rg-muted); }

/* Benefit cards */
.rg-benefit { border-width: 1.5px; border-color: rgba(24, 120, 240, 0.14); }

/* Steps */
.rg-step {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px 20px 26px;
  border-radius: var(--rg-r-lg);
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.025));
  border: 1px solid rgba(255, 255, 255, 0.11);
  transition: transform 0.45s var(--rg-ease), background 0.45s ease;
}
.rg-step:hover { background: linear-gradient(160deg, rgba(24, 120, 240, 0.2), rgba(255, 255, 255, 0.03)); }
.rg-step__n { font-family: var(--rg-display); font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.14em; color: #5e7bb0; }
.rg-step h3 { color: #fff; }
.rg-step p { font-size: 0.9063rem; line-height: 1.66; color: var(--rg-on-dark-mute); }
.rg-step__t {
  margin-top: auto;
  padding-top: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rg-blue-300);
}

/* --------------------------------------------------------------------------
   9. Solution split
   -------------------------------------------------------------------------- */
.rg-split { display: grid; gap: clamp(28px, 6vw, 56px); align-items: center; }
.rg-list { display: flex; flex-direction: column; gap: 14px; }
.rg-list li { display: flex; gap: 12px; align-items: flex-start; font-size: 0.9688rem; line-height: 1.6; color: var(--rg-body); }
.rg-list__tick {
  flex: 0 0 auto;
  display: grid; place-items: center;
  width: 24px; height: 24px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--rg-blue), var(--rg-blue-700));
  margin-top: 1px;
}
.rg-list__tick svg { width: 14px; height: 14px; stroke: #fff; }

/* Before / after panel */
.rg-compare { display: grid; gap: 14px; }
.rg-compare__col {
  padding: 22px 20px;
  border-radius: var(--rg-r-lg);
  border: 1px solid var(--rg-border);
  background: #fff;
  box-shadow: var(--rg-sh-sm);
}
.rg-compare__col--after {
  background: linear-gradient(155deg, var(--rg-navy-800) 0%, var(--rg-navy) 48%, var(--rg-navy-500) 100%);
  border-color: transparent;
  box-shadow: 0 32px 70px -44px rgba(11, 27, 62, 0.95);
}
.rg-compare__tag {
  display: inline-flex;
  padding: 5px 12px;
  border-radius: var(--rg-r-pill);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.rg-compare__tag--before { background: rgba(200, 68, 63, 0.1); color: #b23c38; }
.rg-compare__tag--after { background: rgba(124, 192, 255, 0.16); color: var(--rg-blue-200); }
.rg-compare__col ul { display: flex; flex-direction: column; gap: 11px; }
.rg-compare__col li { display: flex; gap: 10px; font-size: 0.9063rem; line-height: 1.55; }
.rg-compare__col--before li { color: var(--rg-body); }
.rg-compare__col--after li { color: var(--rg-on-dark); }
.rg-compare__mark { flex: 0 0 auto; font-weight: 800; }
.rg-compare__col--before .rg-compare__mark { color: #c8443f; }
.rg-compare__col--after .rg-compare__mark { color: var(--rg-mint); }

/* --------------------------------------------------------------------------
   10. Proof — numbers, work, testimonials
   -------------------------------------------------------------------------- */
.rg-numbers { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.rg-number {
  display: flex; flex-direction: column; gap: 6px;
  padding: 22px 18px;
  border-radius: var(--rg-r-lg);
  background: linear-gradient(155deg, #fff, var(--rg-surface-2));
  border: 1.5px solid rgba(24, 120, 240, 0.18);
  box-shadow: var(--rg-sh-md);
}
.rg-number--hero {
  background: linear-gradient(135deg, var(--rg-blue) 0%, var(--rg-blue-700) 50%, var(--rg-navy) 100%);
  border-color: transparent;
  box-shadow: 0 24px 56px -24px rgba(11, 79, 192, 0.8);
}
.rg-number__n {
  font-family: var(--rg-display);
  font-size: clamp(1.625rem, 7vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  color: var(--rg-blue-700);
  font-variant-numeric: tabular-nums;
}
.rg-number--hero .rg-number__n { color: #fff; }
.rg-number__l { font-size: 0.8438rem; font-weight: 600; line-height: 1.5; color: var(--rg-body); }
.rg-number--hero .rg-number__l { color: var(--rg-on-dark); }

.rg-work {
  display: flex; flex-direction: column;
  border-radius: var(--rg-r-xl);
  overflow: hidden;
  background: linear-gradient(160deg, #fff, #f2f7ff);
  border: 1px solid var(--rg-border);
  box-shadow: var(--rg-sh-lg);
  transition: transform 0.5s var(--rg-ease), box-shadow 0.5s ease;
}
.rg-work:hover { transform: translateY(-6px); }
.rg-work__frame {
  margin: 10px 10px 0;
  border-radius: var(--rg-r-md);
  overflow: hidden;
  background: linear-gradient(160deg, var(--rg-navy-800), var(--rg-navy) 58%, var(--rg-navy-600));
  padding: 14px 14px 18px;
}
.rg-work__bar { display: flex; align-items: center; gap: 5px; padding: 2px 3px 8px; }
.rg-work__dot { width: 7px; height: 7px; border-radius: 50%; flex: 0 0 auto; }
.rg-work__url {
  margin-left: 7px; flex: 1;
  min-width: 0;
  height: 20px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08);
  display: flex; align-items: center;
  padding: 0 9px;
  font-size: 0.6875rem;
  font-weight: 600;
  color: #8fa9d6;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.rg-work__shot { position: relative; border-radius: 8px; overflow: hidden; background: #e9f0ff; aspect-ratio: 1400 / 835; }
.rg-work__shot img { width: 100%; height: 100%; object-fit: cover; }
.rg-work__body { display: flex; flex-direction: column; gap: 10px; padding: 20px 20px 24px; }
.rg-work__meta { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.rg-tag {
  padding: 5px 11px;
  border-radius: var(--rg-r-pill);
  background: linear-gradient(120deg, rgba(24, 120, 240, 0.12), rgba(14, 33, 72, 0.07));
  border: 1px solid rgba(24, 120, 240, 0.2);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rg-blue-700);
}
.rg-work__scope { font-size: 0.75rem; font-weight: 600; color: var(--rg-muted); }
.rg-work h3 { font-size: clamp(1.125rem, 4.6vw, 1.375rem); font-weight: 600; letter-spacing: -0.03em; }
.rg-work p { font-size: 0.9063rem; line-height: 1.62; }
.rg-work__result {
  margin-top: 4px;
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 0.8125rem; font-weight: 700; color: var(--rg-success);
}

.rg-quote {
  flex: 0 0 auto;
  width: min(84vw, 400px);
  margin: 0;
  display: flex; flex-direction: column; gap: 14px;
  padding: 24px 22px;
  border-radius: var(--rg-r-lg);
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.025));
  border: 1px solid var(--rg-border-dark);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.rg-quote__stars { font-size: 0.75rem; letter-spacing: 0.26em; color: var(--rg-blue-300); }
.rg-quote blockquote { margin: 0; font-size: 0.9688rem; line-height: 1.72; color: #dce6f7; }
.rg-quote figcaption { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.rg-quote__av {
  display: grid; place-items: center;
  width: 40px; height: 40px;
  border-radius: 13px;
  background: linear-gradient(140deg, var(--rg-blue), var(--rg-navy));
  font-family: var(--rg-display);
  font-size: 0.875rem; font-weight: 700; color: #fff;
  flex: 0 0 auto;
}
.rg-quote__who { display: flex; flex-direction: column; min-width: 0; }
.rg-quote__name { font-size: 0.9063rem; font-weight: 700; color: #fff; }
.rg-quote__role { font-size: 0.8125rem; color: var(--rg-on-dark-mute); }

/* --------------------------------------------------------------------------
   11. Packages
   -------------------------------------------------------------------------- */
.rg-pack {
  position: relative;
  display: flex; flex-direction: column; gap: 18px;
  padding: 28px 24px 26px;
  border-radius: var(--rg-r-xl);
  background: linear-gradient(155deg, #fff, #f1f6ff);
  border: 1px solid rgba(14, 33, 72, 0.1);
  box-shadow: var(--rg-sh-lg);
}
.rg-pack--dark {
  background: linear-gradient(155deg, var(--rg-navy-800) 0%, var(--rg-navy) 45%, var(--rg-navy-500) 100%);
  border-color: transparent;
}
.rg-pack__flag {
  position: absolute;
  top: 20px; right: 20px;
  padding: 6px 13px;
  border-radius: var(--rg-r-pill);
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.06));
  border: 1px solid rgba(255, 255, 255, 0.28);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rg-blue-200);
}
.rg-pack h3 { font-size: clamp(1.375rem, 5.6vw, 1.625rem); font-weight: 600; letter-spacing: -0.03em; }
.rg-pack--dark h3 { color: #fff; }
.rg-pack__for { font-size: 0.9375rem; line-height: 1.62; }
.rg-pack--dark .rg-pack__for { color: var(--rg-on-dark-soft); }
.rg-pack__rule { height: 1px; background: rgba(14, 33, 72, 0.1); }
.rg-pack--dark .rg-pack__rule { background: rgba(255, 255, 255, 0.14); }
.rg-pack ul { display: flex; flex-direction: column; gap: 11px; }
.rg-pack li { display: flex; gap: 10px; align-items: flex-start; font-size: 0.9375rem; line-height: 1.55; color: #33405c; }
.rg-pack--dark li { color: var(--rg-on-dark); }
.rg-pack li span { flex: 0 0 auto; font-weight: 800; color: var(--rg-blue); }
.rg-pack--dark li span { color: var(--rg-blue-300); }
.rg-pack .rg-btn { margin-top: auto; }
.rg-pack__note { font-size: 0.8125rem; color: var(--rg-muted); text-align: center; }
.rg-pack--dark .rg-pack__note { color: var(--rg-on-dark-mute); }

/* --------------------------------------------------------------------------
   12. Form
   -------------------------------------------------------------------------- */
.rg-form-section {
  position: relative;
  overflow: hidden;
  padding-block: var(--rg-section-y);
  background: linear-gradient(165deg, var(--rg-navy-800) 0%, var(--rg-navy) 44%, var(--rg-navy-600) 100%);
}
.rg-form-section__glow {
  position: absolute;
  top: -20%; left: 50%;
  width: 800px; height: 600px;
  margin-left: -400px;
  background: radial-gradient(ellipse at 50% 50%, rgba(24, 120, 240, 0.3), transparent 66%);
  filter: blur(34px);
  pointer-events: none;
  animation: rgOrb 20s ease-in-out infinite;
}
.rg-form-layout { position: relative; display: grid; gap: clamp(26px, 6vw, 48px); align-items: start; }
.rg-form-copy { display: flex; flex-direction: column; gap: var(--rg-s4); }
.rg-form-copy h2 { color: #fff; }
.rg-form-copy p { color: var(--rg-on-dark-soft); font-size: clamp(0.9375rem, 3.6vw, 1.0625rem); line-height: 1.72; }

.rg-trust { display: flex; flex-direction: column; gap: 12px; margin-top: 4px; }
.rg-trust li { display: flex; gap: 11px; align-items: flex-start; font-size: 0.9063rem; line-height: 1.5; color: var(--rg-on-dark); }
.rg-trust__ic {
  flex: 0 0 auto;
  display: grid; place-items: center;
  width: 26px; height: 26px;
  border-radius: 9px;
  background: linear-gradient(135deg, var(--rg-mint), var(--rg-wa-800));
}
.rg-trust__ic svg { width: 15px; height: 15px; stroke: #fff; }

.rg-formcard {
  background: #fff;
  border-radius: var(--rg-r-xl);
  padding: 22px 18px 24px;
  box-shadow: 0 50px 100px -50px rgba(6, 14, 34, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.4);
}
.rg-formcard__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.rg-formcard__title { font-family: var(--rg-display); font-size: 1.0625rem; font-weight: 700; color: var(--rg-text); letter-spacing: -0.025em; }
.rg-formcard__step { font-size: 0.75rem; font-weight: 700; color: var(--rg-muted); white-space: nowrap; }
.rg-progress { height: 4px; border-radius: 99px; background: rgba(14, 33, 72, 0.09); overflow: hidden; margin-bottom: 20px; }
.rg-progress__fill {
  height: 100%;
  width: 50%;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--rg-blue), var(--rg-blue-700));
  transition: width 0.4s var(--rg-ease);
}

.rg-fields { display: grid; gap: 14px; }
.rg-field { display: flex; flex-direction: column; gap: 6px; }
.rg-field label {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--rg-text);
  display: flex; align-items: center; gap: 5px;
}
.rg-field label .rg-req { color: var(--rg-error); }
.rg-field label .rg-opt { color: var(--rg-muted); font-weight: 600; }
.rg-field input,
.rg-field select,
.rg-field textarea {
  width: 100%;
  min-height: 50px;
  padding: 13px 14px;
  border: 1.5px solid rgba(14, 33, 72, 0.14);
  border-radius: var(--rg-r-sm);
  background: #fbfcff;
  font-family: var(--rg-sans);
  font-size: 1rem; /* 16px — prevents iOS zoom on focus */
  color: var(--rg-text);
  transition: border-color var(--rg-fast) ease, box-shadow var(--rg-fast) ease, background var(--rg-fast) ease;
  -webkit-appearance: none;
  appearance: none;
}
.rg-field textarea { min-height: 96px; resize: vertical; line-height: 1.55; }
.rg-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%234A5872' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 38px;
}
.rg-field input::placeholder,
.rg-field textarea::placeholder { color: #9aa6bd; }
.rg-field input:focus,
.rg-field select:focus,
.rg-field textarea:focus {
  outline: none;
  background: #fff;
  border-color: var(--rg-blue);
  box-shadow: 0 0 0 4px rgba(24, 120, 240, 0.14);
}
.rg-field input:focus-visible,
.rg-field select:focus-visible,
.rg-field textarea:focus-visible { outline: none; }
.rg-field__hint { font-size: 0.75rem; color: var(--rg-muted); }
.rg-field__err { font-size: 0.75rem; font-weight: 700; color: var(--rg-error); display: none; }
.rg-field.is-invalid input,
.rg-field.is-invalid select,
.rg-field.is-invalid textarea { border-color: var(--rg-error); background-color: var(--rg-error-bg); }
.rg-field.is-invalid .rg-field__err { display: block; }

.rg-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.rg-step-panel { display: none; }
.rg-step-panel.is-active { display: block; animation: rgFadeUp 0.32s var(--rg-ease) both; }

.rg-form__foot { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.rg-form__back {
  background: none; border: 0;
  align-self: center;
  padding: 12px 16px;
  min-height: 44px;
  font-family: var(--rg-sans);
  font-size: 0.875rem; font-weight: 700;
  color: var(--rg-body);
  cursor: pointer;
}
.rg-form__back:hover { color: var(--rg-text); }
.rg-form__promise {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  font-size: 0.8125rem; font-weight: 600; color: var(--rg-body); text-align: center;
}
.rg-form__promise strong { font-weight: 800; }
.rg-form__promise .rg-header__dot { flex: 0 0 auto; }
.rg-form__legal { font-size: 0.75rem; line-height: 1.5; color: var(--rg-muted); text-align: center; }
.rg-form__legal a { color: var(--rg-blue-700); text-decoration: underline; }

.rg-alert {
  display: none;
  gap: 10px;
  padding: 13px 15px;
  border-radius: var(--rg-r-sm);
  background: var(--rg-error-bg);
  border: 1px solid rgba(217, 58, 58, 0.25);
  font-size: 0.875rem;
  font-weight: 600;
  color: #9e2b2b;
  margin-bottom: 14px;
}
.rg-alert.is-shown { display: flex; }

/* Success panel */
.rg-done { display: none; text-align: center; padding: 8px 2px 6px; }
.rg-done.is-shown { display: block; animation: rgFadeUp 0.4s var(--rg-ease) both; }
.rg-done__tick {
  display: grid; place-items: center;
  width: 62px; height: 62px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rg-mint), var(--rg-wa-800));
  box-shadow: 0 18px 40px -20px rgba(18, 140, 126, 0.9);
}
.rg-done__tick svg { width: 30px; height: 30px; stroke: #fff; }
.rg-done h3 { font-size: clamp(1.25rem, 5.2vw, 1.5rem); font-weight: 700; margin-bottom: 8px; }
.rg-done p { font-size: 0.9375rem; line-height: 1.65; margin-bottom: 18px; }
.rg-done__next {
  display: flex; flex-direction: column; gap: 8px;
  padding: 16px;
  border-radius: var(--rg-r-md);
  background: var(--rg-surface-2);
  border: 1px solid var(--rg-border);
  text-align: left;
  margin-bottom: 18px;
}
.rg-done__next span { font-size: 0.8438rem; color: var(--rg-body); display: flex; gap: 9px; }
.rg-done__next b { color: var(--rg-text); }

/* --------------------------------------------------------------------------
   13. FAQ accordion
   -------------------------------------------------------------------------- */
.rg-faq { display: flex; flex-direction: column; gap: 10px; }
.rg-acc {
  border-radius: var(--rg-r-md);
  background: linear-gradient(155deg, #fff, #f2f7ff);
  border: 1px solid rgba(14, 33, 72, 0.1);
  overflow: hidden;
  box-shadow: var(--rg-sh-sm);
}
.rg-acc__btn {
  width: 100%;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 60px;
  padding: 18px 18px;
  background: transparent;
  border: 0;
  cursor: pointer;
  text-align: left;
  font-family: var(--rg-display);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.022em;
  color: var(--rg-text);
  line-height: 1.4;
}
.rg-acc__sign {
  flex: 0 0 auto;
  position: relative;
  display: grid; place-items: center;
  width: 32px; height: 32px;
  border-radius: 10px;
  background: linear-gradient(140deg, rgba(24, 120, 240, 0.14), rgba(14, 33, 72, 0.07));
  border: 1px solid rgba(24, 120, 240, 0.2);
}
.rg-acc__sign::before,
.rg-acc__sign::after {
  content: "";
  position: absolute;
  background: var(--rg-blue-700);
  border-radius: 2px;
  transition: transform var(--rg-base) var(--rg-ease), opacity var(--rg-base) ease;
}
.rg-acc__sign::before { width: 13px; height: 2px; }
.rg-acc__sign::after { width: 2px; height: 13px; }
.rg-acc__btn[aria-expanded="true"] .rg-acc__sign::after { transform: rotate(90deg); opacity: 0; }
.rg-acc__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.32s var(--rg-ease);
}
.rg-acc__panel > div { overflow: hidden; }
.rg-acc.is-open .rg-acc__panel { grid-template-rows: 1fr; }
.rg-acc__panel p { padding: 0 18px 20px; font-size: 0.9375rem; line-height: 1.72; }

/* --------------------------------------------------------------------------
   14. Final CTA + footer
   -------------------------------------------------------------------------- */
.rg-final { padding: clamp(44px, 8vw, 78px) var(--rg-gutter) var(--rg-section-y); background: linear-gradient(180deg, var(--rg-surface-2), #fff); }
.rg-final__box {
  position: relative;
  overflow: hidden;
  width: min(100%, var(--rg-maxw));
  margin-inline: auto;
  border-radius: var(--rg-r-xl);
  background: linear-gradient(140deg, var(--rg-navy-900) 0%, var(--rg-navy) 40%, var(--rg-navy-600) 78%, var(--rg-blue) 130%);
  padding: clamp(34px, 8vw, 68px) clamp(20px, 5vw, 52px);
  box-shadow: 0 50px 110px -56px rgba(11, 27, 62, 0.95);
}
.rg-final__grid {
  position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse at 70% 50%, #000, transparent 72%);
  mask-image: radial-gradient(ellipse at 70% 50%, #000, transparent 72%);
}
.rg-final__inner {
  position: relative;
  display: flex; flex-direction: column; gap: var(--rg-s5);
  align-items: center; text-align: center;
  max-width: 720px; margin-inline: auto;
}
.rg-final h2 { color: #fff; font-size: clamp(1.875rem, 7.4vw, 3.5rem); letter-spacing: -0.045em; }
.rg-final p { color: var(--rg-on-dark-soft); font-size: clamp(0.9688rem, 3.8vw, 1.125rem); line-height: 1.7; }
.rg-final__meta { font-size: 0.8438rem; color: #7f97c4; }
.rg-final__meta a { color: #a8c5f5; }

.rg-footer { background: var(--rg-navy-900); padding: clamp(32px, 7vw, 52px) var(--rg-gutter) 28px; }
.rg-footer__inner { width: min(100%, var(--rg-maxw)); margin-inline: auto; display: grid; gap: 26px; }
.rg-footer img { height: 30px; width: auto; }
.rg-footer__about { font-size: 0.875rem; line-height: 1.7; color: #8fa2c4; max-width: 46ch; margin-top: 12px; }
.rg-footer h4 {
  font-family: var(--rg-sans);
  font-size: 0.75rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: #5e7bb0; margin-bottom: 12px;
}
.rg-footer ul { display: flex; flex-direction: column; gap: 2px; }
.rg-footer li a,
.rg-footer__contact a {
  display: inline-flex; align-items: center;
  min-height: 40px;
  font-size: 0.9063rem; color: #c3d1e8;
}
.rg-footer li a:hover,
.rg-footer__contact a:hover { color: #fff; }
.rg-footer__legal {
  margin-top: 8px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.09);
  display: flex; flex-direction: column; gap: 10px;
  font-size: 0.8125rem; color: #7f93b6;
}
.rg-footer__legal nav { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.rg-footer__legal a { display: inline-flex; align-items: center; min-height: 40px; color: #7f93b6; }
.rg-footer__legal a:hover { color: #fff; }

/* --------------------------------------------------------------------------
   15. Scroll reveal
   -------------------------------------------------------------------------- */
.rg-reveal { opacity: 0; transform: translate3d(0, 18px, 0); transition: opacity 0.6s ease, transform 0.6s var(--rg-ease); }
.rg-reveal.is-in { opacity: 1; transform: none; }

@keyframes rgSpin { to { transform: rotate(360deg); } }
@keyframes rgSlide { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }
@keyframes rgSlideRev { from { transform: translate3d(-50%, 0, 0); } to { transform: translate3d(0, 0, 0); } }
@keyframes rgOrb {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(3%, -5%, 0) scale(1.1); }
}
@keyframes rgFloat {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -11px, 0); }
}
@keyframes rgBlink { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
@keyframes rgFadeUp { from { opacity: 0; transform: translate3d(0, 12px, 0); } to { opacity: 1; transform: none; } }
@keyframes rgSheen { 0% { background-position: -160% 0; } 100% { background-position: 260% 0; } }
@keyframes rgSheenBg {
  0% { background-position: -170% 0, 0 0; }
  100% { background-position: 270% 0, 0 0; }
}

/* ==========================================================================
   16. Tablet — 640px and up
   ========================================================================== */
@media (min-width: 640px) {
  :root { --rg-gutter: 28px; }

  .rg-btn-row { grid-auto-flow: column; grid-auto-columns: max-content; align-items: center; gap: 12px; }
  .rg-cta-band { flex-direction: row; flex-wrap: wrap; justify-content: space-between; text-align: left; align-items: center; gap: 22px; }
  .rg-cta-band__copy { display: flex; flex-direction: column; gap: 6px; flex: 1 1 300px; align-items: flex-start; }
  .rg-cta-band .rg-btn-row { width: auto; }
  .rg-cta-band .rg-btn { width: auto; }
  .rg-hero .rg-btn { min-height: 54px; }
  .rg-stat { padding: 20px 18px; }
  .rg-grid--2 { grid-template-columns: repeat(2, 1fr); }
  .rg-numbers { grid-template-columns: repeat(4, 1fr); }
  .rg-compare { grid-template-columns: repeat(2, 1fr); }
  .rg-formcard { padding: 28px 26px 30px; }
  .rg-fields--pair { grid-template-columns: repeat(2, 1fr); }
  .rg-form__foot { flex-direction: row-reverse; align-items: center; justify-content: space-between; flex-wrap: wrap; }
  .rg-form__foot .rg-btn { flex: 1 1 auto; }
  .rg-footer__inner { grid-template-columns: 1.4fr 1fr 1fr; gap: 36px; }
  .rg-footer__legal { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; }
  .rg-acc__btn { font-size: 1.0625rem; padding: 20px 22px; }
  .rg-acc__panel p { padding: 0 22px 22px; }
}

/* ==========================================================================
   17. Small laptop / large tablet — 900px and up
   ========================================================================== */
@media (min-width: 900px) {
  :root { --rg-gutter: 32px; --rg-bar-h: 0px; }

  body.rg-page { padding-bottom: 0; }

  .rg-header { padding: 22px var(--rg-gutter); }
  .rg-header__meta { display: inline-flex; }
  .rg-header__cta { display: inline-flex; }

  /* Sticky bar is a mobile pattern — desktop keeps the hero + form CTAs */
  .rg-bar { display: none; }

  .rg-hero { padding: 116px var(--rg-gutter) clamp(56px, 6vw, 88px); }
  .rg-hero__inner {
    width: min(100% , var(--rg-maxw));
    margin-inline: auto;
    grid-template-columns: 1.04fr 0.96fr;
    gap: clamp(36px, 4vw, 56px);
    align-items: center;
  }
  .rg-hero__copy { gap: var(--rg-s6); }
  .rg-hero h1 { font-size: clamp(2.75rem, 4.2vw, 3.875rem); }
  .rg-hero__lede { font-size: 1.0938rem; }
  .rg-stats { display: flex; flex-wrap: wrap; gap: 28px; background: none; border: 0; box-shadow: none; border-radius: 0; padding-top: 14px; border-top: 1px solid rgba(14, 33, 72, 0.1); }
  .rg-stat { padding: 0; background: none; }
  .rg-stat__l { font-size: 0.8125rem; }
  .rg-vitals { display: none; }

  /* Browser mockup appears */
  .rg-mock { display: block; position: relative; }
  .rg-mock__win {
    position: relative;
    border-radius: var(--rg-r-lg);
    background: linear-gradient(150deg, var(--rg-navy-800), var(--rg-navy) 55%, var(--rg-navy-600));
    padding: 12px;
    box-shadow: 0 56px 110px -50px rgba(11, 27, 62, 0.95), 0 0 0 1px rgba(14, 33, 72, 0.1);
  }
  .rg-mock__bar { display: flex; align-items: center; gap: 7px; padding: 4px 6px 12px; }
  .rg-mock__dot { width: 10px; height: 10px; border-radius: 50%; }
  .rg-mock__url {
    margin-left: 10px; flex: 1;
    height: 26px; border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.07);
    display: flex; align-items: center; gap: 8px;
    padding: 0 12px;
    font-size: 0.7188rem; font-weight: 600; color: #8fa9d6;
  }
  .rg-mock__screen {
    border-radius: var(--rg-r-md);
    overflow: hidden;
    background: linear-gradient(172deg, #fff, var(--rg-surface-3));
    border: 1px solid var(--rg-border);
    padding: 18px 18px 16px;
    display: flex; flex-direction: column; gap: 16px;
  }
  .rg-mock__nav { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
  .rg-mock__nav-l { display: flex; align-items: center; gap: 8px; }
  .rg-mock__nav-r { display: flex; align-items: center; gap: 9px; }
  .rg-sk { border-radius: 4px; background: rgba(14, 33, 72, 0.16); flex: 0 0 auto; }
  .rg-mock__logo { width: 24px; height: 24px; border-radius: 8px; background: linear-gradient(135deg, var(--rg-blue), var(--rg-navy)); }
  .rg-mock__pill { width: 56px; height: 20px; border-radius: 999px; background: linear-gradient(135deg, var(--rg-blue), var(--rg-blue-700)); }
  .rg-mock__row { display: flex; align-items: center; gap: 18px; }
  .rg-mock__lines { flex: 1 1 auto; display: flex; flex-direction: column; gap: 9px; min-width: 0; }
  .rg-mock__dial { flex: 0 0 auto; position: relative; display: grid; place-items: center; width: 92px; height: 92px; }
  .rg-mock__dial-ring {
    position: absolute; inset: 0; border-radius: 50%;
    background: conic-gradient(from -0.25turn, var(--rg-wa) 0turn 0.96turn, rgba(14, 33, 72, 0.1) 0.96turn 1turn);
  }
  .rg-mock__dial-in { position: absolute; inset: 9px; border-radius: 50%; background: #fff; box-shadow: inset 0 2px 10px rgba(14, 33, 72, 0.08); }
  .rg-mock__dial-n {
    position: relative; display: flex; flex-direction: column; align-items: center; gap: 1px;
    font-family: var(--rg-display); font-size: 1.5rem; font-weight: 700; letter-spacing: -0.04em; color: var(--rg-text);
    font-variant-numeric: tabular-nums;
  }
  .rg-mock__dial-n span { font-family: var(--rg-sans); font-size: 0.5rem; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; color: var(--rg-muted); }
  .rg-mock__cards { display: flex; gap: 10px; }
  .rg-mock__card { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 7px; padding: 12px; border-radius: 12px; background: #fff; border: 1px solid var(--rg-border); }
  .rg-mock__card--dark { background: linear-gradient(150deg, var(--rg-navy), var(--rg-navy-600)); border-color: rgba(14, 33, 72, 0.16); }
  .rg-mock__card--dark .rg-sk { background: rgba(255, 255, 255, 0.4); }
  .rg-mock__chart {
    display: flex; align-items: flex-end; justify-content: space-between; gap: 14px;
    padding: 13px 14px; border-radius: 13px;
    background: linear-gradient(155deg, #f5f9ff, #e9f1ff);
    border: 1px solid rgba(14, 33, 72, 0.07);
  }
  .rg-mock__bars { display: flex; align-items: flex-end; gap: 5px; height: 50px; }
  .rg-mock__bars span { width: 9px; border-radius: 3px 3px 1px 1px; background: rgba(14, 33, 72, 0.16); }
  .rg-mock__vitals { display: flex; align-items: center; gap: 10px; padding: 11px 6px 2px; font-size: 0.6563rem; font-weight: 600; color: #5e7bb0; }
  .rg-mock__vitals b { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; letter-spacing: 0.05em; color: #7fe3a6; }
  .rg-mock__vitals b i { width: 6px; height: 6px; border-radius: 50%; background: var(--rg-mint); animation: rgBlink 1.8s ease-in-out infinite; }
  .rg-mock__float {
    position: absolute;
    left: -26px; bottom: 52px;
    display: flex; align-items: center; gap: 12px;
    padding: 14px 18px;
    border-radius: var(--rg-r-md);
    background: linear-gradient(150deg, rgba(255, 255, 255, 0.97), rgba(238, 245, 255, 0.93));
    border: 1px solid rgba(14, 33, 72, 0.1);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    box-shadow: 0 30px 60px -30px rgba(14, 33, 72, 0.85);
    animation: rgFloat 6s ease-in-out infinite;
  }
  .rg-mock__float-t { font-family: var(--rg-display); font-size: 1rem; font-weight: 700; color: var(--rg-text); letter-spacing: -0.02em; }
  .rg-mock__float-s { font-size: 0.75rem; font-weight: 600; color: var(--rg-muted); }

  .rg-grid--3 { grid-template-columns: repeat(3, 1fr); }
  .rg-grid--4 { grid-template-columns: repeat(4, 1fr); }
  .rg-split { grid-template-columns: 0.95fr 1.05fr; }
  .rg-split--flip > *:first-child { order: 2; }
  .rg-card { padding: 26px 24px; }
  .rg-work__body { padding: 24px 26px 28px; }
  .rg-form-layout { grid-template-columns: 0.9fr 1.1fr; gap: clamp(36px, 4vw, 60px); }
  .rg-form-copy { position: sticky; top: 40px; }
  .rg-formcard { padding: 32px 30px 34px; }
  .rg-head--split { display: grid; grid-template-columns: 1fr 0.8fr; gap: 48px; align-items: end; }
  .rg2-prob { grid-template-columns: 0.95fr 1fr; gap: 56px; align-items: start; }
  .rg2-prob__side { position: sticky; top: 96px; }
  .rg2-probcta__btn { width: auto; align-self: start; }
  .rg2-prob__cards { grid-template-columns: 1fr; gap: 14px; }
  .rg2-prob__cards .rg-pain {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 18px;
    row-gap: 6px;
    align-items: start;
    padding: 24px 24px 26px;
  }
  .rg2-prob__cards .rg-pain .rg-icon { grid-row: 1 / span 2; }
  .rg2-prob__cards .rg-pain .rg-h3 { align-self: center; }
  .rg-head--split .rg-head__sub { padding-bottom: 4px; }
  .rg-sheen {
    position: relative;
    overflow: hidden;
  }
  .rg-sheen::after {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(100deg, transparent 32%, rgba(255, 255, 255, 0.4) 50%, transparent 68%);
    background-size: 220% 100%;
    animation: rgSheen 3.8s linear infinite;
    pointer-events: none;
  }
}

/* ==========================================================================
   18. Desktop — 1280px and up
   ========================================================================== */
@media (min-width: 1280px) {
  :root { --rg-section-y: 88px; }
  .rg-hero h1 { font-size: 3.75rem; }
  .rg-quote { width: 420px; }
  .rg-marquee__track { gap: 44px; padding-right: 44px; }
}

/* ==========================================================================
   19. Large desktop — 1600px and up
   ========================================================================== */
@media (min-width: 1600px) {
  :root { --rg-maxw: 1340px; --rg-section-y: 96px; }
  .rg-hero h1 { font-size: 4.125rem; }
  .rg-hero__lede { font-size: 1.1563rem; }
}

/* ==========================================================================
   20. Motion + contrast preferences
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .rg-reveal { opacity: 1; transform: none; }
  .rg-marquee__track { animation: none; }
  .rg-btn--primary,
  .rg-btn--wa { animation: none; background-position: 300% 0, 0 0; }
  .rg-btn:hover .rg-arrow { transform: none; }
}

@media print {
  .rg-bar, .rg-hero__glow, .rg-hero__grid { display: none !important; }
  .rg-page { padding-bottom: 0; }
}


/* ==========================================================================
   21. v2 — CONVERSION REFRESH
   New header, dark lead-capture hero, trust bar, proof rail, transformation
   panels, service cards, why-us grid, process rail, offer block, objections,
   testimonial grid. All prefixed .rg2- so nothing above is disturbed.
   ========================================================================== */

/* --- Anchor offset for the fixed header ----------------------------------- */
.rg-page :target,
.rg-page [id] { scroll-margin-top: 96px; }

/* --- Header — floating capsules ------------------------------------------- */
.rg2-head {
  position: fixed;
  inset: 0 0 auto;
  padding: 10px 0;
  pointer-events: none;
  z-index: var(--rg-z-header);
}
.rg2-head--legacy {
  position: sticky;
  top: 0;
  z-index: var(--rg-z-header);
  background: rgba(255, 255, 255, 0.88);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);
  border-bottom: 1px solid var(--rg-border);
}
.rg2-head__in {
  width: min(100% - (var(--rg-gutter) * 2), var(--rg-maxw));
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  pointer-events: none;
}
.rg2-pill {
  pointer-events: auto;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  height: 56px;
  border-radius: var(--rg-r-pill);
  background: linear-gradient(150deg, rgba(255, 255, 255, 0.95), rgba(240, 246, 255, 0.88));
  border: 1px solid rgba(14, 33, 72, 0.08);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  backdrop-filter: blur(20px) saturate(160%);
  box-shadow: 0 16px 38px -22px rgba(14, 33, 72, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
.rg2-pill--logo {
  flex: 0 0 auto;
  gap: 10px;
  padding: 0 20px 0 10px;
  text-decoration: none;
  transition: transform 0.42s var(--rg-ease);
}
.rg2-pill--logo:hover { transform: translateY(-3px); }
.rg2-pill--logo img { height: 28px; width: auto; display: block; }
.rg2-wordmark {
  font-family: var(--rg-display);
  font-size: 1rem; font-weight: 700; letter-spacing: -0.035em;
  color: var(--rg-text); white-space: nowrap;
}
.rg2-wordmark span { color: var(--rg-blue); }
.rg2-pill--nav { gap: 8px; padding: 0 7px; }
.rg2-nav { display: none; align-items: center; gap: 2px; }
.rg-page .rg2-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 15px;
  border-radius: var(--rg-r-pill);
  font-size: 0.9375rem; font-weight: 600; letter-spacing: -0.01em;
  color: var(--rg-text); text-decoration: none;
  transition: background var(--rg-fast) ease, color var(--rg-fast) ease;
}
.rg-page .rg2-nav a:hover { background: rgba(255, 255, 255, 0.8); color: var(--rg-blue-700); }
.rg2-nav__act { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.rg2-nav__wa {
  display: grid; place-items: center;
  width: 44px; height: 44px;
  border-radius: var(--rg-r-pill);
  background: linear-gradient(150deg, rgba(37, 211, 102, 0.16), rgba(18, 140, 126, 0.1));
  transition: transform var(--rg-fast) var(--rg-ease);
}
.rg2-nav__wa:hover { transform: translateY(-2px); }
.rg2-nav__wa svg { width: 20px; height: 20px; }
.rg2-nav__cta { display: none; min-height: 44px; padding: 11px 20px; font-size: 0.9375rem; }
.rg2-burger {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 5px;
  width: 44px; height: 44px;
  padding: 0; border: 0;
  border-radius: var(--rg-r-pill);
  background: linear-gradient(140deg, #123b86, var(--rg-navy));
  cursor: pointer;
}
.rg2-burger span {
  display: block; width: 18px; height: 2px;
  border-radius: 2px; background: #fff;
  transition: transform var(--rg-fast) var(--rg-ease);
}
.rg2-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(3.5px) rotate(45deg); }
.rg2-burger[aria-expanded="true"] span:nth-child(2) { transform: translateY(-3.5px) rotate(-45deg); }

.rg2-menu {
  pointer-events: auto;
  position: absolute;
  left: var(--rg-gutter); right: var(--rg-gutter); top: 100%;
  margin-top: 8px;
  padding: 14px;
  border-radius: 24px;
  background: linear-gradient(170deg, #fff, #edf4ff);
  border: 1px solid rgba(14, 33, 72, 0.1);
  box-shadow: 0 40px 80px -40px rgba(14, 33, 72, 0.7);
  animation: rgFadeUp 0.32s var(--rg-ease) both;
}
.rg2-menu[hidden] { display: none; }
.rg2-menu nav { display: flex; flex-direction: column; gap: 8px; }
.rg-page .rg2-menu a {
  display: flex; align-items: center;
  min-height: 52px;
  padding: 13px 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(14, 33, 72, 0.08);
  font-family: var(--rg-display);
  font-size: 1.0625rem; font-weight: 600; letter-spacing: -0.025em;
  color: var(--rg-text); text-decoration: none;
}
.rg-page .rg2-menu a.rg2-menu__cta {
  justify-content: center;
  border-color: transparent;
  background: linear-gradient(135deg, var(--rg-blue), var(--rg-navy));
  color: #fff;
}

/* --- Hero ---------------------------------------------------------------- */
.rg2-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(100px, 24vw, 124px) var(--rg-gutter) clamp(58px, 11vw, 88px);
  background:
    radial-gradient(120% 90% at 88% 6%, rgba(24, 120, 240, 0.34) 0%, rgba(24, 120, 240, 0) 58%),
    linear-gradient(158deg, var(--rg-navy-900) 0%, #0b1b3e 40%, var(--rg-navy) 74%, var(--rg-navy-800) 100%);
}
.rg2-hero__glow,
.rg2-hero__grid { position: absolute; pointer-events: none; }
.rg2-hero__glow {
  bottom: -220px; left: -140px;
  width: 620px; height: 620px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, rgba(37, 211, 102, 0.2), rgba(37, 211, 102, 0) 66%);
  filter: blur(18px);
  animation: rgOrb 22s ease-in-out infinite;
}
.rg2-hero__grid {
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 62px 62px;
  -webkit-mask-image: radial-gradient(ellipse 84% 70% at 40% 20%, #000 6%, transparent 78%);
  mask-image: radial-gradient(ellipse 84% 70% at 40% 20%, #000 6%, transparent 78%);
}
.rg2-hero__in {
  position: relative;
  width: min(100%, var(--rg-maxw));
  margin-inline: auto;
  display: grid;
  gap: clamp(26px, 6vw, 46px);
  align-items: start;
}
.rg2-hero__copy { display: flex; flex-direction: column; gap: 18px; }

.rg2-eyebrow {
  align-self: flex-start;
  display: inline-flex; align-items: center;
  padding: 7px 14px;
  border-radius: var(--rg-r-pill);
  background: rgba(124, 192, 255, 0.12);
  border: 1px solid rgba(124, 192, 255, 0.28);
  font-family: var(--rg-display);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #a9d2ff;
}
.rg-page .rg2-hero h1 {
  color: #fff;
  font-size: clamp(2.125rem, 8.4vw, 3.75rem);
  font-weight: 700;
  letter-spacing: -0.042em;
  line-height: 1.04;
  max-width: 20ch;
}
.rg2-hl {
  background: linear-gradient(96deg, #7cc0ff 0%, #25d366 96%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.rg2-hero__lede {
  font-size: clamp(0.9688rem, 3.9vw, 1.125rem);
  line-height: 1.66;
  color: var(--rg-on-dark);
  max-width: 52ch;
}
.rg2-hero__lede strong { color: #fff; }

.rg2-ticks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
.rg2-ticks li {
  display: flex; align-items: center; gap: 8px;
  font-size: 0.8125rem; font-weight: 700; color: #dbe6f7;
}
.rg2-tick {
  display: grid; place-items: center;
  width: 20px; height: 20px;
  border-radius: 6px;
  background: linear-gradient(135deg, var(--rg-mint), var(--rg-wa-800));
  flex: 0 0 auto;
}
.rg2-tick svg { width: 12px; height: 12px; stroke: #fff; }

.rg2-hero__proof {
  display: flex; align-items: center; gap: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 0.875rem; line-height: 1.55; color: var(--rg-on-dark-mute);
}
.rg2-hero__proof strong { color: #fff; }
.rg2-hero__stars { flex: 0 0 auto; font-size: 0.875rem; letter-spacing: 0.14em; color: #ffc857; }

/* --- Hero lead card ------------------------------------------------------ */
.rg2-lead {
  position: relative;
  display: flex; flex-direction: column; gap: 14px;
  padding: 22px 18px 20px;
  border-radius: var(--rg-r-xl);
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0 46px 92px -44px rgba(4, 10, 26, 0.95), 0 2px 0 rgba(255, 255, 255, 0.5) inset;
}
.rg2-lead__flag {
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: 7px;
  padding: 6px 12px;
  border-radius: var(--rg-r-pill);
  background: rgba(12, 135, 102, 0.1);
  border: 1px solid rgba(12, 135, 102, 0.22);
  font-size: 0.6875rem; font-weight: 800;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--rg-wa-ink-mid);
}
.rg2-lead__flag::before {
  content: "";
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--rg-wa);
  box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.22);
}
.rg-page .rg2-lead__h { font-size: clamp(1.25rem, 5vw, 1.5rem); font-weight: 700; letter-spacing: -0.03em; }
.rg2-lead__s { font-size: 0.875rem; line-height: 1.6; color: var(--rg-body); }
.rg2-lead__go { margin-top: 4px; min-height: 50px; padding: 13px 22px; font-size: 0.9688rem; }
.rg2-lead__micro {
  display: flex; flex-wrap: nowrap; gap: 0;
  justify-content: space-between; align-items: center;
}
.rg2-lead__micro li {
  display: flex; align-items: center; justify-content: center; gap: 5px;
  flex: 1 1 0; min-width: 0;
  white-space: nowrap;
  font-size: 0.6875rem; font-weight: 700; color: var(--rg-muted);
}
.rg2-lead__micro span { color: var(--rg-wa-ink); font-weight: 800; }
.rg2-lead__or {
  display: flex; align-items: center; gap: 12px;
  font-size: 0.75rem; font-weight: 700; color: var(--rg-muted);
  text-transform: uppercase; letter-spacing: 0.09em;
}
.rg2-lead__or::before,
.rg2-lead__or::after { content: ""; height: 1px; flex: 1; background: var(--rg-border); }
.rg2-lead__alt { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rg2-lead__alt .rg-btn { min-height: 46px; padding: 12px 16px; font-size: 0.9375rem; width: 100%; }

/* --- Trust bar ----------------------------------------------------------- */
.rg2-trustwrap { position: relative; margin-top: clamp(-52px, -9vw, -34px); z-index: 2; }
.rg2-trust {
  display: flex; flex-direction: column; gap: 18px;
  padding: 22px 20px;
  border-radius: var(--rg-r-xl);
  background: #fff;
  border: 1px solid rgba(24, 120, 240, 0.14);
  box-shadow: 0 34px 74px -46px rgba(14, 33, 72, 0.9);
}
.rg2-trust__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px 14px;
}
.rg2-tstat { display: flex; flex-direction: column; gap: 3px; }
.rg2-tstat__n {
  font-family: var(--rg-display);
  font-size: clamp(1.375rem, 5.6vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  color: var(--rg-blue-700);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.rg2-tstat__n small { font-size: 0.58em; color: var(--rg-muted); }
.rg2-tstat__l { font-size: 0.75rem; font-weight: 600; line-height: 1.4; color: var(--rg-muted); }
.rg2-trust__line {
  font-size: 0.875rem; line-height: 1.6; color: var(--rg-body);
  padding-top: 16px;
  border-top: 1px solid var(--rg-border);
}

/* --- Proof rail ---------------------------------------------------------- */
.rg2-rail { padding: clamp(30px, 7vw, 46px) 0 clamp(4px, 2vw, 10px); }
.rg2-rail__lab {
  display: block;
  font-family: var(--rg-display);
  font-size: 0.6875rem; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--rg-muted);
  margin-bottom: 14px;
}
.rg2-rail__scroll {
  display: flex; gap: 14px;
  padding: 0 var(--rg-gutter) 8px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.rg2-rail__scroll::-webkit-scrollbar { display: none; }
.rg2-shot {
  flex: 0 0 auto;
  scroll-snap-align: center;
  width: min(78vw, 320px);
  margin: 0;
  padding: 10px 10px 0;
  border-radius: var(--rg-r-md);
  background: linear-gradient(160deg, var(--rg-navy-800), var(--rg-navy) 60%, var(--rg-navy-600));
  box-shadow: var(--rg-sh-md);
}
.rg2-shot__bar { display: flex; align-items: center; gap: 5px; padding: 2px 4px 8px; }
.rg2-shot__bar i { width: 6px; height: 6px; border-radius: 50%; background: rgba(255, 255, 255, 0.28); }
.rg2-shot__bar em {
  margin-left: 8px;
  font-style: normal;
  font-size: 0.625rem; font-weight: 600; color: #8fa9d6;
  overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.rg2-shot img { width: 100%; height: auto; border-radius: 6px; aspect-ratio: 1400 / 835; object-fit: cover; }
.rg2-shot figcaption {
  padding: 10px 4px 12px;
  font-size: 0.75rem; font-weight: 700; color: #a8bdde;
}

/* --- Transformation panels ---------------------------------------------- */
.rg2-tf__grid { display: grid; gap: 12px; align-items: center; }
.rg2-panel {
  position: relative;
  overflow: hidden;
  padding: 26px 24px;
  border-radius: var(--rg-r-lg);
}
.rg2-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
}
.rg2-panel__tag {
  display: inline-flex;
  padding: 6px 13px;
  border-radius: var(--rg-r-pill);
  font-size: 0.6875rem; font-weight: 800;
  letter-spacing: 0.1em; text-transform: uppercase;
  margin-bottom: 16px;
}
.rg2-panel ul { display: flex; flex-direction: column; gap: 12px; }
.rg2-panel li { display: flex; gap: 11px; align-items: flex-start; font-size: 0.9375rem; line-height: 1.5; }
.rg2-panel li span { flex: 0 0 auto; font-weight: 800; }
.rg2-panel--before {
  background: linear-gradient(155deg, rgba(196, 44, 40, 0.22) 0%, rgba(120, 22, 20, 0.16) 60%, rgba(255, 255, 255, 0.03) 100%);
  border: 1px solid rgba(255, 122, 116, 0.34);
  box-shadow: 0 30px 66px -44px rgba(150, 24, 20, 0.9);
}
.rg2-panel--before::before { background: linear-gradient(90deg, #ff8d88, rgba(255, 141, 136, 0)); }
.rg2-panel--before .rg2-panel__tag {
  background: linear-gradient(135deg, #e05046, #a52c28);
  color: #fff;
  box-shadow: 0 10px 22px -14px rgba(196, 44, 40, 0.9);
}
.rg2-panel--before li { color: #f0c9c6; }
.rg2-panel--before li span { color: #ff8d88; }
.rg2-panel--before li { text-decoration: line-through; text-decoration-color: rgba(255, 141, 136, 0.45); }
.rg2-panel--before li span { text-decoration: none; }
.rg2-panel--after {
  background: linear-gradient(150deg, rgba(37, 211, 102, 0.24) 0%, rgba(18, 140, 126, 0.18) 58%, rgba(24, 120, 240, 0.12) 100%);
  border: 1px solid rgba(120, 240, 174, 0.38);
  box-shadow: 0 34px 72px -42px rgba(12, 135, 102, 0.95);
}
.rg2-panel--after::before { background: linear-gradient(90deg, var(--rg-mint), rgba(37, 211, 102, 0)); }
.rg2-panel--after .rg2-panel__tag {
  background: linear-gradient(135deg, #25d366, #0c8766);
  color: #04281c;
  box-shadow: 0 10px 22px -14px rgba(12, 135, 102, 0.9);
}
.rg2-panel--after li { color: #eafff3; font-weight: 600; }
.rg2-panel--after li span { color: var(--rg-mint); }
.rg2-tf__arrow {
  display: grid; place-items: center;
  width: 44px; height: 44px;
  margin-inline: auto;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
}
.rg2-tf__arrow svg { width: 22px; height: 22px; stroke: var(--rg-blue-300); }

/* --- Service cards ------------------------------------------------------- */
.rg2-svc {
  display: flex; flex-direction: column; gap: 11px;
  padding: 24px 22px 22px;
  border-radius: var(--rg-r-lg);
  background: #fff;
  border: 1px solid var(--rg-border-strong);
  box-shadow: var(--rg-sh-sm);
  transition: transform 0.4s var(--rg-ease), box-shadow 0.4s ease, border-color 0.4s ease;
}
.rg2-svc:hover { transform: translateY(-4px); border-color: rgba(24, 120, 240, 0.34); box-shadow: var(--rg-sh-md); }
.rg-page .rg2-svc h3 { font-size: 1.125rem; font-weight: 600; letter-spacing: -0.028em; }
.rg2-svc p { font-size: 0.9375rem; line-height: 1.6; }
.rg2-svc__out {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px dashed var(--rg-border-strong);
  font-size: 0.8125rem; font-weight: 700; color: var(--rg-wa-ink);
}

/* --- Case study extras -------------------------------------------------- */
.rg2-case__before { font-size: 0.875rem; line-height: 1.58; color: var(--rg-muted); }
.rg2-case__before b { color: var(--rg-text); font-weight: 800; }
.rg2-case__chips { display: flex; flex-wrap: wrap; gap: 7px; }
.rg2-case__chips span {
  padding: 5px 11px;
  border-radius: var(--rg-r-pill);
  background: var(--rg-surface-3);
  border: 1px solid var(--rg-border);
  font-size: 0.75rem; font-weight: 700; color: #33405c;
}

/* --- Why us ------------------------------------------------------------- */
.rg2-why {
  display: flex; flex-direction: column; gap: 9px;
  padding: 24px 22px;
  border-radius: var(--rg-r-lg);
  background: linear-gradient(160deg, #fff, var(--rg-surface-3));
  border: 1px solid var(--rg-border);
  box-shadow: var(--rg-sh-sm);
}
.rg2-why__n {
  font-family: var(--rg-display);
  font-size: 1.5rem; font-weight: 800;
  letter-spacing: -0.04em;
  color: rgba(24, 120, 240, 0.5);
  -webkit-text-stroke: 1.4px rgba(24, 120, 240, 0.5);
  line-height: 1;
}
@supports (-webkit-text-stroke: 1px black) {
  .rg2-why__n { color: transparent; }
}
.rg-page .rg2-why h3 { font-size: 1.0625rem; font-weight: 600; letter-spacing: -0.026em; }
.rg2-why p { font-size: 0.9063rem; line-height: 1.6; }

/* --- Process rail ------------------------------------------------------- */
.rg2-proc { display: grid; gap: 0; counter-reset: none; }
.rg2-proc__i {
  position: relative;
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  padding-bottom: 26px;
}
.rg2-proc__i:last-child { padding-bottom: 0; }
.rg2-proc__i::before {
  content: "";
  position: absolute;
  left: 23px; top: 46px; bottom: 4px;
  width: 2px;
  background: linear-gradient(180deg, rgba(124, 192, 255, 0.5), rgba(124, 192, 255, 0.06));
}
.rg2-proc__i:last-child::before { display: none; }
.rg2-proc__n {
  display: grid; place-items: center;
  width: 46px; height: 46px;
  border-radius: 14px;
  background: linear-gradient(140deg, rgba(24, 120, 240, 0.9), rgba(11, 79, 192, 0.7));
  border: 1px solid rgba(124, 192, 255, 0.4);
  font-family: var(--rg-display);
  font-size: 0.9375rem; font-weight: 700; color: #fff;
}
.rg-page .rg2-proc h3 { color: #fff; font-size: 1.125rem; font-weight: 600; letter-spacing: -0.026em; margin-bottom: 6px; }
.rg2-proc p { font-size: 0.9375rem; line-height: 1.62; color: var(--rg-on-dark-mute); }
.rg2-proc__t {
  display: inline-block;
  margin-top: 9px;
  padding: 5px 11px;
  border-radius: var(--rg-r-pill);
  background: rgba(124, 192, 255, 0.12);
  border: 1px solid rgba(124, 192, 255, 0.24);
  font-size: 0.6875rem; font-weight: 800;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--rg-blue-300);
}

/* --- Offer -------------------------------------------------------------- */
.rg2-offer {
  display: grid; gap: 0;
  border-radius: var(--rg-r-xl);
  overflow: hidden;
  border: 1px solid rgba(24, 120, 240, 0.18);
  background: #fff;
  box-shadow: var(--rg-sh-lg);
}
.rg2-offer__main { padding: 28px 24px; display: flex; flex-direction: column; gap: 14px; }
.rg-page .rg2-offer__main h3 { font-size: clamp(1.375rem, 5.4vw, 1.75rem); font-weight: 700; letter-spacing: -0.032em; }
.rg2-offer__for { font-size: 0.9688rem; line-height: 1.62; }
.rg2-offer__list { display: grid; gap: 11px; }
.rg2-offer__list li {
  display: flex; gap: 11px; align-items: flex-start;
  font-size: 0.9375rem; line-height: 1.5; color: #33405c; font-weight: 600;
}
.rg2-offer__list li span { flex: 0 0 auto; font-weight: 800; color: var(--rg-wa-ink); }
.rg2-offer__side {
  display: flex; flex-direction: column; gap: 12px;
  padding: 28px 24px;
  background: linear-gradient(155deg, var(--rg-navy-900) 0%, var(--rg-navy) 52%, var(--rg-navy-600) 100%);
}
.rg2-offer__flag {
  align-self: flex-start;
  padding: 6px 13px;
  border-radius: var(--rg-r-pill);
  background: rgba(37, 211, 102, 0.16);
  border: 1px solid rgba(37, 211, 102, 0.3);
  font-size: 0.6875rem; font-weight: 800;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: #9df3c0;
}
.rg2-offer__price {
  font-family: var(--rg-display);
  font-size: clamp(1.375rem, 5.6vw, 1.75rem);
  font-weight: 700; letter-spacing: -0.035em; line-height: 1.16;
  color: #fff;
}
.rg2-offer__note { font-size: 0.875rem; line-height: 1.62; color: var(--rg-on-dark-mute); }
.rg2-offer__side .rg-btn { padding-inline: 18px; white-space: nowrap; }
.rg2-offer__legal { font-size: 0.75rem; color: #7f97c4; text-align: center; }

.rg2-tiers { display: grid; gap: 12px; margin-top: 14px; }
.rg2-tier {
  position: relative;
  padding: 20px 20px 18px;
  border-radius: var(--rg-r-lg);
  background: #fff;
  border: 1px solid var(--rg-border);
  box-shadow: var(--rg-sh-sm);
}
.rg2-tier--mid { border-color: rgba(24, 120, 240, 0.34); box-shadow: var(--rg-sh-md); }
.rg2-tier__flag {
  position: absolute; top: 18px; right: 18px;
  padding: 4px 10px;
  border-radius: var(--rg-r-pill);
  background: rgba(24, 120, 240, 0.12);
  font-size: 0.6875rem; font-weight: 800;
  letter-spacing: 0.09em; text-transform: uppercase;
  color: var(--rg-blue-700);
}
.rg2-tier h4 {
  font-family: var(--rg-display);
  font-size: 1.125rem; font-weight: 700; letter-spacing: -0.03em;
  color: var(--rg-text);
  margin-bottom: 7px;
}
.rg2-tier p { font-size: 0.875rem; line-height: 1.58; color: var(--rg-body); margin-bottom: 12px; }
.rg2-tier a { display: inline-flex; align-items: center; min-height: 44px; font-size: 0.875rem; font-weight: 800; }

/* --- Objections --------------------------------------------------------- */
.rg2-obj {
  padding: 24px 22px;
  border-radius: var(--rg-r-lg);
  background: linear-gradient(155deg, #fff, var(--rg-surface-2));
  border: 1px solid var(--rg-border);
  border-left: 3px solid var(--rg-blue);
  box-shadow: var(--rg-sh-sm);
}
.rg-page .rg2-obj h3 {
  font-size: 1.0625rem; font-weight: 600; letter-spacing: -0.026em;
  margin-bottom: 9px;
  color: var(--rg-text);
}
.rg2-obj p { font-size: 0.9375rem; line-height: 1.65; }

/* --- Testimonial marquee ------------------------------------------------ */
.rg2-mq {
  --rg2-mq-gap: 16px;
  position: relative;
  margin-top: 22px;
  padding-block: 6px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
}
.rg2-mq__track {
  display: flex;
  align-items: stretch;
  gap: var(--rg2-mq-gap);
  width: max-content;
  padding: 6px 0 10px;
  animation: rg2-mq-scroll 60s linear infinite;
  will-change: transform;
}
.rg2-mq:hover .rg2-mq__track,
.rg2-mq:focus-within .rg2-mq__track { animation-play-state: paused; }
@keyframes rg2-mq-scroll {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(calc(-50% - (var(--rg2-mq-gap) / 2)), 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .rg2-mq { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .rg2-mq__track { animation: none; }
}
.rg2-tst__c {
  position: relative;
  margin: 0;
  flex: 0 0 clamp(272px, 80vw, 348px);
  max-width: clamp(272px, 80vw, 348px);
  display: flex; flex-direction: column; gap: 14px;
  padding: 26px 24px 22px;
  border-radius: var(--rg-r-lg);
  background: linear-gradient(168deg, #fff 0%, #fdfbf8 62%, #f7f9fd 100%);
  border: 1px solid var(--rg-border);
  box-shadow: var(--rg-sh-sm);
  transition: transform 0.4s var(--rg-ease), box-shadow 0.4s ease, border-color 0.4s ease;
}
.rg2-tst__c::before {
  content: "\201C";
  position: absolute;
  top: 6px; right: 18px;
  font-family: var(--rg-display);
  font-size: 5.5rem; line-height: 1;
  color: rgba(24, 120, 240, 0.09);
  pointer-events: none;
}
.rg2-tst__c:hover {
  transform: translateY(-4px);
  border-color: rgba(24, 120, 240, 0.26);
  box-shadow: var(--rg-sh-md);
}
.rg2-tst__stars { font-size: 0.8125rem; letter-spacing: 0.2em; color: #ffb020; }
.rg2-tst__c blockquote {
  margin: 0;
  font-family: var(--rg-display);
  font-size: 1rem; font-weight: 300; line-height: 1.68;
  letter-spacing: -0.015em;
  color: var(--rg-text);
}
.rg2-tst__c figcaption {
  display: flex; align-items: center; gap: 12px;
  margin-top: auto;
  padding-top: 15px;
  border-top: 1px solid var(--rg-border);
}
.rg2-tst__c figcaption > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.rg2-tst__c figcaption b { font-size: 0.875rem; font-weight: 800; color: var(--rg-text); }
.rg2-tst__c figcaption span span { font-size: 0.8125rem; color: var(--rg-muted); }
.rg2-tst__av {
  display: grid; place-items: center;
  width: 42px; height: 42px;
  border-radius: 999px;
  background: linear-gradient(140deg, var(--rg-blue), var(--rg-navy));
  font-family: var(--rg-display);
  font-size: 0.875rem; font-weight: 700; color: #fff;
  flex: 0 0 auto;
}

/* --- Form section extras ------------------------------------------------ */
.rg2-form-alt {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px;
  margin-top: 4px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 0.875rem; color: var(--rg-on-dark-mute);
}
.rg-page .rg2-form-alt a { display: inline-flex; align-items: center; min-height: 44px; color: #fff; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.rg-page .rg2-form-alt a:hover { color: var(--rg-blue-300); }

/* --- Sticky bar: CTA + call + WhatsApp ---------------------------------- */
.rg-bar { grid-template-columns: 1fr auto auto; }
.rg-bar__cta { font-size: 0.875rem; padding: 13px 14px; }
.rg-bar__tel {
  display: grid; place-items: center;
  width: 52px; height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rg-blue), var(--rg-navy));
  box-shadow: var(--rg-sh-blue);
  flex: 0 0 auto;
}
.rg-bar__tel svg { width: 22px; height: 22px; }

/* ==========================================================================
   22. v2 — 640px and up
   ========================================================================== */
@media (min-width: 640px) {
  .rg2-trust { padding: 26px 26px; }
  .rg2-trust__stats { grid-template-columns: repeat(3, 1fr); gap: 22px; }
  .rg2-lead { padding: 26px 24px 24px; }
  .rg2-lead__micro li { font-size: 0.75rem; gap: 6px; }
  .rg2-tiers { grid-template-columns: repeat(3, 1fr); }
  .rg2-shot { width: 340px; }
  .rg2-nav__cta { display: inline-flex; }
  .rg2-ticks { display: flex; flex-wrap: wrap; gap: 10px 18px; }
  .rg2-ticks li { font-size: 0.875rem; }
}

/* ==========================================================================
   23. v2 — 900px and up
   ========================================================================== */
@media (min-width: 900px) {
  .rg2-head { padding: 14px 0; }
  .rg2-pill { height: 62px; }
  .rg2-pill--logo { padding: 0 24px 0 12px; gap: 11px; }
  .rg2-pill--logo img { height: 32px; }
  .rg2-wordmark { font-size: 1.1875rem; }
  .rg2-pill--nav { padding: 0 8px 0 12px; }
  .rg2-nav { display: flex; }
  .rg2-burger { display: none; }
  .rg2-menu { display: none; }

  .rg2-hero { padding: clamp(104px, 10vw, 124px) var(--rg-gutter) clamp(76px, 8vw, 104px); }
  .rg2-hero__in { grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr); gap: clamp(32px, 4vw, 60px); align-items: stretch; }
  .rg-page .rg2-hero h1 { font-size: clamp(2rem, 3.5vw, 3.25rem); }
  .rg2-hero__copy { gap: 22px; justify-content: center; }
  .rg2-hero__proof { font-size: 0.9375rem; }
  .rg2-lead { padding: 30px 28px 26px; }

  .rg2-trustwrap { margin-top: -58px; }
  .rg2-trust { flex-direction: row; align-items: center; gap: 32px; padding: 28px 32px; }
  .rg2-trust__stats { flex: 1 1 auto; grid-template-columns: repeat(5, 1fr); gap: 24px; }
  .rg2-trust__line {
    flex: 0 0 clamp(240px, 26%, 320px);
    padding-top: 0;
    padding-left: 32px;
    border-top: 0;
    border-left: 1px solid var(--rg-border);
    font-size: 0.8438rem;
  }

  .rg2-rail__scroll { justify-content: center; overflow: visible; }
  .rg2-shot { width: auto; flex: 1 1 0; min-width: 0; }

  .rg2-tf__grid { grid-template-columns: 1fr auto 1fr; gap: 22px; }
  .rg2-tf__arrow { width: 52px; height: 52px; }
  .rg2-tf__arrow svg { transform: rotate(-90deg); }

  .rg2-proc { grid-template-columns: repeat(5, 1fr); gap: 18px; }
  .rg2-proc__i { grid-template-columns: 1fr; gap: 14px; padding-bottom: 0; }
  .rg2-proc__i::before {
    left: 56px; right: -18px; top: 23px; bottom: auto;
    width: auto; height: 2px;
    background: linear-gradient(90deg, rgba(124, 192, 255, 0.45), rgba(124, 192, 255, 0.08));
  }

  .rg2-offer { grid-template-columns: 1.35fr 0.65fr; }
  .rg2-offer__main { padding: 36px 34px; }
  .rg2-offer__list { grid-template-columns: repeat(2, 1fr); gap: 12px 24px; }
  .rg2-offer__side { padding: 36px 30px; }
  .rg2-tiers { margin-top: 16px; }

  .rg2-tst__c { flex-basis: 360px; max-width: 360px; padding: 26px 24px; }
}

/* ==========================================================================
   24. v2 — 1280px and up
   ========================================================================== */
@media (min-width: 1280px) {
  .rg-page .rg2-hero h1 { font-size: 3.5rem; }
  .rg2-hero__lede { font-size: 1.125rem; }
  .rg2-tst__c { flex-basis: 384px; max-width: 384px; }
  .rg2-tstat__n { font-size: 1.875rem; }
  .rg-page .rg2-nav a { padding: 0 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .rg2-hero__glow { animation: none; }
}

/* ==========================================================================
   25. Suppress the shared theme's floating widgets on this page
   -------------------------------------------------------------------------
   footer.php (shared sitewide, on purpose — same footer as the rest of the
   site) also renders three fixed-position overlays that were never part of
   this page's approved design: a left-edge social icon rail, a bottom-right
   "Free consultation" + WhatsApp floating button, and a mobile action bar.
   All three duplicate or collide with this page's own sticky CTA bar
   (#rg-bar) and hero WhatsApp button. Hidden here rather than in footer.php
   itself, since this stylesheet only loads on this template — every other
   page keeps the widgets exactly as before.
   ========================================================================== */
#rg-social-rail,
#rg-float,
#rg-mobar {
  display: none !important;
}

