/* Explain: Base document styles and motion defaults for GrowthSignal */
* {
    box-sizing: border-box;
}

html {
    background: var(--background-color);
    scroll-padding-top: 24px;
}

body {
    overflow-x: hidden;
    background:
        radial-gradient(circle at 18% 8%, rgba(37, 99, 235, 0.28), transparent 32rem),
        radial-gradient(circle at 88% 12%, rgba(34, 197, 94, 0.18), transparent 28rem),
        var(--background-color);
}

button,
a,
select {
    cursor: pointer;
}

input,
textarea,
select {
    color: var(--graphite-color);
}

input::placeholder,
textarea::placeholder {
    color: #94A3B8;
}

::selection {
    background: var(--signal-green);
    color: var(--midnight-color);
}

.reveal-on-scroll {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 700ms ease, transform 700ms ease;
}

.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }

    .reveal-on-scroll {
        opacity: 1;
        transform: none;
    }
}
