*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Poppins',sans-serif;
background:#0f0f0f;
color:white;
}

img{
width:100%;
display:block;
}

a{
text-decoration:none;
color:white;
}

ul{
list-style:none;
}

/* ================= NAVBAR ================= */

header{
position:absolute;
width:100%;
top:0;
left:0;
z-index:1000;
}

.navbar{
width:90%;
margin:auto;
padding:25px 0;

display:flex;
justify-content:space-between;
align-items:center;
}

.logo{
font-family:'Playfair Display',serif;
font-size:34px;
font-weight:700;
color:#d4af37;
}

.nav-links{
display:flex;
gap:35px;
}

.nav-links a{
transition:.3s;
font-size:15px;
}

.nav-links a:hover{
color:#d4af37;
}

.book-btn{
padding:12px 28px;
border:2px solid #d4af37;
border-radius:40px;
transition:.4s;
}

.book-btn:hover{
background:#d4af37;
color:black;
}

/* ================= HERO ================= */

.hero{

height:100vh;

background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
url("images/hero.jpg") center/cover;

display:flex;
align-items:center;
justify-content:center;
text-align:center;
padding:0 20px;

}

.hero-content{
max-width:700px;
}

.hero h1{

font-family:'Playfair Display',serif;
font-size:70px;
margin-bottom:25px;

}

.hero p{

font-size:18px;
line-height:1.8;
color:#dddddd;
margin-bottom:40px;

}

.hero-buttons{
display:flex;
justify-content:center;
gap:20px;
}

.btn-primary{

background:#d4af37;
color:black;

padding:15px 35px;

border-radius:40px;

font-weight:600;

transition:.4s;

}

.btn-primary:hover{
transform:translateY(-4px);
}

.btn-secondary{

border:2px solid white;

padding:15px 35px;

border-radius:40px;

transition:.4s;

}

.btn-secondary:hover{

background:white;
color:black;

}

/* ================= FEATURED ================= */

.featured{

padding:100px 8%;

background:#161616;

}

.featured h2{

font-size:45px;

font-family:'Playfair Display',serif;

text-align:center;

margin-bottom:60px;

}

.cards{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:35px;

}

.card{

background:#222;

border-radius:20px;

overflow:hidden;

transition:.4s;

}

.card:hover{

transform:translateY(-12px);

}

.card img{

height:260px;

object-fit:cover;

}

.card h3{

font-size:24px;

margin:25px;

font-family:'Playfair Display',serif;

}

.card p{

margin:0 25px 20px;

color:#cfcfcf;

line-height:1.7;

}

.card span{

display:block;

margin:0 25px 25px;

font-size:22px;

color:#d4af37;

font-weight:600;

}


/* ================= ABOUT ================= */

.about{
display:flex;
align-items:center;
justify-content:center;
gap:70px;
padding:100px 8%;
background:#111;
flex-wrap:wrap;
}

.about-image{
flex:1;
min-width:320px;
}

.about-image img{
border-radius:20px;
height:500px;
object-fit:cover;
}

.about-content{
flex:1;
min-width:320px;
}

.about-content h2{
font-family:'Playfair Display',serif;
font-size:50px;
margin-bottom:25px;
}

.about-content p{
color:#cfcfcf;
line-height:1.9;
margin-bottom:20px;
}

.about-btn{
display:inline-block;
margin-top:20px;
padding:14px 35px;
background:#d4af37;
color:black;
border-radius:40px;
font-weight:600;
transition:.4s;
}

.about-btn:hover{
transform:translateY(-4px);
}

/* ================= MENU ================= */

.menu{
padding:100px 8%;
background:#181818;
}

.menu h2{
text-align:center;
font-family:'Playfair Display',serif;
font-size:50px;
margin-bottom:60px;
}

.menu-container{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:35px;
}

.menu-card{
background:#222;
border-radius:18px;
overflow:hidden;
transition:.4s;
}

.menu-card:hover{
transform:translateY(-10px);
}

.menu-card img{
height:220px;
object-fit:cover;
}

.menu-card h3{
margin:20px;
font-size:24px;
font-family:'Playfair Display',serif;
}

.menu-card p{
margin:0 20px;
color:#ccc;
line-height:1.7;
}

.menu-card span{
display:block;
margin:20px;
color:#d4af37;
font-size:22px;
font-weight:600;
}

/* ================= WHY US ================= */

.why-us{
padding:100px 8%;
background:#111;
}

.why-us h2{
text-align:center;
font-family:'Playfair Display',serif;
font-size:50px;
margin-bottom:60px;
}

.features{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
}

.feature{
background:#1d1d1d;
padding:40px 30px;
border-radius:20px;
text-align:center;
transition:.4s;
}

.feature:hover{
transform:translateY(-8px);
}

.feature h3{
margin-bottom:20px;
font-size:24px;
color:#d4af37;
}

.feature p{
color:#ccc;
line-height:1.8;
}



/* ================= GALLERY ================= */

.gallery{

padding:100px 8%;

background:#181818;

}

.gallery h2{

text-align:center;

font-size:50px;

font-family:'Playfair Display',serif;

margin-bottom:60px;

}

.gallery-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:20px;

}

.gallery-grid img{

height:260px;

width:100%;

object-fit:cover;

border-radius:15px;

transition:.4s;

cursor:pointer;

}

.gallery-grid img:hover{

transform:scale(1.05);

}

/* ================= CHEFS ================= */

.chefs{

padding:100px 8%;

background:#111;

}

.chefs h2{

text-align:center;

font-size:50px;

font-family:'Playfair Display',serif;

margin-bottom:60px;

}

.chef-container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:35px;

}

.chef-card{

background:#222;

border-radius:20px;

overflow:hidden;

text-align:center;

transition:.4s;

}

.chef-card:hover{

transform:translateY(-10px);

}

.chef-card img{

height:350px;

object-fit:cover;

}

.chef-card h3{

margin:20px 0 10px;

font-size:28px;

}

.chef-card p{

margin-bottom:25px;

color:#d4af37;

}

/* ================= TESTIMONIALS ================= */

.testimonials{

padding:100px 8%;

background:#181818;

}

.testimonials h2{

text-align:center;

font-size:50px;

font-family:'Playfair Display',serif;

margin-bottom:60px;

}

.testimonial-container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:30px;

}

.testimonial{

background:#222;

padding:35px;

border-radius:20px;

transition:.4s;

}

.testimonial:hover{

transform:translateY(-10px);

}

.testimonial p{

line-height:1.8;

color:#ddd;

margin-bottom:15px;

}

.testimonial h4{

color:#d4af37;

}

/* ================= RESERVATION ================= */

.reservation{

padding:100px 8%;

background:#111;

text-align:center;

}

.reservation h2{

font-size:50px;

font-family:'Playfair Display',serif;

margin-bottom:50px;

}

form{

max-width:700px;

margin:auto;

display:grid;

gap:20px;

}

form input{

padding:18px;

background:#222;

border:none;

color:white;

border-radius:10px;

font-size:16px;

}

form button{

padding:18px;

background:#d4af37;

border:none;

border-radius:50px;

font-size:18px;

font-weight:600;

cursor:pointer;

transition:.4s;

}

form button:hover{

transform:translateY(-5px);

}

/* ================= FOOTER ================= */

footer{

padding:60px 8%;

background:black;

text-align:center;

}

footer h2{

font-family:'Playfair Display',serif;

font-size:40px;

color:#d4af37;

margin-bottom:20px;

}

footer p{

color:#aaa;

margin-bottom:20px;

}

.footer-links{

display:flex;

justify-content:center;

gap:30px;

margin-bottom:25px;

flex-wrap:wrap;

}

.footer-links a{

transition:.3s;

}

.footer-links a:hover{

color:#d4af37;

}

/* ================= RESPONSIVE ================= */

@media(max-width:768px){

.hero h1{

font-size:45px;

}

.hero-buttons{

flex-direction:column;

}

.nav-links{

display:none;

}

.about{

flex-direction:column;

}

}


header{
    position:fixed;
    top:0;
    width:100%;
    backdrop-filter:blur(15px);
    background:rgba(0,0,0,.3);
    border-bottom:1px solid rgba(255,255,255,.08);
    z-index:1000;
}
::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#111;
}

::-webkit-scrollbar-thumb{
    background:#d4af37;
    border-radius:10px;
}

.logo{

background:linear-gradient(to right,#d4af37,#ffe08a);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

.card:hover,
.menu-card:hover,
.chef-card:hover{

box-shadow:0 25px 50px rgba(212,175,55,.25);

}

.btn-primary{

background:linear-gradient(135deg,#d4af37,#b8860b);

}

img{

border-radius:18px;

}

section{

animation:fadeUp .8s ease;

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(50px);

}

to{

opacity:1;

transform:translateY(0);

}

}

.line{

display:block;

width:120px;

height:4px;

background:#d4af37;

margin:20px auto;

border-radius:50px;

}

.card img{

transition:.5s;

}

.card:hover img{

transform:scale(1.1);

}

.hero{
    padding-top:120px;
}

.gallery-grid{
    columns:3 250px;
    column-gap:20px;
}

.gallery-grid img{
    width:100%;
    margin-bottom:20px;
    border-radius:15px;
    transition:.4s;
    cursor:pointer;
}

.gallery-grid img:hover{
    transform:scale(1.03);
}

/* ================= CONTACT ================= */

.contact{
    padding:100px 8%;
    background:#181818;
    text-align:center;
}

.contact h2{
    font-size:50px;
    font-family:'Playfair Display',serif;
    margin-bottom:60px;
}

.contact-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
}

.contact-box{
    background:#222;
    padding:35px;
    border-radius:20px;
    transition:.4s;
}

.contact-box:hover{
    transform:translateY(-10px);
    box-shadow:0 15px 35px rgba(212,175,55,.2);
}

.contact-box h3{
    color:#d4af37;
    margin-bottom:15px;
    font-size:24px;
}

.contact-box p{
    color:#ddd;
    line-height:1.8;
}