.rates {
  inline-size: 100%;
  min-inline-size: 40rem;
  border-collapse: collapse;
  table-layout: fixed;
}

.rates thead th:first-child {
  inline-size: 28%;
}

.rates caption {
  caption-side: top;
  text-align: start;
  padding-block-end: var(--s-2);
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}

.rates th,
.rates td {
  padding: var(--s-2) var(--s-3);
  text-align: start;
  vertical-align: top;
  font-weight: 400;
  border-block-end: var(--rule-thin) solid var(--rule-soft);
}

.rates th:first-child,
.rates td:first-child {
  padding-inline-start: 0;
}

.rates thead th {
  border-block: var(--rule-heavy) solid var(--rule);
  border-block-start-width: var(--rule-thin);
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}

.rates tbody tr:last-child > * {
  border-block-end: var(--rule-thin) solid var(--rule);
}

.rates tbody th {
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}
