/* Reset y variables de diseño editorial */
* { margin: 0; padding: 0; box-sizing: border-box; }

:root {
    --fondo: #ffffff;
    --texto: #1a1a1a;
    --gris: #666666;
    --serif: 'Playfair Display', serif;
    --sans: 'Inter', sans-serif;
}

body { 
    background-color: var(--fondo); 
    color: var(--texto); 
    font-family: var(--sans); 
    line-height: 1.6; 
}

/* Header */
.header-principal { padding: 40px 20px; text-align: center; border-bottom: 1px solid #eaeaea; }
.header-tagline { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 3px; color: var(--gris); }

/* Hero con Portada de Mármol */
.hero-editorial {
    position: relative;
    width: 100%;
    height: 70vh; /* Ajustable */
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url('img/hero-bg.webp');
    background-size: cover;
    background-position: center;
    color: #fff; /* Texto blanco para contraste sobre la imagen */
    text-align: center;
}

.hero-inner { z-index: 1; padding: 20px; }
.hero-titulo { font-family: var(--serif); font-size: clamp(2.5rem, 8vw, 4rem); margin-bottom: 20px; }
.hero-label { text-transform: uppercase; letter-spacing: 4px; font-size: 0.8rem; margin-bottom: 15px; }

.hero-cta {
    display: inline-block;
    margin-top: 30px;
    padding: 15px 40px;
    border: 1px solid #fff;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 2px;
    transition: 0.3s;
}

.hero-cta:hover { background: #fff; color: var(--texto); }

/* Catálogo y propuesta (mantener lógica previa) */
.grilla-catalogo { max-width: 1200px; margin: 80px auto; display: grid; gap: 40px; padding: 0 20px; }
.propuesta-valor { background: #f9f9f9; padding: 80px 20px; text-align: center; }
.propuesta-inner { max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 40px; }

footer { padding: 60px 20px; text-align: center; font-size: 0.8rem; border-top: 1px solid #eee; }