/* Font Face Definitions */
@font-face {
    font-family: 'Figtree';
    src: url('../fonts/Figtree/Figtree-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'Raleway';
    src: url('../fonts/Raleway/Raleway-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}


html {
    font-size: 16px;
}

/* Typography Rules */
body {
    font-family: 'Raleway', sans-serif;
    color: var(--color-blue-700);
}

h1, h2, h3, h4, h5, h6, 
button, input, select, textarea, 
label, span, div, a {
    font-family: 'Figtree', sans-serif;
}

h1, .h1 {
    font-family: 'Figtree', sans-serif;
    font-weight: 900;
    font-size: 1.25rem;
    line-height: 1;
    letter-spacing: 0.16em;
}

h2, .h2 {
    font-family: 'Figtree', sans-serif;
    font-weight: 800;
    font-size: 3rem;
    line-height: 1;
    letter-spacing: -0.03em;
}

h3, .h3 {
    font-family: 'Figtree', sans-serif;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.04em;
}

h4, .h4 {
    font-family: 'Raleway', sans-serif;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.08;
}

h5, .h5 {
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 0.875rem;
    line-height: 1.625;
    letter-spacing: 0.06em;
}

h6, .h6 {
    font-family: 'Figtree', sans-serif;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.625;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

p {
    font-family: 'Raleway', sans-serif;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: -0.03em;
    color: var(--color-gray-800);
}
.p--large {
    font-size: 1.25rem;
}
.p--med-large {
    font-size: 1.125rem;
}
.p--small {
    font-size: 0.875rem;
}

.text-center {
    text-align: center;
}

.text-color--white {
    color: var(--color-white);
}
.text-color--blue-300 {
    color: var(--color-blue-300);
}
.text-color--blue-400 {
    color: var(--color-blue-400);
}
.text-color--blue-500 {
    color: var(--color-blue-500);
}
.text-color--blue-600 {
    color: var(--color-blue-600);
}
.text-color--blue-700 {
    color: var(--color-blue-700);
}
.text-color--orange {
    color: var(--color-orange);
}
.text-color--color-gray-700 {
    color: var(--color-gray-700);
}
.text-color--color-gray-800 {
    color: var(--color-gray-800);
}

.fw--400 {
    font-weight: 400;
}
.fw--500 {
    font-weight: 500;
}
.fw-600 {
    font-weight: 600;
}   
.fw--700 {
    font-weight: 700;
}
.fw-800 {
    font-weight: 800;
}
.fw--900 {
    font-weight: 900;
}

.font--heading {
    font-family: 'Figtree', sans-serif;
}
.font--body {
    font-family: 'Raleway', sans-serif;
}

/* Mobile Typography Adjustments */
@media screen and (max-width: 767px) {
    h2, .h2 {
        font-size: 2rem; /* Reduced from 3rem for better mobile readability */
    }
}