/* Global reset - prevent horizontal overflow */
*, *::before, *::after {
    box-sizing: border-box;
}

html, body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100vw;
    margin: 0;
    padding: 0;
}

/* Nav text - default white for dark sections */
#nav .nav-logo,
#nav .nav-link {
    color: #ffffff;
    transition: color 0.2s ease-out;
}
#nav .nav-cta {
    color: #ffffff;
    border-color: #ffffff;
    transition: color 0.2s ease-out, border-color 0.2s ease-out;
}
#nav .lang-toggle-btn {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    transition: all 0.2s ease-out;
}

/* Nav text - black for light sections */
#nav.nav-light .nav-logo,
#nav.nav-light .nav-link {
    color: #0a0a0a;
}
#nav.nav-light .nav-cta {
    color: #0a0a0a;
    border-color: #0a0a0a;
}
#nav.nav-light .lang-toggle-btn {
    color: #0a0a0a;
    background: rgba(10, 10, 10, 0.05);
    border-color: rgba(10, 10, 10, 0.2);
}

/* Lenis overrides */
html.lenis, html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

/* Character animation helper */
.char {
    display: inline-block;
}

/* Line animation helper */
.line {
    display: block;
    overflow: hidden;
}

.line-inner {
    display: block;
}
