.home-page {
  background: #0a0a0c;
}
.home-page header {
  background: rgba(9, 10, 12, 0.88);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.home-hero {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  color: #f5f3ef;
  background:
    radial-gradient(
      circle at 78% 40%,
      rgba(177, 140, 74, 0.08),
      transparent 33%
    ),
    linear-gradient(135deg, #08090b, #121214 68%, #0a0a0c);
}
.home-grid {
  position: absolute;
  inset: 0;
  opacity: 0.24;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px),
    linear-gradient(
      135deg,
      transparent 49.6%,
      rgba(196, 158, 90, 0.14) 50%,
      transparent 50.4%
    );
  background-size:
    126px 126px,
    126px 126px,
    252px 252px;
  mask-image: linear-gradient(to bottom, black, transparent 92%);
}
.home-wrap {
  max-width: 1650px;
  margin: auto;
  padding: 132px 48px 68px;
  position: relative;
  z-index: 1;
}
.home-kicker {
  display: flex;
  align-items: center;
  gap: 18px;
  color: #c6a45e;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.22em;
}
.home-kicker span {
  width: 46px;
  height: 1px;
  background: #c6a45e;
}
.home-layout {
  min-height: 670px;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 80px;
  align-items: center;
}
.home-copy h1 {
  font-size: clamp(54px, 5.4vw, 88px);
  line-height: 1.08;
  letter-spacing: -0.045em;
  margin: 0 0 34px;
  max-width: 840px;
}
.home-copy h1 span {
  background: linear-gradient(100deg, #8e672d, #e1c883 52%, #9c7335);
  -webkit-background-clip: text;
  color: transparent;
}
.home-copy > p {
  max-width: 650px;
  color: #ffffff8f;
  font-size: 17px;
  line-height: 2;
}
.home-actions {
  display: flex;
  gap: 16px;
  margin-top: 38px;
}
.home-secondary {
  display: inline-flex;
  align-items: center;
  padding: 13px 24px;
  border: 1px solid #ffffff20;
  text-decoration: none;
  color: #e7e4df;
}
.home-secondary:hover {
  border-color: #c5a45f;
  color: #d9bd80;
}
.home-proof {
  display: flex;
  gap: 25px;
  margin-top: 28px;
  color: #ffffff5d;
  font-size: 12px;
}
.home-proof span + span:before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  background: #a88442;
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 25px;
}
.home-cards {
  height: 570px;
  position: relative;
}
.home-card {
  position: absolute;
  width: 340px;
  height: 218px;
  display: block;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 18px;
  background: #15161a;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.32);
  transition:
    transform 0.35s,
    border-color 0.35s;
}
.home-card:hover {
  transform: translateY(-8px);
  border-color: rgba(214, 181, 113, 0.55);
  z-index: 5;
}
.home-card img {
  width: 100%;
  height: 137px;
  object-fit: cover;
  filter: saturate(0.72) contrast(1.08) brightness(0.62);
}
.home-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 32%,
    rgba(18, 19, 23, 0.18) 50%,
    #15161a 67%
  );
  pointer-events: none;
}
.home-card span {
  position: absolute;
  z-index: 1;
  left: 22px;
  right: 22px;
  bottom: 17px;
}
.home-card small,
.home-card b,
.home-card em {
  display: block;
}
.home-card small {
  font-size: 10px;
  color: #c8a45e;
  letter-spacing: 0.12em;
}
.home-card b {
  font-size: 18px;
  margin: 6px 0;
}
.home-card em {
  font-style: normal;
  font-size: 12px;
  color: #ffffff5e;
}
.card-machining {
  right: 6px;
  top: 0;
  z-index: 4;
}
.card-sheet-metal {
  left: 0;
  top: 112px;
  z-index: 3;
}
.card-fabrication {
  right: -34px;
  top: 236px;
  z-index: 2;
}
.card-sourcing {
  left: 38px;
  bottom: 0;
  z-index: 1;
}
.home-scroll {
  position: absolute;
  right: 74px;
  top: 92px;
  font-size: 11px;
  color: #ffffff46;
  letter-spacing: 0.18em;
  writing-mode: vertical-rl;
}
.home-scroll i {
  display: inline-block;
  width: 1px;
  height: 64px;
  background: linear-gradient(#9c7a3e, transparent);
  margin-top: 12px;
}

/* Readability refinement only: no home-page composition changes. */
.home-copy > p {
  color: rgba(244, 244, 246, 0.78);
  font-weight: 500;
}
.home-proof,
.home-card em {
  color: rgba(244, 244, 246, 0.72);
}
.home-scroll {
  color: rgba(244, 244, 246, 0.62);
}
.home-bridge {
  background: #f5f2ed;
  color: #111;
  padding: 90px 0;
}
.home-bridge .wrap {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 70px;
  align-items: end;
}
.home-bridge h2 {
  font-size: 40px;
  line-height: 1.25;
  margin: 0;
}
.home-bridge p {
  color: #6b6965;
  margin: 0;
}
.home-bridge a {
  padding: 14px 20px;
  border-bottom: 1px solid #9f7d42;
  color: #76591f;
  text-decoration: none;
  font-weight: 700;
  white-space: nowrap;
}
@media (max-width: 1100px) {
  .home-wrap {
    padding-inline: 28px;
  }
  .home-layout {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: 80px;
  }
  .home-copy {
    max-width: 850px;
  }
  .home-cards {
    height: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .home-card {
    position: relative;
    inset: auto !important;
    width: 100%;
    height: 230px;
  }
  .home-card img {
    height: 148px;
  }
  .home-bridge .wrap {
    grid-template-columns: 1fr 1fr;
  }
  .home-bridge a {
    grid-column: 1/-1;
    justify-self: start;
  }
}
@media (max-width: 700px) {
  .home-wrap {
    padding: 115px 20px 60px;
  }
  .home-layout {
    padding-top: 55px;
  }
  .home-copy h1 {
    font-size: 48px;
  }
  .home-copy > p {
    font-size: 15px;
  }
  .home-actions,
  .home-proof {
    flex-direction: column;
    align-items: flex-start;
  }
  .home-proof {
    gap: 8px;
  }
  .home-proof span + span:before {
    display: none;
  }
  .home-cards {
    height: auto;
    display: grid;
    gap: 12px;
    margin-top: 25px;
  }
  .home-card {
    position: relative !important;
    inset: auto !important;
    width: 100%;
    height: 190px;
  }
  .home-card img {
    height: 118px;
  }
  .home-scroll {
    display: none;
  }
  .home-bridge .wrap {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .home-bridge h2 {
    font-size: 34px;
  }
}

/* Homepage readability */
.home-kicker {
  font-size: 14px;
}
.home-copy > p {
  font-size: 17px;
  line-height: 1.9;
}
.home-proof {
  font-size: 14px;
}
.home-card small {
  font-size: 12px;
}
.home-card b {
  font-size: 19px;
}
.home-card em {
  font-size: 14px;
}
.home-bridge p {
  font-size: 16px;
  line-height: 1.8;
}
.home-bridge a {
  font-size: 15px;
}
@media (max-width: 700px) {
  .home-copy > p {
    font-size: 16px;
  }
  .home-card small {
    font-size: 12px;
  }
  .home-card em {
    font-size: 14px;
  }
}

/* Industrial motion: transforms only, with a static reduced-motion alternative. */
.home-motion-line{position:absolute;pointer-events:none;inset:0;background:linear-gradient(115deg,transparent 32%,#c9ab7010 46%,#ead7ae20 48%,transparent 51%);animation:home-sweep 12s ease-in-out infinite;opacity:.7}
.home-grid{animation:home-grid-drift 26s linear infinite}
.home-card img{object-fit:contain;background:#fff;filter:none;padding:7px 12px;animation:home-product-breathe 7s ease-in-out infinite}
.home-card:nth-child(2) img{animation-delay:-1.8s}.home-card:nth-child(3) img{animation-delay:-3.5s}.home-card:nth-child(4) img{animation-delay:-5s}
.home-card:after{background:linear-gradient(180deg,transparent 47%,#15161a 66%)}
.home-kicker>span{animation:home-beacon 3.4s ease-in-out infinite}
.home-scroll i{animation:home-scroll-cue 2.3s ease-in-out infinite}
.home-hero.motion-paused .home-grid,.home-hero.motion-paused .home-motion-line,.home-hero.motion-paused .home-card img,.home-hero.motion-paused .home-kicker>span,.home-hero.motion-paused .home-scroll i{animation-play-state:paused}
@keyframes home-grid-drift{to{background-position:126px 126px,126px 126px,252px 252px}}
@keyframes home-sweep{0%,100%{transform:translateX(-28%);opacity:.3}50%{transform:translateX(28%);opacity:.85}}
@keyframes home-product-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.025)}}
@keyframes home-beacon{0%,100%{box-shadow:0 0 0 0 #c9ab7040}50%{box-shadow:0 0 0 6px #c9ab7000}}
@keyframes home-scroll-cue{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(5px);opacity:1}}
@media(max-width:700px){.home-card img{height:118px}.home-card:after{background:linear-gradient(180deg,transparent 42%,#15161a 64%)}.home-grid{animation-duration:38s}}
@media(prefers-reduced-motion:reduce){.home-motion-line,.home-grid,.home-card img,.home-kicker>span,.home-scroll i{animation:none!important}.home-card:hover{transform:none}}

/* Separate full-resolution product photographs from captions. */
.home-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.home-cards{height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.home-card{position:relative;inset:auto!important;width:auto;height:auto;display:flex;flex-direction:column;border-radius:12px;min-width:0}
.home-card img{display:block;width:100%;height:184px;object-fit:contain;background:#fff;padding:8px 12px;filter:none;animation:none!important;transform:none!important}
.home-card:after{display:none}
.home-card span{position:relative;inset:auto!important;display:block;min-height:114px;padding:16px 18px;flex:1}
.home-card b{font-size:20px;line-height:1.4}.home-card small{font-size:12px}.home-card em{font-size:14px}
@media(max-width:1180px){.home-layout{grid-template-columns:minmax(0,1fr);gap:40px}.home-cards{width:100%;max-width:760px;justify-self:center}.home-card img{height:196px}}
@media(max-width:700px){.home-cards{height:auto;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.home-card{width:auto;height:auto}.home-card img{height:148px}.home-card span{min-height:112px;padding:14px}.home-card b{font-size:18px}}
@media(max-width:460px){.home-cards{grid-template-columns:minmax(0,1fr)}.home-card{display:grid;grid-template-columns:112px minmax(0,1fr)}.home-card img{height:100%;min-height:144px;padding:8px}.home-card span{min-height:144px;padding:16px}.home-card b{font-size:18px}}
