/* Company, Pixso 20:830. Shared hero, breadcrumbs, split features and CTA. */
.company-feature .solutions-feature-media {
  /* Let the editorial copy size the row; the image fills that available space. */
  contain: size;
}
.company-feature .solutions-feature-image {
  aspect-ratio: auto;
  min-height: 0;
}
.company-feature strong {
  color: #343741;
}
.company-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.company-milestones {
  margin-top: 34px;
}
.company-info-card {
  padding: 22px;
  border: 1px solid var(--color-border);
  border-radius: 14px;
  background: #fff;
}
.company-card-label {
  color: var(--color-primary);
  font-size: 12px;
  line-height: 19.2px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
.company-info-card--future .company-card-label {
  color: #5c8a10;
}
.company-info-card h3 {
  font-size: 15.8px;
  line-height: 25.28px;
  font-weight: 700;
}
.company-card-label + h3 {
  margin-top: 10px;
}
.company-card-description {
  margin-top: 8px;
  font-size: 13.2px;
  line-height: 21.12px;
}
.company-capability-grid {
  margin-top: 42px;
}
.company-capability {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}
.company-capability-image {
  width: 100%;
  height: 148px;
  object-fit: cover;
}
.company-capability-copy {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 20px;
}
.company-capability h3 {
  font-size: 17.5px;
  line-height: 28px;
  font-weight: 700;
}
.company-capability-list {
  display: grid;
  gap: 6px;
  margin-top: 18px;
  padding-left: 13px;
  list-style: disc;
  color: #343741;
  font-size: 13.2px;
  line-height: 20.46px;
}
.company-capability-list li::marker {
  color: var(--color-link);
}

.company-capability-meta {
  margin-top: 10px;
  font-size: 12.4px;
  line-height: 19.22px;
}
.company-capability-meta + .company-capability-meta {
  margin-top: 6px;
}
.company-capability-copy > .solutions-link {
  margin-top: auto;
  padding-top: 14px;
  color: var(--color-link);
  font-size: 13.5px;
}
.company-benefits {
  margin-top: 18px;
}
.company-benefits h3 {
  font-size: 15.6px;
  line-height: 24.96px;
}
.company-benefits .company-card-description {
  margin-top: 10px;
  font-size: 13.4px;
  line-height: 22.11px;
}
.company-quality .company-feature {
  margin-top: 42px;
}
.company-quality-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 40px;
}
.company-quality-steps > li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  padding: 18px 20px;
  border: 1px solid var(--color-border);
  border-radius: 12px;
}
.company-quality-number {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  background: var(--color-tint);
  color: var(--color-primary);
  border-radius: 9px;
  font-size: 14px;
  line-height: 22px;
  font-weight: 800;
}
.company-quality-steps h3 {
  font-size: 14.6px;
  line-height: 23.36px;
  font-weight: 700;
}
.company-quality-steps p {
  margin: 6px 0 18px;
  font-size: 12.9px;
  line-height: 19.995px;
}
.company-documents {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}
.company-documents li {
  padding: 8px 14px;
  border: 1px solid #cbdfea;
  border-radius: 999px;
  background: #eaf5fd;
  color: var(--color-deep-blue);
  font-size: 13.2px;
  line-height: 21.12px;
  font-weight: 600;
}
.company-factory {
  padding-bottom: 90px;
}
.company-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 50px 98px;
  margin-top: 58px;
  padding-inline: 40px;
}
.company-gallery figure {
  margin: 0;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.company-gallery-image {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.company-gallery figcaption {
  padding: 13px 16px;
  color: #343741;
  font-size: 13px;
  line-height: 21px;
  font-weight: 600;
}
.company-process-steps {
  margin-top: 42px;
}
.company-process-steps h3 {
  font-size: 15.4px;
  line-height: 24.64px;
}
.company-process-steps .company-card-description {
  font-size: 13px;
  line-height: 21.06px;
}
.company-process-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 22px;
  padding: 18px 22px;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  font-size: 13.6px;
  line-height: 21.76px;
}
.company-process-note .icon {
  width: 16px;
  height: 16px;
  margin-top: 3px;
}
.company-global .solutions-checklist {
  margin-top: 16px;
}
.company-feature .solutions-feature-copy > .company-feature-note {
  margin-top: 22px;
  font-size: 13.6px;
  line-height: 22.848px;
}
.company-page > .manufacturing-cta {
  padding-top: 122px;
}
@media (max-width: 1100px) {
  .company-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .company-quality-steps {
    grid-template-columns: 1fr;
  }
  .company-quality-steps p {
    margin-bottom: 0;
  }
  .company-gallery {
    gap: 24px;
    padding-inline: 0;
  }
}
@media (max-width: 800px) {
  .company-feature .solutions-feature-media {
    contain: none;
  }
  .company-feature .solutions-feature-image {
    aspect-ratio: 3/2;
    height: auto;
  }
  .company-quality-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 26px;
  }
  .company-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .company-capability-grid,
  .company-quality .company-feature,
  .company-gallery,
  .company-process-steps {
    margin-top: 30px;
  }
  .company-page > .manufacturing-cta {
    padding-top: 48px;
  }
}
@media (max-width: 540px) {
  .company-card-grid,
  .company-quality-steps,
  .company-gallery {
    grid-template-columns: 1fr;
  }
  .company-capability-image {
    height: auto;
    aspect-ratio: 2/1;
  }
  .company-documents li {
    font-size: 12px;
  }
  .company-quality-steps > li {
    padding: 18px;
  }
}
