/* 
 * CM Collection - Fluid Typography System
 */

body {
    font-family: var(--cmc-font-base);
    font-size: clamp(0.9rem, 1vw + 0.5rem, 1rem); /* Base text scales slightly */
    line-height: 1.6;
    color: var(--cmc-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, .h1, 
h2, .h2, 
h3, .h3, 
h4, .h4, 
h5, .h5, 
h6, .h6 {
    margin-top: 0;
    margin-bottom: var(--cmc-spacing-md);
    font-weight: 700;
    line-height: 1.2;
    color: var(--cmc-secondary);
}

h1, .h1 { font-size: var(--cmc-h1); }
h2, .h2 { font-size: var(--cmc-h2); }
h3, .h3 { font-size: var(--cmc-h3); }
h4, .h4 { font-size: var(--cmc-h4); }
h5, .h5 { font-size: var(--cmc-h5); }
h6, .h6 { font-size: var(--cmc-h6); }

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

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

a:hover, a:focus {
    color: var(--cmc-secondary);
}

/* Ensure focus states for accessibility */
*:focus-visible {
    outline: 2px solid var(--cmc-primary);
    outline-offset: 2px;
}
