/* Shared reading scale, loaded after legacy page styles. Icon fonts and map widgets are untouched. */
.nzk-public.nzk-unified{--zc-font:'Public Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--nz-texte:var(--zc-font);font-family:var(--zc-font)!important;font-size:16px;line-height:1.65}
.nzk-public.nzk-unified #main-content :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,input,select,textarea,button,summary){font-family:var(--zc-font)!important}
.nzk-public.nzk-unified #main-content :is(h1,h2,h3,h4,h5,h6){font-weight:700!important;letter-spacing:-.018em;overflow-wrap:break-word;text-wrap:pretty}
.nzk-public.nzk-unified #main-content h1{font-size:clamp(28px,3.1vw,42px)!important;line-height:1.2!important}
.nzk-public.nzk-unified #main-content h2{font-size:clamp(23px,2vw,30px)!important;line-height:1.3!important}
.nzk-public.nzk-unified #main-content h3{font-size:clamp(19px,1.6vw,23px)!important;line-height:1.35!important}
.nzk-public.nzk-unified #main-content h4{font-size:18px!important;line-height:1.4!important}
.nzk-public.nzk-unified #main-content :is(p,li,dt,dd){font-size:16px;line-height:1.7;overflow-wrap:break-word}
.nzk-public.nzk-unified #main-content p{margin-block:0 16px}
.nzk-public.nzk-unified #main-content :is(.zc-page-header__description,.school-index__text){font-size:16px!important;line-height:1.65!important;max-width:72ch!important}
/* Cards and reading blocks have distinct, predictable densities. */
.nzk-public.nzk-unified #main-content :is(.zc-card,.school-card,.gite-card,.mp-card,.health-directory-card,.media-video-card) :is(h2,h3){font-size:21px!important;line-height:1.35!important}
.nzk-public.nzk-unified #main-content :is(.zc-card__description,.school-card__text,.mp-card__excerpt,.health-directory-card p){font-size:15px!important;line-height:1.6!important}
.nzk-public.nzk-unified #main-content :is(.zc-card__meta,.zc-card__cta,.zc-card__details,.zc-badge,.guide-review-date,.education-review,.local-initiatives__review){font-family:var(--zc-font)!important;font-size:13px!important;line-height:1.55!important}
.nzk-public.nzk-unified #main-content :is(.practical-guide,.zc-reader-content,.commune-presentation,.connect-guide-text){font-size:16px!important;line-height:1.75!important}
.nzk-public.nzk-unified #main-content :is(.practical-guide,.zc-reader-content,.connect-guide-text) :is(p,li){font-size:16px!important;line-height:1.75!important}
.nzk-public.nzk-unified #main-content :is(.zc-reader-content,.connect-guide-text)>p{max-width:78ch}
.nzk-public.nzk-unified #main-content :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),select,textarea){font-size:16px!important;line-height:1.5!important;max-width:100%;box-sizing:border-box}
.nzk-public.nzk-unified #main-content :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,button,.btn){min-height:44px}
.nzk-public.nzk-unified #main-content label{font-size:14px;font-weight:600;line-height:1.5}
.nzk-public.nzk-unified #main-content summary{font-size:16px;line-height:1.5;min-height:44px;padding-block:9px;box-sizing:border-box;cursor:pointer}
.nzk-public.nzk-unified #main-content a{text-underline-offset:.2em;text-decoration-thickness:1px}
.nzk-public.nzk-unified :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #28553d!important;outline-offset:3px!important}
.nzk-public.nzk-unified #main-content :is(section[id],h2[id],h3[id],details[id]){scroll-margin-top:24px}
@media(max-width:640px){.nzk-public.nzk-unified #main-content :is(.zc-card,.school-card,.gite-card,.mp-card,.health-directory-card,.media-video-card) :is(h2,h3){font-size:20px!important}.nzk-public.nzk-unified #main-content :is(.zc-card__body,.school-card__body){padding:18px!important}}
@media(prefers-reduced-motion:reduce){.nzk-public.nzk-unified{scroll-behavior:auto!important}.nzk-public.nzk-unified #main-content :is(.zc-card,.school-card,.gite-card){transition:none!important;animation:none!important}}
