/* Navbar*/
/* Hero */
/* Specialized Disciplines*/
/* Curated Work Portfolio */
/* Call to Acton */
/* Footer*/


/* ==========================================================================
   Navbar - RESPONSIVE DESIGN BREAKPOINT (SIRF MOBILE VIEW KEY LIYE FIX) - 
   ========================================================================== */
@media (max-width:768px){

.header{
    padding:8px 0;
}

.logo{
    font-size:1.6rem;
}

.logo-icon{
    width:42px;
    height:42px;
}

.nav-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    font-size:28px;
    cursor:pointer;
    z-index:10001;
}

.nav-menu{
    position:fixed;
    top:70px;
    left:0;

    width:100%;
    background:#fff;

    display:flex;
    flex-direction:column;
    align-items:flex-start;

    padding:10px 0;

    box-shadow:0 15px 30px rgba(0,0,0,.08);

    transform:translateY(-20px);
    opacity:0;
    visibility:hidden;

    transition:all .35s ease;

    z-index:9999;
}

.nav-menu.active{
    transform:translateY(0);
    opacity:1;
    visibility:visible;
}

.nav-link{
    width:100%;
    padding:16px 25px;
    font-size:17px;
    border-bottom:1px solid #f2f2f2;
}

.nav-link:last-child{
    border-bottom:none;
}

.nav-link::after{
    display:none;
}

}


/* =====================================================
   HERO RESPONSIVE
===================================================== */

/* ---------- Tablet ---------- */

@media (max-width: 992px) {

    .hero {
        min-height: auto;
        padding: 100px 0 70px;
    }

    .hero-grid {
        grid-template-columns: 1fr;
        gap: 50px;
        text-align: center;
    }

    .hero-desc {
        max-width: 100%;
        margin: 0 auto 35px;
    }

    .hero-buttons {
        justify-content: center;
        flex-wrap: wrap;
    }

    .hero-badges {
        justify-content: center;
    }

    .badge-item {
        justify-content: center;
    }

    .hero-image-wrapper {
        order: -1;
    }

    .hero-title {
        font-size: 3rem;
    }

}


/* ---------- Mobile ---------- */

@media (max-width: 768px) {

    .hero {
        padding: 90px 0 50px;
    }

    .hero-title {
        font-size: 2.3rem;
        line-height: 1.25;
    }

    .hero-sub {
        font-size: 0.95rem;
        letter-spacing: 1px;
    }

    .hero-desc {
        font-size: 1rem;
        margin-bottom: 30px;
    }

    .hero-buttons {
        flex-direction: column;
        gap: 15px;
    }

    .hero-buttons .btn {
        width: 100%;
    }

    .hero-badges {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .badge-item {
        justify-content: flex-start;
        font-size: 0.95rem;
    }

    .hero-image {
        max-width: 100%;
    }

}


/* ---------- Small Mobile ---------- */

@media (max-width: 480px) {

    .hero {
        padding: 80px 0 40px;
    }

    .hero-title {
        font-size: 1.9rem;
    }

    .hero-sub {
        font-size: 0.85rem;
    }

    .hero-desc {
        font-size: 0.95rem;
    }

}









/* ==========================================
   SERVICES
========================================== */



/* ==========================================================
   TABLET (992px)
========================================================== */
@media (max-width:992px){

.container{
    max-width:100%;
    padding:0 25px;
}

/* Section Headings (Portfolio & Services Combo) */
.section-title-white,
.section-title-dark{
    font-size:2.3rem;
    margin-bottom:40px;
}

/* Services */
.services-section{
    padding:90px 0;
}

.services-grid{
    grid-template-columns:repeat(2,1fr);
    gap:25px;
}

.glass-card{
    padding:25px;
}

.service-card h3{
    font-size:1.35rem;
}

.service-card p{
    font-size:0.95rem;
}

.service-card .step-num{
    font-size:2.5rem;
}

/* Buttons */
.btn{
    padding:12px 28px;
    font-size:0.95rem;
}

}


/* ==========================================================
   MOBILE (768px)
========================================================== */
@media (max-width:768px){

.container{
    padding:0 20px;
}

/* Section Headings (Portfolio & Services Combo) */
.section-title-white,
.section-title-dark{
    font-size:1.9rem; /* Screen ke hisab se scale optimize kiya */
    line-height:1.25;
    margin-bottom:35px;
}

/* Services */
.services-section{
    padding:70px 0;
}

.services-grid{
    grid-template-columns:1fr;
    gap:20px;
}

.glass-card{
    padding:20px;
}

.service-card .step-num{
    font-size:2.2rem;
}

.service-card h3{
    font-size:1.25rem;
}

.service-card p{
    font-size:0.95rem;
}

/* Buttons */
.btn{
    width:100%;
    padding:14px 20px;
    font-size:1rem;
}

}


/* ==========================================================
   SMALL MOBILE (480px)
========================================================== */
@media (max-width:480px){

.container{
    padding:0 15px;
}

/* Section Headings (Dono Headings ke liye chota screen alignment) */
.section-title-white,
.section-title-dark{
    font-size:1.55rem; /* Do-line me text break proper hone ke liye */
    line-height: 1.3;
    margin-bottom: 25px;
}

.services-section{
    padding:60px 0;
}

.glass-card{
    padding:18px;
}

.service-card .step-num{
    font-size:2rem;
}

.service-card h3{
    font-size:1.15rem;
}

.service-card p{
    font-size:0.9rem;
}

.btn{
    font-size:0.95rem;
}

}




/* ==========================================================================
   portfolio - MOBILE & TABLET VIEW RESPONSIVE SYSTEM  
   ========================================================================== */


@media (max-width: 768px) {
    .portfolio-section {
        padding: 80px 0;
    }
    
    .lightbox-content {
        max-width: 95%;
    }

    .lightbox-img {
        max-height: 70vh;
    }

    /* Top positioning optimized to prevent touch collision */
    .lightbox-counter {
        left: 20px;
        top: 20px;
        font-size: 0.95rem;
        padding: 6px 14px;
    }

    .lightbox-close {
        right: 20px;
        top: 15px;
        font-size: 2.5rem;
    }

    /* Optimized Touch Safe Targets for Mobile Devices */
    .lightbox-arrow {
        width: 46px;
        height: 46px;
        font-size: 18px;
        background: rgba(0, 0, 0, 0.6); /* High contrast backdrop overlay */
        border: none;
    }

    .arrow-left { left: 15px; }
    .arrow-right { right: 15px; }
}



/* ==========================================
   CTA - MOBILE & TABLET VIEW RESPONSIVE SYSTEM
========================================== */

/* Responsive Queries for CTA Box */
@media (max-width: 992px) {
    .cta-box {
        flex-direction: column;
        text-align: center;
        padding: 50px 30px;
    }
    .cta-content h2 {
        font-size: 2rem;
    }
}



/* ==========================================================
   FOOTER RESPONSIVE - MOBILE & TABLET VIEW RESPONSIVE SYSTEM
========================================================== */

/* ---------- Tablet ---------- */

@media (max-width:992px){

    .footer{
        padding:60px 0 0;
    }

    .footer-grid{
        grid-template-columns:repeat(2,1fr);
        gap:35px;
    }

    .footer-bottom-flex{
        flex-direction:column;
        gap:20px;
        text-align:center;
    }

    .footer-legal-links{
        justify-content:center;
        flex-wrap:wrap;
    }

}


/* ---------- Mobile ---------- */

@media (max-width:768px){

    .footer{
        padding:50px 0 0;
        text-align:center;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:35px;
    }

    .footer-brand{
        display:flex;
        flex-direction:column;
        align-items:center;
    }

    .footer-socials{
        justify-content:center;
    }

    .footer-links h4,
    .footer-address h4{
        display:inline-block;
    }

    .footer-address p{
        justify-content:center;
        text-align:left;
    }

    .footer-bottom{
        padding:20px 15px;
    }

    .footer-bottom-flex{
        flex-direction:column;
        gap:15px;
        text-align:center;
    }

    .footer-legal-links{
        flex-direction:column;
        gap:12px;
        align-items:center;
    }

}


/* ---------- Small Mobile ---------- */

@media (max-width:480px){

    .footer{
        padding:40px 0 0;
    }

    .footer-brand .logo{
        font-size:1.4rem;
    }

    .footer-brand p,
    .footer-links ul li a,
    .footer-address p,
    .copyright-text,
    .footer-legal-links a{
        font-size:0.85rem;
    }

    .footer-socials a{
        width:40px;
        height:40px;
    }

}

@media (max-width:768px){

.footer{
    text-align:center;
}

.footer-socials{
    justify-content:center;
}

.footer-bottom-flex{
    flex-direction:column;
    gap:15px;
    text-align:center;
}

.footer-legal-links{
    flex-direction:column;
    gap:10px;
}

}























/* ==========================================================================
   RESPONSIVE DESIGN SYSTEM (MOBILE COMPATIBILITY)
   ========================================================================== */
@media (max-width: 992px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 columns for tablet view */
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .footer {
        padding-top: 60px;
    }
    
    .footer-grid {
        grid-template-columns: 1fr; /* Single column layout for mobile screens */
        gap: 35px;
    }

    .footer-bottom-flex {
        flex-direction: column; /* Stack vertically if desktop layout breaks */
        gap: 15px;
        text-align: center;
    }
}
