/*
 * Hengwang premium industrial design system
 * Palette: charcoal #14181c, industrial blue #194775, brushed silver.
 * This file intentionally sits after the mirrored legacy styles.
 */

:root {
  --hwx-charcoal: #14181c;
  --hwx-charcoal-2: #1a1f24;
  --hwx-charcoal-3: #22282e;
  --hwx-blue: #194775;
  --hwx-blue-soft: #2b5d89;
  --hwx-silver: #b9c0c6;
  --hwx-silver-light: #e4e7e9;
  --hwx-fog: #f0f2f3;
  --hwx-ink: #17212a;
  --hwx-muted: #68747e;
  --hwx-line: rgba(186, 196, 204, .22);
  --hwx-shadow: 0 28px 70px rgba(5, 10, 14, .22);
  --hwx-page: min(88vw, 1660px);
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--hwx-fog);
  color: var(--hwx-ink);
  font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

body::selection {
  background: #315f87;
  color: #fff;
}

/* Shared reveal motion: slow, low-amplitude and disabled for reduced motion. */
.hwx-reveal {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);
}

.hwx-reveal.hwx-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-hwx-parallax] > img {
  transform: translate3d(0, var(--hwx-shift, 0), 0) scale(1.035);
  transition: transform .12s linear;
}

/* Navigation */
.hwx-site-header,
.hwx-site-header .header_in,
.hwx-site-header #nav {
  transition: background-color .4s ease, box-shadow .4s ease, backdrop-filter .4s ease;
}

body.index .hwx-site-header {
  position: fixed !important;
  z-index: 10020 !important;
  top: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(180deg, rgba(12,15,18,.9), rgba(12,15,18,.34) 78%, transparent) !important;
}

body.index .hwx-site-header .header_in,
body.index .hwx-site-header #nav {
  background: transparent !important;
}

body.index .hwx-site-header.hwx-scrolled,
body.index .hwx-site-header.hwx-scrolled .header_in,
body.index .hwx-site-header.hwx-scrolled #nav {
  background: rgba(20,24,28,.82) !important;
  box-shadow: 0 12px 35px rgba(0,0,0,.18);
  backdrop-filter: blur(18px) saturate(115%);
  -webkit-backdrop-filter: blur(18px) saturate(115%);
}

.hwx-site-header #nav .nav_box {
  width: var(--hwx-page) !important;
  max-width: 1660px !important;
}

.hwx-site-header #nav .nav_box .navbar .n_item > a {
  position: relative;
  color: rgba(244,247,248,.86) !important;
  font-weight: 560 !important;
  letter-spacing: .015em;
}

.hwx-site-header #nav .nav_box .navbar .n_item > a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 20px;
  width: 0;
  height: 1px;
  background: #aab7c0;
  transition: left .28s ease, width .28s ease;
}

.hwx-site-header #nav .nav_box .navbar .n_item:hover > a::after {
  left: 18%;
  width: 64%;
}

.hwx-nav-quote {
  flex: 0 0 auto;
  height: 42px;
  margin-left: 17px;
  padding: 0 17px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(207,217,223,.42);
  border-radius: 2px;
  background: rgba(25,71,117,.5);
  color: #fff !important;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .02em;
  text-decoration: none;
  transition: background .28s ease, border-color .28s ease, transform .28s ease;
}

.hwx-nav-quote:hover {
  transform: translateY(-1px);
  border-color: rgba(220,228,233,.7);
  background: rgba(25,71,117,.88);
}

.hwx-nav-quote img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: grayscale(1) brightness(1.8);
}

/* Homepage foundation */
body.index {
  background:
    radial-gradient(circle at 78% 10%, rgba(42,73,99,.18), transparent 34%),
    linear-gradient(180deg, #111519, #171b1f 42%, #13171a) !important;
  color: #eef1f2;
}

body.index .hw-contact-stack {
  display: grid !important;
  right: 24px !important;
  bottom: 24px !important;
  left: auto !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

body.index .hw-contact-stack a {
  min-width: 210px !important;
  min-height: 52px !important;
  border-radius: 2px !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.28) !important;
}

body.index .hw-contact-stack .hw-quote-fab {
  background: rgba(25,71,117,.96) !important;
  border: 1px solid rgba(209,219,225,.2) !important;
}

body.index .hw-contact-stack .hw-email-fab {
  background: rgba(24,29,34,.96) !important;
  border: 1px solid rgba(209,219,225,.16) !important;
}

.hwx-home {
  width: 100%;
  overflow: clip;
  background:
    radial-gradient(circle at 16% 34%, rgba(72,83,91,.08), transparent 26%),
    linear-gradient(180deg, #13171a, #181d21 52%, #111518);
  color: #eef1f2;
}

.hwx-home *,
.hwx-home *::before,
.hwx-home *::after {
  box-sizing: border-box;
}

.hwx-section {
  width: var(--hwx-page);
  max-width: 1660px;
  margin: 0 auto;
  position: relative;
}

.hwx-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #9eabb4;
  font-size: 11px;
  font-weight: 720;
  line-height: 1.35;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.hwx-eyebrow::before {
  content: "";
  width: 30px;
  height: 1px;
  background: #768795;
}

.hwx-home h1,
.hwx-home h2,
.hwx-home h3,
.hwx-home p {
  margin-top: 0;
}

.hwx-home h2 {
  color: #f4f5f5;
  font-size: clamp(42px, 4.6vw, 78px);
  font-weight: 560;
  line-height: .98;
  letter-spacing: -.052em;
}

/* Asymmetric hero with independent copy and image layers. */
.hwx-hero {
  width: min(94vw, 1820px);
  min-height: min(960px, 100vh);
  margin: 0 auto;
  padding: 122px 0 78px;
  display: grid !important;
  grid-template-columns: minmax(450px, .86fr) minmax(610px, 1.14fr);
  align-items: center;
  position: relative;
  isolation: isolate;
}

.hwx-hero::before {
  content: "";
  position: absolute;
  z-index: -3;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: 74px 74px;
  mask-image: linear-gradient(90deg, #000, transparent 72%);
  opacity: .7;
}

.hwx-hero-grain {
  position: absolute;
  z-index: -2;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 66% 28%, rgba(98,117,130,.12), transparent 28%),
    radial-gradient(circle at 28% 72%, rgba(255,255,255,.035) 0 1px, transparent 1.5px);
  background-size: auto, 5px 5px;
  opacity: .5;
}

.hwx-hero-copy {
  z-index: 2;
  margin-right: -8vw;
  padding: clamp(46px, 5.2vw, 92px) clamp(34px, 4.6vw, 80px);
  position: relative;
  background:
    linear-gradient(118deg, rgba(27,32,37,.98), rgba(20,24,28,.91)),
    radial-gradient(circle at top left, rgba(255,255,255,.08), transparent 42%);
  border-left: 1px solid rgba(200,210,216,.42);
  box-shadow: 0 45px 100px rgba(0,0,0,.34);
}

.hwx-hero-copy::after {
  content: "";
  position: absolute;
  top: 9%;
  right: -1px;
  width: 1px;
  height: 82%;
  background: linear-gradient(transparent, rgba(198,208,214,.65), transparent);
}

.hwx-hero h1 {
  max-width: 760px;
  margin: 25px 0 28px;
  color: #f5f6f6;
  font-size: clamp(48px, 5vw, 88px);
  font-weight: 570;
  line-height: .96;
  letter-spacing: -.06em;
}

.hwx-hero h1 em {
  color: #aeb8bf;
  font-style: normal;
  font-weight: 380;
}

.hwx-hero-copy > p {
  max-width: 650px;
  margin-bottom: 34px;
  color: #aeb8bf;
  font-size: clamp(15px, 1.1vw, 18px);
  line-height: 1.78;
}

.hwx-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.hwx-action-primary,
.hwx-action-ghost {
  min-height: 52px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-radius: 2px;
  color: #fff !important;
  font-size: 13px;
  font-weight: 680;
  letter-spacing: .02em;
  text-decoration: none;
  transition: transform .28s ease, background .28s ease, box-shadow .28s ease;
}

.hwx-action-primary {
  background: var(--hwx-blue);
  box-shadow: 0 15px 35px rgba(6,31,53,.22);
}

.hwx-action-ghost {
  border: 1px solid rgba(202,211,217,.28);
  background: rgba(255,255,255,.025);
}

.hwx-action-ghost img {
  width: 20px;
  height: 20px;
  filter: grayscale(1) brightness(1.8);
}

.hwx-action-primary:hover,
.hwx-action-ghost:hover {
  transform: translateY(-2px);
  background: #27577f;
  box-shadow: 0 18px 40px rgba(3,12,20,.3);
}

.hwx-hero-specs {
  width: calc(100% + 14vw);
  margin-top: 50px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  position: relative;
  z-index: 5;
  background: rgba(12,16,19,.66);
  border-top: 1px solid rgba(194,205,212,.2);
  backdrop-filter: blur(10px);
}

.hwx-hero-specs > div {
  min-height: 92px;
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hwx-hero-specs > div + div {
  border-left: 1px solid rgba(194,205,212,.14);
}

.hwx-hero-specs b {
  color: #eef1f2;
  font-size: 24px;
  font-weight: 570;
  line-height: 1;
}

.hwx-hero-specs sup,
.hwx-factory-data sup {
  margin-left: 3px;
  color: #83929d;
  font-size: .45em;
}

.hwx-hero-specs span {
  margin-top: 8px;
  color: #84919a;
  font-size: 11px;
  line-height: 1.35;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hwx-hero-media {
  z-index: 1;
  height: clamp(610px, 72vh, 820px);
  margin: 0;
  position: relative;
  overflow: hidden;
  background: #20262b;
  box-shadow: 0 55px 110px rgba(0,0,0,.38);
  clip-path: polygon(7% 0,100% 0,100% 100%,0 100%,3.4% 74%,0 32%);
}

.hwx-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(17,21,24,.9), rgba(17,21,24,.08) 38%, rgba(17,21,24,.15)),
    linear-gradient(0deg, rgba(13,17,20,.78), transparent 47%);
  pointer-events: none;
}

.hwx-hero-media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 68% center;
  filter: saturate(.72) contrast(1.08) brightness(.78);
}

.hwx-hero-media figcaption {
  position: absolute;
  z-index: 2;
  right: clamp(26px, 3vw, 54px);
  bottom: clamp(34px, 4vw, 70px);
  max-width: 320px;
  padding: 18px 0 0 22px;
  border-left: 1px solid rgba(224,230,233,.5);
}

.hwx-hero-media figcaption span,
.hwx-factory-video figcaption span {
  display: block;
  margin-bottom: 7px;
  color: #a9b4bb;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .19em;
}

.hwx-hero-media figcaption b,
.hwx-factory-video figcaption b {
  color: #f2f4f5;
  font-size: 17px;
  font-weight: 520;
  line-height: 1.35;
}

.hwx-depth-mark {
  position: absolute;
  z-index: 2;
  top: 28px;
  right: 30px;
  color: rgba(235,239,241,.56);
  font-size: 10px;
  font-style: normal;
  letter-spacing: .22em;
  writing-mode: vertical-rl;
}

/* Company introduction with overlapping image planes. */
.hwx-intro {
  padding: clamp(130px, 12vw, 220px) 0 clamp(120px, 11vw, 200px);
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(400px, .8fr);
  gap: clamp(55px, 8vw, 150px);
  align-items: center;
}

.hwx-intro::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 6%;
  left: -7vw;
  width: 34vw;
  height: 76%;
  background: linear-gradient(135deg, rgba(185,195,202,.055), transparent 62%);
  border-left: 1px solid rgba(202,210,215,.1);
  transform: skewX(-8deg);
}

.hwx-intro-visual {
  min-height: 600px;
  position: relative;
  z-index: 1;
}

.hwx-intro-main {
  width: 92%;
  height: 520px;
  object-fit: cover;
  filter: saturate(.62) contrast(1.06) brightness(.72);
  box-shadow: var(--hwx-shadow);
}

.hwx-intro-visual::after {
  content: "";
  position: absolute;
  top: -26px;
  left: 28px;
  width: 62%;
  height: 1px;
  background: linear-gradient(90deg, #8d9aa3, transparent);
}

.hwx-intro-inset {
  width: 46%;
  margin: 0;
  position: absolute;
  right: 0;
  bottom: 0;
  background: #20262b;
  box-shadow: 0 26px 65px rgba(0,0,0,.38);
}

.hwx-intro-inset::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  border: 1px solid rgba(207,216,221,.22);
  pointer-events: none;
}

.hwx-intro-inset img {
  width: 100%;
  height: 255px;
  display: block;
  object-fit: cover;
  filter: saturate(.58) brightness(.8);
}

.hwx-intro-inset figcaption {
  padding: 13px 16px;
  color: #b5bec4;
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.hwx-intro-copy {
  z-index: 2;
  margin-top: -70px;
}

.hwx-intro-copy h2 {
  margin: 24px 0 34px;
}

.hwx-intro-copy > p {
  max-width: 640px;
  margin-bottom: 17px;
  color: #aeb7bd;
  font-size: 16px;
  line-height: 1.85;
}

.hwx-text-link,
.hwx-all-products {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: #d5dadd !important;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.4;
  text-decoration: none;
}

.hwx-text-link {
  margin-top: 18px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(202,210,215,.34);
}

.hwx-text-link span,
.hwx-all-products span {
  transition: transform .25s ease;
}

.hwx-text-link:hover span,
.hwx-all-products:hover span {
  transform: translateX(4px);
}

.hwx-intro-note {
  max-width: 580px;
  margin-top: 50px;
  padding: 18px 0 18px 24px;
  display: grid;
  gap: 7px;
  border-left: 1px solid rgba(185,196,203,.42);
  background: linear-gradient(90deg, rgba(255,255,255,.035), transparent);
}

.hwx-intro-note b {
  color: #dce1e3;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hwx-intro-note span {
  color: #89959d;
  font-size: 13px;
  line-height: 1.6;
}

/* Product mosaic: deliberately unequal card footprints. */
.hwx-products {
  padding: clamp(80px, 8vw, 145px) 0 clamp(150px, 13vw, 235px);
}

.hwx-products::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 -6vw;
  background:
    linear-gradient(110deg, rgba(255,255,255,.025), transparent 26%),
    radial-gradient(circle at 86% 40%, rgba(34,75,110,.14), transparent 34%);
  border-top: 1px solid rgba(200,208,214,.08);
  transform: skewY(-1.4deg);
}

.hwx-section-heading {
  z-index: 2;
  margin-bottom: clamp(55px, 6vw, 95px);
  display: grid !important;
  grid-template-columns: minmax(0,1.2fr) minmax(280px,.55fr);
  gap: 8vw;
  align-items: end;
}

.hwx-section-heading h2 {
  max-width: 940px;
  margin: 20px 0 0;
}

.hwx-section-heading > p {
  max-width: 430px;
  margin-bottom: 4px;
  padding-left: 24px;
  border-left: 1px solid rgba(192,202,208,.24);
  color: #929da5;
  font-size: 14px;
  line-height: 1.75;
}

.hwx-product-mosaic {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(12, minmax(0,1fr));
  gap: 28px;
  align-items: start;
}

.hwx-product-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(188,199,206,.15);
  border-radius: 2px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.035), transparent 48%),
    #1b2024;
  color: #f0f2f3 !important;
  text-decoration: none;
  box-shadow: 0 28px 65px rgba(0,0,0,.18);
  transition: transform .38s cubic-bezier(.2,.7,.2,1), box-shadow .38s ease, border-color .38s ease;
}

.hwx-product-card:hover {
  transform: translateY(-7px);
  border-color: rgba(193,205,212,.4);
  box-shadow: 0 35px 78px rgba(0,0,0,.31);
}

.hwx-product-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 55%, rgba(255,255,255,.05));
  opacity: 0;
  transition: opacity .35s ease;
}

.hwx-product-card:hover::after {
  opacity: 1;
}

.hwx-product-lead { grid-column: 1 / 8; min-height: 560px; }
.hwx-product-tall { grid-column: 9 / 13; min-height: 670px; margin-top: 76px; }
.hwx-product-wide { grid-column: 2 / 7; min-height: 415px; margin-top: -62px; }
.hwx-product-compact { grid-column: 7 / 10; min-height: 380px; margin-top: 46px; }
.hwx-product-offset { grid-column: 10 / 13; min-height: 440px; margin-top: -12px; }

.hwx-product-image {
  min-height: 0;
  position: relative;
  overflow: hidden;
  background: #dfe2e3;
}

.hwx-product-lead .hwx-product-image { height: 360px; }
.hwx-product-tall .hwx-product-image { height: 460px; }
.hwx-product-wide .hwx-product-image { height: 245px; }
.hwx-product-compact .hwx-product-image { height: 225px; }
.hwx-product-offset .hwx-product-image { height: 280px; }

.hwx-product-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(20,24,28,.64), transparent 52%);
}

.hwx-product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.72) contrast(1.04) brightness(.82);
  transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .5s ease;
}

.hwx-product-card:hover .hwx-product-image img {
  transform: scale(1.025);
  filter: saturate(.82) contrast(1.04) brightness(.87);
}

.hwx-product-copy {
  padding: 25px 28px 27px;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
}

.hwx-product-copy > span {
  margin-bottom: 12px;
  color: #82919c;
  font-size: 9px;
  font-weight: 720;
  letter-spacing: .18em;
}

.hwx-product-copy h3 {
  margin: 0 0 14px;
  color: #eef1f2;
  font-size: clamp(20px, 1.8vw, 29px);
  font-weight: 540;
  line-height: 1.16;
  letter-spacing: -.025em;
}

.hwx-product-copy p {
  margin-bottom: 22px;
  color: #98a3aa;
  font-size: 12px;
  line-height: 1.72;
}

.hwx-product-copy b {
  margin-top: auto;
  color: #cbd2d6;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .035em;
}

.hwx-all-products {
  z-index: 3;
  margin: 70px 0 0 16.8%;
  position: relative;
}

/* Staggered capability lanes instead of icon rows. */
.hwx-capabilities {
  min-height: 980px;
  padding: clamp(150px, 13vw, 230px) 0;
  display: grid !important;
  grid-template-columns: minmax(360px,.7fr) minmax(610px,1.3fr);
  gap: 9vw;
  align-items: start;
}

.hwx-capabilities::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 3% -8vw;
  background:
    linear-gradient(125deg, rgba(85,99,108,.12), transparent 34%),
    repeating-linear-gradient(115deg, transparent 0 34px, rgba(255,255,255,.014) 35px 36px),
    #121619;
  box-shadow: inset 0 45px 100px rgba(0,0,0,.2), inset 0 -45px 100px rgba(0,0,0,.2);
  clip-path: polygon(0 6%, 100% 0, 100% 94%, 0 100%);
}

.hwx-capabilities-title {
  z-index: 2;
  position: sticky;
  top: 150px;
}

.hwx-capabilities-title h2 {
  margin: 24px 0 32px;
}

.hwx-capabilities-title p {
  max-width: 500px;
  color: #929ea6;
  font-size: 15px;
  line-height: 1.8;
}

.hwx-capability-stack {
  z-index: 2;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: 24px 18px;
}

.hwx-capability {
  padding: 36px 34px 38px;
  position: relative;
  border-top: 1px solid rgba(197,207,213,.3);
  background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.01));
  box-shadow: 0 25px 55px rgba(0,0,0,.16);
  backdrop-filter: blur(5px);
}

.hwx-capability-a { grid-column: 1 / 9; }
.hwx-capability-b { grid-column: 5 / 13; margin-top: 24px; }
.hwx-capability-c { grid-column: 1 / 8; margin-top: -8px; }
.hwx-capability-d { grid-column: 4 / 13; margin-top: 26px; }

.hwx-capability small {
  color: #72828e;
  font-size: 9px;
  font-weight: 720;
  letter-spacing: .18em;
}

.hwx-capability h3 {
  margin: 30px 0 15px;
  color: #e6eaec;
  font-size: 25px;
  font-weight: 520;
  line-height: 1.2;
}

.hwx-capability p {
  max-width: 560px;
  margin-bottom: 0;
  color: #909ca4;
  font-size: 13px;
  line-height: 1.75;
}

/* Irregular overseas case gallery. */
.hwx-cases {
  padding: clamp(120px, 10vw, 190px) 0 clamp(150px, 12vw, 220px);
}

.hwx-case-gallery {
  min-height: 760px;
  display: grid;
  grid-template-columns: 1.25fr .42fr .72fr;
  grid-template-rows: 360px 300px;
  gap: 22px;
  align-items: stretch;
}

.hwx-case {
  min-width: 0;
  position: relative;
  overflow: hidden;
  color: #fff !important;
  text-decoration: none;
  box-shadow: 0 26px 62px rgba(0,0,0,.24);
}

.hwx-case-main { grid-column: 1 / 2; grid-row: 1 / 3; margin-bottom: 44px; }
.hwx-case-top { grid-column: 2 / 4; grid-row: 1 / 2; margin-top: 42px; }
.hwx-case-bottom { grid-column: 3 / 4; grid-row: 2 / 3; margin-right: 6%; }

.hwx-case img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.55) contrast(1.05) brightness(.75);
  transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .45s ease;
}

.hwx-case::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(12,16,19,.9), transparent 65%);
}

.hwx-case:hover img {
  transform: scale(1.025);
  filter: saturate(.68) contrast(1.05) brightness(.8);
}

.hwx-case span,
.hwx-case h3 {
  position: absolute;
  z-index: 2;
  left: clamp(22px, 3vw, 45px);
}

.hwx-case span {
  bottom: 76px;
  color: #aeb9c0;
  font-size: 9px;
  font-weight: 720;
  letter-spacing: .22em;
}

.hwx-case h3 {
  right: 24px;
  bottom: 25px;
  margin: 0;
  color: #f1f3f4;
  font-size: clamp(18px,1.65vw,27px);
  font-weight: 520;
  line-height: 1.2;
}

.hwx-case-quote {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  margin: -28px 0 64px -44px;
  padding: 34px 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  z-index: 3;
  background: rgba(31,38,43,.94);
  border-left: 1px solid rgba(203,212,217,.35);
  box-shadow: 0 26px 55px rgba(0,0,0,.32);
}

.hwx-case-quote b {
  color: #e9edef;
  font-size: clamp(34px,4vw,60px);
  font-weight: 520;
  letter-spacing: -.04em;
}

.hwx-case-quote span {
  margin-top: 12px;
  color: #919da5;
  font-size: 11px;
  line-height: 1.6;
}

/* Factory panorama and retained field video. */
.hwx-factory {
  width: min(94vw, 1820px);
  max-width: 1820px;
  padding-bottom: clamp(140px, 12vw, 215px);
}

.hwx-factory-panorama {
  min-height: 690px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 44px 100px rgba(0,0,0,.33);
  clip-path: polygon(0 4%, 100% 0, 97% 100%, 0 94%);
}

.hwx-factory-panorama::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(13,17,20,.94), rgba(13,17,20,.3) 58%, rgba(13,17,20,.18)),
    linear-gradient(0deg, rgba(13,17,20,.65), transparent 55%);
}

.hwx-factory-panorama > img {
  width: 100%;
  height: 730px;
  object-fit: cover;
  filter: saturate(.55) contrast(1.08) brightness(.65);
}

.hwx-factory-panorama > div {
  max-width: 760px;
  position: absolute;
  z-index: 2;
  left: 7%;
  bottom: 16%;
}

.hwx-factory-panorama h2 {
  margin: 25px 0 26px;
}

.hwx-factory-panorama p {
  max-width: 590px;
  color: #a5afb6;
  font-size: 15px;
  line-height: 1.78;
}

.hwx-factory-lower {
  margin: -68px 6% 0 10%;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 5vw;
  align-items: end;
  position: relative;
  z-index: 4;
}

.hwx-factory-data {
  padding: 45px 42px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  background: rgba(25,30,34,.94);
  border-top: 1px solid rgba(202,211,216,.25);
  box-shadow: 0 35px 75px rgba(0,0,0,.32);
  backdrop-filter: blur(12px);
}

.hwx-factory-data > div + div {
  padding-left: 25px;
  border-left: 1px solid rgba(202,211,216,.15);
}

.hwx-factory-data b {
  display: block;
  color: #edf0f1;
  font-size: clamp(25px,2.5vw,42px);
  font-weight: 520;
  letter-spacing: -.035em;
}

.hwx-factory-data span {
  display: block;
  margin-top: 8px;
  color: #849099;
  font-size: 10px;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.hwx-factory-video {
  margin: 0 0 -70px;
  position: relative;
  background: #0d1114;
  box-shadow: 0 35px 80px rgba(0,0,0,.42);
}

.hwx-factory-video video {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
  filter: saturate(.65) brightness(.82);
}

.hwx-factory-video figcaption {
  padding: 16px 20px 20px;
}

/* Lightweight integrated inquiry area. */
.hwx-inquiry {
  width: min(94vw, 1820px);
  max-width: 1820px;
  margin-bottom: 0;
  padding: clamp(115px, 10vw, 180px) 6vw;
  display: grid !important;
  grid-template-columns: minmax(360px,.85fr) minmax(560px,1.15fr);
  gap: 9vw;
  align-items: start;
  background:
    linear-gradient(105deg, rgba(16,20,23,.97), rgba(24,30,35,.9)),
    url("../img/index_biz.jpg") center 42% / cover;
  isolation: isolate;
}

.hwx-inquiry::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(circle at 76% 28%, rgba(47,86,119,.17), transparent 31%),
    repeating-linear-gradient(105deg, transparent 0 38px, rgba(255,255,255,.012) 39px 40px);
}

.hwx-inquiry-copy h2 {
  margin: 26px 0 28px;
  font-size: clamp(42px,4vw,68px);
}

.hwx-inquiry-copy > p {
  max-width: 600px;
  color: #9da8af;
  font-size: 15px;
  line-height: 1.8;
}

.hwx-contact-lines {
  margin-top: 42px;
  display: grid;
  gap: 12px;
}

.hwx-contact-lines a {
  width: fit-content;
  color: #dbe0e3 !important;
  font-size: 14px;
  font-weight: 560;
  text-decoration: none;
  border-bottom: 1px solid rgba(202,211,216,.2);
}

.hwx-inquiry-form {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 22px 26px;
}

.hwx-inquiry-form label {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.hwx-inquiry-form label > span {
  color: #9ba6ad;
  font-size: 10px;
  font-weight: 670;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.hwx-inquiry-form input,
.hwx-inquiry-form textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid rgba(203,212,217,.28);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: #eff2f3;
  font: inherit;
  font-size: 15px;
  transition: border-color .25s ease, background .25s ease;
}

.hwx-inquiry-form input:focus,
.hwx-inquiry-form textarea:focus {
  border-bottom-color: #7694ad;
  background: linear-gradient(90deg, rgba(25,71,117,.1), transparent);
}

.hwx-inquiry-form textarea {
  min-height: 118px;
  resize: vertical;
}

.hwx-form-message {
  grid-column: 1 / -1;
}

.hwx-inquiry-form button {
  grid-column: 1 / -1;
  width: max-content;
  min-width: 190px;
  min-height: 50px;
  margin-top: 8px;
  padding: 0 23px;
  border: 0;
  border-radius: 2px;
  background: var(--hwx-blue);
  color: #fff;
  font-size: 13px;
  font-weight: 680;
  cursor: pointer;
  transition: transform .25s ease, background .25s ease;
}

.hwx-inquiry-form button:hover {
  transform: translateY(-2px);
  background: #285a84;
}

.hwx-inquiry-form .hw-form-status {
  grid-column: 1 / -1;
  border-radius: 0;
  background: rgba(255,255,255,.04);
  color: #cbd4d9;
}

/* Footer: layered information, no copyright bar. */
.footer {
  position: relative;
  background:
    linear-gradient(145deg, rgba(255,255,255,.025), transparent 28%),
    #101417 !important;
  border-top: 1px solid rgba(190,201,208,.12);
}

.footer::before {
  content: "HENGWANG";
  position: absolute;
  right: 4vw;
  bottom: 3%;
  color: rgba(211,219,224,.025);
  font-size: clamp(70px,10vw,190px);
  font-weight: 800;
  letter-spacing: -.06em;
  pointer-events: none;
}

.footer .config_box {
  width: var(--hwx-page) !important;
  max-width: 1660px;
  padding-top: clamp(70px,7vw,120px) !important;
  padding-bottom: clamp(70px,7vw,120px) !important;
  position: relative;
  z-index: 1;
}

.footer .other_title h3,
.footer .other_title.cbk h3 {
  color: #b9c3c9 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.footer a,
.footer p {
  color: #7f8b94 !important;
}

.footer a:hover {
  color: #d9dfe2 !important;
}

#footer_main,
#copyright,
.copyright,
.footer_copy,
.copy,
[class*="copyright"] {
  display: none !important;
}

/* Premium desktop inner pages */
body.hw-desktop-inner {
  background:
    radial-gradient(circle at 84% 2%, rgba(25,71,117,.08), transparent 24%),
    linear-gradient(180deg, #e9ecee, #f5f6f6 42%, #e8ebed) !important;
}

body.hw-desktop-inner .hwx-site-header,
body.hw-desktop-inner .hwx-site-header .header_in,
body.hw-desktop-inner .hwx-site-header #nav {
  background: rgba(20,24,28,.97) !important;
}

body.hw-desktop-inner .product-list,
body.hw-desktop-inner .inner.goods {
  padding-top: 30px;
}

body.hw-desktop-inner .top_pos,
body.hw-desktop-inner .inner.goods > .hw_position {
  border-bottom: 0 !important;
}

body.hw-desktop-inner .top_pos .position,
body.hw-desktop-inner .inner.goods > .hw_position .position {
  color: #77838c !important;
  font-size: 12px !important;
  letter-spacing: .025em;
}

body.hw-inner-about .npage-list .con,
body.hw-inner-product-detail .hw_products_detail .description {
  border-radius: 2px !important;
  border-color: rgba(36,50,60,.12) !important;
  box-shadow: 0 30px 75px rgba(14,23,30,.1) !important;
}

.hwx-about-stage {
  display: grid;
  grid-template-columns: minmax(380px,.85fr) minmax(0,1.15fr);
  gap: clamp(45px,6vw,100px);
  align-items: start;
}

.hwx-about-media {
  min-height: 570px;
  margin: 0;
  position: sticky;
  top: 120px;
  background: #1b2024;
  box-shadow: 0 30px 75px rgba(12,20,26,.2);
}

.hwx-about-media p {
  height: 100%;
  margin: 0 !important;
}

.hwx-about-media img {
  width: 100% !important;
  height: 570px !important;
  margin: 0 !important;
  object-fit: cover;
  filter: saturate(.55) contrast(1.06) brightness(.78);
}

.hwx-about-copy {
  padding: 32px 3vw 70px 0;
  color: #354552;
  font-size: 16px;
  line-height: 1.9;
}

body.hw-inner-product-list .contenter .hw_products_list {
  display: grid !important;
  grid-template-columns: 1.12fr .88fr 1fr !important;
  gap: 30px 26px !important;
  align-items: start;
}

body.hw-inner-product-list .contenter .hw_products_list .item {
  width: 100% !important;
  margin: 0 !important;
  border: 1px solid rgba(31,46,57,.12) !important;
  border-radius: 2px !important;
  background: #f9faf9 !important;
  box-shadow: 0 22px 55px rgba(14,23,30,.095) !important;
  transition: transform .34s ease, box-shadow .34s ease !important;
}

body.hw-inner-product-list .contenter .hw_products_list .item:nth-child(3n+2) {
  margin-top: 54px !important;
}

body.hw-inner-product-list .contenter .hw_products_list .item:nth-child(6n+4) {
  margin-top: -24px !important;
}

body.hw-inner-product-list .contenter .hw_products_list .item:hover {
  transform: translateY(-6px);
  box-shadow: 0 32px 68px rgba(14,23,30,.16) !important;
}

body.hw-inner-product-list .contenter .hw_products_list .item .img {
  background: linear-gradient(145deg,#eef0f0,#dfe3e5) !important;
}

body.hw-inner-product-list .contenter .hw_products_list .item:nth-child(3n+1) .img { padding-top: 82% !important; }
body.hw-inner-product-list .contenter .hw_products_list .item:nth-child(3n+2) .img { padding-top: 112% !important; }
body.hw-inner-product-list .contenter .hw_products_list .item:nth-child(3n) .img { padding-top: 92% !important; }

body.hw-inner-product-list .contenter .hw_products_list .item .info {
  padding: 24px 24px 28px !important;
  text-align: left !important;
}

body.hw-inner-product-list .contenter .hw_products_list .item .info .name,
body.hw-inner-product-list .contenter .hw_products_list .item .info .des {
  text-align: left !important;
}

body.hw-inner-product-list .contenter .hw_products_list .item .info .name a {
  color: #17232c !important;
  font-size: 20px !important;
  font-weight: 610 !important;
}

body.hw-inner-product-list .contenter .hw_products_list .item .info .more {
  border-radius: 1px !important;
  background: var(--hwx-blue) !important;
  color: #fff !important;
}

body.hw-inner-product-detail .hw_products_detail .gallery {
  border-radius: 2px !important;
  box-shadow: 0 28px 70px rgba(14,23,30,.11);
}

body.hw-inner-product-detail .hw_products_detail .info {
  border-radius: 2px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.045), transparent 54%),
    var(--hwx-charcoal) !important;
  box-shadow: 0 30px 75px rgba(8,16,22,.24);
}

body.hw-inner-product-detail .hw_products_detail .description .title {
  background: var(--hwx-charcoal) !important;
}

body.hw-inner-product-detail .inquiryform {
  background:
    repeating-linear-gradient(110deg,transparent 0 34px,rgba(0,0,0,.015) 35px 36px),
    #e2e6e8 !important;
}

body.hw-inner-product-detail .inquiryform .msgForm input,
body.hw-inner-product-detail .inquiryform .msgForm textarea {
  border-radius: 1px !important;
}

/* Legacy mobile-only routes share the same industrial identity. */
body.hw-legacy-mobile {
  background: #e9ecee !important;
}

body.hw-legacy-mobile #top_main,
body.hw-legacy-mobile #top {
  background: rgba(20,24,28,.97) !important;
  border-bottom-color: rgba(201,211,217,.14) !important;
  box-shadow: 0 12px 30px rgba(4,10,14,.16) !important;
}

body.hw-legacy-mobile #top .logo img {
  filter: brightness(0) invert(1) grayscale(1);
}

body.hw-legacy-mobile #top .toggle span,
body.hw-legacy-mobile #top .toggle span::before,
body.hw-legacy-mobile #top .toggle span::after,
body.hw-legacy-mobile #top .hc-nav-trigger span,
body.hw-legacy-mobile #top .hc-nav-trigger span::before,
body.hw-legacy-mobile #top .hc-nav-trigger span::after {
  background: #e4e8ea !important;
}

body.hw-legacy-mobile #translateSelectLanguage,
body.hw-legacy-mobile .translateSelectLanguage {
  border-color: rgba(207,216,221,.28) !important;
  background: rgba(255,255,255,.04) !important;
  color: #e6eaec !important;
}

body.hw-legacy-mobile .cateList,
body.hw-legacy-mobile .content {
  background: #e9ecee !important;
}

body.hw-legacy-mobile .cateList h3,
body.hw-legacy-mobile .prodlist .item,
body.hw-legacy-mobile .showInfo .contxt,
body.hw-legacy-mobile .showInfo .odform {
  border-radius: 2px !important;
  border-color: rgba(31,46,57,.12) !important;
  background: #f8f9f9 !important;
  box-shadow: 0 16px 38px rgba(14,23,30,.08) !important;
}

body.hw-legacy-mobile .prodlist .item .btn_box .btn_more {
  border-radius: 1px !important;
  background: #e1e5e7 !important;
}

body.hw-legacy-mobile .prodlist .item .btn_box .btn_inqu {
  border-radius: 1px !important;
  background: var(--hwx-blue) !important;
}

body.hw-legacy-mobile .prodlist .item .btn_box .btn_inqu a {
  color: #fff !important;
}

/* Conversion bar: compact and non-overlapping on mobile. */
@media (max-width: 680px) {
  body:not(.index) {
    padding-bottom: calc(68px + env(safe-area-inset-bottom)) !important;
  }

  body:not(.index) .hw-contact-stack {
    position: fixed !important;
    z-index: 10030 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: calc(64px + env(safe-area-inset-bottom));
    margin: 0 !important;
    padding: 7px 10px calc(7px + env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-columns: 1.36fr .64fr !important;
    gap: 7px !important;
    background: rgba(20,24,28,.94) !important;
    border-top: 1px solid rgba(207,216,221,.18);
    box-shadow: 0 -12px 32px rgba(4,10,14,.2);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  body:not(.index) .hw-contact-stack a {
    height: 50px !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    font-size: 12px !important;
  }

  body:not(.index) .hw-contact-stack .hw-quote-fab {
    background: var(--hwx-blue) !important;
  }

  body:not(.index) .footer,
  body:not(.index) .social-media {
    padding-bottom: 14px !important;
  }
}

/* Tablet */
@media (max-width: 1180px) {
  .hwx-nav-quote { display: none; }
  .hwx-site-header #nav .nav_box { width: 94vw !important; }
  .hwx-hero { grid-template-columns: minmax(390px,.92fr) minmax(500px,1.08fr); }
  .hwx-hero-copy { margin-right: -12vw; }
  .hwx-intro { grid-template-columns: 1fr .86fr; gap: 60px; }
  .hwx-intro-visual { min-height: 520px; }
  .hwx-intro-main { height: 445px; }
  .hwx-intro-inset img { height: 210px; }
  .hwx-capabilities { grid-template-columns: .76fr 1.24fr; gap: 55px; }
  .hwx-case-gallery { grid-template-columns: 1.05fr .4fr .72fr; }
  .hwx-inquiry { grid-template-columns: .8fr 1.2fr; gap: 55px; }
}

@media (max-width: 920px) {
  .hwx-hero {
    min-height: 940px;
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .hwx-hero-media { grid-row: 1; height: 540px; margin-left: 12%; }
  .hwx-hero-copy { grid-row: 1; width: 68%; margin: 110px 0 0; align-self: end; }
  .hwx-hero-specs { width: calc(100% + 30vw); }
  .hwx-intro { grid-template-columns: 1fr; }
  .hwx-intro-copy { width: 74%; margin: -100px 0 0 auto; padding: 48px; background: rgba(20,24,28,.96); box-shadow: var(--hwx-shadow); }
  .hwx-product-lead { grid-column: 1 / 8; }
  .hwx-product-tall { grid-column: 8 / 13; }
  .hwx-product-wide { grid-column: 1 / 7; }
  .hwx-product-compact { grid-column: 7 / 13; }
  .hwx-product-offset { grid-column: 3 / 10; margin-top: 18px; }
  .hwx-capabilities { grid-template-columns: 1fr; min-height: 0; }
  .hwx-capabilities-title { position: relative; top: auto; }
  .hwx-case-gallery { min-height: 650px; }
  .hwx-factory-lower { grid-template-columns: 1fr; }
  .hwx-factory-video { width: 72%; margin: 0 0 -70px auto; }
  .hwx-inquiry { grid-template-columns: 1fr; }
  .hwx-inquiry-copy { width: 76%; }
  .hwx-about-stage { grid-template-columns: .78fr 1.22fr; gap: 35px; }
  body.hw-inner-product-list .contenter .hw_products_list { grid-template-columns: 1fr 1fr !important; }
}

/* Mobile: independently composed, not a shrunken desktop layout. */
@media (max-width: 680px) {
  :root { --hwx-page: calc(100vw - 32px); }

  .hwx-reveal {
    transform: translate3d(0, 14px, 0);
    transition-duration: .72s;
  }

  body.index {
    padding-bottom: 0 !important;
  }

  body.index .hwx-site-header,
  body.index .hwx-site-header .header_in,
  body.index .hwx-site-header #nav {
    height: 68px !important;
  }

  .hwx-site-header #nav .nav_box {
    width: 100% !important;
    padding: 0 14px !important;
  }

  body.index .hwx-site-header #nav .nav_box .logo_box {
    width: min(34vw,145px) !important;
  }

  body.index .hwx-site-header #nav .nav_box .r_nav {
    display: none !important;
  }

  body.index .hwx-nav-quote {
    width: 40px;
    height: 40px;
    margin: 0 4px 0 auto;
    padding: 0;
    display: inline-flex;
    justify-content: center;
    border-color: rgba(207,217,223,.34);
    background: rgba(25,71,117,.58);
  }

  body.index .hwx-nav-quote img {
    width: 20px;
    height: 20px;
  }

  body.index .hwx-nav-quote .hw-quote-label {
    display: none;
  }

  body.index #translate > .translateSelectLanguage {
    width: 76px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 20px 0 8px !important;
    position: fixed !important;
    top: 15px !important;
    right: 108px !important;
    border-color: rgba(207,217,223,.34) !important;
    border-radius: 2px !important;
    background-color: rgba(20,24,28,.72) !important;
    color: #edf0f1 !important;
    font-size: 10px !important;
    z-index: 10035 !important;
  }

  .hwx-home h2 {
    font-size: clamp(36px, 11vw, 48px);
    line-height: 1.01;
  }

  .hwx-eyebrow {
    font-size: 9px;
    letter-spacing: .16em;
  }

  .hwx-eyebrow::before { width: 22px; }

  .hwx-hero {
    width: 100%;
    min-height: 900px;
    padding: 68px 0 70px;
    display: block;
  }

  .hwx-hero::before { background-size: 48px 48px; }

  .hwx-hero-media {
    width: calc(100% - 18px);
    height: 47vh;
    min-height: 380px;
    margin: 0 0 0 18px;
    clip-path: polygon(7% 0,100% 0,100% 100%,0 94%,0 22%);
  }

  .hwx-hero-media > img {
    object-position: 69% center;
  }

  .hwx-hero-media figcaption {
    right: 18px;
    bottom: 22px;
    max-width: 210px;
    padding: 11px 0 0 14px;
  }

  .hwx-hero-media figcaption b { font-size: 13px; }

  .hwx-depth-mark { top: 18px; right: 16px; }

  .hwx-hero-copy {
    width: calc(100% - 30px);
    margin: -54px 15px 0;
    padding: 34px 24px 27px;
    position: relative;
  }

  .hwx-hero-copy::after { display: none; }

  .hwx-hero h1 {
    margin: 20px 0 22px;
    font-size: clamp(37px, 11vw, 52px);
    line-height: .99;
  }

  .hwx-hero-copy > p {
    margin-bottom: 25px;
    font-size: 14px;
    line-height: 1.68;
  }

  .hwx-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .hwx-action-primary,
  .hwx-action-ghost {
    width: 100%;
    min-height: 49px;
    padding: 0 15px;
    font-size: 12px;
  }

  .hwx-hero-specs {
    width: calc(100% + 12px);
    margin: 28px -6px -66px;
  }

  .hwx-hero-specs > div {
    min-height: 76px;
    padding: 15px 9px;
  }

  .hwx-hero-specs b { font-size: 18px; }
  .hwx-hero-specs span { font-size: 8px; letter-spacing: .04em; }

  .hwx-intro {
    padding: 110px 0 100px;
    display: block;
  }

  .hwx-intro-visual { min-height: 425px; }
  .hwx-intro-main { width: 94%; height: 330px; }
  .hwx-intro-inset { width: 54%; right: -4px; }
  .hwx-intro-inset img { height: 135px; }
  .hwx-intro-inset figcaption { padding: 10px; font-size: 8px; }

  .hwx-intro-copy {
    width: calc(100% - 18px);
    margin: -26px 0 0 18px;
    padding: 32px 23px 30px;
    position: relative;
    background: rgba(21,25,29,.98);
    box-shadow: 0 28px 65px rgba(0,0,0,.32);
  }

  .hwx-intro-copy h2 { margin: 20px 0 26px; }
  .hwx-intro-copy > p { font-size: 14px; line-height: 1.72; }
  .hwx-intro-note { margin-top: 30px; padding-left: 16px; }

  .hwx-products { padding: 78px 0 118px; }

  .hwx-section-heading {
    margin-bottom: 45px;
    display: block;
  }

  .hwx-section-heading h2 { margin-top: 18px; }
  .hwx-section-heading > p { margin: 24px 0 0 12%; padding-left: 16px; font-size: 13px; }

  .hwx-product-mosaic {
    display: block;
  }

  .hwx-product-card,
  .hwx-product-lead,
  .hwx-product-tall,
  .hwx-product-wide,
  .hwx-product-compact,
  .hwx-product-offset {
    width: 92%;
    min-height: 0;
    margin: 0 0 17px !important;
  }

  .hwx-product-card:nth-child(even) { margin-left: 8% !important; }
  .hwx-product-lead { width: 100%; }
  .hwx-product-offset { width: 84%; margin-left: 3% !important; }

  .hwx-product-card .hwx-product-image,
  .hwx-product-lead .hwx-product-image,
  .hwx-product-tall .hwx-product-image,
  .hwx-product-wide .hwx-product-image,
  .hwx-product-compact .hwx-product-image,
  .hwx-product-offset .hwx-product-image {
    height: 235px;
  }

  .hwx-product-lead .hwx-product-image { height: 285px; }
  .hwx-product-tall .hwx-product-image { height: 300px; }
  .hwx-product-image img { object-position: center; }
  .hwx-product-copy { padding: 21px 20px 23px; }
  .hwx-product-copy h3 { font-size: 22px; }
  .hwx-all-products { margin: 34px 0 0 8%; }

  .hwx-capabilities {
    min-height: 0;
    padding: 120px 0 130px;
    display: block;
  }

  .hwx-capabilities::before {
    inset: 2% -16px;
    clip-path: polygon(0 3%,100% 0,100% 97%,0 100%);
  }

  .hwx-capabilities-title { position: relative; top: auto; margin-bottom: 55px; }
  .hwx-capabilities-title p { font-size: 14px; }

  .hwx-capability-stack { display: block; }
  .hwx-capability {
    width: 92%;
    margin: 0 0 16px !important;
    padding: 28px 24px 30px;
  }
  .hwx-capability:nth-child(even) { margin-left: 8% !important; }
  .hwx-capability h3 { margin-top: 22px; font-size: 23px; }

  .hwx-cases { padding: 98px 0 130px; }

  .hwx-case-gallery {
    min-height: 0;
    display: grid;
    grid-template-columns: .84fr .16fr 1fr;
    grid-template-rows: 330px 230px 245px;
    gap: 12px;
  }

  .hwx-case-main { grid-column: 1 / 4; grid-row: 1; margin: 0 5% 0 0; }
  .hwx-case-top { grid-column: 2 / 4; grid-row: 2; margin: 0; }
  .hwx-case-bottom { grid-column: 1 / 3; grid-row: 3; margin: -18px 0 0; }
  .hwx-case-quote { grid-column: 3 / 4; grid-row: 3; margin: 10px 0 35px -18px; padding: 18px 15px; }
  .hwx-case span { bottom: 61px; }
  .hwx-case h3 { bottom: 19px; font-size: 17px; }
  .hwx-case-quote b { font-size: 30px; }
  .hwx-case-quote span { font-size: 9px; }

  .hwx-factory {
    width: 100%;
    padding-bottom: 130px;
  }

  .hwx-factory-panorama {
    min-height: 600px;
    clip-path: polygon(0 2%,100% 0,100% 96%,0 100%);
  }

  .hwx-factory-panorama > img { height: 610px; object-position: center; }
  .hwx-factory-panorama > div { left: 22px; right: 22px; bottom: 13%; }
  .hwx-factory-panorama h2 { margin: 20px 0; }
  .hwx-factory-panorama p { font-size: 13px; }

  .hwx-factory-lower {
    margin: -35px 16px 0;
    display: block;
  }

  .hwx-factory-data {
    padding: 26px 16px;
    grid-template-columns: repeat(3,1fr);
  }

  .hwx-factory-data > div + div { padding-left: 11px; }
  .hwx-factory-data b { font-size: 19px; }
  .hwx-factory-data span { font-size: 8px; }

  .hwx-factory-video {
    width: 88%;
    margin: 25px 0 0 auto;
  }

  .hwx-inquiry {
    width: 100%;
    padding: 94px 22px 105px;
    display: block;
  }

  .hwx-inquiry-copy { width: 100%; }
  .hwx-inquiry-copy h2 { font-size: 39px; }
  .hwx-contact-lines { margin-top: 30px; }
  .hwx-inquiry-form { margin-top: 56px; display: block; }
  .hwx-inquiry-form label { margin-bottom: 20px; }
  .hwx-inquiry-form button { width: 100%; }

  .footer::before { display: none; }
  .footer .config_box {
    padding: 55px 20px 26px !important;
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .footer .config_box .service_box ul { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }

  /* Responsive inner pages */
  body.hw-desktop-inner .product-list,
  body.hw-desktop-inner .inner.goods { padding-top: 12px; }

  body.hw-desktop-inner .product-list .menu-in-left { padding: 0 13px 30px !important; }

  .hwx-about-stage { display: block; }
  .hwx-about-media { min-height: 255px; position: relative; top: auto; }
  .hwx-about-media img { height: 255px !important; }
  .hwx-about-copy {
    width: calc(100% - 18px);
    margin: -28px 0 0 18px;
    padding: 28px 20px 36px;
    position: relative;
    background: #f9faf9;
    box-shadow: 0 25px 55px rgba(14,23,30,.12);
    font-size: 14px;
    line-height: 1.78;
  }

  body.hw-inner-product-list .contenter .hw_products_list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 13px !important;
  }

  body.hw-inner-product-list .contenter .hw_products_list .item,
  body.hw-inner-product-list .contenter .hw_products_list .item:nth-child(3n+2),
  body.hw-inner-product-list .contenter .hw_products_list .item:nth-child(6n+4) {
    margin: 0 !important;
  }

  body.hw-inner-product-list .contenter .hw_products_list .item .pro {
    grid-template-columns: 118px minmax(0,1fr) !important;
    min-height: 150px;
    padding: 12px !important;
  }

  body.hw-inner-product-list .contenter .hw_products_list .item .img,
  body.hw-inner-product-list .contenter .hw_products_list .item:nth-child(3n+1) .img,
  body.hw-inner-product-list .contenter .hw_products_list .item:nth-child(3n+2) .img,
  body.hw-inner-product-list .contenter .hw_products_list .item:nth-child(3n) .img {
    width: 118px !important;
    height: 126px !important;
    padding-top: 0 !important;
  }

  body.hw-inner-product-list .contenter .hw_products_list .item .info {
    padding: 0 !important;
  }

  body.hw-inner-product-list .contenter .hw_products_list .item .info .name a { font-size: 17px !important; }

  body.hw-inner-product-detail .hw_products_detail .gallery,
  body.hw-inner-product-detail .hw_products_detail .info,
  body.hw-inner-product-detail .hw_products_detail .description { border-radius: 2px !important; }

  body.hw-inner-product-detail .hw_products_detail .info { padding: 20px !important; }
  body.hw-inner-product-detail .hw_products_detail .info .name { font-size: 25px !important; }
  body.hw-inner-product-detail .hw_products_detail .description .contents { padding: 15px !important; }

  body.hw-legacy-mobile .prodlist .item,
  body.hw-legacy-mobile .prodlist .item:nth-child(2n) {
    border-radius: 2px !important;
    box-shadow: 0 13px 30px rgba(14,23,30,.075) !important;
  }

  body.hw-legacy-mobile #top .logo {
    width: min(42vw,160px) !important;
  }

  body.hw-legacy-mobile #top .topsearch {
    display: none !important;
  }

  body.hw-legacy-mobile #top .header_in {
    width: 98px !important;
    height: 40px !important;
    position: absolute !important;
    top: 16px !important;
    right: 60px !important;
  }

  body.hw-legacy-mobile #top .header_in #translate > .translateSelectLanguage {
    width: 98px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 24px 0 9px !important;
    position: static !important;
    border-radius: 2px !important;
    border-color: rgba(207,216,221,.28) !important;
    background-color: rgba(255,255,255,.045) !important;
    color: #e8ecee !important;
    font-size: 11px !important;
  }

  body.hw-desktop-inner #nav .nav_box .logo_box,
  body.hw-desktop-inner .res_header .header_in.fixed #nav .nav_box .logo_box {
    width: min(42vw,160px) !important;
  }

  body.hw-desktop-inner #nav .nav_box .r_nav {
    display: none !important;
  }

  body.hw-desktop-inner #translate > .translateSelectLanguage {
    width: 98px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 24px 0 9px !important;
    position: fixed !important;
    top: 16px !important;
    right: 60px !important;
    border-radius: 2px !important;
    border-color: rgba(207,216,221,.28) !important;
    background-color: rgba(255,255,255,.045) !important;
    color: #e8ecee !important;
    font-size: 11px !important;
    z-index: 10035 !important;
  }

  body.hw-mobile-product-list .cateList {
    padding: 18px 14px 14px !important;
    background:
      repeating-linear-gradient(112deg,transparent 0 30px,rgba(255,255,255,.018) 31px 32px),
      #14181c !important;
    box-shadow: 0 18px 45px rgba(10,18,24,.16) !important;
  }

  body.hw-mobile-product-list .cateList h3 {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #eef1f2 !important;
    font-size: 19px !important;
    font-weight: 560 !important;
  }

  body.hw-mobile-product-list .cateList .box a {
    border-bottom-color: rgba(207,216,221,.12) !important;
    color: #aab5bc !important;
    font-size: 13px !important;
  }

  body.hw-mobile-product-list .content.prodlist {
    padding-top: 20px !important;
    background:
      radial-gradient(circle at 92% 0,rgba(25,71,117,.09),transparent 28%),
      #e9ecee !important;
  }

  body.hw-mobile-product-list .prodlist .item:nth-child(even) {
    margin-left: 9px !important;
  }

  body.hw-mobile-product-detail .banner {
    box-shadow: inset 0 -70px 80px rgba(15,21,26,.13) !important;
  }

  body.hw-mobile-product-detail .toolbar {
    margin-top: -58px !important;
    position: relative;
    z-index: 4;
    background: linear-gradient(0deg,rgba(20,24,28,.78),transparent) !important;
  }

  body.hw-mobile-product-detail .showInfo {
    padding-top: 0 !important;
  }

  body.hw-mobile-product-detail .showInfo .showTit {
    width: calc(100% - 24px) !important;
    margin: -18px 0 0 12px !important;
    padding: 25px 20px 24px !important;
    position: relative;
    z-index: 5;
    background:
      linear-gradient(130deg,rgba(255,255,255,.035),transparent 58%),
      #14181c !important;
    border-left: 1px solid rgba(199,209,215,.42);
    box-shadow: 0 25px 55px rgba(10,18,24,.2);
  }

  body.hw-mobile-product-detail .showInfo .showTit h1 {
    margin: 0 !important;
    color: #f1f3f4 !important;
    font-size: clamp(25px,7vw,32px) !important;
    font-weight: 560 !important;
    letter-spacing: -.025em;
  }

  body.hw-mobile-product-detail .showInfo .contxt,
  body.hw-mobile-product-detail .showInfo .odform {
    margin-top: 20px !important;
    border-radius: 2px !important;
  }

  body.hw-mobile-product-detail .showInfo .odform {
    background:
      repeating-linear-gradient(112deg,transparent 0 30px,rgba(0,0,0,.018) 31px 32px),
      #e2e6e8 !important;
  }

  body.hw-legacy-mobile .prodlist .item .btn_box .btn_inqu a.hwx-list-quote {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    white-space: nowrap;
  }

  body.hw-legacy-mobile .prodlist .item .btn_box .btn_inqu a.hwx-list-quote img {
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    filter: grayscale(1) brightness(2.4);
    object-fit: contain;
  }
}

.hwx-table-scroll {
  width: 100%;
  max-width: 100%;
  margin: 18px 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.hwx-table-scroll table {
  margin: 0 !important;
}

@media (max-width: 680px) {
  .hwx-table-scroll {
    padding-bottom: 4px;
    scrollbar-width: thin;
  }

  .hwx-table-scroll table.hwx-table-wide {
    width: 620px !important;
    min-width: 620px !important;
    table-layout: auto !important;
  }
}

@media (max-width: 370px) {
  .hwx-hero-copy { padding-left: 19px; padding-right: 19px; }
  .hwx-hero h1 { font-size: 36px; }
  .hwx-hero-specs b { font-size: 16px; }
  .hwx-hero-specs span { font-size: 7px; }
  .hwx-case-gallery { grid-template-rows: 300px 215px 225px; }
  body.hw-inner-product-list .contenter .hw_products_list .item .pro { grid-template-columns: 100px minmax(0,1fr) !important; }
  body.hw-inner-product-list .contenter .hw_products_list .item .img { width: 100px !important; height: 112px !important; }
}

/* Secondary equipment landscape: broad capability with lower visual priority. */
.hwx-more-equipment {
  padding: clamp(120px, 11vw, 190px) 0 clamp(125px, 12vw, 205px);
}

.hwx-more-equipment::before {
  content: "";
  position: absolute;
  top: 16%;
  right: -12vw;
  width: 46vw;
  aspect-ratio: 1;
  border: 1px solid rgba(173,187,196,.09);
  border-radius: 50%;
  box-shadow: 0 0 0 64px rgba(255,255,255,.012), 0 0 0 128px rgba(255,255,255,.008);
  pointer-events: none;
}

.hwx-equipment-landscape {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(12, minmax(0,1fr));
  grid-auto-rows: 78px;
  gap: 22px;
}

.hwx-equipment-tile {
  position: relative;
  overflow: hidden;
  color: #edf1f3 !important;
  background:
    radial-gradient(circle at 48% 34%, rgba(77,94,105,.28), transparent 48%),
    #1b2025;
  box-shadow: 0 30px 60px rgba(0,0,0,.18);
  transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease;
}

.hwx-equipment-tile:hover {
  transform: translateY(-6px);
  box-shadow: 0 38px 70px rgba(0,0,0,.28);
}

.hwx-equipment-excavator { grid-column: 1 / span 7; grid-row: 1 / span 6; }
.hwx-equipment-loader { grid-column: 8 / span 5; grid-row: 2 / span 7; }
.hwx-equipment-dozer { grid-column: 2 / span 5; grid-row: 7 / span 5; }
.hwx-equipment-forklift { grid-column: 7 / span 3; grid-row: 9 / span 5; }
.hwx-equipment-concrete { grid-column: 10 / span 3; grid-row: 9 / span 6; }
.hwx-equipment-lifting { grid-column: 1 / span 6; grid-row: 12 / span 5; }

.hwx-equipment-tile > img {
  width: 100%;
  height: 100%;
  padding: 24px;
  display: block;
  object-fit: contain;
  filter: saturate(.78) drop-shadow(0 24px 22px rgba(0,0,0,.38));
  transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .4s ease;
}

.hwx-equipment-tile:hover > img {
  transform: scale(1.035) translateY(-4px);
  filter: saturate(.9) drop-shadow(0 30px 25px rgba(0,0,0,.45));
}

.hwx-equipment-tile > div {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 29px 31px;
  background: linear-gradient(0deg, rgba(13,17,20,.98), rgba(16,22,26,.82) 70%, transparent);
}

.hwx-equipment-tile span {
  color: #7fa1b9;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
}

.hwx-equipment-tile h3 {
  margin: 10px 0 8px;
  color: #f2f4f5;
  font-size: clamp(24px, 2.5vw, 40px);
  line-height: 1;
  letter-spacing: -.035em;
  font-weight: 570;
}

.hwx-equipment-tile p {
  color: #9aa5ac;
  font-size: 13px;
  line-height: 1.5;
}

.hwx-equipment-tile b {
  display: inline-block;
  margin-top: 17px;
  color: #d7dfe3;
  font-size: 12px;
  font-weight: 540;
}

.hwx-equipment-rail {
  grid-column: 7 / span 6;
  grid-row: 15 / span 3;
  padding: 31px 34px;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 13px 30px;
  align-content: center;
  border-top: 1px solid rgba(190,202,209,.2);
  background: rgba(255,255,255,.025);
}

.hwx-equipment-rail > span {
  grid-column: 1 / -1;
  margin-bottom: 7px;
  color: #718694;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
}

.hwx-equipment-rail a {
  color: #b6c1c8 !important;
  font-size: 13px;
}

.hwx-equipment-rail .hwx-equipment-all {
  grid-column: 1 / -1;
  width: max-content;
  margin-top: 9px;
  padding-bottom: 4px;
  color: #e2e7ea !important;
  border-bottom: 1px solid rgba(222,230,234,.34);
}

@media (max-width: 760px) {
  .hwx-more-equipment { padding: 98px 0 118px; }
  .hwx-equipment-landscape { display: flex; flex-direction: column; gap: 16px; }
  .hwx-equipment-tile { width: 94%; min-height: 390px; }
  .hwx-equipment-tile:nth-child(even) { align-self: flex-end; }
  .hwx-equipment-tile:nth-child(odd) { align-self: flex-start; }
  .hwx-equipment-tile > img { height: 275px; padding: 18px; }
  .hwx-equipment-tile > div { padding: 23px 21px; }
  .hwx-equipment-tile h3 { font-size: 29px; }
  .hwx-equipment-rail {
    width: 96%;
    margin-top: 8px;
    padding: 27px 22px;
    grid-template-columns: 1fr;
  }
  .hwx-equipment-rail > span,
  .hwx-equipment-rail .hwx-equipment-all { grid-column: 1; }
}

/* Desktop header safety: translated navigation labels can grow wider than the
   legacy fixed select position. Anchor the language control beside the utility
   icons and keep a clear gap after the final navigation item. */
@media (min-width: 761px) {
  .hwx-site-header #translate > .translateSelectLanguage {
    position: fixed !important;
    right: max(92px, calc((100vw - min(88vw, 1660px)) / 2 + 88px)) !important;
    width: 140px !important;
    margin-right: 0 !important;
    padding-right: 30px !important;
  }

  .hwx-site-header #nav .nav_box .navbar .n_item > a {
    padding-right: clamp(9px, 1.05vw, 18px) !important;
    padding-left: clamp(9px, 1.05vw, 18px) !important;
  }
}

/* Mobile typography safety: translated CJK headings must keep the full row.
   The desktop heading grid uses !important, so the mobile reset must match it. */
@media (max-width: 760px) {
  .hwx-section-heading {
    width: 100% !important;
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
  }

  .hwx-section-heading > div,
  .hwx-section-heading h2 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .hwx-section-heading h2 {
    font-size: clamp(32px, 9.6vw, 42px) !important;
    line-height: 1.06 !important;
    word-break: normal !important;
    overflow-wrap: anywhere;
  }

  .hwx-section-heading > p {
    width: auto !important;
    max-width: none !important;
    margin: 22px 0 0 8% !important;
  }

  body.index {
    padding-bottom: calc(70px + env(safe-area-inset-bottom)) !important;
  }

  body.index .hw-contact-stack {
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: auto !important;
    height: calc(64px + env(safe-area-inset-bottom)) !important;
    padding: 6px 8px calc(6px + env(safe-area-inset-bottom)) !important;
    gap: 6px !important;
    background: rgba(11, 20, 28, .94) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  body.index .hw-contact-stack a {
    height: 52px !important;
    min-height: 52px !important;
  }
}

/* Verified case video library and native detail-page playback. */
body.hwx-case-list-page,
body.hwx-case-detail-page {
  background:
    repeating-linear-gradient(116deg, transparent 0 58px, rgba(20,31,40,.018) 59px 60px),
    #e7eaec !important;
}

.hwx-case-library {
  width: 100%;
  padding: clamp(68px, 7vw, 120px) 0 clamp(100px, 10vw, 170px);
}

.hwx-case-library-head {
  max-width: 920px;
  margin: 0 0 clamp(60px, 7vw, 110px) 4%;
}

.hwx-case-library-head h1 {
  margin: 22px 0 25px;
  color: #15232d;
  font-size: clamp(52px, 6vw, 92px);
  line-height: .94;
  letter-spacing: -.055em;
  font-weight: 620;
}

.hwx-case-library-head p {
  max-width: 670px;
  color: #65727b;
  font-size: 17px;
  line-height: 1.72;
}

.hwx-case-video-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(22px, 2.4vw, 42px);
  align-items: start;
}

.hwx-case-video-card {
  overflow: hidden;
  color: #e9edef;
  background: #171d22;
  box-shadow: 0 28px 60px rgba(15,25,33,.16);
}

.hwx-case-video-1 { grid-column: 1 / span 7; }
.hwx-case-video-2 { grid-column: 8 / span 5; margin-top: 90px; }
.hwx-case-video-3 { grid-column: 2 / span 5; margin-top: -20px; }
.hwx-case-video-4 { grid-column: 7 / span 6; margin-top: 48px; }
.hwx-case-video-5 { grid-column: 1 / span 4; }
.hwx-case-video-6 { grid-column: 5 / span 8; margin-top: 72px; }
.hwx-case-video-7 { grid-column: 2 / span 6; margin-top: -28px; }
.hwx-case-video-8 { grid-column: 8 / span 5; margin-top: 46px; }
.hwx-case-video-9 { grid-column: 3 / span 8; }

.hwx-case-video-media {
  position: relative;
  overflow: hidden;
  background: #0c1013;
}

.hwx-case-video-media::after {
  content: "FIELD VIDEO";
  position: absolute;
  top: 17px;
  left: 18px;
  z-index: 2;
  padding: 7px 9px;
  color: rgba(245,247,248,.84);
  font-size: 9px;
  letter-spacing: .16em;
  background: rgba(12,16,19,.7);
  pointer-events: none;
}

.hwx-case-video-media video {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
  background: #0c1013;
}

.hwx-case-video-copy {
  min-height: 190px;
  padding: 31px 34px 32px;
  background:
    linear-gradient(110deg, rgba(36,45,52,.93), rgba(20,25,29,.98)),
    repeating-linear-gradient(120deg, transparent 0 30px, rgba(255,255,255,.02) 31px 32px);
}

.hwx-case-video-copy > span {
  color: #81a4bd;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
}

.hwx-case-video-copy h2 {
  margin: 15px 0 25px;
  color: #f2f4f5;
  font-size: clamp(22px, 2.1vw, 34px);
  line-height: 1.08;
  letter-spacing: -.035em;
  font-weight: 570;
}

.hwx-case-video-copy a {
  color: #c8d2d8 !important;
  font-size: 13px;
  border-bottom: 1px solid rgba(200,210,216,.3);
}

body.hwx-case-detail-page #news_detail {
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(44px, 6vw, 90px) clamp(18px, 4vw, 60px) clamp(90px, 9vw, 150px);
  background: rgba(248,249,249,.78);
  box-shadow: 0 34px 72px rgba(18,29,37,.1);
}

body.hwx-case-detail-page #news_detail .titleBox h1 {
  max-width: 920px;
  margin: 0 auto clamp(36px, 5vw, 70px);
  color: #172630;
  font-size: clamp(38px, 4.5vw, 68px) !important;
  line-height: 1.02;
  letter-spacing: -.045em;
  font-weight: 610;
}

.hwx-native-case-video {
  width: 100% !important;
  max-width: 1080px;
  height: auto !important;
  margin: 0 auto 44px;
  background: #0b0f12;
  box-shadow: 0 30px 66px rgba(8,14,18,.25);
}

.hwx-native-case-video video {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: contain;
  background: #0b0f12;
}

body.hwx-case-detail-page #news_detail .mess {
  max-width: 920px;
  margin: 0 auto;
  color: #56646e;
  font-size: 16px;
  line-height: 1.8;
}

@media (max-width: 760px) {
  body.index { padding-bottom: 86px; }
  body.index .hw-contact-stack {
    right: 12px !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    left: 12px !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(112px, .65fr) !important;
    gap: 8px !important;
  }
  body.index .hw-contact-stack a {
    min-width: 0 !important;
    min-height: 54px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
  }
  .hwx-case-library { padding: 52px 0 100px; }
  .hwx-case-library-head { margin: 0 4% 55px; }
  .hwx-case-library-head h1 { font-size: clamp(42px, 12vw, 58px); }
  .hwx-case-library-head p { font-size: 15px; }
  .hwx-case-video-grid { display: flex; flex-direction: column; gap: 18px; }
  .hwx-case-video-card:nth-child(n) { width: 94%; margin: 0 !important; }
  .hwx-case-video-card:nth-child(even) { align-self: flex-end; }
  .hwx-case-video-card:nth-child(odd) { align-self: flex-start; }
  .hwx-case-video-copy { min-height: 155px; padding: 25px 22px; }
  .hwx-case-video-copy h2 { font-size: 24px; }
  body.hwx-case-detail-page #news_detail { padding: 34px 14px 100px; }
  body.hwx-case-detail-page #news_detail .titleBox h1 { margin-bottom: 30px; font-size: 36px !important; }
  .hwx-native-case-video { margin-bottom: 30px; }
  body.hwx-case-detail-page #news_detail .mess { font-size: 15px; }
}

/* Solar pile driver campaign: a focused English export landing page. */
body.hwx-solar-landing {
  background: #dfe3e5;
}

.hwx-solar {
  overflow: hidden;
  background:
    repeating-linear-gradient(118deg, transparent 0 74px, rgba(15, 25, 33, .018) 75px 76px),
    #e8ebed;
}

.hwx-solar-hero {
  position: relative;
  min-height: min(780px, 78vh);
  padding: clamp(78px, 9vw, 144px) max(6vw, calc((100vw - 1660px) / 2));
  display: grid !important;
  grid-template-columns: minmax(0, .88fr) minmax(440px, 1.12fr);
  align-items: center;
  gap: clamp(20px, 5vw, 96px);
  color: #edf1f3;
  background:
    radial-gradient(circle at 78% 24%, rgba(61, 91, 115, .26), transparent 29%),
    linear-gradient(106deg, rgba(9, 14, 18, .98) 0 45%, rgba(18, 27, 34, .95) 68%, rgba(20, 24, 28, .99) 100%);
}

.hwx-solar-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .18;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 84px 84px;
  mask-image: linear-gradient(90deg, #000, transparent 76%);
}

.hwx-solar-hero-copy,
.hwx-solar-hero-machine {
  position: relative;
  z-index: 2;
}

.hwx-solar-hero h1 {
  max-width: 760px;
  margin: 23px 0 24px;
  color: #f7f8f8;
  font-size: clamp(54px, 5.35vw, 98px);
  line-height: .94;
  letter-spacing: -.055em;
  font-weight: 650;
}

.hwx-solar-hero-copy > p {
  max-width: 670px;
  color: #aeb8bf;
  font-size: clamp(16px, 1.2vw, 21px);
  line-height: 1.72;
}

.hwx-solar-focus {
  max-width: 670px;
  margin-top: 46px;
  padding-top: 24px;
  display: grid;
  grid-template-columns: auto 1fr auto 1fr;
  gap: 12px 18px;
  align-items: baseline;
  border-top: 1px solid rgba(212, 221, 226, .2);
}

.hwx-solar-focus span {
  color: #eef2f4;
  font-size: 27px;
  font-weight: 620;
}

.hwx-solar-focus small {
  color: #89969f;
  font-size: 11px;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.hwx-solar-hero-machine {
  min-height: 590px;
  margin: -26px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hwx-solar-hero-machine::before {
  content: "";
  position: absolute;
  width: 70%;
  aspect-ratio: 1;
  border: 1px solid rgba(181, 195, 205, .15);
  border-radius: 50%;
  box-shadow: 0 0 0 56px rgba(255,255,255,.018), 0 50px 90px rgba(0,0,0,.35);
}

.hwx-solar-hero-machine img {
  position: relative;
  z-index: 1;
  width: min(42vw, 690px);
  max-height: 680px;
  object-fit: contain;
  filter: drop-shadow(0 42px 38px rgba(0,0,0,.48));
}

.hwx-solar-hero-machine figcaption {
  position: absolute;
  z-index: 3;
  right: 2%;
  bottom: 7%;
  width: min(280px, 38%);
  padding: 18px 0 18px 22px;
  border-left: 2px solid #567899;
  background: linear-gradient(90deg, rgba(13,20,25,.77), transparent);
}

.hwx-solar-hero-machine figcaption span,
.hwx-solar-hero-machine figcaption b {
  display: block;
}

.hwx-solar-hero-machine figcaption span {
  color: #b8c4cb;
  font-size: 11px;
  letter-spacing: .18em;
}

.hwx-solar-hero-machine figcaption b {
  margin-top: 7px;
  color: #fff;
  font-size: 15px;
  font-weight: 540;
}

.hwx-solar-terrain {
  position: absolute;
  z-index: 1;
  right: -8%;
  bottom: -110px;
  width: 68%;
  height: 300px;
  transform: rotate(-4deg);
  opacity: .36;
  background:
    linear-gradient(178deg, transparent 0 30%, rgba(78, 88, 94, .35) 31% 34%, transparent 35%),
    repeating-linear-gradient(164deg, rgba(255,255,255,.08) 0 2px, transparent 3px 26px);
}

.hwx-solar-fit {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, .76fr) minmax(520px, 1.24fr);
  gap: clamp(70px, 10vw, 180px);
  align-items: start;
}

.hwx-solar-fit::after {
  content: "SOLAR / FOUNDATION";
  position: absolute;
  left: 4%;
  bottom: 4%;
  color: rgba(25, 48, 67, .045);
  font-size: clamp(70px, 10vw, 176px);
  font-weight: 700;
  letter-spacing: -.05em;
  white-space: nowrap;
  pointer-events: none;
}

.hwx-solar-fit-copy {
  position: sticky;
  top: 150px;
  z-index: 1;
  padding-top: 56px;
}

.hwx-solar-fit h2,
.hwx-solar-selection h2 {
  margin: 20px 0 26px;
  color: #15232e;
  font-size: clamp(42px, 4.5vw, 76px);
  line-height: .98;
  letter-spacing: -.052em;
  font-weight: 620;
}

.hwx-solar-fit-copy > p {
  max-width: 580px;
  color: #63717a;
  font-size: 17px;
  line-height: 1.78;
}

.hwx-solar-fit-stack {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 22px;
}

.hwx-solar-fit-stack article {
  min-height: 220px;
  padding: 38px 42px;
  border-left: 1px solid rgba(25,71,117,.36);
  background:
    linear-gradient(115deg, rgba(255,255,255,.82), rgba(226,231,234,.52)),
    repeating-linear-gradient(120deg, transparent 0 26px, rgba(20,35,47,.04) 27px 28px);
  box-shadow: 0 28px 58px rgba(32,42,50,.08);
}

.hwx-solar-fit-stack article:nth-child(1) { margin-right: 12%; }
.hwx-solar-fit-stack article:nth-child(2) { margin-left: 14%; margin-right: -4%; }
.hwx-solar-fit-stack article:nth-child(3) { margin-left: 5%; margin-right: 7%; }

.hwx-solar-fit-stack small,
.hwx-solar-process-track small {
  color: #456c8e;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
}

.hwx-solar-fit-stack h3 {
  margin: 48px 0 11px;
  color: #172631;
  font-size: 24px;
  font-weight: 590;
}

.hwx-solar-fit-stack p {
  max-width: 560px;
  color: #6a767f;
  line-height: 1.65;
}

.hwx-solar-models {
  color: #e9edef;
  background:
    radial-gradient(circle at 90% 10%, rgba(41,79,111,.18), transparent 32%),
    repeating-linear-gradient(112deg, transparent 0 62px, rgba(255,255,255,.018) 63px 64px),
    #151a1f;
}

.hwx-solar-models .hwx-section-heading h2 { color: #f3f5f6; }
.hwx-solar-models .hwx-section-heading > p { color: #8f9ba3; }

.hwx-solar-model-grid {
  margin-top: 74px;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 74px;
  gap: 22px;
}

.hwx-solar-model {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(210px, .92fr);
  align-items: stretch;
  color: #edf1f3 !important;
  background: linear-gradient(135deg, rgba(40,48,55,.94), rgba(20,25,29,.98));
  box-shadow: 0 34px 66px rgba(0,0,0,.24);
  transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease;
}

.hwx-solar-model:hover {
  transform: translateY(-7px);
  box-shadow: 0 42px 74px rgba(0,0,0,.34);
}

.hwx-solar-model::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(209,218,223,.11);
  pointer-events: none;
}

.hwx-solar-model-lead { grid-column: 1 / span 7; grid-row: 1 / span 6; }
.hwx-solar-model-high { grid-column: 8 / span 5; grid-row: 2 / span 7; grid-template-columns: 1fr; }
.hwx-solar-model-wide { grid-column: 2 / span 7; grid-row: 7 / span 5; }
.hwx-solar-model-offset { grid-column: 9 / span 4; grid-row: 9 / span 6; grid-template-columns: 1fr; }
.hwx-solar-model-technical { grid-column: 1 / span 8; grid-row: 12 / span 5; }

.hwx-solar-model img {
  width: 100%;
  height: 100%;
  min-height: 250px;
  padding: 28px;
  object-fit: contain;
  background: radial-gradient(circle at 47% 46%, rgba(89,109,123,.3), transparent 47%);
  filter: drop-shadow(0 25px 20px rgba(0,0,0,.4));
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}

.hwx-solar-model:hover img { transform: scale(1.035) translateY(-4px); }

.hwx-solar-model > div {
  position: relative;
  z-index: 2;
  padding: 38px 34px;
  align-self: end;
  background: linear-gradient(90deg, rgba(13,18,22,.94), rgba(19,26,31,.65));
}

.hwx-solar-model-high > div,
.hwx-solar-model-offset > div {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
}

.hwx-solar-model span {
  color: #87a4ba;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
}

.hwx-solar-model h3 {
  margin: 12px 0 10px;
  color: #f8f9f9;
  font-size: clamp(28px, 3vw, 46px);
  font-weight: 610;
  letter-spacing: -.04em;
}

.hwx-solar-model p {
  color: #a7b0b7;
  font-size: 14px;
  line-height: 1.55;
}

.hwx-solar-model b {
  display: inline-block;
  margin-top: 25px;
  color: #dbe3e8;
  font-size: 13px;
  font-weight: 560;
}

.hwx-solar-selection {
  display: grid !important;
  grid-template-columns: minmax(440px, .95fr) minmax(0, 1.05fr);
  gap: clamp(54px, 8vw, 132px);
  align-items: center;
}

.hwx-solar-selection-media {
  position: relative;
  margin-left: -7vw;
  box-shadow: 0 36px 70px rgba(16,25,31,.22);
}

.hwx-solar-selection-media::after {
  content: "MANUFACTURING / JINING";
  position: absolute;
  right: -35px;
  bottom: -31px;
  padding: 18px 25px;
  color: #d5dde2;
  font-size: 10px;
  letter-spacing: .17em;
  background: #194775;
}

.hwx-solar-selection-media img {
  width: 100%;
  min-height: 450px;
  display: block;
  object-fit: cover;
  filter: saturate(.68) contrast(1.03);
}

.hwx-solar-selection-copy ol {
  margin: 35px 0 0;
  counter-reset: solar-select;
}

.hwx-solar-selection-copy li {
  position: relative;
  min-height: 78px;
  padding: 17px 0 17px 58px;
  display: grid;
  grid-template-columns: minmax(150px, .65fr) minmax(0, 1.35fr);
  gap: 22px;
  border-bottom: 1px solid rgba(23,44,59,.14);
}

.hwx-solar-selection-copy li::before {
  counter-increment: solar-select;
  content: "0" counter(solar-select);
  position: absolute;
  left: 0;
  top: 18px;
  color: #426b8d;
  font-size: 12px;
  letter-spacing: .12em;
}

.hwx-solar-selection-copy li b { color: #1b2b36; font-weight: 590; }
.hwx-solar-selection-copy li span { color: #6c7880; line-height: 1.55; }

.hwx-solar-selection-note {
  margin: 30px 0 0 58px;
  padding-left: 20px;
  color: #65727a;
  line-height: 1.65;
  border-left: 2px solid rgba(25,71,117,.65);
}

.hwx-solar-process {
  color: #eef2f4;
  background: linear-gradient(105deg, #172029, #11171c 76%);
}

.hwx-solar-process .hwx-section-heading h2 { color: #f0f3f4; }

.hwx-solar-process-track {
  position: relative;
  margin-top: 64px;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
}

.hwx-solar-process-track::before {
  content: "";
  position: absolute;
  top: 25px;
  right: 5%;
  left: 5%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(140,164,181,.38), transparent);
}

.hwx-solar-process-track article {
  position: relative;
  min-height: 230px;
  padding: 48px 28px 28px;
  background: rgba(255,255,255,.035);
  border-top: 1px solid rgba(207,217,223,.18);
}

.hwx-solar-process-track article:nth-child(1) { grid-column: 1 / span 3; }
.hwx-solar-process-track article:nth-child(2) { grid-column: 4 / span 3; margin-top: 42px; }
.hwx-solar-process-track article:nth-child(3) { grid-column: 7 / span 3; }
.hwx-solar-process-track article:nth-child(4) { grid-column: 10 / span 3; margin-top: 42px; }

.hwx-solar-process-track h3 {
  margin: 50px 0 12px;
  color: #f2f4f5;
  font-size: 22px;
  font-weight: 570;
}

.hwx-solar-process-track p { color: #89959d; line-height: 1.65; }

.hwx-solar-inquiry {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr);
  gap: clamp(60px, 8vw, 140px);
  color: #edf1f3;
  background:
    radial-gradient(circle at 13% 18%, rgba(47,89,124,.24), transparent 28%),
    repeating-linear-gradient(122deg, transparent 0 40px, rgba(255,255,255,.018) 41px 42px),
    #151a1f;
}

.hwx-solar-inquiry-copy h2 {
  margin: 20px 0 28px;
  color: #f5f7f7;
  font-size: clamp(42px, 4.6vw, 76px);
  line-height: .98;
  letter-spacing: -.05em;
  font-weight: 620;
}

.hwx-solar-inquiry-copy > p { max-width: 620px; color: #9da8af; font-size: 17px; line-height: 1.72; }

@media (max-width: 1100px) {
  .hwx-solar-hero { grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr); }
  .hwx-solar-hero-machine { min-height: 520px; }
  .hwx-solar-fit { grid-template-columns: .72fr 1.28fr; gap: 60px; }
  .hwx-solar-selection { grid-template-columns: .88fr 1.12fr; gap: 60px; }
  .hwx-solar-inquiry { grid-template-columns: .82fr 1.18fr; gap: 54px; }
}

@media (max-width: 760px) {
  .hwx-solar-hero {
    min-height: 0;
    padding: 54px 22px 72px;
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .hwx-solar-hero::before { background-size: 52px 52px; }
  .hwx-solar-hero-copy { z-index: 3; }
  .hwx-solar-hero h1 { margin-top: 17px; font-size: clamp(42px, 12.5vw, 60px); }
  .hwx-solar-hero-copy > p { font-size: 15px; line-height: 1.65; }
  .hwx-solar-hero .hwx-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .hwx-solar-hero .hwx-actions a { width: 100%; min-height: 50px; justify-content: center; }
  .hwx-solar-focus { margin-top: 28px; grid-template-columns: auto 1fr; gap: 6px 13px; }
  .hwx-solar-focus span:nth-of-type(2) { margin-top: 12px; }
  .hwx-solar-hero-machine { min-height: 350px; margin: -10px -26px 0; }
  .hwx-solar-hero-machine img { width: min(96vw, 520px); max-height: 410px; }
  .hwx-solar-hero-machine::before { width: 78%; box-shadow: 0 0 0 30px rgba(255,255,255,.018), 0 30px 60px rgba(0,0,0,.34); }
  .hwx-solar-hero-machine figcaption { right: 6%; bottom: 0; width: 54%; }
  .hwx-solar-terrain { width: 120%; right: -30%; bottom: -150px; }

  .hwx-solar-fit,
  .hwx-solar-selection,
  .hwx-solar-inquiry { grid-template-columns: 1fr; gap: 38px; }
  .hwx-solar-fit-copy { position: relative; top: auto; padding-top: 0; }
  .hwx-solar-fit h2,
  .hwx-solar-selection h2,
  .hwx-solar-inquiry-copy h2 { font-size: clamp(38px, 11vw, 52px); }
  .hwx-solar-fit-stack article { min-height: 185px; padding: 29px 25px; }
  .hwx-solar-fit-stack article:nth-child(1) { margin-right: 8%; }
  .hwx-solar-fit-stack article:nth-child(2) { margin-left: 8%; margin-right: -5%; }
  .hwx-solar-fit-stack article:nth-child(3) { margin-left: 2%; margin-right: 5%; }
  .hwx-solar-fit-stack h3 { margin-top: 34px; font-size: 21px; }

  .hwx-solar-model-grid { margin-top: 42px; display: flex; flex-direction: column; gap: 17px; }
  .hwx-solar-model { min-height: 430px; grid-template-columns: 1fr; }
  .hwx-solar-model:nth-child(even) { margin-left: 7%; }
  .hwx-solar-model:nth-child(odd) { margin-right: 5%; }
  .hwx-solar-model img { height: 285px; min-height: 0; padding: 18px; }
  .hwx-solar-model > div,
  .hwx-solar-model-high > div,
  .hwx-solar-model-offset > div { position: relative; padding: 25px 22px; }
  .hwx-solar-model h3 { font-size: 32px; }
  .hwx-solar-model b { margin-top: 17px; }

  .hwx-solar-selection-media { margin: 0 -22px 0 0; order: 2; }
  .hwx-solar-selection-media img { min-height: 270px; }
  .hwx-solar-selection-media::after { right: 0; bottom: -22px; }
  .hwx-solar-selection-copy li { padding-left: 39px; grid-template-columns: 1fr; gap: 5px; }
  .hwx-solar-selection-note { margin-left: 39px; }

  .hwx-solar-process-track { display: grid; grid-template-columns: 1fr; margin-top: 35px; }
  .hwx-solar-process-track::before { display: none; }
  .hwx-solar-process-track article:nth-child(n) { grid-column: auto; margin: 0; min-height: 180px; }
  .hwx-solar-process-track article:nth-child(even) { margin-left: 8%; }
  .hwx-solar-process-track article:nth-child(odd) { margin-right: 7%; }
  .hwx-solar-process-track h3 { margin-top: 34px; }

  .hwx-solar-inquiry .hwx-inquiry-form { grid-template-columns: 1fr; }
  .hwx-solar-inquiry .hwx-form-message,
  .hwx-solar-inquiry .hwx-inquiry-form button { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hwx-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  [data-hwx-parallax] > img { transform: none !important; transition: none !important; }
  .hwx-product-card,
  .hwx-product-image img,
  .hwx-case img { transition: none !important; }
}

/* 2026-08 layout reset: controlled depth without cross-section collisions. */
@media (min-width: 1101px) {
  .hwx-home { overflow: hidden; }

  .hwx-hero {
    width: min(100% - 64px, 1500px);
    min-height: 720px;
    margin: 0 auto;
    padding: 72px 0 58px;
    grid-template-columns: minmax(430px, .9fr) minmax(600px, 1.1fr) !important;
    gap: clamp(44px, 5vw, 86px);
    align-items: center;
  }

  .hwx-hero-copy {
    z-index: 2;
    width: auto;
    min-width: 0;
    margin: 0 !important;
    padding: 34px 0 30px clamp(38px, 4vw, 68px);
    align-self: center;
  }

  .hwx-hero-copy::after {
    right: -28px;
    width: 1px;
    opacity: .35;
  }

  .hwx-hero h1 {
    max-width: 720px;
    font-size: clamp(42px, 3.5vw, 60px);
    line-height: .98;
  }

  .hwx-hero-media {
    width: 100%;
    height: 650px;
    margin: 0 !important;
    clip-path: polygon(5% 0,100% 0,100% 94%,93% 100%,0 100%,0 7%);
    box-shadow: 0 38px 86px rgba(0,0,0,.32);
  }

  .hwx-hero-specs {
    width: 100% !important;
    margin-top: 52px;
  }

  body.index .hw-contact-stack {
    right: 18px !important;
    bottom: 18px !important;
    width: 190px !important;
    gap: 6px !important;
  }

  body.index .hw-contact-stack a {
    min-width: 190px !important;
    min-height: 52px !important;
    padding: 0 17px !important;
    font-size: 13px !important;
    box-shadow: 0 14px 30px rgba(5,14,21,.2) !important;
  }

  .hwx-product-mosaic { align-items: stretch; gap: 28px; }

  .hwx-product-lead,
  .hwx-product-tall,
  .hwx-product-wide,
  .hwx-product-compact,
  .hwx-product-offset { margin-top: 0 !important; }

  .hwx-product-lead { grid-column: 1 / 8; min-height: 585px; }
  .hwx-product-tall { grid-column: 8 / 13; min-height: 585px; }
  .hwx-product-wide { grid-column: 1 / 6; min-height: 430px; }
  .hwx-product-compact { grid-column: 6 / 9; min-height: 430px; }
  .hwx-product-offset { grid-column: 9 / 13; min-height: 430px; }
  .hwx-product-lead .hwx-product-image,
  .hwx-product-tall .hwx-product-image { height: 365px; }
  .hwx-product-wide .hwx-product-image,
  .hwx-product-compact .hwx-product-image,
  .hwx-product-offset .hwx-product-image { height: 250px; }

  .hwx-equipment-landscape { gap: 24px; }
  .hwx-equipment-tile { margin: 0 !important; transform: none !important; }
}

/* Desktop inner pages: keep the original content and restore readable hierarchy. */
body.hw-desktop-inner .product-list,
body.hw-desktop-inner .inner.goods,
body.hw-desktop-inner .npage-list {
  max-width: 1460px;
  margin-right: auto;
  margin-left: auto;
}

body.hw-inner-product-detail .hw_products_detail .gallery,
body.hw-inner-product-detail .hw_products_detail .info { min-height: 0; }

body.hw-inner-product-detail .hw_products_detail .info {
  padding: clamp(34px, 3.2vw, 58px) !important;
  color: #263640 !important;
  background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(229,233,235,.96)), #eef0f1 !important;
  border: 1px solid rgba(32,48,59,.13) !important;
  box-shadow: 0 24px 60px rgba(14,23,30,.12) !important;
}

body.hw-inner-product-detail .hw_products_detail .info,
body.hw-inner-product-detail .hw_products_detail .info * { color: #263640 !important; }

body.hw-inner-product-detail .hw_products_detail .info .name,
body.hw-inner-product-detail .hw_products_detail .info h1 {
  color: #111b22 !important;
  line-height: 1.08 !important;
}

body.hw-inner-product-detail .hw_products_detail .info .advantage,
body.hw-inner-product-detail .hw_products_detail .info .parameter,
body.hw-inner-product-detail .hw_products_detail .info .params,
body.hw-inner-product-detail .hw_products_detail .info ul { margin-top: 28px !important; }

body.hw-inner-product-detail .hw_products_detail .info .hwx-list-quote,
body.hw-inner-product-detail .hw_products_detail .info a[href*="wa.me"] {
  color: #fff !important;
  background: #194775 !important;
  border-color: #194775 !important;
}

body.hw-inner-product-detail .hw_products_detail .info .hwx-list-quote *,
body.hw-inner-product-detail .hw_products_detail .info a[href*="wa.me"] * {
  color: #fff !important;
}

body.hw-inner-product-detail .hw_products_detail .description {
  margin-top: 32px !important;
  background: #f7f8f8 !important;
}

body.hw-inner-product-detail .hw_products_detail .description .title {
  display: none !important;
}

body.hw-inner-product-detail .hw_products_detail .description .contents {
  color: #334550 !important;
  background: #f7f8f8 !important;
}

body.hw-inner-about .hwx-about-stage {
  grid-template-columns: minmax(360px,.84fr) minmax(0,1.16fr);
  gap: clamp(42px,5vw,78px);
  align-items: start;
}

body.hw-inner-about .hwx-about-media {
  min-height: 0;
  position: relative;
  top: auto;
  margin-top: 14px;
  box-shadow: 0 22px 52px rgba(12,20,26,.15);
}

body.hw-inner-about .hwx-about-media img { height: clamp(420px, 48vw, 610px) !important; }

body.hw-inner-about .hwx-about-copy {
  padding: 8px 0 50px;
  font-size: 16px;
  line-height: 1.82;
}

body.hwx-case-list-page .hwx-case-library-head { max-width: 820px; }
body.hwx-case-list-page .hwx-case-library-head h1 { line-height: .98; }

/* Solar selection section: balanced content, no viewport-breaking offset. */
.hwx-solar-selection {
  grid-template-columns: minmax(420px, .9fr) minmax(0, 1.1fr) !important;
  gap: clamp(52px, 6vw, 96px) !important;
  align-items: center !important;
}

.hwx-solar-selection-media {
  margin-left: 0 !important;
  overflow: hidden;
  box-shadow: 0 26px 58px rgba(16,25,31,.16) !important;
}

.hwx-solar-selection-media img {
  min-height: 420px !important;
  max-height: 520px;
  object-fit: cover !important;
  object-position: center;
  filter: saturate(.62) contrast(1.04) brightness(.9) !important;
}

.hwx-solar-selection h2 {
  max-width: 720px;
  font-size: clamp(40px, 3.6vw, 60px) !important;
  line-height: 1.02 !important;
}

.hwx-solar-selection-copy ol { margin-top: 26px; }
.hwx-solar-selection-copy li { min-height: 70px; }

.hwx-solar-process .hwx-section-heading h2,
.hwx-solar-process-track article h3 {
  color: #f0f3f4 !important;
}

.hwx-solar-process-track article p {
  color: #99a6ae !important;
}

.hwx-solar-process-track article small {
  color: #7392aa !important;
}

body.hw-inner-product-detail .hw_products_detail {
  width: 100% !important;
  margin: 40px 0 60px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  align-items: stretch;
  overflow: hidden;
  box-sizing: border-box;
}

body.hw-inner-product-detail .hw_products_detail .gallery,
body.hw-inner-product-detail .hw_products_detail .info {
  width: auto !important;
  float: none !important;
  box-sizing: border-box !important;
}

body.hw-inner-product-detail .hw_products_detail .gallery {
  overflow: hidden !important;
  background: #f8f9f9 !important;
}

body.hw-inner-product-detail .hw_products_detail > .description,
body.hw-inner-product-detail .hw_products_detail > .inquiryform,
body.hw-inner-product-detail .hw_products_detail > .clear {
  grid-column: 1 / -1;
}

body.hw-inner-product-list .contenter .hw_products_list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

body.hw-inner-product-list .contenter .hw_products_list .item:nth-child(n) {
  margin-top: 0 !important;
}

body.hw-inner-product-list .contenter .hw_products_list .item:nth-child(n) .img {
  padding-top: 88% !important;
}

@media (max-width: 760px) {
  body.index { padding-bottom: 86px !important; }

  body.index .hw-contact-stack {
    position: fixed !important;
    z-index: 10030 !important;
  }

  .hwx-hero {
    min-height: 0;
    padding: 96px 16px 72px;
    display: flex !important;
    flex-direction: column;
    gap: 30px;
  }

  .hwx-hero-copy {
    order: 1;
    width: 100%;
    margin: 0;
    padding: 26px 6px 0;
    background: transparent;
    box-shadow: none;
  }

  .hwx-hero-media {
    order: 2;
    width: 100%;
    height: 390px;
    min-height: 0;
    margin: 0;
    clip-path: none;
  }

  .hwx-hero h1 {
    font-size: clamp(38px, 10.7vw, 48px);
  }

  .hwx-hero-specs {
    width: 100%;
    margin: 30px 0 0;
  }

  .hwx-intro {
    gap: 34px;
  }

  .hwx-intro-copy {
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
  }

  .hwx-intro-visual {
    min-height: 430px;
  }

  .hwx-case-gallery {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .hwx-case-gallery > * {
    width: 100% !important;
    min-height: 330px;
    margin: 0 !important;
  }

  .hwx-case-gallery .hwx-case-quote {
    min-height: 160px;
  }

  .hwx-factory-video {
    width: 100%;
    margin: 0;
  }

  .hwx-inquiry-copy {
    width: 100%;
  }

  .hwx-solar-selection {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .hwx-solar-selection-copy { order: 1; }
  .hwx-solar-selection-media { order: 2; margin: 0 !important; }
  .hwx-solar-selection-media img { min-height: 260px !important; height: 300px; }
  .hwx-solar-selection-media::after { right: 12px; bottom: 12px; }
  .hwx-solar-selection h2 { font-size: clamp(36px, 10.5vw, 46px) !important; }

  .hwx-product-card:nth-child(n),
  .hwx-equipment-tile:nth-child(n),
  .hwx-case-video-card:nth-child(n) {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.hw-inner-product-detail .hw_products_detail .gallery,
  body.hw-inner-product-detail .hw_products_detail .info { min-height: 0; }

  body.hw-inner-product-detail .hw_products_detail .info { padding: 24px 20px !important; }

  body.hw-inner-product-detail .hw_products_detail {
    margin: 24px 0 40px !important;
    grid-template-columns: 1fr;
  }

  body.hw-inner-product-detail .hw_products_detail > * { grid-column: 1; }

  body.hw-inner-product-list .contenter {
    display: block !important;
    width: 100% !important;
  }

  body.hw-inner-product-list .contenter .left,
  body.hw-inner-product-list .contenter .sidebar,
  body.hw-inner-product-list .contenter .leftside { display: none !important; }

  body.hw-inner-product-list .contenter .right,
  body.hw-inner-product-list .contenter .main,
  body.hw-inner-product-list .contenter .hw_products_list {
    width: 100% !important;
    margin: 0 !important;
  }

  body.hw-inner-product-list .contenter .hw_products_list {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body.hw-inner-product-list .contenter .hw_products_list .item {
    display: block !important;
    min-height: 190px;
  }

  body.hw-inner-product-list .contenter .hw_products_list .item .pro {
    display: grid !important;
    grid-template-columns: minmax(125px, 38%) minmax(0, 62%);
    width: 100% !important;
    height: 100% !important;
    min-height: 190px;
  }

  body.hw-inner-product-list .contenter .hw_products_list .item .img {
    height: 100% !important;
    min-height: 190px;
    padding-top: 0 !important;
  }

  body.hw-inner-product-list .contenter .hw_products_list .item .info {
    width: auto !important;
    min-width: 0;
    padding: 22px 18px !important;
  }

  body.hw-inner-product-detail .hw_products_detail .info .desc {
    color: #4a5b66 !important;
  }

  body.hw-inner-about .hwx-about-stage {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  body.hw-inner-about .hwx-about-media img { height: 320px !important; }

  body.hw-inner-about .hwx-about-copy {
    padding: 0 0 30px;
    font-size: 15px;
  }
}

/* Final mobile cascade guard. Keep translated headings horizontal and the
   conversion bar compact regardless of earlier legacy mobile declarations. */
@media (max-width: 760px) {
  .hwx-section-heading {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
  }

  .hwx-section-heading > div,
  .hwx-section-heading h2 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body.index .hw-contact-stack {
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: auto !important;
    height: calc(64px + env(safe-area-inset-bottom)) !important;
    padding: 6px 8px calc(6px + env(safe-area-inset-bottom)) !important;
  }

  body.index .hw-contact-stack a {
    height: 52px !important;
    min-height: 52px !important;
  }
}
