/* Typography System */
body {
    font-family: var(--font-body);
    font-size: var(--fs-body);
    line-height: 1.7;
    color: var(--dark-burgundy);
    background-color: var(--cream-bg);
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Headings - Anton Font */
h1, h2, h3, .hero-headline, .section-title, .role-title, .footer-name {
    font-family: var(--font-title);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

h1, .section-title {
    font-size: var(--fs-h1);
    color: var(--dark-burgundy);
    margin-bottom: var(--spacing-lg);
}

h2, .role-title {
    font-size: var(--fs-h2);
    color: var(--dark-burgundy);
    margin-bottom: var(--spacing-md);
}

h3 {
    font-size: var(--fs-h3);
    color: var(--dark-burgundy);
    margin-bottom: var(--spacing-sm);
}

.hero-headline {
    font-size: var(--fs-hero);
    line-height: 1.1;
    color: var(--dark-burgundy);
    margin-bottom: var(--spacing-md);
}

/* Body Text */
p {
    margin-bottom: var(--spacing-sm);
    line-height: 1.7;
}

/* Subsection Titles */
.subsection-title {
    font-family: var(--font-title);
    font-size: 32px;
    text-transform: uppercase;
    color: var(--burnt-orange);
    margin: var(--spacing-xl) 0 var(--spacing-md) 0;
}

/* Special Text Styles */
.intro-text {
    font-size: var(--fs-body-lg);
    line-height: 1.8;
    color: var(--dark-burgundy);
    max-width: 900px;
    margin: 0 auto;
}

.hero-subheadline {
    font-size: var(--fs-body-lg);
    line-height: 1.8;
    color: var(--warm-gray);
    max-width: 800px;
    margin: 0 auto var(--spacing-lg);
    font-weight: 300;
}

/* Links */
a {
    transition: var(--transition);
}

a:hover {
    color: var(--burnt-orange);
}
