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

body {
    font-family: Georgia, serif;
    background: #fff8f9;
    color: #794b48;
}

header {
    background:#ffe3e7;
    padding:12px 35px;

    display:flex;
    align-items:center;

    position:sticky;
    top:0;
    z-index:100;
}

.logo img {
    width: 220px;
    transition:0.3s;
}

nav{
    display:flex;
    width:65%;
    justify-content:space-around;
    align-items:center;
    margin-left:auto;
}

nav a{

    text-decoration:none;

    color:#ec829b;

    font-family:Georgia, serif;

    font-size:20px;

    transition:.3s;
}

nav a:hover {
    color: #794b48;
}

.btn-nav {
    border: 2px solid #ec829b;
    padding: 8px 16px;
}

.hero{

width:100%;

height:calc(100vw * 0.48125);

max-height:924px;

min-height:450px;

background-image:url("img/Banner.png");

background-size:100% auto;

background-position:center top;

background-repeat:no-repeat;

margin:0;
padding:0;
}

section {
    padding: 65px 6%;
}

.titulo {
    font-family: "Great Vibes", cursive;
    color: #ec829b;
    font-size: 58px;
    margin-bottom: 35px;
}

.nosotros{

display:grid;

grid-template-columns:1.3fr .9fr;

gap:60px;

align-items:center;

background:
linear-gradient(
90deg,
#fff8f9 0%,
#fff8f9 83%,
#f4afb9 83%
);
}

.nosotros img,
.pasos img {

    width:90%;

    height:540px;

    object-fit:cover;

    margin:auto;

    display:block;

    transition:all .5s ease;

    cursor:pointer;

    border-radius:10px;
}

.nosotros img:hover,
.pasos img:hover{

    transform:scale(1.08);

    box-shadow:0 20px 45px rgba(236,130,155,.55);
}

.nosotros,
.pasos{

    overflow:hidden;
}

.nosotros p {
    line-height: 1.6;
    margin-bottom: 18px;
}

.frase {
    color: #ec829b;
    font-family: "Cinzel", serif;
    font-weight: bold;
    margin-top: 30px;
}

.eventos{

background:

radial-gradient(
circle at 15% 30%,
rgba(244,175,185,.80) 0%,
transparent 35%
),

radial-gradient(
circle at 80% 70%,
rgba(236,130,155,.50) 0%,
transparent 30%
),

radial-gradient(
circle at 45% 50%,
rgba(255,227,231,.90) 0%,
transparent 45%
),

linear-gradient(
90deg,
#fff8f9,
#f6dce0
);

}

.eventos-texto {
    width: 70%;
    margin-bottom: 35px;
    line-height: 1.6;
}

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 35px;
}

.card {

    text-align:center;

    background:#fff8f9;

    padding:18px;

    border:2px solid #f4afb9;

    overflow:hidden;

    transition:all .4s ease;

    border-radius:18px;

    box-shadow:0 10px 25px rgba(121,75,72,.12);
}

.card:hover {

    transform:translateY(-8px);

    box-shadow:
    0 18px 35px rgba(121,75,72,.15),
    0 0 25px rgba(236,130,155,.25);
}

.card img {

    width:90%;

    height:auto;

    aspect-ratio:4/5;

    object-fit:contain;

    display:block;

    margin:15px auto;

    border-radius:15px;

    transition:all .5s ease;

    box-shadow:0 10px 18px rgba(121,75,72,.12);
}

.card:hover img {

    transform:scale(1.03);

    box-shadow:
    0 22px 40px rgba(236,130,155,.55),
    0 0 35px rgba(236,130,155,.35);
}

.card {

    text-align:center;

    background:#fff8f9;

    padding:25px;

    border:2px solid #f4afb9;

    border-radius:18px;

    overflow:hidden;

    transition:all .4s ease;

    box-shadow:0 10px 25px rgba(121,75,72,.12);

    display:flex;

    flex-direction:column;

    justify-content:space-between;
}


.card h3 {
    color: #ec829b;
    font-family: "Cinzel", serif;
    margin: 22px 0 16px;
}

.precio {
    font-weight: bold;
    color: #794b48;
    margin: 18px 0 20px;
    display:block;
}

.pasos {
    display: grid;
    grid-template-columns: 0.9fr 1.2fr;
    gap: 70px;
    align-items: center;
    background: linear-gradient(90deg, #f4afb9 0%, #f4afb9 28%, #fff8f9 28%);
}

.paso {
    margin-bottom: 40px;
}

.paso h3 {
    color: #ec829b;
    font-family: "Cinzel", serif;
    margin-bottom: 10px;
}

.comentario-area{

background:

radial-gradient(
circle at 80% 20%,
rgba(236,130,155,.60) 0%,
transparent 30%
),

radial-gradient(
circle at 25% 70%,
rgba(244,175,185,.75) 0%,
transparent 35%
),

radial-gradient(
circle at 60% 45%,
rgba(255,227,231,.95) 0%,
transparent 45%
),

linear-gradient(
90deg,
#ffe3e7,
#fff8f9
);

text-align:center;

}

.comentario-area h2{

margin-bottom:35px;
}

form {

max-width:650px;

margin:auto;

background:#fff8f9;

padding:45px;

border-radius:35px;

box-shadow:

0 15px 35px rgba(121,75,72,.10),

0 0 40px rgba(236,130,155,.28);

transition:all .5s ease;

transform:translateY(0);
}

form:hover{

transform:translateY(-10px);

box-shadow:

0 22px 50px rgba(121,75,72,.18),

0 0 65px rgba(236,130,155,.50);
}

input, textarea, select {
    width: 100%;
    padding: 14px;
    margin-bottom: 18px;
    border: 2px solid #f4afb9;
    background: white;
    color: #794b48;
    font-family: Georgia, serif;
}

textarea {
    min-height: 130px;
}

button, .btn {
    background: #ec829b;
    color: white;
    border: none;

    padding: 8px 18px;

    text-decoration: none;

    cursor: pointer;

    font-family: Georgia, serif;

    transition: 0.3s ease;

    font-size:16px;

    display:inline-block;
}

.card .btn{

padding:6px 16px;

font-size:15px;

width:100px;

margin-top:auto;

align-self:center;
}

button:hover, .btn:hover {
    background: #794b48;
}

.clientes {
    background: #fff8f9;
}

.estrellas {
    color: #ec829b;
    font-size: 20px;
    margin-bottom: 15px;
}

footer {
    background: #f4afb9;
    text-align: center;
    padding: 25px;
}

footer img {
    max-width: 700px;
    width: 90%;
}

table {
    width: 100%;
    border-collapse: collapse;
    background: white;
}

th {
    background: #ec829b;
    color: white;
}

td, th {
    padding: 12px;
    border: 1px solid #f4afb9;
    text-align: center;
}

/* Animación al hacer scroll */
.reveal{

opacity:0;

transform:translateY(45px);

transition:opacity .8s ease,
transform .8s ease;
}

.reveal.activo{

opacity:1;

transform:translateY(0);
}

@media(max-width: 850px) {
    header {
        flex-direction: column;
        gap: 12px;
    }

    nav a {
        margin: 8px;
        display: inline-block;
    }

    .nosotros,
    .pasos {
        grid-template-columns: 1fr;
        background: #fff8f9;
    }

    .eventos-texto {
        width: 100%;
    }

    .titulo {
        font-size: 45px;
    }
}

.catalogo-area{

background:

radial-gradient(
circle at 12% 20%,
rgba(244,175,185,.25) 0%,
transparent 30%
),

radial-gradient(
circle at 88% 75%,
rgba(236,130,155,.18) 0%,
transparent 35%
),

radial-gradient(
circle at 50% 45%,
rgba(255,227,231,.65) 0%,
transparent 45%
),

radial-gradient(
circle at 80% 15%,
rgba(246,220,224,.30) 0%,
transparent 25%
),

radial-gradient(
circle at 25% 90%,
rgba(244,175,185,.18) 0%,
transparent 25%
),

linear-gradient(
90deg,
#fffcfd,
#fff4f6,
#fff8f9
);

}

.card p {
    margin-bottom: 18px;
    line-height: 1.4;
}

.card .btn {
    margin-top: 10px;
}

.texto-secuencia {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .8s ease, transform .8s ease;
}

.texto-secuencia.visible {
    opacity: 1;
    transform: translateY(0);
}

.evento-card img{

    width:100%;

    height:300px;

    object-fit:cover;

    border-radius:15px;

    margin:0 auto 25px auto;

    display:block;

    box-shadow:
    0 18px 35px rgba(121,75,72,.15),
    0 0 35px rgba(236,130,155,.35);
}

.evento-card{

    min-height:auto;

    justify-content:flex-start;
}

.evento-card:hover img{

    transform:scale(1.03);

    box-shadow:
    0 22px 45px rgba(121,75,72,.18),
    0 0 45px rgba(236,130,155,.50);
}

.boton-catalogo{

display:inline-block;

margin-top:30px;

padding:12px 28px;

background:#ec829b;

color:white;

text-decoration:none;

font-family:Georgia, serif;

border-radius:8px;

box-shadow:
0 12px 25px rgba(236,130,155,.25);

transition:all .4s ease;
}

.boton-catalogo:hover{

transform:translateY(-5px);

background:#794b48;

box-shadow:
0 18px 35px rgba(236,130,155,.45);
}