* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    cursor: none !important;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* Asegurar que todos los elementos clickeables también oculten el cursor nativo */
a, 
button, 
.project-card, 
.project-close-btn, 
.menu-item, 
.nav-dot, 
.enter-btn, 
.menu-btn,
article,
[onclick],
[role="button"] {
    cursor: none !important;
}

/* Asegurar que el body y html también oculten el cursor */
html, body {
    cursor: none !important;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-main);
    background: var(--color-bg);
    color: var(--color-primary);
    overflow: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    text-decoration: none;
    color: inherit;
}

button {
    border: none;
    background: none;
    font-family: inherit;
    color: inherit;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
    
}

ul, ol {
    list-style: none;
}

/* Borde decorativo del body */
body::after {
    content: '';
    position: fixed;
    top: 6px;
    left: 6px;
    right: 6px;
    bottom: 6px;
    border: 2px solid var(--color-primary);
    border-radius: 10px;
    pointer-events: none;
    z-index: 999;
}