*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

font-family:Inter;
color:#1b1b1b;
background:#fafafa;

}

.navbar{

position:fixed;
top:0;
width:100%;
background:white;
border-bottom:1px solid #eee;
z-index:100;

}

.nav-container{

max-width:1200px;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
padding:18px 30px;

}

.logo{

font-weight:600;
letter-spacing:1px;

}

nav a{

margin-left:25px;
text-decoration:none;
color:#333;
font-weight:500;

}

.hero{

height:100vh;
background-size:cover;
background-position:center;
display:flex;
align-items:center;
justify-content:center;
position:relative;
text-align:center;

}

.hero-overlay{

position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.55);

}

.hero-text{

position:relative;
color:white;
max-width:700px;

}

.hero-text h1{

font-family:Playfair Display;
font-size:56px;
margin-bottom:15px;

}

.hero-text p{

font-size:20px;
margin-bottom:25px;

}

.hero-btn{

background:#d1a55c;
color:white;
padding:15px 35px;
text-decoration:none;
border-radius:5px;
font-weight:600;

}

.services{

padding:120px 20px;
max-width:1100px;
margin:auto;
text-align:center;

}

.services h2{

font-family:Playfair Display;
font-size:42px;
margin-bottom:60px;

}

.service-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:30px;

}

.card{

background:white;
padding:30px;
border-radius:10px;
box-shadow:0 8px 20px rgba(0,0,0,.06);

}

.card h3{

margin-bottom:10px;

}

.card span{

font-weight:600;

}

.gallery{

padding:120px 20px;
background:#f3f3f3;
text-align:center;

}

.gallery h2{

font-family:Playfair Display;
font-size:42px;
margin-bottom:50px;

}

.gallery-grid{

max-width:1100px;
margin:auto;
display:grid;
grid-template-columns:1fr 1fr;
gap:30px;

}

.gallery-grid img{

width:100%;
border-radius:10px;

}

.contact{

padding:120px 20px;
text-align:center;

}

.contact h2{

font-family:Playfair Display;
font-size:40px;
margin-bottom:40px;

}

.contact-link{

display:block;
margin:10px 0;
font-size:22px;
color:#d1a55c;
text-decoration:none;

}

footer{

padding:30px;
text-align:center;
background:#111;
color:white;

}

.floating-book{

position:fixed;
bottom:25px;
right:25px;

}

.floating-book a{

background:#d1a55c;
padding:16px 26px;
color:white;
text-decoration:none;
border-radius:40px;
font-weight:600;
box-shadow:0 10px 20px rgba(0,0,0,.2);

}