:root {
  --theme-color-page: #e8eef4;
  --theme-color-surface: #f9fbfd;
  --theme-color-surface-alt: #d8e2ec;
  --theme-color-surface-dark: #031321;
  --theme-color-text: #0e2638;
  --theme-color-text-muted: #526a7a;
  --theme-color-text-on-dark: #f4f8fb;
  --theme-color-text-on-accent: #031321;
  --theme-color-primary: #123e68;
  --theme-color-primary-hover: #0a2a48;
  --theme-color-accent: #f09a24;
  --theme-color-accent-hover: #d77d0d;
  --theme-color-border: #c8d5e1;
  --theme-color-success: #1e7a53;
  --theme-color-error: #b83a3a;
  --theme-color-focus: #0077cc;

  --theme-font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --theme-font-heading: "Arial Narrow", Inter, ui-sans-serif, system-ui, sans-serif;
  --theme-font-size-body: 1rem;
  --theme-font-weight-heading: 800;
  --theme-line-height-body: 1.65;
  --theme-line-height-heading: 1.04;

  --theme-radius-small: .6rem;
  --theme-radius-medium: 1.2rem;
  --theme-radius-large: 2rem;
  --theme-radius-button: .55rem;
  --theme-border-width: 1px;
  --theme-focus-width: 3px;
  --theme-focus-offset: 3px;

  --theme-shadow-small: 0 10px 28px rgb(3 23 34 / .10);
  --theme-shadow-medium: 0 20px 55px rgb(3 23 34 / .18);
  --theme-shadow-large: 0 36px 90px rgb(0 12 20 / .34);

  --theme-motion-fast: 160ms;
  --theme-motion-normal: 260ms;
  --theme-motion-slow: 420ms;
  --theme-easing: cubic-bezier(.2, .8, .2, 1);

  --theme-header-background: rgb(3 19 33 / .95);
  --theme-header-text: #f4f8fb;
  --theme-header-border: rgb(255 255 255 / .11);
  --theme-header-blur: 18px;

  --theme-section-light-background: #e8eef4;
  --theme-section-light-text: #0e2638;
  --theme-section-surface-background: #f9fbfd;
  --theme-section-surface-text: #0e2638;
  --theme-section-dark-background: #031321;
  --theme-section-dark-text: #f4f8fb;
  --theme-section-accent-background: linear-gradient(135deg, #0a2a48, #031321);
  --theme-section-accent-text: #f4f8fb;

  --theme-text-muted-current: #526a7a;
  --theme-card-background: #f9fbfd;
  --theme-card-text: #0e2638;
  --theme-card-border: #c8d5e1;
  --theme-button-secondary-background: transparent;
  --theme-button-secondary-text: currentColor;
  --theme-button-secondary-border: currentColor;
  --theme-button-secondary-hover: rgb(255 255 255 / .10);
  --theme-input-background: #ffffff;
  --theme-answer-background: #f9fbfd;
  --theme-answer-selected-background: #fff0d8;
  --theme-progress-track: rgb(100 118 128 / .20);
  --theme-success-background: #e6f4ed;
  --theme-error-background: #fceaea;
  --theme-warning-background: #fff0d8;
  --theme-warning-text: #6b3900;
  --theme-icon-filter: none;
  --theme-icon-background: rgb(240 154 36 / .14);
  --theme-icon-border: 1px solid rgb(240 154 36 / .30);
  --theme-icon-radius: .8rem;
  --theme-image-placeholder-background: linear-gradient(135deg, #123e68, #031321);
  --theme-card-accent-background: linear-gradient(90deg, var(--theme-color-accent), transparent);
  --theme-step-background: linear-gradient(90deg, rgb(255 255 255 / .04), transparent);
  --theme-logo-filter: drop-shadow(0 4px 16px rgb(0 0 0 / .22));

  --theme-footer-background: #020c15;
  --theme-footer-text: #f4f8fb;
  --theme-footer-muted: #a9bcc9;
  --theme-footer-border: rgb(255 255 255 / .12);

  --theme-hero-decoration: radial-gradient(circle at 18% 18%, rgb(240 154 36 / .18), transparent 38%), linear-gradient(120deg, transparent 45%, rgb(255 255 255 / .035) 45%, rgb(255 255 255 / .035) 46%, transparent 46%);
  --theme-hero-decoration-opacity: 1;
}

.section--variant-dark,
.section--variant-accent {
  --theme-text-muted-current: #b8c9d4;
  --theme-card-background: #0b263b;
  --theme-card-text: #f4f8fb;
  --theme-card-border: rgb(255 255 255 / .13);
  --theme-color-border: rgb(255 255 255 / .18);
  --theme-input-background: #ffffff;
  --theme-answer-background: rgb(255 255 255 / .075);
  --theme-answer-selected-background: rgb(240 154 36 / .20);
  --theme-color-text: #f4f8fb;
  --theme-color-text-muted: #b8c9d4;
}

.section--questionnaire .questionnaire {
  --theme-color-text: #0e2638;
  --theme-color-text-muted: #526a7a;
  --theme-color-border: #c8d5e1;
  --theme-answer-background: #f9fbfd;
  --theme-answer-selected-background: #fff0d8;
  --theme-input-background: #ffffff;
  --theme-card-background: #ffffff;
  --theme-card-text: #0e2638;
  --theme-card-shadow: var(--theme-shadow-large);
}
