/* =====================================================
   GLOBAL
===================================================== */

:root{
     --gold: #b8a47a;
    --gold-light: #cfc09a;
    --gold-dark: #8a7550;
    --orange: #e8621a;
    --orange-dark: #c04e10;
    --dark: #ffffff;
    --dark-2: #f7f5f2;
    --dark-3: #f0ece6;
    --dark-4: #e2dbd0;
    --text-primary: #1a1a1a;
    --text-muted: #6b6560;
    --text-dim: #a09890;
    --accent: #b8a47a;
    --yellow:#bbac84;
    --black:#111111;
    --text:#222;
    --muted:#777;
    --white:#fff;
    --container:1200px;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:"Roboto",sans-serif;
    color:var(--text);
    overflow-x:hidden;
    padding-bottom:88px;

}
@media(max-width:767px){

    body{
        padding-bottom:120px;
    }

}
a{
    text-decoration:none !important;
    color:inherit;
}

img{
    width:100%;
    display:block;
}

.container{
    width:min(var(--container), calc(100% - 40px));
    margin:auto;
}


.top-bar {
  background: #bcae87;
  color: #ffffff;
  font-size: 14px;
}

.top-inner {
  max-width: 1050px;
  margin: 0 auto;
  height: 55px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

/* Main Header */
.main-header {
  background: #ffffff;
}

.header-inner {
  max-width: 1050px;
  margin: 0 auto;
  min-height: 156px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  gap: 30px;
}

.logo img {
  max-width: 230px;
  width: 100%;
  display: block;
}

.company-info{
    text-align:center;
}

.company-info p{
    margin:0 0 10px;
    font-size:18px;
    line-height:1.5;
    font-weight:400;
    color:#111;
    font-family:"Times New Roman", serif;
    letter-spacing:0;
}

.contact-box {
  text-align: center;
}

.contact-box p {
  font-size: 18px;
  font-weight: 700;
  color: #000000;
  margin-bottom: 15px;
}

.contact-box a {
  display: inline-block;
  background: #f45a00;
  color: #ffffff;
  text-decoration: none;
  font-size: 16px;
  font-weight: 700;
  padding: 10px 35px;
  border-radius: 2px;
}

/* NAVBAR */
.navbar{
    background:#000;
    position:relative;
    z-index:999;
}

.nav-inner{
    max-width:1200px;
    margin:auto;
    min-height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
}

/* MENU */
.nav-menu{
    display:flex;
    list-style:none;
    gap:10px;
}

.nav-menu li{
    list-style:none;
}

.nav-menu a{
    color:#fff;
    text-decoration:none;
    padding:10px 15px;
    display:block;
    font-size:18px;
    transition:0.3s;
}

.nav-menu a:hover{
    color:#bcae87;
}

/* MENU BUTTON */
.menu-toggle{
    display:none;
    background:none;
    border:none;
    color:#fff;
    font-size:32px;
    cursor:pointer;
}
/* MOBILE */
@media(max-width: 900px) {
    .nav-inner {
        justify-content: flex-end;
        padding: 0 20px;
        position:relative;
    }

    .menu-toggle {
        display: block;
    }

    .nav-menu {
        position: fixed;        
        top: 60px;
        left: 0;
        right: 0;               
        width: 100%;
        background: #000;
        background-color: rgba(0, 0, 0, 0.97);  /* ← Solid dark bg */
        flex-direction: column;
        display: none;
        padding: 20px 0;
        animation: slideDown 0.4s ease;
        z-index: 9999;          /* ← Above everything */
        box-shadow: 0 8px 20px rgba(0,0,0,0.5);  /* ← Depth */
        border-top: 2px solid #bcae87;  /* ← Visual separator */
    }

    .nav-menu.show,
    .nav-menu.active {
        display: flex;
    }

    .nav-menu li {
        width: 100%;
        text-align: center;
    }

    .nav-menu a {
        text-align: center;
        padding: 15px 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        font-size: 16px;
        width: 100%;
        display: block;
        color: #fff;
    }

    .nav-menu a:hover,
    .nav-menu a:active {
        background: rgba(188, 174, 135, 0.15);  
        color: #bcae87;
    }
}

/* ANIMATION */
@keyframes slideDown{
    from{
        opacity:0;
        transform:translateY(-15px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* Tablet */
@media (max-width: 900px) {
  .top-inner,
  .header-inner {
    max-width: 92%;
  }

  .header-inner {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 25px 0;
    gap: 20px;
  }

  .logo img {
    margin: 0 auto;
  }

  .top-inner {
    height: auto;
    padding: 12px 0;
    flex-direction: column;
    gap: 6px;
    text-align: center;
  }

}

/* Mobile */
@media (max-width: 480px) {
  .top-bar {
    font-size: 13px;
  }

  .logo img {
    max-width: 210px;
  }

  .company-info {
    font-size: 15px;
  }

  .contact-box p {
    font-size: 16px;
  }

  .contact-box a {
    width: 100%;
    max-width: 260px;
    padding: 11px 18px;
    font-size: 15px;
  }
}
/* =====================================================
   HERO SLIDER
===================================================== */

.hero-slider{
    position:relative;
    height:500px;
    overflow:hidden;
}

.slide{
    position:absolute;
    inset:0;
    background-image:var(--bg);
    background-size:cover;
    background-position:center;
    display:flex;
    align-items:center;
    opacity:0;
    visibility:hidden;
    height:500px;
    transition:all .7s ease;
}

.slide.active{
    opacity:1;
    visibility:visible;
}

.slide-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.55);
}

.slide-content{
    position:relative;
    z-index:2;
    color:#fff;
}

.slide-content h1{
    font-size:clamp(42px,7vw,78px);
    line-height:1.05;
    font-weight:900;
    max-width:800px;
    margin-bottom:25px;
}

.slide-content h1 span{
    color:var(--yellow);
}

.slide-content p{
    max-width:650px;
    font-size:16px;
    line-height:1.9;
    margin-bottom:35px;
    color:#fff;
}

.read-more{
    height:54px;
    padding:0 38px;
    background:#f45a00;
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:700;
    transition:.3s;
}

.read-more:hover{
    background:#111;
}

/* ARROWS */

.slider-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:48px;
    height:80px;
    border:none;
    background:rgba(0,0,0,.4);
    color:#fff;
    font-size:42px;
    cursor:pointer;
    z-index:5;
    transition:.3s;
}

.slider-arrow:hover{
    background:var(--yellow);
}

.slider-arrow--prev{
    left:0;
}

.slider-arrow--next{
    right:0;
}

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

@media(max-width:991px){

    .header-info{
        display:none;
    }

    .menu-toggle{
        display:flex;
    }

    .main-nav{
        display:none;
    }

    .site-header__inner{
        height:85px;
    }

    .hero-slider{
        height:400px;
    }

    .slide-content h1{
        font-size:58px;
    }
}

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

@media(max-width:767px){

    .top-bar{
        height:auto;
        padding:12px 0;
    }

    .top-bar__inner{
        flex-direction:column;
        gap:10px;
    }

    .top-bar__left,
    .top-bar__right{
        gap:16px;
        flex-wrap:wrap;
        justify-content:center;
    }

    .brand-text{
        font-size:34px;
    }

    .brand-mark span:nth-child(1){
        height:22px;
    }

    .brand-mark span:nth-child(2){
        height:34px;
    }

    .brand-mark span:nth-child(3){
        height:44px;
    }

    .hero-slider{
        height:400px;
    }

    .slide-content{
        text-align:center;
    }

    .slide-content h1{
        font-size:42px;
        margin-bottom:18px;
    }

    .slide-content p{
        font-size:14px;
        line-height:1.7;
    }

    .read-more{
        height:48px;
        padding:0 28px;
    }

    .slider-arrow{
        width:36px;
        height:60px;
        font-size:30px;
    }
}

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

@media(max-width:480px){

    .container{
        width:calc(100% - 24px);
    }

    .brand-text{
        font-size:30px;
    }

    .slide-content h1{
        font-size:34px;
    }

    .slide-content p{
        font-size:13px;
    }

    .top-link{
        font-size:11px;
    }
}

/* =========================================
   PREMIUM HERO TEXT ANIMATION
========================================= */

.slide-content{
    overflow:hidden;
}

/* TITLE */

.slide-content h1{
    opacity:0;
    transform:translateY(100px);
    letter-spacing:8px;
}

/* ACTIVE TITLE */

.slide.active .slide-content h1{
    animation:premiumTitle 1.2s cubic-bezier(.17,.84,.44,1) forwards;
}

/* TITLE SPAN GLOW */

.slide-content h1 span{
    position:relative;
    display:inline-block;
    color:#f45a00;
    text-shadow:
    0 0 10px rgba(244,90,0,.4),
    0 0 20px rgba(244,90,0,.2);
}

/* PARAGRAPH */

.slide-content p{
    opacity:0;
    transform:translateY(40px);
}

.slide.active .slide-content p{
    animation:premiumText 1s ease forwards;
    animation-delay:.5s;
}

/* BUTTON */

.slide-content .read-more{
    opacity:0;
    transform:translateY(30px) scale(.8);
}

.slide.active .slide-content .read-more{
    animation:premiumButton .8s ease forwards;
    animation-delay:1s;
}
.slide-overlay{
    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.75) 0%,
        rgba(0,0,0,.45) 55%,
        rgba(0,0,0,.65) 100%
    );

    animation:overlayMove 8s ease infinite alternate;
}


/* =========================================
   KEYFRAMES
========================================= */

@keyframes premiumTitle{

    0%{
        opacity:0;
        transform:translateY(100px);
        letter-spacing:8px;
    }

    60%{
        opacity:1;
    }

    100%{
        opacity:1;
        transform:translateY(0);
        letter-spacing:1px;
    }
}
@keyframes overlayMove{

    from{
        transform:scale(1);
    }

    to{
        transform:scale(1.08);
    }
}
@keyframes premiumText{

    from{
        opacity:0;
        transform:translateY(40px);
    }

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

@keyframes premiumButton{

    0%{
        opacity:0;
        transform:translateY(30px) scale(.8);
    }

    100%{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}
/*=====================================
    ABOUT COMPANY SECTION
=====================================*/

.about-company{
    padding:60px 0;
    background:#f7f7f7;
    overflow:hidden;
}

.section-heading{
    text-align:center;
    margin-bottom:60px;
}

.section-heading h2{
    margin:0;
    font-size:42px;
    font-weight:800;
    color:#222;
    letter-spacing:.5px;
}

.heading-line{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin:22px 0 25px;
}

.heading-line span{
    width:70px;
    height:3px;
    background:var(--yellow);
}

.heading-line i{
    width:10px;
    height:10px;
    border:2px solid #222;
    display:block;
    transform:rotate(45deg);
    background:#fff;
}

.section-heading p{
    max-width:760px;
    margin:auto;
    color:#777;
    font-size:16px;
    line-height:30px;
}

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

.about-grid{
    display:grid;
    grid-template-columns:420px 1fr;
    gap:40px;
    align-items:center;
}

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

.about-photo{
    position:relative;
    overflow:hidden;
    height:580px;
}

.about-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

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

.services-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

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

.service-card{
    background:#fff;
    padding:45px 35px;
    text-align:center;
    border:1px solid #ececec;
    transition:.4s ease;
    position:relative;
    overflow:hidden;
}

.service-card::before{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:0;
    background:var(--yellow);
    transition:.4s ease;
    z-index:0;
    opacity:.08;
}

.service-card:hover::before{
    height:100%;
}

.service-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.service-icon{
    width:90px;
    height:80px;
    margin:0 auto 25px;
    position:relative;
    z-index:2;
}

.service-icon svg{
    width:100%;
    height:100%;
    display:block;
}

.service-card h3{
    margin:0 0 18px;
    font-size:24px;
    font-weight:800;
    color:#222;
    position:relative;
    z-index:2;
}

.service-card p{
    margin:0;
    color:#777;
    font-size:15px;
    line-height:28px;
    position:relative;
    z-index:2;
}

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

@media(max-width:991px){

    .about-grid{
        grid-template-columns:1fr;
    }

    .about-photo{
        height:500px;
    }
}

@media(max-width:767px){

    .about-company{
        padding:70px 0;
    }

    .section-heading h2{
        font-size:32px;
    }

    .section-heading p{
        font-size:15px;
        line-height:28px;
    }

    .services-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .about-photo{
        height:400px;
    }

    .service-card{
        padding:35px 25px;
    }

    .service-card h3{
        font-size:22px;
    }
}

@media(max-width:480px){

    .about-photo{
        height:320px;
    }

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

    .service-card p{
        font-size:14px;
        line-height:26px;
    }
}
/* =========================
   SERVICES SECTION
========================= */

.construction-services{
    padding: 10px 0;
    background: #f7f7f7;
    overflow: hidden;
}

.custom-container{
    width: 92%;
    max-width: 1400px;
    margin: auto;
}

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

.services-heading{
    text-align: center;
    margin-bottom: 60px;
}

.services-heading h2{
    font-size: 42px;
    font-weight: 800;
    color: #222;
    margin-bottom: 20px;
}

.services-divider{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 25px;
}

.services-divider span{
    width: 70px;
    height: 3px;
    background: var(--yellow);
}

.services-divider .square{
    width: 10px;
    height: 10px;
    border: 2px solid #333;
}

.services-heading p{
    max-width: 760px;
    margin: auto;
    color: #777;
    line-height: 30px;
    font-size: 17px;
}

/* =========================
   SLIDER
========================= */

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

/* Track */

.services-track{
    display: flex;
    gap: 30px;
    transition: transform 0.6s ease;
    will-change: transform;
}

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

.services-box{
    flex: 0 0 calc((100% - 60px) / 3);
    background: #fff;
    overflow: hidden;
}

/* Image */

.services-image{
    overflow: hidden;
}

.services-image img{
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    transition: 0.5s;
}

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

/* Content */

.services-content{
    padding: 25px 20px 5px;
}

.services-content h3{
    font-size: 30px;
    font-weight: 700;
    color: #222;
    margin-bottom: 15px;
}

.services-content p{
    color: #777;
    line-height: 28px;
    font-size: 16px;
}

/* =========================
   ARROWS
========================= */

.service-arrow{
    position: absolute;
    top: 35%;
    transform: translateY(-50%);

    width: 55px;
    height: 55px;

    border: none;

    background: rgba(0,0,0,0.75);

    color: #fff;

    font-size: 24px;

    cursor: pointer;

    z-index: 100;

    transition: 0.3s;
}

.service-arrow:hover{
    background: #f5b400;
}

.prev-btn{
    left: 10px;
}

.next-btn{
    right: 10px;
}

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

@media(max-width:991px){

    .services-box{
        flex: 0 0 calc((100% - 30px) / 2);
    }

    .services-content h3{
        font-size: 26px;
    }
}

@media(max-width:767px){

    .construction-services{
        padding: 10px 0;
    }

    .services-heading h2{
        font-size: 32px;
    }

    .services-box{
        flex: 0 0 100%;
    }

    .services-image img{
        height: 240px;
    }

    .services-content h3{
        font-size: 24px;
    }

    .service-arrow{
        width: 45px;
        height: 45px;
        font-size: 20px;
    }
}

/* ====================================
   CONSTRUCTION FAQ SECTION
==================================== */

.construction-faq-section{
    margin-top:30px;
    position: relative;
    padding: 100px 0;
    overflow: hidden;
    background: url("images/svc-home/faq.jpg")
    center center/cover no-repeat;
}

/* Overlay */

.construction-faq-overlay{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.75);
}

/* Container */

.construction-faq-container{
    position: relative;
    z-index: 2;
    width: 92%;
    max-width: 1400px;
    margin: auto;
    display: flex;
    gap: 70px;
    align-items: flex-start;
}

/* ====================================
   LEFT FAQ
==================================== */

.construction-faq-left{
    flex: 1;
}

/* FAQ ITEM */

.construction-faq-item{
    margin-bottom: 30px;
}

/* Question */

.construction-faq-question{
    width: 100%;
    background: var(--yellow);
    border: none;
    padding: 19px 13px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    text-align: left;
}

.construction-faq-title{
    display: flex;
    align-items: center;
    gap: 12px;
}

.construction-faq-icon{
    font-style: normal;
    font-size: 14px;
}

.construction-faq-toggle{
    font-size: 32px;
    line-height: 1;
}

/* Answer */

.construction-faq-answer{
    background: transparent;

    max-height: 0;
    overflow: hidden;

    transition: 0.4s ease;
}

.construction-faq-answer p{
    color: #fff;
    line-height: 24px;
    font-size: 17px;
    padding: 22px 18px;
}

/* Active */

.construction-faq-item.active .construction-faq-answer{
    max-height: 500px;
}

.construction-faq-item.active .construction-faq-toggle{
    content: "×";
}

/* ====================================
   RIGHT CONTENT
==================================== */

.construction-faq-right{
    flex: 1;
    color: #fff;
}

.construction-faq-right h2{
    font-size: 40px;
    font-weight: 600;
    margin-bottom: 15px;
}

.construction-faq-right h3{
    margin-bottom:30px;
    font-size: 35px;
    color: var(--yellow);
    font-weight: 500;
}

.construction-faq-text{
    font-size: 17px;
    line-height: 38px;
    margin-bottom: 35px;
}

/* List */

.construction-faq-list{
    list-style: none;
    padding: 0;
    margin: 0;
}

.construction-faq-list li{
    position: relative;
    padding-left: 38px;
    font-size: 20px;
    line-height: 50px;
}

.construction-faq-list li::before{
    content: "✔";
    position: absolute;
    left: 0;
    top: 13px;
    width: 22px;
    height: 22px;
    background: var(--yellow);
    color: #000;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
}

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

@media(max-width:1200px){

    .construction-faq-container{
        gap: 50px;
    }

    .construction-faq-right h2{
        font-size: 60px;
    }

    .construction-faq-right h3{
        font-size: 34px;
    }
}

@media(max-width:991px){

    .construction-faq-container{
        flex-direction: column;
    }

    .construction-faq-right h2{
        font-size: 52px;
    }

    .construction-faq-right h3{
        font-size: 30px;
    }
}

@media(max-width:767px){

    .construction-faq-section{
        padding: 70px 0;
    }

    .construction-faq-question{
        padding: 20px;
        font-size: 14px;
    }

    .construction-faq-answer p{
        font-size: 16px;
        line-height: 30px;
    }

    .construction-faq-right h2{
        font-size: 38px;
        letter-spacing: 3px;
    }

    .construction-faq-right h3{
        font-size: 26px;
        line-height: 38px;
    }

    .construction-faq-text{
        font-size: 17px;
        line-height: 32px;
    }

    .construction-faq-list li{
        font-size: 16px;
        line-height: 30px;
    }
}

/* =========================================
   LATEST PROJECTS
========================================= */

.build-projects-section{
    padding: 100px 0;
    background: #f7f7f7;
}

.build-container{
    width: 92%;
    max-width: 1400px;
    margin: auto;
}

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

.build-projects-heading{
    text-align: center;
    margin-bottom: 45px;
}

.build-projects-heading h2{
    font-size: 42px;
    font-weight: 800;
    color: #222;
    margin-bottom: 18px;
}

.build-divider{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 25px;
}

.build-divider span{
    width: 70px;
    height: 3px;
    background: #f5b400;
}

.build-square{
    width: 10px;
    height: 10px;
    border: 2px solid #222;
}

.build-projects-heading p{
    max-width: 760px;
    margin: auto;
    color: #777;
    line-height: 30px;
    font-size: 17px;
}

/* =========================================
   FILTER
========================================= */

.build-projects-filter{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 55px;
}

.build-projects-filter span{
    color: #bbb;
}

.build-filter-btn{
    border: none;
    background: transparent;
    font-size: 15px;
    font-weight: 700;
    color: #666;
    cursor: pointer;
    transition: 0.3s;
}

.build-filter-btn.active{
    color: #f5b400;
}

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

.build-projects-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.build-project-item{
    position: relative;
    overflow: hidden;
}

.build-project-item img{
    width: 100%;
    height: 310px;
    object-fit: cover;
    display: block;
    transition: 0.5s;
}

.build-project-item:hover img{
    transform: scale(1.08);
}

/* =========================================
   OVERLAY
========================================= */

.build-project-overlay{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    opacity: 0;
    transition: 0.4s;
}

.build-project-item:hover .build-project-overlay{
    opacity: 1;
}

/* Buttons */

.build-project-zoom,
.build-project-link{
    width: 56px;
    height: 56px;

    border: 2px solid #fff;
    background: transparent;

    color: #fff;
    font-size: 24px;

    cursor: pointer;
    transition: 0.3s;
}

.build-project-zoom:hover,
.build-project-link:hover{
    background: #f5b400;
    border-color: #f5b400;
}

/* =========================================
   POPUP
========================================= */

.build-popup{
    position: fixed;
    inset: 0;

    background: rgba(0,0,0,0.92);

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

    opacity: 0;
    visibility: hidden;

    transition: 0.4s;

    z-index: 99999;
}

.build-popup.active{
    opacity: 1;
    visibility: visible;
}

.build-popup-image{
    width: 85%;
    max-width: 1100px;
    max-height: 85vh;
    object-fit: contain;
}

/* Popup Buttons */

.build-popup-close{
    position: absolute;
    top: 25px;
    right: 40px;

    border: none;
    background: transparent;

    color: #fff;
    font-size: 55px;

    cursor: pointer;
}

.build-popup-prev,
.build-popup-next{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);

    width: 60px;
    height: 60px;

    border: none;
    background: rgba(255,255,255,0.2);

    color: #fff;
    font-size: 30px;

    cursor: pointer;
}

.build-popup-prev{
    left: 30px;
}

.build-popup-next{
    right: 30px;
}

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

@media(max-width:991px){

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

@media(max-width:767px){

    .build-projects-section{
        padding: 70px 0;
    }

    .build-projects-heading h2{
        font-size: 32px;
    }

    .build-projects-grid{
        grid-template-columns: 1fr;
    }

    .build-project-item img{
        height: 260px;
    }

    .build-popup-prev,
    .build-popup-next{
        width: 45px;
        height: 45px;
        font-size: 22px;
    }

    .build-popup-close{
        font-size: 42px;
        right: 20px;
    }
}

/*=========================================
    BUILD COUNTER SECTION
=========================================*/

.build-counter-section{
    position:relative;
    margin-top:45px;
    padding:20px 0;
    background:url("https://images.unsplash.com/photo-1504307651254-35680f356dfd?q=80&w=1800&auto=format&fit=crop")
    center center/cover no-repeat;
    overflow:hidden;
}

.build-counter-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.82);
}

.build-counter-container{
    position:relative;
    z-index:2;
    width:min(1200px, calc(100% - 40px));
    margin:auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

/*========================
    COUNTER BOX
========================*/

.build-counter-box{
    text-align:center;
    color:#fff;
}

/*========================
    ICON
========================*/

.build-counter-icon{
    margin-bottom:22px;
}

.build-counter-icon i{
    font-size:50px;
    color:var(--white);
}

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

.build-counter-number{
    display:inline-block;
    margin:0;
    font-size:30px;
    line-height:1;
    font-weight:800;
    color:#fff;
}

.counter-plus{
    font-size:30px;
    font-weight:700;
    color:#fff;
    position:relative;
    top:-18px;
    margin-left:2px;
}

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

.build-counter-box p{
    margin-top:16px;

    color:#fff;

    font-size:15px;
    font-weight:600;
    letter-spacing:1.5px;
}

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

@media(max-width:991px){

    .build-counter-container{
        grid-template-columns:repeat(2,1fr);
        gap:60px 30px;
    }
}

@media(max-width:767px){

    .build-counter-section{
        padding:80px 0;
    }

    .build-counter-container{
        grid-template-columns:1fr;
    }

    .build-counter-number{
        font-size:56px;
    }

    .build-counter-icon i{
        font-size:52px;
    }

    .counter-plus{
        font-size:28px;
        top:-12px;
    }
}

/* =========================================
   WHY CHOOSE US
========================================= */

.build-choose-section{
    position: relative;
    padding: 25px 0;
    margin-top:30px;
    background: url("images/svc-home/why-choose.jpg")
    left center/cover no-repeat;

    overflow: hidden;
}

/* White Overlay */

.build-choose-section::before{
    content: "";
    position: absolute;
    inset: 0;
    background: rgb(255 255 255 / 71%);
}

/* Container */

.build-choose-container{
    position: relative;
    z-index: 2;

    width: 92%;
    max-width: 1400px;
    margin: auto;
}

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

.build-choose-heading{
    text-align: center;
    margin-bottom: 70px;
}

.build-choose-heading h2{
    font-size: 42px;
    font-weight: 800;
    color: #222;
    margin-bottom: 20px;
}

.build-choose-divider{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 25px;
}

.build-choose-divider span{
    width: 70px;
    height: 3px;
    background: #f5b400;
}

.build-choose-square{
    width: 10px;
    height: 10px;
    border: 2px solid #222;
}

.build-choose-heading p{
    max-width: 760px;
    margin: auto;
    color: #777;
    line-height: 30px;
    font-size: 17px;
    margin-bottom:-50px;
}

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

.build-choose-grid{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 30px;
}

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

.build-choose-card{
    position: relative;
    background: #fff;
    padding: 20px 25px;
    text-align: center;
    overflow: hidden;
    transition: 0.4s;
}

/* Animated Border */

.build-choose-card::before,
.build-choose-card::after{
    content: "";
    position: absolute;
    transition: 0.5s ease;
}

/* Top Line */

.build-choose-card::before{
    top: 0;
    left: 0;
    width: 0;
    height: 4px;
    background: var(--yellow);
}

/* Right Line */

.build-choose-card::after{
    top: 0;
    right: 0;
    width: 4px;
    height: 0;
    background: var(--yellow);
}


/* Hover Animation */

.build-choose-card:hover::before{
    width: 100%;
}

.build-choose-card:hover::after{
    height: 100%;
}

.build-choose-card:hover .build-bottom-line{
    width: 100%;
}

.build-choose-card:hover .build-left-line{
    height: 100%;
}


/* Title */

.build-choose-card h3{
    font-size: 28px;
    margin-bottom: 18px;
    color: #222;
}

/* Text */

.build-choose-card p{
    color: #777;
    line-height: 32px;
    font-size: 17px;
}
.build-choose-icon{
    display:flex;
    justify-content:center;
    align-items:center;
}

.build-choose-icon img{
    width:60px;
    height:60px;
    object-fit:contain;
    margin-bottom:10px;
}

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

@media(max-width:991px){

    .build-choose-grid{
        grid-template-columns: 1fr;
    }
}

@media(max-width:767px){

    .build-choose-section{
        padding: 70px 0;
    }

    .build-choose-heading h2{
        font-size: 32px;
    }

    .build-choose-card{
        padding: 45px 25px;
    }

    .build-choose-card h3{
        font-size: 24px;
    }
}
/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:991px){

    .build-counter-container{
        grid-template-columns: repeat(2,1fr);
    }

    .build-choose-grid{
        grid-template-columns: 1fr;
    }
}

@media(max-width:767px){

    .build-counter-section{
        padding: 70px 0;
    }

    .build-counter-container{
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .build-counter-number{
        font-size: 42px;
    }

    .build-choose-section{
        padding: 70px 0;
    }

    .build-choose-heading h2{
        font-size: 32px;
    }

    .build-choose-card{
        padding: 45px 25px;
    }

    .build-choose-card h3{
        font-size: 24px;
    }
}

/* =========================================
   TESTIMONIAL SECTION
========================================= */

.build-testimonial-section{
    position: relative;

    padding: 110px 0;

    background: url("https://images.unsplash.com/photo-1504307651254-35680f356dfd?q=80&w=1800&auto=format&fit=crop")
    center center/cover no-repeat;

    overflow: hidden;
}

/* Dark Overlay */

.build-testimonial-overlay{
    position: absolute;
    inset: 0;

    background: rgba(0,0,0,0.65);
}

/* Container */

.build-testimonial-container{
    position: relative;
    z-index: 2;

    width: 92%;
    max-width: 1000px;
    margin: auto;

    text-align: center;
}

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

.build-testimonial-heading{
    margin-bottom: 60px;
}

.build-testimonial-heading h2{
    font-size: 42px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 22px;
}

.build-testimonial-divider{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.build-testimonial-divider span{
    width: 70px;
    height: 3px;
    background: #f5b400;
}

.build-testimonial-square{
    width: 10px;
    height: 10px;
    border: 2px solid #fff;
}

/* =========================================
   SLIDER
========================================= */

.build-testimonial-slider{
    position: relative;
}

/* Slide */

.build-testimonial-item{
    display: none;

    animation: buildFade 0.6s ease;
}

.build-testimonial-item.active{
    display: block;
}

/* Animation */

@keyframes buildFade{

    from{
        opacity: 0;
        transform: translateY(20px);
    }

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

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

.build-client-image{
    width: 110px;
    height: 110px;

    margin: auto auto 30px;

    border-radius: 50%;

    overflow: hidden;

    border: 5px solid rgba(255,255,255,0.3);
}

.build-client-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

.build-testimonial-item h3{
    color: #fff;
    font-size: 24px;
    margin-bottom: 25px;
}

.build-testimonial-item h3 span{
    color: #f5b400;
    font-size: 18px;
}

.build-testimonial-item p{
    color: #fff;

    line-height: 38px;

    font-size: 18px;

    max-width: 850px;

    margin: auto;
}

/* =========================================
   DOTS
========================================= */

.build-testimonial-dots{
    display: flex;
    justify-content: center;
    gap: 12px;

    margin-top: 45px;
}

.build-testimonial-dot{
    width: 15px;
    height: 15px;

    border: 2px solid #fff;

    background: transparent;

    cursor: pointer;

    transition: 0.3s;
}

.build-testimonial-dot.active{
    background: #f5b400;
    border-color: #f5b400;
}

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

@media(max-width:767px){

    .build-testimonial-section{
        padding: 70px 0;
    }

    .build-testimonial-heading h2{
        font-size: 30px;
    }

    .build-client-image{
        width: 90px;
        height: 90px;
    }

    .build-testimonial-item h3{
        font-size: 20px;
    }

    .build-testimonial-item h3 span{
        font-size: 15px;
    }

    .build-testimonial-item p{
        font-size: 16px;
        line-height: 30px;
    }
}

/* MAIN SECTION */
.ultraBlogSectionWrap{
    width:100%;
    background:#efefef;
    padding:70px 0;
}

.ultraBlogContainer{
    width:1180px;
    margin:auto;
}

/* TITLE AREA */
.ultraBlogTitleArea{
    text-align:center;
    margin-bottom:55px;
}

.ultraBlogMainTitle{
    font-size:34px;
    font-weight:700;
    color:#222;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:18px;
}

.ultraBlogDivider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-bottom:22px;
}

.ultraBlogDivider span{
    width:55px;
    height:3px;
    background:#f7b400;
    display:block;
}

.ultraBlogDivider i{
    width:10px;
    height:10px;
    border:2px solid #555;
    display:block;
    background:#fff;
}

.ultraBlogDesc{
    max-width:720px;
    margin:auto;
    color:#888;
    line-height:1.8;
    font-size:15px;
}

/* GRID */
.ultraBlogGrid{
    display:grid;
    grid-template-columns: 1.55fr 1fr;
    gap:28px;
}

/* LEFT FEATURE POST */
.ultraBlogFeatureCard{
    position:relative;
    overflow:hidden;
    height:520px;
    cursor:pointer;
}

.ultraBlogFeatureCard img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:0.5s;
}

.ultraBlogFeatureCard:hover img{
    transform:scale(1.06);
}

.ultraBlogOverlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(0,0,0,0.75), rgba(0,0,0,0.08));
}

.ultraBlogContent{
    position:absolute;
    left:35px;
    bottom:28px;
    color:#fff;
}

.ultraBlogContent h3{
    font-size:34px;
    margin-bottom:14px;
    font-weight:600;
}

.ultraBlogMeta{
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:16px;
    font-size:14px;
}

.ultraBlogMeta span{
    display:flex;
    align-items:center;
    gap:6px;
}

.ultraBlogContent p{
    font-size:16px;
    line-height:1.7;
    max-width:90%;
}

/* DATE TAG */
.ultraBlogDateTag{
    position:absolute;
    top:0;
    left:0;
    z-index:5;
}

.ultraBlogDateTop{
    background:#222;
    color:#fff;
    padding:10px 16px;
    text-align:center;
    font-size:13px;
    font-weight:bold;
}

.ultraBlogDateBottom{
    background:#f7b400;
    color:#fff;
    text-align:center;
    padding:12px 16px;
    font-size:24px;
    font-weight:700;
}

/* RIGHT POSTS */
.ultraBlogRightWrap{
    display:flex;
    flex-direction:column;
    gap:26px;
}

.ultraBlogMiniPost{
    display:flex;
    gap:20px;
    align-items:flex-start;
}

.ultraBlogMiniThumb{
    width:180px;
    min-width:180px;
    height:122px;
    overflow:hidden;
    position:relative;
}

.ultraBlogMiniThumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:0.4s;
}

.ultraBlogMiniPost:hover img{
    transform:scale(1.08);
}

.ultraBlogMiniContent h4{
    font-size:26px;
    color:#555;
    text-transform:uppercase;
    margin-bottom:12px;
    line-height:1.2;
}

.ultraBlogMiniMeta{
    display:flex;
    gap:16px;
    margin-bottom:14px;
    color:#999;
    font-size:14px;
}

.ultraBlogMiniMeta span{
    display:flex;
    align-items:center;
    gap:5px;
}

.ultraBlogMiniContent p{
    color:#8d8d8d;
    line-height:1.8;
    font-size:15px;
}

/* RESPONSIVE */
@media(max-width:1200px){
    .ultraBlogContainer{
        width:95%;
    }
}

@media(max-width:992px){

    .ultraBlogGrid{
        grid-template-columns:1fr;
    }

    .ultraBlogFeatureCard{
        height:460px;
    }
}

@media(max-width:768px){

    .ultraBlogMiniPost{
        flex-direction:column;
    }

    .ultraBlogMiniThumb{
        width:100%;
        height:240px;
    }

    .ultraBlogContent h3{
        font-size:28px;
    }

    .ultraBlogMiniContent h4{
        font-size:22px;
    }
}

/* ── Section ── */
    .team-section {
      position: relative;
      padding: 70px 20px 80px;
      background: #fff;
      overflow: hidden;
    }

    /* subtle city-skyline watermark on left & right */
    .team-section::before,
    .team-section::after {
      content: '';
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 220px;
      height: 420px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 420' fill='%23e8e8e8'%3E%3Crect x='10' y='180' width='30' height='240'/%3E%3Crect x='50' y='120' width='25' height='300'/%3E%3Crect x='85' y='80' width='35' height='340'/%3E%3Crect x='130' y='150' width='28' height='270'/%3E%3Crect x='168' y='100' width='32' height='320'/%3E%3Crect x='15' y='160' width='8' height='10'/%3E%3Crect x='55' y='100' width='8' height='10'/%3E%3Crect x='90' y='60' width='8' height='10'/%3E%3Crect x='135' y='130' width='8' height='10'/%3E%3Crect x='173' y='80' width='8' height='10'/%3E%3C/svg%3E");
      background-size: contain;
      background-repeat: no-repeat;
      opacity: 0.35;
      pointer-events: none;
    }
    .team-section::before { left: 0; }
    .team-section::after  { right: 0; transform: translateY(-50%) scaleX(-1); }

    /* ── Header ── */
    .team-header {
      text-align: center;
      margin-bottom: 50px;
      position: relative;
      z-index: 1;
    }

    .team-header h2 {
      font-family: 'Raleway', sans-serif;
      font-weight: 800;
      font-size: 2rem;
      letter-spacing: 2px;
      color: #111;
      text-transform: uppercase;
      margin-bottom: 18px;
    }

    /* gold divider */
    .divider {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0;
      margin-bottom: 22px;
    }
    .divider-line {
      width: 80px;
      height: 2px;
      background:var(--yellow);
    }
    .divider-diamond {
      width: 10px;
      height: 10px;
      background: var(--yellow);
      transform: rotate(45deg);
      margin: 0 2px;
    }

    .team-header p {
      font-size: 0.92rem;
      color: #666;
      max-width: 620px;
      margin: 0 auto;
      line-height: 1.7;
    }

    /* ── Grid ── */
    .team-grid {
      display: flex;
      justify-content: center;
      gap: 0;
      max-width: 900px;
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }

    /* ── Card ── */
    .team-card {
      flex: 1;
      max-width: 290px;
      text-align: center;
      padding: 0 18px 28px;
      border: 1px solid #e5e5e5;
      background: #fff;
      position: relative;
      transition: box-shadow 0.3s ease, transform 0.3s ease;
    }

    .team-card:hover {
      box-shadow: 0 8px 32px rgba(0,0,0,0.12);
      transform: translateY(-4px);
      z-index: 2;
    }

    /* card borders share edges */
    .team-card:not(:first-child) {
      border-left: none;
    }

    /* ── Photo ── */
    .team-photo-wrap {
      width: 100%;
      height: 270px;
      overflow: hidden;
      margin-bottom: 18px;
    }

    .team-photo-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top center;
      display: block;
      transition: transform 0.4s ease;
    }

    .team-card:hover .team-photo-wrap img {
      transform: scale(1.04);
    }

    /* ── Name ── */
    .team-name {
      font-family: 'Raleway', sans-serif;
      font-weight: 700;
      font-size: 1.05rem;
      color: #111;
      margin-bottom: 6px;
    }

    /* ── Role ── */
    .team-role {
      font-size: 0.82rem;
      color: #888;
      margin-bottom: 16px;
      letter-spacing: 0.3px;
    }

    /* ── Social Icons ── */
    .social-icons {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 6px;
    }

    .social-icons a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 28px;
      height: 28px;
      border: 1px solid #ccc;
      border-radius: 2px;
      color: #555;
      text-decoration: none;
      font-size: 0.72rem;
      font-weight: 700;
      font-family: 'Open Sans', sans-serif;
      transition: background 0.2s, border-color 0.2s, color 0.2s;
    }

    .social-icons a:hover {
      background: #c9a84c;
      border-color: #c9a84c;
      color: #fff;
    }

    /* SVG icons inline */
    .social-icons svg {
      width: 12px;
      height: 12px;
      fill: currentColor;
    }

  /* ══════════════════════════════════════
       GOLD WRAPPER
    ══════════════════════════════════════ */
    .gold-section {
      position: relative;
      background:var(--yellow);
      overflow: hidden;
      width: 100%;
    }
    .gold-section::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(105deg, transparent 48%, rgba(255,255,255,0.11) 48%);
      pointer-events: none;
      z-index: 0;
    }

    /* ══════════════════════════════════════
       PARTNERS SLIDER
    ══════════════════════════════════════ */
    .partners-bar {
      border-bottom: 1px solid rgba(0,0,0,0.13);
      padding: 18px 0;
      position: relative;
      z-index: 1;
      overflow: hidden;
    }

    /* The moving track — will be filled with cloned items by JS */
    .partners-track {
      display: flex;
      align-items: center;
      flex-wrap: nowrap;
      /* transition applied/removed by JS only during the animated step */
    }

    /* Each logo slide */
    .partner {
      flex: 0 0 auto;
      width: calc(100% / 5);   /* show 5 at once */
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      text-decoration: none;
      padding: 6px 10px;
      opacity: 0.92;
      transition: opacity .2s;
    }
    .partner:hover { opacity: 1; }

    .p-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .p-icon svg { display: block; fill: #fff; }

    .p-name {
      color: #fff;
      font-family: 'Open Sans', sans-serif;
      font-weight: 400;
      font-size: 1.05rem;
      letter-spacing: -0.1px;
      line-height: 1;
      white-space: nowrap;
    }
    .p-name.italic {
      font-family: 'Raleway', sans-serif;
      font-style: italic;
      font-weight: 800;
      font-size: 1.1rem;
      letter-spacing: -0.5px;
    }
    .p-name sup { font-size: .42em; vertical-align: super; font-style: normal; }

    /* ══════════════════════════════════════
       CTA ROW
    ══════════════════════════════════════ */
    .cta-bar {
      padding: 22px 60px;
      position: relative;
      z-index: 1;
    }
    .cta-inner {
      max-width: 1160px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 40px;
    }
    .cta-title {
      font-family: 'Raleway', sans-serif;
      font-weight: 900;
      font-size: .97rem;
      color: #1a1a1a;
      text-transform: uppercase;
      letter-spacing: .4px;
      margin-bottom: 7px;
      line-height: 1.45;
    }
    .cta-sub {
      font-size: .78rem;
      color: rgba(20,20,20,.72);
      line-height: 1.5;
    }
    .cta-btn {
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background:#f45a00;
      color: #fff;
      text-decoration: none;
      font-family: 'Raleway', sans-serif;
      font-weight: 700;
      font-size: .78rem;
      letter-spacing: 1.8px;
      text-transform: uppercase;
      padding: 15px 30px;
      white-space: nowrap;
      transition: background .2s;
    }
    .cta-btn:hover { background: #333; }
    .cta-btn .chevrons { font-size: .95rem; letter-spacing: -2px; line-height: 1; }

    /* ══════════════════════════════════════
       RESPONSIVE
    ══════════════════════════════════════ */
    @media (max-width: 960px) {
      .cta-bar { padding: 18px 28px; }
      .cta-inner { flex-direction: column; align-items: flex-start; gap: 16px; }
      .cta-btn { width: 100%; justify-content: center; }
      .partner { width: calc(100% / 3); }
    }
    @media (max-width: 540px) {
      .cta-bar { padding: 16px; }
      .cta-title { font-size: .82rem; }
      .p-name { font-size: .82rem; }
      .partner { width: calc(100% / 2); }
    }

    /* ─── TOP GOLD BAR ─── */
    .footer-topbar {
      width: 100%;
      height: 4px;
      background: #f5a800;
    }

    /* ─── MAIN FOOTER ─── */
    .footer-main {
      background: #1e1e1e;
      padding: 50px 40px 40px;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.1fr 1fr  1fr;
      gap: 40px;
      max-width: 1200px;
      margin: 0 auto;
    }

    /* ─── SECTION HEADING ─── */
    .footer-heading {
      font-family: 'Raleway', sans-serif;
      font-weight: 700;
      font-size: 0.85rem;
      letter-spacing: 1.5px;
      color: #fff;
      text-transform: uppercase;
      margin-bottom: 14px;
    }

    /* gold square + line divider */
    .footer-divider {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 22px;
    }
    .fd-square {
      width: 8px;
      height: 8px;
      background: #bbac84;
      flex-shrink: 0;
    }
    .fd-line {
      flex: 1;
      max-width: 60px;
      height: 2px;
      background: #bbac84;
    }

    /* ─── COL 1: ABOUT ─── */ 
    .about-logo {
      display: flex;
      align-items: center;
      gap: 6px;
      margin-bottom: 18px;
    }

    /* building icon SVG */
    .about-logo svg {
      width: 44px;
      height: 38px;
    }

    .about-logo-text {
      font-family: 'Raleway', sans-serif;
      font-weight: 800;
      font-size: 2rem;
      color: #fff;
      letter-spacing: 2px;
    }

    .about-text {
      font-size: 0.8rem;
      color: #999;
      line-height: 1.8;
    }

    /* ─── COL 3: USEFUL LINKS ─── */
    .links-list { list-style: none; }
    .links-list li {
      border-bottom: 1px solid #2e2e2e;
    }
    .links-list li:last-child { border-bottom: none; }
    .links-list a {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 9px 0;
      font-size: 0.8rem;
      color: #aaa;
      text-decoration: none;
      transition: color 0.2s, padding-left 0.2s;
    }
    .links-list a:hover { color: #bbac84; padding-left: 4px; }
    .links-list a svg { width: 12px; height: 12px; fill: #bbac84; flex-shrink: 0; }

    .social-heading {
      font-family: 'Raleway', sans-serif;
      font-weight: 700;
      font-size: 0.85rem;
      letter-spacing: 1.5px;
      color: #fff;
      text-transform: uppercase;
      margin-bottom: 14px;
    }

    .social-icons {
      display: flex;
      gap: 6px;
      margin-top: 10px;
    }
    .social-icons a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 32px;
      height: 32px;
      border: 1px solid #444;
      color: #aaa;
      text-decoration: none;
      transition: background 0.2s, border-color 0.2s, color 0.2s;
    }
    .social-icons a:hover {
      background: #f5a800;
      border-color: #f5a800;
      color: #fff;
    }
    .social-icons a svg { width: 13px; height: 13px; fill: currentColor; }
    .social-icons a.be-icon {
      font-size: 0.65rem;
      font-weight: 800;
      letter-spacing: -0.5px;
      font-family: 'Raleway', sans-serif;
    }

    /* ─── BOTTOM INFO BAR ─── */
    .footer-bottom {
      background: #161616;
      padding: 0 40px;
    }

    .footer-bottom-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      max-width: 1200px;
      margin: 0 auto;
    }

    .info-box {
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 22px 20px;
      border: 1px solid #2a2a2a;
      border-top: none;
    }
    .info-box:not(:first-child) { border-left: none; }

    .info-icon {
      flex-shrink: 0;
      width: 52px;
      height: 52px;
      /* border: 1px solid #333; */
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .info-icon svg { width: 26px; height: 26px; fill: none; stroke: #f5a800; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

   
    .info-label {
      font-weight: 700;
      font-size: 0.8rem;
      letter-spacing: 1.5px;
      color: #fff;
      text-transform: uppercase;
      margin-bottom: 5px;
    }
    .info-detail {
      font-size: 0.75rem;
      color: #888;
      line-height: 1.7;
      margin-bottom:10px;
    }

    /* ─── HAZARD STRIPE ─── */
    .footer-hazard {
      width: 100%;
      height: 28px;
      background: repeating-linear-gradient(
        -45deg,
        #f5a800 0px,
        #f5a800 14px,
        #1a1a1a 14px,
        #1a1a1a 28px
      );
    }
.footer-contact-link{
    color:#888;
    text-decoration:none;
    transition:.3s ease;
}

.footer-contact-link:hover{
    color:#f45a00;
}
    /* ─── BACK TO TOP ─── */
    .back-to-top {
      position: fixed;
      bottom: 20px;
      right: 20px;
      width: 40px;
      height: 40px;
      background: #f45a00;
      border-radius: 50%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      text-decoration: none;
      z-index: 99;
      transition: background 0.2s;
    }
    .back-to-top:hover { background: #d49200; }
    .back-to-top svg { width: 14px; height: 14px; fill: #fff; }
    .back-to-top span {
      font-size: 0.45rem;
      color: #fff;
      font-weight: 700;
      letter-spacing: 1px;
      margin-top: 1px;
    }

    /* ══════════════════════════════════════════
       RESPONSIVE — Tablet  (≤ 900px)
    ══════════════════════════════════════════ */
    @media (max-width: 900px) {
      .footer-main { padding: 40px 24px 36px; }

      /* 2-column grid on tablet */
      .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px 28px;
      }

      /* bottom info bar: 2×2 grid */
      .footer-bottom { padding: 0 24px; }
      .footer-bottom-grid {
        grid-template-columns: 1fr 1fr;
      }
      .info-box { border: 1px solid #2a2a2a; }
      .info-box:nth-child(2) { border-left: none; }
      .info-box:nth-child(3) { border-top: none; }
      .info-box:nth-child(4) { border-top: none; border-left: none; }
    }

    /* ══════════════════════════════════════════
       RESPONSIVE — Mobile  (≤ 560px)
    ══════════════════════════════════════════ */
    @media (max-width: 560px) {
      /* ── main footer ── */
      .footer-main { padding: 32px 16px 28px; }

      /* single column */
      .footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
      }

      /* separate each section with a subtle top border */
      .footer-grid > div + div {
        padding-top: 32px;
        border-top: 1px solid #2a2a2a;
      }

      /* logo slightly smaller */
      .about-logo-text { font-size: 1.65rem; }

      /* newsletter input full width */
      .newsletter-form { width: 100%; }
      .newsletter-form input { font-size: 0.7rem; padding: 10px 10px; }

      /* social icons — more touch-friendly */
      .social-icons a { width: 38px; height: 38px; }

      /* ── bottom info bar ── */
      .footer-bottom { padding: 0 16px; }
      .footer-bottom-grid {
        grid-template-columns: 1fr;
      }

      /* reset border tricks, use simple top border separation */
      .info-box {
        border: none;
        border-top: 1px solid #2a2a2a;
        padding: 18px 4px;
      }
      .info-box:first-child { border-top: none; }

      /* icon a touch smaller on mobile */
      .info-icon { width: 44px; height: 44px; }
      .info-icon svg { width: 22px; height: 22px; }
      .info-label { font-size: 0.75rem; }
      .info-detail { font-size: 0.72rem; }

      /* back-to-top closer to corner */
      .back-to-top { bottom: 96px; right: 16px; width: 50px; height: 50px; }
    }
    
/*GALLERY SECTION */

/* GALLERY BANNER */

.svc-gallery-banner{
    position:relative;
    width:100%;
    height:450px;
    background:url('images/svc-banner/gallery-page-banner.jpg') center center/cover no-repeat;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

/* OVERLAY */

.svc-gallery-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to right, rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.65));
}

/* CONTENT */

.svc-gallery-banner-content{
    position:relative;
    z-index:2;
    text-align:center;
    color:#fff;
    padding:0 20px;
    animation:fadeUp 1s ease;
}

.svc-gallery-banner-content span{
    display:inline-block;
    font-size:15px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    color:#ff5e14;
    margin-bottom:15px;
}

.svc-gallery-banner-content h1{
    font-size:72px;
    font-weight:800;
    margin-bottom:20px;
    line-height:1.1;
}

/* BREADCRUMB */

.svc-gallery-breadcrumb{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
}

.svc-gallery-breadcrumb a{
    color:#fff;
    text-decoration:none;
    font-size:16px;
    transition:0.3s;
}

.svc-gallery-breadcrumb a:hover{
    color:#bcae87;
}

.svc-gallery-breadcrumb i{
    font-size:12px;
    color:#bcae87;
}

.svc-gallery-breadcrumb p{
    margin:0;
    font-size:16px;
    color:#ddd;
}

/* ANIMATION */

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(40px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* RESPONSIVE */

@media(max-width:991px){

    .svc-gallery-banner{
        height:380px;
    }

    .svc-gallery-banner-content h1{
        font-size:52px;
    }
}

@media(max-width:576px){

    .svc-gallery-banner{
        height:320px;
    }

    .svc-gallery-banner-content h1{
        font-size:36px;
    }

    .svc-gallery-banner-content span{
        font-size:13px;
        letter-spacing:1px;
    }

    .svc-gallery-breadcrumb a,
    .svc-gallery-breadcrumb p{
        font-size:14px;
    }
}

.svc-gallery-section{
    padding:40px 20px;
    background:#f7f7f7;
}

.svc-gallery-container{
    max-width:1200px;
    margin:auto;
}

/* HEADING */

.svc-gallery-heading{
    text-align:center;
    margin-bottom:60px;
}

.svc-gallery-heading span{
    color:#ff5e14;
    font-size:16px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1px;
}

.svc-gallery-heading h2{
    font-size:45px;
    margin-top:10px;
    color:#111;
}

/* GRID */

.svc-gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

/* ITEM */

.svc-gallery-item{
    overflow:hidden;
    border-radius:12px;
    cursor:pointer;
    position:relative;
}

.svc-gallery-item img{
    width:100%;
    height:320px;
    object-fit:cover;
    transition:0.5s;
    display:block;
}

/* HOVER */

.svc-gallery-item:hover img{
    transform:scale(1.1) rotate(2deg);
}

/* MODAL */

.svc-gallery-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.95);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:999999;
}

/* SHOW MODAL */

.svc-gallery-modal.active{
    display:flex;
}

/* MODAL IMAGE */

.svc-gallery-modal-img{
   width:auto;
    height:auto;
    max-width:90vw;
    max-height:90vh;
    object-fit:contain;
    border-radius:12px;
    display:block;
    margin:auto;
}

/* CLOSE */

.svc-gallery-close{
    position:absolute;
    top:20px;
    right:40px;

    font-size:45px;
    color:#fff;

    cursor:pointer;
}

/* BUTTONS */

.svc-gallery-prev,
.svc-gallery-next{
    position:absolute;
    top:50%;
    transform:translateY(-50%);

    width:60px;
    height:60px;

    border:none;
    border-radius:50%;

    background:rgba(255,255,255,0.2);

    color:#fff;
    font-size:28px;

    cursor:pointer;
}

.svc-gallery-prev{
    left:40px;
}

.svc-gallery-next{
    right:40px;
}

/* RESPONSIVE */

@media(max-width:991px){

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

}

@media(max-width:767px){

    .svc-gallery-grid{
        grid-template-columns:1fr;
    }

    .svc-gallery-heading h2{
        font-size:32px;
    }

    .svc-gallery-modal-img{
        width:92%;
    }

    .svc-gallery-prev,
    .svc-gallery-next{
        width:45px;
        height:45px;
        font-size:20px;
    }

    .svc-gallery-prev{
        left:10px;
    }

    .svc-gallery-next{
        right:10px;
    }

}



/* ======================================
   SERVICES PAGE BANNER
====================================== */

.svc-services-page-banner{
    position:relative;
    height:500px;
    background:url("images/svc-banner/service-banner.jpg") center/cover no-repeat;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    overflow:hidden;
}

.svc-services-page-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        135deg,
        rgba(0,0,0,.72),
        rgba(0,0,0,.45)
    );
}

.svc-services-page-content{
    position:relative;
    z-index:2;
    color:#fff;
    padding:0 20px;
}

.svc-services-page-content h1{
    font-size:72px;
    font-weight:800;
    margin-bottom:10px;
    letter-spacing:1px;

    animation:bannerTitle 1s ease;
}

.svc-services-page-content p{
    font-size:16px;
    opacity:.9;

    animation:bannerText 1.2s ease;
}

@keyframes bannerTitle{
    from{
        opacity:0;
        transform:translateY(60px);
    }

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

@keyframes bannerText{
    from{
        opacity:0;
        transform:translateY(30px);
    }

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

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

.svc-services-page-section{
    padding:55px 20px;
    background:#f7f7f7;
}

.svc-services-page-container{
    max-width:1320px;
    margin:auto;
}

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

.svc-services-page-heading{
    text-align:center;
    margin-bottom:40px;
}

.svc-services-subtitle{
    display:inline-block;
    color:#f45a00;
    font-size:13px;
    font-weight:700;
    letter-spacing:3px;
    margin-bottom:12px;
    text-transform:uppercase;
}

.svc-services-page-heading h2{
    font-size:clamp(30px,5vw,48px);
    color:#111;
    margin-bottom:18px;
    font-weight:800;
    line-height:1.2;
}

.svc-services-page-heading p{
    max-width:760px;
    margin:auto;
    color:#666;
    font-size:15px;
    line-height:1.9;
}

/* Divider */

.svc-services-divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-bottom:22px;
}

.svc-services-divider span{
    width:70px;
    height:2px;
    background:#f45a00;
}

.svc-services-square{
    width:12px;
    height:12px;
    background:#f45a00;
    transform:rotate(45deg);
}

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

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

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

.svc-service-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    position:relative;

    display:flex;
    flex-direction:column;
    height:100%;

    border:1px solid rgba(0,0,0,.05);

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

    transition:
    transform .45s ease,
    box-shadow .45s ease;

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

    animation:cardFade .8s ease forwards;
}

/* Stagger */

.svc-service-card:nth-child(1){ animation-delay:.1s; }
.svc-service-card:nth-child(2){ animation-delay:.2s; }
.svc-service-card:nth-child(3){ animation-delay:.3s; }
.svc-service-card:nth-child(4){ animation-delay:.4s; }
.svc-service-card:nth-child(5){ animation-delay:.5s; }
.svc-service-card:nth-child(6){ animation-delay:.6s; }

@keyframes cardFade{

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

/* Hover */

.svc-service-card:hover{
    transform:translateY(-10px);

    box-shadow:
    0 18px 45px rgba(0,0,0,.12);
}

/* Top Border */

.svc-service-card::after{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:0;
    height:4px;
    background:#f45a00;
    transition:.45s ease;
}

.svc-service-card:hover::after{
    width:100%;
}

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

.svc-service-image{
    position:relative;
    overflow:hidden;
}

.svc-service-image img{
    width:100%;
    height:230px;
    object-fit:cover;
    display:block;
    transition:
    transform .7s ease,
    filter .5s ease;
}

/* Overlay */

.svc-service-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:
    linear-gradient(
        to top,
        rgba(0,0,0,.35),
        rgba(0,0,0,0)
    );
    opacity:.8;
    transition:.4s ease;
}

.svc-service-card:hover .svc-service-image img{
    transform:scale(1.08);
    filter:brightness(1.05);
}

.svc-service-card:hover .svc-service-image::after{
    opacity:.45;
}

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

.svc-service-content{
    padding:22px 22px 20px;
    flex:1;
    display:flex;
    flex-direction:column;
}

.svc-service-content h3{
    font-size:21px;
    font-weight:800;
    color:#111;
    line-height:1.35;
    margin-bottom:14px;
    position:relative;
    padding-bottom:12px;
}

/* Animated underline */

.svc-service-content h3::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:55px;
    height:3px;
    background:#f45a00;
    transition:.4s ease;
}

.svc-service-card:hover .svc-service-content h3::after{
    width:90px;
}

.svc-service-content p{
    font-size:15px;
    line-height:1.85;
    color:#666;
    flex:1;
}

/* ======================================
   READ MORE TEXT
====================================== */

.svc-more-text{
    display:none;
}

.svc-service-card.expanded .svc-more-text{
    display:inline;
}

/* Readmore Text */

.svc-readmore-btn{
    margin-top:auto;
    background:none;
    border:none;
    padding:0;
    cursor:pointer;
    color:#f45a00;
    font-size:14px;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    gap:8px;
    transition:.35s ease;
    position:relative;
}


.svc-readmore-btn::before{
    /*content:"";*/
    position:absolute;
    left:0;
    bottom:-4px;
    width:0;
    height:2px;
    background:#f45a00;
    transition:.35s ease;
}

.svc-readmore-btn:hover::before{
    width:100%;
}

/* Arrow */

.svc-readmore-btn::after{
    content:"→";
    transition:.35s ease;
}

/*.svc-readmore-btn:hover::after{*/
/*    transform:translateX(5px);*/
/*}*/

.svc-readmore-btn:hover{
    letter-spacing:.5px;
}
/* =========================================
   SAFE PREMIUM CARD ANIMATIONS
========================================= */

/* LIGHT SWEEP */

.svc-service-card{
    overflow:hidden;
}

.svc-service-card .svc-service-image::before{
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    width:60%;
    height:100%;
    background:
    linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.25),
        transparent
    );
    transform:skewX(-25deg);
    transition:.8s ease;
    z-index:2;
}

.svc-service-card:hover .svc-service-image::before{
    left:140%;
}

/* CONTENT SLIDE */

.svc-service-content h3,
.svc-service-content p,
.svc-readmore-btn{
    transition:
    transform .4s ease,
    opacity .4s ease;
}

.svc-service-card:hover .svc-service-content h3{
    transform:translateX(6px);
}

.svc-service-card:hover .svc-service-content p{
    transform:translateY(-2px);
}

.svc-service-card:hover .svc-readmore-btn{
    transform:translateX(6px);
}

/* EXTRA GLOW */

.svc-service-card:hover{
    box-shadow:
    0 20px 50px rgba(0,0,0,.12),
    0 0 0 1px rgba(244,90,0,.08);
}

/* IMAGE ZOOM SMOOTHER */

.svc-service-image img{
    transition:
    transform .8s ease,
    filter .5s ease;
}

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

@media(max-width:1100px){

    .svc-services-page-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .svc-services-page-section{
        padding:50px 18px;
    }
}

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

@media(max-width:700px){

    .svc-services-page-banner{
        height:320px;
    }

    .svc-services-page-content h1{
        font-size:34px;
    }

    .svc-services-page-content p{
        font-size:14px;
    }

    .svc-services-page-section{
        padding:40px 14px;
    }

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

    .svc-services-page-grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .svc-service-image img{
        height:200px;
    }

    .svc-service-content{
        padding:20px 18px 18px;
    }

    .svc-service-content h3{
        font-size:19px;
    }

    .svc-service-content p{
        font-size:14px;
        line-height:1.75;
    }

    .svc-services-divider span{
        width:45px;
    }
}

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

@media(max-width:480px){

    .svc-services-page-banner{
        height:320px;
    }

    .svc-services-page-content h1{
        font-size:30px;
    }

    .svc-services-page-heading h2{
        font-size:28px;
    }

    .svc-service-image img{
        height:190px;
    }
}

/* ===================== PROJECTS PAGE CSS ===================== */


.svc-project-banner{
    position:relative;
    width:100%;
    height:500px;
    background:
    linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.6)),
    url('images/svc-banner/project-page-banner.jpg');
    background-size:cover;
    background-position:center;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

/* OVERLAY */

.svc-project-overlay{
    position:absolute;
    inset:0;
    background:
    radial-gradient(circle at top left,
    rgba(255,94,20,0.25),
    transparent 40%);
}

/* CONTENT */

.svc-project-banner-content{
    position:relative;
    z-index:2;
    text-align:center;
    max-width:900px;
    padding:0 20px;
    color:#fff;
    animation:svcFadeUp 1s ease;
}

.svc-project-banner-content span{
    display:inline-block;
    color:#ff5e14;
    font-size:15px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
    margin-bottom:18px;
}

.svc-project-banner-content h1{
    font-size:72px;
    line-height:1.1;
    font-weight:800;
    margin-bottom:20px;
}

.svc-project-banner-content p{
    font-size:18px;
    line-height:1.8;
    color:#e6e6e6;
    max-width:760px;
    margin:auto auto 30px;
}

/* BREADCRUMB */

.svc-project-breadcrumb{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
}

.svc-project-breadcrumb a{
    color:#fff;
    text-decoration:none;
    font-size:15px;
    transition:0.3s;
}

.svc-project-breadcrumb a:hover{
    color:#ff5e14;
}

.svc-project-breadcrumb i{
    font-size:12px;
    color:#ff5e14;
}

.svc-project-breadcrumb p{
    margin:0;
    color:#d9d9d9;
    font-size:15px;
}

/* ANIMATION */

@keyframes svcFadeUp{
    from{
        opacity:0;
        transform:translateY(40px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

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

@media(max-width:991px){

    .svc-project-banner{
        height:420px;
    }

    .svc-project-banner-content h1{
        font-size:54px;
    }

    .svc-project-banner-content p{
        font-size:16px;
    }
}

@media(max-width:576px){

    .svc-project-banner{
        height:330px;
    }

    .svc-project-banner-content h1{
        font-size:38px;
    }

    .svc-project-banner-content span{
        font-size:13px;
        letter-spacing:1px;
    }

    .svc-project-banner-content p{
        font-size:14px;
        line-height:1.7;
        margin-bottom:20px;
    }

    .svc-project-breadcrumb{
        gap:8px;
    }

    .svc-project-breadcrumb a,
    .svc-project-breadcrumb p{
        font-size:13px;
        margin-bottom:10px;
    }
}
/* =========================================
   PROJECT SECTION
========================================= */

.prj-section{
  padding:100px 20px;
  background:#f8f6f2;
  overflow:hidden;
}

.prj-container{
  max-width:1320px;
  margin:auto;
}

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

.prj-heading{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:end;
  margin-bottom:70px;
}

.prj-subtitle{
  display:inline-block;
  font-size:12px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:#c7863f;
  margin-bottom:18px;
  font-weight:600;
}

.prj-heading h2{
  font-size:72px;
  line-height:1.1;
  color:#111;
  font-weight:500;
}

.prj-heading h2 em{
  color:#c7863f;
  font-style:italic;
}

.prj-heading-right p{
  color:#666;
  line-height:1.9;
  font-size:15px;
  margin-bottom:35px;
}

.prj-stats{
  display:flex;
  gap:40px;
}

.prj-stat{
  border-left:2px solid #c7863f;
  padding-left:18px;
}

.prj-stat h3{
  font-size:34px;
  color:#111;
  margin-bottom:6px;
  font-weight:600;
}

.prj-stat span{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#777;
}

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

.prj-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

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

.prj-card{
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,0.08);
  transition:0.45s ease;
  position:relative;

  opacity:0;
  transform:translateY(50px);
  animation:prjFadeUp 0.8s ease forwards;

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

.prj-card:nth-child(2){ animation-delay:0.1s; }
.prj-card:nth-child(3){ animation-delay:0.2s; }
.prj-card:nth-child(4){ animation-delay:0.3s; }
.prj-card:nth-child(5){ animation-delay:0.4s; }
.prj-card:nth-child(6){ animation-delay:0.5s; }

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

.prj-card:hover{
  transform:translateY(-10px);
  border-color:rgba(199,134,63,0.4);
  box-shadow:0 20px 45px rgba(0,0,0,0.12);
}

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

.prj-image{
  position:relative;
  height:320px;
  overflow:hidden;
}

.prj-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 0.8s ease;
}

.prj-card:hover img{
  transform:scale(1.08);
}

/* =========================================
   BADGE
========================================= */

.prj-badge{
  position:absolute;
  top:18px;
  left:18px;
  z-index:3;
  background:#c7863f;
  color:#fff;
  padding:8px 14px;
  border-radius:30px;
  font-size:10px;
  letter-spacing:2px;
  text-transform:uppercase;
  font-weight:600;
}

/* =========================================
   OVERLAY
========================================= */

.prj-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(0,0,0,0.88) 0%,
    rgba(0,0,0,0.25) 55%,
    transparent 100%
  );

  display:flex;
  align-items:flex-end;
  padding:28px;

  opacity:0;
  transition:0.45s ease;
}

.prj-card:hover .prj-overlay{
  opacity:1;
}

.prj-overlay-content{
  transform:translateY(20px);
  transition:0.45s ease;
}

.prj-card:hover .prj-overlay-content{
  transform:translateY(0);
}

.prj-line{
  width:55px;
  height:2px;
  background:#c7863f;
  display:block;
  margin-bottom:18px;
}

.prj-overlay h3{
  color:#fff;
  font-size:26px;
  margin-bottom:12px;
  font-weight:500;
}

.prj-overlay p{
  color:rgba(255,255,255,0.75);
  font-size:14px;
  line-height:1.8;
  margin-bottom:20px;
}

.prj-overlay a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#e7b170;
  text-decoration:none;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:2px;
  transition:0.3s ease;
}

.prj-overlay a:hover{
  gap:16px;
  color:#fff;
}

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

.prj-info{
  padding:22px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.prj-info h4{
  font-size:18px;
  color:#111;
  font-weight:500;
}

.prj-arrow{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid #ddd;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:0.4s ease;
  background:#fff;
}

.prj-arrow svg{
  color:#111;
}

.prj-card:hover .prj-arrow{
  background:#c7863f;
  border-color:#c7863f;
  transform:rotate(45deg);
}

.prj-card:hover .prj-arrow svg{
  color:#fff;
}

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

@media(max-width:991px){

  .prj-heading{
    grid-template-columns:1fr;
    gap:30px;
  }

  .prj-heading h2{
    font-size:58px;
  }

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

}

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

@media(max-width:767px){

  .prj-section{
    padding:70px 15px;
  }

  .prj-heading{
    margin-bottom:45px;
  }

  .prj-heading h2{
    font-size:42px;
  }

  .prj-heading-right p{
    font-size:14px;
  }

  .prj-stats{
    gap:20px;
    flex-wrap:wrap;
  }

  .prj-grid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .prj-image{
    height:270px;
  }

  .prj-overlay{
    opacity:1;
    background:linear-gradient(
      to top,
      rgba(0,0,0,0.88) 0%,
      rgba(0,0,0,0.2) 70%
    );
  }

  .prj-overlay-content{
    transform:none;
  }

  .prj-overlay h3{
    font-size:22px;
  }

  .prj-overlay p{
    font-size:13px;
    line-height:1.7;
  }

}
/* =========================================
   ABOUT PAGE BANNER
========================================= */

.svc-about-banner{
    position: relative;
    width: 100%;
    min-height: 500px;

    background-image:
    url('images/svc-about/about-page-banner.jpg');

    background-size: cover;
    background-position: center;

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

    overflow: hidden;
}

/* Overlay */

.svc-about-banner-overlay{
    position: absolute;
    inset: 0;

    background:
    linear-gradient(
        to right,
        rgba(0,0,0,0.20),
        rgba(0,0,0,0.55)
    )
}

/* Container */

.svc-about-banner-container{
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1200px;

    padding: 0 20px;

    text-align: center;

    animation: svcBannerFade 1.2s ease;
}

/* Subtitle */

.svc-about-banner-subtitle{
    display: inline-block;

    color: #f4a100;

    font-size: 15px;
    font-weight: 700;

    letter-spacing: 3px;
    text-transform: uppercase;

    margin-bottom: 18px;
}

/* Heading */

.svc-about-banner-container h1{
    font-size: 72px;
    color: #fff;
    font-weight: 800;
    margin-bottom: 22px;
    line-height: 1.1;
}

/* Divider */

.svc-about-banner-divider{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 25px;
}

.svc-about-banner-divider span{
    width: 80px;
    height: 2px;
    background: #bcae87;
}

.svc-about-banner-square{
    width: 14px;
    height: 14px;
    background: #bcae87;
    transform: rotate(45deg);
}

/* Paragraph */

.svc-about-banner-container p{
    max-width: 750px;
    margin: auto;
    color: rgba(255,255,255,0.85);
    font-size: 18px;
    line-height: 34px;
}

/* Breadcrumb */

.svc-about-breadcrumb{
    margin-top: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}

.svc-about-breadcrumb a{
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s ease;
}

.svc-about-breadcrumb a:hover{
    color: #f4a100;
}

.svc-about-breadcrumb span{
    color: #bcae87;
}

.svc-about-breadcrumb p{
    color: #bcae87;
    margin: 0;
    font-weight: 700;
}


.svc-about-services-preview{
    margin:30px auto;
    max-width:1200px;
    padding:0 20px;
    position:relative;
}

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

.svc-about-services-title{
    text-align:center;
    margin-bottom:55px;
}

.svc-about-services-title span{
    display:inline-block;
    color:var(--yellow);
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:12px;
}

.svc-about-services-title h3{
    font-size:42px;
    line-height:1.2;
    color:#111;
    font-weight:700;
    margin:0;
}

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

.svc-about-services-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:30px;
}

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

.svc-about-service-card{
    position:relative;
    background:#fff;
    padding:35px 30px;
    border-radius:24px;
    overflow:hidden;
    text-decoration:none;
    border:1px solid rgba(0,0,0,0.06);
    box-shadow:0 10px 35px rgba(0,0,0,0.04);
    transition:0.45s ease;
    min-height:250px;
    z-index:1;
}

/* Gradient Hover Effect */

.svc-about-service-card::before{
    content:"";
    position:absolute;
    top:-120px;
    right:-120px;
    width:240px;
    height:240px;
    background:linear-gradient(
        135deg,
        rgba(255,94,20,0.12),
        transparent
    );
    border-radius:50%;
    transition:0.5s ease;
}

.svc-about-service-card:hover::before{
    transform:scale(1.4);
}

/* Hover Animation */

.svc-about-service-card:hover{
    transform:translateY(-12px);
    box-shadow:0 22px 45px rgba(0,0,0,0.08);
    border-color:rgba(255,94,20,0.2);
}

/* =========================================
   ICON BOX
========================================= */

.svc-service-icon{
    width:75px;
    height:75px;
    border-radius:20px;
    background:#fff3ec;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:28px;
    position:relative;
    z-index:2;
    transition:0.4s ease;

    /* Floating Animation */
    animation:svcFloat 3s ease-in-out infinite;
}

.svc-service-icon i{
    font-size:30px;
    color:#ff5e14;
    transition:0.4s ease;
}

/* Icon Hover */

.svc-about-service-card:hover .svc-service-icon{
    background:#ff5e14;
    transform:rotate(-8deg) scale(1.08);
}

.svc-about-service-card:hover .svc-service-icon i{
    color:#fff;
}

/* =========================================
   TITLE
========================================= */

.svc-about-service-card h4{
    font-size:24px;
    line-height:1.3;
    margin-bottom:16px;
    color:#111;
    font-weight:700;
    position:relative;
    z-index:2;
}

/* =========================================
   DESCRIPTION
========================================= */

.svc-about-service-card p{
    font-size:15px;
    line-height:1.8;
    color:#666;
    position:relative;
    z-index:2;
    margin-bottom:25px;
}

/* =========================================
   ARROW
========================================= */

.svc-arrow{
    color:#ff5e14;
    font-size:18px;
    transition:0.4s ease;
    position:relative;
    z-index:2;
}

.svc-about-service-card:hover .svc-arrow{
    transform:translateX(8px);
}

/* =========================================
   ABOUT CTA BUTTON
========================================= */

.svc-about-cta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    margin-top:12px;

    padding:14px 34px;

    background:#f45a00;
    color:#fff;
    text-decoration:none;
    font-size:18px;
    font-weight:700;
    letter-spacing:.5px;
    border-radius:50px;
    transition:background .35s ease,
    transform .35s ease,
    box-shadow .35s ease;
    box-shadow:
    0 10px 25px rgba(244,90,0,.25);
}

/* Hover */

.svc-about-cta-btn:hover{
    background:#111;

    transform:translateY(-3px);

    box-shadow:
    0 14px 30px rgba(0,0,0,.18);

    color:#fff;
}

/* Small Arrow */

.svc-about-cta-btn::after{
    content:"→";
    margin-left:10px;

    transition:.35s ease;
}

.svc-about-cta-btn:hover::after{
    transform:translateX(5px);
}

/* Mobile */

@media(max-width:767px){

    .svc-about-cta-btn{
        padding:13px 28px;
        font-size:13px;
    }
    .svc-about-breadcrumb
    {
        margin-top:15px !important;
    }
}

/* =========================================
   FLOAT ANIMATION
========================================= */

@keyframes svcFloat{

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

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

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

}

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

@media(max-width:991px){

    .svc-about-services-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

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

@media(max-width:768px){

    .svc-about-services-preview{
        margin:60px auto;
    }

    .svc-about-services-grid{
        grid-template-columns:1fr;
        gap:22px;
    }

    .svc-about-services-title h3{
        font-size:30px;
    }

    .svc-about-service-card{
        padding:30px 25px;
        min-height:auto;
    }

    .svc-about-service-card h4{
        font-size:22px;
    }

}

@keyframes svcBannerFade{

    from{
        opacity: 0;
        transform: translateY(40px);
    }

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

}

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

@media(max-width: 991px){

    .svc-about-banner{
        min-height: 420px;
    }

    .svc-about-banner-container h1{
        font-size: 58px;
    }

}

@media(max-width: 767px){

    .svc-about-banner{
        min-height: 360px;
    }

    .svc-about-banner-container h1{
        font-size: 42px;
    }

    .svc-about-banner-container p{
        font-size: 16px;
        line-height: 30px;
    }

}

@media(max-width: 576px){

    .svc-about-banner
    {
        min-height: 320px !important;
    }

    .svc-about-banner-container h1{
        font-size: 34px;
    }

    .svc-about-banner-subtitle{
        font-size: 13px;
    }

    .svc-about-banner-divider span{
        width: 55px;
    }

}

/* =========================================
   SVC ABOUT PAGE SECTION CSS
========================================= */

.svc-about-page-section{
    width: 100%;
    padding: 40px 20px;
    background: #f8f8f8;
    overflow: hidden;
    position: relative;
}

.svc-about-page-container{
    max-width: 1320px;
    margin: auto;
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 90px;
    align-items: center;
    padding: 0 25px;
}

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

.svc-about-page-left{
    animation: svcAboutFadeLeft 1.2s ease;
}

.svc-about-subtitle{
    display: inline-block;
    color: var(--yellow);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 18px;
    position: relative;
    display: inline-block;
    animation:
    svcTextFadeUp 1s ease forwards;
    opacity: 0;
}

.svc-about-page-left h2{
    font-size: 52px;
    line-height: 1.2;
    color: #111;
    margin-bottom: 22px;
    font-weight: 800;
    opacity: 0;
    animation:
    svcHeadingReveal 1.2s ease forwards;
    animation-delay: 0.3s;
}

/* Divider */

.svc-about-divider{
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
}

.svc-about-divider span{
    width: 70px;
    height: 2px;
    background: var(--yellow);
}

.svc-about-square{
    width: 14px;
    height: 14px;
    background: var(--yellow);
    transform: rotate(45deg);
}

/* Text */

.svc-about-text{
    font-size: 16px;
    line-height: 31px;
    color: #666;
    margin-bottom: 24px;
}

/* =========================================
   FEATURE BOXES
========================================= */

.svc-about-feature-grid{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 25px;
    margin-top: 45px;
}

.svc-about-feature-box{
    background: #fff;
    border-radius: 18px;
    padding: 24px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06);
    transition: 0.5s ease;
    position: relative;
    overflow: hidden;
}

/* Hover Effect */

.svc-about-feature-box:hover{
    transform: translateY(-10px);
    box-shadow: 0 18px 40px rgba(0,0,0,0.12);
}

/* Top Border Animation */

.svc-about-feature-box::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 4px;
    background: #f4a100;
    transition: 0.5s ease;
}

.svc-about-feature-box:hover::before{
    width: 100%;
}

/* Icons */

.svc-about-feature-icon{
    width: 60px;
    height: 60px;
    background: rgba(244,161,0,0.12);

    border-radius: 15px;

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

    flex-shrink: 0;

    transition: 0.4s ease;
}

.svc-about-feature-icon i{
    font-size: 24px;
    color: #f4a100;
}

.svc-about-feature-box:hover .svc-about-feature-icon{
    background: #f4a100;
    transform: rotate(-8deg);
}

.svc-about-feature-box:hover .svc-about-feature-icon i{
    color: #fff;
}

.svc-about-feature-box h4{
    font-size: 20px;
    color: #111;
    margin-bottom: 10px;
}

.svc-about-feature-box p{
    font-size: 14px;
    line-height: 26px;
    color: #666;
}

/* =========================================
   RIGHT IMAGES
========================================= */

.svc-about-page-right{
    position: relative;
    animation: svcAboutFadeRight 1.2s ease;
}

/* Main Image */

.svc-about-main-image{
    border-radius: 28px;
    overflow: hidden;
    position: relative;
}

.svc-about-main-image img{
    width: 100%;
    height: 700px;
    object-fit: cover;
    display: block;
    transition: 0.7s ease;
}

.svc-about-main-image:hover img{
    transform: scale(1.08);
}

/* Small Image */

.svc-about-small-image{
    position: absolute;
    bottom: -40px;
    left: -50px;

    width: 280px;
    border-radius: 24px;
    overflow: hidden;

    border: 8px solid #fff;

    box-shadow: 0 18px 40px rgba(0,0,0,0.15);

    animation: svcFloatImage 4s ease-in-out infinite;
}

.svc-about-small-image img{
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
}


/* =========================================
   ANIMATIONS
========================================= */

@keyframes svcAboutFadeLeft{

    from{
        opacity: 0;
        transform: translateX(-60px);
    }

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

}

@keyframes svcAboutFadeRight{

    from{
        opacity: 0;
        transform: translateX(60px);
    }

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

}

@keyframes svcFloatImage{

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

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

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

}

@keyframes svcPulse{

    0%{
        transform: scale(1);
    }

    50%{
        transform: scale(1.05);
    }

    100%{
        transform: scale(1);
    }

}
/* =========================================
   PREMIUM TEXT ANIMATIONS
========================================= */



/* Paragraph Animation */

.svc-about-text{
    opacity: 0;

    animation:
    svcTextFadeUp 1s ease forwards;

    animation-delay: 0.6s;
}

/* Feature Box Animation */

.svc-about-feature-box{
    opacity: 0;

    animation:
    svcFeatureReveal 1s ease forwards;
}

/* Stagger */

.svc-about-feature-box:nth-child(1){
    animation-delay: 0.8s;
}

.svc-about-feature-box:nth-child(2){
    animation-delay: 1s;
}

.svc-about-feature-box:nth-child(3){
    animation-delay: 1.2s;
}

.svc-about-feature-box:nth-child(4){
    animation-delay: 1.4s;
}

/* =========================================
   ANIMATIONS
========================================= */

/* Fade Up */

@keyframes svcTextFadeUp{

    from{
        opacity: 0;
        transform: translateY(40px);
    }

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

}

/* Heading Reveal */

@keyframes svcHeadingReveal{

    from{
        opacity: 0;
        transform: translateY(60px);
        letter-spacing: 6px;
    }

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

}

/* Feature Reveal */

@keyframes svcFeatureReveal{

    from{
        opacity: 0;
        transform:
        translateY(40px)
        scale(0.95);
    }

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

}

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

@media(max-width: 1100px){

    .svc-about-page-container{
        grid-template-columns: 1fr;
        gap: 80px;
    }

    .svc-about-page-left h2{
        font-size: 42px;
    }

    .svc-about-main-image img{
        height: 600px;
    }

}

/* Tablet */

@media(max-width: 768px){

    .svc-about-page-section{
        padding: 30px 15px;
    }

    .svc-about-page-left h2{
        font-size: 34px;
    }

    .svc-about-feature-grid{
        grid-template-columns: 1fr;
    }

    .svc-about-main-image img{
        height: 450px;
    }

    .svc-about-small-image{
        width: 220px;
        left: 0;
        bottom: -30px;
    }

    .svc-about-small-image img{
        height: 250px;
    }

    .svc-about-floating-box{
        width: 140px;
        height: 140px;
        right: 10px;
    }

    .svc-about-floating-box h3{
        font-size: 38px;
    }

}

/* Mobile */

@media(max-width: 576px){

    .svc-about-page-left h2{
        font-size: 28px;
    }

    .svc-about-text{
        font-size: 15px;
        line-height: 28px;
    }

    .svc-about-main-image img{
        height: 380px;
    }

    .svc-about-small-image{
        position: relative;
        width: 100%;
        bottom: 0;
        left: 0;
        margin-top: 20px;
    }

    .svc-about-small-image img{
        height: 260px;
    }

    .svc-about-floating-box{
        width: 120px;
        height: 120px;
        top: 20px;
        right: 20px;
    }

    .svc-about-floating-box h3{
        font-size: 32px;
    }

    .svc-about-floating-box p{
        font-size: 12px;
        line-height: 18px;
    }

}


/* =========================
   GLOBAL
========================= */

.svc-contact-container{
  width: 90%;
  max-width: 1200px;
  margin: auto;
}

/* =========================
   BANNER
========================= */

.svc-contact-banner{
  position: relative;
  height: 500px;
  background: url("images/svc-banner/contuct-us-page-banner.jpg")
  center/cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow:hidden;
}
@media(max-width:767px){

    .svc-contact-banner{
        height:320px !important;
    }

}
.svc-contact-banner-overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.6);
}

.svc-contact-banner-content{
  position: relative;
  color: #fff;
  animation: svcFadeDown 1s ease;
}

.svc-contact-banner-content h1{
  font-size: 72px;
    line-height: 1.1;
    font-weight: 800;
    margin-bottom: 20px;
}

.svc-contact-banner-content p{
  font-size: 16px;
  opacity: 0.9;
}

/* =========================
   INFO SECTION
========================= */

.svc-contact-info{
  padding: 25px 0;
  background: #f8f8f8;
}

.svc-contact-text h2{
  font-size: 32px;
  color: #222;
  margin-bottom: 15px;
}

.svc-contact-text h2::after{
  content: "";
  width: 70px;
  height: 3px;
  background: #caa24a;
  display: block;
  margin-top: 10px;
}

.svc-contact-text p{
  color: #555;
  line-height: 1.7;
  margin-top: 15px;
}

/* SECTION */

.svc-contact-form-section{
    padding:30px 20px;
    background:#f7f7f7;
}

/* CONTAINER */

.svc-contact-container{
    max-width:1200px;
    margin:auto;
}

/* GRID */

.svc-contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:stretch;
}

/* MAP */

.svc-map-box{
    width:100%;
    height:100%;
    min-height:600px;
    overflow:hidden;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.svc-map-box iframe{
    width:100%;
    height:100%;
    border:0;
}

/* FORM */

.svc-contact-form{
    background:#fff;
    padding:30px 30px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.svc-contact-form h3{
    font-size:34px;
    margin-bottom:20px;
    color:#111;
    font-weight:700;
}

/* INPUT GROUP */

.svc-input-group{
    position:relative;
    margin-bottom:20px;
}

.svc-input-group input,
.svc-input-group textarea,
.svc-select-group select
{
    width:100%;
    padding:13px 10px;
    border:1px solid #ddd;
    border-radius:12px;
    outline:none;
    font-size:16px;
    background:transparent;
    transition:0.3s;
}

.svc-input-group textarea{
    resize:none;
}

.svc-input-group label{
    position:absolute;
    top:18px;
    left:15px;
    color:#777;
    pointer-events:none;
    transition:0.3s;
    background:#fff;
    padding:0 5px;
}

/* FLOATING LABEL */

.svc-input-group input:focus,
.svc-input-group textarea:focus{
    border-color:#ff5e14;
}

.svc-input-group input:focus + label,
.svc-input-group input:valid + label,
.svc-input-group textarea:focus + label,
.svc-input-group textarea:valid + label{
    top:-10px;
    left:12px;
    font-size:13px;
    color:#ff5e14;
}

/* BUTTON */

.svc-contact-form button{
    width:100%;
    padding:16px;
    border:none;
    border-radius:12px;
    background:#ff5e14;
    color:#fff;
    font-size:17px;
    font-weight:600;
    cursor:pointer;
    transition:0.3s;
}

.svc-contact-form button:hover{
    background:#111;
}
/* =========================================
   SELECT DROPDOWN FIELD
========================================= */

.svc-select-group{
    position:relative;
}

/* SELECT */

.svc-select-group select{
    width:100%;
    height:56px;

    padding:18px 45px 0 15px;

    border:1px solid #ddd;
    border-radius:12px;

    outline:none;

    font-size:16px;
    color:#111;

    background:#fff;

    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    transition:.3s ease;
    cursor:pointer;
}

/* FOCUS */

.svc-select-group select:focus{
    border-color:#ff5e14;
}

/* LABEL */

.svc-select-group .select-label{
    position:absolute;
    top:8px;
    left:12px;
    font-size:15px;
    color:#ff5e14;
    background:#fff;
    padding:0 5px;
    pointer-events:none;
    color:#4a4747d6 !important;
}


/* HOVER */

.svc-select-group select:hover{
    border-color:#ff5e14;
}

/* MOBILE */

@media(max-width:767px){

    .svc-select-group select{
        font-size:15px;
    }
}

/* RESPONSIVE */

@media(max-width:991px){

    .svc-contact-grid{
        grid-template-columns:1fr;
    }

    .svc-map-box{
        min-height:400px;
    }

    .svc-contact-form{
        padding:40px 25px;
    }

    .svc-contact-form h3{
        font-size:28px;
    }
}

@media(max-width:576px){

    .svc-contact-form-section{
        padding:20px 15px;
    }

    .svc-map-box{
        min-height:300px;
        border-radius:15px;
    }

    .svc-contact-form{
        padding:30px 20px;
        border-radius:15px;
    }

    .svc-contact-form h3{
        font-size:24px;
        margin-bottom:10px;
    }

    .svc-input-group input,
    .svc-input-group textarea{
        padding:15px;
        font-size:15px;
    }

    .svc-contact-form button{
        padding:14px;
        font-size:16px;
    }
}

/* =========================
   ANIMATION
========================= */

@keyframes svcFadeDown{
  from{
    opacity: 0;
    transform: translateY(-30px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

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

@media (max-width: 768px){
  .svc-contact-grid{
    grid-template-columns: 1fr;
  }

  .svc-contact-banner-content h1{
    font-size: 30px;
  }

}

.float-call {
    position: fixed;
    bottom: 25%;
    right: 20px;
    background: #25D366;
    color: #fff;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.5);
    animation: pulse-green 2s infinite;
    z-index: 9999;
    transition: transform 0.2s ease;
}

.float-call:hover {
    transform: scale(1.12);
}

@keyframes pulse-green {

    0% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
    }

    70% {
        box-shadow: 0 0 0 14px rgba(37, 211, 102, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}


/* REACH BAR */
.reach-bar {
    background: #bcae87;
    padding: 12px 20px;
}
.reach-bar-inner {
    max-width: 1200px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}
.reach-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
    background: #f45a00;
    transition: 0.3s;
    min-width: 220px;
    justify-content: center;
}
.reach-btn i {
    font-size: 22px;
}
.reach-phone {
    color: white;
}
.reach-phone i {
    color: white;
}
.reach-phone:hover {
    background: black;
}
.reach-email {
    color: #fff;
    background: #f45a00;
}
.reach-email i {
    color: #fff;
}
.reach-email:hover {
    background: black;
}

/* MOBILE */
@media (max-width: 600px) {
    .reach-btn {
        width: 100%;
        font-size: 16px;
        padding: 12px 16px;
    }
    .reach-bar-inner {
        gap: 10px;
    }
}
/* =========================================
   QUOTE BANNER
========================================= */

.quote-banner{
    width:100%;
    overflow:hidden;
    position:fixed;
    left:0;
    bottom:0;
    width:100%;
    z-index:9999;
    backdrop-filter:blur(10px);
    box-shadow:0 -5px 25px rgba(0,0,0,0.18);
}

/* =========================================
   INNER WRAPPER
========================================= */

.quote-banner-inner{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:stretch;
    min-height:60px;
}

/* =========================================
   LEFT SIDE
========================================= */

.quote-banner-left{
    background:#121212;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px 20px;
    text-align:center;
}

/* =========================================
   RIGHT SIDE
========================================= */

.quote-banner-right{
    background:#5f5d56;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px 20px;
    text-align:center;
}

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

.quote-label{
    color:#fff;
    font-size:28px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    line-height:1.3;
    margin:0;
}

.quote-phone-link{
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}

.quote-number{
    color:#fff;
    font-size:28px;
    font-weight:700;
    letter-spacing:1px;
    line-height:1;
    margin:0;
}

/* =========================================
   CENTER DIVIDER
========================================= */

.quote-divider{
    position:relative;
    width:0;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* =========================================
   PHONE ICON
========================================= */

.quote-phone-icon{
    width:50px;
    height:50px;
    border-radius:50%;
    background:#f45a00;
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%, -50%);
    z-index:5;
    box-shadow:0 8px 25px rgba(0,0,0,0.18);
    transition:0.3s ease;
}

.quote-phone-icon i{
    font-size:24px;
    color:#fff;
}

.quote-phone-link:hover .quote-phone-icon{
    background:#e07b2a;
    transform:translate(-50%, -50%) scale(1.08);
}

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

@media(max-width:991px){

    .quote-banner-inner{
        min-height:78px;
    }

    .quote-banner-left,
    .quote-banner-right{
        padding:20px 28px;
    }

    .quote-label{
        font-size:17px;
        letter-spacing:1.5px;
    }

    .quote-number{
        font-size:19px;
    }

    .quote-phone-icon{
        width:52px;
        height:52px;
    }

    .quote-phone-icon i{
        font-size:21px;
    }
}

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

@media(max-width:767px){

    .quote-banner-inner{
        grid-template-columns:1fr auto 1fr;
        min-height:52px;
    }

    .quote-divider{
        display:flex;
    }

    .quote-banner-left,
    .quote-banner-right{
        padding:10px 14px;
    }

    .quote-label{
        font-size:11px;
        letter-spacing:0.5px;
        white-space:nowrap;
    }

    .quote-number{
        font-size:13px;
        white-space:nowrap;
    }

    .quote-phone-icon{
        width:38px;
        height:38px;
    }

    .quote-phone-icon i{
        font-size:16px;
    }

}
/* =========================================
   POPUP OVERLAY
========================================= */

.svc-popup-overlay{
    position:fixed;
    inset:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.72);

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

    padding:20px;
    z-index:99999;

    opacity:0;
    visibility:hidden;

    transition:0.35s ease;
}

.svc-popup-overlay.active{
    opacity:1;
    visibility:visible;
}

/* =========================================
   POPUP BOX
========================================= */

.svc-popup-box{
    width:100%;
    max-width:520px;
    background:#fff;
    border-radius:22px;
    position:relative;
    overflow:hidden;
    transform:translateY(30px) scale(.96);
    transition:0.4s ease;
    box-shadow:0 20px 70px rgba(0,0,0,0.28);
    /* IMPORTANT */
    max-height:90vh;
    overflow-y:auto;
}

/* Custom Scrollbar */

.svc-popup-box::-webkit-scrollbar{
    width:6px;
}

.svc-popup-box::-webkit-scrollbar-thumb{
    background:#c59d5f;
    border-radius:20px;
}

.svc-popup-overlay.active .svc-popup-box{
    transform:translateY(0) scale(1);
}

/* =========================================
   CLOSE BUTTON
========================================= */

.svc-popup-close{
    position:absolute;
    top:14px;
    right:14px;

    width:36px;
    height:36px;

    border:none;
    border-radius:50%;

    background:#111;
    color:#fff;

    font-size:24px;
    line-height:1;

    cursor:pointer;
    z-index:10;

    transition:0.3s ease;
}

.svc-popup-close:hover{
    background:#c59d5f;
    transform:rotate(90deg);
}

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

.svc-popup-content{
    padding:34px 28px 28px;
}

.svc-popup-content h2{
    font-size:30px;
    font-weight:700;
    color:#111;

    text-align:center;
    line-height:1.3;

    margin-bottom:22px;
}

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

#svcPopupForm{
    display:grid;
    gap:14px;
}

/* =========================================
   FORM GROUP
========================================= */

.svc-form-group{
    position:relative;
}

.svc-form-group input,
.svc-form-group textarea,
.svc-form-group select{
    width:100%;

    border:1px solid #e3e3e3;
    background:#fafafa;

    border-radius:12px;

    padding:14px 16px;

    font-size:14px;
    color:#111;

    outline:none;

    transition:0.3s ease;
}

/* Focus */

.svc-form-group input:focus,
.svc-form-group textarea:focus,
.svc-form-group select:focus{
    border-color:#c59d5f;
    background:#fff;

    box-shadow:0 0 0 4px rgba(197,157,95,0.10);
}

/* Textarea */

.svc-form-group textarea{
    min-height:110px;
    resize:none;
}

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

.svc-select-group{
    position: relative;
}

.svc-select-group select{
    appearance: none;
    cursor: pointer;
    color: #555;
    padding-top: 30px;
    padding-bottom: 12px;
    height:80px;
}

.select-label{
    position: absolute;
    left: 14px;
    top: 20px;   
    padding: 0 6px;
    font-size: 14px;
    color: #111;
    letter-spacing: 0.4px;
    background: #fff;
    pointer-events: none;
}
/* =========================================
   ERROR
========================================= */

.error{
    display:block;
    color:#e63946;

    font-size:12px;

    margin-top:5px;
    min-height:14px;
}

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

.svc-popup-btn{
    width:100%;
    border:none;
    border-radius:12px;
    background:#f45a00;
    color:#fff;
    padding:15px;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    transition:0.3s ease;
}

.svc-popup-btn:hover{
    background:black;
    transform:translateY(-2px);
}

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

@media(max-width:767px){

    .svc-popup-overlay{
        padding:14px;
        align-items:center;
    }

    .svc-popup-box{
        max-width:100%;
        border-radius:18px;

        max-height:88vh;
    }

    .svc-popup-content{
        padding:28px 20px 22px;
    }

    .svc-popup-content h2{
        font-size:24px;
        margin-bottom:18px;
    }

    .svc-form-group input,
    .svc-form-group textarea,
    .svc-form-group select{
        padding:13px 14px;
        font-size:14px;
    }

    .svc-form-group textarea{
        min-height:95px;
    }

    .svc-popup-btn{
        padding:14px;
        font-size:14px;
    }

    .svc-popup-close{
        width:34px;
        height:34px;
        font-size:22px;
    }
}

/* =========================
   THANK YOU PAGE
========================= */

.thankyou-section{
    min-height:70vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:80px 20px;
    background:#f7f7f7;
}

.thankyou-container{
    width:100%;
    max-width:700px;
    margin:auto;
}

.thankyou-box{
    background:#fff;
    padding:60px 40px;
    text-align:center;
    box-shadow:0 10px 40px rgba(0,0,0,0.08);
}

.thankyou-icon{
    width:90px;
    height:90px;
    margin:auto auto 25px;
    border-radius:50%;
    background:#bcae87;
    color:#fff;
    font-size:42px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
}

.thankyou-box h1{
    font-size:42px;
    color:#222;
    margin-bottom:20px;
}

.thankyou-box p{
    font-size:18px;
    line-height:32px;
    color:#777;
    margin-bottom:35px;
}

.thankyou-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:15px 35px;
    background:#f45a00;
    color:#fff;
    text-decoration:none;
    font-size:16px;
    font-weight:600;
    transition:0.3s;
}

.thankyou-btn:hover{
    background:#222;
}

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

@media(max-width:767px){

    .thankyou-box{
        padding:45px 25px;
    }

    .thankyou-box h1{
        font-size:32px;
    }

    .thankyou-box p{
        font-size:16px;
        line-height:28px;
    }

}