/*
 * EUROHOIST source-faithful public shell.
 * The markup intentionally follows the original PbootCMS visual hierarchy,
 * while all interaction is supplied by the new local script rather than the
 * retired CMS or any advertising widget.
 */
:root {
  --clone-ink: #292a25;
  --clone-muted: #76766e;
  --clone-line: #dddcd5;
  --clone-gold: #ffbf00;
  --clone-paper: #ffffff;
  --clone-charcoal: #2d2e29;
  --clone-frame: min(89vw, 1540px);
}

html { min-width: 0; scroll-behavior: smooth; }
body.clone-site {
  min-width: 0 !important;
  margin: 0;
  overflow-x: hidden;
  color: var(--clone-ink);
  background: var(--clone-paper);
  font-family: "Noto Sans SC", "Microsoft YaHei", Arial, sans-serif;
}
body.clone-site *, body.clone-site *::before, body.clone-site *::after { box-sizing: border-box; }
body.clone-site a { color: inherit; text-decoration: none; }
body.clone-site button { font: inherit; }
body.clone-site main { display: block; }
body.clone-site > header, body.clone-site > main, body.clone-site > footer { min-width: 0; max-width: 100%; }

/* Header and original navigation hierarchy */
.clone-header {
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
  min-height: 90px;
  border-bottom: 1px solid rgba(38, 39, 34, .08);
  background: #fff;
  transition: box-shadow .25s ease;
}
.clone-header.is-scrolled { box-shadow: 0 4px 20px rgba(0, 0, 0, .08); }
.clone-header-inner {
  display: grid;
  /* Reserve the actual tools width; translated labels must not cover the phone. */
  grid-template-columns: minmax(130px, 1fr) minmax(0, auto) minmax(max-content, 1fr);
  column-gap: 12px;
  align-items: center;
  width: min(calc(100% - 60px), 1800px);
  min-height: 90px;
  margin: 0 auto;
}
.clone-brand { display: inline-flex; align-items: center; width: min(190px, 100%); }
.clone-brand img { display: block; width: 100%; height: auto; max-height: 54px; object-fit: contain; object-position: left center; }
.clone-main-nav { display: flex; flex-wrap: wrap; align-self: stretch; align-items: stretch; justify-content: center; min-width: 0; min-height: 90px; }
.clone-nav-item, .clone-home-link { position: relative; display: flex; align-items: stretch; min-width: 0; max-width: 100%; }
.clone-nav-item:is(:hover, :focus-within, .is-open) { z-index: 1; }
.clone-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  /* One row stretches to the header; long menus may use two readable rows. */
  min-height: 45px;
  min-width: 0;
  max-width: 100%;
  padding: 0 19px;
  border: 0;
  color: #292a25;
  background: transparent;
  font-size: 15px;
  line-height: 1;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: start;
  cursor: pointer;
  transition: color .2s ease, background .2s ease;
}
.clone-home-link { display: inline-flex; align-items: center; padding: 0 19px; font-size: 15px; }
.clone-nav-link:hover, .clone-nav-item.is-active > .clone-nav-link, .clone-home-link:hover, .clone-home-link.is-active { color: #171812; background: rgba(255, 191, 0, .12); }
.clone-nav-link:focus-visible, .clone-language-toggle:focus-visible, .clone-mobile-parent:focus-visible { outline: 2px solid var(--clone-gold); outline-offset: -2px; }
.clone-nav-chevron { display: inline-block; flex-shrink: 0; width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.clone-submenu {
  position: absolute;
  top: 100%;
  left: 50%;
  display: grid;
  min-width: 184px;
  padding: 12px 0;
  visibility: hidden;
  border-top: 2px solid var(--clone-gold);
  background: rgba(255,255,255,.98);
  box-shadow: 0 14px 30px rgba(0,0,0,.12);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 0);
  transition: opacity .18s ease, visibility .18s ease;
}
.clone-nav-item:hover .clone-submenu, .clone-nav-item:focus-within .clone-submenu, .clone-nav-item.is-open .clone-submenu { visibility: visible; opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.clone-submenu a { display: block; padding: 10px 22px; color: #373831; font-size: 14px; white-space: nowrap; transition: color .18s ease, background .18s ease; }
.clone-submenu a:hover { color: #161711; background: rgba(255,191,0,.15); }
.clone-header-tools { display: flex; align-items: center; justify-content: flex-end; gap: 25px; }
.clone-hotline { color: #30312c; font-size: 14px; font-weight: 600; white-space: nowrap; }
.clone-hotline::before { content: "☎"; margin-right: 8px; color: var(--clone-gold); font-size: 16px; }
.clone-language { position: relative; }
.clone-language-toggle { display: inline-flex; align-items: center; gap: 9px; padding: 10px 0; border: 0; color: #30312c; background: transparent; font-size: 13px; cursor: pointer; }
.clone-language-icon { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.clone-language-menu {
  position: absolute;
  top: 100%;
  inset-inline-end: -16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(112px, 1fr));
  width: 268px;
  max-height: min(72vh, 430px);
  padding: 8px;
  overflow-y: auto;
  visibility: hidden;
  border-top: 2px solid var(--clone-gold);
  background: #fff;
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
  opacity: 0;
  pointer-events: none;
  transform: translateY(0);
  transition: opacity .18s ease, visibility .18s ease;
}
.clone-language:hover .clone-language-menu, .clone-language:focus-within .clone-language-menu, .clone-language.is-open .clone-language-menu { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); }
/* Retain the hover/focus fallback without JS. With installed controllers,
   clicking an open disclosure or pressing Escape must really dismiss it,
   even while its trigger remains hovered/focused. */
html.clone-disclosure-ready .clone-nav-item:not(.is-open) > .clone-submenu,
html.clone-disclosure-ready .clone-language:not(.is-open) > .clone-language-menu {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.clone-language-link { padding: 9px 10px; color: #32332e; font-size: 13px; line-height: 1.3; }
.clone-language-link:hover, .clone-language-link.is-current { color: #161711; background: rgba(255,191,0,.18); }
.clone-menu-toggle, .clone-mobile-menu, .clone-mobile-scrim { display: none; }

/* Retained first-party utility rail. The Baidu-created lead form and chat bubble are intentionally absent. */
.clone-utility-rail {
  position: fixed;
  top: 38%;
  right: 0;
  z-index: 70;
  display: grid;
  width: 54px;
  border: 1px solid rgba(255,255,255,.45);
  background: rgba(62,63,58,.82);
  box-shadow: 0 6px 18px rgba(0,0,0,.16);
}
.clone-utility-rail > a, .clone-utility-rail > button { position: relative; display: grid; width: 52px; height: 52px; place-items: center; margin: 0; padding: 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.55); background: transparent; color: #fff; cursor: pointer; }
.clone-utility-rail > :last-child { border-bottom: 0; }
.clone-utility-rail img { display: block; max-width: 23px; max-height: 23px; filter: grayscale(1) brightness(10); }
.clone-utility-rail > a:hover, .clone-utility-rail > button:hover { background: var(--clone-gold); }
.clone-rail-qr > span { position: absolute; right: 59px; bottom: 0; display: none; width: 146px; padding: 8px; background: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.15); }
.clone-rail-qr > span img { width: 130px; max-width: none; max-height: none; filter: none; }
.clone-rail-qr:hover > span, .clone-rail-qr:focus-visible > span, .clone-rail-qr.is-open > span { display: block; }
/* Keep the no-JS fallback, but a ready controller owns dismissal even when
   hover/focus remains on the trigger. V2 normally keeps the panel as a grid. */
.clone-rail-qr.is-disclosure-ready:not(.is-open) > span,
html.chinese-template-v2 .clone-rail-qr.is-disclosure-ready:not(.is-open) > .clone-rail-qr-panel {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.clone-rail-top { font-size: 23px; }

/* Original homepage anatomy */
.clone-home-hero { position: relative; width: 100%; overflow: hidden; background: #252620; }
.clone-home-hero .bannerBox, .clone-home-hero .swiper-container, .clone-home-hero .swiper-wrapper { width: 100%; }
.clone-home-hero .swiper-container, .clone-home-hero .swiper-wrapper { height: 100%; }
.clone-home-hero .swiper-wrapper { position: relative; }
.clone-home-hero .swiper-slide { position: absolute; inset: 0; overflow: hidden; opacity: 0; pointer-events: none; transition: opacity .55s ease; }
.clone-home-hero .swiper-slide.swiper-slide-active { position: relative; opacity: 1; pointer-events: auto; }
.clone-home-hero .content { position: relative; height: clamp(470px, 40.4vw, 840px); overflow: hidden; }
.clone-home-hero .picB, .clone-home-hero .bannerPic { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
.clone-home-hero .picB { overflow: hidden; }
.clone-home-hero .bannerPic { display: block; object-fit: cover; object-position: center; }
.clone-home-hero .content::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(0,0,0,.53), rgba(0,0,0,.17) 58%, rgba(0,0,0,.06)); pointer-events: none; }
.clone-home-hero .clone-home-copy {
  position: absolute !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  z-index: 10 !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  visibility: visible !important;
  width: min(940px, calc(100% - 48px)) !important;
  max-height: none !important;
  padding: 0 !important;
  color: #fff !important;
  background: transparent !important;
  opacity: 1 !important;
  text-align: center !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: auto;
}
.clone-home-hero .swiper-slide-active .clone-home-copy { animation: clone-home-copy-enter .72s cubic-bezier(.22,.82,.31,1) both; }
.clone-home-hero .clone-home-title { margin: 0; color: #fff !important; font-family: "Square721 Cn BT Roman", "Noto Sans SC", Arial, sans-serif; font-size: clamp(56px, 6.3vw, 104px) !important; font-weight: 500; letter-spacing: 2px; line-height: 1.08; text-shadow: 0 4px 22px rgba(0,0,0,.34); }
.clone-home-hero .clone-home-summary { display: block !important; max-width: 760px; margin: 22px auto 0 !important; color: rgba(255,255,255,.94) !important; font-size: clamp(16px, 1.3vw, 21px) !important; line-height: 1.75 !important; text-shadow: 0 2px 12px rgba(0,0,0,.34); }
.clone-home-hero .clone-home-cta { display: inline-flex !important; align-items: center; justify-content: center; min-height: 43px; margin-top: 26px !important; padding: 0 20px !important; border: 1px solid rgba(255,255,255,.85) !important; color: #fff !important; background: rgba(0,0,0,.12) !important; font-size: 14px !important; line-height: 1 !important; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.clone-home-hero .clone-home-cta:hover { border-color: var(--clone-gold) !important; color: #252620 !important; background: var(--clone-gold) !important; transform: translateY(-2px); }
@keyframes clone-home-copy-enter { from { opacity: .04; transform: translate(-50%, calc(-50% + 28px)); } to { opacity: 1; transform: translate(-50%, -50%); } }
.clone-home-hero .bannerBtn { position: relative; z-index: 5; display: flex; align-items: center; justify-content: center; gap: 14px; height: 74px; background: #fff; }
.clone-home-hero .swiper-button-prev, .clone-home-hero .swiper-button-next { border: 0; color: var(--clone-gold); background: transparent; font-size: 34px; }
.clone-home-dots { display: flex; gap: 0; }
.clone-home-dots button { position: relative; box-sizing: border-box; width: 24px; height: 24px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.clone-home-dots button::before { content: ""; position: absolute; top: 50%; left: 50%; box-sizing: border-box; width: 10px; height: 10px; border: 2px solid #ecece8; border-radius: 50%; background: transparent; transform: translate(-50%, -50%); transition: border-color .2s ease, background-color .2s ease; }
.clone-home-dots button:hover::before { border-color: var(--clone-gold); }
.clone-home-dots button:focus-visible { outline: 2px solid var(--clone-gold); outline-offset: 2px; }
.clone-home-dots button.is-active::before { border-color: var(--clone-gold); background: var(--clone-gold); }

.clone-home-products { position: relative; width: var(--clone-frame); margin: 36px auto 86px; padding: 0 8px; }
.clone-home-products .proBox { width: 100%; padding: 0; }
.clone-home-products .proLists { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; width: 100%; margin: 0; padding: 0; list-style: none; overflow: visible; }
.clone-home-products .proList { float: none !important; width: auto !important; min-height: 0; margin: 0 !important; padding-bottom: 136px !important; border: 1px solid #d8d8d8; border-radius: 14px; background: #fff; }
.clone-home-products#c_portalResProduct_list-15740438061601183 { box-sizing: border-box; width: var(--clone-frame) !important; max-width: calc(100% - 36px) !important; margin: 36px auto 86px !important; }
#c_portalResProduct_list-15740438061601183 .proBox { width: 100% !important; max-width: 100% !important; min-width: 0 !important; padding: 0 !important; box-sizing: border-box; }
#c_portalResProduct_list-15740438061601183 .proLists { width: 100% !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box; }
#c_portalResProduct_list-15740438061601183 .proList { float: none !important; width: auto !important; min-height: 0; margin: 0 !important; }
.clone-home-products .imgBox { height: clamp(155px, 15.2vw, 270px); overflow: hidden; }
.clone-home-products .imgBox img { width: 100% !important; height: 100%; object-fit: cover; transition: transform .45s ease; }
.clone-home-products .proList:hover .imgBox img { transform: scale(1.04); }
.clone-home-products .txtBox { min-height: 136px; padding: 24px 22px 20px; }
.clone-home-products .titleBox { margin: 0; color: #272821; font-size: clamp(17px, 1.2vw, 20px); font-weight: 600; line-height: 1.3; }
.clone-home-products .keyBox { display: -webkit-box; overflow: hidden; margin: 9px 0 0; color: #77776f; font-size: 13px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.clone-view-all { display: block; width: max-content; margin: 28px 0 0 auto; padding-bottom: 7px; border-bottom: 1px solid var(--clone-gold); color: #33342e; font-size: 14px; }

.clone-industry-section { width: 100%; padding: clamp(54px, 5vw, 88px) 0 clamp(82px, 7vw, 126px); background: linear-gradient(180deg, #fff 0%, #f7f6f1 100%); }
.clone-industry-section > header { width: var(--clone-frame); margin: 0 auto clamp(30px, 3vw, 48px); text-align: center; }
.clone-industry-section h2 { margin: 0; color: #34352f; font-size: clamp(26px, 2vw, 38px); font-weight: 500; line-height: 1.25; text-shadow: 0 1px 3px rgba(0,0,0,.12); }
.clone-industry-section > header span { display: block; width: 42px; height: 2px; margin: 25px auto 0; background: var(--clone-gold); }
#c_portalResEbizads_banner-15740572670552534.clone-industry-carousel { position: relative; width: min(1720px, calc(100% - clamp(48px, 7vw, 136px))) !important; margin: 0 auto !important; overflow: visible !important; border-radius: 18px; background: transparent; box-shadow: 0 24px 54px rgba(27,28,24,.15); }
#c_portalResEbizads_banner-15740572670552534.clone-industry-carousel .bannerBox, .clone-industry-carousel .hy_banner { overflow: hidden; border-radius: inherit; background: transparent; }
#c_portalResEbizads_banner-15740572670552534.clone-industry-carousel .bannerBox { clip-path: inset(0 round 18px); }
.clone-industry-carousel .swiper-container, .clone-industry-carousel .swiper-wrapper { height: 100%; }
.clone-industry-carousel .swiper-wrapper { position: relative; }
.clone-industry-carousel .swiper-slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity .55s ease; }
.clone-industry-carousel .swiper-slide.swiper-slide-active { position: relative; opacity: 1; pointer-events: auto; }
.clone-industry-carousel .content { position: relative !important; height: clamp(420px, 33vw, 620px) !important; overflow: hidden; border-radius: 18px !important; }
.clone-industry-carousel .picB, .clone-industry-carousel .bannerPic { display: block !important; position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; border-radius: 18px !important; }
.clone-industry-carousel .bannerPic { object-fit: cover !important; object-position: center; transform: scale(1.002); }
.clone-industry-carousel .content::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(15,16,13,.13), rgba(15,16,13,.01) 48%, rgba(15,16,13,.13)); }
.clone-industry-carousel .text { position: absolute !important; z-index: 2; top: 18% !important; right: clamp(28px, 5vw, 92px) !important; left: auto !important; width: min(440px, 36vw) !important; max-height: none !important; padding: 30px 34px 28px !important; border: 1px solid rgba(255,255,255,.72) !important; border-radius: 14px !important; background: rgba(255,255,255,.55) !important; box-shadow: 0 22px 54px rgba(17,18,15,.23), inset 0 1px 0 rgba(255,255,255,.72), 0 0 0 1px rgba(39,40,35,.04); -webkit-backdrop-filter: blur(18px) saturate(125%); backdrop-filter: blur(18px) saturate(125%); transform: none !important; }
.clone-industry-carousel .bannerTitle { margin: 0; color: #20211d !important; font-size: clamp(24px, 2vw, 36px) !important; font-weight: 600; }
.clone-industry-carousel .bannerSummary { display: -webkit-box; overflow: hidden; margin: 11px 0 19px; color: rgba(38,39,34,.76); font-size: clamp(12px, .82vw, 14px); font-weight: 400; line-height: 1.65; letter-spacing: .01em; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.clone-industry-carousel .hy_link { border-color: var(--clone-gold) !important; color: #292a25 !important; }
.clone-industry-carousel .hy_link:hover { background: var(--clone-gold); box-shadow: none !important; }
#c_portalResEbizads_banner-15740572670552534.clone-industry-carousel .tabs { position: absolute; right: 0; bottom: 0; left: 0; z-index: 4; display: flex; justify-content: center; width: auto; margin: 0; padding: 0 24px; overflow: visible; text-align: initial; border-radius: 0 !important; background: transparent !important; transform: translateY(50%); }
.clone-industry-carousel .tabs > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 0; width: fit-content; max-width: calc(100% - 64px); min-height: 54px; padding: 10px 17px; border: 1px solid rgba(255,255,255,.16); border-radius: 13px; background: rgba(35,36,31,.76); box-shadow: 0 16px 34px rgba(17,18,15,.25), inset 0 1px 0 rgba(255,255,255,.09); -webkit-backdrop-filter: blur(16px) saturate(120%); backdrop-filter: blur(16px) saturate(120%); }
.clone-industry-carousel .tabs button { padding: 10px 15px; border: 0; border-bottom: 2px solid transparent; color: rgba(255,255,255,.9) !important; background: transparent !important; font-size: 14px; cursor: pointer; transition: color .2s ease, border-color .2s ease, background .2s ease; }
.clone-industry-carousel .tabs button:hover, .clone-industry-carousel .tabs button.active { border-bottom-color: var(--clone-gold); color: var(--clone-gold) !important; background: rgba(255,191,0,.08) !important; }

.clone-news-section { margin-top: 0; padding: 104px max(5vw, calc((100vw - 1540px) / 2)) 96px; background: linear-gradient(rgba(44,45,40,.76), rgba(44,45,40,.76)), url("/assets/site/skin/image/newsbg_03.jpg") center / cover fixed; }
.clone-news-section > header { display: flex; align-items: end; justify-content: space-between; gap: 30px; width: min(100%, 1540px); margin: 0 auto 42px; }
.clone-news-section h2 { margin: 0; color: #fff; font-size: clamp(29px, 2.1vw, 42px); font-weight: 500; text-shadow: 0 1px 4px rgba(0,0,0,.18); }
.clone-news-section > header > div { display: flex; gap: 14px; }
.clone-news-filter, .clone-news-filter:visited { min-width: 94px; padding: 8px 16px; border: 1px solid rgba(255,255,255,.75); color: #fff !important; text-align: center; font-size: 13px; font-weight: 500; text-shadow: 0 1px 2px rgba(0,0,0,.22); }
.clone-news-filter:hover, .clone-news-filter.is-active { border-color: var(--clone-gold); color: #322e20 !important; background: var(--clone-gold); text-shadow: none; }
.clone-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; width: min(100%, 1540px); margin: 0 auto; }
.clone-news-card { min-width: 0; background: rgba(249,249,246,.96); box-shadow: 0 2px 7px rgba(0,0,0,.14); }
.clone-news-image { display: block; aspect-ratio: 1.6; overflow: hidden; background: #858680; }
.clone-news-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.clone-news-card:hover img { transform: scale(1.045); }
.clone-news-card > div { position: relative; min-height: 158px; padding: 20px 54px 25px 22px; }
.clone-news-card h3 { margin: 0 0 9px; font-size: 18px; line-height: 1.5; }
.clone-news-card p { display: -webkit-box; overflow: hidden; margin: 0; color: #5d5e58; font-size: 13px; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.clone-news-more { position: absolute; right: 22px; bottom: 25px; color: #34352f; font-size: 24px; }
.clone-news-all { display: block; width: max-content; margin: 36px auto 0; color: #fff; font-size: 14px; }

/* Source-style editorial detail pages. These retain the original yellow/image
   introduction and neutral article hierarchy while text still comes from CMS. */
.legacy-source-hero {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 700px;
}
.legacy-source-hero .legacy-hero-copy {
  position: relative;
  z-index: 2;
  min-height: 700px;
  padding: 108px clamp(42px, 8.25vw, 118px);
  background: #ffc000;
}
.legacy-source-hero .legacy-hero-copy::after {
  position: absolute;
  top: 0;
  right: -80px;
  bottom: 0;
  z-index: -1;
  width: 80px;
  content: "";
  background: rgba(255, 192, 0, .56);
}
.legacy-source-hero .legacy-hero-copy > div { max-width: 520px; margin-left: auto; }
.legacy-source-hero .legacy-hero-copy .eyebrow { display: none; }
.legacy-source-hero .legacy-hero-copy h1 {
  color: #fff;
  font-size: clamp(54px, 4.65vw, 76px);
  font-weight: 400;
  line-height: 1.08;
}
.legacy-source-hero .legacy-hero-copy span { width: 101px; margin: 28px 0 34px; }
.legacy-source-hero .legacy-hero-copy p:not(.eyebrow) { color: rgba(255, 255, 255, .96); font-size: 17px; font-weight: 500; line-height: 1.75; }
.legacy-source-hero figure, .legacy-source-hero figure img { min-height: 700px; }
.legacy-source-detail {
  padding: 82px 0 112px;
  background: #fff;
}
.legacy-source-detail-heading { width: min(92vw, 1120px); margin: 0 auto; padding: 0 0 30px; text-align: center; }
.legacy-source-detail-heading :is(h1, h2) { margin: 0; color: #5f605a; font-size: clamp(38px, 3.2vw, 58px); font-style: italic; font-weight: 400; line-height: 1.15; }
.legacy-source-detail-heading > span { display: block; width: 44px; height: 2px; margin: 26px auto 0; background: var(--clone-gold); }
.legacy-source-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
  width: min(92vw, 1120px);
  margin: 0 auto 62px;
  border-top: 1px solid #dfded8;
  border-left: 1px solid #dfded8;
}
.legacy-source-tabs a, .legacy-source-tabs span {
  display: grid;
  min-width: 150px;
  min-height: 44px;
  padding: 10px 18px;
  border-right: 1px solid #dfded8;
  border-bottom: 1px solid #dfded8;
  color: #5d5e57;
  font-size: 14px;
  place-items: center;
  text-align: center;
  transition: color .18s ease, background .18s ease;
}
.legacy-source-tabs a:hover, .legacy-source-tabs a.is-active { color: #201f19; background: rgba(255, 192, 0, .22); }
.legacy-source-detail-layout { width: min(88vw, 980px); margin: 0 auto; }
.legacy-source-article { color: #55564f; }
.legacy-source-article > header { padding: 0 0 31px; border-bottom: 1px solid #dddcd6; }
.legacy-source-article > header h2 { margin: 0; color: #33342f; font-size: clamp(25px, 2.1vw, 35px); font-weight: 500; line-height: 1.38; }
.legacy-source-article > header ul { display: flex; flex-wrap: wrap; gap: 8px 26px; margin: 18px 0 0; padding: 0; color: #8a8b84; font-size: 13px; list-style: none; }
.legacy-source-article > header li span { color: #666760; }
.legacy-source-summary { margin: 21px 0 0; padding: 16px 19px; color: #595a53; background: #f4f3ee; font-size: 15px; line-height: 1.82; }
.legacy-source-body { max-width: 930px; padding-top: 43px; font-size: 16px; }
.legacy-source-body p, .legacy-source-body li { color: #55564f; line-height: 2; }
.legacy-source-body img { width: auto; max-width: 100%; }
.legacy-source-gallery { display: grid; gap: 18px; margin-top: 36px; }
.legacy-source-gallery img { width: 100%; max-height: 650px; object-fit: contain; }
.legacy-source-related { width: min(88vw, 980px); margin: 80px auto 0; padding-top: 30px; border-top: 1px solid #dddcd6; }
.legacy-source-related h2 { margin: 0 0 24px; color: #40413b; font-size: 25px; font-weight: 500; }
.legacy-source-related > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.legacy-detail-related-item { min-height: 220px; }
.legacy-detail-related-item .legacy-list-copy { padding: 17px 18px 20px; }
.legacy-detail-related-item .legacy-list-copy h2 { font-size: 16px; }
.legacy-detail-related-item .legacy-list-copy p, .legacy-detail-related-item .legacy-list-more { display: none; }

/* Original dark footer, without SEM-only floating forms. */
.clone-footer { position: relative; overflow: hidden; background: #333; color: #d7d7d1; }
.clone-footer-main { position: relative; display: grid; grid-template-columns: 1.3fr repeat(4, .82fr) minmax(220px, 1.15fr); gap: 24px; width: var(--clone-frame); min-height: 320px; margin: 0 auto; padding: 65px 0 49px; }
.clone-footer-brand { position: relative; z-index: 1; max-width: 260px; }
.clone-footer-brand img { display: block; width: min(175px, 100%); height: auto; filter: brightness(0) invert(1); }
.clone-footer-group, .clone-footer-contact { position: relative; z-index: 1; display: grid; align-content: start; gap: 10px; }
.clone-footer-group h3, .clone-footer-contact h3 { min-height: 22px; margin: 0; color: #fff; font-size: 16px; font-weight: 500; line-height: 22px; }
.clone-footer-group > span, .clone-footer-contact-copy > span { display: block; width: 28px; height: 2px; margin: 2px 0 10px; background: var(--clone-gold); }
.clone-footer-group a, .clone-footer-contact a, .clone-footer-contact p { color: #d2d2cc; font-size: 13px; line-height: 1.5; transition: color .18s ease; }
.clone-footer-group a:hover, .clone-footer-contact a:hover { color: var(--clone-gold); }
.clone-footer-contact-with-worker { display: block; min-width: 0; }
.clone-footer-contact-copy { display: grid; align-content: start; gap: 10px; min-width: 0; }
.clone-footer-contact strong { margin: 6px 0 4px; color: #fff; font-family: Impact, Arial, sans-serif; font-size: clamp(24px, 1.8vw, 34px); font-weight: 400; letter-spacing: 1px; white-space: nowrap; }
.clone-footer-contact p { margin: 0; }
.clone-footer-worker { position: absolute; right: 50%; bottom: -1px; z-index: 1; display: block; width: min(156px, 100%); max-height: none; object-fit: contain; pointer-events: none; transform: translateX(50%); mix-blend-mode: lighten; }
.clone-footer-bottom { display: flex; justify-content: space-between; gap: 30px; width: var(--clone-frame); margin: 0 auto; padding: 21px 0 24px; border-top: 1px solid rgba(255,255,255,.16); color: #aaa9a3; font-size: 12px; }
.clone-footer-bottom a { color: #c5c4bd; text-align: right; }

@media (min-width: 861px) and (max-width: 1180px) {
  .clone-header-inner { grid-template-columns: minmax(130px, 1fr) minmax(0, auto) minmax(max-content, 1fr); }
  .clone-nav-link, .clone-home-link { padding-right: 12px; padding-left: 12px; font-size: 14px; }
  .clone-header-tools { gap: 14px; }
  .clone-hotline { display: none; }
  .clone-footer-main { grid-template-columns: 1.35fr repeat(4, minmax(0, .9fr)); gap: 30px 22px; }
  .clone-footer-contact { grid-column: 1 / -1; grid-template-columns: minmax(290px, 360px); justify-content: end; }
  .clone-footer-contact-with-worker { display: block; }
}

@media (max-width: 860px) {
  :root { --clone-frame: min(100% - 36px, 680px); }
  html, body.clone-site { width: 100%; min-width: 0 !important; overflow-x: hidden !important; }
  .clone-header { width: 100%; min-width: 0 !important; min-height: 88px; }
  .clone-header-inner { position: relative; display: flex; justify-content: space-between; width: calc(100% - 36px) !important; max-width: calc(100% - 36px); min-width: 0 !important; min-height: 88px; box-sizing: border-box; }
  .clone-brand { width: 146px; }
  .clone-main-nav, .clone-header-tools { display: none; }
  .clone-menu-toggle { position: absolute; top: 50%; inset-inline-end: 0; z-index: 2; display: grid; width: 42px; height: 42px; place-content: center; gap: 5px; margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer; transform: translateY(-50%); }
  .clone-menu-toggle span { display: block; width: 26px; height: 2px; background: var(--clone-gold); transition: transform .2s ease, opacity .2s ease; }
  .clone-menu-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .clone-menu-toggle.is-open span:nth-child(2) { opacity: 0; }
  .clone-menu-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .clone-mobile-scrim { position: fixed; inset: 0; z-index: 101; background: rgba(0,0,0,.42); opacity: 0; pointer-events: none; transition: opacity .24s ease; }
  /* JS already toggles this root class. Without a root scroll lock, native
     keys/wheel at the drawer boundary keep scrolling the covered article.
     Keep the original scroll offset, and unlock automatically above this
     mobile breakpoint even if the open drawer survives a viewport resize. */
  html.clone-menu-open { overflow-y: hidden !important; scrollbar-gutter: stable; }
  .clone-mobile-menu { position: fixed; top: 0; right: 0; bottom: 0; z-index: 102; display: block; width: min(370px, 88vw); padding: 0 24px 42px; overflow-y: auto; overscroll-behavior-y: contain; background: #2e2f2a; color: #fff; transform: translateX(100%); transition: transform .26s ease; }
  .clone-mobile-menu.is-open { transform: translateX(0); }
  .clone-mobile-scrim.is-open { opacity: 1; pointer-events: auto; }
  .clone-mobile-menu-top { display: flex; align-items: center; justify-content: space-between; min-height: 88px; border-bottom: 1px solid rgba(255,255,255,.16); }
  .clone-mobile-brand { width: 146px; }
  .clone-mobile-brand img { display: block; width: 100%; height: auto; filter: brightness(0) invert(1); }
  .clone-mobile-menu-top button { width: 36px; height: 36px; border: 0; color: #fff; background: transparent; font-size: 34px; line-height: 1; cursor: pointer; }
  .clone-mobile-menu nav { display: grid; }
  .clone-mobile-home, .clone-mobile-parent { display: flex; align-items: center; width: 100%; padding: 18px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.14); color: #fff; background: transparent; font-size: 17px; text-align: left; }
  .clone-mobile-parent { cursor: pointer; }
  .clone-mobile-parent .clone-nav-chevron { margin-inline-start: auto; transition: transform .2s ease; }
  .clone-mobile-home.is-active, .clone-mobile-group.is-active > .clone-mobile-parent { color: var(--clone-gold); }
  .clone-mobile-group.is-open > .clone-mobile-parent .clone-nav-chevron { transform: rotate(225deg) translateY(-2px); }
  /* Clipping/opacity alone leaves collapsed links in the keyboard sequence. */
  .clone-mobile-children { display: grid; max-height: 0; gap: 0; padding: 0 0 0 18px; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.14); opacity: 0; visibility: hidden; pointer-events: none; transition: max-height .28s ease, padding .28s ease, opacity .2s ease; }
  .clone-mobile-group.is-open .clone-mobile-children { max-height: 620px; padding: 5px 0 11px 18px; opacity: 1; visibility: visible; pointer-events: auto; }
  .clone-mobile-children a { padding: 8px 0; color: rgba(255,255,255,.74); font-size: 14px; }
  .clone-mobile-language { padding: 24px 0 0; }
  .clone-mobile-language > span { color: var(--clone-gold); font-size: 13px; letter-spacing: 1px; }
  .clone-mobile-language > div { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 12px; }
  .clone-mobile-language a { padding: 8px 0; color: rgba(255,255,255,.82); font-size: 14px; }
  .clone-utility-rail { display: none !important; }
  .legacy-source-hero { display: flex; flex-direction: column; min-height: 0; }
  .legacy-source-hero .legacy-hero-copy { min-height: 0; padding: 54px 28px 50px; }
  .legacy-source-hero .legacy-hero-copy::after { display: none; }
  .legacy-source-hero .legacy-hero-copy > div { max-width: none; margin: 0; }
  .legacy-source-hero .legacy-hero-copy h1 { font-size: 42px; }
  .legacy-source-hero .legacy-hero-copy p:not(.eyebrow) { font-size: 14px; line-height: 1.8; }
  .legacy-source-hero figure, .legacy-source-hero figure img { min-height: 250px; }
  .legacy-source-hero figure { order: -1; }
  .legacy-source-detail { padding: 48px 0 65px; }
  .legacy-source-detail-heading { padding-bottom: 22px; }
  .legacy-source-detail-heading :is(h1, h2) { font-size: 30px; }
  .legacy-source-detail-heading > span { margin-top: 17px; }
  .legacy-source-tabs { flex-wrap: nowrap; justify-content: flex-start; width: 100%; margin-bottom: 38px; overflow-x: auto; }
  .legacy-source-tabs a, .legacy-source-tabs span { flex: 0 0 auto; min-width: 128px; min-height: 40px; font-size: 13px; }
  .legacy-source-detail-layout { width: calc(100% - 36px); }
  .legacy-source-article > header h2 { font-size: 23px; }
  .legacy-source-article > header ul { gap: 6px 16px; font-size: 12px; }
  .legacy-source-summary { padding: 13px 15px; font-size: 14px; }
  .legacy-source-body { padding-top: 31px; font-size: 15px; }
  .legacy-source-related { width: calc(100% - 36px); margin-top: 54px; }
  .legacy-source-related > div { grid-template-columns: 1fr; gap: 16px; }
  .legacy-detail-related-item { display: grid; grid-template-columns: 112px 1fr; min-height: 100px; }
  .legacy-detail-related-item .legacy-list-image { min-height: 100px; }
  .clone-home-hero .content { height: clamp(350px, 74vw, 500px); min-height: 0; }
  .clone-home-hero .clone-home-copy { top: 50% !important; bottom: auto !important; left: 50% !important; width: calc(100% - 40px) !important; transform: translate(-50%, -50%) !important; }
  .clone-home-hero .clone-home-title { font-size: clamp(37px, 10.5vw, 56px) !important; letter-spacing: 1px; }
  .clone-home-hero .clone-home-summary { max-width: min(520px, 100%); margin-top: 13px !important; font-size: 13px !important; line-height: 1.6 !important; }
  .clone-home-hero .clone-home-cta { min-height: 34px; margin-top: 14px !important; padding: 0 13px !important; font-size: 12px !important; }
  .clone-home-hero .bannerBtn { display: none; }
  #c_portalResProduct_list-15740438061601183.clone-home-products,
  #c_portalResProduct_list-15740438061601183 .proBox,
  #c_portalResProduct_list-15740438061601183 .proLists { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  #c_portalResProduct_list-15740438061601183.clone-home-products { box-sizing: border-box; margin: 28px 0 55px !important; }
  .clone-home-products { width: var(--clone-frame); max-width: calc(100% - 36px); margin: 28px auto 55px; }
  .clone-home-products .proLists { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  #c_portalResProduct_list-15740438061601183 .proList { padding-bottom: 138px !important; border-radius: 12px; }
  .clone-home-products .imgBox { height: 31vw; min-height: 118px; }
  #c_portalResProduct_list-15740438061601183 .txtBox { bottom: 0 !important; min-height: 138px !important; padding: 14px 16px !important; }
  #c_portalResProduct_list-15740438061601183 .titleBox { font-size: 16px !important; }
  #c_portalResProduct_list-15740438061601183 .keyBox { margin-top: 7px !important; font-size: 12px !important; line-height: 1.5 !important; -webkit-line-clamp: 3 !important; }
  .clone-home-products .clone-view-all { position: static !important; display: table !important; width: max-content !important; max-width: 100%; margin: 20px 8px 0 auto !important; padding-right: 0; transform: none !important; white-space: nowrap; }
  .clone-industry-section { padding: 42px 0 76px; }
  .clone-industry-section > header { margin-bottom: 21px; }
  .clone-industry-section h2 { font-size: 23px; }
  .clone-industry-section > header span { margin-top: 17px; }
  #c_portalResEbizads_banner-15740572670552534.clone-industry-carousel { width: calc(100% - 24px) !important; border-radius: 12px; box-shadow: 0 16px 34px rgba(27,28,24,.14); }
  .clone-industry-carousel .content { height: 64vw !important; min-height: 290px !important; border-radius: 12px !important; }
  #c_portalResEbizads_banner-15740572670552534.clone-industry-carousel .bannerBox { clip-path: inset(0 round 12px); }
  .clone-industry-carousel .picB, .clone-industry-carousel .bannerPic { border-radius: 12px !important; }
  .clone-industry-carousel .text { top: 12% !important; right: 18px !important; width: min(72vw, 300px) !important; padding: 17px 18px 16px !important; border-radius: 11px !important; -webkit-backdrop-filter: blur(14px) saturate(120%); backdrop-filter: blur(14px) saturate(120%); }
  .clone-industry-carousel .bannerTitle { font-size: 19px !important; }
  .clone-industry-carousel .bannerSummary { margin: 7px 0 12px; font-size: 11px; line-height: 1.5; }
  .clone-industry-carousel .hy_link { height: 29px !important; padding: 0 12px !important; font-size: 11px !important; line-height: 27px !important; }
  #c_portalResEbizads_banner-15740572670552534.clone-industry-carousel .tabs { padding: 0 10px; transform: translateY(50%); }
  .clone-industry-carousel .tabs > div { width: 100%; max-width: 100%; min-height: 46px; padding: 8px 11px; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; -ms-overflow-style: none; scrollbar-width: none; border-radius: 10px; }
  .clone-industry-carousel .tabs > div::-webkit-scrollbar { display: none; }
  .clone-industry-carousel .tabs button { flex: 0 0 auto; padding: 8px 10px; font-size: 12px; }
  .clone-news-section { padding: 52px 18px 58px; }
  .clone-news-section > header { display: block; margin-bottom: 26px; text-align: center; }
  .clone-news-section h2 { font-size: 25px; }
  .clone-news-section > header > div { justify-content: center; margin-top: 18px; gap: 7px; }
  .clone-news-filter { min-width: 0; padding: 7px 9px; font-size: 11px; }
  .clone-news-grid { grid-template-columns: 1fr; gap: 16px; }
  .clone-news-card > div { min-height: 132px; padding: 16px 48px 18px 17px; }
  .clone-news-card h3 { font-size: 16px; }
  .clone-news-more { right: 18px; bottom: 16px; }
  .clone-footer-main { display: grid; grid-template-columns: 1fr 1fr; gap: 34px 22px; width: calc(100% - 48px); min-height: 0; padding: 48px 0 35px; }
  .clone-footer-brand { grid-column: 1 / -1; max-width: 320px; }
  .clone-footer-brand img { width: 162px; }
  .clone-footer-contact { grid-column: 1 / -1; }
  .clone-footer-contact-with-worker { display: grid; grid-template-columns: 1fr; }
  .clone-footer-worker { position: relative; right: auto; bottom: auto; justify-self: end; width: 124px; margin-top: -10px; transform: none; }
  .clone-footer-bottom { flex-direction: column; width: calc(100% - 48px); gap: 8px; padding: 18px 0 22px; }
  .clone-footer-bottom a { text-align: left; }
}

@media (max-width: 420px) {
  .clone-home-products .proLists { gap: 11px; }
  #c_portalResProduct_list-15740438061601183 .titleBox { font-size: 14px !important; }
  #c_portalResProduct_list-15740438061601183 .keyBox { font-size: 11px !important; }
  .clone-footer-main { grid-template-columns: 1fr; }
  .clone-footer-group { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .clone-home-hero .clone-home-copy, .clone-home-hero .clone-home-cta, .clone-home-products .imgBox img,
  .clone-news-image img, .clone-submenu, .clone-mobile-menu, .clone-mobile-scrim,
  .clone-mobile-children, .clone-nav-chevron { transition: none !important; }
  .clone-home-hero .clone-home-copy { animation: none !important; }
}
