:root {

    /* Brand */
    --red: #d71920;
    --red-dark: #b51016;
    --red-soft: #fff1f2;

    --navy: #102d56;
    --navy-dark: #091d38;

    /* Text */
    --text: #122b50;
    --text-dark: #0c203d;
    --muted: #6d7b8f;

    /* Background */
    --white: #ffffff;
    --background: #f8fafc;
    --background-soft: #f3f6fa;

    /* Borders */
    --border: #e5eaf0;

    /* Layout */
    --container: 1240px;

    /* Radius */
    --radius-sm: 10px;
    --radius-md: 18px;
    --radius-lg: 28px;

    /* Shadow */
    --shadow-sm:
        0 8px 30px rgba(16, 45, 86, 0.06);

    --shadow-md:
        0 20px 50px rgba(16, 45, 86, 0.10);

    /* Foundation tokens — existing variables above remain supported. */
    --brand-red: var(--red);
    --brand-red-dark: var(--red-dark);
    --brand-red-soft: var(--red-soft);
    --brand-navy: var(--navy);
    --brand-navy-deep: var(--navy-dark);
    --brand-navy-soft: #eaf0f8;

    --exam-kpss: #f2384a;
    --exam-kpss-rgb: 242, 56, 74;
    --exam-kpss-secondary: #ff6976;
    --exam-kpss-tint: #fff0f2;
    --exam-yks: #2868eb;
    --exam-yks-rgb: 40, 104, 235;
    --exam-yks-secondary: #4c8cff;
    --exam-yks-tint: #edf5ff;
    --exam-lgs: #009f72;
    --exam-lgs-rgb: 0, 159, 114;
    --exam-lgs-secondary: #20c997;
    --exam-lgs-tint: #ebfbf5;
    --exam-ags: #8338ec;
    --exam-ags-rgb: 131, 56, 236;
    --exam-ags-secondary: #a855f7;
    --exam-ags-tint: #f5efff;

    --text-heading: var(--text-dark);
    --text-body: var(--text);
    --text-muted: var(--muted);
    --text-on-dark: #ffffff;
    --text-on-accent: #ffffff;
    --surface-white: var(--white);
    --surface-neutral: var(--background);
    --surface-soft: var(--background-soft);
    --surface-navy: var(--navy);
    --surface-navy-deep: var(--navy-dark);

    --font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;
    --text-xs: 12px;
    --text-sm: 14px;
    --text-base: 16px;
    --text-lead: 18px;

    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-6: 24px;
    --space-8: 32px;
    --space-12: 48px;
    --space-16: 64px;
    --space-20: 80px;
    --space-24: 96px;
    --space-30: 120px;

    --border-neutral: var(--border);
    --border-strong: #cfd8e5;
    --border-on-dark: rgba(255, 255, 255, 0.22);
    --border-accent: currentColor;
    --radius-xl: 28px;
    --radius-pill: 999px;
    --shadow-none: none;
    --shadow-low: var(--shadow-sm);
    --shadow-raised: var(--shadow-md);
    --shadow-accent: 0 14px 35px rgba(16, 45, 86, 0.16);

    --content-wide: 760px;
    --content-reading: 640px;
    --header-height: 82px;
    --header-height-mobile: 72px;

    --motion-fast: 180ms;
    --motion-base: 240ms;
    --motion-reveal: 420ms;
    --motion-feature: 600ms;
    --ease-brand: cubic-bezier(.2, .8, .2, 1);
    --decor-opacity-soft: 0.03;
    --decor-opacity-medium: 0.06;
    --rule-width: 1px;
    --accent-rule-width: 4px;
    --overlap-sm: 24px;
    --overlap-md: 48px;
    --overlap-lg: 64px;

    /* Transition */
    --transition: var(--motion-base) var(--ease-brand);
}
