/*=========================================
  Brintha Builders V2.0
=========================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

:root{

    --primary:#0B1F3A;
    --secondary:#D4AF37;
    --white:#ffffff;
    --black:#111111;
    --gray:#f5f5f5;
    --text:#555;
    --shadow:0 10px 30px rgba(0,0,0,.1);
    --radius:15px;
    --transition:.4s ease;

}

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

html{
    overflow-x:hidden;
}

body{

    font-family:'Poppins',sans-serif;
    color:var(--black);
    background:var(--white);
    overflow-x:hidden;
    line-height:1.7;

}

a{

    text-decoration:none;
    transition:.3s;

}

img{

    width:100%;
    display:block;

}

section{

    padding:100px 0;

}

.container{

    max-width:1200px;

}

/*================ LOADER =================*/

#loader{

    position:fixed;
    inset:0;
    background:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:99999;

}

.loader-circle{

    width:60px;
    height:60px;
    border:6px solid #ddd;
    border-top:6px solid var(--secondary);
    border-radius:50%;
    animation:spin 1s linear infinite;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}

/*================ NAVBAR =================*/

.navbar{

    background:rgba(11,31,58,.9);
    backdrop-filter:blur(10px);
    padding:18px 0;
    transition:.4s;

}

.navbar.scrolled{

    background:var(--primary);
    box-shadow:var(--shadow);

}

.navbar-brand{

    display:flex;
    align-items:center;
    gap:10px;
    color:#fff;
    font-weight:700;
    font-size:24px;

}

.navbar-brand img{

    width:50px;

}

.nav-link{

    color:#fff;
    margin-left:18px;
    font-weight:500;
    position:relative;

}

.nav-link:hover{

    color:var(--secondary);

}

.nav-link.active{

    color:var(--secondary);

}

.nav-link::after{

content:"";
position:absolute;
left:0;
bottom:-6px;
width:0;
height:2px;
background:var(--secondary);
transition:.3s;

}

.nav-link:hover::after{

width:100%;

}

.btn-warning{

    background:var(--secondary);
    border:none;
    color:#111;
    border-radius:50px;
    padding:12px 30px;
    font-weight:600;
    transition:.4s;

}

.btn-warning:hover{

    transform:translateY(-3px);
    box-shadow:var(--shadow);

}

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

#hero{

position:relative;
min-height:100vh;
display:flex;
align-items:center;
background:url("../images/img1.jpg") center/cover no-repeat;

}

.hero-overlay{

position:absolute;
inset:0;
background:rgba(0,0,0,.60);

}

.hero-video-bg{

position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
z-index:0;
opacity:0;
transition:opacity 1.5s ease;

}

.hero-video-bg.active{

opacity:1;

}

#hero .container{

position:relative;
z-index:2;

}

#hero h5{

color:var(--secondary);
font-weight:600;
margin-bottom:15px;

}

#hero h1{

font-size:60px;
font-weight:800;
color:#fff;
line-height:1.2;

}

#hero h1 span{

color:var(--secondary);

}

#hero p{

color:#ddd;
font-size:18px;
margin:30px 0;

}

.hero-buttons{

display:flex;
gap:20px;
flex-wrap:wrap;

}

.btn-outline-light{

border:2px solid #fff;
padding:12px 30px;
border-radius:50px;
font-weight:600;

}

.btn-outline-light:hover{

background:#fff;
color:#000;

}

.hero-image{

animation:float 4s ease-in-out infinite;

}

@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-15px);

}

100%{

transform:translateY(0);

}

}

.section-title{

font-size:40px;
font-weight:700;
margin-bottom:20px;
color:var(--primary);

}

.section-subtitle{

color:var(--secondary);
font-weight:600;
letter-spacing:2px;
margin-bottom:10px;
text-transform:uppercase;

}
/*=========================================
        STATISTICS
=========================================*/

#stats{
    background:#f8f9fa;
}

.stat-card{

    background:#fff;
    border-radius:15px;
    padding:35px 25px;
    text-align:center;
    transition:.4s;
    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.stat-card:hover{

    transform:translateY(-10px);

}

.stat-card i{

    font-size:45px;
    color:var(--secondary);
    margin-bottom:20px;

}

.stat-card h2{

    font-size:42px;
    color:var(--primary);
    font-weight:700;

}

.stat-card p{

    color:#666;
    margin-top:10px;
    font-size:16px;

}

/*=========================================
        ABOUT
=========================================*/

#about{

background:#fff;

}

#about img{

border-radius:20px;
box-shadow:0 20px 40px rgba(0,0,0,.12);

}

#about p{

font-size:17px;
line-height:1.9;
color:#666;

}

#about .fa-check-circle{

margin-right:8px;

}

#about .btn-warning{

margin-top:20px;

}

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

#services{

background:#f5f5f5;

}

.service-card{

background:#fff;
padding:40px 30px;
border-radius:20px;
text-align:center;
transition:.4s;
box-shadow:0 10px 30px rgba(0,0,0,.08);
height:100%;

}

.service-card:hover{

transform:translateY(-12px);
background:var(--primary);
color:#fff;

}

.service-card:hover p{

color:#eee;

}

.service-card:hover i{

color:var(--secondary);

}

.service-card i{

font-size:50px;
margin-bottom:20px;
color:var(--primary);

}

.service-card h4{

margin-bottom:15px;
font-weight:700;

}

.service-card p{

color:#666;
font-size:15px;
line-height:1.8;

}

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

#why-us{

background:#fff;

}

#why-us img{

border-radius:20px;
box-shadow:0 20px 40px rgba(0,0,0,.12);

}

/* ==========================================
   CONSISTENT IMAGE SIZING (site-wide)
   Fixes team photos / project photos / gallery
   thumbnails rendering at different shapes
   depending on the source file's dimensions.
========================================== */

/* Navbar logo - fixed box regardless of source file */
.navbar-brand img{
    height:50px;
    object-fit:contain;
}

/* Leadership / team photos (About page) */
.team-card img{
    width:100%;
    height:340px;
    object-fit:cover;
    object-position:top center;
    border-radius:var(--radius);
    box-shadow:0 15px 35px rgba(0,0,0,.12);
}

/* Company Story / Why Choose Us content photos (About, Services pages) */
.content-photo{
    width:100%;
    height:380px;
    object-fit:cover;
}

/* Project details page - main photo */
#mainImage{
    width:100%;
    height:420px;
    object-fit:cover;
}

/* Project details page - gallery thumbnails */
.gallery-thumb{
    width:100%;
    height:110px;
    object-fit:cover;
}

.feature-item{

display:flex;
align-items:center;
margin-bottom:20px;
padding:15px 20px;
background:#fff;
border-radius:12px;
box-shadow:0 8px 20px rgba(0,0,0,.06);
transition:.3s;

}

.feature-item:hover{

transform:translateX(10px);

}

.feature-item i{

width:45px;
height:45px;
border-radius:50%;
display:flex;
justify-content:center;
align-items:center;
background:var(--secondary);
color:#111;
margin-right:15px;
font-size:18px;

}

.feature-item span{

font-weight:600;
font-size:17px;

}

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

.section-title{

margin-bottom:20px;

}

.section-subtitle{

display:inline-block;
margin-bottom:12px;
color:var(--secondary);
font-weight:600;
letter-spacing:2px;

}

.bg-light{

background:#f8f9fa !important;

}

/*=========================================
        BUTTON EFFECTS
=========================================*/

.btn{

transition:.35s;

}

.btn:hover{

transform:translateY(-3px);

}
/*=========================================
        FEATURED PROJECTS
=========================================*/

#projects{
    background:#f8f9fa;
}

.project-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    transition:.4s;
    height:100%;
}

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

.project-card img{
    height:260px;
    object-fit:cover;
    transition:.5s;
}

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

.project-content{
    padding:25px;
}

.project-content h4{
    color:var(--primary);
    font-weight:700;
    margin:15px 0;
}

.project-content p{
    color:#666;
    margin-bottom:10px;
}

.project-content i{
    color:var(--secondary);
    margin-right:8px;
}

.badge{
    font-size:14px;
    padding:8px 14px;
    border-radius:50px;
}

/*=========================================
        PROCESS
=========================================*/

#process{
    background:#fff;
}

.process-box{
    background:#fff;
    padding:30px 20px;
    border-radius:15px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.4s;
    height:100%;
}

.process-box:hover{
    background:var(--primary);
    color:#fff;
    transform:translateY(-10px);
}

.process-box:hover i{
    color:var(--secondary);
}

.process-box i{
    font-size:45px;
    margin-bottom:20px;
    color:var(--primary);
}

.process-box h5{
    font-weight:600;
}

/*=========================================
        TESTIMONIALS
=========================================*/

#testimonials{
    background:#f8f9fa;
}

.testimonial-card{
    background:#fff;
    padding:35px;
    border-radius:20px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.4s;
    height:100%;
}

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

.testimonial-card img{
    width:90px;
    height:90px;
    border-radius:50%;
    object-fit:cover;
    margin:auto;
    margin-bottom:20px;
    border:4px solid var(--secondary);
}

.testimonial-card h5{
    font-weight:700;
}

.stars{
    color:#FFD700;
    font-size:18px;
    margin:10px 0;
}

.testimonial-card p{
    color:#666;
}

/*=========================================
        CTA
=========================================*/

#cta{
    background:linear-gradient(rgba(11,31,58,.92),rgba(11,31,58,.92)),
    url("../images/img3.jpg") center/cover;
    color:#fff;
}

#cta h2{
    font-size:42px;
    font-weight:700;
}

#cta p{
    margin:20px auto 35px;
    max-width:700px;
}

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

.footer{
    background:var(--primary);
    color:#fff;
    padding:80px 0 20px;
}

.footer h3,
.footer h4{
    margin-bottom:20px;
    font-weight:700;
}

.footer ul{
    list-style:none;
    padding:0;
}

.footer ul li{
    margin-bottom:12px;
}

.footer ul li a{
    color:#ddd;
}

.footer ul li a:hover{
    color:var(--secondary);
    padding-left:8px;
}

.footer p{
    color:#ddd;
}

.social-links{
    display:flex;
    gap:12px;
    margin-top:20px;
}

.social-links a{
    width:45px;
    height:45px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.1);
    color:#fff;
    transition:.3s;
}

.social-links a:hover{
    background:var(--secondary);
    color:#111;
}

/*=========================================
        WHATSAPP
=========================================*/

.whatsapp-btn{
    position:fixed;
    right:20px;
    bottom:25px;
    width:60px;
    height:60px;
    border-radius:50%;
    background:#25D366;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:28px;
    box-shadow:0 10px 25px rgba(0,0,0,.2);
    z-index:999;
    transition:.3s;
}

.whatsapp-btn:hover{
    transform:scale(1.1);
    color:#fff;
}

/*=========================================
        SCROLL TOP
=========================================*/

#scrollTop{
    position:fixed;
    bottom:95px;
    right:20px;
    width:50px;
    height:50px;
    border:none;
    border-radius:50%;
    background:var(--secondary);
    color:#111;
    cursor:pointer;
    display:none;
    align-items:center;
    justify-content:center;
    z-index:999;
    font-size:20px;
    transition:.3s;
}

#scrollTop:hover{
    transform:translateY(-5px);
}

/*=========================================
        UTILITIES
=========================================*/

.shadow{
    box-shadow:0 20px 40px rgba(0,0,0,.12)!important;
}

.rounded{
    border-radius:20px!important;
}

.text-warning{
    color:var(--secondary)!important;
}

html{
    scroll-behavior:smooth;
}
/* About Page Banner */

.page-banner{
    position: relative;
    background: linear-gradient(rgba(11,31,58,.75), rgba(11,31,58,.75)),
                url("../images/img2.jpg") center/cover no-repeat;
    min-height: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 100px;   /* Space below fixed navbar */
}

.page-banner h1{
    color:#fff;
    font-size:56px;
    font-weight:700;
    margin-bottom:15px;
}

.page-banner p{
    color:#f5f5f5;
    font-size:18px;
}

.page-banner .breadcrumb{
    background:transparent;
}

.page-banner .breadcrumb a{
    color:#D4AF37;
}

.page-banner .breadcrumb-item.active{
    color:#fff;
}
/*=========================================
  PREMIUM ENHANCEMENTS
=========================================*/

/* Custom scrollbar */
::-webkit-scrollbar{ width:10px; }
::-webkit-scrollbar-track{ background:var(--gray); }
::-webkit-scrollbar-thumb{ background:var(--secondary); border-radius:10px; }
::-webkit-scrollbar-thumb:hover{ background:#b5922c; }

/* Gradient section titles */
.section-title{
    background:linear-gradient(90deg, var(--primary), #1a3d6e 60%, var(--secondary));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    display:inline-block;
}

/* Premium shine effect on primary buttons */
.btn-warning{
    position:relative;
    overflow:hidden;
    box-shadow:0 8px 20px rgba(212,175,55,.35);
}
.btn-warning::before{
    content:"";
    position:absolute;
    top:0;
    left:-75%;
    width:50%;
    height:100%;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,.55), transparent);
    transform:skewX(-20deg);
    transition:.6s;
}
.btn-warning:hover::before{
    left:125%;
}
.btn-warning:hover{
    box-shadow:0 12px 28px rgba(212,175,55,.5);
}

/* Glassmorphism navbar refinement */
.navbar{
    border-bottom:1px solid rgba(255,255,255,.08);
}
.navbar.scrolled{
    backdrop-filter:blur(14px);
    background:rgba(11,31,58,.92);
}

/* Card lift + glow on hover */
.service-card,
.project-card,
.testimonial-card,
.stat-card,
.process-box{
    transition:transform .4s ease, box-shadow .4s ease;
}
.service-card:hover,
.testimonial-card:hover{
    box-shadow:0 20px 45px rgba(11,31,58,.18);
}
.project-card:hover{
    box-shadow:0 25px 50px rgba(11,31,58,.25);
}

/* Hero image gold accent frame */
.hero-image{
    position:relative;
}
.hero-image::after{
    content:"";
    position:absolute;
    inset:20px -20px -20px 20px;
    border:3px solid var(--secondary);
    border-radius:var(--radius);
    z-index:-1;
}

/* Badge refinement */
.badge{
    letter-spacing:.5px;
    font-weight:600;
    padding:6px 14px;
}

/* Footer accent border */
.footer{
    position:relative;
}
.footer::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:4px;
    background:linear-gradient(90deg, var(--secondary), #fff5, var(--secondary));
}

/* Smooth image zoom on cards */
.project-card img,
.service-card img{
    transition:transform .6s ease;
}
.project-card:hover img{
    transform:scale(1.08);
}

/* Preloader premium spinner */
.loader-circle{
    border-top-color:var(--secondary) !important;
}

/* Stat card premium icon circle */
.stat-card i{
    background:linear-gradient(135deg, var(--primary), #1a3d6e);
    color:var(--secondary);
    width:70px;
    height:70px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    margin:0 auto 15px;
    font-size:26px;
}

/* Scroll-to-top premium */
#scrollTop{
    background:linear-gradient(135deg, var(--secondary), #b5922c);
    box-shadow:0 8px 20px rgba(212,175,55,.4);
}
