/* Pulsi: páginas de aterrizaje por capítulo y /docentes (generadas por tools/generar-pulsi.py). Sobre playrobotica/comun.css */
.aterrizaje { padding-top: 22px; padding-bottom: 32px; max-width: 860px; }
.aterrizaje .curso { margin: 0; color: var(--suave); font-weight: 800; text-transform: uppercase; font-size: .85rem; letter-spacing: .04em; }
.aterrizaje h1 { margin: 4px 0 8px; font-size: 2.1rem; line-height: 1.15; }
.aterrizaje .resumen { margin: 0 0 18px; }
.video { position: relative; aspect-ratio: 16 / 9; background: #1d3557 center / cover no-repeat; border-radius: 18px; overflow: hidden; box-shadow: var(--sombra); display: grid; place-items: center; }
.video button { font: inherit; font-weight: 900; font-size: 1.5rem; color: #fff; background: var(--acento); border: 0; border-radius: 999px; padding: 16px 32px; cursor: pointer; box-shadow: var(--sombra); }
.video button:hover, .video button:focus-visible { background: var(--acento-osc); }
.video .nota { position: absolute; left: 0; right: 0; bottom: 8px; margin: 0; text-align: center; color: #fff; font-size: .8rem; text-shadow: 0 1px 3px rgba(0,0,0,.7); }
.video iframe, .video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #000; }
.practica { margin: 22px 0 10px; text-align: center; }
.boton.gran { display: inline-block; background: var(--hecho); color: #fff; text-decoration: none; font-weight: 900; font-size: 1.9rem; padding: 18px 44px; border-radius: 20px; box-shadow: var(--sombra); }
.boton.gran:hover, .boton.gran:focus-visible { filter: brightness(1.08); }
.secundario { display: block; margin-top: 12px; font-size: .95rem; }
.vecinos { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 26px; font-weight: 800; }
.avisos { font-size: .85rem; color: var(--suave); padding-bottom: 28px; }
.avisos p { margin: 4px 0; }
.doc li { margin: 8px 0; }
@media (max-width: 560px) { .aterrizaje h1 { font-size: 1.6rem; } .boton.gran { font-size: 1.5rem; padding: 16px 26px; } }
