/*
 * ICA Platform v0.19.4 — Typography Governance Layer
 * Loaded after every visual module to enforce readable, consistent Poppins-based typography.
 */


/* Poppins is the visual standard. The existing privacy setting may still disable the external request,
   in which case the local system sans fallback remains intact. */
body.ica-platform-page,
body.ica-platform-page :where(h1,h2,h3,h4,h5,h6,p,a,span,small,strong,b,em,label,input,select,textarea,button,summary,li,dt,dd,th,td){
  font-family:var(--ica-font-sans)!important;
}
body.ica-platform-page{font-size:var(--ica-type-body);line-height:var(--ica-line-body)}
body.ica-platform-page .ica-platform-content :where(p,li,dd){font-size:var(--ica-type-body);line-height:var(--ica-line-body)}
body.ica-platform-page .ica-platform-content :where(label,th,dt){font-size:var(--ica-type-small);line-height:1.5}
body.ica-platform-page .ica-platform-content small{font-size:var(--ica-type-caption);line-height:1.55}

/* Shared header and universal controls */
.ica-system-header__nav a{font-size:var(--ica-type-small)!important}
.ica-system-header__utility{font-size:var(--ica-type-caption)!important}
.ica-skool-float__copy strong{font-size:13px!important;line-height:1.25}.ica-skool-float__copy small{font-size:9px!important;line-height:1.1}
.ica-page-hero p{font-size:var(--ica-type-body-lg)!important;line-height:1.72}
.ica-panel-card p,.ica-panel-card li,.ica-side-card p,.ica-side-card li,.ica-empty p{font-size:var(--ica-type-body)!important;line-height:1.72}
.ica-panel-card label,.ica-auth-card label{font-size:var(--ica-type-small)!important}
.ica-table td{font-size:var(--ica-type-small)!important}.ica-table th{font-size:var(--ica-type-caption)!important}
.ica-state,.ica-chip,.ica-alert{font-size:var(--ica-type-caption)!important}

/* Institutional / home */
body.ica-context-institutional .ica-eyebrow{font-size:var(--ica-type-caption)!important}
body.ica-context-institutional .ica-section-heading p,
body.ica-context-institutional .ica-context p,
body.ica-context-institutional .ica-inside-card p,
body.ica-context-institutional .ica-route-card p,
body.ica-context-institutional .ica-method-grid p,
body.ica-context-institutional .ica-professional p,
body.ica-context-institutional .ica-community p,
body.ica-context-institutional .ica-access-grid p,
body.ica-context-institutional .ica-backing p,
body.ica-context-institutional .ica-ethics p,
body.ica-context-institutional .ica-final-cta p{font-size:var(--ica-type-body)!important;line-height:1.72}
body.ica-context-institutional .ica-btn{font-size:var(--ica-type-small)!important}
body.ica-context-institutional .ica-site-nav a,
body.ica-context-institutional .ica-header-link{font-size:var(--ica-type-small)!important}
body.ica-context-institutional .ica-hero__support small,
body.ica-context-institutional .ica-formator-gallery__status small,
body.ica-context-institutional .ica-rotation-note small,
body.ica-context-institutional .ica-footer__note{font-size:var(--ica-type-caption)!important;line-height:1.55}
body.ica-context-institutional .ica-hero-access__item b{font-size:var(--ica-type-small)!important}
body.ica-context-institutional .ica-hero-access__item small{font-size:var(--ica-type-caption)!important}
body.ica-context-institutional .ica-hero-access__num{font-size:var(--ica-type-micro)!important}
body.ica-context-institutional .ica-inside-feature figcaption span,
body.ica-context-institutional .ica-formator-gallery__status span,
body.ica-context-institutional .ica-rotation-note span{font-size:var(--ica-type-micro)!important}
body.ica-context-institutional .ica-inside-feature figcaption p,
body.ica-context-institutional .ica-inside-showcase .ica-inside-card p{font-size:var(--ica-type-small)!important;line-height:1.62}
body.ica-context-institutional .ica-inside-showcase .ica-inside-card h3{font-size:var(--ica-type-card-title)!important}

/* Certification pages — readable floor and stronger semantic hierarchy */
body.ica-context-certification .ica-cert-public{font-size:var(--ica-type-body);line-height:var(--ica-line-body)}
body.ica-context-certification .ica-cert-kicker{font-size:var(--ica-type-caption)!important;line-height:1.35}
body.ica-context-certification .ica-cert-heading p,
body.ica-context-certification .ica-cert-opportunity .ica-cert-split>p,
body.ica-context-certification .ica-cert-prose,
body.ica-context-certification .ica-cert-certificate__copy>p,
body.ica-context-certification .ica-cert-enroll__grid>div:first-child>p,
body.ica-context-certification .ica-cert-faq__grid>div:first-child>p,
body.ica-context-certification .ica-cert-closing p{font-size:var(--ica-type-body)!important;line-height:1.76}
body.ica-context-certification .ica-cert-hero__lead{font-size:var(--ica-type-lead)!important;line-height:1.74}
body.ica-context-certification .ica-cert-hero__chips span{font-size:var(--ica-type-caption)!important}
body.ica-context-certification .ica-cert-btn{font-size:var(--ica-type-small)!important}
body.ica-context-certification .ica-cert-hero__trust{font-size:var(--ica-type-small)!important;line-height:1.62}
body.ica-context-certification .ica-cert-hero__stats span{font-size:var(--ica-type-caption)!important;line-height:1.45}
body.ica-context-certification .ica-cert-hero__statnote{font-size:var(--ica-type-caption)!important}
body.ica-context-certification .ica-cert-subnav__brand,
body.ica-context-certification .ica-cert-subnav__links a{font-size:var(--ica-type-caption)!important}
body.ica-context-certification .ica-cert-subnav__cta{font-size:var(--ica-type-small)!important}
body.ica-context-certification .ica-cert-overview__grid article strong,
body.ica-context-certification .ica-cert-audience-grid h3,
body.ica-context-certification .ica-cert-competency-grid h3,
body.ica-context-certification .ica-cert-method-cards strong,
body.ica-context-certification .ica-cert-safety-panel strong{font-size:var(--ica-type-card-title)!important;line-height:1.38}
body.ica-context-certification .ica-cert-overview__grid article p,
body.ica-context-certification .ica-cert-audience-grid p,
body.ica-context-certification .ica-cert-competency-grid p,
body.ica-context-certification .ica-cert-method-cards p,
body.ica-context-certification .ica-cert-safety-panel p{font-size:var(--ica-type-body)!important;line-height:1.72}
body.ica-context-certification .ica-cert-workload__head>p{font-size:var(--ica-type-body)!important;line-height:1.72}
body.ica-context-certification .ica-cert-workload__grid span{font-size:var(--ica-type-small)!important}
body.ica-context-certification .ica-cert-workload__grid small{font-size:var(--ica-type-caption)!important;line-height:1.55}
body.ica-context-certification .ica-cert-accordion summary strong{font-size:var(--ica-type-body)!important;line-height:1.45}
body.ica-context-certification .ica-cert-accordion details p{font-size:var(--ica-type-small)!important;line-height:1.7}
body.ica-context-certification .ica-cert-method-note{font-size:var(--ica-type-small)!important;line-height:1.65}
body.ica-context-certification .ica-cert-method-flow strong{font-size:var(--ica-type-body)!important}
body.ica-context-certification .ica-cert-method-flow span{font-size:var(--ica-type-caption)!important}
body.ica-context-certification .ica-cert-institution__ica>span,
body.ica-context-certification .ica-cert-institution__backing>span,
body.ica-context-certification .ica-cert-allies>div>span{font-size:var(--ica-type-micro)!important;line-height:1.45}
body.ica-context-certification .ica-cert-institution p{font-size:var(--ica-type-body)!important;line-height:1.75}
body.ica-context-certification .ica-cert-institution small{font-size:var(--ica-type-small)!important;line-height:1.65;color:#66778a}
body.ica-context-certification .ica-cert-allies>div p{font-size:var(--ica-type-small)!important;line-height:1.68}
body.ica-context-certification .ica-cert-allies article small{font-size:var(--ica-type-micro)!important}
body.ica-context-certification .ica-cert-allies article strong{font-size:var(--ica-type-small)!important}
body.ica-context-certification .ica-cert-allies article p{font-size:var(--ica-type-small)!important;line-height:1.62}
body.ica-context-certification .ica-cert-certificate__badge,
body.ica-context-certification .ica-cert-certificate__protected{font-size:var(--ica-type-micro)!important}
body.ica-context-certification .ica-cert-certificate__facts strong{font-size:var(--ica-type-small)!important}
body.ica-context-certification .ica-cert-certificate__facts small,
body.ica-context-certification .ica-cert-certificate__notice p{font-size:var(--ica-type-caption)!important;line-height:1.58}
body.ica-context-certification .ica-cert-certificate__notice strong{font-size:var(--ica-type-small)!important}
body.ica-context-certification .ica-cert-facts span{font-size:var(--ica-type-caption)!important}
body.ica-context-certification .ica-cert-facts strong{font-size:var(--ica-type-body)!important}
body.ica-context-certification .ica-cert-enroll__login{font-size:var(--ica-type-small)!important}
body.ica-context-certification .ica-cert-faq__items summary{font-size:var(--ica-type-body)!important;line-height:1.5}
body.ica-context-certification .ica-cert-faq__items details p{font-size:var(--ica-type-body)!important;line-height:1.74}

/* Evidence block: typographic scale; structural contrast lives in certification-public.css. */
body.ica-context-certification .ica-cert-final-project>span{font-size:var(--ica-type-micro)!important}
body.ica-context-certification .ica-cert-final-project h3{font-size:24px!important;line-height:1.28}
body.ica-context-certification .ica-cert-final-project p{font-size:var(--ica-type-body)!important;line-height:1.72}

/* Campus, library, partner and guest views */
body.ica-context-app .ica-campus-stat span,
body.ica-context-app .ica-campus-overview span,
body.ica-context-app .ica-partner-summary span,
body.ica-context-app .ica-progress-ring span,
body.ica-context-app .ica-library-card__meta span,
body.ica-context-app .ica-library-card__foot small{font-size:var(--ica-type-caption)!important}
body.ica-context-app .ica-module-count,
body.ica-context-app .ica-lesson-meta-chips span{font-size:var(--ica-type-caption)!important}
body.ica-context-app .ica-lesson-title{font-size:var(--ica-type-body)!important}
body.ica-context-app .ica-lesson-row small,
body.ica-context-app .ica-lesson-row strong{font-size:var(--ica-type-caption)!important}
body.ica-context-app .ica-side-card p,
body.ica-context-app .ica-side-list li,
body.ica-context-app .ica-guest-hero p,
body.ica-context-app .ica-guest-resource__head p,
body.ica-context-app .ica-guest-resource__content,
body.ica-context-app .ica-guest-download-card p,
body.ica-context-app .ica-library-empty p,
body.ica-context-app .ica-library-card p{font-size:var(--ica-type-body)!important;line-height:1.72}
body.ica-context-app .ica-guest-expiry span,
body.ica-context-app .ica-guest-save span,
body.ica-context-app .ica-guest-download-card>span{font-size:var(--ica-type-caption)!important}
body.ica-context-app .ica-guest-expiry small,
body.ica-context-app .ica-guest-convert-card form small{font-size:var(--ica-type-caption)!important}
body.ica-context-app .ica-guest-convert-card form label{font-size:var(--ica-type-small)!important}
body.ica-context-app .ica-library-card__foot .ica-btn{font-size:var(--ica-type-small)!important}

/* Access, activation and authentication */
body.ica-context-access .ica-auth-card p,
body.ica-context-access .ica-access-copy p,
body.ica-context-access .ica-activation-copy p,
body.ica-context-access .ica-access-panel p{font-size:var(--ica-type-body)!important;line-height:1.72}
body.ica-context-access label{font-size:var(--ica-type-small)!important}
body.ica-context-access small,
body.ica-context-access .ica-form-help,
body.ica-context-access .ica-access-meta{font-size:var(--ica-type-caption)!important;line-height:1.55}
body.ica-context-access .ica-btn,
body.ica-context-access button{font-size:var(--ica-type-small)!important}

/* Events and applications */
body.ica-page-events .ica-platform-content p,
body.ica-page-events .ica-platform-content li,
body.ica-page-apply .ica-platform-content p,
body.ica-page-apply .ica-platform-content li{font-size:var(--ica-type-body)!important;line-height:1.72}
body.ica-page-events .ica-platform-content small,
body.ica-page-apply .ica-platform-content small{font-size:var(--ica-type-caption)!important}
body.ica-page-events .ica-platform-content label,
body.ica-page-apply .ica-platform-content label{font-size:var(--ica-type-small)!important}

/* Public certificate verification UI only — certificate paper keeps its own print scale. */
.ica-certificate-verify__form label{font-size:var(--ica-type-small)!important}
.ica-verification-result>span{font-size:var(--ica-type-micro)!important}
.ica-verification-result dt{font-size:var(--ica-type-small)!important}
.ica-verification-result dd,.ica-verification-result__notice{font-size:var(--ica-type-body)!important;line-height:1.68}

/* Admin typography */
.ica-admin-wrap,.ica-admin-wrap :where(h1,h2,h3,h4,h5,h6,p,a,span,small,strong,b,label,input,select,textarea,button,summary,li,th,td,code){font-family:var(--ica-font-sans)!important}
.ica-admin-wrap{font-size:var(--ica-type-small);line-height:1.62}
.ica-admin-wrap p,.ica-admin-wrap li,.ica-admin-wrap td{font-size:var(--ica-type-small)!important;line-height:1.65}
.ica-admin-wrap label,.ica-admin-wrap th{font-size:var(--ica-type-small)!important}
.ica-admin-wrap small{font-size:var(--ica-type-caption)!important;line-height:1.5}
.ica-admin-wrap .ica-admin-hero p,.ica-admin-wrap .ica-lead{font-size:var(--ica-type-body)!important}
.ica-admin-wrap .ica-admin-card span,
.ica-admin-wrap .ica-architecture span,
.ica-admin-wrap .ica-academic-structure__summary span,
.ica-admin-wrap .ica-academic-module__order,
.ica-admin-wrap .ica-academic-status,
.ica-admin-wrap .ica-academic-video,
.ica-admin-wrap .ica-academic-breadcrumb span,
.ica-admin-wrap .ica-academic-cert-card__head span,
.ica-admin-wrap .ica-academic-cert-card__metrics span,
.ica-admin-wrap .ica-public-info__badge,
.ica-admin-wrap .ica-admin-pill,
.ica-admin-wrap .ica-release-kicker,
.ica-admin-wrap .ica-release-check__status,
.ica-admin-wrap .ica-production-config__state,
.ica-admin-wrap .ica-release-qa-state,
.ica-admin-wrap .ica-test-reset-panel__badge,
.ica-admin-wrap .ica-test-reset-counts span,
.ica-admin-wrap .ica-eyebrow{font-size:var(--ica-type-micro)!important}
.ica-admin-wrap .ica-media-body p,
.ica-admin-wrap .ica-production-config__status small,
.ica-admin-wrap .ica-delivery-mode-card span{font-size:var(--ica-type-caption)!important}
.ica-admin-wrap .ica-academic-module__title strong,
.ica-admin-wrap .ica-production-config__status strong,
.ica-admin-wrap .ica-delivery-mode-card strong{font-size:var(--ica-type-small)!important}

@media(max-width:720px){
  :root{--ica-type-body:15.5px;--ica-type-body-lg:16.5px;--ica-type-lead:17px;--ica-type-small:14px;--ica-type-caption:13px;--ica-type-micro:12px}
  body.ica-context-certification .ica-cert-heading h2,
  body.ica-context-certification .ica-cert-section h2{line-height:1.09}
  body.ica-context-certification .ica-cert-hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ica-context-certification .ica-cert-hero__stats>div{min-height:76px;padding:12px 10px}
  body.ica-context-certification .ica-cert-workload__grid,
  body.ica-context-certification .ica-cert-workload__grid--four,
  body.ica-context-certification .ica-cert-workload__grid--expanded,
  body.ica-context-certification .ica-cert-facts{grid-template-columns:1fr}
  body.ica-context-certification .ica-cert-workload__grid article,
  body.ica-context-certification .ica-cert-workload__grid--expanded article,
  body.ica-context-certification .ica-cert-facts>div{border-right:0!important;border-bottom:1px solid #e5ebf2!important}
  body.ica-context-certification .ica-cert-workload__grid article:last-child,
  body.ica-context-certification .ica-cert-facts>div:last-child{border-bottom:0!important}
  body.ica-context-certification .ica-cert-final-project h3{font-size:22px!important}
}


/* ICA 2026–2027 public ecosystem — readable Poppins/Sans Serif floor */
body.ica-context-institutional :where(.ica26-home,.ica26-offer-page){font-family:var(--ica-font-sans)!important;font-size:var(--ica-type-body);line-height:var(--ica-line-body)}
body.ica-context-institutional :where(.ica26-home,.ica26-offer-page) :where(button,input,select,textarea){font-family:var(--ica-font-sans)!important}
body.ica-context-institutional :where(.ica26-home,.ica26-offer-page) .ica26-kicker{font-size:var(--ica-type-caption)!important}
body.ica-context-institutional :where(.ica26-home,.ica26-offer-page) .ica26-btn{font-size:15px!important}
body.ica-context-institutional :where(.ica26-home,.ica26-offer-page) .ica26-academic-card p{font-size:15.5px!important;line-height:1.68!important}
body.ica-context-institutional :where(.ica26-home,.ica26-offer-page) .ica26-academic-card__topics{font-size:14px!important;line-height:1.55!important}
body.ica-context-institutional :where(.ica26-home,.ica26-offer-page) .ica26-academic-card__label{font-size:12.5px!important}
body.ica-context-institutional :where(.ica26-home,.ica26-offer-page) .ica26-academic-card__cta{font-size:14.5px!important}
