:root {
    --bg: #FFFFFF;
    --bg-alt: #F5F5F7;
    --white: #FFFFFF;
    --ink: #1D1D1F;
    --mid: #6E6E73;
    --muted: #A1A1A6;
    --accent: #707DFF;
    --line: #E5E5EA;
    --line-strong: #D2D2D7;
    --surface: #FBFBFD;
}

.bg-primary { background-color: var(--bg); }
.bg-alt { background-color: var(--bg-alt); }


*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    position: relative;
    -webkit-text-size-adjust: 100%;
}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--bg);
    color: var(--ink);
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    min-height: 100vh;
}

/* Noise overlay */
body::before {
    content: '';
    position: fixed;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 100;
    opacity: 0.2;
}

/* Custom Transparent Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.1);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.2);
}

/* For Firefox */
* {
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.1) transparent;
}

/* Layout Utilities */
.section-inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 100px 24px;
    position: relative;
    z-index: 2;
}

@media (max-width: 1366px) {
    .section-inner {
        padding: 80px 48px;
    }
}

@media (max-width: 768px) {
    .section-inner {
        padding: 60px 20px;
    }
}

@media (max-width: 480px) {
    .section-inner {
        padding: 50px 16px;
    }
}

@media (max-width: 410px) {
    html {
        font-size: 88%; 
    }
    
    .section-inner {
        padding: 40px 16px;
    }
}

/* Scaling for Ultra-Large Displays (e.g., 27" 1440p/4K) */
@media (min-width: 1800px) {
    .section-inner {
        max-width: 1400px;
        padding-top: 140px;
        padding-bottom: 140px;
    }
}

@media (min-width: 2400px) {
    .section-inner {
        max-width: 1600px;
        padding-top: 180px;
        padding-bottom: 180px;
    }
}
