/* Chinese responsive content. Legacy desktop styling remains authoritative above 1024px. */
.winsom-responsive .ws-category-filter,
.winsom-responsive .ws-case-more,
.winsom-responsive .ws-case-fallback,
.winsom-responsive .ws-hero-pause { display: none; }
.winsom-responsive .ws-field-row label { display: contents; }
.winsom-responsive .ws-book-label,
.winsom-responsive .ws-legacy-fallback { display: none; }
.ws-home-book-title, .ws-search-tools, .ws-search-more, .ws-search-count, .ws-search-pagination { display: none; }
.ws-home-intro, .ws-mobile-product, .ws-news-heading, .ws-news-archive, .ws-section-more-label, .ws-news-dots, .ws-project-summary { display: none; }
.winsom-responsive :where(.ws-content, .ws-home) :focus-visible,
.winsom-responsive .ws-hero :focus-visible,
.ws-fragment :focus-visible { outline: 2px solid #01633a; outline-offset: 3px; }
.ws-news-controls, .ws-news-legacy-state { display: none; }
@media (min-width: 1024.01px) {
  .ws-news-accessible:focus-within .btn-prev,
  .ws-news-accessible:focus-within .btn-next { display: block !important; }
}
.winsom-responsive .ws-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}

@media (max-width: 1024px) {
  /* Existing category banners are 1680 x 165; reserve their ratio from first paint. */
  .winsom-responsive .bannarspicculture,
  .winsom-responsive .ws-section-banner { height: auto !important; min-height: 0; aspect-ratio: var(--ws-banner-ratio, 1680 / 165); background-size: 100% 100% !important; }
  .winsom-responsive :where(.ws-content, .ws-home) { font-size: 16px; line-height: 1.75; }
  .winsom-responsive :where(.ws-content, .ws-home) :focus-visible,
  .winsom-responsive .ws-hero :focus-visible { outline: 2px solid #01633a; outline-offset: 3px; }
  .winsom-responsive :where(.ws-content, .ws-home) :where(div, ul, li, table, td, img, input, textarea, select, button) { box-sizing: border-box; }
  .winsom-responsive .ws-content .maintext {
    width: 100% !important; max-width: 990px; margin: 0 auto !important;
    padding: 0 16px; display: flex; flex-wrap: wrap; gap: 24px;
  }
  .winsom-responsive .ws-content .maintext > div[style*="clear"] { display: none; }
  .winsom-responsive .ws-content .leftpage {
    float: none !important; flex: 0 0 210px; width: 210px !important; padding: 0 !important;
  }
  .winsom-responsive .ws-content .rightpage {
    float: none !important; flex: 1; width: 0 !important; min-width: 0; max-width: 100%;
  }
  .winsom-responsive .ws-content :where(.contenttext, .textcontentt, .newscate, .newscate > ul) {
    width: 100% !important; min-width: 0 !important; max-width: 100%; height: auto; float: none;
  }
  .winsom-responsive .ws-content .contenttext { padding: 24px 0; overflow-wrap: anywhere; }
  .winsom-responsive .ws-content .textcontentt { height: 4px; }
  .winsom-responsive .ws-content .newscate > ul { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 0; }
  .winsom-responsive .ws-content .newscate :where(.catename, .cateposition) {
    float: none !important; width: auto !important; max-width: 100%; height: auto;
    text-align: left !important; line-height: 1.6; margin: 0;
  }
  .winsom-responsive .ws-content .catename { font-size: clamp(20px, 2.5vw, 24px); }
  .winsom-responsive .ws-content .cateposition { font-size: 13px; align-self: center; }
  .winsom-responsive .ws-content .contenttext :where(p, div, h1, h2, h3, h4) { max-width: 100%; }
  .winsom-responsive .ws-content .contenttext img { max-width: 100% !important; height: auto !important; }
  .winsom-responsive .ws-content .contenttext p { font-size: 16px !important; line-height: 1.8 !important; }

  /* Reflow layout tables, retaining technical tables as independent scroll regions. */
  .winsom-responsive .ws-content .ws-layout-wrap { overflow: visible; width: 100%; }
  .winsom-responsive .ws-content .ws-layout-table,
  .winsom-responsive .ws-content .ws-layout-table > tbody,
  .winsom-responsive .ws-content .ws-layout-table > tbody > tr,
  .winsom-responsive .ws-content .ws-layout-table > tbody > tr > td {
    display: block; width: 100% !important; height: auto !important; min-width: 0; max-width: 100%;
    float: none; padding-left: 0 !important; padding-right: 0 !important;
  }
  .winsom-responsive .ws-content .table-responsive {
    max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain; scrollbar-color: #01633a #edf2ef; scrollbar-width: thin;
  }
  .winsom-responsive .ws-content .table-responsive > table { min-width: var(--ws-table-min, auto); max-width: none; }
  .winsom-responsive .ws-product-detail #preview,
  .winsom-responsive .ws-product-detail #spec-n1 { max-width: 100%; width: 350px; height: auto !important; margin: 0 auto; }
  .winsom-responsive .ws-product-detail #spec-n1 img { display: block; width: 100% !important; height: auto !important; }
  .winsom-responsive .ws-product-detail :where(.zoomdiv, .jqZoomPup) { display: none !important; }
  .winsom-responsive .ws-product-detail .ws-product-tabs {
    display: flex; width: 100% !important; overflow-x: auto !important; margin-top: 24px;
  }
  .winsom-responsive .ws-product-detail .ws-product-tabs a {
    display: flex; flex: 1 0 90px; float: none; align-items: center; justify-content: center;
    min-width: 44px; min-height: 44px; height: auto; line-height: 1.5; font-size: 15px;
  }
  .winsom-responsive .ws-product-detail .ws-product-panel {
    width: 100% !important; float: none !important; min-height: 0 !important; padding: 16px !important;
  }
  .winsom-responsive .ws-product-detail .ws-product-panel p { margin-bottom: 12px; }

  /* List templates retain their repeaters; the rendered items become grid cells. */
  .winsom-responsive .ws-product-grid,
  .winsom-responsive .ws-project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
  .winsom-responsive .ws-product-grid > :not(.productpic),
  .winsom-responsive .ws-project-grid > :not(.ws-project-card) {
    grid-column: 1 / -1; width: 100% !important; float: none !important; min-width: 0;
  }
  .winsom-responsive .ws-product-grid .productpic {
    width: 100% !important; min-width: 0; height: auto !important; float: none !important;
    margin: 0 !important; padding: 0 !important; border: 0; text-align: left;
  }
  .winsom-responsive .ws-product-grid .productpic > div { width: 100% !important; height: auto; }
  .winsom-responsive .ws-product-grid .productpic a { display: block; min-height: 44px; line-height: 1.5; padding: 10px 0; font-size: 16px; }
  .winsom-responsive .ws-product-grid .productpic > div:first-child a { padding: 0; }
  .winsom-responsive .ws-product-grid .productpic img {
    display: block; width: 100% !important; height: auto !important; aspect-ratio: 205 / 190; object-fit: contain; background: #f6f7f6;
  }
  .winsom-responsive .ws-project-grid .ws-project-card {
    width: 100% !important; height: auto !important; min-width: 0; float: none !important; margin: 0 !important;
    display: flex; flex-direction: column; padding-bottom: 20px;
  }
  .winsom-responsive .ws-project-card :where(div) {
    float: none !important; width: 100% !important; height: auto !important;
    padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important;
  }
  .winsom-responsive .ws-project-card > div:first-child img {
    display: block; width: 100% !important; height: auto !important; aspect-ratio: 7 / 5; object-fit: cover; padding: 0; border: 0;
  }
  .winsom-responsive .ws-project-card > div:last-child { display: flex; flex-direction: column; flex: 1; }
  .winsom-responsive .ws-project-card > div:last-child > div:first-child a {
    display: block; font-size: 18px !important; line-height: 1.6; min-height: 44px; padding: 12px 0 8px;
  }
  .winsom-responsive .ws-project-card > div:last-child > div:nth-child(2) {
    font-size: 15px; line-height: 1.8; overflow: hidden !important;
    display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; max-height: 7.2em;
  }
  .winsom-responsive .ws-project-card > div:last-child > div:last-child { margin-top: auto; }
  .winsom-responsive .ws-project-card > div:last-child > div:last-child a { display: inline-flex; align-items: center; min-height: 44px; }
  .winsom-responsive .ws-content #dcms_pager { max-width: 100%; width: 100% !important; white-space: normal; }
  .winsom-responsive .ws-content #dcms_pager a { font-size: 14px; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 6px !important; }

  /* Case detail gallery uses its existing images and click handlers. */
  .winsom-responsive .ws-project-detail :where(.pro_bg, #container, #gallery) { width: 100% !important; min-width: 0; }
  .winsom-responsive .ws-project-detail .contenttext > div:first-child { height: auto !important; line-height: 1.6; float: none !important; padding-bottom: 20px; }
  .winsom-responsive .ws-project-detail .ad-image-wrapper { width: 100%; height: auto; aspect-ratio: 700 / 450; }
  .winsom-responsive .ws-project-detail .ad-image {
    left: 0 !important; top: 0 !important; width: 100% !important; height: 100% !important;
    display: flex; align-items: center; justify-content: center;
  }
  .winsom-responsive .ws-project-detail .ad-image img { width: auto !important; height: auto !important; max-height: 100%; max-width: 100% !important; padding: 0; border: 0; }
  .winsom-responsive .ws-project-detail .ad-thumbs { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .winsom-responsive .ws-project-detail .ad-thumb-list { display: flex; width: max-content !important; left: 0 !important; padding: 4px 0; }
  .winsom-responsive .ws-project-detail .ad-thumb-list li { flex: 0 0 auto; float: none; }
  .winsom-responsive .ws-project-detail .ad-thumb-list a { display: block; min-width: 44px; min-height: 44px; }
  .winsom-responsive .ws-project-detail .ad-thumb-list img { height: 70px !important; width: auto !important; max-width: none !important; }
  .winsom-responsive .ws-project-detail :where(.ad-forward, .ad-back) { display: none !important; }
  .winsom-responsive .ws-project-detail .ad-controls { min-height: 44px; }
  .winsom-responsive .ws-project-detail .ad-slideshow-controls span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }

  /* The original messageForm action, names, IDs and onsubmit handler are preserved. */
  .winsom-responsive .ws-inquiry .contenttext { background: none !important; }
  .winsom-responsive .ws-inquiry .ws-layout-table > tbody > tr > td { padding-top: 0 !important; padding-bottom: 0 !important; text-align: left; }
  .winsom-responsive .ws-inquiry #messageForm { width: 100%; margin-top: 24px; }
  .winsom-responsive .ws-inquiry .ws-field-row { margin-bottom: 20px; }
  .winsom-responsive .ws-inquiry label { display: block; font-size: 16px; line-height: 1.5; margin-bottom: 8px; color: #26342d; }
  .winsom-responsive .ws-inquiry .ws-field-cell { display: flex !important; flex-direction: column; gap: 4px; font-size: 0; line-height: 0; }
  .winsom-responsive .ws-inquiry .ws-field-cell span { font-size: 14px; line-height: 1.4; }
  .winsom-responsive .ws-inquiry #messageForm :where(input:not([type="hidden"]):not([tabindex="-1"]), textarea, select) {
    width: 100% !important; max-width: 100%; min-height: 48px; margin: 0; padding: 12px;
    font-family: inherit; font-size: 16px; line-height: 1.5; color: #26342d;
    border: 1px solid #a6b8ae; background: #fff; border-radius: 3px; z-index: auto;
    caret-color: #01633a; scroll-margin-top: 96px;
  }
  .winsom-responsive .ws-inquiry #messageForm textarea { min-height: 144px; resize: vertical; }
  .winsom-responsive .ws-inquiry #messageForm [aria-invalid="true"] { border-color: #b42318; }
  .winsom-responsive .ws-inquiry .ws-form-actions { display: flex !important; flex-direction: column; gap: 12px; padding-bottom: env(safe-area-inset-bottom, 0px) !important; }
  .winsom-responsive .ws-inquiry #messageForm input[type="submit"] { background: #01633a; color: #fff; border-color: #01633a; font-weight: bold; cursor: pointer; }
  .winsom-responsive .ws-inquiry #messageForm input[type="reset"] { cursor: pointer; }
  .winsom-responsive .ws-contact .contenttext :where(div, p) { width: auto !important; overflow-wrap: anywhere; }
  .winsom-responsive .ws-contact .contenttext a { display: inline-block; min-height: 44px; line-height: 1.6; padding: 8px 0; }

  /* Home hero: a single visible frame, ratio derived from the existing image. */
  body.winsom-responsive #slide-index {
    min-width: 0 !important; width: 100% !important; height: auto !important; min-height: 0 !important;
    overflow: hidden; padding-bottom: 44px; background: #f3f5f4; touch-action: pan-y pinch-zoom;
  }
  body.winsom-responsive #slide-index .slides {
    min-width: 0 !important; width: 100% !important; height: auto !important; margin: 0 !important;
    position: relative; aspect-ratio: var(--ws-hero-ratio, 1680 / 556); transform: none !important;
  }
  body.winsom-responsive #slide-index .slide {
    display: none !important; width: 100% !important; min-width: 0 !important; height: 100% !important;
    float: none !important; position: absolute !important; inset: 0;
  }
  body.winsom-responsive #slide-index .slide.ws-slide-active { display: block !important; }
  body.winsom-responsive #slide-index .image { position: static !important; width: 100% !important; height: 100% !important; }
  body.winsom-responsive #slide-index .image a { display: block; width: 100%; height: 100%; }
  body.winsom-responsive #slide-index .image img { display: block; width: 100% !important; height: 100% !important; object-fit: contain; left: 0 !important; margin: 0 !important; }
  body.winsom-responsive #slide-index :where(.text, .button) { display: none !important; }
  body.winsom-responsive #slide-index .control { height: 44px; bottom: 0; display: flex; justify-content: center; align-items: center; padding-right: 90px; }
  body.winsom-responsive #slide-index .control a {
    width: 44px; height: 44px; margin: 0; opacity: 1; background: none; position: relative;
  }
  body.winsom-responsive #slide-index .control a::after {
    content: ""; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: #9dafa5; left: 18px; top: 18px;
  }
  body.winsom-responsive #slide-index .control a[aria-current="true"]::after { background: #01633a; }
  .winsom-responsive .ws-hero-pause { display: block; position: absolute; bottom: 0; right: 12px; height: 44px; min-width: 76px; background: transparent; color: #01633a; border: 0; font-size: 13px; z-index: 41; }

  /* Four original product families become two columns; news and publications reflow below. */
  .winsom-responsive .ws-home > .maincontent { width: 100% !important; max-width: 990px; margin: 0 auto !important; padding: 0 16px; }
  .winsom-responsive .ws-home .ws-home-products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
  .winsom-responsive .ws-home-products > div { grid-column: 1 / -1; width: 100% !important; height: auto !important; }
  .winsom-responsive .ws-home-products > a { display: block; min-width: 0; }
  .winsom-responsive .ws-home-products > a > div { width: 100% !important; float: none !important; margin: 0 !important; }
  .winsom-responsive .ws-home-products > a img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 232 / 156; object-fit: cover; }
  .winsom-responsive .ws-home-products h2 { font-size: clamp(20px, 2.5vw, 24px); line-height: 1.5; margin: 12px 0 8px; }
  .winsom-responsive .ws-home-products p { font-size: 15px; line-height: 1.8; }
  .winsom-responsive .ws-home :where(.homebig, .ws-home-cases > .maincontent > ul:first-child) { display: flex; justify-content: space-between; align-items: center; width: 100% !important; height: auto !important; min-height: 52px; gap: 12px; padding: 0; }
  .winsom-responsive .ws-home .homebig li { float: none !important; clear: none !important; }
  .winsom-responsive .ws-home :where(.homebig, .ws-home-cases > .maincontent > ul:first-child) a { display: inline-flex; align-items: center; min-height: 44px; }
  .winsom-responsive .ws-home .ws-home-news { display: flex; flex-direction: column; gap: 32px; padding-bottom: 32px; overflow: visible !important; }
  .winsom-responsive .ws-home-news > div { width: 100% !important; float: none !important; margin: 0 !important; }
  .winsom-responsive .ws-home-news > div:first-child > div,
  .winsom-responsive .ws-home-news :where(.stock, #tab_container1, .cls_tab_body) { width: 100% !important; height: auto !important; float: none !important; }
  .winsom-responsive .ws-home-news .cls_tab_nav { width: 100%; height: auto; overflow-x: auto; }
  .winsom-responsive .ws-home-news .cls_tab_nav > ul { display: flex; width: max-content; min-width: 100%; height: auto; }
  .winsom-responsive .ws-home-news .cls_tab_nav li { width: auto !important; flex: 1 0 auto; float: none; margin: 0; }
  .winsom-responsive .ws-home-news .cls_tab_nav a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 14px; }
  .winsom-responsive .ws-home-news .cls_div > div { display: flex; gap: 20px; width: 100% !important; height: auto !important; float: none !important; }
  .winsom-responsive .ws-home-news .cls_div > div > ul { min-width: 0; margin: 16px 0 0 !important; padding: 0; float: none !important; }
  .winsom-responsive .ws-home-news .cls_div > div > ul:last-child { flex: 1; width: auto !important; }
  .winsom-responsive .ws-home-news .litextxxx { width: 100% !important; height: auto !important; line-height: 1.6; }
  .winsom-responsive .ws-home-news .litextxxx a { display: block; padding: 10px 0; min-height: 44px; white-space: normal; font-size: 15px; }
  .winsom-responsive .ws-news-focus { flex: 0 0 334px; width: 334px !important; max-width: 100%; height: var(--ws-focus-height, 215px); overflow: hidden; }
  .winsom-responsive .ws-news-focus > div { transform: scale(var(--ws-focus-scale, 1)); transform-origin: left top; }
  .winsom-responsive .ws-home-news > div:nth-child(2) > ul { width: 100% !important; float: none !important; padding: 0; }
  .winsom-responsive .ws-home-news > div:nth-child(2) > ul > div { display: flex; flex-wrap: wrap; gap: 12px; width: 100% !important; float: none !important; }
  .winsom-responsive .ws-home-news > div:nth-child(2) > ul > div > li { float: none !important; margin: 0 !important; height: auto !important; }
  .winsom-responsive .ws-home-news > div:nth-child(2) .litext a { display: flex; align-items: center; min-height: 44px; font-size: 15px; }

  .winsom-responsive .ws-home .ws-home-cases { max-width: none; height: auto !important; background: #eef1ef !important; padding: 16px; }
  .winsom-responsive .ws-home-cases > .maincontent { width: 100% !important; max-width: 958px; height: auto !important; padding: 0; background: none !important; }
  .winsom-responsive .ws-home-cases > .maincontent > ul { padding: 0; }
  .winsom-responsive .ws-home-cases :where(.rollBox, .Cont, .ScrCont) { width: 100% !important; height: auto !important; float: none; overflow: visible; }
  .winsom-responsive .ws-home-cases #List1 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; width: 100%; float: none; }
  .winsom-responsive .ws-home-cases #List2,
  .winsom-responsive .ws-home-cases :where(.LeftBotton, .RightBotton),
  .winsom-responsive .ws-home-cases #List1.ws-case-summary > .pic:nth-child(n+7) { display: none !important; }
  .winsom-responsive .ws-home-cases .pic { width: 100% !important; min-width: 0; float: none; text-align: left; }
  .winsom-responsive .ws-home-cases :where(.mosaic-block, .mosaic-backdrop, .mosaic-overlay) { position: static !important; display: block !important; width: 100% !important; height: auto !important; margin: 0; background: transparent; }
  .winsom-responsive .ws-home-cases .mosaic-block { display: flex !important; flex-direction: column; background: transparent !important; box-shadow: none; border: 0; float: none; }
  .winsom-responsive .ws-home-cases .mosaic-backdrop { order: -1; }
  .winsom-responsive .ws-home-cases .mosaic-backdrop img { width: 100% !important; height: auto !important; aspect-ratio: 188 / 150; object-fit: cover; }
  .winsom-responsive .ws-home-cases .details { margin: 0; padding: 0; }
  .winsom-responsive .ws-home-cases .details h4 { color: #26342d; font-size: 16px; line-height: 1.6; padding-top: 10px; margin: 0; }
  .winsom-responsive .ws-home-cases .mosaic-overlay { min-height: 44px; background: transparent !important; text-shadow: none; color: #26342d; }
  .winsom-responsive .ws-case-fallback { display: block; padding-top: 10px; line-height: 1.6; font-size: 16px; }
  .winsom-responsive .ws-case-more { display: block; min-height: 48px; width: 100%; margin: 24px 0 8px; padding: 10px; border: 1px solid #01633a; color: #01633a; background: transparent; font-size: 16px; }
  .winsom-responsive .ws-home ~ .video { height: auto; aspect-ratio: 16 / 7; }
  .winsom-responsive .ws-home ~ .video .video-li-a { position: absolute !important; inset: 0; background-size: cover !important; }
  .winsom-responsive .ws-home ~ .video .video_box { width: 100%; height: auto; aspect-ratio: 16 / 9; margin: 0; left: 0; top: 0; }
  .winsom-responsive .ws-home ~ .video .video_center { width: 100%; height: 100%; margin: 0; }
  .winsom-responsive .ws-home ~ .video .close_span { width: 44px; height: 44px; line-height: 44px; right: 0; top: 0; background: #26342d; color: #fff; }
}

@media (max-width: 991.98px) {
  .winsom-responsive .ws-content .maintext { display: block; }
  .winsom-responsive .ws-content .rightpage { width: 100% !important; }
  .winsom-responsive .ws-content.ws-filter-ready .leftpage { display: none; }
  .winsom-responsive .ws-content .ws-category-filter { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
  .winsom-responsive .ws-category-filter label { flex: 0 0 auto; margin: 0; font-size: 15px; color: #01633a; }
  .winsom-responsive .ws-category-filter select { flex: 1; min-width: 0; min-height: 48px; max-width: 100%; font: inherit; font-size: 16px; padding: 10px 32px 10px 12px; color: #26342d; border: 1px solid #a6b8ae; border-radius: 3px; background-color: #fff; }
  .winsom-responsive .ws-content:not(.ws-filter-ready) .leftpage { width: 100% !important; margin-bottom: 24px; }
  .winsom-responsive .ws-content:not(.ws-filter-ready) .category_content { width: 100%; }
  .winsom-responsive .ws-content:not(.ws-filter-ready) .category_content a { min-height: 44px; }
  .winsom-responsive .ws-content:not(.ws-filter-ready) .category_content .sub { display: block !important; }
}
@media (max-width: 767.98px) {
  .winsom-responsive .ws-project-grid { grid-template-columns: minmax(0, 1fr); }
  .winsom-responsive .ws-product-grid { gap: 24px 16px; }
  .winsom-responsive .ws-product-grid .productpic a { font-size: 15px; }
  .winsom-responsive .ws-home .ws-home-products { grid-template-columns: minmax(0, 1fr); }
  .winsom-responsive .ws-home .ws-home-news .cls_div > div { flex-direction: column; gap: 0; }
  .winsom-responsive .ws-news-focus { flex-basis: auto; width: 100% !important; }
  .winsom-responsive .ws-home-cases #List1 { gap: 24px 16px; }
}

/* Phase 3: remaining public Chinese templates, including rich CMS articles. */
@media (max-width: 1024px) {
  .winsom-responsive .ws-content :where(.rightpage2, .contenttext2, .textcontentt2) { width: 100% !important; min-width: 0; max-width: 100%; float: none !important; }
  .winsom-responsive .ws-content .rightpage2 { flex: 1 0 100%; }
  .winsom-responsive .ws-content :where(.rightpage, .rightpage2) :where(img, video, object, embed) { max-width: 100% !important; height: auto !important; }
  .winsom-responsive .ws-content .ws-fluid-media { width: 100% !important; height: auto !important; aspect-ratio: var(--ws-media-ratio, 16 / 9); }
  .winsom-responsive :where(.ws-generic, .ws-article, .ws-job-detail) :where(.rightpage, .rightpage2) :where(div, p, h1, h2, h3, ul) { max-width: 100%; overflow-wrap: anywhere; }
  .winsom-responsive .ws-article .rightpage > div { float: none !important; width: 100% !important; }
  .winsom-responsive .ws-article .ws-empty-decoration { display: none !important; }
  .winsom-responsive .ws-article section { min-width: 0; max-width: 100%; box-sizing: border-box; }
  .winsom-responsive .ws-article h1 { float: none !important; width: 100% !important; font-size: clamp(22px, 3vw, 28px); line-height: 1.5; }
  .winsom-responsive .ws-article .rightpage p { max-width: 100%; font-size: 16px !important; line-height: 1.8 !important; }
  .winsom-responsive .ws-article .rightpage img { max-width: 100% !important; height: auto !important; }
  .winsom-responsive .ws-article .rightpage > div:last-child a { display: inline-block; min-height: 44px; padding: 8px 0; }

  .winsom-responsive .ws-product-overview .contenttext > div,
  .winsom-responsive .ws-product-overview .contenttext > div > div { float: none !important; width: 100% !important; }
  .winsom-responsive .ws-product-overview .contenttext > a { display: block; min-height: 44px; }
  .winsom-responsive .ws-product-overview .contenttext > a > div { min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 8px; }

  .winsom-responsive .ws-news .contenttext > ul { width: 100%; padding: 0; overflow: visible; }
  .winsom-responsive .ws-news .contenttext > ul > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 20px; width: 100% !important; height: auto !important; float: none !important; padding-bottom: 20px; }
  .winsom-responsive .ws-news .contenttext > ul > div div { width: 100% !important; min-width: 0; height: auto !important; float: none !important; padding-left: 0 !important; overflow-wrap: anywhere; }
  .winsom-responsive .ws-news .contenttext > ul > div > div:first-child img { width: 100% !important; height: auto !important; border: 0; padding: 0; }
  .winsom-responsive .ws-news .contenttext > ul > div a { display: inline-flex; align-items: center; min-height: 44px; }
  .winsom-responsive .ws-news li.litextxxx { display: flex; flex-wrap: wrap; gap: 4px 16px; width: 100% !important; height: auto !important; float: none !important; text-indent: 0 !important; padding: 12px 0 !important; line-height: 1.6; }
  .winsom-responsive .ws-news li.litextxxx a { min-height: 44px; display: flex; align-items: center; flex: 1 1 70%; width: auto !important; white-space: normal !important; font-size: 16px; line-height: 1.6; }
  .winsom-responsive .ws-news li.litextxxx span { float: none !important; width: auto !important; align-self: center; color: #59675f !important; }

  .winsom-responsive .ws-content.ws-publications .ws-book-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .winsom-responsive .ws-publications .ws-layout-table { background: none !important; }
  .winsom-responsive .ws-publications .bookpic { float: none !important; width: 100% !important; height: auto !important; min-width: 0; padding: 0 !important; margin: 0 !important; text-align: left; }
  .winsom-responsive .ws-publications .bookpic :where(div, a) { width: 100% !important; height: auto !important; }
  .winsom-responsive .ws-publications .bookpic a { display: block; min-height: 44px; font-size: 16px; line-height: 1.6; }
  .winsom-responsive .ws-publications .bookpic img { display: block; width: 100% !important; height: auto !important; max-height: 420px; object-fit: contain; object-position: left; }
  .winsom-responsive .ws-book-label { display: block; padding: 10px 0; }
  .winsom-responsive .ws-publications :where(.pages, #DcmsPage, #DcmsPage_PageInfo) { max-width: 100%; }
  .winsom-responsive .ws-publications .ws-book-grid > :not(.bookpic) { grid-column: 1 / -1; }

  .winsom-responsive .ws-jobs .contenttext { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .winsom-responsive .ws-jobs .contenttext > :not(.positi) { grid-column: 1 / -1; width: 100% !important; float: none !important; }
  .winsom-responsive .ws-jobs .positi { width: 100% !important; height: auto !important; min-width: 0; float: none !important; margin: 0; display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 12px; }
  .winsom-responsive .ws-jobs .positi > div { float: none !important; width: 100% !important; height: auto !important; min-width: 0; }
  .winsom-responsive .ws-jobs .positi > div:last-child { grid-column: 1 / -1; color: #59675f !important; }
  .winsom-responsive .ws-jobs .positi a { display: inline-block; min-height: 44px; }
  .winsom-responsive .ws-job-detail td.tittle2 { font-size: 16px; font-weight: bold; padding: 12px 0 4px !important; }
  .winsom-responsive .ws-links .contenttext2 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .winsom-responsive .ws-links .lkpic { float: none !important; width: 100% !important; min-width: 0; height: auto !important; margin: 0; }
  .winsom-responsive .ws-links .lkpic div { float: none !important; width: 100% !important; height: auto !important; }
  .winsom-responsive .ws-links .lkpic a { display: block; min-height: 44px; font-size: 16px; line-height: 1.6; }
  .winsom-responsive .ws-links .lkpic img { width: auto !important; height: auto !important; max-width: 100% !important; }
  .winsom-responsive .ws-search .fullsearch { overflow-wrap: anywhere; }
  .winsom-responsive .ws-search .search-title { display: inline-block; min-height: 44px; line-height: 1.6; padding: 8px 0; }
  .winsom-responsive .ws-search .search-pager { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; }
  .winsom-responsive .ws-search .search-pager :where(a, b) { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; margin: 0; }

  .winsom-responsive .ws-home-alt > :where(.container, .container-fluid) { width: 100%; max-width: 990px; padding: 0 16px; }
  .winsom-responsive .ws-home-alt .ws-home-products > .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 0; }
  .winsom-responsive .ws-home-alt .ws-home-products > .row > div { width: 100%; padding: 0; }
  .winsom-responsive .ws-home-alt .ws-home-products > .row img { width: 100%; height: auto; }
  .winsom-responsive .ws-home-alt .ws-home-cases { height: auto !important; padding: 16px 0; background: #eef1ef; }

  body.winsom-responsive.ws-standalone { margin: 16px; width: auto; min-width: 0; font-family: "Microsoft YaHei", sans-serif; }
  body.winsom-responsive.ws-standalone > div { max-width: 100%; width: 100% !important; height: auto !important; }
  .winsom-responsive.ws-standalone object,
  .winsom-responsive .ws-legacy-object { display: none; }
  .winsom-responsive .ws-legacy-fallback { display: block; width: 100%; box-sizing: border-box; padding: 20px; background: #fff; color: #26342d; font-size: 16px; line-height: 1.7; }
  .winsom-responsive .ws-legacy-fallback a { display: block; min-height: 44px; color: #01633a; padding: 10px 0; }
  .winsom-responsive .ws-publication-pages { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .winsom-responsive .ws-publication-pages img { width: 100%; height: auto; display: block; }
  .ws-fragment { max-width: 100%; box-sizing: border-box; }
  .ws-weix { padding: 16px; text-align: center; font-size: 16px; line-height: 1.6; }
  .ws-weix img { max-width: 100%; height: auto; }
  .ws-leftexper2 { width: 334px; height: var(--ws-embed-height, 215px); overflow: hidden; }
  .ws-leftexper2 > #focus { transform: scale(var(--ws-embed-scale, 1)); transform-origin: left top; }
  .winsom-responsive .ws-news-focus.ws-news-accessible { height: calc(var(--ws-focus-height, 215px) + 44px); }
  .ws-leftexper2.ws-news-accessible { height: calc(var(--ws-embed-height, 215px) + 44px); }
  .ws-news-accessible .btn-prev, .ws-news-accessible .btn-next { display: none !important; }
  .ws-news-controls { position: absolute; bottom: 0; left: 0; display: flex; justify-content: space-between; width: 100%; height: 44px; background: #f3f5f4; }
  .ws-news-accessible { position: relative; }
  .ws-news-controls button { min-width: 44px; min-height: 44px; padding: 0 10px; background: transparent; color: #01633a; font: 14px/1.5 "Microsoft YaHei", sans-serif; cursor: pointer; }
  .ws-news-controls button:disabled { color: #59675f; cursor: default; }
  body.ws-wx-article #page-content { box-sizing: border-box; width: 100%; padding: 16px; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
  body.ws-wx-article #page-content :where(div, p, section, img, video, iframe) { box-sizing: border-box; max-width: 100% !important; }
  body.ws-wx-article #page-content img { height: auto !important; }
  body.ws-wx-article #page-content h1 { font-size: clamp(22px, 3vw, 28px); line-height: 1.5; }
}
@media (max-width: 767.98px) {
  .winsom-responsive .ws-news .contenttext > ul > div,
  .winsom-responsive .ws-jobs .contenttext,
  .winsom-responsive .ws-home-alt .ws-home-products > .row,
  .winsom-responsive .ws-publication-pages { grid-template-columns: minmax(0, 1fr); }
  .winsom-responsive .ws-links .contenttext2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Review feedback: fill the available publication space and render hidden-tab slides fluidly. */
@media (max-width: 1024px) {
  .winsom-responsive .ws-home-publications .ws-publication-covers {
    display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 2.5vw, 24px) !important;
    align-items: start; padding: 20px 0 0;
  }
  .winsom-responsive .ws-publication-covers > li {
    width: auto !important; min-width: 0; padding: 0 !important; border: 0 !important; height: auto !important;
  }
  .winsom-responsive .ws-publication-covers a { display: block; min-height: 44px; color: #26342d; }
  .winsom-responsive .ws-publication-covers img { display: block; width: 100% !important; height: auto !important; }
  .winsom-responsive .ws-home-book-title { display: block; padding-top: 10px; font-size: 14px; line-height: 1.6; }
  .winsom-responsive .ws-home-publications .ws-manual-links { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px !important; }
  .winsom-responsive .ws-manual-links > li { width: auto !important; min-width: 0; border-bottom: 1px solid #dce4df; }
  .winsom-responsive .ws-manual-links a { padding: 10px 0 !important; background: none !important; text-indent: 0; }
  .winsom-responsive .ws-news-focus.ws-news-accessible, .ws-leftexper2.ws-news-accessible { height: auto !important; overflow: hidden; }
  .winsom-responsive .ws-news-focus > .ws-news-slider, .ws-leftexper2 > .ws-news-slider {
    transform: none !important; position: relative !important; float: none !important; width: 100% !important; height: auto !important; overflow: hidden;
  }
  .ws-news-slider [id$="-bar-box"], .ws-news-slider .tempWrap, .ws-news-slider [id$="-bar-box"] ul {
    position: relative !important; width: 100% !important; height: auto !important; left: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden;
  }
  .ws-news-slider [id$="-bar-box"] ul > li { display: none !important; }
  .ws-news-slider [id$="-bar-box"] ul > li.ws-news-slide-active { display: block !important; float: none !important; width: 100% !important; height: auto !important; aspect-ratio: 334 / 215; }
  .ws-news-slider [id$="-bar-box"] li a, .ws-news-slider [id$="-bar-box"] li img { display: block; width: 100% !important; height: 100% !important; }
  .ws-news-slider [id$="-bar-box"] li img { object-fit: cover; min-height: 0 !important; }
  .ws-news-slider .hd { position: absolute; inset: auto 0 0; z-index: 2; width: 100% !important; height: auto !important; background: rgb(4 35 22 / 78%); }
  .ws-news-slider [id$="-title"] { position: static !important; width: auto !important; height: auto !important; padding: 8px 12px; font-size: 14px; line-height: 1.5; }
  .ws-news-slider [id$="-title"] a { color: #fff !important; }
  .ws-news-slider .ft { display: none !important; }
  .ws-news-accessible .ws-news-controls { position: static; clear: both; }

  /* Compact search preserves the complete server result set and its original page URLs. */
  .winsom-responsive.ws-search-page .ws-search-banner,
  .winsom-responsive.ws-search-page .winsom-footer-links,
  .winsom-responsive .ws-search :where(.leftpage, .newscate, .textcontentt) { display: none !important; }
  .winsom-responsive .ws-search .maintext { display: block; }
  .winsom-responsive .ws-search .rightpage { width: 100% !important; }
  .winsom-responsive .ws-search .contenttext { padding: 20px 0 28px; }
  .winsom-responsive .ws-search-tools { display: block; margin-bottom: 12px; }
  .winsom-responsive .ws-search-tools form { display: flex; gap: 8px; }
  .winsom-responsive .ws-search-tools input { min-width: 0; width: 100%; height: 48px; padding: 12px; border: 1px solid #9bb0a3; border-radius: 4px; color: #26342d; font: 16px/1.5 "Microsoft Yahei", Arial, sans-serif; background: #fff; }
  .winsom-responsive .ws-search-tools button { flex: 0 0 68px; min-height: 48px; border: 0; border-radius: 4px; font: 16px/1.5 "Microsoft Yahei", Arial, sans-serif; background: #01633a; color: #fff; cursor: pointer; }
  .winsom-responsive .ws-search .search-result-head { font-size: 14px; color: #52695b; padding: 4px 0 16px; margin: 0; border-bottom: 1px solid #cbd8d0; }
  .winsom-responsive .ws-search .search-item { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; padding: 18px 0; border-bottom: 1px solid #e1e8e3; scroll-margin-top: calc(var(--ws-header-height) + 60px); }
  .winsom-responsive .ws-search .search-type { grid-column: 1; grid-row: 1; padding: 0; margin: 0; color: #01633a; background: none; font-size: 12px; line-height: 1.5; }
  .winsom-responsive .ws-search .search-time { grid-column: 2; grid-row: 1; margin: 0; color: #52695b; font-size: 12px; line-height: 1.5; }
  .winsom-responsive .ws-search .search-title { grid-column: 1 / -1; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; min-height: 44px; max-height: 48px; padding: 0; font-size: 17px; line-height: 24px; color: #183c2b; }
  .winsom-responsive .ws-search .search-summary { grid-column: 1 / -1; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; max-height: 44px; margin: 0; color: #52695b; font-size: 14px; line-height: 22px; }
  .winsom-responsive .ws-search :where(.search-summary, .search-title) span { color: #01633a !important; }
  .winsom-responsive .ws-search .ws-search-deferred { display: none; }
  .winsom-responsive .ws-search-more { display: block; width: 100%; min-height: 48px; margin: 20px 0 8px; border: 1px solid #9bb0a3; border-radius: 4px; background: #f1f6f3; color: #01633a; font: 16px/1.5 "Microsoft Yahei", Arial, sans-serif; cursor: pointer; }
  .winsom-responsive .ws-search-more[hidden] { display: none; }
  .winsom-responsive .ws-search-count { display: block; margin: 12px 0; color: #52695b; font-size: 13px !important; text-align: center; }
  .winsom-responsive .ws-search .search-pager { display: none; }
  .winsom-responsive .ws-search-pagination { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 20px; font-size: 14px; }
  .winsom-responsive .ws-search-pagination :where(a, span) { font-size: 14px; display: flex; min-height: 44px; align-items: center; justify-content: center; padding: 0 8px; }
  .winsom-responsive .ws-search-pagination a { color: #01633a; min-width: 76px; border: 1px solid #b8cabe; border-radius: 4px; }
  .winsom-responsive .ws-search-pagination .ws-disabled { color: #687b70; }
}

/* Mobile/tablet visual refinement: compact product overview and distinct content floors. */
@media (max-width: 1024px) {
  body.winsom-responsive { --ws-surface: #f7f8fa; --ws-muted: #58635e; --ws-gutter: 16px; font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif; }
  .winsom-responsive .ws-home { display: flex; flex-direction: column; width: 100%; background: #fff; }
  .winsom-responsive .ws-home > div:not(.maincontent):not(.container):not(.container-fluid) { display: none; }
  .winsom-responsive .ws-home > .maincontent { max-width: none; }
  .winsom-responsive .ws-home-intro { display: block; padding: 32px var(--ws-gutter) 36px; max-width: 990px; width: 100%; margin: 0 auto; box-sizing: border-box; }
  .winsom-responsive .ws-home-intro h2 { margin: 0 0 12px; color: var(--ws-ink); font-size: clamp(26px, 4vw, 30px); line-height: 1.4; font-weight: 600; letter-spacing: -.02em; text-wrap: balance; }
  .winsom-responsive .ws-home-intro-title-end { display: inline-block; }
  .winsom-responsive .ws-home-intro p { max-width: 34em; color: var(--ws-muted); margin: 0 0 8px; font-size: 15px; line-height: 1.8; }
  .winsom-responsive .ws-text-link { display: inline-flex; min-height: 44px; align-items: center; color: var(--ws-brand); font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
  body.winsom-responsive #slide-index { padding-bottom: 0; background: #fff; }
  body.winsom-responsive #slide-index .control { position: absolute; left: 50% !important; right: auto; top: auto; bottom: 0; width: max-content !important; max-width: 100%; height: 44px; margin: 0 !important; padding: 0; transform: translateX(-50%); background: none !important; z-index: 41; }
  body.winsom-responsive #slide-index .control::before { content: ''; position: absolute; height: 18px; left: 8px; right: 8px; top: 13px; border-radius: 12px; background: rgb(15 35 25 / 40%); pointer-events: none; }
  body.winsom-responsive #slide-index .control a { width: 44px; height: 44px; flex: 0 0 44px; }
  body.winsom-responsive #slide-index .control a::after { width: 6px; height: 6px; top: 19px; left: 19px; background: rgb(255 255 255 / 65%); }
  body.winsom-responsive #slide-index .control a[aria-current='true']::after { width: 16px; left: 14px; border-radius: 6px; background: #fff; }
  .winsom-responsive .ws-home .ws-home-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 32px var(--ws-gutter) 36px; background: var(--ws-surface); }
  .winsom-responsive .ws-home-products > div:first-child { margin-bottom: 8px; }
  .winsom-responsive .ws-home-products > a { display: block; overflow: hidden; border-radius: 12px; background: #fff; box-shadow: 0 2px 8px rgb(28 45 36 / 4%); text-decoration: none; }
  .winsom-responsive .ws-home-products > a > div { height: 100% !important; }
  .winsom-responsive .ws-home-products > a img { aspect-ratio: 3 / 2; border: 0; }
  .winsom-responsive .ws-home-products h2 { margin: 0; padding: 12px; color: var(--ws-ink); font-size: 16px; font-weight: 500; line-height: 1.5; }
  .winsom-responsive .ws-home-products p { display: none; }
  .winsom-responsive .ws-home-products > a:focus-visible { outline-offset: 3px; }
  .winsom-responsive .ws-home-products > a:active { background: #eaf1ed; }
  .winsom-responsive .ws-home :where(.homebig, .ws-home-cases > .maincontent > ul:first-child) { background: none !important; border: 0; min-height: 44px; height: auto !important; margin: 0 0 20px; }
  .winsom-responsive .ws-home :where(.homebig, .ws-home-cases > .maincontent > ul:first-child) li:first-child a { font-size: 22px; font-weight: 500; line-height: 1.4; color: var(--ws-ink); }
  .winsom-responsive .ws-home :where(.homebig, .ws-home-cases > .maincontent > ul:first-child) li:last-child a { min-width: 44px; color: var(--ws-muted); text-decoration: none; }
  .winsom-responsive .ws-home :where(.homebig, .ws-home-cases > .maincontent > ul:first-child) li:last-child img { display: none; }
  .winsom-responsive .ws-section-more-label { display: inline; font-size: 13px; line-height: 1.5; white-space: nowrap; }
  .winsom-responsive .ws-home .ws-home-cases { background: #fff !important; padding: 32px var(--ws-gutter) 36px; }
  .winsom-responsive .ws-home-cases > .maincontent { max-width: 990px; margin: 0 auto; }
  .winsom-responsive .ws-home-cases #List1 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
  .winsom-responsive .ws-home-cases #List1 > .pic { display: none; }
  .winsom-responsive .ws-home-cases #List1 > .ws-case-featured { display: block; }
  .winsom-responsive .ws-home-cases .ws-case-lead { grid-column: 1 / -1; }
  .winsom-responsive .ws-home-cases .mosaic-backdrop img { display: block; aspect-ratio: 4 / 3; border-radius: 8px; }
  .winsom-responsive .ws-home-cases .ws-case-lead .mosaic-backdrop img { aspect-ratio: 16 / 9; }
  .winsom-responsive .ws-home-cases .details h4 { padding-top: 8px; font-size: 15px; font-weight: 500; line-height: 1.6; }
  .winsom-responsive .ws-home .ws-home-news { padding: 0 !important; gap: 0; margin: 0 !important; background: var(--ws-surface); }
  .winsom-responsive .ws-home-news > .ws-news-section { padding: 32px var(--ws-gutter) 36px; max-width: 990px; margin: 0 auto !important; }
  .winsom-responsive .ws-news-heading { display: flex; align-items: center; min-height: 44px; margin-bottom: 16px; }
  .winsom-responsive .ws-news-heading h2 { margin: 0; font-size: 22px; line-height: 1.4; color: var(--ws-ink); font-weight: 500; }
  .winsom-responsive .ws-home-news .cls_tab_nav { width: 100% !important; height: auto; overflow: visible; background: none !important; border: 0; }
  .winsom-responsive .ws-home-news .cls_tab_nav > ul { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); width: 100%; min-width: 0; height: auto; padding: 0; margin: 0; border-bottom: 1px solid #dbe2de; }
  .winsom-responsive .ws-home-news .cls_tab_nav :where(li, a, span) { background: none !important; background-image: none !important; }
  .winsom-responsive .ws-home-news .cls_tab_nav li { display: block; float: none !important; width: auto !important; height: auto; min-width: 0; margin: 0; padding: 0; overflow: visible; }
  .winsom-responsive .ws-home-news .cls_tab_nav a { min-height: 46px; padding: 0; border-bottom: 2px solid transparent; font-size: 14px !important; font-weight: 400 !important; line-height: 1.5; color: #343f39 !important; white-space: nowrap; text-decoration: none; }
  .winsom-responsive .ws-home-news .cls_tab_nav a span { color: inherit !important; }
  .winsom-responsive .ws-home-news .cls_tab_nav a.ws-news-active { border-bottom-color: var(--ws-brand); color: var(--ws-brand) !important; font-weight: 600 !important; }
  .winsom-responsive .ws-home-news .cls_tab_body { min-height: 0; padding-top: 20px; }
  .winsom-responsive .ws-home-news .cls_div > div > ul { margin-top: 0 !important; }
  .winsom-responsive .ws-home-news .cls_div > div > ul:last-child { margin-top: 12px !important; }
  .winsom-responsive .ws-home-news .litextxxx { background: none !important; border-bottom: 1px solid #dce3df; padding: 0 !important; }
  .winsom-responsive .ws-home-news .litextxxx a { padding: 12px 0; color: var(--ws-ink); font-size: 15px; line-height: 1.65; }
  .winsom-responsive .ws-home-news .litextxxx:nth-child(n+4) { display: none; }
  .winsom-responsive .ws-news-archive { display: inline-flex; min-height: 44px; align-items: center; margin-top: 12px; font-size: 14px; color: var(--ws-brand); text-decoration: underline; text-underline-offset: 5px; }
  .winsom-responsive .ws-news-slider, .ws-fragment .ws-news-slider { position: relative !important; border-radius: 8px; overflow: hidden; }
  .winsom-responsive .ws-news-slider .hd, .ws-fragment .ws-news-slider .hd { position: absolute !important; left: 16px; right: 16px; bottom: 48px !important; top: auto !important; width: auto !important; padding: 0 !important; height: auto !important; background: none !important; z-index: 4; }
  .winsom-responsive .ws-news-slider .hd .title, .ws-fragment .ws-news-slider .hd .title { color: #fff; font-size: 15px; font-weight: 500; line-height: 1.6; }
  .winsom-responsive .ws-news-slider::after, .ws-fragment .ws-news-slider::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgb(9 28 18 / 84%)); pointer-events: none; z-index: 3; }
  .ws-news-slider .ws-news-dots { display: flex; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: 5; height: 44px; padding: 0; }
  .ws-news-dots button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; flex: 0 0 44px; border: 0; background: none; color: #fff; cursor: pointer; }
  .ws-news-dots button::after { content: ''; width: 6px; height: 6px; background: rgb(255 255 255 / 65%); border-radius: 6px; }
  .ws-news-dots button[aria-current='true']::after { width: 16px; background: #fff; }
  /* Keep keyboard focus inside photo clips, with contrast on light and dark images. */
  .winsom-responsive .ws-news-slide-active a:focus-visible,
  .ws-fragment .ws-news-slide-active a:focus-visible,
  body.winsom-responsive #slide-index .image a:focus-visible { position: relative; outline: 2px solid #fff; outline-offset: -6px; }
  .winsom-responsive .ws-news-slide-active a:focus-visible::after,
  .ws-fragment .ws-news-slide-active a:focus-visible::after,
  body.winsom-responsive #slide-index .image a:focus-visible::after { content: ''; position: absolute; inset: 4px; border: 2px solid #fff; outline: 2px solid #163b2e; z-index: 6; pointer-events: none; }
  .winsom-responsive .ws-news-dots button:focus-visible, .ws-fragment .ws-news-dots button:focus-visible { outline: 2px solid #fff; outline-offset: -5px; }
  .winsom-responsive .ws-home-news > .ws-home-publications { padding: 32px var(--ws-gutter) 36px; background: #fff; }
  .winsom-responsive .ws-home-publications > ul { max-width: 934px; margin: 0 auto !important; }
  .winsom-responsive .ws-home-publications .ws-publication-covers { gap: 12px; padding-top: 0 !important; }
  .winsom-responsive .ws-home-publications .ws-publication-covers img { border-radius: 3px; }
  .winsom-responsive .ws-home-publications .ws-manual-links { padding-top: 16px !important; }
  .winsom-responsive .ws-home-publications .ws-manual-links .litext a { background: none !important; font-size: 14px; }
  .winsom-responsive .ws-home-publications .ws-manual-links .litext { background: none !important; }
  .winsom-responsive .ws-home-cases > .maincontent > ul:first-child { border: 0 !important; }
  .winsom-responsive .ws-home-cases > .maincontent > ul:first-child li:first-child a { font-size: 22px !important; color: var(--ws-ink) !important; }
  .winsom-responsive .ws-home-cases .details h4 { text-align: left !important; }

  /* Shared inner-page chrome no longer relies on desktop image slices. */
  .winsom-responsive .ws-content :where(.newscate, .newscate ul, .catename, .cateposition, .textcontentt, .textcontentt2) { background-image: none !important; }
  .winsom-responsive .ws-content :where(.textcontentt, .textcontentt2) { height: 1px !important; background: #e1e6e3 !important; }
  .winsom-responsive .ws-content .catename { color: var(--ws-ink); font-weight: 500; }
  .winsom-responsive .ws-product-detail .ws-product-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible !important; background: none !important; border-bottom: 1px solid #dce3df; }
  .winsom-responsive .ws-product-detail .ws-product-tabs a { min-width: 0; width: auto !important; padding: 0 4px; color: var(--ws-ink) !important; background: none !important; border: 0; border-bottom: 2px solid transparent; text-indent: 0; font-size: 14px; }
  .winsom-responsive .ws-product-detail .ws-product-tabs a[data-ws-active='true'] { border-bottom-color: var(--ws-brand); color: var(--ws-brand) !important; }
  .winsom-responsive .ws-product-detail .ws-product-panel { padding: 20px 0 !important; }
  .winsom-responsive .ws-product-grid { gap: 20px 12px; }
  .winsom-responsive .ws-product-grid .productpic img { border-radius: 8px; aspect-ratio: 4 / 3; object-fit: cover; background: var(--ws-surface); }
  .winsom-responsive .ws-project-detail .ad-controls { display: none; }
  .winsom-responsive .ws-project-detail .ad-gallery .ad-thumbs { overflow: visible; height: auto; display: flow-root; }
  .winsom-responsive .ws-project-detail .ad-thumb-list { display: grid; float: none; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100% !important; gap: 8px; padding: 8px 0; }
  .winsom-responsive .ws-project-detail .ad-thumb-list li { width: auto !important; padding: 0; min-width: 0; }
  .winsom-responsive .ws-project-detail .ad-thumb-list img { width: 100% !important; max-width: 100% !important; height: 64px !important; object-fit: cover; box-sizing: border-box; border-radius: 4px; }
  .winsom-responsive .ws-project-detail .ad-thumb-list .ad-active img { border-color: var(--ws-brand) !important; }
  .winsom-responsive .ws-project-card .ws-project-excerpt { display: none !important; }
  .winsom-responsive .ws-project-grid .ws-project-card .ws-project-summary { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 0; font-size: 14px !important; line-height: 1.65 !important; color: var(--ws-muted); }
  .winsom-responsive .ws-content #dcms_pager .pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 16px 0; }
  .winsom-responsive .ws-content #dcms_pager a { width: auto !important; min-width: 56px; margin: 0; white-space: nowrap; }
  .winsom-responsive .ws-contact .contenttext :where(span, a, strong) { font-family: inherit !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  body.winsom-responsive { --ws-gutter: 28px; }
  .winsom-responsive .ws-home-intro { padding-top: 40px; padding-bottom: 40px; }
  .winsom-responsive .ws-home .ws-home-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .winsom-responsive .ws-home-products > a img { aspect-ratio: 16 / 9; }
  .winsom-responsive .ws-home-cases #List1 { grid-template-columns: 1.5fr 1fr; }
  .winsom-responsive .ws-home-cases .ws-case-lead { grid-column: 1; grid-row: span 2; }
  .winsom-responsive .ws-home-cases .ws-case-featured:not(.ws-case-lead) .mosaic-backdrop img { aspect-ratio: 2.4 / 1; }
  .winsom-responsive .ws-home-cases .ws-case-lead .mosaic-backdrop img { aspect-ratio: 1.15 / 1; }
  .winsom-responsive .ws-home-news .cls_div > div > ul:last-child { margin-top: 0 !important; }
}
@media (max-width: 767.98px) {
  .winsom-responsive .ws-project-grid .ws-project-card { display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 16px; padding-bottom: 20px; border-bottom: 1px solid #e1e6e3; }
  .winsom-responsive .ws-project-card > div:first-child img { aspect-ratio: 1 / 1; border-radius: 6px; }
  .winsom-responsive .ws-project-card > div:last-child > div:first-child a { padding-top: 0; font-size: 16px !important; line-height: 1.5; }
  .winsom-responsive .ws-project-card > div:last-child > div:nth-child(2) { font-size: 14px; line-height: 1.6; -webkit-line-clamp: 2; max-height: 3.2em; }
  .winsom-responsive .ws-project-card > div:last-child > div:last-child { display: none; }
}

/* Reserve the original 1680x556 banner ratio before the legacy carousel starts. */
@media (max-width: 1024px) {
  body.winsom-responsive #slide-index:not(.ws-hero) .slide:first-child { display: block !important; }
}

.winsom-responsive .ws-product-intro-toggle,
.winsom-responsive .ws-mobile-product-title { display: none; }
.winsom-responsive .ws-detail-title { margin: 0; }
.winsom-responsive .ws-required-marker { color: #b52e20; }
.winsom-responsive .ws-field-error { display: none; }
.winsom-responsive [aria-invalid="true"] ~ .ws-field-error { display: block; margin-top: 6px; }
@media (max-width: 1024px) {
  body.winsom-responsive.ws-compact-products > .bannarspicculture { display: none !important; }
  .winsom-responsive .ws-products .newscate,
  .winsom-responsive .ws-product-detail .newscate,
  .winsom-responsive .ws-project-detail .newscate,
  .winsom-responsive .ws-product-detail .ws-desktop-product-title { display: none !important; }
  .winsom-responsive .ws-products .contenttext { padding-top: 0 !important; }
  .winsom-responsive .ws-product-intro { margin-bottom: 0 !important; }
  .winsom-responsive .ws-product-intro-copy:not(.ws-expanded) {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
    overflow: hidden; font-size: 16px; line-height: 1.65; max-height: 4.95em;
  }
  .winsom-responsive .ws-product-intro-copy:not(.ws-expanded) p {
    margin-block: 0 !important; line-height: 1.65 !important;
  }
  .winsom-responsive .ws-product-intro-toggle {
    display: inline-flex; align-items: center; min-height: 44px; padding: 0;
    border: 0; background: transparent; color: #01633a; font: inherit; text-decoration: underline;
  }
  .winsom-responsive .ws-product-intro-toggle:focus-visible { outline: 2px solid #01633a; outline-offset: 2px; }
  .winsom-responsive .ws-detail-title {
    display: block; float: none !important; height: auto !important; margin: 0 0 16px;
    padding: 0 !important; font-size: clamp(22px, 4vw, 28px) !important;
    line-height: 1.4; text-align: left !important; color: #173d2b; overflow-wrap: anywhere;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .winsom-responsive .ws-product-grid,
  .winsom-responsive .ws-home .ws-home-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.winsom-responsive .ws-legacy-search-form { display:flex; align-items:center; gap:8px; margin:16px 0; }
.winsom-responsive .ws-legacy-search-form input { flex:1; min-width:0; padding:8px; min-height:44px; font-size:16px; }
.winsom-responsive .ws-legacy-search-form button { min-height:44px; padding:0 12px; border:0; color:#fff; background:#01633a; }
@media(max-width:1024px) {
  .winsom-responsive .ws-search-legacy .ws-category-filter,
  .winsom-responsive .ws-search-legacy .newscate { display:none; }
}

@media (min-width: 1025px) {
  .winsom-responsive.ws-standalone-fallback object { display: none; }
  .winsom-responsive.ws-standalone-fallback .ws-legacy-fallback {
    display: block;
    box-sizing: border-box;
    max-width: 900px;
    margin: 24px auto;
    padding: 20px;
    background: #fff;
    color: #26342d;
    font-size: 16px;
    line-height: 1.7;
  }
  .winsom-responsive.ws-standalone-fallback .ws-legacy-fallback a {
    display: block;
    color: #01633a;
    text-decoration: underline;
  }
  .winsom-responsive.ws-standalone-fallback .ws-publication-pages img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 12px auto 0;
  }
}
