/* Semantic typography layer
   Body copy and navigation remain regular. Weight is reserved for headings,
   section labels, intentional emphasis and compact state values. */
body,
button,
input,
select,
textarea,
a,
p,
li,
dt,
dd,
label,
summary,
.site-header,
.site-footer,
.admin-shell { font-weight: 400; }

h1, h2, h3, h4, h5, h6,
.heading,
.page-title,
.section-title,
.panel-title,
.card-title,
[class$="__title"],
[class*="__title "],
[class*="eyebrow"],
[class*="kicker"],
.brand,
.brand__name,
.admin-nav__label { font-weight: 700; }

strong, b,
th,
.language-menu__title,
.faq-item summary,
.accordion summary,
.table-primary { font-weight: 600; }

.button,
button[type="submit"],
input[type="submit"],
.badge,
.status-badge,
.pill,
.tag,
label > span:first-child,
.check-field,
.checkbox-row,
.switch-field,
.appearance-segmented span,
.toggle-row strong,
.slider-preset-option strong { font-weight: 500; }

.primary-nav a,
.header-utility a,
.header-login,
.header-account,
.drawer-nav a,
.drawer-link-button,
.footer-column nav a,
.footer-legal-links a,
.admin-nav a,
.admin-sidebar__footer a,
.admin-sidebar__footer button,
.student-nav a { font-weight: 400; }

.primary-nav a.is-active,
.drawer-nav a.is-active,
.admin-nav a.is-active,
.student-nav a.is-active { font-weight: 500; }

.admin-nav__label { font-weight: 700; }
.admin-topbar__eyebrow { font-weight: 600; }
.admin-user { font-weight: 400; }

/* Numbers and compact state markers need contrast, not headline weight. */
.answer-letter,
.lesson-card__number,
.exam-group-card__number,
.sign-category-card__number,
.sign-group-header__number,
.sign-card__position,
.glossary-letter,
.attempt-score,
.avatar,
.order-total,
.result-count strong,
.metric-value,
.stat-value,
.summary-list dd,
.financial-breakdown dd { font-weight: 600; }
