body
{
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    line-height: 1.6;
    background-color: #f9f9f9;
    color: #333;
}
.main-header
{
    position: sticky;
    top: 0;
    z-index: 1000;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:15px 60px;

    background:linear-gradient(135deg,#003366,#0059b3);

    box-shadow:0 8px 25px rgba(0,0,0,.20);

    transition:.4s;
}
.logo
{
    display:flex;
    align-items:center;
}
.logo img
{
    width:230px;
    height:auto;

    transition:.4s;
}
.logo img:hover
{
    transform:scale(1.05);
}
.main-header nav ul
{
    display:flex;
    align-items:center;
    gap:18px;
    list-style:none;
    margin:0;
    padding:0;
}
.main-header nav ul li
{
    list-style:none;
}

.main-header nav ul li a
{
    display:block;
    padding:12px 24px;
    color:white;
    font-size:16px;
    font-weight:bold;
    text-decoration:none;
    border-radius:40px;
    transition:.35s;
    letter-spacing:.5px;
}
.main-header nav ul li a:hover
{
    background:white;
    color:#004080;
    transform:translateY(-4px);
    box-shadow:0 8px 18px rgba(255,255,255,.25);
}
.main-header nav ul li a:focus
{
    background:#ffffff;
    color:#004080;
}
@media(max-width:992px)
{
.main-header
{
    padding:20px;
    flex-direction:column;
}

.logo img
{
    width:190px;
    margin-bottom:20px;
}

.main-header nav ul
{
    flex-wrap:wrap;
    justify-content:center;
}
}
@media(max-width:600px)
{
.main-header
{
    padding:15px;
}
.logo img
{
    width:150px;
}
.main-header nav ul
{
    width:100%;
    flex-direction:column;
    gap:12px;
}
.main-header nav ul li
{
    width:100%;
}
.main-header nav ul li a
{
    text-align:center;
    width:100%;
    padding:14px;
    box-sizing:border-box;
}
}
#inicio
{
    max-width:1200px;
    margin:40px auto;
    padding:70px 30px;
    text-align:center;
    border-radius:20px;
    background:linear-gradient(135deg,#004080,#0b8bd8);
    color:white;
    box-shadow:0 15px 35px rgba(0,0,0,.18);
}

#inicio h2
{
    font-size:3rem;
    margin-bottom:20px;
    font-weight:700;
    letter-spacing:1px;
}
#inicio p
{
    font-size:1.3rem;
    max-width:700px;
    margin:auto;
    line-height:1.8;
}
#propiedades
{
    max-width:1300px;
    margin:auto;
}
#propiedades h2
{
    text-align:center;
    font-size:2.5rem;
    color:#004080;
    margin-bottom:50px;
}
.propiedad-con-mapa
{
    display:flex;
    gap:35px;
    margin-bottom:60px;
    align-items:stretch;
}
.propiedad-con-mapa article
{
    flex:1;
    background:white;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(0,0,0,.12);
    transition:.4s;
    padding-bottom:25px;
}

.propiedad-con-mapa article:hover
{
    transform:translateY(-10px);
    box-shadow:0 25px 55px rgba(0,0,0,.20);
}
.propiedad-con-mapa article img
{
    width:100%;
    height:320px;
    object-fit:cover;
    transition:.5s;
}
.propiedad-con-mapa article:hover img
{
    transform:scale(1.08);
}
.propiedad-con-mapa article h3
{
    color:#004080;
    font-size:1.5rem;
    padding:25px 25px 10px;
}

.propiedad-con-mapa article p
{
    padding:0 25px;
    color:#555;
    text-align:justify;
    margin-bottom:12px;
}
.propiedad-con-mapa article a
{
    display:inline-block;
    margin:20px 25px 0;
    padding:14px 28px;
    background:linear-gradient(135deg,#0056d6,#0099ff);
    color:white;
    text-decoration:none;
    border-radius:40px;
    font-weight:bold;
    transition:.35s;
}

.propiedad-con-mapa article a:hover
{
    transform:translateY(-3px);
    background:linear-gradient(135deg,#003b99,#0066ff);
}
.mapa
{
    flex:1;
}

.mapa iframe
{
    width:100%;
    height:100%;
    min-height:520px;
    border:none;
    border-radius:18px;
    box-shadow:0 15px 40px rgba(0,0,0,.15);
}
@media(max-width:900px)
{
.propiedad-con-mapa
{
    flex-direction:column;
}
.mapa iframe
{
    min-height:350px;
}
#inicio h2
{
    font-size:2.2rem;
}
#inicio p
{
    font-size:1.1rem;
}
}
.paginacion
{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:15px;
    margin:60px 0;
    flex-wrap:wrap;
}
.paginacion a
{
    width:50px;
    height:50px;

    display:flex;
    justify-content:center;
    align-items:center;

    text-decoration:none;

    background:#ffffff;

    color:#004080;

    font-size:18px;
    font-weight:bold;

    border:2px solid #004080;

    border-radius:50%;

    box-shadow:0 8px 20px rgba(0,0,0,.10);

    transition:.35s ease;
}
.paginacion a:hover
{
    background:linear-gradient(135deg,#004080,#007BFF);
    color:white;
    transform:translateY(-6px);
    box-shadow:0 15px 30px rgba(0,0,0,.25);
}
.paginacion a.activo
{
    background: linear-gradient(135deg,#004080,#007BFF);
    color:white;
    border:none;
    box-shadow:0 10px 25px rgba(0,0,0,.20);
}
@media(max-width:768px)
{
.paginacion
{
    gap:10px;
}
.paginacion a
{
    width:42px;
    height:42px;

    font-size:16px;
}
}
.registro
{
    max-width:900px;
    margin:80px auto;
    padding:45px;
    background:#ffffff;
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.12);
    border-top:6px solid #0056b3;
}
.registro h3
{
    text-align:center;
    font-size:2rem;
    color:#004080;
    margin-bottom:35px;
}
.form-registro label
{
    display:block;
    margin-top:18px;
    margin-bottom:8px;
    font-weight:600;
    color:#333;
}
.form-registro input,
.form-registro select,
.form-registro textarea
{
    width:100%;
    padding:15px;

    font-size:16px;

    border:2px solid #d9d9d9;

    border-radius:12px;

    outline:none;

    box-sizing:border-box;

    transition:.3s;

    background:#fafafa;
}
.form-registro input:focus,
.form-registro select:focus,
.form-registro textarea:focus
{
    border-color:#007BFF;
    background:white;
    box-shadow:0 0 12px rgba(0,123,255,.20);
}
.form-registro textarea
{
    resize:vertical;
    min-height:140px;
}
.checkbox
{
    display:flex;
    align-items:center;
    gap:12px;

    margin-top:25px;
}

.checkbox input
{
    width:20px;
    height:20px;

    accent-color:#007BFF;

    cursor:pointer;
}

.checkbox label
{
    margin:0;
    cursor:pointer;
}
.btn-aceptar
{
    width:100%;
    margin-top:35px;
    padding:16px;
    border:none;
    border-radius:50px;
    background:linear-gradient(135deg,#004080,#008cff);
    color:white;
    font-size:18px;
    font-weight:bold;
    cursor:pointer;
    transition:.35s;
    letter-spacing:.5px;
}
.btn-aceptar:hover
{
    transform:translateY(-4px);
    box-shadow:0 15px 30px rgba(0,0,0,.20);
}
#mensajeConfirmacion
{
    display:none;
    margin-top:30px;
    padding:18px;
    border-radius:12px;
    background:#d4edda;
    color:#155724;
    border:1px solid #b7dfc3;
    font-weight:bold;
    text-align:center;
}
@media(max-width:768px)
{
.registro
{
    margin:40px 15px;
    padding:25px;
}
.registro h3
{
    font-size:1.6rem;
}
.form-registro input,
.form-registro select,
.form-registro textarea
{
    padding:13px;
}
.btn-aceptar
{
    font-size:16px;
}
}
#servicios
{
    max-width:1200px;
    margin:80px auto;
    padding:60px 40px;
    background:linear-gradient(135deg,#ffffff,#f4f8fc);
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.10);
}
#servicios h2
{
    text-align:center;
    font-size:2.5rem;
    color:#004080;
    margin-bottom:50px;
    position:relative;
}

#servicios h2::after
{
    content:"";
    width:100px;
    height:4px;
    background:#007BFF;
    display:block;
    margin:15px auto 0;
    border-radius:20px;
}
#servicios ul
{
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}
#servicios li
{
    background:#ffffff;
    padding:35px 25px;
    text-align:center;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.10);
    transition:.35s;
    font-size:1.1rem;
    font-weight:bold;
    color:#004080;
    border-top:5px solid #007BFF;
}
#servicios li:hover
{
    transform:translateY(-10px);
    box-shadow:0 20px 45px rgba(0,0,0,.18);
    background:#007BFF;
    color:white;
}
#servicios li::before
{
    content:"✔";
    display:block;
    font-size:42px;
    color:#00b050;
    margin-bottom:15px;
    transition:.3s;
}
#servicios li:hover::before
{
    color:white;
}
@media(max-width:900px)
{
#servicios ul
{
    grid-template-columns:1fr;
}
#servicios
{
    padding:40px 25px;
}
#servicios h2
{
    font-size:2rem;
}
}
footer
{
    background:linear-gradient(135deg,#00264d,#004080);
    color:white;
    padding:50px 20px 25px;
    margin-top:80px;
    text-align:center;
}
.social-links
{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:25px;
    flex-wrap:wrap;
    margin-bottom:30px;
}
.social-links a
{
    display:flex;
    align-items:center;
    gap:12px;
    padding:15px 25px;
    background:rgba(255,255,255,.10);
    color:white;
    text-decoration:none;
    font-size:17px;
    font-weight:bold;
    border-radius:50px;
    transition:.35s;
    border:1px solid rgba(255,255,255,.15);
}
.social-links i
{
    font-size:28px;
    color:#25D366;
}
.social-links a:hover
{
    background:#25D366;
    color:white;
    transform:translateY(-5px);
    box-shadow:0 15px 30px rgba(37,211,102,.35);
}
.social-links a:hover i
{
    color:white;
}
footer p
{
    margin-top:25px;
    font-size:15px;
    color:#d8d8d8;
    border-top:1px solid rgba(255,255,255,.20);
    padding-top:20px;
}
@media(max-width:768px)
{
.social-links
{
    flex-direction:column;
}
.social-links a
{
    width:90%;
    justify-content:center;
}
footer
{
    padding:40px 15px;
}
}