/* Typography System */ /* Font Face Declarations - matching firecrawl-marketing exactly */ @font-face { font-family: 'SuisseIntl'; src: url('/fonts/SuisseIntl/400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: 'SuisseIntl'; src: url('/fonts/SuisseIntl/450.woff2') format('woff2'); font-weight: 450; font-style: normal; font-display: swap; } @font-face { font-family: 'SuisseIntl'; src: url('/fonts/SuisseIntl/500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; } @font-face { font-family: 'SuisseIntl'; src: url('/fonts/SuisseIntl/600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; } @font-face { font-family: 'SuisseIntl'; src: url('/fonts/SuisseIntl/700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; } /* Font Stack Variables */ :root { --font-sans: 'SuisseIntl', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --font-mono: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', 'Roboto Mono', Consolas, monospace; } /* Typography Classes - both semantic and utility variants */ /* Text Utilities */ .text-balance { text-wrap: balance; } .text-pretty { text-wrap: pretty; } /* Utility text classes matching firecrawl-marketing - extending base classes */ .title-h1, .text-title-h1 { font-size: 4rem; /* 64px */ line-height: 1.1; letter-spacing: -0.02em; font-weight: 600; } .title-h2, .text-title-h2 { font-size: 2.25rem; /* 36px */ line-height: 1.2; letter-spacing: -0.02em; font-weight: 500; } .title-h3, .text-title-h3 { font-size: 1.875rem; /* 30px */ line-height: 1.25; letter-spacing: -0.02em; font-weight: 500; } .title-h4, .text-title-h4 { font-size: 1.375rem; /* 22px */ line-height: 1.3; letter-spacing: -0.01em; font-weight: 500; } .title-h5, .text-title-h5 { font-size: 1.125rem; /* 18px */ line-height: 1.4; letter-spacing: -0.01em; font-weight: 500; } .body-small, .text-body-small { font-size: 0.875rem; /* 14px */ line-height: 1.5; font-weight: 400; } .body-medium, .text-body-medium { font-size: 1rem; /* 16px */ line-height: 1.5; font-weight: 400; } .body-large, .text-body-large { font-size: 1.125rem; /* 18px */ line-height: 1.6; font-weight: 400; } .body-x-large, .text-body-x-large { font-size: 1.375rem; /* 22px */ line-height: 1.6; font-weight: 400; } .label-small, .text-label-small { font-size: 0.9375rem; /* 15px */ line-height: 1.4; letter-spacing: 0.02em; font-weight: 450; } .label-medium, .text-label-medium { font-size: 1rem; /* 16px */ line-height: 1.4; letter-spacing: 0.01em; font-weight: 450; } .label-large, .text-label-large { font-size: 1.125rem; /* 18px */ line-height: 1.4; font-weight: 450; } .label-x-large, .text-label-x-large { font-size: 1.375rem; /* 22px */ line-height: 1.4; font-weight: 450; } .mono-small, .text-mono-small { font-family: var(--font-mono); font-size: 0.75rem; /* 12px */ line-height: 1.5; } .mono-medium, .text-mono-medium { font-family: var(--font-mono); font-size: 0.875rem; /* 14px */ line-height: 1.5; } .mono-large, .text-mono-large { font-family: var(--font-mono); font-size: 1rem; /* 16px */ line-height: 1.5; } /* Responsive Typography - matching firecrawl-marketing */ @media (max-width: 1024px) { .text-body-large { font-size: 18px; font-weight: 400; line-height: 26px; letter-spacing: -0.09px; } .text-body-medium { font-size: 16px; font-weight: 400; line-height: 24px; letter-spacing: 0.16px; } .text-title-h4 { font-size: 22px; font-weight: 500; line-height: 26px; letter-spacing: -0.22px; } .text-body-x-large { font-size: 22px; font-weight: 400; line-height: 30px; letter-spacing: -0.11px; } .text-label-small { font-size: 15px; font-weight: 450; line-height: 22px; } .text-label-large { font-size: 18px; font-weight: 450; line-height: 26px; letter-spacing: -0.09px; } .text-label-x-large { font-size: 22px; font-weight: 450; line-height: 30px; letter-spacing: -0.11px; } .text-label-medium { font-size: 16px; font-weight: 450; line-height: 24px; } .text-title-h2 { font-size: 36px; font-weight: 500; line-height: 40px; letter-spacing: -0.36px; } }