/* --- Base & Layout Styles --- */
html { scroll-behavior: smooth; }
body { margin: 0; padding-top: 80px; font-family: "IBM Plex Sans", sans-serif; background-color: #111; color: #ADD8E6; display: flex; flex-direction: column; align-items: center; overflow-x: hidden; }

/* --- Fixed Top Navigation --- */
nav.top-nav { position: fixed; top: 0; left: 0; width: 100%; background-color: rgba(20, 20, 20, 0.85); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); z-index: 1000; display: flex; justify-content: space-between; align-items: center; padding: 0 40px; height: 80px; box-sizing: border-box; border-bottom: 1px solid #333; }
.nav-logo a { text-decoration: none; display: flex; flex-direction: column; align-items: center; }
.nav-logo img.logo-svg { width: 45px; height: 40px; margin-bottom: 2px; } /* Style for SVG image */
.nav-logo-text { font-size: 1.1em; font-weight: 500; color: #B0E0E6; letter-spacing: 0.05em; line-height: 1; }
.nav-links { list-style: none; display: flex; margin: 0; padding: 0; }
.nav-links li { margin-left: 35px; }
.nav-links a { text-decoration: none; color: #87CEEB; font-size: 1.1em; font-weight: 400; transition: color 0.3s ease; }
.nav-links a:hover, .nav-links a.active { color: #E0FFFF; }

/* --- Hero Text --- */
#tagline { text-align: center; font-size: 3em; font-weight: 100; margin-top: 50px; margin-bottom: 20px; color: #E0FFFF; padding: 0 20px; max-width: 900px; letter-spacing: 0.05em; }
#intro-text { text-align: center; font-size: 1.25em; color: #ADD8E6; padding: 0 20px; margin-bottom: 40px; max-width: 900px; line-height: 1.7; font-weight: 300; }
.highlight { color: #c084fc; font-weight: 500; }

/* --- Visualization Section --- */
.visualization-section { width: 100%; margin: 0 auto 60px auto; box-sizing: border-box; background-color: #161616; border-top: 1px solid #333; border-bottom: 1px solid #333; }
#visualization-container { position: relative; width: 100%; height: 70vh; background-color: #111; overflow: hidden; margin: 0; border: none; }
canvas#canvas { display: block; width: 100%; height: 100%; }

/* --- General Section styles --- */
.section { display: flex; flex-direction: column; align-items: center; padding: 80px 20px 60px 20px; text-align: center; max-width: 900px; width: 100%; box-sizing: border-box; border-top: 1px solid #282828; }
.section h2 { font-size: 2.8em; margin-bottom: 40px; color: #E0FFFF; font-weight: 100; letter-spacing: 0.05em; }
.section h3 { font-size: 1.6em; margin-top: 40px; margin-bottom: 20px; color: #B0E0E6; text-align: left; font-weight: 400; letter-spacing: 0.03em; border-bottom: 1px solid #444; padding-bottom: 10px; }
.section p { font-size: 1.25em; color: #ADD8E6; line-height: 1.7; margin-bottom: 30px; font-weight: 300; max-width: 800px; }
.section ul { list-style: none; padding: 0; text-align: left; max-width: 650px; }
.section li { font-size: 1.15em; color: #ADD8E6; line-height: 1.8; margin-bottom: 18px; font-weight: 300; }
.section li strong { color: #B0E0E6; font-weight: 500; }
#about-section p { text-align: left; }

/* --- Capabilities List --- */
.capabilities-list { list-style: none; padding-left: 0; margin-top: 30px; margin-bottom: 40px; max-width: 750px; margin-left: auto; margin-right: auto; }
.capabilities-list li { padding-left: 2.5em; position: relative; margin-bottom: 15px; font-size: 1.1em; }
.capabilities-list li::before { content: '◆'; color: #a855f7; position: absolute; left: 0; top: 1px; font-size: 1.2em; line-height: 1; }

/* --- About Section Styles --- */
.story-subheading { color: #d8b4fe; font-weight: 600; font-size: 1.8em; margin-top: 40px; margin-bottom: 20px; border-left: 4px solid #a855f7; padding-left: 15px; text-align: left; }
.emphasis { font-style: italic; color: #a855f7; }
.quote-like { font-style: italic; font-size: 1.2em; color: #d8b4fe; text-align: center; margin: 40px auto; padding: 20px; border-left: 3px solid #7e22ce; border-right: 3px solid #7e22ce; max-width: 700px; line-height: 1.6; }

/* --- Tech Section Styles --- */
#tech-section h3 { font-size: 1.6em; margin-top: 40px; margin-bottom: 20px; color: #B0E0E6; text-align: left; font-weight: 400; letter-spacing: 0.03em; border-bottom: 1px solid #444; padding-bottom: 10px; }
#tech-section ul { list-style: disc; padding-left: 40px; margin-left: 0; text-align: left; margin-bottom: 30px; }
#tech-section li { font-size: 1.15em; color: #ADD8E6; line-height: 1.8; margin-bottom: 15px; font-weight: 300; }
#tech-section li strong { color: #B0E0E6; font-weight: 500; }

/* --- Contact Section --- */
#contact-section p { max-width: 600px; margin-bottom: 40px; }
.chat-button { display: inline-block; padding: 15px 35px; background-color: #0078d7; color: #fff; border: none; border-radius: 5px; font-size: 1.2em; font-weight: 500; cursor: pointer; transition: background-color 0.3s ease; margin-top: 20px; }
.chat-button:hover { background-color: #005a9e; }

/* --- Footer --- */
#footer { text-align: center; padding: 30px; font-size: 0.9em; color: #6495ED; margin-top: 60px; border-top: 1px solid #333; width: 100%; box-sizing: border-box; }

/* --- Responsive Styles --- */
@media (max-width: 900px) { nav.top-nav { padding: 0 20px; } img.logo-svg { width: 40px; height: 35px;} .nav-logo-text { font-size: 1em;} .nav-links li { margin-left: 20px; } .nav-links a { font-size: 1em; } }
@media (max-width: 768px) { 
    body { padding-top: 70px; } 
    nav.top-nav { height: 70px; } 
    img.logo-svg { width: 35px; height: 30px;} 
    .nav-logo-text { font-size: 0.9em;} 
    .nav-links li { margin-left: 15px; } 
    .story-subheading { font-size: 1.5em; }
    .quote-like { font-size: 1.1em; }
    #visualization-container { height: 55vh; }
}
@media (max-width: 600px) { 
    nav.top-nav { flex-direction: row; height: 70px; padding: 0 15px; } 
    body { padding-top: 70px; } 
    .nav-links { display: none; } 
    #tagline { font-size: 2em; margin-top: 30px;} 
    #intro-text { margin-bottom: 40px; } 
    #visualization-container { height: 55vh; } 
    .section { padding: 50px 15px 40px 15px; } 
    .section h2 { font-size: 2.2em; } 
    .section h3, .story-subheading { font-size: 1.4em; } 
    .section p { font-size: 1.1em; } 
    .section li, .capabilities-list li { font-size: 1.05em; } 
    .chat-button { padding: 12px 25px; font-size: 1.1em; } 
    .quote-like { font-size: 1em; padding: 15px; }
}
