/*
Theme Name: RxSure
Theme URI: https://rxsure.co.uk
Author: QASTCO Limited
Author URI: https://qastco.com
Description: RxSure V3 — Block Theme (FSE). Pharmacy compliance & clinical services software for UK pharmacies.
Version: 3.13.33
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rxsure
Requires at least: 6.4
Requires PHP: 8.0
*/

/* ================================================================
   CSS ARCHITECTURE
   ================================================================
   0. Design Tokens
   1. Reset & Base
   2. Layout & Grid
   3. Typography
   4. Components (buttons, cards, forms, badges)
   5. Site Chrome (header, nav, footer)
   6. Sections (homepage)
   7. Pages
   8. Utilities
   9. Responsive
   10. Accessibility
   ================================================================ */

/* ----------------------------------------------------------------
   0. DESIGN TOKENS
   ----------------------------------------------------------------
   Brand: #0B9282 — accent colour for dark-bg sections
   ---------------------------------------------------------------- */
:root {
    /* ── Brand Palette ────────────────────────────────────────── */
    --brand: #0B9282;
    --brand-dark: #097A6D;
    --brand-darker: #0B9282;
    --brand-light: #0DAA96;
    --brand-accent: #18D4BB;
    --brand-accent-hover: #15b8a2;
    --brand-bg: #E8F4F2;

    /*
     * --brand-on-dark: use ONLY on near-black backgrounds (>= #18181b dark).
     * #18D4BB vs #09090b ≈ 10:1 (AAA).
     * NEVER use on white/off-white — 2:1 fails WCAG for text.
     * Reach for --brand for light-bg accents (7.1:1 on --page).
     */
    --brand-on-dark: #18D4BB;

    /* ── Neutral Palette (warm grays) ─────────────────────────── */
    --white: #ffffff;
    --gray-50: #F7F5F0;
    --gray-100: #EFEDE6;
    --gray-200: #DFDCD3;
    --gray-300: #C8C4B8;
    --gray-400: #71717a;
    --gray-500: #52525b;
    --gray-600: #3f3f46;
    --gray-700: #18181b;
    --gray-800: #0e0e11;
    --gray-900: #09090b;

    /* ── Semantic Colors ──────────────────────────────────────── */
    --success: #1F7A4D;
    --success-bg: #E2F1E8;
    --warning: #B8860B;
    --warning-bg: #FBF1DA;
    --error: #A33A2A;
    --error-bg: #FBEAE7;
    --info: #2563EB;
    --info-bg: #EFF6FF;

    /* ── Semantic Aliases ─────────────────────────────────────── */
    --color-ink: var(--gray-700);
    --color-body: var(--gray-500);
    --color-muted: var(--gray-400);
    --color-line: var(--gray-200);
    --color-soft: var(--gray-50);
    --color-surface: var(--white);

    /* ── Typography ───────────────────────────────────────────── */
    --ff-heading: "Fraunces", "Fraunces Fallback", Georgia, serif;
    --ff-body: "IBM Plex Sans", "IBM Plex Sans Fallback", system-ui, -apple-system, sans-serif;
    --ff-mono: "IBM Plex Mono", "IBM Plex Mono Fallback", monospace;

    --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.8125rem);
    --text-sm: clamp(0.8125rem, 0.775rem + 0.19vw, 0.875rem);
    --text-base: clamp(0.9375rem, 0.9rem + 0.19vw, 1rem);
    --text-lg: clamp(1.0625rem, 1rem + 0.31vw, 1.125rem);
    --text-xl: clamp(1.1875rem, 1.1rem + 0.44vw, 1.3125rem);
    --text-2xl: clamp(1.4375rem, 1.3rem + 0.69vw, 1.6875rem);
    --text-3xl: clamp(1.75rem, 1.5rem + 1.25vw, 2.25rem);
    --text-4xl: clamp(2.125rem, 1.75rem + 1.88vw, 3rem);
    --text-5xl: clamp(2.625rem, 2rem + 3.13vw, 3.75rem);

    --leading-tight: 1.1;
    --leading-snug: 1.25;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;

    --font-normal: 400;
    --font-medium: 500;
    --font-semibold: 600;
    --font-bold: 700;

    --tracking-tight: -0.02em;
    --tracking-normal: 0;
    --tracking-wide: 0.08em;

    /* ── Dark Section Typography Scale ────────────────────────── */
    --rxs-fs-eyebrow:     0.68rem;
    --rxs-fs-heading:     clamp(1.25rem, 1rem + 1vw, 1.42rem);
    --rxs-fs-body:        0.95rem;
    --rxs-fs-card-title:  0.92rem;
    --rxs-fs-detail:      0.85rem;
    --rxs-fs-hint:        0.74rem;
    --rxs-fs-table-head:  0.6rem;
    --rxs-fs-mono-sm:     0.62rem;

    --rxs-ls-eyebrow:     0.14em;
    --rxs-ls-heading:     -0.018em;
    --rxs-lh-heading:     1.15;
    --rxs-lh-body:        1.6;

    /* ── Dark Section Color Palette ───────────────────────────── */
    --rxs-ink:            #fff;
    --rxs-ink-soft:       #EDEDE9;
    --rxs-ink-2:          #c4c4c0;
    --rxs-body:           #94A3AB;
    --rxs-muted:          #71717a;
    --rxs-muted-2:        #71717a;
    --rxs-subtle:         #52525b;
    --rxs-line:           #27272a;
    --rxs-surface:        #0e0e11;

    /* ── Spacing (4px base) ───────────────────────────────────── */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;

    /* ── Border Radius ────────────────────────────────────────── */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 16px;
    --radius-full: 999px;

    /* ── Shadows ───────────────────────────────────────────────── */
    --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
    --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.08);
    --shadow-lg: 0 8px 28px rgba(15, 23, 42, 0.12);
    --shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, 0.1), 0 8px 10px -6px rgba(15, 23, 42, 0.1);

    /* ── Transitions ──────────────────────────────────────────── */
    --ease-default: cubic-bezier(0.4, 0, 0.2, 1);
    --duration-fast: 150ms;
    --duration-normal: 200ms;
    --duration-slow: 300ms;

    /* ── Z-Index Scale (max 9999 — QWeb consent = 99999) ──────── */
    --z-base: 1;
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-overlay: 300;
    --z-modal: 400;
    --z-header: 500;
    --z-skip-link: 9999;

    /* ── Layout ────────────────────────────────────────────────── */
    --container-max: 1200px;
    --container-padding: 1.5rem;
    --header-h: 72px;
    --header-h-scrolled: 60px;
}

/* ── Dark Mode ────────────────────────────────────────────────── */
[data-theme="dark"] {
    --brand: #7FCBB4;
    --brand-dark: #9BD9C5;
    --brand-darker: #5DBEA0;
    --brand-light: #A8E0CE;
    --brand-bg: #17302A;

    --white: #101715;
    --gray-50: #18211E;
    --gray-100: #212B27;
    --gray-200: #2C3833;
    --gray-300: #3A4842;
    --gray-400: #7E8D87;
    --gray-500: #A9B6B1;
    --gray-600: #C8D5D0;
    --gray-700: #ECF0EE;
    --gray-800: #F5F7F6;
    --gray-900: #FAFBFB;

    --success: #63C08E;
    --success-bg: #14301F;
    --warning: #E3B44E;
    --warning-bg: #332811;
    --error: #E08A78;
    --error-bg: #2A1512;
    --info: #60A5FA;
    --info-bg: #1E2A3A;

    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 8px 28px rgba(0, 0, 0, 0.35);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 8px 10px -6px rgba(0, 0, 0, 0.3);
}

/* ----------------------------------------------------------------
   1. RESET & BASE
   ---------------------------------------------------------------- */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

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

body {
    font-family: var(--ff-body);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-body);
    background: var(--wp--preset--color--bg, #f8f8f6);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: var(--brand);
    text-decoration: none;
    transition: color var(--duration-fast) var(--ease-default);
}

a:hover {
    color: var(--brand-dark);
}

svg[aria-hidden="true"] { display: inline-block !important; }

/* ----------------------------------------------------------------
   2. LAYOUT & GRID
   ---------------------------------------------------------------- */
.container {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

.section {
    padding: var(--space-20) 0;
}

.section-alt {
    padding: var(--space-20) 0;
    background: var(--color-soft);
}

.section__label {
    font-family: var(--ff-mono);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--brand);
    margin-bottom: var(--space-2);
}

.section__title {
    font-family: var(--ff-heading);
    font-size: var(--text-4xl);
    font-weight: var(--font-bold);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
    color: var(--color-ink);
    margin-bottom: var(--space-4);
}

.section__desc {
    font-size: var(--text-lg);
    color: var(--color-muted);
    max-width: 60ch;
    margin-bottom: var(--space-10);
}

.section__header--center {
    text-align: center;
}

.section__header--center .section__desc {
    margin-left: auto;
    margin-right: auto;
}

.grid {
    display: grid;
    gap: var(--space-8);
}

.grid--2, .grid-2 {
    grid-template-columns: 1fr;
}

.grid--3, .grid-3 {
    grid-template-columns: 1fr;
}

.grid--4, .grid-4 {
    grid-template-columns: 1fr;
}

/* ----------------------------------------------------------------
   3. TYPOGRAPHY
   ---------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--ff-heading);
    font-weight: var(--font-semibold);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
    color: var(--color-ink);
}

h1 { font-size: var(--text-5xl); font-weight: var(--font-bold); }
h2 { font-size: var(--text-4xl); font-weight: var(--font-bold); }
h3 { font-size: var(--text-3xl); }
h4 { font-size: var(--text-2xl); }
h5 { font-size: var(--text-xl); }
h6 { font-size: var(--text-lg); }

p {
    margin-bottom: var(--space-4);
    max-width: 70ch;
}

p:last-child {
    margin-bottom: 0;
}

strong, b {
    font-weight: var(--font-semibold);
}

small {
    font-size: var(--text-sm);
}

/* ----------------------------------------------------------------
   4. COMPONENTS
   ---------------------------------------------------------------- */

/* --- Buttons --- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    font-family: var(--ff-body);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    line-height: 1;
    padding: var(--space-3) var(--space-6);
    min-height: 44px;
    min-width: 44px;
    border-radius: var(--radius-md);
    border: 2px solid transparent;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    z-index: 0;
    transition: color var(--duration-normal) var(--ease-default),
                border-color var(--duration-normal) var(--ease-default),
                box-shadow var(--duration-normal) var(--ease-default),
                transform 0.15s ease;
    text-decoration: none;
    white-space: nowrap;
}

.btn-primary {
    background: transparent;
    color: var(--brand);
    border-color: var(--brand);
}

.btn-primary::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--brand);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1;
    border-radius: inherit;
}

.btn-primary:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

.btn-primary:hover {
    color: #fff;
    border-color: var(--brand);
    transform: translateY(-1px);
    box-shadow: 0 0 24px rgba(11, 146, 130, 0.2);
    background: transparent;
}

.btn-outline {
    background: transparent;
    color: var(--brand);
    border-color: var(--brand);
}

.btn-outline::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--brand);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1;
    border-radius: inherit;
}

.btn-outline:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

.btn-outline:hover {
    color: #fff;
    border-color: var(--brand);
    background: transparent;
    box-shadow: 0 0 24px rgba(11, 146, 130, 0.2);
}

.btn-outline-light {
    background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.5);
}

.btn-outline-light:hover {
    background: #fff;
    color: var(--brand);
    border-color: #fff;
}

.btn-secondary {
    background: var(--color-soft);
    color: var(--color-ink);
    border-color: var(--color-line);
}

.btn-secondary:hover {
    background: var(--color-line);
    border-color: var(--gray-300);
}

.btn-lg {
    padding: var(--space-4) var(--space-8);
    font-size: var(--text-base);
}

.btn-sm {
    padding: var(--space-2) var(--space-4);
    font-size: var(--text-xs);
    min-height: 36px;
}

.btn-white {
    background: #fff;
    color: var(--brand);
    border-color: #fff;
}

.btn-white:hover {
    background: var(--gray-50);
    border-color: var(--gray-50);
}

.btn:disabled,
.btn[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* --- Cards --- */
.card {
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-lg);
    padding: var(--space-8);
    transition: box-shadow var(--duration-normal) var(--ease-default),
                transform var(--duration-normal) var(--ease-default);
}

.card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.card--flat:hover {
    transform: none;
    box-shadow: none;
}

.card__icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
    margin-bottom: var(--space-4);
}

.card__icon--brand {
    background: var(--brand-bg);
    color: var(--brand);
}

.card__icon--brand svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

.card__title {
    font-family: var(--ff-heading);
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    color: var(--color-ink);
    margin-bottom: var(--space-2);
}

.card__desc {
    font-size: var(--text-sm);
    color: var(--color-muted);
    line-height: var(--leading-relaxed);
}

.card__link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--brand);
    margin-top: var(--space-4);
    transition: gap var(--duration-fast) var(--ease-default);
}

.card__link:hover {
    gap: var(--space-3);
}

/* --- Service Card --- */
.service-card {
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-lg);
    padding: var(--space-8);
    transition: box-shadow var(--duration-normal) var(--ease-default),
                transform var(--duration-normal) var(--ease-default),
                border-color var(--duration-normal) var(--ease-default);
}

.service-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
    border-color: var(--brand);
}

.service-card__icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
    margin-bottom: var(--space-4);
}

.service-card__icon svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

.service-card__icon--clinical {
    background: var(--brand-bg);
    color: var(--brand);
}

.service-card__icon--operations {
    background: var(--warning-bg);
    color: var(--warning);
}

.service-card__icon--governance {
    background: var(--success-bg);
    color: var(--success);
}

.service-card__title {
    font-family: var(--ff-heading);
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--color-ink);
    margin-bottom: var(--space-2);
}

.service-card__desc {
    font-size: var(--text-sm);
    color: var(--color-muted);
    line-height: var(--leading-relaxed);
    margin-bottom: var(--space-4);
}

.service-card__link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--brand);
    transition: gap var(--duration-fast) var(--ease-default);
}

.service-card__link:hover {
    gap: var(--space-3);
}

.service-card__features {
    list-style: none;
    padding: 0;
    margin: var(--space-4) 0 0;
}

.service-card__features li {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: var(--color-body);
    padding: var(--space-2) 0;
}

.service-card__features li::before {
    content: "";
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 1px;
    background: var(--brand-bg);
    border-radius: var(--radius-full);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%230B4F42'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px;
}

/* --- Pricing Card --- */
.pr-card {
    background: var(--color-surface);
    border: 2px solid var(--color-line);
    border-radius: var(--radius-lg);
    padding: 0;
    text-align: center;
    position: relative;
    transition: box-shadow var(--duration-normal) var(--ease-default),
                transform var(--duration-normal) var(--ease-default);
}

.pr-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-4px);
}

.pr-card-popular {
    border-color: var(--brand);
    box-shadow: var(--shadow-md);
}

.pr-card-popular .pr-card__badge {
    display: block;
}

.pr-card__badge {
    display: none;
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--brand);
    color: #fff;
    font-family: var(--ff-mono);
    font-size: 0.6875rem;
    font-weight: var(--font-semibold);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    padding: 4px 16px;
    border-radius: var(--radius-full);
    white-space: nowrap;
}

.pr-card__head {
    padding: var(--space-8) var(--space-6) var(--space-5);
    border-bottom: 1px solid var(--color-line);
}

.pr-card__plan {
    font-family: var(--ff-mono);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--color-muted);
    margin-bottom: var(--space-2);
}

.pr-card__name {
    font-family: var(--ff-heading);
    font-size: var(--text-2xl);
    font-weight: var(--font-bold);
    color: var(--color-ink);
    margin-bottom: var(--space-3);
}

.pr-card__price {
    font-family: var(--ff-heading);
    font-size: var(--text-4xl);
    font-weight: var(--font-bold);
    color: var(--brand);
    line-height: 1;
}

.pr-card__price-sub {
    font-size: var(--text-sm);
    color: var(--color-muted);
    margin-top: var(--space-1);
}

.pr-card__body {
    padding: var(--space-6);
    text-align: left;
}

.pr-card__features {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pr-card__features li {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: var(--color-body);
    padding: var(--space-2) 0;
    border-bottom: 1px solid var(--color-line);
}

.pr-card__features li:last-child {
    border-bottom: 0;
}

.pr-card__features li svg {
    flex-shrink: 0;
    color: var(--brand);
}

.pr-card__foot {
    padding: 0 var(--space-6) var(--space-8);
}

.pr-card__foot .btn {
    width: 100%;
}

.pr-card-enterprise {
    border-style: dashed;
    opacity: 0.85;
}

/* --- Forms --- */
.form-group {
    margin-bottom: var(--space-5);
}

.form-label {
    display: block;
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--color-ink);
    margin-bottom: var(--space-2);
}

.form-input,
.form-textarea,
.form-select {
    width: 100%;
    font-family: var(--ff-body);
    font-size: var(--text-base);
    color: var(--color-ink);
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md);
    padding: var(--space-3) var(--space-4);
    transition: border-color var(--duration-fast) var(--ease-default),
                box-shadow var(--duration-fast) var(--ease-default);
}

.form-input:focus,
.form-textarea:focus,
.form-select:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px var(--brand-bg);
    outline: none;
}

.form-textarea {
    min-height: 120px;
    resize: vertical;
}

.form-hint {
    font-size: var(--text-xs);
    color: var(--color-muted);
    margin-top: var(--space-1);
}

.form-error-msg {
    font-size: var(--text-xs);
    color: var(--error);
    margin-top: var(--space-1);
}

/* --- Badges --- */
.badge {
    display: inline-flex;
    align-items: center;
    font-family: var(--ff-mono);
    font-size: 0.6875rem;
    font-weight: var(--font-semibold);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: var(--radius-sm);
    white-space: nowrap;
}

.badge--brand {
    background: var(--brand-bg);
    color: var(--brand);
}

.badge--success {
    background: var(--success-bg);
    color: var(--success);
}

.badge--warning {
    background: var(--warning-bg);
    color: var(--warning);
}

.badge--error {
    background: var(--error-bg);
    color: var(--error);
}

.badge--info {
    background: var(--info-bg);
    color: var(--info);
}

.badge--beta {
    background: var(--warning-bg);
    color: var(--warning);
}

/* --- Alerts --- */
.alert {
    padding: var(--space-4) var(--space-5);
    border-radius: var(--radius-md);
    border-left: 3px solid;
    font-size: var(--text-sm);
    margin-bottom: var(--space-5);
}

.alert--success {
    background: var(--success-bg);
    border-color: var(--success);
    color: var(--success);
}

.alert--warning {
    background: var(--warning-bg);
    border-color: var(--warning);
    color: var(--warning);
}

.alert--error {
    background: var(--error-bg);
    border-color: var(--error);
    color: var(--error);
}

.alert--info {
    background: var(--info-bg);
    border-color: var(--info);
    color: var(--info);
}

/* --- Tables --- */
.table-wrap {
    overflow-x: auto;
    border: 1px solid var(--color-line);
    border-radius: var(--radius-lg);
    margin-bottom: var(--space-6);
}

.table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm);
}

.table th {
    font-family: var(--ff-mono);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--color-muted);
    background: var(--color-soft);
    text-align: left;
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--color-line);
}

.table td {
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--color-line);
    vertical-align: top;
}

.table tbody tr:last-child td {
    border-bottom: 0;
}

/* --- FAQ Accordion --- */
.rxsure-faq-list {
    max-width: 800px;
}

.rxsure-faq-item {
    border-top: 1px solid var(--color-line);
}

.rxsure-faq-item:last-child {
    border-bottom: 1px solid var(--color-line);
}

.rxsure-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: var(--space-5) 0;
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--color-ink);
    cursor: pointer;
    list-style: none;
    transition: color var(--duration-fast) var(--ease-default);
}

.rxsure-faq-question:hover {
    color: var(--brand);
}

.rxsure-faq-question::-webkit-details-marker {
    display: none;
}

.rxsure-faq-answer {
    padding: 0 0 var(--space-5);
    font-size: var(--text-base);
    color: var(--color-body);
    line-height: var(--leading-relaxed);
}

/* ----------------------------------------------------------------
   5. SITE CHROME
   ---------------------------------------------------------------- */

/* --- Header --- */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--z-header);
    background: var(--wp--preset--color--card);
    border-bottom: 1px solid var(--wp--preset--color--line);
    height: var(--header-h);
    transition: height var(--duration-normal) var(--ease-default),
                box-shadow var(--duration-normal) var(--ease-default),
                background var(--duration-normal) var(--ease-default),
                transform var(--duration-slow) var(--ease-default);
}

.site-header--hidden {
    transform: translateY(-100%);
}

.site-header--scrolled {
    height: var(--header-h-scrolled);
    background: rgba(255, 255, 255, 0.85);
    -webkit-backdrop-filter: blur(12px) saturate(180%);
    backdrop-filter: blur(12px) saturate(180%);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}

.rxs-header-inner {
    display: flex;
    align-items: center;
    height: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

/* --- Logo --- */
.rxs-logo {
    flex-shrink: 0;
    margin-right: auto;
    display: flex;
    align-items: center;
    text-decoration: none;
}

.rxs-logo img {
    height: 36px;
    width: auto;
    transition: height var(--duration-normal) var(--ease-default);
}

.site-header--scrolled .rxs-logo img {
    height: 30px;
}

.rxs-logo__white {
    display: none;
}

/* ================================================================
   HOMEPAGE HEADER — always-dark transparent bar (v3.12.62)
   Dark semi-transparent header that persists on scroll. Both the
   hero state and the scrolled state use the same dark surface so
   the header never flashes white against the dark page.
   ================================================================ */

body.home .site-header {
    background: transparent;
    border-bottom: none;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
body.home .site-header .rxs-nav__link,
body.home .site-header .rxs-nav__toggle,
body.home .site-header .rxs-login-trigger {
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
body.home .site-header .rxs-nav__link:hover,
body.home .site-header .rxs-nav__toggle:hover,
body.home .site-header .rxs-login-trigger:hover {
    color: #fff;
}
body.home .site-header .rxs-login-trigger {
    border-color: rgba(255, 255, 255, 0.35);
}
body.home .site-header .rxs-login-trigger:hover {
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.08);
}
body.home .site-header .rxs-mobile-toggle span {
    background: #fff;
}

/* --- Desktop Navigation --- */
.rxs-nav {
    display: none;
    align-items: center;
    height: 100%;
}

.rxs-nav__list {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 100%;
    gap: 0;
}

.rxs-nav__item {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}

.rxs-nav__link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 100%;
    padding: 0 1rem;
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--small);
    font-weight: 500;
    color: var(--wp--preset--color--ink-2);
    text-decoration: none;
    border: none;
    background: none;
    cursor: pointer;
    transition: color 0.15s;
    white-space: nowrap;
}

.rxs-nav__link:hover {
    color: var(--wp--preset--color--primary);
}

.rxs-nav__chevron {
    transition: transform 0.2s;
    opacity: 0.5;
}

.rxs-nav__item--mega:hover .rxs-nav__chevron {
    transform: rotate(180deg);
    opacity: 1;
}

/* --- Mega Menu Panel --- */
.rxs-mega {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    min-width: 740px;
    background: var(--wp--preset--color--card);
    border: 1px solid var(--wp--preset--color--line);
    border-radius: var(--radius-md);
    box-shadow: 0 16px 48px rgba(15, 23, 42, 0.14), 0 4px 12px rgba(15, 23, 42, 0.06);
    padding: 2rem;
    z-index: var(--z-dropdown);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s, transform 0.2s;
}

.rxs-nav__item--mega:hover > .rxs-mega {
    display: block;
    opacity: 1;
    pointer-events: auto;
}

.rxs-mega__inner {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1fr;
    gap: 2rem;
}

.rxs-mega__heading {
    display: block;
    font-family: var(--wp--preset--font-family--body);
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--wp--preset--color--primary);
    margin-bottom: 0.875rem;
    padding-bottom: 0.625rem;
    border-bottom: 2px solid var(--wp--preset--color--primary);
}

.rxs-mega__link {
    display: block;
    padding: 0.5rem 0;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--wp--preset--color--ink);
    text-decoration: none;
    transition: color 0.15s;
    line-height: 1.3;
}

.rxs-mega__link:hover {
    color: var(--wp--preset--color--primary);
}

.rxs-mega__desc {
    display: block;
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--wp--preset--color--muted);
    margin-top: 0.125rem;
    line-height: 1.4;
    transition: color 0.15s;
}

.rxs-mega__link:hover .rxs-mega__desc {
    color: var(--wp--preset--color--primary);
    opacity: 0.7;
}

/* Highlight card */
.rxs-mega__col--highlight {
    display: flex;
}

.rxs-mega__highlight {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.75rem 1.5rem;
    background: var(--wp--preset--color--primary);
    border-radius: var(--radius-md);
    text-decoration: none;
    color: var(--wp--preset--color--card);
    width: 100%;
    transition: background 0.2s;
    gap: 0.375rem;
}

.rxs-mega__highlight:hover {
    background: var(--wp--preset--color--primary-light);
    color: var(--wp--preset--color--card);
}

.rxs-mega__highlight-icon {
    opacity: 0.85;
    margin-bottom: 0.25rem;
}

.rxs-mega__highlight-title {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.2;
}

.rxs-mega__highlight-desc {
    font-size: 0.8125rem;
    opacity: 0.85;
    line-height: 1.4;
}

/* --- Mobile Menu Toggle --- */
.rxs-mobile-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 10px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: calc(var(--z-overlay) + 1);
}

.rxs-mobile-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
    transition: transform 0.2s, opacity 0.2s;
}

.rxs-mobile-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.rxs-mobile-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}

.rxs-mobile-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* --- Mobile Navigation Panel --- */
.rxs-mobile-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 380px;
    height: 100vh;
    height: 100dvh;
    background: #0e0e11;
    z-index: var(--z-overlay);
    transform: translateX(100%);
    transition: transform 0.3s var(--ease-default);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.rxs-mobile-nav--open {
    transform: translateX(0);
}

.rxs-mobile-nav__inner {
    padding: calc(var(--header-h) + 1rem) 1.5rem 2rem;
    text-align: center;
}

.rxs-mobile-nav__link {
    display: block;
    padding: 0.875rem 0;
    font-size: 1.0625rem;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.rxs-mobile-nav__link:hover {
    color: #18D4BB;
}

.rxs-mobile-nav__section {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.rxs-mobile-nav__group-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.875rem 0;
    font-family: var(--wp--preset--font-family--body);
    font-size: 1.0625rem;
    font-weight: 500;
    color: #ffffff;
    background: none;
    border: none;
    cursor: pointer;
}

.rxs-mobile-nav__group-toggle svg {
    transition: transform 0.2s;
    opacity: 0.5;
}

.rxs-mobile-nav__group-toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

.rxs-mobile-nav__sub {
    display: none;
    padding: 0 0 0.5rem 0;
}

.rxs-mobile-nav__group-toggle[aria-expanded="true"] + .rxs-mobile-nav__sub {
    display: block;
}

.rxs-mobile-nav__sub a {
    display: block;
    padding: 0.5rem 0;
    font-size: 0.9375rem;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
}

.rxs-mobile-nav__sub a:hover {
    color: #18D4BB;
}

.rxs-mobile-nav__footer {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.rxs-mobile-nav__cta {
    display: block;
    width: 100%;
    text-align: center;
}

.rxs-mobile-nav__login {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 1rem;
}

.rxs-mobile-nav__login a {
    font-size: var(--wp--preset--font-size--small);
    color: #18D4BB;
    text-decoration: none;
}

.rxs-mobile-nav__login a:hover {
    text-decoration: underline;
}

.rxs-mobile-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: calc(var(--z-overlay) - 1);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}

.rxs-mobile-overlay--visible {
    opacity: 1;
    visibility: visible;
}

/* --- Footer --- */
.site-footer {
    background: #09090b;
    color: #C8C4B8;
    padding: var(--space-16) 0 0;
    position: relative;
    overflow: hidden;
}

.footer-stars {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}
.footer-stars span {
    position: absolute;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 8px rgba(24, 212, 187, 0.6);
    animation: rxsStarTwinkle var(--d, 3s) ease-in-out infinite;
    animation-delay: var(--start, 0s);
}
.footer-stars span:nth-child(1)  { width: 2px; height: 2px; left:  5%; top: 12%; --d: 3.5s; --start: 0s; }
.footer-stars span:nth-child(2)  { width: 3px; height: 3px; left: 12%; top: 38%; --d: 4s;   --start: -1.2s; }
.footer-stars span:nth-child(3)  { width: 1px; height: 1px; left: 20%; top: 65%; --d: 2.5s; --start: -2s; }
.footer-stars span:nth-child(4)  { width: 2px; height: 2px; left: 30%; top: 20%; --d: 3s;   --start: -0.6s; }
.footer-stars span:nth-child(5)  { width: 3px; height: 3px; left: 38%; top: 78%; --d: 4s;   --start: -1.8s; }
.footer-stars span:nth-child(6)  { width: 1px; height: 1px; left: 48%; top: 42%; --d: 3s;   --start: -2.5s; }
.footer-stars span:nth-child(7)  { width: 2px; height: 2px; left: 55%; top: 15%; --d: 3.5s; --start: -0.3s; }
.footer-stars span:nth-child(8)  { width: 3px; height: 3px; left: 65%; top: 55%; --d: 4s;   --start: -1.5s; }
.footer-stars span:nth-child(9)  { width: 1px; height: 1px; left: 72%; top: 82%; --d: 2.5s; --start: -0.8s; }
.footer-stars span:nth-child(10) { width: 2px; height: 2px; left: 80%; top: 30%; --d: 3s;   --start: -2.2s; }
.footer-stars span:nth-child(11) { width: 3px; height: 3px; left: 88%; top: 68%; --d: 3.5s; --start: -1s; }
.footer-stars span:nth-child(12) { width: 1px; height: 1px; left: 95%; top: 22%; --d: 4s;   --start: -0.4s; }
@media (prefers-reduced-motion: reduce) {
    .footer-stars span { animation: none; opacity: 0.45; transform: scale(1); }
}

.site-footer > * { position: relative; z-index: 1; }

.site-footer a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
}

.site-footer a:hover {
    color: #ffffff;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-10);
    padding: 0 var(--space-6) var(--space-12);
}

.footer-brand {
    max-width: 280px;
}

.footer-brand-link {
    display: inline-block;
    margin-bottom: var(--space-4);
}

.footer-brand-logo {
    height: 36px;
    width: auto;
    filter: brightness(10);
}

.footer-brand-text {
    font-size: var(--text-sm);
    color: #9CA3AF;
    line-height: var(--leading-relaxed);
    margin: 0 0 var(--space-5);
}

.footer-contact-details {
    margin-bottom: var(--space-5);
}

.footer-social-row {
    border-top: 1px solid rgba(255,255,255,0.06);
    max-width: 1200px;
    margin: 0 auto;
    padding: 1.25rem var(--space-6);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer-social-text {
    font-size: 0.75rem;
    color: #6b7280;
    margin: 0;
}

.footer-social-row .footer-social {
    margin-top: 0;
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    font-size: 0.82rem;
    color: #9CA3AF;
    margin-bottom: 0.55rem;
}

.footer-contact-item svg {
    width: 16px;
    height: 16px;
    stroke: var(--wp--preset--color--brand-accent, #18D4BB);
    fill: none;
    flex-shrink: 0;
    margin-top: 2px;
}

.footer-contact-item strong {
    color: #d1d5db;
}

.footer-contact-item a {
    color: #9CA3AF;
}

.footer-contact-item a:hover {
    color: var(--white);
}

.footer-social {
    display: flex;
    gap: 0.55rem;
    margin-top: var(--space-4);
}

.footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(255,255,255,0.08);
    color: #9CA3AF;
    transition: background 0.2s ease, color 0.2s ease;
}

.footer-social a:hover {
    background: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
}

.footer-social svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.footer-col-title {
    font-family: var(--ff-body);
    font-size: 0.78rem;
    font-weight: 600;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0 0 var(--space-4);
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 0.45rem;
}

.footer-links a {
    font-size: 0.85rem;
    color: #9CA3AF;
    transition: color 0.2s ease;
}

.footer-links a:hover {
    color: #ffffff;
}

/* Newsletter strip */
.footer-newsletter {
    background: #141416;
    border: 1px solid rgba(24, 212, 187, 0.15);
    border-radius: 16px;
    padding: 2rem 2.5rem !important;
    margin: 0 1.5rem 2rem;
    display: flex !important;
    flex-direction: column;
    gap: 1.25rem;
    text-align: center;
}

.footer-newsletter .qweb-form__field br,
.footer-newsletter .qweb-form__btn br,
.footer-newsletter .qweb-form__inner br,
.footer-newsletter .qweb-form__inner > p:empty {
    display: none !important;
    height: 0;
    margin: 0;
    padding: 0;
}

.footer-newsletter__title {
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', serif);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--brand-on-dark, #18D4BB);
    margin: 0;
}

.footer-newsletter__sub {
    font-size: 0.82rem;
    color: var(--rxs-body, #94A3AB);
    margin: 0.25rem 0 0;
    max-width: 500px;
}

/* QWeb newsletter form inside footer — needs high specificity to beat qweb-forms.css */
.site-footer .footer-newsletter .qweb-form {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
}

.site-footer .footer-newsletter .qweb-form .qweb-form__inner {
    gap: 0 !important;
}

.site-footer .footer-newsletter .qweb-form .qweb-form__field {
    flex-direction: row !important;
    gap: 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #0e0e11 !important;
    border: 1px solid rgba(24, 212, 187, 0.2) !important;
    align-items: stretch !important;
}

.site-footer .footer-newsletter .qweb-form .qweb-form__field br {
    display: none !important;
}

.site-footer .footer-newsletter .qweb-form .qweb-form__field input[type="email"] {
    flex: 1 1 0% !important;
    width: auto !important;
    padding: 0.7rem 1rem !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 0.88rem !important;
    min-width: 0 !important;
    border-left: none !important;
    background: transparent !important;
    color: #EDEDE9 !important;
}

.site-footer .footer-newsletter .qweb-form .qweb-form__btn {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    padding: 0.7rem 1.5rem !important;
    border-radius: 0 8px 8px 0 !important;
    font-weight: 600 !important;
    font-size: 0.88rem !important;
    white-space: nowrap !important;
}

.site-footer .footer-newsletter .qweb-form .qweb-form__btn br {
    display: none !important;
}

.site-footer .footer-newsletter .qweb-form .qweb-form__inner br,
.site-footer .footer-newsletter .qweb-form .qweb-form__inner > p:empty {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Legacy custom form classes (fallback) */
.footer-newsletter__field {
    display: flex;
    gap: 0;
    border-radius: 8px;
    overflow: hidden;
    background: #0e0e11;
    border: 1px solid rgba(24, 212, 187, 0.2);
}

.footer-newsletter__field input {
    flex: 1;
    padding: 0.7rem 1rem;
    border: none;
    outline: none;
    font-size: 0.88rem;
    font-family: inherit;
    color: #1a1a1a;
    background: transparent;
    min-width: 0;
}

.footer-newsletter__btn {
    padding: 0.7rem 1.5rem;
    background: var(--wp--preset--color--brand-accent, #18D4BB);
    color: #0B9282;
    border: none;
    font-weight: 600;
    font-size: 0.88rem;
    cursor: pointer;
    transition: background 0.2s ease;
    white-space: nowrap;
}

/* Disclaimer */
.footer-disclaimer {
    font-size: 0.72rem;
    color: #a3aab0;
    text-align: center;
    line-height: 1.6;
    padding: 0 var(--space-6);
    margin: 0 0 var(--space-6);
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

/* Bottom bar */
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding: var(--space-5) var(--space-6);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-4);
}

.footer-copy {
    font-size: 0.72rem;
    color: #a3aab0;
    margin: 0;
}

.footer-copy a {
    color: #c4c9ce;
}

.footer-copy a:hover {
    color: #ffffff;
}

.footer-legal {
    display: flex;
    gap: var(--space-5);
}

.footer-legal a {
    font-size: 0.72rem;
    color: #a3aab0;
    transition: color 0.2s ease;
}

.footer-legal a:hover {
    color: #ffffff;
}

/* ----------------------------------------------------------------
   6. SECTIONS
   ---------------------------------------------------------------- */

/* --- Section Variants --- */
.section-sm {
    padding: var(--space-12) 0;
}

.section-lg {
    padding: var(--space-24) 0;
}

.section-gray {
    padding: var(--space-20) 0;
    background: var(--color-soft);
}

.section-primary {
    padding: var(--space-20) 0;
    background: var(--brand);
    color: #fff;
}

.section-primary .section__label {
    color: var(--brand-bg);
}

.section-primary .section__title {
    color: #fff;
}

.section-primary .section__desc {
    color: rgba(255, 255, 255, 0.8);
}

.section-dark {
    padding: var(--space-20) 0;
    background: var(--gray-700);
    color: var(--gray-300);
}

.section-dark .section__title {
    color: #fff;
}

.section-dark .section__desc {
    color: var(--gray-400);
}

/* --- Page Hero (interior pages) --- */
.page-hero {
    background: var(--brand-darker);
    color: #fff;
    padding: var(--space-16) 0 var(--space-12);
    margin-top: var(--header-h);
}

.page-hero__breadcrumb {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: var(--space-5);
    list-style: none;
    padding: 0;
}

.page-hero__breadcrumb a {
    color: rgba(255, 255, 255, 0.7);
    transition: color var(--duration-fast) var(--ease-default);
}

.page-hero__breadcrumb a:hover {
    color: #fff;
}

.page-hero__breadcrumb li + li::before {
    content: "›";
    margin-right: var(--space-2);
    opacity: 0.5;
}

.page-hero__label {
    font-family: var(--ff-mono);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--brand-bg);
    margin-bottom: var(--space-2);
}

.page-hero__title {
    font-family: var(--ff-heading);
    font-size: var(--text-4xl);
    font-weight: var(--font-bold);
    color: #fff;
    line-height: var(--leading-tight);
    margin-bottom: var(--space-4);
}

.page-hero__desc {
    font-size: var(--text-lg);
    color: rgba(255, 255, 255, 0.8);
    max-width: 60ch;
    line-height: var(--leading-relaxed);
}

/* --- Stats Counter --- */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-6);
}

.stat-item {
    text-align: center;
    padding: var(--space-6);
}

.stat-item__number {
    font-family: var(--ff-heading);
    font-size: var(--text-4xl);
    font-weight: var(--font-bold);
    color: var(--color-ink);
    line-height: 1;
}

.stat-item__suffix {
    color: var(--brand);
}

.stat-item__label {
    font-size: var(--text-sm);
    color: var(--color-muted);
    margin-top: var(--space-2);
}

/* --- Process Timeline --- */
.process-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-8);
    position: relative;
}

.process-step {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: var(--space-5);
    align-items: flex-start;
}

.process-step__number {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-full);
    border: 2px solid var(--color-line);
    font-family: var(--ff-heading);
    font-size: var(--text-2xl);
    font-weight: var(--font-bold);
    color: var(--color-muted);
    background: var(--color-surface);
    transition: border-color var(--duration-normal) var(--ease-default),
                color var(--duration-normal) var(--ease-default),
                box-shadow var(--duration-normal) var(--ease-default);
}

.process-step:hover .process-step__number {
    border-color: var(--brand);
    color: var(--brand);
    box-shadow: var(--shadow-sm);
}

.process-step__title {
    font-family: var(--ff-heading);
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    color: var(--color-ink);
    margin-bottom: var(--space-2);
}

.process-step__desc {
    font-size: var(--text-sm);
    color: var(--color-muted);
    line-height: var(--leading-relaxed);
}

/* --- CTA Band --- */
.cta-band {
    padding: var(--space-16) 0;
    background: var(--brand);
    color: #fff;
    text-align: center;
}

.cta-band--dark {
    background: var(--gray-700);
}

.cta-band__title {
    font-family: var(--ff-heading);
    font-size: var(--text-3xl);
    font-weight: var(--font-bold);
    color: #fff;
    margin-bottom: var(--space-4);
    max-width: 40ch;
    margin-left: auto;
    margin-right: auto;
}

.cta-band__desc {
    font-size: var(--text-lg);
    color: rgba(255, 255, 255, 0.8);
    max-width: 50ch;
    margin: 0 auto var(--space-8);
}

.cta-band__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--space-3);
}

/* --- Homepage Hero Section --- */
.hero-section {
    position: relative;
    min-height: 85vh;
    display: flex;
    align-items: center;
    background-color: var(--brand-darker);
    overflow: hidden;
    margin-top: var(--header-h);
}

.hero-media {
    position: absolute;
    inset: 0;
    z-index: var(--z-base);
}

.hero-video,
.hero-poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-video {
    z-index: 2;
}

.hero-poster {
    z-index: 1;
}

.hero-video[data-loaded="true"] ~ .hero-poster {
    opacity: 0;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    background: linear-gradient(
        135deg,
        rgba(11, 146, 130, 0.75) 0%,
        rgba(11, 146, 130, 0.55) 50%,
        rgba(11, 146, 130, 0.65) 100%
    );
}

.hero-content {
    position: relative;
    z-index: 4;
    max-width: 720px;
    padding-top: var(--space-16);
    padding-bottom: var(--space-16);
}

.hero-title {
    color: #fff;
    font-size: var(--text-5xl);
    font-weight: var(--font-bold);
    line-height: var(--leading-tight);
    margin-bottom: var(--space-5);
    letter-spacing: -0.03em;
}

.hero-sub {
    color: rgba(255, 255, 255, 0.9);
    font-size: var(--text-xl);
    line-height: var(--leading-relaxed);
    margin-bottom: var(--space-4);
    max-width: 580px;
}

.hero-tagline {
    color: rgba(255, 255, 255, 0.85);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    margin-bottom: var(--space-8);
}

.hero-cta-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}

/* --- Trust Badges --- */
.trust-badges {
    padding: var(--space-10) 0;
    background: var(--color-surface);
    border-bottom: 1px solid var(--color-line);
}

.trust-badges-label {
    font-family: var(--ff-mono);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--color-muted);
    text-align: center;
    margin-bottom: var(--space-5);
}

.trust-badges-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: var(--space-8);
}

.trust-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    text-decoration: none;
    transition: opacity var(--duration-fast) var(--ease-default);
}

.trust-badge:hover {
    opacity: 0.7;
}

.trust-badge-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-full);
    background: var(--color-soft);
    border: 1px solid var(--color-line);
}

.trust-badge-icon svg {
    width: 24px;
    height: 24px;
    fill: var(--brand);
}

.trust-badge-label {
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: var(--color-muted);
    text-align: center;
    line-height: var(--leading-snug);
    max-width: 80px;
}

/* --- Audience Cards --- */
.audience-grid { margin-top: var(--space-10); }

.audience-card {
    text-align: center;
    padding: 0;
    overflow: hidden;
}

.audience-card__img {
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.audience-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--duration-normal) ease;
}

.audience-card:hover .audience-card__img img {
    transform: scale(1.05);
}

.audience-card__title,
.audience-card__desc,
.audience-card__link {
    padding-left: var(--space-6);
    padding-right: var(--space-6);
}

.audience-card__icon {
    display: none;
}

.audience-card__title {
    margin-top: var(--space-5);
}

.audience-card__icon svg {
    width: 28px;
    height: 28px;
    fill: var(--brand);
}

.audience-card__title {
    font-size: var(--text-xl);
    color: var(--color-ink);
    margin-bottom: var(--space-3);
}

.audience-card__desc {
    font-size: var(--text-sm);
    color: var(--color-body);
    margin-bottom: var(--space-4);
}

.audience-card__link {
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--brand);
    display: inline-block;
    padding-bottom: var(--space-6);
}

/* --- Workflow Cards --- */
.workflows-grid { margin-top: var(--space-10); }

.workflow-card {
    padding: 0;
    overflow: hidden;
}

.workflow-card__img {
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.workflow-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--duration-normal) ease;
}

.workflow-card:hover .workflow-card__img img {
    transform: scale(1.05);
}

.workflow-card__badge,
.workflow-card__title,
.workflow-card__desc,
.workflow-card__features,
.workflow-card__link {
    margin-left: var(--space-6);
    margin-right: var(--space-6);
}

.workflow-card__link {
    margin-bottom: var(--space-6);
}

.workflow-card__badge {
    display: inline-block;
    font-family: var(--ff-mono);
    font-size: var(--text-xs);
    font-weight: var(--font-bold);
    letter-spacing: var(--tracking-wide);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-full);
    margin-top: var(--space-5);
    margin-bottom: var(--space-4);
}

.workflow-card__badge--teal {
    background: var(--brand-bg);
    color: var(--brand);
}

.workflow-card__badge--brand {
    background: var(--brand);
    color: #fff;
}

.workflow-card__badge--green {
    background: var(--success-bg);
    color: var(--success);
}

.workflow-card__title {
    font-size: var(--text-xl);
    color: var(--color-ink);
    margin-bottom: var(--space-3);
}

.workflow-card__desc {
    font-size: var(--text-sm);
    color: var(--color-body);
    margin-bottom: var(--space-4);
}

.workflow-card__features {
    list-style: none;
    margin-bottom: var(--space-5);
}

.workflow-card__features li {
    font-size: var(--text-sm);
    color: var(--color-body);
    padding: var(--space-2) 0;
    padding-left: var(--space-5);
    position: relative;
}

.workflow-card__features li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--brand);
}

.workflow-card__link {
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--brand);
}

/* --- Demo Video Facade --- */
.demo-video-wrapper {
    max-width: 800px;
    margin: var(--space-10) auto 0;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

.demo-video-facade {
    position: relative;
    aspect-ratio: 16 / 9;
    cursor: pointer;
    background: var(--gray-700);
}

.demo-video-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.demo-video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 68px;
    height: 48px;
    transition: transform var(--duration-normal) var(--ease-default),
                opacity var(--duration-normal) var(--ease-default);
}

.demo-video-facade:hover .demo-video-play {
    transform: translate(-50%, -50%) scale(1.1);
}

.demo-video-facade iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.demo-video-placeholder {
    padding: var(--space-16) 0;
}

/* --- Process Timeline (Getting Started) --- */
.process-timeline {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
    margin-top: var(--space-10);
    position: relative;
}

.process-timeline::before {
    content: '';
    position: absolute;
    top: 28px;
    left: calc(12.5% + 12px);
    right: calc(12.5% + 12px);
    height: 2px;
    background: var(--color-line);
    display: none;
}

.process-step {
    text-align: center;
    position: relative;
}

.process-step__number {
    width: 56px;
    height: 56px;
    border-radius: var(--radius-full);
    background: var(--brand);
    color: #fff;
    font-family: var(--ff-heading);
    font-size: var(--text-xl);
    font-weight: var(--font-bold);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--space-4);
    position: relative;
    z-index: 2;
}

.process-step__title {
    font-size: var(--text-lg);
    color: var(--color-ink);
    margin-bottom: var(--space-2);
}

.process-step__desc {
    font-size: var(--text-sm);
    color: var(--color-body);
    max-width: 220px;
    margin: 0 auto;
}

/* --- Why RxSure Cards --- */
.why-grid { margin-top: var(--space-10); }

.why-card {
    text-align: center;
    padding: 0;
    overflow: hidden;
}

.why-card__img {
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.why-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--duration-normal) ease;
}

.why-card:hover .why-card__img img {
    transform: scale(1.05);
}

.why-card__icon {
    width: 64px;
    height: 64px;
    border-radius: var(--radius-lg);
    background: var(--brand-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: var(--space-6) auto var(--space-4);
}

.why-card__title,
.why-card__desc {
    padding-left: var(--space-6);
    padding-right: var(--space-6);
}

.why-card__desc {
    padding-bottom: var(--space-6);
}

.why-card__icon svg {
    width: 28px;
    height: 28px;
    fill: var(--brand);
}

.why-card__title {
    font-size: var(--text-xl);
    color: var(--color-ink);
    margin-bottom: var(--space-3);
}

.why-card__desc {
    font-size: var(--text-sm);
    color: var(--color-body);
    line-height: var(--leading-relaxed);
}

/* --- AEO Accordion --- */
.aeo-accordion {
    margin-top: var(--space-10);
}

.aeo-item {
    border: 1px solid var(--color-line);
    border-radius: var(--radius-md);
    margin-bottom: var(--space-3);
    background: var(--color-surface);
    overflow: hidden;
}

.aeo-item[open] {
    border-color: var(--brand);
}

.aeo-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding: var(--space-5) var(--space-6);
    cursor: pointer;
    font-weight: var(--font-semibold);
    font-size: var(--text-base);
    color: var(--color-ink);
    list-style: none;
}

.aeo-question::-webkit-details-marker { display: none; }

.aeo-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    fill: var(--color-muted);
    transition: transform var(--duration-normal) var(--ease-default);
}

.aeo-item[open] .aeo-icon {
    transform: rotate(45deg);
    fill: var(--brand);
}

.aeo-answer {
    padding: 0 var(--space-6) var(--space-5);
    font-size: var(--text-sm);
    color: var(--color-body);
    line-height: var(--leading-relaxed);
}

/* --- Testimonial Cards --- */
.testimonials-grid { margin-top: var(--space-10); }

.testimonial-card {
    padding: var(--space-6);
    display: flex;
    flex-direction: column;
}

.testimonial-card__stars {
    display: flex;
    gap: 2px;
    margin-bottom: var(--space-4);
}

.testimonial-card__quote {
    flex: 1;
    font-size: var(--text-sm);
    color: var(--color-body);
    line-height: var(--leading-relaxed);
    font-style: italic;
    margin-bottom: var(--space-5);
}

.testimonial-card__author {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    border-top: 1px solid var(--color-line);
    padding-top: var(--space-4);
}

.testimonial-card__avatar {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-full);
    background: var(--brand-bg);
    color: var(--brand);
    font-weight: var(--font-bold);
    font-size: var(--text-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.testimonial-card__name {
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--color-ink);
}

.testimonial-card__role {
    font-size: var(--text-xs);
    color: var(--color-muted);
}

/* --- Bento Grid (Stacked Category Sections) --- */
.bento-category {
    margin-bottom: var(--space-8);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    overflow: hidden;
}

.bento-category__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-4) var(--space-6);
    border-bottom: 1px solid var(--color-line);
}

.bento-category--teal .bento-category__header { border-top: 3px solid var(--brand); }
.bento-category--amber .bento-category__header { border-top: 3px solid var(--warning); }
.bento-category--green .bento-category__header { border-top: 3px solid var(--success); }

.bento-category__title {
    font-size: var(--text-lg);
    font-weight: var(--font-bold);
    color: var(--color-ink);
}

.bento-category__count {
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: var(--color-muted);
    background: var(--color-soft);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-full);
}

.bento-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: var(--color-line);
}

.bento-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-5) var(--space-3);
    background: var(--color-surface);
    text-decoration: none;
    text-align: center;
    transition: background var(--duration-fast) var(--ease-default);
}

.bento-card:hover {
    background: var(--color-soft);
}

.bento-card__icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bento-card__icon svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

.bento-card__name {
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: var(--color-ink);
    line-height: var(--leading-snug);
}

/* --- Section Shared Helpers --- */
.section-header {
    text-align: center;
    max-width: 640px;
    margin: 0 auto;
}

.section-eyebrow {
    font-family: var(--ff-mono);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--brand);
    margin-bottom: var(--space-3);
}

.section-sub {
    font-size: var(--text-lg);
    color: var(--color-body);
    margin-top: var(--space-3);
    line-height: var(--leading-relaxed);
}

/* --- Pricing Card Refinements --- */
.pr-card__label {
    font-family: var(--ff-mono);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--color-muted);
}

.pr-card__name {
    font-size: var(--text-2xl);
    font-weight: var(--font-bold);
    color: var(--color-ink);
    margin-top: var(--space-1);
}

.pr-card__price {
    display: flex;
    align-items: baseline;
    gap: 2px;
    margin-top: var(--space-4);
}

.pr-card__currency {
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    color: var(--color-ink);
}

.pr-card__amount {
    font-size: var(--text-4xl);
    font-weight: var(--font-bold);
    color: var(--color-ink);
    line-height: 1;
}

.pr-card__period {
    font-size: var(--text-sm);
    color: var(--color-muted);
}

.pr-card__model {
    font-size: var(--text-sm);
    color: var(--color-body);
    margin-top: var(--space-2);
}

.pr-card__alt {
    font-size: var(--text-xs);
    color: var(--color-muted);
    margin-top: var(--space-1);
}

.pr-card__features {
    list-style: none;
}

.pr-card__features li {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: var(--color-body);
    padding: var(--space-2) 0;
}

/* ----------------------------------------------------------------
   7. PAGES
   ---------------------------------------------------------------- */

/* --- Page Hero (inner pages — compact, breadcrumb) --- */
.page-hero {
    background: var(--gray-50);
    padding: var(--space-12) 0 var(--space-10);
    border-bottom: 1px solid var(--gray-200);
}
.page-hero h1 {
    font-family: var(--ff-heading);
    font-size: var(--text-4xl);
    font-weight: 700;
    color: var(--color-ink);
    line-height: 1.15;
    margin-bottom: var(--space-3);
}
.page-hero .sub-text {
    font-size: var(--text-lg);
    color: var(--color-body);
    max-width: 640px;
    line-height: 1.6;
}
.page-hero .section-eyebrow {
    margin-bottom: var(--space-2);
}

/* --- Breadcrumb --- */
.breadcrumb {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: var(--color-muted);
    margin-bottom: var(--space-4);
}
.breadcrumb a {
    color: var(--brand);
    text-decoration: none;
}
.breadcrumb a:hover {
    text-decoration: underline;
}
.breadcrumb span[aria-hidden] {
    color: var(--gray-300);
}
.breadcrumb span[aria-current] {
    color: var(--color-body);
}

/* --- Features Hub — Pillar Cards --- */
.pillar-grid {
    gap: var(--space-6);
}
.pillar-card {
    display: flex;
    gap: var(--space-5);
    padding: var(--space-6);
    background: var(--color-surface);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-lg);
    text-decoration: none;
    color: inherit;
    transition: transform var(--duration-normal) var(--ease-default),
                box-shadow var(--duration-normal) var(--ease-default);
}
.pillar-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
    border-color: var(--brand);
}
.pillar-card__icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--brand-bg);
    border-radius: var(--radius-md);
}
.pillar-card__icon svg {
    width: 24px;
    height: 24px;
}
.pillar-card__title {
    font-family: var(--ff-heading);
    font-size: var(--text-xl);
    font-weight: 600;
    color: var(--color-ink);
    margin-bottom: var(--space-1);
    line-height: 1.3;
}
.pillar-card__desc {
    font-size: var(--text-sm);
    color: var(--color-body);
    line-height: 1.5;
    margin-bottom: var(--space-2);
}
.pillar-card__meta {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--brand);
}

/* --- Features Overview Cards --- */
.features-overview .card {
    text-align: center;
    padding: var(--space-8) var(--space-6);
}
.card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--space-4);
}
.features-overview .card h3 {
    font-family: var(--ff-heading);
    font-size: var(--text-xl);
    font-weight: 600;
    color: var(--color-ink);
    margin-bottom: var(--space-2);
}

/* --- Feature Pillar Sub-page --- */
.pillar-icon {
    font-size: 2rem;
    margin-bottom: var(--space-3);
}
.pillar-related-card {
    padding: var(--space-6);
    text-decoration: none;
    transition: transform var(--duration-normal) var(--ease-default),
                box-shadow var(--duration-normal) var(--ease-default);
}
.pillar-related-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}
.pillar-related-card h3 {
    font-family: var(--ff-heading);
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--color-ink);
    margin-bottom: var(--space-2);
}

/* --- Beta Badge --- */
.badge-beta {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--warning);
    background: var(--warning-bg);
    border-radius: var(--radius-full);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    vertical-align: middle;
    margin-left: var(--space-2);
}

/* --- Pricing Page — Full Pricing Cards --- */
.pricing-grid {
    align-items: stretch;
}

/* --- Enterprise Card --- */
.enterprise-card {
    display: flex;
    gap: var(--space-8);
    padding: var(--space-8);
    background: var(--color-surface);
    border: 2px dashed var(--gray-300);
    border-radius: var(--radius-lg);
}
.enterprise-card__content {
    flex: 1;
}
.enterprise-card__content h2 {
    font-family: var(--ff-heading);
    font-size: var(--text-3xl);
    font-weight: 700;
    color: var(--color-ink);
    margin-bottom: var(--space-3);
}
.enterprise-card__content p {
    color: var(--color-body);
    line-height: 1.6;
    margin-bottom: var(--space-6);
    max-width: 480px;
}
.enterprise-card__features {
    flex: 1;
}
.enterprise-card__features ul {
    list-style: none;
    display: grid;
    gap: var(--space-3);
}
.enterprise-card__features li {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: var(--color-body);
}
.enterprise-card__features svg {
    flex-shrink: 0;
    color: var(--success);
}

/* --- Comparison Table --- */
.comparison-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.comparison-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm);
}
.comparison-table th,
.comparison-table td {
    padding: var(--space-3) var(--space-4);
    text-align: center;
    border-bottom: 1px solid var(--gray-200);
}
.comparison-table th:first-child,
.comparison-table td:first-child {
    text-align: left;
    font-weight: 500;
    color: var(--color-ink);
}
.comparison-table th {
    background: var(--gray-50);
    font-weight: 600;
    color: var(--color-ink);
    position: sticky;
    top: 72px;
    z-index: 10;
}
.comparison-table tbody tr:hover {
    background: var(--gray-50);
}
.comparison-highlight {
    background: var(--brand-bg) !important;
}
.comparison-table svg {
    display: inline-block;
    vertical-align: middle;
}

/* --- Add-on Card --- */
.addon-card {
    padding: var(--space-8);
    background: var(--color-surface);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-lg);
    text-align: center;
    max-width: 600px;
    margin: 0 auto;
}
.addon-card h2 {
    font-family: var(--ff-heading);
    font-size: var(--text-2xl);
    font-weight: 700;
    color: var(--color-ink);
    margin-bottom: var(--space-3);
}
.addon-card p {
    color: var(--color-body);
    line-height: 1.6;
    margin-bottom: var(--space-4);
}

/* --- Plan Detail Page --- */
.plan-features-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
}
.plan-feature-block {
    display: flex;
    gap: var(--space-4);
    padding: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    transition: box-shadow var(--duration-normal) var(--ease-default);
}
.plan-feature-block:hover {
    box-shadow: var(--shadow-md);
}
.plan-feature-block__icon {
    flex-shrink: 0;
    margin-top: 2px;
}
.plan-feature-block__title {
    font-family: var(--ff-heading);
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--color-ink);
    margin-bottom: var(--space-1);
}
.plan-feature-block__desc {
    font-size: var(--text-sm);
    color: var(--color-body);
    line-height: 1.6;
}

/* --- CTA Band --- */
.cta-band {
    background: var(--brand-darker);
    color: #fff;
    padding: var(--space-12) 0;
}
.cta-band h2 {
    color: #fff;
    font-family: var(--ff-heading);
    font-size: var(--text-3xl);
    font-weight: 700;
    margin-bottom: var(--space-3);
}
.cta-band .section-sub {
    color: rgba(255,255,255,.85);
    margin-bottom: var(--space-6);
}
.cta-band .text-muted {
    color: rgba(255,255,255,.6);
}
.cta-band .btn-outline {
    color: #fff;
    border-color: rgba(255,255,255,.5);
}
.cta-band .btn-outline:hover {
    background: rgba(255,255,255,.1);
    border-color: #fff;
}

/* --- FAQ Page --- */
.faq-filters {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-bottom: var(--space-8);
}
.faq-filter {
    padding: var(--space-2) var(--space-4);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-full);
    background: var(--color-surface);
    color: var(--color-body);
    font-size: var(--text-sm);
    font-weight: 500;
    cursor: pointer;
    transition: all var(--duration-fast) var(--ease-default);
    font-family: inherit;
}
.faq-filter:hover {
    border-color: var(--brand);
    color: var(--brand);
}
.faq-filter.active {
    background: var(--brand);
    color: #fff;
    border-color: var(--brand);
}

/* ----------------------------------------------------------------
   8. UTILITIES
   ---------------------------------------------------------------- */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.text-brand { color: var(--brand); }
.text-ink { color: var(--color-ink); }
.text-body { color: var(--color-body); }
.text-muted { color: var(--color-muted); }
.text-white { color: #fff; }
.text-success { color: var(--success); }
.text-error { color: var(--error); }

.bg-white { background: var(--color-surface); }
.bg-soft { background: var(--color-soft); }
.bg-dark { background: var(--gray-700); color: var(--gray-300); }
.bg-brand { background: var(--brand); color: #fff; }

.fw-normal { font-weight: var(--font-normal); }
.fw-medium { font-weight: var(--font-medium); }
.fw-semibold { font-weight: var(--font-semibold); }
.fw-bold { font-weight: var(--font-bold); }

.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.mt-4 { margin-top: var(--space-4); }
.mt-8 { margin-top: var(--space-8); }
.mt-12 { margin-top: var(--space-12); }
.mb-4 { margin-bottom: var(--space-4); }
.mb-8 { margin-bottom: var(--space-8); }
.mb-12 { margin-bottom: var(--space-12); }

.flex { display: flex; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }

.gap-2 { gap: var(--space-2); }
.gap-3 { gap: var(--space-3); }
.gap-4 { gap: var(--space-4); }
.gap-6 { gap: var(--space-6); }
.gap-8 { gap: var(--space-8); }

.w-full { width: 100%; }
.mx-auto { margin-left: auto; margin-right: auto; }
.max-w-prose { max-width: 65ch; }

/* ----------------------------------------------------------------
   9. ANIMATIONS
   ---------------------------------------------------------------- */

/* --- Keyframes --- */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

@keyframes pulseRing {
    0% { box-shadow: 0 0 0 0 rgba(5, 122, 110, 0.4); }
    70% { box-shadow: 0 0 0 10px rgba(5, 122, 110, 0); }
    100% { box-shadow: 0 0 0 0 rgba(5, 122, 110, 0); }
}

/* --- Scroll Animations (triggered by .is-visible via IntersectionObserver) --- */
.animate-fade-up {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity var(--duration-slow) var(--ease-default),
                transform var(--duration-slow) var(--ease-default);
}

.animate-fade-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.animate-scale-in {
    opacity: 0;
    transform: scale(0.95);
    transition: opacity var(--duration-slow) var(--ease-default),
                transform var(--duration-slow) var(--ease-default);
}

.animate-scale-in.is-visible {
    opacity: 1;
    transform: scale(1);
}

.animate-slide-left {
    opacity: 0;
    transform: translateX(-30px);
    transition: opacity var(--duration-slow) var(--ease-default),
                transform var(--duration-slow) var(--ease-default);
}

.animate-slide-left.is-visible {
    opacity: 1;
    transform: translateX(0);
}

.animate-slide-right {
    opacity: 0;
    transform: translateX(30px);
    transition: opacity var(--duration-slow) var(--ease-default),
                transform var(--duration-slow) var(--ease-default);
}

.animate-slide-right.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* --- Stagger Delays (for grid items) --- */
.stagger-1 { transition-delay: 0.1s; }
.stagger-2 { transition-delay: 0.2s; }
.stagger-3 { transition-delay: 0.3s; }
.stagger-4 { transition-delay: 0.4s; }
.stagger-5 { transition-delay: 0.5s; }
.stagger-6 { transition-delay: 0.6s; }

/* --- Hover Effects --- */
.hover-lift {
    transition: transform var(--duration-normal) var(--ease-default),
                box-shadow var(--duration-normal) var(--ease-default);
}

.hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.hover-glow:hover {
    box-shadow: 0 0 0 4px var(--brand-bg);
}

/* --- Link Underline Animation --- */
.link-animate {
    position: relative;
    display: inline;
}

.link-animate::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: currentColor;
    transition: width var(--duration-normal) var(--ease-default);
}

.link-animate:hover::after {
    width: 100%;
}

/* --- Skeleton Loading --- */
.skeleton {
    background: linear-gradient(
        90deg,
        var(--color-line) 25%,
        var(--gray-100) 50%,
        var(--color-line) 75%
    );
    background-size: 400% 100%;
    animation: shimmer 1.5s infinite;
    border-radius: var(--radius-md);
}

.skeleton-text {
    height: 1em;
    margin-bottom: var(--space-2);
}

.skeleton-title {
    height: 1.5em;
    width: 60%;
    margin-bottom: var(--space-3);
}

.skeleton-avatar {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-full);
}

/* --- Spinner --- */
.spinner {
    width: 24px;
    height: 24px;
    border: 3px solid var(--color-line);
    border-top-color: var(--brand);
    border-radius: var(--radius-full);
    animation: spin 0.6s linear infinite;
}

.spinner-lg {
    width: 40px;
    height: 40px;
    border-width: 4px;
}

/* ----------------------------------------------------------------
   V3 BLOCK PATTERN STYLES
   ----------------------------------------------------------------
   New patterns for the V3 Block Theme (FSE) homepage.
   Class prefix: rxs-
   ---------------------------------------------------------------- */

/* --- Shared --- */
.rxs-eyebrow {
    font-family: var(--wp--preset--font-family--mono);
    font-size: var(--wp--preset--font-size--x-small);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary);
    text-align: center;
    width: fit-content;
    margin: 0 auto 0.75rem;
    padding: 0.35rem 1.25rem;
    border-radius: 999px;
}

/* ── Button System (centralized) ───────────────────────────────── */
.rxs-btn {
    display: inline-block;
    font-family: var(--wp--preset--font-family--body);
    font-weight: 600;
    font-size: var(--wp--preset--font-size--small);
    line-height: 1;
    padding: 0.875rem 1.75rem;
    border-radius: 8px;
    text-decoration: none !important;
    cursor: pointer;
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
    z-index: 0;
    transition: color 0.2s ease, border-color 0.2s ease,
                box-shadow 0.2s ease, transform 0.15s ease;
}

.rxs-btn:hover {
    transform: translateY(-1px);
    text-decoration: none !important;
}

.rxs-btn:active {
    transform: translateY(0);
}

.rxs-btn:focus-visible {
    outline: 2px solid var(--wp--preset--color--primary-light);
    outline-offset: 2px;
}

.rxs-btn--primary {
    background: transparent;
    color: #fff !important;
    border: 2px solid #18D4BB;
}

.rxs-btn--primary::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--wp--preset--color--primary);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1;
    border-radius: inherit;
}

.rxs-btn--primary:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

.rxs-btn--primary:hover {
    color: #fff !important;
    border-color: var(--wp--preset--color--primary) !important;
    box-shadow: 0 0 24px rgba(11, 146, 130, 0.3);
    background: transparent !important;
}

.rxs-btn--outline {
    background: transparent;
    color: var(--wp--preset--color--primary) !important;
    border-color: var(--wp--preset--color--primary);
}

.rxs-btn--outline::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--wp--preset--color--primary);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1;
    border-radius: inherit;
}

.rxs-btn--outline:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

.rxs-btn--outline:hover {
    color: #fff !important;
    border-color: var(--wp--preset--color--primary) !important;
    box-shadow: 0 0 24px rgba(11, 146, 130, 0.2);
    background: transparent !important;
}

.rxs-btn--accent {
    background: var(--brand-accent);
    color: #0e0e11 !important;
    border-color: var(--brand-accent);
    font-weight: 700;
}

.rxs-btn--accent:hover {
    background: var(--brand-accent-hover) !important;
    border-color: var(--brand-accent-hover) !important;
    color: #0e0e11 !important;
    box-shadow: 0 6px 16px rgba(24, 212, 187, 0.3);
}

.rxs-btn--white {
    background: #fff;
    color: var(--wp--preset--color--primary) !important;
    border-color: #fff;
}

.rxs-btn--white:hover {
    background: var(--wp--preset--color--bg) !important;
    border-color: var(--wp--preset--color--bg) !important;
    color: var(--wp--preset--color--primary) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.rxs-btn--lg {
    font-size: var(--wp--preset--font-size--large);
    padding: 1rem 2.5rem;
    border-radius: 9999px;
    letter-spacing: 0.01em;
}

/* --- Header Actions (Login + CTA) --- */
.rxs-header-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-left: 1.5rem;
    flex-shrink: 0;
}

.rxs-header-cta {
    white-space: nowrap;
}

.rxs-login-dropdown {
    position: relative;
}

.rxs-login-trigger {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600;
    padding: 0.5rem 1rem;
    border: 2px solid var(--wp--preset--color--primary);
    border-radius: var(--wp--custom--border-radius--sm);
    background: transparent;
    color: var(--wp--preset--color--primary);
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
    white-space: nowrap;
}

.rxs-login-trigger:hover {
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--card);
}

.rxs-login-trigger svg {
    transition: transform 0.2s;
}

.rxs-login-dropdown:hover .rxs-login-trigger svg,
.rxs-login-dropdown.open .rxs-login-trigger svg {
    transform: rotate(180deg);
}

.rxs-login-menu {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 180px;
    background: var(--wp--preset--color--card);
    border: 1px solid var(--wp--preset--color--line);
    border-radius: var(--wp--custom--border-radius--sm);
    box-shadow: var(--wp--preset--shadow--md);
    z-index: 100;
    padding: 4px;
}

.rxs-login-dropdown:hover .rxs-login-menu,
.rxs-login-dropdown.open .rxs-login-menu {
    display: block;
}

.rxs-login-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 0.6rem 0.875rem;
    font-size: var(--wp--preset--font-size--small);
    font-weight: 500;
    color: var(--wp--preset--color--ink-2);
    text-decoration: none;
    border-radius: var(--radius-sm);
    transition: background-color 0.15s, color 0.15s;
}

.rxs-login-item:hover {
    background: var(--wp--preset--color--bg);
    color: var(--wp--preset--color--ink);
}

.rxs-login-item svg {
    opacity: 0.4;
    flex-shrink: 0;
}

.rxs-login-item:hover svg {
    opacity: 0.7;
}

/* --- Front-page header — always dark, v3.12.62 --- */
body.home .site-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--z-header);
}

body.home .site-header--scrolled {
    position: fixed;
    background: rgba(9, 9, 11, 0.88);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

body.home .rxs-logo__default {
    display: none;
}

body.home .rxs-logo__white {
    display: block;
}

body.home .rxs-header-cta {
    background: var(--wp--preset--color--primary);
    color: #fff !important;
    border-color: var(--wp--preset--color--primary);
}

body.home .rxs-header-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        120deg,
        transparent 0%,
        rgba(255, 255, 255, 0.12) 40%,
        rgba(255, 255, 255, 0.25) 50%,
        rgba(255, 255, 255, 0.12) 60%,
        transparent 100%
    );
    transform: translateX(-100%);
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0;
    border-radius: inherit;
}

body.home .rxs-header-cta:hover::before {
    transform: translateX(100%);
}

body.home .rxs-header-cta:hover {
    background: var(--wp--preset--color--primary) !important;
    border-color: var(--wp--preset--color--primary) !important;
    color: #fff !important;
    box-shadow: 0 0 28px rgba(11, 146, 130, 0.45),
                0 4px 16px rgba(11, 146, 130, 0.25);
    transform: translateY(-2px);
}

body.home .rxs-mobile-toggle span {
    background: #fff;
}

/* Kill block theme gap between header and hero on front page */
body.home .wp-site-blocks {
    padding-top: 0;
}

body.home .wp-site-blocks > *:first-child {
    margin-top: 0 !important;
}

body.home .wp-site-blocks > .wp-block-template-part + * {
    margin-top: 0 !important;
}

.rxs-hero {
    margin-top: 0 !important;
}

/* ================================================================
   HOMEPAGE HERO — v3.12.1
   Dark hero, canvas wave background (desktop) or CSS particles
   (mobile). Kicker + italic-emphasis H1 + lede + price.
   ================================================================ */

.rxs-home-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    /* Flex column + align-items:center forces every child (kicker, inner
       wrapper, etc.) to sit horizontally centred, regardless of what WP's
       is-layout-constrained rules try to do. text-align:center still needed
       for centring text within multi-line elements (H1, lede). */
    display: flex;
    flex-direction: column;
    align-items: center;
    /* v3.12.15: shift text down to sit centred between the menu and the
       video top. Was 100/380; now 200/320 pushes content 100px lower
       without giving up too much of the video-overlap reservoir. */
    padding: 200px 26px 320px;
    background: linear-gradient(180deg, #0e0e11 0%, #09090b 55%, #09090b 100%);
    color: #EDEDE9;
    text-align: center;
    margin-top: 0 !important;
}

/* Background layer wrapper — glow + canvas + video + particles all live here */
.rxs-home-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}
.rxs-home-hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.25;
}
@media (max-width: 599px) {
    .rxs-home-hero__video { display: none; }
}

/* Radial mint glow behind the headline */
.rxs-home-hero__glow {
    position: absolute;
    left: 50%;
    top: -14%;
    width: 760px;
    max-width: 100%;
    height: 380px;
    transform: translateX(-50%);
    border-radius: 50%;
    filter: blur(8px);
    background: radial-gradient(
        closest-side,
        rgba(24, 212, 187, 0.3),
        rgba(24, 212, 187, 0)
    );
    z-index: 1;
}

/* Canvas — desktop only. Enabled by JS. Hidden on mobile via media query. */
/* ─────────────────────────────────────────────────────────
   v3.12.18 TWINKLING STARS (Option 3 from v2 preview)
   18 white/mint dots at fixed positions across the whole hero,
   fading in and out like distant stars. NO movement — pure twinkle.
   Pure CSS, ~2KB, works identically mobile / tablet / desktop.
   ───────────────────────────────────────────────────────── */

.rxs-home-hero__stars {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    overflow: hidden;
}

.rxs-home-hero__stars span {
    position: absolute;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 8px rgba(24, 212, 187, 0.6);
    animation: rxsStarTwinkle var(--d, 3s) ease-in-out infinite;
    animation-delay: var(--start, 0s);
}

/* 18 stars distributed across the whole hero, staying clear of the centre
   headline column to keep text-legibility good */
.rxs-home-hero__stars span:nth-child(1)  { width: 2px; height: 2px; left:  4%; top: 15%; --d: 3s;    --start:  0s; }
.rxs-home-hero__stars span:nth-child(2)  { width: 3px; height: 3px; left: 10%; top: 45%; --d: 4s;    --start: -1s; }
.rxs-home-hero__stars span:nth-child(3)  { width: 1px; height: 1px; left: 16%; top: 72%; --d: 2.5s;  --start: -2s; }
.rxs-home-hero__stars span:nth-child(4)  { width: 3px; height: 3px; left: 22%; top: 25%; --d: 3.5s;  --start: -0.5s; }
.rxs-home-hero__stars span:nth-child(5)  { width: 2px; height: 2px; left: 28%; top: 88%; --d: 3s;    --start: -1.5s; }
.rxs-home-hero__stars span:nth-child(6)  { width: 1px; height: 1px; left: 34%; top: 52%; --d: 4s;    --start: -2.5s; }
.rxs-home-hero__stars span:nth-child(7)  { width: 3px; height: 3px; left: 40%; top: 18%; --d: 3s;    --start: -0.8s; }
.rxs-home-hero__stars span:nth-child(8)  { width: 2px; height: 2px; left: 46%; top: 75%; --d: 4s;    --start: -1.8s; }
.rxs-home-hero__stars span:nth-child(9)  { width: 1px; height: 1px; left: 52%; top: 35%; --d: 2.5s;  --start: -0.3s; }
.rxs-home-hero__stars span:nth-child(10) { width: 3px; height: 3px; left: 58%; top: 62%; --d: 3.5s;  --start: -2.2s; }
.rxs-home-hero__stars span:nth-child(11) { width: 2px; height: 2px; left: 64%; top: 22%; --d: 3s;    --start: -1.2s; }
.rxs-home-hero__stars span:nth-child(12) { width: 1px; height: 1px; left: 70%; top: 85%; --d: 4s;    --start: -0.6s; }
.rxs-home-hero__stars span:nth-child(13) { width: 3px; height: 3px; left: 76%; top: 42%; --d: 3s;    --start: -2.8s; }
.rxs-home-hero__stars span:nth-child(14) { width: 2px; height: 2px; left: 82%; top: 68%; --d: 3.5s;  --start: -1s; }
.rxs-home-hero__stars span:nth-child(15) { width: 1px; height: 1px; left: 88%; top: 28%; --d: 4s;    --start: -0.4s; }
.rxs-home-hero__stars span:nth-child(16) { width: 3px; height: 3px; left: 94%; top: 55%; --d: 2.5s;  --start: -2s; }
.rxs-home-hero__stars span:nth-child(17) { width: 2px; height: 2px; left: 96%; top: 82%; --d: 3s;    --start: -1.6s; }
.rxs-home-hero__stars span:nth-child(18) { width: 1px; height: 1px; left:  6%; top: 88%; --d: 4s;    --start: -0.9s; }

@keyframes rxsStarTwinkle {
    0%, 100% { opacity: 0;   transform: scale(0.5); }
    50%      { opacity: 1;   transform: scale(1.4); }
}

@media (prefers-reduced-motion: reduce) {
    .rxs-home-hero__stars span {
        animation: none;
        opacity: 0.45;
        transform: scale(1);
    }
}

/* Content layer — sits above the background */
.rxs-home-hero__inner {
    position: relative;
    z-index: 4;
    /* Nested flex column so EVERY paragraph child sits horizontally
       centred as a flex item — bypasses the theme-wide `p { max-width:
       70ch }` rule that was rendering the kicker (416px) and price
       (531px) as left-anchored narrow blocks inside a 1000px container.
       Now their box gets centred by align-items and text-align does the
       inner-text centring inside. */
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    /* v3.12.14: 1000 → 1100 for the bigger H1 to breathe */
    max-width: 1100px;
    margin: 0 auto;
}

/*
 * v3.12.14 typography — UI/UX expansion.
 * Modular scale (1.25 = major third) drives visual hierarchy.
 * Increasing vertical margins (kicker→title 20, title→lede 28, lede→price 36)
 * create a natural downward flow.
 */

/* Kicker — mono, mint, slightly wider tracking for small uppercase */
.rxs-home-hero__kicker {
    font-family: var(--ff-mono);
    font-size: 0.75rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--brand-on-dark);
    margin: 0 0 20px;
    font-weight: 600;
}

/* Headline — bigger, more dominant. Modern SaaS hero H1s land 48-64px. */
.rxs-home-hero__title {
    font-family: 'IBM Plex Sans', -apple-system, system-ui, sans-serif;
    font-weight: 700;
    font-size: clamp(2rem, 4.5vw, 3.25rem);
    line-height: 1.1;
    letter-spacing: -0.035em;
    color: #fff;
    margin: 0 0 28px;
    text-wrap: pretty;
}
.rxs-home-hero__title em {
    font-family: var(--ff-heading);
    font-style: italic;
    font-weight: 600;
    color: var(--brand-on-dark);
    letter-spacing: -0.012em;
}

/* Lede — larger, wider max-width so the bigger type flows properly */
.rxs-home-hero__lede {
    margin: 0 auto 36px;
    max-width: 56ch;
    font-size: 1.1rem;
    line-height: 1.55;
    color: #a1a1aa;
    font-weight: 400;
}

/* Price — proportional to lede via modular scale */
.rxs-home-hero__price {
    margin: 0;
    font-size: 1.05rem;
    color: #EDEDE9;
    letter-spacing: 0.02em;
    font-weight: 500;
}

/* Mobile — pulse rings scale to viewport automatically. Just trim margins. */
@media (max-width: 767px) {
    .rxs-home-hero {
        padding: 150px 16px 180px;
    }
    .rxs-home-hero__kicker { margin-bottom: 16px; }
    .rxs-home-hero__title  { margin-bottom: 20px; }
    .rxs-home-hero__lede   { margin-bottom: 24px; }
}

/* Extra-small screens: title needs to be smaller so it doesn't wrap into
   5+ awkward lines. */
@media (max-width: 640px) {
    .rxs-home-hero__title {
        font-size: 1.7rem;
        line-height: 1.16;
        letter-spacing: -0.025em;
    }
    .rxs-home-hero__lede {
        font-size: 1rem;
        max-width: none;
    }
    .rxs-home-hero__kicker {
        font-size: 0.68rem;
    }
}

/* Glow toggle button — subtle top-right chip */
.rxs-home-hero__glow-toggle {
    position: absolute;
    top: 14px;
    right: 18px;
    z-index: 6;
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.72);
    font-family: var(--ff-mono);
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.rxs-home-hero__glow-toggle:hover {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.28);
}
.rxs-home-hero__glow-toggle:focus-visible {
    outline: 2px solid var(--brand-on-dark);
    outline-offset: 3px;
}

/* Glow toggle: element was removed in v3.12.10, keep .is-glowless rule
   scoped so a future re-add just works. */
.rxs-home-hero.is-glowless {
    background: #09090b;
}
.rxs-home-hero.is-glowless .rxs-home-hero__stars,
.rxs-home-hero.is-glowless .rxs-home-hero__glow {
    display: none;
}

/* ================================================================
   QUESTIONS — Section 09 (v3.12.23)
   Dark FAQ accordion on the same surface as Sections 04/05.
   First item open on load. Every answer stays in the HTML (CSS-only
   hides closed answers) so Google + LLMs index all of them.
   ================================================================ */

.rxs-qns {
    --qns-bg:            #09090b;
    --qns-line:          var(--rxs-line);
    --qns-ink:           var(--rxs-ink-soft);
    --qns-muted:         var(--rxs-muted-2);
    --qns-brand:         var(--brand-on-dark, #18D4BB);

    background: var(--qns-bg);
    border-top: 1px solid #1e1e22;
    padding: 52px 20px 58px !important;
    color: var(--qns-ink);
    margin-top: 0 !important;
}

.rxs-qns__inner {
    max-width: 1000px;
    margin: 0 auto;
}

.rxs-qns__label {
    font-family: var(--ff-mono);
    font-size: var(--rxs-fs-eyebrow);
    font-weight: 600;
    letter-spacing: var(--rxs-ls-eyebrow);
    text-transform: uppercase;
    color: var(--qns-brand);
    margin: 0 auto 12px;
}

.rxs-qns__heading {
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: var(--rxs-fs-heading);
    letter-spacing: var(--rxs-ls-heading);
    color: #fff;
    margin: 0 0 12px;
    text-wrap: pretty;
    line-height: var(--rxs-lh-heading);
}

.rxs-qns__list {
    margin-top: 4px;
}

.rxs-qns__item {
    border-top: 1px solid var(--qns-line);
}
.rxs-qns__item:last-child {
    border-bottom: 1px solid var(--qns-line);
}

.rxs-qns__qwrap {
    margin: 0;
    font-weight: inherit;
    font-size: inherit;
}

.rxs-qns__q {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: 0;
    cursor: pointer;
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: 1.02rem;
    color: var(--qns-ink);
    letter-spacing: -0.015em;
    line-height: 1.3;
    padding: 16px 36px 16px 0;
    position: relative;
    transition: color 0.18s;
}
.rxs-qns__q:hover { color: #fff; }
.rxs-qns__q:focus-visible {
    outline: 2px solid var(--qns-brand);
    outline-offset: 3px;
    border-radius: 3px;
}

/* Chevron */
.rxs-qns__q::after {
    content: "";
    position: absolute;
    right: 7px;
    top: 50%;
    width: 9px;
    height: 9px;
    border-right: 1.8px solid var(--qns-brand);
    border-bottom: 1.8px solid var(--qns-brand);
    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.22s ease;
}
.rxs-qns__item.is-open .rxs-qns__q::after {
    transform: translateY(-30%) rotate(-135deg);
}

/* Closed answer hidden by CSS. Every answer still in the HTML for crawlers. */
.rxs-qns__item:not(.is-open) .rxs-qns__a {
    display: none;
}
.rxs-qns__a p {
    font-size: 0.89rem;
    color: var(--qns-muted);
    line-height: var(--rxs-lh-body);
    margin: 0;
    padding: 0 40px 18px 0;
    max-width: 72ch;
}

@media (prefers-reduced-motion: reduce) {
    .rxs-qns__q,
    .rxs-qns__q::after { transition: none; }
}

@media (max-width: 640px) {
    .rxs-qns { padding: 38px 16px 42px !important; }
    .rxs-qns__q { font-size: 0.98rem; padding: 14px 32px 14px 0; }
    .rxs-qns__a p { padding-right: 0; }
}

/* ================================================================
   THE GAP — Section 04 (v3.12.42)
   Where Pharmacy First stops. Patient journey illustration +
   9 glass-morphism condition cards. All condition names in DOM.
   ================================================================ */

.rxs-gap {
    --gap-bg:            #09090b;
    --gap-surface:       #0e0e11;
    --gap-card:          rgba(255, 255, 255, 0.035);
    --gap-card-border:   rgba(24, 212, 187, 0.18);
    --gap-card-glow:     rgba(24, 212, 187, 0.08);
    --gap-line:          #27272a;
    --gap-ink:           var(--rxs-ink-soft);
    --gap-ink-2:         var(--rxs-ink-2);
    --gap-muted:         #a1a1aa;
    --gap-muted-2:       var(--rxs-body);
    --gap-brand:         var(--brand-on-dark, #18D4BB);
    --gap-icon-bg:       rgba(24, 212, 187, 0.12);
    --gap-dot:           #52525b;

    background: var(--gap-bg);
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    padding: 52px 26px 58px !important;
    color: var(--gap-ink);
    margin-top: 0 !important;
}

.rxs-gap__inner {
    max-width: 1200px;
    margin: 0 auto;
}

.rxs-gap__label {
    font-family: var(--ff-mono);
    font-size: var(--rxs-fs-eyebrow);
    font-weight: 600;
    letter-spacing: var(--rxs-ls-eyebrow);
    text-transform: uppercase;
    color: var(--gap-brand);
    margin: 0 auto 12px;
}

.rxs-gap__heading {
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: var(--rxs-fs-heading);
    letter-spacing: var(--rxs-ls-heading);
    color: var(--rxs-ink);
    margin: 0 0 12px;
    text-wrap: pretty;
    line-height: var(--rxs-lh-heading);
}

.rxs-gap__lede {
    font-size: var(--rxs-fs-body);
    line-height: 1.55;
    color: var(--gap-muted-2);
    margin: 0 auto 4px;
    max-width: 58ch;
}

.rxs-gap__body {
    font-size: var(--rxs-fs-body);
    line-height: var(--rxs-lh-body);
    color: var(--gap-muted);
    margin: 0 0 0.85em;
    max-width: none;
}
.rxs-gap__body b {
    color: var(--gap-ink);
    font-weight: 600;
}

/* Patient queue — 5 people asking, one place you send them */
.rxs-gap__qwrap {
    border: 1px solid #2d2418;
    border-radius: 14px;
    background: #141416;
    padding: 20px 20px 22px;
    margin: 22px 0 26px;
}
.rxs-gap__qrow {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 0;
}
.rxs-gap__qpeople {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
}
.rxs-gap__qp {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
}
.rxs-gap__pfig {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #20160c;
    border: 1px solid #6b5326;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
}
.rxs-gap__pfig img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    display: block;
    filter: brightness(1.3);
}
.rxs-gap__qp b {
    font-size: 0.76rem;
    font-weight: 400;
    font-style: italic;
    line-height: 1.42;
    color: #e2cba9;
}
.rxs-gap__qarrow {
    width: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 0 6px;
}
.rxs-gap__qarrow::before {
    content: "";
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #8a6a34);
}
.rxs-gap__qarrow::after {
    content: "";
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    border-left: 7px solid #8a6a34;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
}
.rxs-gap__qend {
    width: 160px;
    text-align: center;
    background: rgba(138, 106, 52, 0.08);
    border: 1px solid rgba(138, 106, 52, 0.25);
    border-radius: 14px;
    padding: 20px 14px 18px;
}
.rxs-gap__qendi {
    width: 52px;
    height: 52px;
    margin: 0 auto 10px;
    border-radius: 50%;
    background: rgba(224, 178, 113, 0.12);
    border: 1.5px solid rgba(224, 178, 113, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--ff-mono);
    font-size: 0.82rem;
    font-weight: 700;
    color: #e0b271;
}
.rxs-gap__qend b {
    display: block;
    font-size: 0.84rem;
    font-weight: 600;
    color: #e0b271;
    line-height: 1.3;
}
.rxs-gap__qend span {
    display: block;
    font-size: 0.72rem;
    color: #a89470;
    margin-top: 5px;
    line-height: 1.4;
}
.rxs-gap__qcap {
    font-size: 0.86rem;
    color: #b9a888;
    margin: 18px 0 0;
    line-height: 1.55;
}
@media (max-width: 820px) {
    .rxs-gap__qrow { grid-template-columns: 1fr; gap: 20px; justify-items: center; }
    .rxs-gap__qarrow { display: none; }
    .rxs-gap__qpeople { grid-template-columns: repeat(3, 1fr); gap: 16px; }
    .rxs-gap__qend { width: 200px; }
}
@media (max-width: 580px) {
    .rxs-gap__qpeople { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .rxs-gap__qwrap { padding: 16px 14px 18px; }
}

/* Category grid — 10 cards (9 + hero), glass-morphism cards */
.rxs-gap__cats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin: 28px 0 0;
}
.rxs-gap__cat {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(24, 212, 187, 0.18);
    border-radius: 12px;
    padding: 16px 16px 18px;
    transition: border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
    position: relative;
}
.rxs-gap__cat:hover {
    border-color: rgba(24, 212, 187, 0.35);
    background: rgba(24, 212, 187, 0.04);
    box-shadow: 0 0 20px rgba(24, 212, 187, 0.08);
}

/* Centre hero card */
.rxs-gap__cat--hero {
    border: 1px solid rgba(24, 212, 187, 0.30);
    background: rgba(24, 212, 187, 0.03);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow: 0 0 20px rgba(24, 212, 187, 0.06);
}
.rxs-gap__cat--hero:hover {
    border-color: rgba(24, 212, 187, 0.42);
    background: rgba(24, 212, 187, 0.05);
    box-shadow: 0 0 28px rgba(24, 212, 187, 0.10);
}
.rxs-gap__cat--hero .rxs-gap__ch {
    flex-direction: column;
    gap: 6px;
    margin-bottom: 2px;
}
.rxs-gap__cat--hero .rxs-gap__ci {
    width: 46px;
    height: 46px;
    background: rgba(24, 212, 187, 0.12);
    border-color: rgba(24, 212, 187, 0.35);
}
.rxs-gap__cat--hero .rxs-gap__ci img {
    width: 30px;
    height: 30px;
}
.rxs-gap__cat--hero .rxs-gap__cn {
    font-size: 1.05rem;
}
.rxs-gap__hero-stat {
    font-size: 0.7rem;
    color: var(--gap-brand);
    margin: 2px 0 0;
    letter-spacing: 0.02em;
    opacity: 0.8;
}

/* Card header */
.rxs-gap__ch {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

/* Icon — circle with custom WebP image */
.rxs-gap__ci {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(24, 212, 187, 0.10);
    border: 1.5px solid rgba(24, 212, 187, 0.28);
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
}
.rxs-gap__ci img {
    width: 26px;
    height: 26px;
    object-fit: contain;
    display: block;
    filter: brightness(1.5) drop-shadow(0 0 1.5px rgba(24, 212, 187, 0.7));
}

.rxs-gap__cn {
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: var(--rxs-fs-card-title);
    letter-spacing: -0.01em;
    color: var(--rxs-ink);
    margin: 0;
}

/* Condition tag list */
.rxs-gap__clist {
    font-size: var(--rxs-fs-detail);
    line-height: var(--rxs-lh-body);
    color: #a1a1aa;
    margin: 0;
}
.rxs-gap__clist em {
    font-style: normal;
    white-space: nowrap;
}
.rxs-gap__clist em + em::before {
    content: ' \00B7  ';
    color: rgba(24, 212, 187, 0.3);
}

/* Two-line clamp */
.rxs-gap__clist.is-clamp {
    max-height: 3.3em;
    overflow: hidden;
    transition: max-height 0.35s ease;
}
.rxs-gap__cat.is-open .rxs-gap__clist.is-clamp {
    max-height: 60em;
}

.rxs-gap__more {
    display: inline-block;
    margin: 5px 0 0;
    padding: 0;
    border: 0;
    background: none;
    font-family: inherit;
    font-size: var(--rxs-fs-hint);
    font-style: italic;
    color: var(--gap-brand);
    cursor: pointer;
    line-height: 1.4;
    opacity: 0.65;
    transition: opacity 0.18s ease;
}
.rxs-gap__more:hover {
    opacity: 1;
}
.rxs-gap__more:focus-visible {
    outline: 2px solid var(--gap-brand);
    outline-offset: 3px;
    border-radius: 2px;
}

@media (max-width: 820px) {
    .rxs-gap__cats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 580px) {
    .rxs-gap {
        padding: 36px 16px 40px !important;
    }
    .rxs-gap__cats { grid-template-columns: 1fr; gap: 4px; }
    .rxs-gap__cat--hero { order: -1; }
    .rxs-gap__cat { padding: 12px 12px 14px; }
    .rxs-gap__cn { font-size: 0.88rem; }
    .rxs-gap__ci { width: 36px; height: 36px; }
    .rxs-gap__ci img { width: 24px; height: 24px; }
    .rxs-gap__clist { font-size: 0.8rem; }
}

@media (prefers-reduced-motion: reduce) {
    .rxs-gap__clist.is-clamp { transition: none; }
    .rxs-gap__cat { transition: none; }
}

/* ================================================================
   BUILT TO EARN — Section 05 (v3.12.19)
   Calculator with three sliders + bar chart + big-figure answer grid.
   Uses centralised theme tokens (--brand-on-dark, --brand, etc.) so a
   single palette change propagates everywhere.
   ================================================================ */

/* Local tokens scoped to the section — pulls from theme palette where
   applicable, defines section-specific dark surfaces. */
.rxs-btm {
    --btm-bg:            #09090b;
    --btm-surface:       var(--rxs-surface);
    --btm-surface-alt:   #141416;
    --btm-line:          var(--rxs-line);
    --btm-line-strong:   #27272a;
    --btm-line-top:      #0B9282;
    --btm-ink:           var(--rxs-ink-soft);
    --btm-ink-2:         var(--rxs-ink-2);
    --btm-muted:         var(--rxs-subtle);
    --btm-muted-2:       var(--rxs-body);
    --btm-brand:         var(--brand-on-dark, #18D4BB);
    --btm-brand-mid:     #0DAA96;
    --btm-brand-deep:    #097a6d;

    background: var(--btm-bg);
    border-top: 1px solid #1e1e22;
    padding: 52px 20px 58px !important;
    color: var(--btm-ink);
    margin-top: 0 !important;
}

.rxs-btm__inner {
    max-width: 1000px;
    margin: 0 auto;
}

.rxs-btm__label {
    font-family: var(--ff-mono);
    font-size: var(--rxs-fs-eyebrow);
    font-weight: 600;
    letter-spacing: var(--rxs-ls-eyebrow);
    text-transform: uppercase;
    color: var(--btm-brand);
    margin: 0 auto 12px;
}

.rxs-btm__heading {
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: var(--rxs-fs-heading);
    letter-spacing: var(--rxs-ls-heading);
    color: var(--rxs-ink);
    margin: 0 0 12px;
    text-wrap: pretty;
}

.rxs-btm__lede {
    font-size: var(--rxs-fs-body);
    line-height: var(--rxs-lh-body);
    color: var(--btm-muted-2);
    margin: 0 auto 26px;
    max-width: 52ch;
}

/* The calculator card */
.rxs-btm__calc {
    border: 1px solid var(--btm-line-strong);
    border-top: 2px solid var(--btm-line-top);
    border-radius: 14px;
    background: var(--btm-surface);
    padding: 24px 24px 26px;
}

/* Answer-first grid at top */
.rxs-btm__top {
    display: grid;
    grid-template-columns: 1fr 1fr 1.2fr;
    gap: 18px;
    align-items: start;
    margin: 0 0 20px;
}
.rxs-btm__big {
    display: flex;
    flex-direction: column;
}
.rxs-btm__flab {
    display: block;
    font-family: var(--ff-mono);
    font-size: var(--rxs-fs-mono-sm);
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--btm-muted);
    margin-bottom: 8px;
}
.rxs-btm__num {
    display: block;
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: 1.72rem;
    color: var(--btm-ink);
    letter-spacing: -0.022em;
    font-variant-numeric: tabular-nums;
    line-height: 1.05;
}
.rxs-btm__sub {
    display: block;
    font-style: normal;
    font-size: 0.73rem;
    color: #71717a;
    margin-top: 6px;
}
.rxs-btm__sub b {
    display: inline;
    font-size: 1em;
    line-height: inherit;
    letter-spacing: 0;
    color: var(--btm-muted-2);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.rxs-btm__sep {
    color: #3d5f57;
    padding: 0 2px;
}
.rxs-btm__big--lead .rxs-btm__num {
    color: var(--btm-brand);
    font-size: 2.5rem;
}

/* Bar chart */
.rxs-btm__bars {
    display: flex;
    align-items: flex-end;
    gap: 5px;
    height: 104px;
    margin: 0;
}
.rxs-btm__bar {
    flex: 1;
    background: linear-gradient(180deg, var(--btm-brand-mid), var(--btm-brand-deep));
    border-radius: 3px 3px 0 0;
    min-height: 4px;
    transition: height 0.45s cubic-bezier(0.22, 0.9, 0.3, 1);
    position: relative;
}
.rxs-btm__bar:last-child {
    background: linear-gradient(180deg, var(--btm-brand), #2a8a72);
}
.rxs-btm__months {
    display: flex;
    gap: 5px;
    margin-top: 7px;
}
.rxs-btm__months span {
    flex: 1;
    text-align: center;
    font-family: var(--ff-mono);
    font-size: 0.56rem;
    letter-spacing: 0.06em;
    color: #5d716d;
}
.rxs-btm__bcap {
    font-size: var(--rxs-fs-hint);
    color: var(--btm-muted);
    margin: 10px 0 0;
    text-align: center;
    font-style: italic;
}

/* Slider controls */
.rxs-btm__controls {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    border-top: 1px solid var(--btm-line);
    margin-top: 20px;
    padding-top: 19px;
}
.rxs-btm__row {
    margin: 0;
}
.rxs-btm__rhead {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}
.rxs-btm__rhead label {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--btm-ink);
    letter-spacing: -0.008em;
}
.rxs-btm__out {
    font-family: var(--ff-mono);
    font-size: 1.12rem;
    font-weight: 600;
    color: var(--btm-brand);
    font-variant-numeric: tabular-nums;
}
.rxs-btm__hint {
    font-size: 0.78rem;
    color: var(--btm-muted);
    margin: 7px 0 0;
}
.rxs-btm__hint b {
    color: var(--btm-ink-2);
    font-weight: 600;
}

/* Range input — dark theme */
.rxs-btm__row input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    border-radius: 3px;
    margin: 13px 0 0;
    background: var(--btm-line);
    cursor: pointer;
}
.rxs-btm__row input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--btm-brand);
    border: 0;
    box-shadow: 0 0 0 4px rgba(24, 212, 187, 0.18);
    cursor: grab;
}
.rxs-btm__row input[type="range"]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--btm-brand);
    border: 0;
    box-shadow: 0 0 0 4px rgba(24, 212, 187, 0.18);
    cursor: grab;
}
.rxs-btm__row input[type="range"]:active::-webkit-slider-thumb { cursor: grabbing; }
.rxs-btm__row input[type="range"]:focus-visible {
    outline: 2px solid var(--btm-brand);
    outline-offset: 4px;
}

/* Responsive breakdown */
@media (max-width: 820px) {
    .rxs-btm__controls {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }
    .rxs-btm__top {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }
    .rxs-btm__big--lead {
        grid-column: 1 / -1;
    }
}
@media (max-width: 560px) {
    .rxs-btm {
        padding: 38px 16px 42px !important;
    }
    .rxs-btm__calc { padding: 19px 16px 21px; }
    .rxs-btm__top,
    .rxs-btm__controls { grid-template-columns: 1fr; }
    .rxs-btm__big--lead .rxs-btm__num { font-size: 2.1rem; }
    .rxs-btm__months span { font-size: 0.5rem; }
}

@media (prefers-reduced-motion: reduce) {
    .rxs-btm__bar { transition: none; }
}

/* ================================================================
   HOMEPAGE VIDEOBAND — Section 02 (v3.12.2)
   Silent app demo video in fake browser chrome, overlaps hero.
   ================================================================ */

.rxs-home-videoband {
    position: relative;
    /* flow-root creates a new block formatting context so the shell's
       negative margin-top DOESN'T collapse with the videoband's own margin
       and pull the whole section up (which was making the next section
       overlap with our H2 copy — screenshot 78 issue). */
    display: flow-root;
    background: #09090b;
    padding: 0 26px 34px;
    color: #EDEDE9;
    margin-top: 0 !important;
}

/* v3.13.15: Trust badges compact strip sits flush after hero/videoband. */
.rxs-home-videoband + .rxs-trust-badges,
.rxs-home-hero + .rxs-trust-badges {
    margin-top: 0 !important;
}

/* Shell centres and lifts the video into the hero above.
   WP core ships `:where(.is-layout-constrained) > :first-child { margin-block-start: 0 }`
   with 0 specificity but on a logical property that wins the cascade over the physical
   `margin` shorthand at equal specificity. Descendant chain bumps our specificity
   past it without needing !important. */
.rxs-home-videoband .rxs-home-videoband__shell {
    /* Bigger video frame per user directive "increase video frame size".
       Design was 900px; 1140px fills the section (1180px content area
       minus 20px inline padding each side). */
    max-width: 1140px;
    margin-top: -200px;
    margin-inline: auto;
    margin-bottom: 0;
    position: relative;
    z-index: 5;
}

/* Browser-chrome frame */
.rxs-home-videoband__frame {
    border-radius: 11px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: #061a17;
    box-shadow:
        0 26px 60px rgba(0, 0, 0, 0.55),
        0 0 60px rgba(24, 212, 187, 0.12);
}

/* Fake browser bar — three dots + URL */
.rxs-home-videoband__bar {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 13px;
    background: #141416;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.rxs-home-videoband__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #1d4a43;
    flex: none;
}
.rxs-home-videoband__url {
    margin-left: 11px;
    font-family: var(--ff-mono);
    font-size: 0.6rem;
    color: #71717a;
}

/* Video fills the frame body */
.rxs-home-videoband__video {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: linear-gradient(135deg, #141416 0%, #061a17 55%, #18181b 100%);
}

/* ================================================================
   APP MOCKUP — Section 02 inside the browser chrome
   Design-matched hand-drawn approximation of the RxSure app UI.
   Ships in place of a screen-recorded demo until the real video
   is produced. Aspect ratio matches so the swap-in is size-safe.
   ================================================================ */

.rxs-app-mockup {
    position: relative;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, #141416 0%, #061a17 55%, #18181b 100%);
    display: flex;
    padding: clamp(14px, 1.2vw, 22px) clamp(16px, 1.5vw, 26px);
    gap: clamp(12px, 1.2vw, 20px);
    color: #EDEDE9;
    font-family: 'IBM Plex Sans', -apple-system, system-ui, sans-serif;
}

.rxs-app-mockup__main {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: clamp(7px, 0.65vw, 12px);
    min-width: 0;
}

/* Tab strip */
.rxs-app-mockup__tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 3px;
}
.rxs-app-mockup__tab {
    padding: 4px 10px;
    border-radius: 5px;
    font-size: clamp(0.58rem, 0.4rem + 0.35vw, 0.82rem);
    font-weight: 600;
    background: #18181b;
    color: #52525b;
}
.rxs-app-mockup__tab.is-active {
    background: #1e1e22;
    color: var(--brand-on-dark, #18D4BB);
}

/* Query rows (patient statements) */
.rxs-app-mockup__query {
    padding: clamp(7px, 0.55vw, 12px) clamp(10px, 0.9vw, 16px);
    border-radius: 5px;
    font-size: clamp(0.6rem, 0.42rem + 0.35vw, 0.86rem);
    background: #18181b;
    color: #a1a1aa;
}

/* Red flag alert card */
.rxs-app-mockup__flag {
    border-radius: 6px;
    padding: clamp(10px, 0.85vw, 16px) clamp(11px, 0.95vw, 18px);
    background: #3a1a16;
    border: 1px solid #8a3a2c;
}
.rxs-app-mockup__flag-top {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: clamp(0.63rem, 0.44rem + 0.35vw, 0.88rem);
    font-weight: 700;
    color: #ff9d8c;
    margin-bottom: 4px;
}
.rxs-app-mockup__flag-icon {
    display: inline-flex;
    font-size: 1.05em;
    line-height: 1;
}
.rxs-app-mockup__flag-body {
    font-size: clamp(0.58rem, 0.4rem + 0.32vw, 0.82rem);
    line-height: 1.42;
    color: #f0c4bb;
    margin: 0 0 8px;
}
.rxs-app-mockup__flag-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.rxs-app-mockup__action {
    padding: 4px 9px;
    border-radius: 4px;
    font-size: clamp(0.55rem, 0.38rem + 0.32vw, 0.78rem);
    font-weight: 600;
}
.rxs-app-mockup__action--stop {
    background: #c0392b;
    color: #fff;
}
.rxs-app-mockup__action--override {
    background: transparent;
    border: 1px solid #8a3a2c;
    color: #f0c4bb;
}
.rxs-app-mockup__spacer {
    flex: 1;
    border-radius: 6px;
    background: rgba(39, 39, 42, 0.5);
}

/* Sidebar — Quick actions */
.rxs-app-mockup__side {
    width: clamp(120px, 12vw, 180px);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.rxs-app-mockup__side-label {
    font-family: var(--ff-mono);
    font-size: clamp(0.52rem, 0.38rem + 0.28vw, 0.72rem);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #a1a1aa;
    margin-bottom: 1px;
}
.rxs-app-mockup__side-btn {
    padding: 6px 8px;
    border-radius: 5px;
    font-size: clamp(0.58rem, 0.42rem + 0.32vw, 0.82rem);
    background: #18181b;
    color: #a1a1aa;
}
.rxs-app-mockup__side-spacer {
    flex: 1;
    border-radius: 5px;
    background: rgba(39, 39, 42, 0.38);
}

/* Mobile — hide the sidebar (design rule) */
@media (max-width: 760px) {
    .rxs-app-mockup {
        padding: 10px 12px;
    }
    .rxs-app-mockup__side {
        display: none;
    }
}

/* Pulse indicator + caption below video */
.rxs-home-videoband__loopnote {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 14px 0 0;
    font-family: var(--ff-mono);
    font-size: 0.58rem;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: #52525b;
}
.rxs-home-videoband__loopnote i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--brand-on-dark);
    display: inline-block;
    animation: rxsVideoLoopPulse 2.4s ease-in-out infinite;
}
@keyframes rxsVideoLoopPulse {
    0%, 100% { opacity: 0.35; }
    50%      { opacity: 1; }
}

/* Copy block below the video */
.rxs-home-videoband__copy {
    /* Wider so the bigger H2 + lede breathe */
    max-width: 780px;
    margin: 48px auto 0;
    text-align: center;
    position: relative;
    z-index: 5;
    padding-bottom: 16px;
}
.rxs-home-videoband__title {
    font-family: var(--ff-heading);
    font-weight: 700;
    /* v3.12.16 expand — bigger presence, still balanced against hero H1 */
    font-size: clamp(1.6rem, 2.4vw, 2.15rem);
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: #fff;
    margin: 0 0 14px;
    text-wrap: pretty;
}
.rxs-home-videoband__lede {
    /* v3.12.16 expand — matches hero lede scale for consistent rhythm */
    font-size: 1.05rem;
    line-height: 1.6;
    color: #a1a1aa;
    margin: 0 auto;
    max-width: 62ch;
}

/* Mobile: smaller overlap so headline stays visible */
@media (max-width: 760px) {
    .rxs-home-videoband {
        padding: 0 14px 26px;
    }
    .rxs-home-videoband .rxs-home-videoband__shell {
        margin-top: -130px;
    }
}

/* Reduced motion: no pulse */
@media (prefers-reduced-motion: reduce) {
    .rxs-home-videoband__loopnote i {
        animation: none;
        opacity: 0.6;
    }
    /* Also pause the video for reduced-motion users */
    .rxs-home-videoband__video {
        /* CSS can't pause a video, JS handles this if needed later */
    }
}

/* Reduced-motion — no drifting particles */
@media (prefers-reduced-motion: reduce) {
    .rxs-home-hero__particles i {
        animation: none;
        opacity: 0.55;
    }
}

/* --- Hero --- */
.rxs-hero {
    position: relative;
    min-height: calc(100vh - 5rem);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--wp--preset--color--ink);
    overflow: hidden;
}

.rxs-hero__media {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.rxs-hero__video,
.rxs-hero__poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rxs-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(
        180deg,
        rgba(18, 25, 28, 0.75) 0%,
        rgba(18, 25, 28, 0.65) 50%,
        rgba(18, 25, 28, 0.80) 100%
    );
}

.rxs-hero__content {
    position: relative;
    z-index: 3;
    max-width: 760px;
    margin: 0 auto;
    padding: 8rem 2rem;
    text-align: center;
    color: var(--wp--preset--color--card);
}

.rxs-hero__eyebrow {
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
    margin: 0 0 1rem;
}

.rxs-hero__headline {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3.5rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: var(--wp--custom--letter-spacing--tight);
    color: var(--wp--preset--color--card);
    margin: 0 0 1.75rem;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

.rxs-hero__standfirst {
    font-size: var(--wp--preset--font-size--x-large);
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.92);
    margin: 0 0 2.5rem;
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
}

.rxs-hero__actions {
    margin-bottom: 1.5rem;
}

.rxs-hero__actions .rxs-btn {
    font-size: var(--wp--preset--font-size--medium);
    padding: 1rem 2.25rem;
}

.rxs-hero__price {
    font-size: var(--wp--preset--font-size--medium);
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
    letter-spacing: 0.01em;
}

@media (max-width: 767px) {
    .rxs-hero {
        min-height: calc(100vh - 4rem);
    }
    .rxs-hero__overlay {
        background: linear-gradient(
            180deg,
            rgba(18, 25, 28, 0.50) 0%,
            rgba(18, 25, 28, 0.40) 50%,
            rgba(18, 25, 28, 0.55) 100%
        );
    }
    .rxs-hero__media {
        background-image: var(--hero-poster);
        background-size: cover;
        background-position: center;
    }
    .rxs-hero__content {
        padding: 5rem 1.25rem;
    }
    .rxs-hero__headline {
        font-size: clamp(2rem, 1.5rem + 2.5vw, 2.75rem);
    }
}

/* --- Trust Badges — Compact Brand Strip --- */
/* v3.13.15: Compact brand strip — 6 badges on primary background. */
.rxs-trust-badges {
    position: relative;
    z-index: 10;
    margin: 0 !important;
    padding: 1.5rem 1.5rem !important;
    background: var(--gray-800, #0e0e11);
    width: 100% !important;
    max-width: 100% !important;
}

.rxs-trust-badges__inner {
    max-width: 1100px;
    margin: 0 auto;
}

.rxs-trust-badges__row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.25rem 2rem;
    max-width: 1100px;
    margin: 0 auto;
}

.rxs-trust-badges__img {
    height: 64px;
    width: auto;
    border-radius: 10px;
}

@media (max-width: 767px) {
    .rxs-trust-badges {
        padding: 1.25rem 1rem !important;
    }
    .rxs-trust-badges__row {
        gap: 1rem 1.25rem;
    }
    .rxs-trust-badges__img {
        height: 50px;
        border-radius: 8px;
    }
}

@media (max-width: 480px) {
    .rxs-trust-badges__img {
        height: 42px;
        border-radius: 6px;
    }
    .rxs-trust-badges__row {
        gap: 0.75rem;
    }
}

/* --- Homepage Section Rhythm — breathing room override --- */
.rxs-demand,
.rxs-ps,
.rxs-how-it-works,
.rxs-demo-video,
.rxs-features-groups,
.rxs-pricing-table,
.rxs-aeo,
.rxs-close {
    padding-top: clamp(56px, 7vw, 88px) !important;
    padding-bottom: clamp(56px, 7vw, 88px) !important;
}

/* --- Demand ("They are already asking you") --- */
.rxs-demand {
    background: linear-gradient(180deg, var(--wp--preset--color--bg) 0%, #fff 100%);
}

.rxs-demand__inner {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.rxs-demand__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3.5rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.025em;
    color: var(--wp--preset--color--ink);
    margin-bottom: 1.5rem;
}

.rxs-demand__intro {
    font-size: 1.15rem;
    color: var(--wp--preset--color--ink-2, #3b464a);
    margin-bottom: 2.5rem;
    line-height: 1.65;
    max-width: 580px;
    margin-left: auto;
    margin-right: auto;
}

.rxs-demand__scenarios {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    margin-bottom: 2.5rem;
}

.rxs-demand__scenario {
    position: relative;
    background: rgba(11, 146, 130, 0.08);
    color: var(--wp--preset--color--ink, #09090b);
    border-radius: 20px;
    padding: 0.75rem 1.4rem;
    font-family: var(--wp--preset--font-family--heading);
    font-style: italic;
    font-size: 0.92rem;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    box-shadow: 0 2px 8px rgba(11, 146, 130, 0.08);
    border: 1px solid rgba(11, 146, 130, 0.1);
    border: none;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
}

.rxs-demand__scenario::after {
    content: '';
    position: absolute;
    bottom: -7px;
    left: 22px;
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 7px solid rgba(11, 146, 130, 0.08);
}

.rxs-demand__scenario:nth-child(even)::after {
    left: auto;
    right: 22px;
}

@media (max-width: 600px) {
    .rxs-demand__scenarios {
        flex-direction: column;
        align-items: flex-start;
    }
}

.rxs-demand__bridge {
    font-size: 1.05rem;
    line-height: 1.75;
    color: var(--wp--preset--color--ink-2, #3b464a);
    margin-bottom: 2rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.rxs-demand__closer {
    font-size: clamp(1.25rem, 1rem + 1.25vw, 1.75rem);
    font-weight: 700;
    font-family: var(--wp--preset--font-family--heading);
    color: var(--wp--preset--color--ink, #09090b);
    margin: 1.5rem 0 0;
    letter-spacing: -0.02em;
    padding-bottom: 1rem;
}

.rxs-conditions {
    background: var(--wp--preset--color--ink);
    padding-top: clamp(64px, 8vw, 100px) !important;
    padding-bottom: clamp(64px, 8vw, 100px) !important;
}

.rxs-conditions__wrap {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 40px);
}

.rxs-demand__conditions-eyebrow {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--brand-accent, #18D4BB);
    text-align: center;
    margin: 0 0 0.75rem;
}

.rxs-demand__conditions-heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.5rem, 1rem + 2vw, 2.2rem);
    font-weight: 700;
    color: var(--wp--preset--color--card, #fff);
    text-align: center;
    margin-bottom: 0.75rem;
    letter-spacing: -0.02em;
}

.rxs-demand__conditions-sub {
    font-size: 0.95rem;
    color: rgba(255,255,255,0.8);
    text-align: center;
    max-width: 520px;
    margin: 0 auto 2.75rem;
    line-height: 1.6;
}

.rxs-demand__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    max-width: 960px;
    margin: 0 auto;
}

@media (max-width: 768px) {
    .rxs-demand__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
    .rxs-demand__grid {
        grid-template-columns: 1fr;
        max-width: 360px;
    }
}

.rxs-demand__category {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(24, 212, 187, 0.12);
    border-radius: 16px;
    padding: 26px 22px;
    backdrop-filter: blur(8px);
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.rxs-demand__category::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #18D4BB, rgba(24,212,187,0.2));
    opacity: 0.5;
    transition: opacity 0.3s;
}

.rxs-demand__category:hover {
    background: rgba(255,255,255,0.08);
    border-color: rgba(24, 212, 187, 0.3);
    transform: translateY(-3px);
    box-shadow: 0 8px 32px rgba(24, 212, 187, 0.1);
}

.rxs-demand__category:hover::before {
    opacity: 1;
}

.rxs-demand__cat-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.rxs-demand__cat-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(24, 212, 187, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
    transition: all 0.3s;
}

.rxs-demand__category:hover .rxs-demand__cat-icon {
    background: rgba(24, 212, 187, 0.22);
    box-shadow: 0 0 12px rgba(24, 212, 187, 0.12);
}

.rxs-demand__cat-name {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 0.95rem;
    font-weight: 600;
    color: #fff;
    margin: 0;
    line-height: 1.2;
}

.rxs-demand__cat-items {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.rxs-demand__tag {
    display: inline-block;
    font-size: 0.8rem;
    line-height: 1;
    padding: 6px 13px;
    background: rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.95);
    border-radius: 20px;
    white-space: nowrap;
    transition: all 0.2s;
}

.rxs-demand__category:hover .rxs-demand__tag {
    background: rgba(255,255,255,0.12);
}

.rxs-demand__tag--more {
    font-style: italic;
    font-weight: 500;
    font-size: 0.75rem;
    opacity: 0.7;
}


/* --- How It Works --- */
.rxs-how-it-works {
    background: #09090b;
    border-top: 1px solid #1e1e22;
    color: var(--rxs-ink-soft);
}

.rxs-hiw__header {
    margin-bottom: 3.5rem;
}

.rxs-hiw__eyebrow {
    font-family: var(--ff-mono);
    font-size: var(--rxs-fs-eyebrow);
    font-weight: 600;
    letter-spacing: var(--rxs-ls-eyebrow);
    text-transform: uppercase;
    color: #18D4BB;
    margin: 0 auto 12px;
}

.rxs-hiw__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: var(--rxs-fs-heading);
    font-weight: 700;
    color: #fff;
    line-height: var(--rxs-lh-heading);
    letter-spacing: var(--rxs-ls-heading);
    margin: 0 0 12px;
    text-wrap: pretty;
}

.rxs-hiw__sub {
    font-size: var(--rxs-fs-body);
    color: var(--rxs-muted-2);
    max-width: 52ch;
    margin: 0 auto;
    line-height: var(--rxs-lh-body);
}

.rxs-hiw__flow {
    display: grid;
    grid-template-columns: 1fr 1.6fr 1fr;
    gap: 2rem;
    max-width: 960px;
    margin: 0 auto;
    align-items: center;
}

@media (max-width: 767px) {
    .rxs-hiw__flow {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        max-width: 420px;
    }
}

.rxs-hiw__card {
    border-radius: 16px;
    padding: 2rem 1.5rem;
    text-align: center;
}

.rxs-hiw__card--side {
    background: #0e0e11;
    border: 1px solid #27272a;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.rxs-hiw__card--center {
    background: linear-gradient(170deg, #0B9282, #097a6d);
    color: #fff;
    padding: 3rem 2rem;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    transform: scale(1.05);
}

@media (max-width: 767px) {
    .rxs-hiw__card--center {
        transform: none;
    }
}

.rxs-hiw__pill {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0.3em 0.9em;
    border-radius: 999px;
    margin-bottom: 1rem;
}

.rxs-hiw__card--side .rxs-hiw__pill {
    background: rgba(24, 212, 187, 0.1);
    color: #18D4BB;
    border: 1px solid rgba(24, 212, 187, 0.2);
}

.rxs-hiw__card--center .rxs-hiw__pill {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.rxs-hiw__time {
    font-family: var(--wp--preset--font-family--heading);
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.rxs-hiw__card--side .rxs-hiw__time {
    font-size: 1.3rem;
    color: #18D4BB;
}

.rxs-hiw__card--center .rxs-hiw__time {
    font-size: 2rem;
    color: #fff;
}

.rxs-hiw__time-label {
    font-size: 0.8rem;
    margin-bottom: 1.5rem;
}

.rxs-hiw__card--side .rxs-hiw__time-label {
    color: #71717a;
}

.rxs-hiw__card--center .rxs-hiw__time-label {
    color: rgba(255, 255, 255, 0.6);
}

.rxs-hiw__list {
    list-style: none;
    text-align: left;
    font-size: var(--rxs-fs-detail);
    line-height: 2;
    padding: 0;
    margin: 0;
}

.rxs-hiw__card--side .rxs-hiw__list li {
    color: #94A3AB;
}

.rxs-hiw__card--center .rxs-hiw__list li {
    color: rgba(255, 255, 255, 0.85);
}

.rxs-hiw__list li::before {
    content: '\2192\00a0';
    font-weight: 600;
}

.rxs-hiw__card--side .rxs-hiw__list li::before {
    color: #18D4BB;
}

.rxs-hiw__card--center .rxs-hiw__list li::before {
    color: var(--brand-accent, #18D4BB);
}

.rxs-hiw__cta {
    text-align: center;
    margin-top: 2.5rem;
}

/* --- Demo Video Facade --- */
.rxs-demo-video__header {
    text-align: center;
    margin-bottom: var(--wp--preset--spacing--50, 2.5rem);
}

.rxs-demo-video__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(2rem, 1.6rem + 2vw, 2.75rem);
    font-weight: 700;
    letter-spacing: var(--wp--custom--letter-spacing--tight, -0.02em);
    color: var(--wp--preset--color--ink);
    line-height: 1.15;
    margin: 0 0 0.625rem;
}

.rxs-demo-video__desc {
    font-size: var(--wp--preset--font-size--medium);
    color: var(--wp--preset--color--ink-2);
    margin: 0;
}

/* Outer frame — constrains width and centres the player */
.rxs-demo-video__frame {
    max-width: 900px;
    margin-inline: auto;
    border-radius: var(--wp--custom--border-radius--lg, 16px);
    box-shadow: var(--wp--preset--shadow--xl, 0 20px 25px -5px rgba(15, 23, 42, 0.1), 0 8px 10px -6px rgba(15, 23, 42, 0.1));
    overflow: hidden;
}

.rxs-demo-video__self {
    width: 100%;
    aspect-ratio: 16 / 9;
    display: block;
    background: #000;
    border-radius: var(--wp--custom--border-radius--lg, 16px);
}

.rxs-demo-video__player {
    position: relative;
    aspect-ratio: 16 / 9;
    cursor: pointer;
    background: var(--wp--preset--color--ink);
}

.rxs-demo-video__poster {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rxs-demo-video__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    opacity: 0.92;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.rxs-demo-video__player:hover .rxs-demo-video__play,
.rxs-demo-video__play:focus-visible {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.07);
}

.rxs-demo-video__play:focus-visible {
    outline: 3px solid var(--wp--preset--color--primary);
    outline-offset: 4px;
    border-radius: 50%;
}

.rxs-demo-video__player iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* --- Features Groups --- */

/* Section header */
.rxs-fg-section-header {
    text-align: center;
    margin-bottom: clamp(2.5rem, 4vw, 4rem);
}

.rxs-fg-section-header__h2 {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    font-weight: 700;
    color: var(--wp--preset--color--ink);
    line-height: var(--wp--custom--line-height--tight);
    letter-spacing: var(--wp--custom--letter-spacing--tight);
    margin: 0;
}

/* Group container */
.rxs-fg {
    margin-bottom: clamp(2.5rem, 4vw, 4rem);
}

.rxs-fg:last-child {
    margin-bottom: 0;
}

/* Group header (buyer question) */
.rxs-fg__header {
    margin-bottom: 1.5rem;
}

.rxs-fg__question {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.125rem, 2vw, 1.375rem);
    font-weight: 700;
    color: var(--wp--preset--color--ink);
    margin: 0 0 0.4rem;
    line-height: var(--wp--custom--line-height--snug);
}

.rxs-fg__note {
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--muted);
    margin: 0;
}

/* Responsive card grid */
.rxs-fg__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

@media (max-width: 1024px) {
    .rxs-fg__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .rxs-fg__grid {
        grid-template-columns: 1fr;
    }
}

/* Feature card */
.rxs-fg__card {
    background: var(--wp--preset--color--card);
    border-radius: 12px;
    border-top: 3px solid var(--wp--preset--color--primary);
    padding: 1.5rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.rxs-fg__card:hover {
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
    transform: translateY(-2px);
}

.rxs-fg__card-title {
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--medium);
    font-weight: 600;
    color: var(--wp--preset--color--ink);
    margin: 0 0 0.5rem;
    line-height: var(--wp--custom--line-height--snug);
}

.rxs-fg__card-desc {
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--ink-2);
    margin: 0;
    line-height: 1.6;
}


/* --- Proof (Pharmacy Cards) --- */
.rxs-proof {
    padding-top: clamp(56px, 7vw, 88px) !important;
    padding-bottom: clamp(56px, 7vw, 88px) !important;
}

.rxs-proof__header {
    text-align: center;
    margin-bottom: 3rem;
}

.rxs-proof__eyebrow {
    display: inline-block;
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary, #0B9282);
    margin: 0 0 0.75rem;
}

.rxs-proof__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.875rem, 1.5rem + 1.88vw, 2.75rem);
    font-weight: 700;
    color: var(--wp--preset--color--ink, #09090b);
    margin: 0;
    line-height: var(--wp--custom--line-height--tight);
}

/* 2x2 grid — stacks to 1 column on mobile */
.rxs-proof__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

@media (min-width: 640px) {
    .rxs-proof__grid {
        grid-template-columns: 1fr 1fr;
    }
}

.rxs-proof__card {
    background: #fff;
    border: 1px solid var(--wp--preset--color--line, #dbdcd7);
    border-left: 3px solid var(--wp--preset--color--primary, #0B9282);
    border-radius: var(--wp--custom--border-radius--md);
    padding: 1.75rem 2rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.rxs-proof__name {
    font-family: var(--wp--preset--font-family--heading);
    font-size: var(--wp--preset--font-size--large);
    font-weight: 600;
    color: var(--wp--preset--color--ink, #09090b);
    margin: 0 0 0.25rem;
}

.rxs-proof__location {
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--muted, #71717a);
    margin: 0 0 1.25rem;
}

.rxs-proof__card:not(.rxs-proof__card--has-quote) .rxs-proof__location {
    margin-bottom: 0;
}

.rxs-proof__quote {
    border-left: 3px solid var(--wp--preset--color--primary, #0B9282);
    padding: 0.75rem 1rem;
    margin: 0 0 0.875rem;
    background: rgba(11, 146, 130, 0.03);
    border-radius: 0 var(--wp--custom--border-radius--sm) var(--wp--custom--border-radius--sm) 0;
}

.rxs-proof__quote:last-child {
    margin-bottom: 0;
}

.rxs-proof__quote p {
    font-style: italic;
    font-size: var(--wp--preset--font-size--medium);
    color: var(--wp--preset--color--ink-2, #52525b);
    line-height: var(--wp--custom--line-height--snug);
    margin: 0;
}

.rxs-proof__attribution {
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600;
    color: var(--wp--preset--color--ink, #09090b);
    margin-top: 0.5rem;
    display: block;
}

.rxs-proof__attribution span {
    display: block;
    font-weight: 400;
    color: var(--wp--preset--color--muted, #71717a);
    margin-top: 0.1rem;
}

/* --- Feature Tag Wall (Card Layout) — Dark Surface --- */
.rxs-ftags {
    background: #0e0e11;
    border-top: 1px solid #1e1e22;
    color: #EDEDE9;
    padding-top: clamp(64px, 8vw, 100px) !important;
    padding-bottom: clamp(64px, 8vw, 100px) !important;
}

.rxs-ftags__header {
    text-align: left;
    margin-bottom: 3rem;
}

.rxs-ftags__eyebrow {
    font-family: var(--ff-mono);
    font-size: var(--rxs-fs-eyebrow);
    font-weight: 600;
    letter-spacing: var(--rxs-ls-eyebrow);
    text-transform: uppercase;
    color: var(--brand-on-dark);
    margin: 0 auto 12px;
}

.rxs-ftags__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: var(--rxs-fs-heading);
    font-weight: 700;
    color: #fff;
    letter-spacing: var(--rxs-ls-heading);
    margin: 0 0 12px;
    text-wrap: pretty;
}

.rxs-ftags__sub {
    font-size: var(--rxs-fs-body);
    color: var(--rxs-muted-2);
    margin: 0;
    max-width: none;
}

/* Titanverse feature grid — 10-column layout */
.rxs-fx {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    grid-auto-rows: 88px;
    gap: 8px;
    grid-auto-flow: dense;
}
.rxs-fx__tile {
    border: 1px solid #27272a;
    border-radius: 14px;
    background: linear-gradient(180deg, #141416, #091714);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 8px;
    padding: 8px 6px;
    transition: border-color 0.2s, transform 0.2s;
}
.rxs-fx__tile:hover {
    border-color: #0B9282;
    transform: translateY(-2px);
}
.rxs-fx__tile svg {
    width: 19px;
    height: 19px;
    stroke: #18D4BB;
    fill: none;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: none;
}
.rxs-fx__tile b {
    font-size: 0.7rem;
    font-weight: 600;
    color: #d4d4d8;
    line-height: 1.22;
    letter-spacing: -0.005em;
}
.rxs-fx__hero {
    grid-column: span 3;
    grid-row: span 2;
    border: 1px solid #2a4a43;
    border-radius: 16px;
    background: linear-gradient(180deg, #10251f, #0a1916);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 16px 14px;
    gap: 8px;
}
.rxs-fx__hero--transcript {
    grid-row: span 3;
    padding: 18px 14px;
}
.rxs-fx__hero h3 {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 1.08rem;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: #fff;
    margin: 0 0 3px;
    line-height: 1.2;
}
.rxs-fx__hero p {
    font-size: 0.78rem;
    color: #9fc4bb;
    margin: 0;
    line-height: 1.4;
}
.rxs-fx__ui {
    margin-bottom: 6px;
}
.rxs-fx__wav {
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1.5px solid #18D4BB;
    border-radius: 99px;
    padding: 8px 12px;
    width: min(100%, 250px);
    background: #141416;
    box-shadow: 0 0 22px rgba(24, 212, 187, 0.18);
}
.rxs-fx__wav i {
    display: block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #18D4BB;
    flex: none;
    animation: rxs-pulse 1.6s ease-in-out infinite;
}
.rxs-fx__wav u {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 2px;
    height: 20px;
    text-decoration: none;
}
.rxs-fx__wav u s {
    display: block;
    flex: 1;
    background: #18D4BB;
    border-radius: 1px;
    opacity: 0.85;
}
@keyframes rxs-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.35; }
}
.rxs-fx__wav u s {
    animation: rxs-bar 1.8s ease-in-out infinite alternate;
}
.rxs-fx__wav u s:nth-child(2n) { animation-delay: 0.15s; }
.rxs-fx__wav u s:nth-child(3n) { animation-delay: 0.3s; }
.rxs-fx__wav u s:nth-child(5n) { animation-delay: 0.45s; }
@keyframes rxs-bar {
    0%   { transform: scaleY(1); }
    50%  { transform: scaleY(0.5); }
    100% { transform: scaleY(1.15); }
}
.rxs-fx__wav em {
    font-family: var(--ff-mono);
    font-size: 0.72rem;
    color: #c9f5ea;
    font-style: normal;
    flex: none;
}
.rxs-fx__transcript {
    width: min(100%, 260px);
    background: #141416;
    border: 1px solid #27272a;
    border-radius: 9px;
    padding: 10px 11px;
    text-align: left;
    margin-top: 6px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.rxs-fx__tline {
    display: block;
    font-size: 0.64rem;
    line-height: 1.45;
    color: #71717a;
}
.rxs-fx__tline--done {
    color: #5eead4;
}
.rxs-fx__tline--live {
    color: #EDEDE9;
}
.rxs-fx__cursor {
    display: inline-block;
    width: 1px;
    height: 0.72em;
    background: #18D4BB;
    margin-left: 1px;
    vertical-align: text-bottom;
    animation: rxs-blink 0.8s step-end infinite;
}
@keyframes rxs-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}
.rxs-fx__alert {
    width: min(100%, 260px);
    border: 1px solid #7a2e22;
    border-radius: 10px;
    background: #2a100c;
    padding: 9px 11px;
    text-align: left;
}
.rxs-fx__alert b {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    color: #ff9d85;
    margin-bottom: 3px;
}
.rxs-fx__alert span {
    display: block;
    font-size: 0.68rem;
    color: #e4b8ac;
    line-height: 1.35;
}
.rxs-fx__rows {
    width: min(100%, 260px);
    display: grid;
    gap: 4px;
}
.rxs-fx__rows div {
    display: flex;
    justify-content: space-between;
    gap: 6px;
    background: #141416;
    border: 1px solid #27272a;
    border-radius: 7px;
    padding: 5px 9px;
    font-size: 0.66rem;
    color: #a9d8cb;
    line-height: 1.25;
}
.rxs-fx__rows div b {
    color: #EDEDE9;
    font-weight: 600;
}
.rxs-fx__cal {
    width: min(100%, 220px);
    background: #141416;
    border: 1px solid #27272a;
    border-radius: 9px;
    padding: 8px;
}
.rxs-fx__cal p {
    font-family: var(--ff-mono);
    font-size: 0.58rem;
    color: #5eead4;
    margin: 0 0 5px;
    text-align: center;
    letter-spacing: 0.08em;
}
.rxs-fx__cal div {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 3px;
}
.rxs-fx__cal span {
    height: 15px;
    border-radius: 3px;
    background: #18181b;
    font-size: 0.52rem;
    color: #52525b;
    display: flex;
    align-items: center;
    justify-content: center;
}
.rxs-fx__cal span.on {
    background: #18D4BB;
    color: #09090b;
    font-weight: 700;
}
.rxs-fx__cal span.o {
    background: #1e1e22;
    color: #a9d8cb;
}
@media (max-width: 900px) {
    .rxs-fx { grid-template-columns: repeat(6, 1fr); }
}
@media (max-width: 560px) {
    .rxs-fx { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 84px; gap: 6px; }
    .rxs-fx__hero { grid-column: span 3; }
}
@media (prefers-reduced-motion: reduce) {
    .rxs-fx__tile, .rxs-fx__hero { transition: none; }
    .rxs-fx__tile:hover { transform: none; }
}

/* --- Revenue Opportunity --- */
.rxs-revenue {
    padding-top: clamp(64px, 8vw, 100px) !important;
    padding-bottom: clamp(64px, 8vw, 100px) !important;
}

.rxs-revenue__header {
    text-align: center;
    margin-bottom: 3rem;
}

.rxs-revenue__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.25rem, 1rem + 1vw, 1.42rem);
    font-weight: 700;
    color: var(--wp--preset--color--card, #fff);
    letter-spacing: -0.02em;
    margin: 0 0 0.75rem;
}

.rxs-revenue__sub {
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
    max-width: 480px;
    margin-inline: auto;
}

.rxs-revenue__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    max-width: 1100px;
    margin: 0 auto;
}

@media (max-width: 1024px) {
    .rxs-revenue__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .rxs-revenue__grid {
        grid-template-columns: 1fr;
        max-width: 400px;
    }
}

.rxs-revenue__card {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 2rem;
    text-align: center;
    transition: all 0.25s ease;
}

.rxs-revenue__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px -8px rgba(11, 146, 130, 0.15);
    border-color: rgba(11, 146, 130, 0.25);
}

.rxs-revenue__icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(11, 146, 130, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin: 0 auto 1.25rem;
    color: var(--wp--preset--color--primary-light, #18D4BB);
}

.rxs-revenue__title {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 0.5rem;
}

.rxs-revenue__body {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
    margin: 0;
}

/* --- Trust Reinforcement Strip --- */
.rxs-trust-strip {
    position: relative;
    z-index: 10;
    margin: 0 !important;
    padding: 22px 26px !important;
    background: #09090b;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    width: 100% !important;
}

.rxs-trust-strip__row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.75rem 2.75rem;
    flex-wrap: wrap;
    max-width: 1140px;
    margin: 0 auto;
}

.rxs-trust-strip__item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.rxs-trust-strip__icon {
    display: flex;
    color: var(--brand-on-dark, #18D4BB);
    flex-shrink: 0;
    width: 17px;
    height: 17px;
}
.rxs-trust-strip__icon svg {
    width: 100%;
    height: 100%;
}

.rxs-trust-strip__label {
    font-family: var(--wp--preset--font-family--body);
    font-size: 0.79rem;
    font-weight: 500;
    color: #a1a1aa;
    white-space: nowrap;
}

.rxs-trust-strip__sep {
    display: none;
}

@media (max-width: 767px) {
    .rxs-trust-strip {
        padding: 1.5rem 1rem !important;
    }
    .rxs-trust-strip__row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.6rem 1.25rem;
        justify-items: center;
    }
    .rxs-trust-strip__sep { display: none; }
    .rxs-trust-strip__label { font-size: 0.75rem; }
    .rxs-trust-strip__icon { width: 15px; height: 15px; }
}

/* --- AEO Accordion --- */
.rxs-aeo__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: var(--wp--preset--font-size--xx-large);
    font-weight: 700;
    color: var(--wp--preset--color--ink);
    margin: 0 0 1.5rem;
}

.rxs-aeo__items {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.rxs-aeo__item {
    border-bottom: 1px solid var(--wp--preset--color--line);
}

.rxs-aeo__item:first-child {
    border-top: 1px solid var(--wp--preset--color--line);
}

.rxs-aeo__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 0;
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--large);
    font-weight: 600;
    color: var(--wp--preset--color--ink);
    cursor: pointer;
    list-style: none;
}

.rxs-aeo__question::-webkit-details-marker,
.rxs-aeo__question::marker {
    display: none;
    content: "";
}

.rxs-aeo__question::after {
    content: "+";
    font-family: var(--wp--preset--font-family--mono);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--wp--preset--color--muted);
    flex-shrink: 0;
    margin-left: 1rem;
    transition: transform 0.2s;
}

.rxs-aeo__item[open] > .rxs-aeo__question::after {
    content: "−";
    color: var(--wp--preset--color--primary);
}

.rxs-aeo__answer {
    padding: 0 0 1.25rem;
}

.rxs-aeo__answer p {
    font-size: var(--wp--preset--font-size--medium);
    color: var(--wp--preset--color--ink-2);
    line-height: var(--wp--custom--line-height--normal);
    margin: 0;
    max-width: 640px;
}

/* --- Pricing Table --- */
.rxs-pricing-table__header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.rxs-pricing-table__eyebrow {
    display: block;
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--x-small);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary);
    margin-bottom: 0.75rem;
}

.rxs-pricing-table__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.875rem, 1.5rem + 1.875vw, 2.75rem);
    font-weight: 700;
    color: var(--wp--preset--color--ink);
    margin: 0;
    line-height: var(--wp--custom--line-height--tight);
    letter-spacing: var(--wp--custom--letter-spacing--tight);
}

.rxs-pricing-table__prose {
    max-width: 700px;
    margin: 0 auto 2rem;
    text-align: center;
}

.rxs-pricing-table__prose p {
    font-size: 0.95rem;
    color: var(--wp--preset--color--ink-2);
    line-height: 1.6;
    margin: 0 0 0.75rem;
}

.rxs-pricing-table__prose p:last-child {
    margin-bottom: 0;
}

.rxs-pricing-table__table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 0.75rem;
    font-family: var(--wp--preset--font-family--body);
}

.rxs-pricing-table__table th {
    background: var(--wp--preset--color--card);
    font-family: var(--wp--preset--font-family--mono);
    font-size: var(--wp--preset--font-size--x-small);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--wp--preset--color--muted);
    padding: 0.875rem 1.25rem;
    text-align: left;
    border-bottom: 2px solid var(--wp--preset--color--line);
}

.rxs-pricing-table__table tbody tr:nth-child(odd) {
    background: var(--wp--preset--color--bg);
}

.rxs-pricing-table__table tbody tr:nth-child(even) {
    background: var(--wp--preset--color--card);
}

.rxs-pricing-table__table td {
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid var(--wp--preset--color--line);
    font-size: var(--wp--preset--font-size--medium);
    color: var(--wp--preset--color--ink-2);
}

.rxs-pricing-table__table td:first-child {
    font-family: var(--wp--preset--font-family--mono);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--wp--preset--color--ink);
    white-space: nowrap;
}

.rxs-pricing-table__table td:last-child {
    color: var(--wp--preset--color--primary);
    font-weight: 500;
}

.rxs-pricing-table__vat-note {
    font-size: var(--wp--preset--font-size--x-small);
    color: var(--wp--preset--color--muted);
    text-align: center;
    margin: 0 0 2.5rem;
    letter-spacing: 0.02em;
}

.rxs-pricing-table__cta {
    margin-top: 2rem;
    text-align: center;
}

/* --- Close CTA --- */
.rxs-close {
    text-align: center;
}

.rxs-close__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.25rem, 1rem + 1vw, 1.42rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.018em;
    color: var(--wp--preset--color--card);
    margin: 0 0 1.25rem;
}

.rxs-close__sub {
    font-size: var(--wp--preset--font-size--large);
    line-height: var(--wp--custom--line-height--normal);
    color: rgba(255, 255, 255, 0.72);
    margin: 0 auto 2.5rem;
    max-width: 560px;
}

.rxs-close__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    margin-top: 0;
}


.rxs-close__price {
    font-size: var(--wp--preset--font-size--small);
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
    letter-spacing: 0.01em;
}

/* --- Inner Page Hero (shared) --- */
.rxs-page-hero {
    text-align: center;
    padding-top: clamp(5rem, 8vw, 7rem) !important;
}

.rxs-page-hero__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: var(--wp--preset--font-size--4x-large);
    font-weight: 700;
    line-height: var(--wp--custom--line-height--tight);
    letter-spacing: var(--wp--custom--letter-spacing--tight);
    color: var(--wp--preset--color--ink);
    margin: 0 0 1rem;
}

.rxs-page-hero__sub {
    font-size: var(--wp--preset--font-size--large);
    color: var(--wp--preset--color--ink-2);
    max-width: 580px;
    margin: 0 auto;
}

.rxs-page-hero__desc {
    font-size: var(--wp--preset--font-size--medium);
    color: var(--wp--preset--color--ink-2);
    max-width: 620px;
    margin: 1rem auto 0;
}

.rxs-page-hero__icon {
    display: block;
    font-size: 2.5rem;
    margin-bottom: 0.75rem;
}

/* --- Breadcrumb --- */
.rxs-breadcrumb {
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--x-small);
    color: var(--wp--preset--color--muted, #6c7679);
    margin-bottom: 1.5rem;
}

@media (max-width: 899px) {
    .rxs-breadcrumb { display: none; }
}

.rxs-breadcrumb a {
    color: var(--wp--preset--color--muted, #6c7679);
    text-decoration: none;
}

.rxs-breadcrumb a:hover {
    color: var(--wp--preset--color--primary);
    text-decoration: underline;
}

.rxs-breadcrumb span[aria-hidden] {
    margin: 0 0.35rem;
}

/* --- Pillar Cards Grid (Features Hub) --- */
.rxs-pillar-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 640px) {
    .rxs-pillar-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.rxs-pillar-card {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    background: var(--wp--preset--color--card);
    border: 1px solid var(--wp--preset--color--line);
    border-radius: var(--wp--custom--border-radius--md);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.rxs-pillar-card:hover {
    border-color: var(--wp--preset--color--primary);
    box-shadow: var(--wp--preset--shadow--md);
    transform: translateY(-2px);
}

.rxs-pillar-card__icon {
    font-size: 1.75rem;
    margin-bottom: 0.75rem;
}

.rxs-pillar-card__title {
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--large);
    font-weight: 600;
    color: var(--wp--preset--color--ink);
    margin: 0 0 0.35rem;
}

.rxs-pillar-card__desc {
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--ink-2);
    margin: 0;
    flex: 1;
}

.rxs-pillar-card__arrow {
    font-size: var(--wp--preset--font-size--large);
    color: var(--wp--preset--color--primary);
    margin-top: 1rem;
    align-self: flex-end;
    transition: transform 0.2s;
}

.rxs-pillar-card:hover .rxs-pillar-card__arrow {
    transform: translateX(4px);
}

/* ================================================================
   FEATURE PILLAR SUB-PAGES (rxs-fp-*)
   ================================================================ */

/* --- Overview --- */
.rxs-fp-overview {
    text-align: center;
}

.rxs-fp-overview__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: var(--wp--preset--font-size--3x-large);
    font-weight: 700;
    line-height: var(--wp--custom--line-height--tight);
    letter-spacing: var(--wp--custom--letter-spacing--tight);
    color: var(--wp--preset--color--ink);
    margin: 0 0 1rem;
}

.rxs-fp-overview__text {
    font-size: var(--wp--preset--font-size--large);
    color: var(--wp--preset--color--ink-2);
    max-width: 65ch;
    margin: 0 auto 2rem;
    line-height: var(--wp--custom--line-height--relaxed);
}

.rxs-fp-overview__image {
    display: block;
    width: 100%;
    max-width: 800px;
    height: auto;
    margin: 0 auto;
    border-radius: var(--wp--custom--border-radius--lg);
    box-shadow: var(--wp--preset--shadow--md);
}

/* --- Key Benefits --- */
.rxs-fp-benefits__header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.rxs-fp-benefits__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: var(--wp--preset--font-size--3x-large);
    font-weight: 700;
    color: var(--wp--preset--color--ink);
    margin: 0;
}

.rxs-fp-benefits__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.rxs-fp-benefits__card {
    padding: 2rem 1.5rem;
    background: var(--wp--preset--color--card);
    border: 1px solid var(--wp--preset--color--line);
    border-radius: var(--wp--custom--border-radius--md);
    text-align: center;
    transition: box-shadow 0.2s ease, transform 0.15s ease;
}

.rxs-fp-benefits__card:hover {
    box-shadow: var(--wp--preset--shadow--md);
    transform: translateY(-2px);
}

.rxs-fp-benefits__icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--wp--preset--color--primary-soft);
    border-radius: 50%;
    color: var(--wp--preset--color--primary);
}

.rxs-fp-benefits__title {
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--large);
    font-weight: 600;
    color: var(--wp--preset--color--ink);
    margin: 0 0 0.5rem;
}

.rxs-fp-benefits__desc {
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--ink-2);
    line-height: var(--wp--custom--line-height--relaxed);
    margin: 0;
}

/* --- Features Header --- */
.rxs-fp-features__header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.rxs-fp-features__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: var(--wp--preset--font-size--3x-large);
    font-weight: 700;
    color: var(--wp--preset--color--ink);
    margin: 0;
}

/* --- How It Works --- */
.rxs-fp-hiw__header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.rxs-fp-hiw__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: var(--wp--preset--font-size--3x-large);
    font-weight: 700;
    color: var(--wp--preset--color--ink);
    margin: 0;
}

.rxs-fp-hiw__steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.rxs-fp-hiw__step {
    text-align: center;
    padding: 2rem 1.5rem;
}

.rxs-fp-hiw__num {
    display: inline-flex;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--card);
    font-family: var(--wp--preset--font-family--heading);
    font-weight: 700;
    font-size: var(--wp--preset--font-size--x-large);
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem;
}

.rxs-fp-hiw__title {
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--large);
    font-weight: 600;
    color: var(--wp--preset--color--ink);
    margin: 0 0 0.5rem;
}

.rxs-fp-hiw__desc {
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--ink-2);
    line-height: var(--wp--custom--line-height--relaxed);
    margin: 0;
}

/* --- Related Pillars Header --- */
.rxs-fp-related__header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.rxs-fp-related__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: var(--wp--preset--font-size--3x-large);
    font-weight: 700;
    color: var(--wp--preset--color--ink);
    margin: 0;
}

/* --- FAQ Header --- */
.rxs-fp-faq__header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.rxs-fp-faq__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: var(--wp--preset--font-size--3x-large);
    font-weight: 700;
    color: var(--wp--preset--color--ink);
    margin: 0;
}

/* --- Feature Pillar Responsive --- */
@media (max-width: 767px) {
    .rxs-fp-benefits__grid {
        grid-template-columns: 1fr;
    }

    .rxs-fp-hiw__steps {
        grid-template-columns: 1fr;
    }

    .rxs-fp-related .rxs-pillar-grid {
        grid-template-columns: 1fr !important;
    }

    .rxs-fp-overview__heading,
    .rxs-fp-benefits__heading,
    .rxs-fp-features__heading,
    .rxs-fp-hiw__heading,
    .rxs-fp-related__heading,
    .rxs-fp-faq__heading {
        font-size: var(--wp--preset--font-size--xx-large);
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .rxs-fp-benefits__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rxs-fp-hiw__steps {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* --- Feature Pillar: WP :where() specificity override --- */
body.page-template-page-feature-pillar .rxs-page-hero__heading,
body.page-template-page-features .rxs-page-hero__heading {
    font-size: clamp(2.625rem, 2rem + 3.13vw, 3.75rem);
    line-height: var(--wp--custom--line-height--tight);
    letter-spacing: -0.03em;
}

body.page-template-page-feature-pillar .rxs-fp-overview__heading,
body.page-template-page-feature-pillar .rxs-fp-benefits__heading,
body.page-template-page-feature-pillar .rxs-fp-features__heading,
body.page-template-page-feature-pillar .rxs-fp-hiw__heading,
body.page-template-page-feature-pillar .rxs-fp-related__heading,
body.page-template-page-feature-pillar .rxs-fp-faq__heading {
    font-size: clamp(2.125rem, 1.75rem + 1.88vw, 3rem);
    line-height: var(--wp--custom--line-height--tight);
    letter-spacing: -0.02em;
}

/* ================================================================
   FEATURES HUB + PILLAR — dark theme
   ================================================================ */

body.page-template-page-features,
body.page-template-page-feature-pillar {
    background: var(--rxs-surface, #0e0e11) !important;
}

body.page-template-page-features .site-header,
body.page-template-page-feature-pillar .site-header {
    background: rgba(9, 9, 11, 0.55);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
}

body.page-template-page-features .site-header .rxs-nav__link,
body.page-template-page-features .site-header .rxs-nav__toggle,
body.page-template-page-features .site-header .rxs-login-trigger,
body.page-template-page-feature-pillar .site-header .rxs-nav__link,
body.page-template-page-feature-pillar .site-header .rxs-nav__toggle,
body.page-template-page-feature-pillar .site-header .rxs-login-trigger {
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

body.page-template-page-features .site-header .rxs-nav__link:hover,
body.page-template-page-features .site-header .rxs-nav__toggle:hover,
body.page-template-page-features .site-header .rxs-login-trigger:hover,
body.page-template-page-feature-pillar .site-header .rxs-nav__link:hover,
body.page-template-page-feature-pillar .site-header .rxs-nav__toggle:hover,
body.page-template-page-feature-pillar .site-header .rxs-login-trigger:hover {
    color: #fff;
}

body.page-template-page-features .site-header .rxs-login-trigger,
body.page-template-page-feature-pillar .site-header .rxs-login-trigger {
    border-color: rgba(255, 255, 255, 0.35);
}

body.page-template-page-features .site-header .rxs-login-trigger:hover,
body.page-template-page-feature-pillar .site-header .rxs-login-trigger:hover {
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.08);
}

body.page-template-page-features .site-header .rxs-mobile-toggle span,
body.page-template-page-feature-pillar .site-header .rxs-mobile-toggle span {
    background: #fff;
}

body.page-template-page-features .site-header--scrolled,
body.page-template-page-feature-pillar .site-header--scrolled {
    background: rgba(9, 9, 11, 0.82);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
}

body.page-template-page-features .rxs-logo__default,
body.page-template-page-feature-pillar .rxs-logo__default {
    display: none;
}

body.page-template-page-features .rxs-logo__white,
body.page-template-page-feature-pillar .rxs-logo__white {
    display: block;
}

/* Hero text */
body.page-template-page-features .rxs-page-hero__heading,
body.page-template-page-feature-pillar .rxs-page-hero__heading {
    color: #fff;
}

body.page-template-page-features .rxs-page-hero__sub,
body.page-template-page-feature-pillar .rxs-page-hero__sub,
body.page-template-page-feature-pillar .rxs-page-hero__desc {
    color: rgba(255, 255, 255, 0.85);
}

body.page-template-page-features .rxs-eyebrow,
body.page-template-page-feature-pillar .rxs-eyebrow {
    background: rgba(24, 212, 187, 0.12);
    color: #18D4BB;
}

body.page-template-page-features .rxs-breadcrumb,
body.page-template-page-features .rxs-breadcrumb a,
body.page-template-page-feature-pillar .rxs-breadcrumb,
body.page-template-page-feature-pillar .rxs-breadcrumb a {
    color: rgba(255, 255, 255, 0.65);
}

body.page-template-page-features .rxs-breadcrumb a:hover,
body.page-template-page-feature-pillar .rxs-breadcrumb a:hover {
    color: #18D4BB;
}

/* Features Hub: pillar cards dark */
body.page-template-page-features .rxs-pillar-card {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

body.page-template-page-features .rxs-pillar-card:hover {
    border-color: var(--brand-accent);
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
    transform: translateY(-2px);
}

body.page-template-page-features .rxs-pillar-card__title {
    color: #fff;
}

body.page-template-page-features .rxs-pillar-card__desc {
    color: rgba(255, 255, 255, 0.8);
}

body.page-template-page-features .rxs-pillar-card__arrow {
    color: #18D4BB;
}

/* Pillar sub-page: overview */
body.page-template-page-feature-pillar .rxs-fp-overview__heading {
    color: #fff;
}

body.page-template-page-feature-pillar .rxs-fp-overview__text {
    color: rgba(255, 255, 255, 0.85);
}

/* Pillar sub-page: benefits */
body.page-template-page-feature-pillar .rxs-fp-benefits {
    background: rgba(255, 255, 255, 0.02) !important;
}

body.page-template-page-feature-pillar .rxs-fp-benefits__heading {
    color: #fff;
}

body.page-template-page-feature-pillar .rxs-fp-benefits__card {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

body.page-template-page-feature-pillar .rxs-fp-benefits__card:hover {
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

body.page-template-page-feature-pillar .rxs-fp-benefits__icon {
    background: rgba(24, 212, 187, 0.12);
    color: #18D4BB;
}

body.page-template-page-feature-pillar .rxs-fp-benefits__title {
    color: #fff;
}

body.page-template-page-feature-pillar .rxs-fp-benefits__desc {
    color: rgba(255, 255, 255, 0.8);
}

/* Pillar sub-page: features list */
body.page-template-page-feature-pillar .rxs-fp-features__heading {
    color: #fff;
}

body.page-template-page-feature-pillar .plan-feature-block {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

body.page-template-page-feature-pillar .plan-feature-block__title {
    color: #fff;
}

body.page-template-page-feature-pillar .plan-feature-block__desc {
    color: rgba(255, 255, 255, 0.8);
}

body.page-template-page-feature-pillar .plan-feature-block__tag {
    background: rgba(24, 212, 187, 0.12);
    color: #18D4BB;
}

body.page-template-page-feature-pillar .badge-beta {
    background: rgba(255, 193, 7, 0.12);
    color: #ffc107;
}

/* Pillar sub-page: how it works */
body.page-template-page-feature-pillar .rxs-fp-hiw {
    background: rgba(11, 146, 130, 0.15) !important;
}

body.page-template-page-feature-pillar .rxs-fp-hiw__heading {
    color: #fff;
}

body.page-template-page-feature-pillar .rxs-fp-hiw__title {
    color: #fff;
}

body.page-template-page-feature-pillar .rxs-fp-hiw__desc {
    color: rgba(255, 255, 255, 0.8);
}

/* Pillar sub-page: related pillars */
body.page-template-page-feature-pillar .rxs-fp-related__heading {
    color: #fff;
}

body.page-template-page-feature-pillar .rxs-pillar-card {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

body.page-template-page-feature-pillar .rxs-pillar-card:hover {
    border-color: var(--brand-accent);
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

body.page-template-page-feature-pillar .rxs-pillar-card__title {
    color: #fff;
}

body.page-template-page-feature-pillar .rxs-pillar-card__desc {
    color: rgba(255, 255, 255, 0.8);
}

body.page-template-page-feature-pillar .rxs-pillar-card__arrow {
    color: #18D4BB;
}

/* Pillar sub-page: FAQ section */
body.page-template-page-feature-pillar .rxs-fp-faq {
    background: rgba(255, 255, 255, 0.02) !important;
}

body.page-template-page-feature-pillar .rxs-fp-faq__heading {
    color: #fff;
}

/* --- Pricing Cards (Pricing Hub) --- */
.rxs-pricing-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    align-items: stretch;
}

@media (min-width: 768px) {
    .rxs-pricing-cards {
        grid-template-columns: repeat(3, 1fr);
    }
}

.rxs-pricing-card {
    background: var(--wp--preset--color--card);
    border: 1px solid var(--wp--preset--color--line);
    border-radius: var(--wp--custom--border-radius--md);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.rxs-pricing-card__header {
    padding: 1.75rem 1.5rem;
    text-align: center;
    border-bottom: 1px solid var(--wp--preset--color--line);
}

.rxs-pricing-card__name {
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--large);
    font-weight: 600;
    color: var(--wp--preset--color--ink);
    margin: 0 0 0.75rem;
}

.rxs-pricing-card__price {
    margin-bottom: 0.25rem;
}

.rxs-pricing-card__amount {
    font-family: var(--wp--preset--font-family--heading);
    font-size: var(--wp--preset--font-size--3x-large);
    font-weight: 700;
    color: var(--wp--preset--color--ink);
}

.rxs-pricing-card__period {
    font-size: var(--wp--preset--font-size--medium);
    color: var(--wp--preset--color--muted);
}

.rxs-pricing-card__model {
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--muted);
    margin: 0;
}

.rxs-pricing-card--enterprise .rxs-pricing-card__model {
    max-width: 260px;
    margin: 0 auto;
}

.rxs-pricing-card__features {
    list-style: none;
    padding: 1.25rem 1.5rem;
    margin: 0;
    flex: 1;
}

.rxs-pricing-card__features li {
    position: relative;
    padding-left: 1.5rem;
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--ink-2);
    margin-bottom: 0.65rem;
    line-height: 1.4;
}

.rxs-pricing-card__features li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.25em;
    width: 16px;
    height: 16px;
    background: var(--wp--preset--color--primary);
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") no-repeat center;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") no-repeat center;
}

.rxs-pricing-card__footer {
    padding: 0 1.5rem 1.75rem;
    text-align: center;
    margin-top: auto;
}

.rxs-pricing-card__footer .rxs-btn {
    width: 100%;
    text-align: center;
    font-weight: 700;
}

/* --- Plan Detail --- */
.rxs-plan-hero__price {
    font-family: var(--wp--preset--font-family--heading);
    margin: 1rem 0 0.25rem;
}

.rxs-plan-hero__amount {
    font-size: var(--wp--preset--font-size--4x-large);
    font-weight: 700;
    color: var(--wp--preset--color--ink);
}

.rxs-plan-hero__period {
    font-size: var(--wp--preset--font-size--x-large);
    color: var(--wp--preset--color--muted);
}

.rxs-plan-hero__model {
    font-size: var(--wp--preset--font-size--medium);
    color: var(--wp--preset--color--muted);
    margin: 0 0 1.5rem;
}

.rxs-plan-hero__actions {
    margin-top: 2rem;
}

.rxs-plan-features__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: var(--wp--preset--font-size--xx-large);
    font-weight: 700;
    color: var(--wp--preset--color--ink);
    margin: 0 0 1.5rem;
}

.rxs-plan-features__list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.rxs-plan-feature {
    display: flex;
    gap: 0.75rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--wp--preset--color--line);
}

.rxs-plan-feature:first-child {
    border-top: 1px solid var(--wp--preset--color--line);
}

.rxs-plan-feature__check {
    color: var(--wp--preset--color--primary);
    flex-shrink: 0;
    margin-top: 0.15rem;
}

.rxs-plan-feature__name {
    font-size: var(--wp--preset--font-size--medium);
    font-weight: 600;
    color: var(--wp--preset--color--ink);
    margin: 0;
}

.rxs-plan-feature__desc {
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--ink-2);
    margin: 0.15rem 0 0;
}

/* --- FAQ Hub --- */
.rxs-faq-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 2rem;
}

.rxs-faq-filter {
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--small);
    font-weight: 500;
    color: var(--wp--preset--color--ink-2);
    background: var(--wp--preset--color--card);
    border: 1px solid var(--wp--preset--color--line);
    border-radius: var(--radius-full);
    padding: 0.5rem 1rem;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.rxs-faq-filter:hover {
    border-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--primary);
}

.rxs-faq-filter.active {
    background: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--card);
}

/* --- Page CTA Band (shared) --- */
.rxs-page-cta {
    text-align: center;
    padding-top: clamp(48px, 6vw, 80px) !important;
    padding-bottom: clamp(48px, 6vw, 80px) !important;
    background: #09090b !important;
    border-top: 1px solid #1e1e22;
}

.rxs-page-cta__eyebrow {
    font-family: var(--ff-mono);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #18D4BB;
    margin: 0 0 12px;
}

.rxs-page-cta__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: var(--wp--preset--font-size--xx-large);
    font-weight: 700;
    color: #fff !important;
    margin: 0 0 0.75rem;
}

.rxs-page-cta__sub {
    font-size: var(--wp--preset--font-size--medium);
    color: #94A3AB !important;
    margin: 0 0 2rem;
}

.rxs-page-cta .wp-block-button {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.rxs-page-cta .wp-block-button__link {
    background: transparent !important;
    color: #fff !important;
    border: 2px solid #18D4BB !important;
    font-family: var(--wp--preset--font-family--body);
    font-weight: 600;
    font-size: var(--wp--preset--font-size--small);
    padding: 0.875rem 1.75rem !important;
    border-radius: 8px !important;
    transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
    position: relative;
    overflow: hidden;
    z-index: 0;
}

.rxs-page-cta .wp-block-button__link::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #0B9282;
    z-index: -1;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.rxs-page-cta .wp-block-button__link:hover {
    border-color: #0B9282 !important;
    color: #fff !important;
    box-shadow: 0 0 24px rgba(11, 146, 130, 0.3);
}

.rxs-page-cta .wp-block-button__link:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

/* Page CTA band — arrow slide addition */
.rxs-page-cta .rxs-btn--primary.rxs-btn--lg {
    padding: 1rem 3.25rem 1rem 2.5rem;
}

.rxs-page-cta .rxs-btn--primary::after {
    content: '\2192';
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translate(8px, -50%);
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 1;
    font-size: 1.1em;
}

.rxs-page-cta .rxs-btn--primary:hover::after {
    opacity: 1;
    transform: translate(0, -50%);
}

@media (max-width: 600px) {
    .rxs-page-cta .rxs-btn--primary.rxs-btn--lg {
        padding: 0.875rem 2.75rem 0.875rem 2rem;
        font-size: var(--wp--preset--font-size--small);
    }
    .rxs-page-cta .rxs-btn--primary::after {
        right: 1rem;
    }
}


/* --- Problem → Solution Two-Panel --- */
.rxs-ps {
    text-align: center;
}

.rxs-ps__header {
    margin-bottom: 3rem;
}

.rxs-ps__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.25rem, 1rem + 1vw, 1.42rem);
    font-weight: 700;
    color: var(--wp--preset--color--card, #fff);
    letter-spacing: -0.02em;
    margin: 0 0 0.75rem;
}

.rxs-ps__sub {
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
}

.rxs-ps__panels {
    display: flex;
    align-items: center;
    gap: 2rem;
    max-width: 960px;
    margin: 0 auto;
}

.rxs-ps__panel {
    flex: 1;
    border-radius: 16px;
    padding: 2rem 1.5rem;
    text-align: center;
}

.rxs-ps__panel--chaos {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.rxs-ps__panel--unified {
    background: rgba(11, 146, 130, 0.15);
    border: 1px solid rgba(24, 212, 187, 0.2);
}

.rxs-ps__panel-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
    margin: 0 0 1.25rem;
}

.rxs-ps__panel-label--teal {
    color: var(--brand-accent, #18D4BB);
}

.rxs-ps__icons {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    justify-items: center;
    margin-bottom: 1.5rem;
}

.rxs-ps__icon-item {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s;
}

.rxs-ps__icon-item--chaos {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.4);
}

.rxs-ps__icon-item--ordered {
    background: rgba(24, 212, 187, 0.1);
    border: 1px solid rgba(24, 212, 187, 0.2);
    color: var(--brand-accent, #18D4BB);
    transform: none !important;
}

.rxs-ps__icon-item svg {
    width: 24px;
    height: 24px;
}

.rxs-ps__arrow {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-accent, #18D4BB);
}

.rxs-ps__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
}

.rxs-ps__tag {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 500;
    padding: 5px 12px;
    border-radius: 20px;
    white-space: nowrap;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.75);
}

.rxs-ps__tag--teal {
    background: rgba(24, 212, 187, 0.12);
    color: var(--brand-accent, #18D4BB);
    border: 1px solid rgba(24, 212, 187, 0.25);
}

@media (max-width: 767px) {
    .rxs-ps__panels {
        flex-direction: column;
        gap: 1.5rem;
    }
    .rxs-ps__arrow {
        transform: rotate(90deg);
    }
}

/* --- Browser Chrome Frame (Demo Video) --- */
.rxs-demo-video__frame--chrome {
    background: var(--gray-700);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.rxs-demo-video__chrome-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: var(--gray-700);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.rxs-demo-video__chrome-dots {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.rxs-demo-video__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.rxs-demo-video__dot--red { background: #ef4444; }
.rxs-demo-video__dot--yellow { background: #f59e0b; }
.rxs-demo-video__dot--green { background: #22c55e; }

.rxs-demo-video__chrome-url {
    flex: 1;
    text-align: center;
    font-family: var(--ff-mono, monospace);
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.06);
    border-radius: 6px;
    padding: 5px 12px;
}

.rxs-demo-video__frame--chrome .rxs-demo-video__player,
.rxs-demo-video__frame--chrome .rxs-demo-video__self {
    border-radius: 0;
}

/* --- CTA Glow (Close Section) --- */
.rxs-close {
    position: relative;
    overflow: hidden;
}

.rxs-close__glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 900px;
    height: 700px;
    background: radial-gradient(ellipse at center, rgba(24, 212, 187, 0.2) 0%, rgba(11, 146, 130, 0.1) 40%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.rxs-close__heading,
.rxs-close__sub,
.rxs-close__actions {
    position: relative;
    z-index: 1;
}

.rxs-close__cta-btn {
    box-shadow: 0 0 0 0 rgba(24, 212, 187, 0);
    transition: box-shadow 0.3s ease, transform 0.15s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.rxs-close__cta-btn:hover {
    box-shadow: 0 0 30px 8px rgba(24, 212, 187, 0.25);
}

/* --- Integrations Hub-and-Spoke --- */
.rxs-integrations {
    padding-top: clamp(56px, 7vw, 96px) !important;
    padding-bottom: clamp(56px, 7vw, 96px) !important;
}

.rxs-integrations__inner {
    text-align: center;
}

.rxs-integrations__eyebrow {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary-light, #18D4BB);
    margin: 0 0 0.75rem;
}

.rxs-integrations__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.5rem, 1rem + 2vw, 2.2rem);
    font-weight: 700;
    color: var(--wp--preset--color--card, #fff);
    letter-spacing: -0.02em;
    margin: 0 0 0.75rem;
}

.rxs-integrations__sub {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.8);
    margin: 0 auto 3rem;
    max-width: 480px;
}

/* Hub centre */
.rxs-hub {
    position: relative;
    max-width: 640px;
    margin: 0 auto 3rem;
    min-height: 420px;
}

/* SVG connector lines */
.rxs-hub__lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
}

.rxs-hub__svg-line {
    stroke: var(--wp--preset--color--primary-light, #18D4BB);
    stroke-width: 0.4;
    stroke-dasharray: 2 2;
    opacity: 0.4;
    transition: opacity 0.3s;
}

.rxs-hub:hover .rxs-hub__svg-line {
    opacity: 0.6;
}

/* Pulse dot at centre of lines */
@keyframes rxsHubPulse {
    0%, 100% { r: 3; opacity: 0.3; }
    50% { r: 5; opacity: 0.6; }
}

.rxs-hub__center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    text-align: center;
}

.rxs-hub__logo {
    width: 80px;
    height: 80px;
    border-radius: 20px;
    background: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 0.5rem;
    box-shadow: 0 8px 24px rgba(11, 146, 130, 0.3),
                0 0 0 6px rgba(11, 146, 130, 0.08),
                0 0 0 12px rgba(11, 146, 130, 0.04);
}

.rxs-hub__center-label {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 1rem;
    font-weight: 700;
    color: var(--wp--preset--color--card, #fff);
    margin: 0;
}

/* Spoke ring — 6 items in a circle */
.rxs-hub__ring {
    position: relative;
    width: 100%;
    height: 420px;
}

.rxs-hub__spoke {
    position: absolute;
    text-align: center;
    width: 120px;
    margin-left: -60px;
    margin-top: -30px;
    z-index: 1;
}

.rxs-hub__spoke--1 { top: 3%;   left: 50%; }
.rxs-hub__spoke--2 { top: 20%;  left: 90%; }
.rxs-hub__spoke--3 { top: 72%;  left: 90%; }
.rxs-hub__spoke--4 { top: 92%;  left: 50%; }
.rxs-hub__spoke--5 { top: 72%;  left: 10%; }
.rxs-hub__spoke--6 { top: 20%;  left: 10%; }

.rxs-hub__node {
    text-align: center;
}

.rxs-hub__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
    border: 1.5px solid rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 0.5rem;
    color: var(--wp--preset--color--primary-light, #18D4BB);
    transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.rxs-hub__node:hover .rxs-hub__icon {
    border-color: var(--wp--preset--color--primary-light, #18D4BB);
    box-shadow: 0 4px 16px rgba(24, 212, 187, 0.2);
    transform: translateY(-3px);
}

.rxs-hub__label {
    font-family: var(--wp--preset--font-family--body);
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--wp--preset--color--card, #fff);
    margin: 0 0 0.15rem;
    line-height: 1.2;
}

.rxs-hub__desc {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
    line-height: 1.3;
}

/* Patient journey flow strip */
.rxs-integrations__flow {
    max-width: 800px;
    margin: 0 auto;
    padding: 1.25rem 2rem;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
}

.rxs-integrations__flow-label {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
    margin: 0 0 0.75rem;
    text-align: center;
}

.rxs-integrations__flow-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex-wrap: nowrap;
}

.rxs-integrations__step {
    font-size: 0.78rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.7);
    padding: 0.4rem 0.75rem;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 9999px;
    white-space: nowrap;
}

.rxs-integrations__step--brand {
    background: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
    font-weight: 600;
}

.rxs-integrations__flow-arrow {
    color: var(--wp--preset--color--primary-light, #18D4BB);
    flex-shrink: 0;
    opacity: 0.5;
}

/* Mobile: grid instead of circle */
@media (max-width: 767px) {
    .rxs-hub {
        min-height: auto;
    }
    .rxs-hub__lines {
        display: none;
    }
    .rxs-hub__center {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        margin-bottom: 1rem;
    }
    .rxs-hub__center::after {
        content: '';
        position: absolute;
        bottom: -1rem;
        left: 50%;
        width: 1px;
        height: 1rem;
        border-left: 2px dashed rgba(24, 212, 187, 0.3);
    }
    .rxs-hub__logo {
        box-shadow: 0 8px 24px rgba(11, 146, 130, 0.5);
    }
    .rxs-hub__ring {
        position: relative;
        height: auto;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
        max-width: 320px;
        margin: 0 auto;
        padding-top: 1rem;
    }
    .rxs-hub__spoke {
        position: relative;
        top: auto !important;
        left: auto !important;
        width: auto;
        margin: 0;
    }
    .rxs-integrations__flow-steps {
        flex-wrap: wrap;
        justify-content: center;
    }
    .rxs-integrations__flow-arrow {
        display: none;
    }
    .rxs-integrations__step {
        font-size: 0.72rem;
    }
}

/* --- SVG Icon Fixes (stroke-based icons on dark backgrounds) --- */
.rxs-demand__cat-icon {
    color: var(--brand-accent, #18D4BB);
}

.rxs-revenue__icon svg {
    width: 32px;
    height: 32px;
}

/* --- Scroll Reveal (section-level fade-in) --- */
.rxs-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.rxs-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ----------------------------------------------------------------
   10. RESPONSIVE (mobile-first)
   ----------------------------------------------------------------
   Breakpoints:
   480px  — Extra small phones
   640px  — Small phones
   768px  — Tablet portrait
   900px  — Navigation breakpoint
   1024px — Tablet landscape / small desktop
   1200px — Large desktop
   ---------------------------------------------------------------- */

/* --- 480px+ : Extra small phone adjustments --- */
@media (max-width: 480px) {
    .hero-title {
        font-size: var(--text-3xl);
    }

    .hero-sub {
        font-size: var(--text-base);
    }

    .page-hero__title {
        font-size: var(--text-3xl);
    }

    .pr-card {
        margin-left: calc(var(--space-2) * -1);
        margin-right: calc(var(--space-2) * -1);
    }

    .stats-grid {
        grid-template-columns: 1fr;
    }

    .stat-item__number {
        font-size: var(--text-3xl);
    }

    .bento-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .bento-card {
        padding: var(--space-3) var(--space-2);
    }

    .bento-card__name {
        font-size: 0.6875rem;
    }

    .bento-category__header {
        padding: var(--space-3) var(--space-4);
    }

    .process-step__number {
        width: 44px;
        height: 44px;
        font-size: var(--text-base);
    }

    .process-step__desc {
        font-size: var(--text-xs);
    }
}

/* --- 640px+ : Small phones --- */
@media (max-width: 640px) {
    .trust-badges-grid {
        gap: var(--space-5);
    }

    .trust-badge-icon {
        width: 40px;
        height: 40px;
    }

    .trust-badge-icon svg {
        width: 20px;
        height: 20px;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }

    .cta-band__actions {
        flex-direction: column;
        align-items: center;
    }

    .cta-band__actions .btn {
        width: 100%;
    }

    .demo-video-play {
        width: 56px;
        height: 56px;
    }

    .demo-video-play svg {
        width: 24px;
        height: 24px;
    }

    .workflow-card__features {
        font-size: var(--text-xs);
    }
}

/* --- 767px and below : Mobile overrides --- */
@media (max-width: 767px) {
    .section,
    .section-alt,
    .section-sm,
    .section-lg,
    .section-gray,
    .section-primary,
    .section-dark {
        padding: var(--space-12) 0;
    }

    .container {
        padding: 0 var(--space-4);
    }

    .hero-section {
        min-height: 70vh;
    }

    .hero-video {
        display: none;
    }

    .hero-content {
        padding-top: var(--space-8);
        padding-bottom: var(--space-8);
    }

    .hero-cta-group {
        flex-direction: column;
    }

    .hero-cta-group .btn {
        width: 100%;
        justify-content: center;
    }

    .trust-badges {
        padding: var(--space-6) 0;
    }

    .page-hero {
        padding: var(--space-12) 0 var(--space-8);
    }

    .bento-category__header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-2);
    }

    .pricing-summary-grid {
        gap: var(--space-4);
    }

    .pr-card__price {
        justify-content: center;
    }

    .testimonial-card__quote p {
        font-size: var(--text-sm);
    }

    .aeo-question {
        font-size: var(--text-base);
        padding: var(--space-4);
    }

    .aeo-answer {
        padding: 0 var(--space-4) var(--space-4);
    }

    .section-header h2 {
        font-size: var(--text-2xl);
    }

    .section-sub {
        font-size: var(--text-base);
    }

    .pillar-card {
        flex-direction: column;
        gap: var(--space-3);
    }

    .enterprise-card {
        flex-direction: column;
    }

    .comparison-table th,
    .comparison-table td {
        padding: var(--space-2) var(--space-3);
        font-size: var(--text-xs);
    }
}

/* --- 768px+ : Tablet portrait --- */
@media (min-width: 768px) {
    .grid--2, .grid-2 {
        grid-template-columns: repeat(2, 1fr);
    }

    .grid--3, .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    .grid--4, .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-brand {
        grid-column: 1 / -1;
        max-width: 100%;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .process-step {
        grid-template-columns: 1fr;
        text-align: center;
        justify-items: center;
    }

    .process-timeline {
        grid-template-columns: repeat(2, 1fr);
    }

    .bento-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .plan-features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* --- 900px+ : Navigation breakpoint --- */
@media (min-width: 900px) {
    .rxs-nav {
        display: flex;
    }

    .rxs-header-actions {
        display: flex;
    }

    .rxs-mobile-toggle {
        display: none;
    }
}

@media (max-width: 899px) {
    .rxs-nav {
        display: none;
    }

    .rxs-header-actions {
        display: none;
    }

    .footer-newsletter {
        padding: 1.5rem 1rem !important;
        margin: 0 0.75rem 1.5rem;
    }

    .footer-newsletter__title {
        font-size: 1.1rem;
    }

    .footer-newsletter__sub {
        font-size: 0.85rem;
    }

    .footer-grid {
        gap: 2rem;
        padding: 0 1rem 2rem;
        text-align: center;
    }

    .footer-brand {
        max-width: 100%;
        text-align: center;
    }

    .footer-brand .footer-contact-item,
    .footer-col--contact .footer-contact-item {
        justify-content: center;
    }

    .footer-social {
        justify-content: center;
    }

    .footer-social-row {
        flex-direction: column;
        gap: 0.75rem;
        padding: 1.25rem 1rem;
    }

    .footer-col-title {
        text-align: center;
    }

    .footer-disclaimer {
        font-size: 0.72rem;
        padding: 0 1rem;
        text-align: center;
    }

    .footer-bottom {
        padding: 0 1rem;
        justify-content: center;
        text-align: center;
    }

    .footer-legal {
        justify-content: center;
    }
}

/* --- 1024px+ : Tablet landscape / small desktop --- */
@media (min-width: 1024px) {
    .grid--3, .grid-3 {
        grid-template-columns: repeat(3, 1fr);
    }

    .grid--4, .grid-4 {
        grid-template-columns: repeat(4, 1fr);
    }

    .footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr 1fr 1.2fr;
        gap: 2.5rem;
    }

    .footer-brand {
        grid-column: auto;
        max-width: 280px;
    }

    .footer-newsletter {
        flex-direction: row !important;
        text-align: left;
        align-items: center;
        justify-content: space-between;
    }
    .footer-newsletter .footer-newsletter__text {
        flex: 1;
        max-width: 480px;
    }
    .footer-newsletter .qweb-form {
        flex: 0 0 380px;
        margin: 0;
    }

    .stats-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .process-grid {
        grid-template-columns: repeat(4, 1fr);
        position: relative;
    }

    .process-grid::before {
        content: "";
        position: absolute;
        top: 32px;
        left: 64px;
        right: 64px;
        height: 2px;
        background: var(--color-line);
        z-index: 0;
    }

    .process-step__number {
        position: relative;
        z-index: 1;
    }

    .process-timeline {
        grid-template-columns: repeat(4, 1fr);
        gap: var(--space-8);
    }

    .process-timeline::before {
        display: block;
    }

    .bento-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

/* --- 1200px+ : Large desktop --- */
@media (min-width: 1200px) {
    .container {
        padding: 0 var(--space-12);
    }

    .hero-content {
        max-width: 780px;
    }
}

/* ----------------------------------------------------------------
   11. ACCESSIBILITY
   ---------------------------------------------------------------- */
.skip-link,
.rxs-skip-link {
    position: absolute;
    top: -100%;
    left: 1rem;
    z-index: 9999;
    background: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
    padding: 0.5rem 1rem;
    border-radius: 0 0 6px 6px;
    font-weight: 600;
    font-size: var(--wp--preset--font-size--small, 0.875rem);
    text-decoration: none;
}

.skip-link:focus,
.rxs-skip-link:focus {
    top: 0;
    color: #fff;
}

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

:focus-visible {
    outline: 3px solid var(--wp--preset--color--primary, var(--brand, #0B9282));
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .hero-video {
        display: none;
    }
}


/* ----------------------------------------------------------------
   SECTION INTRO ALIGNMENT — centred eyebrow + heading + lead
   ---------------------------------------------------------------- */
.rxs-gap__label,
.rxs-gap__heading,
.rxs-gap__lede,
.rxs-hiw__eyebrow,
.rxs-hiw__heading,
.rxs-hiw__sub,
.rxs-pricing-table__eyebrow,
.rxs-pricing-table__heading,
.rxs-proof__eyebrow,
.rxs-proof__heading,
.rxs-proof2__label,
.rxs-proof2__heading,
.rxs-price__label,
.rxs-price__heading,
.rxs-price__lede,
.rxs-aeo__heading,
.rxs-demo-video__heading,
.rxs-demo-video__desc,
.rxs-btm__label,
.rxs-btm__heading,
.rxs-btm__lede,
.rxs-ftags__eyebrow,
.rxs-ftags__heading,
.rxs-ftags__sub,
.rxs-integ__label,
.rxs-integ__heading,
.rxs-integ__lede,
.rxs-ftab__label,
.rxs-ftab__heading,
.rxs-ftab__lede,
.rxs-qns__label,
.rxs-qns__heading {
    text-align: center;
}

.rxs-gap__label,
.rxs-gap__lede,
.rxs-hiw__eyebrow,
.rxs-hiw__sub,
.rxs-proof2__label,
.rxs-price__label,
.rxs-price__lede,
.rxs-pricing-table__eyebrow,
.rxs-proof__eyebrow,
.rxs-aeo__heading,
.rxs-demo-video__desc,
.rxs-btm__label,
.rxs-btm__lede,
.rxs-ftags__eyebrow,
.rxs-integ__label,
.rxs-integ__lede,
.rxs-ftab__label,
.rxs-ftab__lede,
.rxs-qns__label {
    margin-left: auto;
    margin-right: auto;
}


/* ----------------------------------------------------------------
   DEMO MODAL
   ---------------------------------------------------------------- */
.rxs-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.rxs-modal--open {
    visibility: visible;
    opacity: 1;
}

.rxs-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.rxs-modal__panel {
    position: relative;
    width: 94%;
    max-width: 560px;
    max-height: 90vh;
    overflow-y: auto;
    background: #fff;
    border-radius: 16px;
    padding: 2rem 2rem 2.5rem;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
    transform: translateY(24px) scale(0.97);
    transition: transform 0.3s ease;
}

.rxs-modal--open .rxs-modal__panel {
    transform: translateY(0) scale(1);
}

.rxs-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 36px;
    height: 36px;
    border: none;
    background: var(--wp--preset--color--bg, #f8f8f6);
    border-radius: 50%;
    font-size: 1.5rem;
    line-height: 1;
    color: var(--wp--preset--color--ink, #09090b);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
}

.rxs-modal__close:hover {
    background: #e8e8e6;
}

.rxs-modal__title {
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', serif);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--wp--preset--color--ink, #09090b);
    margin: 0 0 1.25rem;
    padding-right: 2rem;
}

.rxs-modal__body {
    font-size: 0.95rem;
    padding-bottom: 1rem;
}

.rxs-modal__body input[type="text"],
.rxs-modal__body input[type="email"],
.rxs-modal__body input[type="tel"],
.rxs-modal__body select,
.rxs-modal__body textarea {
    width: 100%;
    padding: 0.65rem 0.85rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.95rem;
    font-family: inherit;
    transition: border-color 0.2s ease;
}

.rxs-modal__body input:focus,
.rxs-modal__body select:focus,
.rxs-modal__body textarea:focus {
    outline: none;
    border-color: var(--wp--preset--color--primary, #0B9282);
    box-shadow: 0 0 0 3px rgba(11, 146, 130, 0.12);
}

.rxs-modal__body label {
    display: block;
    font-size: 0.85rem;
    font-weight: 500;
    margin-bottom: 0.3rem;
    color: var(--wp--preset--color--ink, #09090b);
}

.rxs-modal__body button[type="submit"],
.rxs-modal__body input[type="submit"] {
    width: 100%;
    padding: 0.75rem 1.5rem;
    background: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
    margin-top: 0.5rem;
}

.rxs-modal__body button[type="submit"]:hover,
.rxs-modal__body input[type="submit"]:hover {
    background: #093d33;
}

@media (max-width: 600px) {
    .rxs-modal__panel {
        width: 100%;
        max-width: 100%;
        max-height: 100vh;
        border-radius: 0;
        padding: 2rem 1.25rem 1.5rem;
    }
}

body.rxs-modal-active .qweb-banner {
    display: none !important;
}

/* --- M1: Compact cookie banner on mobile --- */
@media (max-width: 767px) {
    .qweb-banner {
        padding: 0.5rem 1rem !important;
        font-size: 0.75rem !important;
        line-height: 1.3 !important;
    }
    .qweb-banner p {
        margin: 0 0 0.35rem !important;
        font-size: 0.72rem !important;
    }
    .qweb-banner .qweb-banner-actions,
    .qweb-banner .qweb-consent-actions {
        gap: 0.35rem !important;
        flex-wrap: nowrap !important;
    }
    .qweb-banner button,
    .qweb-banner .qweb-btn {
        padding: 0.35rem 0.75rem !important;
        font-size: 0.72rem !important;
        min-height: auto !important;
    }
}

/* --- M3: Pricing table mobile — tighter layout --- */
@media (max-width: 600px) {
    .rxs-pricing-table__table th {
        font-size: 0.6rem;
        padding: 0.6rem 0.5rem;
        letter-spacing: 0.02em;
    }
    .rxs-pricing-table__table td {
        font-size: 0.82rem;
        padding: 0.6rem 0.5rem;
    }
}

/* --- M4: Revenue cards 2x2 on mobile --- */
@media (max-width: 767px) {
    .rxs-revenue__grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 0.75rem !important;
    }
    .rxs-revenue__card {
        padding: 1.25rem 1rem !important;
    }
    .rxs-revenue__icon svg {
        width: 24px !important;
        height: 24px !important;
    }
    .rxs-revenue__title {
        font-size: 0.85rem !important;
    }
    .rxs-revenue__body {
        font-size: 0.78rem !important;
    }
}


/* ================================================================
   BLOG — ARCHIVE + SINGLE POST
   ================================================================ */

/* --- Blog Hero --- */
.rxs-blog-hero {
    background: #09090b;
    color: #fff;
    padding: clamp(3.5rem, 2rem + 5vw, 6rem) 1rem clamp(3rem, 2rem + 4vw, 5rem);
    text-align: center;
    position: relative;
    overflow: hidden;
    border-top: 1px solid #1e1e22;
}
.rxs-blog-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 30%, rgba(11,146,130,0.06) 0%, transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(24,212,187,0.04) 0%, transparent 40%);
    pointer-events: none;
}
.rxs-blog-hero__inner {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
}
.rxs-blog-hero__eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #18D4BB;
    margin-bottom: 0.75rem;
    padding: 0.35rem 0.9rem;
    background: rgba(24,212,187,0.08);
    border-radius: 999px;
    border: 1px solid rgba(24,212,187,0.2);
}
.rxs-blog-hero__title {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(2rem, 1.5rem + 2.5vw, 3.25rem);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin: 0 0 1rem;
    color: #fff;
}
.rxs-blog-hero__lede {
    font-size: clamp(1rem, 0.95rem + 0.3vw, 1.15rem);
    line-height: 1.55;
    color: #94A3AB;
    margin: 0 auto 2rem;
    max-width: 640px;
}
.rxs-blog-hero__search {
    display: flex;
    align-items: center;
    max-width: 520px;
    margin: 0 auto;
    background: #0e0e11;
    border-radius: 999px;
    padding: 0.375rem 0.375rem 0.375rem 1.25rem;
    box-shadow: 0 12px 40px rgba(0,0,0,0.3);
    border: 1px solid #1e1e22;
}
.rxs-blog-hero__search-input {
    flex: 1;
    border: 0;
    background: transparent;
    font-size: 0.95rem;
    color: #fff;
    outline: 0;
}
.rxs-blog-hero__search-input::placeholder { color: #71717a; }
.rxs-blog-hero__search-btn {
    background: #0B9282;
    color: #fff;
    border: 0;
    padding: 0.6rem 1.5rem;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.15s ease;
}
.rxs-blog-hero__search-btn:hover {
    background: #0DAA96;
    transform: translateY(-1px);
}
.rxs-blog-hero__search-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.6rem;
    color: #71717a;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}
.rxs-blog-hero__search-icon svg {
    width: 20px;
    height: 20px;
    display: block;
}
.rxs-blog-hero__trending {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.6rem;
    margin-top: 1.5rem;
    font-size: 0.85rem;
    color: #94A3AB;
}
.rxs-blog-hero__trending-label {
    font-weight: 600;
    color: #18D4BB;
    letter-spacing: 0.03em;
}
.rxs-blog-hero__trending-link {
    color: #94A3AB;
    text-decoration: none;
    padding: 0.2rem 0.35rem;
    border-radius: 4px;
    transition: background 0.2s ease, color 0.2s ease;
}
.rxs-blog-hero__trending-link:hover {
    background: rgba(24,212,187,0.1);
    color: #18D4BB;
}

/* --- Blog Archive Container --- */
.rxs-blog-archive {
    background: var(--wp--preset--color--bg, #f8f8f6);
    padding: clamp(2.5rem, 2rem + 2vw, 4.5rem) 1rem;
}
.rxs-blog-archive__inner {
    max-width: 1200px;
    margin: 0 auto;
}

/* --- Active filter banner (tag / search) --- */
.rxs-blog-filter-active {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin: 0 auto 1.5rem;
    padding: 0.55rem 1rem;
    background: var(--wp--preset--color--primary-soft, #E8F4F2);
    border: 1px solid #b6d4c9;
    border-radius: 999px;
    font-size: 0.85rem;
    color: var(--wp--preset--color--ink-2, #3b464a);
}
.rxs-blog-filter-active {
    display: flex;
    justify-content: center;
    max-width: fit-content;
}
.rxs-blog-filter-active__label {
    font-weight: 700;
    color: var(--wp--preset--color--ink-2, #3b464a);
    text-transform: uppercase;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
}
.rxs-blog-filter-active__value {
    font-weight: 600;
    color: var(--wp--preset--color--primary, #0B9282);
}
.rxs-blog-filter-active__clear {
    color: var(--wp--preset--color--primary, #0B9282);
    text-decoration: none;
    font-weight: 600;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    transition: all 0.2s ease;
}
.rxs-blog-filter-active__clear:hover {
    background: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
}

/* --- Category Chips --- */
.rxs-blog-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    margin-bottom: 2.5rem;
}
.rxs-blog-chip {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: #fff;
    border: 1px solid var(--wp--preset--color--line, #dbdcd7);
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--wp--preset--color--ink-2, #3b464a);
    text-decoration: none;
    transition: all 0.2s ease;
}
.rxs-blog-chip:hover {
    border-color: var(--wp--preset--color--primary, #0B9282);
    color: var(--wp--preset--color--primary, #0B9282);
}
.rxs-blog-chip.is-active {
    background: var(--wp--preset--color--primary, #0B9282);
    border-color: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
}

/* --- Blog Grid --- */
.rxs-blog-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: 3rem;
}
@media (min-width: 640px) {
    .rxs-blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
    .rxs-blog-grid { grid-template-columns: repeat(3, 1fr); }
}

/* --- Blog Card --- */
.rxs-blog-card {
    background: var(--wp--preset--color--card, #fff);
    border: 1px solid var(--wp--preset--color--line, #dbdcd7);
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    display: flex;
    flex-direction: column;
}
.rxs-blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(11, 146, 130, 0.12);
    border-color: transparent;
}
.rxs-blog-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}
.rxs-blog-card__thumb {
    aspect-ratio: 16 / 10;
    background: linear-gradient(135deg, #E8F4F2 0%, #d1e9e5 100%);
    overflow: hidden;
    position: relative;
}
.rxs-blog-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.rxs-blog-card:hover .rxs-blog-card__thumb img {
    transform: scale(1.04);
}
.rxs-blog-card__thumb-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #E8F4F2 0%, #d1e9e5 100%);
}
.rxs-blog-card__body {
    padding: 1rem 1.25rem 1.25rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.rxs-blog-card__cat {
    display: inline-block;
    align-self: flex-start;
    padding: 0.2rem 0.55rem;
    background: var(--wp--preset--color--primary-soft, #E8F4F2);
    color: var(--wp--preset--color--primary, #0B9282);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 4px;
    margin-bottom: 0.55rem;
}
.rxs-blog-card__title {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--wp--preset--color--ink, #09090b);
    margin: 0 0 0.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.rxs-blog-card__excerpt {
    font-size: 0.83rem;
    line-height: 1.5;
    color: var(--wp--preset--color--ink-2, #3b464a);
    margin: 0 0 0.85rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}
.rxs-blog-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: auto;
    padding-top: 0.7rem;
    border-top: 1px solid var(--wp--preset--color--line, #dbdcd7);
}
.rxs-blog-card__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    font-size: 0.72rem;
    color: var(--wp--preset--color--muted, #6c7679);
    margin: 0;
    padding: 0;
    border: none;
}
.rxs-blog-card__more {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--wp--preset--color--primary, #0B9282);
    transition: transform 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    flex-shrink: 0;
    white-space: nowrap;
}
.rxs-blog-card:hover .rxs-blog-card__more {
    transform: translateX(4px);
}

/* --- Pagination --- */
.rxs-blog-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}
.rxs-blog-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 0.75rem;
    background: #fff;
    border: 1px solid var(--wp--preset--color--line, #dbdcd7);
    border-radius: 8px;
    color: var(--wp--preset--color--ink-2);
    font-size: 0.9rem;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s ease;
}
.rxs-blog-pagination .page-numbers:hover {
    border-color: var(--wp--preset--color--primary, #0B9282);
    color: var(--wp--preset--color--primary, #0B9282);
}
.rxs-blog-pagination .page-numbers.current {
    background: var(--wp--preset--color--primary, #0B9282);
    border-color: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
}
.rxs-blog-pagination .page-numbers.dots {
    background: transparent;
    border: 0;
}

.rxs-blog-empty {
    text-align: center;
    font-size: 1rem;
    color: var(--wp--preset--color--muted);
    padding: 3rem 1rem;
}

/* --- Single Post --- */
.rxs-post {
    background: #fff;
    padding: clamp(2rem, 1.5rem + 2vw, 3.5rem) 1rem clamp(2.5rem, 2rem + 3vw, 4.5rem);
}
.rxs-post__inner {
    max-width: 1200px;
    margin: 0 auto;
}
.rxs-post__breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
    font-size: 0.85rem;
    color: var(--wp--preset--color--muted, #6c7679);
    margin-bottom: 1.5rem;
}
.rxs-post__breadcrumb a {
    color: var(--wp--preset--color--muted, #6c7679);
    text-decoration: none;
}
.rxs-post__breadcrumb a:hover {
    color: var(--wp--preset--color--primary, #0B9282);
}
.rxs-post__breadcrumb span {
    color: var(--wp--preset--color--line, #dbdcd7);
}
.rxs-post__header {
    max-width: 800px;
    margin: 0 auto 2rem;
    text-align: center;
}
.rxs-post__cat-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}
.rxs-post__cat {
    display: inline-block;
    padding: 0.35rem 0.9rem;
    background: var(--wp--preset--color--primary-soft, #E8F4F2);
    color: var(--wp--preset--color--primary, #0B9282);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 999px;
    transition: background 0.2s ease;
}
.rxs-post__cat:hover {
    background: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
}
.rxs-post__cat-date {
    font-size: 0.85rem;
    color: var(--wp--preset--color--muted, #6c7679);
}
.rxs-post__title {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.75rem, 1.3rem + 2vw, 2.75rem);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--wp--preset--color--ink, #09090b);
    margin: 0 0 1rem;
}
.rxs-post__lede {
    font-size: clamp(1rem, 0.95rem + 0.35vw, 1.15rem);
    line-height: 1.55;
    color: var(--wp--preset--color--ink-2, #3b464a);
    margin: 0 auto 1.75rem;
    max-width: 640px;
}
.rxs-post__author {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1.25rem 0.75rem 0.75rem;
    background: var(--wp--preset--color--bg, #f8f8f6);
    border-radius: 999px;
    border: 1px solid var(--wp--preset--color--line, #dbdcd7);
}
.rxs-post__author-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--wp--preset--font-family--heading);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    flex-shrink: 0;
    object-fit: cover;
}
.rxs-post__author-avatar--img {
    padding: 0;
    background: transparent;
}
.rxs-post__author-mini {
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s ease;
}
.rxs-post__author-mini:hover { opacity: 0.85; }
.rxs-post__author-info {
    display: flex;
    flex-direction: column;
    text-align: left;
    line-height: 1.2;
}
.rxs-post__author-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--wp--preset--color--ink, #09090b);
}
.rxs-post__author-role {
    font-size: 0.75rem;
    color: var(--wp--preset--color--muted, #6c7679);
    margin-top: 0.15rem;
}
/* Kept for compat with old meta pattern */
.rxs-post__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.6rem;
    font-size: 0.85rem;
    color: var(--wp--preset--color--muted, #6c7679);
}

/* --- New meta-bar (AEO-aware) --- */
.rxs-post__meta-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    padding: 1.25rem 0;
    margin-top: 1.5rem;
    border-top: 1px solid var(--wp--preset--color--line, #dbdcd7);
    border-bottom: 1px solid var(--wp--preset--color--line, #dbdcd7);
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
.rxs-post__author-mini {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}
.rxs-post__meta-facts {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.15rem;
    font-size: 0.82rem;
    color: var(--wp--preset--color--muted, #6c7679);
}
.rxs-post__meta-fact {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    line-height: 1.1;
}
.rxs-post__meta-fact svg {
    color: var(--wp--preset--color--primary, #0B9282);
    flex-shrink: 0;
}

/* --- TL;DR box (AEO rule #1) --- */
.rxs-post__tldr {
    max-width: 900px;
    margin: 2rem auto 2.5rem;
    padding: 1.5rem 1.75rem;
    background: linear-gradient(135deg, var(--wp--preset--color--primary-soft, #E8F4F2) 0%, #f0f7f5 100%);
    border-left: 4px solid var(--wp--preset--color--primary, #0B9282);
    border-radius: 0 12px 12px 0;
}
.rxs-post__tldr-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary, #0B9282);
    margin-bottom: 0.85rem;
}
.rxs-post__tldr-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.rxs-post__tldr-list li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.6rem;
    font-size: 0.95rem;
    line-height: 1.55;
    color: var(--wp--preset--color--ink, #09090b);
}
.rxs-post__tldr-list li:last-child { margin-bottom: 0; }
.rxs-post__tldr-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 8px;
    height: 8px;
    background: var(--wp--preset--color--primary, #0B9282);
    border-radius: 50%;
}

/* --- Share icons in sidebar --- */
.rxs-post__share {
    margin-top: 1.5rem;
    padding: 1rem 1.5rem;
    background: var(--wp--preset--color--bg, #f8f8f6);
    border: 1px solid var(--wp--preset--color--line, #dbdcd7);
    border-radius: 12px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.rxs-post__share-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--wp--preset--color--muted, #6c7679);
    margin-right: 0.35rem;
}
.rxs-post__share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid var(--wp--preset--color--line, #dbdcd7);
    color: var(--wp--preset--color--ink-2, #3b464a);
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}
.rxs-post__share-btn:hover {
    background: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
    border-color: var(--wp--preset--color--primary, #0B9282);
    transform: translateY(-1px);
}
.rxs-post__share-btn.is-copied {
    background: var(--wp--preset--color--success, #16a34a);
    color: #fff;
    border-color: var(--wp--preset--color--success, #16a34a);
}

/* --- Author E-E-A-T bio block --- */
.rxs-post__author-bio {
    max-width: 800px;
    margin: 3.5rem auto 0;
    padding: 2rem 2rem;
    background: var(--wp--preset--color--bg, #f8f8f6);
    border: 1px solid var(--wp--preset--color--line, #dbdcd7);
    border-radius: 16px;
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 1.5rem;
    align-items: start;
}
.rxs-post__author-bio-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--wp--preset--font-family--heading);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    object-fit: cover;
}
.rxs-post__author-bio-avatar--img {
    background: transparent;
}
.rxs-post__author-bio-name a {
    color: inherit;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}
.rxs-post__author-bio-name a:hover {
    border-bottom-color: var(--wp--preset--color--primary, #0B9282);
}
.rxs-post__author-bio-name {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--wp--preset--color--ink, #09090b);
    margin: 0 0 0.15rem;
    line-height: 1.2;
}
.rxs-post__author-bio-role {
    font-size: 0.85rem;
    color: var(--wp--preset--color--muted, #6c7679);
    margin: 0 0 0.85rem;
}
.rxs-post__author-bio-text {
    font-size: 0.92rem;
    line-height: 1.6;
    color: var(--wp--preset--color--ink-2, #3b464a);
    margin: 0 0 1rem;
}
.rxs-post__author-bio-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.78rem;
    color: var(--wp--preset--color--muted, #6c7679);
}
@media (max-width: 640px) {
    .rxs-post__author-bio {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 1.5rem;
    }
    .rxs-post__author-bio-avatar {
        margin: 0 auto;
    }
    .rxs-post__author-bio-meta {
        justify-content: center;
    }
    .rxs-post__meta-bar {
        gap: 1rem;
        padding: 1rem 0.5rem;
    }
    .rxs-post__author-mini {
        justify-content: center;
    }
}
.rxs-post__thumb {
    max-width: 900px;
    margin: 0 auto 2.5rem;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(11, 146, 130, 0.08);
}
.rxs-post__thumb img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* --- Post Layout (TOC sidebar + content) --- */
.rxs-post__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    max-width: 1100px;
    margin: 0 auto;
}
@media (min-width: 900px) {
    .rxs-post__layout {
        grid-template-columns: 260px 1fr;
        gap: 3rem;
        align-items: start;
    }
}
@media (min-width: 900px) {
    .rxs-post__sidebar {
        position: sticky;
        top: 6rem;
        grid-column: 1;
    }
    .rxs-post__content {
        grid-column: 2;
    }
}
.rxs-post__toc {
    background: var(--wp--preset--color--bg, #f8f8f6);
    border: 1px solid var(--wp--preset--color--line, #dbdcd7);
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
}
.rxs-post__toc-title {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary, #0B9282);
    margin: 0 0 1rem;
}
.rxs-post__toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: toc;
}
.rxs-post__toc-list li {
    counter-increment: toc;
    margin-bottom: 0.65rem;
    padding-left: 1.75rem;
    position: relative;
    font-size: 0.88rem;
    line-height: 1.4;
}
.rxs-post__toc-list li::before {
    content: counter(toc, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 0.05em;
    color: var(--wp--preset--color--muted, #6c7679);
    font-size: 0.75rem;
    font-weight: 600;
}
.rxs-post__toc-list a {
    color: var(--wp--preset--color--ink-2, #3b464a);
    text-decoration: none;
    transition: color 0.2s ease;
}
.rxs-post__toc-list a:hover {
    color: var(--wp--preset--color--primary, #0B9282);
}

/* --- Post Content Typography --- */
.rxs-post__content {
    max-width: 720px;
    font-size: 1.05rem;
    line-height: 1.75;
    color: var(--wp--preset--color--ink-2, #3b464a);
}
.rxs-post__content > *:first-child { margin-top: 0; }
.rxs-post__content h2 {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.35rem, 1.15rem + 0.9vw, 1.75rem);
    font-weight: 600;
    color: var(--wp--preset--color--ink, #09090b);
    margin: 2.5rem 0 1rem;
    line-height: 1.25;
    scroll-margin-top: 5rem;
}
.rxs-post__content h3 {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--wp--preset--color--ink, #09090b);
    margin: 1.75rem 0 0.75rem;
    line-height: 1.3;
}
.rxs-post__content p {
    margin: 0 0 1.15rem;
}
.rxs-post__content ul,
.rxs-post__content ol {
    margin: 0 0 1.25rem;
    padding-left: 1.5rem;
}
.rxs-post__content li {
    margin-bottom: 0.6rem;
}
.rxs-post__content a {
    color: var(--wp--preset--color--primary, #0B9282);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.rxs-post__content a:hover {
    text-decoration-thickness: 2px;
}
.rxs-post__content blockquote {
    border-left: 3px solid var(--wp--preset--color--primary, #0B9282);
    background: var(--wp--preset--color--primary-soft, #E8F4F2);
    margin: 1.5rem 0;
    padding: 1rem 1.5rem;
    font-style: italic;
    color: var(--wp--preset--color--ink, #09090b);
    border-radius: 0 8px 8px 0;
}
.rxs-post__content blockquote p:last-child { margin-bottom: 0; }
.rxs-post__content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 1.5rem 0;
}
.rxs-post__content img.is-broken,
.rxs-post__content figure.is-broken {
    display: none !important;
}
.rxs-post__content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    font-size: 0.95rem;
}
.rxs-post__content th,
.rxs-post__content td {
    text-align: left;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--wp--preset--color--line, #dbdcd7);
}
.rxs-post__content th {
    background: var(--wp--preset--color--bg, #f8f8f6);
    font-weight: 600;
    color: var(--wp--preset--color--ink, #09090b);
}
.rxs-post__content strong { color: var(--wp--preset--color--ink, #09090b); }

/* --- Related Articles --- */
.rxs-post__related {
    max-width: 1200px;
    margin: 4rem auto 0;
    padding-top: 3rem;
    border-top: 1px solid var(--wp--preset--color--line, #dbdcd7);
}
.rxs-post__related-title {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem);
    font-weight: 600;
    color: var(--wp--preset--color--ink, #09090b);
    margin: 0 0 2rem;
    text-align: center;
}

/* ================================================================
   INNER PAGES — ABOUT, CONTACT
   ================================================================ */

/* --- About Page — Team Grid --- */
.rxs-about-team {
    margin: 2.5rem 0;
}

.rxs-about-team__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.25rem, 1rem + 1vw, 1.625rem);
    font-weight: 600;
    color: var(--wp--preset--color--ink);
    margin: 0 0 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--wp--preset--color--line, #e2e5e7);
}

.rxs-about-team__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

@media (min-width: 640px) {
    .rxs-about-team__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 900px) {
    .rxs-about-team__grid--founders {
        grid-template-columns: repeat(3, 1fr);
    }
}

.rxs-about-team__card {
    background: var(--wp--preset--color--card);
    border: 1px solid var(--wp--preset--color--line, #e2e5e7);
    border-radius: 8px;
    padding: 1.5rem;
    text-align: center;
}

.rxs-about-team__name {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--wp--preset--color--ink);
    margin: 0 0 0.25rem;
}

.rxs-about-team__role {
    font-size: 0.875rem;
    color: var(--wp--preset--color--primary);
    font-weight: 600;
    margin: 0 0 0.5rem;
}

.rxs-about-team__bio {
    font-size: 0.875rem;
    color: var(--wp--preset--color--ink-2);
    line-height: 1.6;
    margin: 0;
}

.rxs-about-team__reg {
    font-size: 0.8rem;
    color: var(--wp--preset--color--muted);
    margin: 0.5rem 0 0;
}

/* --- Contact Page — Methods Grid --- */
.rxs-contact-methods {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    margin-bottom: 2.5rem;
}

@media (min-width: 640px) {
    .rxs-contact-methods {
        grid-template-columns: repeat(2, 1fr);
    }
}

.rxs-contact-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.5rem;
    background: var(--wp--preset--color--card);
    border: 1px solid var(--wp--preset--color--line, #e2e5e7);
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.rxs-contact-card:hover {
    border-color: var(--wp--preset--color--primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
}

.rxs-contact-card__icon {
    font-size: 2rem;
    margin-bottom: 0.75rem;
}

.rxs-contact-card__title {
    font-family: var(--wp--preset--font-family--body);
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--wp--preset--color--ink);
    margin: 0 0 0.35rem;
}

.rxs-contact-card__desc {
    font-size: 0.875rem;
    color: var(--wp--preset--color--ink-2);
    margin: 0 0 1rem;
}

.rxs-contact-card__action {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--wp--preset--color--primary);
}

/* ================================================================
   LEGAL / POLICY PAGES
   ================================================================ */

/* ================================================================
   LEGAL PAGES — dark theme matching homepage brand (v3.12.68)
   ================================================================ */

.rxs-legal-hero {
    padding-top: 120px !important;
    padding-bottom: clamp(56px, 8vw, 96px) !important;
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
    min-height: 480px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    background-size: cover !important;
    background-position: center 35% !important;
    background-repeat: no-repeat !important;
    overflow: hidden;
}
@media (max-width: 479px) {
    .rxs-legal-hero {
        padding-top: 100px !important;
        min-height: 360px;
    }
    .rxs-legal-hero__heading {
        font-size: clamp(1.4rem, 5vw, 1.75rem);
        word-break: break-word;
    }
    .rxs-legal-hero__meta {
        font-size: 0.78rem;
    }
}

.rxs-legal-hero[style*="background-image"]::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(10, 20, 18, 0.72);
    z-index: 0;
}

.rxs-legal-hero[style*="background-image"] > * {
    position: relative;
    z-index: 1;
}

.rxs-legal-hero__eyebrow {
    display: inline-block;
    font-family: var(--ff-mono);
    font-size: var(--rxs-fs-eyebrow, 0.68rem);
    font-weight: 600;
    letter-spacing: var(--rxs-ls-eyebrow, 0.14em);
    text-transform: uppercase;
    color: #18D4BB;
    background: rgba(24, 212, 187, 0.1);
    border: 1px solid rgba(24, 212, 187, 0.25);
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    margin: 0 0 1.25rem;
}

.rxs-legal-hero__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.75rem, 1.25rem + 2.5vw, 2.75rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.018em;
    color: #fff;
    margin: 0 0 1rem;
}

.rxs-legal-hero__meta {
    font-size: 0.85rem;
    color: var(--rxs-body, #94A3AB);
    margin: 0;
    line-height: 1.5;
}

.rxs-legal-body {
    background: var(--rxs-surface, #0e0e11) !important;
    padding-top: clamp(48px, 6vw, 80px) !important;
    padding-bottom: clamp(48px, 6vw, 80px) !important;
}

.rxs-legal-content {
    font-family: var(--wp--preset--font-family--body);
    font-size: 1rem;
    line-height: 1.75;
    color: var(--rxs-body, #94A3AB);
}

.rxs-legal-content h2 {
    font-family: var(--wp--preset--font-family--heading);
    font-size: var(--rxs-fs-heading, clamp(1.25rem, 1rem + 1vw, 1.42rem));
    font-weight: 700;
    color: var(--rxs-ink, #fff);
    margin: 2.5rem 0 1rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--rxs-line, #27272a);
    letter-spacing: var(--rxs-ls-heading, -0.018em);
    line-height: var(--rxs-lh-heading, 1.15);
}

.rxs-legal-content h2:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.rxs-legal-content h3 {
    font-family: var(--wp--preset--font-family--heading);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--rxs-ink-soft, #EDEDE9);
    margin: 2rem 0 0.75rem;
}

.rxs-legal-content h4 {
    font-family: var(--wp--preset--font-family--body);
    font-size: 1rem;
    font-weight: 600;
    color: var(--rxs-ink-soft, #EDEDE9);
    margin: 1.5rem 0 0.5rem;
}

.rxs-legal-content p {
    margin: 0 0 1rem;
    color: var(--rxs-body, #94A3AB);
}

.rxs-legal-content ul,
.rxs-legal-content ol {
    margin: 0 0 1.25rem;
    padding-left: 1.5rem;
    color: var(--rxs-body, #94A3AB);
}

.rxs-legal-content li {
    margin-bottom: 0.5rem;
    line-height: 1.65;
}

.rxs-legal-content li::marker {
    color: #18D4BB;
}

.rxs-legal-content li strong {
    color: var(--rxs-ink-soft, #EDEDE9);
}

.rxs-legal-content a {
    color: #18D4BB;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.2s;
}

.rxs-legal-content a:hover {
    color: #7aecd4;
}

.rxs-legal-content code {
    font-family: var(--ff-mono);
    font-size: 0.875em;
    background: rgba(24, 212, 187, 0.1);
    padding: 0.15em 0.4em;
    border-radius: 4px;
    color: #18D4BB;
}

.rxs-legal-content strong {
    font-weight: 600;
    color: var(--rxs-ink-soft, #EDEDE9);
}

.rxs-legal-highlight {
    background: #141416;
    border-left: 3px solid #18D4BB;
    padding: 1.25rem 1.5rem;
    border-radius: 0 10px 10px 0;
    margin: 1.25rem 0;
    border: 1px solid rgba(24, 212, 187, 0.15);
    border-left: 3px solid #18D4BB;
}

.rxs-legal-highlight p {
    margin-bottom: 0.5rem;
}

.rxs-legal-highlight p:last-child {
    margin-bottom: 0;
}

.rxs-legal-highlight ul {
    margin-bottom: 0;
}

.rxs-legal-faq h3 {
    color: #18D4BB;
}

.rxs-legal-table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.25rem 0;
    font-size: 0.875rem;
    line-height: 1.5;
}

.rxs-legal-table thead th {
    background: rgba(24, 212, 187, 0.08);
    color: #18D4BB;
    font-family: var(--ff-mono);
    font-weight: 600;
    text-align: left;
    padding: 0.75rem 1rem;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(24, 212, 187, 0.2);
}

.rxs-legal-table tbody td {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--rxs-line, #27272a);
    color: var(--rxs-body, #94A3AB);
    vertical-align: top;
}

.rxs-legal-table tbody tr:nth-child(even) td {
    background: rgba(24, 212, 187, 0.03);
}

.rxs-legal-table tbody td:first-child {
    font-weight: 600;
    color: var(--rxs-ink-soft, #EDEDE9);
}

.rxs-legal-footer {
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--rxs-line, #27272a);
    text-align: center;
}

.rxs-legal-footer p {
    font-size: 0.85rem;
    color: var(--rxs-muted, #71717a);
}

@media (max-width: 600px) {
    .rxs-legal-hero {
        padding-top: 100px !important;
        min-height: 360px;
    }

    .rxs-legal-content h2 {
        font-size: 1.2rem;
    }

    .rxs-legal-content {
        font-size: 0.9375rem;
    }

    .rxs-legal-highlight {
        padding: 1rem 1.25rem;
    }

    .rxs-legal-table {
        font-size: 0.75rem;
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .rxs-legal-table thead th,
    .rxs-legal-table tbody td {
        padding: 0.5rem 0.625rem;
        min-width: 80px;
    }
}

/* --- Legal pages: dark body + dark header (matches homepage) --- */
body.privacy-policy,
body.page-template-page-terms-of-service,
body.page-template-page-accessibility,
body.page-template-page-complaints,
body.page-template-page-security,
body.page-template-page-backup-disaster-recovery-policy {
    background: var(--rxs-surface, #0e0e11) !important;
}

body.privacy-policy .site-header,
body.page-template-page-terms-of-service .site-header,
body.page-template-page-accessibility .site-header,
body.page-template-page-complaints .site-header,
body.page-template-page-security .site-header,
body.page-template-page-backup-disaster-recovery-policy .site-header {
    background: rgba(9, 9, 11, 0.55);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
}

body.privacy-policy .site-header .rxs-nav__link,
body.privacy-policy .site-header .rxs-nav__toggle,
body.privacy-policy .site-header .rxs-login-trigger,
body.page-template-page-terms-of-service .site-header .rxs-nav__link,
body.page-template-page-terms-of-service .site-header .rxs-nav__toggle,
body.page-template-page-terms-of-service .site-header .rxs-login-trigger,
body.page-template-page-accessibility .site-header .rxs-nav__link,
body.page-template-page-accessibility .site-header .rxs-nav__toggle,
body.page-template-page-accessibility .site-header .rxs-login-trigger,
body.page-template-page-complaints .site-header .rxs-nav__link,
body.page-template-page-complaints .site-header .rxs-nav__toggle,
body.page-template-page-complaints .site-header .rxs-login-trigger,
body.page-template-page-security .site-header .rxs-nav__link,
body.page-template-page-security .site-header .rxs-nav__toggle,
body.page-template-page-security .site-header .rxs-login-trigger,
body.page-template-page-backup-disaster-recovery-policy .site-header .rxs-nav__link,
body.page-template-page-backup-disaster-recovery-policy .site-header .rxs-nav__toggle,
body.page-template-page-backup-disaster-recovery-policy .site-header .rxs-login-trigger {
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

body.privacy-policy .site-header .rxs-nav__link:hover,
body.privacy-policy .site-header .rxs-nav__toggle:hover,
body.privacy-policy .site-header .rxs-login-trigger:hover,
body.page-template-page-terms-of-service .site-header .rxs-nav__link:hover,
body.page-template-page-terms-of-service .site-header .rxs-nav__toggle:hover,
body.page-template-page-terms-of-service .site-header .rxs-login-trigger:hover,
body.page-template-page-accessibility .site-header .rxs-nav__link:hover,
body.page-template-page-accessibility .site-header .rxs-nav__toggle:hover,
body.page-template-page-accessibility .site-header .rxs-login-trigger:hover,
body.page-template-page-complaints .site-header .rxs-nav__link:hover,
body.page-template-page-complaints .site-header .rxs-nav__toggle:hover,
body.page-template-page-complaints .site-header .rxs-login-trigger:hover,
body.page-template-page-security .site-header .rxs-nav__link:hover,
body.page-template-page-security .site-header .rxs-nav__toggle:hover,
body.page-template-page-security .site-header .rxs-login-trigger:hover,
body.page-template-page-backup-disaster-recovery-policy .site-header .rxs-nav__link:hover,
body.page-template-page-backup-disaster-recovery-policy .site-header .rxs-nav__toggle:hover,
body.page-template-page-backup-disaster-recovery-policy .site-header .rxs-login-trigger:hover {
    color: #fff;
}

body.privacy-policy .site-header .rxs-login-trigger,
body.page-template-page-terms-of-service .site-header .rxs-login-trigger,
body.page-template-page-accessibility .site-header .rxs-login-trigger,
body.page-template-page-complaints .site-header .rxs-login-trigger,
body.page-template-page-security .site-header .rxs-login-trigger,
body.page-template-page-backup-disaster-recovery-policy .site-header .rxs-login-trigger {
    border-color: rgba(255, 255, 255, 0.35);
}

body.privacy-policy .site-header .rxs-login-trigger:hover,
body.page-template-page-terms-of-service .site-header .rxs-login-trigger:hover,
body.page-template-page-accessibility .site-header .rxs-login-trigger:hover,
body.page-template-page-complaints .site-header .rxs-login-trigger:hover,
body.page-template-page-security .site-header .rxs-login-trigger:hover,
body.page-template-page-backup-disaster-recovery-policy .site-header .rxs-login-trigger:hover {
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.08);
}

body.privacy-policy .site-header .rxs-mobile-toggle span,
body.page-template-page-terms-of-service .site-header .rxs-mobile-toggle span,
body.page-template-page-accessibility .site-header .rxs-mobile-toggle span,
body.page-template-page-complaints .site-header .rxs-mobile-toggle span,
body.page-template-page-security .site-header .rxs-mobile-toggle span,
body.page-template-page-backup-disaster-recovery-policy .site-header .rxs-mobile-toggle span {
    background: #fff;
}

body.privacy-policy .site-header--scrolled,
body.page-template-page-terms-of-service .site-header--scrolled,
body.page-template-page-accessibility .site-header--scrolled,
body.page-template-page-complaints .site-header--scrolled,
body.page-template-page-security .site-header--scrolled,
body.page-template-page-backup-disaster-recovery-policy .site-header--scrolled {
    background: rgba(9, 9, 11, 0.82);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
}

body.privacy-policy .rxs-logo__default,
body.page-template-page-terms-of-service .rxs-logo__default,
body.page-template-page-accessibility .rxs-logo__default,
body.page-template-page-complaints .rxs-logo__default,
body.page-template-page-security .rxs-logo__default,
body.page-template-page-backup-disaster-recovery-policy .rxs-logo__default {
    display: none;
}

body.privacy-policy .rxs-logo__white,
body.page-template-page-terms-of-service .rxs-logo__white,
body.page-template-page-accessibility .rxs-logo__white,
body.page-template-page-complaints .rxs-logo__white,
body.page-template-page-security .rxs-logo__white,
body.page-template-page-backup-disaster-recovery-policy .rxs-logo__white {
    display: block;
}

/* Per-page CTA overrides removed — unified dark + teal accent style */

/* ================================================================
   BLOG, FAQ, CONTACT — dark theme (v3.12.74)
   Same treatment as legal pages: dark body, frosted header, white nav
   ================================================================ */

body.blog,
body.page-template-page-faq,
body.page-template-page-contact {
    background: var(--rxs-surface, #0e0e11) !important;
}

body.blog .site-header,
body.page-template-page-faq .site-header,
body.page-template-page-contact .site-header {
    background: rgba(9, 9, 11, 0.55);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
}

body.blog .site-header .rxs-nav__link,
body.blog .site-header .rxs-nav__toggle,
body.blog .site-header .rxs-login-trigger,
body.page-template-page-faq .site-header .rxs-nav__link,
body.page-template-page-faq .site-header .rxs-nav__toggle,
body.page-template-page-faq .site-header .rxs-login-trigger,
body.page-template-page-contact .site-header .rxs-nav__link,
body.page-template-page-contact .site-header .rxs-nav__toggle,
body.page-template-page-contact .site-header .rxs-login-trigger {
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

body.blog .site-header .rxs-nav__link:hover,
body.blog .site-header .rxs-nav__toggle:hover,
body.blog .site-header .rxs-login-trigger:hover,
body.page-template-page-faq .site-header .rxs-nav__link:hover,
body.page-template-page-faq .site-header .rxs-nav__toggle:hover,
body.page-template-page-faq .site-header .rxs-login-trigger:hover,
body.page-template-page-contact .site-header .rxs-nav__link:hover,
body.page-template-page-contact .site-header .rxs-nav__toggle:hover,
body.page-template-page-contact .site-header .rxs-login-trigger:hover {
    color: #fff;
}

body.blog .site-header .rxs-login-trigger,
body.page-template-page-faq .site-header .rxs-login-trigger,
body.page-template-page-contact .site-header .rxs-login-trigger {
    border-color: rgba(255, 255, 255, 0.35);
}

body.blog .site-header .rxs-login-trigger:hover,
body.page-template-page-faq .site-header .rxs-login-trigger:hover,
body.page-template-page-contact .site-header .rxs-login-trigger:hover {
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.08);
}

body.blog .site-header .rxs-mobile-toggle span,
body.page-template-page-faq .site-header .rxs-mobile-toggle span,
body.page-template-page-contact .site-header .rxs-mobile-toggle span {
    background: #fff;
}

body.blog .site-header--scrolled,
body.page-template-page-faq .site-header--scrolled,
body.page-template-page-contact .site-header--scrolled {
    background: rgba(9, 9, 11, 0.82);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
}

body.blog .rxs-logo__default,
body.page-template-page-faq .rxs-logo__default,
body.page-template-page-contact .rxs-logo__default {
    display: none;
}

body.blog .rxs-logo__white,
body.page-template-page-faq .rxs-logo__white,
body.page-template-page-contact .rxs-logo__white {
    display: block;
}

/* Blog/FAQ/Contact CTA overrides removed — unified style */

/* ================================================================
   COMPLIANCE, ABOUT, HELP — dark theme
   Same treatment as legal pages: dark body, frosted header, white nav
   ================================================================ */

body.page-template-page-compliance,
body.page-template-page-about,
body.page-template-page-help {
    background: var(--rxs-surface, #0e0e11) !important;
}

body.page-template-page-compliance .site-header,
body.page-template-page-about .site-header,
body.page-template-page-help .site-header {
    background: rgba(9, 9, 11, 0.55);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
}

body.page-template-page-compliance .site-header .rxs-nav__link,
body.page-template-page-compliance .site-header .rxs-nav__toggle,
body.page-template-page-compliance .site-header .rxs-login-trigger,
body.page-template-page-about .site-header .rxs-nav__link,
body.page-template-page-about .site-header .rxs-nav__toggle,
body.page-template-page-about .site-header .rxs-login-trigger,
body.page-template-page-help .site-header .rxs-nav__link,
body.page-template-page-help .site-header .rxs-nav__toggle,
body.page-template-page-help .site-header .rxs-login-trigger {
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

body.page-template-page-compliance .site-header .rxs-nav__link:hover,
body.page-template-page-compliance .site-header .rxs-nav__toggle:hover,
body.page-template-page-compliance .site-header .rxs-login-trigger:hover,
body.page-template-page-about .site-header .rxs-nav__link:hover,
body.page-template-page-about .site-header .rxs-nav__toggle:hover,
body.page-template-page-about .site-header .rxs-login-trigger:hover,
body.page-template-page-help .site-header .rxs-nav__link:hover,
body.page-template-page-help .site-header .rxs-nav__toggle:hover,
body.page-template-page-help .site-header .rxs-login-trigger:hover {
    color: #fff;
}

body.page-template-page-compliance .site-header .rxs-login-trigger,
body.page-template-page-about .site-header .rxs-login-trigger,
body.page-template-page-help .site-header .rxs-login-trigger {
    border-color: rgba(255, 255, 255, 0.35);
}

body.page-template-page-compliance .site-header .rxs-login-trigger:hover,
body.page-template-page-about .site-header .rxs-login-trigger:hover,
body.page-template-page-help .site-header .rxs-login-trigger:hover {
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.08);
}

body.page-template-page-compliance .site-header .rxs-mobile-toggle span,
body.page-template-page-about .site-header .rxs-mobile-toggle span,
body.page-template-page-help .site-header .rxs-mobile-toggle span {
    background: #fff;
}

body.page-template-page-compliance .site-header--scrolled,
body.page-template-page-about .site-header--scrolled,
body.page-template-page-help .site-header--scrolled {
    background: rgba(9, 9, 11, 0.82);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
}

body.page-template-page-compliance .rxs-logo__default,
body.page-template-page-about .rxs-logo__default,
body.page-template-page-help .rxs-logo__default {
    display: none;
}

body.page-template-page-compliance .rxs-logo__white,
body.page-template-page-about .rxs-logo__white,
body.page-template-page-help .rxs-logo__white {
    display: block;
}

/* Compliance/About/Help CTA overrides removed — unified style */

/* --- Help page: dark hero + dark pillar cards --- */
body.page-template-page-help .rxs-page-hero__heading {
    color: #fff;
    font-size: clamp(2.625rem, 2rem + 3.13vw, 3.75rem);
    line-height: var(--wp--custom--line-height--tight);
    letter-spacing: -0.03em;
}

body.page-template-page-help .rxs-page-hero__sub {
    color: rgba(255, 255, 255, 0.85);
}

body.page-template-page-help .rxs-eyebrow,
body.page-template-page-compliance .rxs-eyebrow,
body.page-template-page-about .rxs-eyebrow {
    background: rgba(24, 212, 187, 0.12);
    color: #18D4BB;
}

body.page-template-page-help .rxs-breadcrumb,
body.page-template-page-help .rxs-breadcrumb a {
    color: rgba(255, 255, 255, 0.65);
}

body.page-template-page-help .rxs-breadcrumb a:hover {
    color: #18D4BB;
}

body.page-template-page-help .rxs-pillar-card {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

body.page-template-page-help .rxs-pillar-card:hover {
    border-color: #18D4BB;
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

body.page-template-page-help .rxs-pillar-card__title {
    color: #fff;
}

body.page-template-page-help .rxs-pillar-card__desc {
    color: rgba(255, 255, 255, 0.8);
}

body.page-template-page-help .rxs-pillar-card__arrow {
    color: #18D4BB;
}

/* --- About page: team cards on dark surface --- */
body.page-template-page-about .rxs-about-team__card {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

body.page-template-page-about .rxs-about-team__name {
    color: #fff;
}

body.page-template-page-about .rxs-about-team__role {
    color: #18D4BB;
}

body.page-template-page-about .rxs-about-team__bio {
    color: rgba(255, 255, 255, 0.85);
}

body.page-template-page-about .rxs-about-team__reg {
    color: rgba(255, 255, 255, 0.65);
}

/* ================================================================
   CASE STUDIES PAGE — dark theme + cards
   ================================================================ */

body.page-template-page-case-studies {
    background: var(--rxs-surface, #0e0e11) !important;
}

body.page-template-page-case-studies .site-header {
    background: rgba(9, 9, 11, 0.55);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
}

body.page-template-page-case-studies .site-header .rxs-nav__link,
body.page-template-page-case-studies .site-header .rxs-nav__toggle,
body.page-template-page-case-studies .site-header .rxs-login-trigger {
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

body.page-template-page-case-studies .site-header .rxs-nav__link:hover,
body.page-template-page-case-studies .site-header .rxs-nav__toggle:hover,
body.page-template-page-case-studies .site-header .rxs-login-trigger:hover {
    color: #fff;
}

body.page-template-page-case-studies .site-header .rxs-login-trigger {
    border-color: rgba(255, 255, 255, 0.35);
}

body.page-template-page-case-studies .site-header .rxs-login-trigger:hover {
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.08);
}

body.page-template-page-case-studies .site-header .rxs-mobile-toggle span {
    background: #fff;
}

body.page-template-page-case-studies .site-header--scrolled {
    background: rgba(9, 9, 11, 0.82);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
}

body.page-template-page-case-studies .rxs-logo__default {
    display: none;
}

body.page-template-page-case-studies .rxs-logo__white {
    display: block;
}

/* Case studies CTA override removed — unified style */

/* Case study cards */
.rxs-cs__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .rxs-cs__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.rxs-cs__card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--wp--custom--border-radius--md, 12px);
    overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.rxs-cs__card:hover {
    border-color: #18D4BB;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}

.rxs-cs__logo {
    padding: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    min-height: 100px;
}

.rxs-cs__logo img {
    max-height: 64px;
    max-width: 180px;
    width: auto;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: 0.85;
}

.rxs-cs__body {
    padding: 1.5rem;
}

.rxs-cs__name {
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', serif);
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 0.25rem;
}

.rxs-cs__location {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.7);
    margin: 0 0 0.75rem;
}

.rxs-cs__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.rxs-cs__tag {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    padding: 0.25rem 0.625rem;
    border-radius: 100px;
    background: rgba(24, 212, 187, 0.12);
    color: #18D4BB;
}

.rxs-cs__result {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #18D4BB;
    margin: 0 0 1rem;
}

.rxs-cs__result svg {
    flex-shrink: 0;
}

.rxs-cs__quote {
    margin: 0 0 1rem;
    padding: 0;
    border: 0;
}

.rxs-cs__quote p {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
    font-style: italic;
    margin: 0;
}

.rxs-cs__services {
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.65);
    margin: 0;
}

.rxs-cs__services strong {
    color: rgba(255, 255, 255, 0.75);
}

.rxs-cs__cta {
    text-align: center;
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.rxs-cs__cta p {
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', serif);
    font-size: 1.25rem;
    color: rgba(255, 255, 255, 0.7);
    margin: 0 0 1.25rem;
}

@media (max-width: 767px) {
    .rxs-cs__logo {
        padding: 1rem;
        min-height: 80px;
    }

    .rxs-cs__body {
        padding: 1.25rem;
    }
}

/* --- Blog: dark archive + cards --- */
body.blog .rxs-blog-archive {
    background: var(--rxs-surface, #0e0e11);
}

body.blog .rxs-blog-chip {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.75);
}

body.blog .rxs-blog-chip:hover {
    border-color: #18D4BB;
    color: #18D4BB;
}

body.blog .rxs-blog-chip.is-active {
    background: var(--wp--preset--color--primary, #0B9282);
    border-color: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
}

body.blog .rxs-blog-card {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

body.blog .rxs-blog-card:hover {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
    border-color: rgba(24, 212, 187, 0.2);
}

body.blog .rxs-blog-card__thumb {
    background: linear-gradient(135deg, #141416 0%, #0d3028 100%);
}

body.blog .rxs-blog-card__thumb-placeholder {
    background: linear-gradient(135deg, #141416 0%, #0d3028 100%);
}

body.blog .rxs-blog-card__cat {
    background: rgba(24, 212, 187, 0.12);
    color: #18D4BB;
}

body.blog .rxs-blog-card__title {
    color: #fff;
}

body.blog .rxs-blog-card__excerpt {
    color: var(--rxs-body, #94A3AB);
}

body.blog .rxs-blog-card__footer {
    border-top-color: var(--rxs-line, #27272a);
}

body.blog .rxs-blog-card__meta {
    color: var(--rxs-muted, #71717a);
}

body.blog .rxs-blog-card__more {
    color: #18D4BB;
}

body.blog .rxs-blog-card:hover .rxs-blog-card__more {
    color: #7aecd4;
}

body.blog .rxs-blog-filter-active {
    background: rgba(24, 212, 187, 0.08);
    border-color: rgba(24, 212, 187, 0.2);
    color: var(--rxs-body, #94A3AB);
}

body.blog .rxs-blog-filter-active__label {
    color: rgba(255, 255, 255, 0.75);
}

body.blog .rxs-blog-filter-active__value {
    color: #18D4BB;
}

body.blog .rxs-blog-filter-active__clear {
    color: #18D4BB;
}

body.blog .rxs-blog-filter-active__clear:hover {
    background: #18D4BB;
    color: #0e0e11;
}

body.blog .rxs-blog-pagination .page-numbers {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.7);
}

body.blog .rxs-blog-pagination .page-numbers:hover {
    border-color: #18D4BB;
    color: #18D4BB;
}

body.blog .rxs-blog-pagination .page-numbers.current {
    background: var(--wp--preset--color--primary, #0B9282);
    border-color: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
}

body.blog .rxs-blog-empty {
    color: var(--rxs-body, #94A3AB);
}

/* --- FAQ: dark hero + filters + accordion --- */
body.page-template-page-faq p {
    color: var(--rxs-body, #94A3AB);
}

body.page-template-page-faq .rxs-page-hero {
    background: transparent;
}

body.page-template-page-faq .rxs-page-hero__heading {
    color: #fff;
    font-size: clamp(2.625rem, 2rem + 3.13vw, 3.75rem);
}

body.page-template-page-faq .rxs-page-hero__sub {
    color: var(--rxs-body, #94A3AB);
}

body.page-template-page-faq .rxs-eyebrow {
    color: #18D4BB;
}

body.page-template-page-faq .rxs-breadcrumb,
body.page-template-page-faq .rxs-breadcrumb a {
    color: var(--rxs-muted, #71717a);
}

body.page-template-page-faq .rxs-breadcrumb a:hover {
    color: #18D4BB;
}

body.page-template-page-faq .rxs-faq-filter {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.75);
}

body.page-template-page-faq .rxs-faq-filter:hover {
    border-color: #18D4BB;
    color: #18D4BB;
}

body.page-template-page-faq .rxs-faq-filter.active {
    background: var(--wp--preset--color--primary, #0B9282);
    border-color: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
}

body.page-template-page-faq .rxs-aeo__item {
    border-color: var(--rxs-line, #27272a);
}

body.page-template-page-faq .rxs-aeo__question {
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: 1.02rem;
    letter-spacing: -0.015em;
    line-height: 1.3;
    padding: 1rem 0;
    color: var(--rxs-ink-soft, #EDEDE9);
}

body.page-template-page-faq .rxs-aeo__question::after {
    color: var(--rxs-muted, #71717a);
}

body.page-template-page-faq .rxs-aeo__item[open] > .rxs-aeo__question::after {
    color: #18D4BB;
}

body.page-template-page-faq .rxs-aeo__answer,
body.page-template-page-faq .rxs-aeo__answer p {
    font-size: 0.89rem;
    line-height: 1.6;
    color: var(--rxs-muted-2, #71717a);
    max-width: 72ch;
}

body.page-template-page-faq .rxs-aeo__answer a {
    color: #18D4BB;
}

body.page-template-page-faq .rxs-legal-highlight {
    background: #141416;
    border: 1px solid rgba(24, 212, 187, 0.15);
    border-left: 3px solid #18D4BB;
}

body.page-template-page-faq .rxs-legal-highlight p {
    color: var(--rxs-body, #94A3AB);
}

body.page-template-page-faq .rxs-legal-highlight a {
    color: #18D4BB;
}

body.page-template-page-faq .rxs-legal-highlight strong {
    color: var(--rxs-ink-soft, #EDEDE9);
}

/* --- Contact: dark sections + cards --- */
body.page-template-page-contact .rxs-contact-methods-section {
    background: var(--rxs-surface, #0e0e11) !important;
}

body.page-template-page-contact .rxs-contact-card {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

body.page-template-page-contact .rxs-contact-card:hover {
    border-color: rgba(24, 212, 187, 0.3);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
}

body.page-template-page-contact .rxs-contact-card__title {
    color: #fff;
}

body.page-template-page-contact .rxs-contact-card__desc {
    color: var(--rxs-body, #94A3AB);
}

body.page-template-page-contact .rxs-contact-card__action {
    color: #18D4BB;
}

body.page-template-page-contact .rxs-legal-body {
    background: var(--rxs-surface, #0e0e11) !important;
}

/* ================================================================
   SINGLE POST, TAG, CATEGORY — dark theme (v3.12.75)
   ================================================================ */

/* --- Dark body for single posts + archive pages --- */
body.single-post,
body.tag,
body.category {
    background: var(--rxs-surface, #0e0e11) !important;
}

body.single-post p,
body.tag p,
body.category p {
    color: var(--rxs-body, #94A3AB);
}

/* --- Frosted header --- */
body.single-post .site-header,
body.tag .site-header,
body.category .site-header {
    background: rgba(9, 9, 11, 0.55);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
}

body.single-post .site-header .rxs-nav__link,
body.single-post .site-header .rxs-nav__toggle,
body.single-post .site-header .rxs-login-trigger,
body.tag .site-header .rxs-nav__link,
body.tag .site-header .rxs-nav__toggle,
body.tag .site-header .rxs-login-trigger,
body.category .site-header .rxs-nav__link,
body.category .site-header .rxs-nav__toggle,
body.category .site-header .rxs-login-trigger {
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

body.single-post .site-header .rxs-nav__link:hover,
body.single-post .site-header .rxs-nav__toggle:hover,
body.single-post .site-header .rxs-login-trigger:hover,
body.tag .site-header .rxs-nav__link:hover,
body.tag .site-header .rxs-nav__toggle:hover,
body.tag .site-header .rxs-login-trigger:hover,
body.category .site-header .rxs-nav__link:hover,
body.category .site-header .rxs-nav__toggle:hover,
body.category .site-header .rxs-login-trigger:hover {
    color: #fff;
}

body.single-post .site-header .rxs-login-trigger,
body.tag .site-header .rxs-login-trigger,
body.category .site-header .rxs-login-trigger {
    border-color: rgba(255, 255, 255, 0.35);
}

body.single-post .site-header .rxs-login-trigger:hover,
body.tag .site-header .rxs-login-trigger:hover,
body.category .site-header .rxs-login-trigger:hover {
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.08);
}

body.single-post .site-header .rxs-mobile-toggle span,
body.tag .site-header .rxs-mobile-toggle span,
body.category .site-header .rxs-mobile-toggle span {
    background: #fff;
}

body.single-post .site-header--scrolled,
body.tag .site-header--scrolled,
body.category .site-header--scrolled {
    background: rgba(9, 9, 11, 0.82);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
}

body.single-post .rxs-logo__default,
body.tag .rxs-logo__default,
body.category .rxs-logo__default {
    display: none;
}

body.single-post .rxs-logo__white,
body.tag .rxs-logo__white,
body.category .rxs-logo__white {
    display: block;
}

/* Single/tag/category CTA overrides removed — unified style */

/* --- Tag/Category: reuse blog archive dark styles --- */
body.tag .rxs-blog-archive,
body.category .rxs-blog-archive {
    background: var(--rxs-surface, #0e0e11);
}

body.tag .rxs-blog-chip,
body.category .rxs-blog-chip {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.75);
}

body.tag .rxs-blog-chip:hover,
body.category .rxs-blog-chip:hover {
    border-color: #18D4BB;
    color: #18D4BB;
}

body.tag .rxs-blog-chip.is-active,
body.category .rxs-blog-chip.is-active {
    background: var(--wp--preset--color--primary, #0B9282);
    border-color: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
}

body.tag .rxs-blog-card,
body.category .rxs-blog-card {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

body.tag .rxs-blog-card:hover,
body.category .rxs-blog-card:hover {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
    border-color: rgba(24, 212, 187, 0.2);
}

body.tag .rxs-blog-card__thumb,
body.category .rxs-blog-card__thumb {
    background: linear-gradient(135deg, #141416 0%, #0d3028 100%);
}

body.tag .rxs-blog-card__thumb-placeholder,
body.category .rxs-blog-card__thumb-placeholder {
    background: linear-gradient(135deg, #141416 0%, #0d3028 100%);
}

body.tag .rxs-blog-card__cat,
body.category .rxs-blog-card__cat {
    background: rgba(24, 212, 187, 0.12);
    color: #18D4BB;
}

body.tag .rxs-blog-card__title,
body.category .rxs-blog-card__title {
    color: #fff;
}

body.tag .rxs-blog-card__excerpt,
body.category .rxs-blog-card__excerpt {
    color: var(--rxs-body, #94A3AB);
}

body.tag .rxs-blog-card__footer,
body.category .rxs-blog-card__footer {
    border-top-color: var(--rxs-line, #27272a);
}

body.tag .rxs-blog-card__meta,
body.category .rxs-blog-card__meta {
    color: var(--rxs-muted, #71717a);
}

body.tag .rxs-blog-card__more,
body.category .rxs-blog-card__more {
    color: #18D4BB;
}

body.tag .rxs-blog-filter-active,
body.category .rxs-blog-filter-active {
    background: rgba(24, 212, 187, 0.08);
    border-color: rgba(24, 212, 187, 0.2);
    color: var(--rxs-body, #94A3AB);
}

body.tag .rxs-blog-filter-active__label,
body.category .rxs-blog-filter-active__label {
    color: rgba(255, 255, 255, 0.75);
}

body.tag .rxs-blog-filter-active__value,
body.category .rxs-blog-filter-active__value {
    color: #18D4BB;
}

body.tag .rxs-blog-filter-active__clear,
body.category .rxs-blog-filter-active__clear {
    color: #18D4BB;
}

body.tag .rxs-blog-pagination .page-numbers,
body.category .rxs-blog-pagination .page-numbers {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.7);
}

body.tag .rxs-blog-pagination .page-numbers:hover,
body.category .rxs-blog-pagination .page-numbers:hover {
    border-color: #18D4BB;
    color: #18D4BB;
}

body.tag .rxs-blog-pagination .page-numbers.current,
body.category .rxs-blog-pagination .page-numbers.current {
    background: var(--wp--preset--color--primary, #0B9282);
    border-color: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
}

body.tag .rxs-blog-empty,
body.category .rxs-blog-empty {
    color: var(--rxs-body, #94A3AB);
}

/* --- Single post: dark article --- */
body.single-post .rxs-post {
    background: var(--rxs-surface, #0e0e11);
}

body.single-post .rxs-post__breadcrumb,
body.single-post .rxs-post__breadcrumb a {
    color: var(--rxs-muted, #71717a);
}

body.single-post .rxs-post__breadcrumb a:hover {
    color: #18D4BB;
}

body.single-post .rxs-post__breadcrumb span {
    color: var(--rxs-line, #27272a);
}

body.single-post .rxs-post__cat {
    background: rgba(24, 212, 187, 0.12);
    color: #18D4BB;
}

body.single-post .rxs-post__cat:hover {
    background: #18D4BB;
    color: #0e0e11;
}

body.single-post .rxs-post__title {
    color: #fff;
}

body.single-post .rxs-post__lede {
    color: var(--rxs-body, #94A3AB);
}

body.single-post .rxs-post__meta-bar {
    border-color: var(--rxs-line, #27272a);
}

body.single-post .rxs-post__author-name {
    color: var(--rxs-ink-soft, #EDEDE9);
}

body.single-post .rxs-post__author-role {
    color: var(--rxs-muted, #71717a);
}

body.single-post .rxs-post__meta-facts {
    color: var(--rxs-muted, #71717a);
}

body.single-post .rxs-post__meta-fact svg {
    color: #18D4BB;
}

body.single-post .rxs-post__tldr {
    background: linear-gradient(135deg, #141416 0%, #0d3028 100%);
    border-left-color: #18D4BB;
}

body.single-post .rxs-post__tldr-label {
    color: #18D4BB;
}

body.single-post .rxs-post__tldr-list li {
    color: var(--rxs-ink-soft, #EDEDE9);
}

body.single-post .rxs-post__tldr-list li::before {
    background: #18D4BB;
}

body.single-post .rxs-post__thumb {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

body.single-post .rxs-post__toc {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

body.single-post .rxs-post__toc-title {
    color: #18D4BB;
}

body.single-post .rxs-post__toc-list li::before {
    color: var(--rxs-muted, #71717a);
}

body.single-post .rxs-post__toc-list a {
    color: var(--rxs-body, #94A3AB);
}

body.single-post .rxs-post__toc-list a:hover {
    color: #18D4BB;
}

body.single-post .rxs-post__share {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

body.single-post .rxs-post__share-label {
    color: var(--rxs-muted, #71717a);
}

body.single-post .rxs-post__share-btn {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: var(--rxs-body, #94A3AB);
}

body.single-post .rxs-post__share-btn:hover {
    background: #18D4BB;
    color: #0e0e11;
    border-color: #18D4BB;
}

/* --- Single post: content typography dark --- */
body.single-post .rxs-post__content,
body.single-post .rxs-post__content p {
    color: var(--rxs-body, #94A3AB);
}

body.single-post .rxs-post__content h2,
body.single-post .rxs-post__content h3 {
    color: #fff;
}

body.single-post .rxs-post__content strong {
    color: var(--rxs-ink-soft, #EDEDE9);
}

body.single-post .rxs-post__content a {
    color: #18D4BB;
}

body.single-post .rxs-post__content a:hover {
    color: #7aecd4;
}

body.single-post .rxs-post__content blockquote {
    background: #141416;
    border-left-color: #18D4BB;
    color: var(--rxs-ink-soft, #EDEDE9);
}

body.single-post .rxs-post__content blockquote p {
    color: var(--rxs-ink-soft, #EDEDE9);
}

body.single-post .rxs-post__content th {
    background: rgba(24, 212, 187, 0.08);
    color: #18D4BB;
}

body.single-post .rxs-post__content td {
    border-color: var(--rxs-line, #27272a);
    color: var(--rxs-body, #94A3AB);
}

body.single-post .rxs-post__content ul,
body.single-post .rxs-post__content ol {
    color: var(--rxs-body, #94A3AB);
}

body.single-post .rxs-post__content li::marker {
    color: #18D4BB;
}

/* --- Single post: author bio dark --- */
body.single-post .rxs-post__author-bio {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

body.single-post .rxs-post__author-bio-name {
    color: #fff;
}

body.single-post .rxs-post__author-bio-name a:hover {
    border-bottom-color: #18D4BB;
}

body.single-post .rxs-post__author-bio-role {
    color: var(--rxs-muted, #71717a);
}

body.single-post .rxs-post__author-bio-text,
body.single-post .rxs-post__author-bio-text p,
body.single-post .rxs-post__author-bio p {
    color: var(--rxs-body, #94A3AB);
}

body.single-post .rxs-post__author-bio-meta {
    color: var(--rxs-muted, #71717a);
}

/* --- Single post: related articles dark --- */
body.single-post .rxs-post__related {
    border-top-color: var(--rxs-line, #27272a);
}

body.single-post .rxs-post__related-title {
    color: #fff;
}

body.single-post .rxs-blog-card {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.08);
}

body.single-post .rxs-blog-card:hover {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
    border-color: rgba(24, 212, 187, 0.2);
}

body.single-post .rxs-blog-card__thumb {
    background: linear-gradient(135deg, #141416 0%, #0d3028 100%);
}

body.single-post .rxs-blog-card__cat {
    background: rgba(24, 212, 187, 0.12);
    color: #18D4BB;
}

body.single-post .rxs-blog-card__title {
    color: #fff;
}

body.single-post .rxs-blog-card__footer {
    border-top-color: var(--rxs-line, #27272a);
}

body.single-post .rxs-blog-card__meta {
    color: var(--rxs-muted, #71717a);
}

body.single-post .rxs-blog-card__more {
    color: #18D4BB;
}


/* ================================================================
   FEATURES TABS — "What it does" (3 tabs: Running / Defending / Filling)
   Dark surface, tabbed UI. All content in DOM for AEO/crawlers.
   ================================================================ */

.rxs-ftab {
    --ftab-bg:            #0e0e11;
    --ftab-surface:       var(--rxs-surface);
    --ftab-line:          var(--rxs-line);
    --ftab-line-strong:   #27272a;
    --ftab-line-top:      #0B9282;
    --ftab-ink:           var(--rxs-ink-soft);
    --ftab-ink-2:         var(--rxs-ink-2);
    --ftab-muted:         var(--rxs-muted-2);
    --ftab-muted-2:       #71717a;
    --ftab-brand:         var(--brand-on-dark, #18D4BB);

    background: var(--ftab-bg);
    border-top: 1px solid #1e1e22;
    padding: 52px 20px 56px !important;
    color: var(--ftab-ink);
    margin-top: 0 !important;
}

.rxs-ftab__inner {
    max-width: 1000px;
    margin: 0 auto;
}

.rxs-ftab__label {
    font-family: var(--ff-mono);
    font-size: var(--rxs-fs-eyebrow);
    font-weight: 600;
    letter-spacing: var(--rxs-ls-eyebrow);
    text-transform: uppercase;
    color: var(--ftab-brand);
    margin: 0 auto 12px;
}

.rxs-ftab__heading {
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: var(--rxs-fs-heading);
    letter-spacing: var(--rxs-ls-heading);
    color: #fff;
    margin: 0 0 8px;
    text-wrap: pretty;
    line-height: var(--rxs-lh-heading);
}

.rxs-ftab__lede {
    font-size: var(--rxs-fs-body);
    line-height: var(--rxs-lh-body);
    color: var(--ftab-muted-2);
    margin: 0 auto 28px;
    max-width: 52ch;
}

/* Tab bar */
.rxs-ftab__tabs {
    display: flex;
    gap: 6px;
    margin-bottom: 0;
    border-bottom: 1px solid var(--ftab-line);
}

.rxs-ftab__tab {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 20px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--ftab-muted);
    letter-spacing: -0.01em;
    transition: color 0.18s, border-color 0.18s;
    margin-bottom: -1px;
}

.rxs-ftab__tab:hover {
    color: var(--ftab-ink);
}

.rxs-ftab__tab.is-active {
    color: var(--ftab-brand);
    border-bottom-color: var(--ftab-brand);
}

.rxs-ftab__tab:focus-visible {
    outline: 2px solid var(--ftab-brand);
    outline-offset: -2px;
    border-radius: 3px;
}

.rxs-ftab__tab-num {
    font-family: var(--ff-mono);
    font-size: var(--rxs-fs-mono-sm);
    font-weight: 600;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.rxs-ftab__tab-label {
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: -0.012em;
}

/* Panels */
.rxs-ftab__panel {
    padding: 28px 0 0;
}

.rxs-ftab__panel[hidden] {
    display: none;
}

.rxs-ftab__panel-header {
    margin-bottom: 20px;
}

.rxs-ftab__panel-q {
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: 1.16rem;
    color: #fff;
    letter-spacing: -0.018em;
    margin: 0 0 6px;
    line-height: 1.25;
}

.rxs-ftab__panel-intro {
    font-size: 0.84rem;
    color: var(--ftab-muted-2);
    margin: 0;
    line-height: 1.55;
}

/* Feature list */
.rxs-ftab__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 30px;
}

.rxs-ftab__list li {
    padding: 14px 0;
    border-top: 1px solid var(--ftab-line);
}

.rxs-ftab__list li:first-child {
    border-top: 0;
    padding-top: 2px;
}

.rxs-ftab__list li b {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--ftab-ink);
    letter-spacing: -0.012em;
    margin: 0 0 3px;
    line-height: 1.35;
}

.rxs-ftab__list li span {
    display: block;
    font-size: 0.815rem;
    color: var(--ftab-muted);
    line-height: 1.52;
    max-width: 62ch;
}

@media (prefers-reduced-motion: reduce) {
    .rxs-ftab__tab { transition: none; }
}

@media (max-width: 640px) {
    .rxs-ftab { padding: 38px 16px 42px !important; }
    .rxs-ftab__tabs { gap: 2px; }
    .rxs-ftab__tab { padding: 12px 14px; font-size: 0.84rem; }
    .rxs-ftab__tab-num { display: none; }
    .rxs-ftab__tab-label { font-size: 0.92rem; }
    .rxs-ftab__list { grid-template-columns: 1fr; }
}


/* ================================================================
   HOMEPAGE INTEGRATIONS — Seamless integrations hub
   ================================================================ */

.rxs-integ {
    --integ-bg:      #09090b;
    --integ-brand:   #18D4BB;
    --integ-ink:     var(--rxs-ink-soft);
    --integ-muted:   var(--rxs-subtle);
    --integ-muted-2: var(--rxs-body);
    --integ-line:    var(--rxs-line);
    background: var(--integ-bg) !important;
    border-top: 1px solid #1e1e22;
    padding: 52px 20px 56px !important;
    color: var(--integ-ink);
}

.rxs-integ__inner {
    max-width: 1000px;
    margin: 0 auto;
}

.rxs-integ__label {
    font-family: var(--ff-mono);
    font-size: var(--rxs-fs-eyebrow);
    font-weight: 600;
    letter-spacing: var(--rxs-ls-eyebrow);
    text-transform: uppercase;
    color: var(--integ-brand);
    margin: 0 auto 12px;
}

.rxs-integ__heading {
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: var(--rxs-fs-heading);
    letter-spacing: var(--rxs-ls-heading);
    line-height: var(--rxs-lh-heading);
    color: #fff;
    margin: 0 0 12px;
    text-wrap: pretty;
}

.rxs-integ__lede {
    font-size: var(--rxs-fs-body);
    line-height: var(--rxs-lh-body);
    color: var(--integ-muted-2);
    max-width: 52ch;
    margin: 0 auto 30px;
}

.rxs-integ__img {
    width: 100%;
    max-width: 860px;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: 12px;
}

@media (max-width: 560px) {
    .rxs-integ { padding: 38px 16px 42px !important; }
}


/* ================================================================
   HOMEPAGE PROOF — Live on RxSure
   ================================================================ */

.rxs-proof2 {
    --prf-bg:      #0e0e11;
    --prf-brand:   #18D4BB;
    --prf-ink:     var(--rxs-ink-soft);
    --prf-muted:   var(--rxs-subtle);
    --prf-line:    #1e1e22;
    background: var(--prf-bg) !important;
    border-top: 1px solid #1e1e22;
    padding: 64px 20px 68px !important;
    color: var(--prf-ink);
}

.rxs-proof2__inner {
    max-width: 1000px;
    margin: 0 auto;
}

.rxs-proof2__label {
    font-family: var(--ff-mono);
    font-size: var(--rxs-fs-eyebrow);
    font-weight: 600;
    letter-spacing: var(--rxs-ls-eyebrow);
    text-transform: uppercase;
    color: var(--prf-brand);
    margin: 0 auto 12px;
}

.rxs-proof2__heading {
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: var(--rxs-fs-heading);
    letter-spacing: var(--rxs-ls-heading);
    line-height: var(--rxs-lh-heading);
    color: #fff;
    margin: 0 0 8px;
    text-wrap: pretty;
}

/* Scrolling pharmacy marquee */
.rxs-proof2__mq {
    margin: 34px 0 0;
    display: grid;
    gap: 10px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.rxs-proof2__mqrow { overflow: hidden; }
.rxs-proof2__mqt {
    display: flex;
    gap: 72px;
    align-items: center;
    width: max-content;
    animation: rxsMarquee 100s linear infinite;
}
@keyframes rxsMarquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
.rxs-proof2__mq img {
    flex: none;
    height: 30px;
    width: auto;
    filter: brightness(0) invert(1);
    opacity: 0.45;
    transition: opacity 0.3s;
}
.rxs-proof2__mq:hover img { opacity: 0.75; }
.rxs-proof2__mq:hover .rxs-proof2__mqt { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
    .rxs-proof2__mqt { animation: none; }
    .rxs-proof2__mqrow { overflow-x: auto; }
}

/* Card pharmacy logos */
.rxs-proof2__plogo {
    height: 28px;
    display: flex;
    align-items: center;
    margin: 0 0 15px;
}
.rxs-proof2__plogo img {
    max-height: 28px;
    max-width: 155px;
    width: auto;
    filter: brightness(0) invert(1);
    opacity: 0.93;
}

.rxs-proof2__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 40px;
    text-align: left;
}

.rxs-proof2__card {
    margin: 0;
    border: 1px solid #27272a;
    border-top: 2px solid #0B9282;
    border-radius: 12px;
    background: #0e0e11;
    padding: 24px 22px 22px;
    display: flex;
    flex-direction: column;
    position: relative;
}

.rxs-proof2__card blockquote {
    margin: 0 0 15px;
    flex: 1;
}

.rxs-proof2__card blockquote p {
    font-size: 0.875rem;
    line-height: 1.55;
    color: #EDEDE9;
    margin: 0;
    letter-spacing: -0.005em;
}

.rxs-proof2__card figcaption {
    border-top: 1px solid var(--prf-line);
    padding-top: 12px;
}

.rxs-proof2__card figcaption b {
    display: block;
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: 0.95rem;
    color: #fff;
    letter-spacing: -0.014em;
    line-height: 1.25;
}

.rxs-proof2__card figcaption span {
    display: block;
    font-family: var(--ff-mono);
    font-size: var(--rxs-fs-mono-sm);
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--prf-muted);
    margin-top: 5px;
}

@media (max-width: 900px) {
    .rxs-proof2__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 520px) {
    .rxs-proof2__grid { grid-template-columns: 1fr; }
    .rxs-proof2 { padding: 48px 16px 52px !important; }
}


/* ================================================================
   HOMEPAGE PRICING — Section 08
   Darkest panel on the page. Bundle table + add-ons table.
   ================================================================ */

.rxs-price {
    --pr-bg:           #09090b;
    --pr-surface:      var(--rxs-surface);
    --pr-surface-alt:  #141416;
    --pr-line:         var(--rxs-line);
    --pr-line-strong:  #27272a;
    --pr-line-top:     #0B9282;
    --pr-ink:          var(--rxs-ink-soft);
    --pr-ink-2:        var(--rxs-ink-2);
    --pr-muted:        var(--rxs-subtle);
    --pr-muted-2:      var(--rxs-body);
    --pr-brand:        var(--brand-on-dark, #18D4BB);
    --pr-brand-hi:     #8af0d8;
    --pr-grad-from:    #0B9282;
    --pr-grad-to:      #097a6d;

    background: var(--pr-bg);
    border-top: 1px solid #1e1e22;
    padding: 52px 20px 58px !important;
    color: var(--pr-ink);
    margin-top: 0 !important;
}

.rxs-price__inner {
    max-width: 1000px;
    margin: 0 auto;
}

.rxs-price__label {
    font-family: var(--ff-mono);
    font-size: var(--rxs-fs-eyebrow);
    font-weight: 600;
    letter-spacing: var(--rxs-ls-eyebrow);
    text-transform: uppercase;
    color: var(--pr-brand);
    margin: 0 auto 12px;
}

.rxs-price__heading {
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: var(--rxs-fs-heading);
    letter-spacing: var(--rxs-ls-heading);
    color: #fff;
    margin: 0 0 12px;
    text-wrap: pretty;
    line-height: var(--rxs-lh-heading);
}

.rxs-price__lede {
    font-size: var(--rxs-fs-body);
    line-height: var(--rxs-lh-body);
    color: var(--pr-muted-2);
    margin: 0 auto 24px;
    max-width: 52ch;
}

.rxs-price__h3 {
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: 1.18rem;
    letter-spacing: -0.015em;
    color: #fff;
    margin: 38px 0 10px;
    text-align: center;
}

/* Three pricing cards */
.rxs-price__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 24px 0 0;
}

.rxs-price__card {
    border: 1px solid var(--pr-line-strong);
    border-top: 2px solid var(--pr-line-top);
    border-radius: 12px;
    background: var(--pr-surface);
    padding: 21px 18px 22px;
    text-align: center;
}

.rxs-price__card--lead {
    background: linear-gradient(170deg, var(--pr-grad-from), var(--pr-grad-to));
    border-color: var(--pr-line-top);
    box-shadow: 0 18px 44px rgba(0,0,0,.4);
}

.rxs-price__card-label {
    display: block;
    font-family: var(--ff-mono);
    font-size: var(--rxs-fs-mono-sm);
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--pr-muted);
    margin-bottom: 11px;
}

.rxs-price__card--lead .rxs-price__card-label {
    color: #a9d8cb;
}

.rxs-price__card-num {
    font-family: var(--ff-heading);
    font-weight: 700;
    font-size: 2.1rem;
    color: #fff;
    letter-spacing: -0.03em;
    line-height: 1.02;
    margin: 0 0 7px;
    font-variant-numeric: tabular-nums;
}

.rxs-price__card-sub {
    font-size: 0.8rem;
    color: var(--pr-muted);
    margin: 0;
    line-height: 1.42;
}

.rxs-price__card--lead .rxs-price__card-sub {
    color: #a9d8cb;
}

/* Note block */
.rxs-price__note {
    border-left: 2px solid var(--pr-line-top);
    background: var(--pr-surface-alt);
    border-radius: 0 10px 10px 0;
    padding: 15px 18px;
    margin: 22px 0 0;
}

.rxs-price__note p {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.6;
    color: var(--pr-muted-2);
    max-width: 66ch;
}

.rxs-price__note b {
    color: var(--pr-ink);
    font-weight: 600;
}

/* Tables */
.rxs-price__table-wrap {
    overflow-x: auto;
    margin: 22px 0 0;
    border: 1px solid var(--pr-line-strong);
    border-radius: 12px;
    background: var(--pr-surface);
}

.rxs-price__table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--rxs-fs-detail);
    min-width: 540px;
}

.rxs-price__table th {
    font-family: var(--ff-mono);
    font-size: var(--rxs-fs-table-head);
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--pr-muted);
    text-align: left;
    padding: 13px 16px;
    border-bottom: 1px solid var(--pr-line);
    white-space: nowrap;
}

.rxs-price__table td {
    padding: 13px 16px;
    border-top: 1px solid #1e1e22;
    color: var(--pr-ink-2);
    line-height: 1.45;
    vertical-align: top;
}

.rxs-price__table tbody tr:first-child td {
    border-top: 0;
}

.rxs-price__n {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.rxs-price__nm {
    color: var(--pr-ink);
    font-weight: 600;
}

.rxs-price__nm span {
    display: block;
    font-weight: 400;
    font-size: 0.79rem;
    color: var(--pr-muted);
    margin-top: 3px;
    line-height: 1.42;
    white-space: normal;
}

.rxs-price__big {
    font-family: var(--ff-mono);
    font-weight: 600;
    color: var(--pr-brand);
    font-size: 0.95rem;
    line-height: 1.3;
}

.rxs-price__best td {
    background: rgba(24, 212, 187, 0.06);
}

.rxs-price__best .rxs-price__big {
    color: var(--pr-brand-hi);
}

.rxs-price__caption {
    font-size: 0.78rem;
    color: var(--pr-muted);
    margin: 11px 0 0;
    font-style: italic;
}

/* Included list */
.rxs-price__included {
    columns: 2;
    column-gap: 26px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.rxs-price__included li {
    font-size: 0.84rem;
    color: var(--pr-ink-2);
    line-height: 1.45;
    padding: 5px 0 5px 16px;
    position: relative;
    break-inside: avoid;
}

.rxs-price__included li::before {
    content: "";
    position: absolute;
    left: 1px;
    top: 0.86em;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--pr-line-top);
}

/* CTA */
.rxs-price__cta {
    text-align: center;
    margin: 28px 0 0;
}

/* Responsive */
@media (max-width: 820px) {
    .rxs-price__cards { grid-template-columns: 1fr; }
    .rxs-price__included { columns: 1; }
}

@media (max-width: 560px) {
    .rxs-price { padding: 38px 16px 42px !important; }
    .rxs-price__card-num { font-size: 1.85rem; }
}

/* ================================================================
   HEALTH TOOLS — dark-theme styles (v3.12.78)
   Hub, BMI Calculator, Blood Pressure, Calorie, Hay Fever
   All pages use dark body (#0e0e11). Classes: rxs-ht-*
   ================================================================ */

/* --- Dark body for health tools pages --- */
body.page-template-page-health-tools,
body.page-template-page-health-tool {
    background-color: #0e0e11;
}

body.page-template-page-health-tools p,
body.page-template-page-health-tool p {
    color: #94A3AB;
}

body.page-template-page-health-tools .rxs-page-hero,
body.page-template-page-health-tool .rxs-page-hero {
    background: transparent;
}

body.page-template-page-health-tools .rxs-page-hero__heading,
body.page-template-page-health-tool .rxs-page-hero__heading {
    color: #fff;
    font-size: clamp(2.625rem, 2rem + 3.13vw, 3.75rem);
}

body.page-template-page-health-tools .rxs-page-hero__sub,
body.page-template-page-health-tool .rxs-page-hero__sub {
    color: var(--rxs-body, #94A3AB);
}

body.page-template-page-health-tools .rxs-eyebrow,
body.page-template-page-health-tool .rxs-eyebrow {
    color: #18D4BB;
}

body.page-template-page-health-tools .rxs-breadcrumb,
body.page-template-page-health-tools .rxs-breadcrumb a,
body.page-template-page-health-tool .rxs-breadcrumb,
body.page-template-page-health-tool .rxs-breadcrumb a {
    color: var(--rxs-muted, #71717a);
}

body.page-template-page-health-tools .rxs-breadcrumb a:hover,
body.page-template-page-health-tool .rxs-breadcrumb a:hover {
    color: #18D4BB;
}

/* --- Hero Tags --- */
.rxs-ht-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.rxs-ht-tags__item,
.rxs-ht-tag {
    display: inline-block;
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.8125rem;
    font-weight: 500;
    color: #94A3AB;
    background: rgba(24, 212, 187, 0.08);
    border: 1px solid rgba(24, 212, 187, 0.18);
    border-radius: 100px;
    padding: 0.375rem 1rem;
    letter-spacing: 0.01em;
}

/* --- Trust Badges (Hub) --- */
.rxs-ht-trust__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}

.rxs-ht-trust__badge {
    display: inline-block;
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.75rem;
    font-weight: 600;
    color: #18D4BB;
    background: rgba(24, 212, 187, 0.06);
    border: 1px solid rgba(24, 212, 187, 0.15);
    border-radius: 100px;
    padding: 0.5rem 1.25rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

/* --- Hub Cards Grid --- */
.rxs-ht-grid__heading {
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', Georgia, serif);
    font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin: 0 0 2rem;
}

.rxs-ht-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

.rxs-ht-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 2rem;
    transition: border-color 0.2s, transform 0.2s;
}

.rxs-ht-card:hover {
    border-color: rgba(24, 212, 187, 0.25);
    transform: translateY(-2px);
}

.rxs-ht-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: rgba(24, 212, 187, 0.1);
    border-radius: 12px;
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', Georgia, serif);
    font-size: 1.125rem;
    font-weight: 700;
    color: #18D4BB;
    margin-bottom: 1rem;
}

.rxs-ht-card__title {
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', Georgia, serif);
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 0.5rem;
}

.rxs-ht-card__desc {
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.875rem;
    color: #71717a;
    line-height: 1.6;
    margin: 0 0 1rem;
}

.rxs-ht-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.875rem;
    font-weight: 600;
    color: #18D4BB;
    text-decoration: none;
    transition: gap 0.2s;
}

.rxs-ht-card__link:hover {
    gap: 0.75rem;
}

/* --- Pre-measurement Tips (BP) --- */
.rxs-ht-tips__box {
    background: rgba(24, 212, 187, 0.06);
    border-left: 4px solid #18D4BB;
    border-radius: 8px;
    padding: 1.5rem 2rem;
}

.rxs-ht-tips__heading {
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', Georgia, serif);
    font-size: 1.125rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 0.75rem;
}

.rxs-ht-tips__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.rxs-ht-tips__list li {
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.875rem;
    color: #94A3AB;
    padding-left: 1.5rem;
    position: relative;
    line-height: 1.6;
}

.rxs-ht-tips__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #18D4BB;
}

/* --- Calculator Card --- */
.rxs-ht-calc,
.rxs-ht-calc__card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 2rem;
    max-width: 720px;
    margin: 0 auto;
}

.rxs-ht-calc__heading {
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', Georgia, serif);
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 1.5rem;
}

.rxs-ht-calc__intro {
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.875rem;
    color: #71717a;
    margin: 0 0 1.5rem;
}

/* --- Calculator Tabs (BMI) --- */
.rxs-ht-calc__tabs {
    display: flex;
    gap: 0;
    margin-bottom: 1.75rem;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    padding: 4px;
}

.rxs-ht-calc__tab {
    flex: 1;
    padding: 0.625rem 1rem;
    background: transparent;
    border: none;
    border-radius: 8px;
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.875rem;
    font-weight: 600;
    color: #71717a;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}

.rxs-ht-calc__tab:hover { color: #fff; }

.rxs-ht-calc__tab.active {
    background: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
}

/* --- Calculator Form --- */
.rxs-ht-calc__form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.rxs-ht-calc__form[hidden] { display: none; }

.rxs-ht-calc__row,
.rxs-ht-calc__field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.rxs-ht-calc__field {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.rxs-ht-calc__field label,
.rxs-ht-calc__label {
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.8125rem;
    font-weight: 600;
    color: #94A3AB;
    letter-spacing: 0.01em;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.rxs-ht-calc__hint {
    font-weight: 400;
    font-size: 0.75rem;
    color: #6b8a84;
}

.rxs-ht-calc__field input,
.rxs-ht-calc__input,
.rxs-ht-calc__select {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 1rem;
    color: #fff;
    outline: none;
    transition: border-color 0.2s;
    width: 100%;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
}

.rxs-ht-calc__select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2392aea9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    padding-right: 2.5rem;
}

.rxs-ht-calc__field input::placeholder,
.rxs-ht-calc__input::placeholder {
    color: rgba(255, 255, 255, 0.25);
}

.rxs-ht-calc__field input:focus,
.rxs-ht-calc__input:focus,
.rxs-ht-calc__select:focus {
    border-color: #18D4BB;
    box-shadow: 0 0 0 3px rgba(24, 212, 187, 0.15);
}

.rxs-ht-calc__select option {
    background: #141416;
    color: #fff;
}

/* --- Calculator Button --- */
.rxs-ht-calc__btn,
.rxs-ht-calc__submit,
.rxs-btn.rxs-btn--primary.rxs-ht-calc__submit {
    display: block;
    width: 100%;
    margin-top: 1.5rem;
    padding: 0.875rem 1.75rem;
    background: var(--wp--preset--color--primary, #0B9282);
    color: #fff;
    border: 2px solid var(--wp--preset--color--primary, #0B9282);
    border-radius: 8px;
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, box-shadow 0.2s, transform 0.15s;
}

.rxs-ht-calc__btn:hover,
.rxs-ht-calc__submit:hover {
    background: #0DAA96;
    border-color: #0DAA96;
    box-shadow: 0 6px 16px rgba(11, 146, 130, 0.4);
    transform: translateY(-1px);
}

.rxs-ht-calc__btn:active,
.rxs-ht-calc__submit:active {
    transform: translateY(0);
}

.rxs-ht-calc__btn:focus-visible,
.rxs-ht-calc__submit:focus-visible {
    outline: 2px solid #18D4BB;
    outline-offset: 2px;
}

.rxs-ht-calc__btn--ghost {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.15);
    color: #94A3AB;
    margin-top: 1rem;
}

.rxs-ht-calc__btn--ghost:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.25);
    color: #fff;
    box-shadow: none;
}

/* --- Calculator Result --- */
.rxs-ht-calc__result {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    text-align: center;
}

.rxs-ht-calc__result[hidden] { display: none; }

.rxs-ht-calc__value {
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', Georgia, serif);
    font-size: clamp(2rem, 1.5rem + 2.5vw, 3rem);
    font-weight: 700;
    line-height: 1;
    margin-bottom: 0.5rem;
}

.rxs-ht-calc__label {
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 1.0625rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
    color: #94A3AB;
}

.rxs-ht-calc__result-desc {
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.875rem;
    color: #71717a;
    line-height: 1.65;
    max-width: 560px;
    margin: 0 auto 1.5rem;
    text-align: left;
}

/* --- BMI Bar Visualization --- */
.rxs-ht-calc__bar {
    position: relative;
    display: flex;
    height: 10px;
    border-radius: 100px;
    overflow: visible;
    margin-bottom: 0.5rem;
}

.rxs-ht-calc__bar-segment { flex: 1; height: 100%; }
.rxs-ht-calc__bar-segment:first-child { border-radius: 100px 0 0 100px; }
.rxs-ht-calc__bar-segment:last-child { border-radius: 0 100px 100px 0; }
.rxs-ht-calc__bar-segment--underweight { background: #5b9bd5; }
.rxs-ht-calc__bar-segment--healthy { background: #22c55e; }
.rxs-ht-calc__bar-segment--overweight { background: #f59e0b; }
.rxs-ht-calc__bar-segment--obese { background: #ef4444; }

.rxs-ht-calc__bar-indicator {
    position: absolute;
    top: -5px;
    width: 20px;
    height: 20px;
    background: #fff;
    border: 3px solid #0B9282;
    border-radius: 50%;
    transform: translateX(-50%);
    transition: left 0.4s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.rxs-ht-calc__bar-labels {
    display: flex;
    justify-content: space-between;
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.6875rem;
    color: #71717a;
    margin-top: 0.25rem;
}

/* --- BP Result --- */
.rxs-ht-calc__result-reading {
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', Georgia, serif);
    font-size: clamp(2rem, 1.5rem + 2.5vw, 3rem);
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.5rem;
    text-align: center;
}

.rxs-ht-calc__result-category {
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 1.25rem;
    font-weight: 700;
    padding: 0.5rem 1rem;
    border-left: 4px solid currentColor;
    margin-bottom: 1rem;
    text-align: left;
}

.rxs-ht-calc__result-action {
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.875rem;
    color: #94A3AB;
    line-height: 1.65;
    margin: 0;
    text-align: left;
}

/* --- Calorie Result Grid --- */
.rxs-ht-calc__result-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.rxs-ht-calc__result-stat {
    text-align: center;
    padding: 1.25rem 0.75rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
}

.rxs-ht-calc__result-stat--primary {
    background: var(--wp--preset--color--primary, #0B9282);
    border-color: transparent;
    color: #fff;
}

.rxs-ht-calc__result-label {
    display: block;
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #71717a;
    margin-bottom: 0.25rem;
}

.rxs-ht-calc__result-stat--primary .rxs-ht-calc__result-label {
    color: rgba(255, 255, 255, 0.7);
}

.rxs-ht-calc__result-value {
    display: block;
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', Georgia, serif);
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}

.rxs-ht-calc__result-stat--primary .rxs-ht-calc__result-value { color: #fff; }

.rxs-ht-calc__result-unit {
    display: block;
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.6875rem;
    color: #6b8a84;
    margin-top: 0.15rem;
}

.rxs-ht-calc__result-stat--primary .rxs-ht-calc__result-unit {
    color: rgba(255, 255, 255, 0.75);
}

/* --- Calorie Macros --- */
.rxs-ht-calc__macros {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 1.5rem;
}

.rxs-ht-calc__macros-heading {
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #6b8a84;
    margin: 0 0 1rem;
}

.rxs-ht-calc__macros-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
}

.rxs-ht-calc__macro {
    text-align: center;
    padding: 1rem 0.5rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 8px;
}

.rxs-ht-calc__macro-label {
    display: block;
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.6875rem;
    font-weight: 600;
    color: #94A3AB;
    margin-bottom: 0.25rem;
}

.rxs-ht-calc__macro-value {
    display: block;
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', Georgia, serif);
    font-size: 1.25rem;
    font-weight: 700;
    color: #18D4BB;
}

.rxs-ht-calc__macro-unit {
    display: block;
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.6875rem;
    color: #6b8a84;
}

/* --- Hay Fever Progress Bar --- */
.rxs-ht-calc__progress { margin-bottom: 1.5rem; }

.rxs-ht-calc__progress-text {
    display: block;
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.75rem;
    font-weight: 600;
    color: #71717a;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.5rem;
}

.rxs-ht-calc__progress-bar {
    height: 4px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 100px;
    overflow: hidden;
}

.rxs-ht-calc__progress-fill {
    height: 100%;
    background: #18D4BB;
    border-radius: 100px;
    transition: width 0.3s ease;
}

/* --- Hay Fever Questions --- */
.rxs-ht-calc__question {
    border: none;
    padding: 0;
    margin: 0;
}

.rxs-ht-calc__question[hidden] { display: none; }

.rxs-ht-calc__question-text {
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', Georgia, serif);
    font-size: 1.125rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 1rem;
    line-height: 1.4;
}

.rxs-ht-calc__options {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.rxs-ht-calc__option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}

.rxs-ht-calc__option:hover {
    border-color: rgba(24, 212, 187, 0.3);
    background: rgba(24, 212, 187, 0.04);
}

.rxs-ht-calc__option input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: #18D4BB;
    cursor: pointer;
    flex-shrink: 0;
}

.rxs-ht-calc__option-text {
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.875rem;
    color: #94A3AB;
}

.rxs-ht-calc__option:has(input:checked) {
    border-color: #18D4BB;
    background: rgba(24, 212, 187, 0.08);
}

.rxs-ht-calc__option:has(input:checked) .rxs-ht-calc__option-text {
    color: #EDEDE9;
}

/* --- Hay Fever Nav --- */
.rxs-ht-calc__nav {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
}

.rxs-ht-calc__nav-btn {
    padding: 0.75rem 1.5rem;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.875rem;
    font-weight: 600;
    color: #94A3AB;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
}

.rxs-ht-calc__nav-btn:hover {
    border-color: rgba(255, 255, 255, 0.3);
    color: #fff;
}

.rxs-ht-calc__nav-btn[hidden] { display: none; }
.rxs-ht-calc__nav .rxs-ht-calc__btn { flex: 1; margin-top: 0; }

/* --- Classification / Reference Table --- */
.rxs-ht-table {
    max-width: 800px;
    margin: 0 auto;
}

.rxs-ht-table__heading {
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', Georgia, serif);
    font-size: clamp(1.4375rem, 1.3rem + 0.69vw, 1.6875rem);
    font-weight: 700;
    color: #fff;
    margin: 0 0 1.5rem;
}

.rxs-ht-table__wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.rxs-ht-table__grid,
.rxs-ht-table__table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.875rem;
}

.rxs-ht-table__grid th,
.rxs-ht-table__table thead th {
    text-align: left;
    font-weight: 600;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #71717a;
    padding: 0.75rem 1rem;
    border-bottom: 2px solid rgba(255, 255, 255, 0.12);
    white-space: nowrap;
}

.rxs-ht-table__grid td,
.rxs-ht-table__table tbody td {
    padding: 0.875rem 1rem;
    color: #94A3AB;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    vertical-align: middle;
}

.rxs-ht-table__grid tbody tr:hover,
.rxs-ht-table__table tbody tr:hover {
    background: rgba(24, 212, 187, 0.04);
}

.rxs-ht-table__source {
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.75rem;
    color: #6b8a84;
    margin-top: 1.25rem;
    font-style: italic;
    line-height: 1.5;
}

/* --- Classification Badges --- */
.rxs-ht-badge {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.625rem;
    border-radius: 100px;
    white-space: nowrap;
}

.rxs-ht-badge--underweight { background: rgba(91, 155, 213, 0.15); color: #7bb8e8; }
.rxs-ht-badge--healthy { background: rgba(34, 197, 94, 0.15); color: #4ade80; }
.rxs-ht-badge--overweight { background: rgba(245, 158, 11, 0.15); color: #fbbf24; }
.rxs-ht-badge--obese { background: rgba(239, 68, 68, 0.15); color: #f87171; }
.rxs-ht-badge--severe { background: rgba(220, 38, 38, 0.2); color: #fca5a5; }

/* --- Clinical Disclaimer --- */
.rxs-ht-disclaimer,
.rxs-ht-disclaimer__box {
    background: rgba(245, 158, 11, 0.06);
    border: 1px solid rgba(245, 158, 11, 0.15);
    border-left: 3px solid #f59e0b;
    border-radius: 8px;
    padding: 1.25rem 1.5rem;
    max-width: 800px;
    margin: 0 auto;
}

.rxs-ht-disclaimer__heading {
    font-family: var(--wp--preset--font-family--heading, 'Fraunces', Georgia, serif);
    font-size: 1rem;
    font-weight: 700;
    color: #f59e0b;
    margin: 0 0 0.5rem;
}

.rxs-ht-disclaimer p,
.rxs-ht-disclaimer__text {
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.8125rem;
    line-height: 1.65;
    color: #94A3AB;
    margin: 0;
}

/* --- About Section (Hay Fever) --- */
.rxs-ht-about__text {
    font-family: var(--wp--preset--font-family--body, 'IBM Plex Sans', sans-serif);
    font-size: 0.9375rem;
    color: #71717a;
    line-height: 1.65;
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
}


/* --- Health Tools Responsive --- */
@media (max-width: 600px) {
    .rxs-ht-calc,
    .rxs-ht-calc__card {
        padding: 1.25rem;
    }

    .rxs-ht-calc__row,
    .rxs-ht-calc__field-row {
        grid-template-columns: 1fr;
    }

    .rxs-ht-calc__result-grid,
    .rxs-ht-calc__macros-grid {
        grid-template-columns: 1fr;
    }

    .rxs-ht-table__grid th,
    .rxs-ht-table__grid td,
    .rxs-ht-table__table th,
    .rxs-ht-table__table td {
        padding: 0.625rem;
        font-size: 0.8125rem;
    }

    .rxs-ht-tags {
        gap: 0.5rem;
    }

    .rxs-ht-tags__item,
    .rxs-ht-tag {
        font-size: 0.75rem;
        padding: 0.3rem 0.75rem;
    }

    .rxs-ht-calc__bar-labels {
        font-size: 0.5625rem;
    }

    .rxs-ht-cards {
        grid-template-columns: 1fr;
    }

    .rxs-ht-trust__row {
        gap: 0.75rem;
    }

    .rxs-ht-trust__badge {
        font-size: 0.6875rem;
        padding: 0.375rem 1rem;
    }

    .rxs-ht-tips__box,
    .rxs-ht-disclaimer,
    .rxs-ht-disclaimer__box {
        padding: 1rem;
    }

    .rxs-ht-calc__submit,
    .rxs-ht-calc__btn {
        width: 100%;
    }

    .rxs-ht-calc__option {
        padding: 0.75rem;
    }
}

/* ================================================================
   PAGE FAQ — reusable inner-page FAQ section
   ================================================================ */

.rxs-page-faq {
    background: var(--rxs-surface, #0e0e11);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.rxs-page-faq__header {
    text-align: center;
    margin-bottom: 2rem;
}

.rxs-page-faq__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.5rem, 1rem + 2vw, 2rem);
    font-weight: 700;
    color: #fff;
    margin: 0;
}

/* FAQ accordion dark overrides (used inside page-faq + pricing-faq) */
.rxs-page-faq details,
.rxs-ph-faq details {
    border-color: rgba(255, 255, 255, 0.1);
}

.rxs-page-faq .rxs-aeo__question,
.rxs-ph-faq .rxs-aeo__question {
    color: #fff;
}

.rxs-page-faq .rxs-aeo__answer,
.rxs-ph-faq .rxs-aeo__answer {
    color: rgba(255, 255, 255, 0.8);
}

.rxs-page-faq .rxs-aeo__toggle,
.rxs-ph-faq .rxs-aeo__toggle {
    color: rgba(255, 255, 255, 0.5);
}

/* ================================================================
   PRICING PAGE — dark theme + rebuilt layout
   ================================================================ */

body.page-template-page-pricing {
    background: var(--rxs-surface, #0e0e11) !important;
}

body.page-template-page-pricing .wp-site-blocks {
    background: transparent;
}

body.page-template-page-pricing .rxs-page-hero__heading {
    color: #fff;
    font-size: clamp(2.625rem, 2rem + 3.13vw, 3.75rem);
    line-height: var(--wp--custom--line-height--tight);
    letter-spacing: -0.03em;
}

body.page-template-page-pricing .rxs-page-hero__sub {
    color: rgba(255, 255, 255, 0.85);
}

body.page-template-page-pricing .rxs-eyebrow {
    background: rgba(24, 212, 187, 0.12);
    color: #18D4BB;
}

body.page-template-page-pricing .rxs-breadcrumb,
body.page-template-page-pricing .rxs-breadcrumb a {
    color: rgba(255, 255, 255, 0.65);
}

body.page-template-page-pricing .rxs-breadcrumb a:hover {
    color: #18D4BB;
}

/* Pricing cards — dark */
body.page-template-page-pricing .rxs-pricing-card {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.14);
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

body.page-template-page-pricing .rxs-pricing-card:hover {
    border-color: rgba(24, 212, 187, 0.25);
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.4), 0 0 20px rgba(24, 212, 187, 0.08);
}

body.page-template-page-pricing .rxs-pricing-card__header {
    border-bottom-color: rgba(255, 255, 255, 0.1);
}

body.page-template-page-pricing .rxs-pricing-card__name {
    color: #fff;
}

body.page-template-page-pricing .rxs-pricing-card__amount {
    color: #18D4BB;
}

body.page-template-page-pricing .rxs-pricing-card__period {
    color: rgba(255, 255, 255, 0.6);
}

body.page-template-page-pricing .rxs-pricing-card__model {
    color: rgba(255, 255, 255, 0.7);
}

body.page-template-page-pricing .rxs-pricing-card__features li {
    color: rgba(255, 255, 255, 0.8);
}

body.page-template-page-pricing .rxs-pricing-card__features li::before {
    background: #18D4BB;
}

body.page-template-page-pricing .rxs-pricing-card--featured {
    border-color: rgba(24, 212, 187, 0.35);
    background: rgba(24, 212, 187, 0.08);
    box-shadow: 0 0 24px rgba(24, 212, 187, 0.1);
}

body.page-template-page-pricing .rxs-pricing-card__badge {
    display: block;
    text-align: center;
    padding: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: #18D4BB;
    color: #0e0e11;
}

body.page-template-page-pricing .rxs-pricing-card .rxs-btn--outline {
    border-color: rgba(24, 212, 187, 0.4) !important;
    color: #18D4BB !important;
    background: transparent !important;
}

body.page-template-page-pricing .rxs-pricing-card .rxs-btn--outline:hover {
    border-color: #18D4BB !important;
    background: rgba(24, 212, 187, 0.1) !important;
    color: #fff !important;
}

/* Bundles + add-ons sections */
.rxs-ph-bundles,
.rxs-ph-addons {
    background: transparent;
}

.rxs-ph-bundles__inner {
    max-width: 1000px;
    margin: 0 auto;
}

.rxs-ph-bundles__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.5rem, 1rem + 2vw, 2rem);
    font-weight: 700;
    color: #fff;
    margin: 0 0 0.75rem;
}

.rxs-ph-bundles__lede {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.8);
    margin: 0 0 2rem;
    max-width: 52ch;
}

body.page-template-page-pricing .rxs-price__table-wrap {
    border-radius: 12px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.page-template-page-pricing .rxs-price__table {
    width: 100%;
    min-width: 540px;
    border-collapse: collapse;
}

body.page-template-page-pricing .rxs-price__table th {
    font-family: var(--wp--preset--font-family--mono);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    padding: 0.75rem 1rem;
    text-align: left;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

body.page-template-page-pricing .rxs-price__table td {
    padding: 0.85rem 1rem;
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.8);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

body.page-template-page-pricing .rxs-price__n {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

body.page-template-page-pricing .rxs-price__nm {
    font-weight: 600;
    color: #fff;
}

body.page-template-page-pricing .rxs-price__nm span {
    display: block;
    font-weight: 400;
    font-size: 0.79rem;
    color: rgba(255, 255, 255, 0.5);
    margin-top: 2px;
}

body.page-template-page-pricing .rxs-price__big {
    font-family: var(--wp--preset--font-family--mono);
    color: #18D4BB;
    font-weight: 600;
    font-size: 0.95rem;
}

body.page-template-page-pricing .rxs-price__best td {
    background: rgba(24, 212, 187, 0.06);
}

body.page-template-page-pricing .rxs-price__best .rxs-price__big {
    color: #8af0d8;
}

body.page-template-page-pricing .rxs-price__caption {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.5);
    font-style: italic;
    margin: 0.75rem 0 0;
}

/* Prose section */
.rxs-ph-prose {
    background: rgba(255, 255, 255, 0.02);
}

.rxs-ph-prose__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.5rem, 1rem + 2vw, 2rem);
    font-weight: 700;
    color: #fff;
    margin: 0 0 1.5rem;
    text-align: center;
}

.rxs-ph-prose__body p {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.7;
    margin: 0 0 1rem;
}

/* FAQ section */
.rxs-ph-faq {
    background: transparent;
}

.rxs-ph-faq__header {
    text-align: center;
    margin-bottom: 2rem;
}

.rxs-ph-faq__heading {
    font-family: var(--wp--preset--font-family--heading);
    font-size: clamp(1.5rem, 1rem + 2vw, 2rem);
    font-weight: 700;
    color: #fff;
    margin: 0;
}

/* Pricing page header dark treatment */
body.page-template-page-pricing .site-header {
    background: rgba(9, 9, 11, 0.55);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
}

body.page-template-page-pricing .site-header .rxs-nav__link,
body.page-template-page-pricing .site-header .rxs-nav__toggle,
body.page-template-page-pricing .site-header .rxs-login-trigger {
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

body.page-template-page-pricing .site-header .rxs-nav__link:hover,
body.page-template-page-pricing .site-header .rxs-nav__toggle:hover,
body.page-template-page-pricing .site-header .rxs-login-trigger:hover {
    color: #fff;
}

body.page-template-page-pricing .site-header .rxs-login-trigger {
    border-color: rgba(255, 255, 255, 0.35);
}

body.page-template-page-pricing .site-header .rxs-login-trigger:hover {
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.08);
}

body.page-template-page-pricing .site-header .rxs-logo__default {
    display: none !important;
}

body.page-template-page-pricing .site-header .rxs-logo__white {
    display: block !important;
}

body.page-template-page-pricing .site-header .rxs-mobile-toggle span {
    background: #fff;
}

@media (max-width: 600px) {
    body.page-template-page-pricing .rxs-price__table th {
        font-size: 0.6rem;
        padding: 0.5rem;
    }

    body.page-template-page-pricing .rxs-price__table td {
        font-size: 0.82rem;
        padding: 0.65rem 0.5rem;
    }
}
