/* Typography pass after Apple's "The Details of UI Typography". Tracking and
   leading change with size instead of one value everywhere, marketing type is
   sized in rem so a reader's own text-size setting carries through, and
   headings balance their lines. At the default 16px root every size matches
   the existing scale; only spacing moves. The illustrative product surfaces
   stay in px because they sit inside fixed-height frames. */

/* ---- Display: the larger the type, the tighter the tracking and leading ---- */
.ops-home .hero h1 {
  font-size: clamp(1.875rem, 3.8vw, 3.125rem);
  line-height: 1.06;
  letter-spacing: -0.024em;
}
.ops-home :is(.section-heading, .industry-heading, .trust-experience, .closing-experience, .custom-experience) h2 {
  font-size: clamp(1.75rem, 3.7vw, 3rem);
  line-height: 1.06;
  letter-spacing: -0.022em;
  text-wrap: balance;
}
.ops-home #sector-title {
  font-size: 2.375rem;
  line-height: 1.06;
  letter-spacing: -0.022em;
  text-wrap: balance;
}
.ops-home .sector-card h3 {
  font-size: 1.8125rem;
  line-height: 1.08;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
.ops-home .demo-workspace h3 { letter-spacing: -0.015em; }
.ops-home .trust-experience > div article h3 { font-size: 0.9375rem; letter-spacing: -0.01em; }

/* Phone sizes sit near body size, so they need less tightening and more air. */
@media (max-width: 600px) {
  .ops-home .hero h1 {
    font-size: clamp(1.625rem, 7.7vw, 1.875rem);
    line-height: 1.1;
    letter-spacing: -0.016em;
  }
  .ops-home :is(.section-heading, .industry-heading, .trust-experience, .closing-experience, .custom-experience) h2 {
    line-height: 1.1;
    letter-spacing: -0.016em;
  }
  .ops-home #sector-title { font-size: 2rem; letter-spacing: -0.018em; }
}

/* ---- Body: near-zero tracking, comfortable leading, rem sizes ---- */
.ops-home .sector-card p { font-size: 0.8125rem; }
.ops-home .trust-lead,
.ops-home .custom-experience p { font-size: 0.9375rem; }
.ops-home .trust-experience > div article p,
.ops-home .portfolio-detail { font-size: 0.875rem; }
.ops-home .capability-list p { font-size: 0.8125rem; }
.ops-home .closing-lead { font-size: 1.0625rem; }
@media (max-width: 600px) { .ops-home .closing-lead { font-size: 0.9375rem; } }
.ops-home .eyebrow { font-size: 0.6875rem; }

/* Small UI text reads better with a touch of space, not less. */
.ops-home :is(.role-line, .sector-open, .solution-caption p) { letter-spacing: 0.01em; }

/* No stranded last words in running copy. */
.ops-home :is(.sector-card p, .trust-lead, .trust-experience article p, .custom-experience p, .detail-intro, .capability-list p, .industry-example p, .solution-caption p) {
  text-wrap: pretty;
}

/* ---- Figures: columns of numbers line up digit for digit ---- */
.ops-home :is(.sx-blotter, .sx-quality-table, .sx-chart-bars b, .sx-position-chart strong, .sx-invoice dd) {
  font-variant-numeric: tabular-nums;
}
