/* === SECTION LABELS === */
.section-label {
    display: inline-block;
    font-family: var(--font-heading);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: var(--letter-spacing-brand);
    color: var(--color-green);
    text-transform: uppercase;
    margin-bottom: 16px;
    position: relative;
    padding-left: 32px;
}

.section-label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 1px;
    background: var(--color-green);
}

/* === SECTION TITLES === */
.section-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 500;
    letter-spacing: var(--letter-spacing-wide);
    color: var(--color-text-primary);
    text-transform: uppercase;
    margin-bottom: 20px;
    line-height: 1.15;
}

.section-desc {
    font-size: 1.05rem;
    font-weight: 300;
    color: var(--color-text-secondary);
    max-width: 640px;
    line-height: 1.7;
}

/* === SECTION DIVIDER === */
.section-divider {
    width: 40px;
    height: 1.5px;
    background: var(--color-green);
    margin-bottom: 24px;
}

/* === PAGE HERO TITLES === */
.page-hero-title {
    font-family: var(--font-heading);
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 500;
    letter-spacing: var(--letter-spacing-wide);
    text-transform: uppercase;
    line-height: 1.1;
    margin-bottom: 24px;
}

.page-hero-subtitle {
    font-size: 1.1rem;
    font-weight: 300;
    color: var(--color-text-secondary);
    max-width: 640px;
    line-height: 1.7;
}

/* === BODY TEXT === */
.body-text {
    font-size: 1rem;
    font-weight: 300;
    color: var(--color-text-secondary);
    line-height: 1.8;
}

.body-text-lg {
    font-size: 1.1rem;
    font-weight: 300;
    color: var(--color-text-secondary);
    line-height: 1.8;
}

/* === HEADINGS === */
.heading-lg {
    font-family: var(--font-heading);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 500;
    letter-spacing: var(--letter-spacing-wide);
    text-transform: uppercase;
}

.heading-md {
    font-family: var(--font-heading);
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    font-weight: 500;
    letter-spacing: var(--letter-spacing-normal);
}

/* === UTILITY TEXT === */
.text-green {
    color: var(--color-green);
}

.text-muted {
    color: var(--color-text-muted);
}

.text-uppercase {
    text-transform: uppercase;
}

.text-letter-spacing {
    letter-spacing: var(--letter-spacing-brand);
}