.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-kadence1:#82C6E8;--e-global-color-kadence2:#8EB8CE;--e-global-color-kadence3:#C77D62;--e-global-color-kadence4:#D16B47;--e-global-color-kadence5:#C25B42;--e-global-color-kadence6:#B24C40;--e-global-color-kadence7:#A03C3D;--e-global-color-kadence8:#902D3B;--e-global-color-kadence9:#000000;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6.el-is-editing{--global-palette1:#82C6E8;--global-palette2:#8EB8CE;--global-palette3:#C77D62;--global-palette4:#D16B47;--global-palette5:#C25B42;--global-palette6:#B24C40;--global-palette7:#A03C3D;--global-palette8:#902D3B;--global-palette9:#000000;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================
   REJUV HEALTH — CUSTOM CSS
   Paste into: Elementor → Site Settings → Custom CSS
   Version: 3.0 · 2026-04-24 — v3 Design Overhaul
   Changes from v2:
     - H2 bumped to 56/36px, weight 800
     - Eyebrow labels: 14px, 0.15em, uppercase, tighter rhythm
     - New section classes: --cream (#FDF7F2), --black, --wine-solid
     - Hero now wine-solid background with white text + orange CTA
     - Final CTA section: black background, white text, orange CTA
     - Testimonial pull quotes: 24px italic
     - Tighter section rhythm, clearer eyebrow → H2 → body cascade
     - How-SoftWave-Works section uses solid #E8F4FA (not tinted rgba)
   ============================================================ */

/* ---- 1. CSS Variables (logo spectrum + black + section bgs) ---- */
:root {
  /* Cool end */
  --rjv-sky: #82C6E8;
  --rjv-sky-solid: #E8F4FA;   /* Solid sky tint for How-It-Works section */
  --rjv-blue-mist: #8EB8CE;

  /* Warm transition */
  --rjv-peach: #C77D62;
  --rjv-cream: #FDF7F2;       /* Warm cream for problem / lead / faq */

  /* Warm end */
  --rjv-orange: #D16B47;
  --rjv-coral: #C25B42;
  --rjv-terracotta: #B24C40;
  --rjv-red-deep: #A03C3D;
  --rjv-wine: #902D3B;

  /* Neutrals */
  --rjv-black: #000000;
  --rjv-white: #FFFFFF;
  --rjv-gray-line: #4A4B4B;

  /* Tints */
  --rjv-sky-tint: rgba(130, 198, 232, 0.12);
  --rjv-peach-tint: rgba(199, 125, 98, 0.15);
  --rjv-wine-line: rgba(255, 255, 255, 0.15);

  --rjv-error: #902D3B;

  /* Type */
  --rjv-font-head: 'Poppins', system-ui, sans-serif;
  --rjv-font-body: 'Inter', system-ui, sans-serif;
}

/* ---- 2. Global base ---- */
body {
  background: var(--rjv-white);
  color: var(--rjv-black);
  font-family: var(--rjv-font-body);
  font-size: 20px;
  line-height: 1.65;
}

h1 {
  font-family: var(--rjv-font-head);
  color: var(--rjv-wine);
  font-weight: 800;
  font-size: 64px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin: 0 0 24px 0;
}
@media (max-width: 767px) {
  h1 { font-size: 40px; }
}

h2 {
  font-family: var(--rjv-font-head);
  color: var(--rjv-red-deep);
  font-weight: 800;
  font-size: 56px;
  line-height: 1.15;
  letter-spacing: -0.005em;
  margin: 0 0 20px 0;
}
@media (max-width: 767px) {
  h2 { font-size: 36px; }
}

h3 {
  font-family: var(--rjv-font-head);
  color: var(--rjv-wine);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.25;
  margin: 0 0 16px 0;
}
@media (max-width: 767px) {
  h3 { font-size: 24px; }
}

h4 {
  font-family: var(--rjv-font-head);
  color: var(--rjv-terracotta);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.3;
  margin: 0 0 12px 0;
}

h5, h6 {
  font-family: var(--rjv-font-head);
  color: var(--rjv-terracotta);
  font-weight: 600;
}

p, li, span {
  color: var(--rjv-black);
}

p {
  font-size: 20px;
  line-height: 1.65;
  margin: 0 0 18px 0;
}

a {
  color: var(--rjv-wine);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
a:hover {
  color: var(--rjv-red-deep);
}

/* ---- 3. Eyebrow label (required above every H2) ---- */
.rjv-eyebrow {
  font-family: var(--rjv-font-head);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--rjv-wine);
  margin: 0 0 14px 0;
  display: inline-block;
  line-height: 1.2;
}

/* ---- 4. Primary CTA button (Orange → Terracotta hover) ---- */
.rjv-btn-primary,
.elementor-button.rjv-btn-primary {
  background: var(--rjv-orange);
  color: var(--rjv-white);
  font-family: var(--rjv-font-head);
  font-weight: 700;
  font-size: 18px;
  padding: 18px 36px;
  border-radius: 12px;
  border: none;
  transition: all 200ms ease;
  display: inline-block;
  text-decoration: none;
  line-height: 1;
  letter-spacing: 0.01em;
}
.rjv-btn-primary:hover,
.elementor-button.rjv-btn-primary:hover {
  background: var(--rjv-terracotta);
  color: var(--rjv-white);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(144, 45, 59, 0.25);
}

/* Large primary CTA (for final CTA and offer sections) */
.rjv-btn-primary--lg,
.elementor-button.rjv-btn-primary--lg {
  font-size: 20px;
  padding: 22px 44px;
}

/* ---- 5. Secondary CTA button (Sky outline + Wine text) ---- */
.rjv-btn-secondary,
.elementor-button.rjv-btn-secondary {
  background: transparent;
  color: var(--rjv-wine);
  border: 2px solid var(--rjv-sky);
  padding: 16px 32px;
  border-radius: 12px;
  font-family: var(--rjv-font-head);
  font-weight: 700;
  font-size: 18px;
  transition: all 200ms ease;
  display: inline-block;
  text-decoration: none;
  line-height: 1;
}
.rjv-btn-secondary:hover,
.elementor-button.rjv-btn-secondary:hover {
  background: var(--rjv-sky);
  color: var(--rjv-wine);
  border-color: var(--rjv-sky);
}

/* ---- 6. Honesty Promise box ---- */
.rjv-honesty-box {
  background: var(--rjv-white);
  border: 2px solid var(--rjv-sky);
  border-radius: 16px;
  padding: 40px;
  max-width: 720px;
  margin: 32px auto;
}
.rjv-honesty-box h3 {
  font-family: var(--rjv-font-head);
  font-weight: 800;
  font-size: 32px;
  color: var(--rjv-wine);
  margin: 0 0 20px 0;
}
.rjv-honesty-box p {
  font-family: var(--rjv-font-body);
  font-weight: 500;
  font-size: 20px;
  color: var(--rjv-black);
  margin: 0 0 14px 0;
}
.rjv-honesty-box em {
  display: block;
  margin-top: 20px;
  font-style: italic;
  color: var(--rjv-gray-line);
  font-size: 18px;
}
/* On wine-solid sections the box inverts */
.rjv-section--wine-solid .rjv-honesty-box,
.rjv-section--black .rjv-honesty-box {
  background: rgba(255, 255, 255, 0.06);
  border-color: var(--rjv-sky);
}
.rjv-section--wine-solid .rjv-honesty-box h3,
.rjv-section--black .rjv-honesty-box h3 {
  color: var(--rjv-sky);
}
.rjv-section--wine-solid .rjv-honesty-box p,
.rjv-section--black .rjv-honesty-box p,
.rjv-section--wine-solid .rjv-honesty-box em,
.rjv-section--black .rjv-honesty-box em {
  color: var(--rjv-white);
}

/* ---- 7. Testimonial card ---- */
.rjv-testimonial-card {
  background: var(--rjv-white);
  border-left: 4px solid var(--rjv-wine);
  border-radius: 16px;
  padding: 36px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  margin-bottom: 24px;
}
.rjv-testimonial-card blockquote {
  font-family: var(--rjv-font-body);
  font-size: 24px;
  font-style: italic;
  line-height: 1.55;
  color: var(--rjv-black);
  margin: 0 0 20px 0;
  padding: 0;
  border: none;
}
@media (max-width: 767px) {
  .rjv-testimonial-card blockquote { font-size: 20px; }
}
.rjv-testimonial-card cite {
  font-family: var(--rjv-font-head);
  font-weight: 700;
  font-size: 16px;
  color: var(--rjv-red-deep);
  font-style: normal;
  display: block;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* ---- 8. Trust strip ---- */
.rjv-trust-strip {
  background: var(--rjv-sky-solid);
  font-family: var(--rjv-font-body);
  font-weight: 500;
  font-size: 16px;
  color: var(--rjv-black);
  text-align: center;
  padding: 18px 24px;
  border-radius: 8px;
  margin: 24px 0;
}
.rjv-trust-strip span {
  margin: 0 10px;
  color: var(--rjv-red-deep);
  font-weight: 600;
}

/* SoftWave authorized-provider trust strip (logo + text) */
.rjv-trust-strip--softwave {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  background: var(--rjv-white);
  border: 1px solid var(--rjv-sky);
  padding: 20px 28px;
}
.rjv-trust-strip--softwave img {
  max-height: 38px;
  width: auto;
}
.rjv-trust-strip--softwave .rjv-trust-text {
  font-family: var(--rjv-font-head);
  font-weight: 600;
  color: var(--rjv-wine);
  font-size: 15px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* ---- 9. Scarcity notice ---- */
.rjv-scarcity {
  font-family: var(--rjv-font-body);
  font-weight: 600;
  font-size: 18px;
  color: var(--rjv-wine);
  text-align: center;
  margin: 24px 0;
}
.rjv-section--wine-solid .rjv-scarcity,
.rjv-section--black .rjv-scarcity {
  color: var(--rjv-sky);
}

/* ---- 10. NEEDS INPUT placeholder styling ---- */
.rjv-needs-input {
  display: inline-block;
  padding: 2px 8px;
  background: rgba(144, 45, 59, 0.08);
  color: var(--rjv-wine);
  border: 1px dashed var(--rjv-wine);
  border-radius: 4px;
  font-family: monospace;
  font-size: 14px;
  font-weight: 600;
}

/* ---- 11. Sticky mobile CTA bar (Orange) ---- */
.rjv-sticky-mobile-cta {
  display: none;
}
@media (max-width: 767px) {
  .rjv-sticky-mobile-cta {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: var(--rjv-orange);
    height: 60px;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.18);
  }
  .rjv-sticky-mobile-cta a {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rjv-white);
    text-decoration: none;
    font-family: var(--rjv-font-head);
    font-weight: 700;
    font-size: 18px;
  }
  .rjv-sticky-mobile-cta a.call {
    flex: 0 0 40%;
    border-left: 1px solid rgba(255, 255, 255, 0.4);
    font-weight: 600;
  }
  body {
    padding-bottom: 60px;
  }
}

/* ---- 12. Problem section bullet clusters ---- */
.rjv-bullet-cluster h4 {
  font-family: var(--rjv-font-head);
  font-weight: 700;
  font-size: 22px;
  color: var(--rjv-red-deep);
  margin: 24px 0 12px 0;
}
.rjv-bullet-cluster ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.rjv-bullet-cluster li {
  font-family: var(--rjv-font-body);
  font-weight: 400;
  font-size: 18px;
  color: var(--rjv-black);
  padding: 8px 0 8px 28px;
  position: relative;
}
.rjv-bullet-cluster li:before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--rjv-orange);
  font-weight: 700;
}

/* ---- 13. Benefit card ---- */
.rjv-benefit-card {
  background: var(--rjv-white);
  border: 1px solid var(--rjv-sky);
  border-radius: 12px;
  padding: 28px;
  margin-bottom: 16px;
  transition: all 200ms ease;
}
.rjv-benefit-card:hover {
  border-color: var(--rjv-orange);
  box-shadow: 0 4px 16px rgba(209, 107, 71, 0.12);
  transform: translateY(-2px);
}
.rjv-benefit-card h4 {
  color: var(--rjv-wine);
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 10px 0;
}
.rjv-benefit-card p {
  color: var(--rjv-black);
  font-size: 17px;
  line-height: 1.5;
  margin: 0;
}

/* ---- 14. Transition line (between Problem and Solution) ---- */
.rjv-transition {
  font-family: var(--rjv-font-body);
  font-weight: 500;
  font-size: 24px;
  font-style: italic;
  color: var(--rjv-wine);
  text-align: center;
  margin: 56px 0;
}

/* ---- 15. Checkmark list (Offer section) ---- */
.rjv-check-list {
  list-style: none;
  padding: 0;
  margin: 24px 0;
}
.rjv-check-list li {
  font-family: var(--rjv-font-body);
  font-size: 19px;
  color: var(--rjv-black);
  padding: 10px 0 10px 36px;
  position: relative;
}
.rjv-check-list li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 10px;
  color: var(--rjv-orange);
  font-weight: 700;
  font-size: 22px;
}

/* ---- 16. Footer (Wine bg, white text, Sky link hovers) ---- */
.rjv-footer {
  background: var(--rjv-wine);
  color: var(--rjv-white);
  padding: 48px 0 24px 0;
  font-family: var(--rjv-font-body);
  font-size: 16px;
}
.rjv-footer h4 {
  color: var(--rjv-white);
  font-family: var(--rjv-font-head);
  font-weight: 700;
  font-size: 20px;
  margin: 0 0 12px 0;
}
.rjv-footer p,
.rjv-footer li,
.rjv-footer span {
  color: var(--rjv-white);
}
.rjv-footer a {
  color: var(--rjv-white);
  text-decoration: none;
}
.rjv-footer a:hover {
  color: var(--rjv-sky);
  text-decoration: underline;
}
.rjv-footer-bottom {
  border-top: 1px solid var(--rjv-wine-line);
  padding-top: 16px;
  margin-top: 32px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
}

/* ---- 17. Hero full-viewport — WINE background, white copy, orange CTA ---- */
.rjv-hero {
  min-height: 720px;
  display: flex;
  align-items: center;
  background: var(--rjv-wine);
  padding: 96px 0;
  color: var(--rjv-white);
}
.rjv-hero h1 {
  color: var(--rjv-white);
}
.rjv-hero p,
.rjv-hero li,
.rjv-hero span {
  color: var(--rjv-white);
}
.rjv-hero .rjv-eyebrow {
  color: var(--rjv-sky);
}
@media (max-width: 767px) {
  .rjv-hero {
    min-height: 100vh;
    padding: 64px 0;
  }
}

/* ---- 18. Section spacing + alternating backgrounds ---- */
.rjv-section {
  padding: 96px 0;
}
.rjv-section--sky {
  background: var(--rjv-sky-solid);
}
.rjv-section--cream {
  background: var(--rjv-cream);
}
.rjv-section--peach {
  background: var(--rjv-peach-tint);
}
.rjv-section--wine,
.rjv-section--wine-solid {
  background: var(--rjv-wine);
}
.rjv-section--black {
  background: var(--rjv-black);
}

/* Dark sections: invert text + eyebrow colors */
.rjv-section--wine h1,
.rjv-section--wine h2,
.rjv-section--wine h3,
.rjv-section--wine h4,
.rjv-section--wine p,
.rjv-section--wine li,
.rjv-section--wine span,
.rjv-section--wine-solid h1,
.rjv-section--wine-solid h2,
.rjv-section--wine-solid h3,
.rjv-section--wine-solid h4,
.rjv-section--wine-solid p,
.rjv-section--wine-solid li,
.rjv-section--wine-solid span,
.rjv-section--black h1,
.rjv-section--black h2,
.rjv-section--black h3,
.rjv-section--black h4,
.rjv-section--black p,
.rjv-section--black li,
.rjv-section--black span {
  color: var(--rjv-white);
}
.rjv-section--wine .rjv-eyebrow,
.rjv-section--wine-solid .rjv-eyebrow,
.rjv-section--black .rjv-eyebrow {
  color: var(--rjv-sky);
}

@media (max-width: 767px) {
  .rjv-section {
    padding: 64px 0;
  }
}

/* ---- 19. Max content width ---- */
.rjv-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ---- 20. FAQ accordion polish ---- */
.elementor-accordion .elementor-accordion-item {
  border: 1px solid var(--rjv-sky);
  border-radius: 8px;
  margin-bottom: 12px;
  overflow: hidden;
  background: var(--rjv-white);
}
.elementor-accordion .elementor-tab-title {
  font-family: var(--rjv-font-head);
  font-weight: 700;
  font-size: 22px;
  color: var(--rjv-wine);
  padding: 22px 26px;
  background: var(--rjv-sky-solid);
}
.elementor-accordion .elementor-tab-title.elementor-active {
  background: var(--rjv-sky);
  color: var(--rjv-wine);
}
.elementor-accordion .elementor-tab-content {
  font-family: var(--rjv-font-body);
  font-weight: 400;
  font-size: 19px;
  color: var(--rjv-black);
  padding: 18px 26px 26px 26px;
  line-height: 1.65;
  background: var(--rjv-white);
}

/* ---- 21. Logo-gradient divider rule (optional accent) ---- */
.rjv-gradient-rule {
  height: 3px;
  border: none;
  background: linear-gradient(
    90deg,
    var(--rjv-sky) 0%,
    var(--rjv-blue-mist) 20%,
    var(--rjv-peach) 45%,
    var(--rjv-orange) 60%,
    var(--rjv-coral) 75%,
    var(--rjv-red-deep) 90%,
    var(--rjv-wine) 100%
  );
  margin: 48px auto;
  max-width: 320px;
  border-radius: 3px;
}

/* ---- 22. Header (White, with logo image) ---- */
.rjv-header {
  background: var(--rjv-white);
  padding: 16px 0;
  border-bottom: 1px solid var(--rjv-sky-tint);
}
.rjv-header img.logo {
  max-height: 52px;
  width: auto;
  display: block;
}

/* ---- 23. How SoftWave Works section (light-bulb section) ---- */
.rjv-how-works {
  text-align: center;
  max-width: 820px;
  margin: 0 auto;
}
.rjv-how-works h2 {
  color: var(--rjv-wine);
  margin-bottom: 24px;
}
.rjv-how-works p {
  font-size: 21px;
  line-height: 1.65;
  color: var(--rjv-black);
}

/* ---- 24. Price tag (offer section) ---- */
.rjv-price-tag {
  font-family: var(--rjv-font-head);
  font-weight: 800;
  font-size: 96px;
  line-height: 1;
  color: var(--rjv-orange);
  margin: 16px 0;
  letter-spacing: -0.02em;
}
@media (max-width: 767px) {
  .rjv-price-tag { font-size: 64px; }
}
.rjv-section--wine-solid .rjv-price-tag,
.rjv-section--black .rjv-price-tag {
  color: var(--rjv-sky);
}


/* End of Rejuv v3 CSS — 24 sections complete */

/* rebuild 1777069849590 */

/* ===== POLISH ADDITIONS — appended 2026-04-28 ===== */
/* ============================================================
 * Rejuv Health â v3 Polish Additions
 * Date: 2026-04-28
 * Purpose: Append to existing kit-6 custom_css to push site to Grade A
 * Strategy: Win specificity battle against Elementor widget-level overrides
 *           without rewriting any of the existing 24-section CSS.
 * Total: ~120 lines, drops on top of rejuv-custom-css.css
 * ============================================================ */

/* ---- 25. Force kit-level H2 typography over widget overrides ---- */
/* Original build hardcoded H2 at 40px on every Elementor heading widget.
   These .elementor-kit-6s out-specify those widget styles without using a global
   !important nuke. Targets Elementor's own widget heading structure. */

.elementor-widget-heading .elementor-heading-title,
.elementor-widget.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget.elementor-widget-heading h2 {
  font-family: var(--rjv-font-head);
  font-weight: 800;
  font-size: 56px;
  line-height: 1.15;
  letter-spacing: -0.005em;
  color: var(--rjv-red-deep);
}
@media (max-width: 767px) {
  .elementor-widget-heading .elementor-heading-title,
  .elementor-widget.elementor-widget-heading h2.elementor-heading-title,
  .elementor-widget.elementor-widget-heading h2 {
    font-size: 36px;
    line-height: 1.2;
  }
}

/* H1 hero override â match same specificity discipline */
.elementor-widget-heading h1.elementor-heading-title {
  font-family: var(--rjv-font-head);
  font-weight: 800;
  font-size: 64px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--rjv-wine);
}
@media (max-width: 767px) {
  .elementor-widget-heading h1.elementor-heading-title {
    font-size: 40px;
    line-height: 1.15;
  }
}

/* On wine-solid and black sections, headings invert to cream */
.rjv-section--wine .elementor-widget-heading .elementor-heading-title,
.rjv-section--wine-solid .elementor-widget-heading .elementor-heading-title,
.rjv-section--black .elementor-widget-heading .elementor-heading-title {
  color: var(--rjv-cream);
}

/* On peach sections, H2 shifts to wine for readability */
.rjv-section--peach .elementor-widget-heading h2.elementor-heading-title,
.rjv-section--peach .elementor-widget-heading h2 {
  color: var(--rjv-wine);
}

/* ---- 26. Section breathing room rhythm ---- */
/* Adds vertical breathing space between alternating sections â Grade A pages
   feel like they're paced, not crammed. Rhythm: 96px desktop / 64px mobile. */
.elementor-section.rjv-section--white,
.elementor-section.rjv-section--sky,
.elementor-section.rjv-section--sky-solid,
.elementor-section.rjv-section--cream,
.elementor-section.rjv-section--peach,
.elementor-section.rjv-section--wine,
.elementor-section.rjv-section--wine-solid,
.elementor-section.rjv-section--black {
  padding-top: 96px;
  padding-bottom: 96px;
}
@media (max-width: 767px) {
  .elementor-section.rjv-section--white,
  .elementor-section.rjv-section--sky,
  .elementor-section.rjv-section--sky-solid,
  .elementor-section.rjv-section--cream,
  .elementor-section.rjv-section--peach,
  .elementor-section.rjv-section--wine,
  .elementor-section.rjv-section--wine-solid,
  .elementor-section.rjv-section--black {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}

/* Hero section gets even more drama */
.elementor-section.rjv-section--white#s01hero0,
.elementor-section[data-id="s01hero0"] {
  padding-top: 120px;
  padding-bottom: 120px;
}

/* ---- 27. Image polish â Grade A treatment ---- */
/* All photo widgets get subtle warmth + soft corner + responsive scaling.
   Key insight: hard right-angle photos look "templated"; soft 12-16px
   radius reads as "thoughtful design." */
.elementor-widget-image img,
.elementor-widget-theme-post-featured-image img {
  border-radius: 16px;
  object-fit: cover;
  max-width: 100%;
  height: auto;
}

/* Hero image gets larger radius + lift shadow */
#hero .elementor-widget-image img,
#s01hero0 .elementor-widget-image img {
  border-radius: 20px;
  box-shadow: 0 20px 60px -20px rgba(144, 45, 59, 0.25);
}

/* Decorative SoftWave illustrations stay sharp (no radius) */
.elementor-widget-image img[src*="softwavetrt.com"][src*="50-x-50"],
.elementor-widget-image img[alt*="badge"],
.elementor-widget-image img[alt*="logo"] {
  border-radius: 0;
  box-shadow: none;
}

/* ---- 28. Eyebrow + H2 vertical rhythm ---- */
/* Tightens the gap between eyebrow label and H2 below it.
   Default Elementor margins create awkward 30-40px gaps; we want 8-12px. */
.rjv-eyebrow + .elementor-widget-heading,
.elementor-widget:has(.rjv-eyebrow) + .elementor-widget-heading {
  margin-top: 8px;
}

/* ---- 29. Anchor link offset for sticky header ---- */
/* When users click in-page anchors (#hero, #problem, etc.), prevent
   the sticky header from covering the section heading. */
[id="hero"],
[id="problem"],
[id="solution"],
[id="how-it-works"],
[id="benefits"],
[id="social-proof"],
[id="offer"],
[id="contact"],
[id="faq"],
[id="final-cta"] {
  scroll-margin-top: 96px;
}

/* ---- 30. Smooth scroll behavior ---- */
html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* ---- 31. Print-friendly (when prospects print the offer page) ---- */
@media print {
  .rjv-sticky-mobile-cta,
  header.elementor-location-header,
  footer.elementor-location-footer { display: none !important; }
  body { font-size: 11pt; line-height: 1.4; }
  .elementor-section { page-break-inside: avoid; padding: 12pt 0; }
  a[href]:after { content: " (" attr(href) ")"; font-size: 9pt; color: #555; }
}

/* ---- 32. Focus states for keyboard navigation (a11y Grade A) ---- */
.rjv-btn-primary:focus-visible,
.rjv-btn-secondary:focus-visible,
a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--rjv-sky);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ---- 33. Reduced motion respect ---- */
@media (prefers-reduced-motion: reduce) {
  .rjv-btn-primary,
  .rjv-benefit-card,
  *[class*="elementor-animation"] {
    transition: none !important;
    animation: none !important;
  }
}

/* polish-deploy-1777379595409 */

/* ===== V4 REDESIGN SYSTEM — appended 2026-04-28 ===== */
/* ============================================================
 * Rejuv Health â v4 Redesign System
 * Date: 2026-04-28
 * Inspiration: Callaway methodology via harvestkernel.com
 * Approach: Mixed cinematic+warm+cinematic for full-demographic appeal
 * ============================================================ */

/* ---- 34. Cinematic dark section variants ---- */
/* For hero, fear sections, and final close. Wine-deep + near-black + dramatic overlays. */
.rjv-section--wine-deep {
  background-color: #5C1F2A; /* deeper than wine-solid */
  color: var(--rjv-cream);
}
.rjv-section--charcoal {
  background-color: #1F1A1A;
  color: var(--rjv-cream);
}
.rjv-section--wine-deep h1, .rjv-section--wine-deep h2, .rjv-section--wine-deep h3,
.rjv-section--wine-deep h4, .rjv-section--wine-deep p, .rjv-section--wine-deep li,
.rjv-section--wine-deep span, .rjv-section--wine-deep blockquote,
.rjv-section--charcoal h1, .rjv-section--charcoal h2, .rjv-section--charcoal h3,
.rjv-section--charcoal h4, .rjv-section--charcoal p, .rjv-section--charcoal li,
.rjv-section--charcoal span, .rjv-section--charcoal blockquote {
  color: var(--rjv-cream);
}

/* ---- 35. Cinematic Hero ---- */
/* Full-bleed photo background, dark gradient overlay, big serif headline */
.rjv-hero-cinematic {
  position: relative;
  min-height: 720px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.rjv-hero-cinematic::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(28, 12, 18, 0.82) 0%, rgba(60, 25, 35, 0.55) 50%, rgba(144, 45, 59, 0.65) 100%);
  z-index: 1;
}
.rjv-hero-cinematic > * {
  position: relative;
  z-index: 2;
}
.rjv-hero-eyebrow {
  display: inline-block;
  padding: 8px 16px;
  background: rgba(130, 198, 232, 0.15);
  border: 1px solid rgba(130, 198, 232, 0.4);
  border-radius: 4px;
  color: var(--rjv-sky);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.rjv-hero-cinematic h1 {
  font-size: clamp(36px, 5.5vw, 72px) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  color: var(--rjv-cream) !important;
  letter-spacing: -0.02em;
  text-shadow: 0 4px 24px rgba(0,0,0,0.4);
  margin: 0 0 24px 0 !important;
  max-width: 880px;
}
.rjv-hero-cinematic h1 em {
  color: var(--rjv-sky);
  font-style: normal;
  font-weight: 800;
}
.rjv-hero-cinematic .rjv-hero-sub {
  font-size: clamp(18px, 1.6vw, 22px);
  line-height: 1.5;
  color: rgba(253, 247, 242, 0.92);
  max-width: 640px;
  margin: 0 0 36px 0;
}
.rjv-hero-cinematic .rjv-btn-primary {
  font-size: 18px;
  padding: 18px 36px;
  border-radius: 8px;
  box-shadow: 0 8px 32px -8px rgba(209, 107, 71, 0.6);
  transform: translateZ(0);
}
.rjv-hero-trust-line {
  margin-top: 24px;
  font-size: 14px;
  color: rgba(253, 247, 242, 0.7);
  letter-spacing: 0.04em;
}
.rjv-hero-trust-line strong { color: var(--rjv-sky); }

/* ---- 36. Credibility Strip ---- */
/* Sits directly under hero. 4 quick proofs, icon+text, on cream */
.rjv-cred-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  padding: 32px 24px;
  background: var(--rjv-cream);
  border-bottom: 1px solid rgba(144, 45, 59, 0.12);
}
.rjv-cred-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: var(--rjv-wine);
  font-weight: 600;
}
.rjv-cred-item .rjv-cred-icon {
  font-size: 24px;
  line-height: 1;
  color: var(--rjv-orange);
  flex-shrink: 0;
}
@media (max-width: 900px) {
  .rjv-cred-strip {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}

/* ---- 37. Empathy Mirror Cards ---- */
/* "Sound familiar?" â italic patient inner-monologue on dark glass cards */
.rjv-empathy-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 32px;
}
.rjv-empathy-card {
  padding: 28px 32px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  font-style: italic;
  font-size: 19px;
  line-height: 1.55;
  color: rgba(253, 247, 242, 0.85);
  position: relative;
  transition: all 0.3s ease;
}
.rjv-empathy-card::before {
  content: "\201C";
  position: absolute;
  top: -8px;
  left: 16px;
  font-size: 56px;
  color: var(--rjv-sky);
  opacity: 0.4;
  font-family: Georgia, serif;
  line-height: 1;
}
.rjv-empathy-card:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(130, 198, 232, 0.3);
  transform: translateY(-2px);
}
@media (max-width: 768px) {
  .rjv-empathy-grid { grid-template-columns: 1fr; gap: 16px; }
  .rjv-empathy-card { font-size: 17px; padding: 24px 28px; }
}

/* ---- 38. Two Paths â K-Shape Fear Section ---- */
/* Two columns side-by-side: left = wait/decline (red), right = act/improve (sky/green-ish) */
.rjv-two-paths {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-top: 40px;
}
.rjv-path-card {
  padding: 32px;
  border-radius: 16px;
  border: 2px solid;
  position: relative;
}
.rjv-path-decline {
  background: rgba(160, 60, 61, 0.08);
  border-color: rgba(160, 60, 61, 0.25);
}
.rjv-path-rise {
  background: rgba(130, 198, 232, 0.08);
  border-color: rgba(130, 198, 232, 0.4);
}
.rjv-path-card h3 {
  font-size: 22px;
  margin: 0 0 16px 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.rjv-path-decline h3 { color: var(--rjv-red-deep); }
.rjv-path-rise h3 { color: var(--rjv-wine); }
.rjv-path-arrow {
  font-size: 28px;
  font-weight: 800;
}
.rjv-path-decline .rjv-path-arrow { color: var(--rjv-red-deep); }
.rjv-path-rise .rjv-path-arrow { color: var(--rjv-orange); }
.rjv-path-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.rjv-path-card li {
  padding: 10px 0 10px 28px;
  position: relative;
  font-size: 16px;
  line-height: 1.5;
  border-bottom: 1px solid rgba(144, 45, 59, 0.08);
}
.rjv-path-card li:last-child { border-bottom: none; }
.rjv-path-decline li::before {
  content: "\2715";
  position: absolute;
  left: 0;
  top: 12px;
  color: var(--rjv-red-deep);
  font-weight: 800;
  font-size: 16px;
}
.rjv-path-rise li::before {
  content: "\2714";
  position: absolute;
  left: 0;
  top: 12px;
  color: var(--rjv-orange);
  font-weight: 800;
  font-size: 16px;
}
.rjv-paths-tagline {
  text-align: center;
  margin-top: 32px;
  font-size: 18px;
  font-style: italic;
  color: var(--rjv-wine);
  font-weight: 600;
}
@media (max-width: 900px) {
  .rjv-two-paths { grid-template-columns: 1fr; }
}

/* ---- 39. Where Does It Hurt â Audience Segmentation ---- */
.rjv-hurt-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 32px;
}
.rjv-hurt-card {
  padding: 32px 28px;
  background: var(--rjv-cream);
  border: 2px solid rgba(144, 45, 59, 0.1);
  border-radius: 16px;
  text-align: center;
  transition: all 0.3s ease;
  cursor: pointer;
}
.rjv-hurt-card:hover {
  border-color: var(--rjv-sky);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px -16px rgba(144, 45, 59, 0.2);
}
.rjv-hurt-icon {
  font-size: 56px;
  margin-bottom: 16px;
  display: block;
}
.rjv-hurt-card h3 {
  font-size: 22px;
  color: var(--rjv-wine);
  margin: 0 0 12px 0;
}
.rjv-hurt-card p {
  font-size: 15px;
  color: var(--rjv-red-deep);
  margin: 0 0 20px 0;
  line-height: 1.5;
}
.rjv-hurt-card .rjv-hurt-cta {
  font-weight: 700;
  color: var(--rjv-orange);
  text-decoration: none;
  font-size: 15px;
}
.rjv-hurt-card .rjv-hurt-cta::after { content: " \2192"; }
@media (max-width: 900px) {
  .rjv-hurt-grid { grid-template-columns: 1fr; }
}

/* ---- 40. Same Pain. Different Choice. â Before/After Columns ---- */
.rjv-choice-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin-top: 32px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 16px 48px -16px rgba(144, 45, 59, 0.25);
}
.rjv-choice-col {
  padding: 40px 32px;
}
.rjv-choice-without {
  background: linear-gradient(135deg, #2A1A1F 0%, #1A1014 100%);
  color: var(--rjv-cream);
}
.rjv-choice-with {
  background: linear-gradient(135deg, var(--rjv-cream) 0%, #FAEFE5 100%);
}
.rjv-choice-col h3 {
  font-size: 24px;
  margin: 0 0 8px 0;
}
.rjv-choice-without h3 { color: rgba(253, 247, 242, 0.95); }
.rjv-choice-with h3 { color: var(--rjv-wine); }
.rjv-choice-col .rjv-choice-tag {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.rjv-choice-without .rjv-choice-tag {
  background: rgba(160, 60, 61, 0.2);
  color: #FF8A8A;
}
.rjv-choice-with .rjv-choice-tag {
  background: rgba(209, 107, 71, 0.15);
  color: var(--rjv-orange);
}
.rjv-choice-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.rjv-choice-col li {
  padding: 12px 0 12px 32px;
  position: relative;
  font-size: 16px;
  line-height: 1.5;
}
.rjv-choice-without li::before {
  content: "\2715";
  position: absolute;
  left: 0;
  top: 12px;
  color: #FF8A8A;
  font-size: 18px;
  font-weight: 800;
}
.rjv-choice-with li::before {
  content: "\2714";
  position: absolute;
  left: 0;
  top: 12px;
  color: var(--rjv-orange);
  font-size: 18px;
  font-weight: 800;
}
@media (max-width: 768px) {
  .rjv-choice-grid { grid-template-columns: 1fr; }
}

/* ---- 41. Proof Counters ---- */
.rjv-counters {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 32px;
  padding: 40px 20px;
  background: linear-gradient(135deg, var(--rjv-cream) 0%, #F5E8DC 100%);
  border-radius: 16px;
}
.rjv-counter-item {
  text-align: center;
  padding: 0 12px;
}
.rjv-counter-num {
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 800;
  color: var(--rjv-wine);
  line-height: 1;
  letter-spacing: -0.02em;
  font-family: var(--rjv-font-head);
}
.rjv-counter-label {
  margin-top: 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rjv-red-deep);
}
@media (max-width: 900px) {
  .rjv-counters { grid-template-columns: 1fr 1fr; gap: 24px; padding: 32px 16px; }
}

/* ---- 42. Objection Killer ("What You're NOT Signing Up For") ---- */
.rjv-not-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 32px;
}
.rjv-not-card {
  padding: 24px 20px;
  background: rgba(160, 60, 61, 0.06);
  border: 1px solid rgba(160, 60, 61, 0.2);
  border-radius: 12px;
  text-align: center;
}
.rjv-not-card .rjv-not-icon {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  background: var(--rjv-red-deep);
  color: var(--rjv-cream);
  border-radius: 50%;
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 12px;
}
.rjv-not-card h4 {
  font-size: 16px;
  color: var(--rjv-wine);
  margin: 0;
  font-weight: 700;
}
@media (max-width: 900px) {
  .rjv-not-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .rjv-not-grid { grid-template-columns: 1fr; }
}

/* ---- 43. Vertical Timeline (Final Close) ---- */
.rjv-timeline {
  max-width: 720px;
  margin: 32px auto 40px;
  position: relative;
  padding-left: 32px;
}
.rjv-timeline::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 12px;
  bottom: 12px;
  width: 2px;
  background: linear-gradient(180deg, var(--rjv-sky) 0%, var(--rjv-orange) 100%);
}
.rjv-timeline-item {
  position: relative;
  padding-bottom: 24px;
  font-size: 16px;
  line-height: 1.5;
  color: var(--rjv-cream);
}
.rjv-timeline-item::before {
  content: "";
  position: absolute;
  left: -32px;
  top: 6px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--rjv-orange);
  border: 3px solid var(--rjv-cream);
  box-shadow: 0 0 0 4px rgba(209, 107, 71, 0.2);
}
.rjv-timeline-item strong {
  display: block;
  color: var(--rjv-sky);
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.rjv-timeline-tagline {
  text-align: center;
  font-size: 22px;
  color: var(--rjv-cream);
  font-weight: 700;
  margin: 32px 0 24px;
  letter-spacing: -0.01em;
}
.rjv-timeline-tagline em {
  color: var(--rjv-sky);
  font-style: normal;
}

/* ---- 44. Section eyebrow on dark variants ---- */
.rjv-section--wine-deep .rjv-eyebrow,
.rjv-section--charcoal .rjv-eyebrow {
  color: var(--rjv-sky);
  background: rgba(130, 198, 232, 0.12);
  border: 1px solid rgba(130, 198, 232, 0.3);
}

/* ---- 45. Big confident H2 on dark sections ---- */
.rjv-section--wine-deep h2,
.rjv-section--charcoal h2 {
  color: var(--rjv-cream) !important;
  font-size: clamp(32px, 4vw, 56px) !important;
  letter-spacing: -0.015em;
}
.rjv-section--wine-deep h2 em,
.rjv-section--charcoal h2 em {
  color: var(--rjv-sky);
  font-style: normal;
}

/* ---- 46. CTA mega-button (final close) ---- */
.rjv-btn-mega {
  display: inline-block;
  font-size: 20px;
  font-weight: 800;
  padding: 22px 48px;
  background: linear-gradient(135deg, var(--rjv-orange) 0%, var(--rjv-coral) 100%);
  color: var(--rjv-cream) !important;
  border-radius: 10px;
  text-decoration: none;
  letter-spacing: 0.01em;
  box-shadow: 0 12px 40px -10px rgba(209, 107, 71, 0.7);
  transition: all 0.25s ease;
  text-transform: none;
}
.rjv-btn-mega:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 50px -10px rgba(209, 107, 71, 0.9);
  background: linear-gradient(135deg, var(--rjv-coral) 0%, var(--rjv-terracotta) 100%);
}

/* ---- 47. Section-specific dark hero override ---- */
/* Hero section: when carrying both rjv-section--wine-deep + bg-image, force the hero overlay treatment */
.rjv-section--wine-deep .rjv-hero-cinematic h1 {
  text-shadow: 0 4px 32px rgba(0, 0, 0, 0.5);
}

/* v4-deploy-1777485957391 */

/* ===== V4 CLEANUP — orphan icon-box hide + How-It-Works fixes ===== */
.elementor-element-s03h3000, .elementor-element-s03stp01, .elementor-element-s03stp02, .elementor-element-s03stp03 { display: none !important; }
.elementor-element-s01video { display: none !important; }
.rjv-hide-mobile-only { display: none !important; }
@media (min-width: 768px) { .rjv-section--wine-deep .rjv-hero-cinematic { padding: 80px 24px; } }
/* Ensure hero photo loads with fallback if Pexels blocks */
.rjv-section--wine-deep.rjv-hero-cinematic { background-blend-mode: overlay; }
/* cleanup-deploy-1777486591297 */


/* ===== V4 PATCH 2 — sky-solid bg fix + section consistency ===== */
.rjv-section--sky-solid, .elementor-section.rjv-section--sky-solid { background-color: #E8F4FA !important; }
.rjv-section--white, .elementor-section.rjv-section--white { background-color: #FFFFFF !important; }
.rjv-section--cream, .elementor-section.rjv-section--cream { background-color: #FDF7F2 !important; }
.rjv-section--peach, .elementor-section.rjv-section--peach { background-color: #E8B59A !important; }
.rjv-section--wine-deep, .elementor-section.rjv-section--wine-deep { background-color: #5C1F2A !important; }
.rjv-section--charcoal, .elementor-section.rjv-section--charcoal { background-color: #1F1A1A !important; }
.rjv-section--wine-solid, .elementor-section.rjv-section--wine-solid { background-color: #902D3B !important; }
/* Sky-solid section needs proper text colors */
.rjv-section--sky-solid h1, .rjv-section--sky-solid h2, .rjv-section--sky-solid h3, .rjv-section--sky-solid h4, .rjv-section--sky-solid p, .rjv-section--sky-solid li { color: #902D3B; }
.rjv-section--sky-solid .rjv-eyebrow { color: #A03C3D; background: rgba(160, 60, 61, 0.08); border: 1px solid rgba(160, 60, 61, 0.2); }
/* Ensure rjv-eyebrow on dark sections inverts correctly */
.rjv-section--charcoal .rjv-eyebrow { color: #82C6E8 !important; background: rgba(130, 198, 232, 0.15) !important; border: 1px solid rgba(130, 198, 232, 0.4) !important; padding: 8px 16px; border-radius: 4px; }
/* Hero photo should actually show through the gradient */
.rjv-section.rjv-hero-cinematic { background-blend-mode: normal; }
/* patch2-deploy-1777487277131 */


/* ===== V5 WINE-RED CTA + ORANGE PURGE + WORLD-CLASS HEADER ===== */
/* --- CTA: orange → wine red --- */
.rjv-btn-primary, .rjv-btn-primary--lg, .elementor-button-link { background-color: #902D3B !important; color: #FDF7F2 !important; border: 0 !important; }
.rjv-btn-primary:hover, .rjv-btn-primary--lg:hover, .elementor-button-link:hover { background-color: #5C1F2A !important; color: #FDF7F2 !important; }
/* Mega CTA — wine to deep-red gradient (no orange) */
.rjv-btn-mega { background: linear-gradient(135deg, #902D3B 0%, #A03C3D 100%) !important; color: #FDF7F2 !important; box-shadow: 0 12px 40px -10px rgba(144, 45, 59, 0.55) !important; }
.rjv-btn-mega:hover { background: linear-gradient(135deg, #A03C3D 0%, #5C1F2A 100%) !important; box-shadow: 0 20px 50px -10px rgba(144, 45, 59, 0.85) !important; }
/* Hero CTA shadow tone — replace orange shadow with wine */
.rjv-hero-cinematic .rjv-btn-primary { box-shadow: 0 8px 32px -8px rgba(144, 45, 59, 0.6) !important; }
/* --- Accents: orange → sky (cool) or wine (where bolder is needed) --- */
.rjv-cred-item .rjv-cred-icon { color: #82C6E8 !important; }
.rjv-path-rise .rjv-path-arrow { color: #902D3B !important; }
.rjv-path-rise li::before { color: #82C6E8 !important; }
.rjv-hurt-card .rjv-hurt-cta { color: #902D3B !important; }
.rjv-hurt-card .rjv-hurt-cta:hover { color: #5C1F2A !important; }
.rjv-choice-with .rjv-choice-tag { background: rgba(144, 45, 59, 0.12) !important; color: #902D3B !important; }
.rjv-choice-with li::before { color: #82C6E8 !important; }
.rjv-counter-num { color: #902D3B !important; }
.rjv-counter-label { color: #5C1F2A !important; }
/* Timeline gradient — sky to wine instead of sky to orange */
.rjv-timeline::before { background: linear-gradient(180deg, #82C6E8 0%, #902D3B 100%) !important; }
.rjv-timeline-item::before { background: #902D3B !important; box-shadow: 0 0 0 4px rgba(144, 45, 59, 0.25) !important; }
.rjv-timeline-item strong { color: #82C6E8 !important; }
/* Offer H2 strong / em should already be wine — protect it */
.rjv-section--cream h2 em, .rjv-section--peach h2 em { color: #902D3B !important; }
/* Hero H1 sky em */
.rjv-hero-cinematic h1 em { color: #82C6E8 !important; }
/* Hero trust line — make 'Authorized SoftWave' link wine, not orange */
.rjv-hero-trust-line strong { color: #82C6E8 !important; }
/* Section eyebrow on cream/peach — keep red-deep, not orange-y */
.rjv-section--cream .rjv-eyebrow, .rjv-section--peach .rjv-eyebrow, .rjv-section--white .rjv-eyebrow { color: #A03C3D !important; }
/* Hurt-icon emoji — keep as-is (emoji color isn't customizable) */

/* --- WORLD-CLASS HEADER --- */
/* Slim, premium, focused */
header.elementor-location-header .elementor-section,
.elementor-location-header .elementor-element[data-id='hdr0001'] {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid rgba(144, 45, 59, 0.08) !important;
  background: #FDF7F2 !important;
  box-shadow: 0 1px 12px -4px rgba(144, 45, 59, 0.08) !important;
}
/* Constrain the Book CTA in header — compact, refined */
.elementor-location-header .elementor-element-hdr0005 {
  max-width: 220px !important;
  margin-left: auto !important;
}
.elementor-location-header .elementor-element-hdr0005 a.elementor-button-link,
.elementor-location-header .elementor-element-hdr0005 .elementor-button {
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  padding: 12px 20px !important;
  border-radius: 6px !important;
  background-color: #902D3B !important;
  color: #FDF7F2 !important;
  width: auto !important;
  display: inline-block !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px -2px rgba(144, 45, 59, 0.35) !important;
}
.elementor-location-header .elementor-element-hdr0005 a.elementor-button-link:hover,
.elementor-location-header .elementor-element-hdr0005 .elementor-button:hover {
  background-color: #5C1F2A !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px -4px rgba(144, 45, 59, 0.55) !important;
}
/* Logo size constraint */
.elementor-location-header .elementor-element-hdr0002 img,
.elementor-location-header img[src*='rejuv-logo'] {
  max-height: 56px !important;
  width: auto !important;
}
/* Make header sticky on scroll */
header.elementor-location-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  backdrop-filter: blur(6px);
}
@media (max-width: 767px) {
  header.elementor-location-header .elementor-section { padding-top: 10px !important; padding-bottom: 10px !important; }
  .elementor-location-header .elementor-element-hdr0005 { max-width: 160px !important; }
  .elementor-location-header .elementor-element-hdr0005 a.elementor-button-link { font-size: 12px !important; padding: 10px 14px !important; }
  .elementor-location-header img[src*='rejuv-logo'] { max-height: 40px !important; }
}
/* Sticky mobile CTA — orange → wine red */
.rjv-sticky-mobile-cta { background: #902D3B !important; }
.rjv-sticky-mobile-cta a, .rjv-sticky-mobile-cta .elementor-button { background: #902D3B !important; color: #FDF7F2 !important; }
/* The sticky CTA bar's background should be a deeper accent */
[data-id='stk0001'], [data-id='stk0002'] { background: #902D3B !important; }
[data-id='stk0003'] .elementor-button, [data-id='stk0005'] .elementor-button { background-color: #FDF7F2 !important; color: #902D3B !important; font-weight: 700 !important; }
/* v5-deploy-1777495569946 */


/* ===== V5 HEADER BUTTON FIX ===== */
.elementor-location-header .elementor-element-hdr0005 { max-width: 240px !important; }
.elementor-location-header .elementor-element-hdr0005 a.elementor-button-link, .elementor-location-header .elementor-element-hdr0005 .elementor-button { white-space: nowrap !important; line-height: 1.2 !important; padding: 12px 24px !important; min-width: 200px !important; text-align: center !important; }
@media (max-width: 767px) { .elementor-location-header .elementor-element-hdr0005 { max-width: 180px !important; } .elementor-location-header .elementor-element-hdr0005 a.elementor-button-link { min-width: 0 !important; padding: 10px 16px !important; } }
/* fix-deploy-1777495644308 */


/* ===== V6 WORLD-CLASS HEADER + LOGO PREVALENCE ===== */
header.elementor-location-header { position: sticky !important; top: 0 !important; z-index: 100 !important; }
header.elementor-location-header .elementor-section { padding: 18px 0 !important; background: #FDF7F2 !important; border-bottom: 1px solid rgba(144, 45, 59, 0.08) !important; box-shadow: 0 1px 16px -6px rgba(144, 45, 59, 0.12) !important; min-height: auto !important; }
header.elementor-location-header .elementor-container { align-items: center !important; }
.elementor-location-header .elementor-element-hdr0002 { text-align: center !important; }
.elementor-location-header .elementor-element-hdr0002 img, .elementor-location-header img[src*='rejuv-logo'] { max-height: 92px !important; height: 92px !important; width: auto !important; display: inline-block !important; }
.elementor-location-header .elementor-element-hdr0005 { max-width: 220px !important; margin-left: auto !important; }
.elementor-location-header .elementor-element-hdr0005 a.elementor-button-link, .elementor-location-header .elementor-element-hdr0005 .elementor-button { font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; padding: 11px 22px !important; border-radius: 4px !important; background-color: #902D3B !important; color: #FDF7F2 !important; white-space: nowrap !important; line-height: 1.2 !important; min-width: 160px !important; text-align: center !important; transition: all 0.2s ease !important; box-shadow: 0 2px 8px -2px rgba(144, 45, 59, 0.3) !important; }
.elementor-location-header .elementor-element-hdr0005 a.elementor-button-link:hover { background-color: #5C1F2A !important; transform: translateY(-1px); box-shadow: 0 6px 16px -4px rgba(144, 45, 59, 0.5) !important; }
@media (max-width: 767px) { .elementor-location-header .elementor-element-hdr0002 img { max-height: 64px !important; height: 64px !important; } .elementor-location-header .elementor-element-hdr0005 { max-width: 140px !important; } .elementor-location-header .elementor-element-hdr0005 a.elementor-button-link { font-size: 11px !important; padding: 9px 14px !important; min-width: 0 !important; } header.elementor-location-header .elementor-section { padding: 12px 0 !important; } }
#s09fncta { position: relative; }
#s09fncta::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 480px; height: 480px; background-image: url('https://myrejuvhealth.com/wp-content/uploads/2026/04/rejuv-logo-1200.png'); background-size: contain; background-position: center; background-repeat: no-repeat; opacity: 0.045; pointer-events: none; z-index: 0; }
#s09fncta > .elementor-container { position: relative; z-index: 1; }
#s06ofr00 .rjv-eyebrow::before { content: ''; display: block; width: 56px; height: 56px; margin: 0 auto 12px; background-image: url('https://myrejuvhealth.com/wp-content/uploads/2026/04/rejuv-logo-1200.png'); background-size: contain; background-position: center; background-repeat: no-repeat; opacity: 0.9; }
/* v6-deploy-1777496016467 */


/* ===== V7 TRUE-CENTER LOGO HEADER ===== */
header.elementor-location-header { position: sticky !important; top: 0 !important; z-index: 100 !important; background: #FDF7F2 !important; border-bottom: 1px solid rgba(144, 45, 59, 0.1) !important; box-shadow: 0 2px 20px -8px rgba(144, 45, 59, 0.15) !important; }
header.elementor-location-header .elementor-section { padding: 22px 0 !important; background: transparent !important; min-height: auto !important; box-shadow: none !important; border: 0 !important; }
header.elementor-location-header .elementor-container { position: relative !important; max-width: 1280px !important; margin: 0 auto !important; padding: 0 32px !important; }
.elementor-location-header .elementor-element-hdr0002, .elementor-location-header .elementor-column:not([data-id*='hdr0005']) { width: 100% !important; max-width: 100% !important; flex-basis: 100% !important; text-align: center !important; padding: 0 !important; }
.elementor-location-header .elementor-element-hdr0002 { text-align: center !important; }
.elementor-location-header img[src*='rejuv-logo'] { max-height: 110px !important; height: 110px !important; width: auto !important; display: inline-block !important; margin: 0 auto !important; }
.elementor-location-header .elementor-element-hdr0005 { position: absolute !important; right: 32px !important; top: 50% !important; transform: translateY(-50%) !important; max-width: 200px !important; margin: 0 !important; }
.elementor-location-header .elementor-element-hdr0005 a.elementor-button-link, .elementor-location-header .elementor-element-hdr0005 .elementor-button { font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; padding: 11px 22px !important; border-radius: 4px !important; background-color: #902D3B !important; color: #FDF7F2 !important; white-space: nowrap !important; line-height: 1.2 !important; min-width: 0 !important; text-align: center !important; transition: all 0.2s ease !important; box-shadow: 0 2px 10px -2px rgba(144, 45, 59, 0.35) !important; }
.elementor-location-header .elementor-element-hdr0005 a.elementor-button-link:hover { background-color: #5C1F2A !important; transform: translateY(-1px); box-shadow: 0 6px 18px -4px rgba(144, 45, 59, 0.55) !important; }
@media (max-width: 767px) { .elementor-location-header img[src*='rejuv-logo'] { max-height: 64px !important; height: 64px !important; } .elementor-location-header .elementor-element-hdr0005 { right: 16px !important; max-width: 120px !important; } .elementor-location-header .elementor-element-hdr0005 a.elementor-button-link { font-size: 10px !important; padding: 8px 14px !important; } header.elementor-location-header .elementor-section { padding: 14px 0 !important; } header.elementor-location-header .elementor-container { padding: 0 16px !important; } }
#s09fncta { position: relative; }
#s09fncta::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 520px; height: 520px; background-image: url('https://myrejuvhealth.com/wp-content/uploads/2026/04/rejuv-logo-1200.png'); background-size: contain; background-position: center; background-repeat: no-repeat; opacity: 0.05; pointer-events: none; z-index: 0; }
#s09fncta > .elementor-container { position: relative; z-index: 1; }
#s06ofr00 .rjv-eyebrow::before { content: ''; display: block; width: 64px; height: 64px; margin: 0 auto 14px; background-image: url('https://myrejuvhealth.com/wp-content/uploads/2026/04/rejuv-logo-1200.png'); background-size: contain; background-position: center; background-repeat: no-repeat; opacity: 0.95; }
/* v7-deploy-1777496129910 */

/* ===== V10 EDITORIAL LUXURY HEADER — MANIFESTO LAYOUT ===== */
/* --- Pre-header utility bar (unchanged) --- */
body::before {
  content: '☎  (262) 578-0355  ·  AUTHORIZED SOFTWAVE TRT PROVIDER  ·  ELKHORN, WI  ·  EST. 2026';
  position: sticky; top: 0; z-index: 200; display: block; width: 100%;
  background: linear-gradient(90deg, #5C1F2A 0%, #902D3B 50%, #5C1F2A 100%);
  color: #FDF7F2; text-align: center; padding: 8px 16px; font-size: 11px;
  font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase;
  font-family: var(--rjv-font-head, system-ui);
  border-bottom: 1px solid rgba(130, 198, 232, 0.35);
  box-shadow: 0 2px 16px -6px rgba(0,0,0,0.4);
}
@media (max-width: 767px) { body::before { font-size: 9px; padding: 7px 12px; letter-spacing: 0.1em; } }

/* --- Main header: editorial flex layout --- */
header.elementor-location-header {
  position: sticky !important; top: 32px !important; z-index: 150 !important;
  background: #FDF7F2 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 2px 28px -10px rgba(0, 0, 0, 0.08) !important;
}
@media (max-width: 767px) { header.elementor-location-header { top: 28px !important; } }
header.elementor-location-header .elementor-section { padding: 22px 0 !important; background: transparent !important; min-height: auto !important; box-shadow: none !important; border: 0 !important; }
header.elementor-location-header .elementor-container { position: relative !important; max-width: 1280px !important; margin: 0 auto !important; padding: 0 32px !important; }
/* Remove decorative hairlines from V9 — we don't need them anymore */
header.elementor-location-header .elementor-section::before, header.elementor-location-header .elementor-section::after { display: none !important; }

/* === Logo column: now LEFT-ALIGNED, NOT full-width === */
.elementor-location-header .elementor-element-hdr0002 {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  flex-basis: auto !important;
  text-align: left !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  position: relative !important;
}
/* Container wrapping logo widget AND manifesto must be flex-row */
.elementor-location-header .elementor-element-hdr0002 > .elementor-widget-wrap, .elementor-location-header .elementor-element-hdr0002 > .elementor-element-populated { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 32px !important; padding: 0 !important; flex-wrap: nowrap !important; }

/* Logo image */
.elementor-location-header img[src*='rejuv-logo'] {
  max-height: 88px !important; height: 88px !important; width: auto !important;
  display: inline-block !important;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.1));
  flex-shrink: 0;
}
/* The image widget itself shouldn't have a margin or wrap */
.elementor-location-header .elementor-element-hdr0003 { width: auto !important; flex: 0 0 auto !important; margin: 0 !important; }

/* === MANIFESTO: 3 stacked words in massive bold black === */
.elementor-location-header .elementor-element-rjvHdrTag { width: auto !important; flex: 0 0 auto !important; margin: 0 !important; padding: 0 !important; position: relative; padding-left: 32px; }
/* Vertical wine divider line between logo and manifesto */
.elementor-location-header .elementor-element-rjvHdrTag::before {
  content: ''; position: absolute; left: 0; top: 8%; bottom: 8%;
  width: 2px; background: linear-gradient(180deg, transparent 0%, #902D3B 30%, #902D3B 70%, transparent 100%);
}
.rjv-hdr-manifesto {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  margin: 0;
  padding: 0;
}
.rjv-hdr-manifesto span {
  font-family: var(--rjv-font-head, 'Poppins', system-ui);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.005em;
  line-height: 1.05;
  color: #000000;
  text-transform: none;
  display: block;
}
@media (max-width: 1024px) { .rjv-hdr-manifesto span { font-size: 22px; } }
@media (max-width: 767px) {
  .elementor-location-header img[src*='rejuv-logo'] { max-height: 56px !important; height: 56px !important; }
  .elementor-location-header .elementor-element-hdr0002 > .elementor-widget-wrap, .elementor-location-header .elementor-element-hdr0002 > .elementor-element-populated { gap: 16px !important; }
  .elementor-location-header .elementor-element-rjvHdrTag { padding-left: 16px; }
  .rjv-hdr-manifesto span { font-size: 14px; line-height: 1.1; }
  header.elementor-location-header .elementor-section { padding: 14px 0 !important; }
}
@media (max-width: 480px) {
  .rjv-hdr-manifesto span { font-size: 12px; }
  .elementor-location-header img[src*='rejuv-logo'] { max-height: 48px !important; height: 48px !important; }
}

/* HIDE original header CTA — replaced by floating pill */
.elementor-location-header .elementor-element-hdr0005 { display: none !important; }

/* --- Floating CTA (unchanged from V9) --- */
.rjv-floating-cta { position: fixed; bottom: 32px; right: 32px; z-index: 99; display: inline-flex; align-items: center; gap: 12px; padding: 16px 28px; background: linear-gradient(135deg, #902D3B 0%, #5C1F2A 100%); color: #FDF7F2 !important; font-family: var(--rjv-font-head); font-size: 14px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; border-radius: 999px; box-shadow: 0 14px 40px -10px rgba(144, 45, 59, 0.6), 0 0 0 1px rgba(130, 198, 232, 0.2), 0 0 0 5px rgba(253, 247, 242, 0.5); opacity: 0; transform: translateY(20px) scale(0.95); pointer-events: none; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.rjv-floating-cta.is-visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.rjv-floating-cta:hover { background: linear-gradient(135deg, #A03C3D 0%, #902D3B 100%); transform: translateY(-3px) scale(1.04); box-shadow: 0 22px 52px -10px rgba(144, 45, 59, 0.75), 0 0 0 1px rgba(130, 198, 232, 0.4), 0 0 0 5px rgba(253, 247, 242, 0.6); color: #FDF7F2 !important; }
.rjv-floating-cta-arrow { transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); display: inline-block; }
.rjv-floating-cta:hover .rjv-floating-cta-arrow { transform: translateX(4px); }
@media (max-width: 600px) { .rjv-floating-cta { display: none !important; } }
/* v10-deploy-1777497462647 */


/* ===== V11 REFINED HORIZONTAL TAGLINE (NO BIG BOLD BLACK) ===== */
/* Override the V10 manifesto stack rules */
.rjv-hdr-manifesto { display: none !important; }

/* Refined horizontal tagline next to logo */
.rjv-hdr-tagline {
  font-family: var(--rjv-font-head, 'Poppins', system-ui);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #902D3B;
  white-space: nowrap;
  line-height: 1;
  text-align: left;
}
.rjv-hdr-tagline .rjv-tag-dot { color: #82C6E8; font-weight: 400; padding: 0 6px; opacity: 0.7; }
@media (max-width: 1024px) { .rjv-hdr-tagline { font-size: 15px; } }
@media (max-width: 767px) { .rjv-hdr-tagline { font-size: 11px; letter-spacing: 0.02em; } .rjv-hdr-tagline .rjv-tag-dot { padding: 0 3px; } }
@media (max-width: 480px) { .rjv-hdr-tagline { font-size: 10px; } }

/* Logo sized appropriately for the new clean horizontal lockup (1691x320 aspect = 5.3:1) */
.elementor-location-header img[src*='rejuv-logo'] {
  max-height: 56px !important; height: 56px !important; width: auto !important;
  display: inline-block !important;
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.08));
  flex-shrink: 0;
}
@media (max-width: 1024px) { .elementor-location-header img[src*='rejuv-logo'] { max-height: 48px !important; height: 48px !important; } }
@media (max-width: 767px) { .elementor-location-header img[src*='rejuv-logo'] { max-height: 36px !important; height: 36px !important; } }
@media (max-width: 480px) { .elementor-location-header img[src*='rejuv-logo'] { max-height: 30px !important; height: 30px !important; } }

/* Vertical divider — keep but refine */
.elementor-location-header .elementor-element-rjvHdrTag::before {
  content: ''; position: absolute; left: 0; top: 12%; bottom: 12%;
  width: 1px;
  background: linear-gradient(180deg, transparent 0%, rgba(144, 45, 59, 0.5) 30%, rgba(144, 45, 59, 0.5) 70%, transparent 100%);
}
/* v11-deploy-1777497826064 */


/* ===== V12 BIGGER PRE-HEADER + BIGGER BOLDER TAGLINE ===== */
/* PRE-HEADER: bumped from 11px to 14px, slightly more padding */
body::before {
  content: '☎  (262) 578-0355  ·  AUTHORIZED SOFTWAVE TRT PROVIDER  ·  ELKHORN, WI  ·  EST. 2026';
  position: sticky; top: 0; z-index: 200; display: block; width: 100%;
  background: linear-gradient(90deg, #5C1F2A 0%, #902D3B 50%, #5C1F2A 100%);
  color: #FDF7F2; text-align: center; padding: 11px 16px;
  font-size: 14px;
  font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  font-family: var(--rjv-font-head, system-ui);
  border-bottom: 1px solid rgba(130, 198, 232, 0.35);
  box-shadow: 0 2px 16px -6px rgba(0,0,0,0.4);
}
@media (max-width: 1024px) { body::before { font-size: 12px; padding: 10px 14px; letter-spacing: 0.1em; } }
@media (max-width: 767px) { body::before { font-size: 10px; padding: 8px 12px; letter-spacing: 0.06em; } }
@media (max-width: 480px) { body::before { font-size: 9px; letter-spacing: 0.04em; } }

/* Header sticky offset bumped to match new pre-header height */
header.elementor-location-header { top: 42px !important; }
@media (max-width: 1024px) { header.elementor-location-header { top: 38px !important; } }
@media (max-width: 767px) { header.elementor-location-header { top: 32px !important; } }

/* TAGLINE: bigger, bolder, predominant */
.rjv-hdr-tagline {
  font-family: var(--rjv-font-head, 'Poppins', system-ui);
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.005em !important;
  color: #902D3B !important;
  white-space: nowrap;
  line-height: 1;
  text-align: left;
}
.rjv-hdr-tagline .rjv-tag-dot { color: #82C6E8; font-weight: 600; padding: 0 4px; opacity: 0.85; }
@media (max-width: 1280px) { .rjv-hdr-tagline { font-size: 24px !important; } }
@media (max-width: 1024px) { .rjv-hdr-tagline { font-size: 18px !important; } }
@media (max-width: 767px) { .rjv-hdr-tagline { font-size: 13px !important; letter-spacing: 0.02em !important; } .rjv-hdr-tagline .rjv-tag-dot { padding: 0 3px; } }
@media (max-width: 480px) { .rjv-hdr-tagline { font-size: 11px !important; } }

/* Logo height bumped slightly to balance bigger tagline */
.elementor-location-header img[src*='rejuv-logo'] { max-height: 64px !important; height: 64px !important; }
@media (max-width: 1024px) { .elementor-location-header img[src*='rejuv-logo'] { max-height: 52px !important; height: 52px !important; } }
@media (max-width: 767px) { .elementor-location-header img[src*='rejuv-logo'] { max-height: 38px !important; height: 38px !important; } }
@media (max-width: 480px) { .elementor-location-header img[src*='rejuv-logo'] { max-height: 32px !important; height: 32px !important; } }
/* v12-deploy-1777498043506 */


/* ===== V13 BLACK MASTHEAD TAGLINE ===== */
.rjv-hdr-tagline {
  font-family: var(--rjv-font-head, 'Poppins', system-ui) !important;
  font-size: 42px !important;
  font-weight: 900 !important;
  letter-spacing: -0.015em !important;
  color: #000000 !important;
  white-space: nowrap;
  line-height: 1;
  text-align: left;
}
/* Keep sky blue dots for brand tie-back */
.rjv-hdr-tagline .rjv-tag-dot { color: #82C6E8 !important; font-weight: 700 !important; padding: 0 6px !important; opacity: 0.95 !important; }
@media (max-width: 1280px) { .rjv-hdr-tagline { font-size: 32px !important; } }
@media (max-width: 1024px) { .rjv-hdr-tagline { font-size: 22px !important; } }
@media (max-width: 767px) { .rjv-hdr-tagline { font-size: 14px !important; letter-spacing: 0 !important; } .rjv-hdr-tagline .rjv-tag-dot { padding: 0 3px !important; } }
@media (max-width: 480px) { .rjv-hdr-tagline { font-size: 12px !important; } }

/* Logo bumped to balance the bigger tagline */
.elementor-location-header img[src*='rejuv-logo'] { max-height: 76px !important; height: 76px !important; }
@media (max-width: 1280px) { .elementor-location-header img[src*='rejuv-logo'] { max-height: 60px !important; height: 60px !important; } }
@media (max-width: 1024px) { .elementor-location-header img[src*='rejuv-logo'] { max-height: 48px !important; height: 48px !important; } }
@media (max-width: 767px) { .elementor-location-header img[src*='rejuv-logo'] { max-height: 38px !important; height: 38px !important; } }
@media (max-width: 480px) { .elementor-location-header img[src*='rejuv-logo'] { max-height: 32px !important; height: 32px !important; } }

/* Header padding bumped to accommodate bigger type */
header.elementor-location-header .elementor-section { padding: 24px 0 !important; }
@media (max-width: 767px) { header.elementor-location-header .elementor-section { padding: 14px 0 !important; } }
/* v13-deploy-1777498795450 */


/* ===== V14 HERO PHOTO POLISH ===== */
/* Replace the wine-tinted heavy gradient with a clean directional gradient */
/* Dark on left where text lives, transparent on right where photo shows clean */
.rjv-hero-cinematic::before {
  background: linear-gradient(90deg, rgba(20, 14, 16, 0.78) 0%, rgba(20, 14, 16, 0.62) 35%, rgba(20, 14, 16, 0.35) 60%, rgba(20, 14, 16, 0.10) 100%) !important;
}
/* Subtle photo enhancement — pop the colors without filters being heavy */
.rjv-hero-cinematic { filter: saturate(1.08) contrast(1.04); }
/* On mobile, use a vertical (top→bottom) gradient since text stacks centered */
@media (max-width: 768px) {
  .rjv-hero-cinematic::before {
    background: linear-gradient(180deg, rgba(20, 14, 16, 0.82) 0%, rgba(20, 14, 16, 0.55) 60%, rgba(20, 14, 16, 0.35) 100%) !important;
  }
}
/* v14-deploy-1777499312951 */


/* ===== V15 HERO TYPOGRAPHY POLISH ===== */
/* Eyebrow tag — bigger, more refined */
.rjv-hero-cinematic .rjv-eyebrow {
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  padding: 10px 22px !important;
  border-radius: 4px !important;
  background: rgba(130, 198, 232, 0.12) !important;
  border: 1px solid rgba(130, 198, 232, 0.45) !important;
  color: #82C6E8 !important;
  display: inline-block !important;
  width: auto !important;
  margin-bottom: 28px !important;
}
@media (max-width: 767px) { .rjv-hero-cinematic .rjv-eyebrow { font-size: 13px !important; padding: 8px 16px !important; } }

/* Subhead — bigger, more weight, brighter cream */
.rjv-hero-cinematic .rjv-hero-sub, .rjv-hero-cinematic .rjv-hero-sub p {
  font-size: 22px !important;
  line-height: 1.5 !important;
  color: rgba(253, 247, 242, 0.96) !important;
  font-weight: 500 !important;
  max-width: 680px !important;
  margin-bottom: 36px !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35) !important;
}
@media (max-width: 1024px) { .rjv-hero-cinematic .rjv-hero-sub, .rjv-hero-cinematic .rjv-hero-sub p { font-size: 19px !important; } }
@media (max-width: 767px) { .rjv-hero-cinematic .rjv-hero-sub, .rjv-hero-cinematic .rjv-hero-sub p { font-size: 16px !important; } }

/* CTA button — more prominent, bigger, bolder */
.rjv-hero-cinematic .rjv-btn-primary, .rjv-hero-cinematic .elementor-button-link {
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  padding: 22px 44px !important;
  border-radius: 8px !important;
  background: #902D3B !important;
  color: #FDF7F2 !important;
  box-shadow: 0 12px 40px -8px rgba(144, 45, 59, 0.65), 0 0 0 1px rgba(253, 247, 242, 0.1) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.rjv-hero-cinematic .rjv-btn-primary:hover, .rjv-hero-cinematic .elementor-button-link:hover {
  background: #5C1F2A !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 20px 50px -10px rgba(144, 45, 59, 0.85), 0 0 0 1px rgba(253, 247, 242, 0.2) !important;
}
@media (max-width: 767px) { .rjv-hero-cinematic .rjv-btn-primary, .rjv-hero-cinematic .elementor-button-link { font-size: 17px !important; padding: 18px 32px !important; } }

/* Trust line — bigger, refined caps treatment, no link underlines */
.rjv-hero-cinematic .rjv-hero-trust-line, .rjv-hero-cinematic .rjv-hero-trust-line p {
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(253, 247, 242, 0.85) !important;
  margin-top: 28px !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.4) !important;
}
.rjv-hero-cinematic .rjv-hero-trust-line strong, .rjv-hero-cinematic .rjv-hero-trust-line a {
  color: #82C6E8 !important;
  text-decoration: none !important;
  border-bottom: 0 !important;
  font-weight: 700 !important;
}
@media (max-width: 767px) { .rjv-hero-cinematic .rjv-hero-trust-line, .rjv-hero-cinematic .rjv-hero-trust-line p { font-size: 11px !important; letter-spacing: 0.08em !important; } }
/* v15-deploy-1777500020673 */


/* ===== V18 GRADE A POLISH ===== */
/* 1. CTA: constrain width — proportional, premium */
.rjv-hero-cinematic .elementor-element-s01btn00 { max-width: 320px !important; }
.rjv-hero-cinematic .elementor-element-s01btn00 a.elementor-button-link, .rjv-hero-cinematic .elementor-element-s01btn00 .elementor-button { width: auto !important; display: inline-flex !important; padding: 18px 40px !important; }

/* 2. Eyebrow chip — tighten to wrap text properly */
.rjv-hero-cinematic .elementor-element-s01eyebr { width: auto !important; max-width: max-content !important; flex: 0 0 auto !important; }
.rjv-hero-cinematic .rjv-eyebrow, .rjv-hero-cinematic .rjv-hero-eyebrow { display: inline-block !important; width: auto !important; max-width: max-content !important; }

/* 3. Hero — parallax via background-attachment fixed (subtle, premium effect) */
@media (min-width: 1024px) {
  .rjv-hero-cinematic { background-attachment: fixed !important; }
}

/* 4. Trust strip styling */
.rjv-trust-partners-wrap { padding: 16px 0 32px !important; }
.rjv-trust-partners-label { font-family: var(--rjv-font-head, 'Poppins', system-ui); font-size: 13px !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: #82C6E8 !important; font-weight: 700 !important; margin: 0 0 24px !important; }
.rjv-trust-partners-img { max-width: 100% !important; width: 100% !important; height: auto !important; display: block !important; margin: 0 auto !important; filter: brightness(0) invert(1) opacity(0.85) !important; transition: filter 0.3s ease; }
.rjv-trust-partners-img:hover { filter: brightness(0) invert(1) opacity(1) !important; }
@media (max-width: 767px) { .rjv-trust-partners-label { font-size: 11px !important; letter-spacing: 0.16em !important; } }

/* 5. Add a thin sky-blue accent line above the trust strip */
.rjv-section--charcoal .elementor-element-s02lead0::before { content: ''; display: block; width: 60px; height: 2px; background: #82C6E8; margin: 0 auto 32px; opacity: 0.6; }
/* v18-deploy-1777507906618 */


/* ===== V18 TRUST STRIP FILTER FIX ===== */
.rjv-trust-partners-img { filter: none !important; background: #FDF7F2 !important; border-radius: 12px !important; padding: 24px 32px !important; box-shadow: 0 8px 32px -8px rgba(0,0,0,0.4) !important; }
.rjv-trust-partners-wrap { padding: 24px 0 32px !important; }
/* fix-deploy-1777507992364 */


/* ========================================================================
   V19 — Story-arc upgrades (2026-04-29)
   ======================================================================== */

/* --- Section 48: V19 trust strip (replaces V18 partner-strip-img treatment) --- */
.rjv-trust-v19 {
  max-width: 1480px;
  margin: 32px auto 0;
  padding: 0 20px;
  text-align: center;
}
.rjv-trust-v19__eyebrow {
  font-size: 13px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #82C6E8;
  font-weight: 800;
  margin: 0 0 28px;
  font-family: var(--rjv-font-body), -apple-system, sans-serif;
}
.rjv-trust-v19__logos {
  width: 100%;
  margin: 0 auto;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 18px 60px -24px rgba(0,0,0,0.55), 0 4px 18px -10px rgba(0,0,0,0.35);
  background: #FDF7F2;
}
.rjv-trust-v19__logos img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}
.rjv-trust-v19__caption {
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,0.78);
  font-style: italic;
  max-width: 720px;
  margin: 28px auto 0;
  font-family: var(--rjv-font-body), -apple-system, sans-serif;
  letter-spacing: 0;
  text-transform: none;
}
@media (max-width: 768px) {
  .rjv-trust-v19 { margin: 24px auto 0; padding: 0 12px; }
  .rjv-trust-v19__eyebrow { font-size: 11px; letter-spacing: 0.28em; margin: 0 0 18px; }
  .rjv-trust-v19__caption { font-size: 13px; margin-top: 20px; padding: 0 8px; }
}

/* --- Section 49: Hero eyebrow underline variant (no chip bg) --- */
.rjv-hero-eyebrow.rjv-hero-eyebrow--underline,
.rjv-hero-eyebrow.rjv-hero-eyebrow--underline .elementor-heading-title {
  background: transparent !important;
  border: 0 !important;
  padding: 0 0 14px !important;
  border-radius: 0 !important;
  display: inline-block !important;
  position: relative;
  font-size: 13px !important;
  letter-spacing: 0.34em !important;
  text-transform: uppercase !important;
  color: #82C6E8 !important;
  font-weight: 800 !important;
  font-family: var(--rjv-font-body), -apple-system, sans-serif !important;
  margin: 0 0 24px !important;
}
.rjv-hero-eyebrow.rjv-hero-eyebrow--underline .elementor-heading-title::after,
.rjv-hero-eyebrow.rjv-hero-eyebrow--underline::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 64px;
  height: 2px;
  background: #82C6E8;
}
@media (max-width: 768px) {
  .rjv-hero-eyebrow.rjv-hero-eyebrow--underline,
  .rjv-hero-eyebrow.rjv-hero-eyebrow--underline .elementor-heading-title {
    font-size: 11px !important; letter-spacing: 0.28em !important; padding-bottom: 10px !important;
  }
  .rjv-hero-eyebrow.rjv-hero-eyebrow--underline::after,
  .rjv-hero-eyebrow.rjv-hero-eyebrow--underline .elementor-heading-title::after {
    width: 48px; height: 2px;
  }
}

/* --- Section 50: Hero stack — pull CTA + trust line back into the left column --- */
.rjv-hero-cinematic .elementor-container.elementor-column-gap-default,
.rjv-hero-cinematic .elementor-container {
  align-items: center !important;
}
.rjv-hero-cinematic .elementor-column { max-width: 720px; }
.rjv-hero-cinematic .rjv-btn-primary,
.rjv-hero-cinematic .rjv-btn-primary--lg {
  display: inline-flex !important;
  margin: 28px 0 0 !important;
  align-self: flex-start !important;
}
.rjv-hero-cinematic .elementor-widget-button { width: auto !important; max-width: 100% !important; }
.rjv-hero-cinematic .elementor-widget-button .elementor-button {
  max-width: 360px !important;
  white-space: normal !important;
}
.rjv-hero-cinematic .rjv-hero-trust-line {
  margin-top: 24px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(130, 198, 232, 0.22);
}
.rjv-hero-cinematic .rjv-hero-trust-line p {
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78) !important;
  font-weight: 600;
  margin: 0;
  line-height: 1.6;
}
.rjv-hero-cinematic .rjv-hero-trust-line strong {
  color: #82C6E8;
  font-weight: 800;
}

/* --- Section 51: Story bridge eyebrow (between Two Paths and Where Does It Hurt) --- */
.rjv-story-bridge {
  text-align: center;
  padding: 24px 24px 0;
  max-width: 720px;
  margin: 0 auto;
}
.rjv-story-bridge__line {
  display: inline-block;
  font-family: var(--rjv-font-display), Georgia, serif;
  font-style: italic;
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1.45;
  color: #4A2E2E;
  letter-spacing: -0.005em;
  margin: 0;
  position: relative;
  padding: 0 56px;
}
.rjv-story-bridge__line::before,
.rjv-story-bridge__line::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 32px;
  height: 1px;
  background: #82C6E8;
  opacity: 0.6;
}
.rjv-story-bridge__line::before { left: 0; }
.rjv-story-bridge__line::after { right: 0; }
.rjv-story-bridge__sub {
  font-size: 14px;
  color: rgba(74,46,46,0.7);
  margin: 12px 0 0;
  letter-spacing: 0.04em;
}

/* --- Section 52: Second logo bar (between Offer and NOT-Signing-Up) --- */
.rjv-trust-bar-2 {
  background: var(--rjv-cream, #FDF7F2);
  padding: 56px 24px 56px;
  text-align: center;
  border-top: 1px solid rgba(74,46,46,0.08);
  border-bottom: 1px solid rgba(74,46,46,0.08);
}
.rjv-trust-bar-2__inner {
  max-width: 1320px;
  margin: 0 auto;
}
.rjv-trust-bar-2__line {
  font-family: var(--rjv-font-display), Georgia, serif;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.5;
  color: #2B1B1B;
  margin: 0 0 28px;
  font-weight: 500;
}
.rjv-trust-bar-2__line strong {
  color: #6B0F1A;
  font-weight: 800;
}
.rjv-trust-bar-2__logos {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 28px -16px rgba(0,0,0,0.18);
  max-width: 1280px;
  margin: 0 auto;
}
.rjv-trust-bar-2__logos img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 768px) {
  .rjv-trust-bar-2 { padding: 36px 16px; }
  .rjv-trust-bar-2__line { font-size: 16px; margin-bottom: 22px; }
}

/* --- Section 53: Hide the deprecated V18 trust partner widget (defensive) --- */
.rjv-trust-strip,
.rjv-trust-partners-img { display: none !important; }



/* --- Section 54: V20 Hero polish — orphan rule kill, breadth line, CTA scale (2026-04-30) --- */

/* 54.1: Kill the orphan eyebrow underline. Section 49 sets ::after on BOTH the
   parent container AND the inner heading-title, drawing two underlines stacked.
   We hide the parent ::after so only the heading-title underline remains. */
.rjv-hero-cinematic .rjv-hero-eyebrow.rjv-hero-eyebrow--underline::after {
  display: none !important;
  content: none !important;
}

/* 54.2: Demographic breadth line — italic serif under the trust line */
.rjv-hero-cinematic .rjv-hero-breadth p {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-style: italic !important;
  font-size: 15px !important;
  letter-spacing: 0.01em !important;
  color: rgba(253, 247, 242, 0.78) !important;
  margin: 14px 0 0 !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  text-transform: none !important;
}
@media (max-width: 768px) {
  .rjv-hero-cinematic .rjv-hero-breadth p { font-size: 14px !important; }
}

/* 54.3: CTA scale — fuller column presence, heavier shadow, hover lift */
.rjv-hero-cinematic .rjv-btn-primary--lg .elementor-button {
  max-width: 460px !important;
  width: 100% !important;
  font-size: 19px !important;
  padding: 22px 36px !important;
  letter-spacing: 0.015em !important;
  box-shadow: 0 18px 40px rgba(209, 107, 71, 0.32);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.rjv-hero-cinematic .rjv-btn-primary--lg .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 48px rgba(160, 60, 61, 0.42);
}
@media (max-width: 768px) {
  .rjv-hero-cinematic .rjv-btn-primary--lg .elementor-button {
    max-width: 100% !important;
    font-size: 17px !important;
    padding: 18px 24px !important;
  }
}

/* 54.4: H1 line break — inline em on mobile to keep the second line readable */
.rjv-hero-cinematic h1 br + em { display: inline; }
@media (max-width: 480px) {
  .rjv-hero-cinematic h1 { line-height: 1.12 !important; }
}

/* 54.5: Localized text-readability gradient — ONLY left text zone, photos render bright on the right */
.rjv-hero-cinematic::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(95deg,
    rgba(15, 8, 12, 0.55) 0%,
    rgba(15, 8, 12, 0.32) 28%,
    rgba(15, 8, 12, 0.12) 50%,
    rgba(15, 8, 12, 0.00) 72%);
  pointer-events: none;
  z-index: 1;
}
.rjv-hero-cinematic { position: relative; }
.rjv-hero-cinematic .elementor-container { position: relative; z-index: 2; }

/* 54.6: Text-shadow on H1 + subhead so type stays readable over bright photo zones */
.rjv-hero-cinematic h1.elementor-heading-title {
  text-shadow: 0 2px 18px rgba(15, 8, 12, 0.55), 0 1px 4px rgba(15, 8, 12, 0.40);
}
.rjv-hero-cinematic .rjv-hero-sub p,
.rjv-hero-cinematic .rjv-hero-trust-line p,
.rjv-hero-cinematic .rjv-hero-breadth p {
  text-shadow: 0 1px 8px rgba(15, 8, 12, 0.65);
}
.rjv-hero-cinematic .rjv-hero-eyebrow .elementor-heading-title {
  text-shadow: 0 1px 6px rgba(15, 8, 12, 0.55);
}


/* --- Section 54.7: V20 Hero brightness rescue — defeat legacy V4/V18 darkening (2026-05-03) --- */
/* These older rules from earlier redesigns are still in the kit CSS and stacking
   on top of the AI triptych, crushing brightness. Hard-override them. */

/* Kill the saturate/contrast filter that was darkening shadow detail */
.rjv-section.rjv-hero-cinematic,
.rjv-section--wine-deep.rjv-hero-cinematic {
  filter: none !important;
}

/* Kill the legacy background-blend-mode that was multiplying photo with section bg color */
.rjv-section.rjv-hero-cinematic,
.rjv-section--wine-deep.rjv-hero-cinematic {
  background-blend-mode: normal !important;
}

/* Force the section's background-color to be transparent so the photo isn't multiplied
   against a dark wine fill underneath */
.rjv-section.rjv-hero-cinematic.rjv-section--wine-deep,
.elementor-element.elementor-element-s01hero0.rjv-hero-cinematic {
  background-color: transparent !important;
}

/* Kill ALL legacy ::before overlays — only the V20 localized text-zone gradient should fire */
.rjv-hero-cinematic::before {
  background: linear-gradient(95deg,
    rgba(15, 8, 12, 0.55) 0%,
    rgba(15, 8, 12, 0.32) 28%,
    rgba(15, 8, 12, 0.12) 50%,
    rgba(15, 8, 12, 0.00) 72%) !important;
}

/* Mobile: keep gradient localized but stack vertically since text stacks centered */
@media (max-width: 768px) {
  .rjv-hero-cinematic::before {
    background: linear-gradient(180deg,
      rgba(15, 8, 12, 0.40) 0%,
      rgba(15, 8, 12, 0.20) 50%,
      rgba(15, 8, 12, 0.05) 100%) !important;
  }
}


/* --- Section 54.8: V20.1 Brightness boost + H1 typography spread (2026-05-03) --- */

/* 54.8a: Drop the text-zone gradient further so photos breathe more */
.rjv-hero-cinematic::before {
  background: linear-gradient(95deg,
    rgba(15, 8, 12, 0.30) 0%,
    rgba(15, 8, 12, 0.18) 25%,
    rgba(15, 8, 12, 0.06) 48%,
    rgba(15, 8, 12, 0.00) 70%) !important;
}
@media (max-width: 768px) {
  .rjv-hero-cinematic::before {
    background: linear-gradient(180deg,
      rgba(15, 8, 12, 0.25) 0%,
      rgba(15, 8, 12, 0.12) 50%,
      rgba(15, 8, 12, 0.02) 100%) !important;
  }
}

/* 54.8b: Strengthen text-shadow so type stays readable without gradient backing */
.rjv-hero-cinematic h1.elementor-heading-title {
  text-shadow:
    0 2px 24px rgba(8, 5, 8, 0.85),
    0 1px 8px rgba(8, 5, 8, 0.75),
    0 0 2px rgba(8, 5, 8, 0.5) !important;
}
.rjv-hero-cinematic .rjv-hero-sub p,
.rjv-hero-cinematic .rjv-hero-sub {
  text-shadow:
    0 1px 12px rgba(8, 5, 8, 0.85),
    0 1px 4px rgba(8, 5, 8, 0.6) !important;
}
.rjv-hero-cinematic .rjv-hero-trust-line p,
.rjv-hero-cinematic .rjv-hero-trust-line {
  text-shadow:
    0 1px 8px rgba(8, 5, 8, 0.85),
    0 1px 3px rgba(8, 5, 8, 0.55) !important;
}
.rjv-hero-cinematic .rjv-hero-breadth p {
  text-shadow:
    0 1px 8px rgba(8, 5, 8, 0.85),
    0 1px 3px rgba(8, 5, 8, 0.55) !important;
}
.rjv-hero-cinematic .rjv-hero-eyebrow .elementor-heading-title {
  text-shadow:
    0 1px 8px rgba(8, 5, 8, 0.85),
    0 1px 3px rgba(8, 5, 8, 0.6) !important;
}

/* 54.8c: H1 typography spread — more line-height, slight tracking, more breathing room below */
.rjv-hero-cinematic h1.elementor-heading-title,
.elementor-element.elementor-element-s01h1000 h1.elementor-heading-title {
  line-height: 1.22 !important;
  letter-spacing: 0.005em !important;
}

/* 54.8d: More space between H1 and subhead so the headline isn't crowded */
.elementor-element.elementor-element-s01h1000 {
  margin-bottom: 32px !important;
}

/* 54.8e: Subhead spacing tweak — slightly more line-height */
.rjv-hero-cinematic .rjv-hero-sub p {
  line-height: 1.65 !important;
}


/* --- Section 54.9: V20.2 Small-text size bump for laptop readability (2026-05-03) --- */

/* 54.9a: Eyebrow — 13px → 15px (still uppercase, still tracked) */
.rjv-hero-cinematic .rjv-hero-eyebrow.rjv-hero-eyebrow--underline,
.rjv-hero-cinematic .rjv-hero-eyebrow.rjv-hero-eyebrow--underline .elementor-heading-title {
  font-size: 15px !important;
  letter-spacing: 0.30em !important;
}

/* 54.9b: Trust line — 12px → 15px. The biggest readability gain. */
.rjv-hero-cinematic .rjv-hero-trust-line p,
.rjv-hero-cinematic .rjv-hero-trust-line {
  font-size: 15px !important;
  letter-spacing: 0.12em !important;
  line-height: 1.7 !important;
}

/* 54.9c: Breadth line — 15px → 17px (it's a key narrative beat, deserves to read) */
.rjv-hero-cinematic .rjv-hero-breadth p {
  font-size: 17px !important;
  line-height: 1.55 !important;
}
@media (max-width: 768px) {
  .rjv-hero-cinematic .rjv-hero-breadth p { font-size: 16px !important; }
}

/* 54.9d: Subhead — 20px → 22px (modest bump, keeps proportion to H1) */
.rjv-hero-cinematic .rjv-hero-sub,
.rjv-hero-cinematic .rjv-hero-sub p {
  font-size: 22px !important;
  line-height: 1.6 !important;
}
@media (max-width: 768px) {
  .rjv-hero-cinematic .rjv-hero-sub,
  .rjv-hero-cinematic .rjv-hero-sub p { font-size: 19px !important; }
}

/* 54.9e: CTA button text — bump from 19px to 21px so the primary CTA carries more weight */
.rjv-hero-cinematic .rjv-btn-primary--lg .elementor-button {
  font-size: 21px !important;
  padding: 24px 40px !important;
}
@media (max-width: 768px) {
  .rjv-hero-cinematic .rjv-btn-primary--lg .elementor-button {
    font-size: 18px !important;
    padding: 18px 24px !important;
  }
}


/* --- Section 54.10: V20.3 Magazine-spread panel captions (2026-05-03) --- */

/* The HTML widget that contains both captions — invisible container */
.rjv-hero-cinematic .rjv-panel-captions {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
}

/* Base caption style — italic serif, sky-blue, small caps treatment */
.rjv-hero-cinematic .rjv-panel-caption {
  position: absolute;
  bottom: 6%;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-style: italic;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: none;
  color: rgba(253, 247, 242, 0.92);
  text-shadow:
    0 2px 16px rgba(8, 5, 8, 0.85),
    0 1px 4px rgba(8, 5, 8, 0.7),
    0 0 1px rgba(8, 5, 8, 0.5);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

/* Left caption — over the LEFT panel (athlete) */
.rjv-hero-cinematic .rjv-panel-caption--left {
  left: 4%;
}

/* Right caption — over the RIGHT panel (pickleball couple) */
.rjv-hero-cinematic .rjv-panel-caption--right {
  right: 4%;
}

/* Subtle sky-blue rule above each caption — magazine-style underscore */
.rjv-hero-cinematic .rjv-panel-caption::before {
  content: '';
  display: block;
  width: 36px;
  height: 2px;
  background: #82C6E8;
  margin: 0 0 12px;
  opacity: 0.85;
}

/* On mobile, hide the captions — the side panels are too narrow to support them */
@media (max-width: 900px) {
  .rjv-hero-cinematic .rjv-panel-captions { display: none; }
}

/* Ensure the HTML widget container itself doesn't break layout */
.elementor-element.elementor-element-s01video {
  position: static;
  margin: 0 !important;
  height: 0 !important;
  overflow: visible !important;
}


/* --- Section 54.11: V20.4 Force-show s01video for caption injection (override legacy hide) --- */
.elementor-28 .elementor-element.elementor-element.elementor-element-s01video,
.elementor-28 .elementor-element-s01video,
.elementor-element-s01video {
  display: block !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  position: static !important;
}

/* The HTML widget's inner content wrapper needs to be visible too */
.elementor-element-s01video > * {
  position: static;
}

/* Make absolutely sure the captions container fills the hero */
.rjv-hero-cinematic .rjv-panel-captions {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  visibility: visible !important;
  pointer-events: none;
  z-index: 4 !important;
}


/* --- Section 54.12: Caption positioning fix — escape the 720px column ---
   The captions live inside .elementor-widget-wrap which is 720px wide and centered.
   To place them at 4vw from viewport edges, we calc out from the column's center.
   For column width of 720px: column-left-edge = (100vw - 720px) / 2 = 50vw - 360px.
   Caption at 4vw from viewport-left in column coords = 4vw - (50vw - 360px) = -46vw + 360px.
   Same math symmetric for right. */
.rjv-hero-cinematic .rjv-panel-caption--left {
  left: calc(-46vw + 360px) !important;
  bottom: 9% !important;
  font-size: 26px !important;
}
.rjv-hero-cinematic .rjv-panel-caption--right {
  right: calc(-46vw + 360px) !important;
  bottom: 9% !important;
  font-size: 26px !important;
  text-align: right !important;
}
.rjv-hero-cinematic .rjv-panel-caption--right::before {
  margin-left: auto;
  margin-right: 0;
}

/* On narrower screens where the column widens to 100% (under 1280px), the math breaks.
   Use simpler positioning via media queries. */
@media (max-width: 1280px) {
  .rjv-hero-cinematic .rjv-panel-caption--left { left: 4vw !important; }
  .rjv-hero-cinematic .rjv-panel-caption--right { right: 4vw !important; }
}
@media (max-width: 900px) {
  .rjv-hero-cinematic .rjv-panel-captions { display: none !important; }
}


/* --- Section 54.13: V20.5 Bottom-text readability + size bump round 2 (2026-05-03) --- */

/* 54.13a: Bottom-edge darkening gradient — a second ::after layer over the lower 30% of hero
   so trust line + breadth line + captions always have a contrast floor underneath. */
.rjv-hero-cinematic::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 30%;
  background: linear-gradient(180deg,
    rgba(15, 8, 12, 0.0) 0%,
    rgba(15, 8, 12, 0.18) 35%,
    rgba(15, 8, 12, 0.45) 75%,
    rgba(15, 8, 12, 0.55) 100%);
  pointer-events: none;
  z-index: 1;
}

/* 54.13b: Subhead 22px → 24px, line-height 1.6, slightly stronger weight */
.rjv-hero-cinematic .rjv-hero-sub,
.rjv-hero-cinematic .rjv-hero-sub p {
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}
@media (max-width: 768px) {
  .rjv-hero-cinematic .rjv-hero-sub,
  .rjv-hero-cinematic .rjv-hero-sub p { font-size: 19px !important; }
}

/* 54.13c: Eyebrow 15px → 17px */
.rjv-hero-cinematic .rjv-hero-eyebrow.rjv-hero-eyebrow--underline,
.rjv-hero-cinematic .rjv-hero-eyebrow.rjv-hero-eyebrow--underline .elementor-heading-title {
  font-size: 17px !important;
  letter-spacing: 0.32em !important;
  font-weight: 700 !important;
}

/* 54.13d: TRUST LINE — switch sky-blue to white, bump weight to 700, size 15→17px */
.rjv-hero-cinematic .rjv-hero-trust-line p,
.rjv-hero-cinematic .rjv-hero-trust-line p strong,
.rjv-hero-cinematic .rjv-hero-trust-line {
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  line-height: 1.65 !important;
  color: #FDF7F2 !important;
  text-transform: uppercase !important;
}

/* 54.13e: BREADTH LINE — bump 17→19px, weight 500, slightly tighter italic */
.rjv-hero-cinematic .rjv-hero-breadth p {
  font-size: 19px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.5 !important;
  color: #FDF7F2 !important;
}
@media (max-width: 768px) {
  .rjv-hero-cinematic .rjv-hero-breadth p { font-size: 17px !important; }
}

/* 54.13f: Triple-stack heavy text-shadow on bottom-anchored elements
   so they read confidently over any photo zone, including the gravel midground */
.rjv-hero-cinematic .rjv-hero-trust-line p,
.rjv-hero-cinematic .rjv-hero-trust-line p strong,
.rjv-hero-cinematic .rjv-hero-breadth p {
  text-shadow:
    0 2px 16px rgba(8, 5, 8, 0.95),
    0 1px 6px rgba(8, 5, 8, 0.85),
    0 1px 2px rgba(8, 5, 8, 0.75) !important;
}

/* 54.13g: Captions on side panels — bump size + heavier weight for confidence */
.rjv-hero-cinematic .rjv-panel-caption {
  font-size: 28px !important;
  font-weight: 600 !important;
  color: #FDF7F2 !important;
  text-shadow:
    0 2px 16px rgba(8, 5, 8, 0.95),
    0 1px 6px rgba(8, 5, 8, 0.85) !important;
}
@media (max-width: 1280px) {
  .rjv-hero-cinematic .rjv-panel-caption {
    font-size: 22px !important;
  }
}


/* --- Section 54.14: V20.6 Bottom-text size bump round 3 (2026-05-03) --- */

/* Trust line: 17px → 19px, still white bold uppercase */
.rjv-hero-cinematic .rjv-hero-trust-line p,
.rjv-hero-cinematic .rjv-hero-trust-line p strong,
.rjv-hero-cinematic .rjv-hero-trust-line {
  font-size: 19px !important;
  letter-spacing: 0.09em !important;
  line-height: 1.6 !important;
}
@media (max-width: 768px) {
  .rjv-hero-cinematic .rjv-hero-trust-line p,
  .rjv-hero-cinematic .rjv-hero-trust-line { font-size: 16px !important; }
}

/* Breadth line: 19px → 22px italic */
.rjv-hero-cinematic .rjv-hero-breadth p {
  font-size: 22px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.005em !important;
}
@media (max-width: 768px) {
  .rjv-hero-cinematic .rjv-hero-breadth p { font-size: 18px !important; }
}

/* --- Section 54.19: V20.11 Clean bottom layout — breadth in column centered, captions align (2026-05-03) --- */

/* Reset section bottom padding to original */
.elementor-28 .elementor-element.elementor-element-s01hero0,
.rjv-section.rjv-hero-cinematic {
  padding-bottom: 96px !important;
}
@media (max-width: 1024px) {
  .elementor-28 .elementor-element.elementor-element-s01hero0,
  .rjv-section.rjv-hero-cinematic {
    padding-bottom: 64px !important;
  }
}

/* Trust line: in column flow, left-aligned, normal text-line layout */
.elementor-28 .elementor-element.elementor-element-s01trust {
  position: static !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  margin: 24px 0 16px !important;
  padding: 0 !important;
  text-align: left !important;
}
.rjv-hero-cinematic .rjv-hero-trust-line,
.rjv-hero-cinematic .rjv-hero-trust-line p {
  text-align: left !important;
}

/* Breadth line: stays in column flow, centered horizontally, larger italic */
.elementor-28 .elementor-element.elementor-element-s01brdth {
  position: static !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  text-align: center !important;
}
.rjv-hero-cinematic .rjv-hero-breadth {
  width: 100% !important;
  text-align: center !important;
  padding: 0 !important;
}
.rjv-hero-cinematic .rjv-hero-breadth p {
  font-size: 26px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  text-align: center !important;
  margin: 0 !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  color: #FDF7F2 !important;
  line-height: 1.4 !important;
  white-space: normal !important;
}
@media (max-width: 1024px) {
  .rjv-hero-cinematic .rjv-hero-breadth p { font-size: 18px !important; text-align: left !important; }
  .rjv-hero-cinematic .rjv-hero-breadth { text-align: left !important; }
  .elementor-28 .elementor-element.elementor-element-s01brdth { text-align: left !important; }
}

/* Captions: stay absolute-positioned at column's bottom-edge level so they align with breadth.
   Using calc() for horizontal escape from the column to the viewport edges. */
.rjv-hero-cinematic .rjv-panel-caption--left,
.rjv-hero-cinematic .rjv-panel-caption--right {
  bottom: 0 !important;
}


/* --- Section 54.20: V20.12 Breadth line escapes column horizontally to fit on one line (2026-05-03) --- */

/* Breadth line widget: uses calc() to escape the 720px column horizontally,
   stays in vertical flow position (after trust line, before bottom edge).
   Visual effect: breadth spans full viewport width, centered, single line. */
.elementor-28 .elementor-element.elementor-element-s01brdth {
  position: relative !important;
  left: calc(-50vw + 50%) !important;
  right: auto !important;
  width: 100vw !important;
  margin: 24px 0 0 !important;
  padding: 0 4vw !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.rjv-hero-cinematic .rjv-hero-breadth {
  width: 100% !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

.rjv-hero-cinematic .rjv-hero-breadth p {
  font-size: 26px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  text-align: center !important;
  margin: 0 !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  color: #FDF7F2 !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  letter-spacing: 0.005em !important;
}

@media (max-width: 1280px) {
  .rjv-hero-cinematic .rjv-hero-breadth p { font-size: 22px !important; }
}
@media (max-width: 1024px) {
  .elementor-28 .elementor-element.elementor-element-s01brdth {
    position: static !important;
    left: auto !important;
    width: 100% !important;
    padding: 0 !important;
    text-align: left !important;
  }
  .rjv-hero-cinematic .rjv-hero-breadth p {
    font-size: 17px !important;
    white-space: normal !important;
    text-align: left !important;
  }
  .rjv-hero-cinematic .rjv-hero-breadth { text-align: left !important; }
}


/* --- Section 54.21: V20.13 Pad breadth to clear captions on the edges --- */
.elementor-28 .elementor-element.elementor-element-s01brdth {
  padding: 0 18vw !important;
}
@media (max-width: 1280px) {
  .elementor-28 .elementor-element.elementor-element-s01brdth {
    padding: 0 16vw !important;
  }
}
@media (max-width: 1024px) {
  .elementor-28 .elementor-element.elementor-element-s01brdth {
    padding: 0 !important;
  }
}


/* --- Section 54.22: V20.14 Hide eyebrow + center hero text (2026-05-03) --- */

/* Hide redundant eyebrow — Elkhorn/drug-free pain relief is already in header bar */
.elementor-28 .elementor-element.elementor-element-s01eyebr {
  display: none !important;
}

/* Center H1 text within its widget */
.elementor-28 .elementor-element.elementor-element-s01h1000 {
  text-align: center !important;
}
.elementor-28 .elementor-element.elementor-element-s01h1000 .elementor-heading-title {
  text-align: center !important;
}

/* Center subhead */
.elementor-28 .elementor-element.elementor-element-s01sub00 {
  text-align: center !important;
}
.rjv-hero-cinematic .rjv-hero-sub,
.rjv-hero-cinematic .rjv-hero-sub p {
  text-align: center !important;
}

/* Center CTA button — change widget align attribute behavior */
.elementor-28 .elementor-element.elementor-element-s01btn00 {
  text-align: center !important;
}
.elementor-28 .elementor-element.elementor-element-s01btn00.elementor-align-left,
.rjv-hero-cinematic .elementor-element-s01btn00.elementor-align-left {
  text-align: center !important;
}
.rjv-hero-cinematic .rjv-btn-primary--lg {
  align-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Center trust line */
.elementor-28 .elementor-element.elementor-element-s01trust {
  text-align: center !important;
}
.rjv-hero-cinematic .rjv-hero-trust-line,
.rjv-hero-cinematic .rjv-hero-trust-line p {
  text-align: center !important;
}

/* Mobile fallback — keep left aligned for readability on narrow screens */
@media (max-width: 768px) {
  .elementor-28 .elementor-element.elementor-element-s01h1000,
  .elementor-28 .elementor-element.elementor-element-s01h1000 .elementor-heading-title,
  .elementor-28 .elementor-element.elementor-element-s01sub00,
  .elementor-28 .elementor-element.elementor-element-s01btn00,
  .elementor-28 .elementor-element.elementor-element-s01trust,
  .rjv-hero-cinematic .rjv-hero-sub,
  .rjv-hero-cinematic .rjv-hero-sub p,
  .rjv-hero-cinematic .rjv-hero-trust-line,
  .rjv-hero-cinematic .rjv-hero-trust-line p {
    text-align: left !important;
  }
}


/* --- Section 54.23: V20.15 Replace breadth with center caption "Parents." (2026-05-03) --- */

/* Hide the long breadth line widget — replaced by Parents. caption */
.elementor-28 .elementor-element.elementor-element-s01brdth {
  display: none !important;
}

/* Center caption — same style as left/right captions, positioned at center-bottom */
.rjv-hero-cinematic .rjv-panel-caption--center {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

/* The ::before sky-blue rule should be centered above the center caption */
.rjv-hero-cinematic .rjv-panel-caption--center::before {
  margin-left: auto;
  margin-right: auto;
}

/* Mobile: hide the captions row entirely under 900px to keep mobile clean */
@media (max-width: 900px) {
  .rjv-hero-cinematic .rjv-panel-caption--center {
    display: none !important;
  }
}


/* --- Section 54.24: V20.16 Hide hero trust line — info redundant with header bar (2026-05-03) --- */
.elementor-28 .elementor-element.elementor-element-s01trust {
  display: none !important;
}


/* --- Section 54.25: V20.17 Add space between CTA button and bottom captions (2026-05-03) --- */

/* Push the three captions down ~40px below the column-wrap bottom edge into the section's bottom padding.
   This creates clear breathing room between the CTA button and the caption strip. */
.rjv-hero-cinematic .rjv-panel-caption--left,
.rjv-hero-cinematic .rjv-panel-caption--right,
.rjv-hero-cinematic .rjv-panel-caption--center {
  bottom: -40px !important;
}

/* Make sure the section has enough bottom padding so the captions don't fall off */
.elementor-28 .elementor-element.elementor-element-s01hero0,
.rjv-section.rjv-hero-cinematic {
  padding-bottom: 130px !important;
}
@media (max-width: 1024px) {
  .elementor-28 .elementor-element.elementor-element-s01hero0,
  .rjv-section.rjv-hero-cinematic {
    padding-bottom: 64px !important;
  }
}
@media (max-width: 900px) {
  /* On mobile captions are hidden, so no extra padding needed beyond mobile default */
  .rjv-hero-cinematic .rjv-panel-caption--left,
  .rjv-hero-cinematic .rjv-panel-caption--right,
  .rjv-hero-cinematic .rjv-panel-caption--center {
    bottom: 0 !important;
  }
}


/* --- Section 55: V20.18 Section 2 Empathy — bigger logos + testimonials (2026-05-03) --- */

/* 55.1: BREAK trust strip out of the 1000px column constraint to dominate the section */
.elementor-28 .elementor-element.elementor-element-s02lead0 .rjv-trust-v19 {
  margin-left: calc(50% - 50vw + 4vw) !important;
  margin-right: calc(50% - 50vw + 4vw) !important;
  width: calc(100vw - 8vw) !important;
  max-width: 1800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  position: relative !important;
}

/* Override: extend the trust strip wider than the column max-width */
.elementor-28 .elementor-element.elementor-element-s02lead0 {
  position: relative !important;
}
.elementor-28 .elementor-element.elementor-element-s02lead0 .rjv-trust-v19 {
  margin: 24px auto 32px !important;
  max-width: 1600px !important;
  width: 92vw !important;
  background: #FDF7F2 !important;
  border-radius: 16px !important;
  padding: 40px 48px !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.40), 0 8px 24px rgba(0, 0, 0, 0.25) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
}

/* Bump eyebrow size + tracking */
.rjv-trust-v19 .rjv-trust-v19__eyebrow {
  font-size: 16px !important;
  letter-spacing: 0.32em !important;
  font-weight: 700 !important;
  color: #2B1B1B !important;
  margin: 0 0 28px !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

/* SCALE UP THE LOGO IMAGE so logos dominate the section */
.rjv-trust-v19 .rjv-trust-v19__logos {
  width: 100% !important;
  text-align: center !important;
}
.rjv-trust-v19 .rjv-trust-v19__logos img {
  width: 100% !important;
  max-width: 1500px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
  /* The source image is 2520x280 — scaling at 100% width gives big legible logos */
}

/* Caption under logos */
.rjv-trust-v19 .rjv-trust-v19__caption {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-style: italic !important;
  font-size: 18px !important;
  color: #4A2E2E !important;
  margin: 28px 0 0 !important;
  text-align: center !important;
  line-height: 1.4 !important;
}

@media (max-width: 1200px) {
  .elementor-28 .elementor-element.elementor-element-s02lead0 .rjv-trust-v19 {
    width: 96vw !important;
    padding: 32px 24px !important;
  }
}
@media (max-width: 768px) {
  .elementor-28 .elementor-element.elementor-element-s02lead0 .rjv-trust-v19 {
    padding: 24px 16px !important;
  }
  .rjv-trust-v19 .rjv-trust-v19__eyebrow { font-size: 13px !important; margin: 0 0 18px !important; }
  .rjv-trust-v19 .rjv-trust-v19__caption { font-size: 15px !important; }
}

/* 55.2: Eyebrow above the testimonials block */
.rjv-empathy-eyebrow {
  text-align: center;
  margin: 56px 0 24px;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.30em;
  text-transform: uppercase;
  color: #82C6E8;
}

/* 55.3: Testimonials grid in Section 2 */
.rjv-tst2-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto 48px;
}
.rjv-tst2-card {
  background: rgba(253, 247, 242, 0.04);
  border: 1px solid rgba(253, 247, 242, 0.12);
  border-radius: 14px;
  padding: 32px 28px;
  position: relative;
}
.rjv-tst2-card::before {
  content: '"';
  position: absolute;
  top: 8px;
  left: 16px;
  font-family: Georgia, serif;
  font-size: 64px;
  line-height: 1;
  color: rgba(130, 198, 232, 0.4);
}
.rjv-tst2-quote {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-style: italic;
  font-size: 19px;
  line-height: 1.5;
  color: #FDF7F2;
  margin: 24px 0 20px;
  position: relative;
  z-index: 1;
}
.rjv-tst2-attr {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  color: rgba(253, 247, 242, 0.7);
  margin: 0;
  letter-spacing: 0.02em;
}
.rjv-tst2-attr strong {
  color: #82C6E8;
  font-weight: 700;
}

@media (max-width: 900px) {
  .rjv-tst2-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .rjv-tst2-card {
    padding: 24px 20px;
  }
}


/* --- Section 55.4: V20.19 Center Section 2 content (2026-05-03) --- */

/* Center H2 "You're not broken..." */
.elementor-28 .elementor-element.elementor-element-s02h2000 {
  text-align: center !important;
}
.elementor-28 .elementor-element.elementor-element-s02h2000 .elementor-heading-title {
  text-align: center !important;
}

/* Center the eyebrow chip (already has text-align center but enforce) */
.elementor-28 .elementor-element.elementor-element-s02eybr0 {
  text-align: center !important;
}
.elementor-28 .elementor-element.elementor-element-s02eybr0 .elementor-heading-title {
  text-align: center !important;
}

/* Center the empathy cards grid — currently 2-col, ensure max-width + auto margins */
.rjv-empathy-grid {
  max-width: 1100px !important;
  margin: 32px auto 0 !important;
  text-align: center !important;
}

/* Center the empathy card text inside */
.rjv-empathy-card {
  text-align: center !important;
}

/* Center the transition line "Here's what most people miss." */
.elementor-28 .elementor-element.elementor-element-s02whts0,
.elementor-28 .elementor-element.elementor-element-s02trans {
  text-align: center !important;
}

/* Center the trust strip caption (already centered but enforce) */
.rjv-trust-v19 .rjv-trust-v19__caption,
.rjv-trust-v19 .rjv-trust-v19__eyebrow {
  text-align: center !important;
}

/* Center the testimonial cards — already a centered grid but enforce content */
.rjv-tst2-grid {
  margin: 0 auto 48px !important;
  text-align: center !important;
  justify-content: center !important;
}

/* Mobile: keep left-aligned for readability */
@media (max-width: 768px) {
  .elementor-28 .elementor-element.elementor-element-s02h2000,
  .elementor-28 .elementor-element.elementor-element-s02h2000 .elementor-heading-title {
    text-align: left !important;
  }
  .rjv-empathy-card {
    text-align: left !important;
  }
}


/* --- Section 56: V20.20 Logo marquee carousel — Section 2 (2026-05-04) --- */

/* Hide old V19 trust strip styles when marquee is present */
.rjv-marquee + .rjv-trust-v19,
.rjv-trust-v19:has(+ .rjv-marquee) { display: none; }

/* Marquee container */
.rjv-marquee {
  background: var(--rjv-cream, #FDF7F2);
  border-radius: 16px;
  padding: 40px 0;
  margin: 24px auto 0;
  max-width: 1600px;
  width: 92vw;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.40), 0 8px 24px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.10);
  overflow: hidden;
}

/* Eyebrow */
.rjv-marquee__eyebrow {
  text-align: center;
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.32em;
  color: #2B1B1B;
  text-transform: uppercase;
  margin: 0 0 32px;
}

/* Scrolling viewport — fade gradient mask on edges */
.rjv-marquee__viewport {
  overflow: hidden;
  position: relative;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%);
}

/* Track — flex layout, auto-scroll animation */
.rjv-marquee__track {
  display: flex;
  gap: 80px;
  width: max-content;
  align-items: center;
  animation: rjv-marquee-scroll 50s linear infinite;
}

/* Pause on hover or keyboard focus */
.rjv-marquee:hover .rjv-marquee__track,
.rjv-marquee:focus-within .rjv-marquee__track {
  animation-play-state: paused;
}

/* Each logo item */
.rjv-marquee__item {
  flex-shrink: 0;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rjv-marquee__item img {
  height: 80px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  display: block;
}

/* Caption underneath */
.rjv-marquee__caption {
  text-align: center;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-style: italic;
  font-size: 18px;
  color: #4A2E2E;
  margin: 32px auto 0;
  max-width: 800px;
  line-height: 1.4;
  padding: 0 24px;
}

/* The animation: translate the track left by 50% (one full set's worth) for seamless loop */
@keyframes rjv-marquee-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-50% - 40px)); }
}

/* Accessibility: respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .rjv-marquee__track {
    animation: none;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    gap: 40px 60px;
    padding: 0 24px;
  }
  .rjv-marquee__viewport {
    -webkit-mask-image: none;
    mask-image: none;
    overflow: visible;
  }
}

/* Mobile / tablet sizing */
@media (max-width: 1024px) {
  .rjv-marquee {
    width: 96vw;
    padding: 32px 0;
  }
  .rjv-marquee__track { gap: 60px; }
  .rjv-marquee__item { height: 64px; }
  .rjv-marquee__item img { height: 64px; max-width: 180px; }
}
@media (max-width: 600px) {
  .rjv-marquee { padding: 24px 0; border-radius: 12px; }
  .rjv-marquee__eyebrow { font-size: 13px; margin-bottom: 18px; letter-spacing: 0.24em; }
  .rjv-marquee__item { height: 48px; }
  .rjv-marquee__item img { height: 48px; max-width: 140px; }
  .rjv-marquee__track { gap: 40px; animation-duration: 35s; }
  .rjv-marquee__caption { font-size: 15px; margin-top: 20px; }
}


/* --- Section 56.1: V20.21 Marquee text color override (was inheriting cream from Section 2) --- */
.rjv-marquee .rjv-marquee__eyebrow,
.rjv-marquee p.rjv-marquee__eyebrow {
  color: #2B1B1B !important;
}
.rjv-marquee .rjv-marquee__caption,
.rjv-marquee p.rjv-marquee__caption {
  color: #4A2E2E !important;
}


/* --- Section 57: V20.22 Section 2 Comprehensive A+ Pass (2026-05-04) --- */

/* 57.1: Section padding for breathing room */
.elementor-28 .elementor-element.elementor-element-s02prob0 {
  padding: 120px 24px !important;
}
@media (max-width: 768px) {
  .elementor-28 .elementor-element.elementor-element-s02prob0 {
    padding: 80px 16px !important;
  }
}

/* 57.2: Eyebrow chip — give it breathing room and proper centering */
.elementor-28 .elementor-element.elementor-element-s02eybr0 {
  text-align: center !important;
  max-width: 280px !important;
  margin: 0 auto 32px !important;
}
.elementor-28 .elementor-element.elementor-element-s02eybr0 .elementor-heading-title {
  background: rgba(130, 198, 232, 0.10) !important;
  border: 1px solid rgba(130, 198, 232, 0.32) !important;
  border-radius: 999px !important;
  padding: 12px 28px !important;
  display: inline-block !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.32em !important;
  color: #82C6E8 !important;
  text-transform: uppercase !important;
}

/* 57.3: H2 — explicit centering, larger, more refined */
.elementor-28 .elementor-element.elementor-element-s02h2000 {
  text-align: center !important;
  max-width: 900px !important;
  margin: 0 auto 56px !important;
}
.elementor-28 .elementor-element.elementor-element-s02h2000 .elementor-heading-title {
  text-align: center !important;
  font-size: 48px !important;
  line-height: 1.18 !important;
  letter-spacing: -0.01em !important;
}
@media (max-width: 768px) {
  .elementor-28 .elementor-element.elementor-element-s02h2000 .elementor-heading-title {
    font-size: 32px !important;
  }
}

/* 57.4: MARQUEE — bigger, wider, properly centered across viewport */
.elementor-28 .elementor-element.elementor-element-s02lead0 {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  display: block !important;
}

.rjv-marquee {
  margin: 0 auto !important;
  width: 96vw !important;
  max-width: 1800px !important;
  padding: 56px 0 !important;
  border-radius: 20px !important;
  box-shadow: 0 32px 100px rgba(0, 0, 0, 0.45), 0 12px 32px rgba(0, 0, 0, 0.30) !important;
}

.rjv-marquee__eyebrow {
  font-size: 18px !important;
  letter-spacing: 0.36em !important;
  margin: 0 0 40px !important;
}

/* BIGGER logos — 80px → 110px tall */
.rjv-marquee__item {
  height: 110px !important;
}
.rjv-marquee__item img {
  height: 110px !important;
  max-width: 280px !important;
}

.rjv-marquee__track {
  gap: 100px !important;
}

.rjv-marquee__caption {
  font-size: 19px !important;
  margin: 40px auto 0 !important;
  max-width: 880px !important;
}

@media (max-width: 1024px) {
  .rjv-marquee { padding: 40px 0 !important; }
  .rjv-marquee__item { height: 80px !important; }
  .rjv-marquee__item img { height: 80px !important; max-width: 220px !important; }
  .rjv-marquee__track { gap: 70px !important; }
  .rjv-marquee__eyebrow { font-size: 14px !important; margin-bottom: 28px !important; }
  .rjv-marquee__caption { font-size: 17px !important; }
}
@media (max-width: 600px) {
  .rjv-marquee { padding: 28px 0 !important; }
  .rjv-marquee__item { height: 56px !important; }
  .rjv-marquee__item img { height: 56px !important; max-width: 160px !important; }
  .rjv-marquee__track { gap: 48px !important; animation-duration: 35s; }
  .rjv-marquee__eyebrow { font-size: 12px !important; letter-spacing: 0.28em !important; margin-bottom: 18px !important; }
  .rjv-marquee__caption { font-size: 15px !important; padding: 0 16px; }
}

/* 57.5: Empathy grid — properly centered, refined card treatment */
.rjv-empathy-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(320px, 1fr)) !important;
  gap: 28px !important;
  max-width: 1000px !important;
  margin: 56px auto 0 !important;
  justify-items: stretch !important;
}
.rjv-empathy-card {
  background: rgba(253, 247, 242, 0.04) !important;
  border: 1px solid rgba(253, 247, 242, 0.10) !important;
  border-radius: 14px !important;
  padding: 36px 32px !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-style: italic !important;
  font-size: 19px !important;
  line-height: 1.55 !important;
  color: rgba(253, 247, 242, 0.92) !important;
  text-align: center !important;
  position: relative !important;
  transition: background 0.25s ease, transform 0.25s ease, border-color 0.25s ease !important;
}
.rjv-empathy-card::before {
  content: '\201C' !important;  /* opening curly quote */
  position: absolute !important;
  top: 4px !important;
  left: 18px !important;
  font-family: Georgia, serif !important;
  font-size: 64px !important;
  line-height: 1 !important;
  color: rgba(130, 198, 232, 0.35) !important;
  font-style: normal !important;
}
.rjv-empathy-card:hover {
  background: rgba(253, 247, 242, 0.06) !important;
  border-color: rgba(130, 198, 232, 0.25) !important;
  transform: translateY(-2px) !important;
}
@media (max-width: 768px) {
  .rjv-empathy-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .rjv-empathy-card { padding: 28px 24px !important; font-size: 17px !important; }
}

/* 57.6: Testimonials eyebrow — give it room */
.rjv-empathy-eyebrow {
  margin: 80px 0 32px !important;
  font-size: 16px !important;
  letter-spacing: 0.36em !important;
}

/* 57.7: Testimonials grid — explicit centering, polished cards */
.rjv-tst2-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  max-width: 1100px !important;
  margin: 0 auto 0 !important;
  justify-items: stretch !important;
}
.rjv-tst2-card {
  background: rgba(253, 247, 242, 0.04) !important;
  border: 1px solid rgba(253, 247, 242, 0.12) !important;
  border-radius: 14px !important;
  padding: 36px 28px 28px !important;
  position: relative !important;
  transition: background 0.25s ease, transform 0.25s ease, border-color 0.25s ease !important;
}
.rjv-tst2-card:hover {
  background: rgba(253, 247, 242, 0.06) !important;
  border-color: rgba(130, 198, 232, 0.25) !important;
  transform: translateY(-2px) !important;
}
.rjv-tst2-card::before {
  content: '\201C' !important;
  position: absolute !important;
  top: 4px !important;
  left: 18px !important;
  font-family: Georgia, serif !important;
  font-size: 64px !important;
  line-height: 1 !important;
  color: rgba(130, 198, 232, 0.35) !important;
}
.rjv-tst2-quote {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-style: italic !important;
  font-size: 20px !important;
  line-height: 1.5 !important;
  color: #FDF7F2 !important;
  margin: 28px 0 24px !important;
  text-align: left !important;
}
.rjv-tst2-attr {
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  color: rgba(253, 247, 242, 0.7) !important;
  margin: 0 !important;
  letter-spacing: 0.04em !important;
  text-align: left !important;
}
.rjv-tst2-attr strong {
  color: #82C6E8 !important;
  font-weight: 700 !important;
}
@media (max-width: 900px) {
  .rjv-tst2-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
}

/* 57.8: Transition line "Here's what most people miss." */
.elementor-28 .elementor-element.elementor-element-s02whts0,
.elementor-28 .elementor-element.elementor-element-s02trans {
  text-align: center !important;
  margin-top: 64px !important;
}


/* --- Section 57.9: V20.23 Fix eyebrow chip wrap (2026-05-04) --- */
.elementor-28 .elementor-element.elementor-element-s02eybr0 {
  max-width: 100% !important;
  margin: 0 auto 32px !important;
}
.elementor-28 .elementor-element.elementor-element-s02eybr0 .elementor-heading-title {
  white-space: nowrap !important;
  width: auto !important;
  max-width: none !important;
}


/* --- Section 57.10: V20.24 Strip dark band from eyebrow widget (2026-05-04) --- */
.elementor-28 .elementor-element.elementor-element-s02eybr0 {
  background: transparent !important;
  background-color: transparent !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
}


/* --- Section 58: V20.25 Testimonials 4-column grid (2026-05-04) --- */
.rjv-tst2-grid.rjv-tst2-grid--4col {
  grid-template-columns: repeat(4, 1fr) !important;
  max-width: 1300px !important;
  gap: 20px !important;
}
.rjv-tst2-grid.rjv-tst2-grid--4col .rjv-tst2-card {
  padding: 32px 24px 24px !important;
}
.rjv-tst2-grid.rjv-tst2-grid--4col .rjv-tst2-quote {
  font-size: 18px !important;
  line-height: 1.45 !important;
}
.rjv-tst2-grid.rjv-tst2-grid--4col .rjv-tst2-attr {
  font-size: 13px !important;
}
@media (max-width: 1100px) {
  .rjv-tst2-grid.rjv-tst2-grid--4col {
    grid-template-columns: repeat(2, 1fr) !important;
    max-width: 900px !important;
  }
}
@media (max-width: 600px) {
  .rjv-tst2-grid.rjv-tst2-grid--4col {
    grid-template-columns: 1fr !important;
  }
}


/* --- Section 59: V20.26 Section 2 body text size bump (2026-05-04) --- */

/* Empathy cards: 19px → 22px */
.rjv-empathy-card {
  font-size: 22px !important;
  line-height: 1.5 !important;
}
@media (max-width: 768px) {
  .rjv-empathy-card { font-size: 18px !important; }
}

/* Testimonials eyebrow: 16px → 18px */
.rjv-empathy-eyebrow {
  font-size: 18px !important;
  letter-spacing: 0.36em !important;
}
@media (max-width: 768px) {
  .rjv-empathy-eyebrow { font-size: 14px !important; letter-spacing: 0.28em !important; }
}

/* Testimonial 4-col grid: quote 18px → 21px, attribution 13px → 15px */
.rjv-tst2-grid.rjv-tst2-grid--4col .rjv-tst2-quote {
  font-size: 21px !important;
  line-height: 1.45 !important;
}
.rjv-tst2-grid.rjv-tst2-grid--4col .rjv-tst2-attr {
  font-size: 15px !important;
}
@media (max-width: 1100px) {
  .rjv-tst2-grid.rjv-tst2-grid--4col .rjv-tst2-quote { font-size: 19px !important; }
  .rjv-tst2-grid.rjv-tst2-grid--4col .rjv-tst2-attr { font-size: 14px !important; }
}

/* Transition line "Here's what most people miss." */
.elementor-28 .elementor-element.elementor-element-s02whts0,
.elementor-28 .elementor-element.elementor-element-s02trans {
  font-size: 22px !important;
}
.elementor-28 .elementor-element.elementor-element-s02whts0 p,
.elementor-28 .elementor-element.elementor-element-s02trans p {
  font-size: 22px !important;
}

/* --- Section 60: V20.28 Two Paths cinematic A+ (dark theme + stat banner + glowing cards) --- */

/* 60.0: Hide orphan icon-boxes */
.elementor-28 .elementor-element.elementor-element-s03stp01,
.elementor-28 .elementor-element.elementor-element-s03stp02,
.elementor-28 .elementor-element.elementor-element-s03stp03,
.elementor-28 .elementor-element.elementor-element-s03h3000 {
  display: none !important;
}

/* 60.1: Section dark wine background, with subtle radial gradient texture */
.elementor-28 .elementor-element.elementor-element-s03sol00 {
  padding: 140px 24px !important;
  background: radial-gradient(ellipse at top, rgba(155, 26, 45, 0.08) 0%, rgba(31, 16, 21, 0) 60%), #1F1015 !important;
  position: relative !important;
  overflow: hidden !important;
}
.elementor-28 .elementor-element.elementor-element-s03sol00::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at bottom right, rgba(46, 204, 113, 0.06) 0%, transparent 50%);
  pointer-events: none;
}

/* 60.2: Eyebrow pill chip, light/luminous on dark */
.elementor-28 .elementor-element.elementor-element-s03eybr0 {
  background: transparent !important;
  margin: 0 auto 32px !important;
  padding: 0 !important;
  text-align: center !important;
  position: relative !important;
  z-index: 2 !important;
}
.elementor-28 .elementor-element.elementor-element-s03eybr0 .elementor-heading-title {
  display: inline-block !important;
  background: rgba(253, 247, 242, 0.06) !important;
  border: 1px solid rgba(253, 247, 242, 0.18) !important;
  border-radius: 999px !important;
  padding: 14px 32px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.36em !important;
  color: rgba(253, 247, 242, 0.85) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* 60.3: H2 — light on dark, dramatic */
.elementor-28 .elementor-element.elementor-element-s03h2000 {
  text-align: center !important;
  margin: 0 auto 64px !important;
  max-width: 1000px !important;
  position: relative !important;
  z-index: 2 !important;
}
.elementor-28 .elementor-element.elementor-element-s03h2000 .elementor-heading-title {
  color: #FDF7F2 !important;
  font-size: 56px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.015em !important;
  text-align: center !important;
}
.elementor-28 .elementor-element.elementor-element-s03h2000 .elementor-heading-title em {
  font-style: italic;
  background: linear-gradient(120deg, #82C6E8 0%, #FDF7F2 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@media (max-width: 768px) {
  .elementor-28 .elementor-element.elementor-element-s03h2000 .elementor-heading-title {
    font-size: 36px !important;
  }
  .elementor-28 .elementor-element.elementor-element-s03sol00 { padding: 80px 16px !important; }
}

/* 60.4: Two paths container */
.rjv-twopaths {
  max-width: 1280px !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 2 !important;
}

/* 60.5: GAP STAT BANNER — dramatic visual centerpiece */
.rjv-twopaths__gap {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 40px;
  align-items: stretch;
  margin: 0 auto 80px;
  max-width: 1100px;
  padding: 48px 32px;
  background: rgba(253, 247, 242, 0.03);
  border: 1px solid rgba(253, 247, 242, 0.10);
  border-radius: 24px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.rjv-twopaths__gap-side {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.rjv-twopaths__gap-time {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}
.rjv-twopaths__gap-side--wait .rjv-twopaths__gap-time { color: #E76060; }
.rjv-twopaths__gap-side--act .rjv-twopaths__gap-time { color: #4ADE80; }

.rjv-twopaths__gap-label {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-style: italic;
  font-size: 18px;
  color: rgba(253, 247, 242, 0.72);
  margin-bottom: 16px;
}
.rjv-twopaths__gap-bar {
  width: 100%;
  height: 6px;
  border-radius: 999px;
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
}
.rjv-twopaths__gap-bar--wait {
  background: linear-gradient(90deg, rgba(231, 96, 96, 0.15) 0%, #E76060 60%, #C8102E 100%);
  box-shadow: 0 0 24px rgba(231, 96, 96, 0.35);
}
.rjv-twopaths__gap-bar--act {
  background: linear-gradient(90deg, rgba(74, 222, 128, 0.15) 0%, #4ADE80 60%, #1F774C 100%);
  box-shadow: 0 0 24px rgba(74, 222, 128, 0.35);
}
.rjv-twopaths__gap-stat {
  font-family: 'Poppins', sans-serif;
  font-size: 56px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em;
  margin: 8px 0 4px;
}
.rjv-twopaths__gap-side--wait .rjv-twopaths__gap-stat { color: #FDF7F2; }
.rjv-twopaths__gap-side--act .rjv-twopaths__gap-stat { color: #FDF7F2; }
.rjv-twopaths__gap-detail {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  color: rgba(253, 247, 242, 0.65);
  line-height: 1.4;
  max-width: 280px;
}
.rjv-twopaths__gap-divider {
  display: flex;
  align-items: center;
  justify-content: center;
}
.rjv-twopaths__vs-mark {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(231, 96, 96, 0.15) 0%, rgba(74, 222, 128, 0.15) 100%);
  border: 2px solid rgba(253, 247, 242, 0.20);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.10em;
  color: #FDF7F2;
  box-shadow: 0 0 32px rgba(253, 247, 242, 0.10);
}

@media (max-width: 900px) {
  .rjv-twopaths__gap {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 32px 20px;
  }
  .rjv-twopaths__gap-stat { font-size: 44px; }
}

/* 60.6: Cards container — dual luminous cards on dark */
.rjv-twopaths__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  max-width: 1200px;
  margin: 0 auto 56px;
}
@media (max-width: 900px) {
  .rjv-twopaths__cards {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* 60.7: Cards — luminous dark with strong colored glow */
.rjv-twopaths__card {
  position: relative;
  border-radius: 22px;
  padding: 56px 44px;
  background: rgba(253, 247, 242, 0.03);
  border: 1px solid rgba(253, 247, 242, 0.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  overflow: hidden;
  transition: transform 0.3s cubic-bezier(.21,.6,.35,1), border-color 0.3s ease, box-shadow 0.3s ease;
  text-align: left;
}
.rjv-twopaths__card-glow {
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0.6;
  z-index: 0;
  transition: opacity 0.3s ease;
}
.rjv-twopaths__card-glow--wait {
  background: radial-gradient(ellipse at top left, rgba(231, 96, 96, 0.18) 0%, transparent 60%);
}
.rjv-twopaths__card-glow--act {
  background: radial-gradient(ellipse at top right, rgba(74, 222, 128, 0.18) 0%, transparent 60%);
}
.rjv-twopaths__card > * { position: relative; z-index: 1; }

.rjv-twopaths__card--wait {
  border-color: rgba(231, 96, 96, 0.22);
}
.rjv-twopaths__card--wait:hover {
  transform: translateY(-6px);
  border-color: rgba(231, 96, 96, 0.50);
  box-shadow: 0 32px 80px rgba(200, 16, 46, 0.30), 0 0 60px rgba(231, 96, 96, 0.15) inset;
}
.rjv-twopaths__card--wait:hover .rjv-twopaths__card-glow--wait { opacity: 1; }

.rjv-twopaths__card--act {
  border-color: rgba(74, 222, 128, 0.22);
}
.rjv-twopaths__card--act:hover {
  transform: translateY(-6px);
  border-color: rgba(74, 222, 128, 0.50);
  box-shadow: 0 32px 80px rgba(31, 119, 76, 0.30), 0 0 60px rgba(74, 222, 128, 0.15) inset;
}
.rjv-twopaths__card--act:hover .rjv-twopaths__card-glow--act { opacity: 1; }

/* 60.8: Custom SVG arrows */
.rjv-twopaths__svgarrow {
  width: 56px;
  height: 70px;
  display: block;
  margin-bottom: 20px;
}
.rjv-twopaths__svgarrow--down {
  color: #E76060;
  filter: drop-shadow(0 0 12px rgba(231, 96, 96, 0.45));
  animation: rjv-svg-down 2.4s ease-in-out infinite;
}
.rjv-twopaths__svgarrow--up {
  color: #4ADE80;
  filter: drop-shadow(0 0 12px rgba(74, 222, 128, 0.45));
  animation: rjv-svg-up 2.4s ease-in-out infinite;
}
@keyframes rjv-svg-down {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(8px); }
}
@keyframes rjv-svg-up {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* 60.9: Card typography */
.rjv-twopaths__heading {
  font-family: 'Poppins', sans-serif;
  font-size: 36px;
  font-weight: 800;
  margin: 0 0 8px;
  letter-spacing: -0.015em;
}
.rjv-twopaths__card--wait .rjv-twopaths__heading {
  background: linear-gradient(120deg, #FF8888 0%, #E76060 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.rjv-twopaths__card--act .rjv-twopaths__heading {
  background: linear-gradient(120deg, #7EE8A6 0%, #4ADE80 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.rjv-twopaths__sub {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-style: italic;
  font-size: 16px;
  font-weight: 500;
  margin: 0 0 32px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}
.rjv-twopaths__card--wait .rjv-twopaths__sub { color: rgba(231, 96, 96, 0.85); }
.rjv-twopaths__card--act .rjv-twopaths__sub { color: rgba(74, 222, 128, 0.85); }

.rjv-twopaths__list {
  list-style: none;
  padding: 0;
  margin: 0 0 36px;
}
.rjv-twopaths__list li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  line-height: 1.55;
  color: rgba(253, 247, 242, 0.88);
  transition: transform 0.2s ease, color 0.2s ease;
}
.rjv-twopaths__list li:hover {
  transform: translateX(4px);
  color: #FDF7F2;
}
.rjv-twopaths__list li:last-child { margin-bottom: 0; }
.rjv-twopaths__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 800;
  margin-top: 2px;
}
.rjv-twopaths__card--wait .rjv-twopaths__icon {
  color: #FF8888;
  background: rgba(231, 96, 96, 0.15);
  border: 1px solid rgba(231, 96, 96, 0.30);
}
.rjv-twopaths__card--act .rjv-twopaths__icon {
  color: #7EE8A6;
  background: rgba(74, 222, 128, 0.15);
  border: 1px solid rgba(74, 222, 128, 0.30);
}

/* 60.10: Future-state callout at bottom of each card */
.rjv-twopaths__future {
  padding-top: 28px;
  border-top: 1px solid rgba(253, 247, 242, 0.10);
}
.rjv-twopaths__future-label {
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(253, 247, 242, 0.5);
  margin-bottom: 8px;
}
.rjv-twopaths__future-quote {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-style: italic;
  font-size: 19px;
  line-height: 1.4;
  color: #FDF7F2;
}

/* 60.11: Tagline */
.rjv-twopaths__tagline {
  text-align: center;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-style: italic;
  font-size: 24px;
  font-weight: 400;
  color: rgba(253, 247, 242, 0.72);
  margin: 56px auto 0 !important;
  max-width: 700px;
  line-height: 1.4;
  position: relative;
  z-index: 2;
}

@media (max-width: 768px) {
  .rjv-twopaths__card { padding: 36px 24px; }
  .rjv-twopaths__heading { font-size: 28px; }
  .rjv-twopaths__sub { font-size: 13px; }
  .rjv-twopaths__list li { font-size: 16px; gap: 12px; }
  .rjv-twopaths__icon { width: 24px; height: 24px; font-size: 12px; }
  .rjv-twopaths__tagline { font-size: 18px; }
  .rjv-twopaths__svgarrow { width: 44px; height: 56px; }
  .rjv-twopaths__future-quote { font-size: 16px; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .rjv-twopaths__svgarrow,
  .rjv-twopaths__svgarrow--up,
  .rjv-twopaths__svgarrow--down { animation: none !important; }
  .rjv-twopaths__card,
  .rjv-twopaths__list li { transition: none !important; }
}


/* --- Section 60.1: V20.29 Bullet text brighten + red/green emphasis (2026-05-04) --- */

/* Brighter bullet text — was 0.88, now full white */
.rjv-twopaths__list li {
  color: #FDF7F2 !important;
  font-weight: 500 !important;
}

/* Bold emphasis spans inside bullets — color-themed */
.rjv-emph {
  font-weight: 800 !important;
}
.rjv-emph--wait {
  color: #FF8888 !important;
  text-shadow: 0 0 14px rgba(231, 96, 96, 0.30);
}
.rjv-emph--act {
  color: #7EE8A6 !important;
  text-shadow: 0 0 14px rgba(74, 222, 128, 0.30);
}

/* Stat banner — bigger numbers, plus sign */
.rjv-twopaths__gap-stat {
  font-size: 64px !important;
  display: flex;
  align-items: baseline;
  justify-content: center;
}
.rjv-twopaths__gap-stat-plus {
  font-size: 0.6em;
  margin-left: 4px;
  vertical-align: super;
  font-weight: 800;
}
.rjv-twopaths__gap-side--wait .rjv-twopaths__gap-stat {
  background: linear-gradient(135deg, #FF8888 0%, #E76060 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.rjv-twopaths__gap-side--act .rjv-twopaths__gap-stat {
  background: linear-gradient(135deg, #7EE8A6 0%, #4ADE80 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* Stat detail copy — brighter, more readable */
.rjv-twopaths__gap-detail {
  color: rgba(253, 247, 242, 0.85) !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}
.rjv-twopaths__gap-detail strong {
  color: #FDF7F2 !important;
  font-weight: 700 !important;
}

/* Future-state quotes — bigger, more emphatic */
.rjv-twopaths__future-quote {
  font-size: 21px !important;
  color: #FDF7F2 !important;
  font-weight: 500 !important;
}

/* Tagline — bigger and brighter */
.rjv-twopaths__tagline {
  font-size: 26px !important;
  color: rgba(253, 247, 242, 0.92) !important;
  font-weight: 500 !important;
}

@media (max-width: 768px) {
  .rjv-twopaths__gap-stat { font-size: 44px !important; }
  .rjv-twopaths__gap-detail { font-size: 14px !important; }
  .rjv-twopaths__future-quote { font-size: 17px !important; }
  .rjv-twopaths__tagline { font-size: 19px !important; }
}


/* --- Section 60.2: V20.30 Cost divergence chart (2026-05-04) --- */

.rjv-costchart {
  max-width: 1200px;
  margin: 0 auto 80px;
  padding: 48px 40px;
  background: rgba(253, 247, 242, 0.025);
  border: 1px solid rgba(253, 247, 242, 0.10);
  border-radius: 24px;
  position: relative;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* Heading */
.rjv-costchart__head {
  text-align: center;
  margin-bottom: 32px;
}
.rjv-costchart__title {
  font-family: 'Poppins', sans-serif;
  font-size: 32px;
  font-weight: 800;
  color: #FDF7F2;
  margin: 0 0 8px;
  letter-spacing: -0.01em;
}
.rjv-costchart__sub {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-style: italic;
  font-size: 17px;
  color: rgba(253, 247, 242, 0.70);
  margin: 0;
}
@media (max-width: 768px) {
  .rjv-costchart { padding: 28px 20px; }
  .rjv-costchart__title { font-size: 22px; }
  .rjv-costchart__sub { font-size: 14px; }
}

/* Plot area */
.rjv-costchart__plot {
  position: relative;
  margin: 0 auto;
}
.rjv-costchart__svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}

/* Animate the line drawing on scroll-in */
.rjv-costchart__line {
  stroke-dasharray: 1500;
  stroke-dashoffset: 1500;
  animation: rjv-draw-line 2.4s ease-out 0.3s forwards;
}
.rjv-costchart__line--act {
  animation-delay: 0.5s;
}
@keyframes rjv-draw-line {
  to { stroke-dashoffset: 0; }
}

/* Animate filled area fade-in */
.rjv-costchart__area {
  opacity: 0;
  animation: rjv-fade-in 1.2s ease-out 1.6s forwards;
}
@keyframes rjv-fade-in {
  to { opacity: 1; }
}

/* Data points — interactive */
.rjv-costchart__pt circle {
  cursor: pointer;
  transition: r 0.18s ease, filter 0.18s ease;
}
.rjv-costchart__pt:hover circle {
  r: 10;
  filter: drop-shadow(0 0 12px currentColor);
}
.rjv-costchart__pts {
  opacity: 0;
  animation: rjv-fade-in 0.8s ease-out 2.4s forwards;
}
.rjv-costchart__endlabels {
  opacity: 0;
  animation: rjv-fade-in 0.8s ease-out 2.6s forwards;
}

/* Tooltip */
.rjv-costchart__tooltip {
  position: absolute;
  pointer-events: none;
  background: rgba(31, 16, 21, 0.95);
  border: 1px solid rgba(253, 247, 242, 0.20);
  border-radius: 10px;
  padding: 10px 14px;
  font-family: 'Inter', sans-serif;
  color: #FDF7F2;
  transform: translate(-50%, -100%);
  opacity: 0;
  transition: opacity 0.18s ease;
  z-index: 10;
  white-space: nowrap;
}
.rjv-costchart__tooltip--visible { opacity: 1; }
.rjv-costchart__tooltip[data-side="wait"] {
  border-color: rgba(231, 96, 96, 0.50);
  box-shadow: 0 0 24px rgba(231, 96, 96, 0.25);
}
.rjv-costchart__tooltip[data-side="act"] {
  border-color: rgba(74, 222, 128, 0.50);
  box-shadow: 0 0 24px rgba(74, 222, 128, 0.25);
}
.rjv-costchart__tooltip-month {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(253, 247, 242, 0.65);
  margin-bottom: 2px;
}
.rjv-costchart__tooltip-cost {
  font-size: 22px;
  font-weight: 800;
  color: #FDF7F2;
}
.rjv-costchart__tooltip[data-side="wait"] .rjv-costchart__tooltip-cost { color: #FF8888; }
.rjv-costchart__tooltip[data-side="act"] .rjv-costchart__tooltip-cost { color: #7EE8A6; }

/* Legend */
.rjv-costchart__legend {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 24px;
  flex-wrap: wrap;
}
.rjv-costchart__legend-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  color: rgba(253, 247, 242, 0.85);
}
.rjv-costchart__legend-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
}
.rjv-costchart__legend-dot--wait {
  background: #E76060;
  box-shadow: 0 0 12px rgba(231, 96, 96, 0.55);
}
.rjv-costchart__legend-dot--act {
  background: #4ADE80;
  box-shadow: 0 0 12px rgba(74, 222, 128, 0.55);
}

/* Delta savings reveal */
.rjv-costchart__delta {
  margin-top: 40px;
  padding: 32px 24px;
  text-align: center;
  background: linear-gradient(135deg, rgba(74, 222, 128, 0.08) 0%, rgba(31, 119, 76, 0.04) 100%);
  border: 1px solid rgba(74, 222, 128, 0.30);
  border-radius: 18px;
  position: relative;
  overflow: hidden;
}
.rjv-costchart__delta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(74, 222, 128, 0.10) 0%, transparent 70%);
  pointer-events: none;
}
.rjv-costchart__delta > * { position: relative; z-index: 1; }
.rjv-costchart__delta-label {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #7EE8A6;
  margin-bottom: 8px;
  text-shadow: 0 0 16px rgba(74, 222, 128, 0.40);
}
.rjv-costchart__delta-value {
  font-family: 'Poppins', sans-serif;
  font-size: 80px;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1;
  background: linear-gradient(135deg, #7EE8A6 0%, #4ADE80 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  margin-bottom: 8px;
  filter: drop-shadow(0 0 24px rgba(74, 222, 128, 0.30));
}
.rjv-costchart__delta-detail {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  color: rgba(253, 247, 242, 0.72);
  letter-spacing: 0.01em;
}

@media (max-width: 768px) {
  .rjv-costchart__delta-value { font-size: 52px; }
  .rjv-costchart__delta-label { font-size: 12px; letter-spacing: 0.24em; }
  .rjv-costchart__delta-detail { font-size: 14px; }
  .rjv-costchart__legend { gap: 20px; flex-direction: column; align-items: center; }
}

/* Hide the old gap stat banner since we replaced it with the chart */
.rjv-twopaths__gap { display: none !important; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .rjv-costchart__line,
  .rjv-costchart__area,
  .rjv-costchart__pts,
  .rjv-costchart__endlabels {
    animation: none !important;
    stroke-dashoffset: 0 !important;
    opacity: 1 !important;
  }
}


/* --- Section 60.3: V20.31 Chart legend + delta text contrast override (2026-05-04) --- */

/* Legend container — flex layout with proper styling */
.rjv-costchart__legend {
  display: flex !important;
  justify-content: center !important;
  gap: 40px !important;
  margin-top: 28px !important;
  flex-wrap: wrap !important;
}
.rjv-costchart__legend-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: rgba(253, 247, 242, 0.85) !important;
}
.rjv-costchart__legend-dot {
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  flex-shrink: 0;
}
.rjv-costchart__legend-dot--wait {
  background: #E76060 !important;
  box-shadow: 0 0 14px rgba(231, 96, 96, 0.65) !important;
}
.rjv-costchart__legend-dot--act {
  background: #4ADE80 !important;
  box-shadow: 0 0 14px rgba(74, 222, 128, 0.65) !important;
}

/* Delta savings reveal — full styling overrides */
.rjv-costchart__delta {
  margin-top: 40px !important;
  padding: 36px 28px !important;
  text-align: center !important;
  background: linear-gradient(135deg, rgba(74, 222, 128, 0.10) 0%, rgba(31, 119, 76, 0.04) 100%) !important;
  border: 1px solid rgba(74, 222, 128, 0.32) !important;
  border-radius: 18px !important;
  position: relative !important;
  overflow: hidden !important;
}
.rjv-costchart__delta-label {
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.36em !important;
  text-transform: uppercase !important;
  color: #7EE8A6 !important;
  margin: 0 0 10px !important;
  text-shadow: 0 0 16px rgba(74, 222, 128, 0.40) !important;
}
.rjv-costchart__delta-value {
  font-family: 'Poppins', sans-serif !important;
  font-size: 84px !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  line-height: 1 !important;
  background: linear-gradient(135deg, #7EE8A6 0%, #4ADE80 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  margin: 0 0 12px !important;
  filter: drop-shadow(0 0 24px rgba(74, 222, 128, 0.30));
}
.rjv-costchart__delta-detail {
  font-family: 'Inter', sans-serif !important;
  font-size: 17px !important;
  color: rgba(253, 247, 242, 0.78) !important;
  letter-spacing: 0.01em !important;
  margin: 0 !important;
}

/* Chart heading */
.rjv-costchart__head {
  text-align: center !important;
  margin-bottom: 36px !important;
}
.rjv-costchart__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  color: #FDF7F2 !important;
  margin: 0 0 10px !important;
  letter-spacing: -0.01em !important;
}
.rjv-costchart__sub {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-style: italic !important;
  font-size: 18px !important;
  color: rgba(253, 247, 242, 0.72) !important;
  margin: 0 !important;
}

/* Chart wrapper styling */
.rjv-costchart {
  max-width: 1200px !important;
  margin: 0 auto 80px !important;
  padding: 56px 40px !important;
  background: rgba(253, 247, 242, 0.025) !important;
  border: 1px solid rgba(253, 247, 242, 0.10) !important;
  border-radius: 24px !important;
  position: relative !important;
}

/* Animate the line drawing */
.rjv-costchart__line {
  stroke-dasharray: 1500;
  stroke-dashoffset: 1500;
  animation: rjv-draw-line 2.4s ease-out 0.3s forwards;
}
.rjv-costchart__line--act { animation-delay: 0.5s; }
@keyframes rjv-draw-line {
  to { stroke-dashoffset: 0; }
}

/* Hover effect on data points */
.rjv-costchart__pts circle {
  transition: r 0.18s ease, filter 0.18s ease;
}
.rjv-costchart__pts circle:hover {
  filter: drop-shadow(0 0 16px currentColor);
}

@media (max-width: 768px) {
  .rjv-costchart { padding: 32px 20px !important; }
  .rjv-costchart__title { font-size: 24px !important; }
  .rjv-costchart__sub { font-size: 15px !important; }
  .rjv-costchart__delta-value { font-size: 56px !important; }
  .rjv-costchart__delta-label { font-size: 12px !important; letter-spacing: 0.24em !important; }
  .rjv-costchart__delta-detail { font-size: 14px !important; }
  .rjv-costchart__legend { gap: 16px !important; flex-direction: column !important; align-items: center !important; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .rjv-costchart__line { animation: none !important; stroke-dashoffset: 0 !important; }
}


/* --- Section 60.4: V20.32 Card bullet contrast fix + perspective panel (2026-05-04) --- */

/* Force ALL text inside the cards to render white (was inheriting Elementor black) */
.rjv-twopaths__card,
.rjv-twopaths__card *,
.rjv-twopaths__list,
.rjv-twopaths__list *,
.rjv-twopaths__list li,
.rjv-twopaths__list li > span:not(.rjv-twopaths__icon):not(.rjv-emph) {
  color: #FDF7F2 !important;
}

/* Restore the emphasis colors on top */
.rjv-emph--wait {
  color: #FF8888 !important;
  font-weight: 800 !important;
  text-shadow: 0 0 14px rgba(231, 96, 96, 0.30);
}
.rjv-emph--act {
  color: #7EE8A6 !important;
  font-weight: 800 !important;
  text-shadow: 0 0 14px rgba(74, 222, 128, 0.30);
}

/* Restore heading gradients */
.rjv-twopaths__card--wait .rjv-twopaths__heading {
  background: linear-gradient(120deg, #FF8888 0%, #E76060 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
.rjv-twopaths__card--act .rjv-twopaths__heading {
  background: linear-gradient(120deg, #7EE8A6 0%, #4ADE80 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* Restore subhead colors */
.rjv-twopaths__card--wait .rjv-twopaths__sub {
  color: rgba(231, 96, 96, 0.85) !important;
}
.rjv-twopaths__card--act .rjv-twopaths__sub {
  color: rgba(74, 222, 128, 0.85) !important;
}

/* Restore icon colors */
.rjv-twopaths__card--wait .rjv-twopaths__icon {
  color: #FF8888 !important;
  background: rgba(231, 96, 96, 0.15) !important;
}
.rjv-twopaths__card--act .rjv-twopaths__icon {
  color: #7EE8A6 !important;
  background: rgba(74, 222, 128, 0.15) !important;
}

/* Restore future-state callout */
.rjv-twopaths__future-label {
  color: rgba(253, 247, 242, 0.55) !important;
}
.rjv-twopaths__future-quote {
  color: #FDF7F2 !important;
}

/* === PERSPECTIVE PANEL === */

.rjv-perspective {
  margin-top: 32px !important;
  padding: 36px 32px !important;
  background: rgba(253, 247, 242, 0.025) !important;
  border: 1px solid rgba(253, 247, 242, 0.10) !important;
  border-radius: 18px !important;
}

.rjv-perspective__head {
  text-align: center !important;
  margin-bottom: 28px !important;
}

.rjv-perspective__eyebrow {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  color: #82C6E8 !important;
  margin: 0 0 8px !important;
}

.rjv-perspective__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #FDF7F2 !important;
  letter-spacing: -0.01em !important;
}

.rjv-perspective__grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
}

.rjv-perspective__card {
  padding: 24px 20px !important;
  background: rgba(253, 247, 242, 0.04) !important;
  border: 1px solid rgba(253, 247, 242, 0.10) !important;
  border-radius: 14px !important;
  text-align: center !important;
  transition: transform 0.2s ease, border-color 0.2s ease !important;
}
.rjv-perspective__card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(130, 198, 232, 0.40) !important;
}

.rjv-perspective__card--highlight {
  background: linear-gradient(135deg, rgba(74, 222, 128, 0.10) 0%, rgba(31, 119, 76, 0.04) 100%) !important;
  border-color: rgba(74, 222, 128, 0.32) !important;
}
.rjv-perspective__card--highlight:hover {
  border-color: rgba(74, 222, 128, 0.55) !important;
}

.rjv-perspective__card-num {
  font-family: 'Poppins', sans-serif !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  color: #FDF7F2 !important;
  margin: 0 0 6px !important;
  letter-spacing: -0.01em !important;
  line-height: 1.1 !important;
}
.rjv-perspective__card--highlight .rjv-perspective__card-num {
  background: linear-gradient(135deg, #7EE8A6 0%, #4ADE80 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

.rjv-perspective__card-label {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: rgba(253, 247, 242, 0.92) !important;
  margin: 0 0 6px !important;
  line-height: 1.35 !important;
}

.rjv-perspective__card-detail {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-style: italic !important;
  font-size: 13px !important;
  color: rgba(253, 247, 242, 0.60) !important;
  line-height: 1.4 !important;
}

@media (max-width: 1100px) {
  .rjv-perspective__grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .rjv-perspective__grid { grid-template-columns: 1fr !important; }
  .rjv-perspective { padding: 24px 18px !important; }
  .rjv-perspective__title { font-size: 18px !important; }
  .rjv-perspective__card-num { font-size: 26px !important; }
}


/* --- Section 60.5: V20.33 Inline coffee affordability line + remove perspective panel (2026-05-04) --- */

/* Hide perspective panel CSS — superseded */
.rjv-perspective { display: none !important; }

/* Coffee affordability sub-line inside delta block */
.rjv-costchart__delta-coffee {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-style: italic !important;
  font-size: 18px !important;
  color: rgba(253, 247, 242, 0.85) !important;
  margin: 18px 0 0 !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(74, 222, 128, 0.18) !important;
  letter-spacing: 0.005em !important;
  line-height: 1.5 !important;
}
.rjv-costchart__delta-coffee strong {
  color: #7EE8A6 !important;
  font-weight: 800 !important;
  font-style: normal !important;
  text-shadow: 0 0 14px rgba(74, 222, 128, 0.30) !important;
}
@media (max-width: 768px) {
  .rjv-costchart__delta-coffee { font-size: 15px !important; }
}


/* --- Section 61: V20.34 How It Works — A+ animated mechanism + dark theme (2026-05-04) --- */

/* Hide the old icon-box step widgets — replaced with our custom HTML cards */
.elementor-28 .elementor-element.elementor-element-s10stp01,
.elementor-28 .elementor-element.elementor-element-s10stp02,
.elementor-28 .elementor-element.elementor-element-s10stp03,
.elementor-28 .elementor-element.elementor-element-s10stp04 {
  display: none !important;
}

/* Section background dark wine */
.elementor-28 .elementor-element.elementor-element-s10how00 {
  padding: 140px 24px !important;
  background: radial-gradient(ellipse at top, rgba(130, 198, 232, 0.06) 0%, rgba(31, 16, 21, 0) 60%), #1F1015 !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Eyebrow pill chip */
.elementor-28 .elementor-element.elementor-element-s10h2000 {
  text-align: center !important;
  margin: 0 auto 32px !important;
}
.elementor-28 .elementor-element.elementor-element-s10h2000 .elementor-heading-title {
  display: inline-block !important;
  background: rgba(253, 247, 242, 0.06) !important;
  border: 1px solid rgba(253, 247, 242, 0.18) !important;
  border-radius: 999px !important;
  padding: 14px 32px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.36em !important;
  color: rgba(253, 247, 242, 0.85) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* H2 — light on dark with sky-blue gradient accent */
.elementor-28 .elementor-element.elementor-element-s10body0 {
  text-align: center !important;
  margin: 0 auto 48px !important;
  max-width: 1000px !important;
}
.elementor-28 .elementor-element.elementor-element-s10body0 .elementor-heading-title {
  color: #FDF7F2 !important;
  font-size: 56px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.015em !important;
  text-align: center !important;
}
@media (max-width: 768px) {
  .elementor-28 .elementor-element.elementor-element-s10body0 .elementor-heading-title { font-size: 36px !important; }
  .elementor-28 .elementor-element.elementor-element-s10how00 { padding: 80px 16px !important; }
}

/* Lead paragraph */
.rjv-howit__lead {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-style: italic !important;
  font-size: 22px !important;
  line-height: 1.5 !important;
  color: rgba(253, 247, 242, 0.85) !important;
  text-align: center !important;
  max-width: 880px !important;
  margin: 0 auto 56px !important;
}
.rjv-howit__lead strong {
  color: #FDF7F2 !important;
  font-weight: 700 !important;
  font-style: normal !important;
}

/* === MECHANISM ANIMATION CONTAINER === */
.rjv-mechanism {
  max-width: 1100px;
  margin: 0 auto 64px;
  padding: 48px 32px;
  background: rgba(253, 247, 242, 0.025);
  border: 1px solid rgba(253, 247, 242, 0.12);
  border-radius: 24px;
  position: relative;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.rjv-mechanism__svg {
  width: 100%;
  height: auto;
  display: block;
  max-width: 800px;
  margin: 0 auto;
}

/* Pulse waves animation */
.rjv-mech__wave {
  transform-origin: 400px 190px;
  transform-box: fill-box;
  animation: rjv-wave-pulse 2.4s ease-out infinite;
  opacity: 0;
}
.rjv-mech__wave--1 { animation-delay: 0s; }
.rjv-mech__wave--2 { animation-delay: 0.6s; }
.rjv-mech__wave--3 { animation-delay: 1.2s; }
@keyframes rjv-wave-pulse {
  0% { r: 15; opacity: 0.85; stroke-width: 4; }
  100% { r: 200; opacity: 0; stroke-width: 1; }
}

/* Stem cells activation — staggered glow pulse */
.rjv-mech__cell {
  filter: drop-shadow(0 0 0 transparent);
  animation: rjv-cell-glow 2.4s ease-in-out infinite;
  transform-origin: center;
  transform-box: fill-box;
}
.rjv-mech__cell--1 { animation-delay: 1.2s; }
.rjv-mech__cell--2 { animation-delay: 1.4s; }
.rjv-mech__cell--3 { animation-delay: 1.3s; }
.rjv-mech__cell--4 { animation-delay: 1.5s; }
.rjv-mech__cell--5 { animation-delay: 1.1s; }
@keyframes rjv-cell-glow {
  0%, 30% { opacity: 0.3; r: 5; filter: drop-shadow(0 0 0 transparent); }
  50%, 70% { opacity: 1; r: 9; filter: drop-shadow(0 0 12px #FFD180); }
  100% { opacity: 0.3; r: 5; }
}

/* Blood vessels lighting up */
.rjv-mech__vessel {
  stroke-dasharray: 800;
  stroke-dashoffset: 800;
  animation: rjv-vessel-flow 2.4s ease-out infinite;
}
.rjv-mech__vessel--1 { animation-delay: 1.4s; }
.rjv-mech__vessel--2 { animation-delay: 1.6s; }
@keyframes rjv-vessel-flow {
  0%, 40% { stroke-dashoffset: 800; opacity: 0.3; }
  60%, 90% { stroke-dashoffset: 0; opacity: 1; filter: drop-shadow(0 0 8px #E76060); }
  100% { stroke-dashoffset: 0; opacity: 0.4; filter: drop-shadow(0 0 0 transparent); }
}

/* Healing glow at impact zone */
.rjv-mech__glow {
  transform-origin: 400px 450px;
  transform-box: fill-box;
  animation: rjv-healing-glow 2.4s ease-in-out infinite;
}
@keyframes rjv-healing-glow {
  0%, 35% { opacity: 0; r: 50; }
  60%, 80% { opacity: 0.7; r: 130; }
  100% { opacity: 0; r: 50; }
}

/* Applicator subtle vibration */
.rjv-mech__applicator {
  transform-origin: 400px 110px;
  transform-box: fill-box;
  animation: rjv-applicator-vibrate 0.4s ease-in-out infinite;
}
@keyframes rjv-applicator-vibrate {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}

/* Caption below SVG */
.rjv-mechanism__caption {
  margin-top: 32px;
  text-align: center;
  padding: 20px 24px;
  background: rgba(130, 198, 232, 0.06);
  border-left: 3px solid #82C6E8;
  border-radius: 8px;
}
.rjv-mechanism__caption-label {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #82C6E8;
  margin-bottom: 8px;
}
.rjv-mechanism__caption-text {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-style: italic;
  font-size: 17px;
  color: rgba(253, 247, 242, 0.92);
  line-height: 1.5;
}

/* === STEP CARDS === */
.rjv-howit__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto;
}
.rjv-howit__step {
  position: relative;
  padding: 40px 28px;
  background: rgba(253, 247, 242, 0.03);
  border: 1px solid rgba(253, 247, 242, 0.10);
  border-radius: 18px;
  transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}
.rjv-howit__step:hover {
  transform: translateY(-4px);
  border-color: rgba(130, 198, 232, 0.40);
  background: rgba(253, 247, 242, 0.05);
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.30);
}
.rjv-howit__step-num {
  font-family: 'Poppins', sans-serif;
  font-size: 64px;
  font-weight: 900;
  line-height: 1;
  background: linear-gradient(135deg, #82C6E8 0%, rgba(253, 247, 242, 0.20) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  margin: 0 0 20px;
  letter-spacing: -0.02em;
}
.rjv-howit__step-title {
  font-family: 'Poppins', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #FDF7F2;
  margin: 0 0 12px;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.rjv-howit__step-text {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  color: rgba(253, 247, 242, 0.80);
  line-height: 1.55;
  margin: 0;
}
.rjv-howit__step-text strong {
  color: #FDF7F2;
  font-weight: 700;
}

@media (max-width: 1100px) {
  .rjv-howit__steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .rjv-howit__steps { grid-template-columns: 1fr; }
  .rjv-howit__step-num { font-size: 48px; }
  .rjv-howit__step-title { font-size: 19px; }
  .rjv-mechanism { padding: 24px 16px; }
}

/* Trust strip at bottom — keep but restyle for dark */
.elementor-28 .elementor-element.elementor-element-s10trust {
  margin-top: 48px !important;
  text-align: center !important;
}
.rjv-trust-strip--softwave .rjv-trust-text,
.elementor-28 .elementor-element.elementor-element-s10trust p {
  color: rgba(253, 247, 242, 0.70) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .rjv-mech__wave, .rjv-mech__cell, .rjv-mech__vessel, .rjv-mech__glow, .rjv-mech__applicator {
    animation: none !important;
  }
  .rjv-howit__step { transition: none !important; }
}


/* --- Section 61.1: V20.35 Section 4 typography fix + mechanism animation tuning (2026-05-04) --- */

/* Force section 4 background dark wine, override the legacy --sky-solid class if it lingers */
.elementor-28 .elementor-element.elementor-element-s10how00,
.rjv-section.rjv-section--sky-solid.elementor-element-s10how00 {
  background: radial-gradient(ellipse at top, rgba(130, 198, 232, 0.06) 0%, rgba(31, 16, 21, 0) 60%), #1F1015 !important;
  background-color: #1F1015 !important;
}

/* H2 force light on dark */
.elementor-28 .elementor-element.elementor-element-s10body0 .elementor-heading-title {
  color: #FDF7F2 !important;
}

/* Lead paragraph contrast */
.rjv-howit__lead {
  color: rgba(253, 247, 242, 0.92) !important;
}
.rjv-howit__lead strong {
  color: #FDF7F2 !important;
}

/* === UPDATED MECHANISM ANIMATIONS for new SVG === */

/* Pulse waves — emanate from yellow tip at y=228 */
.rjv-mech__wave {
  transform-origin: 450px 228px;
  transform-box: fill-box;
  animation: rjv-wave-pulse-v2 2.6s ease-out infinite;
  opacity: 0;
}
.rjv-mech__wave--1 { animation-delay: 0s; }
.rjv-mech__wave--2 { animation-delay: 0.65s; }
.rjv-mech__wave--3 { animation-delay: 1.3s; }
.rjv-mech__wave--4 { animation-delay: 1.95s; }
@keyframes rjv-wave-pulse-v2 {
  0% { r: 20; opacity: 0.95; stroke-width: 4; }
  60% { opacity: 0.5; }
  100% { r: 280; opacity: 0; stroke-width: 1; }
}

/* Stem cells — emerge from marrow with glow + slight upward drift */
.rjv-mech__cell {
  transform-origin: center;
  transform-box: fill-box;
  animation: rjv-cell-emerge 2.6s ease-in-out infinite;
}
.rjv-mech__cell--1 { animation-delay: 1.4s; }
.rjv-mech__cell--2 { animation-delay: 1.55s; }
.rjv-mech__cell--3 { animation-delay: 1.45s; }
.rjv-mech__cell--4 { animation-delay: 1.6s; }
.rjv-mech__cell--5 { animation-delay: 1.5s; }
.rjv-mech__cell--6 { animation-delay: 1.65s; }
.rjv-mech__cell--7 { animation-delay: 1.7s; }
@keyframes rjv-cell-emerge {
  0%, 35% { opacity: 0; r: 3; transform: translateY(0); }
  55% { opacity: 1; r: 8; filter: drop-shadow(0 0 10px #FFD180); }
  75% { opacity: 0.9; r: 7; transform: translateY(-8px); filter: drop-shadow(0 0 6px #FFD180); }
  100% { opacity: 0; r: 5; transform: translateY(-14px); }
}

/* Blood vessels — sequential light-up showing flow direction */
.rjv-mech__vessel {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: rjv-vessel-flow-v2 2.6s ease-out infinite;
  opacity: 0.45;
}
.rjv-mech__vessel--1 { animation-delay: 1.6s; }
.rjv-mech__vessel--2 { animation-delay: 1.75s; }
.rjv-mech__vessel--3 { animation-delay: 1.9s; }
@keyframes rjv-vessel-flow-v2 {
  0%, 50% { stroke-dashoffset: 1000; opacity: 0.35; }
  70% { stroke-dashoffset: 0; opacity: 1; filter: drop-shadow(0 0 8px #E76060); }
  100% { stroke-dashoffset: 0; opacity: 0.55; filter: drop-shadow(0 0 0 transparent); }
}

/* Healing aura — pulses around impact zone after waves arrive */
.rjv-mech__heal {
  transform-origin: 450px 500px;
  transform-box: fill-box;
  animation: rjv-heal-pulse 2.6s ease-in-out infinite;
}
@keyframes rjv-heal-pulse {
  0%, 35% { opacity: 0; transform: scale(0.5); }
  60%, 80% { opacity: 0.7; transform: scale(1); }
  100% { opacity: 0; transform: scale(0.5); }
}

/* Applicator subtle vibration */
.rjv-mech__applicator {
  transform-origin: 450px 150px;
  transform-box: fill-box;
  animation: rjv-app-vibrate 0.18s linear infinite;
}
@keyframes rjv-app-vibrate {
  0%, 100% { transform: translate(0, 0); }
  25% { transform: translate(0.5px, -0.3px); }
  50% { transform: translate(-0.3px, 0.4px); }
  75% { transform: translate(-0.4px, -0.5px); }
}

/* Mechanism container styling refinements */
.rjv-mechanism {
  max-width: 1100px;
  margin: 0 auto 64px;
  padding: 56px 40px;
  background: rgba(253, 247, 242, 0.025);
  border: 1px solid rgba(253, 247, 242, 0.12);
  border-radius: 24px;
  position: relative;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.rjv-mechanism__svg {
  width: 100%;
  height: auto;
  display: block;
  max-width: 900px;
  margin: 0 auto;
}

/* Caption refinements */
.rjv-mechanism__caption {
  margin-top: 36px;
  text-align: center;
  padding: 24px 28px;
  background: rgba(130, 198, 232, 0.07);
  border-left: 3px solid #82C6E8;
  border-radius: 8px;
}
.rjv-mechanism__caption-label {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.36em;
  text-transform: uppercase;
  color: #82C6E8 !important;
  margin-bottom: 10px;
}
.rjv-mechanism__caption-text {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-style: italic !important;
  font-size: 18px !important;
  color: rgba(253, 247, 242, 0.92) !important;
  line-height: 1.55 !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .rjv-mech__wave, .rjv-mech__cell, .rjv-mech__vessel, .rjv-mech__heal, .rjv-mech__applicator {
    animation: none !important;
    opacity: 1 !important;
    stroke-dashoffset: 0 !important;
  }
}

/* Mobile sizing */
@media (max-width: 768px) {
  .rjv-mechanism { padding: 28px 16px; }
  .rjv-mechanism__caption { padding: 18px 20px; }
  .rjv-mechanism__caption-text { font-size: 15px !important; }
  .rjv-howit__lead { font-size: 17px !important; }
}


/* --- Section 61.2: V20.36 Mechanism caption polish — hide eyebrow, recolor text to sky, center (2026-05-04) --- */

/* Hide the "WHAT'S HAPPENING INSIDE" eyebrow */
.rjv-mechanism__caption-label {
  display: none !important;
}

/* Caption text becomes sky-blue, properly centered, no left border */
.rjv-mechanism__caption {
  background: rgba(130, 198, 232, 0.06) !important;
  border-left: none !important;
  border: 1px solid rgba(130, 198, 232, 0.20) !important;
  border-radius: 12px !important;
  padding: 28px 36px !important;
  text-align: center !important;
}
.rjv-mechanism__caption-text {
  color: #82C6E8 !important;
  text-align: center !important;
  font-style: italic !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 19px !important;
  line-height: 1.55 !important;
  display: block !important;
  max-width: 760px !important;
  margin: 0 auto !important;
}

@media (max-width: 768px) {
  .rjv-mechanism__caption { padding: 20px 22px !important; }
  .rjv-mechanism__caption-text { font-size: 16px !important; }
}


/* ============================================
   SECTION 62.0 — COST CHART LEGEND TEXT FIX (2026-05-04)
   Bare spans inside .rjv-costchart__legend-item were
   inheriting rgb(0,0,0); force inherit from parent
   so pathway labels stay cream on dark wine bg
   ============================================ */
.rjv-costchart__legend-item {
  color: #FDF7F2 !important;
}
.rjv-costchart__legend-item span,
.rjv-costchart__legend-item span:not([class]),
.rjv-costchart__legend-item > span {
  color: inherit !important;
}
.rjv-costchart__legend-item strong,
.rjv-costchart__legend-item b {
  color: #FDF7F2 !important;
}

/* ============================================
   SECTION 63.0 — V3 CINEMATIC MECHANISM (2026-05-04)
   Real wand photo + animated SVG anatomy
   ============================================ */

.rjv-howit--v3 {
  max-width: 980px;
  margin: 0 auto;
}

.rjv-howit__lead {
  color: rgba(253, 247, 242, 0.92) !important;
  font-size: 19px !important;
  line-height: 1.6 !important;
  text-align: center !important;
  max-width: 760px;
  margin: 0 auto 36px !important;
  font-style: italic;
}
.rjv-howit__lead strong {
  color: #82C6E8 !important;
  font-weight: 700;
  font-style: normal;
}

/* ===== CINEMATIC STAGE ===== */
.rjv-mechanism--v3 {
  position: relative;
  margin: 0 auto 56px;
  background:
    radial-gradient(ellipse at 50% 8%, rgba(130, 198, 232, 0.10), transparent 50%),
    linear-gradient(180deg, rgba(15, 8, 12, 0.55), rgba(31, 16, 21, 0.85));
  border: 1px solid rgba(130, 198, 232, 0.20);
  border-radius: 22px;
  padding: 40px 28px 28px;
  overflow: hidden;
  box-shadow: 0 30px 80px -20px rgba(0,0,0,0.6) inset, 0 12px 40px rgba(0,0,0,0.35);
}
.rjv-mechanism__stage {
  position: relative;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

/* ===== WAND ===== */
.rjv-mechanism__wand-wrap {
  position: relative;
  width: 130px;
  margin: 0 auto -14px;
  z-index: 4;
  filter: drop-shadow(0 18px 24px rgba(0,0,0,0.55));
}
.rjv-mechanism__wand {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: 130px;
}
.rjv-mechanism__tip-glow {
  position: absolute;
  bottom: -22px;
  left: 50%;
  width: 140px;
  height: 80px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgba(242, 201, 76, 0.65) 0%, rgba(242, 201, 76, 0.15) 45%, transparent 75%);
  filter: blur(8px);
  animation: rjv-tip-pulse 2.4s ease-in-out infinite;
  pointer-events: none;
}
@keyframes rjv-tip-pulse {
  0%, 100% { opacity: 0.4; transform: translateX(-50%) scale(0.85); }
  50%      { opacity: 1;   transform: translateX(-50%) scale(1.15); }
}

/* ===== WAVES ===== */
.rjv-mechanism__waves {
  display: block;
  width: 100%;
  height: 220px;
  margin-top: -10px;
  position: relative;
  z-index: 2;
  pointer-events: none;
}
.rjv-wave {
  fill: none;
  stroke: url(#rjvWaveStroke);
  stroke-width: 2.2;
  opacity: 0;
  transform-origin: 450px 0;
  animation: rjv-wave-emit 4.2s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
}
.rjv-wave--1 { animation-delay: 0s; }
.rjv-wave--2 { animation-delay: 0.84s; }
.rjv-wave--3 { animation-delay: 1.68s; }
.rjv-wave--4 { animation-delay: 2.52s; }
.rjv-wave--5 { animation-delay: 3.36s; }
@keyframes rjv-wave-emit {
  0%   { opacity: 0;    transform: scale(0.4);  stroke-width: 3; }
  10%  { opacity: 1; }
  100% { opacity: 0;    transform: scale(7) translateY(28px); stroke-width: 0.3; }
}

/* ===== TISSUE ===== */
.rjv-mechanism__tissue {
  display: block;
  width: 100%;
  height: auto;
  margin-top: -40px;
  position: relative;
  z-index: 1;
  border-radius: 12px;
  overflow: hidden;
}
.rjv-tissue-label {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  fill: rgba(31, 16, 21, 0.72);
}
.rjv-tissue-label--marrow {
  fill: rgba(245, 232, 212, 0.85);
  font-size: 11px;
}

/* ===== STEM CELLS ===== */
.rjv-stemcell {
  fill: #FFE08A;
  filter: drop-shadow(0 0 6px rgba(255, 224, 138, 0.95)) drop-shadow(0 0 14px rgba(242, 201, 76, 0.55));
  opacity: 0;
  transform-origin: center;
  animation: rjv-stem-emerge 7s ease-in-out infinite;
}
.rjv-stemcell--1 { animation-delay: 2.2s; }
.rjv-stemcell--2 { animation-delay: 2.6s; }
.rjv-stemcell--3 { animation-delay: 3.0s; }
.rjv-stemcell--4 { animation-delay: 3.4s; }
.rjv-stemcell--5 { animation-delay: 3.8s; }
.rjv-stemcell--6 { animation-delay: 4.2s; }
.rjv-stemcell--7 { animation-delay: 2.8s; }
.rjv-stemcell--8 { animation-delay: 3.6s; }
@keyframes rjv-stem-emerge {
  0%   { opacity: 0; transform: translateY(0) scale(0.5); }
  10%  { opacity: 1; transform: translateY(-10px) scale(1); }
  85%  { opacity: 0.85; transform: translateY(-150px) scale(1); }
  100% { opacity: 0; transform: translateY(-180px) scale(0.4); }
}

/* ===== BLOOD VESSELS ===== */
.rjv-bloodvessel {
  stroke-dashoffset: 0;
  animation: rjv-vessel-pulse 3.4s ease-in-out infinite;
  filter: drop-shadow(0 0 0 rgba(255, 80, 80, 0));
}
.rjv-bloodvessel--1 { animation-delay: 0s; }
.rjv-bloodvessel--2 { animation-delay: 0.5s; }
.rjv-bloodvessel--3 { animation-delay: 1.0s; }
@keyframes rjv-vessel-pulse {
  0%, 100% { stroke: #6B2020; opacity: 0.4; stroke-width: 1.6; }
  50%      { stroke: #FF5252; opacity: 1;   stroke-width: 2.6; filter: drop-shadow(0 0 4px rgba(255, 80, 80, 0.7)); }
}

/* ===== HEALING AURA + INJURY ===== */
.rjv-healing-aura {
  transform-origin: 450px 172px;
  animation: rjv-aura-pulse 5s ease-in-out infinite;
}
@keyframes rjv-aura-pulse {
  0%, 100% { transform: scale(0.7); opacity: 0.35; }
  50%      { transform: scale(1.2); opacity: 0.85; }
}
.rjv-injury-mark {
  animation: rjv-injury-glow 3s ease-in-out infinite;
  transform-origin: 450px 172px;
}
@keyframes rjv-injury-glow {
  0%, 100% { opacity: 0.55; }
  50%      { opacity: 1; }
}

/* ===== MARROW GLOW ===== */
.rjv-marrow-glow {
  transform-origin: 450px 320px;
  animation: rjv-marrow-pulse 4.4s ease-in-out infinite;
}
@keyframes rjv-marrow-pulse {
  0%, 100% { opacity: 0.4; transform: scale(0.85); }
  50%      { opacity: 1;   transform: scale(1.05); }
}

/* ===== ANNOTATIONS ===== */
.rjv-mechanism__anno {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  fill: #82C6E8;
  text-anchor: end;
}
.rjv-mechanism__anno--cells { fill: #FFD66B; text-anchor: start; }
.rjv-mechanism__anno--flow  { fill: #FF7676; text-anchor: start; }
.rjv-mechanism__anno--depth { fill: #82C6E8; text-anchor: end; opacity: 0.85; }

/* ===== CAPTION (already styled in 61.2; keep) ===== */
.rjv-mechanism__caption {
  margin: 26px auto 0 !important;
  background: rgba(130, 198, 232, 0.06) !important;
  border: 1px solid rgba(130, 198, 232, 0.20) !important;
  border-left: none !important;
  border-radius: 12px !important;
  padding: 24px 32px !important;
  text-align: center !important;
  max-width: 760px;
}
.rjv-mechanism__caption-label { display: none !important; }
.rjv-mechanism__caption-text {
  color: #82C6E8 !important;
  text-align: center !important;
  font-style: italic !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 19px !important;
  line-height: 1.55 !important;
  display: block !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}

/* ===== PROTOCOL CARDS V2 ===== */
.rjv-howit__protocol--v2 {
  display: grid;
  grid-template-columns: 1fr 28px 1fr 28px 1fr 28px 1fr;
  gap: 14px 0;
  align-items: stretch;
  margin: 56px auto 24px;
  max-width: 1080px;
}
.rjv-howit__step {
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(31,16,21,0.5));
  border: 1px solid rgba(130, 198, 232, 0.18);
  border-radius: 16px;
  padding: 24px 22px 26px;
  position: relative;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.rjv-howit__step:hover {
  transform: translateY(-3px);
  border-color: rgba(130, 198, 232, 0.45);
  box-shadow: 0 12px 30px -10px rgba(130, 198, 232, 0.25);
}
.rjv-howit__step-phase {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #82C6E8;
  margin-bottom: 6px;
  opacity: 0.85;
}
.rjv-howit__step-num {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 56px !important;
  font-weight: 700;
  color: #82C6E8 !important;
  line-height: 1;
  margin-bottom: 10px;
  letter-spacing: -0.02em;
  background: rgba(0,0,0,0) !important;
}
.rjv-howit__step-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #FDF7F2 !important;
  margin: 0 0 10px !important;
  line-height: 1.25 !important;
}
.rjv-howit__step-desc {
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  color: rgba(253, 247, 242, 0.82) !important;
  margin: 0 !important;
}
.rjv-howit__step-desc strong {
  color: #82C6E8 !important;
  font-weight: 700;
}
.rjv-howit__connector {
  align-self: center;
  height: 2px;
  background: linear-gradient(90deg, rgba(130,198,232,0.10), rgba(130,198,232,0.55), rgba(130,198,232,0.10));
  position: relative;
}
.rjv-howit__connector::after {
  content: "";
  position: absolute;
  right: -2px;
  top: 50%;
  transform: translateY(-50%);
  border-left: 6px solid rgba(130,198,232,0.6);
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}

/* ===== REDUCED MOTION ===== */
@media (prefers-reduced-motion: reduce) {
  .rjv-mechanism__tip-glow,
  .rjv-wave,
  .rjv-stemcell,
  .rjv-bloodvessel,
  .rjv-healing-aura,
  .rjv-injury-mark,
  .rjv-marrow-glow {
    animation: none !important;
  }
  .rjv-stemcell { opacity: 0.85; }
  .rjv-wave { opacity: 0.4; transform: scale(2.5); }
}

/* ===== RESPONSIVE ===== */
@media (max-width: 900px) {
  .rjv-mechanism--v3 { padding: 28px 16px 18px; border-radius: 18px; }
  .rjv-mechanism__wand-wrap { width: 100px; margin-bottom: -10px; }
  .rjv-mechanism__waves { height: 160px; }
  .rjv-howit__protocol--v2 {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .rjv-howit__connector { display: none; }
  .rjv-mechanism__caption { padding: 20px 22px !important; }
  .rjv-mechanism__caption-text { font-size: 16px !important; }
  .rjv-howit__step-num { font-size: 44px !important; }
}
@media (max-width: 600px) {
  .rjv-howit__lead { font-size: 16px !important; }
  .rjv-tissue-label { font-size: 11px; }
}

/* ============================================
   SECTION 64.0 — V3.1 ADJUSTMENTS (2026-05-04)
   - Wave starts at applicator-head size, propagates to bone marrow
   - Card text bumped up for 14-104 demographic readability
   - Single combined diagram SVG
   ============================================ */

/* Hide old separate waves SVG (V3.0) since waves are now inside the diagram */
.rjv-mechanism__waves:not(g) {
  display: none !important;
}

.rjv-mechanism__diagram {
  display: block;
  width: 100%;
  height: auto;
  margin-top: -50px;
  position: relative;
  z-index: 1;
  border-radius: 14px;
  overflow: visible;
}

/* Waves now inside the diagram SVG as a <g> */
.rjv-mechanism__waves .rjv-wave,
.rjv-wave {
  fill: none;
  stroke: url(#rjvWaveStroke);
  stroke-width: 2.6;
  opacity: 0;
  transform-origin: 450px 0;
  transform-box: fill-box;
  animation: rjv-wave-emit-v31 4.2s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
}
/* Override transform-box for SVG elements */
@supports not (transform-box: fill-box) {
  .rjv-wave { transform-origin: 450px 0; }
}

.rjv-wave--1 { animation-delay: 0s; }
.rjv-wave--2 { animation-delay: 0.84s; }
.rjv-wave--3 { animation-delay: 1.68s; }
.rjv-wave--4 { animation-delay: 2.52s; }
.rjv-wave--5 { animation-delay: 3.36s; }

@keyframes rjv-wave-emit-v31 {
  0%   { opacity: 0;    transform: scale(0.55) translateY(0);    stroke-width: 3.2; }
  10%  { opacity: 1; }
  60%  { opacity: 0.85; }
  100% { opacity: 0;    transform: scale(2.4) translateY(440px); stroke-width: 0.6; }
}

/* ===== PROTOCOL CARDS V2.1 — bigger text for older demographic ===== */
.rjv-howit__protocol--v2 {
  display: grid;
  grid-template-columns: 1fr 28px 1fr 28px 1fr 28px 1fr;
  gap: 14px 0;
  align-items: stretch;
  margin: 56px auto 24px;
  max-width: 1140px !important;
}

.rjv-howit__step {
  padding: 30px 26px 32px !important;
}

.rjv-howit__step-phase {
  font-size: 13px !important;
  letter-spacing: 0.22em !important;
  margin-bottom: 8px !important;
}

.rjv-howit__step-num {
  font-size: 64px !important;
  margin-bottom: 12px !important;
}

.rjv-howit__step-title {
  font-size: 21px !important;
  line-height: 1.25 !important;
  margin: 0 0 12px !important;
  letter-spacing: -0.01em !important;
}

.rjv-howit__step-desc {
  font-size: 17px !important;
  line-height: 1.6 !important;
}

/* Lead text also gets a small bump */
.rjv-howit__lead {
  font-size: 21px !important;
  line-height: 1.55 !important;
  max-width: 820px !important;
}

/* Caption text — slight bump too */
.rjv-mechanism__caption-text {
  font-size: 21px !important;
  line-height: 1.55 !important;
  max-width: 760px !important;
}

/* ===== RESPONSIVE BUMPS ===== */
@media (max-width: 900px) {
  .rjv-howit__step { padding: 24px 22px 26px !important; }
  .rjv-howit__step-num { font-size: 50px !important; }
  .rjv-howit__step-title { font-size: 19px !important; }
  .rjv-howit__step-desc { font-size: 16px !important; }
  .rjv-howit__lead { font-size: 18px !important; }
  .rjv-mechanism__caption-text { font-size: 18px !important; }
}
@media (max-width: 600px) {
  .rjv-howit__step-num { font-size: 44px !important; }
  .rjv-howit__step-title { font-size: 18px !important; }
  .rjv-howit__step-desc { font-size: 15.5px !important; }
}


/* ============================================
   SECTION 64.1 — WAVE TRANSFORM FIX (2026-05-04)
   scale × translateY was compounding to 1000+px
   New keyframe keeps translation under viewBox bounds
   ============================================ */
@keyframes rjv-wave-emit-v31 {
  0%   { opacity: 0;    transform: scale(0.55) translateY(0);    stroke-width: 3.2; }
  10%  { opacity: 1; }
  60%  { opacity: 0.85; }
  100% { opacity: 0;    transform: scale(2.4)  translateY(180px); stroke-width: 0.6; }
}
.rjv-wave {
  transform-origin: 450px 0 !important;
}


/* ============================================
   SECTION 64.2 — RESTORE PER-WAVE STAGGER (2026-05-04)
   Section 64.0 used animation shorthand which reset delays.
   Re-declare with !important to ensure stagger.
   ============================================ */
.rjv-mechanism__diagram .rjv-wave--1 { animation-delay: 0s !important; }
.rjv-mechanism__diagram .rjv-wave--2 { animation-delay: 0.84s !important; }
.rjv-mechanism__diagram .rjv-wave--3 { animation-delay: 1.68s !important; }
.rjv-mechanism__diagram .rjv-wave--4 { animation-delay: 2.52s !important; }
.rjv-mechanism__diagram .rjv-wave--5 { animation-delay: 3.36s !important; }


/* ============================================
   SECTION 64.3 — WAVE TRANSFORM-BOX FIX (2026-05-04)
   transform-box: fill-box was causing waves to render
   far left of center. view-box uses SVG viewBox coords.
   ============================================ */
.rjv-mechanism__diagram .rjv-wave {
  transform-box: view-box !important;
  transform-origin: 450px 0 !important;
}


/* ============================================
   SECTION 65.0 — SECTION 4 HEADER REWORK (2026-05-04)
   - Hide redundant "HOW IT WORKS" eyebrow (s10h2000)
   - Center + enlarge + sky-blue the H2 (s10body0)
   - Tighten spacing now that two-line stack becomes one
   ============================================ */
#s10h2000 { display: none !important; }

#s10body0,
#s10body0 .elementor-heading-title {
  text-align: center !important;
  color: #82C6E8 !important;
  font-size: 56px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  font-weight: 700 !important;
  margin: 14px auto 24px !important;
  max-width: 940px;
}

@media (max-width: 900px) {
  #s10body0,
  #s10body0 .elementor-heading-title {
    font-size: 40px !important;
    line-height: 1.1 !important;
    margin: 8px auto 18px !important;
  }
}
@media (max-width: 600px) {
  #s10body0,
  #s10body0 .elementor-heading-title {
    font-size: 32px !important;
    line-height: 1.12 !important;
  }
}


/* ============================================
   SECTION 65.1 — CORRECTED SELECTORS (2026-05-04)
   Elementor uses [data-id] not #id; rewriting 65.0 with right syntax
   ============================================ */
[data-id="s10h2000"] { display: none !important; }

[data-id="s10body0"] .elementor-heading-title,
[data-id="s10body0"] h1,
[data-id="s10body0"] h2,
[data-id="s10body0"] h3 {
  text-align: center !important;
  color: #82C6E8 !important;
  font-size: 56px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  font-weight: 700 !important;
  margin: 14px auto 24px !important;
  max-width: 940px;
}

@media (max-width: 900px) {
  [data-id="s10body0"] .elementor-heading-title,
  [data-id="s10body0"] h1,
  [data-id="s10body0"] h2,
  [data-id="s10body0"] h3 {
    font-size: 40px !important;
    line-height: 1.1 !important;
    margin: 8px auto 18px !important;
  }
}
@media (max-width: 600px) {
  [data-id="s10body0"] .elementor-heading-title,
  [data-id="s10body0"] h1,
  [data-id="s10body0"] h2,
  [data-id="s10body0"] h3 {
    font-size: 32px !important;
    line-height: 1.12 !important;
  }
}

/* ============================================
   SECTION 70.0 — V3 SECTION 5 "WHERE DOES IT HURT" (2026-05-04)
   - Anatomical body locator (SVG silhouette + pulsing hot zones)
   - 3 elevated cards w/ custom anatomical icons + scenario outcomes
   - Recolored H2 to wine-deep maroon for contrast
   - Stat strip below body
   - Single unified CTA at section bottom
   ============================================ */

/* Recolor the existing H2 eyebrow ("WHERE DOES IT HURT?") to wine-deep */
[data-id="s04eybr0"] .elementor-heading-title,
[data-id="s04eybr0"] h1,
[data-id="s04eybr0"] h2,
[data-id="s04eybr0"] h3 {
  color: #1F1015 !important;
  opacity: 0.95 !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
}

/* Style the main H2 (Pinpoint your pain.) tighter */
[data-id="s04h2000"] .elementor-heading-title,
[data-id="s04h2000"] h1,
[data-id="s04h2000"] h2 {
  color: #1F1015 !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  margin-top: 6px !important;
  margin-bottom: 18px !important;
}
[data-id="s04h2000"] em {
  color: #8B2929 !important;
  font-style: italic;
  font-weight: 800;
}

/* Subhead */
[data-id="s04sub00"] {
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: rgba(31, 16, 21, 0.78) !important;
  max-width: 720px;
  margin: 0 auto 36px !important;
  text-align: center;
}

/* ===== V3 CONTAINER ===== */
.rjv-hurt--v3 {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 12px;
}

/* ===== STAGE: locator + stats side-by-side ===== */
.rjv-hurt__stage {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 56px;
  align-items: center;
  margin: 24px auto 56px;
  padding: 32px 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.25));
  border-radius: 22px;
  box-shadow: 0 18px 40px -22px rgba(31, 16, 21, 0.25);
  border: 1px solid rgba(31, 16, 21, 0.08);
}

/* ===== BODY LOCATOR ===== */
.rjv-hurt__locator {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.rjv-body {
  width: 100%;
  max-width: 280px;
  height: auto;
  display: block;
}
.rjv-body-figure path,
.rjv-body-figure ellipse,
.rjv-body-figure circle,
.rjv-body-figure rect {
  transition: stroke 0.3s ease, fill 0.3s ease;
}
.rjv-hurt__locator-cap {
  margin-top: 12px;
  font-size: 13px;
  color: rgba(31, 16, 21, 0.65);
  text-align: center;
  font-style: italic;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
}

/* Hot zones */
.rjv-hot {
  cursor: pointer;
}
.rjv-hot__pulse {
  transform-origin: center;
  transform-box: fill-box;
  animation: rjv-hot-pulse 2.8s ease-in-out infinite;
}
.rjv-hot__dot {
  fill: #82C6E8;
  stroke: #1F1015;
  stroke-width: 1.6;
  transform-origin: center;
  transform-box: fill-box;
  filter: drop-shadow(0 0 4px rgba(130, 198, 232, 0.6));
}
.rjv-hot:hover .rjv-hot__dot {
  fill: #D16B47;
  filter: drop-shadow(0 0 8px rgba(209, 107, 71, 0.8));
}
.rjv-hot:hover .rjv-hot__pulse { animation-duration: 1.4s; }
.rjv-hot:nth-child(1) .rjv-hot__pulse { animation-delay: 0.0s; }
.rjv-hot:nth-child(2) .rjv-hot__pulse { animation-delay: 0.2s; }
.rjv-hot:nth-child(3) .rjv-hot__pulse { animation-delay: 0.4s; }
.rjv-hot:nth-child(4) .rjv-hot__pulse { animation-delay: 0.6s; }
.rjv-hot:nth-child(5) .rjv-hot__pulse { animation-delay: 0.8s; }
.rjv-hot:nth-child(6) .rjv-hot__pulse { animation-delay: 1.0s; }
.rjv-hot:nth-child(7) .rjv-hot__pulse { animation-delay: 1.2s; }
.rjv-hot:nth-child(8) .rjv-hot__pulse { animation-delay: 1.4s; }
.rjv-hot:nth-child(9) .rjv-hot__pulse { animation-delay: 1.6s; }
.rjv-hot:nth-child(10) .rjv-hot__pulse { animation-delay: 1.8s; }
.rjv-hot:nth-child(11) .rjv-hot__pulse { animation-delay: 2.0s; }
.rjv-hot:nth-child(12) .rjv-hot__pulse { animation-delay: 2.2s; }
.rjv-hot:nth-child(13) .rjv-hot__pulse { animation-delay: 2.4s; }
.rjv-hot:nth-child(14) .rjv-hot__pulse { animation-delay: 2.6s; }
@keyframes rjv-hot-pulse {
  0%, 100% { transform: scale(0.6); opacity: 0.4; }
  50%      { transform: scale(1.6); opacity: 1; }
}

/* ===== STATS ===== */
.rjv-hurt__stats {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.rjv-hurt__stat {
  background: rgba(255, 255, 255, 0.55);
  border-left: 4px solid #D16B47;
  border-radius: 10px;
  padding: 16px 22px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.rjv-hurt__stat:hover {
  transform: translateX(3px);
  box-shadow: 0 8px 20px -10px rgba(31, 16, 21, 0.25);
}
.rjv-hurt__stat-value {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 40px;
  font-weight: 800;
  color: #1F1015;
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.rjv-hurt__stat-value span {
  font-size: 24px;
  color: #8B2929;
  margin-left: 2px;
}
.rjv-hurt__stat-label {
  font-size: 14.5px;
  color: rgba(31, 16, 21, 0.72);
  margin-top: 2px;
  line-height: 1.4;
}

/* ===== CARDS ===== */
.rjv-hurt__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin: 0 auto 56px;
  max-width: 1140px;
}
.rjv-hurt-card {
  background: #FDF7F2;
  border: 1px solid rgba(31, 16, 21, 0.10);
  border-radius: 18px;
  padding: 28px 26px 30px;
  position: relative;
  transition: all 0.32s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
}
.rjv-hurt-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, #82C6E8, #D16B47);
  border-radius: 18px 18px 0 0;
  opacity: 0.55;
  transition: opacity 0.3s ease;
}
.rjv-hurt-card:hover {
  transform: translateY(-6px);
  border-color: #D16B47;
  box-shadow: 0 24px 50px -20px rgba(209, 107, 71, 0.35), 0 6px 14px -6px rgba(31, 16, 21, 0.18);
}
.rjv-hurt-card:hover::before { opacity: 1; }

.rjv-hurt-card__icon {
  width: 80px;
  height: 80px;
  margin: 0 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(130, 198, 232, 0.10);
  border-radius: 14px;
  padding: 8px;
}
.rjv-hurt-card__icon svg {
  width: 100%;
  height: 100%;
}
.rjv-hurt-card__title {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #1F1015 !important;
  margin: 0 0 14px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
}
.rjv-hurt-card__conditions {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
}
.rjv-hurt-card__conditions li {
  font-size: 15.5px;
  line-height: 1.55;
  color: rgba(31, 16, 21, 0.82);
  padding: 6px 0 6px 24px;
  position: relative;
  border-bottom: 1px solid rgba(31, 16, 21, 0.08);
}
.rjv-hurt-card__conditions li:last-child {
  border-bottom: none;
  font-style: italic;
  color: rgba(31, 16, 21, 0.65);
  font-size: 14.5px;
  padding-top: 10px;
}
.rjv-hurt-card__conditions li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 14px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #82C6E8;
  box-shadow: 0 0 0 3px rgba(130, 198, 232, 0.18);
}
.rjv-hurt-card__conditions li:last-child::before { display: none; }

.rjv-hurt-card__story {
  margin: auto 0 0 0;
  padding: 16px 18px;
  background: linear-gradient(180deg, rgba(130, 198, 232, 0.10), rgba(130, 198, 232, 0.04));
  border-left: 3px solid #82C6E8;
  border-radius: 8px;
}
.rjv-hurt-card__story-quote {
  display: block;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-style: italic;
  font-size: 15.5px;
  line-height: 1.5;
  color: #1F1015;
  font-weight: 500;
}
.rjv-hurt-card__story-attrib {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  color: rgba(31, 16, 21, 0.55);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 700;
}

/* ===== UNIFIED CTA ===== */
.rjv-hurt__cta {
  text-align: center;
  margin: 0 auto;
  padding: 12px 0 24px;
}
.rjv-hurt__cta-btn {
  display: inline-block;
  background: linear-gradient(180deg, #D16B47, #B85535);
  color: #FDF7F2 !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 22px;
  font-weight: 700;
  text-decoration: none;
  padding: 18px 42px;
  border-radius: 12px;
  letter-spacing: -0.01em;
  box-shadow: 0 14px 32px -10px rgba(209, 107, 71, 0.55), 0 4px 8px -2px rgba(31, 16, 21, 0.2);
  transition: all 0.25s ease;
  text-transform: none;
}
.rjv-hurt__cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 40px -12px rgba(209, 107, 71, 0.7), 0 6px 12px -3px rgba(31, 16, 21, 0.25);
  color: #FFFFFF !important;
}
.rjv-hurt__cta-note {
  margin-top: 14px;
  font-size: 14px;
  color: rgba(31, 16, 21, 0.62);
  font-style: italic;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
}

/* ===== REDUCED MOTION ===== */
@media (prefers-reduced-motion: reduce) {
  .rjv-hot__pulse { animation: none !important; opacity: 0.6; }
  .rjv-hurt-card { transition: none !important; }
}

/* ===== RESPONSIVE ===== */
@media (max-width: 980px) {
  .rjv-hurt__stage {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 24px 18px;
  }
  .rjv-hurt__cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}
@media (max-width: 600px) {
  .rjv-hurt-card { padding: 22px 20px 24px; }
  .rjv-hurt-card__title { font-size: 19px !important; }
  .rjv-hurt-card__conditions li { font-size: 14.5px; }
  .rjv-hurt-card__story-quote { font-size: 14.5px; }
  .rjv-hurt__cta-btn { font-size: 18px; padding: 14px 28px; }
  .rjv-hurt__stat-value { font-size: 32px; }
}

/* ============================================
   SECTION 71.0 — V4 SECTION 5 "RECOGNIZE YOURSELF" (2026-05-04)
   Pure typography Callaway light-bulb play
   - Kill body silhouette and stat panel from V3
   - 6 visceral pain moment cards in 3x2 grid
   - Big bridge line as emotional payoff
   - Conditions tag pills strip
   - Compact trust row + unified CTA
   ============================================ */

/* === HIDE V3 ELEMENTS === */
.rjv-hurt--v3 .rjv-hurt__stage,
.rjv-hurt--v3 .rjv-hurt__cards,
.rjv-hurt--v3 .rjv-hurt__cta,
.rjv-hurt--v3 .rjv-body,
.rjv-hurt--v3 .rjv-hurt__locator,
.rjv-hurt--v3 .rjv-hurt__stats,
.rjv-hurt--v3 .rjv-hurt-card {
  display: none !important;
}

/* === V4 CONTAINER === */
.rjv-hurt--v4 {
  max-width: 1100px;
  margin: 0 auto;
  padding: 6px 0 24px;
}

/* === INTRO === */
.rjv-hurt__intro {
  text-align: center;
  font-size: 19px !important;
  line-height: 1.55 !important;
  color: rgba(31, 16, 21, 0.78) !important;
  max-width: 760px;
  margin: 8px auto 44px !important;
  font-style: italic;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
}

/* === MOMENT CARDS GRID === */
.rjv-hurt__moments {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 0 auto 56px;
  max-width: 1100px;
}
.rjv-hurt__moment {
  position: relative;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.65), rgba(255, 255, 255, 0.35));
  border-radius: 14px;
  padding: 28px 26px 28px 32px;
  border: 1px solid rgba(31, 16, 21, 0.10);
  box-shadow: 0 8px 22px -14px rgba(31, 16, 21, 0.18);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 130px;
  display: flex;
  align-items: center;
}
.rjv-hurt__moment::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12%;
  bottom: 12%;
  width: 3px;
  background: linear-gradient(180deg, transparent, #82C6E8 30%, #82C6E8 70%, transparent);
  border-radius: 0 2px 2px 0;
  transition: background 0.35s ease;
}
.rjv-hurt__moment:hover {
  transform: translateY(-4px);
  border-color: rgba(209, 107, 71, 0.45);
  box-shadow: 0 22px 40px -18px rgba(209, 107, 71, 0.28), 0 6px 12px -6px rgba(31, 16, 21, 0.18);
}
.rjv-hurt__moment:hover::before {
  background: linear-gradient(180deg, transparent, #D16B47 30%, #D16B47 70%, transparent);
}
.rjv-hurt__moment-mark {
  position: absolute;
  left: 14px;
  top: 14px;
  font-family: Georgia, serif;
  font-size: 56px;
  line-height: 1;
  color: #82C6E8;
  opacity: 0.65;
  font-weight: 700;
  user-select: none;
  pointer-events: none;
}
.rjv-hurt__moment-text {
  margin: 0 !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-style: italic;
  font-size: 20px !important;
  line-height: 1.4 !important;
  color: #1F1015 !important;
  font-weight: 500;
  letter-spacing: -0.005em;
}

/* === BRIDGE PAYOFF === */
.rjv-hurt__bridge {
  text-align: center;
  margin: 24px auto 56px;
  padding: 32px 24px;
  position: relative;
}
.rjv-hurt__bridge::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 80px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #82C6E8, transparent);
  transform: translateX(-50%);
}
.rjv-hurt__bridge-text {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 34px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #1F1015 !important;
  margin: 0 !important;
  max-width: 880px;
  margin: 0 auto !important;
  letter-spacing: -0.015em;
}

/* === CONDITIONS STRIP === */
.rjv-hurt__conditions {
  text-align: center;
  margin: 0 auto 48px;
  max-width: 980px;
}
.rjv-hurt__conditions-label {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(31, 16, 21, 0.62) !important;
  margin: 0 0 18px !important;
}
.rjv-hurt__conditions-list {
  list-style: none;
  padding: 0;
  margin: 0 auto 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  justify-content: center;
}
.rjv-hurt__conditions-list li {
  display: inline-block;
  padding: 8px 16px;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(31, 16, 21, 0.12);
  border-radius: 999px;
  font-size: 14.5px;
  color: #1F1015;
  font-weight: 600;
  transition: all 0.25s ease;
}
.rjv-hurt__conditions-list li:hover {
  background: rgba(130, 198, 232, 0.18);
  border-color: rgba(130, 198, 232, 0.5);
  transform: translateY(-1px);
}
.rjv-hurt__conditions-tail {
  margin: 14px auto 0 !important;
  font-size: 14.5px !important;
  color: rgba(31, 16, 21, 0.62) !important;
  font-style: italic;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
}

/* === TRUST ROW === */
.rjv-hurt__trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0 auto 40px;
  padding: 22px 16px;
  background: rgba(255, 255, 255, 0.45);
  border: 1px solid rgba(31, 16, 21, 0.08);
  border-radius: 14px;
  max-width: 820px;
}
.rjv-hurt__trust-item {
  flex: 1;
  text-align: center;
  padding: 0 18px;
}
.rjv-hurt__trust-value {
  display: block;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 28px;
  font-weight: 800;
  color: #1F1015;
  line-height: 1.05;
  letter-spacing: -0.015em;
}
.rjv-hurt__trust-value em {
  font-style: normal;
  font-size: 18px;
  color: #8B2929;
  margin-left: 1px;
  font-weight: 700;
}
.rjv-hurt__trust-label {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: rgba(31, 16, 21, 0.65);
  font-weight: 600;
  line-height: 1.3;
}
.rjv-hurt__trust-divider {
  width: 1px;
  height: 44px;
  background: rgba(31, 16, 21, 0.15);
}

/* === CTA === */
.rjv-hurt__cta {
  text-align: center;
  margin: 0 auto;
  padding: 8px 0 24px;
}
.rjv-hurt__cta-btn {
  display: inline-block;
  background: linear-gradient(180deg, #D16B47, #B85535) !important;
  color: #FDF7F2 !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  padding: 18px 42px !important;
  border-radius: 12px !important;
  letter-spacing: -0.01em !important;
  box-shadow: 0 14px 32px -10px rgba(209, 107, 71, 0.55), 0 4px 8px -2px rgba(31, 16, 21, 0.2) !important;
  transition: all 0.25s ease !important;
}
.rjv-hurt__cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 40px -12px rgba(209, 107, 71, 0.7), 0 6px 12px -3px rgba(31, 16, 21, 0.25) !important;
  color: #FFFFFF !important;
}
.rjv-hurt__cta-note {
  margin: 14px auto 8px !important;
  font-size: 14px !important;
  color: rgba(31, 16, 21, 0.62) !important;
  font-style: italic;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
}
.rjv-hurt__cta-alt {
  margin: 12px auto 0 !important;
  font-size: 14.5px !important;
  color: rgba(31, 16, 21, 0.65) !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
}
.rjv-hurt__cta-alt-link {
  color: #8B2929 !important;
  font-weight: 700 !important;
  text-decoration: underline;
  text-decoration-color: rgba(139, 41, 41, 0.4);
  text-underline-offset: 3px;
  transition: all 0.2s ease;
}
.rjv-hurt__cta-alt-link:hover {
  color: #D16B47 !important;
  text-decoration-color: #D16B47;
}

/* === RESPONSIVE === */
@media (max-width: 900px) {
  .rjv-hurt__moments { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .rjv-hurt__moment { padding: 22px 22px 22px 28px; min-height: 110px; }
  .rjv-hurt__moment-text { font-size: 17px !important; }
  .rjv-hurt__bridge-text { font-size: 26px !important; }
  .rjv-hurt__trust { flex-wrap: wrap; }
  .rjv-hurt__trust-divider { display: none; }
}
@media (max-width: 600px) {
  .rjv-hurt__moments { grid-template-columns: 1fr; }
  .rjv-hurt__moment-text { font-size: 16px !important; }
  .rjv-hurt__bridge-text { font-size: 22px !important; }
  .rjv-hurt__cta-btn { font-size: 18px !important; padding: 14px 28px !important; }
}


/* ============================================
   SECTION 71.1 — Hide redundant V3 subhead now that body diagram is gone
   ============================================ */
[data-id="s04sub00"] { display: none !important; }

/* ============================================
   SECTION 72.0 — V5 SECTION 5 ITERATION (2026-05-04)
   - Hide story bridge, repurpose eyebrow as consolidated centered headline
   - Wine-gradient CTA for color consistency
   - Patient name + city attribution on recognition moments
   - Categorized 6-region conditions grid (~36 conditions)
   - Trust strip: Up to 6 / 93%
   ============================================ */

/* === HIDE V3/V4 ELEMENTS that conflict === */
.rjv-hurt--v4 { display: none !important; }

/* === HIDE story bridge (was "If you waited — where does it live now?") === */
[data-id="s04brdg0"] { display: none !important; }

/* === RECONFIGURE eyebrow as consolidated headline === */
[data-id="s04eybr0"] {
  text-align: center !important;
  margin: 18px auto 12px !important;
  max-width: 920px;
}
[data-id="s04eybr0"] .elementor-heading-title,
[data-id="s04eybr0"] h1,
[data-id="s04eybr0"] h2,
[data-id="s04eybr0"] h3 {
  text-align: center !important;
  color: #1F1015 !important;
  font-size: 56px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  line-height: 1.08 !important;
  margin: 0 auto !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
}

/* H2 below also centered */
[data-id="s04h2000"] {
  text-align: center !important;
  max-width: 920px;
  margin: 0 auto 28px !important;
}
[data-id="s04h2000"] .elementor-heading-title,
[data-id="s04h2000"] h1,
[data-id="s04h2000"] h2 {
  text-align: center !important;
}

/* === V5 CONTAINER === */
.rjv-hurt--v5 {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 0 24px;
}

/* === INTRO === */
.rjv-hurt__intro {
  text-align: center;
  font-size: 19px !important;
  line-height: 1.55 !important;
  color: rgba(31, 16, 21, 0.78) !important;
  max-width: 760px;
  margin: 8px auto 44px !important;
  font-style: italic;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
}

/* === MOMENT CARDS === */
.rjv-hurt__moments {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 0 auto 56px;
  max-width: 1140px;
}
.rjv-hurt__moment {
  position: relative;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.65), rgba(255, 255, 255, 0.35));
  border-radius: 14px;
  padding: 28px 26px 22px 32px;
  border: 1px solid rgba(31, 16, 21, 0.10);
  box-shadow: 0 8px 22px -14px rgba(31, 16, 21, 0.18);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.rjv-hurt__moment::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12%;
  bottom: 12%;
  width: 3px;
  background: linear-gradient(180deg, transparent, #82C6E8 30%, #82C6E8 70%, transparent);
  border-radius: 0 2px 2px 0;
  transition: background 0.35s ease;
}
.rjv-hurt__moment:hover {
  transform: translateY(-4px);
  border-color: rgba(139, 41, 41, 0.45);
  box-shadow: 0 22px 40px -18px rgba(139, 41, 41, 0.30), 0 6px 12px -6px rgba(31, 16, 21, 0.18);
}
.rjv-hurt__moment:hover::before {
  background: linear-gradient(180deg, transparent, #8B2929 30%, #8B2929 70%, transparent);
}
.rjv-hurt__moment-mark {
  position: absolute;
  left: 14px;
  top: 14px;
  font-family: Georgia, serif;
  font-size: 56px;
  line-height: 1;
  color: #82C6E8;
  opacity: 0.65;
  font-weight: 700;
  user-select: none;
  pointer-events: none;
}
.rjv-hurt__moment-text {
  margin: 0 !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-style: italic;
  font-size: 20px !important;
  line-height: 1.4 !important;
  color: #1F1015 !important;
  font-weight: 500;
  letter-spacing: -0.005em;
}
.rjv-hurt__moment-attrib {
  margin: 14px 0 0 !important;
  font-size: 13px !important;
  color: #8B2929 !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
}

/* === BRIDGE PAYOFF === */
.rjv-hurt__bridge {
  text-align: center;
  margin: 24px auto 56px;
  padding: 32px 24px;
  position: relative;
}
.rjv-hurt__bridge::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 80px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #82C6E8, transparent);
  transform: translateX(-50%);
}
.rjv-hurt__bridge-text {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 34px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #1F1015 !important;
  margin: 0 auto !important;
  max-width: 880px;
  letter-spacing: -0.015em;
}

/* === CONDITIONS SECTION === */
.rjv-hurt__conditions-section {
  margin: 0 auto 48px;
  max-width: 1200px;
}
.rjv-hurt__conditions-headline {
  text-align: center;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1F1015 !important;
  margin: 0 0 32px !important;
  letter-spacing: -0.01em;
  line-height: 1.3 !important;
}
.rjv-hurt__conditions-headline span {
  display: inline-block;
  color: #8B2929;
  font-style: italic;
  font-weight: 600;
  margin-left: 4px;
}

.rjv-hurt__conditions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 0 auto 28px;
}

.rjv-condition-cat {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.45));
  border: 1px solid rgba(31, 16, 21, 0.10);
  border-radius: 14px;
  padding: 22px 24px 24px;
  transition: all 0.32s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
.rjv-condition-cat::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #82C6E8, #8B2929);
  opacity: 0.5;
  transition: opacity 0.3s ease;
}
.rjv-condition-cat:hover {
  transform: translateY(-3px);
  border-color: rgba(130, 198, 232, 0.5);
  box-shadow: 0 18px 38px -18px rgba(31, 16, 21, 0.22);
}
.rjv-condition-cat:hover::before { opacity: 1; }

.rjv-condition-cat__title {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #1F1015 !important;
  margin: 0 0 14px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(31, 16, 21, 0.10);
  display: flex;
  align-items: center;
  gap: 8px;
  letter-spacing: -0.01em;
}
.rjv-condition-cat__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  font-size: 14px;
  color: #82C6E8;
  background: rgba(130, 198, 232, 0.18);
  border-radius: 6px;
  font-weight: normal;
}

.rjv-condition-cat__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.rjv-condition-cat__list li {
  font-size: 14.5px;
  line-height: 1.5;
  color: rgba(31, 16, 21, 0.82);
  padding: 5px 0 5px 16px;
  position: relative;
}
.rjv-condition-cat__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #82C6E8;
  opacity: 0.7;
}

.rjv-hurt__conditions-tail {
  text-align: center;
  font-size: 15px !important;
  color: rgba(31, 16, 21, 0.72) !important;
  font-style: italic;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  margin: 0 !important;
  padding: 0 16px;
}
.rjv-hurt__conditions-tail-link {
  color: #8B2929 !important;
  font-weight: 700 !important;
  text-decoration: underline;
  text-decoration-color: rgba(139, 41, 41, 0.4);
  text-underline-offset: 3px;
  font-style: normal;
  transition: all 0.2s ease;
}
.rjv-hurt__conditions-tail-link:hover {
  color: #D16B47 !important;
  text-decoration-color: #D16B47;
}

/* === TRUST ROW === */
.rjv-hurt__trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0 auto 44px;
  padding: 24px 16px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(31, 16, 21, 0.08);
  border-radius: 14px;
  max-width: 880px;
}
.rjv-hurt__trust-item {
  flex: 1;
  text-align: center;
  padding: 0 18px;
}
.rjv-hurt__trust-value {
  display: block;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 32px;
  font-weight: 800;
  color: #1F1015;
  line-height: 1.05;
  letter-spacing: -0.015em;
}
.rjv-hurt__trust-value em {
  font-style: normal;
  font-size: 22px;
  color: #8B2929;
  margin-left: 1px;
  font-weight: 700;
}
.rjv-hurt__trust-label {
  display: block;
  margin-top: 8px;
  font-size: 13.5px;
  color: rgba(31, 16, 21, 0.65);
  font-weight: 600;
  line-height: 1.3;
}
.rjv-hurt__trust-divider {
  width: 1px;
  height: 50px;
  background: rgba(31, 16, 21, 0.15);
}

/* === CTA — wine gradient (matches headline color story) === */
.rjv-hurt__cta {
  text-align: center;
  margin: 0 auto;
  padding: 8px 0 24px;
}
.rjv-hurt__cta-btn {
  display: inline-block;
  background: linear-gradient(180deg, #8B2929, #5A1818) !important;
  color: #FDF7F2 !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  padding: 18px 44px !important;
  border-radius: 12px !important;
  letter-spacing: -0.01em !important;
  box-shadow: 0 14px 32px -10px rgba(139, 41, 41, 0.55), 0 4px 8px -2px rgba(31, 16, 21, 0.25) !important;
  transition: all 0.25s ease !important;
  border: 1px solid rgba(0, 0, 0, 0.15);
}
.rjv-hurt__cta-btn:hover {
  background: linear-gradient(180deg, #A03434, #6B1A24) !important;
  transform: translateY(-2px);
  box-shadow: 0 20px 42px -12px rgba(139, 41, 41, 0.7), 0 6px 12px -3px rgba(31, 16, 21, 0.30) !important;
  color: #FFFFFF !important;
}
.rjv-hurt__cta-note {
  margin: 14px auto 0 !important;
  font-size: 14px !important;
  color: rgba(31, 16, 21, 0.62) !important;
  font-style: italic;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
}

/* === RESPONSIVE === */
@media (max-width: 980px) {
  [data-id="s04eybr0"] .elementor-heading-title,
  [data-id="s04eybr0"] h1,
  [data-id="s04eybr0"] h2,
  [data-id="s04eybr0"] h3 { font-size: 42px !important; }
  .rjv-hurt__moments { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .rjv-hurt__moment-text { font-size: 17px !important; }
  .rjv-hurt__bridge-text { font-size: 26px !important; }
  .rjv-hurt__conditions-grid { grid-template-columns: repeat(2, 1fr); }
  .rjv-hurt__trust { flex-wrap: wrap; }
  .rjv-hurt__trust-divider { display: none; }
}
@media (max-width: 600px) {
  [data-id="s04eybr0"] .elementor-heading-title,
  [data-id="s04eybr0"] h1,
  [data-id="s04eybr0"] h2,
  [data-id="s04eybr0"] h3 { font-size: 32px !important; }
  .rjv-hurt__moments { grid-template-columns: 1fr; }
  .rjv-hurt__moment-text { font-size: 16px !important; }
  .rjv-hurt__bridge-text { font-size: 22px !important; }
  .rjv-hurt__conditions-grid { grid-template-columns: 1fr; }
  .rjv-hurt__cta-btn { font-size: 18px !important; padding: 14px 28px !important; }
}


/* ============================================
   SECTION 72.1 — Hide conditions tail line per Dean (2026-05-04)
   ============================================ */
.rjv-hurt__conditions-tail { display: none !important; }

/* ============================================
   SECTION 73.0 — CONDITIONS V6 EDITORIAL ATLAS (2026-05-04)
   - Custom anatomical SVG icons per region
   - Magazine page numbers (01-06) in upper-right
   - Display serif italic kicker lines
   - Dashed footer with condition count
   - Paper-feel card backgrounds with subtle gradient
   ============================================ */

/* === Hide V5 simple grid === */
.rjv-hurt__conditions-grid:not(.rjv-hurt__conditions-grid--v6) { display: none !important; }
/* === Hide V5 simple cards' parent section if not V6 === */
.rjv-hurt__conditions-section:not(.rjv-hurt__conditions-section--v6) { display: none !important; }

/* === V6 SECTION === */
.rjv-hurt__conditions-section--v6 {
  margin: 8px auto 56px;
  max-width: 1240px;
  padding: 0 12px;
}
.rjv-hurt__conditions-section--v6 .rjv-hurt__conditions-headline {
  text-align: center;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #1F1015 !important;
  margin: 0 0 38px !important;
  letter-spacing: -0.015em;
  line-height: 1.25 !important;
}
.rjv-hurt__conditions-section--v6 .rjv-hurt__conditions-headline span {
  display: inline-block;
  color: #8B2929;
  font-style: italic;
  font-weight: 600;
}

.rjv-hurt__conditions-grid--v6 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  align-items: stretch;
}

/* === ATLAS CARD === */
.rjv-cond-card {
  position: relative;
  background:
    radial-gradient(ellipse 200% 100% at 50% 0%, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.55)),
    linear-gradient(180deg, #FDF7F2 0%, #F0DFD0 100%);
  border: 1px solid rgba(31, 16, 21, 0.14);
  border-radius: 6px;
  padding: 30px 30px 22px;
  min-height: 360px;
  display: flex;
  flex-direction: column;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(31, 16, 21, 0.05), 0 6px 16px -10px rgba(31, 16, 21, 0.15);
}

.rjv-cond-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #82C6E8 0%, #82C6E8 40%, #8B2929 100%);
  opacity: 0.55;
  transition: opacity 0.35s ease;
}

.rjv-cond-card::after {
  content: "";
  position: absolute;
  bottom: 0; left: 30px; right: 30px;
  height: 1px;
  background: rgba(31, 16, 21, 0);
  transition: background 0.35s ease;
}

.rjv-cond-card:hover {
  transform: translateY(-7px);
  border-color: rgba(139, 41, 41, 0.4);
  box-shadow:
    0 30px 60px -25px rgba(31, 16, 21, 0.45),
    0 8px 18px -6px rgba(139, 41, 41, 0.18);
}
.rjv-cond-card:hover::before { opacity: 1; }
.rjv-cond-card:hover .rjv-cond-card__num { color: rgba(139, 41, 41, 0.75); transform: translateY(-2px) rotate(-3deg); }
.rjv-cond-card:hover .rjv-cond-card__icon { color: #8B2929; transform: translateY(-2px); }

/* === PAGE NUMBER === */
.rjv-cond-card__num {
  position: absolute;
  top: 16px;
  right: 24px;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 56px;
  font-weight: 800;
  color: rgba(139, 41, 41, 0.16);
  line-height: 1;
  font-style: italic;
  letter-spacing: -0.05em;
  user-select: none;
  pointer-events: none;
  transition: color 0.4s ease, transform 0.4s ease;
}

/* === ICON === */
.rjv-cond-card__icon {
  width: 60px;
  height: 60px;
  margin: 0 0 18px;
  color: #82C6E8;
  transition: color 0.4s ease, transform 0.4s ease;
}
.rjv-cond-card__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* === TITLE BLOCK === */
.rjv-cond-card__title {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #1F1015 !important;
  margin: 0 0 4px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.015em;
}
.rjv-cond-card__kicker {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-style: italic;
  color: #8B2929 !important;
  font-size: 14.5px !important;
  margin: 0 0 16px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

/* === DIVIDER === */
.rjv-cond-card__divider {
  height: 1px;
  background: linear-gradient(90deg, #82C6E8, transparent 70%);
  margin: 0 0 16px;
  width: 70%;
}

/* === LIST === */
.rjv-cond-card__list {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
}
.rjv-cond-card__list li {
  font-size: 14.5px;
  line-height: 1.45;
  color: rgba(31, 16, 21, 0.85);
  padding: 5px 0 5px 16px;
  position: relative;
  font-weight: 500;
}
.rjv-cond-card__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #82C6E8;
  opacity: 0.85;
}

/* === COUNT FOOTER === */
.rjv-cond-card__count {
  margin: auto 0 0 !important;
  padding-top: 14px !important;
  border-top: 1px dashed rgba(31, 16, 21, 0.22) !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(31, 16, 21, 0.55) !important;
  text-align: right !important;
}
.rjv-cond-card__count-num {
  color: #8B2929;
  font-size: 16px;
  font-weight: 800;
  margin-right: 4px;
  letter-spacing: 0;
  font-style: italic;
}

/* === RESPONSIVE === */
@media (max-width: 980px) {
  .rjv-hurt__conditions-grid--v6 { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .rjv-cond-card { min-height: auto; padding: 24px 24px 20px; }
  .rjv-cond-card__num { font-size: 44px; }
}
@media (max-width: 600px) {
  .rjv-hurt__conditions-grid--v6 { grid-template-columns: 1fr; }
  .rjv-cond-card__title { font-size: 21px !important; }
  .rjv-hurt__conditions-section--v6 .rjv-hurt__conditions-headline { font-size: 22px !important; }
}


/* ============================================
   SECTION 73.1 — Hide "Where does your pain live now?" per Dean (2026-05-04)
   Section opener now starts at the H2 "Pinpoint your pain..."
   ============================================ */
[data-id="s04eybr0"] { display: none !important; }

/* ============================================
   SECTION 73.2 — V7 conditions polish (2026-05-04)
   - Bigger anatomical icons (60 → 72px)
   - Bumped text sizes for older demographic readability
   - Slightly more breathing room in list
   ============================================ */

.rjv-cond-card__icon {
  width: 72px !important;
  height: 72px !important;
  margin: 0 0 18px !important;
}

.rjv-cond-card__title {
  font-size: 26px !important;
  margin: 0 0 6px !important;
}

.rjv-cond-card__kicker {
  font-size: 16px !important;
  line-height: 1.35 !important;
  margin: 0 0 18px !important;
}

.rjv-cond-card__list li {
  font-size: 16px !important;
  line-height: 1.5 !important;
  padding: 7px 0 7px 18px !important;
  color: rgba(31, 16, 21, 0.92) !important;
}
.rjv-cond-card__list li::before {
  top: 14px !important;
  width: 6px !important;
  height: 6px !important;
}

.rjv-cond-card__count {
  font-size: 13px !important;
  letter-spacing: 0.18em !important;
  padding-top: 16px !important;
}
.rjv-cond-card__count-num {
  font-size: 17px !important;
}

.rjv-cond-card {
  padding: 32px 32px 24px !important;
}
.rjv-cond-card__num {
  font-size: 60px !important;
  top: 18px !important;
  right: 26px !important;
}

.rjv-hurt__conditions-section--v6 .rjv-hurt__conditions-headline {
  font-size: 28px !important;
  margin-bottom: 40px !important;
}

@media (max-width: 980px) {
  .rjv-cond-card { padding: 26px 26px 20px !important; }
  .rjv-cond-card__num { font-size: 48px !important; }
  .rjv-cond-card__title { font-size: 22px !important; }
  .rjv-cond-card__icon { width: 60px !important; height: 60px !important; }
  .rjv-cond-card__list li { font-size: 15px !important; }
}


/* ============================================
   SECTION 74.0 — V8 GRAY'S ANATOMY ICONS (2026-05-04)
   Replace primitive SVG icons with sky-blue duotone
   Gray's Anatomy public-domain plates. Each plate has
   different aspect ratio so we use object-fit: contain.
   ============================================ */
.rjv-cond-card__icon--grays {
  width: 96px !important;
  height: 96px !important;
  margin: 0 0 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  background: transparent !important;
  padding: 0 !important;
  position: relative;
}
.rjv-cond-card__grays-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
  display: block;
  filter: drop-shadow(0 2px 4px rgba(31, 16, 21, 0.18));
  transition: filter 0.4s ease, transform 0.4s ease;
}
.rjv-cond-card:hover .rjv-cond-card__grays-img {
  filter: drop-shadow(0 4px 8px rgba(139, 41, 41, 0.35));
  transform: translateY(-2px) scale(1.04);
}

/* Make tall plates a bit narrower so they don't tower */
.rjv-cond-card__icon--foot .rjv-cond-card__grays-img,
.rjv-cond-card__icon--shoulder .rjv-cond-card__grays-img {
  height: 110px;
  width: auto;
  margin-top: -4px;
}
/* Square-ish plates */
.rjv-cond-card__icon--pelvis .rjv-cond-card__grays-img,
.rjv-cond-card__icon--nerve .rjv-cond-card__grays-img {
  width: 110px;
  height: auto;
}
/* Hand and knee are roughly portrait */
.rjv-cond-card__icon--hand .rjv-cond-card__grays-img,
.rjv-cond-card__icon--knee .rjv-cond-card__grays-img {
  height: 105px;
  width: auto;
}

/* Container needs to accommodate larger images */
.rjv-cond-card__icon--grays {
  height: 110px !important;
  width: auto !important;
  min-width: 96px;
}

@media (max-width: 980px) {
  .rjv-cond-card__icon--grays { height: 88px !important; }
  .rjv-cond-card__icon--foot .rjv-cond-card__grays-img,
  .rjv-cond-card__icon--shoulder .rjv-cond-card__grays-img,
  .rjv-cond-card__icon--hand .rjv-cond-card__grays-img,
  .rjv-cond-card__icon--knee .rjv-cond-card__grays-img { height: 88px; }
  .rjv-cond-card__icon--pelvis .rjv-cond-card__grays-img,
  .rjv-cond-card__icon--nerve .rjv-cond-card__grays-img { width: 96px; }
}


/* ============================================
   SECTION 74.1 — Bigger Gray's Anatomy icons (2026-05-04)
   Bump to ~160-170px for clear visibility, also re-cropped
   foot and shoulder for better square-ish proportions
   ============================================ */
.rjv-cond-card__icon--grays {
  width: auto !important;
  height: 170px !important;
  min-width: 130px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 22px !important;
  background: transparent !important;
  padding: 0 !important;
}

.rjv-cond-card__grays-img {
  width: auto !important;
  height: 170px !important;
  max-height: 170px;
  max-width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 3px 6px rgba(31, 16, 21, 0.20));
}

/* Override any prior aspect-specific rules from V8 base */
.rjv-cond-card__icon--foot .rjv-cond-card__grays-img,
.rjv-cond-card__icon--shoulder .rjv-cond-card__grays-img,
.rjv-cond-card__icon--hand .rjv-cond-card__grays-img,
.rjv-cond-card__icon--knee .rjv-cond-card__grays-img,
.rjv-cond-card__icon--pelvis .rjv-cond-card__grays-img,
.rjv-cond-card__icon--nerve .rjv-cond-card__grays-img {
  height: 170px !important;
  width: auto !important;
  max-height: 170px;
}

/* Card top padding bump so icon has breathing room */
.rjv-cond-card { padding-top: 36px !important; }

/* Move page number further from the icon */
.rjv-cond-card__num {
  top: 22px !important;
  right: 28px !important;
  z-index: 1;
}

@media (max-width: 980px) {
  .rjv-cond-card__icon--grays { height: 130px !important; }
  .rjv-cond-card__grays-img,
  .rjv-cond-card__icon--foot .rjv-cond-card__grays-img,
  .rjv-cond-card__icon--shoulder .rjv-cond-card__grays-img,
  .rjv-cond-card__icon--hand .rjv-cond-card__grays-img,
  .rjv-cond-card__icon--knee .rjv-cond-card__grays-img,
  .rjv-cond-card__icon--pelvis .rjv-cond-card__grays-img,
  .rjv-cond-card__icon--nerve .rjv-cond-card__grays-img {
    height: 130px !important;
  }
}
@media (max-width: 600px) {
  .rjv-cond-card__icon--grays { height: 110px !important; }
}


/* ============================================
   SECTION 74.2 — Hide condition card numbers per Dean (2026-05-04)
   ============================================ */
.rjv-cond-card__num { display: none !important; }
.rjv-cond-card { padding-top: 32px !important; }

/* ============================================
   SECTION 80.0 — V1 SECTION 6 "THE PROOF" (2026-05-04)
   - Kill two-paths comparison (redundant w/ Section 3)
   - Animated metric counters
   - Featured hero testimonial as magazine pull-quote
   - Asymmetric editorial grid for supporting testimonials
   - Provider block with treatment photo + Dr. Chad + Dean
   - Wine CTA
   ============================================ */

/* === HIDE V0 ELEMENTS === */
[data-id="s05eybr0"] { display: none !important; }
[data-id="s05trst0"] { display: none !important; }
[data-id="rjvTest1"] { display: none !important; }
[data-id="rjvTest2"] { display: none !important; }
[data-id="rjvTest3"] { display: none !important; }

/* === HEADLINES === */
[data-id="s05h2000"] {
  text-align: center !important;
  margin: 24px auto 14px !important;
  max-width: 920px;
}
[data-id="s05h2000"] .elementor-heading-title,
[data-id="s05h2000"] h1, [data-id="s05h2000"] h2, [data-id="s05h2000"] h3 {
  text-align: center !important;
  color: #1F1015 !important;
  font-size: 50px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.08 !important;
  margin: 0 !important;
  text-transform: none !important;
}
[data-id="s05h2000"] em {
  color: #8B2929 !important;
  font-style: italic;
  font-weight: 800;
}

[data-id="s05sub00"] {
  text-align: center !important;
  font-size: 19px !important;
  line-height: 1.5 !important;
  color: rgba(31, 16, 21, 0.78) !important;
  font-style: italic !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  max-width: 720px !important;
  margin: 0 auto 44px !important;
}
[data-id="s05sub00"] em { font-style: normal; }

/* === V1 CONTAINER === */
.rjv-proof--v1 {
  max-width: 1200px;
  margin: 0 auto;
}

/* === ANIMATED METRICS ROW === */
.rjv-proof__metrics {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0 auto 64px;
  padding: 28px 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.25));
  border: 1px solid rgba(31, 16, 21, 0.08);
  border-radius: 16px;
  max-width: 1080px;
}
.rjv-proof__metric {
  flex: 1;
  text-align: center;
  padding: 0 18px;
}
.rjv-proof__metric-value {
  display: block;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 52px;
  font-weight: 800;
  color: #8B2929;
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-feature-settings: "tnum";
}
.rjv-proof__metric-label {
  display: block;
  margin-top: 6px;
  font-size: 13.5px;
  color: rgba(31, 16, 21, 0.7);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
}
.rjv-proof__metric-divider {
  width: 1px;
  height: 56px;
  background: rgba(31, 16, 21, 0.15);
}

/* === FEATURED HERO TESTIMONIAL === */
.rjv-proof__featured {
  position: relative;
  max-width: 1000px;
  margin: 0 auto 72px;
  padding: 56px 80px 48px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(130, 198, 232, 0.15), transparent 50%),
    linear-gradient(180deg, #FFFFFF 0%, #FBF1E8 100%);
  border-radius: 8px;
  border: 1px solid rgba(31, 16, 21, 0.10);
  box-shadow:
    0 30px 80px -30px rgba(31, 16, 21, 0.30),
    0 6px 16px -6px rgba(31, 16, 21, 0.10);
  overflow: hidden;
}
.rjv-proof__featured::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #82C6E8 0%, #8B2929 100%);
  opacity: 0.65;
}
.rjv-proof__featured-mark {
  position: absolute;
  top: 16px;
  left: 32px;
  font-family: Georgia, serif;
  font-size: 180px;
  line-height: 0.8;
  color: rgba(130, 198, 232, 0.3);
  font-weight: 700;
  user-select: none;
  pointer-events: none;
}
.rjv-proof__featured-body {
  position: relative;
  z-index: 1;
}
.rjv-proof__featured-quote {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 28px !important;
  line-height: 1.45 !important;
  color: #1F1015 !important;
  font-style: italic;
  font-weight: 500 !important;
  margin: 0 0 28px !important;
  letter-spacing: -0.005em;
}
.rjv-proof__featured-quote strong {
  color: #8B2929;
  font-weight: 700;
}
.rjv-proof__featured-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  margin-bottom: 14px;
}
.rjv-proof__featured-name {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 17px;
  font-weight: 800;
  color: #1F1015;
  letter-spacing: -0.005em;
}
.rjv-proof__featured-city {
  font-size: 14.5px;
  color: rgba(31, 16, 21, 0.6);
  font-style: italic;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
}
.rjv-proof__featured-condition {
  display: inline-block;
  padding: 6px 14px;
  background: rgba(139, 41, 41, 0.10);
  color: #8B2929;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.rjv-proof__featured-context {
  margin: 14px 0 0 !important;
  font-size: 13px !important;
  color: rgba(31, 16, 21, 0.55) !important;
  font-style: italic;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  letter-spacing: 0.04em;
}

/* === WALL HEADING === */
.rjv-proof__wall-heading {
  text-align: center;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #1F1015 !important;
  margin: 0 0 28px !important;
  letter-spacing: -0.01em;
}

/* === EDITORIAL GRID — asymmetric === */
.rjv-proof__wall {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 2fr;
  gap: 18px;
  margin: 0 auto 72px;
  max-width: 1180px;
}
.rjv-proof__card {
  position: relative;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.4));
  border: 1px solid rgba(31, 16, 21, 0.10);
  border-radius: 12px;
  padding: 26px 26px 22px;
  transition: all 0.32s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
}
.rjv-proof__card::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 4px; height: 100%;
  background: linear-gradient(180deg, #82C6E8 0%, transparent 70%);
  border-radius: 12px 0 0 12px;
  opacity: 0.7;
}
.rjv-proof__card:hover {
  transform: translateY(-4px);
  border-color: rgba(139, 41, 41, 0.4);
  box-shadow: 0 22px 44px -22px rgba(31, 16, 21, 0.30);
}
.rjv-proof__card:hover::before {
  background: linear-gradient(180deg, #8B2929 0%, transparent 70%);
}
.rjv-proof__card-badge {
  display: inline-block;
  margin-bottom: 12px;
  padding: 4px 12px;
  background: rgba(130, 198, 232, 0.18);
  color: #1F1015;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border: 1px solid rgba(130, 198, 232, 0.3);
}
.rjv-proof__card-quote {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: #1F1015 !important;
  font-style: italic;
  font-weight: 500 !important;
  margin: 0 0 18px !important;
  flex: 1;
}
.rjv-proof__card-attrib {
  margin: 0 !important;
  font-size: 13px !important;
  color: rgba(31, 16, 21, 0.65) !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  border-top: 1px dashed rgba(31, 16, 21, 0.18);
  padding-top: 12px;
}
.rjv-proof__card-attrib strong {
  color: #1F1015;
  font-weight: 700;
}

/* === PROVIDER BLOCK === */
.rjv-proof__providers {
  display: grid;
  grid-template-columns: 5fr 6fr;
  gap: 0;
  margin: 0 auto 64px;
  max-width: 1180px;
  background: linear-gradient(180deg, #FFFFFF, #FBF1E8);
  border: 1px solid rgba(31, 16, 21, 0.10);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 18px 44px -22px rgba(31, 16, 21, 0.22);
}
.rjv-proof__providers-photo {
  position: relative;
  min-height: 320px;
  background: #1F1015;
  overflow: hidden;
}
.rjv-proof__providers-photo img {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  inset: 0;
  object-fit: cover;
  object-position: center;
  display: block;
}
.rjv-proof__providers-photo-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(31, 16, 21, 0.25) 0%, transparent 60%);
  pointer-events: none;
}
.rjv-proof__providers-text {
  padding: 44px 48px 44px 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.rjv-proof__providers-eyebrow {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #8B2929 !important;
  margin: 0 0 10px !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
}
.rjv-proof__providers-headline {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #1F1015 !important;
  margin: 0 0 24px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.015em;
}
.rjv-proof__providers-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 22px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(31, 16, 21, 0.12);
}
.rjv-proof__provider {
  display: flex;
  flex-direction: column;
}
.rjv-proof__provider-name {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 19px;
  font-weight: 800;
  color: #1F1015;
  letter-spacing: -0.005em;
}
.rjv-proof__provider-role {
  font-size: 13.5px;
  color: rgba(31, 16, 21, 0.7);
  font-style: italic;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  margin-top: 2px;
}
.rjv-proof__providers-bio {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 15.5px !important;
  line-height: 1.55 !important;
  color: rgba(31, 16, 21, 0.78) !important;
  margin: 0 !important;
  font-style: italic;
}

/* === CTA === */
.rjv-proof__cta {
  text-align: center;
  margin: 0 auto;
  padding: 16px 0 24px;
}
.rjv-proof__cta-btn {
  display: inline-block;
  background: linear-gradient(180deg, #8B2929, #5A1818) !important;
  color: #FDF7F2 !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  padding: 18px 44px !important;
  border-radius: 12px !important;
  letter-spacing: -0.01em !important;
  box-shadow: 0 14px 32px -10px rgba(139, 41, 41, 0.55), 0 4px 8px -2px rgba(31, 16, 21, 0.25) !important;
  transition: all 0.25s ease !important;
  border: 1px solid rgba(0, 0, 0, 0.15);
}
.rjv-proof__cta-btn:hover {
  background: linear-gradient(180deg, #A03434, #6B1A24) !important;
  transform: translateY(-2px);
  box-shadow: 0 20px 42px -12px rgba(139, 41, 41, 0.7), 0 6px 12px -3px rgba(31, 16, 21, 0.30) !important;
  color: #FFFFFF !important;
}
.rjv-proof__cta-note {
  margin: 14px auto 0 !important;
  font-size: 14px !important;
  color: rgba(31, 16, 21, 0.62) !important;
  font-style: italic;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
}

/* === RESPONSIVE === */
@media (max-width: 980px) {
  [data-id="s05h2000"] .elementor-heading-title,
  [data-id="s05h2000"] h1, [data-id="s05h2000"] h2 {
    font-size: 36px !important;
  }
  .rjv-proof__metrics { flex-wrap: wrap; gap: 16px 0; padding: 22px 12px; }
  .rjv-proof__metric { flex: 1 1 50%; }
  .rjv-proof__metric-divider { display: none; }
  .rjv-proof__metric-value { font-size: 40px; }
  .rjv-proof__featured { padding: 44px 32px 36px; }
  .rjv-proof__featured-mark { font-size: 120px; left: 16px; top: 8px; }
  .rjv-proof__featured-quote { font-size: 22px !important; }
  .rjv-proof__wall { grid-template-columns: 1fr 1fr; }
  .rjv-proof__providers { grid-template-columns: 1fr; }
  .rjv-proof__providers-photo { min-height: 240px; }
  .rjv-proof__providers-text { padding: 32px 28px; }
  .rjv-proof__providers-headline { font-size: 24px !important; }
}
@media (max-width: 600px) {
  .rjv-proof__metric { flex: 1 1 100%; }
  .rjv-proof__featured-quote { font-size: 19px !important; }
  .rjv-proof__wall { grid-template-columns: 1fr; }
  .rjv-proof__cta-btn { font-size: 18px !important; padding: 14px 28px !important; }
}

/* ============================================
   SECTION 90.0 — V1 SECTION 7 "YOUR FIRST VISIT" (2026-05-04)
   - Hero $47 ticket/voucher visual
   - 3-step "what's in your visit" flow
   - Side-by-side comparison panel (what you get / don't get)
   - Premium CTA + world-class scarcity framing
   ============================================ */

/* === HIDE V0 ELEMENTS === */
[data-id="s06eybr0"] { display: none !important; }
[data-id="s06hnst0"] { display: none !important; }
[data-id="s06trns0"] { display: none !important; }
[data-id="s06scrc0"] { display: none !important; }
[data-id="s06btn00"] { display: none !important; }
[data-id="rjvHonst"] { display: none !important; }

/* === HEADLINES === */
[data-id="s06h2000"] {
  text-align: center !important;
  margin: 24px auto 14px !important;
  max-width: 920px;
}
[data-id="s06h2000"] .elementor-heading-title,
[data-id="s06h2000"] h1, [data-id="s06h2000"] h2, [data-id="s06h2000"] h3 {
  text-align: center !important;
  color: #1F1015 !important;
  font-size: 50px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.08 !important;
  margin: 0 !important;
  text-transform: none !important;
}
[data-id="s06h2000"] em {
  color: #8B2929 !important;
  font-style: italic;
  font-weight: 800;
}

[data-id="s06sub00"] {
  text-align: center !important;
  font-size: 19px !important;
  line-height: 1.5 !important;
  color: rgba(31, 16, 21, 0.78) !important;
  font-style: italic !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  max-width: 720px !important;
  margin: 0 auto 36px !important;
}

/* === V1 CONTAINER === */
.rjv-offer--v1 {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 0 24px;
}

/* === HERO TICKET === */
.rjv-offer__ticket {
  position: relative;
  max-width: 520px;
  margin: 0 auto 64px;
  background: linear-gradient(180deg, #FFFFFF 0%, #FBF1E8 100%);
  border: 1px solid rgba(139, 41, 41, 0.18);
  border-radius: 18px;
  box-shadow: 0 30px 60px -25px rgba(31, 16, 21, 0.30), 0 6px 14px -4px rgba(31, 16, 21, 0.10);
  overflow: hidden;
}
.rjv-offer__ticket::before {
  content: "";
  position: absolute;
  left: 24px; right: 24px;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, #82C6E8, #8B2929);
  opacity: 0.7;
}
/* Perforated edges */
.rjv-offer__ticket-rip {
  position: absolute;
  left: 0; right: 0;
  height: 14px;
  background-image: radial-gradient(circle at 7px 7px, transparent 4px, #FBF1E8 4.5px);
  background-size: 14px 14px;
  background-position: 0 0;
  pointer-events: none;
}
.rjv-offer__ticket-rip--top { top: 4px; }
.rjv-offer__ticket-rip--bottom { bottom: 0; }
/* Inner container */
.rjv-offer__ticket-inner {
  padding: 38px 40px 44px;
  text-align: center;
}
.rjv-offer__ticket-eyebrow {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #8B2929;
  margin-bottom: 10px;
}
.rjv-offer__ticket-price-row {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  line-height: 0.95;
}
.rjv-offer__ticket-currency {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 50px;
  font-weight: 700;
  color: #1F1015;
  margin-top: 14px;
  margin-right: 4px;
  letter-spacing: -0.02em;
}
.rjv-offer__ticket-price {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 140px;
  font-weight: 800;
  color: #1F1015;
  line-height: 1;
  letter-spacing: -0.06em;
  font-feature-settings: "tnum";
}
.rjv-offer__ticket-cross {
  margin-top: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.rjv-offer__ticket-strike {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif;
  font-size: 19px;
  color: rgba(31, 16, 21, 0.55);
  text-decoration: line-through;
  text-decoration-color: rgba(139, 41, 41, 0.6);
  text-decoration-thickness: 2px;
}
.rjv-offer__ticket-meta {
  font-size: 14px;
  color: rgba(31, 16, 21, 0.62);
  font-style: italic;
  letter-spacing: 0.02em;
}
.rjv-offer__ticket-divider {
  height: 1px;
  margin: 22px auto 16px;
  width: 60%;
  background: linear-gradient(90deg, transparent, rgba(139, 41, 41, 0.3), transparent);
}
.rjv-offer__ticket-sub {
  margin: 0 !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 16.5px !important;
  line-height: 1.5 !important;
  color: rgba(31, 16, 21, 0.78) !important;
  font-style: italic;
}

/* === STEPS === */
.rjv-offer__steps-headline {
  text-align: center;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #1F1015 !important;
  margin: 0 0 28px !important;
  letter-spacing: -0.01em;
}
.rjv-offer__steps {
  display: grid;
  grid-template-columns: 1fr 28px 1fr 28px 1fr;
  gap: 0 8px;
  align-items: stretch;
  margin: 0 auto 64px;
}
.rjv-offer__step {
  position: relative;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.4));
  border: 1px solid rgba(31, 16, 21, 0.10);
  border-radius: 14px;
  padding: 28px 26px 26px;
  display: flex;
  flex-direction: column;
  text-align: center;
  transition: all 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}
.rjv-offer__step--featured {
  background: linear-gradient(180deg, rgba(130, 198, 232, 0.10), rgba(130, 198, 232, 0.04));
  border-color: rgba(130, 198, 232, 0.35);
  box-shadow: 0 12px 32px -16px rgba(130, 198, 232, 0.45);
}
.rjv-offer__step:hover {
  transform: translateY(-3px);
  border-color: rgba(139, 41, 41, 0.35);
  box-shadow: 0 18px 36px -18px rgba(31, 16, 21, 0.25);
}
.rjv-offer__step-time {
  display: inline-block;
  align-self: center;
  padding: 5px 14px;
  background: rgba(139, 41, 41, 0.10);
  color: #8B2929;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.rjv-offer__step--featured .rjv-offer__step-time {
  background: rgba(130, 198, 232, 0.22);
  color: #1F1015;
}
.rjv-offer__step-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 14px;
  color: #82C6E8;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rjv-offer__step-icon svg { width: 100%; height: 100%; }
.rjv-offer__step-title {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 21px !important;
  font-weight: 800 !important;
  color: #1F1015 !important;
  margin: 0 0 10px !important;
  line-height: 1.2 !important;
}
.rjv-offer__step-desc {
  font-size: 15.5px !important;
  line-height: 1.55 !important;
  color: rgba(31, 16, 21, 0.78) !important;
  margin: 0 !important;
}
.rjv-offer__step-arrow {
  align-self: center;
  font-family: Georgia, serif;
  font-size: 28px;
  color: rgba(139, 41, 41, 0.4);
  font-weight: 700;
  line-height: 1;
}

/* === COMPARISON PANEL === */
.rjv-offer__compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  max-width: 1080px;
  margin: 0 auto 48px;
}
.rjv-offer__compare-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.4));
  border: 1px solid rgba(31, 16, 21, 0.10);
  border-radius: 14px;
  padding: 28px 32px;
  position: relative;
  overflow: hidden;
}
.rjv-offer__compare-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
}
.rjv-offer__compare-card--get::before {
  background: linear-gradient(90deg, #82C6E8, rgba(130, 198, 232, 0.4));
}
.rjv-offer__compare-card--dont::before {
  background: linear-gradient(90deg, #8B2929, rgba(139, 41, 41, 0.4));
}
.rjv-offer__compare-title {
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #1F1015 !important;
  margin: 0 0 18px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(31, 16, 21, 0.12);
  letter-spacing: -0.01em;
}
.rjv-offer__compare-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.rjv-offer__compare-list li {
  font-size: 16px;
  line-height: 1.5;
  color: rgba(31, 16, 21, 0.85);
  padding: 8px 0 8px 28px;
  position: relative;
}
.rjv-offer__compare-card--get .rjv-offer__compare-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 8px;
  color: #82C6E8;
  font-weight: 800;
  font-size: 18px;
  line-height: 1;
}
.rjv-offer__compare-card--dont .rjv-offer__compare-list li {
  text-decoration: line-through;
  text-decoration-color: rgba(139, 41, 41, 0.45);
  text-decoration-thickness: 1.5px;
  color: rgba(31, 16, 21, 0.55);
}
.rjv-offer__compare-card--dont .rjv-offer__compare-list li::before {
  content: "✕";
  position: absolute;
  left: 0;
  top: 8px;
  color: #8B2929;
  font-weight: 800;
  font-size: 17px;
  line-height: 1;
  text-decoration: none;
  display: inline-block;
}

/* === SCARCITY === */
.rjv-offer__scarcity {
  text-align: center;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 15px !important;
  font-style: italic !important;
  color: rgba(31, 16, 21, 0.7) !important;
  margin: 0 auto 24px !important;
  max-width: 760px;
  padding: 14px 24px;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 999px;
  border: 1px solid rgba(31, 16, 21, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.rjv-offer__scarcity-icon {
  font-size: 22px;
  color: #8B2929;
  font-style: normal;
}

/* === CTA === */
.rjv-offer__cta {
  text-align: center;
  margin: 0 auto 28px;
}
.rjv-offer__cta-btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  background: linear-gradient(180deg, #8B2929, #5A1818) !important;
  color: #FDF7F2 !important;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  text-decoration: none !important;
  padding: 22px 56px !important;
  border-radius: 14px !important;
  letter-spacing: -0.01em !important;
  box-shadow: 0 20px 44px -14px rgba(139, 41, 41, 0.6), 0 6px 12px -3px rgba(31, 16, 21, 0.28) !important;
  transition: all 0.25s ease !important;
  border: 1px solid rgba(0, 0, 0, 0.18);
  min-width: 380px;
}
.rjv-offer__cta-btn-main {
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.15;
}
.rjv-offer__cta-btn-sub {
  font-size: 13.5px !important;
  font-weight: 500 !important;
  font-style: italic;
  margin-top: 8px;
  color: rgba(253, 247, 242, 0.85) !important;
  letter-spacing: 0.04em;
}
.rjv-offer__cta-btn:hover {
  background: linear-gradient(180deg, #A03434, #6B1A24) !important;
  transform: translateY(-2px);
  box-shadow: 0 26px 52px -14px rgba(139, 41, 41, 0.75), 0 8px 14px -3px rgba(31, 16, 21, 0.32) !important;
  color: #FFFFFF !important;
}

/* === CLOSING LINE === */
.rjv-offer__close {
  text-align: center;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 16px !important;
  color: rgba(31, 16, 21, 0.7) !important;
  margin: 18px auto 0 !important;
  max-width: 620px;
}
.rjv-offer__close em {
  color: #8B2929;
  font-style: italic;
  font-weight: 700;
}

/* === RESPONSIVE === */
@media (max-width: 980px) {
  [data-id="s06h2000"] .elementor-heading-title,
  [data-id="s06h2000"] h1, [data-id="s06h2000"] h2 {
    font-size: 36px !important;
  }
  .rjv-offer__ticket-price { font-size: 110px; }
  .rjv-offer__ticket-currency { font-size: 40px; margin-top: 10px; }
  .rjv-offer__steps {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .rjv-offer__step-arrow {
    transform: rotate(90deg);
    margin: 4px auto;
  }
  .rjv-offer__compare {
    grid-template-columns: 1fr;
  }
  .rjv-offer__cta-btn {
    min-width: 0;
    width: 100%;
    padding: 18px 28px !important;
  }
  .rjv-offer__cta-btn-main { font-size: 19px !important; }
  .rjv-offer__cta-btn-sub { font-size: 12.5px !important; }
}
@media (max-width: 600px) {
  .rjv-offer__ticket-inner { padding: 28px 24px 32px; }
  .rjv-offer__ticket-price { font-size: 90px; }
  .rjv-offer__ticket-currency { font-size: 32px; margin-top: 8px; }
  .rjv-offer__compare-list li { font-size: 15px; }
}


/* ============================================
   SECTION 90.1 — Time clarity fix per Dean (2026-05-04)
   Steps now use Step 1/2/3 numbering instead of misleading minute counts
   Add styling for new "all-in-one-visit" subhead under steps headline
   ============================================ */
.rjv-offer__steps-sub {
  text-align: center;
  font-family: var(--rjv-font-display, Georgia), Georgia, serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: rgba(31, 16, 21, 0.72) !important;
  max-width: 720px;
  margin: -16px auto 32px !important;
  padding: 0 16px;
}
.rjv-offer__steps-sub em {
  font-style: italic;
}

/* Step pill styling — slightly different now that it's "Step 1" instead of "15 MIN" */
.rjv-offer__step-time {
  font-size: 12px !important;
  letter-spacing: 0.20em !important;
}


/* ============================================
   SECTION 90.2 — Step icon polish (2026-05-04)
   - Heroicons for steps 1+3 (clean, modern, professional)
   - Real SoftWave wand image for step 2 (brand consistency w/ Section 4)
   ============================================ */
.rjv-offer__step-icon {
  width: 80px !important;
  height: 80px !important;
  margin: 0 auto 18px !important;
}
.rjv-offer__step-icon svg {
  width: 70px;
  height: 70px;
}
.rjv-offer__step-img {
  width: auto !important;
  height: 80px !important;
  max-height: 80px;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0 4px 8px rgba(31, 16, 21, 0.20));
}


/* ============================================
   SECTION 80.1 — Provider photo is now portrait orientation (2026-05-04)
   Original was landscape knee treatment shot; now co-founders portrait
   ============================================ */
.rjv-proof__providers-photo {
  min-height: 460px !important;
}
.rjv-proof__providers-photo img {
  object-position: center top !important;
}
@media (max-width: 980px) {
  .rjv-proof__providers-photo { min-height: 380px !important; }
}


/* ============================================
   SECTION 90.3 — Step text size bump (2026-05-04)
   - Title 21 → 23
   - Description 15.5 → 16.5
   - Time pill 12 → 13
   - More breathing room
   ============================================ */
.rjv-offer__step-title {
  font-size: 23px !important;
  margin: 0 0 12px !important;
}
.rjv-offer__step-desc {
  font-size: 16.5px !important;
  line-height: 1.6 !important;
}
.rjv-offer__step-time {
  font-size: 13px !important;
  letter-spacing: 0.20em !important;
  padding: 6px 16px !important;
  margin-bottom: 18px !important;
}
.rjv-offer__step {
  padding: 30px 28px 28px !important;
}
.rjv-offer__steps-headline {
  font-size: 26px !important;
  margin: 0 0 12px !important;
}
.rjv-offer__steps-sub {
  font-size: 17px !important;
  margin: 0 auto 36px !important;
}




/* ============================================
   SECTION 90.4 — All-photo step icons (2026-05-04)
   Replace SVG icons with consistent square photos for visual continuity
   ============================================ */
.rjv-offer__step-icon--photo {
  width: 140px !important;
  height: 140px !important;
  margin: 0 auto 22px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 28px -12px rgba(31, 16, 21, 0.30), 0 4px 8px -2px rgba(31, 16, 21, 0.15) !important;
  border: 1px solid rgba(31, 16, 21, 0.10) !important;
  position: relative;
  background: #FBF1E8;
}
.rjv-offer__step-icon--photo::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 14px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
  pointer-events: none;
}
.rjv-offer__step-icon--photo .rjv-offer__step-img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  filter: none !important;
  display: block;
  transition: transform 0.5s ease;
}
.rjv-offer__step:hover .rjv-offer__step-icon--photo .rjv-offer__step-img {
  transform: scale(1.05);
}
@media (max-width: 980px) {
  .rjv-offer__step-icon--photo {
    width: 120px !important;
    height: 120px !important;
  }
}




/* ============================================
   SECTION 95.0 — Kill redundant logo trust bar (2026-05-04)
   "The same SoftWave technology trusted by NFL/Cleveland/Stanford..."
   was a duplicate of Section 2's marquee. Removed entirely.
   ============================================ */
[data-id="s07lead0"], #contact { display: none !important; }

/* CACHE_BUST_1778019514900 *//* End custom CSS */