/* Fluid public desktop layout. Backgrounds and section shells follow viewport width.
   Product media and reading text retain their own size limits. Mobile rules stay unchanged. */
@media (min-width:901px) {
  body[data-zp-design="public"] {
    --zz-desktop-frame:none;
    --zz-desktop-content:none;
    --zz-desktop-gutter:clamp(24px,3vw,120px);
  }
  body[data-zp-design="public"] #app main {
    box-sizing:border-box!important;
    width:100%!important;
    max-width:var(--zz-desktop-frame)!important;
    margin-inline:auto!important;
    min-width:0;
  }
  body[data-zp-design="public"] #app > header.site-header.zp-public-header {
    width:calc(100% - 2 * var(--zz-desktop-gutter))!important;
    max-width:none!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
  }
  /* Keep both horizontal centering and the existing scroll-hide motion. */
  body[data-zp-design="public"] #app > header.site-header.zp-public-header:is(.zp-chrome-hidden,.zz-public-header-hidden) {
    transform:translate(-50%,calc(-100% - 30px))!important;
  }
  body[data-zp-design="public"] .zp-footer-wrap {
    width:calc(100% - 2 * var(--zz-desktop-gutter))!important;
    max-width:var(--zz-desktop-content)!important;
    margin-inline:auto!important;
  }
  /* Keep the approved hero ratio tied to its container, not to the monitor. */
  body[data-zp-design="public"] #app main.zp-home .ap-hero {
    width:100%!important;
    aspect-ratio:857/410!important;
    height:auto!important;
    min-height:460px!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-hero .zp-hero-copy {
    left:var(--zz-desktop-gutter)!important;
    width:47%!important;
    top:28%!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-hero h1 {font-size:clamp(42px,3.2vw,88px)!important;}
  body[data-zp-design="public"] #app main.zp-home .ap-hero p {font-size:18px!important;}
  body[data-zp-design="public"] #app main.zp-home :is(.rp-range,.rp-selected,.zz-home-extra) {
    padding-left:var(--zz-desktop-gutter)!important;
    padding-right:var(--zz-desktop-gutter)!important;
  }
  body[data-zp-design="public"] #app main.zp-home :is(.rp-range-track,.rp-product-grid,.rp-selected-head,.zz-home-extra-inner) {
    max-width:var(--zz-desktop-content)!important;
    width:100%!important;
    margin-inline:auto!important;
    min-width:0;
  }
  body[data-zp-design="public"] #app main.zp-home :is(.ap-selected,.ap-branding,.ap-steps,.ap-inquiry) {
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-branding {
    padding:40px var(--zz-desktop-gutter)!important;
    align-items:center!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-branding > img {
    height:auto!important;
    aspect-ratio:1.8!important;
    object-fit:cover!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-steps {
    padding:44px var(--zz-desktop-gutter)!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-inquiry {
    padding:44px var(--zz-desktop-gutter)!important;
    min-height:320px!important;
  }
  body[data-zp-design="public"] #app main.zp-home :is(.rp-range>h2,.rp-selected-head h2,.zz-home-extra-heading h2) {
    font-size:36px!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-branding h2 {font-size:38px!important;}
  body[data-zp-design="public"] #app main.zp-home .ap-branding p {font-size:17px!important;}
  body[data-zp-design="public"] #app main.zp-home :is(.ap-steps>h2,.ap-inquiry h2) {font-size:31px!important;}
  body[data-zp-design="public"] #app main.zp-home .zz-home-extra-heading p {font-size:16px!important;}
  body[data-zp-design="public"] #app main.zp-home .zz-home-solution-card h3 {font-size:25px!important;}
  body[data-zp-design="public"] #app main.zp-home .zz-home-scenario-card h3 {font-size:21px!important;}
  body[data-zp-design="public"] #app main.zp-home .rp-category b {font-size:14px!important;}
  body[data-zp-design="public"] #home-zhanzheng-company {padding:48px var(--zz-desktop-gutter)!important;}
  body[data-zp-design="public"] #home-zhanzheng-company .zz-company-inner {max-width:none!important;}
  body[data-zp-design="public"] #home-zhanzheng-company h2 {font-size:34px!important;}
  /* Shared inner-page shells use the same proportional gutters. */
  body[data-zp-design="public"] #app main :is(.zr-shell,.zp-shell) {
    width:calc(100% - 2 * var(--zz-desktop-gutter))!important;
    max-width:var(--zz-desktop-content)!important;
    margin-inline:auto!important;
  }
  body[data-zp-design="public"] #app main.zz-about-refined .za-wrap {
    width:100%!important;
    max-width:none!important;
    padding:112px var(--zz-desktop-gutter) 72px!important;
  }
  body[data-zp-design="public"] #app main.zz-about-refined h1 {font-size:48px!important;}
  body[data-zp-design="public"] #app main.zz-about-refined h2 {font-size:36px!important;}
  body[data-zp-design="public"] #app main.zr-service h2 {font-size:36px!important;}
  body[data-zp-design="public"] #app main.ip-page .pv-hero {
    height:auto!important;
    aspect-ratio:2.5!important;
    min-height:620px!important;
  }
  body[data-zp-design="public"] #app main.ip-page .pv-hero-copy {
    width:46%!important;
    max-width:590px!important;
    margin-left:var(--zz-desktop-gutter)!important;
    padding-top:clamp(140px,11vw,320px)!important;
  }
  body[data-zp-design="public"] #app main.ip-page .pv-hero-copy h1 {font-size:52px!important;}
  body[data-zp-design="public"] #app main.zz-oem-refined :is(.cat-container,.supp-container) {
    width:calc(100% - 2 * var(--zz-desktop-gutter))!important;
    max-width:var(--zz-desktop-content)!important;
    margin-inline:auto!important;
  }
  body[data-zp-design="public"] #app main.zz-oem-refined :is(.cat-hero-copy,.supp-hero-copy) h1 {font-size:52px!important;}
  body[data-zp-design="public"] #app main.zz-oem-refined h2 {font-size:36px!important;}
  body[data-zp-design="public"] #app main .products-hero-v36 {
    height:auto!important;
    aspect-ratio:2.8!important;
    min-height:510px!important;
  }
  body[data-zp-design="public"] #app main .products-hero-grid {
    width:calc(100% - 2 * var(--zz-desktop-gutter))!important;
    max-width:var(--zz-desktop-content)!important;
    margin-inline:auto!important;
  }
  body[data-zp-design="public"] #app main .products-hero-copy-v36 h1 {font-size:52px!important;}
  body[data-zp-design="public"] #app main.np-page .np-hero {
    height:auto!important;
    aspect-ratio:2.8!important;
    min-height:510px!important;
  }
  body[data-zp-design="public"] #app main.np-page .np-hero-copy {
    width:calc(100% - 2 * var(--zz-desktop-gutter))!important;
    max-width:var(--zz-desktop-content)!important;
    margin-inline:auto!important;
  }
  body[data-zp-design="public"] #app main.np-page .np-hero-copy h1 {font-size:52px!important;}
  body[data-zp-design="public"] #app main.np-page .np-catalog,
  body[data-zp-design="public"] #app .catalog-section-v39 .catalog-layout-v40 {
    width:calc(100% - 2 * var(--zz-desktop-gutter))!important;
    max-width:var(--zz-desktop-content)!important;
    margin-inline:auto!important;
  }
  body[data-zp-design="public"] #app main .rp-shared {
    padding-left:var(--zz-desktop-gutter)!important;
    padding-right:var(--zz-desktop-gutter)!important;
  }
  body[data-zp-design="public"] #app main .rp-shared .rp-range-track {max-width:none!important;}
  body[data-zp-design="public"] #app main.zzpd-page .zzpd-hero,
  body[data-zp-design="public"] #app main.np-detail .np-detail-hero {
    max-width:none!important;
    margin-inline:auto!important;
  }
  body[data-zp-design="public"] #app main :is(.zzpd-summary h1,.np-detail-summary h1) {font-size:38px!important;}
  body[data-zp-design="public"] #app :is(.zzref-project h2,.zp-footer-intro h2) {font-size:38px!important;}
  body[data-zp-design="public"] #app main :is(.insights-intro h1,.zzcontact-hero h1,.article-head h1) {font-size:48px!important;}
  /* Homepage backgrounds and grids span the available desktop width. */
  body[data-zp-design="public"] #app main.zp-home {
    max-width:none!important;
    --zz-desktop-content:none;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-hero {
    aspect-ratio:857/410!important;
    height:auto!important;
    min-height:460px!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-hero .zp-hero-copy {
    left:var(--zz-desktop-gutter)!important;
    width:47%!important;
    top:28%!important;
  }
  body[data-zp-design="public"] #app main.zp-home :is(.rp-range,.rp-selected,.zz-home-extra,.ap-branding,.ap-steps,.ap-inquiry) {
    padding-left:var(--zz-desktop-gutter)!important;
    padding-right:var(--zz-desktop-gutter)!important;
  }
  body[data-zp-design="public"] #app main.zp-home :is(.rp-range-track,.rp-product-grid,.rp-selected-head,.zz-home-extra-inner) {
    max-width:none!important;
  }
  body[data-zp-design="public"] #home-zhanzheng-company .zz-company-inner {
    max-width:none!important;
  }

  body[data-zp-design="public"] #app main :is(.featured-card,.zzref-project) {
    max-width:none!important;
    margin-inline:auto!important;
  }
  /* Keep remaining public section shells fluid. */
  body[data-zp-design="public"] #app main .container {
    max-width:var(--zz-desktop-content)!important;
  }
  body[data-zp-design="public"] #app main.solutions-v45 .solutions-v45-hero h1 {
    font-size:52px!important;
  }

}
@media (min-width:901px) and (max-width:1199px) {
  body[data-zp-design="public"] #app main.zp-home .ap-hero h1 {font-size:42px!important;}
  body[data-zp-design="public"] #app main.zp-home .ap-hero p {font-size:16px!important;}
  body[data-zp-design="public"] #app main.ip-page .pv-hero-copy h1,
  body[data-zp-design="public"] #app main.zz-oem-refined :is(.cat-hero-copy,.supp-hero-copy) h1,
  body[data-zp-design="public"] #app main.np-page .np-hero-copy h1 {font-size:44px!important;}
  body[data-zp-design="public"] #app main .products-hero-copy-v36 h1 {font-size:44px!important;}
  body[data-zp-design="public"] #app main.zz-about-refined h1 {font-size:42px!important;}
}

/* Homepage OEM and inquiry: full-width backgrounds, balanced desktop content. */
@media (min-width:901px) {
  body[data-zp-design="public"] #app main.zp-home .ap-branding {
    grid-template-columns:minmax(0,35fr) minmax(0,65fr)!important;
    gap:40px!important;
    padding-top:56px!important;
    padding-bottom:56px!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-branding > div {
    min-width:0;
    padding-right:0!important;
    max-width:440px;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-branding > img {
    width:100%!important;
    height:auto!important;
    aspect-ratio:2048/683!important;
    object-fit:contain!important;
    border-radius:16px!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-inquiry {
    padding-top:56px!important;
    padding-bottom:56px!important;
    min-height:440px!important;
    background-position:center!important;
    background-size:cover!important;
    box-sizing:border-box!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-inquiry-content {
    box-sizing:border-box;
    width:min(580px,48%)!important;
    max-width:580px!important;
    margin-left:auto!important;
    margin-right:0!important;
    padding:32px!important;
    border:1px solid rgba(255,255,255,.85);
    border-radius:20px;
    background:rgba(255,253,249,.9);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    box-shadow:0 16px 44px rgba(64,49,34,.09);
  }
  body[data-zp-design="public"] #app main.zp-home .ap-inquiry h2 {
    max-width:440px;
    font-size:30px!important;
    line-height:1.2!important;
    margin:0 0 24px!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-inquiry-form {
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-inquiry :is(input,select) {
    height:48px!important;
    font-size:15px!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-inquiry label {
    font-size:14px!important;
    gap:8px!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-inquiry .zp-button {
    width:100%!important;
    min-height:48px!important;
    margin-top:4px;
  }
}
@media (min-width:901px) and (max-width:1199px) {
  body[data-zp-design="public"] #app main.zp-home .ap-branding {gap:24px!important;}
  body[data-zp-design="public"] #app main.zp-home .ap-branding h2 {font-size:34px!important;}
  body[data-zp-design="public"] #app main.zp-home .ap-inquiry-content {
    width:50%!important;
    padding:26px!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-inquiry h2 {font-size:27px!important;}
}


/* Keep original artwork proportions and bounded product subjects on wide monitors. */
@media (min-width:901px) {
  body[data-zp-design="public"] #app main.zp-home .ap-hero .zzhero-slide,
  body[data-zp-design="public"] #app main.zp-home .ap-hero .zzhero-slide:first-child {
    background-size:cover!important;
    background-position:center!important;
  }
  body[data-zp-design="public"] #app main.zp-home .rp-circle {
    max-width:220px!important;
    margin-inline:auto!important;
  }
  body[data-zp-design="public"] #app main.zp-home .rp-card-photo {
    aspect-ratio:auto!important;
    height:clamp(230px,19vw,360px)!important;
  }
  body[data-zp-design="public"] #app main.zp-home .rp-card-photo img {
    max-width:360px!important;
    max-height:320px!important;
    object-fit:contain!important;
  }
  body[data-zp-design="public"] #app main.zp-home .zz-home-solution-card {
    grid-template-columns:minmax(0,1.09fr) minmax(0,.91fr)!important;
    min-height:clamp(355px,24vw,650px)!important;
  }
  body[data-zp-design="public"] #app main.zp-home .zz-home-solution-copy p {
    max-width:40ch!important;
  }
  body[data-zp-design="public"] #app main.zp-home .zz-home-scenario-card {
    min-height:clamp(300px,20vw,540px)!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-branding > img {
    max-width:2048px!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-inquiry {
    min-height:clamp(440px,32vw,1000px)!important;
    display:flex!important;
    align-items:center!important;
  }
  body[data-zp-design="public"] #app main.zp-home .ap-steps > div {
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  body[data-zp-design="public"] #app main.zp-home :is(.rp-card-copy,.zz-home-solution-copy,.zz-home-scenario-copy) {
    min-width:0;
  }
  body[data-zp-design="public"] #app main.zp-home :is(.rp-card-copy h3,.rp-category b) {
    overflow-wrap:anywhere;
  }
  body[data-zp-design="public"] #app main.ip-page .pv-hero-media img {
    transform:none!important;
  }
}

/* Prevent aspect-ratio minimum heights from transferring into oversized hero widths. */
body[data-zp-design="public"] #app main .products-hero-v36 {
  width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
}
body[data-zp-design="public"] #app main .products-hero-grid {
  min-width:0!important;box-sizing:border-box!important;
}
@media (min-width:901px) {
  body[data-zp-design="public"] #app main.ip-page .pv-hero {
    width:100%!important;max-width:100%!important;min-width:0!important;
    box-sizing:border-box!important;
  }
  body[data-zp-design="public"] #app main.ip-page .pv-hero-copy {
    box-sizing:border-box!important;
    padding-bottom:42px!important;
  }
  /* The hero media is decorative and must not determine the Contact grid height. */
  body[data-zp-design="public"] #app main.zzcontact-page .zzcontact-hero-grid {
    min-height:540px!important;height:auto!important;
  }
  body[data-zp-design="public"] #app main.zzcontact-page .zzcontact-hero-media {
    position:relative!important;min-height:0!important;
  }
  body[data-zp-design="public"] #app main.zzcontact-page .zzcontact-hero-media > img {
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
    object-fit:cover!important;
  }
}
@media (min-width:1280px) {
  body[data-zp-design="public"] #app > header.site-header.zp-public-header .header-inner {
    padding-inline:20px!important;gap:16px!important;
  }
  body[data-zp-design="public"] #app > header.site-header.zp-public-header .brand {
    width:180px!important;min-width:180px!important;flex:0 0 180px!important;
  }
  body[data-zp-design="public"] #app > header.site-header.zp-public-header .brand img.zp-original-logo {
    width:180px!important;max-width:100%!important;
  }
  body[data-zp-design="public"] #app > header.site-header.zp-public-header .main-nav {
    display:flex!important;position:static!important;inset:auto!important;
    flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;
    width:auto!important;min-width:0!important;max-height:none!important;overflow:visible!important;
    padding:0!important;gap:0!important;background:transparent!important;border:0!important;box-shadow:none!important;
  }
  body[data-zp-design="public"] #app > header.site-header.zp-public-header .main-nav a {
    padding:12px 8px!important;font-size:12px!important;min-height:0!important;white-space:nowrap;
  }
  body[data-zp-design="public"] #app > header.site-header.zp-public-header .header-cta {
    flex-shrink:0;font-size:12px!important;padding-inline:14px!important;gap:8px!important;
  }
  body[data-zp-design="public"] #app > header.site-header.zp-public-header .menu-toggle {display:none!important;}
}
