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

body{
  font-family:'Poppins',sans-serif;
  background:#f8f8f2;
  color:#222;
  line-height:1.6;
}

.hero{
  position:relative;
  height:90vh;
  overflow:hidden;
}

.logo{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(0.7);
}

.overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  color:white;
  background:rgba(0,0,0,0.25);
  padding:20px;
}

.overlay h1{
  font-size:4rem;
  font-family:'Playfair Display',serif;
  margin-bottom:10px;
}

.overlay p{
  font-size:1.2rem;
  margin-bottom:25px;
}

.btn{
  background:#d8d6bd;
  color:#111;
  padding:14px 28px;
  border-radius:50px;
  text-decoration:none;
  font-weight:600;
  transition:0.3s;
  border:none;
  cursor:pointer;
}

.btn:hover{
  transform:scale(1.05);
}

section{
  padding:70px 10%;
}

h2{
  text-align:center;
  margin-bottom:30px;
  font-size:2.4rem;
  font-family:'Playfair Display',serif;
}

.about p{
  max-width:800px;
  margin:auto;
  text-align:center;
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:25px;
}

.card{
  background:white;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

.placeholder{
  height:260px;
  background-size:cover;
  background-position:center;
}

.one{
  background:linear-gradient(135deg,#d9d7bf,#9b8f74);
}

.two{
  background:linear-gradient(135deg,#c6c3a8,#6f644d);
}

.three{
  background:linear-gradient(135deg,#ece8d4,#a89d84);
}

.four{
  background:linear-gradient(135deg,#d7d2bc,#847660);
}

.card h3,
.card p{
  padding:10px 16px;
}

.booking form{
  max-width:700px;
  margin:auto;
  background:white;
  padding:35px;
  border-radius:25px;
  box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

.form-group{
  margin-bottom:20px;
}

label{
  display:block;
  margin-bottom:8px;
  font-weight:600;
}

input,
textarea,
select{
  width:100%;
  padding:14px;
  border-radius:12px;
  border:1px solid #ccc;
  font-family:'Poppins',sans-serif;
}

footer{
  background:#d8d6bd;
  padding:40px 20px;
  text-align:center;
}

.socials{
  margin-top:10px;
}

.copy{
  margin-top:20px;
  opacity:0.7;
}

@media(max-width:768px){

  .overlay h1{
    font-size:2.5rem;
  }

  .hero{
    height:70vh;
  }

}
