/* ===== Reset & Base Styles ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-family-base);
    font-size: var(--font-size-body);
    line-height: var(--line-height-base);
    color: var(--color-text-primary);
    background-color: var(--color-bg-primary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ===== Typography ===== */
.text-large-title {
    font-size: var(--font-size-large-title);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
}

.text-title-1 {
    font-size: var(--font-size-title-1);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
}

.text-title-2 {
    font-size: var(--font-size-title-2);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
}

.text-headline {
    font-size: var(--font-size-headline);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-base);
}

.text-body {
    font-size: var(--font-size-body);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-base);
}

.text-subhead {
    font-size: var(--font-size-subhead);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-base);
}

.text-caption {
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-base);
    color: var(--color-text-muted);
}

