*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

font-family:Arial, Helvetica, sans-serif;
background:#f5f7fa;
color:#222;
line-height:1.7;

}

header{

background:#0055a5;
color:#fff;
padding:70px 20px;
text-align:center;

}

.contenedor{

width:90%;
max-width:1100px;
margin:auto;
padding:40px 0;

}

header p{

max-width:800px;
margin:20px auto;

}

.boton{

display:inline-block;
background:#ffb400;
padding:14px 30px;
border-radius:5px;
text-decoration:none;
color:#000;
font-weight:bold;
margin-top:20px;

}

.aviso-principal{

background:#d60000;
color:#fff;
padding:40px;
text-align:center;
font-size:22px;
font-weight:bold;

}

.cards{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:25px;
margin-top:30px;

}

.card{

background:#fff;
padding:25px;
border-radius:8px;
box-shadow:0 3px 10px rgba(0,0,0,.08);

}

.card h3{

margin-bottom:15px;
color:#0055a5;

}

footer{

background:#222;
color:#fff;
text-align:center;
padding:40px 20px;
margin-top:50px;

}

footer a{

color:#fff;
text-decoration:none;

}

.aviso{

background:#fff;
padding:50px;
border-radius:8px;
box-shadow:0 0 20px rgba(0,0,0,.08);
margin-top:40px;

}

.aviso h1{

margin-bottom:30px;
color:#d60000;

}

.aviso h2{

margin-top:35px;
margin-bottom:15px;
color:#0055a5;

}

.aviso p{

margin-bottom:20px;

}

.banner-legal{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    background:#b30000;
    color:#ffffff;
    text-align:center;
    padding:14px 20px;
    font-size:15px;
    font-weight:700;
    line-height:1.5;
    z-index:99999;
    box-shadow:0 3px 8px rgba(0,0,0,.25);
}

body{
    margin:0;
    padding-top:65px;
    font-family:Arial, Helvetica, sans-serif;
    background:#f5f7fa;
    color:#222;
    line-height:1.7;
}