:root {
    --primary-blue: #2456d6;
    --secondary-blue: #3b82f6;
    --accent-blue: #5b9dff;
    --light-blue: #a9c8ff;
    --accent-gold: #e9b949;
    --accent-gold-light: #f7d888;
    --accent-gold-dark: #c7952e;
    --darker-bg: #05070c;
    --dark-bg: #0a0d14;
    --card-bg: #141b29;
    --card-bg-hover: #1c2536;
    --border-color: #232b3a;
    --border-color-hover: #364259;
    --text-primary: #eef1f7;
    --text-secondary: #a6b1c4;
    --text-muted: #7c8798;
    --gradient-primary: linear-gradient(135deg, #1c3166 0%, #2f4f96 100%);
    --gradient-accent: linear-gradient(135deg, #3b82f6 0%, #5b9dff 100%);
    --gradient-warm: linear-gradient(135deg, #f0c24b 0%, #c9782a 100%);
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.28);
    --shadow-md: 0 8px 25px rgba(0, 0, 0, 0.35);
    --shadow-lg: 0 20px 40px rgba(0, 0, 0, 0.45);
    --shadow-3d: 0 10px 30px rgba(0, 0, 0, 0.42), 0 0 22px rgba(36, 86, 214, 0.12);
    --blur: blur(10px);
    --font-primary: "Cinzel", serif;
    --font-secondary: "Inter", sans-serif;
    --section-padding: 40px 0;
    --container-padding: 0 24px;
    --border-radius: 16px;
    --border-radius-sm: 8px;
    --transition-fast: 0.2s ease-in-out;
    --transition-smooth: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    --nav-bg: rgba(8, 11, 18, 0.72);
    --nav-bg-solid: rgba(8, 11, 18, 0.96);
    --nav-border: rgba(233, 185, 73, 0.16);
    --hero-scrim: linear-gradient(180deg, rgba(5, 7, 12, 0.30) 0%, rgba(5, 7, 12, 0.46) 45%, rgba(5, 7, 12, 0.80) 100%);
    --grain-opacity: 0.05;
    --reveal-shift: 26px;
    --hex-tex: url("/css/dark-bg.svg");
}
html.rc-light {
    --primary-blue: #1e3a8a;
    --secondary-blue: #1e40af;
    --accent-blue: #1e40af;
    --light-blue: #2c4a7c;
    --accent-gold: #a16207;
    --accent-gold-light: #ca8a04;
    --accent-gold-dark: #854d0e;
    --darker-bg: #eaeef4;
    --dark-bg: #f6f8fb;
    --card-bg: #ffffff;
    --card-bg-hover: #f1f4f9;
    --border-color: #dde2ec;
    --border-color-hover: #c3cbdc;
    --text-primary: #111621;
    --text-secondary: #414a5c;
    --text-muted: #5d6879;
    --gradient-primary: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);
    --gradient-accent: linear-gradient(135deg, #1e40af 0%, #2b6fe0 100%);
    --gradient-warm: linear-gradient(135deg, #f0c24b 0%, #c9782a 100%);
    --shadow-sm: 0 2px 8px rgba(20, 24, 40, 0.08);
    --shadow-md: 0 10px 26px rgba(20, 24, 40, 0.10);
    --shadow-lg: 0 22px 44px rgba(20, 24, 40, 0.14);
    --shadow-3d: 0 12px 30px rgba(20, 24, 40, 0.12), 0 0 20px rgba(36, 86, 214, 0.06);
    --nav-bg: rgba(255, 255, 255, 0.80);
    --nav-bg-solid: rgba(255, 255, 255, 0.97);
    --nav-border: rgba(29, 78, 216, 0.12);
    --grain-opacity: 0.025;
    --hex-tex: url("/css/light-bg.svg");
}
body {
    background:
        var(--hex-tex),
        radial-gradient(78% 55% at 50% -12%, rgba(36, 86, 214, 0.14) 0%, transparent 62%),
        radial-gradient(52% 46% at 100% 2%, rgba(233, 185, 73, 0.06) 0%, transparent 55%),
        linear-gradient(135deg, var(--darker-bg) 0%, var(--dark-bg) 55%, #070b13 100%);
    background-attachment: fixed;
}
html.rc-light body {
    background:
        var(--hex-tex),
        radial-gradient(78% 55% at 50% -12%, rgba(36, 86, 214, 0.08) 0%, transparent 62%),
        radial-gradient(52% 46% at 100% 2%, rgba(201, 120, 42, 0.06) 0%, transparent 55%),
        linear-gradient(135deg, var(--darker-bg) 0%, var(--dark-bg) 100%);
    background-attachment: fixed;
}
html.rc-light .logo-img { filter: none; }
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: var(--grain-opacity);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
html.rc-lite body::before { display: none; }
html.rc-lite body { background-attachment: scroll; }
@media (max-width: 768px) {
    :root {
        --section-padding: 60px 0;
        --container-padding: 0 16px;
    }
}
