/* typography.css — Font definitions and text styling.
   Intentionally kept as a separate file for mod_pagespeed to combine. */

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
                 Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans',
                 'Helvetica Neue', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #2d3748;
}

h1 {
    font-size: 3rem;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
}

h2 {
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
    margin-bottom: 0.75rem;
}

h3 {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 0.5rem;
}

h4 {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 0.5rem;
}

p {
    margin-bottom: 1rem;
    line-height: 1.7;
}

strong {
    font-weight: 700;
}

em {
    font-style: italic;
}

small {
    font-size: 0.875rem;
}

.text-center {
    text-align: center;
}

.text-muted {
    color: #718096;
}

.text-white {
    color: #ffffff;
}

.text-lg {
    font-size: 1.125rem;
}

.text-xl {
    font-size: 1.25rem;
}

.text-2xl {
    font-size: 1.5rem;
}

blockquote {
    font-size: 1.25rem;
    font-style: italic;
    color: #4a5568;
    border-left: 4px solid #4299e1;
    padding-left: 1.5rem;
    margin: 2rem 0;
}

code {
    font-family: 'SF Mono', 'Fira Code', 'Fira Mono', 'Roboto Mono',
                 'Courier New', Courier, monospace;
    font-size: 0.875em;
    background-color: #edf2f7;
    padding: 0.125rem 0.375rem;
    border-radius: 0.25rem;
}

.lead {
    font-size: 1.25rem;
    line-height: 1.7;
    color: #4a5568;
}
