*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Inter',sans-serif;
}


html{
    scroll-behavior:smooth;
}


body{
    background:#090b10;
    color:white;
    overflow-x:hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}



/* NAVBAR */

.navbar{

    position:fixed;
    top:0;
    left:0;
    width:100%;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:25px 8%;

    background:rgba(9,11,16,.7);
    backdrop-filter:blur(15px);

    z-index:1000;

}


.logo{

    font-size:22px;
    font-weight:800;
    letter-spacing:1px;

}


.logo span{

    color:#F6C000;

}


nav{

    display:flex;
    gap:35px;

}


nav a{

    color:#c7c7c7;
    text-decoration:none;
    font-size:15px;

}


nav a:hover{

    color:#F6C000;

}


.nav-buttons{

    display:flex;
    align-items:center;
    gap:20px;

}


.login{

    color:white;
    text-decoration:none;

}


.btn{

    background:#F6C000;
    color:#000;

    border:none;
    padding:14px 28px;

    border-radius:30px;

    font-weight:700;
    cursor:pointer;

    text-decoration:none;

    transition:.3s;

}


.btn:hover{

    transform:translateY(-3px);

    box-shadow:0 10px 30px rgba(246,192,0,.3);

}


.outline{

    background:transparent;

    color:white;

    border:1px solid #333;

    padding:14px 28px;

    border-radius:30px;

}





/* HERO */

.listening-badge {
    display: inline-block;
    margin: 10px auto 0;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(246, 192, 0, 0.16);
    color: #ffd76a;
    font-size: 0.95rem;
    font-weight: 700;
}

.listening-badge.ai-thinking {
    background: rgba(120, 90, 255, 0.2);
    color: #d6c8ff;
}

.listening-badge.hidden {
    display: none;
}

.voice-picker {
    margin: 12px auto 0;
    width: min(320px, 90%);
    text-align: left;
}

.voice-picker label {
    display: block;
    margin-bottom: 6px;
    color: #c7c7c7;
    font-size: 0.95rem;
}

.voice-select {
    width: 100%;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(246, 192, 0, 0.3);
    background: rgba(255,255,255,0.06);
    color: white;
}

.voice-preview-box {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid rgba(246, 192, 0, 0.25);
    background: rgba(255, 255, 255, 0.04);
    border-radius: 14px;
}

.voice-name-label {
    font-weight: 700;
    margin-bottom: 8px;
    color: #f6c000;
}

.voice-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 8px;
}

.small-btn {
    padding: 10px 16px;
    font-size: 14px;
}

.voice-preview-message {
    color: #c7c7c7;
    font-size: 13px;
}


.hero{

    min-height:100vh;

    padding:160px 8% 80px;

    display:flex;

    align-items:center;

    justify-content:space-between;

}


.hero-text{

    max-width:600px;

}


.hero h1{

    font-size:75px;

    line-height:1.05;

    font-weight:800;

}


.hero h1 span{

    color:#F6C000;

}


.hero p{

    margin-top:30px;

    color:#aaa;

    font-size:20px;

    line-height:1.6;

}


.hero-buttons{

    margin-top:40px;

    display:flex;

    gap:20px;

}





/* VOICE ORB */


.voice-orb{

    width:420px;

    height:420px;

    border-radius:50%;

    background:

    radial-gradient(circle,#F6C000,#8a6b00,#111);

    display:flex;

    align-items:center;

    justify-content:center;

    position:relative;

    animation:float 5s infinite ease-in-out;

}


.mic{

    width:130px;

    height:130px;

    background:#111;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:55px;

    box-shadow:0 0 60px #F6C000;

}



.waves{

    position:absolute;

    display:flex;

    gap:8px;

}



.waves span{

    width:5px;

    height:70px;

    background:#fff;

    animation:wave 1s infinite alternate;

}



.waves span:nth-child(2){

animation-delay:.2s;

}

.waves span:nth-child(3){

animation-delay:.4s;

}

.waves span:nth-child(4){

animation-delay:.6s;

}

.waves span:nth-child(5){

animation-delay:.8s;

}





@keyframes wave{

from{

height:30px;

}

to{

height:120px;

}

}



@keyframes float{

50%{

transform:translateY(-20px);

}

}







/* DEMO */


.demo{

padding:100px 8%;

text-align:center;

}



.demo h2,
.features h2,
.how h2,
.pricing h2,
.faq h2{

font-size:45px;

margin-bottom:50px;

}



.phone{

max-width:420px;

margin:auto;

background:#151820;

padding:30px;

border-radius:35px;

border:1px solid #292d35;

}



.status{

color:#6cff8b;

margin-bottom:30px;

}



.message{

padding:18px;

border-radius:20px;

margin:20px 0;

text-align:left;

}


.user{

background:#F6C000;

color:#000;

}


.ai{

background:#222832;

}



.wave-animation{

color:#F6C000;

animation:pulse 1s infinite;

}



@keyframes pulse{

50%{

opacity:.4;

}

}





/* FEATURES */


.features{

padding:100px 8%;

}



.cards{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

}



.card{

background:#151820;

padding:35px;

border-radius:25px;

border:1px solid #252933;

transition:.3s;

}



.card:hover{

transform:translateY(-10px);

border-color:#F6C000;

}



.card h3{

margin-bottom:20px;

}



.card p{

color:#aaa;

line-height:1.6;

}






/* HOW */


.how{

padding:100px 8%;

}


.steps{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}


.steps div{

background:#151820;

padding:40px;

border-radius:25px;

}


.steps span{

font-size:40px;

color:#F6C000;

}





/* PRICING */


.pricing{

padding:100px 8%;

}


.price-box{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}



.price{

background:#151820;

padding:40px;

border-radius:25px;

}



.popular{

border:2px solid #F6C000;

transform:scale(1.05);

}





/* FAQ */


.faq{

padding:100px 8%;

}



.faq-item{

background:#151820;

padding:25px;

margin-bottom:20px;

border-radius:20px;

}



.faq-item p{

color:#aaa;

margin-top:15px;

}




footer{

padding:60px;

text-align:center;

border-top:1px solid #222;

color:#aaa;

}
.hidden{
    opacity:0;
    transform:translateY(40px);
    transition:0.8s ease;
}


.show{
    opacity:1;
    transform:translateY(0);
}
.auth-container{

min-height:100vh;

display:flex;

align-items:center;

justify-content:center;

padding:20px;

}



.auth-box{

width:420px;

background:#151820;

padding:40px;

border-radius:25px;

border:1px solid #252933;

text-align:center;

}



.auth-box h1{

font-size:35px;

margin-bottom:15px;

}



.auth-box p{

color:#aaa;

margin-bottom:30px;

}



.auth-box input{

width:100%;

padding:15px;

margin-bottom:15px;

background:#0d1016;

border:1px solid #333;

border-radius:12px;

color:white;

font-size:15px;

}



.auth-box button{

width:100%;

}

.auth-box button:disabled{
    opacity:0.7;
    cursor:wait;
}



.auth-link{

margin-top:25px;

}



.auth-link a{

color:#F6C000;

text-decoration:none;

}

.forgot-password-section {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #252933;
}

.forgot-password-section input {
    margin-bottom: 10px;
}

.forgot-password-section[hidden] {
    display: none;
}

.auth-loader {
    position: fixed;
    inset: 0;
    background: rgba(9, 11, 16, 0.82);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.auth-loader.show {
    display: flex;
}

.auth-popup {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    padding: 20px;
}

.auth-popup.show {
    display: flex;
}

.auth-popup-box {
    background: #151820;
    border: 1px solid #252933;
    border-radius: 16px;
    padding: 16px 20px;
    min-width: 240px;
    max-width: 320px;
    text-align: center;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

.auth-popup-message {
    color: #fff;
    font-size: 14px;
    line-height: 1.5;
}

.auth-loader-box {
    background: #151820;
    border: 1px solid #252933;
    border-radius: 18px;
    padding: 24px 28px;
    text-align: center;
    min-width: 220px;
}

.auth-loader-spinner {
    width: 36px;
    height: 36px;
    margin: 0 auto 12px;
    border: 3px solid rgba(246, 192, 0, 0.25);
    border-top-color: #F6C000;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}
/* ==========================
   JEXSOR CONNECT DASHBOARD
========================== */


.dashboard{

    min-height:100vh;
    padding:40px 8%;

}



.dash-header{

    display:flex;
    justify-content:space-between;
    align-items:center;

    margin-bottom:60px;

}



.dash-header h2{

    color:#F6C000;
    font-size:28px;

}




.welcome{

    margin-bottom:50px;

}



.welcome h1{

    font-size:50px;

}



.welcome span{

    color:#F6C000;

}



.welcome p{

    color:#aaa;
    margin-top:15px;
    font-size:18px;

}





.dashboard-cards{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

}




.dashboard-cards .card{

    background:#151820;

    padding:35px;

    border-radius:25px;

    border:1px solid #252933;

    transition:.3s;

}




.dashboard-cards .card:hover{

    transform:translateY(-8px);

    border-color:#F6C000;

}





.dashboard-cards h3{

    font-size:22px;

    margin-bottom:20px;

}





.dashboard-cards p{

    color:#aaa;

    margin-bottom:25px;

}





.dashboard-cards h1{

    color:#F6C000;

    font-size:50px;

}





/* MOBILE DASHBOARD */

@media(max-width:768px){

.dashboard{
    padding:20px 4%;
    min-height:auto;
}

.dash-header{
    flex-direction:column;
    gap:14px;
    align-items:flex-start;
    margin-bottom:24px;
}

.dash-header h2{
    font-size:20px;
}

.dash-header .btn{
    width:100%;
    text-align:center;
    padding:12px 18px;
}

.welcome{
    margin-bottom:24px;
}

.welcome h1{
    font-size:26px;
    line-height:1.2;
}

.welcome p{
    font-size:15px;
    margin-top:10px;
}

.dashboard-cards{
    grid-template-columns:1fr;
    gap:14px;
}

.dashboard-cards .card{
    padding:18px 16px;
    width:100%;
}

.dashboard-cards h3{
    font-size:17px;
    margin-bottom:10px;
}

.dashboard-cards p{
    margin-bottom:14px;
    font-size:13px;
}

.dashboard-cards .btn{
    display:inline-block;
    width:100%;
    text-align:center;
    padding:12px 16px;
}

.dashboard-cards h1{
    font-size:30px;
}

}

.auth-box textarea{

width:100%;

height:100px;

padding:15px;

margin-bottom:15px;

background:#0d1016;

border:1px solid #333;

border-radius:12px;

color:white;

resize:none;

font-size:15px;

}


.auth-box label{

display:flex;

gap:10px;

align-items:center;

color:#aaa;

}

/* ==========================
   JEXSOR CONNECT CALL PAGE
========================== */


.call-container{

min-height:100vh;

display:flex;

flex-direction:column;

align-items:center;

justify-content:center;

text-align:center;

padding:40px;

}



.call-header h2{

color:#F6C000;

font-size:30px;

}



.call-header p{

color:#aaa;

}



.ai-avatar{

margin:50px;

position:relative;

}



.avatar{

width:160px;

height:160px;

border-radius:50%;

background:#151820;

display:flex;

align-items:center;

justify-content:center;

font-size:70px;

box-shadow:0 0 50px rgba(246,192,0,.5);

}



.pulse-ring{

position:absolute;

width:160px;

height:160px;

border-radius:50%;

border:2px solid #F6C000;

animation:pulseRing 2s infinite;

}



@keyframes pulseRing{


50%{

transform:scale(1.5);

opacity:0;

}


}




.wave-container{

display:flex;

gap:8px;

height:80px;

align-items:center;

margin:30px;


}



.bar{

width:8px;

height:30px;

background:#F6C000;

border-radius:10px;

animation:sound 1s infinite alternate;


}



.bar:nth-child(2){

animation-delay:.2s;

}


.bar:nth-child(3){

animation-delay:.4s;

}


.bar:nth-child(4){

animation-delay:.6s;

}


.bar:nth-child(5){

animation-delay:.8s;

}




@keyframes sound{


from{

height:20px;

}


to{

height:80px;

}


}





.timer{

font-size:30px;

margin:20px;

}




.call-buttons{

display:flex;

gap:20px;

}



.end-btn{

background:#ff3b30;

color:white;

border:none;

padding:14px 30px;

border-radius:30px;

cursor:pointer;

font-weight:bold;

}

@media (max-width: 480px) {
    body {
        font-size: 15px;
    }

    .navbar {
        padding: 16px 5%;
        flex-wrap: wrap;
        gap: 12px;
    }

    nav {
        gap: 12px;
        flex-wrap: wrap;
    }

    .nav-buttons {
        width: 100%;
        justify-content: space-between;
    }

    .hero {
        padding: 120px 5% 60px;
        flex-direction: column;
        text-align: center;
    }

    .hero h1 {
        font-size: 2.2rem;
    }

    .hero p {
        font-size: 1rem;
    }

    .hero-buttons {
        flex-direction: column;
        width: 100%;
    }

    .hero-buttons .btn,
    .hero-buttons .outline {
        width: 100%;
        text-align: center;
    }

    .voice-orb {
        width: min(280px, 80vw);
        height: min(280px, 80vw);
    }

    .mic {
        width: 96px;
        height: 96px;
        font-size: 42px;
    }

    .demo,
    .features,
    .how,
    .pricing,
    .faq {
        padding: 70px 5%;
    }

    .demo h2,
    .features h2,
    .how h2,
    .pricing h2,
    .faq h2 {
        font-size: 1.8rem;
    }

    .cards,
    .steps,
    .price-box {
        grid-template-columns: 1fr;
    }

    .auth-container {
        padding: 16px;
    }

    .auth-box {
        width: 100%;
        padding: 24px 18px;
    }

    .auth-box h1 {
        font-size: 1.6rem;
    }

    .dashboard {
        padding: 24px 5%;
    }

    .dash-header {
        gap: 16px;
    }

    .welcome h1 {
        font-size: 1.8rem;
    }

    .dashboard-cards {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .dashboard-cards .card {
        padding: 24px;
    }

    .call-container {
        padding: 24px 5%;
    }

    .call-header h2 {
        font-size: 1.4rem;
    }

    .ai-avatar {
        margin: 24px 0;
    }

    .avatar {
        width: 120px;
        height: 120px;
        font-size: 52px;
    }

    .pulse-ring {
        width: 120px;
        height: 120px;
    }

    .call-buttons {
        flex-direction: column;
        width: 100%;
    }

    .call-buttons .btn,
    .call-buttons .end-btn {
        width: 100%;
    }

    .btn {
        padding: 12px 20px;
    }

    footer {
        padding: 20px 5%;
        font-size: 0.9rem;
    }
}