/* ==========================
   RESET
========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter',sans-serif;
    background:#08111f;
    color:#fff;
}

/* ==========================
   HERO
========================== */

.hero{
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;

    background:
   linear-gradient(rgba(8,17,31,.82),rgba(8,17,31,.88)),
    url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1800&q=80");

    background-size: cover;
    background-position: center;
}

.overlay{
    position:absolute;
    inset:0;
    background:
    radial-gradient(circle at left,#0d6efd30,transparent 40%),
    radial-gradient(circle at right,#58a6ff20,transparent 35%);
}


.hero-content{
   max-width:620px;
}
/* ==========================
   NAVBAR
========================== */

.navbar{
    position:fixed;
    top:20px;
    left:50%;
    transform:translateX(-50%);

    width:92%;
    max-width:1400px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:18px 30px;

    background:rgba(15,23,42,.55);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(88,166,255,.15);
    border-radius:18px;

    transition:all .35s ease;

    z-index:1000;
}
.navbar.scrolled{

    background:rgba(8,17,31,.92);

    box-shadow:0 15px 40px rgba(0,0,0,.35);

    border-color:rgba(88,166,255,.18);

    padding:14px 30px;
}
.logo h2{

    font-size:40px;

    font-weight:800;

}

.logo span{

    color:#58a6ff;

}

.logo i{

    color:#58a6ff;

    margin-right:10px;

}

.logo p{

    color:#b8c4d4;

    margin-top:6px;

    font-size:13px;

    text-transform:uppercase;

    letter-spacing:1px;

}
.logo{
    transition:.3s ease;
}

.logo:hover{
    transform:scale(1.04);
}
.nav-links{

    display:flex;

    gap:35px;

    list-style:none;

}

.nav-links a{
 position:relative;
    color:#fff;

    text-decoration:none;

    font-weight:600;

    transition:.35s;

}
.nav-links a:hover{
    color:#58A6FF;
}
.nav-links a.active{

    color:#58A6FF;

}

.nav-links a.active::after{

    width:100%;

}
.nav-links a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-5px;
    width:0;
    height:2px;
    background:#58A6FF;
    transition:.3s;
}

.nav-links a:hover::after{
    width:100%;
}
.phone-btn{

    background:#0d6efd;

    color:#fff;

    text-decoration:none;

    padding:16px 26px;

    border-radius:14px;

    font-weight:700;

    transition:.35s;

}

.phone-btn:hover{

    transform:translateY(-4px);

    box-shadow:0 15px 35px rgba(13,110,253,.35);

}
/* ==========================
   HERO CONTENT
========================== */

.hero-container{
    width:92%;
    max-width:1400px;
    margin:120px auto 0;
    margin-top:140px;

    display:grid;
    grid-template-columns:1.1fr .9fr;

    gap:90px;

     align-items:flex-start;

    position:relative;
    z-index:10;
}
.hero-content h1{

    font-size:68px;

    line-height:1.08;

    font-weight:800;

    letter-spacing:-2px;

    max-width:650px;

}

.hero-content h1 span{
background:linear-gradient(90deg,#58A6FF,#2F81F7,#8BC4FF);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    display:block;

    color:#58A6FF;

    text-shadow:0 0 18px rgba(88,166,255,.35);

}

.hero-content p{

    font-size:24px;

    line-height:1.75;

    color:#d6deeb;

    max-width:560px;

    margin:28px 0;

}
.rating{

    display:inline-flex;
    align-items:center;
        width:auto;
    max-width:420px;


    background:rgba(255,255,255,.08);

    padding:12px 18px;

    border-radius:50px;

    color:#FFD84D;

    font-weight:700;

}

.hero-buttons{

    display:flex;

    gap:20px;
margin-bottom:30px;
    margin:40px 0;
    align-items:center;
    flex-wrap:wrap;

}

.primary-btn{
    position:relative;
    overflow:hidden;
letter-spacing:.4px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
gap:10px;
    background:#0D6EFD;
    color:#fff;
    text-decoration:none;

    padding:20px 34px;
    border-radius:16px;
    min-width:240px;
    font-size:18px;
    font-weight:700;

    transition:.35s;
    cursor:pointer;
}
.form-note{
    margin-top:22px;
    text-align:center;
    color:#8fa9c9;
    font-size:13px;
    font-weight:500;
}

.form-note i{
    color:#58A6FF;
    margin-right:6px;
}
.primary-btn i{

    transition:transform .3s ease;

}

.primary-btn:hover i{

    transform:translateX(4px);

}

.primary-btn::before{
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    width:60%;
    height:100%;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.45),
        transparent
    );
    transform:skewX(-25deg);
}

.primary-btn:hover::before{
    animation:shine .8s ease;
}

@keyframes shine{

    100%{
        left:140%;
    }

}

.primary-btn:hover{
    transform:translateY(-4px) scale(1.03);
    box-shadow:0 20px 45px rgba(13,110,253,.45);
}

.secondary-btn{

    border:1px solid rgba(255,255,255,.2);

    color:#fff;

    text-decoration:none;

    padding:18px 35px;

    border-radius:14px;

    font-weight:700;

    transition:all .35s ease;

    cursor:pointer;

}

.trust-row{

    display:flex;

    gap:25px;

    margin-top:30px;

    color:#d5dce8;

}

.quote-box{
    position:relative;
    overflow:hidden;

    background:rgba(18,26,40,.82);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);

    border:1px solid rgba(255,255,255,.08);
 margin-top:25px;
 box-shadow:0 25px 60px rgba(0,0,0,.35);

    border-radius:32px;

    padding:45px 40px;   /* ← Ye add karo */
}
.quote-box h2{

    font-size:40px;

    margin-bottom:30px;

}
.form-subtitle{

    color:#b8c4d4;

    font-size:15px;

    margin:-15px 0 28px;

    text-align:center;

}
.quote-box form{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.quote-box input{

    width:100%;

    padding:18px;
    margin-bottom:16px;

    border:2px solid transparent;

    border-radius:12px;

    font-size:16px;

    transition:all .3s ease;

    background:#fff;

}
.quote-box input:hover{
    border-color:#58A6FF;
}
.quote-box input:focus{

    outline:none;

    border-color:#2F81F7;

    box-shadow:0 0 0 4px rgba(47,129,247,.15);

}

.quote-box button{

    background:#0D6EFD;
    color:#fff;
    border:none;
    padding:20px;
    border-radius:14px;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
    transition:all .35s ease;

}

.quote-box button:hover{

    transform:translateY(-4px);

    background:#0056d6;

    box-shadow:0 20px 40px rgba(13,110,253,.35);

}
/* ==========================
   HERO STATS
========================== */

.hero-stats{
    display:flex;
    gap:15px;
    margin-top:30px;
    flex-wrap:wrap;
}

.stat-card{
    min-width:150px;
    padding:20px;
    border-radius:18px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.08);
    transition:.35s;
}

.stat-card:hover{
    transform:translateY(-10px) scale(1.03);
    border-color:#58A6FF;
}

.stat-card h3{
    font-size:32px;
    color:#58A6FF;
    margin-bottom:8px;
}

.stat-card p{
    font-size:14px;
    color:#d6deeb;
    line-height:1.4;
}
/* ==========================
   RESPONSIVE HERO
========================== */

@media (max-width:992px){

    .hero-container{
        grid-template-columns:1fr;
        gap:40px;
        margin-top:140px;
    }

    .hero-content{
        max-width:100%;
        text-align:center;
    }

    .hero-content p{
        margin:0 auto;
    }

    .hero-buttons,
    .trust-row,
    .hero-stats{
        justify-content:center;
    }

    .quote-box{
        width:100%;
        max-width:550px;
        margin:0 auto;
    }

    .hero-content h1{
        font-size:54px;
    }
}


/* Button Hover Animation */


.secondary-btn:hover{

    transform:translateY(-4px);

    background:rgba(255,255,255,.08);

    border-color:#58A6FF;

}
/* ==========================
   WHY CHOOSE US
========================== */

.why-us{
    padding:80px 0;
    background:#0b1424;
}

.container{
    width:92%;
    max-width:1400px;
    margin:auto;
}

.section-title{
    text-align:center;
    max-width:750px;
    margin:0 auto 70px;
}

.section-title span{
    color:#58A6FF;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
}

.section-title h2{
    font-size:52px;
    margin:20px 0;
    font-weight:800;
}

.section-title p{
    color:#b8c4d4;
    font-size:20px;
    line-height:1.8;
}

.why-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.why-card{
    background:#111b2d;
    padding:40px 30px;
    border-radius:24px;
    text-align:center;
    border:1px solid rgba(255,255,255,.08);
    transition:.35s;
}

.why-card:hover{
    transform:translateY(-10px);
    border-color:#58A6FF;
    box-shadow:0 25px 50px rgba(0,0,0,.35);
}

.why-card i{
    font-size:50px;
    color:#58A6FF;
    margin-bottom:25px;
    transition:transform .35s ease;
}
.why-card:hover i{
    transform:scale(1.15) rotate(-8deg);
}

.why-card h3{
    font-size:26px;
    margin-bottom:18px;
}

.why-card p{
    color:#b8c4d4;
    line-height:1.8;
}

@media(max-width:992px){

    .why-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:768px){

    .why-grid{
        grid-template-columns:1fr;
    }

    .section-title h2{
        font-size:38px;
    }

}
/* ==========================
   REVIEWS
========================== */

.reviews{
    padding:80px 8%;
    background:#0b1527;
}

.section-title{
    text-align:center;
    margin-bottom:70px;
}

.section-title span{
    color:#58A6FF;
    font-weight:700;
    letter-spacing:2px;
}

.section-title h2{
    font-size:52px;
    margin:20px 0;
}

.section-title p{
    color:#b9c7d8;
    max-width:700px;
    margin:auto;
    line-height:1.8;
}

.review-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.review-card{
    background:#121b2c;
    padding:35px;
    border-radius:25px;
    transition:.35s;
    border:1px solid rgba(255,255,255,.05);
}

.review-card:hover{
    transform:translateY(-10px);
    border-color:#58A6FF;
    box-shadow:0 25px 60px rgba(0,0,0,.35);
}

.stars{
    color:#FFD54A;
    font-size:24px;
    margin-bottom:20px;
}

.review-card p{
    color:#d8e2ef;
    line-height:1.8;
    margin-bottom:30px;
}

.review-user{
    display:flex;
    align-items:center;
    gap:15px;
}

.review-user img{
    width:60px;
    height:60px;
    border-radius:50%;
}

.review-user h4{
    font-size:18px;
}

.review-user span{
    color:#8da0b8;
}

/* Mobile */

@media(max-width:992px){

.review-grid{
grid-template-columns:1fr;
}

.section-title h2{
font-size:40px;
}

}
/* ==========================
   WINDOW TYPES
========================== */

.window-types{
    padding:80px 8%;
    background:#08111f;
}

.window-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.window-card{
    background:#121b2c;
    border-radius:24px;
    overflow:hidden;
    transition:.35s;
    border:1px solid rgba(255,255,255,.05);
    box-shadow:0 15px 40px rgba(0,0,0,.25);
}

.window-card:hover{
    transform:translateY(-10px);
    box-shadow:0 30px 60px rgba(0,0,0,.35);
    border-color:#58A6FF;
}

.window-card img{
    width:100%;
    height:280px;
    object-fit:cover;
    transition:.4s;
}

.window-card:hover img{
    transform:scale(1.08);
}

.window-info{
    padding:28px;
}

.window-info h3{
    font-size:28px;
    margin-bottom:15px;
}

.window-info p{
    color:#c9d3e3;
    line-height:1.8;
    margin-bottom:20px;
}

.learn-btn{
    color:#58A6FF;
    text-decoration:none;
    font-weight:700;
}

.learn-btn:hover{
    color:#ffffff;
}

@media(max-width:992px){

.window-grid{
grid-template-columns:1fr;
}

}
/* ==========================
   HOW IT WORKS
========================== */

.process{
    padding:80px 8%;
    background:#0b1527;
}

.process-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.process-card{
    background:#121b2c;
    padding:45px 35px;
    border-radius:24px;
    text-align:center;
    transition:.35s;
    border:1px solid rgba(255,255,255,.05);
}

.process-card:hover{
    transform:translateY(-10px);
    border-color:#58A6FF;
    box-shadow:0 25px 60px rgba(0,0,0,.35);
}

.step-number{
    width:70px;
    height:70px;
    margin:0 auto 25px;
    border-radius:50%;
    background:#0D6EFD;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:30px;
    font-weight:800;
}

.process-card h3{
    font-size:28px;
    margin-bottom:20px;
}

.process-card p{
    color:#c7d2df;
    line-height:1.8;
}

@media(max-width:992px){

.process-grid{
grid-template-columns:1fr;
}

}
/* ==========================
   FAQ
========================== */

.faq{
    padding:120px 8%;
    background:#08111f;
}

.faq-container{
    max-width:900px;
    margin:auto;
}

.faq-item{
    background:#121b2c;
    border-radius:18px;
    margin-bottom:20px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.05);
}

.faq-question{
    width:100%;
    background:none;
    border:none;
    color:#fff;
    padding:25px 30px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:22px;
    font-weight:700;
    cursor:pointer;
}

.faq-answer{
    max-height:0;
    overflow:hidden;
    transition:.4s;
}

.faq-answer p{
    padding:0 30px 25px;
    color:#c8d2df;
    line-height:1.8;
}

.faq-item.active .faq-answer{
    max-height:250px;
}
.faq-item{
    background:#121b2c;
    border-radius:18px;
    margin-bottom:20px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.05);
    transition:all .35s ease;
}

.faq-item:hover{
    border-color:#58A6FF;
    transform:translateY(-3px);
}

.faq-question span{
    transition:transform .35s ease;
}

.faq-item.active .faq-question span{
    transform:rotate(45deg);
}

.faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .35s ease;
}
/* ==========================
   FINAL CTA
========================== */
.cta-box{
    max-width:1400px;
    margin:40px auto;
    padding:90px 90px;
    border-radius:28px;
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,
        #0d6efd 0%,
        #2d7eff 45%,
        #66b2ff 100%
        );
            border:1px solid rgba(255,255,255,.15);

box-shadow:
        0 30px 80px rgba(13,110,253,.35),
        inset 0 1px 0 rgba(255,255,255,.25);}

.cta-content{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:50px;
}

.cta-text{
    flex:1;
}

.cta-text h2{
    font-size:50px;
    font-weight:900;
     letter-spacing:-0.8px;
    line-height:1.3;
    display:flex;
    align-items:center;
    gap:18px;
    margin:0;
}
.cta-text h2 i{
    color:#fff;
    margin-right:15px;
    opacity:.9;
}
.cta-action .primary-btn{
    background:#0D6EFD;
    padding:22px 42px;
    border-radius:18px;
    min-width:320px;
    height:68px;
    font-size:21px;
    font-weight:700;
    box-shadow:0 15px 35px rgba(13,110,253,.35);
}

.cta-action .primary-btn:hover{
    transform:translateY(-3px) scale(1.04);
   box-shadow:0 15px 35px rgba(37,99,235,.35);
}
/* ==========================
   FOOTER
========================== */

.footer{

    background:#08111f;
 margin-top:30px;
    border-top:1px solid rgba(88,166,255,.15);

   padding:60px 8% 35px;

    position:relative;

}

.footer::before{

    content:"";

    position:absolute;

    top:-1px;

    left:50%;

    transform:translateX(-50%);

    width:320px;

    height:4px;

    background:linear-gradient(90deg,#0d6efd,#58A6FF);

    border-radius:50px;

}

.footer-container{
    display:flex;
        justify-content:space-between;

    grid-template-columns:1.8fr 1fr;
    gap:80px;
    align-items:flex-start;
}

.footer-logo h2{
    font-size:34px;
    margin-bottom:15px;
}

.footer-logo span{
    color:#58A6FF;
}

.footer-logo p{
    color:#b8c4d4;
    line-height:1.8;
}

.footer-links{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.footer-links a{
    color:#d6deeb;
    text-decoration:none;
    transition:.3s;
}

.footer-links a:hover{

    color:#58A6FF;

    transform:translateX(5px);

}

.footer-contact{
    text-align:right;
    margin-right:40px;
}

.footer-contact h3{
    font-size:28px;
    margin-bottom:25px;
}

.footer-contact p{
    color:#d6deeb;
    margin-bottom:15px;
    font-size:18px;
}

.footer-bottom{
    margin-top:50px;
    padding-top:25px;
    border-top:1px solid rgba(255,255,255,.08);
    text-align:center;
    color:#94a3b8;
}

@media(max-width:768px){

    .footer-container{
        grid-template-columns:1fr;
        gap:40px;
        text-align:center;
    }

    .footer-contact{
        text-align:center;
    }
}
.cta-box{
    position:relative;
    overflow:hidden;
}

.cta-box::before{
    content:"";
    position:absolute;
    top:-50%;
    left:-20%;
    width:180px;
    height:220%;
    background:linear-gradient(
        to right,
        transparent,
        rgba(255,255,255,.08),
        transparent
    );
    transform:rotate(25deg);
    animation:shineCTA 6s linear infinite;
}

@keyframes shineCTA{
    from{
        left:-30%;
    }
    to{
        left:130%;
    }
}
/* ==========================
   SCROLL ANIMATION
========================== */


/* ==========================
   SUCCESS POPUP
========================== */

.success-popup{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.65);
    display:flex;
    justify-content:center;
    align-items:center;
    opacity:0;
    visibility:hidden;
    transition:.3s;
    z-index:9999;
}

.success-popup.show{
    opacity:1;
    visibility:visible;
}

.popup-box{
    width:420px;
    background:#fff;
    color:#111;
    border-radius:20px;
    padding:40px;
    text-align:center;
    animation:popup .35s ease;
}

@keyframes popup{
    from{
        transform:scale(.8);
        opacity:0;
    }
    to{
        transform:scale(1);
        opacity:1;
    }
}

.checkmark{
    width:80px;
    height:80px;
    background:#22c55e;
    color:#fff;
    border-radius:50%;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:42px;
    font-weight:bold;
}

.popup-box h2{
    margin:20px 0 10px;
    font-size:34px;
}

.popup-box p{
    color:#555;
    margin-bottom:25px;
}

.popup-box button{
    background:#0d6efd;
    color:#fff;
    border:none;
    padding:14px 35px;
    border-radius:12px;
    cursor:pointer;
    font-size:16px;
}
/* ==========================
   SCROLL TO TOP
========================== */

#scrollTopBtn{

    position:fixed;

    right:25px;

    bottom:25px;

    width:58px;

    height:58px;

    border:none;

    border-radius:50%;

    background:rgba(13,110,253,.88);

    backdrop-filter:blur(16px);

    -webkit-backdrop-filter:blur(16px);

    border:1px solid rgba(255,255,255,.15);

    color:#fff;

    font-size:20px;

    cursor:pointer;

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    visibility:hidden;

    transform:translateY(20px);

    transition:all .35s ease;

    z-index:999;

    box-shadow:
        0 20px 45px rgba(13,110,253,.35),
        0 0 20px rgba(88,166,255,.15);

}

#scrollTopBtn.show{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

#scrollTopBtn:hover{

    transform:translateY(-6px) scale(1.08);

    background:rgba(13,110,253,.98);

    box-shadow:
        0 30px 60px rgba(13,110,253,.45),
        0 0 35px rgba(88,166,255,.25);

}
/* ==========================
   REVIEW ANIMATION
========================== */

.review-card{

    opacity:1;

    transform:translateY(0);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}
.menu-toggle{
    display:none;
    flex-direction:column;
    gap:6px;
    cursor:pointer;
}

.menu-toggle span{
    width:28px;
    height:3px;
    background:#fff;
    border-radius:10px;
}
.menu-toggle span{
    transition:all .3s ease;
}

.menu-toggle.active span:nth-child(1){
    transform:rotate(45deg) translate(6px,6px);
}

.menu-toggle.active span:nth-child(2){
    opacity:0;
}

.menu-toggle.active span:nth-child(3){
    transform:rotate(-45deg) translate(6px,-6px);
}

@media (max-width:768px){

    .hero-container{
        grid-template-columns:1fr;
        gap:30px;
        margin-top:120px;
    }

    .hero-content h1{
        font-size:42px;
        line-height:1.15;
    }

    .hero-content p{
        font-size:18px;
    }

    .hero-buttons{
        flex-direction:column;
        gap:15px;
    }

    .primary-btn,
    .secondary-btn{
        width:100%;
    }

    .trust-row{
        flex-direction:column;
        gap:12px;
        align-items:center;
    }

    .hero-stats{
        justify-content:center;
    }

    .quote-box{
        width:100%;
        max-width:100%;
        padding:25px;
    }

    .quote-box h2{
        font-size:34px;
    }

    .navbar{
        padding:15px 20px;
    }

    .logo h2{
        font-size:24px;
    }

    .logo p{
        display:none;
    }

    .menu-toggle{
        display:flex;
    }

    .nav-links,
    .phone-btn{
        display:none;
    }

    .navbar .nav-links.active{
        display:flex;
        flex-direction:column;
        position:absolute;
        top:70px;
        left:20px;
        right:20px;
        background:#121b2c;
        padding:16px;
        border-radius:12px;
        gap:14px;
    }
}
/* ==========================
   PAGE LOADER
========================== */

.loader{
    position:fixed;
    inset:0;
    background:#08111f;
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:99999;
    transition:opacity .5s ease,visibility .5s ease;
}

.loader.hide{
    opacity:0;
    visibility:hidden;
}

.loader-circle{
    width:70px;
    height:70px;
    border:5px solid rgba(255,255,255,.15);
    border-top:5px solid #58A6FF;
    border-radius:50%;
    animation:spin .8s linear infinite;
}

@keyframes spin{
    to{
        transform:rotate(360deg);
    }
}


/* ==========================
   HERO LOAD ANIMATION
========================== */

.hero-text,
.quote-box{
    opacity:0;
    transition:opacity .8s ease, transform .8s ease;
}

.hero-text{
    transform:translateX(-50px);
}

.quote-box{
    transform:translateX(50px);
}

.hero-loaded .hero-text,
.hero-loaded .quote-box{
    opacity:1;
    transform:translateX(0);
}
/* ==========================
   FLOATING GLOW
========================== */

.hero{
    overflow:hidden;
}

.hero-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(80px);
    opacity:.28;
    pointer-events:none;
    animation:floatGlow 8s ease-in-out infinite;
}

.glow1{
    width:320px;
    height:320px;
    background:#0D6EFD;
    top:10%;
    left:-80px;
}

.glow2{
    width:260px;
    height:260px;
    background:#58A6FF;
    right:-60px;
    bottom:8%;
    animation-delay:4s;
}

@keyframes floatGlow{

    0%,100%{
        transform:translateY(0) scale(1);
    }

    50%{
        transform:translateY(-25px) scale(1.08);
    }

}
/* ==========================
   MOUSE LIGHT EFFECT
========================== */

.hero::before{
    content:"";
    position:absolute;
    width:350px;
    height:350px;
    border-radius:50%;
    background:radial-gradient(
        circle,
        rgba(88,166,255,.18),
        transparent 70%
    );

    left:var(--mouse-x,50%);
    top:var(--mouse-y,50%);

    transform:translate(-50%,-50%);
    pointer-events:none;
    transition:left .08s linear, top .08s linear;
    z-index:1;
}
/* ==========================
   GLASS REFLECTION
========================== */

.quote-box::before{

    content:"";

    position:absolute;

    top:-120%;

    left:-40%;

    width:80px;

    height:250%;

    background:linear-gradient(

        rgba(255,255,255,0),

        rgba(255,255,255,.18),

        rgba(255,255,255,0)

    );

    transform:rotate(25deg);

    animation:glassReflection 8s linear infinite;

}

@keyframes glassReflection{

    0%{

        left:-45%;

    }

    100%{

        left:145%;

    }

}
#progressBar{
    position:fixed;
    top:0;
    left:0;
    width:0%;
    height:4px;
    background:linear-gradient(90deg,#0D6EFD,#58A6FF);
    z-index:999999;
    transition:width .1s linear;
}
/* ==========================
   PREMIUM CARD HOVER
========================== */

.why-card,
.review-card,
.window-card,
.process-card{
    transform-style:preserve-3d;
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.why-card:hover,
.review-card:hover,
.window-card:hover,
.process-card:hover{

    transform:
        perspective(1000px)
        rotateX(5deg)
        rotateY(-5deg)
        translateY(-12px);

    box-shadow:
        0 30px 60px rgba(0,0,0,.35),
        0 0 25px rgba(88,166,255,.15);
}
/* ==========================
   OUR NUMBERS
========================== */

.stats-section{
    padding:120px 8%;
    background:linear-gradient(135deg,#08111f,#0b1527,#101d35);
    position:relative;
    overflow:hidden;

}

.stats-section::before{
    content:"";
    position:absolute;
    width:450px;
    height:450px;
    background:rgba(13,110,253,.08);
    border-radius:50%;
    top:-180px;
    left:-180px;
    filter:blur(80px);
}

.stats-section::after{
    content:"";
    position:absolute;
    width:350px;
    height:350px;
    background:rgba(88,166,255,.08);
    border-radius:50%;
    bottom:-150px;
    right:-120px;
    filter:blur(80px);
}

.stats-section .section-title,
.stats-section .stats-grid{
    position:relative;
    z-index:2;
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    margin-top:60px;
}

.stats-box{
    background:#121b2c;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    border:1px solid rgba(88,166,255,.15);
    border-radius:20px;
    padding:40px 25px;
    text-align:center;

    box-shadow:0 20px 50px rgba(0,0,0,.35);
    transition:all .35s ease;
}

.stats-box:hover{
    transform:translateY(-12px);
    border-color:#58A6FF;
    box-shadow:
        0 30px 70px rgba(0,0,0,.45),
        0 0 25px rgba(88,166,255,.18);
}

.stats-box i{
    font-size:42px;
    color:#58A6FF;
    margin-bottom:20px;
}

.stats-box h3{
    font-size:42px;
    font-weight:800;
    color:#fff;
    margin-bottom:10px;
}

.stats-box p{
    font-size:17px;
    color:#b8c4d4;
    font-weight:600;
}

@media(max-width:992px){
    .stats-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:600px){
    .stats-grid{
        grid-template-columns:1fr;
    }
}
/* Fix Stats Section Heading */

.stats-section .section-title h2{
    color:#fff !important;
}

.stats-section .section-title p{
     color:#b8c4d4 !important;
}

.stats-section .section-title span{
     color:#58A6FF !important;
    font-weight:700;
    letter-spacing:2px;
}
/* Fixed Navbar Offset */

#hero,
#why-us,
#reviews,
#window-types,
#process,
#faq,
#contact{
    scroll-margin-top:120px;
}
html{
    scroll-behavior: smooth;
}   
/*==========================
SERVICE AREA
==========================*/

.service-area{

    padding:120px 8%;

    background:linear-gradient(180deg,#ffffff,#f8fbff);

}

.service-grid{

    margin-top:60px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:28px;

}

.service-card{

    background:#fff;

    border-radius:20px;

    padding:35px;

    text-align:center;

    border:1px solid #e7eef7;

    transition:.35s;

    box-shadow:0 15px 35px rgba(0,0,0,.05);

}

.service-card i{

    font-size:42px;

    color:#0d6efd;

    margin-bottom:18px;

}

.service-card h3{

    font-size:22px;

    color:#132238;

}

.service-card:hover{

    transform:translateY(-10px);

    border-color:#58A6FF;

    box-shadow:0 20px 45px rgba(13,110,253,.15);

}

.service-btn{

    margin-top:55px;

    text-align:center;

}

@media(max-width:992px){

.service-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.service-grid{

grid-template-columns:1fr;

}
.cta-content{
    flex-direction:column;
    text-align:center;
}

.cta-text h2{
    font-size:38px;
}

.cta-text p{
    font-size:18px;
}

.cta-action{
    width:100%;
}

.cta-action .primary-btn{
    width:100%;
}

}
/*==========================
BEFORE & AFTER
==========================*/

.before-after{

    padding:80px 8%;
    border-top:1px solid #e8eef7;
box-shadow:inset 0 20px 40px rgba(0,0,0,.03);
    background:#fff;

}

.before-after .section-title{

    text-align:center;

    max-width:850px;

    margin:0 auto 70px;

}

.before-after .section-title h2{

    font-size:52px;

    color:#132238;

    margin:15px 0;

}

.before-after .section-title p{

    color:#6b7280;

    font-size:20px;

}

.compare-grid{

    display:grid;

    grid-template-columns:1fr 90px 1fr;

    align-items:center;

    gap:25px;

}

.compare-card{

    position:relative;

    overflow:hidden;

    border-radius:24px;

    background:#fff;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

    transition:.4s;

}

.compare-card:hover{

    transform:translateY(-8px);

}

.compare-card img{

    width:100%;

    height:520px;

    object-fit:cover;

    display:block;

}

.compare-badge{

    position:absolute;

    top:20px;

    left:20px;

    background:#0d6efd;

    color:#fff;

    padding:10px 22px;

    border-radius:40px;

    font-weight:700;

    z-index:2;

}

.compare-badge.after{

    left:auto;

    right:20px;

}

.compare-divider{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

    height:520px;

}

.divider-line{

    width:2px;

    height:100%;

    background:#dbeafe;

}

.divider-circle{

    position:absolute;

    width:78px;

    height:78px;

    background:#0d6efd;

    color:#fff;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:28px;

    box-shadow:0 15px 40px rgba(13,110,253,.35);

}

.upgrade-box{

    margin-top:80px;

    background:#ffffff;

    border:1px solid #e7eef7;

    border-radius:24px;

    padding:35px 45px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.upgrade-text{

    display:flex;

    align-items:center;

    gap:22px;

}

.upgrade-text i{

    width:70px;

    height:70px;

    border-radius:18px;

    background:#eef5ff;

    color:#0d6efd;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:30px;

}

.upgrade-text h3{

    color:#132238;

    font-size:32px;

    margin-bottom:8px;

}

.upgrade-text p{

    color:#6b7280;

    font-size:18px;

}

@media(max-width:992px){

.compare-grid{

grid-template-columns:1fr;

}

.compare-divider{

display:none;

}

.compare-card img{

height:400px;

}

.upgrade-box{

flex-direction:column;

text-align:center;

}

.upgrade-text{

flex-direction:column;

}

}
/*==========================
TRUST BADGES
==========================*/

.trust-section{

    padding:120px 8%;

    background:#ffffff;

}

.trust-grid{

    margin-top:60px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.trust-card{

    background:#fff;

    border:1px solid #e7eef7;

    border-radius:22px;

    padding:40px 30px;

    text-align:center;

    transition:.35s;

    box-shadow:0 15px 40px rgba(0,0,0,.06);

}

.trust-card:hover{

    transform:translateY(-10px);

    border-color:#58A6FF;

    box-shadow:0 25px 60px rgba(13,110,253,.15);

}

.trust-card i{

    width:80px;

    height:80px;

    margin:0 auto 25px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#eef5ff;

    color:#0d6efd;

    font-size:34px;

}

.trust-card h3{

    color:#132238;

    font-size:24px;

    margin-bottom:15px;

}

.trust-card p{

    color:#6b7280;

    line-height:1.7;

}

@media(max-width:992px){

.trust-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.trust-grid{

grid-template-columns:1fr;

}

}

/*==========================
MOBILE CALL BAR
==========================*/

.mobile-call{

    display:none;

}

@media(max-width:768px){

.mobile-call{

display:flex;

position:fixed;

left:15px;

right:15px;

bottom:15px;

height:56px;

background:#0d6efd;

color:#fff;

text-decoration:none;

justify-content:center;

align-items:center;

gap:12px;

border-radius:14px;

font-weight:700;

font-size:18px;

box-shadow:0 20px 45px rgba(13,110,253,.35);

z-index:999;

}

.floating-quote{

bottom:90px;

right:15px;

padding:14px 18px;

}

}
/*==========================
PREMIUM FOOTER
==========================*/

.footer-logo i{

    color:#58A6FF;

    margin-right:10px;

}

.footer-social{

    display:flex;

    gap:15px;

    margin-top:25px;

}

.footer-social a{

  width:52px;
height:52px;
font-size:20px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

    background:#132238;

    color:#fff;

    transition:.35s;

}

.footer-social a:hover{

    background:#0d6efd;

    transform:translateY(-6px) scale(1.08);

}

.footer-links a{

    display:inline-block;

    color:#d6deeb;

    text-decoration:none;

    transition:all .3s ease;

}


.footer-links h3,
.footer-contact h3{

    color:#ffffff;

    font-size:22px;

    margin-bottom:22px;

    font-weight:700;

}
.footer-trust{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:14px;
    margin-bottom:22px;
    color:#58A6FF;
    font-size:15px;
    font-weight:600;
}

.footer-trust i{
    color:#58A6FF;
}
/* ==========================
   FINAL MOBILE FIX
========================== */

@media (max-width:768px){

    .navbar{
        width:95%;
        padding:14px 18px;
    }

    .logo h2{
        font-size:18px;
    }

    .hero{
        min-height:auto;
        padding:110px 0 60px;
    }

    .hero-container{
        grid-template-columns:1fr;
        gap:35px;
        margin-top:0;
    }

    .hero-content{
        text-align:center;
    }

    .hero-content h1{
        font-size:42px;
        line-height:1.15;
    }

    .hero-content p{
        font-size:18px;
        line-height:1.7;
    }

    .rating{
        margin:auto;
    }

    .hero-buttons{
        flex-direction:column;
    }

    .primary-btn,
    .secondary-btn{
        width:100%;
        min-width:100%;
    }

    .quote-box{
        padding:28px 22px;
        border-radius:24px;
    }

    .quote-box h2{
        font-size:34px;
        text-align:center;
    }

    .quote-box input,
    .quote-box button{
        height:56px;
    }

}
@media (max-width:768px){

    .navbar{
        top:10px;
        width:96%;
        border-radius:14px;
        padding:12px 16px;
    }

    .logo{
        display:flex;
        align-items:center;
        gap:10px;
    }

    .logo h2{
        font-size:20px;
    }

    .logo p{
        display:none;
    }

    .logo i{
        font-size:28px;
        margin-right:0;
    }

    .phone-btn{
        display:none;
    }

    .menu-toggle{
        display:flex;
    }

    .nav-links{
        display:none;
    }

    .nav-links.active{
        display:flex;
        flex-direction:column;
        position:absolute;
        top:75px;
        left:15px;
        right:15px;
        padding:20px;
        background:#121b2c;
        border-radius:16px;
        gap:16px;
        box-shadow:0 20px 40px rgba(0,0,0,.35);
    }

    .nav-links.active a{
        font-size:18px;
    }
}
@media (max-width:768px){

    .process-grid{
        display:grid;
        grid-template-columns:1fr;
        gap:22px;
    }

    .process-card{
        width:100%;
        padding:35px 25px;
    }

    .process-card h3{
        font-size:28px;
        line-height:1.3;
    }

    .process-card p{
        font-size:17px;
        line-height:1.7;
    }

    .step-number{
        width:60px;
        height:60px;
        font-size:26px;
    }

}
/* ==========================
   FINAL RESPONSIVE FIX
========================== */

@media (max-width:768px){

    /* Reviews */
    .review-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    /* Window Types */
    .window-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .window-card img{
        height:220px;
    }

    /* CTA */
    .cta-box{
        padding:35px 22px;
    }

    .cta-content{
        flex-direction:column;
        text-align:center;
        gap:25px;
    }

    .cta-text h2{
        font-size:32px;
        justify-content:center;
    }

    .cta-action{
        width:100%;
    }

    .cta-action .primary-btn{
        width:100%;
        min-width:100%;
    }

    /* Footer */
    .footer-container{
        flex-direction:column;
        align-items:center;
        text-align:center;
        gap:35px;
    }

    .footer-contact{
        margin-right:0;
        text-align:center;
    }

    .footer-social{
        justify-content:center;
    }
}
/* ==========================
   MOBILE POLISH
========================== */

@media (max-width:768px){

    section{
        padding:60px 0;
    }

    .container,
    .hero-container{
        width:92%;
    }

    .section-title{
        margin-bottom:40px;
    }

    .section-title h2{
        font-size:32px;
        line-height:1.25;
    }

    .section-title p{
        font-size:16px;
        line-height:1.7;
    }

    .why-card,
    .review-card,
    .window-card,
    .process-card{
        border-radius:18px;
    }

    .why-card,
    .review-card,
    .process-card{
        padding:28px 22px;
    }

    .window-info{
        padding:22px;
    }

    .window-info h3,
    .process-card h3,
    .why-card h3{
        font-size:22px;
    }

    .window-info p,
    .process-card p,
    .why-card p,
    .review-card p{
        font-size:15px;
        line-height:1.7;
    }

    .footer{
        padding-bottom:90px; /* Mobile Call Bar ke liye space */
    }
}
@media (max-width:768px){
    .hero-stats{
        display:none;
    }
}
@media (max-width:768px){

    .quote-box{
        margin-top:20px;
        padding:24px 20px;
        border-radius:20px;
    }

    .quote-box h2{
        font-size:28px;
        margin-bottom:20px;
    }

    .form-subtitle{
        font-size:14px;
        margin-bottom:20px;
    }

    .quote-box input{
        padding:16px;
        font-size:16px;
    }

    .quote-box button{
        padding:18px;
        font-size:17px;
    }

    .form-note{
        font-size:12px;
        line-height:1.5;
    }
}
@media (max-width:768px){

    .nav-links.active{
        animation:menuFade .3s ease;
    }

    @keyframes menuFade{
        from{
            opacity:0;
            transform:translateY(-15px);
        }
        to{
            opacity:1;
            transform:translateY(0);
        }
    }

    .nav-links.active a{
        padding:12px 15px;
        border-radius:10px;
        transition:.3s;
    }

    .nav-links.active a:hover{
        background:rgba(88,166,255,.12);
        color:#58A6FF;
    }

}
.reveal{
    opacity:0;
    transform:translateY(40px);
    transition:all .8s ease;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}


