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

body{

font-family:system-ui,sans-serif;
line-height:1.6;
color:#333;
background:#fafafa;

}

nav{

display:flex;
justify-content:space-between;
align-items:center;
padding:20px 10%;
background:white;
position:sticky;
top:0;
box-shadow:0 2px 10px rgba(0,0,0,.08);

}

nav ul{

display:flex;
list-style:none;
gap:30px;

}

nav a{

text-decoration:none;
color:#2f5d50;
font-weight:bold;

}

.logo{

font-size:1.3rem;
font-weight:bold;

}

.hero{

height:60vh;

background:url("../images/hero.jpg") center/cover;

display:flex;
flex-direction:column;

}

.hero-text{

margin:auto;
text-align:center;
color:white;
background:rgba(0,0,0,.45);
padding:40px;
border-radius:10px;

}

.hero h1{

font-size:3rem;
margin-bottom:20px;

}

.button{

display:inline-block;
margin-top:20px;
background:#2f5d50;
color:white;
padding:15px 25px;
border-radius:6px;
text-decoration:none;

}

section{

padding:80px 10%;

}

h2{

margin-bottom:30px;
color:#2f5d50;

}

.cards{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:25px;

}

.card{

background:white;
padding:25px;
border-radius:10px;
box-shadow:0 3px 12px rgba(0,0,0,.08);

}

table{

width:100%;
border-collapse:collapse;
background:white;

}

td,th{

padding:15px;
border-bottom:1px solid #ddd;

}

.gallery{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:15px;

}

.gallery img{

width:100%;
height:220px;
object-fit:cover;
border-radius:10px;

}

footer{

background:#2f5d50;
color:white;
padding:40px;
text-align:center;

}

footer a{

color:white;

}

@media(max-width:800px){

nav{

flex-direction:column;
gap:15px;

}

.hero h1{

font-size:2rem;

}

}
