@font-face{
font-family:Roboto;
src:url("fonts/Roboto-Regular.ttf") format("truetype");
font-weight:400;
font-style:normal;
font-display:swap;
}

@font-face{
font-family:rousseau;
src:url("fonts/rousseau.ttf") format("truetype");
font-weight:400;
font-style:normal;
font-display:swap;
}

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

html{
scroll-behavior:smooth;
}

body{
font-family:Roboto,Arial,sans-serif;
background:#f8f7f3;
color:#333;
line-height:1.7;
}

.hero{
position:relative;
height:100vh;
overflow:hidden;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
color:white;
}

.hero video{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
object-fit:cover;
}

.overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.45);
}

.hero-content{
position:relative;
z-index:5;
padding:20px;
}

.logo{
width:170px;
height:auto;
margin-bottom:30px;
}

h1{
font-family:rousseau,serif;
font-size:68px;
font-weight:normal;
letter-spacing:2px;
margin-bottom:15px;
}

.hero p{
font-size:22px;
max-width:750px;
margin:auto;
margin-bottom:35px;
}

.btn{
display:inline-block;
padding:15px 34px;
background:#245236;
color:white;
text-decoration:none;
border-radius:40px;
transition:.3s;
}

.btn:hover{
background:#173624;
}

.btn:focus-visible,
footer a:focus-visible{
outline:3px solid #fff;
outline-offset:4px;
}

.section{
max-width:1100px;
margin:auto;
padding:90px 25px;
}

.section h2{
font-family:rousseau,serif;
font-size:42px;
color:#245236;
margin-bottom:30px;
text-align:center;
}

.section p{
font-size:20px;
text-align:center;
max-width:900px;
margin:auto;
}

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

.gallery img{
width:100%;
height:340px;
object-fit:cover;
transition:.4s;
display:block;
}

.gallery img:hover{
transform:scale(1.03);
}

.cantina{
background:#1f2d23;
padding:90px 20px;
text-align:center;
color:white;
}

.cantina h2{
font-family:rousseau,serif;
font-size:42px;
margin-bottom:30px;
}

.cantina video{
width:100%;
max-width:900px;
border-radius:10px;
}

footer{
background:#111;
color:white;
text-align:center;
padding:60px 20px;
}

footer h3{
font-family:rousseau,serif;
font-size:38px;
margin-bottom:20px;
}

footer p{
margin:8px;
font-size:18px;
}

footer address{
font-style:normal;
}

footer a{
color:inherit;
text-decoration:none;
}

footer a:hover{
text-decoration:underline;
}

@media(prefers-reduced-motion:reduce){

html{
scroll-behavior:auto;
}

*,
*::before,
*::after{
animation-duration:.01ms !important;
animation-iteration-count:1 !important;
scroll-behavior:auto !important;
transition-duration:.01ms !important;
}

}

@media(max-width:900px){

h1{
font-size:42px;
}

.hero p{
font-size:18px;
}

.section h2{
font-size:34px;
}

.section p{
font-size:18px;
}

.gallery img{
height:250px;
}

}

@media(max-width:767px){

.gallery{
display:block;
width:100%;
}

.gallery img{
display:block;
width:100%;
max-width:100%;
height:auto;
object-fit:contain;
border-radius:10px;
overflow:hidden;
margin-bottom:10px;
}

.gallery img:hover{
transform:none;
}

.gallery img:last-child{
margin-bottom:0;
}

}
