/* Site-wide type: Plus Jakarta Sans for headings, labels and numbers, balanced line breaks, one sentence per line
   in headings (with a rise-in and a marked last line on short statements), and outlined numbers for steps. */
:root {
  --mono: 'Plus Jakarta Sans', 'DM Sans', system-ui, sans-serif;
  --vs-head: 'Plus Jakarta Sans', 'DM Sans', system-ui, sans-serif;
}
h1,
h2,
h3,
h4,
.h1,
.h2,
.h3 {
  font-family: var(--vs-head) !important;
  font-optical-sizing: auto;
  text-wrap: balance;
}
p,
li,
dd,
blockquote {
  text-wrap: pretty;
}

/* one sentence per line */
.vs-line {
  display: block;
}
.vs-rise .vs-line {
  opacity: 0;
  transform: translateY(0.45em);
  transition:
    opacity 0.6s cubic-bezier(0.2, 0.8, 0.2, 1),
    transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition-delay: calc(var(--vs-i, 0) * 140ms);
}
.vs-rise.vs-in .vs-line {
  opacity: 1;
  transform: none;
}
.vs-mark {
  background: linear-gradient(transparent 60%, #cbfb45 60%, #cbfb45 90%, transparent 90%);
  padding: 0 0.06em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  color: inherit;
}

/* outlined numbers */
.sv-num,
.sv-steps li > span:first-child,
.hm-pill,
.hm-jt span,
.ft2-index i,
.sp-step .eyebrow,
.ht-prob-grid b,
.strip > div > span:first-child,
.ab-stat strong {
  font-family: var(--vs-head) !important;
  font-weight: 800 !important;
  font-style: normal;
  letter-spacing: -0.04em !important;
  line-height: 0.9 !important;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1.4px currentColor;
  text-transform: none !important;
}
.sv-num {
  display: block;
  font-size: 54px !important;
  color: var(--ink, #131511);
}
.sv-feat:hover .sv-num {
  -webkit-text-fill-color: #cbfb45;
}
.sv-steps li > span:first-child {
  justify-self: start;
  width: auto !important;
  height: auto !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 48px !important;
  color: var(--ink, #131511) !important;
  padding: 0 12px 0 0 !important;
}
.sv-steps li.done > span:first-child {
  -webkit-text-fill-color: #cbfb45;
}
.hm-pill {
  border: 0 !important;
  background: none !important;
  padding: 0 !important;
  font-size: 60px !important;
}
.hm-jt span {
  display: block;
  font-size: 36px !important;
}
.hm-jt.on span,
.hm-jt[aria-selected='true'] span {
  -webkit-text-fill-color: #cbfb45;
  -webkit-text-stroke-color: #131511;
}
.ft2-index i {
  font-size: 22px !important;
  -webkit-text-stroke-width: 1px;
}
.sp-step .eyebrow,
.ht-prob-grid b {
  display: block;
  font-size: 58px !important;
}
.strip > div > span:first-child {
  display: block;
  font-size: 46px !important;
}
.ab-stat strong {
  display: block;
  font-size: 70px !important;
}
@media (prefers-reduced-motion: reduce) {
  .vs-rise .vs-line {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* even spacing between sections on every page */
section {
  padding-block: clamp(56px, 7vw, 88px);
}
.vs-case {
  display: block;
  margin-bottom: 6px;
  font-family: var(--vs-head);
  font-size: 20px;
  letter-spacing: -0.02em;
  color: var(--ink, #131511);
}
.vh-tx b,
.vh-tab b,
.vh-dark > b,
.vh-logo,
.vh-top,
.vf-col h2 {
  font-family: var(--vs-head);
}
