*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
background:#050505;
color:#f5f5f5;
font-family:'Raleway',sans-serif;
line-height:1.8;
}

h1,h2{
font-family:'Playfair Display',serif;
}

nav{
position:fixed;
width:100%;
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 60px;
background:rgba(0,0,0,.75);
z-index:1000;
}

.logo img{
height:80px;
}

nav ul{
display:flex;
list-style:none;
gap:30px;
}

nav a{
color:white;
text-decoration:none;
}

.hero{
height:100vh;
background:url("../images/photo2.png") center center/cover no-repeat;
position:relative;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
}

.hero-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.55);
}

.hero-content{
position:relative;
z-index:2;
}

.hero h1{
font-size:4rem;
margin-bottom:10px;
}

.hero p{
font-size:1.4rem;
margin-bottom:30px;
}

.btn{
display:inline-block;
padding:12px 30px;
border:1px solid white;
color:white;
text-decoration:none;
}

.container{
max-width:1000px;
margin:auto;
padding:100px 30px;
}

.about p{
margin-bottom:20px;
}

.gallery{
padding:80px 30px;
}

.gallery h2{
text-align:center;
margin-bottom:40px;
}


.gallery-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:20px;
}

.gallery-grid img{
    width:100%;
    cursor:pointer;
    transition:all .4s ease;

    border:2px solid rgba(255,255,255,.85);
    box-shadow:0 8px 25px rgba(0,0,0,.35);
}

.gallery-grid img:hover{
    transform:scale(1.02);
    border-color:#ffffff;
    box-shadow:0 15px 40px rgba(0,0,0,.5);
}

.lightbox{
display:none;
position:fixed;
inset:0;
background:rgba(0,0,0,.95);
justify-content:center;
align-items:center;
z-index:5000;
}

.lightbox img{
max-width:90%;
max-height:90%;
 border:2px solid #ffffff;
}

.close{
position:absolute;
top:30px;
right:40px;
font-size:40px;
cursor:pointer;
}

.contact form{
display:flex;
flex-direction:column;
gap:15px;
margin-top:30px;
}

input,textarea{
padding:15px;
background:#111;
border:1px solid #444;
color:white;
}

button{
padding:15px;
background:white;
color:black;
border:none;
cursor:pointer;
font-weight:bold;
}

footer{
text-align:center;
padding:30px;
border-top:1px solid #333;
}

@media(max-width:768px){

nav{
flex-direction:column;
padding:20px;
}

.hero h1{
font-size:2.5rem;
}

}