/*==============================
 GOOGLE FONT
==============================*/

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

/*==============================
 RESET
==============================*/

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

body{

font-family:'Poppins',sans-serif;
background:#0b0b0b;
color:#fff;
line-height:1.6;
overflow-x:hidden;

}

.portfolio-card img{

width:100%;

height:260px;

object-fit:cover;

display:block;

transition:.5s;

border-radius:20px;

}

a{

text-decoration:none;

}

ul{

list-style:none;

}

/*==============================
 VARIABLES
==============================*/

:root{

--gold:#D4AF37;
--black:#0b0b0b;
--dark:#141414;
--white:#ffffff;
--gray:#999999;

}

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

header{

position:fixed;
top:0;
left:0;
width:100%;
padding:18px 8%;
display:flex;
justify-content:space-between;
align-items:center;

background:rgba(0,0,0,.75);

backdrop-filter:blur(10px);

z-index:1000;

}

.logo{

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

}

.logo img{

width:60px;
height:60px;

object-fit:contain;

}

.logo span{

font-size:22px;
font-weight:700;
color:var(--gold);

letter-spacing:1px;

}

nav{

display:flex;
gap:35px;

}

nav a{

color:#fff;
font-size:16px;
font-weight:500;
transition:.3s;

}

nav a:hover{

color:var(--gold);

}

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

.btn{

display:inline-block;

padding:15px 36px;

background:var(--gold);

color:#111;

font-weight:600;

border-radius:40px;

transition:.3s;

margin-top:25px;

}

.btn:hover{

transform:translateY(-4px);

box-shadow:0 15px 35px rgba(212,175,55,.35);

}

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

.hero{

min-height:100vh;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

padding:120px 10%;

background:

linear-gradient(rgba(0,0,0,.70),
rgba(0,0,0,.75)),

url("hero-bg.jpg");

background-size:cover;

background-position:center;

}

.hero-content{

max-width:900px;

}

.hero h1{

font-size:70px;

font-weight:800;

line-height:1.2;

margin-bottom:25px;

}

.hero p{

font-size:20px;

color:#ddd;

margin-bottom:20px;

}

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

section{

padding:100px 8%;

}

.section-title{

text-align:center;

margin-bottom:70px;

}

.section-title h5{

color:var(--gold);

font-size:18px;

letter-spacing:3px;

margin-bottom:10px;

}

.section-title h2{

font-size:42px;

margin-bottom:15px;

}

.section-title p{

color:#bbb;

max-width:700px;

margin:auto;

}

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

.about-container{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.about-image img{

border-radius:25px;

}

.about-content h5{

color:var(--gold);

font-size:18px;

margin-bottom:10px;

}

.about-content h2{

font-size:42px;

margin-bottom:20px;

}

.about-content p{

color:#cfcfcf;

margin-bottom:30px;

}

.about-features{

display:grid;

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

gap:20px;

margin-bottom:30px;

}

.about-features div{

background:#181818;

padding:18px;

border-radius:12px;

transition:.3s;

}

.about-features div:hover{

background:var(--gold);

color:#111;

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

.services-container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

}

.service-card{

background:#171717;

padding:40px 30px;

border-radius:20px;

text-align:center;

transition:.4s;

border:1px solid transparent;

cursor:pointer;

}

.service-card:hover{

transform:translateY(-10px);

border-color:var(--gold);

box-shadow:0 20px 45px rgba(212,175,55,.18);

}

.service-icon{

font-size:55px;

margin-bottom:20px;

}

.service-card h3{

font-size:24px;

margin-bottom:15px;

}

.service-card p{

color:#bdbdbd;

font-size:15px;

line-height:1.8;

}

/*====================================
         PORTFOLIO
====================================*/

#portfolio{

background:#101010;

}

.featured-project{

display:grid;

grid-template-columns:1.2fr 1fr;

gap:50px;

align-items:center;

margin-bottom:80px;

}

.featured-project img{

width:100%;

border-radius:22px;

transition:.4s;

}

.featured-project img:hover{

transform:scale(1.02);

}

.featured-content span{

color:var(--gold);

font-size:14px;

letter-spacing:3px;

}

.featured-content h2{

font-size:46px;

margin:18px 0;

}

.featured-content p{

color:#c6c6c6;

margin-bottom:30px;

line-height:1.8;

}

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

.portfolio-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:30px;

}

.portfolio-card{

position:relative;

overflow:hidden;

border-radius:20px;

cursor:pointer;

}

.portfolio-card img{

width:100%;

height:100%;

display:block;

transition:.6s;

}

.portfolio-card:hover img{

transform:scale(1.12);

}

.portfolio-overlay{

position:absolute;

left:0;

bottom:0;

width:100%;

padding:30px;

background:linear-gradient(transparent,rgba(0,0,0,.95));

transform:translateY(100%);

transition:.4s;

}

.portfolio-card:hover .portfolio-overlay{

transform:translateY(0);

}

.portfolio-overlay h3{

font-size:26px;

margin-bottom:8px;

}

.portfolio-overlay p{

color:#ddd;

}

/*====================================
      IMAGE HOVER EFFECT
====================================*/

.portfolio-card::before{

content:"";

position:absolute;

inset:0;

background:rgba(212,175,55,.12);

opacity:0;

transition:.4s;

z-index:1;

}

.portfolio-card:hover::before{

opacity:1;

}

.portfolio-card img,

.portfolio-overlay{

position:relative;

z-index:2;

}

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

#services{

padding-bottom:120px;

}

#portfolio{

padding-top:120px;

padding-bottom:120px;

}
/*====================================
            STATS
====================================*/

#stats{

background:#0d0d0d;

}

.stats-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:30px;

}

.stat-box{

background:#171717;

padding:45px 25px;

border-radius:20px;

text-align:center;

transition:.4s;

border:1px solid transparent;

}

.stat-box:hover{

border-color:var(--gold);

transform:translateY(-8px);

box-shadow:0 18px 40px rgba(212,175,55,.15);

}

.stat-box h2{

font-size:52px;

color:var(--gold);

margin-bottom:10px;

}

.stat-box p{

font-size:18px;

color:#d0d0d0;

}

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

#testimonials{

background:#111;

}

.testimonial-card{

max-width:900px;

margin:auto;

background:#1a1a1a;

padding:50px;

border-radius:20px;

text-align:center;

border:1px solid #222;

transition:.4s;

}

.testimonial-card:hover{

border-color:var(--gold);

}

.testimonial-card p{

font-size:20px;

line-height:1.9;

color:#ddd;

margin-bottom:30px;

font-style:italic;

}

.testimonial-card h4{

color:var(--gold);

font-size:22px;

}

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

.contact-container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:30px;

margin-bottom:50px;

}

.contact-card{

background:#171717;

padding:35px;

border-radius:18px;

text-align:center;

transition:.4s;

}

.contact-card:hover{

transform:translateY(-8px);

border:1px solid var(--gold);

}

.contact-card h3{

margin-bottom:15px;

font-size:24px;

}

.contact-card p{

color:#cfcfcf;

line-height:1.8;

}
.contact-card a{
    color:#fff !important;
    text-decoration:none;
    background:none !important;
    padding:0 !important;
    margin:0;
    border:none !important;
    border-radius:0 !important;
    display:inline !important;
    box-shadow:none !important;
}

.contact-card a:hover{
    color:var(--gold);
}

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

footer{

background:#080808;

padding:70px 8% 30px;

text-align:center;

border-top:1px solid #222;

}

.footer-logo{

display:flex;

justify-content:center;

align-items:center;

gap:15px;

margin-bottom:25px;

}

.footer-logo img{

width:70px;

}

.footer-logo h2{

font-size:28px;

color:var(--gold);

}

footer p{

color:#bcbcbc;

line-height:1.8;

max-width:700px;

margin:auto;

}

/*====================================
        SCROLLBAR
====================================*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#111;

}

::-webkit-scrollbar-thumb{

background:var(--gold);

border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

background:#f4ca4c;

}

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

@media(max-width:992px){

.hero h1{

font-size:52px;

}

.about-container{

grid-template-columns:1fr;

}

.featured-project{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

header{

padding:15px 5%;

flex-direction:column;

gap:15px;

}

.logo span{

font-size:18px;

}

nav{

flex-wrap:wrap;

justify-content:center;

gap:18px;

}

.hero{

padding:120px 20px;

}

.hero h1{

font-size:40px;

}

.hero p{

font-size:17px;

}

.section-title h2{

font-size:34px;

}

.about-content h2{

font-size:34px;

}

.featured-content h2{

font-size:34px;

}

.portfolio-grid{

grid-template-columns:1fr;

}

.services-container{

grid-template-columns:1fr;

}

.stats-grid{

grid-template-columns:1fr 1fr;

}

.contact-container{

grid-template-columns:1fr;

}

}

@media(max-width:480px){

.hero h1{

font-size:32px;

}

.hero p{

font-size:16px;

}

.btn{

padding:14px 26px;

font-size:15px;

}

.stats-grid{

grid-template-columns:1fr;

}

.footer-logo{

flex-direction:column;

}

.footer-logo h2{

font-size:22px;

}

}
/* Scroll Animation */

.service-card,
.portfolio-card,
.stat-box,
.testimonial-card,
.contact-card,
.about-image,
.about-content{

opacity:0;

transform:translateY(60px);

transition:all .8s ease;

}

.active{

opacity:1;

transform:translateY(0);

}

/* Active Menu */

nav a.active{

color:#D4AF37;

}

/* Back To Top */

#topBtn{

position:fixed;

right:30px;

bottom:30px;

width:55px;

height:55px;

border:none;

border-radius:50%;

background:#D4AF37;

color:#111;

font-size:22px;

cursor:pointer;

opacity:0;

visibility:hidden;

transition:.3s;

z-index:9999;

}

#topBtn.show{

opacity:1;

visibility:visible;

}

#topBtn:hover{

transform:translateY(-5px);

}
/*=========================
PREMIUM BACKGROUND
=========================*/

.animated-bg{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

overflow:hidden;

z-index:-2;

background:#070707;

}

.animated-bg span{

position:absolute;

display:block;

width:6px;
height:6px;

background:#D4AF37;

border-radius:50%;

box-shadow:
0 0 10px #D4AF37,
0 0 20px #D4AF37,
0 0 40px rgba(212,175,55,.6);

animation:float 18s linear infinite;

opacity:.6;

}

.animated-bg span:nth-child(1){

left:10%;
animation-duration:20s;
animation-delay:0s;

}

.animated-bg span:nth-child(2){

left:20%;
animation-duration:16s;
animation-delay:2s;

}

.animated-bg span:nth-child(3){

left:30%;
animation-duration:22s;
animation-delay:4s;

}

.animated-bg span:nth-child(4){

left:40%;
animation-duration:18s;
animation-delay:1s;

}

.animated-bg span:nth-child(5){

left:50%;
animation-duration:24s;
animation-delay:5s;

}

.animated-bg span:nth-child(6){

left:60%;
animation-duration:17s;
animation-delay:3s;

}

.animated-bg span:nth-child(7){

left:70%;
animation-duration:20s;
animation-delay:6s;

}

.animated-bg span:nth-child(8){

left:80%;
animation-duration:15s;
animation-delay:2s;

}

.animated-bg span:nth-child(9){

left:90%;
animation-duration:19s;
animation-delay:4s;

}

.animated-bg span:nth-child(10){

left:95%;
animation-duration:23s;
animation-delay:1s;

}

@keyframes float{

0%{

transform:translateY(110vh) scale(0);

opacity:0;

}

20%{

opacity:.8;

}

100%{

transform:translateY(-20vh) scale(1.4);

opacity:0;

}

}

/*=========================
MOUSE GLOW
=========================*/

.mouse-glow{

position:fixed;

width:300px;
height:300px;

border-radius:50%;

pointer-events:none;

background:radial-gradient(circle,
rgba(212,175,55,.22),
transparent 70%);

transform:translate(-50%,-50%);

z-index:-1;

filter:blur(25px);

transition:.08s linear;

}
/*==========================
MOBILE RESPONSIVE
==========================*/

@media (max-width:768px){

header{

padding:15px 20px;
flex-direction:column;
gap:15px;

}

.logo{

justify-content:center;

}

.logo img{

width:50px;
height:50px;

}

.logo span{

font-size:18px;

text-align:center;

}

nav{

display:flex;

flex-wrap:wrap;

justify-content:center;

gap:18px;

}

nav a{

font-size:15px;

}

/* Hero */

.hero{

padding:120px 20px 80px;

}

.hero h1{

font-size:36px;
line-height:1.3;

}

.hero p{

font-size:16px;

}

.btn{

padding:12px 28px;
font-size:15px;

}

/* About */

.about-container{

grid-template-columns:1fr;

gap:35px;

}

.about-content{

text-align:center;

}

.about-features{

grid-template-columns:1fr;

}

/* Services */

.services-container{

grid-template-columns:1fr;

}

/* Portfolio */

.featured-project{

grid-template-columns:1fr;

}

.portfolio-grid{

grid-template-columns:1fr;

}

.portfolio-card{

height:240px;

}

/* Stats */

.stats-grid{

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

}

/* Contact */

.contact-container{

grid-template-columns:1fr;

}

/* Footer */

.footer-logo{

flex-direction:column;

}

.footer-logo h2{

font-size:22px;

}

}

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

@media(max-width:480px){

.hero h1{

font-size:30px;

}

.hero p{

font-size:15px;

}

.section-title h2{

font-size:28px;

}

.about-content h2{

font-size:28px;

}

.featured-content h2{

font-size:28px;

}

.stats-grid{

grid-template-columns:1fr;

}

}
/*=========================
HAMBURGER MENU
=========================*/

.menu-toggle{

display:none;

font-size:32px;

color:#D4AF37;

cursor:pointer;

}

/* Mobile */

@media(max-width:768px){

.menu-toggle{

display:block;

}

nav{

position:fixed;

top:80px;

right:-100%;

width:260px;

height:calc(100vh - 80px);

background:#111;

display:flex;

flex-direction:column;

padding:40px 25px;

gap:25px;

transition:.4s;

box-shadow:-10px 0 30px rgba(0,0,0,.4);

}

nav.active{

right:0;

}

nav a{

font-size:18px;

}

}
/* Contact Links */

.contact-card a{
    color:#fff;
    text-decoration:none;
    transition:.3s;
}

.contact-card a:hover{
    color:#d4af37;
}
.whatsapp-btn{
    display:inline-block;
    margin-top:40px;
}
