/* Company page — mobile-first. Mockup has 3 frames (mobile 390 / tablet 834 / desktop 1440),
   so breakpoints below only add 834px and 1440px — no 1200px tier, matching company.dc.html. */

/* ---------- Hero ---------- */
.company-hero {
  padding: var(--dl-space-4) var(--dl-gutter-mobile) var(--dl-space-3);
  display: flex; flex-direction: column; gap: var(--dl-space-2);
}
.company-hero__eyebrow {
  font-family: var(--dl-font-mono); font-size: 11px; letter-spacing: 0.1em;
  color: var(--dl-text-accent); text-transform: uppercase;
}
.company-hero__title {
  font-size: var(--dl-h1-size-mobile); font-weight: var(--dl-weight-semibold);
  line-height: var(--dl-h1-lh); letter-spacing: var(--dl-h1-tracking);
  text-wrap: pretty;
}
.company-hero__lead {
  font-size: var(--dl-body-size-mobile); line-height: var(--dl-body-lh);
  color: var(--dl-text-body); max-width: var(--dl-text-measure);
}
@media (min-width: 834px) {
  .company-hero { padding: var(--dl-space-6) var(--dl-gutter-tablet) var(--dl-space-5); gap: var(--dl-space-3); }
}
@media (min-width: 1440px) {
  .company-hero { padding: var(--dl-space-8) var(--dl-gutter-desktop) var(--dl-space-7); gap: var(--dl-space-4); }
  .company-hero__title { font-size: var(--dl-h1-size); }
  .company-hero__lead { font-size: var(--dl-body-size); }
}

/* ---------- Content blocks (What we develop / Operating thesis / Software + instruments /
   Current product ecosystem / Supported workflows + safety / Company details) ---------- */
.company-block {
  border-top: var(--dl-border-hairline) solid var(--dl-border-default);
  padding: var(--dl-space-4) var(--dl-gutter-mobile);
  display: flex; flex-direction: column; gap: var(--dl-space-2);
}
.company-block__label {
  display: none;
  font-family: var(--dl-font-mono); font-size: 11px; color: var(--dl-text-accent); text-transform: uppercase;
}
.company-block__text {
  margin: 0; font-size: var(--dl-body-small-size); line-height: var(--dl-body-lh);
  color: var(--dl-text-body); max-width: var(--dl-text-measure);
}
.company-block__text--thesis {
  font-size: 19px; font-weight: var(--dl-weight-medium); line-height: 1.4;
  color: var(--dl-text-primary); max-width: 42ch;
}
@media (min-width: 834px) {
  .company-block { padding: var(--dl-space-5) var(--dl-gutter-tablet); }
  .company-block__label { display: block; }
  .company-block__text--thesis { font-size: 22px; }
}
@media (min-width: 1440px) {
  .company-block {
    padding: var(--dl-space-7) var(--dl-gutter-desktop);
    display: grid; grid-template-columns: 220px 1fr; gap: var(--dl-space-5); align-items: start;
  }
  .company-block__text { font-size: var(--dl-body-size); }
  .company-block__text--thesis { font-size: 26px; max-width: 44ch; }
}

/* ---------- Current product ecosystem grid ---------- */
.company-ecosystem { display: flex; flex-direction: column; gap: var(--dl-space-2); }
.company-ecosystem__card {
  border: var(--dl-border-hairline) solid var(--dl-border-default);
  padding: var(--dl-space-3);
  display: flex; flex-direction: column; gap: var(--dl-inline-gap-tight);
  transition: background var(--dl-duration-fast) var(--dl-ease);
}
.company-ecosystem__card:hover { background: var(--dl-steel-100); }
.company-ecosystem__kind {
  font-family: var(--dl-font-mono); font-size: 11px; color: var(--dl-text-secondary); text-transform: uppercase;
}
.company-ecosystem__name {
  font-size: var(--dl-body-large-size-mobile); font-weight: var(--dl-weight-semibold); color: var(--dl-text-primary);
}
.company-ecosystem__desc { font-size: var(--dl-body-small-size); line-height: var(--dl-body-small-lh); color: var(--dl-text-body); }
@media (min-width: 1440px) {
  .company-ecosystem { display: grid; grid-template-columns: 1fr 1fr; gap: var(--dl-space-2); }
  .company-ecosystem__name { font-size: var(--dl-body-large-size); }
}

/* ---------- Company details: prose below 1440, definition list at 1440+ ---------- */
.company-details__prose { margin: 0; font-size: var(--dl-body-small-size); line-height: 1.7; color: var(--dl-text-body); }
.company-details__table { display: none; }
@media (min-width: 1440px) {
  .company-details__prose { display: none; }
  .company-details__table { display: grid; grid-template-columns: 200px 1fr; gap: 0; max-width: 760px; }
  .company-details__table dt {
    font-family: var(--dl-font-mono); font-size: 11px; color: var(--dl-text-secondary); text-transform: uppercase;
    padding: 11px 0; border-top: var(--dl-border-hairline) solid var(--dl-border-default);
  }
  .company-details__table dd {
    font-size: 15px; padding: 11px 0; border-top: var(--dl-border-hairline) solid var(--dl-border-default);
  }
}

/* ---------- Contact CTA ---------- */
.company-cta {
  border-top: var(--dl-border-hairline) solid var(--dl-border-default);
  padding: var(--dl-space-4) var(--dl-gutter-mobile);
  display: flex; flex-direction: column; gap: var(--dl-space-2);
}
.company-cta__text { font-size: 17px; font-weight: var(--dl-weight-semibold); line-height: 1.4; }
@media (min-width: 834px) {
  .company-cta {
    padding: var(--dl-space-5) var(--dl-gutter-tablet);
    flex-direction: row; align-items: center; justify-content: space-between; gap: var(--dl-space-3);
  }
  .company-cta .btn { flex: none; }
}
@media (min-width: 1440px) {
  .company-cta { padding: var(--dl-space-6) var(--dl-gutter-desktop); }
  .company-cta__text { font-size: 20px; max-width: 520px; }
}
