/* Theme Variables and Colors - GA Intelligence Brand */
:root {
  /* GA Brand Colors */
  --color-primary: #052a79;          /* GA Blue */
  --color-primary-dark: #052a79;     /* GA Dark Blue */
  --color-primary-light: #007bff;    /* Lighter blue for headings */
  --color-accent: #fde238;           /* GA Yellow */

  --color-background: #ffffff;       /* GA White */
  --color-background-alt: #f8f9fa;   /* Light gray background */

  /* Text Colors */
  --color-text: #343a40;             /* Primary text */
  --color-text-light: #6c757d;       /* Secondary gray text */
  --color-text-lighter: #adb5bd;     /* Lighter gray */
  --color-text-inverse: #ffffff;     /* White text */

  /* Interactive Colors */
  --color-button: #007bff;           /* Icons and buttons */
  --color-link: #007bff;             /* Hyperlinks */
  --color-link-hover: #ffffff;       /* Hyperlink hover */
  --color-h1: #007bff;               /* H1 heading color */
  --color-success: #4caf50;          /* Success green */

  --color-border: #dee2e6;           /* Border color */
  --color-border-dark: #ced4da;      /* Darker border */

  --color-card-bg: #ffffff;
  --color-card-hover: #f8f9fa;

  /* Spacing */
  --spacing-xs: 0.25rem;   /* 4px */
  --spacing-sm: 0.5rem;    /* 8px */
  --spacing-md: 1rem;      /* 16px */
  --spacing-lg: 1.5rem;    /* 24px */
  --spacing-xl: 2rem;      /* 32px */
  --spacing-2xl: 3rem;     /* 48px */
  --spacing-3xl: 4rem;     /* 64px */
  --spacing-4xl: 6rem;     /* 96px */

  /* Typography - GA Brand */
  --font-family: arial, helvetica, sans-serif;

  --font-size-sm: 0.875rem;   /* 14px */
  --font-size-base: 1em;      /* 16px */
  --font-size-lg: 1.125rem;   /* 18px */
  --font-size-xl: 1.25rem;    /* 20px */
  --font-size-2xl: 1.5em;     /* 24px - H1 size */
  --font-size-3xl: 1.875rem;  /* 30px */
  --font-size-4xl: 2.25rem;   /* 36px */
  --font-size-5xl: 3rem;      /* 48px */

  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-bold: 700;

  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;

  /* Border Radius */
  --radius-sm: 0.375rem;   /* 6px */
  --radius-md: 0.5rem;     /* 8px */
  --radius-lg: 0.75rem;    /* 12px */
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow: 350ms ease;

  /* Layout */
  --max-width-container: 1280px; /* 7xl equivalent */
  --header-height: 4rem;         /* 64px */
}

/* Typography Styles - GA Brand */
h1 {
  font-size: var(--font-size-2xl);      /* 1.5em */
  font-weight: var(--font-weight-bold); /* 700 */
  line-height: var(--line-height-tight);
  color: var(--color-h1);               /* #214385 */
  text-transform: uppercase;
}

h2 {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  color: var(--color-text);
}

h3 {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-normal);
  color: var(--color-text);
}

h4 {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-normal);
  color: var(--color-text);
}

p {
  font-size: var(--font-size-base);     /* 1em */
  font-weight: var(--font-weight-light); /* 300 */
  line-height: var(--line-height-relaxed); /* 1.75 */
  color: var(--color-text);              /* #212529 */
}

a {
  color: var(--color-link);              /* #346ac3 */
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--color-link-hover);        /* #20399d */
}

strong, b {
  font-weight: var(--font-weight-bold);  /* 700 */
}

/* Responsive Typography */
@media (max-width: 768px) {
  h1 {
    font-size: var(--font-size-3xl);
  }

  h2 {
    font-size: var(--font-size-2xl);
  }
}
