*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Inter',sans-serif;
background:#ffffff;
color:#1a1a1a;
line-height:1.7;
}

:root{
--primary:#0f3d24;
--gold:#d4af37;
--light:#f6f6f6;
}

.container{
max-width:1200px;
margin:auto;
padding:0 24px;
}


/* NAV */

nav{
position:fixed;
width:100%;
z-index:100;
transition:.3s;
}

nav.scrolled{
background:white;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.nav-inner{
display:flex;
justify-content:space-between;
align-items:center;
height:80px;
}

.logo{
font-weight:600;
letter-spacing:3px;
color:white;
}

nav.scrolled .logo{
color:var(--primary);
}

.menu{
display:flex;
gap:40px;
}

.menu a{
text-decoration:none;
color:white;
}

nav.scrolled .menu a{
color:#333;
}

.menu-toggle{
display:none;
font-size:26px;
cursor:pointer;
color:white;
}

.close-btn{
display:none;
}


/* HERO */

.hero{
height:60vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:white;

background:
linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)),
url("https://images.unsplash.com/photo-1515562141207-7a88fb7ce338");

background-size:cover;
background-position:center;
}

.hero h1{
font-family:'Playfair Display',serif;
font-size:52px;
margin-bottom:20px;
}


/* SECTION */

section{
padding:120px 0;
}


/* TITLE */

.section-title{
font-family:'Playfair Display',serif;
font-size:42px;
text-align:center;
margin-bottom:60px;
color:var(--primary);
}


/* PORTFOLIO GRID */

.portfolio-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
}

.card{
position:relative;
overflow:hidden;
border-radius:12px;
}

.card img{
width:100%;
transition:.4s;
}

.card:hover img{
transform:scale(1.1);
}

.card-overlay{
position:absolute;
bottom:0;
left:0;
right:0;
padding:20px;
background:rgba(0,0,0,.6);
color:white;
font-weight:500;
}


/* BUTTON */

.btn{
display:inline-block;
padding:16px 36px;
border-radius:40px;
text-decoration:none;
}

.btn-gold{
background:var(--gold);
color:#000;
}


/* CTA */

.cta{
background:var(--primary);
color:white;
text-align:center;
}


/* FOOTER */

footer{
background:#111;
color:#aaa;
padding:80px 0;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:30px;
}


/* MOBILE */

@media(max-width:768px){

.menu-toggle{
display:block;
}

.menu{
position:fixed;
top:0;
right:-100%;
width:260px;
height:100vh;
background:white;
flex-direction:column;
padding:80px 30px;
gap:25px;
transition:.4s;
}

.menu a{
color:#333;
}

.menu.active{
right:0;
}

.close-btn{
display:block;
position:absolute;
top:20px;
right:20px;
cursor:pointer;
}

}