/* =========================================================
   RESET + BASE GLOBAL (NO ROMPE NADA)
   ========================================================= */

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: Arial, sans-serif;
    background: #f4f4f4;
    color: #333;
}

/* =========================================================
   HEADER GLOBAL
   ========================================================= */

header {
    background: #222;
    color: white;
    text-align: center;
    padding: 50px 20px;
}

header h1 {
    margin-bottom: 10px;
}

header p {
    opacity: 0.85;
}

/* =========================================================
   SECCIONES GENERALES
   ========================================================= */

section {
    padding: 50px 20px;
    max-width: 900px;
    margin: auto;
}

h2 {
    border-bottom: 2px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 30px;
}

.project {
    background: white;
    padding: 20px;
    margin: 20px 0;
    border-radius: 10px;
}

ul {
    list-style: square;
    padding-left: 20px;
}

footer {
    text-align: center;
    padding: 25px;
    background: #222;
    color: white;
}

/* =========================================================
   CONSTRUCTORA — DARK EDITORIAL
   ========================================================= */

body.constructora {
    background: #0f1115;
    color: #e6e6e6;
}

/* HEADER DARK */
.constructora header {
    background: #0b0c10;
    border-bottom: 1px solid #1f1f1f;
}

.constructora header h1 {
    font-size: 2.8em;
    letter-spacing: 1px;
}

.constructora header p {
    color: #9fa3a9;
}

/* SECCIONES DARK */
.constructora section {
    max-width: 1100px;
    margin-bottom: 90px;
}

.constructora h2 {
    color: #ffffff;
    border-bottom: 2px solid #2a2d33;
    font-size: 28px;
}

/* HERO IMAGE */
.constructora .hero-image {
    width: 100%;
    border-radius: 18px;
    margin-bottom: 50px;
    box-shadow: 0 30px 60px rgba(0,0,0,0.6);
}

/* TARJETAS DARK */
.constructora .project {
    background: #16181d;
    color: #e0e0e0;
    box-shadow: 0 20px 45px rgba(0,0,0,0.6);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.constructora .project:hover {
    transform: translateY(-6px);
    box-shadow: 0 30px 70px rgba(0,0,0,0.8);
}

.constructora .project h3 {
    color: #ffffff;
}

.constructora .project p {
    color: #b6b9be;
}

/* IMÁGENES */
.constructora .project img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 12px;
    margin-bottom: 16px;
    filter: brightness(0.9);
}

/* GRID PROYECTOS */
.constructora section:nth-of-type(4) {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

@media (min-width: 768px) {
    .constructora section:nth-of-type(4) {
        grid-template-columns: repeat(3, 1fr);
    }

    .constructora section:nth-of-type(4) .project {
        margin: 0;
    }
}

/* LISTA PROCESO */
.constructora ul {
    list-style: none;
    padding: 0;
}

.constructora ul li {
    padding: 14px 0;
    border-bottom: 1px solid #2a2d33;
    color: #cfd2d6;
    font-weight: 500;
}

/* CONTACTO */
.constructora section:last-of-type p {
    color: #cfd2d6;
    font-size: 1.05em;
}

/* FOOTER DARK */
.constructora footer {
    background: #0b0c10;
    color: #9fa3a9;
}
