/* ==========================================================================
   CSIT Knowledge Hub - Premium Optimized Design System
   ========================================================================== */

:root {
    --bg-dark: #050507;
    --bg-surface: #0c0c10;
    --yellow: #f1c40f;
    --text-main: #f4f4f7;
    --text-muted: #8e8e9a;
    --border-solid: #1c1c24;
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: var(--bg-dark); color: var(--text-main); font-family: 'Inter', sans-serif; }

/* 1. Navbar - Professional Glassmorphism */
.landing-sticky-nav {
    display: flex; justify-content: space-between; align-items: center;
    padding: 1.5rem 5%; background: rgba(5, 5, 7, 0.8);
    backdrop-filter: blur(20px); border-bottom: 1px solid var(--border-solid);
    position: sticky; top: 0; z-index: 1000;
}

.landing-brand-logo { 
    font-size: 1.5rem; font-weight: 900; color: #fff; text-decoration: none; font-family: 'Space Grotesk'; 
}

.nav-links-cluster { display: flex; list-style: none; gap: 2rem; }
.nav-link-item { color: var(--text-muted); text-decoration: none; font-size: 0.95rem; transition: var(--transition); }
.nav-link-item:hover, .nav-link-item.active { color: var(--yellow); }

/* Buttons - Sign In & Get Started */
.nav-auth-actions { display: flex; align-items: center; gap: 1rem; }

.btn-nav-login { color: var(--text-muted); text-decoration: none; font-weight: 500; font-size: 0.9rem; }
.btn-nav-login:hover { color: var(--yellow); }

.btn-nav-register {
    background: var(--yellow); color: #050507; padding: 0.6rem 1.2rem;
    border-radius: 20px; font-weight: 700; text-decoration: none; font-size: 0.9rem;
    transition: var(--transition);
}
.btn-nav-register:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(241, 196, 15, 0.3); }

/* Mobile Navbar */

.mobile-menu-toggle{
    display:none;
    background:none;
    border:none;
    color:var(--yellow);
    font-size:1.8rem;
    cursor:pointer;
}

@media (max-width:768px){

    .landing-sticky-nav{
        padding:1rem 5%;
        flex-wrap:wrap;
    }

    .landing-brand-logo{
        font-size:1.2rem;
    }

    .mobile-menu-toggle{
        display:block;
    }

    .nav-links-cluster{
        display:none;
        width:100%;
        flex-direction:column;
        gap:0;
        margin-top:1rem;
        padding:1rem 0;
        background:rgba(5,5,7,0.98);
        border-top:1px solid rgba(255,255,255,0.08);
    }

    .nav-links-cluster.active{
        display:flex;
    }

    .nav-links-cluster li{
        width:100%;
        text-align:center;
        padding:0.8rem 0;
    }

    .nav-auth-actions{
        display:none;
        width:100%;
        flex-direction:column;
        gap:0.8rem;
        padding:1rem 0;
        background:rgba(5,5,7,0.98);
    }

    .nav-auth-actions.active{
        display:flex;
    }

    .btn-nav-login,
    .btn-nav-register{
        width:90%;
        text-align:center;
        margin:auto;
    }
}

/* 2. Hero Section - Centered Focus */
.landing-hero-viewport {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    min-height: 80vh; text-align: center; padding: 0 10%;
}

.hero-neural-badge {
    background: rgba(241, 196, 15, 0.05); color: var(--yellow);
    padding: 8px 16px; border-radius: 50px; font-size: 0.8rem; font-weight: 700;
    margin-bottom: 2rem; border: 1px solid rgba(241, 196, 15, 0.1);
}

.landing-main-title { font-size: clamp(2.5rem, 6vw, 4.5rem); font-weight: 900; margin-bottom: 1.5rem; line-height: 1.1; }

/* 3. Auth Gateway (Login/Register Pages) */
.auth-gateway-canvas { 
    min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; 
}
.auth-form-container { 
    background: var(--bg-surface); padding: 3rem; border-radius: 24px; 
    border: 1px solid var(--border-solid); width: 100%; max-width: 450px;
}
.auth-input-node { 
    width: 100%; padding: 1rem; background: #050507; border: 1px solid var(--border-solid);
    border-radius: 12px; color: #fff; margin-bottom: 1rem; outline: none;
}
.auth-input-node:focus { border-color: var(--yellow); }

.btn-login-submit {
    width: 100%; padding: 1rem; background: var(--yellow); color: #050507;
    border: none; border-radius: 12px; font-weight: 800; cursor: pointer; transition: var(--transition);
}

/* 4. Responsive Fixes */
@media (max-width: 992px) { 
    .nav-links-cluster { display: none; } /* Mobile navbar logic needs a toggler */
}
/* --- Founder Profile Section (Professional Layout) --- */
.founder-enterprise-profile-card {
    background: linear-gradient(135deg, var(--bg-surface) 0%, #0a0a0d 100%);
    border: 1px solid var(--border-solid);
    display: flex;
    align-items: center;
    gap: 48px;
    padding: 56px;
    border-radius: 32px;
    margin: 60px 0;
    transition: var(--transition);
}

.founder-enterprise-profile-card:hover {
    border-color: rgba(241, 196, 15, 0.2);
}

/* Avatar with a subtle glow */
.founder-avatar-element {
    width: 180px;
    height: 180px;
    border-radius: 24px; /* More modern than full circle */
    object-fit: cover;
    border: 4px solid var(--bg-dark);
    box-shadow: 0 15px 30px rgba(0,0,0,0.5), 0 0 0 1px var(--border-solid);
}

/* Biography Alignment */
.founder-badge-gold {
    color: var(--yellow);
    font-size: 0.8rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.founder-identity-name {
    font-size: 2.25rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    margin-bottom: 16px;
    color: #fff;
}

.founder-profile-narrative {
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--text-muted);
    max-width: 600px;
}

/* Responsive adjustment for Mobile */
@media (max-width: 768px) {
    .founder-enterprise-profile-card {
        flex-direction: column;
        text-align: center;
        padding: 32px;
        gap: 24px;
    }
}
/* --- Master HQ Footer System --- */
.landing-master-footer {
    padding: 80px var(--edge-gap) 40px var(--edge-gap);
    border-top: 1px solid var(--border-solid);
    background: #030305;
    color: var(--text-muted);
}

.footer-top-branding {
    text-align: center;
    margin-bottom: 60px;
}

.footer-logo {
    font-size: 1.8rem;
    font-weight: 900;
    font-family: 'Space Grotesk', sans-serif;
    color: var(--text-main);
    margin-bottom: 16px;
}

.footer-brand-pitch {
    max-width: 500px;
    margin: 0 auto;
    font-size: 1rem;
    line-height: 1.6;
}

/* Footer Bottom Row */
.footer-bottom-copyright {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--border-solid);
    padding-top: 30px;
    font-size: 0.9rem;
}

/* Professional Compliance Status Pill */
.footer-compliance-status-pill {
    background: rgba(34, 197, 94, 0.08);
    color: #4ade80;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(34, 197, 94, 0.15);
}

/* Responsive Fixes */
@media (max-width: 768px) {
    .footer-bottom-copyright {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }
}
.system-code-scrollblock{
    max-height:250px;
    overflow-y:auto;
    padding-right:8px;
}

.system-code-scrollblock::-webkit-scrollbar{
    width:6px;
}

.system-code-scrollblock::-webkit-scrollbar-thumb{
    background:#facc15;
    border-radius:10px;
}

.landing-brand-logo{
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--yellow);
    font-family: 'Space Grotesk', sans-serif;
}

.landing-brand-logo i{
    font-size: 1.6rem;
}

.brand-highlight{
    color: var(--yellow);
}

.landing-brand-logo span:last-child{
    color: #ffffff;
}

.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 1.8rem;
    cursor: pointer;
    color: #ffd700;
}

/* Mobile View */
@media (max-width: 768px) {

    .navbar {
        position: relative;
        flex-wrap: wrap;
    }

    .mobile-menu-toggle {
        display: block;
    }

    .nav-links-cluster,
    .nav-auth-actions {
        display: none;
        width: 100%;
        flex-direction: column;
        text-align: center;
        gap: 15px;
        padding: 15px 0;
        background: #111;
    }

    .nav-links-cluster.active,
    .nav-auth-actions.active {
        display: flex;
    }

    .nav-link-item {
        display: block;
        padding: 10px;
    }
}
.footer-legal-links{
    display:flex;
    justify-content:center;
    gap:25px;
    flex-wrap:wrap;
    margin:20px 0;
}

.footer-legal-links a{
    color:#b0b0b0;
    text-decoration:none;
    font-size:14px;
    transition:.3s;
}

.footer-legal-links a:hover{
    color:var(--yellow);
}
/* ==========================================================================
   LEGAL PAGES ECOSYSTEM
   ========================================================================== */

.legal-page-wrapper{
    min-height:100vh;
    padding:80px 20px;
    background:var(--bg);
}

.legal-container{
    max-width:1100px;
    margin:0 auto;
}

.legal-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:24px;
    padding:50px;
    transition:var(--transition-smooth);
}

.legal-card:hover{
    border-color:var(--yellow);
    box-shadow:0 12px 25px var(--shadow-glow);
}

.legal-title{
    color:var(--yellow);
    font-size:clamp(2rem,4vw,3rem);
    font-weight:800;
    margin-bottom:15px;
}

.legal-updated{
    color:var(--muted);
    margin-bottom:40px;
    font-size:14px;
}

.legal-section{
    margin-bottom:35px;
}

.legal-section h2{
    color:var(--white);
    font-size:1.3rem;
    margin-bottom:12px;
}

.legal-section p,
.legal-section li{
    color:var(--muted);
    line-height:1.9;
}

.legal-section ul{
    padding-left:22px;
}

@media(max-width:768px){

    .legal-page-wrapper{
        padding:40px 15px;
    }

    .legal-card{
        padding:25px;
        border-radius:18px;
    }

    .legal-title{
        font-size:2rem;
    }
}
