:root { --bg: #050505; --bg-sec: #0a0a0c; --text: #fff; --sub: #a3a3a3; --cyan: #00f3ff; --purple: #bc13fe; --font-h: 'Space Grotesk', sans-serif; --font-b: 'Inter', sans-serif; --glass: rgba(255, 255, 255, 0.03); --border: 1px solid rgba(255, 255, 255, 0.1); --shadow: 0 10px 40px -10px rgba(0,0,0,0.5); }
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: var(--bg); color: var(--text); font-family: var(--font-b); line-height: 1.6; overflow-x: hidden; }
h1, h2, h3, h4 { font-family: var(--font-h); font-weight: 700; }
.container { width: 90%; max-width: 1200px; margin: 0 auto; }
.section { padding: 120px 0; position: relative; }
.bg-darker { background: var(--bg-sec); }
.text-center { text-align: center; }
.gradient-text { background: linear-gradient(45deg, var(--cyan), var(--purple)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.glass-card { background: var(--glass); border: var(--border); backdrop-filter: blur(16px); border-radius: 16px; padding: 2.5rem; transition: 0.3s; box-shadow: var(--shadow); }
.glass-card:hover { transform: translateY(-5px); border-color: var(--cyan); box-shadow: 0 20px 50px -10px rgba(0, 243, 255, 0.1); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 1rem 2.5rem; border-radius: 50px; font-weight: 600; text-decoration: none; font-family: var(--font-h); transition: 0.3s; cursor: pointer; }
.btn-primary { background: linear-gradient(45deg, var(--cyan), var(--purple)); color: #000; border: none; }
.btn-primary:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(188,19,254,0.4); color: #fff; }
.btn-outline { border: 2px solid var(--cyan); color: #fff; background: transparent; }
.btn-outline:hover { background: var(--cyan); color: #000; }
.btn-full { width: 100%; margin-top: 2rem; }
.header { position: fixed; top: 0; width: 100%; padding: 1.2rem 0; background: rgba(5,5,5,0.85); backdrop-filter: blur(20px); z-index: 100; border-bottom: var(--border); }
.nav-container { display: flex; justify-content: space-between; align-items: center; }
.logo { font-size: 1.6rem; font-weight: 700; font-family: var(--font-h); color: #fff; text-decoration: none; }
.dot { color: var(--cyan); }
.nav-menu ul { display: flex; gap: 2.5rem; list-style: none; }
.nav-link { color: var(--sub); text-decoration: none; font-weight: 600; transition: 0.3s; position: relative; }
.nav-link:hover { color: #fff; }
.btn-nav { background: var(--glass); padding: 0.6rem 1.8rem; border-radius: 50px; color: #fff; text-decoration: none; border: var(--border); font-weight: 600; transition: 0.3s; }
.btn-nav:hover { background: var(--cyan); color: #000; border-color: transparent; }
.nav-toggle { display: none; color: #fff; font-size: 1.5rem; cursor: pointer; }
.hero { padding-top: 180px; padding-bottom: 100px; position: relative; overflow: hidden; }
.hero-blob { position: absolute; width: 600px; height: 600px; border-radius: 50%; filter: blur(120px); opacity: 0.2; z-index: -1; animation: float 10s infinite alternate; }
.blob-1 { top: -20%; right: -10%; background: var(--purple); }
.blob-2 { bottom: -10%; left: -10%; background: var(--cyan); animation-delay: -5s; }
@keyframes float { from { transform: translate(0,0); } to { transform: translate(30px, 50px); } }
.hero-container { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.hero h1 { font-size: 4rem; line-height: 1.1; margin-bottom: 1.5rem; }
.status-pill { display: inline-flex; align-items: center; gap: 8px; padding: 6px 16px; background: rgba(255,255,255,0.05); border-radius: 50px; font-size: 0.85rem; color: var(--cyan); margin-bottom: 1.5rem; border: 1px solid rgba(255,255,255,0.1); }
.pulse { width: 8px; height: 8px; background: #00ff88; border-radius: 50%; animation: pulse 2s infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(0,255,136,0.4); } 70% { box-shadow: 0 0 0 10px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
.hero-visual { position: relative; perspective: 1000px; }
.hero-img { width: 100%; border-radius: 16px; display: block; transform: rotateY(-5deg) rotateX(5deg); transition: 0.4s; border: var(--border); }
.hero-visual:hover .hero-img { transform: rotateY(0) rotateX(0); }
.floating-badge { position: absolute; bottom: -20px; right: -20px; background: rgba(0,0,0,0.8); backdrop-filter: blur(10px); padding: 1rem 1.5rem; border-radius: 12px; border: 1px solid var(--cyan); color: #fff; font-weight: 600; display: flex; gap: 8px; align-items: center; }

/* MEMBER LOGIN CARD */
.login-cta-card { display: flex; align-items: center; justify-content: space-between; gap: 30px; background: linear-gradient(90deg, rgba(0, 243, 255, 0.05), rgba(188, 19, 254, 0.05)); border: 1px solid rgba(255, 255, 255, 0.15); padding: 3rem; }
.login-content { display: flex; align-items: center; gap: 20px; }
.login-icon { font-size: 3rem; color: var(--cyan); }
.login-text h2 { font-size: 2rem; margin-bottom: 5px; }
.login-text p { color: var(--sub); margin: 0; }
.btn-large-login { padding: 1.2rem 3rem; font-size: 1.1rem; }

/* Services Grid */
.services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; margin-top: 3rem; }
.service-card { text-align: center; }
.icon-box { font-size: 2.5rem; color: var(--purple); margin-bottom: 1rem; }
.player-wrapper { display: flex; flex-direction: column; gap: 1rem; }
.track-item { display: flex; align-items: center; justify-content: space-between; padding: 1rem; background: rgba(255,255,255,0.02); border-radius: 12px; transition: 0.3s; border: 1px solid transparent; }
.track-item:hover { background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.1); }
.track-info { display: flex; align-items: center; gap: 1rem; }
.play-btn { width: 40px; height: 40px; background: var(--cyan); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #000; cursor: pointer; transition: 0.2s; }
.play-btn:hover { transform: scale(1.1); }
.track-item h4 { margin: 0; font-size: 1.1rem; }
.track-meta { font-size: 0.8rem; color: var(--sub); }
.visualizer-bar { height: 3px; width: 100px; background: #333; border-radius: 2px; position: relative; overflow: hidden; }
.track-item.playing .visualizer-bar::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--purple); animation: loadBar 2s infinite linear; }
@keyframes loadBar { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
.pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin-top: 2rem; }
.pricing-card.popular { border: 2px solid var(--cyan); background: linear-gradient(180deg, rgba(0,243,255,0.05), transparent); position: relative; }
.popular-badge { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); background: var(--cyan); color: #000; padding: 5px 15px; border-radius: 20px; font-weight: 700; font-size: 0.8rem; }
.price-wrapper { font-size: 3.5rem; font-family: var(--font-h); font-weight: 700; margin: 1rem 0; color: #fff; }
.currency { font-size: 1.5rem; vertical-align: super; color: var(--sub); }
.features-list { list-style: none; }
.features-list li { margin-bottom: 0.8rem; display: flex; gap: 10px; align-items: center; color: var(--sub); }
.features-list i { color: var(--cyan); }
#contact { position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.contact-glow-bg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 600px; height: 600px; background: radial-gradient(circle, rgba(188, 19, 254, 0.15) 0%, rgba(0,0,0,0) 70%); z-index: -1; pointer-events: none; }
.contact-center-wrapper { display: flex; justify-content: center; width: 100%; }
.contact-card-glass { width: 100%; max-width: 650px; background: rgba(15, 15, 20, 0.6); backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 24px; padding: 3rem; box-shadow: 0 20px 60px rgba(0,0,0,0.5); position: relative; overflow: hidden; }
.contact-card-glass::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, transparent, rgba(0, 243, 255, 0.5), transparent); }
.contact-header { margin-bottom: 2.5rem; }
.contact-header p { font-size: 0.95rem; color: var(--sub); margin-top: 10px; }
.centered-form { display: flex; flex-direction: column; gap: 1.5rem; }
.input-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.input-wrap { display: flex; flex-direction: column; gap: 8px; }
.input-wrap label { font-size: 0.85rem; font-weight: 600; color: var(--sub); margin-left: 5px; }
.input-wrap input, .input-wrap select, .input-wrap textarea { width: 100%; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 12px 16px; color: #fff; font-family: var(--font-b); font-size: 1rem; transition: 0.3s; outline: none; }
.input-wrap select { cursor: pointer; color: #fff; }
.input-wrap select option { background: #000; color: #fff; }
.input-wrap input:focus, .input-wrap select:focus, .input-wrap textarea:focus { background: rgba(255, 255, 255, 0.07); border-color: var(--cyan); box-shadow: 0 0 15px rgba(0, 243, 255, 0.1); }
.btn-block { width: 100%; justify-content: center; margin-top: 10px; padding: 14px; }
.footer { padding: 3rem 0; background: var(--bg); border-top: var(--border); margin-top: 4rem; }
.footer-content { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; }
.footer-links a { color: var(--sub); margin-left: 20px; text-decoration: none; font-size: 0.9rem; transition: 0.3s; }
.footer-links a:hover { color: var(--cyan); }
.footer-payment-logos { display: flex; gap: 15px; color: #fff; font-size: 1.5rem; }
@media (max-width: 968px) { 
    .hero-container { grid-template-columns: 1fr; text-align: center; } 
    .nav-menu { display: none; } .nav-toggle { display: block; } 
    .hero-visual { order: -1; } .contact-card-glass { padding: 2rem; } 
    .input-row { grid-template-columns: 1fr; gap: 1.5rem; } 
    .footer-content { flex-direction: column; text-align: center; } 
    .login-cta-card { flex-direction: column; text-align: center; }
}
/* Verification Styles */
.verification-wrapper { max-width: 700px; margin: 0 auto; border: 1px solid rgba(0, 255, 136, 0.2); position: relative; overflow: hidden; }
.input-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.input-group label { display: block; margin-bottom: 8px; color: var(--sub); font-size: 0.9rem; }
.input-group input, .input-group select { width: 100%; background: rgba(0, 0, 0, 0.3); border: 1px solid rgba(255, 255, 255, 0.1); color: #fff; padding: 12px; border-radius: 8px; outline: none; transition: 0.3s; }
.input-group input:focus, .input-group select:focus { border-color: #00ff88; box-shadow: 0 0 15px rgba(0, 255, 136, 0.1); }
.file-upload-area { position: relative; border: 2px dashed rgba(255, 255, 255, 0.2); border-radius: 12px; padding: 40px; text-align: center; transition: 0.3s; background: rgba(255, 255, 255, 0.02); margin-bottom: 25px; }
.file-upload-area:hover { border-color: #00ff88; background: rgba(0, 255, 136, 0.05); }
.file-upload-area input[type="file"] { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.upload-icon { font-size: 3rem; color: var(--sub); margin-bottom: 15px; transition: 0.3s; }
.file-upload-area:hover .upload-icon { color: #00ff88; transform: translateY(-5px); }
.success-message { text-align: center; padding: 40px; animation: fadeIn 0.5s ease; }
.success-icon { width: 80px; height: 80px; background: #00ff88; color: #000; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2.5rem; margin: 0 auto 20px; box-shadow: 0 0 30px rgba(0, 255, 136, 0.4); }
@media (max-width: 968px) { .input-grid { grid-template-columns: 1fr; } }
/* LOGIN STYLES */
.login-container { display: flex; align-items: center; justify-content: center; height: 100vh; background: radial-gradient(circle at center, #1a0b2e 0%, #000 70%); }
.lock-icon { font-size: 3rem; color: var(--cyan); margin-bottom: 1rem; }
.login-header h2 { font-family: 'Space Grotesk'; font-size: 1.8rem; margin-bottom: 5px; }
.login-header p { color: #888; margin-bottom: 2rem; }
.input-group i { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: #666; }
.input-group input { padding: 12px 12px 12px 45px; }
.btn-login { width: 100%; padding: 12px; background: linear-gradient(45deg, var(--cyan), var(--purple)); border: none; border-radius: 8px; font-weight: bold; cursor: pointer; transition: 0.3s; }
.btn-login:hover { opacity: 0.9; transform: scale(1.02); }
@keyframes shake { 0% { transform: translateX(0); } 25% { transform: translateX(-10px); } 50% { transform: translateX(10px); } 75% { transform: translateX(-10px); } 100% { transform: translateX(0); } }
.shake { animation: shake 0.4s ease-in-out; border: 1px solid #ff4444 !important; }
.error-text { background: rgba(255, 68, 68, 0.1); color: #ff4444; padding: 10px; border-radius: 8px; font-size: 0.9rem; margin-bottom: 15px; display: none; border: 1px solid rgba(255, 68, 68, 0.2); }
.login-footer { margin-top: 20px; font-size: 0.8rem; } .login-footer a { color: #666; text-decoration: none; }
/* SECURITY MODAL STYLES */
.modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.9); z-index: 9999; align-items: center; justify-content: center; backdrop-filter: blur(10px); animation: fadeIn 0.3s ease; }
.modal-box { background: #0f0f12; border: 1px solid #ff4444; padding: 2.5rem; width: 90%; max-width: 500px; border-radius: 20px; text-align: center; box-shadow: 0 0 50px rgba(255, 68, 68, 0.2); transform: scale(0.9); animation: popIn 0.3s ease forwards; }
.modal-icon { font-size: 3rem; color: #ff4444; margin-bottom: 1rem; animation: pulseRed 2s infinite; }
.modal-box h3 { font-family: 'Space Grotesk', sans-serif; color: #ff4444; font-size: 1.5rem; margin-bottom: 1rem; letter-spacing: 1px; }
.warning-text { color: #ccc; font-size: 0.95rem; line-height: 1.6; margin-bottom: 2rem; text-align: justify; border-left: 3px solid #ff4444; padding-left: 15px; }
.btn-warning { width: 100%; padding: 15px; background: linear-gradient(45deg, #ff4444, #bc13fe); border: none; border-radius: 50px; color: #fff; font-weight: bold; font-size: 1rem; cursor: pointer; transition: 0.3s; }
.btn-warning:hover { transform: scale(1.02); box-shadow: 0 0 20px rgba(255, 68, 68, 0.4); }
@keyframes popIn { to { transform: scale(1); } }
@keyframes pulseRed { 0% { opacity: 1; } 50% { opacity: 0.5; } 100% { opacity: 1; } }
/* Policy Styling */
.policy-header { padding-top: 150px; padding-bottom: 50px; text-align: center; }
.policy-container { max-width: 900px; margin: 0 auto 100px auto; }
.policy-card { background: rgba(255, 255, 255, 0.02); border: 1px solid rgba(255, 255, 255, 0.05); backdrop-filter: blur(20px); border-radius: 24px; padding: 4rem; }
.policy-meta { display: inline-block; color: var(--cyan); font-size: 0.9rem; font-weight: 600; background: rgba(0, 243, 255, 0.1); padding: 5px 15px; border-radius: 50px; margin-bottom: 2rem; }
.policy-section { margin-bottom: 3rem; padding-bottom: 2rem; border-bottom: 1px solid rgba(255, 255, 255, 0.05); }
.policy-section h2 { font-family: var(--font-h); font-size: 1.8rem; color: #fff; margin-bottom: 1rem; }
.policy-section p { color: #b0b0b0; line-height: 1.8; margin-bottom: 1rem; }