/* Shared typography rules for public Jinja pages. */
html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    font-family: 'Inter', 'Inter-fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
    font-weight: 400;
    font-feature-settings: 'liga' 1, 'calt' 1, 'kern' 1;
    line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
    letter-spacing: -0.02em;
    line-height: 1.2;
}

h1 { font-weight: 800; }
h2 { font-weight: 700; }
h3, h4, h5, h6 { font-weight: 600; }

.price-amount-classic,
.earning-showcase .amount,
.stat-number {
    font-feature-settings: 'liga' 1, 'calt' 1, 'kern' 1, 'tnum' 1, 'ss02' 1;
    font-variant-numeric: tabular-nums;
}

.btn,
button {
    font-weight: 600;
    font-feature-settings: 'liga' 1, 'calt' 1, 'kern' 1;
    text-rendering: geometricprecision;
}

.nav-links a,
.menu-nav a {
    font-weight: 500;
}

code, pre, kbd, samp {
    font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', monospace;
    font-feature-settings: 'liga' 0, 'calt' 0;
}

@media (max-width: 768px) {
    body {
        font-size: 16px;
        line-height: 1.5;
    }

    h1 { font-size: 2rem; }
    h2 { font-size: 1.75rem; }
    h3 { font-size: 1.5rem; }
}

@media print {
    body {
        font-family: Georgia, 'Times New Roman', serif;
    }
}
