.hero-media {
  background-color: #000;
  background-image: url("images/factory-no-logo.webp");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.hero-overlay { background: rgba(0, 0, 0, .42); }

.hero-copy { max-width: 1180px; }

.hero-brand {
  margin: 0 0 42px;
  font-size: clamp(72px, 13vw, 190px);
  font-weight: 300;
  line-height: .72;
  letter-spacing: -.065em;
}

.hero h1 {
  max-width: 860px;
  font-size: clamp(34px, 4.6vw, 68px);
  line-height: .98;
}

.brand-mark {
  overflow: hidden;
  background: transparent;
}

.brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.statement {
  min-height: 100svh;
  gap: 80px;
}

.statement-copy { margin-bottom: 0; }

.sector-block {
  margin-top: 10px;
  padding-top: 34px;
  border-top: 1px solid rgba(0, 0, 0, .45);
}

.sector-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
}

.sector-grid > div {
  display: flex;
  min-height: 150px;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
  border-left: 1px solid rgba(0, 0, 0, .4);
}

.sector-grid span, .sector-grid small { font-size: 11px; }
.sector-grid strong { font-size: 20px; font-weight: 400; line-height: 1.1; }
.sector-grid small { margin-top: auto; line-height: 1.35; }

.about-logo {
  display: block;
  width: min(100%, 440px);
  margin-top: 42px;
  mix-blend-mode: multiply;
}

.cap-card img {
  aspect-ratio: 16 / 10;
  object-fit: contain;
  background: #d5d5d5;
  filter: saturate(.9) contrast(1.03);
}

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

.product-groups { display: grid; gap: 100px; }

.product-group h3 {
  margin: 0 0 28px;
  padding-bottom: 16px;
  border-bottom: 1px solid #4b4b4b;
  font-size: clamp(26px, 3vw, 42px);
  font-weight: 300;
  letter-spacing: -.035em;
}

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

.product-grid img {
  height: 310px;
  object-fit: contain;
  background: #161616;
}

.about-grid > img {
  min-height: 480px;
  object-fit: cover;
}

.contact-meta .map-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border: 2px solid #000;
  border-radius: 6px;
  background: #000;
  color: #fff313;
  font-size: 14px;
  letter-spacing: .03em;
}

.map-pin {
  position: relative;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50% 50% 50% 0;
  background: #fff313;
  color: #000;
  font-size: 7px;
  transform: rotate(-45deg);
}

.map-pin::first-letter { transform: rotate(45deg); }

.numbers { grid-template-columns: repeat(5, 1fr); }

.numbers strong { font-size: clamp(28px, 4vw, 54px); }

@media (max-width: 1000px) {
  .sector-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .numbers { grid-template-columns: repeat(2, 1fr); }
  .numbers div { border-top: 1px solid rgba(0, 0, 0, .4); }
}

@media (max-width: 480px) {
  .hero-brand { margin-bottom: 30px; font-size: 64px; }
  .hero-media { background-position: center 90px; }
  .numbers { grid-template-columns: 1fr; }
  .cap-grid, .product-grid { grid-template-columns: 1fr; }
  .sector-grid { grid-template-columns: 1fr; }
}
