/* --- TYPOGRAPHY CLASSES --- */
.type-headline {
    /* Fluid sizing: Min 3rem, scales with 7vw, max 10rem */
    font-size: clamp(2rem, 7vw, 10rem); 
    font-weight: 700; /* MODIFIED: Set to bold for impact */
    line-height: 1;
    letter-spacing: -0.05em;
    font-family: 'Saira', sans-serif;
    color: #ececec;
    letter-spacing: 0.0em;
}

.type-subtitle {
    /* Fluid sizing: Min 1.5rem, scales with 3vw, max 3.5rem */
    font-size: clamp(1.2rem, 3vw, 3.5rem);
    font-weight: 700; /* MODIFIED: Set to bold for emphasis */
    line-height: 1.2;
    margin-bottom: 2vh;
    font-family: 'Saira', sans-serif;
    color: #ececec;
    letter-spacing: 0.0em;
}

.type-body {
    /* Fluid sizing: Min 1rem, scales with 1.8vw, max 1.5rem */
    font-size: clamp(0.8rem, 1.2vw, 0.9rem);
    font-weight: 300; /* Using 400 weight for readability */
    line-height: 1.25;
    font-family: 'Saira', sans-serif;
    color: #ececec;
    letter-spacing: 0.0em;
}

.type-caption {
    /* Fluid sizing: Min 0.75rem, scales with 1.2vw, max 1rem */
    font-size: clamp(0.8rem, 0.9vw, 0.9rem);
    font-weight: 400; /* Using 400 weight */
    opacity: 1;
    margin-top: 1vh;
    font-style: italic; /* For italicized caption text */
    font-family: 'Libertinus Serif', serif;
    color: #ffffffb4;
    letter-spacing: 0.0em;
}

/* HIGH SPECIFICITY: Block display for the opener link, matching your custom text classes */
.popup-opener-link {
    display: block !important; 
    line-height: 1.2 !important; 
    text-decoration: none;
    color: inherit; 
    cursor: pointer;
}

.superscript {
    /* Shrinks the text */
    font-size: 50%; 
    /* Lifts the text above the baseline */
    vertical-align: super; 
}

.special-text {
    font-weight: 300; /* Using 400 weight for readability */
    line-height: 1.25;
    font-family: 'Saira', sans-serif;
    color: #ececec;
    letter-spacing: 0.0em;
    /* Makes the text italic */
    font-style: italic;
    /* Makes the text 15% larger than the surrounding paragraph text */
    font-size: 0.85em;

}