/* assets/css/style.css */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;500;700;900&display=swap');

body {
    font-family: 'Space Grotesk', sans-serif;
    background-color: #0a0a0a;
    color: #ffffff;
    margin: 0;
    overflow-x: hidden;
}

/* GLOBAL BLUEPRINT GRID: Higher contrast for blue dots */
/* Update the grid-bg in your CSS file */
/* assets/css/style.css */

.grid-bg {
    background-color: #0a0a0a;
    background-image: 
        radial-gradient(rgba(0, 71, 171, 0.25) 1.5px, transparent 1.5px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px),
        linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px) !important;
    background-size: 50px 50px, 100px 100px, 100px 100px;
    background-attachment: fixed;
    position: relative; /* CRITICAL: Allows the ::after element to position itself */
    min-height: 100vh;
}

/* THE SCANNER LINE RE-ACTIVATED */
/* assets/css/style.css */

body {
    position: relative; /* Required for the absolute line to track the full height */
    min-height: 100vh;
}

.grid-bg::after {
    content: "";
    position: absolute; /* Changed from fixed to absolute */
    top: 0; 
    left: 0;
    width: 100%; 
    height: 2px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(0, 71, 171, 0.6) 50%, 
        transparent 100%);
    /* We increase the duration because it has more ground to cover now */
    animation: globalScan 15s linear infinite;
    opacity: 0.4;
    pointer-events: none;
    z-index: 50; /* High z-index to stay visible over all sections */
}

@keyframes globalScan {
    0% { top: 0%; }
    100% { top: 100%; }
}