/**
 * Typography & Text Styling
 * CT TerraMach Website
 */

body {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--text-main);
    background-color: var(--bg-dark);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--text-title);
    font-weight: 700;
    line-height: 1.25;
    margin-top: 0;
    margin-bottom: var(--space-md);
}

h1 {
    font-size: clamp(2.25rem, 5vw, 3.75rem);
    letter-spacing: -0.02em;
    font-weight: 800;
}

h2 {
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    letter-spacing: -0.01em;
}

h3 {
    font-size: clamp(1.25rem, 3vw, 1.5rem);
}

h4 {
    font-size: 1.15rem;
}

p {
    margin-top: 0;
    margin-bottom: var(--space-md);
}

p:last-child {
    margin-bottom: 0;
}

a {
    color: var(--primary);
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:hover {
    color: var(--primary-hover);
}

blockquote {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    line-height: 1.5;
    font-weight: 500;
    color: var(--slate-100);
    margin: 0 0 var(--space-lg) 0;
    position: relative;
}

address {
    font-style: normal;
    line-height: 1.5;
}

/* Text alignment helpers */
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }
