/* Global typography (mobile-first, rem-based) */
:root {
    --font-family: "Satoshi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    --text: #ffffff;
    --muted: #a5a7ad;
    font-size: 16px;
}



html { -webkit-text-size-adjust: 100%; }

body {
    font-family: var(--font-family);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--text);
}

/* Headings: element + utility classes */
h1, .heading-1 {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.15;
    margin: 0 0 0.5rem;
}

h2, .heading-2 {
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 0.5rem;
}

h3, .heading-3 {
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 0.5rem;
}
p strong {
    font-weight: 700;
}

/* Responsive heading scaling */
@media (max-width: 992px) {
    h1, .heading-1 { font-size: 2.5rem; }
    h2, .heading-2 { font-size: 2rem; }
    h3, .heading-3 { font-size: 1.5rem; }
}

@media (max-width: 600px) {
    h1, .heading-1 { font-size: 2rem; }
    h2, .heading-2 { font-size: 1.65rem; }
    h3, .heading-3 { font-size: 1.25rem; }
}

/* Body text helpers */
p { margin: 0 0 1rem; }
small, .text-small { font-size: 0.875rem; }
.text-muted { color: var(--muted); }
