:root {
    --nsh-bg: #eef4ff;
    --nsh-surface: #ffffff;
    --nsh-surface-soft: #e8f1ff;
    --nsh-ink: #12284d;
    --nsh-copy: #385278;
    --nsh-line: rgba(29, 78, 216, 0.2);
    --nsh-primary: #1d4ed8;
    --nsh-primary-deep: #102a6b;
    --nsh-accent: #0284c7;
    --nsh-warm: #f97316;
    --nsh-shadow: 0 20px 44px rgba(16, 42, 107, 0.14);
    --nsh-radius: 20px;
    --nsh-radius-sm: 14px;
    --nsh-container: min(1220px, calc(100vw - 32px));
    --nsh-header-container: min(1500px, calc(100vw - 64px));
    --nsh-font-body: "Nunito Sans", sans-serif;
    --nsh-font-heading: "Sora", sans-serif;
    --nsh-duration-fast: 0.22s;
    --nsh-duration-base: 0.32s;
    --nsh-duration-slow: 0.44s;
    --nsh-focus-ring: rgba(29, 78, 216, 0.3);
    --nsh-theme-page-bg:
        radial-gradient(circle at 8% 10%, rgba(14, 165, 233, 0.22), transparent 26%),
        radial-gradient(circle at 90% 12%, rgba(56, 189, 248, 0.2), transparent 24%),
        radial-gradient(circle at 12% 88%, rgba(245, 158, 11, 0.16), transparent 24%),
        radial-gradient(circle at 84% 78%, rgba(34, 197, 94, 0.14), transparent 26%),
        linear-gradient(180deg, #f6fbff 0%, #eef5ff 42%, #f8fbff 76%, #f2f9ff 100%);
    --nsh-theme-header-bg: rgba(250, 253, 255, 0.93);
    --nsh-theme-header-bg-strong: rgba(255, 255, 255, 0.98);
    --nsh-theme-header-border: rgba(29, 78, 216, 0.16);
    --nsh-theme-header-shadow: 0 10px 24px rgba(16, 42, 107, 0.08);
    --nsh-theme-header-shadow-strong: 0 14px 30px rgba(16, 42, 107, 0.12);
    --nsh-theme-nav-hover-bg: linear-gradient(135deg, rgba(29, 78, 216, 0.16), rgba(2, 132, 199, 0.12), rgba(245, 158, 11, 0.14));
    --nsh-theme-nav-toggle-hover-bg: linear-gradient(135deg, rgba(29, 78, 216, 0.14), rgba(2, 132, 199, 0.1), rgba(34, 197, 94, 0.1));
    --nsh-theme-banner-base: #041a47;
    --nsh-theme-banner-button-bg: rgba(255, 255, 255, 0.16);
    --nsh-theme-banner-button-shadow: 0 16px 30px rgba(2, 17, 55, 0.28);
    --nsh-theme-banner-dot: rgba(255, 255, 255, 0.36);
    --nsh-theme-banner-dot-active: #ffffff;
    --nsh-theme-main-overlay:
        radial-gradient(circle at 10% 18%, rgba(14, 165, 233, 0.1), transparent 20%),
        radial-gradient(circle at 82% 14%, rgba(29, 78, 216, 0.1), transparent 18%),
        radial-gradient(circle at 16% 76%, rgba(245, 158, 11, 0.09), transparent 16%),
        radial-gradient(circle at 88% 72%, rgba(34, 197, 94, 0.08), transparent 16%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.14)),
        repeating-linear-gradient(135deg, rgba(29, 78, 216, 0.03) 0 1px, transparent 1px 24px);
    --nsh-theme-section-overlay:
        linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.4)),
        radial-gradient(circle at top left, rgba(14, 165, 233, 0.12), transparent 40%),
        radial-gradient(circle at top right, rgba(29, 78, 216, 0.12), transparent 34%),
        radial-gradient(circle at bottom left, rgba(245, 158, 11, 0.1), transparent 34%),
        radial-gradient(circle at bottom right, rgba(34, 197, 94, 0.1), transparent 34%);
    --nsh-theme-banner-shade:
        linear-gradient(98deg, rgba(2, 17, 55, 0.86) 0%, rgba(2, 17, 55, 0.52) 42%, rgba(2, 17, 55, 0.2) 76%, rgba(2, 17, 55, 0.1) 100%),
        linear-gradient(180deg, rgba(2, 17, 55, 0.08) 0%, rgba(2, 17, 55, 0.38) 100%);
    --nsh-theme-banner-facts-border: rgba(255, 255, 255, 0.22);
    --nsh-theme-banner-facts-bg: rgba(15, 40, 95, 0.3);
    --nsh-theme-card-bg:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(243, 249, 255, 0.82)),
        radial-gradient(circle at top left, rgba(14, 165, 233, 0.1), transparent 42%);
    --nsh-theme-card-bg-strong:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(242, 248, 255, 0.86)),
        radial-gradient(circle at top left, rgba(29, 78, 216, 0.13), transparent 34%);
    --nsh-theme-card-border: rgba(29, 78, 216, 0.14);
    --nsh-theme-card-border-strong: rgba(29, 78, 216, 0.24);
    --nsh-theme-card-shadow: 0 20px 48px rgba(16, 42, 107, 0.1);
    --nsh-theme-card-shadow-soft: 0 12px 26px rgba(16, 42, 107, 0.08);
    --nsh-theme-card-shadow-hover: 0 22px 46px rgba(16, 42, 107, 0.16);
    --nsh-theme-panel-bg:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(242, 249, 255, 0.86)),
        radial-gradient(circle at top left, rgba(14, 165, 233, 0.12), transparent 34%);
    --nsh-theme-heading: #16366c;
    --nsh-theme-heading-strong: #0f2752;
    --nsh-theme-copy: #3f5e8a;
    --nsh-theme-pill-bg: rgba(29, 78, 216, 0.1);
    --nsh-theme-pill-border: rgba(29, 78, 216, 0.16);
    --nsh-theme-pill-color: #1d4ed8;
    --nsh-theme-accent-gradient: linear-gradient(135deg, #1d4ed8 0%, #0284c7 46%, #f59e0b 100%);
    --nsh-theme-tone-1: #1d4ed8;
    --nsh-theme-tone-2: #f59e0b;
    --nsh-theme-tone-3: #16a34a;
    --nsh-theme-on-accent: #ffffff;
    --nsh-theme-footer-bg: linear-gradient(145deg, #0a1f4f 0%, #123a86 56%, #0b5ea9 100%);
    --nsh-theme-footer-panel-bg: linear-gradient(180deg, rgba(7, 30, 78, 0.84), rgba(11, 78, 151, 0.7));
    --nsh-theme-footer-panel-border: rgba(186, 230, 253, 0.24);
    --nsh-theme-footer-copy: #dbeafe;
}
