/* Granalytich Solutions - Base Styles */
/* Reset & Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    font-weight: var(--font-weight-regular);
    color: var(--text-dark);
    scroll-behavior: smooth;
}

/* Granalytich Color Scheme & Typography Design Tokens */
:root {
    --primary-navy: #4a7bb8;
    --secondary-blue: #4a7bb8;
    --accent-gold: #495057;
    --accent-gray: #6c757d;
    --light-gray: #a0a0a0;
    --bg-light-gray: #f8f9fa;
    --white: #ffffff;
    --text-dark: #333333;
    --border-color: #dee2e6;
    
    /* Typography Scale */
    --font-size-h1: 3.5rem;
    --font-size-h2: 2.5rem;
    --font-size-h3: 1.8rem;
    --font-size-h4: 1.4rem;
    --font-size-body: 1rem;
    --font-size-small: 0.875rem;
    
    /* Font Weights */
    --font-weight-light: 400;
    --font-weight-regular: 400;
    --font-weight-medium: 600;
    --font-weight-bold: 700;
    --font-weight-black: 800;
    
    /* Line Heights */
    --line-height-heading: 1.2;
    --line-height-body: 1.6;
    --line-height-tight: 1.1;
    
    /* Letter Spacing */
    --letter-spacing-heading: 0.5px;
    --letter-spacing-subheading: 1px;
    --letter-spacing-caps: 2px;
}

/* Enhanced Animations */
.animate-element {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: var(--animation-delay, 0s);
}

.animate-in {
    opacity: 1;
    transform: translateY(0);
}