/* ---------- Base ---------- */
*,
*::before,
*::after {
    box-sizing: border-box
}

html,
body {
    scroll-behavior: smooth;
    overflow-x: hidden
}

body {
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    color: var(--feal-text);
    background: radial-gradient(circle at 20% 30%, var(--feal-bg-light), var(--feal-bg-dark) 80%) fixed;
    background-size: 200% 200%;
    animation: bgShift 25s ease infinite
}

@keyframes bgShift {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0% 50%
    }
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    background: radial-gradient(circle at 50% 20%, rgba(24, 178, 165, .12), transparent 70%);
    pointer-events: none;
    z-index: -1
}

/* ---------- Typography & Links ---------- */
a {
    color: var(--feal-primary);
    text-decoration: none
}

a:hover {
    color: var(--feal-secondary)
}

.text-gradient {
    background: linear-gradient(90deg, var(--feal-primary), var(--feal-secondary));
    -webkit-background-clip: text;
    color: transparent
}