:root {
    /* Colors — base (dark, opt-in via toggle) */
    --color-bg: #0b0a06;
    --color-bg-alt: #12100a;
    --color-surface: rgba(255, 255, 255, 0.05);
    --color-surface-strong: rgba(255, 255, 255, 0.08);
    --color-border: rgba(255, 255, 255, 0.1);
    --color-border-strong: rgba(255, 255, 255, 0.18);

    --color-text: #f7f6f2;
    --color-text-muted: #b8b3a4;
    --color-text-faint: #857f6e;

    /* Brand — Rehan School yellow & blue */
    --color-primary: #f5b400;
    --color-primary-alt: #ffcf40;
    --color-accent: #2f6fd1;
    --color-accent-alt: #34d399;
    --color-warn: #f59e0b;
    --color-danger: #f43f5e;
    --color-on-primary: #1a1608;

    --gradient-brand: linear-gradient(135deg, #ffd75e 0%, #f5b400 55%, #e29e00 100%);
    --gradient-text: linear-gradient(90deg, #ffcf40 0%, #f5b400 40%, #2f6fd1 100%);
    --gradient-mesh: radial-gradient(circle at 15% 20%, rgba(245, 180, 0, 0.28), transparent 42%),
        radial-gradient(circle at 85% 10%, rgba(47, 111, 209, 0.22), transparent 45%),
        radial-gradient(circle at 50% 90%, rgba(255, 207, 64, 0.22), transparent 45%);

    /* Spacing scale */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 48px;
    --space-8: 64px;
    --space-9: 96px;
    --space-10: 128px;

    /* Radius */
    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 20px;
    --radius-xl: 24px;
    --radius-full: 999px;

    /* Shadows */
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.25);
    --shadow-md: 0 8px 30px rgba(0, 0, 0, 0.35);
    --shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.45);
    --shadow-glow: 0 0 0 1px rgba(245, 180, 0, 0.25), 0 0 40px rgba(245, 180, 0, 0.25);

    /* Blur */
    --blur-sm: blur(8px);
    --blur-md: blur(16px);
    --blur-lg: blur(28px);

    /* Typography */
    --font-sans: 'Inter', 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --fs-xs: 0.75rem;
    --fs-sm: 0.875rem;
    --fs-base: 1rem;
    --fs-lg: 1.125rem;
    --fs-xl: 1.375rem;
    --fs-2xl: 1.75rem;
    --fs-3xl: 2.25rem;
    --fs-4xl: 3rem;
    --fs-5xl: 4rem;

    /* Motion */
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --dur-fast: 150ms;
    --dur-base: 300ms;
    --dur-slow: 600ms;

    /* Layout */
    --container-max: 1240px;
    --nav-height: 76px;
}

[data-theme="light"] {
    --color-bg: #fefefc;
    --color-bg-alt: #ffffff;
    --color-surface: rgba(255, 255, 255, 0.72);
    --color-surface-strong: rgba(245, 180, 0, 0.07);
    --color-border: rgba(20, 18, 8, 0.08);
    --color-border-strong: rgba(20, 18, 8, 0.16);
    --color-text: #1a1608;
    --color-text-muted: #5c5644;
    --color-text-faint: #8c866f;
    --color-on-primary: #1a1608;
    --shadow-sm: 0 2px 10px rgba(120, 96, 0, 0.07);
    --shadow-md: 0 10px 32px rgba(120, 96, 0, 0.09);
    --shadow-lg: 0 24px 64px rgba(120, 96, 0, 0.14);
    --gradient-mesh: radial-gradient(circle at 15% 20%, rgba(245, 180, 0, 0.09), transparent 40%),
        radial-gradient(circle at 85% 10%, rgba(47, 111, 209, 0.07), transparent 42%),
        radial-gradient(circle at 50% 90%, rgba(255, 207, 64, 0.09), transparent 42%);
}
