/* ========================= */
/* GENERAL */
/* ========================= */

*{

    margin:0;
    padding:0;

    box-sizing:border-box;
}

body{

    background:#090909;

    color:white;

    font-family:'Poppins', sans-serif;

    overflow-x:hidden;
}

/* ========================= */
/* MENÚ */
/* ========================= */

nav{

    position:fixed;

    top:0;
    left:0;

    width:100%;

    padding:20px;

    text-align:center;

    background:rgba(0,0,0,0.35);

    backdrop-filter:blur(10px);

    z-index:1000;
}

/* LOGO */

.logo-menu{

    width:90px;
}

/* ========================= */
/* HERO */
/* ========================= */

.hero{

    position:relative;

    height:100vh;

    overflow:hidden;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;
}

/* FOTO DE FONDO */

.fondo-hero{

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:100%;

    object-fit:cover;

    z-index:0;
}

/* CAPA OSCURA */

.overlay{

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:100%;

    background:rgba(0,0,0,0.55);

    z-index:1;
}

/* CONTENIDO */

.contenido-hero{

    position:relative;

    z-index:2;

    width:100%;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:20px;
}

/* TEXTO HERO */

.texto-hero{

    max-width:900px;
}

/* SUBTITULO */

.texto-hero h2{

    font-size:28px;

    font-weight:300;

    margin-bottom:20px;

    color:#f1f1f1;
}

/* TITULO */

.texto-hero h1{

    font-size:85px;

    color:#d4af37;

    font-family:'Cinzel', serif;

    margin-bottom:20px;

    text-transform:uppercase;

    animation:brillo 3s infinite alternate;
}

/* TEXTO */

.texto-hero h3{

    font-size:24px;

    margin-bottom:25px;

    color:#d7d7d7;
}

/* PÁRRAFOS */

.texto-hero p{

    font-size:19px;

    line-height:1.9;

    color:#d8d8d8;

    margin-bottom:20px;
}

/* FRASE FINAL */

.frase-final{

    font-size:22px;

    color:white;

    font-weight:600;
}

/* BOTÓN */

.boton{

    display:inline-block;

    margin-top:30px;

    padding:18px 35px;

    background:#25d366;

    color:white;

    text-decoration:none;

    border-radius:50px;

    font-weight:bold;

    transition:0.3s;
}

.boton:hover{

    transform:scale(1.08);

    background:#1ebe5d;
}

/* ========================= */
/* VIDEO + FOTOS */
/* ========================= */

.media{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:20px;

    padding:100px 20px;

    background:#0d0d0d;
}

/* VIDEO */

.video-box{

    overflow:hidden;

    border-radius:25px;
}

.video-box video{

    width:100%;

    height:100%;

    object-fit:cover;

    border-radius:25px;
}

/* FOTOS */

.fotos-box{

    display:flex;

    flex-direction:column;

    gap:20px;
}

.fotos-box img{

    width:100%;

    height:300px;

    object-fit:cover;

    border-radius:25px;

    transition:0.5s;
}

.fotos-box img:hover{

    transform:scale(1.03);
}

/* ========================= */
/* SERVICIOS */
/* ========================= */

.servicios{

    padding:100px 20px;

    background:#111;

    text-align:center;
}

/* TITULO */

.servicios h2{

    font-size:55px;

    color:#d4af37;

    margin-bottom:60px;

    font-family:'Cinzel', serif;
}

/* GRID */

.contenedor-servicios{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(300px,1fr));

    gap:35px;
}

/* TARJETAS */

.servicio{

    background:#1a1a1a;

    border-radius:25px;

    overflow:hidden;

    transition:0.5s;

    box-shadow:0 0 20px rgba(0,0,0,0.5);
}

.servicio:hover{

    transform:translateY(-10px);

    box-shadow:
    0 0 30px rgba(212,175,55,0.2);
}

/* IMÁGENES */

.servicio img{

    width:100%;

    height:260px;

    object-fit:cover;

    transition:0.5s;
}

.servicio:hover img{

    transform:scale(1.08);
}

/* TITULO */

.servicio h3{

    margin-top:20px;

    font-size:28px;

    color:#d4af37;

    font-family:'Cinzel', serif;
}

/* TEXTO */

.servicio p{

    padding:20px;

    line-height:1.8;

    color:#d8d8d8;

    font-size:16px;
}

/* BOTÓN SERVICIO */

.servicio a{

    display:inline-block;

    margin-bottom:25px;

    padding:15px 30px;

    background:#25d366;

    color:white;

    text-decoration:none;

    border-radius:50px;

    font-weight:bold;

    transition:0.3s;
}

.servicio a:hover{

    background:#111;

    color:#25d366;

    transform:scale(1.08);
}

/* ========================= */
/* CONTACTO */
/* ========================= */

.contacto{

    padding:100px 20px;

    text-align:center;

    background:#0d0d0d;
}

/* TITULO */

.contacto h2{

    font-size:50px;

    color:#d4af37;

    margin-bottom:20px;

    font-family:'Cinzel', serif;
}

/* TEXTO */

.contacto p{

    margin-bottom:30px;

    font-size:18px;
}

/* ========================= */
/* BOTÓN WHATSAPP */
/* ========================= */

.whatsapp{

    position:fixed;

    right:20px;

    bottom:20px;

    background:#25d366;

    color:white;

    text-decoration:none;

    padding:16px 25px;

    border-radius:50px;

    font-weight:bold;

    z-index:1000;

    box-shadow:0 0 20px rgba(37,211,102,0.4);

    transition:0.3s;
}

.whatsapp:hover{

    transform:scale(1.08);
}

/* ========================= */
/* BOTÓN ARRIBA */
/* ========================= */

#arriba{

    position:fixed;

    bottom:90px;

    right:20px;

    padding:15px;

    border:none;

    border-radius:50%;

    background:#d4af37;

    color:black;

    font-size:20px;

    cursor:pointer;

    display:none;

    z-index:1000;
}

/* ========================= */
/* ANIMACIÓN */
/* ========================= */

@keyframes brillo{

    from{

        text-shadow:0 0 10px gold;
    }

    to{

        text-shadow:
        0 0 20px gold,
        0 0 40px gold;
    }
}

/* ========================= */
/* RESPONSIVE */
/* ========================= */

@media(max-width:900px){

    .texto-hero h1{

        font-size:50px;
    }

    .texto-hero h2{

        font-size:22px;
    }

    .texto-hero h3{

        font-size:20px;
    }

    .texto-hero p{

        font-size:17px;
    }

    /* VIDEO + FOTOS */

    .media{

        grid-template-columns:1fr;
    }

    .fotos-box{

        flex-direction:row;
    }

    .fotos-box img{

        height:200px;
    }

    /* SERVICIOS */

    .servicios h2{

        font-size:40px;
    }

    .contacto h2{

        font-size:40px;
    }

}
@media (max-width: 768px) {

  body{
    padding: 10px;
  }

  img{
    max-width: 100%;
    height: auto;
  }

  h1{
    font-size: 28px;
  }

}