/* ==========================================================================
   NEXTLINE INTERIORS & CONSTRUCTION — brand theme
   Primary red sampled from the logo (#C00000), paired with charcoal + warm gold
   ========================================================================== */

:root{
    --nx-red: #b3121a;
    --nx-red-dark: #7a0c11;
    --nx-red-light: #d94a4f;
    --nx-gold: #c9a24b;
    --nx-charcoal: #1c1c1c;
    --nx-cream: #faf7f2;
}

/* ---------- Logo fit (nav + footer) ---------- */
.dsk-logo .nav-brand{
    display: inline-flex;
    align-items: center;
}
.main-header,
.main-header.sticky{
    height: 128px !important;
}
.dsk-logo,
.dsk-logo .nav-brand{
    line-height: normal !important;
}
.dsk-logo .nav-brand img{
    max-height: 108px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    transition: max-height .25s ease;
}
.main-header.sticky .dsk-logo .nav-brand img{
    max-height: 78px !important;
}
@media (max-width: 767px){
    .main-header,
    .main-header.sticky{
        height: 90px !important;
    }
    .dsk-logo .nav-brand img{
        max-height: 66px !important;
    }
}
.footer-row2 .navbar-brand img{
    height: auto !important;
    max-height: 78px !important;
    width: auto !important;
    object-fit: contain;
    margin-bottom: 15px;
}

/* ---------- Base ---------- */
.text-justify{
    text-align: justify;
}
.main-header{
    background-color: #fff;
}
.nav-bg-b .custom-nav .nav-list li a.menu-links{
    color:#050748
}
.ptb-30{ padding : 30px 0; }
.ptb-60{ padding : 60px 0; }

body{
    color: #3a3a3a;
}

/* ---------- Brand color system ---------- */
.text-second{
    color: var(--nx-red) !important;
}

.common-heading h2{
    color: var(--nx-charcoal);
    position: relative;
}

.nav-bg-b .custom-nav .nav-list li a.menu-links:hover,
.custom-nav .nav-list li a.menu-links:hover,
#main-nav .first-nav > li > a:hover{
    color: var(--nx-red) !important;
}

/* Buttons */
.btn-main{
    background-color: var(--nx-red) !important;
    box-shadow: 0 10px 20px 0 rgba(179,18,26,.25) !important;
}
.bg-btn{
    background: var(--nx-red) !important;
    background: linear-gradient(to right, var(--nx-gold) 0, var(--nx-red) 100%) !important;
    box-shadow: 0 10px 20px 0 rgba(179,18,26,.25) !important;
}
.bg-btn2{
    background: var(--nx-red) !important;
    background: linear-gradient(to right, var(--nx-red) 0, var(--nx-red-dark) 100%) !important;
    box-shadow: 0 10px 20px 0 rgba(122,12,17,.25) !important;
}
.bg-btn3{
    background: var(--nx-charcoal) !important;
    background: linear-gradient(to right, var(--nx-charcoal) 0, var(--nx-red-dark) 100%) !important;
    box-shadow: 0 10px 20px 0 rgba(0,0,0,.25) !important;
}
.btn-outline{
    border-color: var(--nx-red) !important;
    color: var(--nx-red) !important;
    box-shadow: 0 10px 15px 0 rgba(179,18,26,.08) !important;
}
.btn-outline:hover{
    background: var(--nx-red) !important;
    color: #fff !important;
}

/* Stats / counters */
.services-cuntr{
    color: var(--nx-red) !important;
}

/* Links / "read more" */
.link-prbs{
    color: var(--nx-red) !important;
    font-weight: 600;
    transition: color .2s ease, transform .2s ease;
}
.link-prbs:hover{
    color: var(--nx-red-dark) !important;
    transform: translateX(3px);
}

/* Cards + hover motion */
.hoshd{
    transition: transform .3s ease, box-shadow .3s ease;
}
.hoshd:hover{
    box-shadow: 0 20px 40px -15px rgba(179,18,26,.3) !important;
    transform: translate(0,-6px);
}
.service-card-app,
.s-block,
.s-block2,
.s-block.up-hor{
    border-radius: 14px;
}

/* Mission / Vision cards */
.s-block2{
    border-top: 3px solid var(--nx-red);
}

/* Swiper controls */
.swiper-pagination-bullet-active{
    background: var(--nx-red) !important;
    opacity: 1 !important;
}
.hero-slider .swiper-button-next,
.hero-slider .swiper-button-prev{
    border-color: rgba(255,255,255,.6) !important;
}
.hero-slider .swiper-button-next:before,
.hero-slider .swiper-button-prev:before{
    color: #fff !important;
}

/* Testimonials */
.testimonial-card{
    border-left: 3px solid var(--nx-red);
    padding-left: 20px;
}
.posiqut{
    color: var(--nx-red) !important;
}

/* Footer */
.footer-address-list li i{
    color: var(--nx-gold);
}
footer a{
    transition: color .2s ease;
}
footer a:hover{
    color: var(--nx-red-light) !important;
}

/* Breadcrumb / page banners */
.breadcrumb-area{
    position: relative;
}
.breadcrumb-area:before{
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(120deg, rgba(20,20,20,.78), rgba(179,18,26,.55));
}
.breadcrumb-areav2:before{
    opacity: 1 !important;
    background: linear-gradient(120deg, rgba(20,20,20,.78), rgba(179,18,26,.55)) !important;
}
.breadcrumb-areav2 .container{
    position: relative;
    z-index: 2;
}
.bread-title h2,
.bread-titlev2 h1{
    color: #fff !important;
}
.bread-menu li a{
    color: rgba(255,255,255,.75) !important;
}
.bread-menu li a:hover{
    color: #fff !important;
}

/* Section rhythm for a more designed feel */
.about-agency, .missionvision, .why-choose, .pillars-section, .service-block, .service-section-app{
    scroll-margin-top: 100px;
}

.industry-workfor h6, .s-block h4, .service-card-app h4{
    font-weight: 600;
}

/* Social icons */
.social-media-linkz a{
    transition: transform .2s ease, color .2s ease;
}
.social-media-linkz a:hover{
    transform: translateY(-3px);
    color: var(--nx-red) !important;
}

/* ---------- Equal-height service cards (Home) ---------- */
.row.upset > [class*="col-"]{
    display: flex;
}
.row.upset .service-card-app{
    width: 100%;
    display: flex;
    flex-direction: column;
}
.nx-card-img{
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}
.service-card-app p{
    flex-grow: 1;
}
.service-card-app .link-prbs{
    margin-top: auto;
}

/* ---------- Equal-height Mission / Vision cards ---------- */
.missionvision .row.mt30 > [class*="col-"]{
    display: flex;
}
.missionvision .s-block2{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}
.missionvision .s-block2 p{
    padding-bottom: 0 !important;
    flex-grow: 1;
    margin-bottom: 0;
}
.missionvision .card-icon{
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ---------- Why Choose Us / Pillars — compact, centered icon-tile cards ---------- */
.why-choose,
.pillars-section{
    background: var(--nx-cream);
    position: relative;
    overflow: hidden;
}
.why-choose::before,
.pillars-section::before{
    content: '';
    position: absolute;
    top: -120px;
    right: -120px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(179,18,26,.08) 0%, rgba(179,18,26,0) 70%);
}
.why-choose .container-fluid,
.pillars-section .container-fluid,
.pillars-section .container{
    position: relative;
    z-index: 1;
}
.why-choose .row.upset,
.pillars-section .row.upset{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px;
    margin: 0;
}
.why-choose .row.upset > [class*="col-"],
.pillars-section .row.upset > [class*="col-"]{
    flex: 0 1 260px;
    max-width: 260px;
    width: 100%;
    padding: 0;
}

.why-choose .s-block.up-hor,
.pillars-section .s-block.up-hor{
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    background: #fff;
    padding: 26px 20px;
    border-radius: 14px;
    box-shadow: 0 8px 20px -14px rgba(28,28,28,.2);
    border-top: 3px solid transparent;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.why-choose .s-block.up-hor:hover,
.pillars-section .s-block.up-hor:hover{
    transform: translate(0,-6px);
    box-shadow: 0 18px 30px -16px rgba(179,18,26,.3);
    border-top-color: var(--nx-red);
}
.why-choose .s-card-icon,
.pillars-section .s-card-icon{
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--nx-red) 0%, var(--nx-red-dark) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 14px -8px rgba(179,18,26,.5);
    transition: transform .3s ease;
}
.why-choose .s-block.up-hor:hover .s-card-icon,
.pillars-section .s-block.up-hor:hover .s-card-icon{
    transform: rotate(-6deg) scale(1.06);
}
.why-choose .s-card-icon i,
.pillars-section .s-card-icon i{
    font-size: 18px;
    color: #fff;
}
.why-choose h4,
.pillars-section h4{
    font-size: 14.5px;
    color: var(--nx-charcoal);
    margin: 0;
    font-weight: 700;
}
.why-choose .up-hor p,
.pillars-section .up-hor p{
    font-size: 12.5px;
    line-height: 1.6;
    color: #6a6a6a;
    margin: 0;
}

/* ==========================================================================
   Navbar redesign
   ========================================================================== */
.main-header{
    border-bottom: 3px solid var(--nx-red);
    box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
.main-header.sticky{
    border-bottom-color: var(--nx-red);
}
.nav-list li a.menu-links{
    letter-spacing: .5px;
    font-weight: 600;
    position: relative;
}
.nav-list li a.menu-links::after{
    content: '';
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: 28px;
    height: 2px;
    background: var(--nx-red);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s ease;
}
.nav-list li a.menu-links:hover::after{
    transform: scaleX(1);
}
.nav-list li.sbmenu > a.menu-links::after{
    display: none;
}
.nx-dropdown{
    border-top: 3px solid var(--nx-red);
    box-shadow: 0 18px 34px -16px rgba(28,28,28,.35);
}
.sub-menu-column ul li a{
    padding-left: 14px;
    border-left: 2px solid transparent;
    transition: border-color .2s ease, color .2s ease, padding-left .2s ease;
}
.sub-menu-column ul li a:hover{
    border-left-color: var(--nx-red);
    color: var(--nx-red) !important;
    padding-left: 20px;
}
.right-end-btn .btn-round-{
    transition: transform .2s ease, box-shadow .2s ease;
}
.right-end-btn .btn-round-:hover{
    transform: scale(1.08);
}

/* ==========================================================================
   Footer redesign
   ========================================================================== */
footer{
    background: linear-gradient(160deg, var(--nx-charcoal) 0%, #262019 100%);
    position: relative;
}
footer::before{
    content: '';
    display: block;
    height: 4px;
    background: linear-gradient(90deg, var(--nx-red) 0%, var(--nx-gold) 50%, var(--nx-red) 100%);
}
.footer-row2{
    background: transparent !important;
    padding-top: 55px;
    padding-bottom: 25px;
}
.ftr-brand-pp p{
    color: rgba(255,255,255,.62);
    font-size: 14px;
    line-height: 1.7;
    margin-top: 12px;
}
.ftr-social{
    margin-top: 18px !important;
    display: flex;
    gap: 12px;
}
.ftr-social a{
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.ftr-social a:hover{
    background: var(--nx-red) !important;
    color: #fff !important;
}
footer h5{
    color: #fff;
    font-weight: 700;
    position: relative;
    padding-bottom: 14px;
    margin-bottom: 22px;
}
footer h5::after{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 42px;
    height: 3px;
    background: var(--nx-red);
    border-radius: 2px;
}
.ftr-links .footer-address-list li{
    margin-bottom: 12px;
}
.ftr-links .footer-address-list li a{
    color: rgba(255,255,255,.62);
    font-size: 14px;
    position: relative;
    padding-left: 0;
    transition: padding-left .2s ease, color .2s ease;
}
.ftr-links .footer-address-list li a::before{
    content: '\f105';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: var(--nx-red);
    margin-right: 8px;
}
.ftr-links .footer-address-list li a:hover{
    color: #fff;
    padding-left: 4px;
}
.ftr-contact-list{
    list-style: none;
    margin: 0;
    padding: 0;
}
.ftr-contact-list li{
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
}
.ftr-ic{
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(179,18,26,.18);
    display: flex;
    align-items: center;
    justify-content: center;
}
.ftr-ic i{
    color: var(--nx-red-light);
    font-size: 14px;
}
.ftr-txt{
    display: flex;
    flex-direction: column;
    padding-top: 2px;
}
.ftr-label{
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: rgba(255,255,255,.4);
    margin-bottom: 3px;
}
.ftr-txt a,
.ftr-txt > span:not(.ftr-label){
    color: rgba(255,255,255,.75);
    font-size: 14px;
    line-height: 1.5;
}
.ftr-txt a:hover{
    color: var(--nx-red-light) !important;
}
footer .border-bottom{
    border-color: rgba(255,255,255,.12) !important;
}
footer p.text-justify{
    color: rgba(255,255,255,.5);
    font-size: 13px;
    text-align: center !important;
    margin-top: 20px;
}
footer p.text-justify b{
    color: #fff;
}

/* ==========================================================================
   Our Journey — timeline
   ========================================================================== */
.journey-timeline{
    list-style: none;
    margin: 0;
    padding: 0;
    border-left: 2px solid rgba(179,18,26,.2);
}
.journey-timeline li{
    position: relative;
    padding: 0 0 32px 28px;
}
.journey-timeline li:last-child{
    padding-bottom: 0;
}
.journey-timeline li::before{
    content: '';
    position: absolute;
    left: -7px;
    top: 4px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--nx-red);
    border: 3px solid #fff;
    box-shadow: 0 0 0 2px rgba(179,18,26,.25);
}
.jt-year{
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: var(--nx-red);
    margin-bottom: 4px;
}
.journey-timeline h4{
    margin: 0 0 6px;
    font-size: 17px;
    color: var(--nx-charcoal);
}
.journey-timeline p{
    margin: 0;
    font-size: 14px;
    color: #6a6a6a;
    line-height: 1.6;
}

/* ==========================================================================
   Our Process — step chips
   ========================================================================== */
.process-section{
    background: var(--nx-cream);
}
.process-section .common-heading h2{
    color: var(--nx-charcoal);
}
.process-steps-row{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    margin: 0;
}
.process-step{
    position: relative;
    width: 160px;
    background: #fff;
    border-radius: 12px;
    padding: 24px 14px 18px;
    text-align: center;
    box-shadow: 0 8px 20px -14px rgba(28,28,28,.2);
    transition: transform .3s ease, box-shadow .3s ease;
}
.process-step:hover{
    transform: translate(0,-5px);
    box-shadow: 0 16px 28px -16px rgba(179,18,26,.3);
}
.process-step .ps-num{
    position: absolute;
    top: 8px;
    right: 12px;
    font-size: 11px;
    font-weight: 700;
    color: rgba(0,0,0,.18);
}
.process-step i{
    font-size: 22px;
    color: var(--nx-red);
    margin-bottom: 12px;
    display: block;
}
.process-step h4{
    font-size: 13px;
    color: var(--nx-charcoal);
    margin: 0;
    font-weight: 600;
    line-height: 1.4;
}

/* ==========================================================================
   Our Factory — stats + machinery
   ========================================================================== */
.fstat{
    text-align: left;
    height: 100%;
    background: var(--nx-cream);
    border-radius: 12px;
    padding: 18px 16px;
    border-left: 3px solid var(--nx-red);
    box-shadow: 0 6px 16px -12px rgba(28,28,28,.2);
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.fstat:hover{
    transform: translate(0,-4px);
    background: #fff;
    box-shadow: 0 16px 26px -14px rgba(179,18,26,.3);
}
.fstat-num{
    font-family: Poppins, sans-serif;
    font-weight: 800;
    font-size: 26px;
    color: var(--nx-red);
}
.fstat-suffix{
    font-family: Poppins, sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: var(--nx-red);
    margin-left: 2px;
}
.fstat p{
    margin: 4px 0 0;
    font-size: 11.5px;
    color: #6a6a6a;
    text-transform: uppercase;
    letter-spacing: .4px;
    font-weight: 600;
}
.machine-chip-row{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin: 0;
}
.machine-chip{
    width: 170px;
    background: var(--nx-cream);
    border-radius: 12px;
    padding: 14px 14px 16px;
    text-align: center;
    box-shadow: 0 6px 16px -10px rgba(28,28,28,.2);
    transition: transform .3s ease, box-shadow .3s ease;
}
.machine-chip:hover{
    transform: translate(0,-4px);
    box-shadow: 0 14px 26px -14px rgba(179,18,26,.3);
}
.machine-chip img{
    width: 100%;
    height: 100px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 12px;
    display: block;
}
.machine-chip i{
    font-size: 22px;
    color: var(--nx-red);
    margin-bottom: 10px;
    display: block;
}
.machine-chip h5{
    font-size: 13px;
    margin: 0;
    color: var(--nx-charcoal);
    font-weight: 600;
}

/* ==========================================================================
   Brand Partners — badges
   ========================================================================== */
.brand-partners-section{
    background: #fff;
}
.brand-partners-section .common-heading h2{
    color: var(--nx-charcoal);
}
.brand-badges-row{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin: 0;
}
.brand-badge{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 190px;
    height: 130px;
    padding: 6px;
    overflow: hidden;
    background: var(--nx-cream);
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,.06);
    transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.brand-badge img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.brand-badge:hover{
    background: #fff;
    border-color: var(--nx-red);
    transform: translateY(-4px);
    box-shadow: 0 14px 26px -14px rgba(179,18,26,.4);
}

/* ==========================================================================
   Service box grid — "What's Included" on service detail pages
   ========================================================================== */
.service-box-grid{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px;
    margin: 0;
}
.service-box{
    position: relative;
    width: 220px;
    background: #fff;
    border-radius: 14px;
    padding: 32px 18px 26px;
    text-align: center;
    box-shadow: 0 8px 22px -14px rgba(28,28,28,.22);
    border-bottom: 3px solid transparent;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.service-box:hover{
    transform: translate(0,-6px);
    box-shadow: 0 20px 36px -16px rgba(179,18,26,.3);
    border-bottom-color: var(--nx-red);
}
.service-box i{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    margin-bottom: 16px;
    background: linear-gradient(135deg, var(--nx-red) 0%, var(--nx-red-dark) 100%);
    color: #fff;
    font-size: 22px;
    box-shadow: 0 8px 16px -8px rgba(179,18,26,.5);
}
.service-box h5{
    margin: 0;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--nx-charcoal);
    line-height: 1.4;
}
