/* Shared semantic scale. Important layer wins over legacy per-screen overrides.
   Deliberate font/colour teaching samples and SVG diagrams keep their own type. */
@layer appTypography {
 :root{--sb-body:13px;--sb-subheading:15px;--sb-section:17px;--sb-title:20px;--sb-caption:11px;--text-body:13px;--text-leading:1.8;--cabinet-copy-size:13px;--cabinet-copy-leading:1.8}
 body{font-family:Montserrat,Arial,sans-serif;font-size:var(--sb-body)}
 :is(#view,dialog,.modal) :is(p,li,dd,dt,blockquote,label,legend,textarea,input,select,button,summary):where(:not(.st7 *, .cl-demo *,svg *, .sv-sample *, .sv-layout *, .sv-cover-demo *, .sv-story-demo *, .sv-site-demo *, .vv-video-phone *)){
  font-family:Montserrat,Arial,sans-serif!important;font-size:var(--sb-body)!important;line-height:1.8!important;letter-spacing:0!important;
 }
 :is(#view,dialog,.modal) :is(h1,h2,h3,h4):where(:not(.st7 *, .cl-demo *,svg *, .sv-sample *, .sv-layout *, .sv-cover-demo *, .sv-story-demo *, .sv-site-demo *, .vv-video-phone *)){
  font-family:Montserrat,Arial,sans-serif!important;line-height:1.5!important;letter-spacing:0!important;font-weight:600!important;
 }
 :is(#view,dialog,.modal) h1:where(:not(.st7 *, .cl-demo *)){font-size:var(--sb-title)!important}
 :is(#view,dialog,.modal) h2:where(:not(.st7 *, .cl-demo *)){font-size:var(--sb-section)!important}
 :is(#view,dialog,.modal) :is(h3,h4):where(:not(.st7 *, .cl-demo *)){font-size:var(--sb-subheading)!important}
 :is(#view,dialog,.modal) :is(.cl-title,.sheet-head h2){font-size:var(--sb-title)!important}
 :is(#view,dialog,.modal) :is(.cl-item-text,.cl-step-body,.cl-outline-title,.cl-module-outcome,.cl-home-lead,.cc-copy-text,.bot-bubble,.bot-feedback,.bot-document,.learning-direction-description,.profession-card-description,.profile-setting-copy small,.profile-access-label,.learning-access,.course-lessons button>span,.course-part p){font-size:var(--sb-body)!important;line-height:1.8!important;letter-spacing:0!important;font-family:Montserrat,Arial,sans-serif!important}
 :is(#view,dialog,.modal) :is(.cl-module-title,.learning-direction-title,.profession-card-title,.profile-setting-copy strong,.profile-access-value){font-size:var(--sb-subheading)!important;line-height:1.5!important;letter-spacing:0!important}
 :is(#view,dialog,.modal) :is(p,li,dd,blockquote,label,legend,summary) :is(strong,b,em):where(:not(.st7 *, .cl-demo *,svg *)){font-size:inherit!important}
 :is(#view,dialog,.modal) :is(.cl-label,.cl-ui-label,.eyebrow,.tag,.bot-module-meta,.bot-module-meta span,.course-meta,.course-note,.bot-local-note,.cl-module-progress-copy,.cl-outline-copy small,.cl-module small,.course-lessons small,.cl-question-position,.cc-question-position,.cl-tab-hint,.cl-message-heading,.cc-copy-status,.cl-content-module-label,.home-learning-label,.home-preview-tools,.section-caption,.hint){font-size:var(--sb-caption)!important;line-height:1.6!important}
 :is(#view,dialog,.modal) :is(.cl-tab-nav button,.sv-switch button,.vv-switch button,.subtabs button){font-size:var(--sb-caption)!important;line-height:1.5!important}
 .nav button{font-family:Montserrat,Arial,sans-serif!important;font-size:var(--sb-caption)!important;line-height:1.5!important}
 .footer{font-family:Montserrat,Arial,sans-serif!important;font-size:var(--sb-caption)!important;line-height:1.6!important}
}
