@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600;8..60,700&display=swap");

/* =========================================================
   BUNGE LA MWANANCHI — TYPOGRAPHY SYSTEM
   ========================================================= */

:root {
    --font-sans: "Manrope", "Segoe UI", Arial, sans-serif;
    --font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
}

/* General website typography */

html {
    font-family: var(--font-sans);
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body,
button,
input,
textarea,
select {
    font-family: var(--font-sans);
}

body {
    font-weight: 400;
    letter-spacing: -0.008em;
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-sans);
    font-weight: 800;
    text-wrap: balance;
}

h1,
h2 {
    letter-spacing: -0.045em;
}

h3,
h4,
h5,
h6 {
    letter-spacing: -0.025em;
}

/* Interface elements */

.main-nav,
.btn,
.stamp,
.news-badge,
.newsroom-meta,
.newsroom-category-nav,
.footer-nav,
.footer-contact-label,
.footer-sittings-title,
.social-copy,
.footer-bottom,
.read-more,
.video-link {
    font-family: var(--font-sans);
}

/* Long-form and editorial text */

.hero-lead,
.intro-text,
.why-content,
.page-hero-text,
.about-intro-copy,
.about-story-copy,
.tradition-copy,
.sessions-section p,
.chapters-copy,
.function-card p,
.post-body,
.post-body p,
.post-excerpt,
.newsroom-hero-copy > p,
.newsroom-featured-content > p,
.newsroom-card-body > p,
.newsroom-blog-item p,
.newsroom-section-header > p,
.newsroom-subscribe-grid > div > p,
.footer-summary,
.footer-column > p,
.footer-session-note,
.footer-sitting-item,
.placeholder-page p {
    font-family: var(--font-serif);
    font-weight: 400;
    letter-spacing: 0;
}

/* Improve article readability */

.post-body,
.post-body p {
    font-size: clamp(18px, 1.8vw, 21px);
    line-height: 1.78;
}

.post-body h2,
.post-body h3,
.post-body h4 {
    font-family: var(--font-sans);
    font-weight: 800;
    line-height: 1.15;
}

.post-body strong {
    font-weight: 700;
}

/* Newsroom refinements */

.newsroom-hero-copy h1,
.newsroom-section-header h2,
.newsroom-column-header h2,
.newsroom-events-column > h2,
.newsroom-activities-heading h2,
.newsroom-subscribe h2 {
    font-family: var(--font-sans);
    font-weight: 800;
}

.newsroom-card-body h3,
.newsroom-blog-item h3,
.newsroom-event-copy h3,
.newsroom-featured-content h2 {
    font-family: var(--font-sans);
    font-weight: 800;
}

.newsroom-featured-content > p,
.newsroom-card-body > p,
.newsroom-blog-item p {
    font-family: var(--font-serif);
}

/* Footer refinements */

.site-footer,
.site-footer a,
.footer-brand strong,
.footer-brand small,
.footer-contact-list,
.footer-contact-list strong,
.footer-contact-list a,
.footer-sittings,
.footer-bottom p {
    font-family: var(--font-sans);
}

.site-footer .footer-summary,
.site-footer .footer-column > p,
.footer-sitting-item {
    font-family: var(--font-serif);
}

.footer-brand small {
    font-family: var(--font-serif);
    font-weight: 500;
}

/* Forms */

label {
    font-family: var(--font-sans);
    font-weight: 700;
}

input,
textarea,
select {
    font-size: 16px;
    font-weight: 500;
}

/* Buttons and navigation */

.btn,
.main-nav a,
.footer-nav a,
.newsroom-category-links a {
    font-weight: 800;
}

/* Prevent excessively heavy synthetic text */

.hero h1,
.page-hero h1,
.newsroom-hero h1,
.footer-callout h2,
.closing-section p {
    font-weight: 800;
}

/* Mobile typography */

@media (max-width: 620px) {
    body {
        letter-spacing: 0;
    }

    .post-body,
    .post-body p {
        font-size: 18px;
        line-height: 1.72;
    }
}
