html {
    scroll-behavior: smooth;
}

body {
    background: #f8fafc;
    color: #0f172a;
}

.bg-grid {
    background-image:
        linear-gradient(to right, rgba(148, 163, 184, 0.08) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(148, 163, 184, 0.08) 1px, transparent 1px);
    background-size: 32px 32px;
}

.card-base {
    border: 1px solid rgb(226 232 240);
    background: #ffffff;
    border-radius: 1rem;
    box-shadow: 0 10px 35px rgba(15, 23, 42, 0.08);
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.25rem;
    border-radius: 0.75rem;
    background: #2563eb;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    transition: 0.2s ease;
    text-decoration: none;
}

.btn-primary:hover {
    background: #1d4ed8;
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.25rem;
    border-radius: 0.75rem;
    border: 1px solid rgb(203 213 225);
    background: #ffffff;
    color: #334155;
    font-size: 0.875rem;
    font-weight: 600;
    transition: 0.2s ease;
    text-decoration: none;
}

.btn-secondary:hover {
    background: #f8fafc;
    border-color: rgb(148 163 184);
}

.link-hover {
    transition: 0.2s ease;
}

.link-hover:hover {
    color: #2563eb;
}

/* opcional */
::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 999px;
}