*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* FONDO */
body{
    font-family: Arial, Helvetica, sans-serif;
    background: linear-gradient(to right, #ff7b00, #ffb347);
    color: #222;
}

/* ENCABEZADO */
header{
    background-color: #111;
    color: white;
    text-align: center;
    padding: 30px 20px;
}

header h1{
    font-size: 45px;
    margin-bottom: 10px;
}

header p{
    font-size: 20px;
    margin-bottom: 20px;
}

/* MENÚ */
nav{
    margin-top: 10px;
}

nav a{
    color: white;
    text-decoration: none;
    margin: 0 15px;
    font-size: 18px;
    transition: 0.3s;
}

nav a:hover{
    color: orange;
}

/* IMAGEN PRINCIPAL */
.imagen-contenedor{
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.imagen-principal img{
    width: 80%;
    max-width: 900px;
    border-radius: 20px;
    box-shadow: 0px 5px 15px rgba(0,0,0,0.4);
}

/* CONTENEDOR TARJETAS */
.container{
    width: 90%;
    margin: 40px auto;

    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
}

/* TARJETAS */
.card{
    background-color: white;
    border-radius: 15px;
    overflow: hidden;

    box-shadow: 0px 5px 15px rgba(0,0,0,0.3);

    transition: 0.3s;
}

.card:hover{
    transform: scale(1.03);
}

/* IMÁGENES */
.card img{
    width: 100%;
    height: 220px;
    object-fit: cover;
}

/* TITULOS */
.card h2{
    text-align: center;
    margin-top: 15px;
    color: #ff7b00;
}

/* TEXTO */
.card p{
    padding: 15px;
    text-align: center;
    font-size: 17px;
}

/* BOTONES */
.card button{
    display: block;
    margin: 15px auto 25px auto;

    padding: 12px 20px;

    border: none;
    border-radius: 10px;

    background-color: #111;
    color: white;

    font-size: 16px;
    cursor: pointer;

    transition: 0.3s;
}

.card button:hover{
    background-color: #ff7b00;
}

/* VIDEOS */
.videos{
    width: 90%;
    margin: auto;
}

.video-box{
    background-color: white;

    margin-bottom: 40px;
    padding: 25px;

    border-radius: 15px;

    text-align: center;

    box-shadow: 0px 5px 15px rgba(0,0,0,0.3);
}

.video-box h2{
    margin-bottom: 20px;
    color: #ff7b00;
}

.video-box video{
    width: 100%;
    max-width: 600px;
    border-radius: 10px;
}

.video-box p{
    margin-top: 15px;
    font-size: 17px;
}

/* FOOTER */
footer{
    background-color: #111;
    color: white;

    text-align: center;

    padding: 20px;
    margin-top: 40px;

    font-size: 16px;
}