:root {
    --safe-area: min(1280px, 100%);
    --primary-color: oklch(0.60 0.2 255);
    --secondary-color: oklch(0.70 0.15 255);
    --tertiary-color: oklch(0.65 0.14 160);
    --quaternary-color: oklch(0.75 0.12 255);
    --cinquary-color: oklch(0.50 0.20 258);
    --dimmed-color: #e6e6e6;
    --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans",
        "Helvetica Neue", sans-serif;
    --font-size-xxs :  clamp(0.60rem, 0.52rem + 0.30vw, 0.70rem);
    --font-size-xs  :  clamp(0.70rem, 0.62rem + 0.30vw, 0.82rem);
    --font-size-sm  :  clamp(0.82rem, 0.73rem + 0.30vw, 0.95rem);
    --font-size-md  :  clamp(0.98rem, 0.88rem + 0.30vw, 1.10rem);
    --font-size-lg  :  clamp(1.10rem, 0.98rem + 0.30vw, 1.25rem);
    --font-size-xl  :  clamp(1.35rem, 1.20rem + 0.8vw, 1.65rem);
    --font-size-2xl :  clamp(1.60rem, 1.5rem + 1.25vw, 2.5rem);
    --font-size-3xl :  clamp(2.50rem, 1.85rem + 1.5vw, 3.5rem);

    --spacing-xxs   :  clamp(0.33rem, 0.29rem + 0.18vw, 0.375rem);
    --spacing-xs    :  clamp(0.39rem, 0.35rem + 0.18vw, 0.45rem);
    --spacing-sm    :  clamp(0.45rem, 0.405rem + 0.18vw, 0.525rem);
    --spacing-md    :  clamp(0.54rem, 0.49rem + 0.18vw, 0.6rem);
    --spacing-lg    :  clamp(0.75rem, 0.66rem + 0.45vw, 0.9rem);
    --spacing-xl    :  clamp(0.9rem, 0.78rem + 0.65vw, 1.2rem);
    --spacing-2xl   :  clamp(1.2rem, 0.93rem + 0.775vw, 1.8rem);
    --spacing-3xl   :  clamp(1.8rem, 1.5rem + 1.5vw, 3.5rem);
    --spacing-4xl   :  clamp(3.5rem, 2rem + 1.875vw, 4.5rem);
    --spacing-5xl   :  clamp(4.5rem, 2.875rem + 1.875vw, 6rem);

    background: var(--primary-color);
    font-family: var(--font-sans);
    letter-spacing: 0.025ch;
}
* {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
:is(h1, h2, h3, h4, h5, h6) {
    text-wrap: balance;
    line-height: 96%;
    margin-block: unset;
}
h1 {
    font-size: var(--font-size-2xl);
    font-weight: 600;
}
h2 {
    font-size: var(--font-size-xl);
    font-weight: 500;
}
h3 {
    font-size: var(--font-size-lg);
    font-weight: 400;
}
h4 {
    font-size: var(--font-size-md);
    font-weight: 400;
}
body {
    margin: 0;
    min-height: 100%;
}
main {
    min-height: 100dvh;
    background: white;
}
a {
    text-decoration: unset;
}
a:focus-visible {
    outline: unset;
}
button {
    cursor: pointer;
    outline: unset;
    font-family: inherit;
    font-size: inherit;
    border: unset;
    padding: 0.75rem 1.25rem;
    border-radius: 4px;
    text-transform: uppercase;
    font-size: var(--font-size-lg);
    color: white;
    font-weight: 600;
    transition: background ease-out 50ms;
    background: var(--primary-color);
}
button:hover, button:active {
    background: var(--secondary-color);
}
ul {
    padding: unset;
}
form {
    user-select: none;
    -webkit-user-select: none;
}
img {
    object-fit: contain;
    user-select: none;
    touch-action: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
}
