@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600&display=swap');

/* 滚动淡入动画 */
body {
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 14px;
  font-weight: 400;
}

.font-sans,
.font-sans * {
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif !important;
}

/* Lock body-copy elements to the global 14px body scale. */
body p,
body li,
body dt,
body dd,
body label,
body input,
body textarea,
body select,
body button,
body blockquote,
body cite,
body small {
  font-size: 14px !important;
  font-weight: 400;
}

body h1 {
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 48px !important;
  font-weight: 600 !important;
}

body h2 {
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 34px !important;
  font-weight: 600 !important;
}

body h3 {
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(30px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.animate-fade-in-up { animation: fadeInUp 0.6s ease-out forwards; }
.animate-fade-in-left { animation: fadeInLeft 0.6s ease-out forwards; }
.animate-fade-in-right { animation: fadeInRight 0.6s ease-out forwards; }
.animate-scale-in { animation: scaleIn 0.5s ease-out forwards; }
.animate-float { animation: float 3s ease-in-out infinite; }

/* 初始隐藏，等待滚动触发 */
.scroll-animate {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.scroll-animate.visible {
  opacity: 1;
  transform: translateY(0);
}

.scroll-animate-left {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.scroll-animate-left.visible {
  opacity: 1;
  transform: translateX(0);
}

.scroll-animate-right {
  opacity: 0;
  transform: translateX(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.scroll-animate-right.visible {
  opacity: 1;
  transform: translateX(0);
}

.scroll-animate-scale {
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.scroll-animate-scale.visible {
  opacity: 1;
  transform: scale(1);
}

/* 数字计数动画 */
@keyframes countUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 卡片悬停增强 */
.card-hover {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* 按钮脉冲效果 */
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4); }
  50% { box-shadow: 0 0 0 10px rgba(16, 185, 129, 0); }
}

.btn-pulse {
  animation: pulse 2s infinite;
}

/* 渐变边框动画 */
@keyframes gradientBorder {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.gradient-border {
  background: linear-gradient(90deg, #10b981, #34d399, #10b981);
  background-size: 200% 200%;
  animation: gradientBorder 3s ease infinite;
}

.hide-scrollbar::-webkit-scrollbar {
  display: none;
}
.hide-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* 移除主题默认的链接下划线，修复按钮和导航带下划线的问题 */
a, button {
  text-decoration: none !important;
}

/* 移动端/平板端导航按钮使用明确样式，避免工具类未生效 */
#mobile-menu-btn {
  background-color: #f5f5f4 !important; /* stone-100 */
  border-radius: 0.375rem;
  transition: color 0.2s ease, background-color 0.2s ease;
}

#mobile-menu-btn:hover {
  color: #059669 !important; /* emerald-600 */
}

/* Mobile navigation accordions */
.sw-mobile-nav {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.sw-mobile-nav__item {
  border-bottom: 1px solid #e7e5e4;
}

.sw-mobile-nav__trigger {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0 0 1rem;
  border: 0;
  background: transparent !important;
  background-image: none !important;
  color: #292524;
  cursor: pointer;
  font-family: inherit;
  box-shadow: none !important;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25rem;
  text-align: left;
  text-transform: uppercase;
}

.sw-mobile-nav__trigger svg {
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 auto;
  transition: transform 0.22s ease;
}

.sw-mobile-nav__item.is-open .sw-mobile-nav__trigger {
  background: transparent !important;
  color: #047857 !important;
}

.sw-mobile-nav__trigger:hover,
.sw-mobile-nav__trigger:focus,
.sw-mobile-nav__trigger:focus-visible,
.sw-mobile-nav__trigger:active {
  border-color: transparent !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #047857 !important;
  box-shadow: none !important;
}

.sw-mobile-nav__trigger:focus {
  outline: none;
}

.sw-mobile-nav__trigger:focus-visible {
  outline: 2px solid #10b981;
  outline-offset: 2px;
}

.sw-mobile-nav__item.is-open .sw-mobile-nav__trigger svg {
  transform: rotate(180deg);
}

.sw-mobile-nav__panel {
  display: grid;
  gap: 0.125rem;
  margin: -0.25rem 0 1rem;
  padding: 0.5rem 0.75rem 0.625rem;
  overflow: hidden;
  border-left: 2px solid #a7f3d0;
  transform-origin: top;
  will-change: height, opacity, transform;
}

.sw-mobile-nav__panel[hidden] {
  display: none;
}

.sw-mobile-nav__link,
.sw-mobile-nav__all-link,
.sw-mobile-nav__group-link {
  display: block;
  padding: 0.625rem 0.75rem;
  color: #44403c;
  font-size: 0.875rem;
  line-height: 1.35;
}

.sw-mobile-nav__all-link {
  color: #047857;
  font-weight: 700;
}

.sw-mobile-nav__group-link {
  margin-top: 0.375rem;
  color: #1c1917;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sw-mobile-nav__link--nested {
  padding-left: 1.25rem;
}

.sw-mobile-nav__link:hover,
.sw-mobile-nav__link:focus-visible,
.sw-mobile-nav__all-link:hover,
.sw-mobile-nav__all-link:focus-visible,
.sw-mobile-nav__group-link:hover,
.sw-mobile-nav__group-link:focus-visible {
  color: #047857;
  background: transparent;
  border-radius: 0.375rem;
}

.sw-anchor-target {
  scroll-margin-top: 112px;
}

.sw-nav-item {
  position: static;
  display: flex;
  align-items: stretch;
  padding-bottom: 20px;
  margin-bottom: -20px;
}

.sw-nav-item--compact {
  position: relative;
}

.sw-nav-trigger {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  padding: 20px 0;
}

.sw-nav-trigger svg {
  transition: transform 0.24s ease;
}

.sw-nav-item.is-open .sw-nav-trigger {
  color: #065f46 !important;
}

.sw-nav-item.is-open .sw-nav-trigger svg {
  transform: rotate(180deg);
}

.sw-nav-panel {
  position: absolute;
  top: 100%;
  left: 50%;
  width: min(1120px, calc(100vw - 48px));
  max-height: calc(100vh - 96px);
  padding: 40px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  background: #ffffff;
  border: 1px solid #e7e5e4;
  border-radius: 1rem;
  box-shadow: 0 24px 60px rgba(28, 25, 23, 0.16);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 10px);
  transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s ease;
}

.sw-nav-item.is-open .sw-nav-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.sw-nav-panel--industries {
  width: min(1300px, calc(100vw - 32px));
  white-space: normal;
}

.sw-nav-panel--products {
  --sw-products-rail-width: 340px;
  width: min(1300px, calc(100vw - 32px));
  padding: 40px 0 40px 40px;
  background-color: #edf3f0;
  background-image: linear-gradient(
    to right,
    #ffffff 0,
    #ffffff calc(100% - var(--sw-products-rail-width)),
    #edf3f0 calc(100% - var(--sw-products-rail-width)),
    #edf3f0 100%
  );
  scrollbar-color: #aab9b2 #edf3f0;
  white-space: normal;
}

.sw-nav-panel--products::-webkit-scrollbar {
  width: 12px;
}

.sw-nav-panel--products::-webkit-scrollbar-track {
  background: #edf3f0;
}

.sw-nav-panel--products::-webkit-scrollbar-thumb {
  border: 3px solid #edf3f0;
  border-radius: 999px;
  background: #aab9b2;
}

.sw-nav-panel--why {
  width: min(1300px, calc(100vw - 32px));
  white-space: normal;
}

.sw-nav-card-grid {
  display: grid;
  gap: 24px 32px;
}

.sw-nav-card-grid--industries {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sw-nav-card-grid--stacked {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 28px;
}

.sw-nav-panel--industries .sw-nav-card-grid--stacked {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

/* Keep the desktop mega menus usable on smaller laptop screens. */
@media (min-width: 1120px) and (max-width: 1279px) {
  header nav[aria-label="Primary"] {
    gap: clamp(0.875rem, 1.7vw, 1.5rem);
  }

  header nav[aria-label="Primary"] .sw-nav-trigger {
    font-size: 13px;
  }

  .sw-nav-panel {
    padding: 28px;
  }

  .sw-nav-panel--products {
    --sw-products-rail-width: 280px;
    padding: 28px 0 28px 28px;
  }

  .sw-nav-card-grid--stacked {
    gap: 22px;
  }

  .sw-products-menu {
    grid-template-columns: minmax(0, 1fr) 260px;
    column-gap: 24px;
    row-gap: 28px;
  }

  .sw-products-menu__list {
    gap: 18px 20px;
  }

  .sw-products-menu__promo {
    padding: 28px;
    margin-top: -28px;
    margin-bottom: -28px;
  }

  .sw-nav-card--compact {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 12px;
  }

  .sw-nav-card--compact .sw-nav-card__image {
    width: 64px;
    min-width: 64px;
  }

  .sw-nav-card--compact .sw-nav-card__content {
    max-width: none;
  }
}

/* At the narrowest desktop breakpoint the full nav cannot fit reliably. */
@media (min-width: 1024px) and (max-width: 1119px) {
  header nav[aria-label="Primary"] {
    display: none !important;
  }

  #mobile-menu-btn {
    display: block !important;
  }

  #mobile-menu:not(.hidden) {
    display: block !important;
  }
}

/* ==========================================================================
   SiWei Product Catalog
   ========================================================================== */
.page-product-catalog {
  --sw-catalog-green: #059669;
  --sw-catalog-green-dark: #047857;
  --sw-catalog-ink: #1c1917;
  --sw-catalog-copy: #57534e;
  --sw-catalog-line: #e7e5e4;
  --sw-catalog-paper: #f5f5f4;
}

.page-product-catalog .sw-catalog-hero {
  min-height: 520px;
  background-image: url('https://siwei.wxkntest.com/wp-content/uploads/2026/06/product-2.webp');
  background-position: center;
}

.page-product-catalog .sw-catalog-hero::before {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.82) 48%, rgba(255, 255, 255, 0.24) 100%);
}

.page-product-catalog .sw-inner-hero__content {
  max-width: 790px;
}

.sw-catalog-section {
  padding: 2rem 0 6rem;
  background: #fff;
}

.sw-catalog-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0 0 2.25rem;
  color: var(--sw-catalog-copy);
  font-size: 14px;
  line-height: 1.5;
}

.sw-catalog-breadcrumb a {
  color: var(--sw-catalog-copy);
  text-decoration: none;
  transition: color 0.2s ease;
}

.sw-catalog-breadcrumb a:hover,
.sw-catalog-breadcrumb a:focus-visible {
  color: var(--sw-catalog-green-dark);
}

.sw-catalog-layout {
  display: grid;
  grid-template-columns: minmax(230px, 0.25fr) minmax(0, 0.75fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
}

.sw-catalog-sidebar {
  position: sticky;
  top: 112px;
  overflow: hidden;
  border: 1px solid var(--sw-catalog-line);
  border-radius: 1.25rem;
  background: #fff;
}

.sw-catalog-sidebar-close,
.sw-catalog-filter-trigger,
.sw-catalog-scrim {
  display: none;
}

.sw-catalog-accordion + .sw-catalog-accordion {
  border-top: 1px solid var(--sw-catalog-line);
}

.sw-catalog-accordion__trigger {
  width: 100%;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0;
  padding: 1.15rem 1.25rem;
  border: 0;
  border-radius: 0;
  color: var(--sw-catalog-ink);
  background: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 700 !important;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
  box-shadow: none;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.sw-catalog-accordion__trigger:hover,
.sw-catalog-accordion__trigger:focus-visible,
.sw-catalog-accordion__trigger.is-active {
  color: var(--sw-catalog-green-dark);
  background: #ecfdf5;
}

.sw-catalog-chevron {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}

.sw-catalog-accordion.is-open .sw-catalog-chevron {
  transform: rotate(225deg);
}

.sw-catalog-accordion__panel {
  display: none;
  padding: 0 0.75rem 0.9rem;
}

.sw-catalog-accordion.is-open .sw-catalog-accordion__panel {
  display: block;
}

.sw-catalog-option {
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0.65rem 0.75rem;
  border: 0;
  border-radius: 0.65rem;
  color: var(--sw-catalog-copy);
  background: transparent;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  box-shadow: none;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.sw-catalog-option:hover,
.sw-catalog-option:focus-visible,
.sw-catalog-option.is-active {
  color: #fff;
  background: var(--sw-catalog-green);
}

.sw-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.25rem, 2vw, 2rem);
}

.sw-catalog-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  color: var(--sw-catalog-ink);
  text-decoration: none;
}

.sw-catalog-card__media {
  aspect-ratio: 1 / 1;
  display: block;
  overflow: hidden;
  border-radius: 1rem;
  background: var(--sw-catalog-paper);
}

.sw-catalog-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.sw-catalog-card:hover .sw-catalog-card__media img,
.sw-catalog-card:focus-visible .sw-catalog-card__media img {
  transform: scale(1.05);
}

.sw-catalog-card__title {
  display: block;
  padding: 1rem 0.2rem 0;
  color: var(--sw-catalog-ink);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  text-align: left;
}

.sw-catalog-skeleton {
  aspect-ratio: 0.84;
  border-radius: 1rem;
  background: linear-gradient(100deg, #f5f5f4 20%, #fafaf9 38%, #f5f5f4 56%);
  background-size: 200% 100%;
  animation: sw-catalog-shimmer 1.3s linear infinite;
}

@keyframes sw-catalog-shimmer {
  to { background-position-x: -200%; }
}

.sw-catalog-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 3.5rem;
}

.sw-catalog-page {
  min-width: 42px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0.6rem 0.8rem;
  border: 1px solid var(--sw-catalog-line);
  border-radius: 999px;
  color: var(--sw-catalog-copy);
  background: #fff;
  font: inherit;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
}

.sw-catalog-page:hover,
.sw-catalog-page:focus-visible,
.sw-catalog-page.is-current {
  color: #fff;
  border-color: var(--sw-catalog-green);
  background: var(--sw-catalog-green);
}

.sw-catalog-page:disabled {
  opacity: 0.4;
  cursor: default;
}

@media (max-width: 1023px) {
.sw-catalog-filter-trigger {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    margin: 0 0 1.5rem;
    padding: 0.8rem 1.1rem;
    border: 1px solid var(--sw-catalog-green);
    border-radius: 999px;
    color: #fff;
    background: var(--sw-catalog-green);
    font: inherit;
    font-size: 14px;
    font-weight: 700 !important;
    cursor: pointer;
  }

  .sw-catalog-filter-icon {
    width: 18px;
    height: 12px;
    position: relative;
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
  }

  .sw-catalog-filter-icon::after {
    content: '';
    width: 12px;
    position: absolute;
    top: 3px;
    left: 3px;
    border-top: 2px solid currentColor;
  }

  .sw-catalog-layout {
    display: block;
  }

  .sw-catalog-sidebar {
    width: min(88vw, 360px);
    height: calc(100dvh - 80px);
    position: fixed;
    z-index: 70;
    top: 80px;
    left: 0;
    overflow-y: auto;
    border: 0;
    border-radius: 0;
    transform: translateX(-102%);
    transition: transform 0.3s ease;
  }

  .sw-catalog-sidebar-close {
    width: 44px;
    height: 44px;
    display: block;
    position: relative;
    margin: 0.75rem 0.75rem 0.25rem auto;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: var(--sw-catalog-ink);
    background: var(--sw-catalog-paper);
  }

  .sw-catalog-sidebar-close span::before,
  .sw-catalog-sidebar-close span::after {
    content: '';
    width: 17px;
    position: absolute;
    top: 21px;
    left: 14px;
    border-top: 2px solid currentColor;
  }

  .sw-catalog-sidebar-close span::before { transform: rotate(45deg); }
  .sw-catalog-sidebar-close span::after { transform: rotate(-45deg); }

  .sw-catalog-scrim {
    position: fixed;
    z-index: 60;
    inset: 80px 0 0;
    background: rgba(28, 25, 23, 0.46);
  }

  .page-product-catalog.is-filter-open .sw-catalog-sidebar {
    transform: translateX(0);
  }

  .page-product-catalog.is-filter-open .sw-catalog-scrim {
    display: block;
  }

  body.sw-catalog-lock {
    overflow: hidden;
  }

  .sw-catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .page-product-catalog .sw-catalog-hero {
    min-height: 470px;
  }

  .page-product-catalog .sw-catalog-hero::before {
    background: rgba(255, 255, 255, 0.84);
  }

  .sw-catalog-section {
    padding: 1.5rem 0 4rem;
  }

  .sw-catalog-breadcrumb {
    margin-bottom: 1.5rem;
  }

  .sw-catalog-grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .sw-catalog-pagination {
    gap: 0.35rem;
    margin-top: 2.5rem;
  }

  .sw-catalog-page {
    min-width: 38px;
    min-height: 38px;
    padding: 0.5rem 0.65rem;
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sw-catalog-card__media img,
  .sw-catalog-sidebar,
  .sw-catalog-chevron {
    transition: none;
  }

  .sw-catalog-skeleton {
    animation: none;
  }
}

.sw-nav-panel--why .sw-nav-card-grid--stacked {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sw-nav-card {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #292524 !important;
}

.sw-nav-card--stacked {
  display: block;
}

.sw-nav-card__image {
  display: block;
  width: 68px;
  min-width: 68px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 12px;
  background: #f5f5f4;
  border: 1px solid #e7e5e4;
}

.sw-nav-card--stacked .sw-nav-card__image {
  width: 100%;
  min-width: 0;
  aspect-ratio: 4 / 3;
  margin-bottom: 14px;
}

.sw-nav-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.sw-nav-card__content {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.sw-nav-card--stacked .sw-nav-card__content {
  gap: 0;
}

.sw-nav-card__title {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}

.sw-nav-card__desc {
  display: block;
  font-size: 14px;
  line-height: 1.45;
  color: #78716c;
}

.sw-nav-card--stacked .sw-nav-card__desc {
  display: none;
}

.sw-nav-card--stacked .sw-nav-card__title {
  font-size: 16px;
  line-height: 1.4;
}

.sw-nav-card:hover .sw-nav-card__image img {
  transform: scale(1.04);
}

.sw-nav-card:hover .sw-nav-card__title,
.sw-nav-card:hover .sw-nav-card__desc {
  color: #047857;
}

.sw-products-menu {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  column-gap: 40px;
  row-gap: 36px;
  align-items: start;
}

.sw-products-menu__section {
  display: flex;
  flex-direction: column;
  gap: 16px;
  grid-column: 1;
  min-width: 0;
}

.sw-products-menu__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px 28px;
  min-width: 0;
}

.sw-products-menu__group {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding-bottom: 12px;
  border-bottom: 1px dashed #d6dfdb;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
  color: #059669 !important;
}

.sw-products-menu__group span {
  font-size: 14px;
  line-height: 1.25;
}

.sw-products-menu__group-arrow {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.sw-products-menu__group:hover {
  color: #047857 !important;
}

.sw-products-menu__promo {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: stretch;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 40px;
  margin-top: -40px;
  margin-right: 0;
  margin-bottom: -40px;
  border-radius: 0 1rem 1rem 0;
  background: #edf3f0;
  color: #292524 !important;
}

.sw-products-menu__promo-image {
  display: block;
  aspect-ratio: 1.28 / 1;
  overflow: hidden;
  border-radius: 1rem;
  background: #ffffff;
  margin-bottom: 20px;
}

.sw-products-menu__promo-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sw-products-menu__promo-title {
  display: block;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 12px;
}

.sw-products-menu__promo-text {
  display: block;
  font-size: 14px;
  line-height: 1.6;
  color: #78716c;
  margin-bottom: 26px;
}

.sw-products-menu__promo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  background: #059669;
  min-height: 44px;
  padding: 0 22px;
  border-radius: 999px;
  text-decoration: none !important;
  margin-top: auto;
  align-self: flex-start;
}

.sw-products-menu__promo-link::after {
  content: "\2192";
}

.sw-products-menu__promo:hover .sw-products-menu__promo-link {
  background: #047857;
}

.sw-nav-card--compact .sw-nav-card__image {
  width: 72px;
  min-width: 72px;
  border-radius: 10px;
  border: none;
}

.sw-nav-card--compact {
  display: grid;
  grid-template-columns: 72px minmax(0, 150px);
  align-items: center;
  justify-content: start;
  gap: 14px;
  min-width: 0;
  white-space: normal;
}

.sw-nav-card--compact .sw-nav-card__content {
  max-width: 150px;
  min-width: 0;
  white-space: normal;
}

.sw-nav-card--compact .sw-nav-card__title {
  font-size: 14px;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.sw-nav-card--compact .sw-nav-card__desc {
  display: none;
}

.sw-products-menu__promo-title,
.sw-products-menu__promo-text {
  white-space: normal;
}

.sw-nav-simple-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.sw-nav-simple-list__item {
  display: block;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  color: #292524 !important;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.sw-nav-simple-list__item:hover,
.sw-nav-simple-list__item:focus-visible {
  background: #f0fdf4;
  color: #047857 !important;
}

/* 修复主题高优先级 CSS 导致 hover:text-* 失效变成黑色的问题 */
.hover\:text-emerald-400:hover { color: #34d399 !important; }
.hover\:text-emerald-500:hover { color: #10b981 !important; }
.hover\:text-emerald-600:hover { color: #059669 !important; }
.hover\:text-emerald-700:hover { color: #047857 !important; }
.hover\:text-emerald-800:hover { color: #065f46 !important; }
.hover\:text-emerald-900:hover { color: #064e3b !important; }
.hover\:text-white:hover { color: #ffffff !important; }
.hover\:text-stone-900:hover { color: #1c1917 !important; }
.hover\:text-stone-800:hover { color: #292524 !important; }
.hover\:text-stone-600:hover { color: #57534e !important; }

/* 所有带背景色且本身是白字的 a 按钮在 hover 时保持白字 */
a[class*="bg-"][class*="text-white"]:hover {
  color: #ffffff !important;
}

a[class*="bg-"][class*="text-white"]:hover svg {
  color: #ffffff !important;
}

/* 浅色按钮在 hover 时保持绿色文字 */
a[class*="bg-white"][class*="text-emerald-"]:hover {
  color: #059669 !important;
}

a[class*="bg-white"][class*="text-emerald-"]:hover svg {
  color: #059669 !important;
}




/* ==========================================================================
   SiWei Core Section Components (SW) - Based on HTML Prototypes
   ========================================================================== */

/* 通用 Section 样式 */
.sw-section {
  padding: 5rem 1.5rem;
}
@media (min-width: 1024px) {
  .sw-section { padding: 8rem 3rem; }
}

.sw-section-title {
  font-size: 2.25rem;
  font-weight: 800;
  color: #1c1917; /* stone-900 */
  margin-bottom: 1.5rem;
  text-align: center;
}
@media (min-width: 1024px) {
  .sw-section-title { font-size: 3rem; }
}

.sw-section-subtitle {
  font-size: 1.125rem;
  color: #57534e; /* stone-600 */
  text-align: center;
  max-width: 48rem;
  margin: 0 auto 3rem auto;
  line-height: 1.6;
}


/* 1. Banner (Hero Section) */
.sw-banner {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #ffffff;
  padding: 6rem 1.5rem;
  overflow: hidden;
}
.sw-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5); /* 默认遮罩层 */
  z-index: 1;
}
.sw-banner-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 64rem;
  margin: 0 auto;
}

/* 2. CTA (Call to Action) */
.sw-cta-box {
  background-color: #059669; /* emerald-600 */
  color: #ffffff;
  border-radius: 1.5rem;
  padding: 4rem 2rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 25px -5px rgba(5, 150, 105, 0.2);
}

/* 3. 合作流程 (Cooperation Process) */
.sw-process-card {
  background: #ffffff;
  border: 1px solid #e7e5e4; /* stone-200 */
  border-radius: 1rem;
  padding: 2.5rem 2rem;
  text-align: center;
  transition: all 0.3s ease;
  height: 100%;
}
.sw-process-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.05);
  border-color: #10b981; /* emerald-500 */
}
.sw-process-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  background-color: #eff6f3; /* custom light green */
  color: #059669; /* emerald-600 */
  border-radius: 50%;
  font-size: 1.25rem;
  font-weight: 800;
  margin-bottom: 1.5rem;
}

/* 4. FAQs */
.section-faqs .sw-faq-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.section-faqs .sw-faq-item {
  background: #ffffff;
  border: 1px solid #e7e5e4; /* stone-200 */
  border-bottom: 1px solid #e7e5e4 !important;
  border-radius: 1rem;
  padding: 0 1.5rem;
  cursor: pointer;
  transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.section-faqs .sw-faq-item:last-child {
  border-bottom: 1px solid #e7e5e4 !important;
}
.section-faqs .sw-faq-item:hover,
.section-faqs .sw-faq-item:focus-within {
  background: #ffffff;
  border-color: #a7f3d0;
  border-bottom-color: #a7f3d0 !important;
  box-shadow: 0 1px 2px 0 rgba(15, 23, 42, 0.08);
}
.section-faqs .sw-faq-item.is-open {
  border-color: #10b981;
  border-bottom-color: #10b981 !important;
  padding-bottom: 1rem;
  box-shadow: 0 1px 2px 0 rgba(16, 185, 129, 0.12);
}
.section-faqs .sw-faq-question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: #1c1917 !important; /* stone-900 */
  cursor: pointer;
  text-align: left;
  background: transparent !important;
  border: none;
  box-shadow: none !important;
  transition: color 0.25s ease;
}
.section-faqs .sw-faq-question:hover,
.section-faqs .sw-faq-question:focus,
.section-faqs .sw-faq-question:active {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.section-faqs .sw-faq-item:not(.is-open):not(:hover):not(:focus-within) .sw-faq-question {
  color: #1c1917 !important;
}
.section-faqs .sw-faq-item:hover .sw-faq-question,
.section-faqs .sw-faq-item:focus-within .sw-faq-question,
.section-faqs .sw-faq-item.is-open .sw-faq-question {
  color: #047857 !important;
}
.section-faqs .sw-faq-answer {
  display: block;
  overflow: hidden;
  height: 0;
  opacity: 0;
  padding-bottom: 0;
  font-size: 14px;
  color: #57534e; /* stone-600 */
  line-height: 1.6;
  transition: height 0.32s ease, opacity 0.24s ease, padding-bottom 0.32s ease;
}
.section-faqs .sw-faq-item.is-open .sw-faq-answer {
  opacity: 1;
  padding-bottom: 0;
}
.section-faqs .sw-faq-icon {
  transition: transform 0.3s ease;
}

/* 5. 产品展示 (Product Cards) */
.sw-product-card {
  background: #ffffff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.sw-product-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}
.sw-product-image {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  background-color: #f5f5f4; /* stone-100 */
}

/* 6. 工厂实力/核心优势 (Features / Capabilities) */
.sw-feature-item {
  display: flex;
  gap: 1.5rem;
  padding: 2rem;
  background: #ffffff;
  border-radius: 1rem;
  border: 1px solid #e7e5e4;
  transition: all 0.3s ease;
}
.sw-feature-item:hover {
  box-shadow: 0 10px 25px rgba(0,0,0,0.05);
  border-color: #10b981;
}
.sw-feature-icon {
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
  background: #eff6f3; /* custom light green */
  color: #059669; /* emerald-600 */
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 7. 客户评价 (Testimonials) */
.sw-testimonial-card {
  background: #ffffff;
  padding: 2.5rem;
  border-radius: 1rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.sw-testimonial-quote-icon {
  color: #059669; /* emerald-600 */
  opacity: 0.15;
  margin-bottom: 1.5rem;
}

/* 8. CTA Popup */
body.sw-cta-popup-open {
  overflow: hidden;
}

.sw-cta-popup {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.sw-cta-popup.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.sw-cta-popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 24, 39, 0.58);
}

.sw-cta-popup__dialog {
  position: relative;
  z-index: 1;
  width: min(1280px, 100%);
  max-height: calc(100vh - 2rem);
  overflow: hidden;
  border-radius: 1.5rem;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.18);
}

.sw-cta-popup__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 3;
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #111827;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.sw-cta-popup__close svg {
  width: 1.25rem;
  height: 1.25rem;
  display: block;
}

.sw-cta-popup__close:hover {
  background: #059669;
  color: #ffffff;
}

.sw-cta-popup__form,
.sw-cta-popup__form .infility-form {
  width: 100%;
}

.sw-cta-popup__form .infility-form-row-3 .infility-form-col-1 .label {
  display: none;
}

.sw-cta-popup__form .infility-form-row-3 .infility-form-col-file input[type="file"] {
  padding: 0;
}

.sw-cta-popup__form .infility-form-row-submit button {
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Shared Infility form component used by the home and inner-page contact sections. */
.sw-infility-form-wrap,
.sw-infility-form-wrap form {
  width: 100%;
}

.sw-infility-form-wrap input[type="text"],
.sw-infility-form-wrap input[type="email"],
.sw-infility-form-wrap textarea {
  flex: 1;
  width: 100%;
  box-sizing: border-box;
  transition: all 0.3s;
  border: 1px solid #0000001f;
  border-radius: 4px;
  color: #000000;
  background-color: #ffffff;
  padding: 8px;
}

.sw-infility-form-wrap input[type="file"] {
  max-width: 100%;
  padding: 0;
  border: none;
  background-color: transparent;
}

.sw-infility-form-wrap label {
  display: block;
  color: #78716c;
}

.sw-infility-form-wrap .label {
  line-height: 30px;
}

.sw-infility-form-wrap .input {
  display: flex;
  flex-wrap: wrap;
}

.sw-infility-form-wrap .infility-form-col {
  margin-bottom: 10px;
}

.sw-infility-form-wrap .privacy {
  margin-bottom: 24px;
  color: #78716c;
}

.sw-infility-form-wrap .infility-form-row-3 .infility-form-col-1 .label {
  display: none;
}

.sw-infility-form-wrap button[type="submit"] {
  width: 100%;
  box-sizing: border-box;
  padding: 16px 8px;
  border: 0;
  border-radius: 99px;
  color: #ffffff;
  background-color: #00966b;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s;
}

.sw-infility-form-wrap button[type="submit"]:hover {
  background-color: #047857;
}

@media screen and (min-width: 768px) {
  .sw-infility-form-wrap .infility-form-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .sw-infility-form-wrap .infility-form-row-0 .infility-form-col-0,
  .sw-infility-form-wrap .infility-form-row-3 .infility-form-col-0,
  .sw-infility-form-wrap .infility-form-row-3 .infility-form-col-1,
  .sw-infility-form-wrap .infility-form-row-5 .infility-form-col-0,
  .sw-infility-form-wrap .infility-form-row-6 .infility-form-col-0 {
    width: 100%;
  }

  .sw-infility-form-wrap .infility-form-row-2 .infility-form-col-0,
  .sw-infility-form-wrap .infility-form-row-2 .infility-form-col-1 {
    width: 49%;
  }
}

@media (max-width: 1024px) {
  .sw-cta-popup__dialog {
    width: min(960px, 100%);
  }
}

@media (max-width: 767px) {
  .sw-cta-popup {
    padding: 0.75rem;
  }

  .sw-cta-popup__dialog {
    max-height: calc(100vh - 1.5rem);
    overflow-y: auto;
    border-radius: 1rem;
  }

  .sw-cta-popup__close {
    top: 0.5rem;
    right: 0.5rem;
  }
}

/* 9. Exit Intent Popup */
body.sw-exit-popup-open {
  overflow: hidden;
}

.sw-exit-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.sw-exit-popup.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.sw-exit-popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 24, 39, 0.58);
}

.sw-exit-popup__dialog {
  position: relative;
  z-index: 1;
  width: min(1200px, 100%);
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr);
  gap: 3rem;
  padding: 40px;
  background: #f8f8f8;
  border: 1px solid rgba(28, 25, 23, 0.15);
  border-radius: 1.5rem;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.18);
}

.sw-exit-popup__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: transparent;
  border: none;
  color: #111827;
  font-size: 2.25rem;
  line-height: 1;
  cursor: pointer;
}

.sw-exit-popup__close:hover,
.sw-exit-popup__close:focus,
.sw-exit-popup__close:focus-visible {
  background: transparent;
  color: #111827;
}

.sw-exit-popup__media {
  min-height: 520px;
  border-radius: 0;
  overflow: hidden;
  background: #ececec;
}

.sw-exit-popup__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sw-exit-popup__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 30rem;
}

.sw-exit-popup__title {
  margin: 0 0 1.5rem;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  font-weight: 800;
  color: #111827;
}

.sw-exit-popup__desc {
  margin: 0 0 2rem;
  color: #44403c;
  font-size: 1.125rem;
  line-height: 1.6;
}

.sw-exit-popup__form,
.sw-exit-popup__form .infility-form {
  width: 100%;
}

.sw-exit-popup__form .infility-form-row-2,
.sw-exit-popup__form .infility-form-row-3 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.25rem;
  margin-bottom: 1rem;
}

.sw-exit-popup__form .infility-form-col-textarea {
  grid-column: 1 / -1;
}

.sw-exit-popup__form label,
.sw-exit-popup__form .label,
.sw-exit-popup__form .input {
  display: block;
  width: 100%;
}

.sw-exit-popup__form .label {
  margin-bottom: 0.55rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: #44403c;
}

.sw-exit-popup__form .label span:last-child {
  color: #44403c;
}

.sw-exit-popup__form input[type="text"],
.sw-exit-popup__form input[type="email"],
.sw-exit-popup__form textarea {
  width: 100%;
  padding: 0.95rem 1rem;
  border: 1px solid #bfb8b1;
  border-radius: 0;
  background: #ffffff;
  color: #1f2937;
  box-shadow: none;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sw-exit-popup__form input[type="text"],
.sw-exit-popup__form input[type="email"] {
  min-height: 3rem;
}

.sw-exit-popup__form textarea {
  min-height: 7.5rem;
  resize: vertical;
}

.sw-exit-popup__form input[type="text"]:focus,
.sw-exit-popup__form input[type="email"]:focus,
.sw-exit-popup__form textarea:focus {
  border-color: #059669;
  box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.12);
}

.sw-exit-popup__form textarea::placeholder {
  color: #a8a29e;
}

.sw-exit-popup__form .infility-form-row-submit {
  margin-top: 1.5rem;
}

.sw-exit-popup__form button[type="submit"],
.sw-exit-popup__fallback-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  min-height: 3.5rem;
  padding: 0.95rem 1.5rem;
  background: #242424;
  color: #ffffff !important;
  border: none;
  border-radius: 0;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.sw-exit-popup__form button[type="submit"]:hover,
.sw-exit-popup__fallback-btn:hover {
  background: #111827;
  transform: translateY(-1px);
}

.sw-exit-popup__privacy {
  margin: 1rem 0 0;
  color: #a8a29e;
  font-size: 0.95rem;
  line-height: 1.5;
}

@media (max-width: 1024px) {
  .sw-exit-popup__dialog {
    gap: 2rem;
    padding: 3rem 2rem 2rem;
  }
}

@media (max-width: 767px) {
  .sw-exit-popup {
    padding: 1rem;
  }

  .sw-exit-popup__dialog {
    grid-template-columns: 1fr;
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
    padding: 3rem 1.25rem 1.5rem;
  }

  .sw-exit-popup__media {
    min-height: 240px;
  }

  .sw-exit-popup__content {
    max-width: none;
  }

  .sw-exit-popup__form .infility-form-row-2,
  .sw-exit-popup__form .infility-form-row-3 {
    grid-template-columns: 1fr;
  }

  .sw-exit-popup__form button[type="submit"],
  .sw-exit-popup__fallback-btn {
    width: 100%;
  }
}

/* Industry Tabs - 覆盖主题默认按钮样式 */
@media (min-width: 1024px) {
  #industry-tabs {
    height: 100%;
  }
}

#industry-tabs button {
  background: transparent !important;
  box-shadow: none !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  outline: none !important;
  margin: 0 !important;
}

@media (min-width: 1024px) {
  #industry-tabs button {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    width: 100%;
  }
}

#industry-tabs button:hover {
  background: transparent !important;
  box-shadow: none !important;
  color: #059669 !important;
}


/* ===================================
    Single Product Page - 产品详情页
   =================================== */
.single-product-page {

}

.single-product-page .lvk-breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.single-product-page .lvk-breadcrumbs__item,
.single-product-page .lvk-breadcrumbs__separator {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.single-product-page .lvk-breadcrumbs__text,
.single-product-page .lvk-breadcrumbs__link {
  display: inline-block;
  max-width: 100%;
}

.single-product-page .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 2rem;
  background: #059669 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 9999px;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: none !important;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.single-product-page .btn-primary:hover,
.single-product-page .btn-primary:focus {
  background: #047857 !important;
  color: #ffffff !important;
}

.single-product-page > section:nth-of-type(2) {
  background: #eff6f3 !important;
  border-top: none !important;
  border-bottom: none !important;
}

.single-product-page > section:first-of-type,
.single-product-page .section-product-matrix {
  background: #ffffff !important;
  border-top: none !important;
  border-bottom: none !important;
}

.single-product-page > section + section {
  margin-top: 0 !important;
}

.single-product-page #main-image-container {
  background: #ffffff !important;
  border: 1px solid #e7e5e4 !important;
  border-radius: 1rem !important;
  aspect-ratio: auto !important;
  display: block !important;
  padding: 1.5rem !important;
}

.single-product-page #image-view {
  display: block !important;
  width: 100%;
  height: auto !important;
  aspect-ratio: 1 / 1;
}

.single-product-page #main-product-image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  border-radius: 0.75rem;
}

.single-product-page > section:nth-of-type(2) .w-full.lg\:w-2\/3 > div {
  border-radius: 1rem !important;
}

.single-product-page > section:nth-of-type(2) .prose h3 {
  margin-bottom: 20px !important;
}

.single-product-page > section:nth-of-type(2) .prose h3 + p {
  margin-top: 0 !important;
}

.single-product-page > section:nth-of-type(2) .prose h3 + p:empty {
  display: none;
}

.single-product-page > section:nth-of-type(2) .prose h3 + p:empty + p {
  margin-top: 0 !important;
}

.single-product-page .thumbnail-item {
  background: #ffffff !important;
  border-radius: 0.5rem !important;
  border-color: #e7e5e4 !important;
  overflow: hidden;
}

.single-product-page .thumbnail-item:hover {
  border-color: #059669 !important;
}

.single-product-page .thumbnail-item.border-2 {
  border-color: #059669 !important;
}

.single-product-page .text-body p {
  margin-bottom: 1.5rem;
  color: var(--color-text-secondary);
}

.single-product-page .text-body img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.single-product-page .text-body h2,
.single-product-page .text-body h3,
.single-product-page .text-body h4 {
  color: var(--color-text-heading);
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
}

.single-product-page .text-body h2 { font-size: 1.75rem; }
.single-product-page .text-body h3 { font-size: 1.5rem; }
.single-product-page .text-body h4 { font-size: 1.25rem; }

.single-product-page .text-body ul,
.single-product-page .text-body ol {
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
  color: var(--color-text-secondary);
}

.single-product-page .text-body ul { list-style-type: disc; }
.single-product-page .text-body ol { list-style-type: decimal; }
.single-product-page .text-body li { margin-bottom: 0.5rem; }

.single-product-page .related-carousel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.single-product-page .related-carousel-controls {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 0 0 auto;
}

.single-product-page .related-carousel-button {
  width: 44px;
  height: 44px;
  border: 1px solid #d1d5db;
  border-radius: 50%;
  background: #ffffff;
  color: #1a1a1a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

.single-product-page .related-carousel-button svg {
  width: 20px;
  height: 20px;
}

.single-product-page .related-carousel-button:hover:not(:disabled),
.single-product-page .related-carousel-button:focus-visible:not(:disabled) {
  color: #ffffff;
  background: #006263;
  border-color: #006263;
}

.single-product-page .related-carousel-button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.single-product-page .related-carousel-viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.single-product-page .related-carousel-viewport::-webkit-scrollbar {
  display: none;
}

.single-product-page .related-carousel-track {
  display: flex;
  gap: 1.5rem;
}

.single-product-page .product-card-bento {
  background: var(--color-bg-card);
  border: 1px solid #e5e7eb !important;
  border-radius: 1rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: none;
  transition: border-color 0.3s ease;
  position: relative;
  min-width: 0;
  flex: 0 0 100%;
  scroll-snap-align: start;
}

.single-product-page .product-card-bento:hover,
.single-product-page .product-card-bento:focus-visible {
  border-color: #e5e7eb !important;
}

.single-product-page .product-card-bento > div:first-child {
  border-radius: 1rem 1rem 0 0;
  overflow: hidden;
  height: auto !important;
  padding: 1.5rem 1.5rem 0 !important;
}

.single-product-page .product-card-bento > div:first-child img {
  border-radius: 0.75rem;
  display: block;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  padding: 0 !important;
  box-shadow: none;
  transition: transform 0.5s ease, box-shadow 0.3s ease;
}

.single-product-page .product-card-bento:hover > div:first-child img,
.single-product-page .product-card-bento:focus-visible > div:first-child img {
  transform: scale(1.05);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.10),
              0 2px 4px -2px rgba(0, 0, 0, 0.10);
}

.single-product-page .product-card-title {
  color: var(--color-text-heading);
  transition: color 0.3s ease;
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  text-align: left;
}

.single-product-page .product-card-bento:hover .product-card-title,
.single-product-page .product-card-bento:focus-visible .product-card-title {
  color: #065f46;
}

@media (min-width: 768px) {
  .single-product-page .product-card-bento {
    flex-basis: calc((100% - 1.5rem) / 2);
  }
}

@media (min-width: 1024px) {
  .single-product-page .product-card-bento {
    flex-basis: calc((100% - 4.5rem) / 4);
  }
}

@media (max-width: 640px) {
  .single-product-page .related-carousel-header {
    align-items: flex-end;
  }

  .single-product-page .related-carousel-button {
    width: 40px;
    height: 40px;
  }
}

.single-product-page .form-card-hover {
  position: relative;
  overflow: hidden;
  border: none !important;
  border-radius: 1rem !important;
}

.single-product-page .form-card-hover::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 4px;
  background: var(--color-secondary);
  transition: width 0.5s ease;
}

.single-product-page .form-card-hover:hover::before {
  width: 100%;
}

.single-product-page .section-product-matrix {
  background: transparent;
}

/* ===================================
    Single Post Page - 博客详情页
   =================================== */
.single-post-page {

}

.single-post-page .single-post-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}

@media (min-width: 992px) {
  .single-post-page .single-post-grid {
    grid-template-columns: 2fr 1fr;
  }
}

.single-post-page .single-post-main {
  padding-top: 100px;
  background-color: var(--color-bg-secondary);
}

.single-post-page .single-post-section {
  padding-top: 2rem;
}

.single-post-page .post-content .post-featured-image {
  margin-bottom: 2rem;
}

.single-post-page .post-content .post-featured-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.single-post-page .post-content .post-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}

.single-post-page .post-content .post-cat-label {
  color: var(--color-primary);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.single-post-page .post-content .post-date-label {
  color: var(--color-text-muted);
  font-size: 13px;
}

.single-post-page .post-content .post-title {
  color: var(--color-text-heading);
  margin-bottom: 2rem;
  font-size: 32px;
  line-height: 1.3;
  font-weight: 700;
}

.single-post-page .post-content .post-body {
  color: var(--color-text-body);
  line-height: 1.8;
  font-size: 16px;
}

.single-post-page .post-content .post-tags {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.single-post-page .post-content .post-tags .tags-label {
  color: var(--color-text-heading);
  font-size: 14px;
  font-weight: 600;
  margin-right: 0.5rem;
}

.single-post-page .post-content .post-tags a {
  color: var(--color-primary);
  background: var(--color-tag-bg);
  font-size: 13px;
  padding: 0.3rem 0.8rem;
  border-radius: 4px;
  text-decoration: none;
  transition: background 0.2s;
}

.single-post-page .post-content .post-tags a:hover {
  background: var(--color-tag-bg-hover);
}

.single-post-page .post-content .post-share {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  margin-bottom: 2rem;
  border-top: 1px dashed var(--color-border);
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.single-post-page .post-content .post-share .share-label {
  color: var(--color-text-heading);
  font-size: 14px;
  font-weight: 600;
}

.single-post-page .post-content .post-share a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--color-bg-tertiary);
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: all 0.2s ease;
}

.single-post-page .post-content .post-share a:hover {
  transform: translateY(-2px);
}

.single-post-page .post-content .post-share a svg {
  width: 18px;
  height: 18px;
}

.single-post-page .post-content .post-share a.share-facebook:hover {
  background-color: var(--color-social-facebook);
  color: #fff;
}

.single-post-page .post-content .post-share a.share-twitter:hover {
  background-color: var(--color-social-twitter);
  color: #fff;
}

.single-post-page .post-content .post-share a.share-linkedin:hover {
  background-color: var(--color-social-linkedin);
  color: #fff;
}

.single-post-page .post-content .post-share a.share-whatsapp:hover {
  background-color: var(--color-social-whatsapp);
  color: #fff;
}

.single-post-page .post-content .post-share a.share-pinterest:hover {
  background-color: var(--color-social-pinterest);
  color: #fff;
}

.single-post-page .post-content .post-share a.share-email:hover {
  background-color: var(--color-social-email);
  color: #fff;
}

.single-post-page .post-content .post-share a.share-copy:hover {
  background-color: var(--color-text-heading);
  color: #fff;
}

/* Sidebar */
.single-post-page .post-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: sticky;
  top: 100px;
  align-self: start;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
}

.single-post-page .post-sidebar .sidebar-widget {
  padding: 1.5rem;
}

.single-post-page .post-sidebar .sidebar-widget h4 {
  color: var(--color-text-heading);
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--color-border-light);
}

.single-post-page .related-posts-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.single-post-page .related-posts-sidebar .related-item {
  display: flex;
  gap: 0.75rem;
  text-decoration: none;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--color-border-light);
  transition: background 0.2s;
}

.single-post-page .related-posts-sidebar .related-item:last-child {
  border-bottom: none;
}

.single-post-page .related-posts-sidebar .related-item:hover {
  background: var(--color-border-light);
}

.single-post-page .related-posts-sidebar .related-thumb {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  border-radius: 6px;
  overflow: hidden;
}

.single-post-page .related-posts-sidebar .related-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-post-page .related-posts-sidebar .related-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.25rem;
}

.single-post-page .related-posts-sidebar .related-title {
  color: var(--color-text-heading);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
}

.single-post-page .related-posts-sidebar .related-date {
  color: var(--color-text-muted);
  font-size: 13px;
}

/* ==========================================================================
   Siwei blog detail template
   ========================================================================== */
body.single-post > header.fixed,
body.single-case_study > header.fixed {
  position: sticky !important;
  top: 0;
}

.sw-blog-detail {
  --sw-blog-green: #047857;
  --sw-blog-green-bright: #059669;
  --sw-blog-green-pale: #ecfdf5;
  --sw-blog-ink: #1c1917;
  --sw-blog-copy: #57534e;
  --sw-blog-muted: #78716c;
  --sw-blog-line: #e7e5e4;
  --sw-blog-warm: #faf8f4;
  width: 100%;
  position: relative;
  left: auto;
  margin-left: 0;
  overflow: visible;
  color: var(--sw-blog-copy);
  background: #fff;
}

.sw-blog-detail *,
.sw-blog-detail *::before,
.sw-blog-detail *::after {
  box-sizing: border-box;
}

.sw-blog-container {
  width: min(100%, 1240px);
  margin: 0 auto;
  padding-right: 24px;
  padding-left: 24px;
}

.sw-blog-breadcrumb {
  position: static;
  width: 100%;
  margin-top: 16px;
  background: transparent;
}

.sw-blog-breadcrumb ol {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--sw-blog-muted);
}

.sw-blog-breadcrumb li {
  display: flex;
  align-items: center;
  min-width: 0;
  font-size: 14px !important;
  line-height: 1.5;
}

.sw-blog-breadcrumb li:not(:last-child)::after {
  content: '/';
  margin-left: 8px;
  color: #a8a29e;
}

.sw-blog-breadcrumb a {
  color: var(--sw-blog-copy);
  transition: color 0.2s ease;
}

.sw-blog-breadcrumb a:hover,
.sw-blog-breadcrumb a:focus-visible {
  color: var(--sw-blog-green);
}

.sw-blog-breadcrumb [aria-current='page'] {
  overflow: hidden;
  color: var(--sw-blog-muted);
}

.sw-blog-breadcrumb [aria-current='page'] span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sw-blog-header--with-image .sw-blog-breadcrumb,
.sw-blog-header--with-image .sw-blog-breadcrumb a,
.sw-blog-header--with-image .sw-blog-breadcrumb [aria-current='page'] {
  color: rgba(255, 255, 255, 0.78);
}

.sw-blog-header--with-image .sw-blog-breadcrumb li:not(:last-child)::after {
  color: rgba(255, 255, 255, 0.48);
}

.sw-blog-header--with-image .sw-blog-breadcrumb a:hover,
.sw-blog-header--with-image .sw-blog-breadcrumb a:focus-visible {
  color: #fff;
}

.sw-blog-header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 600px;
  min-height: 600px;
  margin-top: 0;
  padding: 104px 0 92px;
  text-align: center;
  background: var(--sw-blog-warm);
}

.sw-blog-header--with-image {
  min-height: 600px;
  padding: 112px 0 88px;
  color: #fff;
  background: #12382f;
}

.sw-blog-header--with-image::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(to bottom, rgba(18, 56, 47, 0) 0%, rgba(18, 56, 47, 0.52) 50%, rgba(18, 56, 47, 0.94) 100%);
}

.sw-blog-header__background {
  position: absolute;
  z-index: -2;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.sw-blog-header__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--sw-blog-ink);
}

.sw-blog-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 12px;
  border-radius: 999px;
  color: var(--sw-blog-green);
  background: #d1fae5;
  font-size: 14px !important;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.sw-blog-header--with-image .sw-blog-header__inner {
  color: #fff;
}

.sw-blog-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 22px;
  color: var(--sw-blog-muted);
}

.sw-blog-meta__item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  line-height: 1.5;
}

.sw-blog-meta__item svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.sw-blog-header--with-image .sw-blog-meta {
  color: rgba(255, 255, 255, 0.82);
}

.sw-blog-share {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 25px;
}

.sw-blog-share > span {
  margin-right: 3px;
  color: var(--sw-blog-muted);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.sw-blog-header--with-image .sw-blog-share > span {
  color: rgba(255, 255, 255, 0.76);
}

.sw-blog-share a,
.sw-blog-share button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--sw-blog-line);
  border-radius: 50%;
  color: var(--sw-blog-copy);
  background: #fff;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.sw-blog-header--with-image .sw-blog-share a,
.sw-blog-header--with-image .sw-blog-share button {
  border-color: rgba(255, 255, 255, 0.42);
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(8px);
}

.sw-blog-share a:hover,
.sw-blog-share a:focus-visible,
.sw-blog-share button:hover,
.sw-blog-share button:focus-visible,
.sw-blog-share button.is-copied {
  border-color: var(--sw-blog-green);
  color: #fff;
  background: var(--sw-blog-green);
  transform: translateY(-2px);
}

.sw-blog-share svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.sw-blog-share svg[fill='currentColor'] {
  fill: currentColor;
  stroke: none;
}

.sw-blog-header--with-image .sw-blog-eyebrow {
  color: #064e3b;
  background: rgba(209, 250, 229, 0.94);
}

.sw-blog-share__status {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  z-index: 2;
  padding: 4px 7px;
  border-radius: 4px;
  color: #fff;
  background: var(--sw-blog-ink);
  font-size: 14px;
  line-height: 1;
  transform: translateX(-50%);
}

.sw-blog-share__status:empty {
  display: none;
}

.sw-blog-content-section {
  padding: 88px 0 104px;
}

.sw-blog-body-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 790px);
  justify-content: center;
  gap: 72px;
  align-items: start;
}

.sw-blog-body-layout--no-toc {
  grid-template-columns: minmax(0, 790px);
}

.sw-blog-toc {
  position: sticky;
  top: 110px;
  align-self: start;
}

.sw-blog-toc details {
  overflow: hidden;
  border: 0;
  border-radius: 12px;
  background: var(--sw-inner-light, #f7faf8);
  box-shadow: none;
}

.sw-blog-toc summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 17px 18px;
  color: var(--sw-blog-ink);
  font-size: 18px !important;
  font-weight: 600;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
}

.sw-blog-toc summary::-webkit-details-marker {
  display: none;
}

.sw-blog-toc summary svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  transition: transform 0.2s ease;
}

.sw-blog-toc details[open] summary svg {
  transform: rotate(180deg);
}

.sw-blog-toc nav {
  max-height: calc(100vh - 190px);
  overflow-y: auto;
  padding: 0 12px 15px;
}

.sw-blog-toc ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sw-blog-toc li {
  margin: 2px 0;
  font-size: 14px !important;
}

.sw-blog-toc li.is-subheading {
  padding-left: 14px;
}

.sw-blog-toc a {
  display: block;
  padding: 8px 10px;
  color: var(--sw-blog-muted);
  line-height: 1.45;
  transition: color 0.2s ease;
}

.sw-blog-toc a:hover,
.sw-blog-toc a:focus-visible,
.sw-blog-toc a.is-active {
  color: var(--sw-blog-green);
  background: transparent;
}

.sw-blog-article {
  min-width: 0;
}

.sw-blog-richtext {
  color: var(--sw-blog-copy);
  font-size: 16px;
  line-height: 1.82;
}

.sw-blog-richtext p,
.sw-blog-richtext li,
.sw-blog-richtext blockquote {
  font-size: 16px !important;
  line-height: 1.82;
}

.sw-blog-richtext > *:first-child {
  margin-top: 0;
}

.sw-blog-richtext p,
.sw-blog-richtext ul,
.sw-blog-richtext ol,
.sw-blog-richtext blockquote,
.sw-blog-richtext table,
.sw-blog-richtext figure,
.sw-blog-richtext .wp-block-embed {
  margin-top: 0;
  margin-bottom: 1.55em;
}

.sw-blog-richtext h2,
.sw-blog-richtext h3 {
  color: var(--sw-blog-ink);
  text-wrap: balance;
}

.sw-blog-richtext h2 {
  margin: 2.2em 0 0.65em;
  font-size: clamp(28px, 3.2vw, 38px) !important;
  line-height: 1.2;
  letter-spacing: -0.025em;
}

.sw-blog-richtext h3 {
  margin: 1.8em 0 0.55em;
  font-size: 22px !important;
  line-height: 1.3;
}

.sw-blog-anchor-target {
  scroll-margin-top: 118px;
}

.sw-blog-richtext a {
  color: var(--sw-blog-green);
  font-weight: 600;
  text-decoration: underline !important;
  text-decoration-color: #6ee7b7 !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px;
}

.sw-blog-richtext a:hover,
.sw-blog-richtext a:focus-visible {
  color: #065f46;
  text-decoration-color: currentColor !important;
}

.sw-blog-richtext ul,
.sw-blog-richtext ol {
  padding-left: 1.35em;
}

.sw-blog-richtext li {
  margin: 0.45em 0;
  padding-left: 0.2em;
}

.sw-blog-richtext li::marker {
  color: var(--sw-blog-green-bright);
  font-weight: 600;
}

.sw-blog-richtext blockquote {
  padding: 22px 26px;
  border-left: 4px solid var(--sw-blog-green-bright);
  border-radius: 0 10px 10px 0;
  color: #44403c;
  background: var(--sw-blog-green-pale);
}

.sw-blog-richtext img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

.sw-blog-richtext figcaption {
  margin-top: 8px;
  color: var(--sw-blog-muted);
  font-size: 14px !important;
  line-height: 1.5;
  text-align: center;
}

.sw-blog-richtext .wp-block-table,
.sw-blog-richtext table {
  display: block;
  width: 100%;
  overflow-x: auto;
  border-spacing: 0;
  border-collapse: collapse;
  -webkit-overflow-scrolling: touch;
}

.sw-blog-richtext th,
.sw-blog-richtext td {
  min-width: 140px;
  padding: 13px 15px;
  border: 1px solid var(--sw-blog-line);
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  vertical-align: top;
}

.sw-blog-richtext th {
  color: var(--sw-blog-ink);
  background: #f5f5f4;
  font-weight: 600;
}

.sw-blog-richtext iframe,
.sw-blog-richtext video {
  display: block;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  border: 0;
  border-radius: 12px;
}

.sw-blog-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-top: 56px;
  padding-top: 25px;
  border-top: 1px solid var(--sw-blog-line);
}

.sw-blog-tags > span {
  margin-right: 3px;
  color: var(--sw-blog-ink);
  font-size: 14px;
  font-weight: 600;
}

.sw-blog-tags a {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  color: var(--sw-blog-green);
  background: var(--sw-blog-green-pale);
  font-size: 14px;
  line-height: 1.3;
  transition: color 0.2s ease, background 0.2s ease;
}

.sw-blog-tags a:hover,
.sw-blog-tags a:focus-visible {
  color: #fff;
  background: var(--sw-blog-green);
}

.sw-blog-conversion {
  padding: 0 0 104px;
  background: #fff;
}

.sw-blog-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 54px;
  align-items: end;
  padding: 54px 58px;
  border-radius: 22px;
  color: #fff;
  background: linear-gradient(135deg, #12382f 0%, #065f46 100%);
  box-shadow: 0 20px 50px rgba(6, 95, 70, 0.16);
}

.sw-blog-cta__eyebrow,
.sw-blog-section-heading > p {
  margin: 0 0 10px;
  color: #6ee7b7;
  font-size: 14px !important;
  font-weight: 600;
  letter-spacing: 0.09em;
  line-height: 1.4;
  text-transform: uppercase;
}

.sw-blog-cta h2 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 3.5vw, 42px) !important;
  line-height: 1.16;
  letter-spacing: -0.03em;
}

.sw-blog-cta h2 + p {
  max-width: 720px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 15px !important;
  line-height: 1.7;
}

.sw-blog-cta__actions {
  display: flex;
  flex-direction: column;
  gap: 11px;
  min-width: 230px;
}

.sw-blog-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: 7px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.sw-blog-btn:hover,
.sw-blog-btn:focus-visible {
  transform: translateY(-2px);
}

.sw-blog-btn--light {
  color: #065f46;
  background: #fff;
}

.sw-blog-btn--light:hover,
.sw-blog-btn--light:focus-visible {
  color: #064e3b;
  background: #ecfdf5;
}

.sw-blog-btn--outline {
  border-color: rgba(255, 255, 255, 0.48);
  color: #fff;
  background: transparent;
}

.sw-blog-btn--outline:hover,
.sw-blog-btn--outline:focus-visible {
  border-color: #fff;
  color: #12382f;
  background: #fff;
}

.sw-blog-related {
  padding: 96px 0 112px;
  background: var(--sw-blog-warm);
}

.sw-blog-section-heading {
  margin-bottom: 34px;
  text-align: center;
}

.sw-blog-section-heading > p {
  color: var(--sw-blog-green);
}

.sw-blog-section-heading h2 {
  margin: 0;
  color: var(--sw-blog-ink);
  font-size: clamp(30px, 3.5vw, 44px) !important;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.sw-blog-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.sw-blog-card {
  min-width: 0;
  overflow: hidden;
  margin: 0;
  border: 1px solid var(--sw-blog-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(28, 25, 23, 0.05);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.sw-blog-card:hover,
.sw-blog-card:focus-within {
  border-color: #a7f3d0;
  box-shadow: 0 18px 40px rgba(28, 25, 23, 0.1);
  transform: translateY(-5px);
}

.sw-blog-card__link {
  display: flex;
  height: 100%;
  flex-direction: column;
  color: inherit;
}

.sw-blog-card__media {
  display: flex;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, #d1fae5, #047857);
  font-size: 28px;
  font-weight: 600;
}

.sw-blog-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.sw-blog-card:hover .sw-blog-card__media img {
  transform: scale(1.045);
}

.sw-blog-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
}

.sw-blog-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  color: var(--sw-blog-muted);
  font-size: 14px;
  line-height: 1.4;
}

.sw-blog-card__meta span {
  color: var(--sw-blog-green);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.sw-blog-card h3 {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--sw-blog-ink);
  font-size: 19px !important;
  line-height: 1.38;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.sw-blog-card__body > p {
  display: -webkit-box;
  overflow: hidden;
  margin: 13px 0 20px;
  color: var(--sw-blog-copy);
  font-size: 14px !important;
  line-height: 1.65;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.sw-blog-card__action {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: auto;
  color: var(--sw-blog-green);
  font-size: 14px;
  font-weight: 600;
}

.sw-blog-card__action svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  transition: transform 0.2s ease;
}

.sw-blog-card:hover .sw-blog-card__action svg {
  transform: translateX(4px);
}

@media (max-width: 1023px) {
  .sw-blog-body-layout {
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 42px;
  }

  .sw-blog-cta {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .sw-blog-cta__actions {
    flex-direction: row;
    min-width: 0;
  }
}

@media (max-width: 899px) {
  .sw-blog-header {
    margin-top: 0;
    padding: 96px 0 78px;
  }

  .sw-blog-header--with-image {
    min-height: 590px;
    padding: 104px 0 74px;
  }

  .sw-blog-body-layout,
  .sw-blog-body-layout--no-toc {
    grid-template-columns: minmax(0, 790px);
    gap: 34px;
  }

  .sw-blog-toc {
    position: static;
  }

  .sw-blog-toc nav {
    max-height: 330px;
  }

  .sw-blog-content-section {
    padding: 68px 0 80px;
  }

  .sw-blog-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  .sw-blog-container {
    padding-right: 18px;
    padding-left: 18px;
  }

  .sw-blog-breadcrumb ol {
    padding-top: 16px;
  }

  .sw-blog-breadcrumb li:nth-last-child(n + 3) {
    display: none;
  }

  .sw-blog-header {
    padding: 88px 0 66px;
  }

  .sw-blog-header--with-image {
    min-height: 540px;
    padding: 94px 0 62px;
  }

  .sw-blog-meta {
    gap: 8px 14px;
  }

  .sw-blog-content-section {
    padding: 54px 0 68px;
  }

  .sw-blog-richtext,
  .sw-blog-richtext p,
  .sw-blog-richtext li,
  .sw-blog-richtext blockquote {
    font-size: 16px !important;
    line-height: 1.75;
  }

  .sw-blog-richtext h2 {
    font-size: 28px !important;
  }

  .sw-blog-richtext h3 {
    font-size: 20px !important;
  }

  .sw-blog-conversion {
    padding-bottom: 76px;
  }

  .sw-blog-cta {
    gap: 30px;
    padding: 34px 24px;
    border-radius: 16px;
  }

  .sw-blog-cta h2 {
    font-size: 29px !important;
  }

  .sw-blog-cta__actions {
    width: 100%;
    flex-direction: column;
  }

  .sw-blog-related {
    padding: 72px 0 80px;
  }

  .sw-blog-related__grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sw-blog-detail *,
  .sw-blog-detail *::before,
  .sw-blog-detail *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* ==========================================================================
   Siwei Case Study detail template
   ========================================================================== */
.sw-case-detail {
  --sw-case-green: #047857;
  --sw-case-green-bright: #059669;
  --sw-case-green-pale: #ecfdf5;
  --sw-case-ink: #1c1917;
  --sw-case-copy: #57534e;
  --sw-case-muted: #78716c;
  --sw-case-line: #e7e5e4;
  --sw-case-warm: #faf8f4;
  position: relative;
  width: 100%;
  overflow: visible;
  color: var(--sw-case-copy);
  background: #fff;
}

.sw-case-detail *,
.sw-case-detail *::before,
.sw-case-detail *::after {
  box-sizing: border-box;
}

.sw-case-container,
.sw-case-reading-width {
  width: min(100%, 1240px);
  margin-right: auto;
  margin-left: auto;
  padding-right: 24px;
  padding-left: 24px;
}

.sw-case-reading-width {
  width: min(100%, 840px);
}

.sw-case-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  height: 600px;
  min-height: 600px;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  margin-top: 0;
  padding: 96px 0 88px;
  text-align: center;
  background: var(--sw-case-warm);
}

.sw-case-hero--with-image {
  min-height: 600px;
  color: #fff;
  background: #12382f;
}

.sw-case-hero--with-image::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(to bottom, rgba(18, 56, 47, 0) 0%, rgba(18, 56, 47, 0.52) 50%, rgba(18, 56, 47, 0.94) 100%);
}

.sw-case-hero__background {
  position: absolute;
  z-index: -2;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.sw-case-hero__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--sw-case-ink);
}

.sw-case-breadcrumb ol {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.sw-case-breadcrumb li {
  display: flex;
  align-items: center;
  min-width: 0;
  color: var(--sw-case-muted);
  font-size: 14px !important;
  line-height: 1.5;
}

.sw-case-breadcrumb li:not(:last-child)::after {
  content: '/';
  margin-left: 8px;
  color: #a8a29e;
}

.sw-case-breadcrumb a {
  color: var(--sw-case-copy);
}

.sw-case-breadcrumb a:hover,
.sw-case-breadcrumb a:focus-visible {
  color: var(--sw-case-green);
}

.sw-case-breadcrumb [aria-current='page'] {
  overflow: hidden;
}

.sw-case-breadcrumb [aria-current='page'] span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sw-case-hero--with-image .sw-case-breadcrumb,
.sw-case-hero--with-image .sw-case-breadcrumb a,
.sw-case-hero--with-image .sw-case-breadcrumb [aria-current='page'] {
  color: rgba(255, 255, 255, 0.78);
}

.sw-case-hero--with-image .sw-case-breadcrumb li:not(:last-child)::after {
  color: rgba(255, 255, 255, 0.48);
}

.sw-case-hero--with-image .sw-case-breadcrumb a:hover,
.sw-case-hero--with-image .sw-case-breadcrumb a:focus-visible {
  color: #fff;
}

.sw-case-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 12px;
  border-radius: 999px;
  color: var(--sw-case-green);
  background: #d1fae5;
  font-size: 14px !important;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.sw-case-hero--with-image .sw-case-kicker {
  color: #064e3b;
  background: rgba(209, 250, 229, 0.94);
}

.sw-case-hero h1 {
  max-width: 980px;
  margin: 26px 0 20px;
  color: var(--sw-case-ink);
}

.sw-case-hero--with-image h1 {
  color: #fff;
}

.sw-case-hero__summary {
  max-width: 760px;
  margin: 0;
  color: var(--sw-case-copy);
  font-size: 16px !important;
  line-height: 1.75;
}

.sw-case-hero--with-image .sw-case-hero__summary {
  color: rgba(255, 255, 255, 0.82);
}

.sw-case-hero__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 30px 0 0;
}

.sw-case-hero__meta > div {
  min-width: 180px;
  padding: 14px 16px;
  border: 1px solid var(--sw-case-line);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.72);
}

.sw-case-snapshot__item dt {
  margin: 0 0 5px;
  color: var(--sw-case-muted);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.055em;
  line-height: 1.35;
  text-transform: uppercase;
}

.sw-case-hero__meta dt {
  margin: 0 0 5px;
  color: var(--sw-case-muted);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.055em;
  line-height: 1.35;
  text-transform: uppercase;
}

.sw-case-hero__meta dd {
  margin: 0;
  color: var(--sw-case-ink);
  font-size: 15px !important;
  font-weight: 600;
  line-height: 1.45;
}

.sw-case-hero--with-image .sw-case-hero__meta > div {
  border-color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
}

.sw-case-hero--with-image .sw-case-hero__meta dt {
  color: rgba(255, 255, 255, 0.68);
}

.sw-case-hero--with-image .sw-case-hero__meta dd {
  color: #fff;
}

.sw-case-section {
  padding: 96px 0;
}

.sw-case-section-heading {
  max-width: 760px;
  margin: 0 auto 40px;
  text-align: center;
}

.sw-case-section-heading > p,
.sw-case-section-label,
.sw-case-cta__inner > div > p {
  margin: 0 0 10px;
  color: var(--sw-case-green);
  font-size: 14px !important;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.sw-case-section-heading h2 {
  margin: 0;
  color: var(--sw-case-ink);
}

.sw-case-feedback h2 {
  margin: 0 0 24px;
  color: var(--sw-case-ink);
}

.sw-case-snapshot__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
}

.sw-case-snapshot__item {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--sw-case-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(28, 25, 23, 0.04);
}

.sw-case-snapshot__item dd {
  margin: 0;
  color: var(--sw-case-ink);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.55;
}

.sw-case-related {
  background: var(--sw-case-warm);
}

.sw-case-body-section {
  padding: 88px 0 104px;
  background: #fff;
}

.sw-case-body-snapshot {
  width: min(100%, 1150px);
  margin-bottom: 80px;
}

.sw-case-body-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 790px);
  justify-content: center;
  gap: 72px;
  align-items: start;
}

.sw-case-body-layout.sw-blog-body-layout--no-toc {
  grid-template-columns: minmax(0, 790px);
}

.sw-case-toc {
  position: sticky;
  top: 110px;
  align-self: start;
}

.sw-case-toc details {
  overflow: hidden;
  border: 0;
  border-radius: 12px;
  background: var(--sw-inner-light, #f7faf8);
  box-shadow: none;
}

.sw-case-toc summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 17px 18px;
  color: var(--sw-case-ink);
  font-size: 18px !important;
  font-weight: 600;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
}

.sw-case-toc summary::-webkit-details-marker {
  display: none;
}

.sw-case-toc summary svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  transition: transform 0.2s ease;
}

.sw-case-toc details[open] summary svg {
  transform: rotate(180deg);
}

.sw-case-toc nav {
  max-height: calc(100vh - 190px);
  overflow-y: auto;
  padding: 0 12px 15px;
}

.sw-case-toc ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sw-case-toc li {
  margin: 2px 0;
  font-size: 14px !important;
}

.sw-case-toc a {
  display: block;
  padding: 8px 10px;
  color: var(--sw-case-muted);
  line-height: 1.45;
  transition: color 0.2s ease;
}

.sw-case-toc a:hover,
.sw-case-toc a:focus-visible,
.sw-case-toc a.is-active {
  color: var(--sw-case-green);
  background: transparent;
}

.sw-case-article {
  min-width: 0;
}

.sw-case-reading-column {
  min-width: 0;
}

.sw-case-article .sw-blog-anchor-target {
  scroll-margin-top: 112px;
}

.sw-case-richtext {
  color: var(--sw-case-copy);
  font-size: 16px;
  line-height: 1.8;
}

.sw-case-richtext p,
.sw-case-richtext li,
.sw-case-richtext blockquote {
  font-size: 16px !important;
  line-height: 1.8;
}

.sw-case-richtext p,
.sw-case-richtext ul,
.sw-case-richtext ol,
.sw-case-richtext blockquote,
.sw-case-richtext figure {
  margin-top: 0;
  margin-bottom: 1.5em;
}

.sw-case-richtext > *:last-child {
  margin-bottom: 0;
}

.sw-case-richtext a {
  color: var(--sw-case-green);
  font-weight: 600;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.sw-case-richtext img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

.sw-case-body-content h2,
.sw-case-body-content h3 {
  color: var(--sw-case-ink);
  text-wrap: balance;
}

.sw-case-body-content h2 {
  margin: 2.2em 0 0.65em;
  padding-top: 0;
  border-top: 0;
  font-size: clamp(28px, 3.2vw, 38px) !important;
  line-height: 1.2;
  letter-spacing: -0.025em;
}

.sw-case-body-content > h2:first-child {
  margin-top: 0;
}

.sw-case-body-content h3 {
  margin: 1.8em 0 0.55em;
  font-size: 22px !important;
  line-height: 1.3;
}

.sw-case-body-content ul,
.sw-case-body-content ol {
  padding-left: 1.35em;
}

.sw-case-body-content li {
  margin: 0.45em 0;
  padding-left: 0.2em;
}

.sw-case-body-content li::marker {
  color: var(--sw-case-green-bright);
  font-weight: 600;
}

.sw-case-body-content blockquote {
  padding: 22px 26px;
  border-left: 4px solid var(--sw-case-green-bright);
  border-radius: 0 10px 10px 0;
  color: #44403c;
  background: var(--sw-case-green-pale);
}

.sw-case-body-content .wp-block-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 34px;
  margin-bottom: 1.5em;
}

.sw-case-body-content .wp-block-gallery figure {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  margin: 0;
  border-radius: 12px;
  background: #e7e5e4;
}

.sw-case-body-content .wp-block-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.sw-case-body-content .wp-block-gallery figure:hover img {
  transform: scale(1.035);
}

.sw-case-feedback {
  margin-top: 72px;
  padding-top: 0;
  border-top: 0;
  background: transparent;
}

.sw-case-feedback blockquote {
  position: relative;
  margin: 0;
  padding: 40px 44px;
  border: 0;
  border-radius: 16px;
  color: var(--sw-case-ink);
  background: var(--sw-inner-light, #f7faf8);
}

.sw-case-feedback blockquote::before {
  content: '“';
  position: absolute;
  top: 7px;
  left: 20px;
  color: var(--sw-inner-primary, #059669);
  font-family: Georgia, serif;
  font-size: 64px;
  line-height: 1;
}

.sw-case-feedback blockquote p {
  position: relative;
  margin: 0;
  font-size: 20px !important;
  line-height: 1.65;
}

.sw-case-feedback blockquote cite {
  display: block;
  margin-top: 20px;
  color: var(--sw-case-green);
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
}

.sw-case-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.sw-case-card {
  min-width: 0;
  overflow: hidden;
  margin: 0;
  border: 1px solid var(--sw-case-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(28, 25, 23, 0.05);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.sw-case-card:hover,
.sw-case-card:focus-within {
  border-color: #a7f3d0;
  box-shadow: 0 18px 40px rgba(28, 25, 23, 0.1);
  transform: translateY(-5px);
}

.sw-case-card > a {
  display: flex;
  height: 100%;
  flex-direction: column;
  color: inherit;
}

.sw-case-card__media {
  display: flex;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, #d1fae5, #047857);
  font-size: 28px;
  font-weight: 600;
}

.sw-case-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.sw-case-card:hover .sw-case-card__media img {
  transform: scale(1.045);
}

.sw-case-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
}

.sw-case-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.sw-case-card__meta span {
  color: var(--sw-case-green);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.sw-case-card h3 {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--sw-case-ink);
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.sw-case-card__body > p {
  display: -webkit-box;
  overflow: hidden;
  margin: 12px 0 20px;
  color: var(--sw-case-copy);
  font-size: 14px !important;
  line-height: 1.65;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.sw-case-card__action {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: auto;
  color: var(--sw-case-green);
  font-size: 14px;
  font-weight: 600;
}

.sw-case-card__action > span {
  transition: transform 0.2s ease;
}

.sw-case-card:hover .sw-case-card__action > span {
  transform: translateX(4px);
}

.sw-case-cta {
  padding: 0 0 104px;
  background: var(--sw-case-warm);
}

.sw-case-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 50px;
  align-items: center;
  padding: 54px 58px;
  border-radius: 20px;
  color: #fff;
  background: linear-gradient(135deg, #12382f, #065f46);
}

.sw-case-cta__inner > div > p {
  color: #6ee7b7;
}

.sw-case-cta h2 {
  margin: 0;
  color: #fff;
}

.sw-case-cta h2 + div {
  max-width: 720px;
  margin-top: 15px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 16px;
  line-height: 1.7;
}

.sw-case-cta__inner > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 13px 22px;
  border-radius: 7px;
  color: #065f46;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  transition: background 0.2s ease, transform 0.2s ease;
}

.sw-case-cta__inner > a:hover,
.sw-case-cta__inner > a:focus-visible {
  background: #ecfdf5;
  transform: translateY(-2px);
}

@media (max-width: 1023px) {
  .sw-case-snapshot__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sw-case-body-layout {
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 42px;
  }
}

@media (max-width: 899px) {
  .sw-case-hero {
    margin-top: 0;
    min-height: 540px;
    padding: 88px 0 74px;
  }

  .sw-case-hero--with-image {
    min-height: 590px;
  }

  .sw-case-body-layout,
  .sw-case-body-layout.sw-blog-body-layout--no-toc {
    grid-template-columns: minmax(0, 790px);
    gap: 34px;
  }

  .sw-case-toc {
    position: static;
  }

  .sw-case-toc nav {
    max-height: 330px;
  }

  .sw-case-body-section {
    padding: 68px 0 80px;
  }

  .sw-case-body-snapshot {
    margin-bottom: 56px;
  }

  .sw-case-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sw-case-cta__inner {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .sw-case-cta__inner > a {
    justify-self: start;
  }
}

@media (max-width: 639px) {
  .sw-case-container,
  .sw-case-reading-width {
    padding-right: 18px;
    padding-left: 18px;
  }

  .sw-case-hero {
    min-height: 500px;
    padding: 76px 0 62px;
  }

  .sw-case-breadcrumb ol {
    padding-top: 16px;
  }

  .sw-case-breadcrumb li:nth-last-child(n + 3) {
    display: none;
  }

  .sw-case-hero__meta,
  .sw-case-hero__meta > div {
    width: 100%;
  }

  .sw-case-section {
    padding: 72px 0;
  }

  .sw-case-body-section {
    padding: 54px 0 68px;
  }

  .sw-case-body-snapshot {
    margin-bottom: 44px;
  }

  .sw-case-snapshot__grid,
  .sw-case-related__grid,
  .sw-case-body-content .wp-block-gallery {
    grid-template-columns: 1fr;
  }

  .sw-case-feedback blockquote {
    padding: 28px 24px;
  }

  .sw-case-cta {
    padding-bottom: 76px;
  }

  .sw-case-cta__inner {
    gap: 30px;
    padding: 34px 24px;
    border-radius: 15px;
  }

  .sw-case-cta__inner > a {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sw-case-detail *,
  .sw-case-detail *::before,
  .sw-case-detail *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* ==========================================================================
   SiWei Inner Pages — shared components for company and service pages
   ========================================================================== */
:root {
  --sw-inner-primary: #047857;
  --sw-inner-primary-accent: #059669;
  --sw-inner-primary-dark: #065f46;
  --sw-inner-ink: #1c1917;
  --sw-inner-copy: #57534e;
  --sw-inner-muted: #78716c;
  --sw-inner-line: #e7e5e4;
  --sw-inner-light: #f1f8f6;
  --sw-inner-warm: #faf6f0;
  --sw-inner-dark: #12382f;
  --sw-inner-card-radius: 1rem;
  --sw-inner-panel-radius: 2rem;
  --sw-inner-card-shadow: 0 1px 2px rgba(28, 25, 23, 0.05);
  --sw-inner-card-shadow-hover: 0 12px 30px rgba(28, 25, 23, 0.09);
}

.sw-inner-page {
  width: 100%;
  position: relative;
  left: auto;
  margin-left: 0;
  overflow: hidden;
  color: var(--sw-inner-ink);
  background: #ffffff;
}

.sw-inner-page *,
.sw-inner-page *::before,
.sw-inner-page *::after {
  box-sizing: border-box;
}

.sw-inner-container {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.sw-inner-hero {
  min-height: 600px;
  position: relative;
  display: flex;
  align-items: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: var(--sw-inner-ink);
  background-color: #f5f5f4;
}

.sw-inner-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0.66) 48%, rgba(255, 255, 255, 0.08) 82%);
}

.page-custom-solutions .sw-inner-hero {
  background-image: url('https://siwei.wxkntest.com/wp-content/uploads/2026/09/custom-solutions-hero.webp');
}

.page-manufacturing-quality .sw-inner-hero {
  background-image: url('https://placehold.co/1920x900?text=SiWei+Manufacturing+Facility');
}

.page-sustainability .sw-inner-hero {
  background-image: url('https://siwei.wxkntest.com/wp-content/uploads/2026/08/c0d578220a8d-Reusable-Bags-banner-scaled.webp');
}

.page-service-partnership .sw-inner-hero {
  background-image: url('https://siwei.wxkntest.com/wp-content/uploads/2026/07/Folding-Cartons-banner-scaled.webp');
}

.page-about-us .sw-inner-hero {
  background-image: url('https://siwei.wxkntest.com/wp-content/uploads/2026/09/about-hero-1.webp');
}

.sw-inner-hero__content {
  position: relative;
  z-index: 1;
  max-width: 48rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.sw-inner-hero h1 {
  max-width: 800px;
  margin: 0 0 1.5rem;
  color: var(--sw-inner-ink);
  line-height: 1.25;
  letter-spacing: -0.025em;
}

.sw-inner-hero__copy {
  max-width: 36rem;
  margin: 0 0 2rem;
  color: #292524;
  line-height: 1.75;
}

.sw-inner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  align-items: center;
}

.sw-inner-btn {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 0.85rem 2rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 14px !important;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25rem;
  text-transform: uppercase;
  box-shadow: none;
  cursor: pointer;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.sw-inner-btn > :is(i[data-lucide^="arrow-"], svg[class*="lucide-arrow-"]),
[data-sw-cta-open] > :is(i[data-lucide^="arrow-"], svg[class*="lucide-arrow-"]) {
  width: 1rem !important;
  height: 1rem !important;
  flex: 0 0 1rem;
}

.sw-inner-btn--primary {
  color: #ffffff;
  background: var(--sw-inner-primary);
  border-color: var(--sw-inner-primary);
}

.sw-inner-btn--primary:hover,
.sw-inner-btn--primary:focus-visible {
  color: #ffffff;
  background: var(--sw-inner-primary-dark);
  border-color: var(--sw-inner-primary-dark);
}

.sw-inner-btn:focus-visible {
  outline: 2px solid var(--sw-inner-primary);
  outline-offset: 3px;
}

.sw-inner-btn--secondary {
  color: var(--sw-inner-primary-dark);
  background: #ffffff;
  border-color: var(--sw-inner-primary);
}

.sw-inner-btn--secondary:hover,
.sw-inner-btn--secondary:focus-visible {
  color: var(--sw-inner-primary-dark);
  background: var(--sw-inner-light);
  border-color: var(--sw-inner-primary-dark);
}

.sw-inner-section {
  padding: 5rem 0;
  background: #ffffff;
}

.sw-inner-section--light {
  background: var(--sw-inner-light);
}

.sw-inner-section--warm {
  background: var(--sw-inner-warm);
}

.sw-inner-section--dark {
  color: #ffffff;
  background: var(--sw-inner-dark);
}

.sw-inner-section__header {
  max-width: 780px;
  margin: 0 auto 3rem;
  text-align: center;
}

.sw-inner-section__header--left {
  margin-left: 0;
  text-align: left;
}

.sw-inner-section__header h2,
.sw-inner-split__content h2 {
  margin: 0 0 1rem;
  color: var(--sw-inner-ink);
  line-height: 1.25;
  letter-spacing: -0.025em;
}

.sw-inner-section--dark .sw-inner-section__header h2,
.sw-inner-section--dark .sw-inner-split__content h2 {
  color: #ffffff;
}

.sw-inner-lead,
.sw-inner-section__header p,
.sw-inner-split__content > p {
  margin: 0;
  color: var(--sw-inner-copy);
  line-height: 1.8;
}

.sw-inner-section--dark .sw-inner-lead,
.sw-inner-section--dark .sw-inner-section__header p,
.sw-inner-section--dark .sw-inner-split__content > p {
  color: rgba(255, 255, 255, 0.76);
}

.sw-inner-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}

.sw-inner-split--reverse .sw-inner-split__content {
  order: 2;
}

.sw-inner-split--reverse .sw-inner-media {
  order: 1;
}

.sw-inner-split__content .sw-inner-actions {
  margin-top: 2rem;
}

.sw-inner-container > .sw-inner-actions {
  justify-content: center;
  margin-top: 2.5rem;
  margin-bottom: 0;
}

.sw-inner-content-grid {
  margin-top: 2rem;
}

.sw-inner-media {
  min-height: 390px;
  overflow: hidden;
  border-radius: var(--sw-inner-card-radius);
  background: #e7e5e4;
  box-shadow: var(--sw-inner-card-shadow);
}

.sw-inner-media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: block;
  object-fit: cover;
}

.sw-inner-grid {
  display: grid;
  gap: 1.5rem;
}

.sw-inner-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sw-inner-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sw-inner-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sw-inner-card {
  min-width: 0;
  height: 100%;
  padding: 2rem;
  border: 1px solid var(--sw-inner-line);
  border-radius: var(--sw-inner-card-radius);
  background: #ffffff;
  box-shadow: var(--sw-inner-card-shadow);
  transition: border-color 0.25s ease;
}

.sw-inner-card--flush {
  padding: 0;
  overflow: hidden;
}

.sw-inner-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e7e5e4;
}

.sw-inner-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.sw-inner-card__body {
  padding: 2rem;
}

.sw-inner-card h3,
.sw-inner-card__body h3 {
  margin: 0 0 0.75rem;
  color: var(--sw-inner-ink);
  line-height: 1.4;
}

.sw-inner-card p,
.sw-inner-card__body p {
  margin: 0;
  color: var(--sw-inner-copy);
  line-height: 1.75;
}

.sw-inner-card__meta {
  display: block;
  margin: 0 0 0.8rem;
  color: var(--sw-inner-primary-dark);
  font-size: 12px !important;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sw-inner-card__item + .sw-inner-card__item {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--sw-inner-line);
}

.sw-inner-card__title {
  margin-bottom: 1.5rem !important;
  color: var(--sw-inner-primary-dark) !important;
}

.sw-inner-icon {
  width: 3rem;
  height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  border-radius: 0.75rem;
  color: var(--sw-inner-primary-dark);
  background: var(--sw-inner-light);
}

.sw-inner-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}

.sw-inner-stats {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  width: min(100%, 42rem);
  margin-top: 2rem;
}

.sw-inner-stat {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.6rem;
  min-height: 44px;
  padding: 0.65rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.52);
  box-shadow: 0 1px 2px rgba(28, 25, 23, 0.06);
  backdrop-filter: blur(8px);
}

.sw-inner-stat strong {
  flex: 0 0 auto;
  color: var(--sw-inner-primary-dark);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.sw-inner-stat span {
  color: #44403c;
  font-size: 12px;
  line-height: 1.4;
}

.sw-inner-process {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}

.sw-inner-process__item {
  position: relative;
  padding: 2rem;
  border: 1px solid var(--sw-inner-line);
  border-radius: var(--sw-inner-card-radius);
  background: #ffffff;
  box-shadow: var(--sw-inner-card-shadow);
}

.sw-inner-process__number {
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  border-radius: 999px;
  color: #ffffff;
  background: var(--sw-inner-primary);
  font-size: 13px;
  font-weight: 600;
}

.sw-inner-process__item h3 {
  margin: 0 0 0.75rem;
  color: var(--sw-inner-ink);
  line-height: 1.4;
}

.sw-inner-process__item p {
  margin: 0;
  color: var(--sw-inner-copy);
  line-height: 1.7;
}

.sw-inner-cta {
  position: relative;
  overflow: hidden;
  padding: 4.5rem clamp(1.5rem, 5vw, 5rem);
  border-radius: var(--sw-inner-panel-radius);
  color: #ffffff;
  background: linear-gradient(125deg, #0f3d32 0%, #065f46 100%);
}

.sw-inner-cta::after {
  content: '';
  position: absolute;
  width: 360px;
  height: 360px;
  right: -130px;
  top: -190px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
}

.sw-inner-cta__content {
  position: relative;
  z-index: 1;
  max-width: 800px;
}

.sw-inner-cta h2 {
  margin: 0 0 1rem;
  color: #ffffff;
  line-height: 1.25;
}

.sw-inner-cta p {
  max-width: 680px;
  margin: 0 0 2rem;
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.8;
}

.sw-inner-check-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1.5rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}

.sw-inner-check-list li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--sw-inner-ink);
  font-weight: 600;
}

.sw-inner-check-list svg {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
  color: var(--sw-inner-primary);
}

.sw-inner-contact {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  overflow: hidden;
  border-radius: var(--sw-inner-panel-radius);
  background: #f1f8f6;
}

.sw-inner-contact__intro,
.sw-inner-contact__form {
  padding: clamp(2rem, 5vw, 5rem);
}

.sw-inner-contact__intro h2 {
  margin: 0 0 1rem;
  color: var(--sw-inner-ink);
  line-height: 1.25;
}

.sw-inner-contact__intro p {
  margin: 0;
  color: var(--sw-inner-copy);
  line-height: 1.8;
}

.sw-inner-contact__form {
  border-left: 1px dashed #a8a29e;
  background: rgba(255, 255, 255, 0.36);
}

.sw-inner-contact__form h3 {
  margin: 0 0 1.5rem;
  color: var(--sw-inner-ink);
}

.sw-inner-form-note {
  margin: 1rem 0 0;
  color: var(--sw-inner-muted);
  font-size: 12px !important;
  line-height: 1.6;
}

.sw-inner-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}

.sw-inner-timeline::before {
  content: '';
  position: absolute;
  top: 2rem;
  left: 7%;
  right: 7%;
  border-top: 1px dashed #6ee7b7;
}

.sw-inner-timeline__item {
  position: relative;
}

.page-about-us .sw-history-carousel-button {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}

.page-about-us .sw-history-carousel-button:focus,
.page-about-us .sw-history-carousel-button:focus-visible,
.page-about-us .sw-history-carousel-button:active {
  color: #ffffff !important;
  background-color: #059669 !important;
  border-color: #059669 !important;
  outline: none !important;
  box-shadow: none !important;
}

.page-about-us .sw-history-carousel-button:focus svg,
.page-about-us .sw-history-carousel-button:focus-visible svg,
.page-about-us .sw-history-carousel-button:active svg {
  color: #ffffff !important;
}

.sw-inner-timeline__year {
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  border: 1px solid #a7f3d0;
  border-radius: 999px;
  color: var(--sw-inner-primary-dark);
  background: #ffffff;
  font-size: 13px;
  font-weight: 600;
}

.sw-inner-timeline__item h3 {
  margin: 0 0 0.65rem;
  color: var(--sw-inner-ink);
}

.sw-inner-timeline__item p {
  margin: 0;
  color: var(--sw-inner-copy);
  line-height: 1.7;
}

.sw-inner-cert-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.sw-inner-cert {
  padding: 1.5rem;
  border: 1px solid var(--sw-inner-line);
  border-radius: var(--sw-inner-card-radius);
  background: #ffffff;
  box-shadow: var(--sw-inner-card-shadow);
}

.sw-inner-cert strong {
  display: block;
  margin-bottom: 0.65rem;
  color: var(--sw-inner-primary-dark);
  font-size: 16px;
}

.sw-inner-cert p {
  margin: 0;
  color: var(--sw-inner-copy);
  line-height: 1.65;
}

.sw-inner-page .section-faqs .sw-faq-container {
  max-width: 900px;
  margin: 0 auto;
}

.sw-inner-page .section-faqs .sw-faq-question,
.sw-inner-page .section-faqs .sw-faq-question span {
  font-size: 16px !important;
}

.sw-inner-page .section-faqs .sw-faq-icon {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
}

@media (min-width: 1024px) {
  .sw-inner-hero {
    height: 600px;
  }

  .sw-inner-container {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  /* Keep every non-home banner consistent while the fixed 80px header overlays its background. */
  body:not(.home) #banner.section-banner:not(.sw-banner--independent) {
    box-sizing: border-box;
    height: 700px;
    min-height: 700px;
    margin-top: 0 !important;
  }


}

@media (max-width: 1023px) {
  .sw-inner-hero {
    min-height: 600px;
  }

  .sw-inner-hero::before {
    background: rgba(255, 255, 255, 0.3);
  }

  .sw-inner-split,
  .sw-inner-contact {
    grid-template-columns: 1fr;
  }

  .sw-inner-split--reverse .sw-inner-split__content,
  .sw-inner-split--reverse .sw-inner-media {
    order: initial;
  }

  .sw-inner-grid--4,
  .sw-inner-process,
  .sw-inner-cert-grid,
  .sw-inner-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sw-inner-contact__form {
    border-top: 1px dashed #a8a29e;
    border-left: 0;
  }

  .sw-inner-timeline::before {
    display: none;
  }
}

@media (max-width: 767px) {
  .sw-inner-container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sw-inner-hero {
    min-height: 560px;
    align-items: flex-start;
  }

  .sw-inner-hero__content {
    padding-top: 6.5rem;
    padding-bottom: 4rem;
  }

  .sw-inner-section {
    padding: 2.5rem 0;
  }

  .sw-inner-grid--2,
  .sw-inner-grid--3,
  .sw-inner-grid--4,
  .sw-inner-process,
  .sw-inner-cert-grid,
  .sw-inner-timeline,
  .sw-inner-check-list {
    grid-template-columns: 1fr;
  }

  .sw-inner-stats {
    grid-template-columns: 1fr;
  }

  .sw-inner-media {
    min-height: 280px;
  }

  .sw-inner-card,
  .sw-inner-process__item {
    padding: 1.5rem;
  }

  .sw-inner-card--flush {
    padding: 0;
  }

  .sw-inner-card__body {
    padding: 1.5rem;
  }

  .sw-inner-cta {
    padding: 3rem 1.5rem;
    border-radius: 1.5rem;
  }

  .sw-inner-contact {
    border-radius: 1.5rem;
  }
}

/* ==========================================================================
   SiWei CMS content hubs — Blogs and Case Studies
   ========================================================================== */
.sw-content-feed {
  min-height: 280px;
}

.sw-content-tabs {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  margin: 0 auto 3rem;
}

.sw-content-tab {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0.7rem 1.25rem;
  border: 1px solid #d6d3d1;
  border-radius: 999px;
  color: var(--sw-inner-copy);
  background: #ffffff;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.25rem;
  cursor: pointer;
  transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

.sw-content-tab:hover,
.sw-content-tab:focus-visible {
  color: var(--sw-inner-primary-dark);
  border-color: #6ee7b7;
  background: #ecfdf5;
}

.sw-content-tab.is-active {
  color: #ffffff;
  border-color: var(--sw-inner-primary);
  background: var(--sw-inner-primary);
}

/* Blogs topic tabs reuse the S03 challenge-tab treatment from Cosmetics & Skincare. */
.page-blogs .sw-content-tabs {
  display: flex;
  justify-content: center;
  gap: 0;
  width: 100%;
  max-width: 980px;
  margin: 0 auto 3rem;
  border-bottom: 1px solid #d6d3d1;
  overflow-x: auto;
  scrollbar-width: none;
}

.page-blogs .sw-content-tabs::-webkit-scrollbar {
  display: none;
}

.page-blogs .sw-content-tab {
  flex: 1 1 0;
  min-width: 0;
  max-width: 326.666px;
  min-height: 0;
  padding: 1rem 1.25rem 1.2rem;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  color: #1f2937;
  background: transparent;
  box-shadow: none;
  font-size: 0.95rem !important;
  font-weight: 500;
  text-align: center;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.page-blogs .sw-content-tab:hover,
.page-blogs .sw-content-tab:focus-visible {
  color: #059669;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.page-blogs .sw-content-tab.is-active,
.page-blogs .sw-content-tab.is-active:hover,
.page-blogs .sw-content-tab.is-active:focus-visible {
  color: #10b981;
  border-color: #10b981;
  background: transparent;
}

.sw-content-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.sw-content-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--sw-inner-line);
  border-radius: 1.25rem;
  color: var(--sw-inner-ink);
  background: #ffffff;
  box-shadow: 0 8px 30px rgba(28, 25, 23, 0.05);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.sw-content-card:hover,
.sw-content-card:focus-visible {
  color: var(--sw-inner-ink);
  border-color: #a7f3d0;
  box-shadow: 0 18px 45px rgba(28, 25, 23, 0.1);
  transform: translateY(-4px);
}

.sw-content-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e7e5e4;
}

.sw-content-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.sw-content-card:hover .sw-content-card__media img,
.sw-content-card:focus-visible .sw-content-card__media img {
  transform: scale(1.035);
}

.sw-content-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 1.75rem;
}

.sw-content-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.85rem;
  margin-bottom: 1rem;
  color: var(--sw-inner-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.sw-content-card__category {
  color: var(--sw-inner-primary-dark);
}

.sw-content-card h3 {
  margin: 0 0 0.8rem;
  color: var(--sw-inner-ink);
  line-height: 1.4;
}

.sw-content-card__excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 0 1.5rem;
  color: var(--sw-inner-copy);
  line-height: 1.75;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.sw-content-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: auto;
  color: var(--sw-inner-primary-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sw-content-card__link svg {
  width: 1rem;
  height: 1rem;
}

.sw-content-status {
  min-height: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 2.5rem;
  border: 1px dashed #a8a29e;
  border-radius: 1.25rem;
  color: var(--sw-inner-copy);
  background: rgba(255, 255, 255, 0.72);
  text-align: center;
}

.sw-content-status[hidden],
.sw-content-load-more[hidden] {
  display: none;
}

.sw-content-status svg {
  width: 2rem;
  height: 2rem;
  color: var(--sw-inner-primary);
}

.sw-content-load-more {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}

.sw-content-method {
  max-width: 850px;
  margin: 0 auto;
  text-align: center;
}

.sw-content-method h2 {
  margin: 0 0 1rem;
  color: var(--sw-inner-ink);
  line-height: 1.25;
}

.sw-content-method p {
  margin: 0 auto 2rem;
  color: var(--sw-inner-copy);
  line-height: 1.8;
}

.sw-content-method .sw-inner-actions {
  justify-content: center;
}

@media (max-width: 1023px) {
  .sw-content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .sw-content-tabs {
    justify-content: flex-start;
    overflow-x: auto;
    margin-right: -1.25rem;
    padding-right: 1.25rem;
    padding-bottom: 0.4rem;
    scrollbar-width: none;
  }

  .sw-content-tabs::-webkit-scrollbar {
    display: none;
  }

  .page-blogs .sw-content-tabs {
    justify-content: flex-start;
    margin-right: auto;
    padding-right: 0;
    padding-bottom: 0;
  }

  .page-blogs .sw-content-tab {
    flex: 0 0 auto;
    min-width: 160px;
    max-width: none;
  }

  .sw-content-grid {
    grid-template-columns: 1fr;
  }

  .sw-content-card__body {
    padding: 1.5rem;
  }
}

/* ==========================================================================
   Unified standard-page banners
   Home, Blogs, and Case pages keep their independent hero treatments.
   ========================================================================== */
body:not(.home) #banner.section-banner:not(.sw-banner--independent) {
  box-sizing: border-box;
  height: 700px;
  min-height: 700px;
  margin-top: 0 !important;
  padding: 42px 0 0 !important;
  align-items: center;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent) .sw-inner-hero__content {
  max-width: 48rem;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent) h1 {
  max-width: 48rem;
  margin: 0 0 1.5rem !important;
  font-size: 48px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.025em;
  animation: fadeInUp 0.6s ease-out 0.2s forwards;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent) [aria-label="Breadcrumb"],
body:not(.home) #banner.section-banner:not(.sw-banner--independent) .max-w-3xl > div:first-child {
  margin-bottom: 1rem !important;
  color: #1c1917;
  font-size: 14px !important;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.025em;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent) [aria-label="Breadcrumb"] {
  animation: fadeInUp 0.6s ease-out 0.1s forwards;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent) [aria-label="Breadcrumb"] a,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) [aria-label="Breadcrumb"] a:visited,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) .max-w-3xl > div:first-child a,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) .max-w-3xl > div:first-child a:visited {
  color: inherit;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent) [aria-label="Breadcrumb"] a:hover,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) [aria-label="Breadcrumb"] a:focus-visible,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) .max-w-3xl > div:first-child a:hover,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) .max-w-3xl > div:first-child a:focus-visible {
  color: #065f46;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent).sw-banner--dark h1,
body:not(.home) #banner.section-banner:not(.sw-banner--independent).sw-banner--dark [aria-label="Breadcrumb"],
body:not(.home) #banner.section-banner:not(.sw-banner--independent).sw-banner--dark .max-w-3xl > div:first-child {
  color: #ffffff;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent).sw-banner--dark [aria-label="Breadcrumb"] a,
body:not(.home) #banner.section-banner:not(.sw-banner--independent).sw-banner--dark [aria-label="Breadcrumb"] a:visited,
body:not(.home) #banner.section-banner:not(.sw-banner--independent).sw-banner--dark [aria-label="Breadcrumb"] a:hover,
body:not(.home) #banner.section-banner:not(.sw-banner--independent).sw-banner--dark [aria-label="Breadcrumb"] a:focus-visible,
body:not(.home) #banner.section-banner:not(.sw-banner--independent).sw-banner--dark .max-w-3xl > div:first-child a,
body:not(.home) #banner.section-banner:not(.sw-banner--independent).sw-banner--dark .max-w-3xl > div:first-child a:visited,
body:not(.home) #banner.section-banner:not(.sw-banner--independent).sw-banner--dark .max-w-3xl > div:first-child a:hover,
body:not(.home) #banner.section-banner:not(.sw-banner--independent).sw-banner--dark .max-w-3xl > div:first-child a:focus-visible {
  color: #ffffff;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent) .sw-inner-hero__copy,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) .max-w-3xl > p {
  max-width: 36rem;
  margin: 0 0 2rem !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent) .sw-inner-hero__copy {
  animation: fadeInUp 0.6s ease-out 0.4s forwards;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent) .sw-inner-actions,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) .max-w-3xl > div:last-child {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent) .sw-inner-actions {
  animation: fadeInUp 0.6s ease-out 0.6s forwards;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent) [data-sw-cta-open],
body:not(.home) #banner.section-banner:not(.sw-banner--independent) .sw-inner-btn,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) a[href="#products"] {
  box-sizing: border-box;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 0.85rem 2rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.25rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: none;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent) [data-sw-cta-open],
body:not(.home) #banner.section-banner:not(.sw-banner--independent) .sw-inner-btn--primary {
  color: #ffffff;
  background: #047857;
  border-color: #047857;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent) [data-sw-cta-open]:hover,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) [data-sw-cta-open]:focus-visible,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) .sw-inner-btn--primary:hover,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) .sw-inner-btn--primary:focus-visible {
  color: #ffffff;
  background: #065f46;
  border-color: #065f46;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent) .sw-inner-btn--secondary,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) a[href="#products"] {
  color: #047857;
  background: #ffffff;
  border-color: #047857;
}

body:not(.home) #banner.section-banner:not(.sw-banner--independent) .sw-inner-btn--secondary:hover,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) .sw-inner-btn--secondary:focus-visible,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) a[href="#products"]:hover,
body:not(.home) #banner.section-banner:not(.sw-banner--independent) a[href="#products"]:focus-visible {
  color: #065f46;
  background: #f1f8f6;
  border-color: #065f46;
}

@media (max-width: 1023px) {
  body:not(.home) #banner.section-banner:not(.sw-banner--independent) {
    height: auto;
    min-height: 600px;
    padding: 145px 0 64px !important;
    align-items: flex-start;
  }

  body:not(.home) #banner.section-banner:not(.sw-banner--independent) h1 {
    font-size: 40px !important;
  }
}

@media (max-width: 767px) {
  body:not(.home) #banner.section-banner:not(.sw-banner--independent) {
    min-height: 0;
  }

  body:not(.home) #banner.section-banner:not(.sw-banner--independent) h1 {
    font-size: 36px !important;
    line-height: 1.25 !important;
  }
}

/* ==========================================================================
   Core service pages — homepage design-system alignment
   Applies to the four strategic inner pages without changing their content.
   ========================================================================== */
.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) {
  --sw-inner-card-shadow: none;
  --sw-inner-card-shadow-hover: none;
}

.page-custom-solutions .sw-solution-groups {
  display: grid;
  gap: 4rem;
}

.page-custom-solutions .section-solutions {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.page-custom-solutions .sw-solution-panel {
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.page-custom-solutions .sw-solution-panel > .sw-inner-section__header:first-child {
  margin-bottom: 3.5rem;
}

.page-custom-solutions .sw-solution-group__header {
  display: flex;
  align-items: center;
  padding-bottom: 0.75rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px dashed var(--sw-inner-line);
}

.page-custom-solutions .sw-solution-group__header h3 {
  margin: 0;
  color: var(--sw-inner-primary-dark);
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-custom-solutions .sw-solution-group__grid {
  gap: 2rem;
}

.page-custom-solutions .sw-solution-card {
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 30px;
  overflow: hidden;
  border-radius: 0.75rem;
  background: #ffffff;
  text-align: left;
}

.page-custom-solutions .sw-solution-card .sw-inner-card__media {
  width: 100%;
  height: auto;
  aspect-ratio: 9 / 6;
  border-radius: 0.75rem;
  background: var(--sw-inner-light);
}

.page-custom-solutions .sw-solution-card .sw-inner-card__body {
  flex: 1 1 auto;
  padding: 1.25rem 0 0;
}

.sw-inner-page.page-custom-solutions .sw-solution-group .sw-solution-card {
  border: 0;
  box-shadow: none;
}

.sw-inner-page.page-custom-solutions .sw-solution-group .sw-solution-card .sw-inner-card__media {
  border-bottom: 0;
}

.page-custom-solutions .sw-solution-card h4 {
  margin: 0 0 0.5rem;
  color: var(--sw-inner-ink);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
}

.page-custom-solutions .sw-solution-card p {
  margin: 0;
  color: var(--sw-inner-copy);
  line-height: 1.625;
}

.page-custom-solutions .sw-solution-panel > .sw-inner-actions {
  justify-content: center;
  margin-top: 3.5rem;
  margin-bottom: 0;
}

.page-custom-solutions .section-foundation {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: #ffffff;
}

.page-custom-solutions .section-foundation .sw-inner-container {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  column-gap: 3rem;
  align-items: start;
}

.page-custom-solutions .section-foundation .sw-foundation-intro {
  max-width: 30rem;
}

.page-custom-solutions .section-foundation .sw-inner-section__header:not(.sw-inner-actions) {
  max-width: none;
  margin: 0;
}

.page-custom-solutions .section-foundation .sw-inner-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.page-custom-solutions .section-foundation .sw-inner-card {
  min-height: 0;
  padding: 1.5rem;
  border: 1px solid #f5f5f4;
  border-radius: 1rem;
  background: var(--sw-inner-light);
  box-shadow: 0 1px 2px rgba(28, 25, 23, 0.05);
}

.page-custom-solutions .section-foundation .sw-inner-icon {
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 1.25rem;
  border: 1px solid #d1fae5;
  border-radius: 0.75rem;
  background: #ffffff;
}

.page-custom-solutions .section-foundation .sw-inner-card h3 {
  margin-bottom: 0.75rem;
}

.page-custom-solutions .section-foundation .sw-inner-card p {
  line-height: 1.7;
}

.sw-inner-page.page-custom-solutions .section-foundation .sw-inner-actions.sw-inner-section__header {
  justify-content: flex-start;
  max-width: none;
  margin: 2rem 0 0;
  text-align: left;
}

.page-custom-solutions .section-process {
  padding-top: 0;
  padding-bottom: 0;
  background: #ffffff;
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-section__header:not(.sw-inner-actions) {
  max-width: 48rem;
  margin-right: auto;
  margin-left: 0;
  text-align: left;
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) :is(
  .section-process,
  .section-production-process,
  .section-carbon-process
) .sw-inner-section__header:not(.sw-inner-actions) {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-actions.sw-inner-section__header {
  max-width: none;
  margin: 2.5rem auto 0;
  text-align: center;
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-card {
  box-shadow: none;
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-card__media {
  border-bottom: 1px solid var(--sw-inner-line);
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-media {
  min-height: 0;
  aspect-ratio: 4 / 3;
  box-shadow: none;
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-process {
  position: relative;
  gap: 2rem;
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-process::before {
  content: '';
  position: absolute;
  z-index: 0;
  top: 1.55rem;
  right: 9%;
  left: 9%;
  height: 1px;
  background: #a7f3d0;
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-process__item {
  z-index: 1;
  padding: 0 0.75rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-process__number {
  width: 3.125rem;
  height: 3.125rem;
  margin-bottom: 1.5rem;
  border: 1px solid #a7f3d0;
  color: var(--sw-inner-primary-dark);
  background: #ffffff;
}

.page-custom-solutions .section-process .sw-inner-process__number svg {
  width: 1.25rem;
  height: 1.25rem;
}

.page-custom-solutions .section-process .sw-inner-process__item h3 {
  margin-bottom: 0;
}

.page-custom-solutions .section-process .sw-inner-process__item h3 span {
  display: block;
}

.page-custom-solutions .section-process .sw-process-label {
  margin-bottom: 0.375rem;
  color: var(--sw-inner-primary);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-section--dark {
  color: var(--sw-inner-ink);
  background: var(--sw-inner-light);
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-section--dark :is(
  .sw-inner-section__header h2,
  .sw-inner-split__content h2
) {
  color: var(--sw-inner-ink);
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-section--dark :is(
  .sw-inner-lead,
  .sw-inner-section__header p,
  .sw-inner-split__content > p
) {
  color: var(--sw-inner-copy);
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-cta {
  padding: 4rem clamp(2rem, 6vw, 6rem);
  border: 1px solid var(--sw-inner-line);
  color: var(--sw-inner-ink);
  background: var(--sw-inner-light);
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-cta::after {
  display: none;
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-cta h2 {
  color: var(--sw-inner-ink);
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-cta p {
  color: var(--sw-inner-copy);
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) #banner .sw-inner-btn {
  box-shadow: none;
}

.sw-inner-page:is(
  .page-custom-solutions,
  .page-manufacturing-quality,
  .page-sustainability,
  .page-service-partnership
) .sw-inner-hero__accent {
  color: var(--sw-inner-primary-accent);
}

.page-sustainability .sw-plastic-features {
  display: grid;
  gap: 0;
}

.page-sustainability .sw-plastic-feature {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
}

.page-sustainability .sw-plastic-feature__media {
  aspect-ratio: 5 / 2;
  overflow: hidden;
  border: 1px solid var(--sw-inner-line);
  border-radius: var(--sw-inner-card-radius);
  background: #ffffff;
}

.page-sustainability .sw-plastic-feature__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.page-sustainability .sw-plastic-feature__content {
  padding: clamp(1.5rem, 4vw, 3rem);
}

.page-sustainability .sw-plastic-feature__content h3 {
  margin: 0 0 1.25rem;
  color: var(--sw-inner-ink);
  line-height: 1.4;
}

.page-sustainability .sw-plastic-feature__content p {
  margin: 0;
  color: var(--sw-inner-copy);
  line-height: 1.7;
}

.page-sustainability .sw-plastic-feature--reverse .sw-plastic-feature__media {
  order: 2;
}

.page-sustainability .sw-plastic-feature--reverse .sw-plastic-feature__content {
  order: 1;
}

.sw-inner-page.page-sustainability .section-certifications .sw-inner-section__header {
  max-width: none;
  margin: 0 0 2.5rem;
  text-align: left;
}

.page-sustainability .sw-certification-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.page-sustainability .sw-certification-list {
  display: grid;
  gap: 1.5rem;
}

.page-sustainability .sw-certification-item {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.page-sustainability .sw-certification-icon {
  width: 1.5rem;
  height: 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.05rem;
  color: var(--sw-inner-primary-dark);
}

.page-sustainability .sw-certification-icon :is(i, svg) {
  width: 1.25rem;
  height: 1.25rem;
}

.page-sustainability .sw-certification-item__content h3 {
  margin: 0 0 0.4rem;
  color: var(--sw-inner-primary-dark);
  line-height: 1.4;
}

.page-sustainability .sw-certification-item__content p {
  margin: 0;
  color: var(--sw-inner-copy);
  line-height: 1.65;
}

.page-sustainability .section-carbon-process .sw-inner-process__number :is(i, svg) {
  width: 1.25rem;
  height: 1.25rem;
}

.page-sustainability .section-carbon-process .sw-inner-process__item h3 > span {
  display: block;
}

.page-sustainability .section-carbon-process .sw-carbon-step-label {
  margin-bottom: 0.35rem;
  color: var(--sw-inner-primary-accent);
  font-size: 14px;
  font-style: italic;
  font-weight: 600;
  line-height: 1.4;
}

.sw-inner-page:is(.page-sustainability, .page-service-partnership) .section-cta--folding-style {
  padding-top: 1.25rem;
  padding-bottom: 7.5rem;
  overflow: visible;
  background: #ffffff;
}

.sw-inner-page:is(.page-sustainability, .page-service-partnership) .section-cta--folding-style .sw-inner-container {
  max-width: 1280px;
  padding-right: 1rem;
  padding-left: 1rem;
}

.sw-inner-page:is(.page-sustainability, .page-service-partnership) .sw-sustainability-cta {
  position: relative;
  padding: 2.5rem 1.5rem;
  overflow: visible;
  border-radius: 1.5rem;
  background: var(--sw-inner-primary-accent);
  text-align: left;
}

.sw-inner-page:is(.page-sustainability, .page-service-partnership) .sw-sustainability-cta__content {
  position: relative;
  z-index: 1;
}

.sw-inner-page:is(.page-sustainability, .page-service-partnership) .sw-sustainability-cta h2 {
  margin: 0 0 1rem;
  color: #ffffff;
  line-height: 1.3;
  letter-spacing: -0.025em;
}

.sw-inner-page:is(.page-sustainability, .page-service-partnership) .sw-sustainability-cta p {
  max-width: 56rem;
  margin: 0 0 2rem;
  color: #ffffff;
  line-height: 1.625;
}

.sw-inner-page:is(.page-sustainability, .page-service-partnership) .sw-sustainability-cta__button {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  border: 1px solid #ffffff;
  border-radius: 9999px;
  color: var(--sw-inner-primary-dark);
  background: #ffffff;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.25rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  box-shadow: 0 1px 2px rgba(28, 25, 23, 0.08);
  transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

.sw-inner-page:is(.page-sustainability, .page-service-partnership) .sw-sustainability-cta__button:hover,
.sw-inner-page:is(.page-sustainability, .page-service-partnership) .sw-sustainability-cta__button:focus-visible {
  color: var(--sw-inner-primary-dark);
  border-color: #ecfdf5;
  background: #ecfdf5;
}

.sw-inner-page:is(.page-sustainability, .page-service-partnership) .sw-sustainability-cta__media {
  display: none;
}

@media (min-width: 640px) {
  .sw-inner-page:is(.page-sustainability, .page-service-partnership) .section-cta--folding-style .sw-inner-container {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}

@media (min-width: 768px) {
  .sw-inner-page:is(.page-sustainability, .page-service-partnership) .sw-sustainability-cta {
    padding: 3rem 2.5rem;
  }

  .sw-inner-page:is(.page-sustainability, .page-service-partnership) .sw-sustainability-cta__content {
    max-width: 46%;
  }

  .sw-inner-page:is(.page-sustainability, .page-service-partnership) .sw-sustainability-cta__media {
    position: absolute;
    top: 50%;
    right: -4.5rem;
    display: block;
    transform: translateY(-50%);
    pointer-events: none;
    user-select: none;
  }

  .sw-inner-page:is(.page-sustainability, .page-service-partnership) .sw-sustainability-cta__media img {
    width: 38.75rem;
    max-width: none;
    display: block;
  }
}

@media (min-width: 1024px) {
  .sw-inner-page:is(.page-sustainability, .page-service-partnership) .section-cta--folding-style .sw-inner-container {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .sw-inner-page:is(.page-sustainability, .page-service-partnership) .sw-sustainability-cta__content {
    max-width: 42%;
  }

  .sw-inner-page:is(.page-sustainability, .page-service-partnership) .sw-sustainability-cta__media {
    right: -8.125rem;
  }

  .sw-inner-page:is(.page-sustainability, .page-service-partnership) .sw-sustainability-cta__media img {
    width: 53.75rem;
  }

}

@media (max-width: 1023px) {
  .page-custom-solutions .sw-solution-panel {
    padding: 0;
  }

  .page-custom-solutions .sw-solution-groups {
    gap: 3.5rem;
  }

  .page-custom-solutions .sw-solution-group__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }

  .page-custom-solutions .sw-solution-card .sw-inner-card__body {
    padding: 1.25rem 0 0;
  }

  .page-custom-solutions .section-foundation .sw-inner-container {
    grid-template-columns: 1fr;
    row-gap: 2.5rem;
  }

  .page-custom-solutions .section-foundation .sw-foundation-intro {
    max-width: 42rem;
  }

  .sw-inner-page:is(
    .page-custom-solutions,
    .page-manufacturing-quality,
    .page-sustainability,
    .page-service-partnership
  ) .sw-inner-process::before {
    display: none;
  }

  .sw-inner-page:is(
    .page-custom-solutions,
    .page-manufacturing-quality,
    .page-sustainability,
    .page-service-partnership
  ) .sw-inner-process__item {
    padding: 1.5rem;
    border: 1px solid var(--sw-inner-line);
    border-radius: var(--sw-inner-card-radius);
    background: #ffffff;
    text-align: left;
  }
}

@media (max-width: 767px) {
  .page-sustainability .sw-certification-layout {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .page-sustainability .sw-plastic-feature {
    grid-template-columns: 1fr;
    row-gap: 1rem;
  }

  .page-sustainability .sw-plastic-feature + .sw-plastic-feature {
    margin-top: 2rem;
  }

  .page-sustainability .sw-plastic-feature__media {
    aspect-ratio: 16 / 9;
  }

  .page-sustainability .sw-plastic-feature__content,
  .page-sustainability .sw-plastic-feature--reverse .sw-plastic-feature__content {
    order: 2;
    padding: 0.5rem 0 0;
  }

  .page-sustainability .sw-plastic-feature__media,
  .page-sustainability .sw-plastic-feature--reverse .sw-plastic-feature__media {
    order: 1;
  }

  .page-custom-solutions .section-solutions {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .page-custom-solutions .sw-solution-panel {
    padding: 0;
    border-radius: 0;
  }

  .page-custom-solutions .sw-solution-panel > .sw-inner-section__header:first-child {
    margin-bottom: 2.5rem;
  }

  .page-custom-solutions .sw-solution-groups {
    gap: 3rem;
  }

  .page-custom-solutions .sw-solution-group__header {
    margin-bottom: 1.25rem;
  }

  .page-custom-solutions .sw-solution-group__grid {
    grid-template-columns: 1fr;
  }

  .page-custom-solutions .sw-solution-card {
    min-height: 0;
  }

  .page-custom-solutions .sw-solution-card h4 {
    margin-bottom: 0.5rem;
  }

  .page-custom-solutions .sw-solution-card p {
    margin-top: 0;
  }

  .sw-inner-page:is(
    .page-custom-solutions,
    .page-manufacturing-quality,
    .page-sustainability,
    .page-service-partnership
  ) .sw-inner-process__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 1rem;
    align-items: start;
  }

  .sw-inner-page:is(
    .page-custom-solutions,
    .page-manufacturing-quality,
    .page-sustainability,
    .page-service-partnership
  ) .sw-inner-process__number {
    grid-row: 1 / span 2;
    margin-bottom: 0;
  }

  .sw-inner-page:is(
    .page-custom-solutions,
    .page-manufacturing-quality,
    .page-sustainability,
    .page-service-partnership
  ) .sw-inner-process__item :is(h3, p) {
    grid-column: 2;
  }

  .sw-inner-page:is(
    .page-custom-solutions,
    .page-manufacturing-quality,
    .page-sustainability,
    .page-service-partnership
  ) .sw-inner-cta {
    padding: 3rem 1.5rem;
  }
}

/* Blogs and case studies: compact solid-color banners and white feed sections. */
.sw-inner-page:is(.page-blogs, .page-case-studies) > #banner.section-banner {
  height: 400px;
  min-height: 400px;
  background-color: var(--sw-inner-light);
  background-image: none;
}

.sw-inner-page:is(.page-blogs, .page-case-studies) > #banner.section-banner::before {
  display: none;
}

.sw-inner-page:is(.page-blogs, .page-case-studies) .sw-inner-hero__accent {
  color: var(--sw-inner-primary-accent);
}

.sw-inner-page:is(.page-blogs, .page-case-studies) > :is(.section-blog-feed, .section-case-study-feed) {
  background: #ffffff;
}

/* 2026-09 content refinements: category cards, headings and recommendation tabs. */
.sw-template-typography .sw-category-section-heading {
  width: 100%;
  max-width: none;
}

.sw-template-typography .sw-category-type-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.sw-template-typography .sw-category-type-media {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background-color: #f2f9f7;
}

.sw-template-typography .sw-category-type-copy {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.65;
}

.sw-packaging-recommendations .sw-packaging-tabs {
  display: flex;
  width: 100%;
  margin: 0 0 2.5rem;
  overflow-x: auto;
  border-bottom: 1px solid #e7e5e4;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.sw-packaging-recommendations .sw-packaging-tab {
  flex: 1 0 max-content;
  min-width: 8.5rem;
  padding: 0.9rem 1.1rem;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #57534e;
  font-size: 14px;
  font-weight: 600 !important;
  line-height: 1.3;
  text-align: center;
  cursor: pointer;
  transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.sw-packaging-recommendations .sw-packaging-tab:hover,
.sw-packaging-recommendations .sw-packaging-tab:focus-visible,
.sw-packaging-recommendations .sw-packaging-tab[aria-selected="true"] {
  border-bottom-color: #059669;
  background: #f1f8f6;
  color: #047857;
  outline: none;
}

.sw-packaging-recommendations [data-packaging-card][hidden] {
  display: none !important;
}

.sw-packaging-recommendations [data-packaging-card] {
  min-width: 0;
}

.sw-box-type-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 2.5rem;
}

.sw-box-type-link {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.75rem;
  border: 1px solid #e7e5e4;
  border-radius: 1rem;
  background: #fafaf9;
  color: #57534e;
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.sw-box-type-link:hover,
.sw-box-type-link:focus-visible {
  border-color: #059669;
  box-shadow: 0 18px 45px rgba(28, 25, 23, 0.1);
  transform: translateY(-3px);
  outline: none;
}

.sw-box-type-link__eyebrow {
  color: #059669;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.sw-box-type-link strong {
  color: #1c1917;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.3;
}

.sw-box-type-link__action {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: auto;
  color: #047857;
  font-size: 14px;
  font-weight: 700;
}

.sw-box-type-link__action svg {
  width: 1rem;
  height: 1rem;
}

@media (max-width: 767px) {
  .sw-packaging-recommendations .sw-packaging-tabs {
    margin-bottom: 1.75rem;
  }

  .sw-packaging-recommendations .sw-packaging-tab {
    flex: 0 0 auto;
    min-width: auto;
    padding-inline: 1rem;
  }

  .sw-box-type-links {
    grid-template-columns: 1fr;
  }
}

/* Shared split hero for the four Why SiWei pages. */
body:not(.home) #banner.section-banner.sw-service-hero {
  height: 700px;
  min-height: 700px;
  padding: 0 !important;
  background: #075a49 !important;
  background-image: none !important;
  color: #ffffff;
}

body:not(.home) #banner.section-banner.sw-service-hero::before {
  content: none;
}

.sw-service-hero__layout {
  position: relative;
  z-index: 1;
  display: grid;
  width: 100%;
  max-width: none;
  height: 100%;
  padding: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 0;
}

body:not(.home) #banner.section-banner.sw-service-hero .sw-inner-hero__content {
  min-width: 0;
  width: 100%;
  max-width: 620px;
  margin-inline: auto;
  padding-left: 24px;
  padding-right: 24px;
}

body:not(.home) #banner.section-banner.sw-service-hero h1 {
  color: #ffffff;
}

body:not(.home) #banner.section-banner.sw-service-hero .sw-inner-hero__accent {
  color: #b9e9cf;
}

body:not(.home) #banner.section-banner.sw-service-hero [aria-label="Breadcrumb"],
body:not(.home) #banner.section-banner.sw-service-hero [aria-label="Breadcrumb"] a,
body:not(.home) #banner.section-banner.sw-service-hero [aria-label="Breadcrumb"] a:visited {
  color: #d7eee5;
}

body:not(.home) #banner.section-banner.sw-service-hero [aria-label="Breadcrumb"] a:hover,
body:not(.home) #banner.section-banner.sw-service-hero [aria-label="Breadcrumb"] a:focus-visible {
  color: #ffffff;
}

body:not(.home) #banner.section-banner.sw-service-hero .sw-inner-hero__copy {
  max-width: 34rem;
  color: #e4f3ed;
}

body:not(.home) #banner.section-banner.sw-service-hero .sw-inner-btn--primary {
  color: #075a49;
  background: #ffffff;
  border-color: #ffffff;
}

body:not(.home) #banner.section-banner.sw-service-hero .sw-inner-btn--primary:hover,
body:not(.home) #banner.section-banner.sw-service-hero .sw-inner-btn--primary:focus-visible {
  color: #064b3d;
  background: #d7eee5;
  border-color: #d7eee5;
}

.sw-service-hero__visual {
  min-width: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.sw-service-hero__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.page-custom-solutions .sw-service-hero__visual img {
  object-position: 82% center;
}

.page-manufacturing-quality .sw-service-hero__visual img {
  object-position: 70% center;
}

.page-sustainability .sw-service-hero__visual img,
.page-service-partnership .sw-service-hero__visual img {
  object-position: right center;
}

@media (max-width: 1023px) {
  body:not(.home) #banner.section-banner.sw-service-hero {
    height: auto;
    min-height: 0;
    padding: 130px 0 0 !important;
  }

  .sw-service-hero__layout {
    height: auto;
    grid-template-columns: 1fr;
  }

  body:not(.home) #banner.section-banner.sw-service-hero .sw-inner-hero__content {
    max-width: none;
    margin-bottom: 40px;
    padding-left: 48px;
    padding-right: 48px;
  }

  .sw-service-hero__visual {
    height: min(65vw, 420px);
  }
}

@media (max-width: 767px) {
  body:not(.home) #banner.section-banner.sw-service-hero {
    padding: 112px 0 0 !important;
  }

  body:not(.home) #banner.section-banner.sw-service-hero .sw-inner-hero__content {
    margin-bottom: 32px;
    padding-left: 24px;
    padding-right: 24px;
  }

  .sw-service-hero__visual {
    height: 280px;
  }
}

/* Mobile layout: home hero, shared contact card, footer and case-study banner. */
@media (max-width: 767px) {
  .home #banner {
    padding-top: 104px;
  }

  /* Vertical entry motion keeps off-screen cards inside the mobile viewport. */
  .home .scroll-animate-right {
    transform: translateY(30px);
  }

  .home .scroll-animate-right.visible {
    transform: translateY(0);
  }

  .home #banner h1 {
    font-size: clamp(30px, 8.5vw, 34px) !important;
    line-height: 1.2 !important;
    margin-bottom: 20px;
  }

  .home #banner > .absolute:first-child img {
    object-position: 65% center;
  }

  .home #banner > .absolute:nth-child(2) {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.72));
  }

  .section-cta.sw-section {
    padding: 40px 24px;
  }

  .home main > .section-cta.sw-section {
    padding-left: 0;
    padding-right: 0;
  }

  .section-cta.sw-section > div {
    padding-left: 0;
    padding-right: 0;
  }

  .section-cta.sw-section > div > .grid {
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 0;
    border-radius: 24px;
  }

  .section-cta.sw-section > div > .grid > div {
    min-width: 0;
    padding: 24px 20px;
  }

  .section-cta.sw-section h2 {
    font-size: clamp(26px, 7.2vw, 28px) !important;
    line-height: 1.25 !important;
    margin-bottom: 20px;
  }

  .section-cta.sw-section p {
    margin-bottom: 24px;
  }

  .section-cta.sw-section .flex.flex-col.gap-6 {
    gap: 16px;
    margin-bottom: 0;
  }

  .section-cta.sw-section [data-lucide] {
    flex-shrink: 0;
  }

  footer .footer-links {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 28px;
    column-gap: 0;
  }

  footer .footer-links > div {
    min-width: 0;
  }

  footer .footer-links h4 {
    margin-bottom: 12px;
    line-height: 1.5;
    letter-spacing: 0.06em;
  }

  footer .footer-links ul,
  footer .footer-links li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  footer .footer-links a {
    display: block;
    padding: 8px 0;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  .sw-inner-page.page-case-studies > #banner.section-banner {
    height: auto;
    min-height: 0;
    padding: 112px 0 36px;
  }

  .page-case-studies > #banner .sw-inner-hero__content {
    max-width: none;
    padding: 0;
  }

  .page-case-studies > #banner h1 {
    font-size: clamp(30px, 8.5vw, 34px) !important;
    line-height: 1.2;
    margin-bottom: 16px;
  }

  .page-case-studies > #banner .sw-inner-hero__copy {
    margin-bottom: 0;
  }
}


/* Document 10.19–10.20 approved corrections; full original photos. */
.page-fragrance-candle #fragrance-packaging-grid [data-packaging-card] > div:first-child{background:#edf5f1!important;}
.page-fragrance-candle #fragrance-packaging-grid [data-packaging-card] img{mix-blend-mode:multiply;object-fit:contain!important;padding:10px;}
.page-fashion-apparel .sw-tier-original{aspect-ratio:3/2;background:#fff;border-radius:12px;overflow:hidden;}
.page-fashion-apparel .sw-tier-original img{height:100%;object-fit:contain;}
img[src*="doc1021-chocolate-retail-original"]{object-fit:contain!important;}
img[src*="doc1021-fashion-nav-original"]{object-fit:contain!important;}
img[src*="doc1021-fashion-luxury-tier"]{object-fit:contain!important;}
img[src*="doc1021-fashion-retail-tier"]{object-fit:contain!important;}
img[src*="doc1021-folding-weight-lightweight"]{object-fit:contain!important;}
img[src*="doc1021-folding-weight-standard-retail"]{object-fit:contain!important;}
img[src*="doc1022-folding-weight-heavy-duty-white"]{object-fit:contain!important;}
img[src*="doc1021-rigid-window-original"]{object-fit:contain!important;}
img[src*="doc1021-corrugated-offset-printing"]{object-fit:contain!important;}
img[src*="doc1021-corrugated-uv-printing"]{object-fit:contain!important;}
img[src*="doc1021-corrugated-silkscreen-printing"]{object-fit:contain!important;}
img[src*="doc1021-corrugated-gloss-lamination"]{object-fit:contain!important;}
img[src*="doc1021-corrugated-matte-lamination"]{object-fit:contain!important;}
img[src*="doc1021-corrugated-soft-touch-lamination"]{object-fit:contain!important;}
img[src*="doc1021-corrugated-anti-scratch-lamination"]{object-fit:contain!important;}
img[src*="doc1021-corrugated-varnish-over-spot"]{object-fit:contain!important;}
img[src*="doc1021-paper-luxury-original"]{object-fit:contain!important;}
img[src*="doc1021-paper-polyester-yellow-rope"]{object-fit:contain!important;}
img[src*="doc1021-paper-flat-polyester-original"]{object-fit:contain!important;}
img[src*="doc1021-reusable-type-cotton"]{object-fit:contain!important;}
img[src*="doc1021-reusable-type-canvas"]{object-fit:contain!important;}
img[src*="doc1021-reusable-type-non-woven"]{object-fit:contain!important;}
img[src*="doc1021-reusable-self-fabric-handles"]{object-fit:contain!important;}
img[src*="doc1021-reusable-nylon-webbing"]{object-fit:contain!important;}
img[src*="doc1021-reusable-die-cut-handles"]{object-fit:contain!important;}
img[src*="doc1021-reusable-offset-printing"]{object-fit:contain!important;}
img[src*="doc1021-reusable-silkscreen-printing"]{object-fit:contain!important;}
img[src*="doc1021-reusable-inner-pockets"]{object-fit:contain!important;}
img[src*="doc1021-reusable-benefit-1"]{object-fit:contain!important;}
img[src*="doc1021-reusable-benefit-2"]{object-fit:contain!important;}
img[src*="doc1021-reusable-benefit-3"]{object-fit:contain!important;}
img[src*="doc1021-reusable-benefit-4"]{object-fit:contain!important;}
img[src*="doc1021-book-interior-paper-options"]{object-fit:contain!important;}
img[src*="doc1021-book-cover-paper-board"]{object-fit:contain!important;}
img[src*="doc1021-book-hardcover-softcover"]{object-fit:contain!important;}
img[src*="doc1021-book-binder-cover-materials"]{object-fit:contain!important;}
img[src*="doc1021-book-divider-insert-options"]{object-fit:contain!important;}
img[src*="doc1021-book-interior-organization"]{object-fit:contain!important;}
img[src*="doc1021-book-cover-finishes"]{object-fit:contain!important;}
img[src*="doc1021-book-special-effects"]{object-fit:contain!important;}
img[src*="doc1021-labels-sheet-original"]{object-fit:contain!important;}
img[src*="doc1021-labels-glass-bottles-jars"]{object-fit:contain!important;}
img[src*="doc1021-labels-paper-bags-mailers"]{object-fit:contain!important;}
img[src*="doc1021-labels-soft-touch-finish"]{object-fit:contain!important;}
img[src*="doc1021-labels-white-ink-on-clear"]{object-fit:contain!important;}
img[src*="doc1021-labels-benefit-1"]{object-fit:contain!important;}
img[src*="doc1021-labels-benefit-2"]{object-fit:contain!important;}
img[src*="doc1021-labels-benefit-3"]{object-fit:contain!important;}
img[src*="doc1021-labels-benefit-4"]{object-fit:contain!important;}
img[src*="doc1021-labels-overview-original"]{object-fit:contain!important;}
img[src*="doc1021-cards-application-packaging"]{object-fit:contain!important;}
img[src*="doc1021-cards-application-retail"]{object-fit:contain!important;}
img[src*="doc1021-cards-application-promotional"]{object-fit:contain!important;}
img[src*="doc1021-cards-application-gift"]{object-fit:contain!important;}
img[src*="doc1021-cards-application-e-commerce"]{object-fit:contain!important;}
img[src*="doc1021-inserts-custom-printed-tissue"]{object-fit:contain!important;}
img[src*="doc1021-inserts-white-tissue-paper"]{object-fit:contain!important;}
img[src*="doc1021-inserts-black-tissue-paper"]{object-fit:contain!important;}
img[src*="doc1021-inserts-kraft-tissue-paper"]{object-fit:contain!important;}
img[src*="doc1021-inserts-colored-tissue-paper"]{object-fit:contain!important;}
img[src*="doc1021-inserts-eco-friendly-tissue"]{object-fit:contain!important;}
img[src*="doc1021-inserts-nav-home-original"]{object-fit:contain!important;}
img.sw-benefit-image[src*="doc1021-"]{padding:4px;}
img.sw-category-type-media[src*="doc1021-reusable-type-"]{transform:scale(1.08);transform-origin:center;}


/* Visual review corrections 20261022 */
img.sw-category-type-media[src*="doc1021-reusable-type-"]{mix-blend-mode:multiply;}
@media(min-width:1200px){
 body:not(.home) .sw-category-printed-cards-brand-materials #banner.section-banner.sw-menu-responsive-hero .max-w-3xl{max-width:540px;}
}
@media(min-width:1800px){body:not(.home) .sw-category-printed-cards-brand-materials #banner.section-banner.sw-menu-responsive-hero .max-w-3xl{max-width:550px;}}

/* Reviewed product photography 20261022: full bleed, safe product margins. */
img[src*="polish1022-"]{padding:0!important;mix-blend-mode:normal!important;object-fit:cover!important;}
#products img[src*="polish1022-"]{transform:none!important;}


/* 20261023: the header reserves its own actual height. Banner spacing never includes a guessed navigation offset. */
html body:has(#banner) > header {
 position:sticky!important;
 top:0;
}
html body.home #banner,
html body:not(.home) #banner.section-banner:not(.sw-banner--independent),
html body:not(.home) #banner.section-banner.sw-banner--independent {
 height:auto!important;
 min-height:0!important;
 margin-top:0!important;
 padding:80px 0!important;
 align-items:flex-start;
}
html body #banner .sw-inner-hero__content{padding-top:0!important;padding-bottom:0!important;}
html body #banner .sw-inner-hero__content>:last-child,
html body #banner .max-w-3xl>:last-child{margin-bottom:0!important;}
/* Trim the first line's spare font leading: measure the visible capital edge, not its invisible line box. */
@supports(text-box-trim:trim-start){
 html body #banner .max-w-3xl>:first-child,
 html body #banner .sw-inner-hero__content>:first-child{
  text-box-trim:trim-start;
  text-box-edge:cap alphabetic;
 }
}
html body:not(.home) #banner.section-banner.sw-service-hero{padding:0!important;}
html body #banner.sw-service-hero .sw-service-hero__layout{height:auto;align-items:stretch;}
html body:not(.home) #banner.section-banner.sw-service-hero .sw-inner-hero__content{padding-top:80px!important;padding-bottom:80px!important;margin-bottom:0!important;}
@media(min-width:1024px){html body #banner.sw-service-hero .sw-service-hero__visual{position:relative;height:auto;min-height:100%;}html body #banner.sw-service-hero .sw-service-hero__visual img{position:absolute;inset:0;}}

/* Full-resolution S02 artwork is framed at 4:3 before upload; never crop products. */
img[src*="/refresh1022-s02-"]{display:block;width:100%;height:auto!important;aspect-ratio:4/3;object-fit:contain!important;object-position:center;mix-blend-mode:normal!important;padding:0!important;}
.page-fashion-apparel .section-tier-solutions .sw-tier-card{padding:30px!important;}
.page-fashion-apparel img[src*="refresh1022-fashion-bags-white"]{object-fit:contain!important;background:#fff;}
.page-fashion-apparel .sw-tier-original img[src*="refresh1022-fashion-tier-"]{object-fit:contain!important;}

html body:not(.home) #banner.section-banner.sw-catalog-hero .sw-inner-hero__content>:last-child{margin-bottom:0!important;}


/* Global mobile H2 size, 20261023. Layered importance overrides page-specific heading sizes. */
@layer sw-mobile-typography {
  @media (max-width: 767px) {
    h2 { font-size: 28px !important; }
  }
}

/* 20261023: customization images share a deliberate 3:2 frame; edited assets carry their own background and safe margins. */
.sw-category-customization img.sw-custom-option-image{display:block;width:100%;height:auto!important;aspect-ratio:3/2;object-fit:cover!important;object-position:center;padding:0!important;mix-blend-mode:normal!important;}
img.sw-category-type-media[src*="options1023-"]{display:block;height:auto!important;aspect-ratio:1/1!important;object-fit:contain!important;object-position:center;mix-blend-mode:normal!important;padding:0!important;}

/* Preserve the user-supplied bag-bottom photograph and show its entire interior without cropping. */
.sw-category-customization img.sw-custom-option-image[src*="/paper-bottom-board-original-20261023"]{object-fit:contain!important;background:#fff;}

/* 20261023: transparent label product cutouts use the card background itself; no second mint/cyan photo background. */
.sw-template-typography .sw-type-overlay > img.sw-category-type-media[src*="/labels-type-alpha-"]{background:transparent!important;mix-blend-mode:normal!important;object-fit:contain!important;aspect-ratio:1/1!important;padding:0!important;}

/* 20261023: labels guide layout only: four cards, then three centered. */
@media (min-width: 1024px) {
  body.term-labels-stickers .sw-application-guide > .max-w-7xl > .grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
  }
  body.term-labels-stickers .sw-application-guide > .max-w-7xl > .grid > article {
    flex: 0 0 calc((100% - 72px) / 4);
    width: calc((100% - 72px) / 4);
    min-width: 0;
  }
}

/* 20261023: labels benefit mint backgrounds and uncropped packaging guide. */
body.term-labels-stickers .sw-benefit-image {
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: contain !important;
  object-position: center;
  background-color: #f2f9f7 !important;
  padding: 16px;
  box-sizing: border-box;
}
body.term-labels-stickers .sw-application-guide article > div:first-child {
  aspect-ratio: 1 / 1;
  background-color: #f2f9f7;
}
body.term-labels-stickers .sw-application-guide article > div:first-child > img {
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center;
}

/* Document 10.26: original photographs, consistent framing, and approved pale green. */
.sw-category-customization .sw-custom-option-media {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 8px;
  background: #F2F9F9;
}
.sw-category-customization .sw-custom-option-media img.sw-custom-option-image {
  width: 100%;
  height: 100% !important;
  aspect-ratio: auto;
  object-fit: contain !important;
  object-position: center;
  padding: 0 !important;
  border-radius: 8px;
  box-sizing: border-box;
}
/* Material swatch photographs fill their frames without an added rim. */
:is(.sw-category-folding-cartons, .sw-category-luxury-rigid-boxes, .sw-category-corrugated-boxes, .sw-category-paper-shopping-bags) .sw-category-customization [data-sw-group="Materials Options"] img.sw-custom-option-image {
  object-fit: cover !important;
}
.sw-category-customization [data-sw-option] {
  min-width: 0;
}
.sw-category-type-entry { display: block; color: inherit; text-decoration: none; }
.sw-category-type-entry:focus-visible { outline: 2px solid #059669; outline-offset: 5px; border-radius: 12px; }

/* Smaller guide illustrations share one frame, independently of their source proportions. */
.sw-category-luxury-rigid-boxes .sw-category-structure-guide { padding-top: 56px; padding-bottom: 56px; }
.sw-category-luxury-rigid-boxes .sw-category-structure-guide > .max-w-7xl { max-width: 1160px; }
.sw-category-luxury-rigid-boxes .sw-guide-media {
  width: 100%;
  max-width: 240px;
  aspect-ratio: 4 / 3;
  margin-left: auto;
  margin-right: auto;
  background: #F2F9F9;
}
.sw-category-luxury-rigid-boxes .sw-guide-media img {
  object-fit: contain;
  padding: 14px;
  box-sizing: border-box;
}
.sw-category-reusable-bags [data-sw-type="Woven PP Grocery Bags"] > .sw-type-overlay > img.sw-category-type-media,
.sw-category-reusable-bags [data-sw-type="Jute Bags"] > .sw-type-overlay > img.sw-category-type-media {
  padding: 0 !important;
  box-sizing: border-box;
}
img.sw-benefit-image[src*="/doc1026-"] { object-fit: contain !important; background: #F2F9F9; }
/* Home and navigation use the supplied product group without cutting the boxes. */
.home img[src*="/doc1026-cosmetics-group-"] { object-fit: contain; background: #fff; }
.sw-nav-panel--industries a[href$="/fashion-apparel/"] .sw-nav-card__image img {
  object-fit: contain;
  transform: scale(1.1);
}
.page-soap-personal-care img[data-sw-soap-natural] { object-fit: cover !important; padding: 0 !important; box-sizing: border-box; }

/* Cosmetic recommendation names and image footprints are consistent across the five tabs. */
.page-cosmetics-skincare [data-packaging-card] {
  transition: transform 250ms ease, box-shadow 250ms ease, border-color 250ms ease;
}
.page-cosmetics-skincare .sw-packaging-card-media { background: #F2F9F9; }
.page-cosmetics-skincare .sw-packaging-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 12px;
  box-sizing: border-box;
  transition: transform 250ms ease;
}
.page-cosmetics-skincare [data-packaging-group="folding-carton"][data-packaging-index="1"] img,
.page-cosmetics-skincare [data-packaging-group="folding-carton"][data-packaging-index="2"] img,
.page-cosmetics-skincare [data-packaging-group="folding-carton"][data-packaging-index="3"] img,
.page-cosmetics-skincare [data-packaging-group="rigid-box"] img,
.page-cosmetics-skincare [data-packaging-group="magnetic-box"] img,
.page-cosmetics-skincare [data-packaging-group="drawer-box"][data-packaging-index="1"] img,
.page-cosmetics-skincare [data-packaging-group="drawer-box"][data-packaging-index="2"] img { padding: 22px; }
.page-cosmetics-skincare .section-channels .group { transition: transform 250ms ease, box-shadow 250ms ease; }
.page-chocolate-gourmet-food .sw-chocolate-size-guide article { background: #F2F9F9; }
.page-chocolate-gourmet-food .sw-chocolate-size-guide article img { object-fit: contain; mix-blend-mode: multiply; }

/* Three explicitly requested hero replacements display full original products in their own column. */
html body:not(.home) :is(.page-cosmetics-skincare, .page-fragrance-candle, .sw-category-book-printing-recipe-binders) #banner.section-banner.sw-original-product-hero {
  display: flex;
  align-items: center;
  height: auto;
  min-height: 620px;
  aspect-ratio: auto;
  padding: 80px 0 !important;
  background: #fff;
}
html body:not(.home) #banner.section-banner.sw-original-product-hero > .bg-white\/30,
html body:not(.home) #banner.section-banner.sw-original-product-hero > .sw-banner-shade { display: none; }
html body:not(.home) #banner.section-banner.sw-original-product-hero > .sw-original-hero-art { position: absolute; inset: 0; pointer-events: none; }
html body:not(.home) #banner.section-banner.sw-original-product-hero .sw-original-hero-art picture {
  position: absolute;
  left: 50%;
  top: 0;
  display: block;
  width: min(50vw, 800px);
  height: 100%;
}
html body:not(.home) #banner.section-banner.sw-original-product-hero .sw-original-hero-art picture img {
  display: block;
  width: 100%;
  height: 100%;
  padding: 40px 24px;
  box-sizing: border-box;
  object-fit: contain;
  object-position: center;
}
html body:not(.home) #banner.section-banner.sw-original-product-hero .max-w-3xl { max-width: 46%; }
html body:not(.home) #banner.section-banner.sw-original-product-hero h1 { font-size: clamp(36px, 3.1vw, 48px) !important; }
@media (max-width: 1199px) {
  html body:not(.home) :is(.page-cosmetics-skincare, .page-fragrance-candle, .sw-category-book-printing-recipe-binders) #banner.section-banner.sw-original-product-hero {
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    padding: 64px 0 0 !important;
  }
  html body:not(.home) #banner.section-banner.sw-original-product-hero > div.relative { order: 1; }
  html body:not(.home) #banner.section-banner.sw-original-product-hero > .sw-original-hero-art { position: relative; inset: auto; order: 2; }
  html body:not(.home) #banner.section-banner.sw-original-product-hero .sw-original-hero-art picture { position: static; width: 100%; height: clamp(260px, 52vw, 540px); }
  html body:not(.home) #banner.section-banner.sw-original-product-hero .sw-original-hero-art picture img { padding: 24px; }
  html body:not(.home) #banner.section-banner.sw-original-product-hero .max-w-3xl { max-width: 760px; }
}
@media (max-width: 767px) {
  html body:not(.home) #banner.section-banner.sw-original-product-hero h1 { font-size: 32px !important; }
  html body:not(.home) :is(.page-cosmetics-skincare, .page-fragrance-candle, .sw-category-book-printing-recipe-binders) #banner.section-banner.sw-original-product-hero { padding-top: 48px !important; }
}
@media (hover: hover) {
  .page-cosmetics-skincare [data-packaging-card]:hover { transform: translateY(-4px); border-color: #a7d8ca; box-shadow: 0 10px 24px rgb(6 78 59 / 9%); }
  .page-cosmetics-skincare [data-packaging-card]:hover img { transform: scale(1.035); }
  .page-cosmetics-skincare .section-channels .group:hover { transform: translateY(-4px); }
  .sw-nav-panel--industries a[href$="/fashion-apparel/"]:hover .sw-nav-card__image img { transform: scale(1.14); }
}
@media (prefers-reduced-motion: reduce) {
  .page-cosmetics-skincare [data-packaging-card],
  .page-cosmetics-skincare [data-packaging-card] img,
  .page-cosmetics-skincare .section-channels .group { transition: none; transform: none !important; }
}

/* Full-width refreshed artwork for the two heroes that retain original art below PC size. */
@media (min-width: 1800px) {
  html body:not(.home) #banner.section-banner.sw-original-product-hero.sw-pc-refresh-hero {
    height: 570px;
    min-height: 570px;
    padding: 0 !important;
    background: #f5f5f4;
  }
  html body:not(.home) #banner.section-banner.sw-pc-refresh-hero .sw-original-hero-art picture {
    left: 0;
    width: 100%;
    height: 100%;
  }
  html body:not(.home) #banner.section-banner.sw-pc-refresh-hero .sw-original-hero-art picture img {
    padding: 0;
    object-fit: cover;
    object-position: center;
  }
}

/* Keep the refreshed desktop banners at one height; smaller screens retain their existing layouts. */
@media (min-width: 1800px) {
  html body:not(.home) #banner.section-banner:is(.sw-menu-responsive-hero, .sw-cosmetics-responsive-hero) {
    height: 570px !important;
    min-height: 570px !important;
    max-height: 570px !important;
    box-sizing: border-box;
    padding: 0 !important;
    align-items: center;
  }
  html body:not(.home) #banner.section-banner.sw-original-product-hero.sw-pc-refresh-hero {
    height: 570px !important;
    min-height: 570px !important;
    max-height: 570px !important;
    padding: 0 !important;
  }
}

/* Chocolate PC banner text colors for the light refreshed artwork. */
@media (min-width: 1800px) {
  html body:not(.home) .page-chocolate-gourmet-food #banner.section-banner.sw-menu-responsive-hero .max-w-3xl {
    max-width: 560px !important;
  }
  html body:not(.home) .page-chocolate-gourmet-food #banner.section-banner.sw-menu-responsive-hero .max-w-3xl > div:first-child,
  html body:not(.home) .page-chocolate-gourmet-food #banner.section-banner.sw-menu-responsive-hero .max-w-3xl > div:first-child a {
    color: #44403c !important;
  }
  html body:not(.home) .page-chocolate-gourmet-food #banner.section-banner.sw-menu-responsive-hero h1 {
    color: #1c1917 !important;
  }
  html body:not(.home) .page-chocolate-gourmet-food #banner.section-banner.sw-menu-responsive-hero .max-w-3xl > p {
    color: #292524 !important;
  }
  html body:not(.home) .page-chocolate-gourmet-food #banner.section-banner.sw-menu-responsive-hero h1 span {
    color: #006b50 !important;
  }
}

/* Duplex Chipboard: fill the 3:2 frame without contain letterboxing. */
.sw-category-luxury-rigid-boxes .sw-category-customization [data-sw-group="Structural Board"] [data-sw-option="Duplex Chipboard"] img.sw-custom-option-image {
  object-fit: cover !important;
}

/* Rigid-box coating close-ups: fill these two frames without contain side strips. */
.sw-category-luxury-rigid-boxes .sw-category-customization [data-sw-group="Surface Coatings"] [data-sw-option="Matte Lamination"] img.sw-custom-option-image,
.sw-category-luxury-rigid-boxes .sw-category-customization [data-sw-group="Surface Coatings"] [data-sw-option="Varnish (Over/Spot)"] img.sw-custom-option-image {
  object-fit: cover !important;
}

/* User screenshot: the five printed-card paper swatches fill their existing frames. */
.sw-category-printed-cards-brand-materials .sw-category-customization [data-sw-group="Paper & Material Options"] img.sw-custom-option-image {
  object-fit: cover !important;
}

/* User supplied full-width laptop fragrance artwork, October 29. */
@media (min-width: 1200px) and (max-width: 1799px) {
  html body:not(.home) .page-fragrance-candle #banner.section-banner.sw-original-product-hero .sw-original-hero-art picture { left: 0; width: 100%; height: 100%; }
  html body:not(.home) .page-fragrance-candle #banner.section-banner.sw-original-product-hero .sw-original-hero-art picture img { padding: 0; object-fit: cover; object-position: center; }
}



/* Products uses the same current desktop artwork as Cosmetics & Skincare. */
@media (min-width: 1200px) {
  .page-product-catalog #banner.sw-catalog-hero { background-image: url('https://siwei.wxkntest.com/wp-content/uploads/2026/10/cosmetics-skincare-laptop-20261029.webp'); background-position: center; background-size: cover; }
  .page-product-catalog #banner.sw-catalog-hero::before { content: none; }
  body:not(.home) .page-product-catalog #banner.sw-catalog-hero .sw-inner-hero__content { max-width: min(550px, 44vw); }
}
@media (min-width: 1800px) {
  .page-product-catalog #banner.sw-catalog-hero { background-image: url('https://siwei.wxkntest.com/wp-content/uploads/2026/10/Cosmetics-Skincare-banner.webp'); }
}

/* Keep Chocolate banner copy inside a narrower left column. */
@media (min-width: 1200px) {
  html body:not(.home) .page-chocolate-gourmet-food #banner.section-banner.sw-menu-responsive-hero .max-w-3xl > h1,
  html body:not(.home) .page-chocolate-gourmet-food #banner.section-banner.sw-menu-responsive-hero .max-w-3xl > p { max-width: min(500px, 100%) !important; }
}

/* Full-width supplied Book Printing laptop artwork. */
@media (min-width: 1200px) and (max-width: 1799px) {
  html body:not(.home) .sw-category-book-printing-recipe-binders #banner.section-banner.sw-original-product-hero .sw-original-hero-art picture { left: 0; width: 100%; height: 100%; }
  html body:not(.home) .sw-category-book-printing-recipe-binders #banner.section-banner.sw-original-product-hero .sw-original-hero-art picture img { padding: 0; object-fit: cover; object-position: center; }
}

/* Narrow Luxury Rigid Boxes banner text without changing copy or CTA layout. */
@media (min-width: 1200px) {
  html body:not(.home) .sw-category-luxury-rigid-boxes #banner.section-banner.sw-menu-responsive-hero .max-w-3xl > h1,
  html body:not(.home) .sw-category-luxury-rigid-boxes #banner.section-banner.sw-menu-responsive-hero .max-w-3xl > p { max-width: min(520px, 100%) !important; }
}

/* Unified text width for all second-level product category desktop banners. */
@media (min-width: 1200px) {
  html body:not(.home) .sw-template-typography[class*="sw-category-"] #banner.section-banner.sw-menu-responsive-hero .max-w-3xl { max-width: 580px !important; }
  html body:not(.home) .sw-template-typography[class*="sw-category-"] #banner.section-banner.sw-menu-responsive-hero .max-w-3xl > h1,
  html body:not(.home) .sw-template-typography[class*="sw-category-"] #banner.section-banner.sw-menu-responsive-hero .max-w-3xl > p { max-width: 580px !important; width: 100%; }
}
