:root {
    font-size: max(14px, 0.5vh);
    font-family: var(--font-family);
    font-optical-sizing: auto;
    font-weight: 200;
    background: black;
    font-style: normal;
}
:root {
    --header-height: 3rem;
    --sidebar-width: 13vw;
    --footer-height: 4vh;

    --sizing-micro:     min(    0.125rem,   0.125vh );
    --sizing-xxs:       min(    0.25rem,    0.25vh  );
    --sizing-xs:        min(    0.5rem,     0.5vh   );
    --sizing-s:         min(    0.75rem,    0.75vh  );
    --sizing-m:         min(    1rem,       1vh     );
    --sizing-l:         min(    1.25rem,    1.25vh  );
    --sizing-xl:        min(    1.75rem,    1.75vh  );
    --sizing-xxl:       min(    2.5rem,     2.5vh   );
    --sizing-xxxl:      min(    3.75rem,    3.75vh  );
    --sizing-mega:      min(    6.25rem,    6.25vh  );
    --sizing-giga:      min(    10rem,      10vh    );
    --sizing-huge:      min(    15rem,      15vh    );

    --spacing-micro:    min(    0.25rem,    0.25vh  );
    --spacing-xxs:      min(    0.5rem,     0.5vh   );
    --spacing-xs:       min(    1rem,       1vh     );
    --spacing-s:        min(    1.5rem,     1.5vh   );
    --spacing-m:        min(    2rem,       2vh     );
    --spacing-l:        min(    2.5rem,     2.5vh   );
    --spacing-xl:       min(    3.5rem,     3.5vh   );
    --spacing-xxl:      min(    5rem,       5vh     );
    --spacing-xxxl:     min(    7.5rem,     7.5vh   );
    --spacing-mega:     min(    12.5rem,    12.5vh  );
    --spacing-giga:     min(    20rem,      20vh    );
    --spacing-huge:     min(    30rem,      30vh    );
}

:root {
    --font-family: 'Montserrat', sans-serif;
    --primary-50:       #f2f9f8;
    --primary-100:      #ddf0f0;
    --primary-200:      #bfe2e2;
    --primary-300:      #92cbce;
    --primary-400:      #5eadb2;
    --primary-500:      #439197;
    --primary-600:      #3a7780;
    --primary-700:      #34626a;
    --primary-800:      #315259;
    --primary-900:      #2d464c;
    --primary-950:      #1a2d32;
    --neutral-50:       #f6f6f6;
    --neutral-100:      #e7e7e7;
    --neutral-200:      #d1d1d1;
    --neutral-300:      #b0b0b0;
    --neutral-400:      #888888;
    --neutral-500:      #6d6d6d;
    --neutral-600:      #5d5d5d;
    --neutral-700:      #4f4f4f;
    --neutral-800:      #454545;
    --neutral-900:      #3d3d3d;
    --neutral-950:      #000000;
    --secondary-50:     #faf7ec;
    --secondary-100:    #f2eecf;
    --secondary-200:    #e7dba1;
    --secondary-300:    #d8c36c;
    --secondary-400:    #ccaa43;
    --secondary-500:    #bc9636;
    --secondary-600:    #a2772c;
    --secondary-700:    #825826;
    --secondary-800:    #6d4926;
    --secondary-900:    #5e3e25;
    --secondary-950:    #362112;
    --danger-50:        #fdf4ef;
    --danger-100:       #fae5da;
    --danger-200:       #f4c9b4;
    --danger-300:       #eca585;
    --danger-400:       #e47653;
    --danger-500:       #dc4e2a;
    --danger-600:       #cf3e27;
    --danger-700:       #ac2d22;
    --danger-800:       #892723;
    --danger-900:       #6f221f;
    --danger-950:       #3c0e0e;
    --success-50:       #f4faeb;
    --success-100:      #e5f4d3;
    --success-200:      #cdeaac;
    --success-300:      #abdb7b;
    --success-400:      #8cca51;
    --success-500:      #6daf33;
    --success-600:      #5c9a29;
    --success-700:      #416b20;
    --success-800:      #36551f;
    --success-900:      #2f491e;
    --success-950:      #16270c;
    --warning-50:       #fdfce9;
    --warning-100:      #fcfac5;
    --warning-200:      #faf48e;
    --warning-300:      #f6e54e;
    --warning-400:      #f2d41d;
    --warning-500:      #ecc411;
    --warning-600:      #c3920b;
    --warning-700:      #9b6a0d;
    --warning-800:      #815412;
    --warning-900:      #6e4415;
    --warning-950:      #402308;
}
html {
    scroll-behavior: smooth;
}