   :root {
       --background: 240 10% 3.9%;
       /* Dark background */
       --foreground: 0 0% 98%;
       /* Light text */
       --card: 240 10% 3.9%;
       /* Same as background for cards */
       --card-foreground: 0 0% 98%;
       --primary: 262 83% 58%;
       /* Purple/Pink accent */
       --primary-foreground: 0 0% 98%;
       --secondary: 240 3.7% 15.9%;
       /* Darker grey for secondary sections/elements */
       --muted: 240 3.7% 15.9%;
       /* Similar to secondary, for muted text */
       --muted-foreground: 240 5% 64.9%;
       /* Lighter grey for muted text */
       --border: 240 3.7% 15.9%;
       /* Border color, similar to secondary */
       --input: 240 3.7% 15.9%;
       --ring: 262 83% 58%;
       /* Accent color for rings/focus */
       --radius: 0.75rem;
       /* Border radius */

       /* Timeline specific variables */
       --timeline-gap: 2rem;
       /* Gap between timeline content and the central line/dot */
       --timeline-dot-size-mobile: 1rem;
       --timeline-dot-size-desktop: 1.25rem;
       --timeline-line-width-mobile: 2px;
       --timeline-line-width-desktop: 3px;
   }

   body {
       font-family: 'Inter', sans-serif;
       background-color: hsl(var(--background));
       color: hsl(var(--foreground));
       -webkit-font-smoothing: antialiased;
       -moz-osx-font-smoothing: grayscale;
       overflow-x: hidden;
       /* Prevent horizontal scroll due to animations */
   }

   /* Gradient Text for headings/numbers */
   .gradient-text {
       background: linear-gradient(90deg, #A78BFA, #F472B6, #FBBF24);
       -webkit-background-clip: text;
       -webkit-text-fill-color: transparent;
       background-clip: text;
   }