@font-face {
    font-family: "Figtree";
    src: url("../fonts/Figtree-VariableFont_wght.ttf") format("truetype");
    font-weight: 300 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Figtree";
    src: url("../fonts/Figtree-Italic-VariableFont_wght.ttf") format("truetype");
    font-weight: 300 900;
    font-style: italic;
    font-display: swap;
}

:root {
    --ff-sans: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    --ff-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;

    --fw-light: 300;
    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;
    --fw-extrabold: 800;
    --fw-black: 900;
}

@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; animation: none !important; }
}

html,
body {
    font-family: var(--ff-sans) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--ff-sans);
}

.fgt-heading { font-family: var(--ff-sans); font-weight: var(--fw-semibold); }
.fgt-body { font-family: var(--ff-sans); font-weight: var(--fw-regular); }
.fgt-medium { font-weight: var(--fw-medium); }
.fgt-bold { font-weight: var(--fw-bold); }
.fgt-black { font-weight: var(--fw-black); }
.fgt-mono { font-family: var(--ff-mono); }

.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
