/* Landing pública de Bitácora Familiar */

.landing-nav { max-width: 960px; margin: 0 auto; padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; }
.landing-nav .marca { display: flex; align-items: center; gap: 10px; font-family: var(--serif); font-weight: 700; font-size: 1.15rem; text-decoration: none; color: var(--texto); }
.landing-nav .marca img { width: 30px; height: 30px; }

.heroe { max-width: 960px; margin: 0 auto; padding: 30px 20px 40px; text-align: center; }
.heroe .brujula-heroe { width: min(150px, 38vw); margin: 6px auto 18px; display: block; animation: calibrar 1.1s cubic-bezier(.2, .9, .3, 1.15) both; }
@keyframes calibrar { from { transform: rotate(-40deg); opacity: 0; } to { transform: rotate(0); opacity: 1; } }
.heroe h1 {
  font-size: clamp(1.9rem, 6.5vw, 3rem); max-width: 17ch; margin: 0 auto .4em;
  letter-spacing: -.01em;
}
.heroe h1 em { font-style: normal; color: transparent; background: linear-gradient(120deg, #B07E23, var(--oro)); background-clip: text; -webkit-background-clip: text; }
.heroe .bajada { max-width: 52ch; margin: 0 auto 22px; color: var(--texto-suave); font-size: 1.06rem; }
.heroe .acciones { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.heroe .nota { margin-top: 14px; font-size: .85rem; color: var(--texto-suave); }

.beneficios { max-width: 960px; margin: 0 auto; padding: 8px 20px 30px; display: grid; gap: 14px; }
@media (min-width: 720px) { .beneficios { grid-template-columns: repeat(3, 1fr); } }
.beneficio { position: relative; overflow: hidden; }
.beneficio .em { font-size: 1.7rem; }
.beneficio h3 { margin: 8px 0 4px; }
.beneficio p { color: var(--texto-suave); font-size: .93rem; margin: 0; }

.como { max-width: 640px; margin: 0 auto; padding: 10px 20px 40px; }
.como h2 { text-align: center; margin-bottom: 18px; }
.paso-como { display: flex; gap: 14px; align-items: flex-start; padding: 12px 0; }
.paso-como .num {
  flex: none; width: 38px; height: 38px; border-radius: 50%;
  display: grid; place-items: center; font-weight: 800;
  background: var(--tinta); color: #FFF8EB; font-family: var(--serif);
}
.paso-como p { margin: 2px 0 0; color: var(--texto-suave); font-size: .93rem; }

/* La Palabra que sostiene la herramienta */
.palabra {
  max-width: 640px; margin: 0 auto; padding: 26px 20px 34px; text-align: center;
  border-top: 1px solid var(--borde); border-bottom: 1px solid var(--borde);
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--oro) 7%, transparent));
}
.palabra figure { margin: 0 0 14px; }
.palabra blockquote {
  margin: 0 0 8px; font-family: var(--serif); font-style: italic;
  font-size: clamp(1.1rem, 4.2vw, 1.4rem); line-height: 1.45; color: var(--texto);
}
.palabra blockquote::before { content: '“'; }
.palabra blockquote::after { content: '”'; }
.palabra figcaption {
  font-size: .82rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--acento);
}
.palabra p { max-width: 52ch; margin: 0 auto; color: var(--texto-suave); font-size: .95rem; }

/* Contacto y servicio a la comunidad */
.contacto { max-width: 640px; margin: 0 auto; padding: 10px 20px 34px; text-align: center; }
.contacto p { max-width: 52ch; margin: 0 auto 16px; color: var(--texto-suave); font-size: .95rem; }
.contacto .acciones { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.contacto .firma { margin-top: 14px; font-size: .85rem; }

.landing-pie { border-top: 1px solid var(--borde); padding: 26px 20px calc(26px + env(safe-area-inset-bottom)); text-align: center; color: var(--texto-suave); font-size: .85rem; }
