.foo {
  font-size: calc(1rem + 2 * ((100vw - 26.25rem) / 53.75));
  --font-size: calc(1rem + 2 * ((100vw - 26.25rem) / 53.75));
}

@media screen and (min-width: 1280px) {

  .foo {
    font-size: 3rem;
    --font-size: 3rem;
  }
}

@media screen and (max-width: 420px) {

  .foo {
    font-size: 1rem;
    --font-size: 1rem;
  }
}

.bar {
  font-size: calc(1rem + 2 * ((100vw - 20em) / 40));
  --font-size: calc(1rem + 2 * ((100vw - 20em) / 40));
}

@media screen and (min-width: 60em) {

  .bar {
    font-size: 3rem;
    --font-size: 3rem;
  }
}

@media screen and (max-width: 20em) {

  .bar {
    font-size: 1rem;
    --font-size: 1rem;
  }
}

.baz {
  font-size: calc(1em + 2 * ((100vw - undefined) / NaN));
  --font-size: calc(1em + 2 * ((100vw - undefined) / NaN));
}

@media screen and (min-width: 1280px) {

  .baz {
    font-size: 3em;
    --font-size: 3em;
  }
}

@media screen and (max-width: 420px) {

  .baz {
    font-size: 1em;
    --font-size: 1em;
  }
}
