/* ===================================================
   Hong Kong Origins Investment Limited
   Main Stylesheet — English Version
=================================================== */

:root {
  --content-width: 75vw;
  /* legacy alias kept for existing var() references */
  --bs-screen-xxl: 75vw;
}

*, body, html {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px;
  color: #000;
}

body {
  font-family: Arial, sans-serif;
  overflow-x: hidden;
  background-color: #F7F4EF;
}

li { list-style: none; }
a  { text-decoration: none; }
img { width: 100%; height: 100%; display: block; }

/* ============================================
   BACKGROUND
============================================ */
.background {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 36vw;
  background-color: #F7F4EF;
  z-index: 0;
  pointer-events: none;
}

.background-left {
  width: 36vw;
  height: 36vw;
  background: #12371D;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

/* ============================================
   HEADER
============================================ */
.header {
  position: relative;
  width: 100%; height: 5.15vw;
  font-size: 0.83vw;
  z-index: 200;
}

.header-all {
  width: var(--bs-screen-xxl);
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header-logo {
  height: 2.83vw;
  width: auto;
  display: block;
  object-fit: contain;
}

/* Logo placeholder — shown when no logo image is provided */
/* Logo image styles */
.header-logo-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}

.header-logo-img {
  height: 2.5vw;
  max-height: 52px;
  min-height: 32px;
  width: auto;
  object-fit: contain;
  display: block;
}

.footer-logo-img {
  height: 2.2vw;
  max-height: 46px;
  min-height: 28px;
  width: auto;
  object-fit: contain;
  margin-bottom: 0.8vw;
  display: block;
}

/* Keep placeholder style for fallback / other uses */
.header-logo-placeholder {
  width: 7.5vw;
  height: 2.5vw;
  border: 2px dashed #bfcfe8;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Arial;
  font-size: 0.62vw;
  color: #aab8cc;
  letter-spacing: 0.08em;
  flex-shrink: 0;
}

.header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  gap: 0;
}

.header-menus {
  display: flex;
  align-items: center;
  margin: 0 1.58vw;
  height: 100%;
  font-family: Arial;
  font-weight: 700;
  gap: 0;
}

.header-menus li {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  margin: 0 0.75vw;
}

.header-menus > li > a,
.header-menus > li > .header-menu > a {
  color: #12371D;
  font-size: 0.73vw;
  letter-spacing: 0.04em;
  white-space: nowrap;
  transition: color 0.2s;
}

.header-menus > li:hover > a,
.header-menus > li:hover > .header-menu > a {
  color: #B6843A;
}

.header-menus li:hover .header-menus__second {
  display: block;
}

.header-menus__second {
  display: none;
  width: max-content;
  position: absolute;
  top: 5vw; left: 0;
  background: #EEF4EF;
  box-shadow: 0 0 0.83vw rgba(12, 0, 5, 0.2);
  padding: 0.42vw 0;
  border-top: 4px solid #12371D;
  z-index: 300;
}

.header-menus__second > li {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0 1.25vw;
  width: 100%;
  min-height: 2.2vw;
  height: auto;
}

.header-menus__second > li > a {
  font-weight: 400;
  font-size: 0.71vw;
  color: #2D2D2D;
  white-space: nowrap;
  transition: color 0.2s;
}

.header-menus__second > li:hover > a {
  color: #B6843A;
}

/* Search */
.header-search__all {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  margin-left: 0.83vw;
}

.header-search__all.open .header-search { display: flex; }

.header-search {
  display: none;
  border: 1.5px solid #ddd;
  width: 18vw; height: 2.92vw;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: calc(100% + 8px); right: 0;
  background-color: #fff;
  box-shadow: 0 4px 16px rgba(18,55,29,.13);
  border-radius: 8px;
  padding: 4px 1.25vw;
  z-index: 300;
}

.header-search input {
  border: none; outline: none;
  background: transparent;
  color: #666; width: calc(100% - 1.25vw);
  font-size: 0.71vw; font-family: Arial;
}

.search-icon {
  color: #12371D; cursor: pointer; font-size: 0.96vw;
}

#header-menu__expand {
  display: none;
  font-size: 1.5vw;
  color: #12371D;
  cursor: pointer;
  margin-right: 0.83vw;
}

/* ============================================
   BANNER SWIPER
============================================ */
.mySwiper {
  overflow: hidden;
  width: var(--content-width);
  aspect-ratio: 93 / 34;
  margin: 1.8vw auto 0;
  border-radius: 0.62vw;
}

.swiper-wrapper {
  position: relative; width: 100%; height: 100%;
}

.swiper-mySwiper {
  width: 100%; height: 100%;
  position: relative;
  /* Automated lab / blood sample analysis — medical trade theme */
  background-image: url('https://images.unsplash.com/photo-1599727277757-3f54e54ea618?w=1920&h=800&fit=crop&q=80');
  background-position: center;
  background-size: cover;
}

.swiper-mySwiper--2 {
  /* Modern laboratory / clean science themed banner */
  background-image: url('https://images.unsplash.com/photo-1532187863486-abf9dbad1b69?w=1920&h=800&fit=crop&q=80');
  background-position: center;
  background-size: cover;
}

/* White gradient mask on the right — improves text legibility */
.swiper-mySwiper::after {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 65%;
  height: 100%;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(255, 255, 255, 0.72) 30%,
    rgba(255, 255, 255, 0.92) 65%,
    rgba(255, 255, 255, 0.97) 100%
  );
  z-index: 1;
  border-radius: 0 0.62vw 0.62vw 0;
}

.swiper-content {
  position: relative;
  z-index: 2;
  margin-top: 4.17vw;
  margin-left: 50%;
  width: 48%;
  padding-right: 1.67vw;
}

.swiper-content__title {
  font-family: Arial;
  font-weight: 900;
  font-size: 2.17vw;
  color: #12371D;
  line-height: 1.2;
  text-transform: uppercase;
  margin-bottom: 1vw;
}

.swiper-content__title em {
  font-style: normal;
  display: block;
  color: #12371D;
}

.swiper-content__p {
  margin-top: 0.58vw;
  width: 25.83vw;
}

.swiper-content__p p {
  font-family: Arial;
  font-weight: 400;
  font-size: 0.92vw;
  color: #2D2D2D;
  line-height: 1.38vw;
}

.swiper-content__button {
  margin-top: 1.17vw;
  width: 10vw; height: 2.92vw;
}

.swiper-content__button a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%; height: 100%;
  border: 2px solid #B6843A;
  font-family: Arial;
  font-weight: 700;
  font-size: 0.83vw;
  color: #B6843A;
  letter-spacing: 0.08em;
  transition: all 0.3s ease;
}

.swiper-content__button a:hover {
  background-color: #B6843A;
  color: #fff;
}

/* ============================================
   SECTION TITLE (content-titel)
============================================ */
.content-titel {
  position: relative;
  width: 100%;
  overflow: hidden;
  z-index: 2;
  padding: 7.67vw 0 0;
}

.content-titel__one {
  display: flex;
  justify-content: center;
}

.content-titel__one__all {
  text-align: center;
}

.content-titel__one__all span {
  font-family: Arial;
  font-weight: 400;
  font-size: 1.04vw;
  color: #12371D;
  line-height: 2.5vw;
  letter-spacing: 0.06em;
}

.content-titel__one__all div {
  font-family: Arial;
  font-weight: 800;
  font-size: 2.17vw;
  color: #12371D;
  line-height: 2.67vw;
  letter-spacing: 0.02em;
}

/* ============================================
   COMPANY INTRO — SERVICE CARDS (content-one)
============================================ */
.content-one {
  width: 100%;
  background-color: #F7F4EF;
  padding: 1.67vw 0 2.5vw;
  overflow: hidden;
  position: relative;
  z-index: 2;
}

.content-one__list {
  width: var(--bs-screen-xxl);
  display: flex;
  justify-content: space-between;
  margin: 1.67vw auto 0;
  gap: 0.83vw;
}

.content-one__list__item {
  flex: 1;
  background: #FFFFFF;
  border-radius: 0.5vw;
  padding: 2vw 1.17vw;
  transition: all 0.3s ease;
  border: 1px solid #fff;
}

.content-one__list__item:hover {
  border-color: #B6843A;
  box-shadow: 0 2px 12px rgba(0,0,0,0.22);
}

.content-one__list__icon {
  width: 2.92vw; height: 2.92vw;
  display: flex; align-items: center; justify-content: center;
  background: #EEF4EF;
  border-radius: 0.42vw;
  font-size: 1.25vw;
  color: #B6843A;
  margin-bottom: 0.67vw;
}

.content-one__list__item p {
  margin-top: 5px;
  font-family: Arial;
  font-weight: 700;
  font-size: 0.83vw;
  color: #12371D;
  line-height: 1.83vw;
  letter-spacing: 0.04em;
}

.content-one__list__item span {
  display: block;
  margin-top: 3px;
  font-family: Arial;
  font-weight: 400;
  font-size: 0.71vw;
  color: #7A8C7D;
  line-height: 1.17vw;
}

.content-one__list__item a {
  margin-top: 1.17vw;
  display: block;
  font-family: Arial;
  font-weight: 400;
  font-size: 0.71vw;
  color: #B6843A;
  line-height: 1.83vw;
  transition: color 0.2s, transform 0.2s;
}

.content-one__list__item a:hover {
  transform: scale(1.08);
  color: #9B6D2E;
}

/* ============================================
   STATS COUNTERS (content-two)
============================================ */
.content-two {
  width: 100%;
  overflow: hidden;
  padding: 2.5vw 0;
  position: relative;
  z-index: 2;
}

.content-two-number {
  width: var(--bs-screen-xxl);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.content-two-number > li {
  width: 15.62vw;
  text-align: center;
}

.content-two-number > li > .num-title {
  font-family: Arial;
  font-weight: 800;
  font-size: 3.5vw;
  color: #12371D;
  line-height: 3.5vw;
}

.content-two-number > li > p {
  margin-top: 0.67vw;
  font-family: Arial;
  font-weight: 400;
  font-size: 0.79vw;
  color: #12371D;
  line-height: 1.83vw;
  letter-spacing: 0.06em;
}

/* ============================================
   CORE ADVANTAGES (content-three)
============================================ */
.content-three {
  position: relative;
  width: 100%;
  height: 32.69vw;
  margin-top: 3.33vw;
  overflow: hidden;
}

.content-three__left {
  position: absolute;
  left: 0; top: 7.29vw;
  width: 54.84%;
  min-width: calc(54.84vw - 18.75vw);
  height: 25.73vw;
  background: #12371D;
  padding: 3.83vw 0;
  z-index: 2;
}

.content-three__left__all {
  position: absolute;
  right: 0;
  width: calc(54.84vw - 18.75vw);
}

.content-three__left__all > .section-head {
  width: 26.67vw;
  font-family: Arial;
  font-weight: 900;
  font-size: 1.38vw;
  color: #FFFFFF;
  line-height: 1.92vw;
  text-transform: uppercase;
}

.content-three__left__all > p {
  display: block;
  margin-top: 1.25vw;
  width: 33.33vw;
  font-family: Arial;
  font-weight: 400;
  font-size: 0.88vw;
  color: #EEF4EF;
  line-height: 1.42vw;
}

.content-three__left__list {
  display: flex;
  justify-content: space-between;
  width: 35vw;
  margin-top: 1.83vw;
}

.content-three__left__ul { width: 16.67vw; }

.content-three__left__ul > li {
  display: block;
  height: 1.58vw;
  width: 100%;
  font-family: Arial;
  font-weight: 400;
  font-size: 0.88vw;
  line-height: 1.58vw;
}

.content-three__left__ul > li > a {
  display: block;
  color: #FFFFFF;
  transition: all 0.3s ease;
}

.content-three__left__ul > li:hover > a { transform: translateX(6px); }

.content-three__right {
  position: absolute;
  top: 0; left: 48.02%;
  width: 33.28vw; height: 33.03vw;
  overflow: hidden;
  border-radius: 0.42vw;
}

.content-three__right img {
  width: 100%; height: 100%;
  object-fit: cover;
}

/* ============================================
   PRODUCT CATEGORIES (product-section)
============================================ */

.product-section {
  width: 100%;
  background-color: #F7F4EF;
  padding: 0 0 3.33vw;
  position: relative;
  z-index: 2;
}

.product-list {
  width: var(--bs-screen-xxl);
  display: flex;
  justify-content: space-between;
  margin: 1.67vw auto 0;
  gap: 1.25vw;
}

.product-list__item {
  flex: 1;
  background: #FFFFFF;
  border-radius: 0.5vw;
  overflow: hidden;
  border: 1px solid #E5E5E5;
  transition: all 0.3s ease;
}

.product-list__item:hover {
  border-color: #B6843A;
  box-shadow: 0 4px 16px rgba(0,0,0,0.14);
  transform: translateY(-4px);
}

.product-list__img {
  width: 100%; height: 10.83vw;
  overflow: hidden;
}

.product-list__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.product-list__item:hover .product-list__img img { transform: scale(1.06); }

.product-list__body {
  padding: 1.33vw 1.17vw 1.67vw;
}

.product-list__body .cat {
  display: inline-block;
  font-size: 0.6vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #B6843A;
  background: #F7F2EA;
  border-radius: 3px;
  padding: 3px 10px;
  margin-bottom: 0.5vw;
}

.product-list__body h3 {
  font-family: Arial;
  font-weight: 700;
  font-size: 1vw;
  color: #12371D;
  margin-bottom: 0.5vw;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.product-list__body p {
  font-size: 0.73vw;
  color: #7A8C7D;
  line-height: 1.38vw;
  margin-bottom: 0.83vw;
}

.product-list__tags {
  display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 0.83vw;
}

.product-list__tags span {
  font-size: 0.6vw;
  color: #B6843A;
  background: #F7F2EA;
  border-radius: 3px;
  padding: 2px 8px;
}

.product-list__body a.more {
  font-family: Arial;
  font-size: 0.71vw;
  color: #B6843A;
  font-weight: 400;
  transition: all 0.3s;
}

.product-list__body a.more:hover { color: #12371D; transform: scale(1.05); display: inline-block; }

/* ============================================
   ABOUT SECTION / COMPANY INTRO (content-four)
============================================ */
.content-four {
  width: var(--bs-screen-xxl);
  min-height: 25vw;
  margin: 3.33vw auto 0;
  display: flex;
}

.content-four__left {
  width: 14.75vw;
  border-right: 1px solid #E5E5E5;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  padding-right: 1.67vw;
}

.four-left__item {
  display: flex;
  flex-direction: column;
}

.four-left__item__number {
  display: flex;
  align-items: flex-end;
}

.four-left__item__number .num-title {
  font-family: Arial;
  font-weight: 800;
  font-size: 4.58vw;
  color: #12371D;
  line-height: 1;
}

.four-left__item__number span {
  padding-bottom: 0.67vw;
  padding-left: 6px;
  font-family: Arial;
  font-weight: 400;
  font-size: 0.92vw;
  color: #12371D;
  line-height: 1.83vw;
}

.four-left__item__years {
  font-family: Arial;
  font-weight: 400;
  font-size: 0.92vw;
  color: #12371D;
  line-height: 1.83vw;
}

.content-four__right {
  width: calc(100% - 14.75vw);
  padding-left: 3.75vw;
  padding-bottom: 2.5vw;
}

.content-four__title {
  font-family: Arial;
  font-weight: 800;
  font-size: 2.5vw;
  color: #12371D;
  line-height: 2.5vw;
}

.content-four__body {
  margin-top: 1.67vw;
  font-family: Arial;
  font-weight: 400;
  font-size: 0.92vw;
  color: #12371D;
  line-height: 1.83vw;
  letter-spacing: 0.03em;
  word-spacing: 3px;
}

.content-four__body p { margin-bottom: 0.83vw; }

/* ============================================
   CERTIFICATIONS
============================================ */
.cert-section {
  width: 100%;
  padding: 0 0 3.33vw;
  background: #F7F4EF;
  position: relative;
  z-index: 2;
}

.cert-list {
  width: var(--bs-screen-xxl);
  display: flex;
  justify-content: space-between;
  margin: 1.67vw auto 0;
  gap: 1.25vw;
}

.cert-list__item {
  flex: 1;
  background: #fff;
  border-radius: 0.5vw;
  padding: 2.08vw 1.25vw;
  text-align: center;
  border: 1px solid #E5E5E5;
  transition: all 0.3s ease;
}

.cert-list__item:hover {
  border-color: #B6843A;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
  transform: translateY(-4px);
}

.cert-badge-text {
  font-family: Arial;
  font-weight: 900;
  font-size: 2vw;
  color: #12371D;
  line-height: 1;
  margin-bottom: 0.5vw;
}

.cert-list__item h4 {
  font-family: Arial;
  font-weight: 700;
  font-size: 0.83vw;
  color: #12371D;
  margin-bottom: 0.58vw;
  letter-spacing: 0.03em;
}

.cert-list__item p {
  font-size: 0.71vw;
  color: #7A8C7D;
  line-height: 1.33vw;
}

/* ── image-based cert cards ── */
.cert-list__item--img { text-align: left; padding: 0; overflow: hidden; }

.cert-img-wrap {
  width: 100%;
  height: 32vw;
  overflow: hidden;
  border-radius: 0.4vw 0.4vw 0 0;
  background: #f0ece4;
}

.cert-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 30%;
  transition: transform 0.4s ease;
}

.cert-list__item--img:hover .cert-img-wrap img { transform: scale(1.04); }

.cert-list__item--img h4,
.cert-list__item--img p {
  padding: 0 1.25vw;
}

.cert-list__item--img h4 { margin-top: 0.83vw; margin-bottom: 0.33vw; }
.cert-list__item--img p  { margin-bottom: 1vw; }

/* ============================================
   SERVICE PROCESS
============================================ */
.process-section {
  width: 100%;
  background: #F7F4EF;
  padding: 0 0 4.17vw;
  position: relative;
  z-index: 2;
}

.process-grid {
  width: var(--bs-screen-xxl);
  margin: 2.5vw auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.pstep {
  padding: 2.33vw 2vw;
  background: transparent;
  border-bottom: 1px solid #E0DDD7;
  border-right: 1px solid #E0DDD7;
  transition: background 0.2s, box-shadow 0.2s;
  position: relative;
}

.pstep:hover {
  background: #fff;
  box-shadow: 0 4px 18px rgba(18,55,29,0.09);
  z-index: 1;
}

/* last column: no right border */
.pstep:nth-child(3n) { border-right: none; }

/* second row: no bottom border */
.pstep--row2 { border-bottom: none; }


.pstep__num {
  font-family: Arial;
  font-weight: 900;
  font-size: 2.33vw;
  color: #12371D;
  line-height: 1;
  opacity: 0.18;
  letter-spacing: -0.02em;
  margin-bottom: 0.75vw;
}

.pstep__rule {
  width: 1.67vw;
  height: 2px;
  background: #12371D;
  margin-bottom: 0.83vw;
}

.pstep h4 {
  font-family: Arial;
  font-weight: 700;
  font-size: 0.75vw;
  color: #12371D;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.5vw;
}

.pstep p {
  font-size: 0.68vw;
  color: #7A8C7D;
  line-height: 1.38vw;
}

/* ============================================
   CLIENTS / CASES
============================================ */
.clients-section {
  width: 100%;
  padding: 0 0 4.17vw;
  position: relative;
  z-index: 2;
}

/* Logo strip */
.clients-logos {
  width: var(--bs-screen-xxl);
  margin: 2.08vw auto 2.5vw;
  overflow: hidden;
}

.clients-logos .swiper {
  width: 100%;
}

.client-logo-item {
  height: 4.17vw;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #E5E5E5;
  border-radius: 0.42vw;
  padding: 0.62vw 1.17vw;
  transition: all 0.3s;
}

.client-logo-item img {
  max-height: 2vw;
  width: auto;
  max-width: 6.67vw;
  object-fit: contain;
  filter: grayscale(100%) opacity(0.55);
  transition: filter 0.3s;
}

.client-logo-item:hover {
  border-color: #B6843A;
  box-shadow: 0 2px 10px rgba(18,55,29,.12);
}

.client-logo-item:hover img {
  filter: grayscale(0%) opacity(1);
}

.client-logo-item--text {
  font-family: Arial, sans-serif;
  font-weight: 700;
  font-size: 0.68vw;
  color: #7A8BA8;
  letter-spacing: 0.04em;
  text-align: center;
}

/* Cases grid */
.cases-grid {
  width: var(--bs-screen-xxl);
  margin: 0 auto;
  display: flex;
  gap: 1.25vw;
}

.case-item {
  flex: 1;
  background: #fff;
  border: 1px solid #E5E5E5;
  border-radius: 0.5vw;
  overflow: hidden;
  transition: all 0.3s ease;
}

.case-item:hover {
  border-color: #B6843A;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

.case-item__img { width: 100%; aspect-ratio: 4 / 3; overflow: hidden; }
.case-item__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.case-item:hover .case-item__img img { transform: scale(1.06); }

.case-item__body { padding: 1.17vw; }

.case-tag {
  display: inline-block;
  font-size: 0.58vw;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #B6843A;
  background: #F7F2EA;
  border-radius: 3px;
  padding: 2px 8px;
  margin-bottom: 0.42vw;
}

.case-item__body h4 {
  font-family: Arial;
  font-weight: 700;
  font-size: 0.79vw;
  color: #12371D;
  line-height: 1.25vw;
  margin-bottom: 0.42vw;
}

.case-item__body p {
  font-size: 0.68vw;
  color: #7A8C7D;
  line-height: 1.25vw;
}

/* ============================================
   NEWS / BLOGS (content-five)
============================================ */
.content-five {
  width: var(--bs-screen-xxl);
  margin: 3.33vw auto 3.33vw;
}

.content-five__title {
  font-family: Arial;
  font-weight: 400;
  font-size: 1.42vw;
  color: #12371D;
  line-height: 2.92vw;
}

.content-five__title span {
  font-size: 2.08vw;
  font-weight: 700;
}

.content-five__body {
  margin-top: 2.08vw;
}

.myMachinesSwiper {
  overflow: hidden;
}

.swiper-five {
  width: 19.17vw;
  height: auto !important;
  border: 1px solid #E5E5E5;
  transition: all 0.3s ease;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}

.swiper-five:hover {
  border-color: #B6843A;
  box-shadow: 0 2px 12px rgba(0,0,0,0.22);
}

.content-five__img {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.content-five__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.swiper-five:hover .content-five__img img { transform: scale(1.08); }

/* Both news and product carousels use 4:3 via the base rule above */

.content-five__test {
  padding: 1.33vw;
}

.content-five__test p {
  font-family: Arial;
  font-size: 0.68vw;
  color: #B6843A;
  line-height: 0.83vw;
}

.content-five__test div {
  margin-top: 0.67vw;
  font-family: Arial;
  font-weight: 700;
  font-size: 1.04vw;
  color: #12371D;
  line-height: 1.42vw;
  /* Title: max 2 lines */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.83vw;
}

.content-five__test span {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 0.42vw;
  font-size: 0.71vw;
  color: #747474;
  line-height: 1.17vw;
  min-height: 4.67vw;
}

.content-five__test a {
  display: inline-block;
  margin-top: 1.25vw;
  font-family: Arial;
  font-size: 0.71vw;
  color: #B6843A;
  line-height: 1.67vw;
  transition: color 0.2s, transform 0.2s;
}

.content-five__test a:hover { color: #9B6D2E; transform: scale(1.08); }

/* Product carousel: no zoom on text / link */
.hpProductsSwiper .content-five__test a:hover { transform: none; }

/* ============================================
   CONTACT FORM (content-six)
============================================ */
.content-six {
  width: 100%;
  background-color: #12371D;
  padding: 2.92vw 0;
}

.content-six__body {
  width: var(--bs-screen-xxl);
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 3.33vw;
}

.six-body__left {
  width: 27.5vw;
}

.six-body__left__title {
  margin-bottom: 2.92vw;
}

.six-body__left__title p {
  font-family: Arial;
  font-size: 1.17vw;
  color: #FFFFFF;
  line-height: 2.08vw;
}

.six-body__left__title div {
  font-family: Arial;
  font-weight: 800;
  font-size: 2.17vw;
  color: #FFFFFF;
  line-height: 2.08vw;
  text-transform: uppercase;
}

.six-body__left__phone { margin-top: 1.67vw; }

.six-body__left__phone p {
  font-family: Arial;
  font-size: 1.08vw;
  color: #FFFFFF;
  line-height: 1.5vw;
  font-weight: 600;
}

.six-body__left__phone span {
  font-family: Arial;
  font-size: 0.79vw;
  color: rgba(255,255,255,0.75);
  line-height: 1.33vw;
}

.six-body__right { flex: 1; }

.six-body__right__item {
  margin-bottom: 1vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1vw;
}

.six-body__right__item input {
  flex: 1;
  height: 2.5vw;
  background: #FFFFFF;
  border-radius: 5px;
  border: none; outline: none;
  font-family: Arial;
  font-size: 0.79vw;
  color: #343434;
  padding: 0 0.83vw;
}

.six-body__right__item input::placeholder { color: #aaa; }

.six-body__right__item textarea {
  width: 100%; height: 7.5vw;
  background: #FFFFFF;
  border-radius: 5px;
  border: none; outline: none;
  padding: 0.83vw 1vw;
  font-family: Arial;
  font-size: 0.79vw;
  color: #343434;
  resize: vertical;
}

.six-body__right__item textarea::placeholder { color: #aaa; }

.submit {
  width: 100%; height: 3.17vw;
  background-color: #B6843A;
  border-radius: 5px;
  border: none;
  font-family: Arial;
  font-weight: 700;
  font-size: 0.92vw;
  color: #FFFFFF;
  cursor: pointer;
  letter-spacing: 0.06em;
  transition: background 0.3s;
}

.submit:hover { background-color: #9B6D2E; }

/* ============================================
   FOOTER
============================================ */
.footer {
  position: relative;
  width: 100%;
  background: #F7F4EF;
  overflow: hidden;
}

.footer-content {
  display: flex;
  width: var(--bs-screen-xxl);
  margin: 3.75vw auto 0;
  padding-bottom: 2.5vw;
  border-bottom: 1px solid #E5E5E5;
}

.footer-logo { width: 20vw; }

.footer-logo > img {
  margin-top: 0.42vw;
  height: 2.83vw;
  width: auto;
  object-fit: contain;
}

.logo-list {
  display: flex;
  gap: 0.83vw;
  margin-top: 1.67vw;
}

.logo-list img {
  width: 1vw; height: 1vw;
  cursor: pointer;
}

.logo-list img:hover { animation: tada 0.8s; }

@keyframes tada {
  from { transform: scale3d(1,1,1); }
  10%, 20% { transform: scale3d(.9,.9,.9) rotate3d(0,0,1,-5deg); }
  30%, 50%, 70%, 90% { transform: scale3d(1.1,1.1,1.1) rotate3d(0,0,1,5deg); }
  40%, 60%, 80% { transform: scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-5deg); }
  to { transform: scale3d(1,1,1); }
}

.footer-logo p {
  width: 18.33vw;
  font-family: Arial;
  font-size: 0.79vw;
  color: #3D5A41;
  line-height: 1.5vw;
  margin-top: 1.5vw;
}

.footer-right {
  display: flex;
  justify-content: space-between;
  width: calc(100% - 20vw);
  padding-left: 3.33vw;
}

.footer-content_item h3 {
  font-family: Arial;
  font-weight: 900;
  font-size: 0.79vw;
  color: #12371D;
  line-height: 1vw;
  margin-bottom: 1.67vw;
  letter-spacing: 0.05em;
}

.footer-content_item > ul {
  display: flex;
  flex-direction: column;
  gap: 0.5vw;
}

.footer-content_item > ul > li > a {
  font-family: Arial;
  font-size: 0.71vw;
  color: #12371D;
  line-height: 1.67vw;
  transition: color 0.2s;
}

.footer-content_item > ul > li > a:hover { color: #B6843A; }

.footer-content_item .recent-post {
  font-family: Arial;
  font-size: 0.71vw;
  color: #12371D;
  line-height: 1.5vw;
}

.footer-contact-info {
  display: flex;
  flex-direction: column;
  gap: 0.45vw;
}
.footer-contact-info p {
  font-family: Arial;
  font-size: 0.71vw;
  color: #12371D;
  line-height: 1.6;
  margin: 0;
}
.footer-contact-info a {
  color: #12371D;
  text-decoration: none;
  transition: color .2s;
}
.footer-contact-info a:hover { color: #B6843A; }
.fci-label {
  display: inline-block;
  min-width: 4.5em;
  color: #888;
  font-size: 0.9em;
}
.fci-label::after { content: ' /'; }

.copyright {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4.58vw;
  font-family: Arial;
  font-size: 0.75vw;
  color: #868686;
}

/* ============================================
   ABOUT PAGE HERO
============================================ */
.page-hero {
  width: 100%;
  height: max(540px, 28.125vw);
  background: linear-gradient(160deg, rgba(18,55,29,.82) 0%, rgba(18,55,29,.6) 100%),
              url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?w=1920&q=80') center/cover no-repeat;
  display: flex;
  align-items: flex-end;
  padding-bottom: 3.5vw;
  position: relative;
  z-index: 2;
}

.page-hero .page-hero__inner {
  width: var(--bs-screen-xxl);
  margin: 0 auto;
}

.page-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5vw;
  font-size: 0.83vw;
  color: rgba(255,255,255,.7);
  margin-bottom: 1vw;
}

.page-breadcrumb a {
  display: flex;
  align-items: center;
  gap: 0.3vw;
  color: rgba(255,255,255,.7);
  transition: color 0.2s;
}

.page-breadcrumb a:hover { color: #fff; }

.page-breadcrumb__sep {
  font-size: 1em;
  opacity: .5;
}

.page-hero h1 {
  font-family: Arial;
  font-weight: 800;
  font-size: 3.33vw;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: left;
  margin: 0 0 0.5vw;
}

/* ============================================
   ABOUT — COMPANY INTRO
============================================ */
.about-intro-wrap {
  width: var(--bs-screen-xxl);
  margin: 3.33vw auto;
  display: flex;
  gap: 4.17vw;
  align-items: flex-start;
}

.about-intro-content { flex: 1; }

.about-intro-content h2 {
  font-family: Arial;
  font-weight: 800;
  font-size: 2vw;
  color: #12371D;
  text-transform: uppercase;
  margin-bottom: 1.25vw;
  line-height: 1.3;
}

.about-intro-content p {
  font-family: Arial;
  font-size: 0.88vw;
  color: #12371D;
  line-height: 1.83vw;
  margin-bottom: 0.83vw;
  letter-spacing: 0.02em;
  word-spacing: 3px;
}

.about-pillars {
  margin-top: 1.67vw;
  display: flex; gap: 0.83vw;
}

.pillar-card {
  flex: 1;
  background: #F7F4EF;
  border: 1px solid #E5E5E5;
  border-radius: 0.42vw;
  padding: 1.17vw 0.83vw;
  text-align: center;
  transition: all 0.3s;
}

.pillar-card:hover { border-color: #12371D; transform: translateY(-3px); }

.pillar-card i { font-size: 1.33vw; color: #B6843A; margin-bottom: 0.5vw; }
.pillar-card h4 { font-size: 0.71vw; font-weight: 700; color: #12371D; margin-bottom: 5px; text-transform: uppercase; }
.pillar-card p { font-size: 0.62vw; color: #7A8C7D; line-height: 1.17vw; }

.about-intro-media { width: 23.33vw; flex-shrink: 0; }
.about-intro-media img { width: 100%; border-radius: 0.5vw; object-fit: cover; box-shadow: 0 8px 30px rgba(0,0,0,.14); }

/* ============================================
   ABOUT — TEAM
============================================ */
.team-wrap {
  background: #F7F4EF;
  padding: 2.5vw 0 4.17vw;
}

.team-grid {
  width: var(--bs-screen-xxl);
  margin: 1.67vw auto 0;
  display: flex; gap: 1.25vw;
}

.team-card {
  flex: 1;
  background: #fff;
  border: 1px solid #E5E5E5;
  border-radius: 0.5vw;
  overflow: hidden;
  transition: all 0.3s;
  text-align: center;
}

.team-card:hover {
  border-color: #B6843A;
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
}

.team-card__photo { height: 11.67vw; overflow: hidden; }
.team-card__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.team-card:hover .team-card__photo img { transform: scale(1.05); }

.team-card__body { padding: 1.17vw; }
.team-card__body h4 { font-family: Arial; font-weight: 700; font-size: 0.83vw; color: #12371D; margin-bottom: 5px; }
.team-card__body .title { font-size: 0.68vw; color: #B6843A; font-weight: 600; margin-bottom: 0.5vw; letter-spacing: 0.04em; }
.team-card__body p { font-size: 0.67vw; color: #7A8C7D; line-height: 1.29vw; }

/* ============================================
   ABOUT — FACTORY
============================================ */
.factory-wrap {
  width: var(--bs-screen-xxl);
  margin: 3.33vw auto 4.17vw;
  display: flex;
  gap: 3.33vw;
  align-items: flex-start;
}

.factory-gallery {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.67vw;
}

.factory-gallery img {
  border-radius: 6px;
  object-fit: cover;
  aspect-ratio: 1;
  width: 100%;
  transition: all 0.3s;
}

.factory-gallery img:first-child {
  grid-column: span 2;
  aspect-ratio: 16/9;
}

.factory-gallery img:hover { transform: scale(1.02); box-shadow: 0 4px 12px rgba(0,0,0,.12); }

.factory-content { width: 23.33vw; flex-shrink: 0; }

.factory-content h2 {
  font-family: Arial;
  font-weight: 800;
  font-size: 1.67vw;
  color: #12371D;
  text-transform: uppercase;
  margin-bottom: 1vw;
  line-height: 1.3;
}

.factory-content p {
  font-size: 0.83vw;
  color: #12371D;
  line-height: 1.58vw;
  margin-bottom: 1vw;
}

.factory-points { display: flex; flex-direction: column; gap: 0.83vw; margin-top: 1.25vw; }

.factory-point { display: flex; gap: 0.83vw; align-items: flex-start; }

.factory-point .icon {
  width: 2vw; height: 2vw; flex-shrink: 0;
  background: #EEF4EF;
  border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  color: #12371D; font-size: 0.75vw;
}

.factory-point strong { display: block; font-size: 0.75vw; color: #12371D; margin-bottom: 3px; }
.factory-point span { font-size: 0.67vw; color: #7A8C7D; line-height: 1.25vw; }

/* ============================================
   ABOUT PAGE — PAGE HERO SUBTITLE
============================================ */
.page-hero__sub {
  font-size: 0.96vw;
  color: rgba(255,255,255,.65);
  margin-top: 0;
  font-family: Arial;
  letter-spacing: 0.04em;
  font-weight: 400;
}

/* ============================================
   ABOUT — COMPANY PROFILE (REDESIGN)
============================================ */
.ab-company-section { background: #fff; }

.ab-intro-wrap {
  width: var(--bs-screen-xxl);
  margin: 0 auto;
  padding: 3.33vw 0 4.17vw;
  display: flex;
  gap: 4.17vw;
  align-items: flex-start;
}

/* left: image block */
.ab-intro-media {
  width: 24vw;
  flex-shrink: 0;
  position: relative;
}

.ab-intro-media img {
  width: 100%;
  border-radius: 0.5vw;
  object-fit: cover;
  display: block;
  box-shadow: 0 12px 40px rgba(18,55,29,.18);
}

/* stat box removed — no overlay decorations on image */

/* right: content block */
.ab-intro-content { flex: 1; }

.ab-intro-tag {
  font-size: 0.67vw;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #B6843A;
  text-transform: uppercase;
  margin-bottom: 0.75vw;
}

.ab-intro-content h2 {
  font-family: Arial;
  font-weight: 800;
  font-size: 1.92vw;
  color: #12371D;
  text-transform: uppercase;
  margin-bottom: 1.25vw;
  line-height: 1.3;
}

.ab-intro-content > p {
  font-size: 0.83vw;
  color: #3D5A41;
  line-height: 1.8vw;
  margin-bottom: 0.83vw;
}

/* clean 3-col category list, separated by vertical rules */
.ab-intro-cats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 1.5vw;
  margin-bottom: 1.67vw;
  padding-top: 1.25vw;
  border-top: 1px solid #E0DDD7;
}

.ab-intro-cat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0 1vw;
  border-right: 1px solid #E0DDD7;
}

.ab-intro-cat:first-child { padding-left: 0; }
.ab-intro-cat:last-child  { border-right: none; }

.ab-intro-cat strong {
  font-size: 0.71vw;
  font-weight: 700;
  color: #12371D;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.ab-intro-cat span {
  font-size: 0.63vw;
  color: #7A8C7D;
  line-height: 1.5;
}

.ab-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5vw;
  margin-top: 1.5vw;
  padding: 0.83vw 1.67vw;
  background: #12371D;
  color: #fff;
  font-family: Arial;
  font-weight: 700;
  font-size: 0.75vw;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 0.25vw;
  transition: background 0.3s, transform 0.2s;
}

.ab-cta-btn:hover { background: #B6843A; transform: translateY(-2px); color: #fff; }

/* ============================================
   ABOUT — STATS BAR
============================================ */
.ab-stats-bar {
  background: #12371D;
  padding: 3vw 0;
}

.ab-stats-inner {
  width: var(--bs-screen-xxl);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.ab-stat { text-align: center; }

.ab-stat__num {
  font-family: Arial;
  font-weight: 800;
  font-size: 3vw;
  color: #B6843A;
  line-height: 1;
}

.ab-stat__num sup {
  font-size: 1.25vw;
  vertical-align: super;
}

.ab-stat__label {
  font-size: 0.67vw;
  color: rgba(255,255,255,.7);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-top: 0.5vw;
}

.ab-stat-divider {
  width: 1px;
  height: 3vw;
  background: rgba(255,255,255,.18);
}

/* ============================================
   ABOUT — MISSION · VISION · VALUES
============================================ */
.ab-mvv-section {
  background: #F7F4EF;
  padding-bottom: 4.17vw;
}

.ab-mvv-grid {
  width: var(--bs-screen-xxl);
  margin: 1.67vw auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25vw;
}

.ab-mvv-card {
  background: #fff;
  border-radius: 0.5vw;
  padding: 2.08vw 1.67vw;
  border: 1px solid #E5E5E5;
  transition: background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, transform 0.3s ease;
  cursor: default;
}

.ab-mvv-card:hover {
  background: #12371D;
  border-color: #12371D;
  box-shadow: 0 8px 32px rgba(18,55,29,.22);
  transform: translateY(-5px);
}

.ab-mvv-card__icon {
  width: 2.5vw;
  height: 2.5vw;
  background: #EEF4EF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1vw;
  color: #12371D;
  margin-bottom: 1vw;
  transition: background 0.35s, color 0.35s;
}

.ab-mvv-card:hover .ab-mvv-card__icon { background: rgba(255,255,255,.12); color: #B6843A; }

.ab-mvv-card h3 {
  font-family: Arial;
  font-weight: 700;
  font-size: 0.83vw;
  color: #12371D;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 0.67vw;
  transition: color 0.35s;
}

.ab-mvv-card:hover h3 { color: #fff; }

.ab-mvv-card p {
  font-size: 0.75vw;
  color: #3D5A41;
  line-height: 1.5vw;
  transition: color 0.35s;
}

.ab-mvv-card:hover p { color: rgba(255,255,255,.75); }

.ab-values-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.42vw;
}

.ab-values-list li {
  font-size: 0.75vw;
  color: #3D5A41;
  display: flex;
  align-items: center;
  gap: 0.42vw;
  transition: color 0.35s;
}

.ab-mvv-card:hover .ab-values-list li { color: rgba(255,255,255,.75); }

.ab-values-list li i { color: #B6843A; font-size: 0.83vw; }
.ab-mvv-card:hover .ab-values-list li i { color: #B6843A; }

/* ============================================
   ABOUT — WHY CHOOSE US
============================================ */
.ab-why-section {
  background: #fff;
  padding-bottom: 4.17vw;
}

.ab-why-grid {
  width: var(--bs-screen-xxl);
  margin: 1.67vw auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25vw;
}

.ab-why-card {
  background: #F7F4EF;
  border-radius: 0.5vw;
  padding: 1.67vw 1.25vw;
  border: 1px solid transparent;
  transition: all 0.3s;
}

.ab-why-card:hover {
  border-color: #B6843A;
  background: #fff;
  box-shadow: 0 4px 20px rgba(18,55,29,.08);
  transform: translateY(-3px);
}

.ab-why-card__icon {
  font-size: 1.5vw;
  color: #B6843A;
  margin-bottom: 0.83vw;
}

.ab-why-card h4 {
  font-family: Arial;
  font-weight: 700;
  font-size: 0.79vw;
  color: #12371D;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.5vw;
}

.ab-why-card p {
  font-size: 0.71vw;
  color: #3D5A41;
  line-height: 1.42vw;
}

/* ============================================
   ABOUT — TEAM (REDESIGN)
============================================ */
.ab-team-section {
  background: #F7F4EF;
  padding-bottom: 4.17vw;
}

.ab-team-grid {
  width: var(--bs-screen-xxl);
  margin: 1.67vw auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25vw;
}

.ab-team-card {
  background: #fff;
  border-radius: 0.5vw;
  overflow: hidden;
  border: 1px solid #E5E5E5;
  transition: all 0.3s;
}

.ab-team-card:hover {
  border-color: #B6843A;
  box-shadow: 0 6px 24px rgba(18,55,29,.1);
  transform: translateY(-4px);
}

.ab-team-card__photo {
  height: 16vw;
  overflow: hidden;
}

.ab-team-card__photo img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.4s;
}

.ab-team-card:hover .ab-team-card__photo img { transform: scale(1.05); }

.ab-team-card__body {
  padding: 1.04vw 1.04vw 0.83vw;
  text-align: center;
}

.ab-team-card__body h4 {
  font-family: Arial;
  font-weight: 700;
  font-size: 0.83vw;
  color: #12371D;
  margin-bottom: 4px;
}

.ab-team-role {
  font-size: 0.67vw;
  color: #B6843A;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-bottom: 0.5vw;
}

.ab-team-card__body p {
  font-size: 0.67vw;
  color: #7A8C7D;
  line-height: 1.3vw;
  margin-bottom: 0.67vw;
}

.ab-team-social {
  display: flex;
  justify-content: center;
  gap: 0.5vw;
}

.ab-team-social a {
  width: 1.5vw; height: 1.5vw;
  background: #EEF4EF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #12371D;
  font-size: 0.71vw;
  transition: background 0.3s, color 0.3s;
}

.ab-team-social a:hover { background: #B6843A; color: #fff; }

/* ============================================
   ABOUT — QUALITY ASSURANCE
============================================ */
.ab-quality-section {
  background: #fff;
}

/* Full-bleed left-right split */
.ab-quality-split {
  display: flex;
  min-height: 32vw;
}

.ab-quality-img {
  width: 46%;
  flex-shrink: 0;
  overflow: hidden;
}

.ab-quality-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s;
}

.ab-quality-img:hover img { transform: scale(1.03); }

.ab-quality-body {
  flex: 1;
  background: #12371D;
  padding: 5vw 4.5vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.4vw;
}

.ab-quality-eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #B6843A;
}

.ab-quality-body h2 {
  font-family: Arial;
  font-weight: 800;
  font-size: clamp(20px, 1.9vw, 34px);
  color: #fff;
  text-transform: uppercase;
  line-height: 1.25;
  margin: 0;
}

.ab-quality-body > p {
  font-size: clamp(13px, 0.88vw, 16px);
  color: rgba(255,255,255,.75);
  line-height: 1.8;
  margin: 0;
}

.ab-quality-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid rgba(255,255,255,.15);
}

.ab-quality-item {
  padding: 1.1vw 0;
  border-bottom: 1px solid rgba(255,255,255,.15);
}

.ab-quality-item strong {
  display: block;
  font-size: clamp(13px, 0.83vw, 15px);
  color: #fff;
  font-weight: 700;
  margin-bottom: 0.3rem;
}

.ab-quality-item span {
  font-size: clamp(12px, 0.73vw, 14px);
  color: rgba(255,255,255,.65);
  line-height: 1.7;
}

.ab-quality-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.5vw;
  font-size: clamp(12px, 0.8vw, 14px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #B6843A;
  text-decoration: none;
  transition: gap .2s;
}

.ab-quality-link:hover { gap: 0.65rem; }

/* ============================================
   ABOUT — CTA BANNER
============================================ */
.ab-cta-banner {
  background: linear-gradient(135deg, #12371D 0%, #1e5a30 100%);
  padding: 4.17vw 0;
}

.ab-cta-banner__inner {
  width: var(--bs-screen-xxl);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2vw;
}

.ab-cta-banner__text p {
  font-size: 0.75vw;
  color: rgba(255,255,255,.65);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 0.5vw;
}

.ab-cta-banner__text h2 {
  font-family: Arial;
  font-weight: 800;
  font-size: 1.83vw;
  color: #fff;
  text-transform: uppercase;
  line-height: 1.2;
}

.ab-cta-banner__actions {
  display: flex;
  gap: 1vw;
  flex-shrink: 0;
}

.ab-cta-banner__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45em;
  height: 2.92vw;
  padding: 0 1.8vw;
  font-family: Arial;
  font-weight: 700;
  font-size: 0.75vw;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 0.25vw;
  text-decoration: none;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  transition: color .25s, background .25s, border-color .25s, box-shadow .25s, transform .2s;
}
.ab-cta-banner__btn:active { transform: scale(0.97); }

.ab-cta-banner__btn--primary {
  background: #B6843A;
  color: #fff;
  border: 2px solid #B6843A;
  box-shadow: 0 2px 12px rgba(182,132,58,.35);
}
.ab-cta-banner__btn--primary:hover {
  background: #fff;
  color: #B6843A;
  border-color: #fff;
  box-shadow: 0 4px 20px rgba(255,255,255,.25);
}

.ab-cta-banner__btn--outline {
  background: transparent;
  border: 2px solid rgba(255,255,255,.45);
  color: rgba(255,255,255,.85);
}
.ab-cta-banner__btn--outline:hover {
  background: #fff;
  border-color: #fff;
  color: #12371D;
  box-shadow: 0 4px 20px rgba(255,255,255,.2);
}

/* ============================================
   RESPONSIVE
   Breakpoints: 1024px (tablet) / 768px (mobile)
   Mirrors 锦柏欣 strategy — no JS rem scaling
============================================ */

/* ── mid-screen font floor: 1025px ~ 1800px ──
   Pure vw collapses at 1440px; px floors keep
   body copy and small labels readable.           */
@media screen and (min-width: 1025px) and (max-width: 1800px) {
  /* 0.73vw tier (14px@1920) → floor 13px */
  .content-titel__one__all span,
  .content-one__list__item span,
  .content-one__list__item a,
  .product-list__body p,
  .product-list__body a.more,
  .case-item__body p,
  .pstep p,
  .cert-list__item p,
  .content-five__test span,
  .footer-content_item > ul > li > a,
  .footer-logo p,
  .copyright,
  .page-breadcrumb,
  .pillar-card p,
  .team-card__body p,
  .factory-point span             { font-size: 13px; }

  /* 0.79vw tier (15px@1920) → floor 13px */
  .header-menus > li > a,
  .header-menus > li > .header-menu > a,
  .header-menus__second > li > a  { font-size: 13px; }

  /* 0.83vw tier (16px@1920) → floor 14px */
  .content-one__list__item p,
  .swiper-content__button a,
  .content-five__test p,
  .six-body__left__phone span,
  .footer-content_item .recent-post { font-size: 14px; }

  /* 0.92vw tier (17.7px@1920) → floor 15px */
  .swiper-content__p p,
  .content-four__body,
  .about-intro-content p,
  .factory-content p              { font-size: 15px; }

  /* 1.04vw tier (20px@1920) → floor 16px */
  .content-five__test div,
  .product-list__body h3,
  .case-item__body h4,
  .team-card__body h4             { font-size: 16px; }

  /* 2.17vw (banner title), 2.17vw (section heading) → floor 26px */
  .swiper-content__title          { font-size: 2.17vw; }
  .content-titel__one__all div    { font-size: 26px; }
}

/* ════════════════════════════════════════════
   1440 FIX  ≤ 1600px  (covers 1440px laptops)
   Supplements the ≤1800px block above.
   Covers all pages: index / about / certifications
   / contact / products / product-detail.
════════════════════════════════════════════ */
@media screen and (min-width: 1025px) and (max-width: 1600px) {

  /* ── Global ── */
  .header                                          { font-size: 14px; }
  .header-logo-placeholder                         { font-size: 13px; }
  .header-search input                             { font-size: 13px; }
  .page-hero__sub                                  { font-size: 15px; }
  .client-logo-item--text                          { font-size: 13px; }
  .submit                                          { font-size: 14px; }

  /* ── Index: stats / cards / process ── */
  .content-two-number > li > p                     { font-size: 13px; }
  .content-three__left__all > p                    { font-size: 14px; line-height: 1.65; }
  .content-three__left__ul > li                    { font-size: 14px; height: auto; line-height: 1.9; }
  .four-left__item__number span,
  .four-left__item__years                          { font-size: 14px; }
  .product-list__body .cat                         { font-size: 11px; }
  .product-list__tags span                         { font-size: 11px; }
  .cert-list__item h4                              { font-size: 14px; }
  .pstep h4                                        { font-size: 13px; }
  .case-tag                                        { font-size: 11px; }
  .six-body__right__item input,
  .six-body__right__item textarea                  { font-size: 13px; }
  .content-five__test a                            { font-size: 13px; }
  .footer-content_item h3                          { font-size: 13px; }
  .footer-contact-info p                           { font-size: 13px; }

  /* ── About page (.ab-* / .pillar-* / .team-* / .factory-*) ── */
  .pillar-card h4                                  { font-size: 13px; }
  .pillar-card p                                   { font-size: 13px; line-height: 1.65; }
  .team-card__body .title                          { font-size: 13px; }
  .team-card__body p                               { font-size: 13px; line-height: 1.65; }
  .factory-point .icon                             { font-size: 14px; }
  .factory-point strong                            { font-size: 13px; }
  .factory-point span                              { font-size: 13px; line-height: 1.65; }

  .ab-intro-tag                                    { font-size: 12px; }
  .ab-intro-content > p                            { font-size: 14px; line-height: 1.8; }
  .ab-intro-cat strong                             { font-size: 13px; }
  .ab-intro-cat span                               { font-size: 12px; }
  .ab-cta-btn                                      { font-size: 13px; }
  .ab-stat__label                                  { font-size: 13px; }
  .ab-mvv-card h3                                  { font-size: 15px; }
  .ab-mvv-card p                                   { font-size: 14px; line-height: 1.75; }
  .ab-values-list li                               { font-size: 14px; }
  .ab-why-card h4                                  { font-size: 14px; }
  .ab-why-card p                                   { font-size: 13px; line-height: 1.7; }
  .ab-team-card__body h4                           { font-size: 15px; }
  .ab-team-role                                    { font-size: 12px; }
  .ab-team-card__body p                            { font-size: 13px; line-height: 1.65; }
  .ab-team-social a                                { font-size: 13px; }
  .ab-values-list li i                             { font-size: 14px; }
  .ab-quality-eyebrow                              { font-size: 12px; }
  .ab-quality-item span                            { font-size: 13px; }
  .ab-quality-link                                 { font-size: 14px; }
  .ab-cta-banner__text p                           { font-size: 13px; }
  .ab-cta-banner__btn                              { font-size: 14px; }

  /* ── Certifications page (.ct-*) ── */
  .ct-intro-eyebrow                                { font-size: 12px; }
  .ct-intro-wrap > p                               { font-size: 14px; line-height: 1.8; }
  .ct-cert-card__tag                               { font-size: 11px; }
  .ct-cert-card__body h3                           { font-size: 14px; }
  .ct-cert-card__body p                            { font-size: 13px; line-height: 1.65; }
  .ct-standard-card h3                             { font-size: 14px; }
  .ct-standard-card p                              { font-size: 13px; line-height: 1.65; }
  .ct-process-content > p                          { font-size: 14px; line-height: 1.8; }
  .ct-process-step__num                            { font-size: 12px; }
  .ct-process-step strong                          { font-size: 13px; }
  .ct-process-step span                            { font-size: 13px; line-height: 1.65; }

  /* ── Contact page (.cn-*) ── */
  .cn-info-card h3                                 { font-size: 13px; }
  .cn-info-card p                                  { font-size: 13px; line-height: 1.65; }
  .cn-info-card__sub                               { font-size: 12px; }
  .cn-info-bar__item strong                        { font-size: 13px; }
  .cn-info-bar__item span                          { font-size: 13px; }
  .cn-info-bar__item a                             { font-size: 13px; }
  .cn-form-left > p                                { font-size: 14px; line-height: 1.8; }
  .cn-form-field label                             { font-size: 13px; }
  .cn-form-field input,
  .cn-form-field select                            { font-size: 13px; }
  .cn-form-field textarea                          { font-size: 13px; }
  .cn-submit-btn                                   { font-size: 14px; }
  .cn-quick-info__item > i                         { font-size: 14px; }
  .cn-quick-info__item strong                      { font-size: 13px; }
  .cn-quick-info__item span                        { font-size: 13px; line-height: 1.65; }
  .cn-locations h3                                 { font-size: 13px; }
  .cn-locations ul li                              { font-size: 13px; }
  .cn-locations ul li i                            { font-size: 12px; }

  /* ── Products page (.pt-*) ── */
  .pt-sidebar__title                               { font-size: 13px; }
  .pt-cat-count                                    { font-size: 12px; }
  .pt-sidebar__contact p                           { font-size: 13px; }
  .pt-sidebar__contact a                           { font-size: 13px; }
  .pt-card__body p                                 { font-size: 13px; line-height: 1.65; }
  .pt-card__link                                   { font-size: 13px; }

  /* ── Product Detail page (.pd-*) ── */
  .pd-breadcrumb-inner                             { font-size: 13px; }
  .pd-btn                                          { font-size: 14px; }
  .pd-related__head a                              { font-size: 13px; }
}

/* ════════════════════════════════════════════
   TABLET  ≤ 1024px
════════════════════════════════════════════ */
@media screen and (max-width: 1024px) {
  /* ── containers ── */
  :root {
    --content-width: 90vw;
    --bs-screen-xxl: 90vw;
  }

  /* ── header ── */
  .header { position: fixed; top: 0; z-index: 9999; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.1); }
  #header-menu__expand { display: block; }
  .header-search__all { display: none; }

  .header-menus {
    display: none;
    background-color: #12371D;
    position: fixed;
    top: 5.15vw; left: 0; right: 0;
    padding: 20px 28px;
    flex-direction: column;
    height: auto;
    align-items: flex-start;
    gap: 0;
  }
  .header-menus.open { display: flex; }
  .header-menus > li { width: 100%; padding: 10px 0; flex-direction: column; align-items: flex-start; height: auto; margin: 0; }
  .header-menus > li > a,
  .header-menus > li > .header-menu > a { color: #fff; font-size: 15px; }
  .header-menus__second { position: relative; top: 0; left: 14px; background: transparent; box-shadow: none; border-top: none; }
  .header-menus__second > li > a { color: rgba(255,255,255,.8); }

  /* ── banner ── */
  .mySwiper { margin-top: 5.15vw; aspect-ratio: 16 / 7; }
  .swiper-content { margin-top: 4vw; margin-left: 50%; width: 48%; }
  .swiper-content__title { font-size: 28px; }

  /* ── background decoration ── */
  .background { height: 520px; }
  .background-left {
    width: 38vw; height: 38vw;
    background: #12371D;
    clip-path: polygon(0 0, 100% 0, 0 100%);
  }

  /* ── section titles ── */
  .content-titel__one__all span { font-size: 13px; }
  .content-titel__one__all div  { font-size: 26px; line-height: 1.3; }

  /* ── company intro cards (content-one) ── */
  .content-one__list { flex-wrap: wrap; gap: 14px; }
  .content-one__list__item { width: calc(50% - 7px); flex: none; }

  /* ── core advantages (content-three) ── */
  .content-three { height: auto; overflow: visible; }
  .content-three__left { position: relative; top: 0; width: 100%; min-width: 0; }
  .content-three__left__all { position: relative; right: 0; width: 90%; margin: 0 auto; padding: 32px 0; }
  .content-three__left__all > .section-head { width: 100%; font-size: 20px; }
  .content-three__left__all > p { width: 100%; }
  .content-three__left__list { width: 100%; }
  .content-three__left__ul { width: 48%; }
  .content-three__right { position: relative; top: 0; left: 0; width: 100%; height: 320px; }

  /* ── about / stats (content-four) ── */
  .content-four { flex-direction: column; }
  .content-four__left {
    width: 100%; border-right: none; border-bottom: 1px solid #E5E5E5;
    flex-direction: row; justify-content: space-around; padding: 0 0 24px;
  }
  .content-four__right { padding-left: 0; padding-top: 24px; width: 100%; }
  .content-four__title { font-size: 28px; }

  /* ── products ── */
  .product-list { flex-wrap: wrap; gap: 14px; }
  .product-list__item { width: calc(50% - 7px); flex: none; }

  /* ── certifications ── */
  .cert-list { flex-wrap: wrap; gap: 14px; }
  .cert-list__item { width: calc(50% - 7px); flex: none; }

  /* ── process ── */
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .pstep:nth-child(3n) { border-right: 1px solid #E8EEF8; }
  .pstep:nth-child(2n) { border-right: none; }
  .pstep--row2 { border-bottom: 1px solid #E8EEF8; }
  .pstep:nth-child(n+5) { border-bottom: none; }

  /* ── cases grid ── */
  .cases-grid { flex-wrap: wrap; gap: 14px; }
  .case-item { width: calc(50% - 7px); flex: none; }

  /* ── contact form ── */
  .content-six__body { flex-direction: column; gap: 32px; }
  .six-body__left { width: 100%; }
  .six-body__right { width: 100%; }

  /* ── footer ── */
  .footer-content { flex-direction: column; }
  .footer-logo { width: 100%; }
  .footer-logo p { width: 100%; }
  .footer-right { width: 100%; padding-left: 0; margin-top: 32px; }

  /* ── about page (old) ── */
  .about-intro-wrap { flex-direction: column; gap: 32px; }
  .about-intro-media { width: 100%; }
  .about-intro-content h2 { font-size: 24px; }
  .factory-wrap { flex-direction: column; gap: 32px; }
  .factory-content { width: 100%; }
  .team-grid { flex-wrap: wrap; gap: 14px; }
  .team-card { width: calc(50% - 7px); flex: none; }
  .page-hero h1 { font-size: 36px; }
  .page-hero__sub { font-size: 15px; }
  .page-breadcrumb { font-size: 14px; }

  /* ── about page (redesign) — tablet ── */
  .page-hero { height: 360px !important; }
  .page-hero__sub { font-size: 13px; }
  .ab-intro-wrap { flex-direction: column; gap: 40px; }
  .ab-intro-media { width: 100%; }
  .ab-intro-content h2 { font-size: 26px; }
  .ab-intro-tag { font-size: 12px; }
  .ab-intro-content > p { font-size: 14px; line-height: 1.8; }
  .ab-intro-cats { gap: 0; }
  .ab-intro-cat strong { font-size: 13px; }
  .ab-intro-cat span { font-size: 12px; }
  .ab-cta-btn { font-size: 13px; padding: 12px 24px; }

  .ab-stats-inner { flex-wrap: wrap; gap: 24px; justify-content: center; }
  .ab-stat-divider { display: none; }
  .ab-stat__num { font-size: 40px; }
  .ab-stat__num sup { font-size: 18px; }
  .ab-stat__label { font-size: 12px; }

  .ab-mvv-grid { grid-template-columns: 1fr; gap: 14px; }
  .ab-mvv-card__icon { width: 40px; height: 40px; font-size: 18px; }
  .ab-mvv-card h3 { font-size: 15px; }
  .ab-mvv-card p { font-size: 14px; line-height: 1.7; }
  .ab-values-list li { font-size: 14px; }

  .ab-why-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .ab-why-card__icon { font-size: 24px; }
  .ab-why-card h4 { font-size: 14px; }
  .ab-why-card p { font-size: 13px; line-height: 1.7; }

  .ab-team-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .ab-team-card__photo { height: 180px; }
  .ab-team-card__body h4 { font-size: 15px; }
  .ab-team-role { font-size: 12px; }
  .ab-team-card__body p { font-size: 13px; line-height: 1.6; }
  .ab-team-social a { width: 28px; height: 28px; font-size: 13px; }

  .ab-quality-split { flex-direction: column; min-height: unset; }
  .ab-quality-img { width: 100%; height: 52vw; }
  .ab-quality-body { padding: 40px 32px; gap: 20px; }
  .ab-quality-body h2 { font-size: 22px; }
  .ab-quality-body > p { font-size: 14px; }
  .ab-quality-item { padding: 14px 0; }
  .ab-quality-item strong { font-size: 14px; }
  .ab-quality-item span { font-size: 13px; }

  .ab-cta-banner__inner { flex-direction: column; gap: 24px; text-align: center; }
  .ab-cta-banner__text h2 { font-size: 24px; }
  .ab-cta-banner__text p { font-size: 12px; }
  .ab-cta-banner__actions { justify-content: center; }
  .ab-cta-banner__btn { height: 48px; font-size: 13px; }
}

/* ════════════════════════════════════════════
   MOBILE  ≤ 768px
════════════════════════════════════════════ */
@media screen and (max-width: 768px) {
  /* ── containers ── */
  :root {
    --content-width: 92vw;
    --bs-screen-xxl: 92vw;
  }

  /* ── banner ── */
  .mySwiper { aspect-ratio: unset; height: 260px; }
  .swiper-content { margin-top: 32px; margin-left: 5%; width: 90%; }
  .swiper-content__title { font-size: 20px; line-height: 1.3; }
  .swiper-content__p { width: 100%; }
  .swiper-content__p p { font-size: 13px; line-height: 1.6; }
  .swiper-content__button { margin-top: 14px; width: 120px; height: 40px; }
  .swiper-content__button a { font-size: 12px; }

  /* ── background decoration ── */
  .background { height: 420px; }
  .background-left {
    width: 220px; height: 220px;
    background: #12371D;
    clip-path: polygon(0 0, 100% 0, 0 100%);
  }

  /* ── header height & menu top ── */
  .header { height: 56px; }
  .header-menus { top: 56px; }
  .mySwiper { margin-top: 56px; }

  /* ── section titles ── */
  .content-titel { padding: 48px 0 0; }
  .content-titel__one__all span { font-size: 12px; }
  .content-titel__one__all div { font-size: 20px; line-height: 1.4; }

  /* ── company intro cards ── */
  .content-one__list { flex-direction: column; }
  .content-one__list__item { width: 100%; }
  .content-one__list__item p { font-size: 15px; }
  .content-one__list__item span { font-size: 13px; }
  .content-one__list__item a { font-size: 13px; }

  /* ── stats (content-four) ── */
  .content-four__left { flex-direction: column; align-items: center; gap: 20px; }
  .four-left__item__number .num-title { font-size: 52px; }
  .content-four__title { font-size: 22px; }
  .content-four__body { font-size: 14px; line-height: 1.8; }

  /* ── products ── */
  .product-list { flex-direction: column; }
  .product-list__item { width: 100%; }
  .product-list__body h3 { font-size: 16px; }
  .product-list__body p { font-size: 13px; }

  /* ── certifications ── */
  .cert-list { flex-direction: column; }
  .cert-list__item { width: 100%; }

  /* ── process ── */
  .process-grid { grid-template-columns: 1fr; }
  .pstep { border-right: none !important; padding-left: 0 !important; }
  .pstep--row2 { border-bottom: none; }
  .pstep:nth-child(n+6) { border-bottom: none; }
  .pstep h4 { font-size: 14px; }
  .pstep p  { font-size: 13px; }

  /* ── cases grid ── */
  .cases-grid { flex-direction: column; }
  .case-item { width: 100%; }

  /* ── news ── */
  .content-five { margin: 36px auto; }
  .content-five__test div { font-size: 16px; }
  .content-five__test span { font-size: 13px; }

  /* ── contact form ── */
  .six-body__left__title div { font-size: 24px; }
  .six-body__left__title p  { font-size: 14px; }
  .six-body__left__phone p  { font-size: 16px; }

  /* ── footer ── */
  .footer-right { flex-direction: column; gap: 24px; }
  .footer-content_item h3 { font-size: 14px; }
  .footer-content_item > ul > li > a { font-size: 13px; }
  .copyright { font-size: 12px; }

  /* ── about (old) ── */
  .about-pillars { flex-wrap: wrap; }
  .pillar-card { width: calc(50% - 8px); flex: none; }
  .about-intro-content h2 { font-size: 20px; }
  .about-intro-content p  { font-size: 14px; line-height: 1.8; }
  .team-card { width: 100%; }
  .team-card__body h4 { font-size: 15px; }
  .page-hero { height: 140px; }
  .page-hero h1 { font-size: 22px; }
  .factory-content h2 { font-size: 20px; }
  .factory-content p  { font-size: 14px; }
  .factory-gallery { grid-template-columns: 1fr; }
  .factory-gallery img:first-child { grid-column: span 1; aspect-ratio: 16/9; }

  /* ── about (redesign) — mobile ── */
  .page-hero { height: 280px !important; }
  .page-hero h1 { font-size: 26px; }
  .page-hero__sub { font-size: 13px; }
  .page-breadcrumb { font-size: 13px; }
  .ab-intro-media { margin-bottom: 30px; }
  .ab-intro-content h2 { font-size: 20px; }
  .ab-intro-content > p { font-size: 14px; }
  .ab-intro-cats { grid-template-columns: repeat(3, 1fr); }
  .ab-intro-cat { padding: 0 10px; }
  .ab-intro-cat:first-child { padding-left: 0; }
  .ab-intro-cat strong { font-size: 12px; }
  .ab-intro-cat span { font-size: 11px; }

  .ab-stats-bar { padding: 28px 0; }
  .ab-stat__num { font-size: 32px; }
  .ab-stat__label { font-size: 11px; }

  .ab-mvv-grid { grid-template-columns: 1fr; }
  .ab-why-grid { grid-template-columns: 1fr; }
  .ab-team-grid { grid-template-columns: 1fr; }
  .ab-team-card__photo { height: 220px; }

  .ab-quality-img { height: 72vw; }
  .ab-quality-body { padding: 32px 20px; }

  .ab-cta-banner { padding: 36px 0; }
  .ab-cta-banner__text h2 { font-size: 20px; }
  .ab-cta-banner__actions { flex-direction: column; gap: 12px; width: 100%; }
  .ab-cta-banner__btn { width: 100%; }
}

/* ============================================
   CERTIFICATIONS PAGE
============================================ */
.ct-intro-section {
  background: #fff;
  padding: 4.17vw 0 3.33vw;
}

.ct-intro-wrap {
  width: var(--bs-screen-xxl);
  margin: 0 auto;
  max-width: 54vw;
  text-align: center;
}

.ct-intro-eyebrow {
  font-size: 0.67vw;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #B6843A;
  text-transform: uppercase;
  margin-bottom: 0.75vw;
}

.ct-intro-wrap h2,
.ct-process-content h2 {
  font-family: Arial;
  font-weight: 800;
  font-size: 1.83vw;
  color: #12371D;
  text-transform: uppercase;
  margin-bottom: 1vw;
  line-height: 1.3;
}

.ct-intro-wrap > p {
  font-size: 0.83vw;
  color: #3D5A41;
  line-height: 1.8vw;
}

/* NMPA cert cards */
.ct-certs-section {
  background: #F7F4EF;
  padding-bottom: 4.17vw;
}

.ct-cert-grid {
  width: var(--bs-screen-xxl);
  margin: 1.67vw auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25vw;
}

.ct-cert-card {
  background: #fff;
  border-radius: 0.5vw;
  overflow: hidden;
  border: 1px solid #E5E5E5;
  transition: all 0.3s;
}

.ct-cert-card:hover {
  border-color: #B6843A;
  box-shadow: 0 6px 24px rgba(18,55,29,.1);
  transform: translateY(-4px);
}

.ct-cert-card__img {
  height: 32vw;
  overflow: hidden;
}

.ct-cert-card__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 30%;
  transition: transform 0.4s;
}

.ct-cert-card:hover .ct-cert-card__img img { transform: scale(1.03); }

.ct-cert-card__body {
  padding: 1.25vw 1.25vw 1.5vw;
}

.ct-cert-card__tag {
  display: inline-block;
  font-size: 0.58vw;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #B6843A;
  background: rgba(182,132,58,.1);
  border-radius: 2px;
  padding: 3px 8px;
  margin-bottom: 0.5vw;
}

.ct-cert-card__body h3 {
  font-family: Arial;
  font-weight: 700;
  font-size: 0.83vw;
  color: #12371D;
  margin-bottom: 0.42vw;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ct-cert-card__body p {
  font-size: 0.71vw;
  color: #3D5A41;
  line-height: 1.42vw;
}

/* Regulatory standards grid */
.ct-standards-section {
  background: #fff;
  padding-bottom: 4.17vw;
}

.ct-standards-grid {
  width: var(--bs-screen-xxl);
  margin: 1.67vw auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25vw;
}

.ct-standard-card {
  background: #F7F4EF;
  border-radius: 0.5vw;
  padding: 1.67vw 1.25vw;
  border: 1px solid transparent;
  transition: all 0.3s;
}

.ct-standard-card:hover {
  border-color: #B6843A;
  background: #fff;
  box-shadow: 0 4px 20px rgba(18,55,29,.08);
  transform: translateY(-3px);
}

.ct-standard-card__icon {
  font-size: 1.5vw;
  color: #B6843A;
  margin-bottom: 0.83vw;
}

.ct-standard-card h3 {
  font-family: Arial;
  font-weight: 700;
  font-size: 0.79vw;
  color: #12371D;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.5vw;
}

.ct-standard-card p {
  font-size: 0.71vw;
  color: #3D5A41;
  line-height: 1.42vw;
}

/* Compliance process section */
.ct-process-section {
  background: #F7F4EF;
  padding-bottom: 4.17vw;
}

.ct-process-wrap {
  width: var(--bs-screen-xxl);
  margin: 0 auto;
  padding-top: 1.67vw;
  display: flex;
  gap: 4.17vw;
  align-items: flex-start;
}

.ct-process-content { flex: 1; }

.ct-process-content > p {
  font-size: 0.83vw;
  color: #3D5A41;
  line-height: 1.8vw;
  margin-bottom: 1.67vw;
}

.ct-process-steps {
  display: flex;
  flex-direction: column;
  gap: 1.25vw;
}

.ct-process-step {
  display: flex;
  gap: 1vw;
  align-items: flex-start;
}

.ct-process-step__num {
  flex-shrink: 0;
  width: 2vw;
  height: 2vw;
  background: #12371D;
  color: #B6843A;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Arial;
  font-weight: 800;
  font-size: 0.63vw;
}

.ct-process-step strong {
  display: block;
  font-size: 0.75vw;
  font-weight: 700;
  color: #12371D;
  margin-bottom: 3px;
}

.ct-process-step span {
  font-size: 0.67vw;
  color: #7A8C7D;
  line-height: 1.25vw;
}

.ct-process-media {
  width: 23.33vw;
  flex-shrink: 0;
}

.ct-process-media img {
  width: 100%;
  border-radius: 0.5vw;
  object-fit: cover;
  display: block;
  box-shadow: 0 8px 30px rgba(18,55,29,.12);
}

/* ============================================
   CONTACT PAGE
============================================ */
.cn-info-section {
  background: #12371D;
  padding: 3.33vw 0;
}

.cn-info-grid {
  width: var(--bs-screen-xxl);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25vw;
}

.cn-info-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 0.5vw;
  padding: 1.67vw 1.5vw;
  transition: background 0.3s;
}

.cn-info-card:hover { background: rgba(255,255,255,.1); }

.cn-info-card--accent {
  background: rgba(182,132,58,.12);
  border-color: rgba(182,132,58,.35);
}

.cn-info-card__icon {
  font-size: 1.5vw;
  color: #B6843A;
  margin-bottom: 0.75vw;
}

.cn-info-card h3 {
  font-family: Arial;
  font-weight: 700;
  font-size: 0.79vw;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.5vw;
}

.cn-info-card p {
  font-size: 0.79vw;
  color: rgba(255,255,255,.85);
  line-height: 1.5vw;
  margin-bottom: 3px;
}

.cn-info-card p a { color: #B6843A; }
.cn-info-card p a:hover { color: #D4A055; }

.cn-info-card__sub {
  font-size: 0.67vw !important;
  color: rgba(255,255,255,.5) !important;
}

/* clean info bar */
.cn-info-bar {
  background: #fff;
  border-bottom: 1px solid #E8E5DF;
}

.cn-info-bar__inner {
  width: var(--bs-screen-xxl);
  margin: 0 auto;
  padding: 2.5vw 0;
  display: flex;
  align-items: center;
  gap: 0;
}

.cn-info-bar__item {
  flex: 1;
  display: flex;
  align-items: flex-start;
  gap: 0.83vw;
  padding: 0 2vw;
}

.cn-info-bar__item:first-child { padding-left: 0; }
.cn-info-bar__item:last-child  { padding-right: 0; }

.cn-info-bar__item > i {
  font-size: 1.17vw;
  color: #B6843A;
  margin-top: 2px;
  flex-shrink: 0;
}

.cn-info-bar__item div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.cn-info-bar__item strong {
  font-size: 0.67vw;
  font-weight: 700;
  color: #12371D;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.cn-info-bar__item span {
  font-size: 0.71vw;
  color: #3D5A41;
  line-height: 1.5;
}

.cn-info-bar__item a {
  font-size: 0.71vw;
  color: #B6843A;
  transition: color 0.2s;
}

.cn-info-bar__item a:hover { color: #9B6D2E; }

.cn-info-bar__divider {
  width: 1px;
  height: 3vw;
  background: #E0DDD7;
  flex-shrink: 0;
}

/* Contact form section */
.cn-form-section {
  background: #fff;
  padding-bottom: 5vw;
}

.cn-form-wrap {
  width: var(--bs-screen-xxl);
  margin: 0 auto;
  padding-top: 4.17vw;
  display: flex;
  gap: 4.17vw;
  align-items: flex-start;
}

.cn-form-left { flex: 1; }

.cn-form-left h2 {
  font-family: Arial;
  font-weight: 800;
  font-size: 1.67vw;
  color: #12371D;
  text-transform: uppercase;
  margin-bottom: 0.67vw;
  line-height: 1.3;
}

.cn-form-left > p {
  font-size: 0.83vw;
  color: #3D5A41;
  line-height: 1.8vw;
  margin-bottom: 1.67vw;
}

.cn-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1vw;
  margin-bottom: 1vw;
}

.cn-form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 1vw;
}

.cn-form-field:last-child { margin-bottom: 0; }

.cn-form-field label {
  font-size: 0.71vw;
  font-weight: 600;
  color: #12371D;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.cn-form-field label span { color: #B6843A; }

.cn-form-field input,
.cn-form-field select,
.cn-form-field textarea {
  width: 100%;
  padding: 0.67vw 0.83vw;
  border: 1px solid #D8D5CF;
  border-radius: 4px;
  font-size: 0.75vw;
  color: #12371D;
  background: #fff;
  transition: border-color 0.2s;
  font-family: Arial;
  outline: none;
}

.cn-form-field input::placeholder,
.cn-form-field textarea::placeholder { color: #aaa; }

.cn-form-field input:focus,
.cn-form-field select:focus,
.cn-form-field textarea:focus { border-color: #B6843A; }

.cn-form-field textarea { resize: vertical; min-height: 7vw; }

.cn-submit-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5vw;
  margin-top: 1.25vw;
  padding: 0.83vw 2vw;
  background: #12371D;
  color: #fff;
  font-family: Arial;
  font-weight: 700;
  font-size: 0.75vw;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.3s, transform 0.2s;
}

.cn-submit-btn:hover { background: #B6843A; transform: translateY(-2px); }

/* Right column */
.cn-form-right {
  width: 23.33vw;
  flex-shrink: 0;
}

.cn-form-right__img {
  width: 100%;
  border-radius: 0.5vw;
  overflow: hidden;
  margin-bottom: 1.67vw;
}

.cn-form-right__img img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}

.cn-quick-info {
  background: #F7F4EF;
  border-radius: 0.5vw;
  padding: 1.25vw;
  margin-bottom: 1.25vw;
}

.cn-quick-info h3,
.cn-locations h3 {
  font-family: Arial;
  font-weight: 700;
  font-size: 0.71vw;
  color: #12371D;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 0.83vw;
}

.cn-quick-info__item {
  display: flex;
  gap: 0.67vw;
  align-items: flex-start;
  margin-bottom: 0.67vw;
}

.cn-quick-info__item:last-child { margin-bottom: 0; }

.cn-quick-info__item > i {
  font-size: 0.83vw;
  color: #B6843A;
  margin-top: 2px;
  flex-shrink: 0;
}

.cn-quick-info__item strong {
  display: block;
  font-size: 0.67vw;
  color: #12371D;
  font-weight: 700;
  margin-bottom: 2px;
}

.cn-quick-info__item span {
  font-size: 0.63vw;
  color: #7A8C7D;
}

.cn-locations {
  background: #F7F4EF;
  border-radius: 0.5vw;
  padding: 1.25vw;
}

.cn-locations ul {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5vw;
}

.cn-locations ul li {
  font-size: 0.67vw;
  color: #3D5A41;
  display: flex;
  align-items: center;
  gap: 0.42vw;
}

.cn-locations ul li i { color: #B6843A; font-size: 0.71vw; }

/* ════════════════════════════════════════════
   1440 FIX — PART 2  (NEW PAGES)
   Must come AFTER ct-* / cn-* / pt-* / pd-*
   base CSS so these overrides actually win.
════════════════════════════════════════════ */
@media screen and (min-width: 1025px) and (max-width: 1600px) {

  /* ── Certifications page ── */
  .ct-intro-eyebrow                               { font-size: 12px; }
  .ct-intro-wrap > p                              { font-size: 14px; line-height: 1.8; }
  .ct-cert-card__tag                              { font-size: 11px; }
  .ct-cert-card__body h3                          { font-size: 14px; }
  .ct-cert-card__body p                           { font-size: 13px; line-height: 1.65; }
  .ct-standard-card h3                            { font-size: 14px; }
  .ct-standard-card p                             { font-size: 13px; line-height: 1.65; }
  .ct-process-content > p                         { font-size: 14px; line-height: 1.8; }
  .ct-process-step__num                           { font-size: 12px; }
  .ct-process-step strong                         { font-size: 13px; }
  .ct-process-step span                           { font-size: 13px; line-height: 1.65; }

  /* ── Contact page ── */
  .cn-info-bar__item strong                       { font-size: 13px; }
  .cn-info-bar__item span                         { font-size: 13px; }
  .cn-info-bar__item a                            { font-size: 13px; }
  .cn-info-card h3                                { font-size: 13px; }
  .cn-info-card p                                 { font-size: 13px; line-height: 1.65; }
  .cn-info-card__sub                              { font-size: 12px; }
  .cn-form-left > p                               { font-size: 14px; line-height: 1.8; }
  .cn-form-field label                            { font-size: 13px; }
  .cn-form-field input,
  .cn-form-field select                           { font-size: 13px; }
  .cn-form-field textarea                         { font-size: 13px; }
  .cn-submit-btn                                  { font-size: 14px; }
  .cn-quick-info__item > i                        { font-size: 14px; }
  .cn-quick-info__item strong                     { font-size: 13px; }
  .cn-quick-info__item span                       { font-size: 13px; line-height: 1.65; }
  .cn-locations h3                                { font-size: 13px; }
  .cn-locations ul li                             { font-size: 13px; }
  .cn-locations ul li i                           { font-size: 12px; }

  /* ── Products page ── */
  .pt-sidebar__title                              { font-size: 13px; }
  .pt-cat-count                                   { font-size: 12px; }
  .pt-sidebar__contact p                          { font-size: 13px; }
  .pt-sidebar__contact a                          { font-size: 13px; }
  .pt-card__body p                                { font-size: 13px; line-height: 1.65; }
  .pt-card__link                                  { font-size: 13px; }

  /* ── Product Detail page ── */
  .pd-breadcrumb-inner                            { font-size: 13px; }
  .pd-btn                                         { font-size: 14px; }
  .pd-related__head a                             { font-size: 13px; }
}

/* ── Certifications + Contact responsive ── */
@media screen and (max-width: 1024px) {
  .ct-intro-wrap { max-width: 90vw; }
  .ct-intro-eyebrow { font-size: 12px; }
  .ct-intro-wrap h2, .ct-process-content h2 { font-size: 26px; }
  .ct-intro-wrap > p, .ct-process-content > p { font-size: 14px; line-height: 1.8; }

  .ct-cert-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .ct-cert-card__img { height: 28vw; }
  .ct-cert-card__body h3 { font-size: 14px; }
  .ct-cert-card__body p { font-size: 13px; line-height: 1.7; }

  .ct-standards-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .ct-standard-card__icon { font-size: 24px; }
  .ct-standard-card h3 { font-size: 14px; }
  .ct-standard-card p { font-size: 13px; line-height: 1.7; }

  .ct-process-wrap { flex-direction: column; gap: 32px; }
  .ct-process-media { width: 100%; }
  .ct-process-step__num { width: 32px; height: 32px; font-size: 12px; }
  .ct-process-step strong { font-size: 14px; }
  .ct-process-step span { font-size: 13px; line-height: 1.7; }

  .cn-info-bar__inner { flex-wrap: wrap; gap: 20px; padding: 24px 0; }
  .cn-info-bar__item { padding: 0; min-width: calc(50% - 10px); }
  .cn-info-bar__divider { display: none; }
  .cn-info-bar__item > i { font-size: 18px; }
  .cn-info-bar__item strong { font-size: 12px; }
  .cn-info-bar__item span, .cn-info-bar__item a { font-size: 13px; }
  .cn-form-wrap { flex-direction: column; gap: 40px; }
  .cn-form-right { width: 100%; }
  .cn-form-left h2 { font-size: 22px; }
  .cn-form-left > p { font-size: 14px; line-height: 1.8; }
  .cn-form-field label { font-size: 13px; }
  .cn-form-field input,
  .cn-form-field select,
  .cn-form-field textarea { font-size: 14px; padding: 10px 14px; }
  .cn-submit-btn { font-size: 13px; padding: 13px 28px; }
  .cn-quick-info__item strong { font-size: 13px; }
  .cn-quick-info__item span, .cn-locations ul li { font-size: 12px; }
}

@media screen and (max-width: 768px) {
  .ct-cert-grid { grid-template-columns: 1fr; }
  .ct-cert-card__img { height: 72vw; }
  .ct-standards-grid { grid-template-columns: 1fr; }
  .cn-info-bar__item { min-width: 100%; }
  .cn-form-row { grid-template-columns: 1fr; }
  .cn-form-field textarea { min-height: 120px; }
}

/* =====================================================
   PRODUCTS LIST PAGE — products.html
   ===================================================== */

/* Outer left-right layout */
.pt-layout {
  display: flex;
  align-items: flex-start;
  width: var(--bs-screen-xxl);
  margin: 0 auto;
  padding: 3vw 0 5vw;
  gap: 0;
  background: #F7F4EF;
}

/* ── Sidebar ── */
.pt-sidebar {
  width: 300px;
  flex-shrink: 0;
  position: sticky;
  top: 90px;
  display: flex;
  flex-direction: column;
  gap: 0;
  background: #fff;
  border-right: 1px solid #e8e0d6;
  align-self: flex-start;
}
.pt-sidebar__title {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #aaa;
  text-transform: uppercase;
  margin: 0;
  padding: 1.6rem 1.6rem 0.9rem;
  border-bottom: 1px solid #e8e0d6;
}
.pt-cat-list {
  list-style: none;
  margin: 0;
  padding: 0.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.pt-cat-btn {
  width: 100%;
  background: none;
  border: none;
  border-left: 3px solid transparent;
  display: flex;
  align-items: center;
  padding: 0.85rem 1.6rem;
  font-size: 0.92rem;
  color: #555;
  cursor: pointer;
  text-align: left;
  text-decoration: none;
  transition: background .18s, color .18s, border-color .18s;
  font-weight: 500;
  line-height: 1.4;
  gap: 0;
}
.pt-cat-count {
  margin-left: auto;
  font-size: 0.78rem;
  font-weight: 600;
  color: #bbb;
  transition: color .18s;
}
.pt-cat-btn:hover {
  background: #f7f4ef;
  color: #12371D;
  border-left-color: #e8e0d6;
}
.pt-cat-btn.active {
  background: #f7f4ef;
  color: #12371D;
  font-weight: 700;
  border-left-color: #B6843A;
}
.pt-cat-btn.active .pt-cat-count { color: #B6843A; }

/* Sidebar bottom contact line */
.pt-sidebar__contact {
  border-top: 1px solid #e8e0d6;
  padding: 1.2rem 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.pt-sidebar__contact p {
  font-size: 0.8rem;
  color: #999;
  margin: 0;
}
.pt-sidebar__contact a {
  font-size: 0.85rem;
  font-weight: 700;
  color: #12371D;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  transition: gap .2s, color .2s;
}
.pt-sidebar__contact a:hover { color: #B6843A; gap: 0.5rem; }

/* ── Main content ── */
.pt-main {
  flex: 1;
  min-width: 0;
  padding: 0 3rem 3rem;
}

/* Product Grid */
.pt-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

/* Product Card */
.pt-card {
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  transition: transform .25s, box-shadow .25s;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.pt-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(18,55,29,.11);
}
.pt-card__img {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  width: 100%;
}
.pt-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}
.pt-card:hover .pt-card__img img { transform: scale(1.05); }
.pt-card__body {
  padding: 1.1rem 1.1rem 1rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.pt-card__body h3 {
  font-size: 0.95rem;
  font-weight: 700;
  color: #12371D;
  line-height: 1.35;
  margin: 0;
}
.pt-card__body p {
  font-size: 0.82rem;
  color: #666;
  line-height: 1.65;
  flex: 1;
  margin: 0;
}
.pt-card__link {
  margin-top: 0.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.6rem 1.1rem;
  background: #12371D;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-radius: 3px;
  transition: background .2s, gap .2s;
  align-self: flex-start;
}
.pt-card:hover .pt-card__link { background: #0d2915; gap: 0.6rem; }

/* View Details link — related products & card footer */
.pt-card__enquire {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8rem;
  font-weight: 700;
  color: #12371D;
  letter-spacing: 0.04em;
  border-bottom: 1.5px solid #12371D;
  padding-bottom: 1px;
  transition: color .2s, gap .2s, border-color .2s;
}
.pt-card:hover .pt-card__enquire {
  color: #B6843A;
  border-color: #B6843A;
  gap: 0.55rem;
}

/* Smaller card variant for related products section */
.pt-card--sm .pt-card__img { aspect-ratio: 4 / 3; height: auto; }

/* Responsive — products page */
@media screen and (max-width: 1200px) {
  .pt-grid { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (max-width: 1024px) {
  .pt-layout { flex-direction: column; }
  .pt-sidebar {
    width: 100%;
    position: static;
    flex-direction: row;
    border-right: none;
    border-bottom: 1px solid #e8e0d6;
    align-self: auto;
  }
  .pt-sidebar__title { display: none; }
  .pt-cat-list { flex-direction: row; flex-wrap: wrap; padding: 0.75rem 1rem; gap: 0.5rem; }
  .pt-cat-btn {
    width: auto;
    border-left: none;
    border-bottom: 2px solid transparent;
    padding: 0.55rem 1rem;
    font-size: 0.84rem;
    border-radius: 0;
  }
  .pt-cat-btn.active { border-left-color: transparent; border-bottom-color: #B6843A; }
  .pt-cat-btn:hover { border-left-color: transparent; }
  .pt-sidebar__contact { display: none; }
  .pt-main { padding: 1.5rem; }
}
@media screen and (max-width: 768px) {
  .pt-grid { grid-template-columns: 1fr; }
}

/* =====================================================
   PRODUCT DETAIL PAGE — product-detail.html
   ===================================================== */

/* Breadcrumb bar */
.pd-breadcrumb-bar {
  background: #F7F4EF;
  border-bottom: 1px solid #e8e0d6;
  padding: 0.75rem 4vw;
}
.pd-breadcrumb-inner {
  max-width: var(--bs-screen-xxl);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
  font-size: 0.82rem;
  color: #888;
}
.pd-breadcrumb-inner a {
  color: #555;
  text-decoration: none;
  transition: color .2s;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.pd-breadcrumb-inner a:hover { color: #12371D; }
.pd-breadcrumb-inner span { color: #B6843A; font-weight: 600; }
.pd-breadcrumb-inner i { color: #bbb; font-size: 1rem; }

/* ── Product Hero ── */
.pd-hero {
  padding: 4vw 4vw 3vw;
}
.pd-hero__inner {
  max-width: var(--bs-screen-xxl);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4vw;
  align-items: start;
}

/* Image Gallery */
.pd-gallery__main {
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 6px;
  overflow: hidden;
  background: #f5f2ed;
}
.pd-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}
.pd-gallery__main:hover img { transform: scale(1.03); }
.pd-gallery__thumbs {
  display: flex;
  gap: 0.6rem;
  margin-top: 0.75rem;
}
.pd-thumb {
  width: calc(25% - 0.45rem);
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 4px;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color .2s, opacity .2s;
  opacity: 0.7;
}
.pd-thumb:hover,
.pd-thumb.active {
  border-color: #B6843A;
  opacity: 1;
}

/* Product Info */
.pd-info { display: flex; flex-direction: column; gap: 1.25rem; }
.pd-info__title {
  font-size: clamp(1.4rem, 2.2vw, 2rem);
  font-weight: 800;
  color: #12371D;
  line-height: 1.25;
  margin: 0;
}
.pd-info__desc {
  font-size: 0.93rem;
  line-height: 1.75;
  color: #555;
  margin: 0;
}
.pd-info__highlights {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.pd-info__highlights li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.88rem;
  color: #333;
}
.pd-info__highlights li i { color: #12371D; font-size: 1.05rem; margin-top: 0.05rem; }
.pd-info__actions {
  display: flex;
  gap: 0.85rem;
  flex-wrap: wrap;
}
.pd-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.7rem 1.4rem;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  border-radius: 3px;
  text-decoration: none;
  transition: background .2s, color .2s, box-shadow .2s;
}
.pd-btn--primary {
  background: #12371D;
  color: #fff;
}
.pd-btn--primary:hover { background: #0d2915; box-shadow: 0 4px 14px rgba(18,55,29,.25); }
.pd-btn--outline {
  background: transparent;
  color: #12371D;
  border: 2px solid #12371D;
}
.pd-btn--outline:hover { background: #12371D; color: #fff; }
/* ── Tabs Section ── */
.pd-tabs-section {
  background: #F7F4EF;
  padding: 3vw 4vw 4vw;
}
.pd-tabs-section__inner { max-width: var(--bs-screen-xxl); margin: 0 auto; }
.pd-tabs {
  display: flex;
  border-bottom: 2px solid #e0d8cc;
  margin-bottom: 2.5rem;
  gap: 0;
}
.pd-tab {
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  padding: 0.85rem 1.5rem;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #777;
  cursor: pointer;
  transition: color .2s, border-color .2s;
}
.pd-tab:hover { color: #12371D; }
.pd-tab.active { color: #12371D; border-bottom-color: #B6843A; }

.pd-tab-panel { display: none; }
.pd-tab-panel.active { display: block; }
.pd-tab-panel h2 { font-size: 1.4rem; color: #12371D; margin: 0 0 1.25rem; }
.pd-tab-panel h3 { font-size: 1.05rem; color: #12371D; margin: 1.5rem 0 0.65rem; }
.pd-tab-panel p { font-size: 0.9rem; line-height: 1.8; color: #555; margin: 0 0 0.75rem; }

/* Overview layout */
.pd-overview {
  display: grid;
  grid-template-columns: 1fr 38%;
  gap: 4vw;
  align-items: start;
}
.pd-overview__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.pd-overview__list li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.88rem;
  color: #444;
}
.pd-overview__list li i { color: #B6843A; }
.pd-overview__img {
  border-radius: 6px;
  overflow: hidden;
  aspect-ratio: 4/3;
}
.pd-overview__img img { width: 100%; height: 100%; object-fit: cover; }

/* Spec table */
.pd-spec-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}
.pd-spec-table tr { border-bottom: 1px solid #e8e0d6; }
.pd-spec-table tr:last-child { border-bottom: none; }
.pd-spec-table th {
  width: 30%;
  text-align: left;
  padding: 0.75rem 1rem 0.75rem 0;
  color: #888;
  font-weight: 600;
  white-space: nowrap;
  vertical-align: top;
}
.pd-spec-table td {
  padding: 0.75rem 0;
  color: #333;
  line-height: 1.5;
}

/* Documents grid */
.pd-docs-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* ── Related Products ── */
.pd-related { background: #fff; padding: 3vw 4vw 4vw; }
.pd-related__inner { max-width: var(--bs-screen-xxl); margin: 0 auto; }
.pd-related__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 1.75rem;
}
.pd-related__head h2 { font-size: 1.4rem; color: #12371D; margin: 0; }
.pd-related__head a {
  font-size: 0.82rem;
  font-weight: 700;
  color: #B6843A;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  letter-spacing: 0.03em;
  transition: gap .2s;
}
.pd-related__head a:hover { gap: 0.5rem; }
.pd-related__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

/* Responsive — detail page */
@media screen and (max-width: 1024px) {
  .pd-hero__inner { grid-template-columns: 1fr; gap: 2rem; }
  .pd-gallery__main { aspect-ratio: 16/9; }
  .pd-info__meta { grid-template-columns: 1fr; }
  .pd-overview { grid-template-columns: 1fr; }
  .pd-overview__img { max-width: 480px; }
  .pd-related__grid { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (max-width: 768px) {
  .pd-hero { padding: 6vw 4vw 4vw; }
  .pd-tabs { overflow-x: auto; }
  .pd-tab { padding: 0.75rem 1rem; font-size: 0.82rem; white-space: nowrap; }
  .pd-spec-table th { width: 40%; font-size: 0.82rem; }
  .pd-related__grid { grid-template-columns: 1fr; }
  .pd-info__actions { flex-direction: column; }
  .pd-btn { justify-content: center; }
}

/* ============================================================
   NEWS LIST PAGE  (.nw-*)
============================================================ */
.nw-layout {
  display: flex;
  align-items: flex-start;
  gap: 2.5vw;
  width: var(--bs-screen-xxl);
  margin: 0 auto;
  padding: 3.5vw 0;
}

/* ── Sidebar ── */
.nw-sidebar {
  width: 17vw;
  min-width: 220px;
  flex-shrink: 0;
  position: sticky;
  top: 90px;
}

.nw-sidebar__section {
  margin-bottom: 2.2vw;
  padding-bottom: 2.2vw;
  border-bottom: 1px solid #E8E4DC;
}

.nw-sidebar__section:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
}

.nw-sidebar__title {
  font-size: 0.68vw;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #B6843A;
  text-transform: uppercase;
  margin-bottom: 1vw;
}

.nw-cat-list {
  list-style: none;
  padding: 0; margin: 0;
}

.nw-cat-btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0.55vw 0;
  background: none;
  border: none;
  border-left: 3px solid transparent;
  padding-left: 0.6vw;
  font-size: 0.75vw;
  color: #4A5568;
  cursor: pointer;
  text-align: left;
  transition: color .2s, border-color .2s;
  font-family: Arial;
}

.nw-cat-btn:hover { color: #12371D; border-left-color: #B6843A; }
.nw-cat-btn.active { color: #12371D; font-weight: 700; border-left-color: #12371D; }

.nw-cat-count {
  font-size: 0.63vw;
  color: #9AA5B1;
  font-weight: 400;
}

/* Recent posts */
.nw-recent-list { list-style: none; padding: 0; margin: 0; }

.nw-recent-item {
  padding: 0.7vw 0;
  border-bottom: 1px solid #F0EDE7;
}
.nw-recent-item:last-child { border-bottom: none; }

.nw-recent-item a {
  display: flex;
  flex-direction: column;
  gap: 3px;
  text-decoration: none;
}

.nw-recent-date {
  font-size: 0.6vw;
  color: #B6843A;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.nw-recent-title {
  font-size: 0.71vw;
  color: #2D3748;
  line-height: 1.5;
  transition: color .2s;
}

.nw-recent-item a:hover .nw-recent-title { color: #12371D; }

/* Contact CTA */
.nw-sidebar__contact {
  background: #12371D;
  border-radius: 8px;
  padding: 1.3vw;
}

.nw-sidebar__contact p {
  font-size: 0.71vw;
  color: rgba(255,255,255,.75);
  margin-bottom: 0.7vw;
  line-height: 1.5;
}

.nw-sidebar__contact a {
  font-size: 0.71vw;
  font-weight: 700;
  color: #B6843A;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 5px;
  transition: gap .2s;
}

.nw-sidebar__contact a:hover { gap: 10px; }

/* ── Main grid ── */
.nw-main { flex: 1; min-width: 0; }

.nw-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.8vw;
}

/* ── News Card ── */
.nw-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  transition: box-shadow .25s, transform .25s;
}

.nw-card:hover {
  box-shadow: 0 8px 32px rgba(18,55,29,.12);
  transform: translateY(-4px);
}

.nw-card__img {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.nw-card__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.nw-card:hover .nw-card__img img { transform: scale(1.04); }

.nw-card__cat {
  position: absolute;
  top: 12px; left: 12px;
  background: #12371D;
  color: #fff;
  font-size: 0.6vw;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 3px;
}

.nw-card__body {
  padding: 1.3vw 1.5vw;
  display: flex;
  flex-direction: column;
  gap: 0.5vw;
  flex: 1;
}

.nw-card__meta {
  font-size: 0.63vw;
  color: #9AA5B1;
  display: flex;
  align-items: center;
  gap: 6px;
}

.nw-card__meta i { color: #B6843A; }

.nw-card__body h3 {
  font-family: Arial;
  font-size: 0.9vw;
  font-weight: 700;
  color: #12371D;
  line-height: 1.45;
  margin: 0;
}

.nw-card__body p {
  font-size: 0.75vw;
  color: #7A8C7D;
  line-height: 1.7;
  margin: 0;
  flex: 1;
}

.nw-card__link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 0.5vw;
  font-size: 0.71vw;
  font-weight: 700;
  color: #12371D;
  letter-spacing: 0.04em;
  transition: gap .2s, color .2s;
}

.nw-card:hover .nw-card__link { gap: 10px; color: #B6843A; }

/* ── Responsive ── */
@media screen and (max-width: 1024px) {
  .nw-layout { padding: 32px 24px; gap: 24px; flex-direction: column; }
  .nw-sidebar { width: 100%; position: static; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .nw-sidebar__section { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
  .nw-sidebar__contact { grid-column: span 2; }
  .nw-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .nw-cat-btn { font-size: 13px; padding: 7px 8px; }
  .nw-sidebar__title { font-size: 11px; }
  .nw-card__body h3 { font-size: 15px; }
  .nw-card__body p { font-size: 13px; }
  .nw-card__meta, .nw-card__link { font-size: 12px; }
  .nw-card__cat { font-size: 10px; }
}

@media screen and (max-width: 768px) {
  .nw-layout { padding: 24px 16px; }
  .nw-sidebar { grid-template-columns: 1fr; }
  .nw-sidebar__contact { grid-column: span 1; }
  .nw-grid { grid-template-columns: 1fr; }
  .nw-card__body { padding: 16px; }
  .nw-recent-date { font-size: 11px; }
  .nw-recent-title { font-size: 13px; }
}

/* ============================================================
   NEWS DETAIL PAGE  (.nd-*)
============================================================ */
.nd-wrap {
  display: flex;
  align-items: flex-start;
  gap: 2.5vw;
  width: var(--bs-screen-xxl);
  margin: 0 auto;
  padding: 3.5vw 0;
}

/* ── Article ── */
.nd-article {
  flex: 1;
  min-width: 0;
}

.nd-article__meta {
  display: flex;
  align-items: center;
  gap: 1.5vw;
  margin-bottom: 1.5vw;
  flex-wrap: wrap;
}

.nd-article__meta span {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75vw;
  color: #7A8C7D;
}

.nd-article__meta i { color: #B6843A; }

.nd-article__hero {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 2vw;
}

.nd-article__hero img {
  width: 100%; height: 100%;
  object-fit: cover;
}

.nd-article__body {
  font-size: 0.88vw;
  color: #3D4A40;
  line-height: 1.9;
}

.nd-article__lead {
  font-size: 1.0vw !important;
  color: #12371D;
  font-weight: 500;
  line-height: 1.75 !important;
  border-left: 4px solid #B6843A;
  padding-left: 1.2vw;
  margin-bottom: 1.8vw;
}

.nd-article__body h2 {
  font-family: Arial;
  font-size: 1.2vw;
  font-weight: 800;
  color: #12371D;
  margin: 2vw 0 0.8vw;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.nd-article__body p {
  margin-bottom: 1.2vw;
}

.nd-article__body ul {
  margin: 0.8vw 0 1.2vw 1.5vw;
}

.nd-article__body ul li {
  margin-bottom: 0.5vw;
  font-size: 0.88vw;
  color: #3D4A40;
  line-height: 1.75;
  list-style: disc;
}

.nd-article__body ul li::marker { color: #B6843A; }

.nd-article__body a {
  color: #12371D;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.nd-article__body a:hover { color: #B6843A; }

.nd-article__quote {
  background: #F7F5F0;
  border-left: 4px solid #12371D;
  margin: 2vw 0;
  padding: 1.3vw 1.8vw;
  border-radius: 0 8px 8px 0;
  font-size: 0.96vw;
  color: #12371D;
  font-style: italic;
  line-height: 1.7;
}

/* Article Tags */
.nd-article__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2.5vw;
  padding-top: 1.5vw;
  border-top: 1px solid #E8E4DC;
}

.nd-article__tags span {
  padding: 5px 14px;
  background: #F7F5F0;
  border: 1px solid #E8E4DC;
  border-radius: 4px;
  font-size: 0.67vw;
  color: #4A5568;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* Prev / Next nav */
.nd-article__nav {
  display: flex;
  gap: 1.2vw;
  margin-top: 2.5vw;
  padding-top: 1.8vw;
  border-top: 1px solid #E8E4DC;
}

.nd-nav-btn {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 1vw;
  padding: 1.2vw 1.4vw;
  border: 1px solid #E8E4DC;
  border-radius: 8px;
  text-decoration: none;
  transition: border-color .2s, background .2s;
  min-width: 0;
}

.nd-nav-btn:hover {
  border-color: #12371D;
  background: #F7F5F0;
}

.nd-nav-btn--next { justify-content: flex-end; text-align: right; }

.nd-nav-btn i {
  font-size: 1.3vw;
  color: #B6843A;
  flex-shrink: 0;
}

.nd-nav-btn div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.nd-nav-btn span {
  font-size: 0.63vw;
  color: #9AA5B1;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nd-nav-btn strong {
  font-size: 0.79vw;
  color: #12371D;
  font-weight: 600;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── Sidebar ── */
.nd-sidebar {
  width: 20vw;
  min-width: 260px;
  flex-shrink: 0;
  position: sticky;
  top: 90px;
}

.nd-sidebar__section {
  margin-bottom: 2vw;
  padding-bottom: 2vw;
  border-bottom: 1px solid #E8E4DC;
}

.nd-sidebar__section:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
}

.nd-sidebar__title {
  font-size: 0.68vw;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #B6843A;
  text-transform: uppercase;
  margin-bottom: 1vw;
}

/* Related list */
.nd-related-list { list-style: none; padding: 0; margin: 0; }

.nd-related-item {
  padding: 0.9vw 0;
  border-bottom: 1px solid #F0EDE7;
}
.nd-related-item:last-child { border-bottom: none; }

.nd-related-item a {
  display: flex;
  gap: 0.9vw;
  text-decoration: none;
}

.nd-related-img {
  width: 5.5vw;
  min-width: 70px;
  height: 3.8vw;
  min-height: 50px;
  border-radius: 5px;
  overflow: hidden;
  flex-shrink: 0;
}

.nd-related-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .3s;
}

.nd-related-item a:hover .nd-related-img img { transform: scale(1.06); }

.nd-related-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.nd-related-cat {
  font-size: 0.58vw;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #B6843A;
  text-transform: uppercase;
}

.nd-related-title {
  font-size: 0.71vw;
  color: #2D3748;
  line-height: 1.45;
  transition: color .2s;
}

.nd-related-item a:hover .nd-related-title { color: #12371D; }

.nd-related-date {
  font-size: 0.6vw;
  color: #9AA5B1;
}

/* Category list in sidebar */
.nd-cat-list {
  list-style: none;
  padding: 0; margin: 0;
}

.nd-cat-list li { border-bottom: 1px solid #F0EDE7; }
.nd-cat-list li:last-child { border-bottom: none; }

.nd-cat-list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.55vw 0;
  font-size: 0.75vw;
  color: #4A5568;
  text-decoration: none;
  transition: color .2s;
}

.nd-cat-list a:hover { color: #12371D; }

.nd-cat-list span {
  font-size: 0.63vw;
  color: #9AA5B1;
}

/* Sidebar CTA */
.nd-sidebar__cta {
  background: #12371D;
  border-radius: 8px;
  padding: 1.5vw;
}

.nd-sidebar__cta p {
  font-size: 0.79vw;
  color: rgba(255,255,255,.8);
  line-height: 1.6;
  margin-bottom: 1vw;
}

.nd-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.6vw 1.2vw;
  background: #B6843A;
  color: #fff;
  font-size: 0.71vw;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 4px;
  transition: background .2s, gap .2s;
}

.nd-cta-btn:hover { background: #9a6d2e; gap: 10px; }

/* ── Responsive ── */
@media screen and (max-width: 1024px) {
  .nd-wrap { padding: 32px 24px; gap: 32px; flex-direction: column; }
  .nd-sidebar { width: 100%; position: static; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .nd-sidebar__section { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
  .nd-sidebar__cta { grid-column: span 2; }
  .nd-article__meta span, .nd-article__body, .nd-article__body ul li { font-size: 14px; }
  .nd-article__lead { font-size: 16px !important; }
  .nd-article__body h2 { font-size: 18px; }
  .nd-article__quote { font-size: 15px; }
  .nd-nav-btn strong { font-size: 14px; }
  .nd-nav-btn span { font-size: 11px; }
  .nd-nav-btn i { font-size: 20px; }
  .nd-nav-btn { padding: 14px 16px; gap: 12px; }
  .nd-sidebar__title { font-size: 11px; }
  .nd-related-title { font-size: 13px; }
  .nd-related-cat, .nd-related-date { font-size: 11px; }
  .nd-cat-list a { font-size: 13px; padding: 8px 0; }
  .nd-sidebar__cta p { font-size: 13px; }
  .nd-cta-btn { font-size: 13px; padding: 10px 18px; }
}

@media screen and (max-width: 768px) {
  .nd-wrap { padding: 24px 16px; }
  .nd-sidebar { grid-template-columns: 1fr; }
  .nd-sidebar__cta { grid-column: span 1; }
  .nd-article__lead { font-size: 15px !important; padding-left: 14px; }
  .nd-article__body h2 { font-size: 16px; margin: 24px 0 10px; }
}

/* ════════════════════════════════════════════
   1440 FIX — FINAL (PRODUCTS + PRODUCT DETAIL)
   Must be LAST — these base styles appear after
   all earlier media query fix blocks.
════════════════════════════════════════════ */
@media screen and (min-width: 1025px) and (max-width: 1600px) {

  /* ── Products sidebar & cards ── */
  .pt-sidebar__title                              { font-size: 13px !important; }
  .pt-cat-btn                                     { font-size: 13px; }
  .pt-cat-count                                   { font-size: 12px; }
  .pt-sidebar__contact p                          { font-size: 13px; }
  .pt-sidebar__contact a                          { font-size: 13px; }
  .pt-card__body h3                               { font-size: 15px; }
  .pt-card__body p                                { font-size: 13px; line-height: 1.65; }
  .pt-card__link                                  { font-size: 13px; }
  .pt-card--sm .pt-card__body h3                  { font-size: 14px; }
  .pt-cat-list                                    { font-size: 13px; }

  /* ── Product Detail ── */
  .pd-breadcrumb-inner                            { font-size: 13px; }
  .pd-breadcrumb-inner a,
  .pd-breadcrumb-inner span                       { font-size: 13px; }
  .pd-info__name                                  { font-size: 22px; }
  .pd-info__desc                                  { font-size: 13px; line-height: 1.75; }
  .pd-tab-btn                                     { font-size: 13px; }
  .pd-spec-table td,
  .pd-spec-table th                               { font-size: 13px; }
  .pd-tab-panel p,
  .pd-tab-panel li                                { font-size: 13px; line-height: 1.75; }
  .pd-btn                                         { font-size: 14px; }
  .pd-related__head h2                            { font-size: 20px; }
  .pd-related__head a                             { font-size: 13px; }
  .pt-card--sm .pt-card__body p                   { font-size: 13px; }

  /* ── News list (.nw-*) ── */
  .nw-sidebar__title                              { font-size: 11px; }
  .nw-cat-btn                                     { font-size: 13px; }
  .nw-cat-count                                   { font-size: 11px; }
  .nw-recent-date                                 { font-size: 11px; }
  .nw-recent-title                                { font-size: 13px; line-height: 1.55; }
  .nw-sidebar__contact p                          { font-size: 13px; }
  .nw-sidebar__contact a                          { font-size: 13px; }
  .nw-card__cat                                   { font-size: 11px; }
  .nw-card__meta                                  { font-size: 12px; }
  .nw-card__body h3                               { font-size: 15px; }
  .nw-card__body p                                { font-size: 13px; line-height: 1.7; }
  .nw-card__link                                  { font-size: 13px; }

  /* ── News detail (.nd-*) ── */
  .nd-sidebar__title                              { font-size: 11px; }
  .nd-article__meta span                          { font-size: 13px; }
  .nd-article__body                               { font-size: 14px; }
  .nd-article__lead                               { font-size: 16px !important; }
  .nd-article__body h2                            { font-size: 18px; }
  .nd-article__body ul li                         { font-size: 14px; }
  .nd-article__quote                              { font-size: 15px; }
  .nd-article__tags span                          { font-size: 11px; }
  .nd-nav-btn strong                              { font-size: 14px; }
  .nd-nav-btn span                                { font-size: 11px; }
  .nd-related-cat                                 { font-size: 11px; }
  .nd-related-title                               { font-size: 13px; }
  .nd-related-date                                { font-size: 11px; }
  .nd-cat-list a                                  { font-size: 13px; }
  .nd-cat-list span                               { font-size: 11px; }
  .nd-sidebar__cta p                              { font-size: 13px; }
  .nd-cta-btn                                     { font-size: 13px; }
}
