/* Reviewed page layouts: readable 375px phones and balanced 1360–1440px notebooks.
   No content is hidden to conceal extra H1s. Native page titles stay semantic. */

/* Footer groups are real disclosures: accessible without JavaScript as well. */
.nany-foot-group{margin:0;border:0;padding:0;min-width:0}
.nany-foot-group>summary{list-style:none;cursor:default}
.nany-foot-group>summary::-webkit-details-marker{display:none}
.nany-foot-group>summary::marker{content:""}
.nany-foot-disclosure{display:none}
.nany-foot-group-body{min-width:0}
.nany-foot-group>summary:focus-visible{outline:2px solid var(--nany-blue);outline-offset:3px}
@media(min-width:651px) and (max-width:1000px){
 .nany-foot-contact{display:block}
 .nany-foot-contact>.nany-foot-group-body{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
 .nany-foot-contact>.nany-foot-group-body .nany-foot-sales{grid-column:2;grid-row:1/3}
 .nany-foot-contact>.nany-foot-group-body .nany-foot-address{grid-column:1;grid-row:2}
}

/* Notebook: reserve actual space for contact tools and shorten the wide reading measure. */
@media(min-width:1201px) and (max-width:1500px){
 :root{--nany-container-gutter:64px;--nany-container:1280px;--nany-heading-size:38px}
 .nany-foot-container{width:calc(100% - 128px);max-width:1280px}
 .nany-section{padding-block:64px}
 .nany-home-hero{min-height:580px}
 .nany-home-hero h1{font-size:56px;line-height:1.12;max-width:660px}
 .nany-home-hero-intro{font-size:16px;max-width:520px}
 .nany-about-grid{gap:44px}
 .nany-about-split{gap:40px}
 .nany-about-section{padding-block:52px}
 .npd-layout,.npc-layout{grid-template-columns:240px minmax(0,1fr);gap:26px}
 .npd-overview-grid{gap:26px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
 .npd-heading h2{font-size:28px}
 .npd-summary h1{font-size:26px;line-height:1.35}
 .npd-summary-copy,.npd-introduction{font-size:15px;line-height:1.8}
 .npd-image-open{height:400px}
 .npc-product{grid-template-columns:225px minmax(0,1fr);gap:24px}
 .npc-product h2{font-size:22px;line-height:1.4}
 .npc-excerpt{font-size:15px;line-height:1.8}
 .nad-layout{grid-template-columns:minmax(0,1fr) 280px;gap:28px}
 .nad-article{padding:32px}
 .nad-header h1{font-size:32px}
 .nad-content{font-size:16px;line-height:1.85}
 .nad-sidebar>.nad-toc nav a{font-size:15px;line-height:1.55;padding-block:12px}
 .nsd-layout{grid-template-columns:minmax(0,1fr) 260px;gap:28px}
 .nsd-layout--full{grid-template-columns:minmax(0,1fr)}
 .nsd-article{padding:32px}
 .nsd-copy .nsd-scenario-grid{gap:12px}
 .nsd-copy .nsd-scenario{padding:18px 15px}
 .nany-page-banner-title{padding:32px 40px}
 .nany-page-banner-title h1{font-size:32px;line-height:1.25}
 .nany-foot-grid{grid-template-columns:minmax(140px,.7fr) minmax(0,1.8fr) minmax(300px,1.4fr);gap:32px}
 .nany-footer-reference .nany-foot-main h2{font-size:20px}
 .nany-footer-reference .nany-foot-links a{font-size:14px;line-height:1.65}
 .nany-foot-inquiry-inner{gap:40px}
 .nany-contact-rail{right:12px;width:48px}
 .ncr-trigger{min-height:64px}
 .ncr-tool{min-height:44px}
}

/* Phone rhythm: enough text size and touch area, not just absence of overflow. */
@media(max-width:600px){
 body{font-size:15px;line-height:1.8}
 :root{--nany-container-gutter:20px;--nany-heading-size:26px}
 #main h1{word-break:normal;overflow-wrap:break-word;hyphens:manual}
 #main :is(.nany-btn,.nany-button,.npd-button,.npc-button){min-height:44px;font-size:14px;line-height:1.5}
 #main :is(.npd-breadcrumb,.npc-breadcrumb,.npo-breadcrumb){padding-block:20px}
 #main :is(.npd-breadcrumb,.npc-breadcrumb,.npo-breadcrumb) nav{font-size:12px;line-height:1.65;gap:6px 8px}
 .nany-page-banner-shell,.nnp-banner-shell{padding-top:20px}
 .nany-page-breadcrumb,.nnp-breadcrumb{margin-bottom:20px}
 .nany-page-banner-photo,.nnp-banner-image{min-height:148px}
 .nany-page-banner-title,.nnp-banner-title{min-height:120px;padding:24px;gap:14px}
 .nany-page-banner-title h1,.nap-overview .nany-page-banner-title h1,.nsd-page .nany-page-banner-title h1,.nnp-banner-title h1{font-size:27px;line-height:1.25;letter-spacing:-.02em}
 .nany-page-banner-title>span,.nnp-banner-title>span{height:3px;width:40px}
 .nany-section{padding-block:42px}
 .nany-section-heading{margin-bottom:24px}
 .nany-home-hero{min-height:620px;align-items:center}
 .nany-home-hero-content{padding-block:48px 88px}
 .nany-home-hero h1{font-size:40px;line-height:1.12;letter-spacing:-.035em;margin-block:18px 22px}
 .nany-home-hero-intro{font-size:15px;line-height:1.8;margin-bottom:26px}
 .nany-home-hero .nany-btn{font-size:13px;min-height:46px;padding:12px 16px}
 .nany-hero-since{font-size:11px;line-height:1.7;margin-top:24px;max-width:calc(100% - 56px)}
 .nany-home-hero .nany-eyebrow{font-size:10px;letter-spacing:.1em}
 .nany-home-products .nany-products-heading>p{font-size:15px;line-height:1.8}
 .nany-home-products .nany-product-grid{gap:20px 14px}
 .nany-home-products .nany-product-info{padding:14px 10px;min-height:114px}
 .nany-home-products .nany-product-info h3{font-size:14px;line-height:1.5}
 .nany-industry-heading p,.nany-industry-summary{font-size:15px;line-height:1.8}
 .nany-about-copy p,.nany-about-prose,.nany-about-intro{font-size:15px;line-height:1.85}
 .nany-about-section{padding-block:36px}
 .nany-about-manufacturing,.nany-about-culture{padding-top:0}
 .nany-about-profile{padding-top:32px}
 .nany-about-values p,.nany-about-section-heading>p,.nany-about-recognition p{font-size:15px;line-height:1.8}
 .nany-about-split{gap:24px}
 .nany-home-products .nany-products-heading,.nany-industry-heading{margin-bottom:28px}
 .npo-banner-copy{padding:28px 24px}
 .npo-banner h1{font-size:30px;line-height:1.2}
 .npo-banner-intro{font-size:15px;line-height:1.8}
 .npo-eyebrow{font-size:10px;line-height:1.6}
 .npo-catalog{padding-top:32px}
 .npo-category-grid{gap:24px}
 .npo-card-title{font-size:18px;line-height:1.45}
 .npo-card-content{padding:18px;min-height:68px}
 .npc-layout,.npd-layout{gap:24px}
 .npc-heading h1,.npd-heading h2{font-size:25px;line-height:1.3}
 .npc-description{font-size:15px;line-height:1.8}
 .npc-product{gap:20px;margin-bottom:28px;padding-bottom:28px}
 .npc-product-image{height:260px}
 .npc-product h2{font-size:21px;line-height:1.4;margin-bottom:14px}
 .npc-excerpt{font-size:15px;line-height:1.8;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
 .npc-toolbar .woocommerce-result-count,.npc-toolbar .woocommerce-ordering select{font-size:12px;line-height:1.6}
 .npc-toolbar .woocommerce-ordering select{min-height:42px}
 .npd-introduction{padding:20px;font-size:15px;line-height:1.8;margin-bottom:24px}
 .npd-overview-grid{gap:24px;margin-bottom:32px}
 .npd-image-open{height:335px}
 .npd-summary h1{font-size:24px;line-height:1.35;margin-block:10px 18px}
 .npd-summary-copy{font-size:15px;line-height:1.85}
 .npd-summary-copy p+p{margin-top:16px}
 .npd-actions{margin-top:24px;margin-bottom:0}
 .npd-content{padding:24px 20px;font-size:15px;line-height:1.85}
 .npd-content p{margin-bottom:20px}
 .npd-section-heading{padding-top:22px}
 .npd-category-panel li a{font-size:14px;line-height:1.6;padding-block:12px}
 .npd-category-panel .npd-category-children>li>a{font-size:13px}
 .npd-related-card{font-size:14px;line-height:1.6;gap:14px}
 .npd-inquiry .fluentform label,.npc-inquiry-dialog .fluentform label{font-size:14px;line-height:1.5}
 .npd-inquiry .fluentform .ff-el-form-control,.npc-inquiry-dialog .fluentform .ff-el-form-control{font-size:16px}
 .nad-breadcrumbs{padding-block:20px 24px}
 .nad-article{padding:26px 20px}
 .nad-header{text-align:left;margin-bottom:24px;padding-bottom:22px}
 .nad-header h1{font-size:25px;line-height:1.35;margin-bottom:18px;text-wrap:pretty}
 .nad-category{font-size:11px;line-height:1.6;letter-spacing:.07em}
 .nad-meta{font-size:12px;line-height:1.6}
 .nad-content{font-size:16px;line-height:1.85}
 .nad-content p{margin-bottom:20px}
 .nad-content :is(td,th){font-size:15px;line-height:1.75}
 .nad-content :is(td,th) p{font-size:inherit;line-height:inherit}
 #main .nad-content h2.nany-section-title{--nany-heading-size:23px;margin-top:28px;margin-bottom:16px}
 .nad-content h3{font-size:20px;line-height:1.45}
 .nad-sidebar>.nad-toc nav a{font-size:15px;line-height:1.6;padding-block:12px}
 .nad-sidebar>h2,.nad-sidebar>.nad-toc>summary{font-size:18px;line-height:1.5;padding:14px 18px}
 .nnp-categories{gap:0 18px;margin-bottom:28px}
 .nnp-categories>a{min-height:46px;font-size:14px;line-height:1.5}
 .nnp-news-grid{gap:32px}
 .nnp-card-content h2{font-size:20px;line-height:1.5}
 .nnp-card-content{padding-top:18px}
 .nnp-card-excerpt{font-size:15px;line-height:1.8}
 .nnp-card-date{font-size:12px;line-height:1.6}
 .nap-card-copy{padding:22px}
 .nap-card-copy h3{font-size:21px;line-height:1.4;margin-bottom:14px}
 .nap-card-copy p,.nap-intro{font-size:15px;line-height:1.8}
 .nap-grid{gap:26px}
 .nsd-layout{padding-top:28px;gap:28px}
 .nsd-article{padding:24px 20px}
 .nsd-copy{font-size:16px;line-height:1.85}
 .nsd-copy .nsd-scenario p,.nsd-copy .nsd-design-note{font-size:15px;line-height:1.8}
 .nsd-copy .nsd-scenario{padding:20px}
 .nsd-copy .nsd-scenario-grid{gap:16px}
 .nsd-more-copy p{font-size:15px;line-height:1.8}
 .nany-contact-form-card{padding:28px 20px}
 .nany-contact-intro{font-size:15px;line-height:1.8;margin-bottom:24px}
 .nany-contact-form-embed .ff-el-input--label label{font-size:14px;line-height:1.5}
 .nany-contact-detail-row dd{font-size:15px;line-height:1.75;padding-inline:16px}
 .nany-contact-detail-heading h2{font-size:18px;line-height:1.5}
 .nsp-sections{gap:0 16px;margin-bottom:28px}
 .nsp-sections a{font-size:13px;min-height:46px}
 .nsp-editor-content{font-size:15px;line-height:1.8}
 .nsp-editor-content p,.nsp-lead{font-size:15px;line-height:1.8}
 .nsp-resource-content .nany-faq-list summary{font-size:16px;line-height:1.6;padding-left:20px;padding-right:44px;min-height:64px}
 .nsp-resource-content .nany-faq-list summary::before{display:none}
 .nany-contact-rail{width:48px;right:10px}
 .ncr-trigger{min-height:54px;padding:8px 3px;gap:4px;font-size:10px}
 .ncr-trigger svg{width:22px;height:22px}
 .nany-contact-rail .ncr-back-to-top{min-height:38px;margin-top:8px}
}

/* The mobile footer is short by default, while every link remains one tap away. */
@media(max-width:650px){
 .nany-foot-main{padding:14px 0 22px}
 .nany-foot-grid{display:block}
 .nany-footer-reference .nany-foot-group{display:block;border:0;border-bottom:1px solid var(--foot-line);padding:0;margin:0}
 .nany-foot-group>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;min-height:58px;padding:16px 0}
 .nany-footer-reference .nany-foot-group>summary h2{margin:0;font-size:16px;line-height:1.5;letter-spacing:.02em}
 .nany-foot-disclosure{display:block;position:relative;flex:0 0 16px;width:16px;height:16px;color:var(--foot-blue)}
 .nany-foot-disclosure::before,.nany-foot-disclosure::after{content:"";position:absolute;left:2px;right:2px;top:7px;height:2px;background:currentColor}
 .nany-foot-disclosure::after{transform:rotate(90deg)}
 .nany-foot-group[open]>summary .nany-foot-disclosure::after{transform:none}
 .nany-foot-group>.nany-foot-group-body{padding:4px 0 22px}
 .nany-foot-group:not([open])>.nany-foot-group-body{display:none}
 .nany-footer-reference .nany-foot-group .nany-foot-links a{font-size:15px;line-height:1.6;min-height:40px;padding-block:8px}
 .nany-foot-group .nany-foot-links a::before{top:16px}
 .nany-footer-reference .nany-foot-useful .nany-foot-links{gap:2px 18px}
 .nany-footer-reference .nany-foot-product-links{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row;gap:0}
 .nany-foot-contact{grid-column:auto}
 .nany-footer-reference .nany-foot-inquiry h2{font-size:24px;line-height:1.3}
 .nany-footer-reference .nany-foot-inquiry-copy p{font-size:15px;line-height:1.8;margin-top:14px}
 .nany-foot-inquiry{padding:30px 0}
 .nany-foot-inquiry-inner{gap:22px}
 .nany-footer-reference .nany-foot-email-form input{font-size:16px;min-width:0;padding-inline:10px}
 .nany-footer-reference .nany-foot-email-form button{font-size:12px;min-width:128px;min-height:46px;padding:10px 12px;gap:8px}
 .nany-footer-reference #nany-foot-email-hint{font-size:12px;line-height:1.6;margin-top:10px}
 .nany-foot-sales{padding:18px}
 .nany-footer-reference .nany-foot-contact-primary a{font-size:15px;min-height:36px}
 .nany-footer-reference .nany-foot-copyright p{font-size:12px;line-height:1.75}
 .nany-footer.nany-footer-reference .nany-foot-social{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){.nany-foot-group *{scroll-behavior:auto;transition:none}}

/* Compact product inquiry dialogs: keep desktop and standalone contact forms unchanged. */
@media(max-width:1199.98px){
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog){
  width:calc(100% - 64px);max-width:640px;
  max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);
  border-radius:12px;
 }
 #main :is(.npd-inquiry-inner,.npc-inquiry-inner){
  padding:28px;
  max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);
  overflow:auto;overscroll-behavior:contain;
 }
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) h2.nany-section-title{
  font-size:22px;line-height:1.3;text-align:left;margin:0 32px 18px 0;
 }
 #main :is(.npd-inquiry-close,.npc-inquiry-close){
  top:8px;right:8px;width:44px;height:44px;min-height:44px;padding:0;
 }
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) :is(form,fieldset){
  min-width:0;margin:0;padding:0;
 }
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) .ff-column-container.ff_columns_total_2{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:0;margin:0;
 }
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) .ff-column-container>.ff-t-cell{
  min-width:0;width:auto;margin:0;padding:0;
 }
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) .fluentform .ff-el-group{margin-bottom:12px}
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) .fluentform .ff-el-input--label{margin:0 0 4px}
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) .fluentform label{
  margin:0;font-size:13px;line-height:1.4;
 }
 /* Keep typed text at 16px and controls at 44px without the old 200px message area. */
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) .fluentform .ff-el-form-control{
  box-sizing:border-box;width:100%;max-width:100%;height:44px;min-height:44px;
  padding:10px;font-size:16px;line-height:22px;
 }
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) .fluentform textarea.ff-el-form-control{
  height:114px;min-height:114px;padding:8px 10px;line-height:24px;resize:vertical;
 }
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) .fluentform .ff_submit_btn_wrapper{margin:0;text-align:right}
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) .fluentform .ff-btn-submit{
  --nany-action-min-height:44px;--nany-action-padding:11px 18px;
 }
}
@media(max-width:600px){
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog){
  width:calc(100% - 32px);max-width:440px;
  max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);
 }
 #main :is(.npd-inquiry-inner,.npc-inquiry-inner){
  padding:22px 18px 20px;
  max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);
 }
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) h2.nany-section-title{
  font-size:20px;margin-right:32px;margin-bottom:14px;
 }
 /* Only the name pair shares a row on phones; email and long subjects stay full width. */
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) .ff-column-container.ff_columns_total_2{
  grid-template-columns:minmax(0,1fr);column-gap:12px;
 }
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) .ff-column-container[data-name="ff_cn_id_1"]{
  grid-template-columns:repeat(2,minmax(0,1fr));
 }
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) .fluentform .ff-el-group{margin-bottom:10px}
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) .fluentform textarea.ff-el-form-control{
  height:90px;min-height:90px;
 }
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) .fluentform .ff_submit_btn_wrapper{margin:0}
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) .fluentform .ff-btn-submit{width:100%}
}
@media(max-width:359px){
 #main :is(.npd-inquiry-dialog,.npc-inquiry-dialog) h2.nany-section-title{font-size:18px}
}
