:root {
    color-scheme: light;
    /* ── Brand ── */
    --zg-primary-dark: #08111F;
    --zg-primary: #0F1D33;
    --zg-primary-light: #1A2B4A;
    --zg-primary-glow: rgba(15, 29, 51, 0.08);
    --zg-accent: #A6873F;
    --zg-accent-hover: #8F7832;
    --zg-accent-dark: #6E581E;
    --zg-accent-soft: #FDF9EE;
    --zg-accent-glow: rgba(166, 135, 63, 0.14);
    --zg-accent-glow-strong: rgba(166, 135, 63, 0.22);
    --zg-accent-gold-metallic: #0F1D33;
    --zg-navy-gradient: linear-gradient(135deg, #08111F 0%, #0F1D33 50%, #1A2B4A 100%);
    --zg-navy-mesh: radial-gradient(ellipse 80% 60% at 20% 10%, rgba(166,135,63,0.09), transparent 60%), radial-gradient(ellipse 70% 50% at 90% 80%, rgba(26,43,74,0.12), transparent 60%);
    --zg-dark-surface: #0F1D33;
    --zg-dark-card: #162643;
    --zg-dark-card-hover: #1E3458;
    --zg-background: #FFFFFF;
    --zg-surface: #FFFFFF;
    --zg-surface-subtle: #F8FAFC;
    --zg-surface-muted: #F1F5F9;
    --zg-surface-glass: rgba(255,255,255,0.72);
    --zg-text: #1A2B4A;
    --zg-text-inverse: #FFFFFF;
    --zg-muted: #4A5A73;
    --zg-muted-light: #8A9AB5;
    --zg-border: #E6EAF0;
    --zg-border-subtle: #F1F5F9;
    --zg-border-glass: rgba(230, 234, 240, 0.7);
    --zg-success: #0F7A3D;
    --zg-danger: #B91C1C;
    --zg-font-heading: "Vazir", "Inter", Tahoma, Arial, sans-serif;
    --zg-font-body: "Vazir", "Inter", Tahoma, Arial, sans-serif;
    --zg-font-latin: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --zg-font-fallback: "Inter", Tahoma, Arial, system-ui, sans-serif;
    --zg-container: 1240px;
    --zg-container-wide: 1360px;
    --zg-article: 820px;
    /* ساختاری/خنثی */
    --zg-line: #E2DDD2;
    --zg-line-soft: #F0EBE0;
    --zg-line-strong: #CFC8BA;
    --zg-paper-tint: #F9F7F2;
    --zg-paper-tint-soft: #FCFBF8;
    --zg-radius-xs: 3px;
    --zg-radius-sm: 0.5rem;
    --zg-radius: 0.75rem;
    --zg-radius-lg: 1rem;
    --zg-radius-xl: 1.25rem;
    --zg-radius-2xl: 1.5rem;
    --zg-shadow-xs: 0 1px 2px 0 rgba(8,17,31,0.04);
    --zg-shadow-sm: 0 1px 3px 0 rgba(8,17,31,0.06), 0 1px 2px -1px rgba(8,17,31,0.04);
    --zg-shadow: 0 4px 12px -2px rgba(8,17,31,0.06), 0 2px 6px -2px rgba(8,17,31,0.04);
    --zg-shadow-raised: 0 12px 28px -6px rgba(8,17,31,0.08), 0 6px 12px -4px rgba(8,17,31,0.04);
    --zg-shadow-heavy: 0 24px 48px -10px rgba(8,17,31,0.12), 0 10px 20px -6px rgba(8,17,31,0.06);
    --zg-shadow-gold: 0 10px 28px -4px rgba(166,135,63,0.18);
    --zg-shadow-glass: 0 8px 32px 0 rgba(8,17,31,0.08), inset 0 1px 0 0 rgba(255,255,255,0.6);
    --zg-focus: #A6873F;
    --zg-focus-ring: 0 0 0 3px rgba(166,135,63,0.18);
    --zg-space-1: 0.5rem;
    --zg-space-2: 0.75rem;
    --zg-space-3: 1rem;
    --zg-space-4: 1.5rem;
    --zg-space-5: 2rem;
    --zg-space-6: 3rem;
    --zg-space-7: 4.5rem;
    --zg-space-8: 6rem;
    /* Motion */
    --zg-ease: cubic-bezier(0.16,1,0.3,1);
    --zg-ease-out: cubic-bezier(0.2,0.8,0.2,1);
    --zg-duration-fast: 0.15s;
    --zg-duration: 0.28s;
    --zg-duration-slow: 0.45s;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--zg-background);
    color: var(--zg-text);
    font-family: var(--zg-font-body), var(--zg-font-fallback);
    line-height: 1.78;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
img, svg, video { max-inline-size: 100%; }
img { block-size: auto; }
button, input, select, textarea { font: inherit; }
a { color: inherit; }

/* Containers */
.zg-container {
    inline-size: min(100% - 2rem, var(--zg-container));
    margin-inline: auto;
}
.zg-container--wide {
    inline-size: min(100% - 2rem, var(--zg-container-wide));
    margin-inline: auto;
}
.zg-container--article { max-inline-size: var(--zg-article); }

/* A11y */
.zg-sr-only {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}
.zg-skip-link {
    position: fixed;
    z-index: 1000;
    inset-block-start: 0.5rem;
    inset-inline-start: 0.5rem;
    padding: 0.75rem 1rem;
    border-radius: var(--zg-radius-sm);
    background: var(--zg-surface);
    color: var(--zg-primary-dark);
    font-weight: 700;
    transform: translateY(-160%);
    box-shadow: var(--zg-shadow-heavy);
    transition: transform var(--zg-duration) var(--zg-ease);
}
.zg-skip-link:focus { transform: translateY(0); }
:focus-visible {
    outline: 3px solid var(--zg-focus);
    outline-offset: 3px;
}

@media (min-width: 768px) {
    .zg-container, .zg-container--wide {
        inline-size: min(100% - 3rem, var(--zg-container));
    }
}
@media (min-width: 1440px) {
    .zg-container--wide {
        inline-size: min(100% - 4rem, var(--zg-container-wide));
    }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
