/********** Template CSS **********/
/* BLOG IMAGES – MOBILE FRIENDLY FIX */
/* Home Page Header */
/* Navbar logo styling */
/* Email text styling */
/* Make caption background transparent */
/* Navbar background */

/* Ghost White */
/* Ivory */
/* 1. Soft Off-White (warm & elegant) */

/* Facts section – replace white with light sky blue */
 /* MOBILE RESPONSIVE */


/* ===== Smart Art Enterprises Section ===== */




/* ===============================
   Brucebell Painting Section
=================================*/


/*==========================
    Gallery Section
===========================*/

.gallery-section{
    padding:100px 0;
}

.section-title{
    margin-bottom:60px;
}

.section-title span{
    display:inline-block;
    color:#d89b1d;
    font-size:15px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    margin-bottom:12px;
}

.section-title h2{
    font-size:42px;
    font-weight:700;
    margin-bottom:18px;
    color:inherit;
}

.section-title p{
    max-width:720px;
    margin:auto;
    color:inherit;
    opacity:.8;
    line-height:1.8;
}

/*==========================
    Gallery Grid
===========================*/

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:25px;
}

/*==========================
    Gallery Item
===========================*/

.gallery-item{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:18px;
    text-decoration:none;
    background:rgba(255,255,255,.06);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 12px 35px rgba(0,0,0,.15);
    transition:all .4s ease;
}

.gallery-item img{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
    transition:transform .6s ease;
}

/* Dark Overlay */

.gallery-item::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.45),
        rgba(0,0,0,.08),
        rgba(0,0,0,0)
    );
    opacity:0;
    transition:.4s;
    z-index:1;
}

/* Zoom Icon */

.gallery-item::after{
    content:"+";
    position:absolute;
    top:50%;
    left:50%;
    width:60px;
    height:60px;
    margin-left:-30px;
    margin-top:-30px;
    border-radius:50%;
    background:rgba(255,255,255,.9);
    color:#222;
    font-size:34px;
    font-weight:300;
    display:flex;
    align-items:center;
    justify-content:center;
    transform:scale(.5);
    opacity:0;
    transition:.35s;
    z-index:2;
}

.gallery-item:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.25);
}

.gallery-item:hover img{
    transform:scale(1.12);
}

.gallery-item:hover::before{
    opacity:1;
}

.gallery-item:hover::after{
    opacity:1;
    transform:scale(1);
}

/*==========================
    Responsive
===========================*/

@media (max-width:992px){

    .gallery-section{
        padding:80px 0;
    }

    .section-title h2{
        font-size:34px;
    }

    .gallery-item img{
        height:240px;
    }

}

@media (max-width:768px){

    .gallery-grid{
        grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
        gap:18px;
    }

}

@media (max-width:576px){

    .gallery-section{
        padding:60px 0;
    }

    .section-title{
        margin-bottom:40px;
    }

    .section-title h2{
        font-size:28px;
    }

    .section-title p{
        font-size:15px;
    }

    .gallery-grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .gallery-item img{
        height:220px;
    }

}


.bb-painting-section{
    padding:60px 0 25px;
    margin:0;
}

.bb-painting-container{
    width:90%;
    max-width:1200px;
    margin:0 auto;
}

.bb-painting-top{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:45px;
    align-items:center;
    margin-bottom:35px;
}

.bb-painting-image img{
    width:100%;
    display:block;
    border-radius:15px;
    object-fit:cover;
    box-shadow:0 10px 25px rgba(0,0,0,.12);
}

.bb-painting-label{
    display:inline-block;
    padding:8px 18px;
    border-radius:30px;
    border:1px solid rgba(0,0,0,.12);
    margin-bottom:15px;
    font-size:.9rem;
    font-weight:600;
}

.bb-painting-content h2{
    font-size:2.2rem;
    line-height:1.3;
    margin-bottom:18px;
}

.bb-painting-content p{
    line-height:1.8;
    margin-bottom:15px;
    opacity:.85;
}

.bb-painting-content p:last-child{
    margin-bottom:0;
}

/* ===============================
   Feature Cards
=================================*/

.bb-painting-features{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-top:10px;
}

.bb-painting-card{
    padding:25px;
    border-radius:15px;
    border:1px solid rgba(0,0,0,.08);
    background:inherit;
    text-align:center;
    transition:all .3s ease;
}

.bb-painting-card:hover{
    transform:translateY(-5px);
    box-shadow:0 12px 30px rgba(0,0,0,.12);
}

.bb-painting-card i{
    font-size:40px;
    margin-bottom:15px;
}

.bb-painting-card h4{
    font-size:1.15rem;
    margin-bottom:10px;
}

.bb-painting-card p{
    margin:0;
    line-height:1.7;
    opacity:.8;
}

/* ===============================
   Tablet
=================================*/

@media (max-width:992px){

.bb-painting-section{
    padding:50px 0 20px;
}

.bb-painting-top{
    grid-template-columns:1fr;
    gap:30px;
    margin-bottom:30px;
}

.bb-painting-content h2{
    font-size:2rem;
}

.bb-painting-features{
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

}

/* ===============================
   Mobile
=================================*/

@media (max-width:576px){

.bb-painting-section{
    padding:40px 0 15px;
}

.bb-painting-container{
    width:92%;
}

.bb-painting-top{
    gap:25px;
    margin-bottom:25px;
}

.bb-painting-content h2{
    font-size:1.7rem;
}

.bb-painting-content p{
    line-height:1.7;
}

.bb-painting-features{
    grid-template-columns:1fr;
    gap:15px;
}

.bb-painting-card{
    padding:22px;
}

.bb-painting-card i{
    font-size:36px;
}

}



/*====================================
      Brucebell Gallery Section
====================================*/

.bb-gallery-section{
    padding:60px 0;
}

.bb-gallery-container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

.bb-gallery-header{
    text-align:center;
    max-width:750px;
    margin:0 auto 45px;
}

.bb-gallery-label{
    display:inline-block;
    padding:8px 18px;
    border:1px solid rgba(0,0,0,.12);
    border-radius:30px;
    font-size:.9rem;
    font-weight:600;
    margin-bottom:15px;
}

.bb-gallery-header h2{
    font-size:2.3rem;
    margin-bottom:15px;
}

.bb-gallery-header p{
    line-height:1.8;
    opacity:.85;
}

/*=========================
        Gallery Grid
==========================*/

.bb-gallery-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;

}

.bb-gallery-item{

    overflow:hidden;
    border-radius:18px;
    position:relative;
    box-shadow:0 10px 25px rgba(0,0,0,.10);

}

.bb-gallery-item img{

    width:100%;
    height:320px;
    object-fit:cover;
    display:block;
    transition:.5s;

}

.bb-gallery-item:hover img{

    transform:scale(1.08);

}

.bb-gallery-item::after{

    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.05);
    opacity:0;
    transition:.4s;

}

.bb-gallery-item:hover::after{

    opacity:1;

}

/*=========================
        Tablet
==========================*/

@media(max-width:992px){

.bb-gallery-grid{

    grid-template-columns:repeat(2,1fr);

}

.bb-gallery-header h2{

    font-size:2rem;

}

}

/*=========================
        Mobile
==========================*/

@media(max-width:576px){

.bb-gallery-section{

    padding:45px 0;

}

.bb-gallery-container{

    width:92%;

}

.bb-gallery-grid{

    grid-template-columns:1fr;
    gap:18px;

}

.bb-gallery-header{

    margin-bottom:30px;

}

.bb-gallery-header h2{

    font-size:1.7rem;

}

.bb-gallery-item img{

    height:250px;

}

}





































.sae-white-text {
    color: #ffffff !important;
}

h3 {
    color: #5ad0f4 !important;
}

.sae-gallery-grid img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 8px;
    border: 3px solid #a7d8ff; /* Light blue border */
    transition: 0.3s ease;
}

.sae-gallery-grid img:hover {
    transform: scale(1.05);
    border-color: #5bbcff; /* Slightly stronger blue on hover */
}

.sae-service-card {
    padding: 25px;
    border-radius: 8px;
    text-align: center;
    border: 2px solid #a7d8ff !important; /* Force light blue */
    transition: 0.3s ease;
}

.sae-service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    border-color: #5bbcff !important; /* Slightly darker on hover */
}


.sae-wrapper {
    padding: 80px 8%;
    font-family: 'Segoe UI', sans-serif;
}

.sae-heading {
    text-align: center;
    font-size: 36px;
    margin-bottom: 20px;
}

.sae-description {
    max-width: 900px;
    margin: auto;
    text-align: center;
    line-height: 1.8;
}

/* SERVICES */
.sae-services-grid {
    margin-top: 60px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
}

.sae-service-card {
    padding: 25px;
    border-radius: 8px;
    text-align: center;
    border: 1px solid rgba(0,0,0,0.08);
    transition: 0.3s ease;
}

.sae-service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

.sae-service-card h3 {
    font-size: 16px;
    margin: 0;
}

/* GALLERY */
.sae-gallery {
    margin-top: 80px;
}

.sae-gallery-title {
    text-align: center;
    font-size: 28px;
    margin-bottom: 40px;
}

.sae-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 15px;
}

.sae-gallery-grid img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 8px;
    transition: 0.3s ease;
}

.sae-gallery-grid img:hover {
    transform: scale(1.05);
}

/* MOBILE */
@media (max-width: 768px) {
    .sae-heading {
        font-size: 26px;
    }

    .sae-gallery-grid img {
        height: 180px;
    }
}


 

 
@media (max-width: 768px) {

  /* Logo */
  .navbar-brand img {
    height: 65px !important;
    width: auto !important;
    max-height: none !important;
  }

  /* Hero Heading */
  .hero h3,
  .hero .display-1 {
    font-size: 2rem !important;
    line-height: 1.2 !important;
    word-break: break-word;
  }

  /* Section Spacing */
  .container-fluid.py-5,
  .container.py-5 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  /* Remove forced height */
  .col-lg-5 {
    min-height: auto !important;
  }

  /* Pricing */
  .pricing-section .section-title h1 {
    font-size: 2rem !important;
  }

  .pricing-card .price {
    font-size: 1.7rem !important;
  }

}
/* Fix only the hero welcome text on mobile */
@media (max-width: 767.98px) {

  div[style*="max-width: 700px"] h3.display-1 {
    font-size: 2rem !important;
    line-height: 1.2 !important;
    margin-top: 0 !important;
    word-break: break-word;
  }

  div[style*="max-width: 700px"] {
    margin-top: 1rem !important;
    padding: 1rem !important;
  }

}





.bg-white {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}



















.position-relative img {
    object-fit: contain !important;

    object-position: center !important;
}


.carousel-caption {
    background: transparent !important;
}

/* CONTROL the image shade instead of removing it */
#header-carousel .carousel-item::before {
    background: rgba(0, 0, 0, 0.90) !important; /* 🎚 Adjust darkness here */
}

.carousel-item img {
  filter: brightness(60%) contrast(110%) !important;
}



.contact-email {
    font-size: 13px;        /* smaller on desktop */
    word-break: break-word; /* prevents overflow on small screens */
}

/* Extra small devices (phones) */
@media (max-width: 576px) {
    .contact-email {
        font-size: 11px;    /* even smaller on mobile */
    }
}




.site-logo {
    height: 100px;        /* Desktop size */
    width: auto;
    max-width: 100%;
    object-fit: contain;
    transition: all 0.3s ease;
}

/* Keep navbar aligned nicely */
.navbar-brand {
    display: flex;
    align-items: center;
}

/* Tablet */
@media (max-width: 992px) {
    .site-logo {
        height: 50px;
    }
}

/* Mobile phones */
@media (max-width: 576px) {
    .site-logo {
        height: 40px;
    }
}




.bg-header-home {
    background: url(../img/home.jpg) center center no-repeat;
    background-size: cover;
}

/* About Page Header */
.bg-header-about {
    background: url(../img/about-header.jpg) center center no-repeat;
    background-size: cover;
}

/* Services Page Header */
.bg-header-services {
    background: url(../img/services-header.jpg) center center no-repeat;
    background-size: cover;
}

/* Contact Page Header */
.bg-header-contact {
    background: url(../img/contact-header.jpg) center center no-repeat;
    background-size: cover;
}





.blog-img {
    height: 280px !important;       /* Default height for desktop */
    overflow: hidden !important;
    position: relative !important;
}

.blog-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;    /* Keeps image proportional */
    object-position: center !important;
    display: block !important;
}

/* Tablet screens */
@media (max-width: 991px) {
    .blog-img {
        height: 240px !important;
    }
}

/* Mobile screens */
@media (max-width: 576px) {
    .blog-img {
        height: 200px !important;
    }
}






/* TEAM IMAGES – MOBILE FRIENDLY FIX */
.team-img {
    height: 320px !important;
    overflow: hidden !important;
    position: relative !important;
}

.team-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;   /* Keeps image proportional, no stretching */
    object-position: center !important;
    display: block !important;
}

/* Tablet */
@media (max-width: 991px) {
    .team-img {
        height: 260px !important;
    }
}

/* Mobile phones */
@media (max-width: 576px) {
    .team-img {
        height: 220px !important;
    }
}



























:root {
    --primary: #06A3DA;
    --secondary: #34AD54;
    --light: #EEF9FF;
    --dark: #091E3E;
}


/*** Spinner ***/
.spinner {
    width: 40px;
    height: 40px;
    background: var(--primary);
    margin: 100px auto;
    -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;
    animation: sk-rotateplane 1.2s infinite ease-in-out;
}

@-webkit-keyframes sk-rotateplane {
    0% {
        -webkit-transform: perspective(120px)
    }
    50% {
        -webkit-transform: perspective(120px) rotateY(180deg)
    }
    100% {
        -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg)
    }
}

@keyframes sk-rotateplane {
    0% {
        transform: perspective(120px) rotateX(0deg) rotateY(0deg);
        -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)
    }
    50% {
        transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
        -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
    }
    100% {
        transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
        -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    }
}

#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}


/*** Heading ***/
h1,
h2,
.fw-bold {
    font-weight: 800 !important;
}

h3,
h4,
.fw-semi-bold {
    font-weight: 700 !important;
}

h5,
h6,
.fw-medium {
    font-weight: 600 !important;
}


/*** Button ***/
.btn {
    font-family: 'Nunito', sans-serif;
    font-weight: 600;
    transition: .5s;
}

.btn-primary,
.btn-secondary {
    color: #FFFFFF;
    box-shadow: inset 0 0 0 50px transparent;
}

.btn-primary:hover {
    box-shadow: inset 0 0 0 0 var(--primary);
}

.btn-secondary:hover {
    box-shadow: inset 0 0 0 0 var(--secondary);
}

.btn-square {
    width: 36px;
    height: 36px;
}

.btn-sm-square {
    width: 30px;
    height: 30px;
}

.btn-lg-square {
    width: 48px;
    height: 48px;
}

.btn-square,
.btn-sm-square,
.btn-lg-square {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}


/*** Navbar ***/
.navbar-dark .navbar-nav .nav-link {
    font-family: 'Nunito', sans-serif;
    position: relative;
    margin-left: 25px;
    padding: 35px 0;
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 600;
    outline: none;
    transition: .5s;
}

.sticky-top.navbar-dark .navbar-nav .nav-link {
    padding: 20px 0;
    color: var(--dark);
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
    color: var(--primary);
}

.navbar-dark .navbar-brand h1 {
    color: #FFFFFF;
}

.navbar-dark .navbar-toggler {
    color: var(--primary) !important;
    border-color: var(--primary) !important;
}

@media (max-width: 991.98px) {
    .sticky-top.navbar-dark {
        position: relative;
        background: #FFFFFF;
    }

    .navbar-dark .navbar-nav .nav-link,
    .navbar-dark .navbar-nav .nav-link.show,
    .sticky-top.navbar-dark .navbar-nav .nav-link {
        padding: 10px 0;
        color: var(--dark);
    }

    .navbar-dark .navbar-brand h1 {
        color: var(--primary);
    }
}

@media (min-width: 992px) {
    .navbar-dark {
        position: absolute;
        width: 100%;
        top: 0;
        left: 0;
        border-bottom: 1px solid rgba(256, 256, 256, .1);
        z-index: 999;
    }
    
    .sticky-top.navbar-dark {
        position: fixed;
        background: #FFFFFF;
    }

    .navbar-dark .navbar-nav .nav-link::before {
        position: absolute;
        content: "";
        width: 0;
        height: 2px;
        bottom: -1px;
        left: 50%;
        background: var(--primary);
        transition: .5s;
    }

    .navbar-dark .navbar-nav .nav-link:hover::before,
    .navbar-dark .navbar-nav .nav-link.active::before {
        width: 100%;
        left: 0;
    }

    .navbar-dark .navbar-nav .nav-link.nav-contact::before {
        display: none;
    }

    .sticky-top.navbar-dark .navbar-brand h1 {
        color: var(--primary);
    }
}


/*** Carousel ***/
/* .carousel-caption {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(129, 156, 196, 0.7);
    z-index: 1;
} */

@media (max-width: 576px) {
    .carousel-caption h5 {
        font-size: 14px;
        font-weight: 500 !important;
    }

    .carousel-caption h1 {
        font-size: 30px;
        font-weight: 600 !important;
    }
}

.carousel-control-prev,
.carousel-control-next {
    width: 10%;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    width: 3rem;
    height: 3rem;
}


/*** Section Title ***/
.section-title::before {
    position: absolute;
    content: "";
    width: 150px;
    height: 5px;
    left: 0;
    bottom: 0;
    background: var(--primary);
    border-radius: 2px;
}

.section-title.text-center::before {
    left: 50%;
    margin-left: -75px;
}

.section-title.section-title-sm::before {
    width: 90px;
    height: 3px;
}

.section-title::after {
    position: absolute;
    content: "";
    width: 6px;
    height: 5px;
    bottom: 0px;
    background: #FFFFFF;
    -webkit-animation: section-title-run 5s infinite linear;
    animation: section-title-run 5s infinite linear;
}

.section-title.section-title-sm::after {
    width: 4px;
    height: 3px;
}

.section-title.text-center::after {
    -webkit-animation: section-title-run-center 5s infinite linear;
    animation: section-title-run-center 5s infinite linear;
}

.section-title.section-title-sm::after {
    -webkit-animation: section-title-run-sm 5s infinite linear;
    animation: section-title-run-sm 5s infinite linear;
}

@-webkit-keyframes section-title-run {
    0% {left: 0; } 50% { left : 145px; } 100% { left: 0; }
}

@-webkit-keyframes section-title-run-center {
    0% { left: 50%; margin-left: -75px; } 50% { left : 50%; margin-left: 45px; } 100% { left: 50%; margin-left: -75px; }
}

@-webkit-keyframes section-title-run-sm {
    0% {left: 0; } 50% { left : 85px; } 100% { left: 0; }
}


/*** Service ***/
.service-item {
    position: relative;
    height: 300px;
    padding: 0 30px;
    transition: .5s;
}

.service-item .service-icon {
    margin-bottom: 30px;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--primary);
    border-radius: 2px;
    transform: rotate(-45deg);
}

.service-item .service-icon i {
    transform: rotate(45deg);
}

.service-item a.btn {
    position: absolute;
    width: 60px;
    bottom: -48px;
    left: 50%;
    margin-left: -30px;
    opacity: 0;
}

.service-item:hover a.btn {
    bottom: -24px;
    opacity: 1;
}


/*** Testimonial ***/
.testimonial-carousel .owl-dots {
    margin-top: 15px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.testimonial-carousel .owl-dot {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    width: 15px;
    height: 15px;
    background: #DDDDDD;
    border-radius: 2px;
    transition: .5s;
}

.testimonial-carousel .owl-dot.active {
    width: 30px;
    background: var(--primary);
}

.testimonial-carousel .owl-item.center {
    position: relative;
    z-index: 1;
}

.testimonial-carousel .owl-item .testimonial-item {
    transition: .5s;
}

.testimonial-carousel .owl-item.center .testimonial-item {
    background: #FFFFFF !important;
    box-shadow: 0 0 30px #DDDDDD;
}


/*** Team ***/
.team-item {
    transition: .5s;
}

.team-social {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .5s;
}

.team-social a.btn {
    position: relative;
    margin: 0 3px;
    margin-top: 100px;
    opacity: 0;
}

.team-item:hover {
    box-shadow: 0 0 30px #DDDDDD;
}

.team-item:hover .team-social {
    background: rgba(9, 30, 62, .7);
}

.team-item:hover .team-social a.btn:first-child {
    opacity: 1;
    margin-top: 0;
    transition: .3s 0s;
}

.team-item:hover .team-social a.btn:nth-child(2) {
    opacity: 1;
    margin-top: 0;
    transition: .3s .05s;
}

.team-item:hover .team-social a.btn:nth-child(3) {
    opacity: 1;
    margin-top: 0;
    transition: .3s .1s;
}

.team-item:hover .team-social a.btn:nth-child(4) {
    opacity: 1;
    margin-top: 0;
    transition: .3s .15s;
}

.team-item .team-img img,
.blog-item .blog-img img  {
    transition: .5s;
}

.team-item:hover .team-img img,
.blog-item:hover .blog-img img {
    transform: scale(1.15);
}


/*** Miscellaneous ***/
@media (min-width: 991.98px) {
    .facts {
        position: relative;
        margin-top: -75px;
        z-index: 1;
    }
}

.back-to-top {
    position: fixed;
    display: none;
    right: 45px;
    bottom: 45px;
    z-index: 99;
}

.bg-header {
    background: linear-gradient(rgba(9, 30, 62, .7), rgba(9, 30, 62, .7)), url(../img/carousel-1.jpg) center center no-repeat;
    background-size: cover;
}

.link-animated a {
    transition: .5s;
}

.link-animated a:hover {
    padding-left: 10px;
}

@media (min-width: 767.98px) {
    .footer-about {
        margin-bottom: -75px;
    }
}



/* This is it */
html, body {
    background: linear-gradient(
        135deg,
        #0A1F44 0%,
        #0F3C6E 45%,
        #F2C94C 70%,
        #020B1C 100%
    ) !important;
    min-height: 100%;
}



/* 1. Default: transparent navbar */
.main-navbar {
    background: linear-gradient(
        135deg,
        rgba(10, 31, 68, 0.85),
        rgba(15, 60, 110, 0.75),
        rgba(242, 201, 76, 0.35),
        rgba(2, 11, 28, 0.85)
    );
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: background 0.4s ease, box-shadow 0.4s ease;
}


/* 2. After scroll: show color */
.main-navbar.scrolled {
    background-color:linear-gradient(135deg, #ffffff, #f5f7fa) /* solid #e6d8d8 */
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08); /* subtle shadow */
}



.main-navbar.scrolled {
    background: linear-gradient(
        135deg,
        rgba(10, 31, 68, 0.95),   /* dark blue from page */
        rgba(15, 60, 110, 0.9),   /* mid blue */
        rgba(242, 201, 76, 0.25), /* soft yellow highlight */
        rgba(2, 11, 28, 0.95)     /* near black */
    );
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08); /* subtle shadow */
    transition: background 0.4s ease, box-shadow 0.4s ease;
}



/* 3. Links color when scrolled */
.main-navbar.scrolled .nav-link {
    color: #091E3E !important; /* dark text */
}

/* 4. Links hover + active when scrolled */
.main-navbar.scrolled .nav-link:hover,
.main-navbar.scrolled .nav-link.active {
    color: #06A3DA !important; /* primary blue accent */
}

/* Main footer wrapper */
.container-fluid.bg-dark {
    background: linear-gradient(
        135deg,
        rgba(10, 31, 68, 0.95),   /* dark blue from page gradient */
        rgba(15, 60, 110, 0.9),   /* mid blue */
        rgba(242, 201, 76, 0.15), /* subtle yellow highlight */
        rgba(2, 11, 28, 0.95)     /* near black */
    );
    backdrop-filter: blur(8px);      /* optional glassy feel */
    -webkit-backdrop-filter: blur(8px);
    color: #ffffff;                  /* text remains readable */
}

/* Lower footer copyright bar */
.container-fluid.text-white {
    background: linear-gradient(
        135deg,
        rgba(10, 31, 68, 0.95),
        rgba(2, 11, 28, 0.95)
    );
}




/* Default navbar (transparent over gradient) */
.main-navbar .nav-link {
    color: #ffffff !important;       /* white links */
    text-decoration: none !important;
    transition: color 0.3s, text-decoration 0.3s;
}

/* Hover or focus */
.main-navbar .nav-link:hover,
.main-navbar .nav-link:focus {
    color: #0A6ED1 !important;       /* blue on hover/focus */
    text-decoration: underline !important;
}

/* Active link (current page) */
.main-navbar .nav-link.active {
    color: #0A6ED1 !important;       /* blue for active link */
    text-decoration: underline !important;
}

/* Fixed / scrolled navbar links — still white default, blue on hover */
.main-navbar.scrolled .nav-link {
    color: #ffffff !important;       /* white normally */
}

.main-navbar.scrolled .nav-link:hover,
.main-navbar.scrolled .nav-link:focus,
.main-navbar.scrolled .nav-link.active {
    color: #0A6ED1 !important;       /* blue on hover or active */
    text-decoration: underline !important;
}


h1.mb-0 {
    color: #ffffff !important;
}
/* Force all headings and paragraphs in hero section to white */
/* Force all text inside a specific container to white */
.container-fluid, 
.container-fluid h1, 
.container-fluid p {
    color: #ffffff !important;
}
h5.mb-3 {
    color: #ffffff !important;
}
div {
    color: #ffffff !important;
}
h5.mb-2 {
    color: #ffffff !important;
}
h1.mb-0[data-toggle="counter-up"] {
    color: #0A6ED1 !important; /* blue */
}
h4 {
    color: #5DADE2 !important; /* light blue */
}
p.m-0 {
    color: #5DADE2 !important; /* light blue */
}
/* Blog section text colors */
.blog-item h4,
.blog-item h5,
.blog-item p,
.blog-item a {
    color: #5DADE2 !important; /* light blue */
}

/* Optional: blog links hover */
.blog-item a:hover {
    color: #0A6ED1 !important; /* darker blue on hover */
    text-decoration: underline !important;
}
/* Make team images fully cover container but keep top visible */
.team-img img {
    width: 100%;
    height: 100%;          /* fill container */
    object-fit: cover;     /* cover entire div */
    object-position: top;  /* always show the top part */
}

/* Optional: ensure container has fixed height */
.team-img {
    height: 350px;         /* adjust as needed */
    overflow: hidden;      /* crop bottom if needed */
    position: relative;
}

/* Make social buttons overlay correctly */
.team-social {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
}

/* Responsive buttons for mobile */
.team-social .btn {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    padding: 0;
    border-radius: 50%;
}
@media (max-width: 576px) {
    .team-social .btn {
        width: 35px;
        height: 35px;
        font-size: 16px;
    }
}
/* Team image container */
.team-img {
    width: 100%;
    height: 0;
    padding-top: 125%; /* controls aspect ratio; adjust as needed */
    position: relative;
    overflow: hidden;
}

/* Make image cover container, show top part */
.team-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

/* Social buttons overlay */
.team-social {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
}

/* Buttons responsive */
.team-social .btn {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    padding: 0;
    border-radius: 50%;
}
@media (max-width: 576px) {
    .team-social .btn {
        width: 35px;
        height: 35px;
        font-size: 16px;
    }
}
.custom-navbar {
    background-color: rgba(0, 0, 0, 0.7) !important;
}

 .pricing-section {
    padding: 80px 20px;
    background: #f8f9fa;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  }

  .pricing-section .section-title h5 {
    color: #0d6efd;
    letter-spacing: 2px;
    font-weight: 700;
  }

  .pricing-section .section-title h1 {
    font-size: 2.5rem;
    margin-top: 10px;
    color: #212529;
  }

  .pricing-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin-top: 40px;
  }

  .pricing-card {
    background: #fff;
    border-radius: 15px;
    padding: 30px 20px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .pricing-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.2);
  }

  .pricing-card h4 {
    font-size: 1.6rem;
    color: #0d6efd;
    margin-bottom: 15px;
    font-weight: 700;
  }

  .pricing-card p {
    font-size: 0.95rem;
    color: #6c757d;
    margin-bottom: 25px;
  }

  .pricing-card .price {
    font-size: 2rem;
    font-weight: 700;
    color: #212529;
    margin-bottom: 25px;
  }

  .pricing-card .price .duration {
    font-size: 1rem;
    font-weight: 400;
    color: #6c757d;
    display: block;
    margin-top: 5px;
  }

  .pricing-card .btn {
    display: inline-block;
    padding: 10px 25px;
    border-radius: 50px;
    background: #0d6efd;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    transition: background 0.3s ease;
  }

  .pricing-card .btn:hover {
    background: #0b5ed7;
  }

 .site-logo {
    height: 100px !important;
    width: auto !important;
}

@media (max-width: 768px) {
    .site-logo {
        height: 60px !important;
    }
}
#header-carousel .carousel-caption {
    top: 20% !important;      /* Move caption higher (reduce % to go higher) */
    bottom: auto !important;  /* Remove default bottom positioning */
}



/* =========================================================
   NQAMAKAZI — ELEGANT HERO
========================================================= */

.nq-main-hero {
    position: relative !important;
    width: 100% !important;
    height: 650px !important;
    min-height: 650px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    background: #0D0D0D !important;
}


/* Hero Image */

.nq-main-hero-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
}

.nq-main-hero-image img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;

    object-fit: cover !important;
    object-position: center center !important;
}


/* Elegant Overlay */

.nq-main-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;

    background:
        linear-gradient(
            90deg,
            rgba(13, 13, 13, 0.88) 0%,
            rgba(13, 13, 13, 0.72) 35%,
            rgba(13, 13, 13, 0.42) 68%,
            rgba(13, 13, 13, 0.20) 100%
        ) !important;
}


/* Content */

.nq-main-hero .container {
    position: relative !important;
    z-index: 5 !important;
}

.nq-main-hero-content {
    max-width: 760px !important;
    padding-top: 20px !important;
}


/* Eyebrow */

.nq-main-hero-eyebrow {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;

    margin-bottom: 20px !important;

    color: #D98F8F !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.nq-main-hero-eyebrow span {
    width: 38px !important;
    height: 2px !important;

    display: inline-block !important;

    background: #BF2424 !important;
}


/* Heading */

.nq-main-hero h1 {
    margin: 0 0 22px !important;

    color: #ffffff !important;

    font-size: clamp(42px, 5vw, 70px) !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    letter-spacing: -1.5px !important;
}

.nq-main-hero h1 strong {
    color: #ffffff !important;
    font-weight: 800 !important;
}


/* Paragraph */

.nq-main-hero-content > p {
    max-width: 650px !important;

    margin: 0 0 30px !important;

    color: rgba(255, 255, 255, 0.88) !important;

    font-size: 17px !important;
    line-height: 1.75 !important;
}


/* Buttons */

.nq-main-hero-buttons {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.nq-main-hero-btn {
    min-height: 52px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;

    padding: 0 24px !important;

    border-radius: 3px !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    text-decoration: none !important;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease !important;
}


/* Primary Button */

.nq-main-hero-btn-primary {
    background: #A62934 !important;
    border: 1px solid #A62934 !important;
    color: #ffffff !important;
}

.nq-main-hero-btn-primary:hover {
    background: #BF2424 !important;
    border-color: #BF2424 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}


/* Light Button */

.nq-main-hero-btn-light {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.60) !important;
    color: #ffffff !important;
    backdrop-filter: blur(4px) !important;
}

.nq-main-hero-btn-light:hover {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #0D0D0D !important;
    transform: translateY(-2px) !important;
}


/* Trust Points */

.nq-main-hero-trust {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 24px !important;

    margin-top: 34px !important;

    color: rgba(255, 255, 255, 0.82) !important;

    font-size: 13px !important;
    font-weight: 500 !important;
}

.nq-main-hero-trust div {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
}

.nq-main-hero-trust i {
    color: #D98F8F !important;
    font-size: 13px !important;
}


/* Bottom Accent */

.nq-main-hero-accent {
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;

    width: 100% !important;
    height: 4px !important;

    background: linear-gradient(
        90deg,
        #A62934,
        #BF2424,
        #D98F8F,
        #BF2424,
        #A62934
    ) !important;

    z-index: 8 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .nq-main-hero {
        height: 600px !important;
        min-height: 600px !important;
    }

    .nq-main-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(13, 13, 13, 0.88) 0%,
                rgba(13, 13, 13, 0.68) 55%,
                rgba(13, 13, 13, 0.40) 100%
            ) !important;
    }

    .nq-main-hero-content {
        max-width: 680px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .nq-main-hero {
        height: 590px !important;
        min-height: 590px !important;
    }

    .nq-main-hero-image img {
        object-position: center center !important;
    }

    .nq-main-hero-content {
        padding: 20px 5px 0 !important;
    }

    .nq-main-hero-eyebrow {
        font-size: 11px !important;
        letter-spacing: 1.5px !important;
        margin-bottom: 15px !important;
    }

    .nq-main-hero h1 {
        font-size: 42px !important;
        line-height: 1.08 !important;
        letter-spacing: -1px !important;
        margin-bottom: 18px !important;
    }

    .nq-main-hero-content > p {
        font-size: 15px !important;
        line-height: 1.65 !important;
        margin-bottom: 24px !important;
    }

    .nq-main-hero-buttons {
        width: 100% !important;
    }

    .nq-main-hero-btn {
        width: 100% !important;
    }

    .nq-main-hero-trust {
        gap: 10px 18px !important;
        margin-top: 25px !important;
        font-size: 11px !important;
    }

}


/* =========================================================
   NQAMAKAZI — WELCOME SECTION
========================================================= */

.nq-welcome {
    position: relative;
    width: 100%;
    padding: 100px 0;
    background: #ffffff;
    overflow: hidden;
}


/* Main Layout */

.nq-welcome-wrapper {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    align-items: center;
    gap: 80px;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.nq-welcome-text {
    max-width: 570px;
}


/* Label */

.nq-welcome-label {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 20px;

    color: #A62934;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2.2px;
}

.nq-welcome-label span {
    width: 42px;
    height: 2px;

    background: #BF2424;
}


/* Heading */

.nq-welcome-text h2 {
    margin: 0;

    color: #0D0D0D;

    font-size: clamp(42px, 4.5vw, 62px);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -2px;
}

.nq-welcome-text h2 strong {
    display: block;

    color: #A62934;

    font-weight: 800;
}


/* Heading Line */

.nq-welcome-line {
    width: 55px;
    height: 3px;

    margin: 27px 0 25px;

    background: #BF2424;
}


/* Main Text */

.nq-welcome-intro {
    margin: 0 0 16px;

    color: #293237;

    font-size: 17px;
    font-weight: 500;
    line-height: 1.75;
}

.nq-welcome-text > p:not(.nq-welcome-intro) {
    margin: 0;

    color: #697277;

    font-size: 15px;
    line-height: 1.85;
}


/* =========================================================
   POINTS
========================================================= */

.nq-welcome-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 25px;

    margin: 28px 0 30px;
}

.nq-welcome-point {
    display: flex;
    align-items: center;
    gap: 8px;

    color: #30383c;

    font-size: 13px;
    font-weight: 600;
}

.nq-welcome-point i {
    width: 21px;
    height: 21px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #A62934;

    color: #ffffff;

    border-radius: 50%;

    font-size: 9px;
}


/* =========================================================
   LINK
========================================================= */

.nq-welcome-link {
    display: inline-flex;
    align-items: center;
    gap: 11px;

    color: #0D0D0D;

    font-size: 13px;
    font-weight: 800;
    text-decoration: none;

    border-bottom: 2px solid #A62934;

    padding-bottom: 7px;

    transition: color 0.25s ease;
}

.nq-welcome-link i {
    color: #A62934;

    transition: transform 0.25s ease;
}

.nq-welcome-link:hover {
    color: #A62934;
}

.nq-welcome-link:hover i {
    transform: translateX(5px);
}


/* =========================================================
   RIGHT IMAGE
========================================================= */

.nq-welcome-photo {
    position: relative;

    min-height: 560px;

    padding: 0 25px 25px 0;
}


/* Image */

.nq-welcome-photo-main {
    position: relative;

    width: 100%;
    height: 535px;

    overflow: hidden;

    z-index: 2;
}

.nq-welcome-photo-main img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    transition: transform 0.8s ease;
}

.nq-welcome-photo:hover .nq-welcome-photo-main img {
    transform: scale(1.035);
}


/* Image Overlay */

.nq-welcome-photo-main::after {
    content: "";

    position: absolute;
    inset: 0;

    background: linear-gradient(
        180deg,
        rgba(13, 13, 13, 0) 55%,
        rgba(13, 13, 13, 0.20) 100%
    );

    pointer-events: none;
}


/* =========================================================
   RED ACCENT
========================================================= */

.nq-welcome-photo-accent {
    position: absolute;

    right: 0;
    bottom: 0;

    width: 145px;
    height: 145px;

    background: #A62934;

    z-index: 1;
}


/* =========================================================
   IMAGE NUMBER
========================================================= */

.nq-welcome-photo-number {
    position: absolute;

    left: -30px;
    bottom: 45px;

    z-index: 5;

    display: flex;
    align-items: center;
    gap: 13px;

    padding: 13px 18px;

    background: #0D0D0D;

    color: #ffffff;
}

.nq-welcome-photo-number span {
    color: #D98F8F;

    font-size: 27px;
    font-weight: 800;
    line-height: 1;
}

.nq-welcome-photo-number small {
    color: #ffffff;

    font-size: 9px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.2px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991px) {

    .nq-welcome {
        padding: 75px 0;
    }

    .nq-welcome-wrapper {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .nq-welcome-text {
        max-width: 700px;
    }

    .nq-welcome-photo {
        min-height: 500px;
    }

    .nq-welcome-photo-main {
        height: 475px;
    }

}


@media (max-width: 767px) {

    .nq-welcome {
        padding: 60px 0;
    }

    .nq-welcome-text h2 {
        font-size: 42px;
        letter-spacing: -1px;
    }

    .nq-welcome-points {
        flex-direction: column;
        align-items: flex-start;
    }

    .nq-welcome-photo {
        min-height: 400px;
        padding-right: 12px;
    }

    .nq-welcome-photo-main {
        height: 380px;
    }

    .nq-welcome-photo-number {
        left: 10px;
        bottom: 25px;
    }

    .nq-welcome-photo-accent {
        width: 90px;
        height: 90px;
    }

}


@media (max-width: 575px) {

    .nq-welcome {
        padding: 50px 0;
    }

    .nq-welcome-text h2 {
        font-size: 37px;
    }

    .nq-welcome-intro {
        font-size: 15px;
    }

    .nq-welcome-text > p:not(.nq-welcome-intro) {
        font-size: 14px;
    }

    .nq-welcome-photo {
        min-height: 340px;
        padding-right: 8px;
    }

    .nq-welcome-photo-main {
        height: 325px;
    }

    .nq-welcome-photo-number {
        left: 5px;
        bottom: 18px;
        padding: 11px 14px;
    }

    .nq-welcome-photo-number span {
        font-size: 22px;
    }

}

/* =========================================================
   NQAMAKAZI — WELCOME TEXT COLOUR FIX
========================================================= */

.nq-welcome {
    background: #ffffff !important;
}

/* Main heading */
.nq-welcome-text h2 {
    color: #0D0D0D !important;
}

/* Red emphasis */
.nq-welcome-text h2 strong {
    color: #A62934 !important;
}

/* Small heading */
.nq-welcome-label {
    color: #A62934 !important;
}

/* Intro paragraph */
.nq-welcome-intro {
    color: #222222 !important;
}

/* Main paragraph */
.nq-welcome-text > p:not(.nq-welcome-intro) {
    color: #555555 !important;
}

/* Quality points */
.nq-welcome-point {
    color: #222222 !important;
}

.nq-welcome-point span {
    color: #222222 !important;
}

/* Check icons */
.nq-welcome-point i {
    background: #A62934 !important;
    color: #ffffff !important;
}

/* Learn More link */
.nq-welcome-link {
    color: #0D0D0D !important;
}

.nq-welcome-link i {
    color: #A62934 !important;
}

.nq-welcome-link:hover {
    color: #A62934 !important;
}

/* FORCE WELCOME INTRO TEXT TO DARK */
.nq-welcome .nq-welcome-intro,
.nq-welcome .nq-welcome-text .nq-welcome-intro {
  color: #555555 !important;
    background: transparent !important;
}



/* =========================================================
   NQAMAKAZI — PROJECT SHOWCASE
========================================================= */

.nq-projects-section {
    width: 100%;
    padding: 95px 0 100px;
    background: #f4f4f4 !important;
}


/* =========================================================
   HEADER
========================================================= */

.nq-projects-header {
    margin-bottom: 42px;
}

.nq-projects-kicker {
    display: flex;
    align-items: center;
    gap: 11px;

    margin-bottom: 15px;

    color: #A62934 !important;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.nq-projects-kicker span {
    width: 35px;
    height: 2px;
    background: #BF2424;
}

.nq-projects-header h2 {
    margin: 0;

    color: #0D0D0D !important;

    font-size: clamp(36px, 4vw, 52px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.nq-projects-header h2 strong {
    color: #A62934 !important;
    font-weight: 800;
}


/* =========================================================
   GRID
========================================================= */

.nq-projects-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}


/* =========================================================
   CARD
========================================================= */

.nq-project-card {
    display: block;

    background: #ffffff;

    text-decoration: none;

    overflow: hidden;

    opacity: 0;
    transform: translateY(35px);

    transition:
        opacity .65s ease,
        transform .65s ease,
        box-shadow .3s ease;
}

.nq-project-card.nq-project-visible {
    opacity: 1;
    transform: translateY(0);
}


/* stagger */

.nq-project-card:nth-child(1) {
    transition-delay: .05s;
}

.nq-project-card:nth-child(2) {
    transition-delay: .12s;
}

.nq-project-card:nth-child(3) {
    transition-delay: .19s;
}

.nq-project-card:nth-child(4) {
    transition-delay: .26s;
}

.nq-project-card:nth-child(5) {
    transition-delay: .33s;
}

.nq-project-card:nth-child(6) {
    transition-delay: .40s;
}


/* =========================================================
   IMAGE
========================================================= */

.nq-project-image {
    position: relative;

    height: 225px;

    overflow: hidden;

    background: #ddd;
}

.nq-project-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .7s ease;
}


/* =========================================================
   INFO BAR
========================================================= */

.nq-project-info {
    min-height: 70px;

    display: flex;
    align-items: center;

    padding: 0 20px;

    border-bottom: 3px solid #A62934;

    background: #ffffff;
}

.nq-project-info span {
    margin-right: 15px;

    color: #A62934 !important;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
}

.nq-project-info h3 {
    flex: 1;

    margin: 0;

    color: #0D0D0D !important;

    font-size: 18px;
    font-weight: 800;
}

.nq-project-info i {
    color: #A62934 !important;

    font-size: 13px;

    transition: transform .25s ease;
}


/* =========================================================
   HOVER
========================================================= */

@media (hover: hover) and (pointer: fine) {

    .nq-project-card:hover {
        box-shadow: 0 14px 35px rgba(0,0,0,.10);
    }

    .nq-project-card:hover .nq-project-image img {
        transform: scale(1.05);
    }

    .nq-project-card:hover .nq-project-info i {
        transform: translateX(5px);
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .nq-projects-section {
        padding: 75px 0 80px;
    }

    .nq-projects-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }

    .nq-project-image {
        height: 210px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .nq-projects-section {
        padding: 60px 0 65px;
    }

    .nq-projects-header {
        margin-bottom: 30px;
    }

    .nq-projects-header h2 {
        font-size: 36px;
    }

    .nq-projects-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .nq-project-image {
        height: 210px;
    }

}

/* =========================================================
   NQAMAKAZI — QUALITY & TRUST
========================================================= */

.nq-trust-section {
    width: 100%;
    padding: 70px 0 75px;
    background: #ffffff !important;
}


/* TOP */

.nq-trust-top {
    display: grid;
    grid-template-columns: 1fr 0.72fr;
    align-items: end;
    gap: 70px;

    padding-bottom: 38px;
    border-bottom: 1px solid #dddddd;
}

.nq-trust-heading {
    max-width: 650px;
}

.nq-trust-kicker {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 13px;

    color: #A62934 !important;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.nq-trust-kicker span {
    width: 34px;
    height: 2px;
    background: #BF2424;
    display: inline-block;
}

.nq-trust-heading h2 {
    margin: 0;

    color: #0D0D0D !important;

    font-size: clamp(34px, 4vw, 50px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.nq-trust-heading h2 strong {
    color: #A62934 !important;
    font-weight: 800;
}

.nq-trust-intro {
    max-width: 420px;
    padding-bottom: 3px;
}

.nq-trust-intro p {
    margin: 0;

    color: #656d71 !important;

    font-size: 14px;
    line-height: 1.75;
}


/* BENEFITS */

.nq-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    border-bottom: 1px solid #dddddd;
}

.nq-trust-item {
    display: grid;
    grid-template-columns: 43px 1fr;
    gap: 15px;

    min-height: 145px;
    padding: 27px 24px 27px 0;

    border-right: 1px solid #dddddd;
}

.nq-trust-item:first-child {
    padding-left: 0;
}

.nq-trust-item:not(:first-child) {
    padding-left: 24px;
}

.nq-trust-item:last-child {
    border-right: none;
}


/* ICON */

.nq-trust-icon {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #d8d8d8;
    border-radius: 50%;

    color: #A62934;

    font-size: 14px;

    transition:
        background .25s ease,
        border-color .25s ease,
        color .25s ease;
}


/* TEXT */

.nq-trust-item span {
    display: block;

    margin-bottom: 5px;

    color: #A62934;

    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.nq-trust-item h3 {
    margin: 0 0 6px;

    color: #0D0D0D !important;

    font-size: 15px;
    font-weight: 800;
}

.nq-trust-item p {
    margin: 0;

    color: #747b7f !important;

    font-size: 11px;
    line-height: 1.6;
}


/* HOVER */

@media (hover: hover) and (pointer: fine) {

    .nq-trust-item:hover .nq-trust-icon {
        background: #A62934;
        border-color: #A62934;
        color: #ffffff;
    }

}


/* SCROLL ANIMATION */

.nq-trust-reveal {
    opacity: 0;
    transform: translateY(20px);

    transition:
        opacity .6s ease,
        transform .6s ease;
}

.nq-trust-reveal.nq-trust-visible {
    opacity: 1;
    transform: translateY(0);
}

.nq-trust-grid .nq-trust-item:nth-child(1) {
    transition-delay: .05s;
}

.nq-trust-grid .nq-trust-item:nth-child(2) {
    transition-delay: .12s;
}

.nq-trust-grid .nq-trust-item:nth-child(3) {
    transition-delay: .19s;
}

.nq-trust-grid .nq-trust-item:nth-child(4) {
    transition-delay: .26s;
}


/* TABLET */

@media (max-width: 991px) {

    .nq-trust-section {
        padding: 60px 0 65px;
    }

    .nq-trust-top {
        grid-template-columns: 1fr;
        gap: 20px;
        align-items: start;
    }

    .nq-trust-intro {
        max-width: 650px;
    }

    .nq-trust-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nq-trust-item:nth-child(2) {
        border-right: none;
    }

    .nq-trust-item:nth-child(3),
    .nq-trust-item:nth-child(4) {
        border-top: 1px solid #dddddd;
    }

}


/* MOBILE */

@media (max-width: 575px) {

    .nq-trust-section {
        padding: 50px 0 55px;
    }

    .nq-trust-heading h2 {
        font-size: 35px;
        letter-spacing: -1px;
    }

    .nq-trust-grid {
        grid-template-columns: 1fr;
    }

    .nq-trust-item,
    .nq-trust-item:not(:first-child) {
        min-height: 0;

        padding: 20px 0;

        border-right: none;
        border-top: 1px solid #dddddd;
    }

    .nq-trust-item:first-child {
        border-top: none;
    }

    .nq-trust-item:last-child {
        border-right: none;
    }

}

/* =========================================================
   NQAMAKAZI — FORCE QUALITY ICONS VISIBLE
========================================================= */

.nq-trust-item .nq-trust-icon,
.nq-trust-item .nq-trust-icon i,
.nq-trust-item .nq-trust-icon i::before {
    color: #A62934 !important;
    opacity: 1 !important;
    visibility: visible !important;
    -webkit-text-fill-color: #A62934 !important;
}

.nq-trust-item .nq-trust-icon {
    background: #ffffff !important;
    border: 1px solid #A62934 !important;
}

@media (hover: hover) and (pointer: fine) {

    .nq-trust-item:hover .nq-trust-icon,
    .nq-trust-item:hover .nq-trust-icon i,
    .nq-trust-item:hover .nq-trust-icon i::before {
        background: #A62934 !important;
        border-color: #A62934 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

}


/* =========================================================
   NQAMAKAZI — WELCOME SECTION
========================================================= */

.nq-welcome-section {
    width: 100% !important;
    padding: 70px 0 75px !important;
    background: #ffffff !important;
    color: #0D0D0D !important;
}


/* LAYOUT */

.nq-welcome-layout {
    display: grid !important;
    grid-template-columns: 1fr 0.9fr !important;
    align-items: center !important;
    gap: 70px !important;
}


/* TEXT */

.nq-welcome-copy {
    max-width: 590px !important;
    color: #0D0D0D !important;
}

.nq-welcome-kicker {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;

    margin-bottom: 14px !important;

    color: #A62934 !important;

    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
}

.nq-welcome-kicker span {
    display: block !important;
    width: 35px !important;
    height: 2px !important;
    background: #BF2424 !important;
}


.nq-welcome-copy h2 {
    margin: 0 0 20px !important;

    color: #0D0D0D !important;
    -webkit-text-fill-color: #0D0D0D !important;

    font-size: clamp(38px, 4vw, 54px) !important;
    font-weight: 400 !important;
    line-height: 1.06 !important;
    letter-spacing: -1.5px !important;
}

.nq-welcome-copy h2 strong {
    color: #A62934 !important;
    -webkit-text-fill-color: #A62934 !important;
    font-weight: 800 !important;
}


/* LEAD */

.nq-welcome-lead {
    display: block !important;

    margin: 0 0 13px !important;

    color: #20272B !important;
    -webkit-text-fill-color: #20272B !important;

    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.7 !important;
    opacity: 1 !important;
}


/* DESCRIPTION */

.nq-welcome-description {
    display: block !important;

    margin: 0 0 25px !important;

    color: #666F74 !important;
    -webkit-text-fill-color: #666F74 !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
    opacity: 1 !important;
}


/* BUTTON */

.nq-welcome-button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;

    min-height: 46px !important;
    padding: 0 20px !important;

    background: #A62934 !important;
    border: 1px solid #A62934 !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: none !important;

    transition: all .25s ease !important;
}

.nq-welcome-button i {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.nq-welcome-button:hover {
    background: #0D0D0D !important;
    border-color: #0D0D0D !important;
    color: #ffffff !important;
}

.nq-welcome-button:hover i {
    color: #ffffff !important;
    transform: translateX(4px);
}


/* IMAGE */

.nq-welcome-image {
    position: relative !important;

    width: 100% !important;
    height: 350px !important;

    overflow: hidden !important;

    background: #eeeeee !important;
}

.nq-welcome-image img {
    width: 100% !important;
    height: 100% !important;

    display: block !important;

    object-fit: cover !important;
    object-position: center !important;

    transition: transform .7s ease !important;
}

.nq-welcome-image:hover img {
    transform: scale(1.03) !important;
}


/* IMAGE CAPTION */

.nq-welcome-image-caption {
    position: absolute !important;

    left: 0 !important;
    bottom: 0 !important;

    display: flex !important;
    align-items: center !important;
    gap: 13px !important;

    padding: 13px 18px !important;

    background: #0D0D0D !important;

    color: #ffffff !important;
}

.nq-welcome-image-caption > span {
    color: #D98F8F !important;
    font-size: 25px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.nq-welcome-image-caption div {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}

.nq-welcome-image-caption strong {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: 1.3px !important;
}

.nq-welcome-image-caption small {
    color: #D98F8F !important;
    -webkit-text-fill-color: #D98F8F !important;

    font-size: 8px !important;
    letter-spacing: 1px !important;
}


/* SCROLL EFFECT */

.nq-welcome-copy,
.nq-welcome-image {
    opacity: 0;
    transform: translateY(20px);

    transition:
        opacity .65s ease,
        transform .65s ease;
}

.nq-welcome-image {
    transition-delay: .12s;
}

.nq-welcome-copy.nq-welcome-visible,
.nq-welcome-image.nq-welcome-visible {
    opacity: 1;
    transform: translateY(0);
}


/* TABLET */

@media (max-width: 991px) {

    .nq-welcome-section {
        padding: 60px 0 65px !important;
    }

    .nq-welcome-layout {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    .nq-welcome-copy {
        max-width: 700px !important;
    }

    .nq-welcome-image {
        max-width: 700px !important;
        height: 330px !important;
    }

}


/* MOBILE */

@media (max-width: 575px) {

    .nq-welcome-section {
        padding: 50px 0 55px !important;
    }

    .nq-welcome-layout {
        gap: 32px !important;
    }

    .nq-welcome-copy h2 {
        font-size: 36px !important;
        letter-spacing: -1px !important;
    }

    .nq-welcome-lead {
        font-size: 15px !important;
    }

    .nq-welcome-description {
        font-size: 13px !important;
    }

    .nq-welcome-image {
        height: 275px !important;
    }

}


/* =========================================================
   NQAMAKAZI — MATCH ALL SECTIONS TO SERVICES BACKGROUND
========================================================= */

.nq-welcome-section,
.nq-intro-section,
.nq-trust-section,
.nq-quality-section {
    background: #f4f4f4 !important;
}

/* =========================================================
   NQAMAKAZI — PROJECT CTA
========================================================= */

.nq-cta-section {
    width: 100% !important;
    padding: 65px 0 70px !important;
    background: #f4f4f4 !important;
}


/* CTA BOX */

.nq-cta-box {
    position: relative;

    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;

    gap: 50px;

    padding: 42px 48px;

    background: #ffffff !important;

    border-top: 3px solid #A62934;

    box-shadow: 0 8px 30px rgba(0,0,0,.06);
}


/* CONTENT */

.nq-cta-content {
    max-width: 680px;
}

.nq-cta-kicker {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 12px;

    color: #A62934 !important;
    -webkit-text-fill-color: #A62934 !important;

    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.nq-cta-kicker span {
    width: 32px;
    height: 2px;

    display: block;

    background: #BF2424;
}


.nq-cta-content h2 {
    margin: 0 0 13px;

    color: #0D0D0D !important;
    -webkit-text-fill-color: #0D0D0D !important;

    font-size: clamp(32px, 3.5vw, 46px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -1.2px;
}

.nq-cta-content h2 strong {
    color: #A62934 !important;
    -webkit-text-fill-color: #A62934 !important;

    font-weight: 800;
}


.nq-cta-content p {
    max-width: 620px;

    margin: 0;

    color: #687176 !important;
    -webkit-text-fill-color: #687176 !important;

    font-size: 13px;
    line-height: 1.75;

    opacity: 1 !important;
}


/* ACTION AREA */

.nq-cta-action {
    display: flex;
    align-items: center;
    gap: 20px;
}


/* MAIN BUTTON */

.nq-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    min-height: 48px;
    padding: 0 21px;

    background: #A62934 !important;
    border: 1px solid #A62934;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    font-size: 12px;
    font-weight: 800;
    text-decoration: none;

    white-space: nowrap;

    transition: all .25s ease;
}

.nq-cta-button i {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    transition: transform .25s ease;
}

.nq-cta-button:hover {
    background: #0D0D0D !important;
    border-color: #0D0D0D;
    color: #ffffff !important;
}

.nq-cta-button:hover i {
    transform: translateX(4px);
}


/* WHATSAPP */

.nq-cta-whatsapp {
    display: flex;
    align-items: center;
    gap: 10px;

    color: #0D0D0D !important;
    text-decoration: none;
}

.nq-cta-whatsapp > i {
    color: #25D366 !important;
    font-size: 23px;
}

.nq-cta-whatsapp span {
    display: flex;
    flex-direction: column;
    gap: 2px;

    color: #0D0D0D !important;
    -webkit-text-fill-color: #0D0D0D !important;

    font-size: 12px;
    font-weight: 700;
}

.nq-cta-whatsapp small {
    color: #777777 !important;
    -webkit-text-fill-color: #777777 !important;

    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1px;
}

.nq-cta-whatsapp:hover span {
    color: #A62934 !important;
    -webkit-text-fill-color: #A62934 !important;
}


/* SCROLL */

.nq-cta-reveal {
    opacity: 0;
    transform: translateY(20px);

    transition:
        opacity .65s ease,
        transform .65s ease;
}

.nq-cta-reveal.nq-cta-visible {
    opacity: 1;
    transform: translateY(0);
}


/* TABLET */

@media (max-width: 991px) {

    .nq-cta-section {
        padding: 55px 0 60px !important;
    }

    .nq-cta-box {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 36px 35px;
    }

    .nq-cta-action {
        justify-content: flex-start;
    }

}


/* MOBILE */

@media (max-width: 575px) {

    .nq-cta-section {
        padding: 45px 0 50px !important;
    }

    .nq-cta-box {
        padding: 30px 22px;
    }

    .nq-cta-content h2 {
        font-size: 34px;
    }

    .nq-cta-action {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

}


/* =========================================================
   NQAMAKAZI — PREMIUM FOOTER
========================================================= */

.nq-premium-footer {
    position: relative !important;
    width: 100% !important;
    background: #171717 !important;
    color: #ffffff !important;
    overflow: hidden !important;
}


/* TOP ACCENT */

.nq-premium-footer::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 4px !important;
    background: #8E252F !important;
}


/* =========================================================
   MAIN FOOTER
========================================================= */

.nq-footer-top {
    display: grid !important;
    grid-template-columns: 1.55fr .7fr .85fr 1fr !important;
    gap: 65px !important;
    padding: 75px 0 65px !important;
}


/* =========================================================
   INTRO
========================================================= */

.nq-footer-intro {
    max-width: 390px !important;
}

.nq-footer-label {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    margin-bottom: 23px !important;
    color: #C9A46C !important;
    -webkit-text-fill-color: #C9A46C !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
}

.nq-footer-label span {
    width: 34px !important;
    height: 2px !important;
    display: block !important;
    background: #8E252F !important;
}

.nq-footer-intro h2 {
    margin: 0 0 18px !important;
    color: #F5F3F0 !important;
    -webkit-text-fill-color: #F5F3F0 !important;
    font-size: clamp(38px, 4vw, 55px) !important;
    line-height: 1 !important;
    letter-spacing: -2px !important;
    font-weight: 300 !important;
}

.nq-footer-intro h2 strong {
    display: block !important;
    color: #C9A46C !important;
    -webkit-text-fill-color: #C9A46C !important;
    font-weight: 800 !important;
}

.nq-footer-intro p {
    max-width: 350px !important;
    margin: 0 0 28px !important;
    color: rgba(245,243,240,.60) !important;
    -webkit-text-fill-color: rgba(245,243,240,.60) !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
}


/* =========================================================
   PROJECT BUTTON
========================================================= */

.nq-footer-project-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 13px 19px !important;
    border: 1px solid rgba(201,164,108,.65) !important;
    color: #F5F3F0 !important;
    -webkit-text-fill-color: #F5F3F0 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all .25s ease !important;
}

.nq-footer-project-btn i {
    color: #C9A46C !important;
    transition: transform .25s ease !important;
}

.nq-footer-project-btn:hover {
    background: #8E252F !important;
    border-color: #8E252F !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.nq-footer-project-btn:hover i {
    color: #fff !important;
    transform: translateX(5px) !important;
}


/* =========================================================
   COLUMN HEADINGS
========================================================= */

.nq-footer-links h3,
.nq-footer-contact h3 {
    margin: 3px 0 25px !important;
    color: #F5F3F0 !important;
    -webkit-text-fill-color: #F5F3F0 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

.nq-footer-links h3::after,
.nq-footer-contact h3::after {
    content: "" !important;
    display: block !important;
    width: 25px !important;
    height: 2px !important;
    margin-top: 10px !important;
    background: #8E252F !important;
}


/* =========================================================
   LINKS
========================================================= */

.nq-footer-links a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 13px !important;
    color: rgba(245,243,240,.55) !important;
    -webkit-text-fill-color: rgba(245,243,240,.55) !important;
    font-size: 12px !important;
    text-decoration: none !important;
    transition: all .25s ease !important;
}

.nq-footer-links a span {
    width: 22px !important;
    color: #706C67 !important;
    -webkit-text-fill-color: #706C67 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
}

.nq-footer-links a:hover {
    color: #C9A46C !important;
    -webkit-text-fill-color: #C9A46C !important;
    transform: translateX(4px) !important;
}

.nq-footer-links a:hover span {
    color: #8E252F !important;
    -webkit-text-fill-color: #8E252F !important;
}


/* =========================================================
   CONTACT
========================================================= */

.nq-footer-contact-row {
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    margin-bottom: 18px !important;
    color: #F5F3F0 !important;
    -webkit-text-fill-color: #F5F3F0 !important;
    text-decoration: none !important;
}

.nq-footer-icon {
    width: 37px !important;
    height: 37px !important;
    min-width: 37px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(245,243,240,.13) !important;
    color: #C9A46C !important;
    font-size: 12px !important;
    transition: all .25s ease !important;
}

.nq-footer-contact-row > span:last-child {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    color: #F5F3F0 !important;
    -webkit-text-fill-color: #F5F3F0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.nq-footer-contact-row small {
    color: rgba(245,243,240,.35) !important;
    -webkit-text-fill-color: rgba(245,243,240,.35) !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
}

.nq-footer-contact-row:hover .nq-footer-icon {
    background: #8E252F !important;
    border-color: #8E252F !important;
    color: #fff !important;
}


/* =========================================================
   SOCIAL
========================================================= */

.nq-footer-socials {
    display: flex !important;
    gap: 8px !important;
    margin-top: 25px !important;
}

.nq-footer-socials a {
    width: 34px !important;
    height: 34px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(245,243,240,.15) !important;
    color: rgba(245,243,240,.60) !important;
    -webkit-text-fill-color: rgba(245,243,240,.60) !important;
    text-decoration: none !important;
    transition: all .25s ease !important;
}

.nq-footer-socials a:hover {
    background: #8E252F !important;
    border-color: #8E252F !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}


/* =========================================================
   STATEMENT STRIP
========================================================= */

.nq-footer-statement {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    border-top: 1px solid rgba(245,243,240,.10) !important;
    border-bottom: 1px solid rgba(245,243,240,.10) !important;
}

.nq-footer-statement span {
    padding: 17px 15px !important;
    text-align: center !important;
    color: rgba(245,243,240,.32) !important;
    -webkit-text-fill-color: rgba(245,243,240,.32) !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
}

.nq-footer-statement span + span {
    border-left: 1px solid rgba(245,243,240,.10) !important;
}


/* =========================================================
   BOTTOM BAR
========================================================= */

.nq-footer-bottom {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    padding: 20px 0 !important;
}

.nq-footer-bottom p {
    margin: 0 !important;
    color: rgba(245,243,240,.35) !important;
    -webkit-text-fill-color: rgba(245,243,240,.35) !important;
    font-size: 10px !important;
}

.nq-footer-bottom strong {
    color: rgba(245,243,240,.60) !important;
    -webkit-text-fill-color: rgba(245,243,240,.60) !important;
}

.nq-footer-bottom a {
    color: #C9A46C !important;
    -webkit-text-fill-color: #C9A46C !important;
    text-decoration: none !important;
}

.nq-footer-bottom a:hover {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .nq-footer-top {
        grid-template-columns: 1.4fr 1fr 1fr !important;
        gap: 45px !important;
        padding: 60px 0 50px !important;
    }

    .nq-footer-intro {
        grid-column: span 3 !important;
        max-width: 600px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .nq-footer-top {
        grid-template-columns: 1fr !important;
        gap: 38px !important;
        padding: 52px 0 42px !important;
    }

    .nq-footer-intro {
        grid-column: auto !important;
    }

    .nq-footer-intro h2 {
        font-size: 42px !important;
    }

    .nq-footer-statement {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .nq-footer-statement span:nth-child(3) {
        border-left: 0 !important;
        border-top: 1px solid rgba(245,243,240,.10) !important;
    }

    .nq-footer-statement span:nth-child(4) {
        border-top: 1px solid rgba(245,243,240,.10) !important;
    }

    .nq-footer-bottom {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 18px 0 22px !important;
    }

}

/* =========================================================
   NQAMAKAZI — COMPACT FOOTER
========================================================= */

.nq-premium-footer .nq-footer-top {
    padding: 50px 0 38px !important;
    gap: 45px !important;
}

.nq-premium-footer .nq-footer-label {
    margin-bottom: 15px !important;
}

.nq-premium-footer .nq-footer-intro h2 {
    margin-bottom: 12px !important;
    font-size: clamp(34px, 3.5vw, 48px) !important;
}

.nq-premium-footer .nq-footer-intro p {
    margin-bottom: 20px !important;
    line-height: 1.6 !important;
}

.nq-premium-footer .nq-footer-links h3,
.nq-premium-footer .nq-footer-contact h3 {
    margin-bottom: 18px !important;
}

.nq-premium-footer .nq-footer-links a {
    margin-bottom: 9px !important;
}

.nq-premium-footer .nq-footer-contact-row {
    margin-bottom: 12px !important;
}

.nq-premium-footer .nq-footer-socials {
    margin-top: 17px !important;
}

.nq-premium-footer .nq-footer-statement span {
    padding: 12px 15px !important;
}

.nq-premium-footer .nq-footer-bottom {
    padding: 15px 0 17px !important;
}


/* TABLET */

@media (max-width: 991px) {

    .nq-premium-footer .nq-footer-top {
        padding: 45px 0 35px !important;
        gap: 35px !important;
    }

}


/* MOBILE */

@media (max-width: 575px) {

    .nq-premium-footer .nq-footer-top {
        padding: 42px 0 32px !important;
        gap: 30px !important;
    }

    .nq-premium-footer .nq-footer-intro h2 {
        font-size: 38px !important;
    }

    .nq-premium-footer .nq-footer-bottom {
        padding: 14px 0 18px !important;
    }

}



/* =========================================================
   NQAMAKAZI — LIGHT PREMIUM TOPBAR
========================================================= */

.nq-topbar {
    width: 100% !important;
    min-height: 48px !important;
    background: #F5F3F0 !important;
    border-bottom: 1px solid #DDD8D2 !important;
    color: #171717 !important;
}


/* INNER */

.nq-topbar-inner {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 25px !important;
}


/* CONTACT AREA */

.nq-topbar-contact {
    display: flex !important;
    align-items: center !important;
    gap: 28px !important;
}


/* CONTACT ITEM */

.nq-topbar-item {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: #292929 !important;
    -webkit-text-fill-color: #292929 !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    transition: color .25s ease !important;
}


/* ICON */

.nq-topbar-icon {
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #C9A46C !important;
    background: transparent !important;
    color: #8E252F !important;
    -webkit-text-fill-color: #8E252F !important;
    font-size: 10px !important;
    transition: all .25s ease !important;
}


/* LABEL */

.nq-topbar-item small {
    display: block !important;
    margin-bottom: 2px !important;
    color: #8A8580 !important;
    -webkit-text-fill-color: #8A8580 !important;
    font-size: 7px !important;
    font-weight: 800 !important;
    letter-spacing: 1.4px !important;
    line-height: 1 !important;
}


/* WHATSAPP */

.nq-topbar-whatsapp {
    color: #8E252F !important;
    -webkit-text-fill-color: #8E252F !important;
}


/* HOVER */

.nq-topbar-item:hover {
    color: #8E252F !important;
    -webkit-text-fill-color: #8E252F !important;
}

.nq-topbar-item:hover .nq-topbar-icon {
    background: #8E252F !important;
    border-color: #8E252F !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}


/* =========================================================
   SOCIAL ICONS
========================================================= */

.nq-topbar-socials {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.nq-topbar-socials a {
    width: 27px !important;
    height: 27px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #D2CCC5 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #625E59 !important;
    -webkit-text-fill-color: #625E59 !important;
    text-decoration: none !important;
    font-size: 10px !important;
    transition: all .25s ease !important;
}

.nq-topbar-socials a:hover {
    background: #8E252F !important;
    border-color: #8E252F !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}


/* =========================================================
   REMOVE OLD BOOTSTRAP STYLING
========================================================= */

.nq-topbar .badge,
.nq-topbar .btn,
.nq-topbar .rounded-pill,
.nq-topbar .btn-sm-square {
    border-radius: 0 !important;
    box-shadow: none !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .nq-topbar {
        display: none !important;
    }

}









/* =========================================================
   NQAMAKAZI — STICKY GLASS NAVIGATION
   COMPLETELY UNIQUE CLASS SYSTEM
========================================================= */

.nqtop-navigation {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    min-height: 108px !important;

    z-index: 99999 !important;

    background: rgba(245, 243, 240, 0.78) !important;

    backdrop-filter: blur(18px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(135%) !important;

    border-bottom: 1px solid rgba(142, 37, 47, 0.18) !important;

    box-shadow:
        0 8px 30px rgba(23, 23, 23, 0.07),
        inset 0 -1px 0 rgba(255,255,255,0.65) !important;
}


/* SUBTLE BURGUNDY LINE */

.nqtop-navigation::after {
    content: "" !important;

    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;

    width: 100% !important;
    height: 2px !important;

    background: linear-gradient(
        90deg,
        transparent 0%,
        #8E252F 25%,
        #C9A46C 50%,
        #8E252F 75%,
        transparent 100%
    ) !important;

    opacity: 0.55 !important;
}


/* INNER */

.nqtop-navigation-inner {
    width: 100% !important;
    max-width: 1440px !important;

    min-height: 108px !important;

    margin: 0 auto !important;

    padding: 0 32px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}


/* =========================================================
   LOGO
========================================================= */

.nqtop-logo {
    display: flex !important;
    align-items: center !important;

    height: 86px !important;

    flex-shrink: 0 !important;

    text-decoration: none !important;
}


.nqtop-logo img {
    display: block !important;

    width: auto !important;
    max-width: 230px !important;
    height: 76px !important;

    object-fit: contain !important;
}


/* =========================================================
   DESKTOP MENU
========================================================= */

.nqtop-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    height: 100% !important;

    gap: 4px !important;
}


/* =========================================================
   NAVIGATION LINKS
========================================================= */

.nqtop-link {
    position: relative !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 48px !important;

    padding: 0 18px !important;

    border: 0 !important;
    outline: none !important;

    background: transparent !important;

    color: #292929 !important;
    -webkit-text-fill-color: #292929 !important;

    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;

    letter-spacing: 0.2px !important;

    text-decoration: none !important;

    cursor: pointer !important;

    transition:
        color .25s ease,
        background .25s ease !important;
}


/* UNDERLINE */

.nqtop-link::after {
    content: "" !important;

    position: absolute !important;

    left: 18px !important;
    right: 18px !important;
    bottom: 5px !important;

    height: 2px !important;

    background: #8E252F !important;

    transform: scaleX(0) !important;
    transform-origin: center !important;

    transition:
        transform .25s ease !important;
}


/* HOVER + ACTIVE */

.nqtop-link:hover,
.nqtop-link-active {
    color: #8E252F !important;
    -webkit-text-fill-color: #8E252F !important;

    background: rgba(142, 37, 47, 0.045) !important;
}


.nqtop-link:hover::after,
.nqtop-link-active::after {
    transform: scaleX(1) !important;
}


/* =========================================================
   SERVICES
========================================================= */

.nqtop-services {
    position: relative !important;
}


.nqtop-services-button {
    gap: 8px !important;
}


.nqtop-services-button i {
    font-size: 8px !important;

    color: #8E252F !important;

    transition:
        transform .25s ease !important;
}


/* =========================================================
   SERVICES DROPDOWN
========================================================= */

.nqtop-services-menu {
    position: absolute !important;

    top: calc(100% + 12px) !important;
    left: 50% !important;

    width: 235px !important;

    padding: 8px !important;

    background: rgba(255,255,255,0.96) !important;

    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;

    border: 1px solid rgba(23,23,23,0.09) !important;

    border-top: 2px solid #8E252F !important;

    box-shadow:
        0 18px 45px rgba(23,23,23,0.13) !important;

    transform:
        translate(-50%, -8px) !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    transition:
        opacity .22s ease,
        transform .22s ease,
        visibility .22s ease !important;
}


.nqtop-services-menu.nqtop-services-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transform:
        translate(-50%, 0) !important;
}


/* DROPDOWN LINKS */

.nqtop-services-menu a {
    display: flex !important;
    align-items: center !important;

    gap: 13px !important;

    min-height: 40px !important;

    padding: 0 12px !important;

    color: #292929 !important;
    -webkit-text-fill-color: #292929 !important;

    font-size: 12px !important;
    font-weight: 600 !important;

    text-decoration: none !important;

    transition:
        background .2s ease,
        color .2s ease,
        padding-left .2s ease !important;
}


.nqtop-services-menu a span {
    width: 22px !important;

    color: #C9A46C !important;
    -webkit-text-fill-color: #C9A46C !important;

    font-size: 9px !important;
    font-weight: 800 !important;
}


.nqtop-services-menu a:hover {
    padding-left: 17px !important;

    color: #8E252F !important;
    -webkit-text-fill-color: #8E252F !important;

    background: rgba(142,37,47,0.055) !important;
}


/* =========================================================
   GET A QUOTE
========================================================= */

.nqtop-quote {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 10px !important;

    min-height: 46px !important;

    margin-left: 14px !important;

    padding: 0 21px !important;

    background: #8E252F !important;

    border: 1px solid #8E252F !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    font-size: 11px !important;
    font-weight: 800 !important;

    letter-spacing: .7px !important;

    text-transform: uppercase !important;

    text-decoration: none !important;

    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease !important;
}


.nqtop-quote i {
    font-size: 10px !important;

    transition:
        transform .25s ease !important;
}


.nqtop-quote:hover {
    background: #171717 !important;
    border-color: #171717 !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    transform: translateY(-1px) !important;
}


.nqtop-quote:hover i {
    transform: translateX(4px) !important;
}


/* =========================================================
   MOBILE TOGGLE
========================================================= */

.nqtop-mobile-toggle {
    display: none !important;

    width: 46px !important;
    height: 42px !important;

    align-items: center !important;
    justify-content: center !important;

    flex-direction: column !important;

    gap: 5px !important;

    padding: 0 !important;

    background: rgba(255,255,255,0.35) !important;

    border: 1px solid rgba(23,23,23,0.16) !important;

    cursor: pointer !important;
}


.nqtop-mobile-toggle span {
    display: block !important;

    width: 20px !important;
    height: 2px !important;

    background: #171717 !important;

    transition: all .25s ease !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .nqtop-navigation-inner {
        padding: 0 22px !important;
    }

    .nqtop-logo img {
        max-width: 195px !important;
        height: 68px !important;
    }

    .nqtop-link {
        padding: 0 12px !important;
    }

    .nqtop-link::after {
        left: 12px !important;
        right: 12px !important;
    }

    .nqtop-quote {
        margin-left: 7px !important;
        padding: 0 15px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 991px) {

    .nqtop-navigation {
        min-height: 88px !important;
    }


    .nqtop-navigation-inner {
        min-height: 88px !important;

        padding: 0 18px !important;
    }


    .nqtop-logo {
        height: 72px !important;
    }


    .nqtop-logo img {
        max-width: 180px !important;
        height: 62px !important;
    }


    .nqtop-mobile-toggle {
        display: flex !important;
    }


    /* MOBILE MENU */

    .nqtop-menu {
        position: absolute !important;

        top: calc(100% + 1px) !important;

        left: 12px !important;
        right: 12px !important;

        height: auto !important;

        display: flex !important;

        flex-direction: column !important;

        align-items: stretch !important;

        padding: 10px !important;

        background: rgba(245,243,240,0.97) !important;

        backdrop-filter: blur(20px) !important;
        -webkit-backdrop-filter: blur(20px) !important;

        border: 1px solid rgba(23,23,23,0.10) !important;

        border-top: 2px solid #8E252F !important;

        box-shadow:
            0 15px 40px rgba(23,23,23,0.13) !important;

        opacity: 0 !important;
        visibility: hidden !important;

        transform: translateY(-8px) !important;

        pointer-events: none !important;

        transition:
            opacity .25s ease,
            transform .25s ease,
            visibility .25s ease !important;
    }


    .nqtop-menu.nqtop-menu-open {
        opacity: 1 !important;
        visibility: visible !important;

        transform: translateY(0) !important;

        pointer-events: auto !important;
    }


    .nqtop-link {
        width: 100% !important;

        min-height: 46px !important;

        justify-content: flex-start !important;

        padding: 0 14px !important;

        color: #292929 !important;
        -webkit-text-fill-color: #292929 !important;
    }


    .nqtop-link::after {
        left: 14px !important;
        right: auto !important;

        width: 26px !important;
    }


    .nqtop-services {
        width: 100% !important;
    }


    .nqtop-services-button {
        width: 100% !important;

        justify-content: space-between !important;
    }


    /* MOBILE DROPDOWN */

    .nqtop-services-menu {
        position: static !important;

        width: 100% !important;

        margin: 3px 0 6px !important;

        transform: none !important;

        background: rgba(0,0,0,0.025) !important;

        box-shadow: none !important;
    }


    .nqtop-services-menu.nqtop-services-open {
        transform: none !important;
    }


    .nqtop-quote {
        width: 100% !important;

        margin: 8px 0 2px !important;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .nqtop-navigation {
        min-height: 82px !important;
    }


    .nqtop-navigation-inner {
        min-height: 82px !important;

        padding: 0 14px !important;
    }


    .nqtop-logo img {
        max-width: 160px !important;
        height: 56px !important;
    }

}


/* =========================================================
   NQAMAKAZI — COMPACT HERO HEIGHT
========================================================= */

.nq-main-hero {
    height: 470px !important;
    min-height: 470px !important;
}

.nq-main-hero-content {
    padding-top: 10px !important;
}

@media (max-width: 991px) {

    .nq-main-hero {
        height: 420px !important;
        min-height: 420px !important;
    }

}

@media (max-width: 575px) {

    .nq-main-hero {
        height: 390px !important;
        min-height: 390px !important;
    }

    .nq-main-hero-content {
        padding-top: 5px !important;
    }

}

/* =========================================================
   NQAMAKAZI — ABOUT INTRODUCTION
========================================================= */

.nqab-intro-section {
    position: relative !important;
    width: 100% !important;

    padding: 95px 0 85px !important;

    background: #F5F3F0 !important;
    overflow: hidden !important;
}


/* =========================================================
   MAIN GRID
========================================================= */

.nqab-intro-grid {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(0, .95fr) !important;

    gap: 85px !important;

    align-items: center !important;
}


/* =========================================================
   LABEL
========================================================= */

.nqab-section-label {
    display: flex !important;
    align-items: center !important;

    gap: 12px !important;

    margin-bottom: 22px !important;

    color: #8E252F !important;

    font-size: 11px !important;
    font-weight: 800 !important;

    letter-spacing: 2.2px !important;

    text-transform: uppercase !important;
}


.nqab-section-label span {
    display: inline-block !important;

    width: 38px !important;
    height: 2px !important;

    background: #C9A46C !important;
}


/* =========================================================
   HEADING
========================================================= */

.nqab-intro-copy h2 {
    max-width: 650px !important;

    margin: 0 0 25px !important;

    color: #171717 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: clamp(38px, 4.2vw, 58px) !important;

    font-weight: 400 !important;

    line-height: 1.08 !important;

    letter-spacing: -1.4px !important;
}


.nqab-intro-copy h2 strong {
    display: inline !important;

    color: #8E252F !important;

    font-weight: 700 !important;
}


/* =========================================================
   TEXT
========================================================= */

.nqab-intro-copy p {
    max-width: 650px !important;

    margin: 0 0 17px !important;

    color: #5B5B5B !important;

    font-size: 15px !important;

    line-height: 1.8 !important;
}


.nqab-intro-copy .nqab-lead {
    color: #292929 !important;

    font-size: 17px !important;

    line-height: 1.75 !important;

    margin-bottom: 20px !important;
}


/* =========================================================
   LINK
========================================================= */

.nqab-intro-link {
    display: inline-flex !important;

    align-items: center !important;

    gap: 11px !important;

    margin-top: 12px !important;

    padding-bottom: 8px !important;

    border-bottom: 1px solid #8E252F !important;

    color: #8E252F !important;
    -webkit-text-fill-color: #8E252F !important;

    font-size: 12px !important;

    font-weight: 800 !important;

    letter-spacing: .8px !important;

    text-transform: uppercase !important;

    text-decoration: none !important;

    transition:
        gap .25s ease,
        color .25s ease !important;
}


.nqab-intro-link i {
    font-size: 10px !important;
}


.nqab-intro-link:hover {
    gap: 16px !important;

    color: #171717 !important;
    -webkit-text-fill-color: #171717 !important;
}


/* =========================================================
   IMAGE
========================================================= */

.nqab-intro-visual {
    position: relative !important;

    padding: 0 0 24px 24px !important;
}


.nqab-image-frame {
    position: relative !important;

    width: 100% !important;

    height: 510px !important;

    overflow: hidden !important;

    background: #DDD8D2 !important;
}


.nqab-image-frame::before {
    content: "" !important;

    position: absolute !important;

    top: 18px !important;
    left: -18px !important;

    width: 100% !important;
    height: 100% !important;

    border: 1px solid #C9A46C !important;

    z-index: 0 !important;
}


.nqab-image-frame img {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;

    object-position: center !important;

    z-index: 2 !important;
}


/* =========================================================
   IMAGE ACCENT
========================================================= */

.nqab-image-accent {
    position: absolute !important;

    right: -1px !important;
    bottom: 24px !important;

    width: 65px !important;
    height: 65px !important;

    background:
        linear-gradient(
            135deg,
            #8E252F 0%,
            #8E252F 50%,
            #C9A46C 50%,
            #C9A46C 100%
        ) !important;

    z-index: 4 !important;
}


/* =========================================================
   IMAGE CAPTION
========================================================= */

.nqab-image-caption {
    position: absolute !important;

    left: 0 !important;
    bottom: 0 !important;

    display: flex !important;
    align-items: center !important;

    gap: 12px !important;

    padding: 13px 20px !important;

    background: #171717 !important;

    color: #FFFFFF !important;

    z-index: 5 !important;
}


.nqab-image-caption span {
    color: #C9A46C !important;

    font-size: 10px !important;

    font-weight: 800 !important;

    letter-spacing: 1px !important;
}


.nqab-image-caption strong {
    font-size: 11px !important;

    font-weight: 700 !important;

    letter-spacing: .7px !important;

    text-transform: uppercase !important;
}


/* =========================================================
   FACTS
========================================================= */

.nqab-facts {
    display: grid !important;

    grid-template-columns:
        repeat(3, 1fr) !important;

    margin-top: 85px !important;

    border-top: 1px solid #D9D4CE !important;

    border-bottom: 1px solid #D9D4CE !important;
}


.nqab-fact {
    display: flex !important;

    gap: 18px !important;

    padding: 28px 30px !important;

    border-right: 1px solid #D9D4CE !important;
}


.nqab-fact:first-child {
    padding-left: 0 !important;
}


.nqab-fact:last-child {
    border-right: 0 !important;

    padding-right: 0 !important;
}


.nqab-fact-number {
    flex-shrink: 0 !important;

    color: #C9A46C !important;

    font-size: 11px !important;

    font-weight: 800 !important;

    letter-spacing: 1px !important;
}


.nqab-fact h3 {
    margin: 0 0 7px !important;

    color: #171717 !important;

    font-size: 15px !important;

    font-weight: 800 !important;
}


.nqab-fact p {
    margin: 0 !important;

    color: #77716C !important;

    font-size: 12px !important;

    line-height: 1.65 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .nqab-intro-section {
        padding: 75px 0 70px !important;
    }

    .nqab-intro-grid {
        grid-template-columns: 1fr !important;

        gap: 55px !important;
    }

    .nqab-intro-copy {
        max-width: 760px !important;
    }

    .nqab-image-frame {
        height: 450px !important;
    }

    .nqab-facts {
        margin-top: 65px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .nqab-intro-section {
        padding: 60px 0 !important;
    }

    .nqab-intro-copy h2 {
        font-size: 40px !important;

        letter-spacing: -1px !important;
    }

    .nqab-intro-copy .nqab-lead {
        font-size: 16px !important;
    }

    .nqab-intro-visual {
        padding: 0 0 20px 15px !important;
    }

    .nqab-image-frame {
        height: 390px !important;
    }

    .nqab-facts {
        grid-template-columns: 1fr !important;

        margin-top: 55px !important;
    }

    .nqab-fact,
    .nqab-fact:first-child,
    .nqab-fact:last-child {
        padding: 22px 0 !important;

        border-right: 0 !important;

        border-bottom: 1px solid #D9D4CE !important;
    }

    .nqab-fact:last-child {
        border-bottom: 0 !important;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .nqab-intro-copy h2 {
        font-size: 35px !important;
    }

    .nqab-image-frame {
        height: 340px !important;
    }

    .nqab-image-accent {
        width: 48px !important;
        height: 48px !important;
    }

}


/* =========================================================
   NQAMAKAZI — WHAT WE STAND FOR
   CONTINUES DIRECTLY FROM ABOUT INTRODUCTION
========================================================= */

.nqab-values-section {
    position: relative !important;

    width: 100% !important;

    padding: 25px 0 90px !important;

    background: #F5F3F0 !important;

    overflow: hidden !important;
}


/* =========================================================
   TOP AREA
========================================================= */

.nqab-values-top {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(0, .85fr) !important;

    gap: 90px !important;

    align-items: end !important;

    padding: 55px 0 55px !important;
}


/* =========================================================
   LABEL
========================================================= */

.nqab-values-label {
    display: flex !important;

    align-items: center !important;

    gap: 12px !important;

    margin-bottom: 20px !important;

    color: #8E252F !important;

    font-size: 11px !important;

    font-weight: 800 !important;

    letter-spacing: 2px !important;

    text-transform: uppercase !important;
}


.nqab-values-label span {
    display: block !important;

    width: 36px !important;

    height: 2px !important;

    background: #C9A46C !important;
}


/* =========================================================
   MAIN HEADING
========================================================= */

.nqab-values-title h2 {
    max-width: 680px !important;

    margin: 0 !important;

    color: #171717 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: clamp(38px, 4.3vw, 58px) !important;

    font-weight: 400 !important;

    line-height: 1.08 !important;

    letter-spacing: -1.4px !important;
}


.nqab-values-title h2 strong {
    color: #8E252F !important;

    font-weight: 700 !important;
}


/* =========================================================
   INTRO TEXT
========================================================= */

.nqab-values-intro {
    padding-bottom: 3px !important;
}


.nqab-values-intro p {
    margin: 0 0 17px !important;

    color: #62605D !important;

    font-size: 14px !important;

    line-height: 1.8 !important;
}


.nqab-values-intro p:last-child {
    margin-bottom: 0 !important;
}


/* =========================================================
   DIVIDER
========================================================= */

.nqab-values-line {
    width: 100% !important;

    height: 1px !important;

    background: #D8D3CD !important;
}


/* =========================================================
   VALUES GRID
========================================================= */

.nqab-values-grid {
    display: grid !important;

    grid-template-columns:
        repeat(4, 1fr) !important;

    width: 100% !important;
}


/* =========================================================
   VALUE ITEM
========================================================= */

.nqab-value-item {
    position: relative !important;

    min-height: 255px !important;

    padding: 32px 28px 30px !important;

    border-right: 1px solid #D8D3CD !important;
}


.nqab-value-item:first-child {
    padding-left: 0 !important;
}


.nqab-value-item:last-child {
    border-right: 0 !important;

    padding-right: 0 !important;
}


/* =========================================================
   NUMBER
========================================================= */

.nqab-value-number {
    display: block !important;

    margin-bottom: 30px !important;

    color: #C9A46C !important;

    font-size: 10px !important;

    font-weight: 800 !important;

    letter-spacing: 1.5px !important;
}


/* =========================================================
   ICON
========================================================= */

.nqab-value-icon {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 43px !important;

    height: 43px !important;

    margin-bottom: 18px !important;

    border: 1px solid #C9A46C !important;

    color: #8E252F !important;

    font-size: 15px !important;
}


/* =========================================================
   VALUE CONTENT
========================================================= */

.nqab-value-content h3 {
    margin: 0 0 9px !important;

    color: #171717 !important;

    font-size: 17px !important;

    font-weight: 800 !important;
}


.nqab-value-content p {
    max-width: 235px !important;

    margin: 0 !important;

    color: #6D6965 !important;

    font-size: 12.5px !important;

    line-height: 1.75 !important;
}


/* =========================================================
   HOVER
========================================================= */

.nqab-value-item {
    transition:
        background .25s ease !important;
}


.nqab-value-item:hover {
    background: rgba(142,37,47,0.035) !important;
}


.nqab-value-item:hover .nqab-value-icon {
    background: #8E252F !important;

    border-color: #8E252F !important;

    color: #FFFFFF !important;
}


/* =========================================================
   FOOTER STATEMENT
========================================================= */

.nqab-values-footer {
    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 18px !important;

    padding-top: 35px !important;

    color: #A09A94 !important;

    font-size: 9px !important;

    font-weight: 800 !important;

    letter-spacing: 2.5px !important;
}


.nqab-values-footer-line {
    width: 45px !important;

    height: 1px !important;

    background: #C9A46C !important;

    opacity: .65 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .nqab-values-section {
        padding: 10px 0 70px !important;
    }


    .nqab-values-top {
        grid-template-columns: 1fr !important;

        gap: 25px !important;

        padding: 50px 0 45px !important;
    }


    .nqab-values-intro {
        max-width: 650px !important;
    }


    .nqab-values-grid {
        grid-template-columns:
            repeat(2, 1fr) !important;
    }


    .nqab-value-item {
        min-height: 230px !important;

        border-bottom: 1px solid #D8D3CD !important;
    }


    .nqab-value-item:nth-child(2) {
        border-right: 0 !important;
    }


    .nqab-value-item:nth-child(3),
    .nqab-value-item:nth-child(4) {
        border-bottom: 0 !important;
    }


    .nqab-value-item:nth-child(3) {
        padding-left: 0 !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .nqab-values-section {
        padding: 5px 0 60px !important;
    }


    .nqab-values-top {
        padding: 40px 0 35px !important;

        gap: 22px !important;
    }


    .nqab-values-title h2 {
        font-size: 38px !important;

        letter-spacing: -1px !important;
    }


    .nqab-values-grid {
        grid-template-columns: 1fr !important;
    }


    .nqab-value-item,
    .nqab-value-item:nth-child(2),
    .nqab-value-item:nth-child(3),
    .nqab-value-item:nth-child(4) {
        min-height: auto !important;

        padding: 25px 0 !important;

        border-right: 0 !important;

        border-bottom: 1px solid #D8D3CD !important;
    }


    .nqab-value-item:last-child {
        border-bottom: 0 !important;
    }


    .nqab-value-number {
        margin-bottom: 18px !important;
    }


    .nqab-value-icon {
        margin-bottom: 14px !important;
    }


    .nqab-values-footer {
        padding-top: 28px !important;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .nqab-values-title h2 {
        font-size: 34px !important;
    }


    .nqab-values-intro p {
        font-size: 13px !important;
    }

}


/* =========================================================
   NQAMAKAZI — PROJECT SHOWCASE
========================================================= */

.nqabout-projects {
    position: relative !important;

    width: 100% !important;

    padding: 90px 0 85px !important;

    background: #F5F3F0 !important;

    overflow: hidden !important;
}


/* =========================================================
   HEADER
========================================================= */

.nqabout-projects-header {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.1fr)
        minmax(0, .9fr) !important;

    gap: 80px !important;

    align-items: end !important;

    margin-bottom: 50px !important;
}


.nqabout-projects-label {
    display: flex !important;

    align-items: center !important;

    gap: 12px !important;

    margin-bottom: 19px !important;

    color: #8E252F !important;

    font-size: 11px !important;

    font-weight: 800 !important;

    letter-spacing: 2px !important;

    text-transform: uppercase !important;
}


.nqabout-projects-label span {
    width: 37px !important;

    height: 2px !important;

    display: block !important;

    background: #C9A46C !important;
}


.nqabout-projects-heading h2 {
    max-width: 650px !important;

    margin: 0 !important;

    color: #171717 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: clamp(38px, 4.2vw, 57px) !important;

    font-weight: 400 !important;

    line-height: 1.08 !important;

    letter-spacing: -1.4px !important;
}


.nqabout-projects-heading h2 strong {
    color: #8E252F !important;

    font-weight: 700 !important;
}


.nqabout-projects-intro {
    max-width: 520px !important;

    padding-bottom: 4px !important;
}


.nqabout-projects-intro p {
    margin: 0 !important;

    color: #66615D !important;

    font-size: 14px !important;

    line-height: 1.85 !important;
}


/* =========================================================
   PROJECT GRID
========================================================= */

.nqabout-project-grid {
    display: grid !important;

    grid-template-columns:
        repeat(4, 1fr) !important;

    grid-auto-rows: 225px !important;

    gap: 14px !important;
}


/* =========================================================
   PROJECT IMAGE
========================================================= */

.nqabout-project {
    position: relative !important;

    display: block !important;

    min-width: 0 !important;

    overflow: hidden !important;

    background: #DDD8D2 !important;

    text-decoration: none !important;
}


.nqabout-project img {
    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;

    height: 100% !important;

    display: block !important;

    object-fit: cover !important;

    object-position: center !important;

    transition:
        transform .6s cubic-bezier(.2,.7,.2,1) !important;
}


/* =========================================================
   EDITORIAL SIZING
========================================================= */

.nqabout-project-large {
    grid-column: span 2 !important;

    grid-row: span 2 !important;
}


.nqabout-project-wide {
    grid-column: span 2 !important;
}


/* =========================================================
   IMAGE OVERLAY
========================================================= */

.nqabout-project-overlay {
    position: absolute !important;

    inset: 0 !important;

    background:
        linear-gradient(
            180deg,
            rgba(23,23,23,0.02) 20%,
            rgba(23,23,23,0.72) 100%
        ) !important;

    z-index: 2 !important;

    transition:
        background .35s ease !important;
}


.nqabout-project:hover .nqabout-project-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(142,37,47,0.08) 0%,
            rgba(23,23,23,0.82) 100%
        ) !important;
}


/* =========================================================
   PROJECT INFORMATION
========================================================= */

.nqabout-project-info {
    position: absolute !important;

    left: 24px !important;
    right: 24px !important;
    bottom: 22px !important;

    z-index: 4 !important;

    color: #FFFFFF !important;
}


.nqabout-project-info span {
    display: block !important;

    margin-bottom: 7px !important;

    color: #DCC39A !important;

    font-size: 9px !important;

    font-weight: 800 !important;

    letter-spacing: 1.7px !important;
}


.nqabout-project-info h3 {
    margin: 0 !important;

    color: #FFFFFF !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 27px !important;

    font-weight: 600 !important;

    line-height: 1.1 !important;
}


.nqabout-project-info i {
    position: absolute !important;

    right: 0 !important;
    bottom: 2px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 35px !important;
    height: 35px !important;

    border: 1px solid rgba(255,255,255,0.55) !important;

    color: #FFFFFF !important;

    font-size: 10px !important;

    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease !important;
}


.nqabout-project:hover img {
    transform: scale(1.055) !important;
}


.nqabout-project:hover .nqabout-project-info i {
    background: #8E252F !important;

    border-color: #8E252F !important;

    transform: translateX(3px) !important;
}


/* =========================================================
   BOTTOM STATEMENT
========================================================= */

.nqabout-projects-bottom {
    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 18px !important;

    padding-top: 32px !important;

    color: #9B948D !important;

    font-size: 9px !important;

    font-weight: 800 !important;

    letter-spacing: 2.5px !important;
}


.nqabout-projects-bottom-line {
    width: 48px !important;

    height: 1px !important;

    background: #C9A46C !important;

    opacity: .65 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .nqabout-projects {
        padding: 75px 0 70px !important;
    }


    .nqabout-projects-header {
        grid-template-columns: 1fr !important;

        gap: 20px !important;

        margin-bottom: 40px !important;
    }


    .nqabout-project-grid {
        grid-template-columns:
            repeat(2, 1fr) !important;

        grid-auto-rows: 240px !important;
    }


    .nqabout-project-large {
        grid-column: span 2 !important;

        grid-row: span 1 !important;
    }


    .nqabout-project-wide {
        grid-column: span 2 !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .nqabout-projects {
        padding: 60px 0 60px !important;
    }


    .nqabout-projects-header {
        margin-bottom: 30px !important;
    }


    .nqabout-projects-heading h2 {
        font-size: 38px !important;

        letter-spacing: -1px !important;
    }


    .nqabout-project-grid {
        grid-template-columns: 1fr !important;

        grid-auto-rows: 270px !important;

        gap: 10px !important;
    }


    .nqabout-project-large,
    .nqabout-project-wide {
        grid-column: span 1 !important;

        grid-row: span 1 !important;
    }


    .nqabout-project-info {
        left: 19px !important;
        right: 19px !important;
        bottom: 18px !important;
    }


    .nqabout-project-info h3 {
        font-size: 24px !important;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .nqabout-projects-heading h2 {
        font-size: 34px !important;
    }


    .nqabout-projects-intro p {
        font-size: 13px !important;
    }


    .nqabout-project-grid {
        grid-auto-rows: 235px !important;
    }

}

/* =========================================================
   NQAMAKAZI — CONTACT INTRO
========================================================= */

.nqcontact-intro {
    position: relative !important;

    width: 100% !important;

    padding: 85px 0 90px !important;

    background: #F5F3F0 !important;

    overflow: hidden !important;
}


/* =========================================================
   GRID
========================================================= */

.nqcontact-intro-grid {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(0, .95fr) !important;

    gap: 100px !important;

    align-items: center !important;
}


/* =========================================================
   LABEL
========================================================= */

.nqcontact-label {
    display: flex !important;

    align-items: center !important;

    gap: 12px !important;

    margin-bottom: 20px !important;

    color: #8E252F !important;

    font-size: 11px !important;

    font-weight: 800 !important;

    letter-spacing: 2.2px !important;

    text-transform: uppercase !important;
}


.nqcontact-label span {
    width: 38px !important;

    height: 2px !important;

    display: block !important;

    background: #C9A46C !important;
}


/* =========================================================
   HEADING
========================================================= */

.nqcontact-intro-copy h2 {
    max-width: 650px !important;

    margin: 0 0 24px !important;

    color: #171717 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: clamp(40px, 4.5vw, 60px) !important;

    font-weight: 400 !important;

    line-height: 1.06 !important;

    letter-spacing: -1.5px !important;
}


.nqcontact-intro-copy h2 strong {
    color: #8E252F !important;

    font-weight: 700 !important;
}


/* =========================================================
   TEXT
========================================================= */

.nqcontact-intro-copy p {
    max-width: 620px !important;

    margin: 0 0 16px !important;

    color: #66615D !important;

    font-size: 14px !important;

    line-height: 1.85 !important;
}


.nqcontact-intro-copy .nqcontact-lead {
    color: #292929 !important;

    font-size: 17px !important;

    line-height: 1.75 !important;

    margin-bottom: 20px !important;
}


/* =========================================================
   START LINK
========================================================= */

.nqcontact-start-link {
    display: inline-flex !important;

    align-items: center !important;

    gap: 11px !important;

    margin-top: 12px !important;

    padding-bottom: 8px !important;

    border-bottom: 1px solid #8E252F !important;

    color: #8E252F !important;
    -webkit-text-fill-color: #8E252F !important;

    font-size: 11px !important;

    font-weight: 800 !important;

    letter-spacing: 1px !important;

    text-transform: uppercase !important;

    text-decoration: none !important;

    transition:
        gap .25s ease,
        color .25s ease !important;
}


.nqcontact-start-link i {
    font-size: 10px !important;

    transition:
        transform .25s ease !important;
}


.nqcontact-start-link:hover {
    gap: 15px !important;

    color: #171717 !important;
    -webkit-text-fill-color: #171717 !important;
}


.nqcontact-start-link:hover i {
    transform: translateY(3px) !important;
}


/* =========================================================
   CONTACT DETAILS
========================================================= */

.nqcontact-details {
    border-top: 1px solid #D8D3CD !important;
}


/* =========================================================
   DETAIL ROW
========================================================= */

.nqcontact-detail {
    display: grid !important;

    grid-template-columns:
        42px
        minmax(0, 1fr)
        48px !important;

    align-items: center !important;

    min-height: 105px !important;

    border-bottom: 1px solid #D8D3CD !important;

    transition:
        background .25s ease,
        padding-left .25s ease !important;
}


.nqcontact-detail:hover {
    padding-left: 10px !important;

    background: rgba(142,37,47,0.035) !important;
}


/* =========================================================
   NUMBER
========================================================= */

.nqcontact-detail-number {
    color: #C9A46C !important;

    font-size: 10px !important;

    font-weight: 800 !important;

    letter-spacing: 1px !important;
}


/* =========================================================
   CONTENT
========================================================= */

.nqcontact-detail-content {
    display: flex !important;

    flex-direction: column !important;

    gap: 5px !important;
}


.nqcontact-detail-content span {
    color: #8E252F !important;

    font-size: 9px !important;

    font-weight: 800 !important;

    letter-spacing: 1.7px !important;
}


.nqcontact-detail-content a,
.nqcontact-detail-content strong {
    color: #292929 !important;
    -webkit-text-fill-color: #292929 !important;

    font-size: 15px !important;

    font-weight: 700 !important;

    text-decoration: none !important;
}


.nqcontact-detail-content a:hover {
    color: #8E252F !important;
    -webkit-text-fill-color: #8E252F !important;
}


/* =========================================================
   ICON
========================================================= */

.nqcontact-detail-icon {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 43px !important;
    height: 43px !important;

    border: 1px solid #C9A46C !important;

    color: #8E252F !important;

    font-size: 15px !important;

    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease !important;
}


.nqcontact-detail:hover .nqcontact-detail-icon {
    background: #8E252F !important;

    border-color: #8E252F !important;

    color: #FFFFFF !important;
}


/* =========================================================
   NOTE
========================================================= */

.nqcontact-detail-note {
    display: flex !important;

    align-items: flex-start !important;

    gap: 14px !important;

    padding-top: 25px !important;
}


.nqcontact-detail-note span {
    flex-shrink: 0 !important;

    width: 25px !important;

    height: 1px !important;

    margin-top: 9px !important;

    background: #C9A46C !important;
}


.nqcontact-detail-note p {
    max-width: 370px !important;

    margin: 0 !important;

    color: #85807A !important;

    font-size: 11px !important;

    line-height: 1.7 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .nqcontact-intro {
        padding: 70px 0 75px !important;
    }


    .nqcontact-intro-grid {
        grid-template-columns: 1fr !important;

        gap: 55px !important;
    }


    .nqcontact-intro-copy {
        max-width: 720px !important;
    }


    .nqcontact-details {
        max-width: 700px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .nqcontact-intro {
        padding: 60px 0 65px !important;
    }


    .nqcontact-intro-grid {
        gap: 45px !important;
    }


    .nqcontact-intro-copy h2 {
        font-size: 40px !important;

        letter-spacing: -1px !important;
    }


    .nqcontact-intro-copy .nqcontact-lead {
        font-size: 16px !important;
    }


    .nqcontact-detail {
        min-height: 92px !important;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575px) {

    .nqcontact-intro {
        padding: 52px 0 55px !important;
    }


    .nqcontact-intro-copy h2 {
        font-size: 35px !important;
    }


    .nqcontact-intro-copy p {
        font-size: 13px !important;
    }


    .nqcontact-detail {
        grid-template-columns:
            32px
            minmax(0, 1fr)
            43px !important;
    }


    .nqcontact-detail-icon {
        width: 39px !important;
        height: 39px !important;
    }


    .nqcontact-detail-content a,
    .nqcontact-detail-content strong {
        font-size: 14px !important;
    }

}


.nq-main-hero-image {
    overflow: hidden !important;
}

.nq-main-hero-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: scale(0.88) !important;
}
.nq-main-hero-image img {
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
}

/* =========================================================
   NQAMAKAZI — CONTACT FORM + GAUTENG MAP
   UNIQUE CLASS SYSTEM
========================================================= */

.nqcontact-form-map {
    position: relative !important;
    width: 100% !important;
    padding: 85px 0 90px !important;
    background: #F5F3F0 !important;
    color: #171717 !important;
}


/* =========================================================
   HEADER
========================================================= */

.nqcontact-form-map-header {
    max-width: 760px !important;
    margin: 0 auto 50px !important;
    text-align: center !important;
}

.nqcontact-form-map-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 18px !important;
    color: #8E252F !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.nqcontact-form-map-label span {
    display: block !important;
    width: 28px !important;
    height: 1px !important;
    background: #C9A46C !important;
}

.nqcontact-form-map-header h2 {
    margin: 0 0 18px !important;
    color: #171717 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(38px, 4vw, 56px) !important;
    line-height: 1.08 !important;
    font-weight: 400 !important;
}

.nqcontact-form-map-header h2 strong {
    display: block !important;
    color: #8E252F !important;
    font-weight: 700 !important;
}

.nqcontact-form-map-header p {
    max-width: 620px !important;
    margin: 0 auto !important;
    color: #66615D !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
}


/* =========================================================
   MAIN GRID
========================================================= */

.nqcontact-form-map-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
    gap: 28px !important;
    align-items: stretch !important;
}


/* =========================================================
   FORM PANEL
========================================================= */

.nqcontact-form-panel {
    position: relative !important;
    padding: 42px !important;
    background: #FFFFFF !important;
    border: 1px solid #DDD8D2 !important;
    box-shadow: 0 18px 50px rgba(23, 23, 23, 0.055) !important;
}

.nqcontact-form-panel::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 4px !important;
    height: 100% !important;
    background: #8E252F !important;
}

.nqcontact-form-panel-top {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    padding-bottom: 28px !important;
    margin-bottom: 30px !important;
    border-bottom: 1px solid #E4E0DC !important;
}

.nqcontact-form-panel-top > span {
    color: #C9A46C !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 28px !important;
    font-weight: 400 !important;
}

.nqcontact-form-panel-top small,
.nqcontact-map-heading small {
    display: block !important;
    margin-bottom: 4px !important;
    color: #8E252F !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: 1.7px !important;
}

.nqcontact-form-panel-top h3,
.nqcontact-map-heading h3 {
    margin: 0 !important;
    color: #171717 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 27px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
}


/* =========================================================
   FORM ROWS
========================================================= */

.nqcontact-form-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
    margin-bottom: 21px !important;
}

.nqcontact-field {
    width: 100% !important;
}

.nqcontact-field label {
    display: block !important;
    margin-bottom: 8px !important;
    color: #292929 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .5px !important;
}

.nqcontact-field input,
.nqcontact-field select,
.nqcontact-field textarea {
    display: block !important;
    width: 100% !important;
    border: 1px solid #D9D4CF !important;
    border-radius: 0 !important;
    outline: none !important;
    background: #FAF9F7 !important;
    color: #171717 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    transition:
        border-color .25s ease,
        background .25s ease,
        box-shadow .25s ease !important;
}

.nqcontact-field input,
.nqcontact-field select {
    height: 51px !important;
    padding: 0 15px !important;
}

.nqcontact-field textarea {
    min-height: 135px !important;
    padding: 14px 15px !important;
    resize: vertical !important;
}

.nqcontact-field input::placeholder,
.nqcontact-field textarea::placeholder {
    color: #9A9692 !important;
}

.nqcontact-field input:focus,
.nqcontact-field select:focus,
.nqcontact-field textarea:focus {
    border-color: #8E252F !important;
    background: #FFFFFF !important;
    box-shadow: 0 0 0 3px rgba(142, 37, 47, 0.07) !important;
}

.nqcontact-message-field {
    margin-top: 2px !important;
}


/* =========================================================
   FORM FOOTER
========================================================= */

.nqcontact-form-bottom {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    margin-top: 24px !important;
    padding-top: 22px !important;
    border-top: 1px solid #E4E0DC !important;
}

.nqcontact-form-bottom p {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    color: #77716C !important;
    font-size: 10px !important;
}

.nqcontact-form-bottom p i {
    color: #C9A46C !important;
    font-size: 11px !important;
}

.nqcontact-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    min-height: 49px !important;
    padding: 0 22px !important;
    border: 1px solid #8E252F !important;
    border-radius: 0 !important;
    outline: none !important;
    background: #8E252F !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease !important;
}

.nqcontact-submit i {
    font-size: 10px !important;
    transition: transform .25s ease !important;
}

.nqcontact-submit:hover {
    background: #171717 !important;
    border-color: #171717 !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    transform: translateY(-1px) !important;
}

.nqcontact-submit:hover i {
    transform: translateX(4px) !important;
}


/* =========================================================
   MAP PANEL
========================================================= */

.nqcontact-map-panel {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
    padding: 32px !important;
    background: #171717 !important;
    border: 1px solid #171717 !important;
    box-shadow: 0 18px 50px rgba(23, 23, 23, 0.10) !important;
}

.nqcontact-map-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-bottom: 25px !important;
}

.nqcontact-map-heading > div {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.nqcontact-map-number {
    color: #C9A46C !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 27px !important;
}

.nqcontact-map-heading small {
    color: #C9A46C !important;
}

.nqcontact-map-heading h3 {
    color: #FFFFFF !important;
}

.nqcontact-map-heading > i {
    color: #C9A46C !important;
    font-size: 20px !important;
}


/* =========================================================
   MAP
========================================================= */

.nqcontact-map {
    position: relative !important;
    flex: 1 !important;
    min-height: 390px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    background: #E8E5E1 !important;
}

.nqcontact-map iframe {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 390px !important;
    border: 0 !important;
    filter: grayscale(25%) contrast(95%) !important;
}


/* =========================================================
   MAP OVERLAY
========================================================= */

.nqcontact-map-overlay {
    position: absolute !important;
    left: 18px !important;
    bottom: 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    max-width: calc(100% - 36px) !important;
    padding: 13px 16px !important;
    background: rgba(23,23,23,0.93) !important;
    border-left: 3px solid #C9A46C !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.18) !important;
}

.nqcontact-map-overlay > span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    flex-shrink: 0 !important;
    color: #FFFFFF !important;
    background: #8E252F !important;
}

.nqcontact-map-overlay > span i {
    font-size: 11px !important;
}

.nqcontact-map-overlay strong {
    display: block !important;
    margin-bottom: 2px !important;
    color: #FFFFFF !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.nqcontact-map-overlay small {
    display: block !important;
    color: #BDB8B3 !important;
    font-size: 9px !important;
}


/* =========================================================
   MAP FOOTER
========================================================= */

.nqcontact-map-footer {
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    padding-top: 22px !important;
}

.nqcontact-map-footer > span {
    width: 30px !important;
    height: 1px !important;
    flex-shrink: 0 !important;
    background: #C9A46C !important;
}

.nqcontact-map-footer p {
    margin: 0 !important;
    color: #A9A39D !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991px) {

    .nqcontact-form-map {
        padding: 70px 0 75px !important;
    }

    .nqcontact-form-map-header {
        margin-bottom: 40px !important;
    }

    .nqcontact-form-map-grid {
        grid-template-columns: 1fr !important;
    }

    .nqcontact-map-panel {
        min-height: auto !important;
    }

    .nqcontact-map {
        min-height: 420px !important;
    }

    .nqcontact-map iframe {
        min-height: 420px !important;
    }

}


@media (max-width: 575px) {

    .nqcontact-form-map {
        padding: 60px 0 65px !important;
    }

    .nqcontact-form-map-header {
        margin-bottom: 32px !important;
    }

    .nqcontact-form-map-header h2 {
        font-size: 38px !important;
    }

    .nqcontact-form-panel {
        padding: 28px 22px !important;
    }

    .nqcontact-map-panel {
        padding: 22px !important;
    }

    .nqcontact-form-row {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        margin-bottom: 18px !important;
    }

    .nqcontact-form-bottom {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .nqcontact-submit {
        width: 100% !important;
    }

    .nqcontact-map {
        min-height: 360px !important;
    }

    .nqcontact-map iframe {
        min-height: 360px !important;
    }

    .nqcontact-map-overlay {
        left: 12px !important;
        bottom: 12px !important;
        max-width: calc(100% - 24px) !important;
    }

}

/* =========================================================
   NQAMAKAZI — LIGHT MAP PANEL OVERRIDE
========================================================= */

.nqcontact-map-panel {
    background: #FFFFFF !important;
    border: 1px solid #DDD8D2 !important;
    box-shadow: 0 18px 50px rgba(23, 23, 23, 0.055) !important;
}

.nqcontact-map-heading h3 {
    color: #171717 !important;
}

.nqcontact-map-heading small {
    color: #8E252F !important;
}

.nqcontact-map-heading > i {
    color: #8E252F !important;
}

.nqcontact-map-footer p {
    color: #66615D !important;
}

.nqcontact-map-footer > span {
    background: #C9A46C !important;
}

/* =========================================================
   NQAMAKAZI — BUILDING INTRODUCTION
   UNIQUE CLASS SYSTEM
========================================================= */

.nqbuilding-intro {
    position: relative !important;
    width: 100% !important;
    padding: 85px 0 90px !important;
    background: #F5F3F0 !important;
    color: #171717 !important;
}


/* =========================================================
   MAIN GRID
========================================================= */

.nqbuilding-intro-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) !important;
    gap: 90px !important;
    align-items: center !important;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.nqbuilding-intro-content {
    max-width: 650px !important;
}

.nqbuilding-label {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    margin-bottom: 20px !important;
    color: #8E252F !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.nqbuilding-label span {
    display: block !important;
    width: 30px !important;
    height: 1px !important;
    background: #C9A46C !important;
}

.nqbuilding-intro-content h2 {
    max-width: 620px !important;
    margin: 0 0 24px !important;
    color: #171717 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(40px, 4.2vw, 60px) !important;
    line-height: 1.05 !important;
    font-weight: 400 !important;
}

.nqbuilding-intro-content h2 strong {
    display: block !important;
    color: #8E252F !important;
    font-weight: 700 !important;
}

.nqbuilding-intro-content p {
    max-width: 620px !important;
    margin: 0 0 17px !important;
    color: #66615D !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
}

.nqbuilding-intro-content .nqbuilding-lead {
    color: #3D3936 !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    margin-bottom: 18px !important;
}


/* =========================================================
   LINK
========================================================= */

.nqbuilding-intro-link {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 15px !important;
    padding-bottom: 8px !important;
    color: #8E252F !important;
    -webkit-text-fill-color: #8E252F !important;
    border-bottom: 1px solid #C9A46C !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .7px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: gap .25s ease, color .25s ease !important;
}

.nqbuilding-intro-link i {
    font-size: 10px !important;
}

.nqbuilding-intro-link:hover {
    gap: 17px !important;
    color: #171717 !important;
    -webkit-text-fill-color: #171717 !important;
}


/* =========================================================
   RIGHT SIDE
========================================================= */

.nqbuilding-intro-side {
    position: relative !important;
    border-top: 1px solid #D9D4CF !important;
}


/* =========================================================
   FEATURE ITEMS
========================================================= */

.nqbuilding-feature {
    display: grid !important;
    grid-template-columns: 42px 1fr !important;
    gap: 18px !important;
    padding: 24px 0 !important;
    border-bottom: 1px solid #D9D4CF !important;
}

.nqbuilding-feature-number {
    padding-top: 2px !important;
    color: #C9A46C !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

.nqbuilding-feature h3 {
    margin: 0 0 7px !important;
    color: #171717 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

.nqbuilding-feature p {
    max-width: 390px !important;
    margin: 0 !important;
    color: #706B67 !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
}


/* =========================================================
   SIDE NOTE
========================================================= */

.nqbuilding-side-note {
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    padding-top: 25px !important;
}

.nqbuilding-side-note > span {
    width: 28px !important;
    height: 1px !important;
    background: #8E252F !important;
    flex-shrink: 0 !important;
}

.nqbuilding-side-note p {
    margin: 0 !important;
    color: #8E252F !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: 1.6px !important;
    line-height: 1.6 !important;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991px) {

    .nqbuilding-intro {
        padding: 70px 0 75px !important;
    }

    .nqbuilding-intro-grid {
        grid-template-columns: 1fr !important;
        gap: 55px !important;
    }

    .nqbuilding-intro-content {
        max-width: 760px !important;
    }

}


@media (max-width: 575px) {

    .nqbuilding-intro {
        padding: 60px 0 65px !important;
    }

    .nqbuilding-intro-grid {
        gap: 42px !important;
    }

    .nqbuilding-intro-content h2 {
        font-size: 39px !important;
    }

    .nqbuilding-intro-content .nqbuilding-lead {
        font-size: 15px !important;
    }

    .nqbuilding-feature {
        grid-template-columns: 32px 1fr !important;
        gap: 12px !important;
        padding: 21px 0 !important;
    }

    .nqbuilding-feature h3 {
        font-size: 20px !important;
    }

}



/* =========================================================
   NQAMAKAZI — BUILDING PROJECTS
   EQUAL IMAGE GRID
   UNIQUE CLASS SYSTEM
========================================================= */

.nqbuilding-projects {
    position: relative !important;
    width: 100% !important;
    padding: 85px 0 90px !important;
    background: #FFFFFF !important;
    color: #171717 !important;
}


/* =========================================================
   HEADER
========================================================= */

.nqbuilding-projects-header {
    max-width: 850px !important;
    margin: 0 auto 50px !important;
    text-align: center !important;
}

.nqbuilding-projects-label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 11px !important;
    margin-bottom: 18px !important;

    color: #8E252F !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.nqbuilding-projects-label span {
    width: 30px !important;
    height: 1px !important;
    background: #C9A46C !important;
}

.nqbuilding-projects-header h2 {
    margin: 0 0 18px !important;

    color: #171717 !important;

    font-family: Georgia,
        "Times New Roman",
        serif !important;

    font-size: clamp(40px, 4.2vw, 58px) !important;
    line-height: 1.05 !important;
    font-weight: 400 !important;
}

.nqbuilding-projects-header h2 strong {
    display: block !important;
    color: #8E252F !important;
    font-weight: 700 !important;
}

.nqbuilding-projects-header p {
    max-width: 620px !important;
    margin: 0 auto !important;

    color: #68635F !important;

    font-size: 14px !important;
    line-height: 1.8 !important;
}


/* =========================================================
   GRID
========================================================= */

.nqbuilding-projects-grid {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 35px 20px !important;
}


/* =========================================================
   PROJECT CARD
========================================================= */

.nqbuilding-project-card {
    min-width: 0 !important;
}


/* =========================================================
   IMAGE
========================================================= */

.nqbuilding-project-image {
    position: relative !important;

    width: 100% !important;

    height: 285px !important;

    overflow: hidden !important;

    background: #E9E6E2 !important;
}

.nqbuilding-project-image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: center !important;

    transition:
        transform .65s cubic-bezier(.2,.65,.3,1) !important;
}

.nqbuilding-project-card:hover
.nqbuilding-project-image img {
    transform: scale(1.055) !important;
}


/* =========================================================
   IMAGE OVERLAY
========================================================= */

.nqbuilding-project-overlay {
    position: absolute !important;
    inset: 0 !important;

    background:
        linear-gradient(
            180deg,
            rgba(23,23,23,0.02) 35%,
            rgba(23,23,23,0.55) 100%
        ) !important;

    pointer-events: none !important;

    transition:
        background .35s ease !important;
}

.nqbuilding-project-card:hover
.nqbuilding-project-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(23,23,23,0.08) 25%,
            rgba(23,23,23,0.68) 100%
        ) !important;
}


/* =========================================================
   PROJECT NUMBER
========================================================= */

.nqbuilding-project-number {
    position: absolute !important;

    top: 18px !important;
    left: 18px !important;

    z-index: 2 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 39px !important;
    height: 39px !important;

    background: rgba(255,255,255,0.94) !important;

    color: #8E252F !important;

    font-family: Georgia,
        "Times New Roman",
        serif !important;

    font-size: 13px !important;
    font-weight: 700 !important;
}


/* =========================================================
   ARROW
========================================================= */

.nqbuilding-project-arrow {
    position: absolute !important;

    right: 18px !important;
    bottom: 18px !important;

    z-index: 3 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 42px !important;

    border: 1px solid rgba(255,255,255,0.65) !important;

    color: #FFFFFF !important;

    font-size: 10px !important;

    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease !important;
}

.nqbuilding-project-card:hover
.nqbuilding-project-arrow {
    background: #8E252F !important;
    border-color: #8E252F !important;
    transform: translateX(4px) !important;
}


/* =========================================================
   TEXT BELOW IMAGE
========================================================= */

.nqbuilding-project-info {
    padding: 18px 5px 0 !important;
}

.nqbuilding-project-info span {
    display: block !important;

    margin-bottom: 7px !important;

    color: #8E252F !important;

    font-size: 9px !important;
    font-weight: 800 !important;

    letter-spacing: 1.7px !important;

    text-transform: uppercase !important;
}

.nqbuilding-project-info h3 {
    margin: 0 0 8px !important;

    color: #171717 !important;

    font-family: Georgia,
        "Times New Roman",
        serif !important;

    font-size: 23px !important;
    line-height: 1.15 !important;

    font-weight: 700 !important;
}

.nqbuilding-project-info p {
    max-width: 340px !important;

    margin: 0 !important;

    color: #706B67 !important;

    font-size: 12px !important;
    line-height: 1.7 !important;
}


/* =========================================================
   FOOTER LINE
========================================================= */

.nqbuilding-projects-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 18px !important;

    margin-top: 48px !important;
}

.nqbuilding-projects-footer span {
    width: 65px !important;
    height: 1px !important;

    background: #C9A46C !important;
}

.nqbuilding-projects-footer strong {
    color: #77716C !important;

    font-size: 9px !important;
    font-weight: 800 !important;

    letter-spacing: 2px !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .nqbuilding-projects {
        padding: 70px 0 75px !important;
    }

    .nqbuilding-projects-header {
        margin-bottom: 40px !important;
    }

    .nqbuilding-projects-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 32px 18px !important;
    }

    .nqbuilding-project-image {
        height: 270px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .nqbuilding-projects {
        padding: 60px 0 65px !important;
    }

    .nqbuilding-projects-header {
        margin-bottom: 35px !important;
    }

    .nqbuilding-projects-header h2 {
        font-size: 39px !important;
    }

    .nqbuilding-projects-header p {
        font-size: 13px !important;
    }

    .nqbuilding-projects-grid {
        grid-template-columns: 1fr !important;

        gap: 34px !important;
    }

    .nqbuilding-project-image {
        height: 280px !important;
    }

    .nqbuilding-project-info {
        padding-top: 15px !important;
    }

    .nqbuilding-project-info h3 {
        font-size: 22px !important;
    }

    .nqbuilding-projects-footer {
        gap: 10px !important;
        margin-top: 38px !important;
    }

    .nqbuilding-projects-footer span {
        width: 25px !important;
    }

    .nqbuilding-projects-footer strong {
        font-size: 7px !important;
        letter-spacing: 1.2px !important;
    }

}



/* =========================================================
   NQAMAKAZI — WHY BUILD WITH US
   SIMPLE EDITORIAL SECTION
========================================================= */

.nqbuild-why-simple {
    width: 100% !important;
    padding: 78px 0 82px !important;
    background: #F5F3F0 !important;
    color: #171717 !important;
}


/* =========================================================
   HEADER
========================================================= */

.nqbuild-why-simple-header {
    max-width: 760px !important;
    margin-bottom: 48px !important;
}

.nqbuild-why-simple-label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;

    margin-bottom: 16px !important;

    color: #8E252F !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.nqbuild-why-simple-label span {
    width: 28px !important;
    height: 1px !important;
    background: #C9A46C !important;
}

.nqbuild-why-simple-header h2 {
    margin: 0 0 18px !important;

    color: #171717 !important;

    font-family: Georgia,
        "Times New Roman",
        serif !important;

    font-size: clamp(38px, 4vw, 55px) !important;
    line-height: 1.06 !important;
    font-weight: 400 !important;
}

.nqbuild-why-simple-header h2 strong {
    color: #8E252F !important;
    font-weight: 700 !important;
}

.nqbuild-why-simple-header > p {
    max-width: 650px !important;

    margin: 0 !important;

    color: #68635F !important;

    font-size: 14px !important;
    line-height: 1.8 !important;
}


/* =========================================================
   REASONS
========================================================= */

.nqbuild-why-simple-list {
    display: grid !important;

    grid-template-columns:
        repeat(4, 1fr) !important;

    border-top: 1px solid #D8D3CE !important;
    border-bottom: 1px solid #D8D3CE !important;
}

.nqbuild-why-simple-item {
    display: grid !important;

    grid-template-columns: 30px 1fr !important;

    gap: 12px !important;

    padding: 25px 25px 27px 0 !important;

    border-right: 1px solid #D8D3CE !important;
}

.nqbuild-why-simple-item:not(:first-child) {
    padding-left: 25px !important;
}

.nqbuild-why-simple-item:last-child {
    border-right: 0 !important;
}

.nqbuild-why-simple-item > span {
    color: #C9A46C !important;

    font-family: Georgia,
        "Times New Roman",
        serif !important;

    font-size: 13px !important;
}

.nqbuild-why-simple-item h3 {
    margin: 0 0 7px !important;

    color: #171717 !important;

    font-family: Georgia,
        "Times New Roman",
        serif !important;

    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

.nqbuild-why-simple-item p {
    margin: 0 !important;

    color: #706B67 !important;

    font-size: 12px !important;
    line-height: 1.7 !important;
}


/* =========================================================
   CTA
========================================================= */

.nqbuild-why-simple-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    gap: 25px !important;

    padding-top: 27px !important;
}

.nqbuild-why-simple-cta p {
    margin: 0 !important;

    color: #55504C !important;

    font-size: 12px !important;
    font-weight: 600 !important;
}

.nqbuild-why-simple-cta a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;

    color: #8E252F !important;
    -webkit-text-fill-color: #8E252F !important;

    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;

    transition: gap .25s ease,
                color .25s ease !important;
}

.nqbuild-why-simple-cta a:hover {
    gap: 15px !important;

    color: #171717 !important;
    -webkit-text-fill-color: #171717 !important;
}

.nqbuild-why-simple-cta i {
    font-size: 10px !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .nqbuild-why-simple {
        padding: 68px 0 72px !important;
    }

    .nqbuild-why-simple-list {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .nqbuild-why-simple-item:nth-child(2) {
        border-right: 0 !important;
    }

    .nqbuild-why-simple-item:nth-child(3),
    .nqbuild-why-simple-item:nth-child(4) {
        border-top: 1px solid #D8D3CE !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .nqbuild-why-simple {
        padding: 58px 0 62px !important;
    }

    .nqbuild-why-simple-header {
        margin-bottom: 35px !important;
    }

    .nqbuild-why-simple-header h2 {
        font-size: 38px !important;
    }

    .nqbuild-why-simple-list {
        grid-template-columns: 1fr !important;
    }

    .nqbuild-why-simple-item,
    .nqbuild-why-simple-item:not(:first-child) {
        padding: 22px 0 !important;

        border-right: 0 !important;
        border-top: 0 !important;
        border-bottom: 1px solid #D8D3CE !important;
    }

    .nqbuild-why-simple-item:last-child {
        border-bottom: 0 !important;
    }

    .nqbuild-why-simple-cta {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 14px !important;
    }

}

/* =========================================================
   NQAMAKAZI — GLOBAL WARM OFF-WHITE SECTION BACKGROUND
   OVERRIDES PREVIOUS SECTION BACKGROUNDS
========================================================= */

.nqbuilding-intro,
.nqbuild-gallery,
.nqbuilding-projects,
.nqbuilding-why-simple,
.nqbuilding-why,
.nqbuilding-process,
.nq-cta-section {
    background: #F1EFEC !important;
}


/* Keep cards / image areas unaffected */
.nqbuilding-project-image,
.nqbuild-gallery-item {
    background: #DDD9D4 !important;
}


/* Keep the CTA box slightly distinct from the page */
.nq-cta-box {
    background: #E7E3DE !important;
}


/* Ensure main text remains strong on the warmer background */
.nqbuilding-intro,
.nqbuild-gallery,
.nqbuilding-projects,
.nqbuilding-why-simple,
.nqbuilding-why,
.nqbuilding-process {
    color: #171717 !important;
}


/* =========================================================
   NQAMAKAZI — REDUCE VERTICAL SPACE BETWEEN SECTIONS
========================================================= */

/* Main sections */
.nqbuilding-intro,
.nqbuilding-projects,
.nqbuilding-why-simple,
.nqbuilding-why,
.nqbuilding-process,
.nq-cta-section {
    padding-top: 55px !important;
    padding-bottom: 55px !important;
}

/* Introduction section */
.nqbuilding-intro {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Projects section */
.nqbuilding-projects {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Reduce spacing inside project heading */
.nqbuilding-projects-header {
    margin-bottom: 35px !important;
}

/* Reduce spacing below project grid */
.nqbuilding-projects-grid {
    margin-bottom: 35px !important;
}

/* CTA section */
.nq-cta-section {
    margin-top: 0 !important;
}

/* Reduce excessive container spacing */
.nqbuilding-intro .container,
.nqbuilding-projects .container,
.nqbuilding-why-simple .container,
.nqbuilding-why .container,
.nqbuilding-process .container,
.nq-cta-section .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .nqbuilding-intro,
    .nqbuilding-projects,
    .nqbuilding-why-simple,
    .nqbuilding-why,
    .nqbuilding-process,
    .nq-cta-section {
        padding-top: 45px !important;
        padding-bottom: 45px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .nqbuilding-intro,
    .nqbuilding-projects,
    .nqbuilding-why-simple,
    .nqbuilding-why,
    .nqbuilding-process,
    .nq-cta-section {
        padding-top: 38px !important;
        padding-bottom: 38px !important;
    }

    .nqbuilding-projects-header {
        margin-bottom: 28px !important;
    }

    .nqbuilding-projects-grid {
        margin-bottom: 28px !important;
    }

}

/* =========================================================
   NQAMAKAZI — MOBILE SERVICES DROPDOWN FIX
========================================================= */

@media (max-width: 991px) {

    /* Keep Services dropdown completely hidden */
    .nqtop-services-menu {
        display: none !important;
        position: static !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    /* Only show it after Services is clicked */
    .nqtop-services-menu.nqtop-services-open {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        max-height: 600px !important;
        overflow: visible !important;
        margin: 5px 0 10px !important;
        padding: 5px 0 !important;
    }

}














/* =========================================================
   NQAMAKAZI — PROPER LARGE LOGO
========================================================= */

.nqtop-navigation {
    min-height: 82px !important;
}

.nqtop-navigation-inner {
    min-height: 82px !important;
}

.nqtop-navigation .nqtop-logo {
    width: 215px !important;
    height: 78px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
}

.nqtop-navigation .nqtop-logo img {
    width: 200px !important;
    height: auto !important;
    max-width: 200px !important;
    max-height: 70px !important;
    object-fit: contain !important;
    display: block !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 991px) {

    .nqtop-navigation,
    .nqtop-navigation-inner {
        min-height: 76px !important;
    }

    .nqtop-navigation .nqtop-logo {
        width: 190px !important;
        height: 70px !important;
    }

    .nqtop-navigation .nqtop-logo img {
        width: 175px !important;
        max-width: 175px !important;
        max-height: 62px !important;
    }

}


































/* =========================================================
   NQAMAKAZI — ELEGANT FOOTER
========================================================= */

.nq-footer {
    position: relative;
    background: #0D0D0D;
    color: #F2F2F2;
    padding: 70px 0 0;
    overflow: hidden;
}


/* Accent Line */

.nq-footer-accent {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(
        90deg,
        #A62934,
        #BF2424,
        #D98F8F,
        #BF2424,
        #A62934
    );
}


/* Brand */

.nq-footer-brand {
    max-width: 360px;
}

.nq-footer-logo {
    width: 105px;
    height: auto;
    display: block;
    margin-bottom: 18px;
}

.nq-footer-brand h4 {
    margin: 0 0 14px;
    color: #ffffff;
    font-size: 21px;
    font-weight: 700;
    letter-spacing: 0.2px;
}

.nq-footer-brand p {
    margin: 0;
    color: #bdbdbd;
    font-size: 14px;
    line-height: 1.8;
}


/* Social Icons */

.nq-footer-social {
    display: flex;
    gap: 10px;
    margin-top: 25px;
}

.nq-footer-social a {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;

    color: #F2F2F2;

    border: 1px solid rgba(242, 242, 242, 0.22);
    border-radius: 50%;

    text-decoration: none;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.nq-footer-social a:hover {
    background: #A62934;
    border-color: #A62934;
    color: #ffffff;
    transform: translateY(-3px);
}


/* Footer Columns */

.nq-footer-column h5 {
    position: relative;

    margin: 0 0 23px;

    padding-bottom: 12px;

    color: #ffffff;

    font-size: 16px;
    font-weight: 700;
}

.nq-footer-column h5::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: 0;

    width: 34px;
    height: 2px;

    background: #BF2424;
}


/* Footer Links */

.nq-footer-column ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nq-footer-column ul li {
    margin-bottom: 10px;
}

.nq-footer-column ul li a {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    color: #bdbdbd;

    font-size: 14px;
    text-decoration: none;

    transition:
        color 0.2s ease,
        padding-left 0.2s ease;
}

.nq-footer-column ul li a i {
    color: #D98F8F;
    font-size: 10px;
}

.nq-footer-column ul li a:hover {
    color: #ffffff;
    padding-left: 4px;
}


/* Contact */

.nq-footer-contact {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nq-footer-contact > a,
.nq-footer-location {
    display: flex;
    align-items: center;
    gap: 13px;

    color: #bdbdbd;

    text-decoration: none;

    font-size: 14px;
    line-height: 1.4;
}

.nq-contact-icon {
    flex: 0 0 38px;

    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(166, 41, 52, 0.12);

    border: 1px solid rgba(191, 36, 36, 0.30);

    border-radius: 50%;

    color: #D98F8F;

    font-size: 14px;
}

.nq-footer-contact small {
    display: block;

    margin-bottom: 3px;

    color: #888888;

    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.nq-footer-contact > a:hover {
    color: #ffffff;
}

.nq-footer-contact > a:hover .nq-contact-icon {
    background: #A62934;
    border-color: #A62934;
    color: #ffffff;
}

.nq-whatsapp-icon {
    color: #25D366;
    border-color: rgba(37, 211, 102, 0.25);
    background: rgba(37, 211, 102, 0.07);
}


/* Bottom Bar */

.nq-footer-bottom {
    margin-top: 55px;
    padding: 22px 0;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    border-top: 1px solid rgba(242, 242, 242, 0.10);

    color: #888888;

    font-size: 12px;
}

.nq-footer-bottom strong {
    color: #bdbdbd;
    font-weight: 600;
}

.nq-footer-credit {
    white-space: nowrap;
}

.nq-footer-credit a {
    color: #D98F8F;
    font-weight: 600;
    text-decoration: none;
}

.nq-footer-credit a:hover {
    color: #ffffff;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 767px) {

    .nq-footer {
        padding-top: 55px;
    }

    .nq-footer-brand {
        max-width: 100%;
    }

    .nq-footer-bottom {
        margin-top: 40px;

        flex-direction: column;
        align-items: flex-start;

        line-height: 1.7;
    }

    .nq-footer-credit {
        white-space: normal;
    }

}


@media (max-width: 575px) {

    .nq-footer {
        padding-left: 10px;
        padding-right: 10px;
    }

    .nq-footer-brand h4 {
        font-size: 19px;
    }

}

/* =========================================================
   NQAMAKAZI FOOTER — SKY BLUE
========================================================= */

.nq-footer {
    background: #87CEEB !important;
    color: #0D0D0D !important;
}

/* Brand */

.nq-footer-brand h4 {
    color: #0D0D0D !important;
}

.nq-footer-brand p {
    color: #24343a !important;
}


/* Column Headings */

.nq-footer-column h5 {
    color: #0D0D0D !important;
}

.nq-footer-column h5::after {
    background: #A62934 !important;
}


/* Links */

.nq-footer-column ul li a {
    color: #24343a !important;
}

.nq-footer-column ul li a i {
    color: #A62934 !important;
}

.nq-footer-column ul li a:hover {
    color: #A62934 !important;
}


/* Contact */

.nq-footer-contact > a,
.nq-footer-location {
    color: #24343a !important;
}

.nq-footer-contact small {
    color: #40545c !important;
}

.nq-contact-icon {
    color: #A62934 !important;
    background: rgba(255, 255, 255, 0.45) !important;
    border-color: rgba(166, 41, 52, 0.30) !important;
}

.nq-footer-contact > a:hover .nq-contact-icon {
    background: #A62934 !important;
    border-color: #A62934 !important;
    color: #ffffff !important;
}


/* Social Icons */

.nq-footer-social a {
    color: #0D0D0D !important;
    border-color: rgba(13, 13, 13, 0.30) !important;
}

.nq-footer-social a:hover {
    background: #A62934 !important;
    border-color: #A62934 !important;
    color: #ffffff !important;
}


/* Bottom */

.nq-footer-bottom {
    border-top: 1px solid rgba(13, 13, 13, 0.18) !important;
    color: #40545c !important;
}

.nq-footer-bottom strong {
    color: #0D0D0D !important;
}

.nq-footer-credit a {
    color: #A62934 !important;
}

.nq-footer-credit a:hover {
    color: #BF2424 !important;
}

/* FORCE LARGER NQAMAKAZI LOGO */
a.nqtop-logo,
.nqtop-logo {
    height: 125px !important;
    min-height: 125px !important;
    max-height: none !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
    flex-shrink: 0 !important;
}

a.nqtop-logo img,
.nqtop-logo img,
a.nqtop-logo > img {
    height: 115px !important;
    min-height: 115px !important;
    max-height: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    object-fit: contain !important;
    transform: scale(1.2) !important;
    transform-origin: left center !important;
}

#main-navbar,
#main-navbar .container,
#main-navbar .container-fluid,
#main-navbar .navbar-collapse {
    overflow: visible !important;
}


/* FLOATING CIRCULAR WHATSAPP BUTTON */
.nq-floating-whatsapp {
position: fixed !important;
right: 25px !important;
bottom: 25px !important;
width: 65px !important;
height: 65px !important;
background: #25D366 !important;
color: #ffffff !important;
border-radius: 50% !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
font-size: 36px !important;
text-decoration: none !important;
box-shadow: 0 5px 18px rgba(0, 0, 0, 0.25) !important;
z-index: 99999 !important;
transition: all 0.3s ease !important;
}

.nq-floating-whatsapp i {
color: #ffffff !important;
line-height: 1 !important;
}

.nq-floating-whatsapp:hover {
background: #128C7E !important;
color: #ffffff !important;
transform: scale(1.1) !important;
}

/* MOBILE POSITIONING */
@media (max-width: 576px) {
.nq-floating-whatsapp {
width: 58px !important;
height: 58px !important;
font-size: 32px !important;
right: 18px !important;
bottom: 18px !important;
}
}

/* =========================================================
NQAMAKAZI FOOTER — INCREASE TEXT AND ELEMENT SIZES
========================================================= */

/* Footer base text */
.nq-premium-footer {
font-size: 16px !important;
line-height: 1.8 !important;
}

/* Footer top layout */
.nq-premium-footer .nq-footer-top {
gap: 45px !important;
}

/* Company label */
.nq-premium-footer .nq-footer-label {
font-size: 14px !important;
letter-spacing: 1.5px !important;
line-height: 1.7 !important;
}

/* Main footer heading */
.nq-premium-footer .nq-footer-intro h2 {
font-size: 36px !important;
line-height: 1.25 !important;
margin-bottom: 20px !important;
font-weight: 700 !important;
}

/* Company introduction paragraph */
.nq-premium-footer .nq-footer-intro p {
font-size: 16px !important;
line-height: 1.9 !important;
max-width: 380px !important;
}

/* Column headings */
.nq-premium-footer .nq-footer-links h3,
.nq-premium-footer .nq-footer-contact h3 {
font-size: 20px !important;
line-height: 1.4 !important;
margin-bottom: 22px !important;
font-weight: 700 !important;
}

/* Footer links */
.nq-premium-footer .nq-footer-links a {
font-size: 16px !important;
line-height: 1.7 !important;
margin-bottom: 12px !important;
gap: 12px !important;
}

/* Explore link numbers */
.nq-premium-footer .nq-footer-links a span {
font-size: 14px !important;
}

/* Contact rows */
.nq-premium-footer .nq-footer-contact-row {
font-size: 15px !important;
line-height: 1.8 !important;
gap: 14px !important;
margin-bottom: 20px !important;
align-items: flex-start !important;
}

/* Contact labels */
.nq-premium-footer .nq-footer-contact-row small {
display: block !important;
font-size: 12px !important;
line-height: 1.6 !important;
letter-spacing: 1.2px !important;
margin-bottom: 4px !important;
font-weight: 700 !important;
}

/* Contact icon containers */
.nq-premium-footer .nq-footer-icon {
width: 45px !important;
min-width: 45px !important;
height: 45px !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
font-size: 19px !important;
}

/* Start Your Project button */
.nq-premium-footer .nq-footer-project-btn {
font-size: 16px !important;
padding: 16px 25px !important;
min-height: 54px !important;
gap: 12px !important;
}

/* Social media buttons */
.nq-premium-footer .nq-footer-socials a {
width: 45px !important;
height: 45px !important;
font-size: 19px !important;
}

/* Footer statement */
.nq-premium-footer .nq-footer-statement {
padding: 25px 0 !important;
gap: 25px !important;
}

.nq-premium-footer .nq-footer-statement span {
font-size: 14px !important;
letter-spacing: 2px !important;
font-weight: 700 !important;
}

/* Footer copyright and designer credit */
.nq-premium-footer .nq-footer-bottom p {
font-size: 14px !important;
line-height: 1.8 !important;
}

/* Mobile adjustments */
@media (max-width: 768px) {

```
.nq-premium-footer .nq-footer-top {
    gap: 32px !important;
}

.nq-premium-footer .nq-footer-intro h2 {
    font-size: 30px !important;
}

.nq-premium-footer .nq-footer-links h3,
.nq-premium-footer .nq-footer-contact h3 {
    font-size: 19px !important;
}

.nq-premium-footer .nq-footer-links a {
    font-size: 16px !important;
}

.nq-premium-footer .nq-footer-contact-row {
    font-size: 15px !important;
}

.nq-premium-footer .nq-footer-statement {
    flex-wrap: wrap !important;
    gap: 15px 22px !important;
}

.nq-premium-footer .nq-footer-statement span {
    font-size: 12px !important;
}

.nq-premium-footer .nq-footer-bottom p {
    font-size: 13px !important;
}
```

}

/* =========================================================
NQAMAKAZI FOOTER — REDUCE OVERALL HEIGHT
========================================================= */

/* Reduce footer outer spacing */
.nq-premium-footer {
padding-top: 35px !important;
padding-bottom: 15px !important;
}

/* Tighten footer columns */
.nq-premium-footer .nq-footer-top {
gap: 28px !important;
padding-top: 0 !important;
padding-bottom: 20px !important;
}

/* Reduce company introduction spacing */
.nq-premium-footer .nq-footer-intro h2 {
margin-top: 10px !important;
margin-bottom: 12px !important;
line-height: 1.2 !important;
}

.nq-premium-footer .nq-footer-intro p {
line-height: 1.6 !important;
margin-bottom: 16px !important;
}

/* Reduce column heading spacing */
.nq-premium-footer .nq-footer-links h3,
.nq-premium-footer .nq-footer-contact h3 {
margin-top: 0 !important;
margin-bottom: 14px !important;
}

/* Reduce space between links */
.nq-premium-footer .nq-footer-links a {
margin-bottom: 6px !important;
line-height: 1.5 !important;
}

/* Compact contact details */
.nq-premium-footer .nq-footer-contact-row {
margin-bottom: 12px !important;
line-height: 1.5 !important;
gap: 10px !important;
}

.nq-premium-footer .nq-footer-contact-row small {
margin-bottom: 2px !important;
line-height: 1.4 !important;
}

/* Slightly reduce contact icon boxes */
.nq-premium-footer .nq-footer-icon {
width: 38px !important;
min-width: 38px !important;
height: 38px !important;
font-size: 17px !important;
}

/* Reduce button height */
.nq-premium-footer .nq-footer-project-btn {
min-height: 46px !important;
padding: 12px 20px !important;
}

/* Compact social icons */
.nq-premium-footer .nq-footer-socials a {
width: 38px !important;
height: 38px !important;
font-size: 17px !important;
}

/* Reduce statement strip height */
.nq-premium-footer .nq-footer-statement {
padding: 15px 0 !important;
gap: 18px !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
}

/* Reduce bottom copyright area */
.nq-premium-footer .nq-footer-bottom {
padding-top: 12px !important;
padding-bottom: 0 !important;
margin-top: 0 !important;
gap: 10px !important;
}

.nq-premium-footer .nq-footer-bottom p {
margin-top: 0 !important;
margin-bottom: 0 !important;
line-height: 1.5 !important;
}

/* Mobile spacing */
@media (max-width: 768px) {
.nq-premium-footer {
padding-top: 28px !important;
padding-bottom: 12px !important;
}

```
.nq-premium-footer .nq-footer-top {
    gap: 24px !important;
    padding-bottom: 15px !important;
}

.nq-premium-footer .nq-footer-statement {
    padding: 12px 0 !important;
}
```

}


/* =========================================================
   NATHANS HANDY HANDS — SMALL MOBILE HERO TEXT
========================================================= */

@media screen and (max-width: 463px) {

    body section.nq-main-hero .nq-main-hero-content h1 {
        font-size: 27px !important;
        line-height: 1.15 !important;
        margin-bottom: 15px !important;
    }

    body section.nq-main-hero .nq-main-hero-content h1 strong {
        font-size: 27px !important;
        line-height: 1.15 !important;
    }

    body section.nq-main-hero .nq-main-hero-content > p {
        font-size: 12px !important;
        line-height: 1.5 !important;
        max-width: 100% !important;
    }

    body section.nq-main-hero .nq-main-hero-eyebrow {
        font-size: 9px !important;
        letter-spacing: 1px !important;
        gap: 7px !important;
    }

    body section.nq-main-hero .nq-main-hero-eyebrow span {
        width: 23px !important;
    }

    body section.nq-main-hero .nq-main-hero-btn {
        font-size: 11px !important;
        min-height: 42px !important;
        padding: 0 12px !important;
        gap: 6px !important;
    }

    body section.nq-main-hero .nq-main-hero-trust {
        font-size: 10px !important;
        gap: 10px !important;
        margin-top: 20px !important;
    }

    body section.nq-main-hero .nq-main-hero-trust i {
        font-size: 10px !important;
    }

}

.nqtop-navigation .nqtop-logo {
    display: flex !important;
    align-items: center !important;
}

.nqtop-navigation .nqtop-logo img {
    width: 150px !important;
    height: auto !important;
    max-width: 150px !important;
    max-height: 105px !important;
    object-fit: contain !important;
}
/* REMOVE LINE ABOVE SERVICES DROPDOWN */
.nqtop-services,
.nqtop-services-button,
.nqtop-services-menu {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.nqtop-services-menu {
    border-top: 0 !important;
    margin-top: 0 !important;
}

.nqtop-services-menu::before,
.nqtop-services-menu::after,
.nqtop-services::before,
.nqtop-services::after {
    display: none !important;
    content: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* REMOVE RED LINE ABOVE SERVICES DROPDOWN */

.nqtop-navigation .nqtop-services-menu,
.nqtop-navigation .nqtop-services-menu.nqtop-services-open {
    border-top: none !important;
    border: none !important;
}

.nqtop-navigation .nqtop-services-menu::before,
.nqtop-navigation .nqtop-services-menu::after {
    display: none !important;
    content: none !important;
}
/* SERVICES DROPDOWN — BURGUNDY BACKGROUND */

.nqtop-navigation .nqtop-services-menu {
    background: #A60D36 !important;
    border: none !important;
    box-shadow: 0 18px 45px rgba(0,0,0,0.20) !important;
}

.nqtop-navigation .nqtop-services-menu a {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    background: transparent !important;
}

.nqtop-navigation .nqtop-services-menu a span {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

.nqtop-navigation .nqtop-services-menu a:hover {
    background: rgba(255,255,255,0.15) !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

/* WENDY HOUSE — PRICE VISIBILITY FIX */
.nqbuilding-project-price {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    margin-top: 20px !important;
    padding: 14px 18px !important;
    background: #f5f5f5 !important;
    border-left: 4px solid #F24607 !important;
    width: 100% !important;
    min-height: 65px !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 5 !important;
}

.nqbuilding-project-price small {
    display: block !important;
    color: #666666 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 5px !important;
}

.nqbuilding-project-price strong {
    display: block !important;
    color: #F24607 !important;
    font-size: 23px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    visibility: visible !important;
    opacity: 1 !important;
}




/* =========================================================
   NATHANS HANDY HANDS — PRICE LIST SECTION
========================================================= */

.nq-price-section {
    padding: 85px 0;
    background: #ffffff;
}

.nq-price-card {
    display: grid;
    grid-template-columns: 1.4fr 0.6fr;
    align-items: center;
    background: #f7f7f5;
    border: 1px solid #eaeaea;
    border-radius: 18px;
    overflow: hidden;
}

.nq-price-content {
    padding: 55px;
}

.nq-price-kicker {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #F24607;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 18px;
}

.nq-price-kicker span {
    width: 27px;
    height: 3px;
    background: #F24607;
}

.nq-price-content h2 {
    color: #171717;
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 18px;
}

.nq-price-content h2 strong {
    color: #F24607;
}

.nq-price-content p {
    color: #666666;
    font-size: 15px;
    line-height: 1.8;
    max-width: 600px;
    margin-bottom: 28px;
}

.nq-price-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
}

.nq-price-view,
.nq-price-download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 23px;
    border-radius: 5px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: all 0.3s ease;
}

.nq-price-view {
    background: #F24607;
    color: #ffffff;
}

.nq-price-view:hover {
    background: #d83c05;
    color: #ffffff;
    transform: translateY(-3px);
}

.nq-price-download {
    background: #171717;
    color: #ffffff;
}

.nq-price-download:hover {
    background: #333333;
    color: #ffffff;
    transform: translateY(-3px);
}

.nq-price-note {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #777777;
    font-size: 12px;
    margin-top: 25px;
}

.nq-price-note i {
    color: #F24607;
}

.nq-price-visual {
    min-height: 330px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eeeeeb;
    padding: 35px;
}

.nq-price-document {
    width: 190px;
    min-height: 235px;
    padding: 30px 20px;
    background: #ffffff;
    border-radius: 7px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.10);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    transform: rotate(3deg);
}

.nq-price-document i {
    font-size: 48px;
    color: #F24607;
    margin-bottom: 22px;
}

.nq-price-document strong {
    color: #171717;
    font-size: 15px;
    font-weight: 800;
}

.nq-price-document span {
    color: #F24607;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-top: 5px;
}

.nq-price-document small {
    color: #888888;
    font-size: 10px;
    letter-spacing: 2px;
    margin-top: 20px;
}

/* RESPONSIVE */

@media (max-width: 767px) {

    .nq-price-section {
        padding: 55px 0;
    }

    .nq-price-card {
        grid-template-columns: 1fr;
    }

    .nq-price-content {
        padding: 35px 25px;
    }

    .nq-price-visual {
        min-height: 270px;
    }

    .nq-price-actions {
        flex-direction: column;
    }

    .nq-price-view,
    .nq-price-download {
        width: 100%;
    }

}



.nq-price-section {
    padding: 40px 0 !important;
}

.nq-price-content {
    padding: 30px 40px !important;
}

.nq-price-visual {
    min-height: 230px !important;
    padding: 20px !important;
}

.nq-price-document {
    min-height: 190px !important;
    width: 160px !important;
    padding: 20px !important;
}

.nq-price-document i {
    font-size: 38px !important;
    margin-bottom: 12px !important;
}

.nq-price-note {
    margin-top: 15px !important;
}

@media (max-width: 767px) {
    .nq-price-section {
        padding: 30px 0 !important;
    }

    .nq-price-content {
        padding: 25px 20px !important;
    }

    .nq-price-visual {
        min-height: 200px !important;
    }
}

/* WENDY HOUSE — PRICE STYLING */
.nqbuilding-project-price {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    margin-top: 20px !important;
    padding: 12px 0 !important;
    background: transparent !important;
    border-left: none !important;
    width: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.nqbuilding-project-price small {
    display: block !important;
    color: #666666 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 5px !important;
}

.nqbuilding-project-price strong {
    display: block !important;
    color: #F24607 !important;
    font-size: 23px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    visibility: visible !important;
    opacity: 1 !important;
}