body {
      margin: 0;
      font-family: 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', sans-serif;
      line-height: 1.6;
      background: linear-gradient(135deg, #f5f7fa 0%, #e4e8eb 100%);
      color: #333;
      transition: background 0.3s ease, color 0.3s ease;
    }

    /* Navigation Bar */
    .navbar {
      background: linear-gradient(135deg, #0f2027 0%, #203a43 50%, #2c5364 100%);
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      padding: 0 10px;
      box-shadow: 0 4px 20px rgba(0,0,0,0.2);
      position: sticky;
      top: 0;
      z-index: 100;
    }

    .navbar a {
      color: #ffffff;
      padding: 16px 20px;
      text-decoration: none;
      text-align: center;
      transition: all 0.4s ease;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 1.2px;
      font-size: 14px;
      position: relative;
    }

    .navbar a:hover {
      background: rgba(255,255,255,0.15);
      transform: translateY(-3px);
    }

    .navbar a:after {
      content: '';
      position: absolute;
      width: 0;
      height: 3px;
      bottom: 0;
      left: 50%;
      background: #4fc3f7;
      transition: all 0.3s ease;
    }

    .navbar a:hover:after {
      width: 70%;
      left: 15%;
    }
    
    .arrow {
        font-size: 10px;
        margin-left: 5px;
    }

    /* Dropdown styles */
    .dropdown {
      position: relative;
      display: inline-block;
    }

    .dropdown-content {
      display: none; /* Hidden by default on desktop */
      position: absolute;
      background-color: #2c5364;
      min-width: 200px;
      box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
      z-index: 1;
    }

    .dropdown-content a {
      color: white;
      padding: 12px 16px;
      text-decoration: none;
      display: block;
      text-align: left;
    }

    .dropdown-content a:hover {
        background-color: rgba(255,255,255,0.15);
    }

    .dropdown:hover .dropdown-content {
      display: block; /* Show on hover for desktop */
    }

    .dropbtn {
        border: none;
        background: none;
        color: white;
        padding: 16px 20px;
        text-decoration: none;
        text-align: center;
        transition: all 0.4s ease;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1.2px;
        font-size: 14px;
        font-family: 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', sans-serif;
        cursor: pointer;
    }

    .dropbtn:hover {
        background: rgba(255,255,255,0.15);
        transform: translateY(-3px);
    }

    /* Hamburger menu */
    .menu-toggle {
      display: none;
      flex-direction: column;
      cursor: pointer;
      margin: 10px;
    }

    .menu-toggle div {
      width: 25px;
      height: 3px;
      background: white;
      margin: 4px 0;
    }

    @media screen and (max-width: 768px) {
      .navbar {
        flex-direction: column;
        align-items: flex-start;
      }

      .navbar a:not(.dropbtn) {
        display: none; /* Hide top-level links initially on mobile */
        width: 100%;
        text-align: left;
        padding: 12px 20px;
      }
      
      .dropdown {
          display: none; /* Hide dropdowns initially on mobile */
          width: 100%;
      }

      .navbar.active a:not(.dropbtn), .navbar.active .dropdown {
        display: block; /* Show when navbar is active (menu open) */
      }

      .menu-toggle {
        display: flex;
      }
      
      .dropbtn {
          width: 100%;
          text-align: left;
          padding: 12px 20px;
      }
      
      .dropdown-content {
        position: static; /* Stack dropdown content vertically on mobile */
        display: block; /* Always render for max-height transition */
        width: 100%;
        padding-left: 20px;
        background-color: transparent; /* No background for nested lists */
        box-shadow: none;

        max-height: 0; /* Initially hidden with transition */
        overflow: hidden;
        transition: max-height 0.4s ease-out; /* Smooth slide effect */
      }

      .dropdown.active .dropdown-content {
          max-height: 500px; /* Expand to show content (adjust if content is taller) */
      }

      .dropbtn:active, .dropbtn:focus { /* Visual feedback on tap/focus for mobile */
          background: rgba(255,255,255,0.15);
      }
    }

    /* Hero Header */
    .hero {
      background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
      color: white;
      padding: 80px 30px;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    .hero-content {
      max-width: 900px;
      margin: 0 auto;
      position: relative;
      z-index: 2;
    }

    .hero h1 {
      font-size: 3rem;
      margin: 20px 0;
    }

    .hero p {
      font-size: 1.4rem;
      opacity: 0.9;
    }

    .hero-tagline {
      display: inline-block;
      background: rgba(255,255,255,0.15);
      padding: 8px 20px;
      border-radius: 50px;
      margin-top: 20px;
    }

    /* Sections */
    .content {
      padding: 50px 30px;
      max-width: 1200px;
      margin: 0 auto;
    }

    section {
      margin: 40px 0;
      padding: 40px;
      border-radius: 12px;
      box-shadow: 0 8px 25px rgba(0,0,0,0.08);
      background: white;
      position: relative;
    }

    section:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 5px;
      height: 100%;
      background: linear-gradient(to bottom, #667eea, #764ba2);
    }

    h2 {
      color: #2c3e50;
      font-size: 2rem;
    }

    p {
      font-size: 1.1rem;
      line-height: 1.8;
      color: #555;
    }

    /* Styles for nested sub-sections */
    .sub-sections {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 30px;
        margin-top: 30px;
    }

    .sub-sections section {
        margin: 0; /* Override main section margin */
        padding: 30px; /* Smaller padding for sub-sections */
        box-shadow: 0 4px 15px rgba(0,0,0,0.05); /* Lighter shadow */
        border-left: none; /* Remove the prominent left bar from main sections */
        background: #fdfdfd; /* Slightly different background for sub-sections */
        border-radius: 8px; /* Slightly smaller radius for nested sections */
    }

    .sub-sections section:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 3px; /* Thinner border for sub-sections */
        height: 100%;
        background: linear-gradient(to bottom, #4fc3f7, #667eea); /* A different, perhaps subtler gradient */
    }

    .sub-sections section h3 {
        font-size: 1.5rem; /* Smaller heading for sub-sections */
        margin-top: 0;
        color: #2c3e50;
    }

    /* Specific styling for Bioinformatics sub-sub-section */
    .sub-sub-section {
        margin-top: 20px;
        padding-top: 20px;
        border-top: 1px dashed #ccc; /* Visual separator */
        margin-left: -30px; /* Offset to align with parent section's left edge */
        margin-right: -30px; /* Offset to align with parent section's right edge */
        padding-left: 30px;
        padding-right: 30px;
    }

    .sub-sub-section section {
        padding: 20px;
        background: #fafafa; /* Even lighter background */
        box-shadow: none; /* Remove shadow for sub-sub */
        border-radius: 8px;
        border: 1px solid #eee; /* Outline it */
        margin: 0; /* Ensure no extra margin */
    }

    .sub-sub-section section h4 {
        font-size: 1.2rem;
        margin-top: 0;
        color: #2c3e50;
    }


    /* Optional: Specific About Section Styles */
#about-us {
  padding: 60px 30px;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.05);
  max-width: 1200px;
  margin: 40px auto;
}

#about-us h1 {
  font-size: 2.5rem;
  color: #2c3e50;
  margin-bottom: 20px;
}

#about-us ul {
  padding-left: 20px;
}

#about-us li {
  margin-bottom: 10px;
  font-size: 1.1rem;
  color: #444;
}


    /* Footer */
    footer {
      background: #203a43;
      color: #fff;
      text-align: center;
      padding: 20px 15px;
      font-size: 0.9rem;
      margin-top: 50px;
    }

    footer a {
      color: #4fc3f7;
      margin: 0 8px;
      text-decoration: none;
    }

    .social-links {
      margin-top: 12px;
      font-size: 1.3rem;
    }

    .social-links a {
      margin: 0 12px;
    }

    /* Back to top button */
    #backToTop {
      position: fixed;
      bottom: 30px;
      right: 30px;
      background: #667eea;
      color: white;
      border: none;
      border-radius: 50%;
      padding: 12px 16px;
      font-size: 18px;
      cursor: pointer;
      box-shadow: 0 6px 10px rgba(0,0,0,0.2);
      display: none;
      z-index: 99;
    }

    #backToTop:hover {
      background: #556cd6;
    }

    /* Theme toggle */
    .theme-toggle {
      position: fixed;
      top: 20px;
      right: 20px;
      background: #4fc3f7;
      border: none;
      padding: 8px 12px;
      border-radius: 6px;
      cursor: pointer;
      color: #fff;
      font-weight: bold;
      z-index: 99;
    }

    /* Dark Mode Specific Styles */
    .dark-mode {
      background: #121212;
      color: #ddd;
    }

    .dark-mode section {
      background: #1e1e1e;
    }

    .dark-mode h2 {
      color: #9cdcfe; /* Lighter color for main headings in dark mode */
    }

    .dark-mode p {
      color: #c8c8c8; /* Lighter color for text */
    }

    .dark-mode footer {
        background: #0f1a1d; /* Slightly darker footer for contrast */
    }

    .dark-mode .sub-sections section {
        background: #282828; /* Dark mode background for nested sections */
    }

    .dark-mode .sub-sections section h3 {
        color: #ddd;
    }

    .dark-mode .sub-sub-section {
        border-top: 1px dashed #444;
    }

    .dark-mode .sub-sub-section section {
        background: #333;
        border: 1px solid #555;
    }

    .dark-mode .sub-sub-section section h4 {
        color: #eee;
    }

    .dark-mode #metaphysics {
  background: #1e1e1e;
  color: #ccc;
}