body.typography-home,
body.typography-page {
    font-size: 18px;
    line-height: 1.8;
}

.typography-home .hero h1 { font-weight: 600; }
.typography-home h2 { font-size: 36px; font-weight: 700; line-height: 1.45; }
.typography-home .link-panel h3 { font-size: 28px; font-weight: 700; line-height: 1.5; }
.typography-home .hero p,
.typography-home .section-intro,
.typography-home .about-copy p,
.typography-home .mission-card p,
.typography-home .contact-row span { font-size: 18px; line-height: 1.85; }
.typography-home .news-card h3 { font-size: 20px; font-weight: 600; }
.typography-home .quick-item b,
.typography-home .paper-card b,
.typography-home .service-card b { font-size: 18px; font-weight: 600; }
.typography-home .nav,
.typography-home .nav a,
.typography-home .btn,
.typography-home .tab,
.typography-home .text-link,
.typography-home .link-list a,
.typography-home .map-open,
.typography-home .footer-links { font-size: 16px; }
.typography-home .nav a,
.typography-home .btn,
.typography-home .tab { font-weight: 600; }
.typography-home .topline,
.typography-home .eyebrow,
.typography-home .section-kicker,
.typography-home .hero-note,
.typography-home .quick-item small,
.typography-home .news-meta,
.typography-home .date-box small,
.typography-home .paper-card small,
.typography-home .service-card small,
.typography-home .mission-card span,
.typography-home .identity-panel span,
.typography-home .identity-caption,
.typography-home .about-stamp b,
.typography-home .about-stamp small,
.typography-home .contact-row b,
.typography-home .footer-brand-text > span,
.typography-home .copyright,
.typography-home .admin-launch { font-size: 14px; }
.typography-home .timeline strong { font-size: 18px; }
.typography-home .header-brand-text strong { font-size: 16px; }
.typography-home .header-brand-text > span { font-size: 14px; }
.typography-home .footer-brand-text strong { font-weight: 700; }
.typography-home .footer-identity .footer-intro { font-size: 16px; line-height: 1.85; }
.typography-home .topline .wrap { height: auto; min-height: 40px; }
.typography-home .mission-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 16px; }
.typography-home .mission-card:nth-child(3) { border-right: 0; }
.typography-home .quick-item > span:last-child,
.typography-home .service-card > span:nth-child(2) { min-width: 0; }

.typography-page h1 { font-size: 36px; font-weight: 700; line-height: 1.45; overflow-wrap: anywhere; }
.typography-page h2 { font-size: 28px; font-weight: 700; line-height: 1.5; }
.typography-page .meta,
.typography-page .muted,
.typography-page .status,
.typography-page th { font-size: 14px; }
.typography-page button,
.typography-page .button,
.typography-page nav,
.typography-page .filters { font-size: 16px; font-weight: 600; }
.typography-page input,
.typography-page textarea,
.typography-page select { font-size: 18px; }
.typography-page .box { box-sizing: border-box; }

@media (min-width: 1101px) and (max-width: 1240px) {
    .typography-home .menu-btn { display: grid; place-items: center; }
    .typography-home .nav { display: none; position: absolute; top: 94px; left: 0; right: 0; padding: 12px 20px 20px; background: white; border-bottom: 1px solid var(--line); gap: 0; }
    .typography-home .nav.open { display: flex; flex-direction: column; align-items: stretch; }
    .typography-home .nav a { min-height: 44px; padding: 11px; }
}

@media (max-width: 768px) {
    .typography-home h2,
    .typography-page h1 { font-size: 32px; }
    .typography-home .mission-grid { grid-template-columns: 1fr; }
    .typography-home .mission-card { border-right: 0; border-bottom: 1px solid var(--line); }
    .typography-home .quick-item { flex-wrap: wrap; align-content: start; }
    .typography-home .footer-brand-text strong { font-size: 20px; }
}

@media (max-width: 680px) {
    .typography-home .header-inner { height: 100px; }
    .typography-home .nav { top: 100px; max-height: calc(100dvh - 140px); }
    .typography-home .header-brand-text strong { font-size: 14px; }
    .typography-home .header-brand-text > span { font-size: 12px; line-height: 1.4; }
    .typography-home .hero-actions .btn { padding: 0 13px; }
    .typography-home .admin-launch { position: static; display: table; margin: 16px 20px; }
}
