*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Montserrat',sans-serif;
background:#f8f6f3;
color:#2f2f2f;

}

.hero{

height:100vh;

background:
linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.25)),
url("IMÁGENES/foto\ 1.jpg");

background-size:cover;
background-position:center;

display:flex;
justify-content:center;
align-items:center;
text-align:center;

}
.hero::before{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.2);
}

.overlay{
padding:30px;
color:white;
}

h1{

font-family:'Cormorant Garamond',serif;
font-size:4rem;
font-weight:500;
margin-bottom:20px;

}

.fecha{
letter-spacing:3px;
margin-bottom:15px;
}

.frase{
max-width:300px;
margin:auto;
line-height:1.8;
}

.btn{

display:inline-block;
margin-top:30px;

padding:15px 30px;

border:1px solid white;
color:white;

text-decoration:none;

}

.section{

padding:40px 25px;
text-align:center;

}

.section h2{

font-family:'Cormorant Garamond',serif;
font-size:2.5rem;

margin-bottom:40px;

}

.card{

background:white;

padding:30px;

border-radius:20px;

box-shadow:
0 10px 30px rgba(0,0,0,.05);

}

.map-btn{

display:inline-block;

margin-top:20px;

padding:10px 20px;

background:#b99a6b;
color:white;

text-decoration:none;

border-radius:30px;

}

.timeline{

max-width:500px;
margin:auto;

}

.event{

    background:white;

    padding:22px;

    margin-bottom:20px;

    border-radius:18px;

    box-shadow:0 8px 25px rgba(0,0,0,.05);

    border-left:4px solid #c5a36d;

    text-align:left;

    transition:all .3s ease;

}

.event:hover{

    transform:translateY(-3px);

}

.event span{

    display:block;

    font-size:1.4rem;

    font-weight:600;

    margin-bottom:8px;

    font-family:'Cormorant Garamond', serif;

}

.event p{

    margin:0;

    color:#666;

    font-size:1rem;

}

.hotel{

background:white;

padding:25px;

margin-bottom:20px;

border-radius:15px;

}

form{

display:flex;
flex-direction:column;
gap:15px;

max-width:500px;
margin:auto;

}

input,
textarea,
select{

padding:15px;

border:1px solid #ddd;

border-radius:10px;

font-size:1rem;

}

form button{

padding:15px;

border:none;

background:#b99a6b;

color:white;

border-radius:10px;

font-size:1rem;

cursor:pointer;

}

#countdown{

margin-top:25px;

font-size:1.3rem;

letter-spacing:2px;

}

#playMusic{

position:fixed;

right:20px;
bottom:20px;

width:60px;
height:60px;

border:none;

border-radius:50%;

background:#b99a6b;
color:white;

font-size:22px;

z-index:999;

cursor:pointer;

}

footer{

padding:60px 20px;

text-align:center;

font-family:'Cormorant Garamond',serif;

font-size:2rem;

}

.countdown-section{
    padding:60px 25px;
    text-align:center;
    background:#f8f6f3;
}

.countdown-section h2{
    font-family:'Cormorant Garamond',serif;
    font-size:2.8rem;
    margin-bottom:25px;
}

.countdown-box{
    background:white;
    padding:30px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.05);

    font-size:1.4rem;
    letter-spacing:2px;
    line-height:1.8;
}

.contador-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:25px;
    justify-items:center;
}

.contador-item{
    display:flex;
    flex-direction:column;
    align-items:center;
}

.contador-item span{
    font-size:2.2rem;
    font-weight:600;
    font-family:'Cormorant Garamond', serif;
    line-height:1;
}

.contador-item small{
    margin-top:8px;
    font-size:0.95rem;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#777;
}

.reveal{

    opacity:0;

    transform:translateY(50px);

    transition:
        opacity 0.8s ease,
        transform 0.8s ease;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}