/* Content width follows the homepage at every breakpoint. */
:root { --mos-site-container:1240px; }
@media(min-width:1440px){:root{--mos-site-container:1390px}}
@media(min-width:1920px){:root{--mos-site-container:1750px}}
@media(max-width:991px){:root{--mos-site-container:768px}}
@media(max-width:767px){:root{--mos-site-container:100%}}
html body :is(.base-container:not(.full-width),.container,.products-page-shell,.about-shared-shell,.mos-ref-shell,.mos-process-cta__inner,.industry-related__inner){box-sizing:border-box!important;width:100%!important;max-width:var(--mos-site-container)!important;margin-inline:auto!important;padding-inline:15px!important;}
html body .home-nav-update :is(.base-container,.container){max-width:none!important;}
html body :is(.container,.base-container,.products-page-shell) :is(.container,.base-container,.products-page-shell){max-width:100%!important;padding-inline:0!important;}

.mos-related-products{padding-block:60px}.mos-related-products__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:28px}.mos-related-products__card{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid #ede6e2;color:#2e2118;text-decoration:none;background:#fff}.mos-related-products__card img{width:100%;height:240px;object-fit:contain}.mos-related-products__card h3{font-size:20px;line-height:1.4;margin:0}.mos-related-products__card span{margin-top:auto;color:#bf4d0a}.mos-related-products__card:hover{border-color:#bf4d0a}@media(max-width:767px){.mos-related-products__grid{grid-template-columns:1fr}}

/* Full-window fallback also works where the element Fullscreen API is unavailable. */
html body .ypg-detail__model-stage.is-expanded {
  position:fixed!important; inset:0!important; z-index:2147483646;
  display:flex!important; flex-direction:column; box-sizing:border-box;
  width:100%!important; height:100vh!important; height:100dvh!important;
  max-width:none!important; max-height:none!important; margin:0!important;
  padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
  border:0; border-radius:0; background:#f5f1ee;
}
html body .ypg-detail__model-stage.is-expanded .ypg-engineering-viewer {
  flex:1 1 0!important; width:100%; height:auto!important; min-height:0!important;
}
html body .ypg-detail__model-stage.is-expanded model-viewer { width:100%;height:100%;min-height:0; }
html body .ypg-detail__model-stage.is-expanded .ypg-detail__model-hint { flex:none; margin:8px 0 0;font-size:13px; }
html body .ypg-detail__model-stage.is-expanded [data-ypg-fullscreen] { min-width:44px;min-height:44px; }

/* Match contact questions to the site's ordinary FAQ typography. */
html body .contact-map-sidebar + .faq-one-column .faq-title { font-size:18px;line-height:1.45; }
html body .contact-map-sidebar + .faq-one-column .faq-paragraph { font-size:16px;line-height:1.65; }

@media(max-width:767px) {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  html body .one-product-per-row .crystallizer-family:has(.crystallizer-family-product) .crystallizer-family-product > a {
    grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;
    height:auto;min-height:0;align-content:start;gap:0;
  }
  html body .one-product-per-row .crystallizer-family-product__image {
    height:220px!important;min-height:0!important;max-height:none!important;
  }
  html body .one-product-per-row .crystallizer-family-product__body {
    height:auto!important;min-height:0!important;padding:16px 18px 20px!important;
    justify-content:flex-start!important;gap:8px!important;
  }
  html body .one-product-per-row .crystallizer-family-product__body h3 {font-size:22px!important;line-height:1.3!important;margin:0;}
  html body .one-product-per-row .crystallizer-family-product__body > p:not(.eyebrow) {font-size:14px;line-height:1.6;}
  html body.mos-product-detail main :is(.ypg-detail__application-grid,.ypg-detail__process-grid,.ypg-detail__feature-grid,.ypg-detail__configuration-grid) :is(h3,h4) {font-size:18px!important;line-height:1.4;}
  html body.mos-product-detail main :is(.ypg-detail__application-grid,.ypg-detail__process-grid,.ypg-detail__feature-grid,.ypg-detail__configuration-grid) :is(p,li) {font-size:15px!important;line-height:1.65;}
  html body.mos-product-detail main .ypg-detail__panel-heading h3 {font-size:22px;line-height:1.35;}
  html body.mos-product-detail main .ypg-detail__quick-facts dt {font-size:13px;line-height:1.4;}
  html body.mos-product-detail main .ypg-detail__quick-facts dd {font-size:15px;line-height:1.5;overflow-wrap:anywhere;}
  html body.mos-product-detail main :is(.ypg-detail__related-card,.mos-related-products__card) h3 {font-size:18px;line-height:1.4;}
  html body .contact-map-sidebar + .faq-one-column .faq-title {font-size:16px;}
  html body .contact-map-sidebar + .faq-one-column .faq-paragraph {font-size:15px;}
}

/* Consistent Chinese weight; preserve the bilingual logo styling. */
html:lang(zh) body :is(p,li,dd,td) { font-weight:500!important; }
html:lang(zh) body :is(.eyebrow,[class$="__eyebrow"],.label,.crystallizer-kicker) { font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif!important; font-weight:600!important; }
html:lang(zh) body :is(h1,h2,h3,h4,h5,h6) { font-weight:600!important; }
html body.mos-about-page > section:not(.mos-standard-banner) :is(.base-container,.container,.about-shared-shell) { padding-inline:15px!important; }

/* All page shells, including About, use the same inner content edge. */
html body.mos-about-page .mos-standard-banner > .container,
html body.mos-about-page .footer.home-footer .base-container { padding-inline:15px!important; }

@media(min-width:768px) and (max-width:1199px){.mos-related-products__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
