:root {

  --rx-brand-deep: #2B1238;
  --rx-noir: var(--rx-brand-deep);
  --rx-champagne: #FFF1E6;
  --rx-ruby: #C91B53;
  --rx-gold: #F6B24A;
  --rx-slate: #5F576A;


  --rx-brand-deep-rgb: 43 18 56;
  --rx-noir-rgb: var(--rx-brand-deep-rgb);
  --rx-champagne-rgb: 255 241 230;
  --rx-ruby-rgb: 201 27 83;
  --rx-gold-rgb: 246 178 74;
  --rx-slate-rgb: 95 87 106;
  --rx-white-rgb: var(--rx-champagne-rgb);
  --rx-black-rgb: var(--rx-brand-deep-rgb);
  --rx-noir-soft-rgb: var(--rx-brand-deep-rgb);
  --rx-cream-tint-rgb: var(--rx-champagne-rgb);
  --rx-warm-tint-rgb: var(--rx-champagne-rgb);
  --rx-admin-muted: var(--rx-slate);


  --rx-white: var(--rx-champagne);
  --rx-black: var(--rx-noir);

  --rx-deep: var(--rx-brand-deep);
  --rx-noir-soft: color-mix(in srgb, var(--rx-brand-deep) 88%, var(--rx-white) 12%);
  --rx-noir-lift: color-mix(in srgb, var(--rx-brand-deep) 78%, var(--rx-white) 22%);

  --rx-champagne-soft: color-mix(in srgb, var(--rx-champagne) 58%, var(--rx-white) 42%);
  --rx-champagne-deep: color-mix(in srgb, var(--rx-champagne) 90%, var(--rx-noir) 10%);

  --rx-ruby-hover: color-mix(in srgb, var(--rx-ruby) 88%, var(--rx-black) 12%);
  --rx-ruby-deep: color-mix(in srgb, var(--rx-ruby) 72%, var(--rx-black) 28%);
  --rx-ruby-soft: rgb(var(--rx-ruby-rgb) / 0.12);
  --rx-ruby-glow: color-mix(in srgb, var(--rx-ruby) 84%, var(--rx-white) 16%);
  --rx-ruby-glow-rgb: var(--rx-ruby-rgb);

  --rx-gold-hover: color-mix(in srgb, var(--rx-gold) 88%, var(--rx-black) 12%);


  --rx-color-page-bg: var(--rx-champagne);
  --rx-color-section-bg: var(--rx-champagne);
  --rx-color-section-bg-soft: var(--rx-champagne-soft);
  --rx-color-card-bg: var(--rx-white);

  --rx-color-heading: var(--rx-noir);
  --rx-color-body: var(--rx-noir);
  --rx-color-muted: var(--rx-slate);

  --rx-color-dark-bg: var(--rx-noir);
  --rx-color-dark-bg-soft: var(--rx-noir-soft);
  --rx-color-dark-bg-lift: var(--rx-noir-lift);

  --rx-color-on-dark: var(--rx-white);
  --rx-color-on-accent: var(--rx-white);
  --rx-color-on-gold: var(--rx-noir);

  --rx-color-cta: var(--rx-ruby);
  --rx-color-cta-hover: var(--rx-ruby-hover);
  --rx-color-highlight: var(--rx-gold);
  --rx-color-whatsapp: var(--rx-ruby);

  /* Category tints — soft pastel backgrounds + matching icon tints */
  --rx-cat-wedding-bg: rgb(var(--rx-ruby-rgb) / 0.12);
  --rx-cat-wedding-icon: var(--rx-ruby);
  --rx-cat-event-bg: rgb(var(--rx-gold-rgb) / 0.18);
  --rx-cat-event-icon: var(--rx-gold);
  --rx-cat-brand-bg: rgb(var(--rx-noir-rgb) / 0.10);
  --rx-cat-brand-icon: var(--rx-noir);
  --rx-cat-unsure-bg: rgb(var(--rx-slate-rgb) / 0.10);
  --rx-cat-unsure-icon: var(--rx-slate);

  /* Avatar accents — used by mini avatar stack in the social proof card */
  --rx-avatar-a-from: rgb(var(--rx-ruby-rgb) / 0.55);
  --rx-avatar-a-to:   var(--rx-ruby);
  --rx-avatar-b-from: rgb(var(--rx-gold-rgb) / 0.55);
  --rx-avatar-b-to:   var(--rx-gold);
  --rx-avatar-c-from: rgb(var(--rx-noir-rgb) / 0.45);
  --rx-avatar-c-to:   var(--rx-noir);

  /* Date chip tints */
  --rx-chip-today-bg: rgb(var(--rx-ruby-rgb) / 0.12);
  --rx-chip-today-fg: var(--rx-ruby);
  --rx-chip-tomorrow-bg: rgb(var(--rx-gold-rgb) / 0.18);
  --rx-chip-tomorrow-fg: var(--rx-gold);
  --rx-chip-week-bg: rgb(var(--rx-noir-rgb) / 0.10);
  --rx-chip-week-fg: var(--rx-noir);
  --rx-chip-month-bg: rgb(var(--rx-slate-rgb) / 0.10);
  --rx-chip-month-fg: var(--rx-slate);
  --rx-chip-other-bg: rgb(var(--rx-ruby-rgb) / 0.08);
  --rx-chip-other-fg: var(--rx-ruby);


  --rx-text-muted: var(--rx-slate);
  --rx-on-dark: var(--rx-white);
  --rx-on-gold: var(--rx-noir);
  --rx-serif-color: var(--rx-gold-800);
  --rx-cream: var(--rx-champagne);
  --rx-gradient: var(--rx-gradient-accent);


  --rx-border: rgb(var(--rx-noir-rgb) / 0.10);
  --rx-border-strong: rgb(var(--rx-noir-rgb) / 0.16);
  --rx-border-soft: rgb(var(--rx-noir-rgb) / 0.07);

  --rx-border-light: rgb(var(--rx-white-rgb) / 0.18);
  --rx-border-light-strong: rgb(var(--rx-white-rgb) / 0.32);

  --rx-border-dark: rgb(var(--rx-champagne-rgb) / 0.16);
  --rx-border-dark-strong: rgb(var(--rx-champagne-rgb) / 0.26);

  --rx-overlay-dark: rgb(var(--rx-noir-rgb) / 0.64);
  --rx-overlay-light: rgb(var(--rx-champagne-rgb) / 0.78);

  --rx-glow: rgb(var(--rx-ruby-rgb) / 0.22);
  --rx-glow-strong: rgb(var(--rx-ruby-rgb) / 0.34);
  --rx-gold-glow: rgb(var(--rx-gold-rgb) / 0.24);
  --rx-gold-glow-strong: rgb(var(--rx-gold-rgb) / 0.36);


  --rx-gradient-dark: linear-gradient(115deg, var(--rx-deep) 0%, var(--rx-noir) 58%, var(--rx-noir-lift) 100%);
  --rx-gradient-accent: linear-gradient(135deg, var(--rx-ruby) 0%, var(--rx-ruby-glow) 45%, var(--rx-gold) 100%);
  --rx-gradient: var(--rx-gradient-accent);


  --rx-font-display: 'Playfair Display', Georgia, serif;
  --rx-font-ui: 'Plus Jakarta Sans', Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --rx-heading-font: var(--rx-font-display);
  --rx-body-font: var(--rx-font-ui);
  --rx-serif-font: var(--rx-font-display);

  --rx-type-hero: clamp(2.45rem, 5.7vw, 4.35rem);
  --rx-type-section: clamp(2rem, 4.4vw, 3.35rem);
  --rx-type-section-sm: clamp(1.7rem, 3.2vw, 2.15rem);
  --rx-type-page: clamp(2rem, 4vw, 2.9rem);
  --rx-type-dialog-title: 1.625rem;
  --rx-type-faq: 1.5rem;
  --rx-type-subsection: 1.5rem;
  --rx-type-section-small: clamp(1.75rem, 3vw, 2.25rem);
  --rx-type-card-title: 1.25rem;
  --rx-type-brand: 1.5rem;
  --rx-type-body-lg: 1.125rem;
  --rx-type-body: 1rem;
  --rx-type-body-small: 0.9375rem;
  --rx-type-input: 1rem;
  --rx-type-button: 0.9375rem;
  --rx-type-caption: 0.875rem;
  --rx-type-subhead: 1.125rem;
  --rx-type-card-title-lg: 1.375rem;
  --rx-type-label: 0.8125rem;
  --rx-type-eyebrow: 0.8125rem;
  --rx-type-tag:     0.75rem;
  --rx-type-meta:    0.8125rem;
  --rx-type-small:   0.875rem;
  --rx-type-small-strong: 0.9375rem;
  --rx-type-price: clamp(1.95rem, 3.2vw, 2.25rem);
  --rx-type-display-number: clamp(3rem, 6vw, 4rem);

  --rx-leading-display: 1.04;
  --rx-leading-heading: 1.12;
  --rx-leading-subheading: 1.22;
  --rx-leading-body: 1.65;
  --rx-leading-ui: 1.4;
  --rx-leading-tight: 1;

  --rx-tracking-display: 0;
  --rx-tracking-heading: 0;
  --rx-tracking-ui: 0;
  --rx-tracking-eyebrow: 0.12em;



  --rx-space-0: 0;
  --rx-space-1: clamp(0.25rem, 0.5vw, 0.35rem);
  --rx-space-2: clamp(0.5rem, 1vw, 0.75rem);
  --rx-space-3: clamp(0.75rem, 1.5vw, 1rem);
  --rx-space-4: clamp(1rem, 2vw, 1.5rem);
  --rx-space-5: clamp(1.25rem, 2.5vw, 2rem);
  --rx-space-6: clamp(1.5rem, 3vw, 2.5rem);
  --rx-space-7: clamp(2rem, 4vw, 3rem);
  --rx-space-8: clamp(3rem, 6vw, 4.5rem);
  --rx-space-9: clamp(4rem, 8vw, 6rem);
  --rx-space-10: clamp(6rem, 10vw, 8rem);

  --rx-space-1-5: clamp(0.375rem, 0.7vw, 0.5rem);
  --rx-space-2-5: clamp(0.625rem, 1.2vw, 0.875rem);
  --rx-space-3-5: clamp(0.875rem, 1.7vw, 1.25rem);
  --rx-space-4-5: clamp(1.125rem, 2.2vw, 1.5rem);
  --rx-space-5-5: clamp(1.375rem, 2.7vw, 1.75rem);
  --rx-space-6-5: clamp(1.625rem, 3.2vw, 2.25rem);


  --rx-radius-sm: 12px;
  --rx-radius: 24px;
  --rx-radius-md: var(--rx-radius);
  --rx-radius-lg: 28px;
  --rx-radius-xl: 36px;
  --rx-pill: 999px;


  --rx-radius-input: 14px;     /* form fields, search inputs */
  --rx-radius-card-sm: 16px;   /* compact cards (mini stat tiles) */
  --rx-radius-card: 22px;      /* standard card surface */
  --rx-radius-card-lg: 32px;   /* hero / feature cards */
  --rx-radius-pill: 50%;       /* circular avatars (intentional) */
  --rx-radius-99: 99px;        /* very-rounded chips */
  --rx-radius-999: 999px;      /* super-rounded (close to pill) */

  --rx-container-max: 1440px;
  --rx-container-pad: clamp(10px, 4vw, 24px);


  --rx-control-h-sm: 36px;
  --rx-control-h:    44px;
  --rx-control-h-md: 48px;
  --rx-control-h-lg: 56px;


  --rx-content-narrow:  520px;
  --rx-content-default: 640px;
  --rx-content-wide:    760px;
  --rx-content-xwide:   960px;

  --rx-section-pad-y: clamp(4rem, 7vw, 5.5rem);
  --rx-section-pad-y-tight: clamp(3.25rem, 6vw, 4.5rem);
  --rx-section-pad-y-compact: clamp(2.5rem, 5vw, 3.5rem);
  --rx-section-head-space: 2.25rem;

  --rx-grid-gap: 1.25rem;
  --rx-card-pad: 1.5rem;
  --rx-card-gap: 1rem;

  --rx-hover-lift: -4px;
  --rx-hover-lift-strong: -6px;

  --rx-motion-fast: 180ms;
  --rx-motion: 260ms;
  --rx-motion-slow: 560ms;
  --rx-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
  --rx-ease-out: cubic-bezier(0.16, 1, 0.3, 1);


  --rx-shadow-clean: 0 18px 44px -28px rgb(var(--rx-gold-rgb) / 0.07), 0 6px 18px -14px rgb(var(--rx-noir-rgb) / 0.16), inset 0 1px 0 0 rgb(var(--rx-champagne-rgb) / 0.95);
  --rx-shadow-card: 0 34px 74px -34px rgb(var(--rx-gold-rgb) / 0.08), 0 16px 34px -28px rgb(var(--rx-noir-rgb) / 0.26), inset 0 1px 0 0 rgb(var(--rx-champagne-rgb) / 0.92);
  --rx-shadow-card-hover: 0 42px 90px -36px rgb(var(--rx-gold-rgb) / 0.10), 0 18px 44px -30px rgb(var(--rx-ruby-rgb) / 0.22), inset 0 1px 0 0 rgb(var(--rx-champagne-rgb) / 0.94);
  --rx-shadow-dark: 0 52px 104px -28px rgb(var(--rx-noir-rgb) / 0.54), 0 22px 46px -22px rgb(var(--rx-gold-rgb) / 0.06), inset 0 1px 0 0 rgb(var(--rx-champagne-rgb) / 0.13);
  --rx-shadow-accent: 0 22px 44px -22px rgb(var(--rx-ruby-rgb) / 0.48), 0 10px 24px -18px rgb(var(--rx-gold-rgb) / 0.12);
  --rx-shadow-sm: 0 14px 34px -28px rgb(var(--rx-noir-rgb) / 0.22), inset 0 1px 0 rgb(var(--rx-champagne-rgb) / 0.72);
  --rx-shadow-cta: inset 0 1px 0 rgb(var(--rx-champagne-rgb) / 0.22), 0 22px 42px -20px rgb(var(--rx-ruby-rgb) / 0.58), 0 10px 22px -18px rgb(var(--rx-gold-rgb) / 0.18);
  --rx-shadow-cta-hover: inset 0 1px 0 rgb(var(--rx-champagne-rgb) / 0.24), 0 26px 52px -20px rgb(var(--rx-ruby-rgb) / 0.68), 0 12px 24px -16px rgb(var(--rx-noir-rgb) / 0.22);
  --rx-shadow-gold-cta: inset 0 1px 0 rgb(var(--rx-white-rgb) / 0.34), 0 22px 44px -22px rgb(var(--rx-gold-rgb) / 0.58);
  --rx-glow-ruby: 0 0 0 5px rgb(var(--rx-ruby-rgb) / 0.10);
  --rx-glow-gold: 0 0 0 5px rgb(var(--rx-gold-rgb) / 0.14);
  --rx-inner-highlight: inset 0 1px 0 rgb(var(--rx-white-rgb) / 0.88);
  --rx-inner-highlight-dark: inset 0 1px 0 rgb(var(--rx-champagne-rgb) / 0.18);


  --rx-shadow-soft:        0 8px 24px rgb(var(--rx-gold-rgb) / 0.05);
  --rx-shadow-elevated:     0 22px 52px -42px rgb(var(--rx-gold-rgb) / 0.06), 0 4px 12px rgb(var(--rx-noir-rgb) / 0.08);
  --rx-shadow-elevated-lg:  0 30px 70px -42px rgb(var(--rx-gold-rgb) / 0.07), 0 6px 18px rgb(var(--rx-noir-rgb) / 0.10);
  --rx-shadow-ruby-glow:    0 22px 42px -22px rgb(var(--rx-ruby-rgb) / 0.78);
  --rx-shadow-ruby-deep:    0 18px 34px -22px rgb(var(--rx-ruby-rgb) / 0.68);
  --rx-shadow-ruby-pale:    0 18px 42px -36px rgb(var(--rx-gold-rgb) / 0.06), 0 4px 12px rgb(var(--rx-noir-rgb) / 0.08);
  --rx-shadow-noir-strong:  0 24px 56px -24px rgb(var(--rx-noir-rgb) / 0.76);
  --rx-shadow-noir-medium:  0 18px 42px -36px rgb(var(--rx-gold-rgb) / 0.06), 0 4px 12px rgb(var(--rx-noir-rgb) / 0.12);
  --rx-shadow-noir-deep:    0 18px 42px -22px rgb(var(--rx-noir-rgb) / 0.78);
  --rx-shadow-ring-ruby:    0 0 0 4px rgb(var(--rx-ruby-rgb) / 0.10);
  --rx-shadow-ring-ruby-strong: 0 0 0 5px rgb(var(--rx-ruby-rgb) / 0.10);


  --rx-z-behind: -1;
  --rx-z-normal: 1;
  --rx-z-elevated: 10;
  --rx-z-sticky: 100;
  --rx-z-dropdown: 1000;
  --rx-z-overlay: 9000;
  --rx-z-modal: 10000;


  --rx-surface-0: var(--rx-champagne);       /* page */
  --rx-surface-1: var(--rx-white);           /* standard card */
  --rx-surface-2: var(--rx-champagne-soft);  /* recessed / soft card */
  --rx-surface-3: rgb(var(--rx-white-rgb) / 0.94);   /* floating, blurred */

  --rx-surface-dark-0: var(--rx-noir);
  --rx-surface-dark-1: var(--rx-noir-soft);
  --rx-surface-dark-2: var(--rx-noir-lift);
  --rx-surface-dark-3: var(--rx-deep);
  --rx-surface-page: var(--rx-surface-0);
  --rx-surface-section: var(--rx-surface-0);
  --rx-surface-section-soft: var(--rx-surface-2);
  --rx-surface-card: var(--rx-surface-1);
  --rx-surface-card-soft: var(--rx-surface-2);
  --rx-surface-card-elevated: rgb(var(--rx-white-rgb) / 0.88);
  --rx-surface-card-floating: var(--rx-surface-3);
  --rx-surface-dark: var(--rx-surface-dark-0);
  --rx-surface-dark-soft: var(--rx-surface-dark-1);
  --rx-surface-dark-lift: var(--rx-surface-dark-2);
  --rx-surface-glass: rgb(var(--rx-white-rgb) / 0.76);
  --rx-surface-glass-strong: rgb(var(--rx-white-rgb) / 0.92);
  --rx-surface-glass-dark: rgb(var(--rx-champagne-rgb) / 0.08);
  --rx-surface-glass-dark-strong: rgb(var(--rx-champagne-rgb) / 0.14);
  --rx-surface-on-cta: rgb(var(--rx-champagne-rgb) / 0.18);
  --rx-surface-champagne-card: rgb(var(--rx-champagne-rgb) / 0.72);

  /* Warm surface gradients for card depth */
  --rx-surface-gradient-card: radial-gradient(circle at 0 0, rgb(var(--rx-ruby-rgb) / 0.04), transparent 50%), linear-gradient(180deg, rgb(var(--rx-white-rgb) / 0.98), rgb(var(--rx-champagne-rgb) / 0.60));
  --rx-surface-gradient-card-hover: radial-gradient(circle at 0 0, rgb(var(--rx-ruby-rgb) / 0.06), transparent 50%), linear-gradient(180deg, rgb(var(--rx-white-rgb)), rgb(var(--rx-champagne-rgb) / 0.70));
  --rx-surface-gradient-dark-card: radial-gradient(circle at 0 0, rgb(var(--rx-ruby-rgb) / 0.06), transparent 50%), linear-gradient(180deg, rgb(var(--rx-noir-soft-rgb) / 0.92), rgb(var(--rx-noir-rgb)));
  --rx-surface-inner-glow: inset 0 1px 0 rgb(var(--rx-champagne-rgb) / 0.92);
  --rx-surface-inner-glow-strong: inset 0 1px 0 rgb(var(--rx-champagne-rgb) / 0.96);
  --rx-surface-inner-shadow: inset 0 1px 2px rgb(var(--rx-noir-rgb) / 0.06);


  --rx-mist: var(--rx-champagne-soft);
  --rx-text-main: var(--rx-noir);
  --rx-card-bg: var(--rx-color-card-bg);


  --rx-text-primary:       var(--rx-noir);
  --rx-text-secondary:     var(--rx-slate);
  --rx-text-subtle:        var(--rx-color-muted);  /* = full slate, 6.96:1 on light background */
  --rx-text-placeholder:   rgb(var(--rx-slate-rgb) / 0.85);  /* 3.89:1, exempt-but-readable */
  --rx-text-disabled:      rgb(var(--rx-slate-rgb) / 0.55);  /* WCAG exempt */

  --rx-text-inverse:       var(--rx-white);
  --rx-text-inverse-soft:  rgb(var(--rx-champagne-rgb) / 0.82);
  --rx-text-inverse-muted: rgb(var(--rx-champagne-rgb) / 0.64);
  --rx-text-inverse-strong: rgb(var(--rx-champagne-rgb) / 0.88);
  --rx-text-on-accent:     var(--rx-white);
  --rx-text-on-gold:       var(--rx-noir);


  --rx-border-subtle:  rgb(var(--rx-noir-rgb) / 0.07);
  --rx-border-default: rgb(var(--rx-noir-rgb) / 0.10);
  --rx-border-strong:  rgb(var(--rx-noir-rgb) / 0.16);
  --rx-border-card: var(--rx-border-default);
  --rx-border-card-hover: var(--rx-border-strong);
  --rx-border-accent: rgb(var(--rx-ruby-rgb) / 0.24);
  --rx-border-accent-strong: rgb(var(--rx-ruby-rgb) / 0.46);
  --rx-border-gold: rgb(var(--rx-gold-rgb) / 0.34);

  --rx-border-on-dark-subtle:  rgb(var(--rx-champagne-rgb) / 0.10);
  --rx-border-on-dark-default: rgb(var(--rx-champagne-rgb) / 0.16);
  --rx-border-on-dark-strong:  rgb(var(--rx-champagne-rgb) / 0.28);


  --rx-overlay-light:  rgb(var(--rx-champagne-rgb) / 0.78);
  --rx-overlay-medium: rgb(var(--rx-noir-rgb) / 0.40);
  --rx-overlay-dark:   rgb(var(--rx-noir-rgb) / 0.64);
  --rx-scrim:          rgb(var(--rx-noir-rgb) / 0.72);
  --rx-overlay-modal:  rgb(var(--rx-noir-rgb) / 0.86);


  --rx-focus-ring:           var(--rx-gold);
  --rx-focus-ring-width:     3px;
  --rx-focus-ring-offset:    2px;
  --rx-focus-ring-on-input:  rgb(var(--rx-ruby-rgb) / 0.18);


  --rx-alpha-100: 0.08;  /* whisper — very faint hints */
  --rx-alpha-200: 0.16;  /* subtle — hairline borders */
  --rx-alpha-300: 0.32;  /* standard — surface lift */
  --rx-alpha-400: 0.55;  /* medium — dimmed icons, soft fills */
  --rx-alpha-500: 0.78;  /* strong — minimum-accessible text */
  --rx-alpha-600: 0.92;  /* near-opaque — floating chrome */


  --rx-success:           #15803d;
  --rx-success-bg:        rgb(var(--rx-gold-rgb) / 0.16);
  --rx-success-bg-strong: rgb(var(--rx-gold-rgb) / 0.30);
  --rx-success-text:      var(--rx-noir);
  --rx-success-border:    rgb(var(--rx-gold-rgb) / 0.32);

  --rx-error-bg:          rgb(var(--rx-ruby-rgb) / 0.10);
  --rx-error-bg-strong:   rgb(var(--rx-ruby-rgb) / 0.20);
  --rx-error-text:        var(--rx-ruby-deep);
  --rx-error-border:      rgb(var(--rx-ruby-rgb) / 0.22);

  --rx-warning-bg:        rgb(var(--rx-gold-rgb) / 0.18);
  --rx-warning-text:      var(--rx-noir);
  --rx-warning-border:    rgb(var(--rx-gold-rgb) / 0.42);

  --rx-info-bg:           rgb(var(--rx-slate-rgb) / 0.08);
  --rx-info-text:         var(--rx-noir);
  --rx-info-border:       rgb(var(--rx-slate-rgb) / 0.18);



  --rx-ruby-50:  rgb(var(--rx-ruby-rgb) / 0.06);
  --rx-ruby-100: rgb(var(--rx-ruby-rgb) / 0.12);
  --rx-ruby-200: rgb(var(--rx-ruby-rgb) / 0.22);
  --rx-ruby-300: color-mix(in srgb, var(--rx-ruby) 48%, var(--rx-white) 52%);
  --rx-ruby-400: color-mix(in srgb, var(--rx-ruby) 74%, var(--rx-white) 26%);
  --rx-ruby-500: var(--rx-ruby);
  --rx-ruby-600: var(--rx-ruby-hover);
  --rx-ruby-700: var(--rx-ruby-deep);
  --rx-ruby-800: color-mix(in srgb, var(--rx-ruby) 54%, var(--rx-black) 46%);
  --rx-ruby-900: color-mix(in srgb, var(--rx-ruby) 34%, var(--rx-noir) 66%);

  --rx-ruby-50-rgb:  var(--rx-ruby-rgb);
  --rx-ruby-100-rgb: var(--rx-ruby-rgb);
  --rx-ruby-200-rgb: var(--rx-ruby-rgb);
  --rx-ruby-300-rgb: var(--rx-ruby-rgb);
  --rx-ruby-400-rgb: var(--rx-ruby-rgb);
  --rx-ruby-500-rgb: var(--rx-ruby-rgb);
  --rx-ruby-600-rgb: var(--rx-ruby-rgb);
  --rx-ruby-700-rgb: var(--rx-ruby-rgb);
  --rx-ruby-800-rgb: var(--rx-noir-rgb);
  --rx-ruby-900-rgb: var(--rx-noir-rgb);


  --rx-gold-50:  rgb(var(--rx-gold-rgb) / 0.12);
  --rx-gold-100: rgb(var(--rx-gold-rgb) / 0.22);
  --rx-gold-200: color-mix(in srgb, var(--rx-gold) 58%, var(--rx-white) 42%);
  --rx-gold-300: color-mix(in srgb, var(--rx-gold) 74%, var(--rx-white) 26%);
  --rx-gold-400: color-mix(in srgb, var(--rx-gold) 90%, var(--rx-white) 10%);
  --rx-gold-500: var(--rx-gold);
  --rx-gold-600: var(--rx-gold-hover);
  --rx-gold-700: color-mix(in srgb, var(--rx-gold) 82%, var(--rx-black) 18%);
  --rx-gold-800: color-mix(in srgb, var(--rx-gold) 66%, var(--rx-noir) 34%);
  --rx-gold-900: color-mix(in srgb, var(--rx-gold) 42%, var(--rx-noir) 58%);

  --rx-gold-50-rgb:  var(--rx-gold-rgb);
  --rx-gold-100-rgb: var(--rx-gold-rgb);
  --rx-gold-200-rgb: var(--rx-gold-rgb);
  --rx-gold-300-rgb: var(--rx-gold-rgb);
  --rx-gold-400-rgb: var(--rx-gold-rgb);
  --rx-gold-500-rgb: var(--rx-gold-rgb);
  --rx-gold-600-rgb: var(--rx-gold-rgb);
  --rx-gold-700-rgb: var(--rx-gold-rgb);
  --rx-gold-800-rgb: var(--rx-gold-rgb);
  --rx-gold-900-rgb: var(--rx-gold-rgb);


  --rx-champagne-50:  color-mix(in srgb, var(--rx-champagne) 35%, var(--rx-white) 65%);
  --rx-champagne-100: var(--rx-champagne);
  --rx-champagne-200: color-mix(in srgb, var(--rx-champagne) 90%, var(--rx-gold) 10%);
  --rx-champagne-300: color-mix(in srgb, var(--rx-champagne) 82%, var(--rx-gold) 18%);
  --rx-champagne-400: color-mix(in srgb, var(--rx-champagne) 72%, var(--rx-gold) 28%);
  --rx-champagne-500: color-mix(in srgb, var(--rx-champagne) 62%, var(--rx-gold) 38%);
  --rx-champagne-600: color-mix(in srgb, var(--rx-champagne) 62%, var(--rx-noir) 38%);
  --rx-champagne-700: color-mix(in srgb, var(--rx-champagne) 50%, var(--rx-noir) 50%);
  --rx-champagne-800: color-mix(in srgb, var(--rx-champagne) 36%, var(--rx-noir) 64%);
  --rx-champagne-900: color-mix(in srgb, var(--rx-champagne) 24%, var(--rx-noir) 76%);

  --rx-champagne-50-rgb:  var(--rx-champagne-rgb);
  --rx-champagne-100-rgb: var(--rx-champagne-rgb);
  --rx-champagne-200-rgb: var(--rx-champagne-rgb);
  --rx-champagne-300-rgb: var(--rx-champagne-rgb);
  --rx-champagne-400-rgb: var(--rx-champagne-rgb);
  --rx-champagne-500-rgb: var(--rx-champagne-rgb);
  --rx-champagne-600-rgb: var(--rx-champagne-rgb);
  --rx-champagne-700-rgb: var(--rx-champagne-rgb);
  --rx-champagne-800-rgb: var(--rx-champagne-rgb);
  --rx-champagne-900-rgb: var(--rx-champagne-rgb);


  --rx-ruby-on-soft: var(--rx-ruby-deep);  /* text on --rx-ruby-soft bg → 7.8:1 */


  --rx-active-scale: 0.98;
  --rx-active-shadow: inset 0 2px 4px rgb(var(--rx-noir-rgb) / 0.10);
  --rx-active-ring: 0 0 0 1px rgb(var(--rx-ruby-rgb) / 0.15);
  --rx-card: var(--rx-card-bg);
  --rx-card-padding: var(--rx-card-pad);
  --rx-card-padding-compact: var(--rx-space-4-5);
  --rx-cream-tint: rgb(var(--rx-cream-tint-rgb));
  --rx-warm-tint: rgb(var(--rx-warm-tint-rgb));
  --rx-ease-premium: var(--rx-ease-out);
  --rx-elevation-1: var(--rx-shadow-soft);
  --rx-elevation-2: var(--rx-shadow-elevated);
  --rx-elevation-4: var(--rx-shadow-clean);
  --rx-elevation-5: var(--rx-shadow-noir-strong);
  --rx-elevation-accent: var(--rx-shadow-accent);
  --rx-index: 0;
  --rx-reel-gap: var(--rx-space-4);
  --rx-sans: var(--rx-font-ui);
  --rx-serif: var(--rx-serif-font);
  --rx-section-padding-y: var(--rx-section-pad-y);
  --rx-slate-light: rgb(var(--rx-slate-rgb) / 0.85);
  --rx-space-12: 8rem;
  --rx-space-16: var(--rx-space-4);
  --rx-space-24: var(--rx-space-6);
  --rx-type-base: var(--rx-type-body);
  --rx-type-body-sm: var(--rx-type-body-small);
  --rx-type-display: var(--rx-type-hero);
  --rx-type-display-sm: var(--rx-type-section-small);
  --rx-type-h3: 1.75rem;
  --rx-type-ui: var(--rx-type-body-small);
}

@media (max-width: 760px) {
  :root {
    --rx-type-dialog-title: 1.375rem;
    --rx-type-faq: 1.25rem;
    --rx-type-subsection: 1.25rem;
    --rx-type-card-title: 1.125rem;
    --rx-type-brand: 1.3125rem;
    --rx-type-body-lg: 0.9375rem;
    --rx-type-body: 0.9375rem;
    --rx-type-body-small: 0.90625rem;
    --rx-type-input: 0.9375rem;
    --rx-section-head-space: 1.75rem;
    --rx-grid-gap: 1rem;
    --rx-card-pad: 1.25rem;
    --rx-card-gap: 0.875rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --rx-motion-fast: 1ms;
    --rx-motion: 1ms;
    --rx-motion-slow: 1ms;
    --rx-hover-lift: 0;
    --rx-hover-lift-strong: 0;
  }
}
