:root { --electric-blue: #0066ff; --neon-purple: #9d00ff; --dark-slate: #0f172a; --light-text: #f8fafc; --dark-text: #1e293b; --glass-bg: rgba(255, 255, 255, 0.1); --glass-border: rgba(255, 255, 255, 0.2); --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); --transition-base: all 0.3s ease; --transition-slow: all 0.5s ease; } @media (prefers-color-scheme: dark) { :root { --light-text: #1e293b; --dark-text: #f8fafc; --glass-bg: rgba(15, 23, 42, 0.7); --glass-border: rgba(255, 255, 255, 0.1); } } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Poppins', sans-serif; color: var(--dark-text); background: linear-gradient(135deg, var(--dark-slate), #1e293b); line-height: 1.6; overflow-x: hidden; scroll-behavior: smooth; } /* Particles.js container */ #particles-js { position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: -1; } /* Navigation */ .navbar { position: fixed; top: 0; left: 0; width: 100%; padding: 1.5rem 5%; display: flex; justify-content: space-between; align-items: center; z-index: 1000; background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--glass-border); } .logo { font-size: 1.8rem; font-weight: 700; color: var(--light-text); text-decoration: none; display: flex; align-items: center; } .logo span { color: var(--electric-blue); } .nav-links { display: flex; gap: 2rem; } .nav-links a { color: var(--light-text); text-decoration: none; font-weight: 500; transition: var(--transition-base); position: relative; } .nav-links a:hover { color: var(--electric-blue); } .nav-links a::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 0; height: 2px; background: var(--electric-blue); transition: var(--transition-base); } .nav-links a:hover::after { width: 100%; } /* Hero Section */ .hero { height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 0 5%; position: relative; color: var(--light-text); } .hero-content { max-width: 800px; z-index: 10; } .hero h1 { font-size: 3.5rem; margin-bottom: 1.5rem; line-height: 1.2; } .typewriter { display: inline-block; border-right: 3px solid var(--electric-blue); white-space: nowrap; overflow: hidden; animation: blink-caret 0.75s step-end infinite; } @keyframes blink-caret { from, to { border-color: transparent } 50% { border-color: var(--electric-blue) } } .hero p { font-size: 1.2rem; margin-bottom: 2rem; opacity: 0.9; } .cta-button { display: inline-block; padding: 0.8rem 2rem; background: linear-gradient(45deg, var(--electric-blue), var(--neon-purple)); color: white; border: none; border-radius: 50px; font-size: 1rem; font-weight: 600; text-decoration: none; cursor: pointer; transition: var(--transition-base); box-shadow: 0 4px 15px rgba(0, 102, 255, 0.3); } .cta-button:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0, 102, 255, 0.4); filter: brightness(1.1); } /* Sections */ .section { padding: 6rem 5%; position: relative; } .section-title { text-align: center; margin-bottom: 4rem; color: var(--light-text); } .section-title h2 { font-size: 2.5rem; margin-bottom: 1rem; position: relative; display: inline-block; } .section-title h2::after { content: ''; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); width: 80px; height: 4px; background: linear-gradient(90deg, var(--electric-blue), var(--neon-purple)); border-radius: 2px; } .section-title p { font-size: 1.1rem; max-width: 700px; margin: 0 auto; opacity: 0.8; } /* Services Grid */ .services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin: 0 auto; max-width: 1200px; } .service-card { background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-radius: 15px; overflow: hidden; transition: var(--transition-slow); position: relative; border: 1px solid var(--glass-border); } .service-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, rgba(0, 102, 255, 0.1), rgba(157, 0, 255, 0.1)); z-index: -1; } .card-bg { width: 100%; height: 300px; object-fit: cover; transition: var(--transition-slow); } .card-content { padding: 1.5rem; color: var(--light-text); } .card-content h3 { font-size: 1.5rem; margin-bottom: 0.5rem; } .card-content p { margin-bottom: 1.5rem; opacity: 0.8; } .card-link { display: inline-block; padding: 0.5rem 1.2rem; background: var(--electric-blue); color: white; border-radius: 50px; text-decoration: none; font-weight: 500; transition: var(--transition-base); } .card-link:hover { background: var(--neon-purple); transform: translateY(-2px); } /* Card 1 - 3D Tilt + Zoom */ .service-card:nth-child(1):hover { transform: perspective(1000px) rotateX(5deg) rotateY(5deg) scale(1.05); } .service-card:nth-child(1):hover .card-bg { transform: scale(1.1); } /* Card 2 - Gradient Overlay + Scale */ .service-card:nth-child(2):hover { transform: scale(1.05); } .service-card:nth-child(2):hover::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, rgba(0, 102, 255, 0.5), rgba(157, 0, 255, 0.5)); z-index: -1; } /* Card 3 - Neon Border Glow */ .service-card:nth-child(3):hover { box-shadow: 0 0 15px var(--electric-blue), 0 0 30px var(--neon-purple); } /* Telegram Channels */ .telegram-channels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; max-width: 1200px; margin: 0 auto; } .channel-card { background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-radius: 15px; padding: 2rem; text-align: center; transition: var(--transition-base); border: 1px solid var(--glass-border); color: var(--light-text); } .channel-logo { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; margin: 0 auto 1.5rem; border: 3px solid var(--electric-blue); box-shadow: 0 0 20px rgba(0, 102, 255, 0.3); } .channel-card h3 { font-size: 1.5rem; margin-bottom: 0.5rem; } .channel-card p { opacity: 0.8; margin-bottom: 1.5rem; } /* Channel 1 - Animated Gradient Button */ .join-button.gradient { background: linear-gradient(90deg, var(--electric-blue), var(--neon-purple), var(--electric-blue)); background-size: 200% auto; animation: gradient 3s linear infinite; } @keyframes gradient { 0% { background-position: 0% center } 100% { background-position: 200% center } } /* Channel 2 - Pulse Animation */ .join-button.pulse { animation: pulse 2s infinite; } @keyframes pulse { 0% { transform: scale(1) } 50% { transform: scale(1.05) } 100% { transform: scale(1) } } /* Channel 3 - 3D Floating Effect */ .channel-card:nth-child(3) { transform-style: preserve-3d; perspective: 1000px; } .channel-card:nth-child(3):hover { transform: translateY(-10px) rotateX(5deg); box-shadow: 0 20px 30px rgba(0, 0, 0, 0.2); } .join-button { display: inline-block; padding: 0.6rem 1.5rem; background: var(--electric-blue); color: white; border-radius: 50px; text-decoration: none; font-weight: 500; transition: var(--transition-base); border: none; cursor: pointer; } .join-button:hover { background: var(--neon-purple); transform: translateY(-2px); } /* Registration Cards */ .registration-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; max-width: 1200px; margin: 0 auto; } .reg-card { background: var(--glass-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-radius: 15px; padding: 2rem; text-align: center; transition: var(--transition-base); border: 1px solid var(--glass-border); color: var(--light-text); position: relative; overflow: hidden; } .reg-logo { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; margin: 0 auto 1.5rem; border: 3px solid var(--electric-blue); } .reg-card h3 { font-size: 1.5rem; margin-bottom: 0.5rem; } .reg-card p { opacity: 0.8; margin-bottom: 1.5rem; } /* Card 1 - Glowing Button */ .reg-button.glow { position: relative; z-index: 1; overflow: hidden; } .reg-button.glow::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent); transform: rotate(45deg); z-index: -1; transition: var(--transition-base); } .reg-button.glow:hover::before { left: 100%; } /* Card 2 - Liquid Fill */ .reg-button.liquid { position: relative; overflow: hidden; } .reg-button.liquid::after { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transition: var(--transition-slow); } .reg-button.liquid:hover::after { left: 100%; } /* Card 3 - Morphing Shape */ .reg-button.morph { transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); } .reg-button.morph:hover { border-radius: 5px; } .reg-button { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.7rem 1.8rem; background: linear-gradient(45deg, var(--electric-blue), var(--neon-purple)); color: white; border-radius: 50px; text-decoration: none; font-weight: 500; transition: var(--transition-base); border: none; cursor: pointer; } .reg-button:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0, 102, 255, 0.3); } /* Footer */ footer { background: var(--dark-slate); color: var(--light-text); text-align: center; padding: 2rem; margin-top: 4rem; } .footer-content { max-width: 1200px; margin: 0 auto; } .footer-links { display: flex; justify-content: center; gap: 2rem; margin: 1.5rem 0; } .footer-links a { color: var(--light-text); text-decoration: none; transition: var(--transition-base); } .footer-links a:hover { color: var(--electric-blue); } .copyright { opacity: 0.7; font-size: 0.9rem; } /* Responsive Design */ @media (max-width: 1024px) { .services-grid, .telegram-channels, .registration-cards { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 768px) { .hero h1 { font-size: 2.5rem; } .navbar { padding: 1rem 5%; } .nav-links { display: none; } .services-grid, .telegram-channels, .registration-cards { grid-template-columns: 1fr; } .section { padding: 4rem 5%; } .section-title h2 { font-size: 2rem; } } /* Lazy loading */ img[data-src] { opacity: 0; transition: opacity 0.3s ease; } img.lazy-loaded { opacity: 1; }