/* ==========================================================================
   RX CHEAT-SHEET  (theme-replica.css) -- everything is scoped to body.rx
   Opt in per page: <body class="rx editorial-theme ...">, load AFTER styles.css, Inter from Google Fonts.

   HERO  (replace legacy .hero-editorial / .enterprise-hero wrappers; do not combine)
     <header class="rx-hero rx-hero--dark" id="main-content" tabindex="-1">      (--dark | --purple | --light)
       <div class="rx-neural" aria-hidden="true"></div>                            (optional dots+glow layer, dark/purple only)
       <div class="rx-container rx-hero-grid">
         <div class="rx-hero-copy">
           <p class="rx-eyebrow">Eyebrow</p>
           <h1>What if the most important part of your story <span class="rx-accent-lav">never appears</span>?</h1>
           <p class="rx-hero-lede">Lede (white .78 on dark)</p>
           <p class="rx-tagline"><span>Calm.</span> <span class="rx-accent-lav">Clarity.</span> <span class="rx-accent-teal">Control.</span></p>
           <div class="rx-actions"> buttons </div>
         </div>
         <div class="rx-hero-media"><img src="assets/images/rx-neural-brain.svg" alt="" width="480" height="420"></div>
       </div>
     </header>
     Accent words: .rx-accent-lav (#b9a5ff) | .rx-accent-teal (#5fe0d6) | .rx-accent (purple, for light bg).
     Media modifiers: .rx-hero-media--fade (soft mask into gradient; photos) | .rx-hero-media--card (radius+shadow).
     Mobile (<=900px): media drops below the copy. Stats/badges/journey inside a hero are left-aligned automatically.

   BUTTONS (pill; trailing arrow optional)
     <a class="rx-btn rx-btn--primary" href="#">Take the Test <span class="rx-arrow" aria-hidden="true">&rarr;</span></a>
     --primary (lavender grad, dark text, for dark bg) | --purple (white text) | --navy (light bg) | --teal (navy text)
     --ghost-light (white outline, dark bg) | --ghost (lilac outline, light bg) | --sm (smaller)
     Legacy .btn-editorial-solid == navy, .btn-editorial == ghost (auto-inverted inside dark areas). Nav CTA: .nav-cta.

   SECTIONS
     <section class="rx-section [rx-section--lilac | rx-section--dark | rx-section--tight]"><div class="rx-container"> ...
     <p class="rx-eyebrow">Eyebrow</p><h2 class="rx-h2">Title</h2><p class="rx-lede">Lede</p>   (.rx-center centers a wrapper)
     Layout helpers: .rx-grid .rx-grid--2|--3|--4 (collapse on mobile), .rx-split (2-col, 1 col on mobile), .rx-stack (vertical gap)

   CARDS / ICONS / NUMBERS / CHIPS
     <article class="rx-card [rx-card--white]"><span class="rx-icon"><svg .../></span><h3 class="rx-card-title">T</h3><p>Text</p></article>
     <span class="rx-icon [rx-icon--lg]">svg</span>   44px lilac circle, purple stroke icon
     <span class="rx-num">1</span>                    32px purple circle, white digit, 4px #e9e2ff ring
     <figure class="rx-quote"><blockquote>Text with <em>purple accent</em>.</blockquote><figcaption>Source</figcaption></figure>
     <div class="rx-stats [rx-stats--3]"><div class="rx-stat"><span class="rx-stat-num">250+</span><span class="rx-stat-label">tracked cases</span></div></div>
     <span class="rx-chip [is-active]">Label</span> / <button class="rx-chip is-active">  (navy active, lilac inactive)
     <ul class="rx-checklist"> <li>..</li> </ul>        purple-dot list      (.rx-checklist--teal for teal dots)

   DECOR
     .rx-neural                      absolutely positioned dots + glow blobs (parent must be .rx-hero/.rx-section--dark or position:relative; overflow:hidden)
     assets/images/rx-neural-brain.svg   glowing neural brain (Home + Healology hero media), use via <img>
     assets/images/rx-brain-{purple,blue,teal,gold,pink}.svg   96px brain icons:
       <ul class="mk-brain-swatches"><li class="mk-swatch"><img src="assets/images/rx-brain-purple.svg" alt="" width="80" height="80"><span class="mk-swatch-label">Purple</span></li>...</ul>

   LEGACY mk-* components (stats, badges, journey, framework, quote band, cta band, cards, split list, tabs, articles,
   swatches, phone, icon) are restyled automatically -- see the markup sheet at the end of styles.css.
   Inside .rx-hero--dark / --purple / .rx-section--dark / .enterprise-dark they switch to light-on-dark.
   ========================================================================== */

/* ---------- Tokens ---------- */
:root {
    --rx-navy: #12163f;
    --rx-ink: #1d2152;
    --rx-text: #4b5070;
    --rx-muted: #7a7f9a;
    --rx-purple: #6d4fe0;
    --rx-purple-2: #8b6cf6;
    --rx-lavender: #b9a5ff;
    --rx-lilac: #f4f1ff;
    --rx-lilac-2: #ebe5ff;
    --rx-teal: #3cc9c3;
    --rx-teal-soft: #5fe0d6;
    --rx-dark-1: #0a0e2e;
    --rx-dark-2: #171245;
    --rx-dark-3: #2d1b69;
    --rx-ring: #e9e2ff;
    --rx-shadow: 0 8px 24px rgba(45, 27, 105, 0.06);
    --rx-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --rx-grad-dark: linear-gradient(120deg, #0a0e2e 0%, #171245 52%, #2d1b69 100%);
}

/* ---------- Base: remap legacy tokens so old rules inherit the new palette ---------- */
body.rx {
    --font-display: var(--rx-font);
    --font-body: var(--rx-font);
    --c-base: #ffffff;
    --c-text: var(--rx-navy);
    --c-mint-primary: var(--rx-teal-soft);
    --c-mint-light: var(--rx-teal-soft);
    --c-lavender-primary: var(--rx-lavender);
    --c-lavender-light: var(--rx-lavender);
    --c-mint-text: var(--rx-purple);
    --c-lavender-text: var(--rx-purple);
    --enterprise-ink: var(--rx-navy);
    --enterprise-panel: #ffffff;
    --enterprise-line: var(--rx-lilac-2);
    --enterprise-muted: var(--rx-text);
    --mk-line: var(--rx-lilac-2);
    --mk-soft: var(--rx-text);
    --mk-card: #ffffff;
    --mk-tint: var(--rx-lilac);
    --mk-radius: 16px;

    font-family: var(--rx-font);
    background: #ffffff;
    background-color: #ffffff;
    color: var(--rx-text);
    line-height: 1.55;
}

body.rx .noise-overlay,
body.rx .gradient-mesh,
body.rx .global-abstract-background { display: none !important; }

body.rx h1, body.rx h2, body.rx h3, body.rx h4, body.rx h5, body.rx h6,
body.rx .hero-title, body.rx .enterprise-title, body.rx .section-title {
    font-family: var(--rx-font);
    font-weight: 600;
    letter-spacing: -0.02em;
    text-transform: none;
    color: var(--rx-navy);
}
body.rx h1 { line-height: 1.1; }
body.rx h2 { line-height: 1.15; }
body.rx h3 { line-height: 1.25; }
body.rx p, body.rx li { font-family: var(--rx-font); }
body.rx a { color: var(--rx-purple); }
body.rx .section-label, body.rx .hero-kicker, body.rx .hero-eyebrow {
    color: var(--rx-purple);
    font-family: var(--rx-font);
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0.01em;
}
body.rx .skip-link { background: var(--rx-navy); color: #fff; }

/* Legacy heroes become light heroes (page agents should migrate to .rx-hero) */
body.rx .hero-editorial,
body.rx .enterprise-hero {
    min-height: 0;
    padding: 56px 5vw 56px;
    background: radial-gradient(ellipse 60% 70% at 100% 0%, rgba(139, 108, 246, 0.14), transparent 70%), #ffffff;
}
body.rx .hero-title,
body.rx .enterprise-title { font-size: clamp(2rem, 4.4vw, 3.2rem); line-height: 1.1; letter-spacing: -0.02em; }
body.rx .hero-description, body.rx .enterprise-subtitle { color: var(--rx-text); }

/* Legacy dark bands */
body.rx .enterprise-dark {
    color: rgba(255, 255, 255, 0.82);
    background:
        radial-gradient(circle at 12% 20%, rgba(109, 79, 224, 0.35), transparent 40%),
        radial-gradient(circle at 88% 80%, rgba(58, 109, 240, 0.22), transparent 42%),
        var(--rx-grad-dark);
}
body.rx .enterprise-dark h1, body.rx .enterprise-dark h2, body.rx .enterprise-dark h3, body.rx .enterprise-dark h4 { color: #fff; }
body.rx .enterprise-dark .section-label { color: var(--rx-teal-soft); }
body.rx .enterprise-dark .enterprise-section-heading p,
body.rx .enterprise-dark .enterprise-impact-card p,
body.rx .enterprise-dark .enterprise-roi-list span { color: rgba(255, 255, 255, 0.78); }
body.rx .enterprise-dark .enterprise-muted { color: var(--rx-navy); background: var(--rx-lilac); }
body.rx .enterprise-dark .enterprise-muted h2, body.rx .enterprise-dark .enterprise-muted h3 { color: var(--rx-navy); }
body.rx .enterprise-dark .enterprise-muted p, body.rx .enterprise-dark .enterprise-muted li { color: var(--rx-text); }
body.rx .enterprise-primary p { color: rgba(255, 255, 255, 0.78); }

/* ---------- Layout primitives ---------- */
body.rx .rx-container { width: 100%; max-width: 1180px; margin-inline: auto; padding-inline: 24px; }
body.rx .rx-section { padding: 72px 0; position: relative; background: #fff; }
body.rx .rx-section--tight { padding: 48px 0; }
body.rx .rx-section--lilac { background: var(--rx-lilac); }
body.rx .rx-section--dark {
    color: rgba(255, 255, 255, 0.82);
    background:
        radial-gradient(circle at 12% 20%, rgba(109, 79, 224, 0.35), transparent 40%),
        radial-gradient(circle at 88% 80%, rgba(58, 109, 240, 0.22), transparent 42%),
        var(--rx-grad-dark);
    overflow: hidden;
}
body.rx .rx-section--dark > .rx-container { position: relative; z-index: 2; }
body.rx .rx-eyebrow {
    margin: 0 0 10px; color: var(--rx-purple); font-weight: 600; font-size: 0.9rem;
    letter-spacing: 0.01em; text-transform: none;
}
body.rx .rx-h2 { margin: 0 0 14px; color: var(--rx-navy); font-size: clamp(1.6rem, 3.2vw, 2.4rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.15; }
body.rx .rx-lede { margin: 0 0 24px; color: var(--rx-text); font-size: 1.05rem; line-height: 1.6; max-width: 720px; }
body.rx .rx-center { text-align: center; }
body.rx .rx-center .rx-lede { margin-inline: auto; }
body.rx .rx-section--dark .rx-h2, body.rx .rx-section--dark h2, body.rx .rx-section--dark h3 { color: #fff; }
body.rx .rx-section--dark .rx-lede, body.rx .rx-section--dark p { color: rgba(255, 255, 255, 0.78); }
body.rx .rx-section--dark .rx-eyebrow { color: var(--rx-teal-soft); }

body.rx .rx-grid { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); }
body.rx .rx-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.rx .rx-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.rx .rx-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.rx .rx-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; align-items: center; }
body.rx .rx-stack { display: flex; flex-direction: column; gap: 16px; }

/* ---------- Buttons ---------- */
body.rx .rx-btn,
body.rx .btn-editorial,
body.rx .btn-editorial-solid {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px 22px; min-height: 44px;
    border-radius: 999px; border: 1.5px solid transparent;
    font-family: var(--rx-font); font-weight: 600; font-size: 0.95rem; line-height: 1.2;
    letter-spacing: 0; text-transform: none; text-decoration: none; cursor: pointer; text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, filter 0.2s ease;
}
body.rx .rx-btn:focus-visible,
body.rx .btn-editorial:focus-visible,
body.rx .btn-editorial-solid:focus-visible {
    outline: 3px solid var(--rx-purple-2); outline-offset: 3px;
}
body.rx .rx-arrow { display: inline-block; transition: transform 0.2s ease; }
body.rx .rx-btn:hover .rx-arrow, body.rx .rx-btn:focus-visible .rx-arrow { transform: translateX(3px); }
body.rx .rx-btn--sm { padding: 9px 18px; min-height: 38px; font-size: 0.85rem; }

body.rx .rx-btn--primary {
    background: linear-gradient(135deg, #c7b5ff, #9b7bff); color: #1d1650; border-color: transparent;
    box-shadow: 0 6px 18px rgba(155, 123, 255, 0.35);
}
body.rx .rx-btn--primary:hover, body.rx .rx-btn--primary:focus-visible {
    color: #1d1650; filter: brightness(1.06); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(155, 123, 255, 0.45);
}
body.rx .rx-btn--purple {
    background: linear-gradient(135deg, #5a3dd6, #7757ee); color: #fff; box-shadow: 0 6px 18px rgba(109, 79, 224, 0.3);
}
body.rx .rx-btn--purple:hover, body.rx .rx-btn--purple:focus-visible { color: #fff; filter: brightness(1.08); transform: translateY(-1px); }
body.rx .rx-btn--navy,
body.rx .btn-editorial-solid {
    background: var(--rx-navy); color: #fff; border-color: var(--rx-navy);
}
body.rx .rx-btn--navy:hover, body.rx .rx-btn--navy:focus-visible,
body.rx .btn-editorial-solid:hover, body.rx .btn-editorial-solid:focus-visible {
    background: #2a2670; border-color: #2a2670; color: #fff; transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(18, 22, 63, 0.25);
}
body.rx .rx-btn--teal { background: var(--rx-teal-soft); color: var(--rx-navy); border-color: transparent; }
body.rx .rx-btn--teal:hover, body.rx .rx-btn--teal:focus-visible { background: #7cebe2; color: var(--rx-navy); transform: translateY(-1px); }
body.rx .rx-btn--ghost-light {
    background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.9);
}
body.rx .rx-btn--ghost-light:hover, body.rx .rx-btn--ghost-light:focus-visible {
    background: rgba(255, 255, 255, 0.14); color: #fff; transform: translateY(-1px);
}
body.rx .rx-btn--ghost,
body.rx .btn-editorial {
    background: transparent; color: var(--rx-navy); border-color: #cfc4f5;
}
body.rx .rx-btn--ghost:hover, body.rx .rx-btn--ghost:focus-visible,
body.rx .btn-editorial:hover, body.rx .btn-editorial:focus-visible {
    background: var(--rx-lilac); border-color: var(--rx-purple); color: var(--rx-navy); transform: translateY(-1px);
}
/* legacy buttons on dark areas */
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark, .enterprise-primary) .btn-editorial-solid {
    background: linear-gradient(135deg, #c7b5ff, #9b7bff); color: #1d1650; border-color: transparent;
}
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark, .enterprise-primary) .btn-editorial-solid:hover,
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark, .enterprise-primary) .btn-editorial-solid:focus-visible {
    color: #1d1650; filter: brightness(1.06); background: linear-gradient(135deg, #c7b5ff, #9b7bff);
}
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark, .enterprise-primary) .btn-editorial {
    background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.9);
}
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark, .enterprise-primary) .btn-editorial:hover,
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark, .enterprise-primary) .btn-editorial:focus-visible {
    background: rgba(255, 255, 255, 0.14); color: #fff; border-color: #fff;
}
body.rx .enterprise-dark .enterprise-muted .btn-editorial-solid { background: var(--rx-navy); color: #fff; }
body.rx .rx-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 8px; }

/* ---------- Heroes ---------- */
body.rx .rx-hero {
    position: relative; overflow: hidden; isolation: isolate;
    min-height: 0; display: block; padding: 64px 0 72px; width: 100%;
}
body.rx .rx-hero > .rx-container { position: relative; z-index: 2; }
body.rx .rx-hero--dark {
    color: rgba(255, 255, 255, 0.78);
    background:
        radial-gradient(ellipse 55% 70% at 78% 30%, rgba(109, 79, 224, 0.38), transparent 70%),
        radial-gradient(ellipse 40% 50% at 95% 85%, rgba(58, 109, 240, 0.26), transparent 70%),
        radial-gradient(ellipse 35% 45% at 60% 100%, rgba(60, 201, 195, 0.14), transparent 70%),
        var(--rx-grad-dark);
}
body.rx .rx-hero--purple {
    color: rgba(255, 255, 255, 0.9);
    background:
        radial-gradient(ellipse 60% 40% at 50% 0%, rgba(255, 255, 255, 0.18), transparent 70%),
        linear-gradient(180deg, #a891f5 0%, #6d4fe0 55%, #3b2a8a 100%);
}
body.rx .rx-hero--light {
    color: var(--rx-text);
    background:
        radial-gradient(ellipse 50% 70% at 100% 0%, rgba(139, 108, 246, 0.16), transparent 70%),
        radial-gradient(ellipse 35% 50% at 0% 100%, rgba(185, 165, 255, 0.12), transparent 70%),
        #ffffff;
}
body.rx .rx-hero h1 {
    margin: 0 0 18px; font-size: clamp(2rem, 4.6vw, 3.4rem); line-height: 1.08; letter-spacing: -0.02em; font-weight: 600;
}
body.rx .rx-hero--dark h1, body.rx .rx-hero--purple h1 { color: #fff; }
body.rx .rx-hero--light h1 { color: var(--rx-navy); }
body.rx .rx-hero-lede { margin: 0 0 22px; font-size: clamp(1rem, 1.5vw, 1.12rem); line-height: 1.6; max-width: 620px; }
body.rx .rx-hero--dark .rx-hero-lede, body.rx .rx-hero--dark p { color: rgba(255, 255, 255, 0.78); }
body.rx .rx-hero--purple .rx-hero-lede, body.rx .rx-hero--purple p { color: rgba(255, 255, 255, 0.92); }
body.rx .rx-hero--light .rx-hero-lede { color: var(--rx-text); }
body.rx .rx-hero--dark .rx-eyebrow { color: var(--rx-teal-soft); }
body.rx .rx-hero--purple .rx-eyebrow { color: #fff; }
body.rx .rx-tagline { font-size: clamp(1.3rem, 2.4vw, 1.75rem); font-weight: 600; letter-spacing: -0.01em; color: #fff; margin: 0 0 24px; }
body.rx .rx-hero--dark .rx-tagline { color: #fff; }
body.rx .rx-accent-lav { color: var(--rx-lavender); }
body.rx .rx-accent-teal { color: var(--rx-teal-soft); }
body.rx .rx-accent { color: var(--rx-purple); }
body.rx .rx-hero--purple .rx-accent { color: #fff; }
body.rx .rx-hero-grid {
    display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr); gap: clamp(28px, 5vw, 64px); align-items: center;
}
body.rx .rx-hero-copy { min-width: 0; }
body.rx .rx-hero-media { min-width: 0; display: flex; align-items: center; justify-content: center; position: relative; }
body.rx .rx-hero-media img, body.rx .rx-hero-media svg { display: block; width: 100%; height: auto; max-width: 560px; }
body.rx .rx-hero--dark .rx-hero-media img.rx-fade,
body.rx .rx-hero-media--fade img {
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 55% 50%, #000 52%, transparent 100%);
    mask-image: radial-gradient(ellipse 70% 70% at 55% 50%, #000 52%, transparent 100%);
}
body.rx .rx-hero-media--card img { border-radius: 20px; box-shadow: 0 24px 60px rgba(45, 27, 105, 0.22); }
/* stats / badges / journey placed inside a hero hug the left like the mockup */
body.rx .rx-hero .mk-stats, body.rx .rx-hero .rx-stats { text-align: left; margin-top: 28px; }
body.rx .rx-hero .mk-badges { margin-top: 20px; }

/* ---------- Decorative neural layer ---------- */
body.rx .rx-neural {
    position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden;
}
body.rx .rx-neural::before {
    content: ""; position: absolute; inset: 0; opacity: 0.55;
    background-image:
        radial-gradient(circle, rgba(255, 255, 255, 0.9) 0 1px, transparent 1.6px),
        radial-gradient(circle, rgba(185, 165, 255, 0.85) 0 1.2px, transparent 2px),
        radial-gradient(circle, rgba(95, 224, 214, 0.8) 0 1px, transparent 1.8px);
    background-size: 120px 120px, 190px 190px, 260px 260px;
    background-position: 0 0, 47px 71px, 113px 29px;
    -webkit-mask-image: radial-gradient(ellipse 80% 90% at 70% 40%, #000 20%, transparent 85%);
    mask-image: radial-gradient(ellipse 80% 90% at 70% 40%, #000 20%, transparent 85%);
}
body.rx .rx-neural::after {
    content: ""; position: absolute; width: 46%; aspect-ratio: 1; right: -6%; top: -12%;
    background: radial-gradient(circle, rgba(109, 79, 224, 0.5), rgba(58, 109, 240, 0.18) 45%, transparent 70%);
    filter: blur(40px); border-radius: 50%;
}

/* ---------- Cards, icons, numbers, quote, stats, chips ---------- */
body.rx .rx-card {
    background: var(--rx-lilac); border: 1px solid var(--rx-lilac-2); border-radius: 16px;
    padding: 20px; box-shadow: var(--rx-shadow); display: flex; flex-direction: column; gap: 10px; min-width: 0;
}
body.rx .rx-card--white { background: #fff; }
body.rx .rx-card-title { margin: 0; font-size: 1.05rem; font-weight: 600; color: var(--rx-navy); letter-spacing: -0.01em; }
body.rx .rx-card p { margin: 0; color: var(--rx-text); font-size: 0.95rem; line-height: 1.5; }
body.rx .rx-icon,
body.rx .mk-icon {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    width: 44px; height: 44px; border-radius: 50%;
    background: var(--rx-lilac); color: var(--rx-purple); border: 1px solid var(--rx-lilac-2);
}
body.rx .rx-icon svg, body.rx .mk-icon svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
body.rx .rx-icon--lg { width: 56px; height: 56px; }
body.rx .rx-icon--lg svg { width: 28px; height: 28px; }
body.rx .rx-num,
body.rx .mk-node-num,
body.rx .mk-step-num {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    width: 32px; height: 32px; border-radius: 50%;
    background: var(--rx-purple); color: #fff; font-family: var(--rx-font); font-weight: 600; font-size: 0.95rem;
    box-shadow: 0 0 0 4px var(--rx-ring);
}
body.rx .rx-quote,
body.rx .mk-quote-band {
    margin: 0; padding: clamp(24px, 4vw, 40px) clamp(20px, 4vw, 44px); background: var(--rx-lilac);
    border: 1px solid var(--rx-lilac-2); border-radius: 20px; text-align: center; box-shadow: var(--rx-shadow);
}
body.rx .rx-quote blockquote,
body.rx .mk-quote-band blockquote {
    margin: 0 auto; max-width: 820px; font-family: var(--rx-font); font-weight: 600; color: var(--rx-navy);
    font-size: clamp(1.25rem, 2.8vw, 1.9rem); line-height: 1.3; letter-spacing: -0.015em; overflow-wrap: anywhere;
}
body.rx .rx-quote blockquote em, body.rx .mk-quote-band blockquote em,
body.rx .rx-quote blockquote .rx-accent, body.rx .mk-quote-band blockquote .rx-accent { color: var(--rx-purple); font-style: italic; }
body.rx .rx-quote figcaption, body.rx .mk-quote-band figcaption { margin-top: 14px; font-size: 0.92rem; font-weight: 600; color: var(--rx-text); }

body.rx .rx-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
body.rx .rx-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.rx .rx-stats--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.rx .rx-stat-num, body.rx .mk-stat-num {
    display: block; font-family: var(--rx-font); font-weight: 600; font-size: clamp(1.9rem, 3.6vw, 2.4rem);
    line-height: 1.05; letter-spacing: -0.02em; color: var(--rx-navy);
}
body.rx .rx-stat-label, body.rx .mk-stat-label { display: block; margin-top: 6px; font-size: 0.85rem; line-height: 1.35; color: var(--rx-text); }
body.rx .rx-chip,
body.rx .mk-chip {
    display: inline-flex; align-items: center; font-family: var(--rx-font); font-size: 0.82rem; font-weight: 600; min-height: 34px;
    padding: 0 14px; border-radius: 999px; border: 1px solid var(--rx-lilac-2); background: var(--rx-lilac); color: var(--rx-navy); cursor: pointer;
}
body.rx .rx-chip:hover, body.rx .mk-chip:hover { border-color: var(--rx-purple); }
body.rx .rx-chip.is-active, body.rx .mk-chip.is-active, body.rx .mk-chip[aria-pressed="true"] {
    background: var(--rx-navy); border-color: var(--rx-navy); color: #fff;
}
body.rx .rx-chip:focus-visible, body.rx .mk-chip:focus-visible { outline: 3px solid var(--rx-purple-2); outline-offset: 2px; }
body.rx .rx-checklist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
body.rx .rx-checklist li { position: relative; padding-left: 24px; color: var(--rx-text); line-height: 1.45; }
body.rx .rx-checklist li::before { content: ""; position: absolute; left: 4px; top: 0.5em; width: 9px; height: 9px; border-radius: 50%; background: var(--rx-purple); }
body.rx .rx-checklist--teal li::before { background: var(--rx-teal); }

/* ---------- Dark-context overrides for mk-* ---------- */
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .mk-stat-num,
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .rx-stat-num,
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .mk-badge-title,
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .mk-node-title { color: #fff; }
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .mk-stat-label,
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .rx-stat-label,
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .mk-badge-cap,
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .mk-node-cap { color: rgba(255, 255, 255, 0.78); }
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .mk-icon,
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .rx-icon {
    background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.28); color: #d6cbff;
}
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .mk-node .mk-icon { background: rgba(23, 18, 69, 0.9); }
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .mk-node + .mk-node::before { border-top-color: rgba(185, 165, 255, 0.7); }
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .mk-node + .mk-node::after { border-color: rgba(185, 165, 255, 0.9); }
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .mk-node--key .mk-icon { background: var(--rx-purple); color: #fff; }
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .mk-head h2 { color: #fff; }
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .mk-head p { color: rgba(255, 255, 255, 0.78); }
body.rx :is(.rx-hero--dark, .rx-section--dark, .enterprise-dark) .mk-eyebrow { color: var(--rx-teal-soft); }
body.rx :is(.rx-hero--dark, .rx-hero--purple, .rx-section--dark, .enterprise-dark) .mk-swatch-label { color: rgba(255, 255, 255, 0.85); }

/* ---------- mk-* restyle (light) ---------- */
body.rx .mk-head h2 { font-family: var(--rx-font); font-weight: 600; letter-spacing: -0.02em; color: var(--rx-navy); font-size: clamp(1.6rem, 3.2vw, 2.4rem); line-height: 1.15; }
body.rx .mk-head p { color: var(--rx-text); }
body.rx .mk-eyebrow, body.rx .mk-head .mk-eyebrow { color: var(--rx-purple); font-weight: 600; font-size: 0.9rem; letter-spacing: 0.01em; text-transform: none; }
body.rx .mk-icon--filled { background: var(--rx-purple); color: #fff; border-color: transparent; }
body.rx .mk-stat-num--word { font-size: clamp(1.1rem, 2.2vw, 1.6rem); line-height: 1.25; }

body.rx .mk-badge-title { font-family: var(--rx-font); font-weight: 600; font-size: 1.15rem; color: var(--rx-navy); }
body.rx .mk-badge-cap { color: var(--rx-text); }

body.rx .mk-journey { align-items: flex-start; }
body.rx .mk-node + .mk-node::before { border-top: 1.5px dashed var(--rx-purple-2); opacity: 0.7; }
body.rx .mk-node + .mk-node::after { border-color: var(--rx-purple-2); opacity: 0.9; }
body.rx .mk-node .mk-icon { background: #fff; }
body.rx .mk-node-title { font-family: var(--rx-font); font-weight: 600; font-size: 0.95rem; color: var(--rx-navy); }
body.rx .mk-node-cap { color: var(--rx-text); }
body.rx .mk-node--key .mk-icon { background: var(--rx-purple); color: #fff; border-color: transparent; }
body.rx .mk-node-num { width: 36px; height: 36px; margin-block: 4px; }
body.rx .mk-journey--numbered .mk-node + .mk-node::before,
body.rx .mk-journey--numbered .mk-node + .mk-node::after { top: 22px; border-color: var(--rx-purple-2); }
body.rx .mk-journey--numbered .mk-node + .mk-node::before { border-top-style: dashed; }

body.rx .mk-framework-list { gap: 12px; }
body.rx .mk-step { background: transparent; border: 0; border-radius: 0; padding: 4px 0; align-items: center; gap: 14px; }
body.rx .mk-step-title { font-family: var(--rx-font); font-weight: 600; font-size: 1rem; color: var(--rx-navy); letter-spacing: -0.01em; }
body.rx .mk-step-desc { color: var(--rx-text); font-size: 0.9rem; }

body.rx .mk-cta-band {
    background: var(--rx-lilac); border: 1px solid var(--rx-lilac-2); border-radius: 20px; box-shadow: var(--rx-shadow);
}
body.rx .mk-cta-band h2 { font-family: var(--rx-font); font-weight: 600; letter-spacing: -0.02em; color: var(--rx-navy); font-size: clamp(1.5rem, 3.2vw, 2.2rem); }
body.rx .mk-cta-band p { color: var(--rx-text); }

body.rx .mk-card { background: var(--rx-lilac); border: 1px solid var(--rx-lilac-2); border-radius: 16px; box-shadow: var(--rx-shadow); }
body.rx .mk-card-title { font-family: var(--rx-font); font-weight: 600; font-size: 1rem; color: var(--rx-navy); letter-spacing: -0.01em; }
body.rx .mk-card-text { color: var(--rx-text); }
body.rx .mk-card--image { background: #fff; }

body.rx .mk-split-col { background: #fff; border: 1px solid var(--rx-lilac-2); border-radius: 16px; box-shadow: var(--rx-shadow); }
body.rx .mk-split-col:nth-child(2) { background: var(--rx-lilac); }
body.rx .mk-split-col h3 { font-family: var(--rx-font); font-weight: 600; color: var(--rx-navy); font-size: 1.05rem; }
body.rx .mk-list li { color: var(--rx-text); }
body.rx .mk-list li::before { background: var(--rx-purple); }
body.rx .mk-split-col:nth-child(2) .mk-list li::before { background: var(--rx-teal); }
body.rx .mk-list--check li::before { background: none; border-right: 2px solid var(--rx-purple); border-bottom: 2px solid var(--rx-purple); }
body.rx .mk-split-col:nth-child(2) .mk-list--check li::before { background: none; border-color: var(--rx-teal); }

body.rx .mk-tablist { justify-content: flex-start; gap: 8px; margin-bottom: 20px; }
body.rx .mk-tab {
    font-family: var(--rx-font); font-weight: 600; font-size: 0.88rem; min-height: 40px; padding: 8px 18px;
    background: var(--rx-lilac); border: 1px solid var(--rx-lilac-2); color: var(--rx-navy);
}
body.rx .mk-tab:hover { border-color: var(--rx-purple); }
body.rx .mk-tab[aria-selected="true"] { background: var(--rx-navy); border-color: var(--rx-navy); color: #fff; }
body.rx .mk-tab:focus-visible, body.rx .mk-tabpanel:focus-visible, body.rx .mk-search input:focus-visible, body.rx .mk-article:focus-visible { outline: 3px solid var(--rx-purple-2); outline-offset: 2px; }
body.rx .mk-tabpanel { background: #fff; border: 1px solid var(--rx-lilac-2); border-radius: 16px; box-shadow: var(--rx-shadow); color: var(--rx-text); }

body.rx .mk-search input { font-family: var(--rx-font); color: var(--rx-navy); background: #fff; border: 1px solid var(--rx-lilac-2); }
body.rx .mk-search input::placeholder { color: var(--rx-text); opacity: 0.8; }
body.rx .mk-article { background: #fff; border: 1px solid var(--rx-lilac-2); border-radius: 14px; box-shadow: var(--rx-shadow); }
body.rx .mk-article:hover, body.rx .mk-article:focus-visible { box-shadow: 0 14px 34px rgba(45, 27, 105, 0.14); }
body.rx .mk-article-tag { color: var(--rx-purple); font-size: 0.68rem; letter-spacing: 0.08em; }
body.rx .mk-article-title { font-family: var(--rx-font); font-weight: 600; font-size: 1rem; color: var(--rx-navy); letter-spacing: -0.01em; }
body.rx .mk-article-meta { color: var(--rx-text); }

body.rx .mk-swatch-label { font-family: var(--rx-font); color: var(--rx-navy); }
body.rx .mk-swatch > img { display: block; width: 84px; height: 84px; }
body.rx .mk-phone { border-color: #0a0e2e; box-shadow: 0 25px 60px rgba(45, 27, 105, 0.3); }

/* ---------- Nav ---------- */
body.rx .nav-minimal {
    position: sticky; top: 0; left: auto; right: auto; width: 100%; max-width: none; margin: 0;
    padding: 10px clamp(16px, 3vw, 40px); border-radius: 0; border: 0;
    background: #ffffff; backdrop-filter: none; -webkit-backdrop-filter: none;
    box-shadow: 0 2px 14px rgba(18, 22, 63, 0.08);
    color: var(--rx-navy);
}
body.rx .nav-minimal.nav-scrolled { width: 100%; padding: 10px clamp(16px, 3vw, 40px); top: 0; background: #ffffff; box-shadow: 0 4px 18px rgba(18, 22, 63, 0.12); }
body.rx .nav-brand { gap: 10px; color: var(--rx-navy); }
body.rx .brand-logo { width: 38px; height: 38px; box-shadow: none; border: 1px solid var(--rx-lilac-2); }
body.rx .brand-text { font-family: var(--rx-font); font-weight: 600; font-size: 1.15rem; letter-spacing: -0.02em; color: var(--rx-navy); }
body.rx .nav-link {
    font-family: var(--rx-font); font-size: 0.85rem; font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--rx-navy);
}
body.rx .nav-link::after { background-color: var(--rx-purple); height: 2px; bottom: -6px; }
body.rx .nav-link:hover { color: var(--rx-purple); }
body.rx .nav-link:focus-visible { outline: 3px solid var(--rx-purple-2); outline-offset: 4px; }
body.rx .nav-actions .nav-link[aria-current="page"] { color: var(--rx-purple); }
body.rx .nav-cta, body.rx .nav-actions .btn-editorial {
    background: var(--rx-navy); color: #fff; border-color: var(--rx-navy); padding: 9px 20px; min-height: 38px; font-size: 0.85rem;
}
body.rx .nav-cta:hover, body.rx .nav-cta:focus-visible,
body.rx .nav-actions .btn-editorial:hover, body.rx .nav-actions .btn-editorial:focus-visible { background: #2a2670; border-color: #2a2670; color: #fff; }
body.rx .hamburger-line { background-color: var(--rx-navy); }
body.rx .hamburger-btn:focus-visible { outline: 3px solid var(--rx-purple-2); outline-offset: 2px; border-radius: 8px; }

/* Desktop: inline links */
@media (min-width: 1200px) {
    body.rx .hamburger-btn { display: none; }
    body.rx .nav-actions {
        position: static; inset: auto; width: auto; height: auto; background: none; backdrop-filter: none; -webkit-backdrop-filter: none;
        flex-direction: row; align-items: center; justify-content: flex-end; overflow: visible;
        opacity: 1; visibility: visible; pointer-events: auto; transform: none; padding: 0; gap: clamp(16px, 2vw, 28px);
    }
    body.rx .nav-actions .nav-link {
        display: inline-block; width: auto; padding: 6px 0; border-radius: 0; background: none; border: 0; box-shadow: none;
        font-family: var(--rx-font); font-size: 0.85rem; font-weight: 500; line-height: 1.2; letter-spacing: 0; text-transform: none;
    }
    body.rx .nav-actions .nav-link::after { display: block; }
    body.rx .nav-actions .nav-cta, body.rx .nav-actions .btn-editorial {
        display: inline-flex; width: auto; margin: 0; padding: 9px 20px; border-radius: 999px; font-family: var(--rx-font);
        font-size: 0.85rem; line-height: 1.2; background: var(--rx-navy); border: 1.5px solid var(--rx-navy); color: #fff; box-shadow: none;
    }
    body.rx .nav-actions .nav-cta:hover, body.rx .nav-actions .nav-cta:focus-visible,
    body.rx .nav-actions .btn-editorial:hover, body.rx .nav-actions .btn-editorial:focus-visible { background: #2a2670; border-color: #2a2670; color: #fff; }
}
/* Mobile overlay (JS toggles .active; breakpoint 1023px for body.rx) */
@media (max-width: 1199px) {
    body.rx .nav-actions {
        background: #ffffff; backdrop-filter: none; -webkit-backdrop-filter: none; padding: 92px 20px 28px; gap: 10px;
    }
    body.rx .nav-actions .nav-link {
        font-family: var(--rx-font); font-size: 1.1rem; font-weight: 600; letter-spacing: -0.01em; text-transform: none;
        color: var(--rx-navy); background: var(--rx-lilac); border: 1px solid var(--rx-lilac-2); border-radius: 14px; box-shadow: none; padding: 16px 18px;
    }
    body.rx .nav-actions .nav-cta, body.rx .nav-actions .btn-editorial {
        font-family: var(--rx-font); font-size: 1.05rem; font-weight: 600; border-radius: 999px; padding: 15px 20px; margin-top: 8px;
        background: var(--rx-navy); border-color: var(--rx-navy); color: #fff;
    }
    body.rx .nav-minimal { padding: 10px 16px; }
    body.rx .nav-minimal .nav-brand, body.rx .nav-minimal .hamburger-btn { position: relative; z-index: 120; }
    body.rx .nav-actions.active { z-index: 110; }
}

/* ---------- Footer ---------- */
body.rx .footer-editorial {
    min-height: 0; padding: 56px max(24px, 5vw) 28px; border-top: 0; color: rgba(255, 255, 255, 0.72);
    background:
        radial-gradient(ellipse 50% 80% at 90% 0%, rgba(109, 79, 224, 0.3), transparent 70%),
        linear-gradient(135deg, #0a0e2e 0%, #171245 60%, #1f1655 100%);
}
body.rx .footer-bottom { margin-top: 0; border-top: 0; padding-top: 0; width: 100%; max-width: 1180px; margin-inline: auto; align-items: start; }
body.rx .footer-logo {
    display: inline-flex; align-items: center; gap: 10px; font-family: var(--rx-font); font-weight: 600; font-size: 1.4rem; letter-spacing: -0.02em; color: #fff; margin-bottom: 10px;
}
body.rx .footer-logo::before {
    content: ""; width: 34px; height: 34px; border-radius: 50%; flex: 0 0 auto;
    background: url("../assets/images/LOGO.jpeg") center / cover no-repeat; border: 1px solid rgba(255, 255, 255, 0.25);
}
body.rx .footer-tagline, body.rx.site-v2 .footer-tagline {
    font-family: var(--rx-font); text-transform: none; letter-spacing: 0; font-size: 0.9rem; line-height: 1.5; color: rgba(255, 255, 255, 0.72);
}
body.rx strong.footer-tagline { color: #fff; }
body.rx .footer-social a { color: #fff; background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.22); box-shadow: none; }
body.rx .footer-social a:hover, body.rx .footer-social a:focus-visible { background: #fff; color: var(--rx-navy); }
body.rx .footer-social a:focus-visible { outline-color: var(--rx-teal-soft); }
body.rx .v2-footer-columns h4 { font-family: var(--rx-font); color: var(--rx-teal-soft); font-size: 0.78rem; letter-spacing: 0.1em; }
body.rx .v2-footer-columns a { color: rgba(255, 255, 255, 0.72); font-size: 0.92rem; }
body.rx .v2-footer-columns a:hover, body.rx .v2-footer-columns a:focus-visible { color: #fff; text-decoration: underline; }
body.rx .v2-footer-columns a:focus-visible, body.rx .footer-legal a:focus-visible { outline: 2px solid var(--rx-teal-soft); outline-offset: 3px; }
body.rx .footer-legal, body.rx.site-v2 .footer-legal { border-top: 1px solid rgba(255, 255, 255, 0.14); color: rgba(255, 255, 255, 0.66); font-size: 0.85rem; }
body.rx .footer-legal a { color: rgba(255, 255, 255, 0.8); }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
    body.rx .rx-hero-grid { grid-template-columns: minmax(0, 1fr); }
    body.rx .rx-hero-media { order: 2; }
    body.rx .rx-hero-media img, body.rx .rx-hero-media svg { max-width: 420px; margin-inline: auto; }
    body.rx .rx-split { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    body.rx .rx-grid--3, body.rx .rx-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.rx .rx-stats, body.rx .rx-stats--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.rx .rx-section { padding: 56px 0; }
}
@media (max-width: 600px) {
    body.rx .rx-container { padding-inline: 16px; }
    body.rx .rx-hero { padding: 40px 0 48px; }
    body.rx .rx-grid--2, body.rx .rx-grid--3, body.rx .rx-grid--4 { grid-template-columns: minmax(0, 1fr); }
    body.rx .rx-section { padding: 44px 0; }
    body.rx .rx-actions > .rx-btn, body.rx .rx-actions > a { flex: 1 1 100%; }
    body.rx .footer-editorial { padding-inline: 16px; }
}
/* Mobile: centered alignment across the site */
@media (max-width: 600px) {
    body.rx main, body.rx .rx-container, body.rx .rx-card, body.rx .hl-card, body.rx .footer-editorial { text-align: center; }
    body.rx .rx-actions { justify-content: center; }
    body.rx .rx-card, body.rx .hl-card { align-items: center; }
    body.rx .rx-hero-copy, body.rx .rx-chip { margin-inline: auto; }
    body.rx .hl-logos { align-self: center; }
    body.rx main ul, body.rx main ol { list-style-position: inside; padding-left: 0; }
    body.rx input, body.rx textarea, body.rx select { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
    body.rx .rx-btn, body.rx .rx-arrow, body.rx .btn-editorial, body.rx .btn-editorial-solid { transition: none; }
    body.rx .rx-btn:hover, body.rx .btn-editorial:hover, body.rx .btn-editorial-solid:hover { transform: none; }
}
