/* ========================================
   BASE & RESET
   ======================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Prevent overflow */
section, main, article, div {
    max-width: 100%;
}

section {
    overflow-x: hidden;
    width: 100%;
    position: relative;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden !important;
    overflow-y: scroll !important;
    width: 100vw;
    height: 100%;
    scrollbar-gutter: stable;
    font-size: 14.4px;
}

body {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    cursor: none;
    transition: background-color 0.3s, color 0.3s;
    font-weight: 400;
    font-size: 1rem;
    overflow-x: hidden !important;
    overflow-y: visible;
    width: 100%;
    max-width: 100vw;
    min-height: 100vh;
    position: relative;
}

body.dark-mode {
    background-color: #0a0a0a;
    color: #e0e0e0;
}
