/* Design Tokens and CSS Custom Properties - Clean Simple Design */
:root {
  /* Colors - Carnegie Mellon brand palette (Carnegie Red + black) */
  --cmu-red: #C41230;        /* Carnegie Red - official primary */
  --cmu-red-dark: #8C0D22;   /* Darker red for hover/gradient ends */
  --cmu-red-tint: #F7E4E8;   /* Pale red wash for highlighted backgrounds */
  --cmu-red-tint-strong: #EFC9D1;
  --cmu-black: #000000;
  --cmu-iron-gray: #6D6E71;  /* Official Iron Gray */
  --cmu-steel-gray: #E0E0E0; /* Official Steel Gray */
  --cmu-red-on-dark: #FF5C73; /* Lightened red for use on black backgrounds */
  --thesis-color: #4B2E83;    /* Dark purple for dissertation titles */
  --link-color: #6B0F1A;      /* Dark maroon for hyperlinks */
  --link-hover: #4A0A12;
  /* Publications palette, from karya.in */
  --k-teal-deep: #0A313C;
  --k-teal: #166176;
  --k-cyan: #00AFDF;
  --k-blue-pale: #E5F9FF;
  --k-lime: #D8FA70;
  --k-lime-pale: #F7FFDE;
  --k-cream: #FCF8F4;
  --k-cream-2: #F6F1EC;
  --warm: #FAF5EF;            /* warm page ground, replaces white */
  --warm-raised: #FFFCF8;     /* cards sitting on the warm ground */
  --pub-venue: #5B2C8F;       /* purple venue line */

  /* Venn pillar colours */
  --venn-sustainability: #166176;  /* teal */
  --venn-sustainability-2: #0A313C;
  --venn-equity: #8FE7FF;          /* light blue */
  --venn-equity-2: #4FC9EC;
  --venn-efficiency: #D8FA70;      /* lime */
  --venn-efficiency-2: #B9E23F;

  --primary-color: var(--cmu-red); /* Main hover color */
  --secondary-color: var(--cmu-red-dark);
  --efficiency-color: var(--cmu-black);
  --sustainability-color: var(--cmu-iron-gray);
  --primary-dark: var(--cmu-red-dark); /* Darker version of primary */
  --hover-gradient: linear-gradient(135deg, #000000 0%, #C41230 50%, #8C0D22 100%);
  --text-color: #1A1A1A;
  --text-light: #4A4A4A;
  --text-muted: #6D6E71;
  --bg-color: #ffffff;
  --bg-light: #f7f7f7;
  --bg-dark: #000000;
  --border-color: #e0e0e0;
  
  /* Typography */
  --font-family: "Atkinson Hyperlegible Next", "PT Sans", sans-serif;
  /* Type scale bumped 1.25x across the board for a larger reading size */
  --font-size-xs: 0.9375rem;
  --font-size-sm: 1.09rem;
  --font-size-base: 1.25rem;
  --font-size-lg: 1.4rem;
  --font-size-xl: 1.5625rem;
  --font-size-2xl: 1.875rem;
  --font-size-3xl: 2.34rem;
  --font-size-4xl: 2.8rem;
  --font-size-5xl: 3.75rem;
  --font-size-6xl: 5rem;
  
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  
  /* Spacing */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;
  --spacing-2xl: 3rem;
  --spacing-3xl: 4rem;
  --spacing-4xl: 5rem;
  --spacing-5xl: 6rem;
  
  /* Layout */
  --container-max-width: 1000px;
  --container-padding: 20px;
  --header-height: 80px;
  
  /* Borders */
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 12px;
  --border-radius-xl: 16px;
  --border-radius-full: 50px;
  
  --border-width: 1px;
  --border-width-thick: 2px;
  --border-width-accent: 4px;
  
  /* Shadows - Subtle for clean design */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
  --shadow-lg: 0 8px 15px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 8px 25px rgba(0, 0, 0, 0.1);
  
  /* Transitions */
  --transition-fast: 0.15s ease;
  --transition-normal: 0.2s ease;
  --transition-slow: 0.3s ease;
  
  /* Z-index scale */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
  
  /* Breakpoints (for JavaScript usage) */
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
}

/* Force white background everywhere */
body {
  background-color: white !important;
  background: white !important;
}

/* Ensure consistent white background */
.section {
  background: white !important;
}

main {
  background: white !important;
}

/* Clean design - no dark mode support needed */
@media (prefers-color-scheme: dark) {
  :root {
    /* Keep light theme even in dark mode preference for clean design */
    --text-color: #333333;
    --text-light: #666666;
    --text-muted: #999999;
    --bg-color: #ffffff;
    --bg-light: #f9f9f9;
    --bg-dark: #333333;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  :root {
    --transition-fast: 0s;
    --transition-normal: 0s;
    --transition-slow: 0s;
  }
}