/* --- GC Ads Design Tokens --- */
:root {
    /* === COLORS === */

    /* Primary palette (noble) */
    --c-deep-green: #223631;
    --c-navy: #1F2C43;
    --c-steel: #5B7D8C;
    --c-deep-red: #630100;
    --c-gold: #F3BF25;

    /* Backgrounds */
    --c-bg-main: #FAFAFA;
    --c-bg-white: #FFFFFF;
    --c-bg-pink: #FFF5F7;
    --c-bg-blue: #F0F7FF;
    --c-bg-peach: #FFF9F5;

    /* Semantic */
    --c-success: #00C853;
    --c-error: #FF4444;
    --c-warning: #FFB300;
    --c-info: #2196F3;

    /* Text */
    --c-text-primary: #1F2C43;
    --c-text-secondary: #5B7D8C;
    --c-text-disabled: #A0A0A0;
    --c-text-on-dark: #FFFFFF;

    /* Borders & surfaces */
    --c-border: #E0E0E0;
    --c-border-light: #F0F0F0;
    --c-surface-hover: #FAFAFA;

    /* Gradients */
    --g-primary: linear-gradient(135deg, #1F2C43, #223631);
    --g-positive: linear-gradient(90deg, #00C853, #69F0AE);
    --g-negative: linear-gradient(90deg, #FF4444, #FF6B6B);
    --g-neutral: linear-gradient(90deg, #5B7D8C, #88B4C8);

    /* === TYPOGRAPHY === */
    --font-primary: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;

    /* Sizes */
    --fs-caption: 0.75rem;    /* 12px */
    --fs-small: 0.875rem;     /* 14px */
    --fs-body: 1rem;           /* 16px */
    --fs-h6: 1.125rem;        /* 18px */
    --fs-h5: 1.25rem;         /* 20px */
    --fs-h4: 1.5rem;          /* 24px */
    --fs-h3: 1.75rem;         /* 28px */
    --fs-h2: 2.25rem;         /* 36px */
    --fs-h1: 3rem;            /* 48px */
    --fs-hero: 4rem;           /* 64px */

    /* Weights */
    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;

    /* Line heights */
    --lh-heading: 1.2;
    --lh-body: 1.6;
    --lh-small: 1.4;

    /* Letter spacing */
    --ls-heading: 0.02em;
    --ls-body: 0;

    /* === SPACING === */
    --sp-xs: 0.25rem;   /* 4px */
    --sp-sm: 0.5rem;    /* 8px */
    --sp-md: 1rem;      /* 16px */
    --sp-lg: 1.5rem;    /* 24px */
    --sp-xl: 2rem;      /* 32px */
    --sp-2xl: 3rem;     /* 48px */
    --sp-3xl: 4rem;     /* 64px */
    --sp-4xl: 6rem;     /* 96px */
    --sp-5xl: 8rem;     /* 128px */

    /* === LAYOUT === */
    --container-max: 1280px;
    --container-pad: 3rem;       /* 48px desktop */
    --section-pad-y: 4rem;       /* 64px desktop */
    --grid-gap: 1.5rem;          /* 24px */

    /* === BORDERS === */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-full: 9999px;

    /* === SHADOWS === */
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
    --shadow-md: 0 2px 8px rgba(0,0,0,0.06);
    --shadow-lg: 0 8px 24px rgba(0,0,0,0.12);
    --shadow-xl: 0 24px 48px rgba(0,0,0,0.2);
    --shadow-hover: 0 8px 16px rgba(31,44,67,0.2);

    /* === TRANSITIONS === */
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --duration-fast: 150ms;
    --duration-normal: 250ms;
    --duration-slow: 400ms;
    --transition-base: all 250ms cubic-bezier(0.4, 0, 0.2, 1);

    /* === Z-INDEX === */
    --z-base: 1;
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-overlay: 300;
    --z-modal: 400;
    --z-toast: 500;
}

/* Mobile overrides */
@media (max-width: 1023px) {
    :root {
        --container-pad: 1rem;
        --section-pad-y: 2rem;
        --fs-h1: 2.25rem;
        --fs-h2: 1.75rem;
        --fs-hero: 2.5rem;
    }
}
