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

body{

font-family:Roboto, sans-serif;
background:#0f1720;
color:white;

}

/* NAV */

nav{

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

padding:20px 60px;

background:#0b1220;

}

nav ul{

display:flex;
gap:30px;
list-style:none;

}

nav a{

color:white;
text-decoration:none;
font-weight:600;

}

.logo{

font-family:Montserrat;
font-weight:700;

}

.nav-btn{

background:#1e90ff;
padding:10px 16px;
border-radius:6px;

}


/* HERO */

.hero{

position:relative;
height:80vh;

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

text-align:center;

background:#0f1720;

overflow:hidden;

}

.hero h1{

font-size:3rem;
margin-bottom:15px;

}

.hero-content{

position:relative;
z-index:2;

}

.hero-logo{

position:absolute;

width:420px;

opacity:0.15;

animation: floatLogo 6s ease-in-out infinite;

filter: drop-shadow(0 0 25px #ff9900);

pointer-events:none;

}

/* floating animation */

@keyframes floatLogo{

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

}

.hero p{

font-size:1.1rem;
max-width:600px;
margin:auto;

}

.hero-buttons{

margin-top:25px;

display:flex;
gap:15px;

justify-content:center;

}

/* SERVICES */

.services{

padding:80px 10%;

text-align:center;

}

.services-grid{

margin-top:40px;

display:grid;

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

gap:25px;

}

.service-card{

background:#111827;

padding:25px;

border-radius:10px;

}


/* PORTFOLIO */

.portfolio{

padding:80px 10%;

text-align:center;

}

.gallery{

margin-top:30px;

display:grid;

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

gap:15px;

}

.gallery img{

width:100%;
border-radius:10px;

transition:transform .2s;

}

.gallery img:hover{

transform:scale(1.05);

}


/* ABOUT */

.about{

padding:80px 10%;

}

.about-container{

display:flex;
gap:40px;
align-items:center;
flex-wrap:wrap;

}

.about img{

width:280px;
border-radius:12px;

}


/* TESTIMONIAL */

.testimonial{

background:#111827;

text-align:center;

padding:60px 20px;

font-size:1.2rem;

}


/* CONTACT */

.contact{

padding:80px 10%;

text-align:center;

}

form{

max-width:500px;
margin:auto;

display:flex;
flex-direction:column;
gap:15px;

}

input, textarea{

padding:12px;
border:none;
border-radius:6px;

}

button{

border:none;
cursor:pointer;

}

.contact-info{

margin-top:20px;

opacity:.8;

}


/* FOOTER */

footer{

text-align:center;

padding:25px;

background:#0b1220;

}
