/* SURGICAL CSS RESET */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: initial; }
body { overflow-x: hidden; font-family: 'Inter', sans-serif; background: #050505; }

/* TYPOGRAPHY */
h1, h2, h3, h4 { letter-spacing: -0.06em !important; }

/* LOGO */
.logo-main { 
    width: 100px;
     height: auto;
     filter: brightness(0) invert(1);
     transition: filter 0.3s ease;
 }
/* MARQUEE */
@keyframes marquee { 
    0% { transform: translateX(0); } 
    100% { transform: translateX(-50%); } 
}
.marquee-content { animation: marquee 30s linear infinite; display: flex; width: max-content; }

/* ARCHIVE TEXTURE */
#archive {
    background-image: radial-gradient(rgba(0,0,0,0.05) 1px, transparent 1px);
    background-size: 50px 50px;
}

/* CARDS */
.capability-card { position: relative; border-bottom: 1px solid rgba(255,255,255,0.05); }
.capability-card::after {
    content: ''; position: absolute; bottom: 0; left: 0; 
    width: 0%; height: 2px; background: white; 
    transition: width 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.capability-card:hover::after { width: 100%; }

/* ANIMATION TARGETS (Ensuring opacity is handled by JS) */
.hero-reveal, .capability-card, .method-step, .thesis-item {
    opacity: 0;
}

/* Nav over light sections (archive, footer): darker bar so text stays readable */
#main-nav.nav-over-light {
    background: rgba(0, 0, 0, 0.92);
    border-bottom-color: rgba(0, 0, 0, 0.15);
}
#main-nav.nav-over-light .nav-links a { color: rgb(229, 229, 229); }
#main-nav.nav-over-light .nav-links a:hover { color: #fff; }