/* 页面模块：首页、产品分类与详情、公司介绍、展会、联系、新闻、搜索与标签。保留原断点及交互效果。 */

/* home-hero */
.home-hero {
  position: relative;
  height: 80vh;
  min-height: 600px;
  overflow: hidden;
}

/* hero-images */
.hero-images {
  position: absolute;
  inset: 0px;
}

/* hero-slide */
.hero-slide {
  position: absolute;
  inset: 0px;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 700ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

/* hero-overlay */
.hero-overlay {
  position: absolute;
  inset: 0px;
  background-color: rgba(26, 32, 44, 0.6);
}

/* hero-container */
.hero-container {
  width: 100%;
}

@media (min-width: 640px) {
  .hero-container {
    max-width: 640px;
  }
}

@media (min-width: 768px) {
  .hero-container {
    max-width: 768px;
  }
}

@media (min-width: 1024px) {
  .hero-container {
    max-width: 1024px;
  }
}

@media (min-width: 1280px) {
  .hero-container {
    max-width: 1280px;
  }
}

@media (min-width: 1536px) {
  .hero-container {
    max-width: 1536px;
  }
}

.hero-container {
  position: relative;
  z-index: 10;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  height: 100%;
  align-items: center;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 640px) {
  .hero-container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .hero-container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* About Us 图片栏目：完整展示证书、车间照片与伙伴标志。 */
.company-gallery__media {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 18rem;
  padding: 1rem;
  background: #fff;
}

.company-gallery__media img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.company-gallery__full-image {
  display: flex;
  justify-content: center;
  margin: 2rem 0;
}

.company-gallery__full-image img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/* hero-copy */
.hero-copy {
  position: absolute;
  max-width: 42rem;
  color: rgb(255 255 255 / 1);
  opacity: 0;
  transition-property: opacity;
  transition-duration: 700ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

/* hero-title */
.hero-title {
  margin-bottom: 1rem;
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 700;
  line-height: 1.25;
  text-shadow: rgba(0, 0, 0, 0.3) 0px 2px 4px;
}

/* hero-description */
.hero-description {
  margin-bottom: 2rem;
  max-width: 36rem;
  font-size: clamp(1rem, 2vw, 1.25rem);
  color: rgba(255, 255, 255, 0.9);
}

/* hero-action */
.hero-action {
  border-radius: 9999px;
  background-color: var(--cdwl-primary);
  padding: 0.75rem 2rem;
  font-weight: 600;
  color: #1a202c;
  transition: transform 0.3s;
}

.hero-action:hover {
  transform: scale(1.03);
  background-color: rgba(253, 145, 13, 0.9);
}

/* hero-action--outline */
.hero-action--outline {
  border-radius: 9999px;
  border-width: 2px;
  border-color: rgb(255 255 255 / 1);
  background-color: transparent;
  padding: 0.75rem 2rem;
  font-weight: 600;
  color: rgb(255 255 255 / 1);
  transition: transform 0.3s;
}

.hero-action--outline:hover {
  transform: scale(1.03);
  background-color: rgba(255, 255, 255, 0.1);
}

/* hero-prev */
.hero-prev {
  position: absolute;
  left: 1rem;
  top: 50%;
  z-index: 20;
  height: 2.75rem;
  width: 2.75rem;
  --cdwl-translate-y: -50%;
  transform: translate(var(--cdwl-translate-x), var(--cdwl-translate-y)) rotate(var(--cdwl-rotate)) skewX(var(--cdwl-skew-x)) skewY(var(--cdwl-skew-y)) scaleX(var(--cdwl-scale-x)) scaleY(var(--cdwl-scale-y));
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.15);
  color: rgb(255 255 255 / 1);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.hero-prev:hover {
  background-color: rgba(255, 255, 255, 0.25);
}

/* hero-next */
.hero-next {
  position: absolute;
  right: 1rem;
  top: 50%;
  z-index: 20;
  height: 2.75rem;
  width: 2.75rem;
  --cdwl-translate-y: -50%;
  transform: translate(var(--cdwl-translate-x), var(--cdwl-translate-y)) rotate(var(--cdwl-rotate)) skewX(var(--cdwl-skew-x)) skewY(var(--cdwl-skew-y)) scaleX(var(--cdwl-scale-x)) scaleY(var(--cdwl-scale-y));
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.15);
  color: rgb(255 255 255 / 1);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.hero-next:hover {
  background-color: rgba(255, 255, 255, 0.25);
}

/* hero-dots */
.hero-dots {
  position: absolute;
  bottom: 2.5rem;
  left: 50%;
  z-index: 20;
  display: flex;
  --cdwl-translate-x: -50%;
  transform: translate(var(--cdwl-translate-x), var(--cdwl-translate-y)) rotate(var(--cdwl-rotate)) skewX(var(--cdwl-skew-x)) skewY(var(--cdwl-skew-y)) scaleX(var(--cdwl-scale-x)) scaleY(var(--cdwl-scale-y));
  gap: 0.75rem;
}

/* hero-wave */
.hero-wave {
  position: absolute;
  bottom: 0px;
  left: 0px;
  right: 0px;
}

/* hero-wave__shape */
.hero-wave__shape {
  fill: rgb(247, 250, 252);
}

/* home-products */
.home-products {
  background-color: rgb(247 250 252 / 1);
  padding-top: 4rem;
  padding-bottom: 4rem;
}

/* product-layout */
.product-layout {
  display: grid;
  grid-template-columns: repeat(1, minmax(0px, 1fr));
  align-items: flex-start;
  gap: 2rem;
}

@media (min-width: 1024px) {
  .product-layout {
    grid-template-columns: 260px 1fr;
  }
}

/* product-sidebar */
.product-sidebar {
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  border-color: rgb(243 244 246 / 1);
  background-color: rgb(255 255 255 / 1);
  --cdwl-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  box-shadow: var(--cdwl-ring-offset-shadow, 0 0 #0000), var(--cdwl-ring-shadow, 0 0 #0000), var(--cdwl-shadow);
}

/* product-sidebar__title */
.product-sidebar__title {
  background-color: var(--cdwl-primary);
  padding: 1rem 1.25rem;
  font-weight: 600;
  color: #1a202c;
}

/* product-sidebar__groups */
.product-sidebar__groups > :not([hidden]) ~ :not([hidden]) {
  --cdwl-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--cdwl-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--cdwl-divide-y-reverse));
  border-color: rgb(243 244 246 / 1);
}

/* 首页分类：直接展示 Product 子栏目，仅有下级的栏目使用折叠行。 */
.home-products .category-name {
  white-space: normal;
}

.home-products .product-category__summary::-webkit-details-marker {
  display: none;
}

.home-products .product-category__summary:focus-visible,
.home-products .category-name:focus-visible,
.home-products .product-category__link:focus-visible {
  outline: 2px solid var(--cdwl-primary);
  outline-offset: -2px;
}

/* category-section */
.category-section {
  padding: 1rem 1.25rem;
}

/* category-section__title */
.category-section__title {
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  color: rgb(26 32 44 / 1);
}

/* category-tree */
.category-tree > :not([hidden]) ~ :not([hidden]) {
  --cdwl-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--cdwl-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--cdwl-space-y-reverse));
}

/* category-summary */
.category-summary {
  display: flex;
  cursor: pointer;
  list-style-type: none;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-radius: 0.375rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  color: rgb(26 32 44 / 1);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.category-summary:hover {
  background-color: rgba(253, 145, 13, 0.05);
  color: var(--cdwl-primary);
}

/* category-name */
.category-name {
  min-width: 0px;
  flex: 1 1 0%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* category-arrow */
.category-arrow {
  font-size: 0.75rem;
  line-height: 1rem;
  color: rgb(156 163 175 / 1);
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

/* category-group */
.category-group[open] > .product-category__summary > .category-arrow {
  --cdwl-rotate: 180deg;
  transform: translate(var(--cdwl-translate-x), var(--cdwl-translate-y)) rotate(var(--cdwl-rotate)) skewX(var(--cdwl-skew-x)) skewY(var(--cdwl-skew-y)) scaleX(var(--cdwl-scale-x)) scaleY(var(--cdwl-scale-y));
}

/* category-children */
.category-children > :not([hidden]) ~ :not([hidden]) {
  --cdwl-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--cdwl-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--cdwl-space-y-reverse));
}

.category-children {
  padding-left: 1rem;
  padding-top: 0.5rem;
}

/* category-summary--secondary */
.category-summary--secondary {
  display: flex;
  cursor: pointer;
  list-style-type: none;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-radius: 0.375rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: rgb(55 65 81 / 1);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.category-summary--secondary:hover {
  background-color: rgba(253, 145, 13, 0.05);
  color: var(--cdwl-primary);
}

/* category-arrow--small */
.category-arrow--small {
  font-size: 11px;
  color: rgb(156 163 175 / 1);
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

/* category-group */
.category-group[open] .category-arrow--small {
  --cdwl-rotate: 180deg;
  transform: translate(var(--cdwl-translate-x), var(--cdwl-translate-y)) rotate(var(--cdwl-rotate)) skewX(var(--cdwl-skew-x)) skewY(var(--cdwl-skew-y)) scaleX(var(--cdwl-scale-x)) scaleY(var(--cdwl-scale-y));
}

/* category-descendants */
.category-descendants > :not([hidden]) ~ :not([hidden]) {
  --cdwl-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--cdwl-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--cdwl-space-y-reverse));
}

.category-descendants {
  padding-left: 1rem;
  padding-top: 0.5rem;
}

/* category-summary--tertiary */
.category-summary--tertiary {
  display: flex;
  cursor: pointer;
  list-style-type: none;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-radius: 0.375rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: rgb(107 114 128 / 1);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.category-summary--tertiary:hover {
  background-color: rgba(253, 145, 13, 0.05);
  color: var(--cdwl-primary);
}

/* category-leaf--muted */
.category-leaf--muted {
  border-radius: 0.375rem;
  background-color: rgb(249 250 251 / 1);
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: rgb(156 163 175 / 1);
}

/* category-leaf */
.category-leaf {
  border-radius: 0.375rem;
  background-color: rgb(249 250 251 / 1);
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: rgb(107 114 128 / 1);
}

/* product-grid */
.product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0px, 1fr));
  gap: 1.25rem;
}

@media (min-width: 768px) {
  .product-grid {
    grid-template-columns: repeat(3, minmax(0px, 1fr));
  }
}

@media (min-width: 1024px) {
  .product-grid {
    grid-template-columns: repeat(4, minmax(0px, 1fr));
  }
}

/* product-card */
.product-card {
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: rgb(255 255 255 / 1);
  --cdwl-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  box-shadow: var(--cdwl-ring-offset-shadow, 0 0 #0000), var(--cdwl-ring-shadow, 0 0 #0000), var(--cdwl-shadow);
}

/* product-card__media */
.product-card__media {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background-color: rgb(243 244 246 / 1);
}

/* Keep the complete product image visible, including non-square uploads. */
.product-card__media > img {
  object-fit: contain;
}

/* product-card__title */
.product-card__title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Homepage advantages: two-thirds copy, two photos aligned with the first item. */
.home-advantages {
  padding: 5rem 0;
  background-color: #fff;
}

.home-advantages__layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  grid-template-areas: "heading ." "content gallery";
  column-gap: 3.5rem;
  align-items: stretch;
}

.home-advantages__heading {
  grid-area: heading;
}

.home-advantages__content {
  grid-area: content;
  min-width: 0;
}

.home-advantages__eyebrow {
  margin-bottom: 1rem;
  color: #a95400;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.home-advantages__title {
  margin-bottom: 3rem;
  font-size: clamp(1.75rem, 2.8vw, 2.75rem);
  line-height: 1.2;
  font-weight: 600;
}

.home-advantages__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-advantages__item {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}

.home-advantages__item--wide {
  grid-column: 1 / -1;
}

.home-advantages__icon {
  padding-top: 0.125rem;
  color: var(--cdwl-primary);
  font-size: 2.5rem;
  line-height: 1.2;
  text-align: center;
}

.home-advantages__name {
  margin-bottom: 1rem;
  font-size: 1.125rem;
  line-height: 1.4;
  font-weight: 600;
}

.home-advantages__description {
  color: #6b7280;
  font-size: 0.9375rem;
  line-height: 1.75;
}

.home-advantages__gallery {
  grid-area: gallery;
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  min-width: 0;
}

.home-advantages__media {
  position: relative;
  overflow: hidden;
  min-height: 0;
  border-radius: 0.5rem;
}

.home-advantages__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 55% center;
}

@media (max-width: 1279px) {
  .home-advantages__layout {
    column-gap: 2rem;
  }

  .home-advantages__item {
    gap: 0.875rem;
  }
}

@media (max-width: 1023px) {
  .home-advantages {
    padding: 3.5rem 0;
  }

  .home-advantages__layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "heading" "content" "gallery";
  }

  .home-advantages__gallery {
    margin-top: 2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }

  .home-advantages__media {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 639px) {
  .home-advantages__title {
    margin-bottom: 2rem;
  }

  .home-advantages__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }

  .home-advantages__name {
    margin-bottom: 0.625rem;
  }

  .home-advantages__gallery {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* company-layout */
.company-layout {
  display: grid;
  grid-template-columns: repeat(1, minmax(0px, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 1024px) {
  .company-layout {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
  }
}

/* About 页正文与图片顶部对齐，右图在正文范围内吸顶。 */
.company-layout--about {
  --company-sticky-top: 6rem;
  align-items: start;
}

.company-layout--about .company-copy {
  min-width: 0;
  overflow-wrap: anywhere;
}

.company-layout--about .rich-text > :first-child {
  margin-top: 0;
}

.company-layout--about .company-image {
  width: 100%;
  height: auto;
  object-fit: contain;
  transform: none;
}

@media (min-width: 1024px) {
  .company-layout--about .company-media {
    position: sticky;
    top: var(--company-sticky-top);
  }

  .company-layout--about .company-image {
    max-height: calc(100vh - var(--company-sticky-top) - 1rem);
    object-position: top;
  }
}

/* company-description */
.company-description {
  margin-bottom: 1rem;
  color: rgb(75 85 99 / 1);
}

/* company-stats */
.company-stats {
  margin-bottom: 2rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0px, 1fr));
  gap: 1.5rem;
}

@media (min-width: 640px) {
  .company-stats {
    grid-template-columns: repeat(4, minmax(0px, 1fr));
  }
}

/* company-stat */
.company-stat {
  text-align: center;
}

/* company-stat__value */
.company-stat__value {
  margin-bottom: 0.5rem;
  display: block;
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-weight: 700;
  color: var(--cdwl-primary);
}

/* Keep statistic units readable within the existing four-column layout. */
.company-stat__value {
  min-height: 3.75rem;
  font-variant-numeric: tabular-nums;
}

.company-stat__unit {
  display: block;
  font-size: 0.875rem;
  line-height: 1.5rem;
}

.company-stat .section-description {
  font-size: 0.875rem;
  line-height: 1.5;
}

/* company-media */
.company-media {
  display: grid;
  grid-template-columns: repeat(1, minmax(0px, 1fr));
  gap: 1rem;
}

/* company-image */
.company-image {
  height: 100%;
  border-radius: 0.5rem;
  object-fit: cover;
  --cdwl-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  box-shadow: var(--cdwl-ring-offset-shadow, 0 0 #0000), var(--cdwl-ring-shadow, 0 0 #0000), var(--cdwl-shadow);
  transition: transform 0.3s;
}

.company-image:hover {
  transform: scale(1.03);
}

/* home-news__heading */
.home-news__heading {
  margin-bottom: 3rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

/* home-news__description */
.home-news__description {
  max-width: 42rem;
  color: rgb(75 85 99 / 1);
}

/* home-news__all */
.home-news__all {
  display: none;
  font-weight: 500;
  color: var(--cdwl-primary);
}

.home-news__all:hover {
  color: rgba(253, 145, 13, 0.8);
}

@media (min-width: 768px) {
  .home-news__all {
    display: block;
  }
}

/* home-news__card */
.home-news__card {
  overflow: hidden;
  border-radius: 0.75rem;
  background-color: rgb(255 255 255 / 1);
  --cdwl-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  box-shadow: var(--cdwl-ring-offset-shadow, 0 0 #0000), var(--cdwl-ring-shadow, 0 0 #0000), var(--cdwl-shadow);
  transition: transform 0.3s;
}

.home-news__card:hover {
  transform: scale(1.03);
}

/* home-news__image */
.home-news__image {
  height: 12rem;
  width: 100%;
  object-fit: cover;
}

/* home-news__title */
.home-news__title {
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
}

/* home-news__link */
.home-news__link {
  font-weight: 500;
  color: var(--cdwl-primary);
}

.home-news__link:hover {
  color: rgba(253, 145, 13, 0.8);
}

/* quote-banner */
.quote-banner {
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-attachment: fixed;
  background-position: center center;
  padding-top: 5rem;
  padding-bottom: 5rem;
  color: rgb(255 255 255 / 1);
}

/* quote-banner__overlay */
.quote-banner__overlay {
  position: absolute;
  inset: 0px;
  background-color: rgba(26, 32, 44, 0.7);
}

/* quote-banner__container */
.quote-banner__container {
  width: 100%;
}

@media (min-width: 640px) {
  .quote-banner__container {
    max-width: 640px;
  }
}

@media (min-width: 768px) {
  .quote-banner__container {
    max-width: 768px;
  }
}

@media (min-width: 1024px) {
  .quote-banner__container {
    max-width: 1024px;
  }
}

@media (min-width: 1280px) {
  .quote-banner__container {
    max-width: 1280px;
  }
}

@media (min-width: 1536px) {
  .quote-banner__container {
    max-width: 1536px;
  }
}

.quote-banner__container {
  position: relative;
  z-index: 10;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  text-align: center;
}

@media (min-width: 640px) {
  .quote-banner__container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .quote-banner__container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* quote-banner__title */
.quote-banner__title {
  margin-bottom: 1.5rem;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 700;
}

/* quote-banner__description */
.quote-banner__description {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
  max-width: 42rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: rgba(255, 255, 255, 0.9);
}

/* quote-banner__button */
.quote-banner__button {
  display: inline-block;
  border-radius: 9999px;
  background-color: var(--cdwl-primary);
  padding: 0.75rem 2rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 600;
  color: #1a202c;
  transition: transform 0.3s;
}

.quote-banner__button:hover {
  transform: scale(1.03);
  background-color: rgba(253, 145, 13, 0.9);
}

/* product-list-section */
.product-list-section {
  background-color: rgb(255 255 255 / 1);
  padding-top: 3rem;
  padding-bottom: 3rem;
}

/* product-category__summary */
.product-category__summary {
  display: flex;
  cursor: pointer;
  list-style-type: none;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  color: rgb(26 32 44 / 1);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.product-category__summary:hover {
  color: var(--cdwl-primary);
}

/* product-category__children */
.product-category__children > :not([hidden]) ~ :not([hidden]) {
  --cdwl-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--cdwl-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--cdwl-space-y-reverse));
}

.product-category__children {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-bottom: 1rem;
}

.product-sidebar .product-category__children .product-category__children {
  padding-left: 0.75rem;
  padding-right: 0;
  padding-bottom: 0.5rem;
}

.product-sidebar .product-category__summary--nested {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-weight: 500;
}

/* product-category__link */
.product-category__link {
  display: block;
  border-radius: 0.375rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.product-category__link.is-current {
  background-color: rgba(253, 145, 13, 0.1);
  color: var(--cdwl-primary);
}

.product-category__link.is-idle {
  color: rgb(75 85 99 / 1);
}

.product-category__link.is-idle:hover {
  background-color: rgba(253, 145, 13, 0.05);
  color: var(--cdwl-primary);
}

/* product-card--muted */
.product-card--muted {
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: rgb(249 250 251 / 1);
  --cdwl-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  box-shadow: var(--cdwl-ring-offset-shadow, 0 0 #0000), var(--cdwl-ring-shadow, 0 0 #0000), var(--cdwl-shadow);
}

/* product-detail__layout */
.product-detail__layout {
  display: grid;
  grid-template-columns: repeat(1, minmax(0px, 1fr));
  gap: 3rem;
}

@media (min-width: 1024px) {
  .product-detail__layout {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
  }
}

/* product-detail__media */
.product-detail__media {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
  aspect-ratio: 1 / 1;
  max-width: 30rem;
  overflow: hidden;
  border-radius: 0.75rem;
  background-color: rgb(249 250 251 / 1);
  --cdwl-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  box-shadow: var(--cdwl-ring-offset-shadow, 0 0 #0000), var(--cdwl-ring-shadow, 0 0 #0000), var(--cdwl-shadow);
}

/* product-detail__image */
.product-detail__image {
  height: 100%;
  width: 100%;
  object-fit: contain;
}

/* product-detail__title */
.product-gallery {
  min-width: 0;
}

.product-gallery__controls {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 .5rem;
  pointer-events: none;
}

.product-gallery [hidden] {
  display: none;
}

.product-gallery__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid #d1d5db;
  border-radius: 50%;
  background: rgba(255, 255, 255, .9);
  color: #1a202c;
  box-shadow: 0 2px 6px rgb(0 0 0 / .12);
  cursor: pointer;
  pointer-events: auto;
}

.product-gallery__button:hover {
  background: #fff;
}

.product-gallery__thumbnails {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  max-width: 30rem;
  margin: 0 auto;
}

.product-gallery__thumbnail {
  display: block;
  width: 4.5rem;
  height: 4.5rem;
  padding: .25rem;
  border: 2px solid #e5e7eb;
  border-radius: .375rem;
  background: #fff;
}

.product-gallery__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-gallery__thumbnail.is-active {
  border-color: #1a202c;
}

.product-gallery__thumbnail:focus-visible,
.product-gallery__button:focus-visible {
  outline: 2px solid #1a202c;
  outline-offset: 3px;
}

.product-detail__title {
  margin-bottom: 1.5rem;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 700;
  color: rgb(26 32 44 / 1);
}

/* product-detail__facts */
.product-detail__facts {
  margin-bottom: 2rem;
  border-radius: 0.75rem;
  background-color: rgba(253, 145, 13, 0.05);
  padding: 1.5rem;
}

/* product-detail__fact */
.product-detail__fact {
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
}

/* product-detail__fact-icon */
.product-detail__fact-icon {
  margin-right: 0.75rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  color: var(--cdwl-primary);
}

/* product-detail__fact-label */
.product-detail__fact-label {
  font-weight: 600;
}

/* product-detail__description */
.product-detail__description {
  margin-bottom: 2rem;
  color: rgb(75 85 99 / 1);
}

/* product-detail__body */
.product-detail__body {
  margin-top: 4rem;
}

/* product-detail__heading */
.product-detail__heading {
  margin-bottom: 2rem;
  border-bottom-width: 1px;
  padding-bottom: 1rem;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
}

/* product-detail__content */
.product-detail__content {
  margin-bottom: 3rem;
  display: grid;
  grid-template-columns: repeat(1, minmax(0px, 1fr));
}

/* value-card */
.value-card {
  border-radius: 0.75rem;
  background-color: rgb(255 255 255 / 1);
  padding: 2rem;
  --cdwl-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  box-shadow: var(--cdwl-ring-offset-shadow, 0 0 #0000), var(--cdwl-ring-shadow, 0 0 #0000), var(--cdwl-shadow);
  transition: transform 0.3s;
}

.value-card:hover {
  transform: scale(1.03);
}

/* value-icon--mission */
.value-icon--mission {
  font-size: 1.5rem;
  line-height: 2rem;
  color: var(--cdwl-primary);
}

/* value-card__title */
.value-card__title {
  margin-bottom: 0.75rem;
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
}

/* value-card__description */
.value-card__description {
  text-align: center;
  color: rgb(75 85 99 / 1);
}

/* value-icon--integrity */
.value-icon--integrity {
  font-size: 1.5rem;
  line-height: 2rem;
  color: var(--cdwl-primary);
}

/* value-icon--innovation */
.value-icon--innovation {
  font-size: 1.5rem;
  line-height: 2rem;
  color: var(--cdwl-primary);
}

/* equipment-scroll */
.factory-track {
  --gallery-columns: 2;
  --gallery-gap: 1rem;
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, auto);
  grid-auto-columns: calc((100% - (var(--gallery-columns) - 1) * var(--gallery-gap)) / var(--gallery-columns));
  gap: var(--gallery-gap);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.factory-track::-webkit-scrollbar {
  display: none;
}

.factory-track .equipment-thumb {
  width: 100%;
  min-width: 0;
  scroll-snap-align: start;
}

:is(.factory-controls, .honors-controls) {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

:is(.factory-controls, .honors-controls)[hidden] {
  display: none;
}

:is(.factory-controls, .honors-controls) button {
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.5rem 1rem;
  border: 1px solid #d1d5db;
  border-radius: 9999px;
  background: #fff;
  color: #1a202c;
}

:is(.factory-controls, .honors-controls) button:hover {
  border-color: var(--cdwl-primary);
  background: #fff4e5;
}

.factory-track:focus-visible,
.factory-track .equipment-thumb:focus-visible,
:is(.factory-controls, .honors-controls) button:focus-visible {
  outline: 2px solid var(--cdwl-primary);
  outline-offset: -2px;
}

.partners-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.partner-card {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 2 / 1.3;
  padding: clamp(0.75rem, 2vw, 1.5rem);
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  background: #fff;
}

.partner-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (min-width: 640px) {
  .factory-track {
    --gallery-columns: 3;
  }

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

@media (min-width: 1024px) {
  .factory-track {
    --gallery-columns: 4;
    --gallery-gap: 1.5rem;
  }

  .partners-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

.equipment-scroll {
  overflow-x: auto;
  padding-bottom: 1rem;
}

/* equipment-track */
.equipment-track {
  display: flex;
  min-width: 100%;
  gap: 1.5rem;
}

/* equipment-thumb */
.equipment-thumb {
  display: block;
  width: calc(25% - 1.125rem);
  min-width: 240px;
  flex: 0 0 auto;
}

/* equipment-thumb__media */
.equipment-thumb__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: rgb(243 244 246 / 1);
  --cdwl-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  box-shadow: var(--cdwl-ring-offset-shadow, 0 0 #0000), var(--cdwl-ring-shadow, 0 0 #0000), var(--cdwl-shadow);
}

/* equipment-thumb__image */
.equipment-thumb__image {
  height: 100%;
  width: 100%;
  object-fit: cover;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

/* social-qr-item */
:is(.social-qr-item, .equipment-thumb, .exhibition-thumb):hover .equipment-thumb__image {
  --cdwl-scale-x: 1.05;
  --cdwl-scale-y: 1.05;
  transform: translate(var(--cdwl-translate-x), var(--cdwl-translate-y)) rotate(var(--cdwl-rotate)) skewX(var(--cdwl-skew-x)) skewY(var(--cdwl-skew-y)) scaleX(var(--cdwl-scale-x)) scaleY(var(--cdwl-scale-y));
}

/* exhibition-container */
.exhibition-container {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 72rem;
}

/* exhibition-axis */
.exhibition-axis {
  position: absolute;
  left: 1rem;
  top: 0px;
  bottom: 0px;
  width: 1px;
  background-color: rgb(229 231 235 / 1);
}

@media (min-width: 768px) {
  .exhibition-axis {
    left: 50%;
    --cdwl-translate-x: -50%;
    transform: translate(var(--cdwl-translate-x), var(--cdwl-translate-y)) rotate(var(--cdwl-rotate)) skewX(var(--cdwl-skew-x)) skewY(var(--cdwl-skew-y)) scaleX(var(--cdwl-scale-x)) scaleY(var(--cdwl-scale-y));
  }
}

/* exhibition-timeline */
.exhibition-timeline > :not([hidden]) ~ :not([hidden]) {
  --cdwl-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--cdwl-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--cdwl-space-y-reverse));
}

/* exhibition-event */
.exhibition-event {
  position: relative;
  display: grid;
  grid-template-columns: repeat(1, minmax(0px, 1fr));
  gap: 0.75rem;
  padding-left: 3rem;
}

@media (min-width: 768px) {
  .exhibition-event {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 1rem;
    padding-left: 0px;
  }
}

/* exhibition-marker */
.exhibition-marker {
  position: absolute;
  left: 1rem;
  top: 0.5rem;
  z-index: 10;
  height: 0.75rem;
  width: 0.75rem;
  --cdwl-translate-x: -50%;
  transform: translate(var(--cdwl-translate-x), var(--cdwl-translate-y)) rotate(var(--cdwl-rotate)) skewX(var(--cdwl-skew-x)) skewY(var(--cdwl-skew-y)) scaleX(var(--cdwl-scale-x)) scaleY(var(--cdwl-scale-y));
  border-radius: 9999px;
  background-color: var(--cdwl-primary);
  --cdwl-ring-offset-shadow: var(--cdwl-ring-inset) 0 0 0 var(--cdwl-ring-offset-width) var(--cdwl-ring-offset-color);
  --cdwl-ring-shadow: var(--cdwl-ring-inset) 0 0 0 calc(4px + var(--cdwl-ring-offset-width)) var(--cdwl-ring-color);
  box-shadow: var(--cdwl-ring-offset-shadow), var(--cdwl-ring-shadow), var(--cdwl-shadow, 0 0 #0000);
  --cdwl-ring-color: rgb(253 145 13 / 0.1);
}

@media (min-width: 768px) {
  .exhibition-marker {
    left: 50%;
  }
}

/* exhibition-text */
.exhibition-text {
  max-width: 36rem;
}

/* exhibition-year */
.exhibition-year {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  color: rgb(26 32 44 / 1);
}

/* exhibition-description */
.exhibition-description {
  margin-top: 0.25rem;
  line-height: 1.625;
  color: rgb(75 85 99 / 1);
}

@media (min-width: 768px) {
  .exhibition-description {
    margin-left: auto;
  }
}

/* exhibition-gallery */
.exhibition-gallery {
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.5rem;
  max-width: 72rem;
}

/* exhibition-gallery__grid */
.exhibition-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0px, 1fr));
  gap: 0.75rem;
}

@media (min-width: 640px) {
  .exhibition-gallery__grid {
    grid-template-columns: repeat(4, minmax(0px, 1fr));
    gap: 1rem;
  }
}

/* exhibition-thumb */
.exhibition-gallery__thumb {
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: rgb(243 244 246 / 1);
  --cdwl-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  box-shadow: var(--cdwl-ring-offset-shadow, 0 0 #0000), var(--cdwl-ring-shadow, 0 0 #0000), var(--cdwl-shadow);
}

/* exhibition-thumb__image */
.exhibition-thumb__image {
  height: 9rem;
  width: 100%;
  object-fit: cover;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

/* social-qr-item */
:is(.social-qr-item, .equipment-thumb, .exhibition-thumb):hover .exhibition-thumb__image {
  --cdwl-scale-x: 1.05;
  --cdwl-scale-y: 1.05;
  transform: translate(var(--cdwl-translate-x), var(--cdwl-translate-y)) rotate(var(--cdwl-rotate)) skewX(var(--cdwl-skew-x)) skewY(var(--cdwl-skew-y)) scaleX(var(--cdwl-scale-x)) scaleY(var(--cdwl-scale-y));
}

/* exhibition-thumb__image */
@media (min-width: 640px) {
  .exhibition-thumb__image {
    height: 11rem;
  }
}

@media (min-width: 1024px) {
  .exhibition-thumb__image {
    height: 12rem;
  }
}

/* Contact page: one image behind the white contact cards and quote panel. */
.contact-content {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #000;
}

.contact-content > .content-section,
.contact-content > .muted-section {
  background-color: transparent;
}

.contact-content__heading {
  margin-bottom: 3rem;
  color: #fff;
}

.contact-content .contact-card,
.contact-content .quote-panel,
.contact-content .quote-panel__intro,
.contact-content .quote-panel__form,
.contact-content .form-control {
  background-color: #fff;
}

.contact-content .company-description,
.contact-content .contact-card__link,
.contact-content .contact-card__address,
.contact-content .quote-panel__intro,
.contact-content .quote-contact__text,
.contact-content .quote-contact > i,
.contact-content .form-control,
.contact-content .form-submit {
  color: #000;
}

.contact-content .form-control::placeholder {
  color: #000;
  opacity: 1;
}

/* contact-grid */
.contact-grid {
  margin-bottom: 4rem;
  display: grid;
  grid-template-columns: repeat(1, minmax(0px, 1fr));
  gap: 2rem;
}

@media (min-width: 768px) {
  .contact-grid {
    grid-template-columns: repeat(3, minmax(0px, 1fr));
  }
}

/* contact-card */
.contact-card {
  border-radius: 0.75rem;
  background-color: rgb(249 250 251 / 1);
  padding: 2rem;
  text-align: center;
  transition: transform 0.3s;
}

.contact-card:hover {
  transform: scale(1.03);
}

/* contact-icon--email */
.contact-icon--email {
  font-size: 1.5rem;
  line-height: 2rem;
  color: var(--cdwl-primary);
}

/* contact-card__title */
.contact-card__title {
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
}

/* contact-card__link */
.contact-card__link {
  font-weight: 500;
  color: var(--cdwl-primary);
}

.contact-card__link:hover {
  color: rgba(253, 145, 13, 0.8);
}

/* contact-icon--phone */
.contact-icon--phone {
  font-size: 1.5rem;
  line-height: 2rem;
  color: var(--cdwl-primary);
}

/* contact-icon--location */
.contact-icon--location {
  font-size: 1.5rem;
  line-height: 2rem;
  color: var(--cdwl-primary);
}

/* contact-card__address */
.contact-card__address {
  font-weight: 500;
  color: var(--cdwl-primary);
}

/* quote-panel */
.quote-panel {
  margin-left: auto;
  margin-right: auto;
  max-width: 56rem;
  overflow: hidden;
  border-radius: 1rem;
  background-color: rgb(255 255 255 / 1);
  --cdwl-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  box-shadow: var(--cdwl-ring-offset-shadow, 0 0 #0000), var(--cdwl-ring-shadow, 0 0 #0000), var(--cdwl-shadow);
}

/* quote-panel__layout */
.quote-panel__layout {
  display: grid;
  grid-template-columns: repeat(1, minmax(0px, 1fr));
}

@media (min-width: 768px) {
  .quote-panel__layout {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
  }
}

/* quote-panel__intro */
.quote-panel__intro {
  padding: 2rem;
  color: rgb(255 255 255 / 1);
}

@media (min-width: 768px) {
  .quote-panel__intro {
    padding: 3rem;
  }
}

/* quote-panel__description */
.quote-panel__description {
  margin-bottom: 2rem;
}

/* quote-contacts */
.quote-contacts > :not([hidden]) ~ :not([hidden]) {
  --cdwl-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--cdwl-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--cdwl-space-y-reverse));
}

/* quote-contact */
.quote-contact {
  display: flex;
  align-items: flex-start;
}

.quote-contact > :not([hidden]) ~ :not([hidden]) {
  --cdwl-space-x-reverse: 0;
  margin-right: calc(1rem * var(--cdwl-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--cdwl-space-x-reverse)));
}

/* quote-contact__email-icon */
.quote-contact__email-icon {
  margin-top: 0.25rem;
  color: rgb(255 255 255 / 1);
}

/* quote-contact__title */
.quote-contact__title {
  margin-bottom: 0.25rem;
  font-weight: 600;
}

/* quote-contact__text */
.quote-contact__text {
  color: rgba(255, 255, 255, 0.8);
}

/* quote-contact__phone-icon */
.quote-contact__phone-icon {
  margin-top: 0.25rem;
  color: rgb(255 255 255 / 1);
}

/* quote-contact__location-icon */
.quote-contact__location-icon {
  margin-top: 0.25rem;
  color: rgb(255 255 255 / 1);
}

/* quote-panel__form */
.quote-panel__form {
  padding: 2rem;
}

@media (min-width: 768px) {
  .quote-panel__form {
    padding: 3rem;
  }
}

.quote-panel__form .form-field {
  margin-bottom: 1rem;
}

/* FAQ: native disclosure controls keep every answer on the list page. */
.faq-list {
  max-width: 64rem;
  margin: 0 auto;
}

.faq-item {
  margin-bottom: 1rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  overflow: hidden;
}

.faq-item[open] {
  border-color: var(--cdwl-primary);
}

.faq-item__question {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  padding: 1.5rem;
  cursor: pointer;
  list-style: none;
}

.faq-item__question::-webkit-details-marker {
  display: none;
}

.faq-item__question:hover,
.faq-item[open] > .faq-item__question {
  background: rgba(253, 145, 13, 0.07);
}

.faq-item__question:focus-visible {
  outline: 2px solid #924b00;
  outline-offset: -4px;
}

.faq-item__number {
  flex: 0 0 1.75rem;
  color: #924b00;
  font-weight: 600;
}

.faq-item__title {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.faq-item__toggle {
  position: relative;
  flex: 0 0 1rem;
  height: 1rem;
  align-self: center;
  color: #924b00;
}

.faq-item__toggle::before,
.faq-item__toggle::after {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 1rem;
  height: 2px;
  background: currentColor;
}

.faq-item__toggle::after {
  transform: rotate(90deg);
}

.faq-item[open] .faq-item__toggle::after {
  display: none;
}

.faq-item__answer {
  padding: 1.5rem 4.25rem;
  overflow-wrap: anywhere;
}

.faq-item__answer > :last-child {
  margin-bottom: 0;
}

@media (max-width: 639px) {
  .faq-item__question {
    gap: 0.625rem;
    padding: 1.125rem 1rem;
  }

  .faq-item__number {
    flex-basis: 1.5rem;
  }

  .faq-item__title {
    font-size: 1rem;
  }

  .faq-item__answer {
    padding: 1.125rem 1rem;
  }
}

/* article-container */
.article-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 56rem;
}

/* article-title */
.article-title {
  margin-bottom: 1.5rem;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 700;
  color: rgb(26 32 44 / 1);
}

/* article-details */
.article-details {
  margin-bottom: 2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  color: rgb(107 114 128 / 1);
}

/* article-details__folder-icon */
.article-details__folder-icon {
  margin-right: 0.5rem;
}

/* article-details__views-icon */
.article-details__views-icon {
  margin-right: 0.5rem;
}

/* article-cover */
.article-cover {
  margin-bottom: 2.5rem;
  overflow: hidden;
  border-radius: 0.75rem;
  --cdwl-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  box-shadow: var(--cdwl-ring-offset-shadow, 0 0 #0000), var(--cdwl-ring-shadow, 0 0 #0000), var(--cdwl-shadow);
}

/* article-cover__image */
.article-cover__image {
  height: auto;
  width: 100%;
}

/* article-content */
.article-content {
  line-height: 1.625;
  color: rgb(55 65 81 / 1);
}

/* article-tags */
.article-tags {
  margin-top: 2.5rem;
  border-top-width: 1px;
  padding-top: 1.5rem;
}

/* article-tags__items */
.article-tags__items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* article-tag */
.article-tag {
  border-radius: 9999px;
  background-color: rgb(243 244 246 / 1);
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: rgb(55 65 81 / 1);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.article-tag:hover {
  background-color: rgb(229 231 235 / 1);
}

/* related-news */
.related-news {
  display: grid;
  grid-template-columns: repeat(1, minmax(0px, 1fr));
  gap: 2rem;
}

@media (min-width: 768px) {
  .related-news {
    grid-template-columns: repeat(3, minmax(0px, 1fr));
  }
}

/* related-news__card */
.related-news__card {
  display: flex;
  overflow: hidden;
  border-radius: 0.75rem;
  background-color: rgb(249 250 251 / 1);
  --cdwl-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  box-shadow: var(--cdwl-ring-offset-shadow, 0 0 #0000), var(--cdwl-ring-shadow, 0 0 #0000), var(--cdwl-shadow);
  transition: transform 0.3s;
}

.related-news__card:hover {
  transform: scale(1.03);
}

/* related-news__image */
.related-news__image {
  height: auto;
  width: 33.333333%;
  object-fit: cover;
}

/* related-news__title */
.related-news__title {
  margin-bottom: 0.5rem;
  font-weight: 600;
}

/* related-news__date */
.related-news__date {
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: rgb(107 114 128 / 1);
}

/* case-card__media */
.case-card__media {
  display: block;
  background-color: rgb(243 244 246 / 1);
}

/* case-card__image */
.case-card__image {
  width: 100%;
  object-fit: cover;
}

/* case-card__title */
.case-card__title {
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Inquiry submission confirmation */
.inquiry-success {
  display: flex;
  align-items: center;
  min-height: 52vh;
  padding: 5rem 0;
  text-align: center;
  background: #f9fafb;
}

.inquiry-success__message {
  margin-top: 1.25rem;
  color: #4b5563;
  font-size: 1.125rem;
}

.inquiry-success__countdown {
  margin-top: 1rem;
  color: #6b7280;
}

.inquiry-success__link {
  display: inline-block;
  margin-top: 1.5rem;
  color: #b85c00;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* zhanhui-ms */
.zhanhui-ms {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.5rem;
  max-width: 56rem;
  text-align: center;
  line-height: 1.625;
  color: rgb(55 65 81 / 1);
}

/* search-form */
.search-form {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3rem;
  display: flex;
  max-width: 42rem;
  gap: 0.75rem;
}

/* search-input */
.search-input {
  flex: 1 1 0%;
  border-radius: 0.5rem;
  border-width: 1px;
  border-color: rgb(209 213 219 / 1);
  padding: 0.75rem 1rem;
}

.search-input:focus {
  border-color: var(--cdwl-primary);
  outline: transparent solid 2px;
  outline-offset: 2px;
  --cdwl-ring-offset-shadow: var(--cdwl-ring-inset) 0 0 0 var(--cdwl-ring-offset-width) var(--cdwl-ring-offset-color);
  --cdwl-ring-shadow: var(--cdwl-ring-inset) 0 0 0 calc(2px + var(--cdwl-ring-offset-width)) var(--cdwl-ring-color);
  box-shadow: var(--cdwl-ring-offset-shadow), var(--cdwl-ring-shadow), var(--cdwl-shadow, 0 0 #0000);
  --cdwl-ring-color: rgb(253 145 13 / 0.5);
}

/* search-submit */
.search-submit {
  border-radius: 0.5rem;
  background-color: var(--cdwl-primary);
  padding: 0.75rem 2rem;
  font-weight: 600;
  color: #1a202c;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.search-submit:hover {
  background-color: rgba(253, 145, 13, 0.9);
}

/* tag-cloud */
.tag-cloud {
  margin-bottom: 3rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

/* tag-cloud__link */
.tag-cloud__link {
  border-radius: 9999px;
  background-color: rgb(243 244 246 / 1);
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: rgb(55 65 81 / 1);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.tag-cloud__link:hover {
  background-color: rgb(229 231 235 / 1);
}

/* hero-dot */
.hero-dot {
  height: 0.75rem;
  width: 0.75rem;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.5);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.hero-dot:hover {
  background-color: rgb(255 255 255 / 1);
}

.hero-dot.is-active {
  background-color: rgb(255 255 255 / 1);
}

/* hero-slide */
.hero-slide.is-active {
  opacity: 1;
}

/* hero-copy */
.hero-copy.is-active {
  opacity: 1;
}

.hero-copy:not(.is-active) {
  pointer-events: none;
}

/* hero-prev */
.hero-prev.is-hidden, .hero-next.is-hidden, .hero-dots.is-hidden {
  display: none;
}

/* quote-panel__intro */
.quote-panel__intro {
  background-color: rgb(103, 105, 108);
}

/* exhibition-timeline */
@media (min-width: 768px) {
  .exhibition-timeline article {
    grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr);
  }
  .exhibition-timeline article:nth-child(2n+1) .exhibition-text {
    grid-column: 1;
    justify-self: end;
    padding-right: 1.5rem;
    text-align: right;
  }
  .exhibition-timeline article:nth-child(2n) .exhibition-text {
    grid-column: 2;
    justify-self: start;
    padding-left: 1.5rem;
    text-align: left;
  }
}

/* zhanhui-ms */
.zhanhui-ms {
  font-size: 20px;
  font-weight: 700;
}

.zhanhui-ms ul {
  display: inline-block;
  margin: 0px;
  padding: 0px;
  list-style: none;
  text-align: left;
}

.zhanhui-ms li {
  margin: 0px 0px 0.35rem;
}

.zhanhui-ms li::before {
  content: "·";
  display: inline-block;
  margin-right: 0.5rem;
}

/* About Us section links account for the sticky header. */
.about-section {
  scroll-margin-top: var(--about-scroll-offset, 96px);
}

.about-certificates {
  --honors-columns: 2;
  --honors-gap: 1rem;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--honors-columns) - 1) * var(--honors-gap)) / var(--honors-columns));
  gap: var(--honors-gap);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.about-certificates::-webkit-scrollbar {
  display: none;
}

.about-certificates .company-gallery__media {
  width: 100%;
  min-width: 0;
  height: auto;
  aspect-ratio: 3 / 4;
  padding: 0.75rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  overflow: hidden;
  scroll-snap-align: start;
}

.about-certificates img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.about-certificates:focus-visible,
.about-certificates button:focus-visible {
  outline: 2px solid var(--cdwl-primary);
  outline-offset: -2px;
}

@media (min-width: 640px) {
  .about-certificates { --honors-columns: 3; }
}

@media (min-width: 1024px) {
  .about-certificates { --honors-columns: 5; }
}

@media (min-width: 1280px) {
  .about-certificates { --honors-columns: 6; }
}
