:root {
    --dark-green: #142C14;
    --cal-poly: #2D5128;
    --fern-green: #537B2F;   
    --asparagus: #8DA750;    
    --mindaro: #d3dfc5;      
    --blanco-puro: #ffffff;
    --texto-base: #2D5128;
    --paper-bg: #f4eee1; 
    --paper-text: #3e3222; 
    --borde-oro: #b8860b;
    --rojo-sello: #8b0000;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    background-color: var(--mindaro);
    color: var(--texto-base);
    font-family: 'Quicksand', sans-serif;
    overflow-x: hidden;
    background-image: url("https://www.transparenttextures.com/patterns/natural-paper.png");
    background-attachment: fixed;
    min-height: 100vh;
}

/* --- MARCA IZQUIERDA --- */
.brand-corner {
    position: fixed;
    top: 25px;
    left: 30px;
    font-family: 'DM Serif Display', serif;
    font-size: 1.8rem;
    color: var(--cal-poly);
    letter-spacing: 1px;
    z-index: 2000;
    text-transform: lowercase;
}

/* --- NAVEGACIÓN --- */
nav { padding: 50px 20px; display: flex; justify-content: center; animation: fadeInUp 1s ease-out; }
nav ul {
    display: flex; gap: 20px; list-style: none;
    background: var(--blanco-puro); padding: 15px 30px;
    border-radius: 100px; border: 3px solid var(--asparagus);
    box-shadow: 0 15px 35px rgba(45, 81, 40, 0.15);
}
nav li { padding: 12px 28px; border-radius: 50px; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); cursor: pointer; }
nav li.active { background: var(--asparagus); }
nav li.active a { color: white; }
nav a { text-decoration: none; color: var(--cal-poly); font-weight: 600; font-size: 1.1rem; text-transform: uppercase; }

nav li:hover { 
    background: var(--fern-green); 
    transform: scale(1.1) translateY(-5px);
}
nav li:hover a { color: white; }

/* --- CONTENIDOS --- */
.content-wrapper { max-width: 1100px; margin: 20px auto; padding: 0 20px; animation: fadeInUp 1.2s ease-out; }

.welcome-box {
    background: linear-gradient(145deg, #ffffff, #f9faf8); 
    padding: 60px; border-radius: 80px;
    box-shadow: 0 30px 70px rgba(45, 81, 40, 0.12); 
    border-bottom: 12px solid var(--asparagus); 
    text-align: center;
}

.welcome-box h2 { font-family: 'DM Serif Display', serif; font-size: 3.5rem; color: var(--dark-green); margin-bottom: 30px; }

/* --- PERIÓDICO / CARTA --- */
.newspaper-section {
    background-color: var(--paper-bg); color: var(--paper-text);
    font-family: 'Playfair Display', serif; padding: 40px;
    border-radius: 5px; box-shadow: 15px 15px 0px var(--cal-poly);
    margin-bottom: 40px; background-image: url("https://www.transparenttextures.com/patterns/natural-paper.png");
}

.newspaper-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }

.newspaper-img-frame {
    border: 4px double #333;
    padding: 5px; background: #fff;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.1);
    max-width: 320px; margin: 0 auto;
}
.newspaper-img-frame img {
    width: 100%; display: block;
    filter: sepia(0.2); transition: all 0.5s ease;
}

/* --- BOTÓN MEDIEVAL --- */
.medieval-btn {
    background-color: var(--rojo-sello);
    background-image: url('https://www.transparenttextures.com/patterns/asfalt-dark.png');
    color: var(--paper-bg);
    padding: 15px 40px;
    border: 2px solid #600000;
    font-family: 'DM Serif Display', serif;
    font-size: 1.4rem;
    cursor: pointer;
    text-transform: uppercase;
    transition: all 0.3s;
    box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}

.medieval-btn:hover {
    background-color: #a30000;
    transform: translateY(-3px);
    box-shadow: 0 8px 15px rgba(0,0,0,0.4);
}


/* --- BOTÓN REGRESO ABAJO IZQUIERDA --- */
.back-corner {
    position: fixed;
    bottom: 25px;
    left: 30px;
    z-index: 2000;
}

.back-link {
    text-decoration: none;
    color: var(--cal-poly);
    font-family: 'DM Serif Display', serif;
    font-size: 1.2rem;
    background: var(--blanco-puro);
    padding: 10px 20px;
    border-radius: 50px;
    border: 2px solid var(--asparagus);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.back-link:hover {
    background: var(--mindaro);
    transform: translateX(5px);
    box-shadow: 0 8px 20px rgba(45, 81, 40, 0.2);
}

.back-link .icon {
    font-size: 1.4rem;
}