:root {
  --font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-size-base: 16px;
  --font-size-small: 14px;
  --font-weight-body: 400;
  --font-weight-bold: 700;
  --heading-font-weight: 650;
  --heading-hero-size: clamp(40px, 3.958vw, 76px);
  --heading-section-size: clamp(30px, 2.708vw, 52px);
  --heading-cta-size: clamp(32px, 3.021vw, 58px);
  --heading-page-size: clamp(36px, 3.333vw, 64px);
  --heading-card-h2-size: clamp(22px, 1.458vw, 28px);
  --heading-card-h3-size: clamp(18px, 1.146vw, 22px);
  --heading-auth-size: clamp(22px, 1.458vw, 28px);
  --price-size: clamp(28px, 2.083vw, 40px);
  --line-height: 1.5;

  --color-background: #07080d;
  --color-surface: #0d0f15;
  --color-surface-raised: #11131a;
  --color-text: #f7f8fb;
  --color-text-muted: #9297a3;
  --color-border: rgba(255, 255, 255, 0.08);
  --color-brand: #a67cff;
  --color-brand-light: #d67cff;
  --color-brand-dark: #6d7cff;
  --color-brand-soft: rgba(139, 120, 255, 0.12);

  --gradient-brand: linear-gradient(135deg, var(--color-brand-dark), var(--color-brand-light));
  --gradient-surface: linear-gradient(145deg, #11131a, #0c0e13);
  --shadow-card: 0 18px 55px rgba(109, 124, 255, 0.12);
  --shadow-button: 0 0 34px rgba(165, 118, 255, 0.27);

  --container-width: 1180px;
  --container-gutter: 40px;
  --section-spacing: 110px;
  --radius-small: 12px;
  --radius-card: 20px;
  --radius-large: 28px;
  --transition: 0.28s ease;

  /* Compatibility aliases used by existing anonymous-user forms. */
  --font_family: var(--font-family);
  --font_family_weight: var(--font-weight-body);
  --heading_font_family: var(--font-family);
  --heading_font_family_weight: var(--heading-font-weight);
  --primary_color: var(--color-brand-dark);
  --secondary_color: var(--color-brand-light);
  --text_color: var(--color-text);
  --link_color: var(--color-text);
  --background_color: var(--color-background);
  --button_bg_color: var(--color-brand-dark);
  --button_text_color: #fff;
  --field_gap: 15px;
  --block_gap: var(--section-spacing);
  --label_gap: 5px;
  --box_bg_color: var(--color-surface);
  --box_text_color: var(--color-text);
  --box_padding: 30px;
  --box_shadow: var(--shadow-card);
  --box_border_radius: var(--radius-card);
  --opacity_desc: .7;
  --status_color: #42a877;
  --alert_color: #e34f4f;
}
