/* Shared phone/tablet type scale. Poppins, brand colours and desktop typography stay unchanged.
 * The requested external reference is behind a security challenge; these are site-wide design tokens,
 * not claimed measurements from the reference. Inputs retain 16px for mobile focus/zoom behaviour. */
@media (max-width:1199.98px){
 :root{
  --nany-type-body:16px;
  --nany-type-page:32px;
  --nany-type-hero:42px;
  --nany-type-section:28px;
  --nany-type-subsection:24px;
  --nany-type-small-heading:20px;
  --nany-type-card:20px;
  --nany-type-h3:19px;
  --nany-type-h4:17px;
  --nany-type-product:15px;
  --nany-type-caption:13px;
  --nany-type-eyebrow:12px;
  --nany-type-table:15px;
  --nany-type-footer:15px;
  --nany-type-stat:34px;
  --nany-heading-size:var(--nany-type-section);
  --nany-button-font-size:14px;
 }
 body{--theme-font-size:var(--nany-type-body);font-size:var(--nany-type-body)}
 #main{font-size:var(--nany-type-body);line-height:1.8}
 /* Consistent page titles, with a separate long-form product/article hierarchy. */
 #main :is(h1,.nany-page-banner-title h1,.npo-banner h1,.npc-heading h1,.nad-header h1,.page-title){font-size:var(--nany-type-page);line-height:1.25;overflow-wrap:break-word}
 #main .npd-heading h2{font-size:var(--nany-type-section);line-height:1.3}
 #main .npd-summary h1{font-size:var(--nany-type-subsection);line-height:1.35}
 #main .nany-home-hero h1{font-size:var(--nany-type-hero);line-height:1.16}
 #main h2.nany-section-title{--nany-heading-size:var(--nany-type-section);font-size:var(--nany-type-section);line-height:1.3}
 #main :is(.nsd-article-heading,.nsd-more-heading,.nap-section-heading,.nap-directory-heading) h2.nany-section-title{--nany-heading-size:var(--nany-type-section);font-size:var(--nany-type-section);line-height:1.3}
 #main h2.nany-section-title--compact{--nany-heading-size:var(--nany-type-subsection);font-size:var(--nany-type-subsection)}
 #main h2.nany-section-title--small{--nany-heading-size:var(--nany-type-small-heading);font-size:var(--nany-type-small-heading);line-height:1.4}
 #main .entry-content h2:not(.nany-section-title):not(.entry-title),
 #main .npd-content h2,
 #main :is(.nad-content,.nsd-copy,.npd-content) h2.nany-section-title{--nany-heading-size:var(--nany-type-subsection);font-size:var(--nany-type-subsection);line-height:1.4}
 #main h3{font-size:var(--nany-type-h3);line-height:1.45}
 #main h4{font-size:var(--nany-type-h4);line-height:1.5}
 #main :is(h5,h6){font-size:var(--nany-type-body);line-height:1.5}
 #main :is(.npo-card-title,.npc-product h2,.nnp-card-content h2,.nap-card-copy h3,.nany-industry-card h3,.nany-industry-copy h3,.nany-news-feature h3,.nany-news-update h3,.nsd-more-copy h3,.entry-title){font-size:var(--nany-type-card);line-height:1.45}
 #main :is(.nany-product-info h3,.nany-category-card h3,.npd-related-card){font-size:var(--nany-type-product);line-height:1.55}
 /* Keep the intentionally small related-product labels from the previous design request. */
 #main .nsd-copy .nsd-product-card h3.nsd-product-name{font-size:13px;line-height:1.6}
 #main :is(h1,h2,h3,h4)>a{font-size:inherit;line-height:inherit}
 /* Body copy shares a single readable size instead of per-page 13/14/15/16px variants. */
 #main :is(.nad-content,.npd-content,.nsd-copy,.nsp-editor-content,.nsp-resource-content,.nany-about-prose,.npc-description,.npd-summary-copy,.npd-introduction,.entry-excerpt){font-size:var(--nany-type-body);line-height:1.8}
 #main :is(.nad-content,.npd-content,.nsd-copy,.nsp-editor-content,.nsp-resource-content,.nany-about-prose,.npc-description,.npd-summary-copy,.entry-excerpt) :is(p,li,blockquote){font-size:var(--nany-type-body);line-height:1.8}
 #main :is(.nany-home-hero-intro,.nany-company-paragraph,.nany-section-heading>p,.nany-products-heading>p,.nany-industry-heading>p,.nany-industry-summary,.nany-news-feature-summary,.nany-about-copy p,.nany-about-intro,.nany-about-values p,.nany-about-section-heading>p,.nany-about-recognition p,.npc-excerpt,.npo-banner-intro,.nnp-card-excerpt,.nap-card-copy p,.nap-intro,.nsd-more-copy p,.nany-contact-intro,.nany-contact-intro p,.nsp-lead,.nsp-editor-content p,.nany-faq-answer p){font-size:var(--nany-type-body);line-height:1.8}
 #main :is(.nnp-card-content>p,.nsd-content-lead,.nsd-more-heading>p,.nap-directory-heading>p,.nap-feature-description){font-size:var(--nany-type-body);line-height:1.8}
 #main .nsd-copy :is(.nsd-scenario p,.nsd-content-lead){font-size:var(--nany-type-body);line-height:1.8}
 #main :is(.nad-content,.npd-content,.nsd-copy,.nsp-editor-content) :is(td,th){font-size:var(--nany-type-table);line-height:1.7}
 #main :is(.nad-content,.npd-content,.nsd-copy,.nsp-editor-content) :is(td,th) :is(p,li){font-size:inherit;line-height:inherit}
 #main :is(.nsd-design-note,.nad-meta,.nnp-card-date,.nany-news-feature time,.nany-news-update time,.nany-page-breadcrumb,.nad-breadcrumbs,.npc-toolbar .woocommerce-result-count){font-size:var(--nany-type-caption);line-height:1.65}
 #main .nany-page-breadcrumb .ct-breadcrumbs{--theme-font-size:var(--nany-type-caption);font-size:inherit}
 #main :is(.nany-eyebrow,.nsd-eyebrow,.npo-eyebrow,.nad-category){font-size:var(--nany-type-eyebrow);line-height:1.6}
 #main .nany-company-reference .nany-company-kicker{font-size:var(--nany-type-h3);line-height:1.45}
 #main .nany-about-stats dd{font-size:var(--nany-type-stat);line-height:1.2}
 #main .nany-about-stats dt{font-size:var(--nany-type-caption);line-height:1.6}
 #main .nsp-resource-content .nany-faq-list summary{font-size:var(--nany-type-h4);line-height:1.6}
 #main :is(.nsd-industry-list h2,.nad-sidebar>h2,.nad-sidebar>.nad-toc>summary){font-size:var(--nany-type-h3);line-height:1.5}
 #main :is(label,.fluentform .ff-el-input--label label){font-size:14px;line-height:1.5}
 #main :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),textarea,select){font-size:16px;line-height:1.5}
 /* Site footer uses the same body/caption hierarchy, not another miniature text system. */
 .nany-footer.nany-footer-reference :is(.nany-foot-links a,.nany-foot-inquiry-copy p,.nany-foot-contact-primary a,.nany-foot-contact p){font-size:var(--nany-type-footer);line-height:1.75}
 .nany-footer.nany-footer-reference .nany-foot-inquiry h2{font-size:var(--nany-type-subsection);line-height:1.35}
 .nany-footer.nany-footer-reference .nany-foot-group>summary h2{font-size:16px;line-height:1.5}
 .nany-footer.nany-footer-reference .nany-foot-copyright p{font-size:12px;line-height:1.7}
 .nany-footer.nany-footer-reference .nany-foot-email-form input{font-size:16px}
}
@media(max-width:999.98px){
 /* Preserve the existing left-alignment fix and trailing 44px submenu controls. */
 #offcanvas [data-id="mobile-menu"]{--theme-font-size:18px;--horizontal-alignment:flex-start;--text-horizontal-alignment:left;text-align:start}
 #offcanvas [data-id="mobile-menu"]>ul>li>.ct-menu-link,
 #offcanvas [data-id="mobile-menu"]>ul>li>.ct-sub-menu-parent>.ct-menu-link{font-size:18px;line-height:1.5;justify-content:flex-start;text-align:start}
 #offcanvas [data-id="mobile-menu"] .sub-menu .ct-menu-link{font-size:15px;line-height:1.6;text-align:start}
 #offcanvas [data-id="mobile-menu"] .sub-menu .sub-menu .ct-menu-link{font-size:14px}
}
@media(min-width:1000px) and (max-width:1199.98px){
 #header [data-row="middle"] .menu>li>a{font-size:14px;line-height:1.5}
}
@media(max-width:600px){
 :root{
  --nany-type-body:15px;
  --nany-type-page:26px;
  --nany-type-hero:32px;
  --nany-type-section:24px;
  --nany-type-subsection:22px;
  --nany-type-small-heading:18px;
  --nany-type-card:18px;
  --nany-type-h3:18px;
  --nany-type-h4:16px;
  --nany-type-product:14px;
  --nany-type-caption:12px;
  --nany-type-eyebrow:11px;
  --nany-type-table:14px;
  --nany-type-footer:14px;
  --nany-type-stat:28px;
 }
 #main .npd-summary h1{font-size:24px}
 #offcanvas [data-id="mobile-menu"] .sub-menu .ct-menu-link{font-size:14px}
}
@media(max-width:359.98px){:root{--nany-type-hero:30px}}
