/* Floating Header Component Styles */ .floating-header { position: fixed; top: 0; left: 0; right: 0; width: 100%; z-index: 1000; padding: 20px 0px; text-align: center; background: rgba(52, 87, 245, 0.1); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255, 255, 255, 0.2); margin: 0; box-sizing: border-box; } .header-nav { display: flex; justify-content: center; gap: clamp(8px, 2vw, 32px); flex-wrap: nowrap; padding: 0 20px; } .nav-link { text-decoration: none; color: rgba(255, 255, 255, 0.8); font-family: "roboto, sans-serif"; font-size: clamp(14px, 2vw, 20px); font-weight: 500; transition: all 0.3s ease; position: relative; padding-bottom: 5px; white-space: nowrap; } .nav-link:hover { color: rgba(255, 255, 255, 1); } .nav-link::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: rgba(255, 255, 255, 0.8); transition: width 0.3s ease; } .nav-link:hover::after { width: 100%; } .nav-link.active { color: rgba(255, 255, 255, 1); } .nav-link.active::after { width: 100%; } /* Mobile Navigation Styles */ .header-content { display: flex; justify-content: center; align-items: center; width: 100%; max-width: 1200px; margin: 0 auto; } .mobile-page-title { display: none; /* Hidden on desktop */ } .mobile-toggle { display: none; flex-direction: column; justify-content: space-between; width: 30px; height: 21px; background: transparent; border: none; cursor: pointer; z-index: 1001; padding: 0; } .hamburger-line { width: 100%; height: 3px; background-color: rgba(255, 255, 255, 0.9); border-radius: 3px; transition: all 0.3s ease; } @media (max-width: 1024px) { .floating-header { padding: 15px 20px; text-align: left; } .mobile-page-title { display: block; color: white; font-size: 1.2rem; font-weight: 700; letter-spacing: 0.5px; z-index: 1001; /* Ensure visible above nav overlay if needed, though nav usually covers content */ position: relative; } .header-content { justify-content: space-between; /* Push title left, hamburger right */ } .mobile-toggle { display: flex; } /* Animate Hamburger to X */ .mobile-toggle.open .hamburger-line:nth-child(1) { transform: translateY(9px) rotate(45deg); } .mobile-toggle.open .hamburger-line:nth-child(2) { opacity: 0; } .mobile-toggle.open .hamburger-line:nth-child(3) { transform: translateY(-9px) rotate(-45deg); } .header-nav { position: fixed; top: 0; left: 0; right: 0; bottom: 0; height: 100vh; background: rgba(10, 10, 30, 0.95); backdrop-filter: blur(15px); flex-direction: column; justify-content: center; align-items: center; gap: 30px; transform: translateX(100%); transition: transform 0.3s ease-in-out; z-index: 999; /* Below toggle button */ padding: 0; } .header-nav.is-open { transform: translateX(0); } .nav-link { font-size: 24px; padding: 10px 0; } }