/* Site-wide legibility floor: no labels, hints, status text, or legal copy below 17px. */
html {
  font-size: 18px;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  font-size: 18px;
  line-height: 1.55;
}

body * {
  font-size: max(17px, 1em) !important;
}

body h1 {
  font-size: max(34px, 1em) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.035em;
}

body h2 {
  font-size: max(25px, 1em) !important;
  line-height: 1.25 !important;
}

body h3 {
  font-size: max(21px, 1em) !important;
  line-height: 1.3 !important;
}

body h4,
body .brand {
  font-size: max(19px, 1em) !important;
}

body .brand-mark,
body .mini-logo {
  font-size: 24px !important;
}

body .stat-value {
  font-size: 32px !important;
}

body .stat-value small,
body .art-big-number span {
  font-size: 19px !important;
}

button,
input,
select,
textarea {
  min-height: 44px;
  line-height: 1.35;
}

body .button,
body .button.compact {
  min-height: 44px;
  height: auto;
  padding-block: 9px;
}

body .icon-button {
  width: 44px;
  height: 44px;
}

body .legal-consent {
  font-size: 17px !important;
  line-height: 1.55 !important;
}

body .legal-consent input {
  width: 22px;
  height: 22px;
  min-height: 22px;
  margin-top: 2px;
}

body .chart-axis,
body .chart-y {
  font-size: 17px !important;
}

body .chart-axis {
  flex-wrap: wrap;
  gap: 8px 14px;
}

body .art-float {
  left: 50% !important;
  top: 196px;
  width: min(320px, calc(100% - 24px));
  max-width: calc(100% - 24px);
  white-space: normal;
  transform: translateX(-50%) !important;
}

body .art-float div {
  min-width: 0;
}

body .art-axis {
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 10px;
}

body .legal-document {
  max-width: 820px;
}

body .legal-document p {
  font-size: 17px !important;
  line-height: 1.8 !important;
}

body .legal-draft,
body .legal-footer,
body .legal-header nav a,
body .legal-header select {
  font-size: 17px !important;
  line-height: 1.6 !important;
}

@media (max-width: 850px) {
  body h1 {
    font-size: max(30px, 1em) !important;
  }

  body .art-float {
    display: none !important;
  }
}

@media (max-width: 620px) {
  body h1 {
    font-size: max(28px, 1em) !important;
  }

  body .legal-header {
    height: auto;
    min-height: 60px;
    padding-block: 10px;
    flex-wrap: wrap;
    gap: 10px;
  }

  body .legal-header nav {
    width: 100%;
    justify-content: space-between;
    gap: 8px;
  }

  body .legal-header nav a,
  body .legal-header select {
    font-size: 17px !important;
  }

  body .legal-document {
    padding: 24px 20px;
  }

  body .chart-axis {
    justify-content: flex-start;
  }

  body .status-pill {
    max-width: 100%;
    white-space: normal;
  }
}
