:root {
    /* base colors */
    --clr-text-light: #dedede;
    --clr-text-dark: #111111;

    /* special colors */
    --clr-facade: #facade;
    --clr-teal: #39C5BB;

    /* clamp viewports */
    --grow-start: 22.5;
    --grow-fast: 64;
    --grow-regular: 100;

    /* clamp sizes */
    --clamp-s-min: 1;
    --clamp-s-max: 1.25;

    --clamp-m-min: 1.25;
    --clamp-m-max: 1.75;

    --clamp-l-min: 1.625;
    --clamp-l-max: 2.5;

    /* clamp s */
    --clamp-s-fast: clamp(
        calc(var(--clamp-s-min) * 1rem),
        calc(var(--clamp-s-min) * 1rem + (var(--clamp-s-max) - var(--clamp-s-min)) * ((100vw - var(--grow-start) * 1rem) / (var(--grow-fast) - var(--grow-start)))),
        calc(var(--clamp-s-max) * 1rem));
    --clamp-s-regular: clamp(
        calc(var(--clamp-s-min) * 1rem),
        calc(var(--clamp-s-min) * 1rem + (var(--clamp-s-max) - var(--clamp-s-min)) * ((100vw - var(--grow-start) * 1rem) / (var(--grow-regular) - var(--grow-start)))),
        calc(var(--clamp-s-max) * 1rem));

    /* clamp m */
    --clamp-m-fast: clamp(
        calc(var(--clamp-m-min) * 1rem),
        calc(var(--clamp-m-min) * 1rem + (var(--clamp-m-max) - var(--clamp-m-min)) * ((100vw - var(--grow-start) * 1rem) / (var(--grow-fast) - var(--grow-start)))),
        calc(var(--clamp-m-max) * 1rem));
    --clamp-m-regular: clamp(
        calc(var(--clamp-m-min) * 1rem),
        calc(var(--clamp-m-min) * 1rem + (var(--clamp-m-max) - var(--clamp-m-min)) * ((100vw - var(--grow-start) * 1rem) / (var(--grow-regular) - var(--grow-start)))),
        calc(var(--clamp-m-max) * 1rem));

    /* clamp l */
    --clamp-l-fast: clamp(
        calc(var(--clamp-l-min) * 1rem),
        calc(var(--clamp-l-min) * 1rem + (var(--clamp-l-max) - var(--clamp-l-min)) * ((100vw - var(--grow-start) * 1rem) / (var(--grow-fast) - var(--grow-start)))),
        calc(var(--clamp-l-max) * 1rem));
    --clamp-l-regular: clamp(
        calc(var(--clamp-l-min) * 1rem),
        calc(var(--clamp-l-min) * 1rem + (var(--clamp-l-max) - var(--clamp-l-min)) * ((100vw - var(--grow-start) * 1rem) / (var(--grow-regular) - var(--grow-start)))),
        calc(var(--clamp-l-max) * 1rem));
}