:root {
    --primary-color: #2563eb;
    --secondary-color: #4f46e5;
    --text-color: #1a1a2e;
    --background-color: #fafcfc;
    --container-width: 1400px;
    --heading-font: 'Source Serif 4', Georgia, serif;
    --body-font: 'Inter', system-ui, sans-serif;
}

body {
    font-family: var(--body-font);
    background: var(--background-color);
    color: var(--text-color);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--heading-font);
}

.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 24px;
}

/* Performance optimizations */
img {
    max-width: 100%;
    height: auto;
}

img[loading="lazy"] {
    opacity: 0;
    transition: opacity 0.3s ease;
}

img[loading="lazy"].loaded {
    opacity: 1;
}

/* Responsive */
@media (max-width: 768px) {
    .container {
        padding: 0 20px;
    }
}