@import url('https://fonts.googleapis.com/css2?family=Audiowide&family=Urbanist:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --primary-color: #18325B;
    --secondary-color: #FDB929;
}

/*-----------------------------------
 Universal Styling
------------------------------------*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Urbanist", sans-serif;
}

a {
    text-decoration: none !important;
}



    /* =================================
       Header Start
    ================================= */
    .header-main {
      width: 100%;
      background: #fff;
      border-bottom: 1px solid #ececec;
      position: relative;
      z-index: 999;
    }

    .header-navbar {
      padding: 18px 0;
      transition: all 0.3s ease;
    }

    .header-sticky {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      background: #fff;
      box-shadow: 0 10px 30px rgba(0,0,0,0.1);
      animation: slideDown 0.5s ease forwards;
    }

    .header-sticky .header-navbar {
      padding: 10px 0;
    }

    @keyframes slideDown {
      from { transform: translateY(-100%); }
      to { transform: translateY(0); }
    }

    /* =================================
       Logo
    ================================= */
    .header-logo {
      position: relative;
      padding-right: 40px;
      margin-right: 30px;
    }

    .header-logo::after {
      content: "";
      position: absolute;
      top: -25px;
      right: 0;
      width: 1px;
      height: 95px;
      /* border-right:2px dashed #2f7cf6; */
    }

    .header-logo-img {
      max-width: 180px;
      height: auto;
    }

    /* =================================
       Navbar
    ================================= */
    .header-nav-list {
      gap: 10px;
    }

    .header-nav-item {
      position: relative;
    }

    .header-nav-link{
      color: #222 !important;
      font-size: 17px;
      font-weight: 500;
      padding: 10px 4px !important;
      position: relative;
      transition: all .3s ease;
    }

    .header-nav-link:hover,
    .header-nav-link.active{
      color: var(--primary-color) !important;
    }

    .header-nav-link::before
{
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 0%;
      height: 2px;
      background: var(--secondary-color);
      transition: all .3s ease;
    }

    .header-nav-link:hover::before,
    .header-nav-link.active::before,
.current-menu-item a{
      width: 100%;
    }

    /* =================================
       Dropdown
    ================================= */
    .header-dropdown {
      position: relative;
    }

    .header-dropdown-toggle {
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .header-dropdown-toggle::after {
      content: "\F282";
      font-family: "bootstrap-icons";
      border: none;
      font-size: 11px;
      font-weight: 700;
      margin-left: 6px !important;
      transition: transform 0.3s ease;
      display: inline-block;
      vertical-align: middle;
    }

    .header-dropdown:hover .header-dropdown-toggle::after,
    .header-dropdown.show .header-dropdown-toggle::after {
      transform: rotate(180deg);
    }

    .header-dropdown-menu {
      border: none;
      min-width: 250px;
      border-radius: 10px;
      overflow: hidden;
      background: #fff;

      box-shadow:
        0 10px 25px rgba(0, 0, 0, 0.08),
        0 5px 10px rgba(0, 0, 0, 0.04);

      padding: 8px 0;
    }

    .header-dropdown-item {
      padding: 14px 22px;
      font-size: 15px;
      font-weight: 500;
      color: #222;
      transition: all .3s ease;
      border-bottom: 1px solid #f1f1f1;
    }

    .header-dropdown-item:last-child {
      border-bottom: none;
    }

    .header-dropdown-item:hover {
      background: var(--primary-color);
      color: #fff;
      padding-left: 30px;
    }

    /* =================================
       Desktop Hover Dropdown
    ================================= */
    @media (min-width:992px) {

      .header-dropdown-menu {
        position: absolute;
        top: 100%;
        left: 0;

        opacity: 0;
        visibility: hidden;
        transform: translateY(15px);

        transition:
          opacity .35s ease,
          transform .35s ease,
          visibility .35s ease;

        display: block;
        pointer-events: none;
        margin-top: 20px;
      }

      .header-dropdown:hover .header-dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
      }

      /* Hover gap fix */
      .header-dropdown::before {
        content: "";
        position: absolute;
        left: 0;
        top: 100%;
        width: 100%;
        height: 25px;
      }
    }

    /* =================================
       Button
    ================================= */
    .header-btn-wrapper {
      margin-left: 20px;
    }

    .header-quote-btn {
      background: var(--secondary-color);
      color: var(--primary-color);
      border: 2px solid var(--secondary-color);
      padding: 12px 30px;
      border-radius: 0;
      font-weight: 600;
      transition: all .3s ease;
    }

    .header-quote-btn:hover {
      background: transparent;
      border-color: var(--primary-color);
      color: var(--primary-color);
    }

    /* =================================
       Mobile Toggle
    ================================= */
    .header-toggler {
      border: none;
      box-shadow: none !important;
      padding: 0;
    }

    .header-toggler-icon {
      width: 30px;
      height: 2px;
      background: var(--primary-color);
      display: inline-block;
      position: relative;
    }

    .header-toggler-icon::before,
    .header-toggler-icon::after {
      content: "";
      position: absolute;
      left: 0;
      width: 30px;
      height: 2px;
      background: var(--primary-color);
    }

    .header-toggler-icon::before {
      top: -8px;
    }

    .header-toggler-icon::after {
      top: 8px;
    }

    /* =================================
       Responsive
    ================================= */
    @media (max-width:991px) {

      .header-navbar {
        padding: 15px 0;
      }

      .header-logo {
        padding-right: 0;
        margin-right: 0;
      }

      .header-logo::after {
        display: none;
      }

      .header-collapse {
        background: #fff;
        margin-top: 20px;
        padding: 20px;
        border-top: 1px solid #eee;
      }

      .header-nav-list {
        gap: 0;
      }

      .header-nav-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 0 !important;
      }

      /* Mobile Dropdown */
      .header-dropdown-menu {
        position: static !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;

        width: 100%;
        margin-top: 10px;
        border-radius: 8px;
        background: #f8f9fa;
        box-shadow: none;
        display: none;
      }

      .header-dropdown-menu.show {
        display: block;
      }

      .header-dropdown-item {
        padding: 12px 18px;
      }

      .header-btn-wrapper {
        margin-left: 0;
        margin-top: 20px;
      }

      .header-quote-btn {
        width: 100%;
        text-align: center;
      }
    }

    @media (max-width:575px) {

      .header-logo-img {
        max-width: 145px;
      }

      .header-nav-link {
        font-size: 15px;
      }

      .header-quote-btn {
        padding: 11px 20px;
      }
    }


/* =========================================
   HERO SECTION
========================================= */

.hero-banner {
    padding: 80px 0;
    overflow: hidden;
}

.hero-content {
    max-width: 540px;
}

.hero-subtitle {
    font-size: 25px;
    font-weight: 600;
    color: var(--secondary-color);
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 15px;
    font-family: 'Audiowide', sans-serif;
}

.hero-title {
/*     font-size: 78px; */
    line-height: 1.05;
    font-weight: 400;
    color: var(--primary-color);
    text-transform: uppercase;
    margin-bottom: 25px;
    font-family: 'Audiowide', sans-serif;
}

.hero-description {
    line-height: 2;
    color: var(--primary-color);
    font-weight: 600;
    margin-bottom: 35px;
}

.hero-btn-group {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}

.hero-btn-primary,
.hero-btn-secondary {
    padding: 14px 28px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: 0.3s ease;
}

.hero-btn-primary {
    background: var(--secondary-color);
    color: #111;
}

.hero-btn-primary:hover {
    background: var(--primary-color);
    color: #fff;
    transform: translateY(-3px);
}

.hero-btn-secondary {
    background: var(--primary-color);
    color: #fff;
}

.hero-btn-secondary:hover {
    background: var(--secondary-color);
    color: #111;
    transform: translateY(-3px);
}

.hero-review {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.google-icon {
    font-size: 28px;
    font-weight: 700;
    color: #EA4335;
}

.hero-stars {
    color: var(--secondary-color);
    letter-spacing: 2px;
}

.hero-review-text {
    color: var(--primary-color);
    font-weight: 600;
    font-size: 14px;
}

/* =========================================
   BEFORE AFTER SLIDER
========================================= */

.hero-before-after-wrapper {
    position: relative;
    width: 100%;
    height: 620px;
    overflow: hidden;
    border-radius: 6px;
    user-select: none;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.hero-before-after-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

/* BEFORE */
.hero-before-img {
    position: absolute;
    inset: 0;
}

/* AFTER */
.hero-after-img {
    position: absolute;
    inset: 0;
    width: 50%;
    overflow: hidden;
    z-index: 2;
}

/* LINE */
.hero-drag-line {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 3px;
    height: 100%;
    background: #fff;
    z-index: 5;
    cursor: ew-resize;
}

/* CIRCLE */
.hero-drag-circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--primary-color);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

/* LABELS */
.hero-label {
    position: absolute;
    bottom: 20px;
    padding: 10px 28px;
    font-size: 15px;
    font-weight: 600;
    z-index: 10;
}

.hero-before-label {
    left: 20px;
    background: var(--primary-color);
    color: #fff;
}

.hero-after-label {
    right: 20px;
    background: var(--secondary-color);
    color: #111;
}

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

@media(max-width:1199px) {

    .hero-title {
        font-size: 62px;
    }

    .hero-before-after-wrapper {
        height: 540px;
    }
}

@media(max-width:991px) {

    .hero-banner {
        padding: 60px 0;
    }

    .hero-content {
        max-width: 100%;
    }

    .hero-title {
        font-size: 54px;
    }

    .hero-before-after-wrapper {
        height: 500px;
    }
}

@media(max-width:767px) {

    .hero-title {
        font-size: 40px;
    }

    .hero-subtitle {
        font-size: 16px;
    }

    .hero-description {
        font-size: 14px;
        line-height: 1.8;
    }

    .hero-btn-group {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-btn-primary,
    .hero-btn-secondary {
        width: 100%;
        justify-content: center;
    }

    .hero-before-after-wrapper {
        height: 380px;
    }

    .hero-drag-circle {
        width: 50px;
        height: 50px;
        font-size: 18px;
    }

    .hero-label {
        padding: 8px 18px;
        font-size: 13px;
    }
}


/* =========================
       ABOUT SECTION
    ========================== */
.about-section {
    padding: 90px 0;
    background: var(--light-bg);
    overflow: hidden;
    position: relative;
}

.about-section .about-image-wrapper {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    /* transform: perspective(1000px) rotateY(-6deg); */
    transition: 0.5s ease;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.18);
}

.about-section .about-image-wrapper:hover {
    transform: perspective(1000px) rotateY(0deg) scale(1.02);
}

.about-section .about-image {
    width: 100%;
    height: 513px;

    object-fit: cover;
    display: block;
}

.about-section .small-title {
    color: var(--secondary-color);
    font-size: 25px;
    font-weight: 600;
    margin-bottom: 12px;
    text-transform: capitalize;
    letter-spacing: 1px;
    font-family: "Audiowide", sans-serif;
}

.about-section .main-title {
    font-family: "Audiowide", sans-serif;
    color: var(--primary-color);
    font-size: 58px;
    line-height: 1.1;
    font-weight: 700;
    margin-bottom: 25px;
}

.about-section .description {
    color: var(--primary-color-color);
    line-height: 2;
    margin-bottom: 35px;
    font-weight: 600;
}

.about-section .btn-group-custom {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
}

.about-section .quote-btn,
.about-section .phone-btn {
    padding: 14px 32px;
    border: none;
    text-decoration: none;
    font-weight: 600;
    transition: 0.4s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.about-section .quote-btn {
    background: var(--secondary-color);
    color: #111;
}

.about-section .quote-btn:hover {
    background: var(--primary-color);
    color: #fff;
    transform: translateY(-3px);
}

.about-section .phone-btn {
    background: var(--primary-color);
    color: #fff;
}

.about-section .phone-btn:hover {
    background: var(--secondary-color);
    color: #111;
    transform: translateY(-3px);
}

/* Decorative Shape */
.about-section::before {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    background: rgba(244, 178, 35, 0.08);
    border-radius: 50%;
    top: -80px;
    right: -80px;
    z-index: 0;
}

.about-section .container {
    position: relative;
    z-index: 2;
}

/* Responsive */
@media (max-width: 991px) {
    .about-section {
        padding: 70px 0;
    }

    .about-section .main-title {
        font-size: 42px;
    }

    .about-section .content-col {
        margin-top: 40px;
    }
}

@media (max-width: 767px) {
    .about-section .main-title {
        font-size: 34px;
    }

    .about-section .description {
        font-size: 14px;
        line-height: 1.8;
    }

    .about-section .btn-group-custom {
        flex-direction: column;
        align-items: flex-start;
    }

    .about-section .quote-btn,
    .about-section .phone-btn {
        width: 100%;
    }
}

/*-----------------------------------
Featured Section Styling
------------------------------------*/


.featured-section {
    /* background:linear-gradient(
        to bottom,
        #f2f2f2 0%,
        #f2f2f2 55%,
        var(--primary-color) 55%,
        var(--primary-color) 100%
    ); */

    padding: 50px 0 30px;
    position: relative;
    overflow: hidden;
    transform: translateY(50%);
    margin-top: -15%;

}
@media screen and (max-width:768px){
    .featured-section {
          transform:unset;
    margin-top: unset;
    }
}
/* Feature Box */
.featured-section .featured-box-wrapper {
    background: var(--primary-color);
    padding: 20px;
    height: 100%;

}

.featured-section .featured-box {
    /* background:var(--primary-color); */
    border: 1px solid #D9D9D942;
    padding: 20px;
    position: relative;
    transition: 0.4s ease;
    overflow: hidden;
    border-radius: 5px;

    /* Animation */
    opacity: 0;
    transform: translateY(60px);
    animation: fadeUp 1s ease forwards;
}

/* Delays */
.featured-section .col-lg-4:nth-child(1) .featured-box {
    animation-delay: .2s;
}

.featured-section .col-lg-4:nth-child(2) .featured-box {
    animation-delay: .4s;
}

.featured-section .col-lg-4:nth-child(3) .featured-box {
    animation-delay: .6s;
}

/* Hover Effect */
.featured-section .featured-box:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}

/* Light Shine Effect */
.featured-section .featured-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(120deg,
            transparent,
            rgba(255, 255, 255, 0.08),
            transparent);
    transition: .7s;
}

.featured-section .featured-box:hover::before {
    left: 100%;
}

/* Icon */
.featured-section .featured-icon {
    color: var(--secondary-color);
    font-size: 2rem;
    margin-bottom: 15px;
}

/* Content */
.featured-section .featured-content h3,
.featured-section .featured-content-title {
    color: #fff;
    font-size: 25px;
    font-weight: 400;
    /* margin-bottom:15px; */
    line-height: 1.2;
    font-family: "Audiowide", sans-serif;
    margin-left: 10px;
}

.featured-section .featured-content p {
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.8;
    margin: 0;
}

/* Animation */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(60px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================
   RESPONSIVE
========================= */
@media(max-width:991px) {

    .featured-section {
        background: var(--primary-color);
        padding: 60px 0;
    }

    .featured-section .featured-box {
        margin-bottom: 10px;
    }
}

@media(max-width:767px) {

    .featured-section {
        padding: 50px 0;
    }

    .featured-section .featured-box {
        padding: 25px 20px;
    }

    .featured-section .featured-content h3 {
        font-size: 1.5rem;
    }

    .featured-section .featured-icon {
        font-size: 1.7rem;
    }
}

/*-----------------------------------
Services Section Styling
------------------------------------*/

.services {
    /* background:#f3f3f3; */
    overflow: hidden;

}

.services .container-fluid {
    background: #2D5EAC;
    padding-top: 11%;

}

/* Heading */
.services .sub-title {
    color: var(--secondary-color);
    font-size: 25px;
    font-weight: 400;
    display: block;
    margin-bottom: 10px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-family: "Audiowide", sans-serif;
}

.services .main-title {
    color: #fff;
    font-size: 65px;
    font-weight: 400;
    line-height: 1.2;
    font-family: "Audiowide", sans-serif;
}

/* Service Box */
.services .service-box {
    background: #EFEFEF;
    margin-bottom: 30px;
    overflow: hidden;
    transition: 0.4s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);

    /* Animation */
    opacity: 0;
    transform: translateY(60px);
    animation: fadeUp 1s ease forwards;
}

.services .service-box:nth-child(2) {
    animation-delay: .2s;
}

.services .service-box:nth-child(3) {
    animation-delay: .4s;
}

/* Hover Effect */
.services .service-box:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

/* Image */
.services .service-image {
    overflow: hidden;
    height: 100%;
}

.services .service-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.6s ease;
}

@media screen and (min-width:991px) {
    .services .service-image img {
        height: 379px;
        width: 100%;
        object-fit: cover;
    }
}

.services .service-box:hover img {
    transform: scale(1.08);
}

/* Content */
.services .service-content {
    padding: 50px;
}

.services .service-content h3 {
    color: var(--primary-color);
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 700;
    margin-bottom: 20px;
    font-family: "Audiowide", sans-serif;
}

.services .service-content p {
    color: var(--primary-color);
    line-height: 1.9;
    margin-bottom: 25px;
    font-weight: 600;
}

/* Button */
.services .service-btn {
    background: var(--primary-color);
    color: #fff;
    padding: 12px 28px;
    border-radius: 0;
    font-weight: 600;
    transition: 0.4s ease;
}

.services .service-btn:hover {
    background: var(--secondary-color);
    color: #000;
    transform: translateY(-3px);
}

/* Animation */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(60px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================
   RESPONSIVE
========================= */
@media(max-width:991px) {

    .services .service-content {
        padding: 35px;
        text-align: center;
    }

    .services .service-image img {
        height: 350px;
    }
}

@media(max-width:767px) {

    .services {
        padding: 60px 0;
    }

    .services .main-title {
        font-size: 2.3rem;
    }

    .services .service-content {
        padding: 25px;
    }

    .services .service-content h3 {
        font-size: 2rem;
    }

    .services .service-image img {
        height: 250px;
    }
}


/*-----------------------------------
Projects Section Styling
------------------------------------*/

.projects {
    /* background: linear-gradient(to right, #f3f3f3 50%, #8c8c8c 100%); */
    overflow: hidden;
    position: relative;
}

/* LEFT CONTENT */
.projects .projects-content {
    animation: fadeLeft 1s ease;
}

.projects .projects-subtitle {
    color: var(--secondary-color);
    font-size: 24px;
    font-weight: 400;
    display: inline-block;
    margin-bottom: 10px;
    position: relative;
    font-family: "Audiowide", sans-serif;
}

.projects .projects-subtitle::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 60px;
    height: 3px;
    background: var(--secondary-color);
}

.projects .projects-title {
    font-size: 40px;
    font-weight: 400;
    color: var(--primary-color);
    line-height: 1.1;
    margin-bottom: 20px;
    font-family: "Audiowide", sans-serif;
}

.projects .projects-content p {
    font-size: 17px;
    color: var(--primary-color);
    font-weight: 600;

    line-height: 1.9;
    margin-bottom: 35px;
}

/* BUTTON */
.projects .projects-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--secondary-color);
    color: #000;
    padding: 16px 32px;
    text-decoration: none;
    font-weight: 700;
    transition: 0.4s ease;
}

.projects .projects-btn span {
    transition: 0.4s ease;
}

.projects .projects-btn:hover {
    transform: translateY(-5px);
    color: #000;
}

.projects .projects-btn:hover span {
    transform: translateX(6px);
}

/* BEFORE AFTER WRAPPER */
.projects .before-after-wrapper {
    position: relative;
    width: 100%;
    height: 500px;
    overflow: hidden;
    border-radius: 14px;
    animation: fadeRight 1s ease;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.2);
}

.projects .before-after-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    user-select: none;
    pointer-events: none;
}

/* BEFORE IMAGE */
.projects .before-img {
    position: absolute;
    inset: 0;
}

/* AFTER IMAGE */
.projects .after-img {
    position: absolute;
    inset: 0;
    width: 50%;
    overflow: hidden;
    border-right: 3px solid #fff;
}

/* LABELS */
.projects .label {
    position: absolute;
    bottom: 20px;
    padding: 10px 24px;
    font-size: 16px;
    font-weight: 700;
    z-index: 5;
}

.projects .before-label {
    left: 20px;
    background: var(--primary-color);
    color: #fff;
}

.projects .after-label {
    right: 20px;
    background: var(--secondary-color);
    color: #000;
}

/* DRAG LINE */
.projects .drag-line {
    position: absolute;
    top: 0;
    left: 50%;
    width: 3px;
    height: 100%;
    background: #fff;
    transform: translateX(-50%);
    cursor: ew-resize;
    z-index: 10;
}

/* DRAG CIRCLE */
.projects .drag-circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: #fff;
    color: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    animation: pulse 2s infinite;
}

/* ANIMATIONS */
@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translateX(-80px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translateX(80px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
    }

    70% {
        box-shadow: 0 0 0 18px rgba(255, 255, 255, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
    }
}

/* RESPONSIVE */
@media (max-width: 991px) {

    .projects .projects-title {
        font-size: 42px;
    }

    .projects .before-after-wrapper {
        height: 400px;
    }
}

@media (max-width: 767px) {

    .projects .projects-title {
        font-size: 32px;
    }

    .projects .before-after-wrapper {
        height: 320px;
    }

    .projects .projects-btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 575px) {

    .projects .before-after-wrapper {
        height: 260px;
    }

    .projects .label {
        padding: 8px 16px;
        font-size: 14px;
    }

    .projects .drag-circle {
        width: 45px;
        height: 45px;
        font-size: 18px;
    }
}


/*-----------------------------------
Testimonials Styling
------------------------------------*/

.testimonial-section {
    overflow: hidden;
    position: relative;
}

/* HEADING */
.testimonial-section .testimonial-heading {
    animation: fadeUp 1s ease;
}

.testimonial-section .testimonial-subtitle {
    color: var(--secondary-color);
    font-size: 24px;
    font-weight: 400;
    display: inline-block;
    margin-bottom: 10px;
    position: relative;
    font-family: "Audiowide", sans-serif;
}

.testimonial-section .testimonial-subtitle::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 60px;
    height: 3px;
    background: var(--secondary-color);
}

.testimonial-section .testimonial-title {
    font-size: 40px;
    font-weight: 400;
    color: var(--primary-color);
    line-height: 1.2;
    max-width: 850px;
    font-family: "Audiowide", sans-serif;
}

/* CARD */
.testimonial-section .testimonial-card {
    background: #fff;
    border: 2px solid var(--primary-color);
    padding: 35px 30px;
    height: 100%;
    position: relative;
    transition: 0.5s ease;
    overflow: hidden;
    animation: fadeUp 1.2s ease;
    border-radius: 5px;
    z-index: 2;
}

.testimonial-section .testimonial-card::before {
    content: '';
    position: absolute;
    left: -100%;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 196, 0, 0.08);
    transition: 0.6s ease;
}

.testimonial-section .testimonial-card:hover::before {
    left: 100%;
}

.testimonial-section .testimonial-card:hover {
    transform: translateY(-10px);
    border-color: var(--secondary-color);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.testimonial-section .active-card {
    transform: translateY(-10px);
}

/* QUOTE */
.testimonial-section .quote-icon {
    font-size: 70px;
    color: var(--secondary-color);
    line-height: 1;
    font-weight: 700;
    margin-bottom: 15px;
    opacity: 0.3;
}

/* TEXT */
.testimonial-section .testimonial-card p {
    font-size: 17px;
    color: #666666;
    line-height: 1.5;
    margin-bottom: 35px;
    font-weight: 700;
}

/* USER */
.testimonial-section .testimonial-user {
    display: flex;
    align-items: center;
    gap: 15px;
}

/* GOOGLE ICON */
.testimonial-section .google-icon {
    width: 60px;
    height: 60px;
    min-width: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg,
            #4285F4 25%,
            #34A853 50%,
            #FBBC05 75%,
            #EA4335 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 32px;
    font-weight: 700;
    animation: floating 3s ease-in-out infinite;
}

/* USER INFO */
.testimonial-section .user-info h4 {
    font-size: 20px;
    margin: 0;
    color: var(--primary-color);
    font-weight: 700;
}

.testimonial-section .stars {
    color: #22c55e;
    font-size: 18px;
    letter-spacing: 2px;
    margin-top: 5px;
}

/* ANIMATIONS */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(60px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes floating {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-8px);
    }

    100% {
        transform: translateY(0px);
    }
}

/* RESPONSIVE */
@media (max-width: 1199px) {

    .testimonial-section .testimonial-title {
        font-size: 48px;
    }
}

@media (max-width: 991px) {

    .testimonial-section .testimonial-title {
        font-size: 40px;
    }

    .testimonial-section .testimonial-card {
        padding: 30px 25px;
    }
}

@media (max-width: 767px) {

    .testimonial-section .testimonial-title {
        font-size: 32px;
    }

    .testimonial-section .testimonial-subtitle {
        font-size: 20px;
    }

    .testimonial-section .testimonial-card p {
        font-size: 16px;
    }

    .testimonial-section .user-info h4 {
        font-size: 20px;
    }
}

@media (max-width: 575px) {

    .testimonial-section .testimonial-card {
        text-align: center;
    }

    .testimonial-section .testimonial-user {
        flex-direction: column;
    }

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


/*-----------------------------------
Process work Styling
------------------------------------*/
.process-work {
    position: relative;
    padding: 100px 0;
    overflow: hidden;

}

/* OVERLAY */
.process-work .process-overlay {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.55);
    background: linear-gradient(to right, rgba(255, 255, 255, 0.85)65%, rgba(0, 0, 0, 0.01));
    backdrop-filter: blur(2px);
}

/* HEADING */
.process-work .process-heading {
    position: relative;
    z-index: 2;
    animation: fadeUp 1s ease;
}

.process-work .process-subtitle {
    color: var(--secondary-color);
    font-size: 24px;
    font-weight: 400;
    display: inline-block;
    margin-bottom: 10px;
    position: relative;
    font-family: "Audiowide", sans-serif;
}

.process-work .process-subtitle::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 60px;
    height: 3px;
    background: var(--secondary-color);
}

.process-work .process-title {
    font-size: 40px;
    font-weight: 400;
    color: var(--primary-color);
    line-height: 1.1;
    margin: 0;
    font-family: "Audiowide", sans-serif;
}

/* CARDS */
.process-work .process-card {
    background: var(--primary-color);
    padding: 35px 20px;
    /* height: 100%; */
    position: relative;
    overflow: hidden;
    transition: 0.5s ease;
    z-index: 2;
    animation: fadeUp 1.2s ease;
}

.process-work .process-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: rgba(255, 196, 0, 0.1);
    transition: 0.5s ease;
}

.process-work .process-card:hover::before {
    left: 100%;
}

.process-work .process-card:hover {
    transform: translateY(-10px);
}

/* ICON */
.process-work .process-icon {
    width: 70px;
    height: 70px;
    background: var(--secondary-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    animation: floating 3s ease-in-out infinite;
}

.process-work .process-icon i {
    font-size: 30px;
    color: var(--primary-color);
}

/* CONTENT */
.process-work .process-card h3 {
    font-size: 25px;
    color: #fff;
    font-weight: 400;
    margin-bottom: 20px;
    line-height: 1.2;
    font-family: "Audiowide", sans-serif;
}

.process-work .process-card p {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.9;
    margin: 0;
}

/* BUTTON */
.process-work .process-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--secondary-color);
    color: #000;
    padding: 16px 35px;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 0.5px;
    transition: 0.4s ease;
    position: relative;
    z-index: 2;
    transform: translateY(-100px);
}

@media screen and (max-width:768px) {
    .process-work .process-btn {
        transform: unset;
    }
}

.process-work .process-btn span {
    transition: 0.4s ease;
}

.process-work .process-btn:hover {
    /* transform: translateY(-1px); */
    color: #000;
}

.process-work .process-btn:hover span {
    transform: translateX(6px);
}

/* ANIMATIONS */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(60px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes floating {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-8px);
    }

    100% {
        transform: translateY(0px);
    }
}

/* RESPONSIVE */
@media (max-width: 1199px) {

    .process-work .process-title {
        font-size: 50px;
    }

    .process-work .process-card h3 {
        font-size: 28px;
    }
}

@media (max-width: 991px) {

    .process-work {
        padding: 80px 0;
    }

    .process-work .process-title {
        font-size: 42px;
    }

    .process-work .process-card {
        padding: 30px 25px;
    }
}

@media (max-width: 767px) {

    .process-work {
        padding: 60px 0;
    }

    .process-work .process-title {
        font-size: 34px;
    }

    .process-work .process-subtitle {
        font-size: 20px;
    }

    .process-work .process-card h3 {
        font-size: 24px;
    }

    .process-work .process-btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 575px) {

    .process-work .process-card {
        text-align: center;
    }

    .process-work .process-icon {
        margin-left: auto;
        margin-right: auto;
    }

    .process-work .process-title {
        font-size: 30px;
    }
}

/*-----------------------------------
Services Areas Styling
------------------------------------*/

.services-areas {
    overflow: hidden;
    position: relative;
}

/* LEFT MAP */
.services-areas .services-map-wrapper {
    overflow: hidden;
    position: relative;
    animation: slideLeft 1s ease;
}

.services-areas .services-map-img {
    width: 100%;
    transition: 0.6s ease;
    border-radius: 8px;
}

.services-areas .services-map-wrapper:hover .services-map-img {
    transform: scale(1.06);
}

/* CONTENT */
.services-areas .services-content {
    animation: slideRight 1s ease;
}

.services-areas .services-subtitle {
    color: var(--secondary-color);
    font-size: 25px;
    font-weight: 400;
    margin-bottom: 10px;
    position: relative;
    font-family: "Audiowide", sans-serif;
    display: block;

}

.services-areas .services-subtitle::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 70px;
    height: 3px;
    background: var(--secondary-color);
}

/* TITLE */
.services-areas .services-title {
    font-size: 58px;
    font-weight: 800;
    color: var(--primary-color);
    line-height: 1;
    margin-bottom: 20px;
    position: relative;
    display: inline-block;

}

.services-areas .services-title::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 5px;
    width: 100%;
    height: 12px;
    background: rgba(255, 196, 0, 0.25);
    z-index: -1;
}

/* LIST */
.services-areas .services-list {
    padding: 0;
    margin: 0;
    list-style: none;
}

.services-areas .services-list li {
    font-size: 22px;
    color: var(--primary-color);
    margin-bottom: 18px;
    font-weight: 600;
    position: relative;
    padding-left: 20px;
    transition: 0.4s ease;
}

.services-areas .services-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--secondary-color);
    font-size: 24px;
    top: -2px;
}

.services-areas .services-list li:hover {
    transform: translateX(8px);
    color: var(--secondary-color);
}

/* BUTTONS */
.services-areas .services-btn-group {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-top: 25px;
}

.services-areas .services-btn {
    padding: 14px 28px;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 0.5px;
    transition: 0.4s ease;
    display: inline-block;
}

.services-areas .primary-btn {
    background: var(--secondary-color);
    color: #000;
}

.services-areas .secondary-btn {
    background: var(--primary-color);
    color: #fff;
}

.services-areas .services-btn:hover {
    transform: translateY(-5px);
}

/* BOTTOM IMAGES */
.services-areas .services-bottom-images {
    display: flex;
    align-items: center;

}

.services-areas .flooring-img {
    animation: floating 4s ease-in-out infinite;
    position: relative;
    transform: translateX(-50%) !important;
}

.services-areas .flooring-img img {
    border-radius: 50%;
    width: 284px;
    height: 284px;
    object-fit: contain;
}

.services-areas .logo-box h3 {
    font-size: 58px;
    font-weight: 900;
    color: var(--primary-color);
    line-height: 1;
}

.services-areas .logo-box span {
    color: var(--secondary-color);
    display: block;
    font-size: 40px;
}

/* ANIMATIONS */
@keyframes slideLeft {
    from {
        opacity: 0;
        transform: translateX(-80px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideRight {
    from {
        opacity: 0;
        transform: translateX(80px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes floating {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-12px);
    }

    100% {
        transform: translateY(0px);
    }
}

/* RESPONSIVE */
@media (max-width: 991px) {

    .services-areas .services-title {
        font-size: 46px;
    }

    .services-areas .logo-box h3 {
        font-size: 44px;
    }

    .services-areas .logo-box span {
        font-size: 30px;
    }
}

@media (max-width: 767px) {

    .services-areas .services-title {
        font-size: 36px;
    }

    .services-areas .services-list li {
        font-size: 18px;
    }

    .services-areas .services-btn-group {
        flex-direction: column;
    }

    .services-areas .services-btn {
        text-align: center;
    }

    .services-areas .services-bottom-images {
        justify-content: center;
        text-align: center;
    }

    .services-areas .logo-box h3 {
        font-size: 36px;
    }

    .services-areas .logo-box span {
        font-size: 24px;
    }
}

/*-----------------------------------
Get A Quote Styling
------------------------------------*/
.get-a-quote-section {
    background: #f3f3f3;
    overflow: hidden;
}

/* FORM BOX */
.get-a-quote-section .quote-form-wrapper {
    border: 1px solid #000;
    padding: 50px;
    background: #f7f7f7;
    position: relative;
    animation: slideLeft 1s ease;
}

.get-a-quote-section .quote-title {
    font-size: 40px;
    font-weight: 400;
    color: var(--primary-color);
    margin-bottom: 40px;
    line-height: 1;
    font-family: "Audiowide", sans-serif;
}

/* FORM FIELDS */
.get-a-quote-section .form-group-custom {
    margin-bottom: 25px;
}

.get-a-quote-section .form-control,
.get-a-quote-section .form-select {
    border: none;
    border-bottom: 1px solid #CFCFCF;
    border-radius: 0;
    background: transparent;
    padding: 15px 0;
    font-size: 18px;
    color: var(--primary-color);
    box-shadow: none;
    font-weight: 600;
    padding: 10px 20px;
}

.get-a-quote-section .form-control:focus,
.get-a-quote-section .form-select:focus {
    border-color: var(--secondary-color);
    box-shadow: none;
}

.get-a-quote-section .form-control::placeholder {
    color: var(--primary-color);
    font-weight: 600;
}

.get-a-quote-section textarea.form-control {
    resize: none;
}

/* BUTTON */
.get-a-quote-section .quote-btn {
    width: 100%;
    border: none;
    background: var(--primary-color);
    color: #fff;
    padding: 16px;
    font-weight: 700;
    letter-spacing: 1px;
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}

.get-a-quote-section .quote-btn:hover {
    background: var(--secondary-color);
    color: #000;
    transform: translateY(-3px);
}

/* RIGHT CONTENT */
.get-a-quote-section .quote-content {
    animation: slideRight 1s ease;
}

.get-a-quote-section .quote-image {
    overflow: hidden;
}

.get-a-quote-section .quote-image img {
    width: 100%;
    transition: 0.6s ease;
}

@media screen and (min-width:991px) {
    .get-a-quote-section .quote-image img {
        height: 400px;
        object-fit: cover;
    }
}

.get-a-quote-section .quote-image:hover img {
    transform: scale(1.08);
}

.get-a-quote-section .quote-text-content {
    margin-top: 30px;
}

.get-a-quote-section .quote-text-content h2 {
    font-size: 70px;
    font-weight: 800;
    color: var(--primary-color);
    font-family: "Audiowide", sans-serif;
    line-height: 1;
    margin-bottom: 10px;
}

.get-a-quote-section .quote-text-content h3 {
    font-size: 36px;
    color: var(--primary-color);
    font-family: "Audiowide", sans-serif;
    font-weight: 400;
    margin-bottom: 20px;
}

.get-a-quote-section .quote-text-content p {
    font-size: 16px;
    color: var(--primary-color);
    line-height: 1.8;
    max-width: 500px;
    font-weight: 600;
}

/* BUTTON GROUP */
.get-a-quote-section .quote-btn-group {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-top: 30px;
}

.get-a-quote-section .primary-btn,
.get-a-quote-section .secondary-btn {
    padding: 14px 28px;
    text-decoration: none;
    font-weight: 700;
    transition: 0.4s ease;
    display: inline-block;
}

.get-a-quote-section .primary-btn {
    background: #f2b529;
    color: #000;
}

.get-a-quote-section .secondary-btn {
    background: #18386b;
    color: #fff;
}

.get-a-quote-section .primary-btn:hover,
.get-a-quote-section .secondary-btn:hover {
    transform: translateY(-4px);
}


.get-a-quote-section .secondary-btn {
    background: #18386b;
    color: #fff;
}.get-a-quote-section .primary-btn:hover,
.get-a-quote-section .secondary-btn:hover {
    transform: translateY(-4px);
}


/* WPForms Integration Styling */
.get-a-quote-section .wpforms-container {
    margin: 0;
}

.get-a-quote-section .wpforms-container .wpforms-form {
    margin: 0;
}

/* Hide WPForms Labels to match static placeholder-only style */
.get-a-quote-section .wpforms-container .wpforms-field-label {
    display: none !important;
}

/* Hide WPForms instructions/sublabels if any */
.get-a-quote-section .wpforms-container .wpforms-field-sublabel {
    display: none !important;
}

/* Style field containers to match .form-group-custom */
.get-a-quote-section .wpforms-container .wpforms-field {
    padding: 0 !important;
    margin-bottom: 25px !important;
    clear: both;
}

/* Style WPForms input, select, textarea to match original .form-control / .form-select */
.get-a-quote-section .wpforms-container input[type="text"],
.get-a-quote-section .wpforms-container input[type="email"],
.get-a-quote-section .wpforms-container input[type="tel"],
.get-a-quote-section .wpforms-container input[type="number"],
.get-a-quote-section .wpforms-container select,
.get-a-quote-section .wpforms-container textarea {
    width: 100% !important;
    border: none !important;
    border-bottom: 1px solid #CFCFCF !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: 18px !important;
    color: var(--primary-color) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
    height: auto !important;
}

.get-a-quote-section .wpforms-container input:focus,
.get-a-quote-section .wpforms-container select:focus,
.get-a-quote-section .wpforms-container textarea:focus {
    border-color: var(--secondary-color) !important;
    box-shadow: none !important;
    outline: none !important;
}

.get-a-quote-section .wpforms-container input::placeholder,
.get-a-quote-section .wpforms-container textarea::placeholder {
    color: var(--primary-color) !important;
    font-weight: 600 !important;
    opacity: 1 !important;
}

/* Style the Submit button to match .quote-btn */
.get-a-quote-section .wpforms-container .wpforms-submit-container {
    padding: 0 !important;
    margin: 0 !important;
}

.get-a-quote-section .wpforms-container button.wpforms-submit {
    width: 100% !important;
    border: none !important;
    background: var(--primary-color) !important;
    color: #fff !important;
    padding: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    transition: all 0.4s ease !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    font-size: 18px !important;
    text-transform: uppercase !important;
}

.get-a-quote-section .wpforms-container button.wpforms-submit:hover {
    background: var(--secondary-color) !important;
    color: #000 !important;
    transform: translateY(-3px) !important;
}

/* Style WPForms confirmation and error messages */
.get-a-quote-section .wpforms-container .wpforms-error {
    color: #ff3333 !important;
    font-size: 14px !important;
    margin-top: 5px !important;
    font-weight: 600 !important;
}

/* ANIMATIONS */
@keyframes slideLeft {
    from {
        opacity: 0;
        transform: translateX(-80px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideRight {
    from {
        opacity: 0;
        transform: translateX(80px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* RESPONSIVE */
@media (max-width: 991px) {

    .get-a-quote-section .quote-title {
        font-size: 42px;
    }

    .get-a-quote-section .quote-text-content h2 {
        font-size: 52px;
    }

    .get-a-quote-section .quote-text-content h3 {
        font-size: 28px;
    }

    .get-a-quote-section .quote-form-wrapper {
        padding: 35px;
    }
}

@media (max-width: 767px) {

    .get-a-quote-section .quote-title {
        font-size: 34px;
    }

    .get-a-quote-section .quote-text-content h2 {
        font-size: 42px;
    }

    .get-a-quote-section .quote-text-content h3 {
        font-size: 24px;
    }

    .get-a-quote-section .quote-form-wrapper {
        padding: 25px;
    }

    .get-a-quote-section .quote-btn-group {
        flex-direction: column;
    }

    .get-a-quote-section .primary-btn,
    .get-a-quote-section .secondary-btn {
        text-align: center;
    }
}

/*-----------------------------------
Footer Styling
------------------------------------*/
footer {
    background: var(--primary-color);
}

footer .footer-contact-wrapper .footer-contact-icon {
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    fill: #fff;
    border: 1px solid #fff;
    border-radius: 50px;
}

footer .footer-contact-wrapper .footer-contact-icon svg {
    width: 24px;
    height: 24px;
    color: #fff;
}

footer .footer-contact-wrapper .footer-contact-info a {
    color: #fff;
    font-size: 18px;
    transition: all .5s ease-in-out;

}

footer .footer-contact-wrapper .footer-contact-info a:hover {
    color: var(--secondary-color);
}

footer .footer-social-wrapper .footer-social-title {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    text-transform: capitalize;
}

footer .footer-social-wrapper ul {
    list-style: none;
    padding-left: 0;
    display: flex;
    margin-top: 15px;
}

footer .footer-social-wrapper ul li {
    width: 40px;
    height: 40px;
    line-height: 34px;
    border: 1px solid #fff;
    text-align: center;
    border-radius: 50px;
}

footer .footer-social-wrapper ul li {
    margin-right: 10px;
}

footer .footer-social-wrapper ul li a {
    width: 20px;
    height: 20px;
}

footer .footer-top h3 {
    font-size: 28px;
    font-weight: 400;
    color: #fff;
    text-transform: capitalize;
    font-family: "Audiowide", sans-serif;
    margin-bottom: 20px;

}

footer .footer-top .footer-links {
    list-style: none;
    padding-left: 0;
    line-height: 2.5;

}

footer .footer-top .footer-links li a {
    color: #fff;
    font-size: 18px;
    transition: all .5s ease-in-out;
    position: relative;
    text-transform: capitalize;
}

footer .footer-top .footer-links li a:before {
    content: url('../images/footer-list.png');
    margin-right: 10px;
    width: 20px;
    height: 20px;
}

footer .footer-top .footer-links li a:hover {
    color: var(--secondary-color);
    padding-left: 10px;
}

footer .footer-bottom {
    border-top: 1px solid #797979;
}

footer .footer-bottom p {
    color: #fff;
    text-transform: capitalize;
}

footer .footer-bottom p a {
    color: #fff;
    transition: all .5s ease-in-out;
}

footer .footer-bottom p a:hover {
    color: var(--secondary-color);
}


/* ===============================
   PAGE BANNER
================================= */
.page-banner{
    position: relative;
    padding: 180px 0 120px;
    min-height: 500px;
    display: flex;
    align-items: center;
    isolation: isolate;
}

/* Background */
.page-banner-bg{
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -2;
    transform: scale(1.1);
}

/* Overlay */
.page-banner-overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--primary-color) 92%, transparent) 0%,
        color-mix(in srgb, var(--primary-color) 70%, transparent) 55%,
        color-mix(in srgb, var(--primary-color) 45%, transparent) 100%
    );
    z-index: -1;
}

/* Optional Yellow Glow */
.page-banner::after{
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--secondary) 30%, transparent);
    top: -80px;
    right: -80px;
    filter: blur(80px);
    z-index: -1;
}

/* Content */
.page-banner-content{
    color: #fff;
}

/* Breadcrumb */
.page-banner-breadcrumb{
    margin-bottom: 20px;
}

.page-banner-breadcrumb .breadcrumb-item,
.page-banner-breadcrumb .breadcrumb-item a{
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.page-banner-breadcrumb .breadcrumb-item a:hover{
    color: var(--secondary);
}

.page-banner-breadcrumb .breadcrumb-item.active{
    color: var(--secondary);
}

.page-banner-breadcrumb .breadcrumb-item + .breadcrumb-item::before{
    color: rgba(255,255,255,0.5);
}

/* Title */
.page-banner-title{
    font-size: clamp(40px, 6vw, 72px);
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 20px;
    color: #fff;
}

/* Yellow Accent */
.page-banner-title span{
    color: var(--secondary);
}

/* Text */
.page-banner-text{
    max-width: 700px;
/*     margin: 0 auto; */
    font-size: 18px;
    line-height: 1.7;
    color: rgba(255,255,255,0.88);
}

/* ===============================
   RESPONSIVE
================================= */
@media (max-width: 991px){

    .page-banner{
        padding: 150px 0 100px;
        min-height: 420px;
    }

    .page-banner-text{
        font-size: 16px;
    }

}

@media (max-width: 767px){

    .page-banner{
        padding: 130px 0 80px;
        min-height: 350px;
    }

    .page-banner-title{
        margin-bottom: 15px;
    }

    .page-banner-text{
        font-size: 15px;
        line-height: 1.6;
    }

    .page-banner::after{
        width: 220px;
        height: 220px;
    }

}
/* =================================
   ABOUT PAGE SECTION
==================================== */
.about-page-section{
    position: relative;
    background: #f8f8f8;
    overflow: hidden;
    padding: 120px 0;
}

/* IMAGE AREA */
.about-page-section .about-page-image-wrapper{
    padding-right: 80px;
}

.about-page-section .about-page-main-image{
    border-radius: 24px;
    overflow: hidden;
}

.about-page-section .about-page-main-image img{
    width: 100%;
    height: 760px;
    object-fit: cover;
    transition: 0.5s ease;
}

.about-page-section .about-page-main-image:hover img{
    transform: scale(1.05);
}

/* Floating Image */
.about-page-section .about-page-floating-image{
    position: absolute;
    bottom: 60px;
    right: 0;
    width: 380px;
    border-radius: 20px;
    overflow: hidden;
    border: 10px solid #fff;
    box-shadow: 0 20px 60px rgba(0,0,0,0.12);
}

.about-page-section .about-page-floating-image img{
    width: 100%;
    height: 280px;
    object-fit: cover;
}

/* Badge */
.about-page-section .about-page-badge{
    position: absolute;
    top: 40px;
    right: 20px;
    width: 160px;
    height: 160px;
    background: var(--primary-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    animation: aboutRotateBadge 12s linear infinite;
}

/* Rotating Text */
.about-page-section .about-page-badge-text{
    position: absolute;
    width: 100%;
    height: 100%;
    fill: #fff;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
}

/* Center Icon */
.about-page-section .about-page-badge-icon{
    width: 65px;
    height: 65px;
    background: #fff;
    color: var(--primary-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 600;
    position: relative;
    z-index: 2;
}

/* Rotation Animation */
@keyframes aboutRotateBadge{
    100%{
        transform: rotate(360deg);
    }
}

/* Responsive */
@media (max-width:767px){

    .about-page-section .about-page-badge{
        width: 110px;
        height: 110px;
        top: 20px;
        right: 10px;
    }

    .about-page-section .about-page-badge-text{
        font-size: 10px;
        letter-spacing: 2px;
    }

    .about-page-section .about-page-badge-icon{
        width: 45px;
        height: 45px;
        font-size: 18px;
    }

}
/* CONTENT */
.about-page-section .about-page-content{
    padding-left: 30px;
}

/* Tag */
.about-page-section .about-page-tag{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 22px;
    border: 1px solid #ddd;
    border-radius: 100px;
    margin-bottom: 25px;
    font-size: 15px;
    font-weight: 500;
    color: var(--primary-color);
    background: #fff;
}

.about-page-section .about-page-tag span{
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--secondary-color);
	  font-family: 'Audiowide', sans-serif;
}

/* Title */
.about-page-section .about-page-title{
    font-size: clamp(32px, 5vw, 50px);
    line-height: 1.1;
    font-weight: 400;
    color: var(--primary-color);
    margin-bottom: 25px;
	  font-family: 'Audiowide', sans-serif;
}

/* Text */
.about-page-section .about-page-text{
    font-size: 18px;
    line-height: 1.8;
    color: #555;
    margin-bottom: 35px;
}

/* Features */
.about-page-section .about-page-features{
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 20px 0;
}

.about-page-section .about-page-feature-item{
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
    color: #333;
}

.about-page-section .about-page-feature-item i{
    color: var(--primary-color);
    font-size: 20px;
}

/* Progress */
.about-page-section .about-page-progress-wrap{
    padding: 20px 0 35px;
}

.about-page-section .about-page-progress{
    height: 12px;
    border-radius: 50px;
    background: #ddd;
    overflow: hidden;
}

.about-page-section .about-page-progress .progress-bar{
    width: 0;
    background: var(--primary-color);
    border-radius: 50px;
}

/* Button */
.about-page-section .about-page-btn{
    display: inline-flex;
    align-items: center;
    gap: 18px;
    padding: 14px 14px 14px 28px;
    background: var(--primary-color) !important;
    color: #fff;
    border-radius: 100px;
    text-decoration: none;
    font-weight: 600;
    transition: 0.4s ease;
}

.about-page-section .about-page-btn span{
    width: 48px;
    height: 48px;
    background: var(--secondary-color);
    color: #111;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.about-page-section .about-page-btn:hover{
    transform: translateY(-5px);
    color: #fff;
}

/* RESPONSIVE */
@media (max-width: 1199px){

    .about-page-section .about-page-main-image img{
        height: 650px;
    }

    .about-page-section .about-page-floating-image{
        width: 320px;
    }

}

@media (max-width: 991px){

    .about-page-section{
        padding: 90px 0;
    }

    .about-page-section .about-page-image-wrapper{
        padding-right: 0;
    }

    .about-page-section .about-page-content{
        padding-left: 0;
    }

    .about-page-section .about-page-main-image img{
        height: 550px;
    }

}

@media (max-width: 767px){

    .about-page-section{
        padding: 70px 0;
    }

    .about-page-section .about-page-title{
        font-size: 36px;
    }

    .about-page-section .about-page-text{
        font-size: 16px;
    }

    .about-page-section .about-page-feature-item{
        font-size: 16px;
    }

    .about-page-section .about-page-floating-image{
        width: 220px;
        bottom: 20px;
    }

    .about-page-section .about-page-floating-image img{
        height: 180px;
    }

    .about-page-section .about-page-badge{
        width: 110px;
        height: 110px;
        top: 20px;
        right: 10px;
    }

    .about-page-section .about-page-badge-icon{
        width: 48px;
        height: 48px;
        font-size: 20px;
    }

}




    /* ====================================
   ABOUT PAGE PROCESS WORK
==================================== */
.about-page-process-work{
    position: relative;
    padding: 120px 0;
    background: #0f1117;
    overflow: hidden;
    z-index: 1;
}

/* Background Pattern */
.about-page-process-work::before{
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 80px 80px;
    z-index: -1;
}

/* Heading */
.about-page-process-work-heading{
    margin-bottom: 80px;
}

/* Tag */
.about-page-process-work-tag{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 22px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 100px;
    color: #fff;
    margin-bottom: 30px;
    font-size: 15px;
    font-weight: 500;
}

.about-page-process-work-tag span{
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--secondary-color);
}

/* Title */
.about-page-process-work-title{
    font-size: clamp(32px, 5vw, 60px);
    line-height: 1.1;
    font-weight: 400;
    color: #fff;
	    font-family: 'Audiowide', sans-serif;
}

/* Card */
.about-page-process-work-card{
    text-align: center;
    position: relative;
    transition: 0.4s ease;
}

/* Image */
.about-page-process-work-image{
    width: 240px;
    height: 240px;
    margin: 0 auto 30px;
    border-radius: 50%;
    overflow: hidden;
    border: 12px solid rgba(255,255,255,0.12);
    transition: 0.4s ease;
}

.about-page-process-work-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.5s ease;
}

.about-page-process-work-card:hover img{
    transform: scale(1.08);
}

/* Active */
.about-page-process-work-card.active .about-page-process-work-image{
    border-color: var(--primary-color);
}

/* Step */
.about-page-process-work-step{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    background: rgba(255,255,255,0.08);
    color: #fff;
    border-radius: 100px;
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 25px;
}

/* Title */
.about-page-process-work-card-title{
    font-size: 30px;
    line-height: 1.3;
    color: var(--secondary-color);
    font-weight: 400;
    margin-bottom: 18px;
	 font-family: 'Audiowide', sans-serif;
	
}

/* Text */
.about-page-process-work-card-text{
    font-size: 17px;
    line-height: 1.8;
    color: rgba(255,255,255,0.7);
    max-width: 320px;
    margin: 0 auto;
}

/* Bottom CTA */
.about-page-process-work-bottom-text{
    margin-top: 80px;
    display: inline-flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    justify-content: center;
}

.about-page-process-work-call-icon{
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--primary-color);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 24px;
    transition: 0.4s ease;
}

.about-page-process-work-call-icon:hover{
    background: var(--secondary-color);
    color: #111;
}

.about-page-process-work-bottom-text p{
    margin: 0;
    font-size: 20px;
    color: #fff;
}

.about-page-process-work-bottom-text p a{
    color: var(--secondary-color);
    font-weight: 600;
}

/* Responsive */
@media (max-width: 1199px){

    .about-page-process-work-image{
        width: 220px;
        height: 220px;
    }

    .about-page-process-work-card-title{
        font-size: 26px;
    }

}

@media (max-width: 991px){

    .about-page-process-work{
        padding: 90px 0;
    }

    .about-page-process-work-heading{
        margin-bottom: 60px;
    }

}

@media (max-width: 767px){

    .about-page-process-work{
        padding: 70px 0;
    }

    .about-page-process-work-title{
        font-size: 38px;
    }

    .about-page-process-work-image{
        width: 200px;
        height: 200px;
    }

    .about-page-process-work-card-title{
        font-size: 24px;
    }

    .about-page-process-work-card-text{
        font-size: 15px;
    }

    .about-page-process-work-bottom-text p{
        font-size: 16px;
    }

}




    /* =========================================
       SERVICES PAGE SECTION
    ========================================= */
    .services-page-section {
        background: #fdfdfd;
        position: relative;
        z-index: 1;
    }

    .services-page-heading {
        margin-bottom: 50px;
    }

    .services-page-subtitle {
        color: var(--secondary-color);
        font-size: 20px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 2px;
        display: block;
        margin-bottom: 10px;
        font-family: 'Audiowide', sans-serif;
    }

    .services-page-title {
        font-size: clamp(32px, 5vw, 48px);
        color: var(--primary-color);
        font-weight: 700;
        margin-bottom: 20px;
        font-family: 'Audiowide', sans-serif;
    }

    .services-page-description {
        font-size: 18px;
        color: #555;
        line-height: 1.6;
        max-width: 700px;
        margin: 0 auto;
    }

    /* Service Card */
    .services-page-card {
        background: #fff;
        border-radius: 12px;
        border: 1px solid #eee;
        transition: all 0.4s ease;
        text-align: left;
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .services-page-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
        border-color: var(--secondary-color);
    }

    .services-page-card-img {
        position: relative;
        width: 100%;
        height: 220px;
    }

    .services-page-card-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.5s ease;
        border-radius: 12px 12px 0 0;
    }

    .services-page-card:hover .services-page-card-img img {
        transform: scale(1.1);
    }

    .services-page-icon {
        width: 60px;
        height: 60px;
        background: var(--primary-color);
        color: var(--secondary-color);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 24px;
        border-radius: 50%;
        position: absolute;
        bottom: 20px;
        right: 20px;
        z-index: 10;
        transition: 0.4s ease;
        border: 3px solid rgba(255, 255, 255, 0.3);
        backdrop-filter: blur(5px);
    }

    .services-page-card:hover .services-page-icon {
        background: var(--secondary-color);
        color: var(--primary-color);
    }

    .services-page-card-body {
        padding: 30px;
        flex-grow: 1;
    }

    .services-page-card-title ,
   .services-page-card-title  a{
        font-size: 24px;
        color: var(--primary-color);
        font-weight: 700;
        margin-bottom: 15px;
        transition: 0.3s ease;
        font-family: 'Audiowide', sans-serif;
    }
.services-page-card-title  a:hover{
	color: var(--secondary-color);
}
    .services-page-card-text {
        font-size: 16px;
        color: #666;
        line-height: 1.7;
        margin-bottom: 20px;
    }

    .services-page-link {
        color: var(--primary-color);
        font-weight: 700;
        font-size: 15px;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        transition: 0.3s ease;
        text-decoration: none !important;
    }

    .services-page-link i {
        transition: 0.3s ease;
    }

    .services-page-link:hover {
        color: var(--secondary-color);
    }

    .services-page-link:hover i {
        transform: translateX(5px);
    }

    /* Responsive adjustments */
    @media (max-width: 991px) {
        .services-page-title {
            font-size: 36px;
        }
        .services-page-card-body {
            padding: 40px 20px 20px;
        }
    }

    @media (max-width: 767px) {
        .services-page-section {
            padding: 60px 0;
        }
        .services-page-title {
            font-size: 30px;
        }
        .services-page-description {
            font-size: 16px;
        }
        .services-hero {
            padding: 60px 0;
        }
    }





    /* =========================================
       SINGLE SERVICE PAGE CSS
    ========================================= */
    
    /* Hero Section */
    .single-service-hero {
        background: linear-gradient(rgba(24, 50, 91, 0.85), rgba(24, 50, 91, 0.85)), url('assets/images/service-1.png');
        background-size: cover;
        background-position: center;
        padding: 120px 0;
        color: #fff;
    }
    .single-service-hero-title {
        font-size: clamp(36px, 5vw, 60px);
        font-weight: 700;
        font-family: 'Audiowide', sans-serif;
        text-transform: uppercase;
        margin-bottom: 15px;
    }
    .single-service-hero .breadcrumb-item, 
    .single-service-hero .breadcrumb-item a {
        color: #ddd;
        text-decoration: none;
    }
    .single-service-hero .breadcrumb-item.active {
        color: var(--secondary-color);
    }

    /* Main Section */
    .single-service-section {
        padding: 80px 0;
        background: #fcfcfc;
    }

    .service-main-content h2 {
        color: var(--primary-color);
        font-family: 'Audiowide', sans-serif;
        font-weight: 700;
        margin-bottom: 25px;
        margin-top: 40px;
    }
    .service-main-content h2:first-child {
        margin-top: 0;
    }

    .service-main-content p {
        font-size: 18px;
        color: #555;
        line-height: 1.8;
        margin-bottom: 30px;
    }

    .service-image-box {
        margin-bottom: 40px;
        border-radius: 15px;
        overflow: hidden;
        box-shadow: 0 15px 30px rgba(0,0,0,0.1);
    }

    .service-feature-list {
        list-style: none;
        padding-left: 0;
        margin-bottom: 40px;
    }

    .service-feature-list li {
        display: flex;
        align-items: center;
        gap: 15px;
        font-size: 18px;
        margin-bottom: 15px;
        color: #444;
    }

    .service-feature-list li i {
        color: var(--secondary-color);
        font-size: 24px;
    }

    /* Sidebar */
    .service-sidebar {
        position: sticky;
        top: 100px;
    }

    .sidebar-widget {
        background: #fff;
        padding: 30px;
        border-radius: 12px;
        box-shadow: 0 10px 25px rgba(0,0,0,0.05);
        margin-bottom: 30px;
        border: 1px solid #eee;
    }

    .widget-title {
        color: var(--primary-color);
        font-size: 22px;
        font-weight: 700;
        font-family: 'Audiowide', sans-serif;
        margin-bottom: 20px;
        padding-bottom: 15px;
        border-bottom: 2px solid var(--secondary-color);
    }

    .sidebar-services-links {
        list-style: none;
        padding-left: 0;
    }

    .sidebar-services-links li a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 12px 15px;
        background: #f8f9fa;
        margin-bottom: 10px;
        border-radius: 8px;
        color: var(--primary-color);
        text-decoration: none;
        font-weight: 600;
        transition: 0.3s ease;
    }

    .sidebar-services-links li a:hover,
    .sidebar-services-links li a.active {
        background: var(--primary-color);
        color: #fff;
    }

    .sidebar-contact-box {
        background: var(--primary-color);
        color: #fff;
        text-align: center;
    }

    .sidebar-contact-box .widget-title {
        color: #fff;
    }

    .sidebar-contact-box i {
        font-size: 40px;
        color: var(--secondary-color);
        margin-bottom: 15px;
        display: block;
    }

    /* FAQ Integrated Styles */
    .service-faq-wrapper {
        margin-top: 60px;
    }

    .accordion-item {
        border: none;
        margin-bottom: 15px;
        box-shadow: 0 5px 15px rgba(0,0,0,0.05);
        border-radius: 10px !important;
        overflow: hidden;
    }

    .accordion-button {
        padding: 20px 25px;
        font-weight: 700;
        font-size: 18px;
        color: var(--primary-color);
        background: #fff;
    }

    .accordion-button:not(.collapsed) {
        background: var(--primary-color);
        color: #fff;
    }

    .accordion-button:focus {
        box-shadow: none;
    }

    .accordion-body {
        font-size: 16px;
        line-height: 1.7;
        color: #666;
        padding: 25px;
    }

    @media (max-width: 991px) {
        .single-service-hero { padding: 80px 0; }
        .service-sidebar { margin-top: 50px; }
    }
  
/* Addtional CSS */
#wpforms-81-field_7{
	padding: 10px !important;
}

/* =========================================
   FRONT PAGE MOBILE RESPONSIVE REFINEMENTS
========================================= */

@media (max-width: 991px) {
    /* Hero Section */
    .hero-banner {
        padding: 60px 0;
        text-align: center;
    }
    .hero-title {
        font-size: 42px !important;
        line-height: 1.1 !important;
        margin-bottom: 20px !important;
    }
    .hero-btn-group {
        justify-content: center;
    }
    .hero-review {
        justify-content: center;
        margin-top: 30px;
    }
    .hero-before-after-wrapper {
        margin-top: 40px;
        height: 350px !important;
    }

    /* About Section */
    .about-section {
        padding: 60px 0;
        text-align: center;
    }
    .about-image-wrapper {
        margin-bottom: 30px;
    }
    .btn-group-custom {
        justify-content: center;
    }

    /* Projects Section */
    .projects {
        padding: 60px 0;
        text-align: center;
    }
    .projects-title {
        font-size: 32px !important;
    }
    .before-after-wrapper {
        height: 350px !important;
        margin-top: 40px;
    }
}

@media (max-width: 767px) {
    /* General Spacing */
    section {
        padding: 50px 0 !important;
    }
    .main-title {
        font-size: 28px !important;
    }
    .sub-title {
        font-size: 16px !important;
    }

    /* Hero */
    .hero-title {
        font-size: 34px !important;
    }
    .hero-btn-group {
        flex-direction: column;
        gap: 15px;
    }
    .hero-btn-primary, .hero-btn-secondary {
        width: 100%;
        justify-content: center;
    }

    /* Services */
    .service-content {
        padding: 30px 20px !important;
        text-align: center;
    }
    .service-content h3 {
        font-size: 24px !important;
    }

    /* Featured Section */
    .featured-box-wrapper {
        margin-bottom: 20px;
    }
    .featured-box {
        padding: 25px !important;
    }

    /* Testimonials */
    .testimonial-card {
        padding: 30px 20px !important;
    }
    
    /* Service Areas */
    .services-areas .services-title {
        font-size: 30px !important;
    }
    .services-btn-group {
        flex-direction: column;
    }
    .services-btn {
        width: 100%;
        text-align: center;
    }
    .services-bottom-images {
        flex-direction: column;
        gap: 30px;
    }
    .flooring-img {
        transform: translateX(0) !important;
    }
}

@media (max-width: 480px) {
    .hero-title {
        font-size: 28px !important;
    }
    .hero-before-after-wrapper, .before-after-wrapper {
        height: 280px !important;
    }
    .service-image img {
        height: 220px !important;
    }
}

.display-5{
	font-family: "Audiowide", sans-serif;
}