/* ================= VARIABLES ================= */
:root {
  --bg-main: #ffffff;
  --bg-hero: #ffffff;
  --bg-card: #ffffff;
  --accent: #7a5a45;
  --accent-dark: #a1887a;
  --hover-glow: #4d4a46;
}

/* ================= RESET ================= */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.6;
  color: #3a2f28;
  background: var(--bg-main);
  padding-top: 80px;
  overflow-x: hidden;
}

  body {
  position: relative;
  z-index: 0;

}

/* ================= TIPOGRAFÍA ================= */
h1, h2, h3, h4 { color: #241911; }
p { margin-bottom: 1.2rem; color: #4a3a33; }
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-dark); }

/* ================= NAV ================= */
nav {
  position: fixed;
  top: 0; left: 0; width: 100%;
  background: #fff;
  border-bottom: 1px solid #e6e0da;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
  z-index: 1000;
}
nav ul {
  list-style: none;
  display: flex;
  justify-content: center;
  padding: 0.8rem 0;
}
nav li { margin: 0 1.2rem; }
nav a {
  font-weight: 500;
  position: relative;
  transition: 0.3s;
}
nav a:hover { text-shadow: 0 4px 12px rgba(0,0,0,0.25); }
nav a::after {
  content:"";
  position:absolute;
  left:0; bottom:-4px;
  width:0; height:2px;
  background:var(--accent);
  transition:0.3s;
}
nav a:hover::after { width:100%; }

/* ================= HERO ================= */
.hero {
  min-height: calc(100vh - 80px);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background: var(--bg-hero);
}
.hero h1 { font-size: 2.8rem; color: var(--accent-dark); }
.hero-subtitle { font-size: 1.2rem; color: var(--accent); }

.hero-image-wrapper {
  width:220px; height:220px;
  border-radius:50%;
  overflow:hidden;
  margin:0 auto 1.5rem;
  border:4px solid var(--accent);
  box-shadow:0 12px 30px rgba(0,0,0,0.15);
}
.hero-image { width:100%; height:100%; object-fit:cover; }

/* ================= LAYOUT ================= */
.container, main {
  max-width: 800px;
  margin: 0 auto;
  padding: 1rem;
}

/* ================= CARDS ================= */
.cards { display:flex; gap:30px; justify-content:center; }
.card {
  background:#fff;
  border-radius:20px;
  padding:40px 30px;
  min-width:250px;
  box-shadow:0 10px 30px rgba(0,0,0,0.05);
  transition:0.3s;
}
.card:hover {
  background:#f6eee8;
  transform:translateY(-8px);
  box-shadow:0 20px 40px rgba(0,0,0,0.12);
}

/* ================= CTA BUTTON ================= */
.cta-button {
  display: inline-block;
  background: #7a6a62;
  color: #ffffff !important;
  border: none;
  padding: 0.9rem 1.6rem;
  border-radius: 12px;
  font-size: 0.95rem;
  font-weight: 500;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
  transition: 0.3s ease;
}

.cta-button:hover {
  background: #66564f;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.12);
}


/* ================= BLOG CARDS ================= */
.blog-list { display:grid; gap:2rem; margin-top:2rem; }
.blog-card {
  background:#fdfaf7;
  padding:2rem;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(0,0,0,0.05);
  transition:0.35s;
}
.blog-card:hover {
  transform:translateY(-8px);
  box-shadow:0 18px 45px rgba(0,0,0,0.12);
  background:#f6eee8;
}
.read-more {
  font-weight:600;
  border-bottom:2px solid transparent;
}
.read-more:hover { border-color:var(--accent); }

/* ================= FOOTER ================= */
footer {
  text-align:center;
  padding:2rem 1rem;
  font-size:0.9rem;
  border-top:1px solid #e0e0e0;
}

/* ================= ABOUT AMBIENTAL ================= */
.about-immersive { position:relative; padding:5rem 0; overflow:hidden; }
.about-image {
  position:absolute;
  top:50%; left:5%;
  transform:translateY(-50%);
  width:380px; max-width:40%;
  opacity:0.18;
  pointer-events:none;
}
.about-image img { width:100%; border-radius:20px; }

/* ================= RESPONSIVE ================= */
@media (max-width:768px){
  nav ul { flex-wrap:wrap; }
  .cards { flex-direction:column; align-items:center; }
  .hero h1 { font-size:2rem; }
  .hero-image-wrapper { width:160px; height:160px; }
  .about-image { position:relative; transform:none; margin:0 auto 2rem; max-width:70%; }
}
.fade-in {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.9s ease, transform 0.9s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}
section, .card, .blog-card, .cta-button {
  transition: all 0.3s ease;
}
section h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  position: relative;
}

section h2::after {
  content:"";
  display:block;
  width:50px;
  height:2px;
  background:var(--accent);
  margin-top:8px;
}

header {
  max-width: 900px;
  margin: 0 auto;
  padding: 4rem 1rem 2rem;
  text-align: center;
}


header h1 {
  margin-bottom: 0.5rem;
}
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #2f2f2f;
  color: white;
  padding: 16px 20px;
  text-align: center;
  font-size: 14px;
  z-index: 9999; /* 🔥 MÁS ALTO QUE TODO */
  box-shadow: 0 -4px 20px rgba(0,0,0,0.2);
}

/* ===== NEWSLETTER SECTION ===== */
/* ================= NEWSLETTER (MISMA ESCALA QUE BLOG CARDS) ================= */

.newsletter {
  display:flex;
  justify-content:center;
  margin:3rem 0;
}

.newsletter-box {
  background:#f6f3ef;                 /* mismo color que blog-card */
  padding:2rem;                       /* EXACTO */
  border-radius:18px;                 /* EXACTO */
  box-shadow:0 10px 30px rgba(0,0,0,0.05);  /* EXACTO */
  max-width:720px;                    /* misma presencia visual */
  width:100%;
  text-align:center;

  /* 🔥 MÁS ESPACIO ARRIBA Y ABAJO */
  padding: 3rem 2.5rem;   /* antes seguramente era 2rem */
}


/* TÍTULO */
.newsletter-box h2 {
  font-size:1.6rem;      /* proporcional a h2 de blog */
  margin-bottom:0.6rem;
}

/* TEXTO */
.newsletter-box p {
  font-size:1rem;
  margin-bottom:1.4rem;
}

/* FORM */
#newsletter-form {
  display:flex;
  flex-direction:column;
  gap:0.9rem;
}

/* INPUTS */
#newsletter-form input[type="text"],
#newsletter-form input[type="email"] {
  padding:0.75rem 1rem;      /* no más inflados */
  border-radius:10px;
  border:1px solid #ddd;
  font-size:0.95rem;
}

/* CHECKBOX */
.consent {
  font-size:0.85rem;
  display:flex;
  gap:0.5rem;
  align-items:flex-start;
  text-align:left;
}

/* BOTÓN */
/* ===== NEWSLETTER BUTTON ===== */
.newsletter-box button {
  background: #7a6a62;
  color: #ffffff;
  border: none;
  padding: 0.9rem 1.6rem;
  border-radius: 12px;
  font-size: 0.95rem;
  font-weight: 500;
  cursor: pointer;
  transition: 0.3s ease;
}

.newsletter-box button:hover {
  background: #66564f; /* un tono más profundo al pasar el mouse */
  transform: translateY(-2px);
}


/* MENSAJE */
#form-message {
  margin-top:1rem;
  font-size:0.95rem;
  color:#4a7c59;
}


<section class="newsletter fade-in">
  <div class="container newsletter-box">
    <h2>Suscribite al newsletter</h2>
    <p>Recibí nuevas entradas del blog y materiales sobre psicología y migración.</p>

    <form id="newsletter-form" 
      <input
        type="text"
        name="nombre"
        placeholder="Tu nombre"
        required
      >

      <input
        type="email"
        name="email"
        placeholder="Tu correo electrónico"
        required
      >

      <label class="consent">
        <input type="checkbox" required>
        Acepto recibir correos sobre psicología y migración.
      </label>

      <button type="submit">Suscribirme</button>
    </form>

    <p id="form-message" style="display:none;">
      ✨ Gracias por suscribirte. Pronto vas a recibir novedades.
    </p>
  </div>
</section>
