/* Shared type scale. This final layer owns typography across all portfolio routes. */
:root{--heading:'D-DIN','PingFang SC','Microsoft YaHei',sans-serif;--body:var(--heading);--type-title:48px;--type-section:28px;--type-body:16px;--type-detail:12px;--type-control:14px}
body,body *{font-family:var(--body)!important}
body{font-size:var(--type-body)!important;line-height:1.65}
body h1{font-size:var(--type-title)!important;line-height:1.12!important;letter-spacing:-.012em!important}
body h2{font-size:var(--type-section)!important;line-height:1.2!important;letter-spacing:-.012em!important}
body h3,body h4{font-size:var(--type-body)!important;line-height:1.4!important;font-weight:700!important}
body p,body li,body blockquote,body .about-statement{font-size:var(--type-body)!important;line-height:1.65!important}
body nav,body nav a,body button,body summary,body .category-menu,body .text-link,body .back-link,body .project-source,body .mw-topline a,body .mw-reflection a,body .ac-top a,body .ac-end,body .ac-reflection>a{font-size:var(--type-control)!important;line-height:1.5!important}
body small,body figcaption,body table,body th,body td,body svg text,
body .site-footer,body .project-meta p,body .project-caption p,body .grid-caption p,
body .gallery-note,body .viewer-controls,body .viewer-controls p,
body .mw-needs span,body .mw-theme-row,body .mw-boundary,body .mw-research-line,body .mw-architecture-flow span,body .mw-roles span,
body .ac-note,body .ac-label,body .ac-client,body .ac-role,body .ac-role span,body .ac-metrics dt,body .ac-metrics dd,body .ac-figure figcaption,
body .ac-flow p,body .ac-themes li,body .ac-segments h4,body .ac-segments p,
body .ac-ownership small,body .ac-ownership strong,body .ac-process-tabs span,body .ac-process-tabs small,body .ac-opportunity>p,
body .ac-table-wrap th,body .ac-table-wrap td{font-size:var(--type-detail)!important;line-height:1.6!important}
body .ac-process-tabs strong{font-size:var(--type-control)!important;line-height:1.4!important}
body .mw-chapter p{text-align:right}
body .intro{max-width:calc(100vw - 2 * var(--margin));text-wrap:balance}
body .mw-statement,body .mw-quote,body .mw-positioning p,body .mw-hmw p,body .mw-clinical-note p,body .ac-statement,body .ac-banner p{font-size:var(--type-body)!important;line-height:1.65!important}
/* Diagram labels and supporting notes use the detail scale. */
body .mw-architecture-flow p,body .mw-roles p,body .mw-clinical-note p,body .mw-clinical-note small,body .ac-system text{font-size:var(--type-detail)!important;line-height:1.6!important}

/* Reviewed semantic exceptions to the shared scale. */
body #about-title,body h1.intro,body .mw-hmw p{font-size:var(--type-section)!important;line-height:1.2!important}
body .mw-hmw p{font-weight:700!important}
body .resume-entry .related,body .education-entry .related,body .education-entry .year,
body .ac-process-tabs button,body .ac-process-tabs span,body .ac-process-tabs small,
body #ac-insights>.ac-flow p,body .ac-table-wrap th,body .ac-table-wrap td,
body .mw-theme-row span,body .mw-chapter p,body .mw-research-evidence p:first-child,body .mw-research-evidence strong,
body .mw-comparison th,body .mw-comparison td,body .mw-clinical-note p{font-size:var(--type-body)!important;line-height:1.65!important}
body .mw-theme-row b{font-size:var(--type-body)!important;line-height:1.4!important;font-weight:700!important}
body .mw-quote{font-size:var(--type-body)!important;line-height:1.4!important;font-weight:700!important}
body .ac-process-tabs h3{margin:0 0 10px}

/* MindWave: four content roles, shared D-DIN family. */
body .case-page.mw-page{font-family:'D-DIN',sans-serif;font-size:16px;line-height:1.65}
body .case-page.mw-page h2{font:700 28px/1.2 'D-DIN',sans-serif!important}
body .case-page.mw-page :is(p,li,td,th){font:400 16px/1.65 'D-DIN',sans-serif!important}
body .case-page.mw-page :is(h3,h4,strong,thead th,tbody th){font:700 16px/1.4 'D-DIN',sans-serif!important}
body .case-page.mw-page :is(small,figcaption,caption){font:400 12px/1.6 'D-DIN',sans-serif!important}
