/* css/base/typography.css */
body {
    font-family: var(--font-body);
    font-weight: 400;
    /* Fluid base size: 16px @ 320px width -> 18px @ 1440px width */
    font-size: clamp(1rem, 0.964rem + 0.179vw, 1.125rem); 
}

h1, h2, h3, h4, h5, h6, .display-title, .heading-secondary {
    font-family: var(--font-display);
    font-weight: 400; /* Serif looks best unbolded for luxury */
    line-height: 1.1;
    color: var(--text-primary);
}

/* Cinematic Hero Title */
.display-title {
    /* Fluid size: 48px to 96px */
    font-size: clamp(3rem, 2.143rem + 4.286vw, 6rem);
    letter-spacing: -0.02em;
    margin-bottom: var(--sp-3);
}

/* Section Titles */
.heading-secondary {
    font-size: clamp(2rem, 1.643rem + 1.786vw, 3.25rem);
    margin-bottom: var(--sp-2);
}

.body-text {
    color: var(--text-secondary);
    max-width: 65ch; /* Optimal reading length */
    margin-bottom: var(--sp-4);
}