/* The key-numbers strip (includes3/key_numbers.ftl): a white band between hairlines right after the homepage hero,
   and at the top of /benchmarks — the layout of dynapictures.com's numbers strip in Chattee's colours. Numbers are
   the brand's dark teal in the heading font with a small lime accent; labels and notes grey, every one of them at
   least 4.5:1 on white.

   No theme utility classes: the purged Lexend theme pins many of them with !important, and a class no linked
   stylesheet defines is what ToolTemplateCssCoverageTest fails on. */

.key-numbers {
  background: #fff;
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  padding: 24px 0 18px;
}

.kn-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 16px;
}

/* For screen readers and the outline: the numbers need a heading, sighted visitors do not. */
.kn-title {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* A phone: two cells per row, the fifth across the whole row. A desktop: one row of five with dividers. */
.kn-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  row-gap: 6px;
}

.kn-grid > .kn-cell:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.kn-cell {
  margin: 0;
  padding: 0 4px;
  min-width: 0;
}

@media (min-width: 992px) {
  .kn-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .kn-grid > .kn-cell:last-child:nth-child(odd) {
    grid-column: auto;
  }

  .kn-cell + .kn-cell {
    border-left: 1px solid #e5e7eb;
  }
}

/* The theme underlines every <a>; a cell is one link, its label underlines on hover. */
.kn-link,
.kn-link:visited,
.kn-link:hover {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  height: 100%;
  padding: 8px 6px;
  border-radius: 12px;
  color: inherit;
  text-align: center;
  text-decoration: none !important;
}

.kn-link:hover .kn-label {
  color: #16404b;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.kn-link:focus-visible {
  outline: 2px solid #16404b;
  outline-offset: 2px;
}

.kn-value {
  position: relative;
  padding-bottom: 10px;
  font-family: var(--heading-font-typeface, inherit);
  font-weight: 700;
  font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem);
  line-height: 1.1;
  color: #16404b;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* #4B5563 on white is 7.6:1. */
.kn-label {
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.35;
  color: #4b5563;
}

.kn-label sup,
.kn-notes sup {
  font-size: 0.72em;
  line-height: 0;
}

/* The bases, on the same screen as the claims. #6B7280 on white is 4.8:1. One basis per line until there is room
   for them to run on. */
.kn-notes {
  margin: 14px auto 0;
  max-width: 1100px;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #6b7280;
  text-align: center;
}

.kn-notes > span {
  display: block;
}

.kn-notes > span + span {
  margin-top: 2px;
}

@media (min-width: 992px) {
  .kn-notes > span {
    display: inline;
  }

  .kn-notes > span + span::before {
    content: " · ";
  }
}

.kn-method,
.kn-method:visited {
  color: #16404b;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}

.kn-method:hover,
.kn-method:focus-visible {
  color: #194a54;
}

/* The theme's dark mode (an .uc-dark ancestor): the same band on black. */
:where(.uc-dark) .key-numbers {
  background: #000;
  border-color: #1f2937;
}

:where(.uc-dark) .kn-cell + .kn-cell {
  border-color: #1f2937;
}

:where(.uc-dark) .kn-value,
:where(.uc-dark) .kn-method {
  color: #e0ffd3;
}

:where(.uc-dark) .kn-label,
:where(.uc-dark) .kn-link:hover .kn-label {
  color: #d1d5db;
}

:where(.uc-dark) .kn-notes {
  color: #9ca3af;
}
