:root {
    --gp-font--baloo-2: "Baloo 2", system-ui, sans-serif;
    --gp-font--inter: Inter, system-ui, sans-serif;
    --fqgp-font-heading: "Baloo 2", system-ui, sans-serif;
    --fqgp-font-body: Inter, system-ui, sans-serif;
    --fq-font-heading: var(--fqgp-font-heading);
    --fq-font-body: var(--fqgp-font-body);

    --fqgp-color-bg: var(--global-color-24, #f7f7f5);
    --fqgp-color-surface: var(--global-color-19, #ffffff);
    --fqgp-color-surface-alt: var(--global-color-27, #f1f2f0);
    --fqgp-color-text: var(--global-color-22, #142038);
    --fqgp-color-text-soft: var(--global-color-26, #5e6a72);
    --fqgp-color-primary: var(--global-color-22, #142038);
    --fqgp-color-primary-strong: var(--global-color-14, #031127);
    --fqgp-color-link: var(--global-color-28, #051a37);
    --fqgp-color-accent: var(--global-color-21, #ff6240);
    --fqgp-color-accent-strong: var(--global-color-20, #c63b22);
    --fqgp-color-border: color-mix(in srgb, var(--global-color-22, #142038) 12%, transparent);
    --fqgp-color-shadow: color-mix(in srgb, var(--global-color-22, #142038) 8%, transparent);

    --fq-color-page: var(--fqgp-color-bg);
    --fq-color-surface: var(--fqgp-color-surface);
    --fq-color-surface-soft: var(--fqgp-color-surface-alt);
    --fq-color-text: var(--fqgp-color-text);
    --fq-color-muted: var(--fqgp-color-text-soft);
    --fq-color-brand: var(--fqgp-color-primary);
    --fq-color-brand-strong: var(--fqgp-color-primary-strong);
    --fq-color-action: var(--fqgp-color-accent);
    --fq-color-action-strong: var(--fqgp-color-accent-strong);
    --fq-color-on-action: var(--fq-color-brand);
    --fq-color-on-action-strong: var(--fq-color-surface);
    --fq-color-link: var(--fqgp-color-link);
    --fq-color-border: var(--fqgp-color-border);
    --fq-color-shadow: var(--fqgp-color-shadow);
    --fq-color-success: var(--global-color-29, #216448);
    --fq-color-warning: var(--global-color-23, #ffe24f);
    --fq-color-info: var(--global-color-18, #0048e8);
    --fq-color-action-soft: color-mix(in srgb, var(--fq-color-action) 8%, var(--fq-color-surface));
    --fq-color-success-soft: color-mix(in srgb, var(--fq-color-success) 8%, var(--fq-color-surface));
    --fq-color-warning-soft: color-mix(in srgb, var(--fq-color-warning) 12%, var(--fq-color-surface));
    --fq-color-info-soft: color-mix(in srgb, var(--fq-color-info) 7%, var(--fq-color-surface));
    --fq-color-white: #fff;

    --wp--preset--color--fq-brand: var(--fq-color-brand);
    --wp--preset--color--fq-brand-strong: var(--fq-color-brand-strong);
    --wp--preset--color--fq-action: var(--fq-color-action);
    --wp--preset--color--fq-action-strong: var(--fq-color-action-strong);
    --wp--preset--color--fq-text: var(--fq-color-text);
    --wp--preset--color--fq-muted: var(--fq-color-muted);
    --wp--preset--color--fq-link: var(--fq-color-link);
    --wp--preset--color--fq-page: var(--fq-color-page);
    --wp--preset--color--fq-surface: var(--fq-color-surface);
    --wp--preset--color--fq-soft: var(--fq-color-surface-soft);
    --wp--preset--color--fq-success: var(--fq-color-success);
    --wp--preset--color--fq-warning: var(--fq-color-warning);
    --wp--preset--color--fq-info: var(--fq-color-info);

    --fqgp-radius-sm: 10px;
    --fqgp-radius-md: 18px;
    --fqgp-radius-lg: 28px;
    --fq-radius-xs: 6px;
    --fq-radius-sm: 8px;
    --fq-radius-md: 10px;
    --fq-radius-lg: 14px;

    --fqgp-space-1: 0.5rem;
    --fqgp-space-2: 0.875rem;
    --fqgp-space-3: 1.25rem;
    --fqgp-space-4: 1.75rem;
    --fqgp-space-5: 2.5rem;
    --fqgp-space-6: 4rem;
    --fq-space-1: 0.5rem;
    --fq-space-2: 0.75rem;
    --fq-space-3: 1rem;
    --fq-space-4: 1.5rem;
    --fq-space-5: 2rem;
    --fq-space-6: 3rem;
    --fq-section-space: clamp(42px, 6vw, 76px);

    --fqgp-shell: min(1200px, calc(100% - 2rem));
    --fq-shell: var(--fqgp-shell);
    --fq-readable: min(920px, 100%);
    --fqgp-shadow: 0 10px 30px var(--fqgp-color-shadow);
    --fq-shadow-card: 0 10px 24px color-mix(in srgb, var(--fq-color-brand) 7%, transparent);
    --fq-shadow-panel: 0 18px 42px color-mix(in srgb, var(--fq-color-brand) 10%, transparent);
    --fq-shadow-soft: 0 8px 18px color-mix(in srgb, var(--fq-color-brand) 6%, transparent);

    --fq-text-xs: 0.78rem;
    --fq-text-sm: 0.88rem;
    --fq-text-md: 1rem;
    --fq-text-lg: 1.12rem;
    --fq-title-sm: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
    --fq-title-md: clamp(1.55rem, 1.25rem + 1vw, 2rem);
    --fq-title-lg: clamp(2.15rem, 1.6rem + 2vw, 3.25rem);
}

.has-fq-brand-color { color: var(--fq-color-brand) !important; }
.has-fq-brand-strong-color { color: var(--fq-color-brand-strong) !important; }
.has-fq-action-color { color: var(--fq-color-action) !important; }
.has-fq-action-strong-color { color: var(--fq-color-action-strong) !important; }
.has-fq-text-color { color: var(--fq-color-text) !important; }
.has-fq-muted-color { color: var(--fq-color-muted) !important; }
.has-fq-link-color { color: var(--fq-color-link) !important; }
.has-fq-page-color { color: var(--fq-color-page) !important; }
.has-fq-surface-color { color: var(--fq-color-surface) !important; }
.has-fq-soft-color { color: var(--fq-color-surface-soft) !important; }
.has-fq-success-color { color: var(--fq-color-success) !important; }
.has-fq-warning-color { color: var(--fq-color-warning) !important; }
.has-fq-info-color { color: var(--fq-color-info) !important; }

.has-fq-brand-background-color { background-color: var(--fq-color-brand) !important; }
.has-fq-brand-strong-background-color { background-color: var(--fq-color-brand-strong) !important; }
.has-fq-action-background-color { background-color: var(--fq-color-action) !important; }
.has-fq-action-strong-background-color { background-color: var(--fq-color-action-strong) !important; }
.has-fq-text-background-color { background-color: var(--fq-color-text) !important; }
.has-fq-muted-background-color { background-color: var(--fq-color-muted) !important; }
.has-fq-link-background-color { background-color: var(--fq-color-link) !important; }
.has-fq-page-background-color { background-color: var(--fq-color-page) !important; }
.has-fq-surface-background-color { background-color: var(--fq-color-surface) !important; }
.has-fq-soft-background-color { background-color: var(--fq-color-surface-soft) !important; }
.has-fq-success-background-color { background-color: var(--fq-color-success) !important; }
.has-fq-warning-background-color { background-color: var(--fq-color-warning) !important; }
.has-fq-info-background-color { background-color: var(--fq-color-info) !important; }
