/* AI Music Interaction - Unified Neon Cyberpunk Theme v2.0 */
:root {
    /* Core Colors */
    --void:#000002;--abyss:#020206;--deep:#04040a;--dark:#08080f;--darker:#0c0c14;
    --surface:#101018;--surface2:#141420;--surface3:#18182a;--surface4:#1c1c32;
    --border:#1a1a28;--border2:#242438;--border3:#2e2e48;--border4:#383858;
    --text:#f4f6ff;--text2:#c4c8e0;--text3:#8890b0;--dim:#505878;

    /* Neon Palette */
    --neon-cyan:#00f0ff;--neon-magenta:#f0f;--neon-green:#0f8;--neon-amber:#fa0;
    --neon-red:#f36;--neon-purple:#a4f;--neon-pink:#f6c;--neon-blue:#48f;
    --neon-yellow:#ff0;--neon-orange:#f80;

    /* Glow Effects */
    --glow-xs:0 0 5px;--glow-sm:0 0 10px;--glow-md:0 0 20px;--glow-lg:0 0 35px;--glow-xl:0 0 50px;

    /* Gradients */
    --gradient-neon:linear-gradient(90deg,var(--neon-cyan),var(--neon-magenta));
    --gradient-surface:linear-gradient(180deg,var(--surface2) 0%,var(--surface) 100%);
}

/* Reset & Base */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}
body{
    font-family:'Rajdhani','Segoe UI',sans-serif;
    background:var(--void);
    color:var(--text);
    min-height:100vh;
    overflow-x:hidden;
    line-height:1.6;
}
img,svg,canvas,video{max-width:100%;height:auto}

/* Animations */
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes breathe{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.02);opacity:1}}
@keyframes glow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.5)}}
@keyframes scan{0%{top:-50%}100%{top:150%}}
@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes shimmer{0%{background-position:-300% 0}100%{background-position:300% 0}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes borderPulse{0%,100%{border-color:var(--neon-cyan);box-shadow:var(--glow-md) var(--neon-cyan)}50%{border-color:var(--neon-magenta);box-shadow:var(--glow-md) var(--neon-magenta)}}
@keyframes waveMove{0%{background-position:0 0}100%{background-position:100px 0}}
@keyframes particleFloat{0%,100%{transform:translateY(0) translateX(0)}25%{transform:translateY(-20px) translateX(10px)}50%{transform:translateY(-10px) translateX(-10px)}75%{transform:translateY(-30px) translateX(5px)}}
@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* Background Effects */
body::before{
    content:'';position:fixed;inset:0;z-index:-2;
    background:
        radial-gradient(ellipse at 10% 0%,rgba(0,240,255,.08) 0%,transparent 50%),
        radial-gradient(ellipse at 90% 100%,rgba(255,0,255,.08) 0%,transparent 50%),
        radial-gradient(ellipse at 50% 50%,rgba(0,255,136,.04) 0%,transparent 60%),
        radial-gradient(circle at 30% 70%,rgba(170,68,255,.05) 0%,transparent 40%),
        radial-gradient(circle at 70% 30%,rgba(255,102,204,.05) 0%,transparent 40%);
}
body::after{
    content:'';position:fixed;inset:0;z-index:9998;pointer-events:none;
    background:
        repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,240,255,.015) 2px,rgba(0,240,255,.015) 4px),
        repeating-linear-gradient(90deg,transparent,transparent 100px,rgba(255,0,255,.01) 100px,rgba(255,0,255,.01) 101px);
}

/* Scrollbar */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--abyss)}
::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,var(--neon-cyan),var(--neon-purple),var(--neon-magenta));
    border-radius:5px;border:2px solid var(--abyss);
}

/* Navigation */
.nav{
    background:linear-gradient(180deg,rgba(8,8,15,.98) 0%,rgba(4,4,10,.95) 100%);
    backdrop-filter:blur(20px);
    position:sticky;top:0;z-index:1000;
    padding:16px 32px;
    display:flex;align-items:center;justify-content:space-between;
    border-bottom:2px solid transparent;
    box-shadow:0 0 80px rgba(0,240,255,.1),0 10px 40px rgba(0,0,0,.6);
}
.nav::before{
    content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,transparent 0%,var(--neon-cyan) 20%,var(--neon-magenta) 40%,var(--neon-purple) 60%,var(--neon-cyan) 80%,transparent 100%);
    background-size:200% 100%;animation:shimmer 4s linear infinite;
}
.nav-logo{
    font-family:'Orbitron',monospace;
    font-size:20px;font-weight:900;
    background:var(--gradient-neon);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;
    background-size:300% 100%;animation:shimmer 4s linear infinite;
    letter-spacing:4px;text-decoration:none;
    filter:drop-shadow(0 0 15px rgba(0,240,255,.5));
}
.nav-links{display:flex;gap:8px;align-items:center}
.nav-link{
    font-family:'Space Grotesk',sans-serif;
    font-size:13px;font-weight:600;letter-spacing:1px;
    color:var(--text3);text-decoration:none;
    padding:10px 18px;border-radius:8px;
    border:1px solid transparent;
    transition:all .3s ease;
}
.nav-link:hover,.nav-link.active{
    color:var(--neon-cyan);
    background:rgba(0,240,255,.08);
    border-color:rgba(0,240,255,.3);
    text-shadow:var(--glow-sm) var(--neon-cyan);
}
.nav-cta{
    background:linear-gradient(135deg,var(--neon-cyan) 0%,var(--neon-magenta) 100%);
    color:#000;font-weight:700;
    padding:12px 24px;border-radius:10px;
    box-shadow:var(--glow-md) rgba(0,240,255,.4);
    transition:all .3s ease;
}
.nav-cta:hover{
    transform:translateY(-2px);
    box-shadow:var(--glow-xl) rgba(0,240,255,.6);
}
.mobile-menu{display:none;background:none;border:none;color:var(--text);font-size:24px;cursor:pointer}

/* Hero Sections */
.hero{
    min-height:80vh;
    display:flex;align-items:center;justify-content:center;
    padding:80px 32px;
    position:relative;
    overflow:hidden;
}
.hero::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.4) 100%);
    pointer-events:none;
}
.hero-content{
    max-width:900px;
    text-align:center;
    position:relative;z-index:1;
    animation:slideUp .8s ease-out;
}
.hero-badge{
    display:inline-block;
    font-family:'JetBrains Mono',monospace;
    font-size:12px;font-weight:600;letter-spacing:2px;
    color:var(--neon-green);
    background:rgba(0,255,136,.1);
    border:1px solid var(--neon-green);
    padding:8px 20px;border-radius:50px;
    margin-bottom:24px;
    text-shadow:var(--glow-sm) var(--neon-green);
}
.hero-title{
    font-family:'Orbitron',sans-serif;
    font-size:clamp(2.5rem,6vw,4.5rem);
    font-weight:900;line-height:1.1;
    background:linear-gradient(135deg,var(--text) 0%,var(--neon-cyan) 50%,var(--neon-magenta) 100%);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;
    margin-bottom:24px;
    filter:drop-shadow(0 0 30px rgba(0,240,255,.3));
}
.hero-subtitle{
    font-size:1.25rem;
    color:var(--text2);
    max-width:700px;margin:0 auto 40px;
    line-height:1.7;
}
.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* Buttons */
.btn{
    font-family:'Space Grotesk',sans-serif;
    font-size:14px;font-weight:700;letter-spacing:1px;
    padding:16px 32px;border-radius:12px;
    border:none;cursor:pointer;
    display:inline-flex;align-items:center;gap:10px;
    transition:all .3s ease;
    text-decoration:none;
}
.btn-primary{
    background:linear-gradient(135deg,var(--neon-cyan) 0%,var(--neon-blue) 100%);
    color:#000;
    box-shadow:var(--glow-lg) rgba(0,240,255,.4);
}
.btn-primary:hover{
    transform:translateY(-3px);
    box-shadow:var(--glow-xl) rgba(0,240,255,.6);
}
.btn-secondary{
    background:transparent;
    color:var(--neon-magenta);
    border:2px solid var(--neon-magenta);
    box-shadow:var(--glow-sm) rgba(255,0,255,.3);
}
.btn-secondary:hover{
    background:rgba(255,0,255,.1);
    box-shadow:var(--glow-lg) rgba(255,0,255,.4);
    transform:translateY(-2px);
}
.btn-glow{animation:borderPulse 3s ease-in-out infinite}

/* Sections */
.section{padding:100px 32px}
.section-dark{background:linear-gradient(180deg,var(--abyss) 0%,var(--deep) 100%)}
.section-grid{background:var(--surface)}
.container{max-width:1200px;margin:0 auto}

.section-header{text-align:center;margin-bottom:60px}
.section-tag{
    font-family:'JetBrains Mono',monospace;
    font-size:11px;font-weight:600;letter-spacing:3px;
    color:var(--neon-purple);
    text-transform:uppercase;
    margin-bottom:16px;
    display:block;
    text-shadow:var(--glow-sm) var(--neon-purple);
}
.section-title{
    font-family:'Orbitron',sans-serif;
    font-size:clamp(1.75rem,4vw,2.5rem);
    font-weight:800;
    background:var(--gradient-neon);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;
    margin-bottom:16px;
}
.section-desc{font-size:1.1rem;color:var(--text2);max-width:600px;margin:0 auto}

/* Cards */
.card-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:24px;
}
.card{
    background:linear-gradient(180deg,rgba(16,16,24,.9) 0%,rgba(8,8,15,.95) 100%);
    border:1px solid var(--border2);
    border-radius:20px;
    padding:32px;
    position:relative;overflow:hidden;
    transition:all .4s ease;
}
.card::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(0,240,255,.05) 0%,transparent 50%,rgba(255,0,255,.05) 100%);
    opacity:0;transition:opacity .4s;
}
.card:hover{
    border-color:var(--neon-cyan);
    transform:translateY(-8px);
    box-shadow:var(--glow-lg) rgba(0,240,255,.2),0 20px 60px rgba(0,0,0,.4);
}
.card:hover::before{opacity:1}
.card-icon{
    width:60px;height:60px;
    background:linear-gradient(135deg,var(--neon-cyan) 0%,var(--neon-purple) 100%);
    border-radius:16px;
    display:flex;align-items:center;justify-content:center;
    font-size:28px;margin-bottom:20px;
    box-shadow:var(--glow-md) rgba(0,240,255,.3);
}
.card-title{
    font-family:'Orbitron',sans-serif;
    font-size:1.25rem;font-weight:700;
    color:var(--text);margin-bottom:12px;
}
.card-text{color:var(--text3);line-height:1.7}

/* Features List */
.features-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:20px;
}
.feature-item{
    display:flex;align-items:flex-start;gap:16px;
    padding:20px;
    background:rgba(16,16,24,.6);
    border:1px solid var(--border);
    border-radius:14px;
    transition:all .3s;
}
.feature-item:hover{
    border-color:var(--neon-green);
    background:rgba(0,255,136,.05);
}
.feature-icon{
    width:44px;height:44px;flex-shrink:0;
    background:linear-gradient(135deg,var(--neon-green),var(--neon-cyan));
    border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    font-size:20px;color:#000;
}
.feature-content h4{
    font-family:'Space Grotesk',sans-serif;
    font-size:1rem;font-weight:700;
    color:var(--text);margin-bottom:6px;
}
.feature-content p{font-size:14px;color:var(--text3)}

/* Stats */
.stats-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:32px;
    text-align:center;
}
.stat-item{
    padding:32px;
    background:linear-gradient(180deg,var(--surface2) 0%,var(--surface) 100%);
    border:1px solid var(--border2);
    border-radius:20px;
}
.stat-value{
    font-family:'Orbitron',sans-serif;
    font-size:3rem;font-weight:900;
    background:var(--gradient-neon);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;
    margin-bottom:8px;
}
.stat-label{font-size:14px;color:var(--text3);letter-spacing:2px;text-transform:uppercase}

/* Testimonials */
.testimonial-card{
    background:linear-gradient(135deg,var(--surface2) 0%,var(--surface) 100%);
    border:1px solid var(--border2);
    border-radius:20px;
    padding:40px;
    position:relative;
}
.testimonial-card::before{
    content:'"';position:absolute;top:20px;left:30px;
    font-family:'Orbitron',sans-serif;
    font-size:80px;color:var(--neon-purple);opacity:.2;
}
.testimonial-text{font-size:1.1rem;color:var(--text2);line-height:1.8;margin-bottom:24px;position:relative;z-index:1}
.testimonial-author{display:flex;align-items:center;gap:16px}
.testimonial-avatar{
    width:56px;height:56px;
    background:linear-gradient(135deg,var(--neon-cyan),var(--neon-magenta));
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-family:'Orbitron',sans-serif;
    font-weight:700;font-size:20px;color:#000;
}
.testimonial-name{font-weight:700;color:var(--text)}
.testimonial-role{font-size:14px;color:var(--neon-cyan)}

/* Forms */
.form-group{margin-bottom:24px}
.form-label{
    display:block;
    font-family:'Space Grotesk',sans-serif;
    font-size:13px;font-weight:600;letter-spacing:1px;
    color:var(--text3);margin-bottom:8px;
}
.form-input,.form-textarea,.form-select{
    width:100%;
    background:var(--surface);
    border:2px solid var(--border2);
    border-radius:12px;
    padding:16px 20px;
    font-family:inherit;font-size:16px;
    color:var(--text);
    transition:all .3s;
}
.form-input:focus,.form-textarea:focus,.form-select:focus{
    outline:none;
    border-color:var(--neon-cyan);
    box-shadow:var(--glow-md) rgba(0,240,255,.2);
}
.form-textarea{min-height:150px;resize:vertical}

/* Pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px}
.pricing-card{
    background:linear-gradient(180deg,var(--surface2) 0%,var(--surface) 100%);
    border:2px solid var(--border2);
    border-radius:24px;
    padding:40px;
    text-align:center;
    transition:all .4s;
}
.pricing-card.featured{
    border-color:var(--neon-cyan);
    box-shadow:var(--glow-lg) rgba(0,240,255,.2);
    transform:scale(1.02);
}
.pricing-tier{
    font-family:'Space Grotesk',sans-serif;
    font-size:14px;font-weight:700;letter-spacing:2px;
    color:var(--neon-purple);margin-bottom:12px;
}
.pricing-price{
    font-family:'Orbitron',sans-serif;
    font-size:3rem;font-weight:900;
    color:var(--text);margin-bottom:8px;
}
.pricing-price span{font-size:1rem;color:var(--text3)}
.pricing-desc{color:var(--text3);margin-bottom:32px}
.pricing-features{list-style:none;margin-bottom:32px;text-align:left}
.pricing-features li{
    padding:12px 0;
    border-bottom:1px solid var(--border);
    color:var(--text2);
    display:flex;align-items:center;gap:12px;
}
.pricing-features li::before{
    content:'✓';
    color:var(--neon-green);
    font-weight:700;
}

/* FAQ */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{
    background:var(--surface);
    border:1px solid var(--border2);
    border-radius:16px;
    margin-bottom:16px;
    overflow:hidden;
}
.faq-question{
    padding:24px;
    cursor:pointer;
    display:flex;justify-content:space-between;align-items:center;
    font-family:'Space Grotesk',sans-serif;
    font-size:1.1rem;font-weight:600;
    color:var(--text);
    transition:all .3s;
}
.faq-question:hover{color:var(--neon-cyan)}
.faq-icon{
    font-size:24px;color:var(--neon-purple);
    transition:transform .3s;
}
.faq-item.active .faq-icon{transform:rotate(45deg)}
.faq-answer{
    padding:0 24px 24px;
    color:var(--text3);line-height:1.8;
    display:none;
}
.faq-item.active .faq-answer{display:block}

/* Footer */
.footer{
    background:linear-gradient(180deg,var(--deep) 0%,var(--void) 100%);
    border-top:2px solid var(--border);
    padding:80px 32px 40px;
}
.footer-grid{
    display:grid;
    grid-template-columns:2fr repeat(3,1fr);
    gap:48px;
    max-width:1200px;margin:0 auto;
}
.footer-brand{
    font-family:'Orbitron',sans-serif;
    font-size:24px;font-weight:900;
    background:var(--gradient-neon);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;
    margin-bottom:16px;
}
.footer-desc{color:var(--text3);line-height:1.7;margin-bottom:24px}
.footer-social{display:flex;gap:12px}
.footer-social a{
    width:44px;height:44px;
    background:var(--surface2);
    border:1px solid var(--border2);
    border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    color:var(--text3);font-size:18px;
    transition:all .3s;
}
.footer-social a:hover{
    border-color:var(--neon-cyan);
    color:var(--neon-cyan);
    box-shadow:var(--glow-md) rgba(0,240,255,.3);
}
.footer-title{
    font-family:'Space Grotesk',sans-serif;
    font-size:14px;font-weight:700;letter-spacing:2px;
    color:var(--neon-purple);
    text-transform:uppercase;
    margin-bottom:20px;
}
.footer-links{list-style:none}
.footer-links li{margin-bottom:12px}
.footer-links a{
    color:var(--text3);text-decoration:none;
    transition:all .3s;
}
.footer-links a:hover{color:var(--neon-cyan)}
.footer-bottom{
    max-width:1200px;margin:60px auto 0;
    padding-top:32px;
    border-top:1px solid var(--border);
    display:flex;justify-content:space-between;align-items:center;
    flex-wrap:wrap;gap:16px;
}
.footer-copy{color:var(--dim);font-size:14px}
.footer-legal{display:flex;gap:24px}
.footer-legal a{color:var(--dim);font-size:14px;text-decoration:none}
.footer-legal a:hover{color:var(--text)}

/* Responsive */
@media(max-width:1024px){
    .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
    .nav{padding:12px 20px}
    .nav-links{
        position:fixed;top:70px;left:0;right:0;
        background:var(--deep);
        flex-direction:column;
        padding:24px;gap:8px;
        transform:translateY(-100%);
        opacity:0;pointer-events:none;
        transition:all .3s;
    }
    .nav-links.active{transform:translateY(0);opacity:1;pointer-events:auto}
    .mobile-menu{display:block}
    .hero{min-height:auto;padding:60px 20px}
    .hero-title{font-size:2rem}
    .section{padding:60px 20px}
    .footer-grid{grid-template-columns:1fr}
    .footer-bottom{flex-direction:column;text-align:center}
}
