/* ==========================================================================
   PORTADA · «B · Señales»  (solo home.twig)
   Usa los tokens y componentes de app.css. Móvil primero:
   < 640 móvil (B-Movil) · 640–1023 tableta · ≥ 1024 escritorio (B-Escritorio)
   ========================================================================== */

/* ── Utilidades de la portada ─────────────────────────────────────────────── */
@media (max-width: 639.98px) {
    .home-only-wide { display: none !important; }
    .home-btn-mblock { width: 100%; }
}
@media (min-width: 640px) { .home-only-narrow { display: none !important; } }
@media (max-width: 1023.98px) { .home-only-lg { display: none !important; } }
@media (min-width: 1024px) { .home-only-narrow-lg { display: none !important; } }

.home-head__title { margin-top: 10px; }
.home-nowrap { white-space: nowrap; }
.home-strong { font-weight: 700; color: var(--ink); }
@media (min-width: 1024px) { .home-head__title { margin-top: 14px; } }

/* ── 2 · PORTADA ──────────────────────────────────────────────────────────── */
.home-front { padding-block: 16px 32px; }
@media (min-width: 768px)  { .home-front { padding-block: 24px 48px; } }
@media (min-width: 1024px) { .home-front { padding-block: 36px 56px; } }

.home-front__grid { display: flex; flex-direction: column; gap: 32px; min-width: 0; }

/* Noticia principal · móvil y tableta: tarjeta con la imagen arriba */
.home-lead {
    display: flex; flex-direction: column; min-width: 0;
    background: var(--paper-card); border: 1px solid var(--rule);
}
.home-lead__body { display: contents; }
.home-lead__fig { order: -1; margin: 0; }
.home-lead__imglink { display: block; }
.home-lead__media { height: 220px; }
@media (min-width: 640px) { .home-lead__media { height: auto; aspect-ratio: 16 / 9; } }
/* Portada fija: encuadre ampliado sobre Jerusalén, como en la maqueta (evita el título incrustado) */
.home-lead__media--iran > img { inset: auto; left: -140%; top: -40%; width: 240%; max-width: none; height: auto; }
.home-lead__caption { display: none; }

.home-lead__meta {
    margin: 18px 18px 0;
    display: flex; flex-wrap: wrap; align-items: center; column-gap: 8px; row-gap: 4px;
    color: var(--muted);
}
.home-meta__strong { font-weight: 600; }
.home-meta__ink { color: var(--ink); font-weight: 600; }
.home-meta__sep::before { content: "·"; }
.home-lead__live { display: inline-flex; align-items: center; padding-right: 2px; }
@media (max-width: 1023.98px) {
    /* En móvil la categoría va en la etiqueta sobre la imagen */
    .home-lead__live, .home-lead__meta > .home-meta__strong, .home-lead__meta > .home-meta__strong + .home-meta__sep, .home-lead__rt-long { display: none; }
}

.home-lead__title {
    margin: 10px 18px 0;
    font-size: 38px; line-height: .92; letter-spacing: -.02em;
}
.home-lead__title a { color: var(--ink); }
.home-lead__title a:hover { color: var(--signal-hover); }
.home-lead__title.is-long  { font-size: 32px; line-height: .95; }
.home-lead__title.is-xlong { font-size: 26px; line-height: 1; letter-spacing: -.01em; }
.home-lead__accent { color: var(--signal); }
@media (min-width: 640px) {
    .home-lead__title { font-size: 50px; }
    .home-lead__title.is-long  { font-size: 40px; }
    .home-lead__title.is-xlong { font-size: 30px; }
}

.home-lead__dek {
    margin: 12px 18px 0;
    font-family: var(--font-body); font-size: 17px; line-height: 1.5; color: var(--copy); text-wrap: pretty;
    display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden;
}
.home-lead__refs { margin: 14px 18px 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.home-lead__refs-label { margin-right: 2px; }
.home-lead__refs a.ref { position: relative; }
.home-lead__refs a.ref::after { content: ""; position: absolute; left: 0; right: 0; top: -7px; bottom: -7px; } /* zona táctil de 44px */
.home-lead__more { margin: 6px 18px 10px; align-self: flex-start; }

/* Sin imagen: bloque tramado con la categoría */
.home-noimg { display: flex; align-items: center; justify-content: center; }
.home-noimg__inner { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 24px; text-align: center; }
.home-noimg__ref { color: var(--signal-soft); font-weight: 600; }
.home-noimg__word {
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 900;
    font-size: 44px; line-height: .9; letter-spacing: -.01em; text-transform: uppercase; color: var(--on-ink);
}
@media (min-width: 1024px) { .home-noimg__word { font-size: 64px; } }

/* Otras publicaciones (columna central) */
.home-sec-list__label { padding-bottom: 10px; border-bottom: 2px solid var(--ink); }
.home-sec { padding: 14px 0; border-bottom: 1px solid var(--rule); }
.home-sec__link {
    display: grid; grid-template-columns: minmax(0, 1fr) 96px; column-gap: 14px; row-gap: 6px; align-items: start;
    color: var(--ink);
}
.home-sec__link > * { grid-column: 1; }
.home-sec__link > .home-sec__media { grid-column: 2; grid-row: 1 / span 3; aspect-ratio: 1 / 1; }
.home-sec__title {
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 800;
    font-size: 22px; line-height: .98; letter-spacing: -.01em; text-wrap: balance;
    display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
.home-sec__link:hover .home-sec__title { color: var(--signal); }
.home-sec__link:hover .home-sec__foot { color: var(--muted); }
.home-sec-list__all { margin-top: 6px; }

/* Lecturas esenciales (columna derecha) */
.home-rail__sub { margin-top: 10px; }
.home-front__rail .rank-list { margin-top: 2px; }
.home-front__rail .rank-list__item:hover .rank-list__title { color: var(--signal); }
.home-rail__cta { margin-top: 20px; padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.home-rail__cta-title {
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 800;
    font-size: 25px; line-height: .98; letter-spacing: -.01em; color: #FFFFFF; text-wrap: balance;
}
.home-rail__cta-text { margin-top: -4px; font-family: var(--font-body); font-size: 16px; line-height: 1.45; color: var(--on-ink-2); }

/* Tableta: publicaciones y lecturas en dos columnas bajo la noticia */
@media (min-width: 768px) and (max-width: 1023.98px) {
    .home-front__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; align-items: start; }
    .home-lead { grid-column: 1 / -1; }
}

/* Escritorio: titular a todo el ancho y tres columnas debajo */
@media (min-width: 1024px) {
    .home-front__grid {
        display: grid; grid-template-columns: repeat(12, minmax(0, 1fr));
        column-gap: var(--col-gap); row-gap: 0; align-items: start;
    }
    .home-lead { display: contents; }
    .home-lead__meta { grid-column: 1 / -1; grid-row: 1; margin: 0; column-gap: 14px; min-height: 20px; }
    .home-meta__sep::before { content: "/"; }
    .home-lead__title {
        grid-column: 1 / -1; grid-row: 2;
        margin: 18px 0 28px; padding-bottom: 28px; border-bottom: 1px solid var(--ink);
        font-size: clamp(56px, 6.95vw, 100px); line-height: .9;
    }
    .home-lead__title.is-long  { font-size: clamp(44px, 4.8vw, 68px); line-height: .92; }
    .home-lead__title.is-xlong { font-size: clamp(34px, 3.4vw, 48px); line-height: .96; }
    .home-lead__accent { display: block; }

    .home-lead__body { display: flex; flex-direction: column; grid-column: 1 / span 6; grid-row: 3; min-width: 0; }
    .home-lead__fig { order: 0; }
    .home-lead__media { height: auto; aspect-ratio: 157 / 100; }
    .home-lead__badge { display: none; }
    .home-lead__caption { display: block; }
    .home-lead__dek { margin: 16px 0 0; font-size: 20px; display: block; -webkit-line-clamp: unset; overflow: visible; }
    .home-lead__refs { margin: 20px 0 0; }
    .home-lead__more { margin: 16px 0 0; }

    .home-front__secondary { grid-column: 7 / span 3; grid-row: 3; border-left: 1px solid var(--rule); padding-left: 20px; min-width: 0; }
    .home-front__rail { grid-column: 10 / span 3; grid-row: 3; border-left: 1px solid var(--rule); padding-left: 20px; min-width: 0; }

    .home-sec-list__label {
        position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
        overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
    }
    .home-sec { padding: 0; border-bottom: 0; }
    .home-sec + .home-sec { border-top: 1px solid var(--rule); margin-top: 20px; padding-top: 20px; }
    .home-sec__link { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
    .home-sec__link > .home-sec__media { height: 160px; aspect-ratio: auto; }
    .home-sec:not(:first-child) .home-sec__media { display: none; }
    .home-sec__meta { margin-top: 2px; }
    .home-sec__title { font-size: 26px; -webkit-line-clamp: 5; }
    .home-sec-list__all { margin-top: 14px; }
}

/* ── 3 · SEÑALES DE LOS TIEMPOS ───────────────────────────────────────────── */
.home-head.section-head { row-gap: 12px; }
.home-head__aside { display: flex; flex-direction: column; gap: 16px; }
.home-senales__lede { font-size: 16.5px; }
.home-senales__board { display: none; margin-top: 32px; }
.home-senales__list { margin-top: 12px; }
.home-senales__search { min-height: 0; font-size: 15px; align-self: flex-start; }
.home-senales__foot { margin-top: 24px; }
@media (min-width: 640px) { .home-senales__lede { font-size: 17px; } }
@media (min-width: 768px) {
    .home-senales__board { display: block; }
    .home-senales__list { display: none; }
}
@media (min-width: 1024px) {
    .home-head__aside { gap: 20px; padding-top: 4px; }
    .home-senales__lede { font-size: 20px; }
    .home-senales__board { margin-top: 44px; }
    .home-senales__foot { margin-top: 32px; }
}

/* ── 4 · EZEQUIEL 38: EL MAPA ─────────────────────────────────────────────── */
.home-map__grid { display: flex; flex-direction: column; gap: 24px; }
.home-map__title { margin-top: 10px; color: #FFFFFF; }
.home-map__lede { margin-top: 14px; }
.home-map__fig { margin: 0; }
.home-map__frame { border: 1px solid var(--rule-dark); background: var(--ink-deep); }
.home-map__frame img { display: block; width: 100%; height: auto; }
.home-map__caption { margin-top: 12px; color: var(--on-ink-muted); }
.home-map__quote { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--rule-dark); }
.home-map__quote .quote__text { color: var(--on-ink); }

.home-nations { width: 100%; border-collapse: collapse; table-layout: fixed; border-top: 2px solid var(--on-ink); }
.home-nations th, .home-nations td {
    padding: 12px 12px 12px 0; border-bottom: 1px solid var(--rule-dark);
    text-align: left; vertical-align: middle;
}
.home-nations thead th {
    padding-block: 10px;
    font-family: var(--font-mono); font-size: 11.5px; font-weight: 500; letter-spacing: .07em; text-transform: uppercase; line-height: 1.35;
    color: var(--on-ink-muted);
}
.home-nations__arrow-col, .home-nations__arrow { width: 40px; }
.home-nations tbody tr { height: 56px; }
.home-nations__text { font-family: var(--font-body); font-style: italic; font-weight: 400; font-size: 17px; line-height: 1.3; color: var(--on-ink); }
.home-nations__arrow { color: var(--signal-soft); }
.home-nations__arrow svg { display: block; }
.home-nations__id { padding-right: 0; font-family: var(--font-sans); font-weight: 700; font-size: 16px; line-height: 1.3; color: #FFFFFF; }
.home-nations th.home-nations__text, .home-nations td.home-nations__id { padding-right: 12px; }
.home-nations__id--role { font-weight: 600; font-size: 15px; color: var(--on-ink-2); }
.home-map__note { margin-top: 16px; font-family: var(--font-body); font-style: italic; font-size: 15px; line-height: 1.5; color: var(--on-ink-muted); text-wrap: pretty; }
.home-map__more { margin-top: 12px; }

@media (min-width: 1024px) {
    .home-map__grid {
        display: grid; grid-template-columns: repeat(12, minmax(0, 1fr));
        column-gap: var(--col-gap); row-gap: 0; align-items: start;
    }
    .home-map__fig { grid-column: 1 / span 7; grid-row: 1 / span 2; }
    .home-map__head { grid-column: 8 / span 5; grid-row: 1; }
    .home-map__body { grid-column: 8 / span 5; grid-row: 2; padding-top: 24px; }
    .home-map__title { margin-top: 14px; }
    .home-map__lede { margin-top: 20px; font-size: 18px; }
    .home-map__quote { margin-top: 40px; }
    .home-nations__text { font-size: 19px; }
    .home-nations__id { font-size: 18px; }
    .home-nations__id--role { font-size: 16px; }
    .home-map__more { margin-top: 20px; }
}

/* ── 5 · LÍNEA DEL TIEMPO ─────────────────────────────────────────────────── */
.home-tl__head { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
@media (min-width: 1024px) {
    .home-tl__head { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 24px; }
    .home-tl__all { flex: none; }
}

.tl-h { display: none; }
@media (min-width: 1024px) {
    .tl-h { display: block; }
    .tl-v { display: none; }
}

.tl-stages { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 40px; color: var(--ink); }
.tl-stages::before { content: ""; position: absolute; left: 11px; right: 12px; top: 10px; height: 2px; background: var(--ink); }
.tl-stages__arrow { position: absolute; right: 0; top: 4px; color: var(--ink); }
.tl-stage {
    position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
    min-height: 116px; margin: 0; padding: 0 16px 0 0;
    background: none; border: 0; cursor: pointer; text-align: left; color: var(--ink); font: inherit;
}
.tl-stage:focus-visible { outline-offset: 6px; }
.tl-stage__dot { position: relative; z-index: 1; flex: none; width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--ink); background: var(--paper); transition: background-color .15s ease, box-shadow .15s ease; }
.tl-stage__when { color: var(--muted); }
.tl-stage__name {
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 800;
    font-size: 28px; line-height: .94; letter-spacing: -.01em; text-wrap: balance;
}
.tl-stage:hover .tl-stage__name { color: var(--signal); }
.tl-stage[aria-pressed="true"] .tl-stage__dot { background: var(--signal); border-color: var(--signal); box-shadow: 0 0 0 6px var(--paper), 0 0 0 7.5px var(--signal); }
.tl-stage[aria-pressed="true"] .tl-stage__when { color: var(--signal); font-weight: 600; }
.tl-stage__now { color: var(--signal); font-size: 11px; font-weight: 600; }

.tl-panel { margin-top: 28px; background: var(--paper-card); border: 1px solid var(--rule); padding: 28px; }
.tl-detail { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); align-items: start; }
html.js .tl-detail:not(.is-active) { display: none; }
html:not(.js) .tl-detail + .tl-detail { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--rule); }
.tl-detail__meta { grid-column: 1 / span 3; display: flex; flex-direction: column; gap: 10px; }
.tl-detail__label { margin-top: 6px; }
.tl-detail__refs { font-family: var(--font-sans); font-size: 15px; font-weight: 600; line-height: 1.45; color: var(--ink); }
.tl-detail__main { grid-column: 4 / span 6; }
.tl-detail__name {
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 800;
    font-size: 38px; line-height: .94; letter-spacing: -.01em;
}
.tl-detail__text { margin-top: 10px; font-family: var(--font-body); font-size: 19px; line-height: 1.5; color: var(--copy); text-wrap: pretty; }
.tl-detail__side { grid-column: 10 / span 3; border-left: 1px solid var(--rule); padding-left: 24px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.tl-detail__term {
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 800;
    font-size: 24px; line-height: .94;
}
.tl-detail__side .btn { margin-top: 8px; }

/* Vertical (móvil y tableta) */
.tl-v { list-style: none; margin: 24px 0 0; padding: 0; }
.tl-v__item { position: relative; padding: 0 0 26px 38px; }
.tl-v__item::before { content: ""; position: absolute; left: 10px; top: 11px; bottom: -11px; width: 2px; background: var(--ink); }
.tl-v__item:last-child { padding-bottom: 0; }
.tl-v__item:last-child::before { display: none; }
.tl-v__dot { position: absolute; left: 0; top: 0; z-index: 1; width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--ink); background: var(--paper); }
.tl-v__item.is-now .tl-v__dot { background: var(--signal); border-color: var(--signal); box-shadow: 0 0 0 4px var(--paper), 0 0 0 5.5px var(--signal); }
.tl-v__when { padding-top: 3px; color: var(--muted); }
.tl-v__name {
    margin-top: 6px;
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 800;
    font-size: 26px; line-height: .94; letter-spacing: -.01em;
}
.tl-v__text { margin-top: 8px; font-family: var(--font-body); font-size: 16px; line-height: 1.5; color: var(--copy); text-wrap: pretty; }
.tl-v__refs { margin-top: 8px; }

/* ── 6 · ESTUDIOS: LA TEORÍA DEL ESPEJO ───────────────────────────────────── */
.home-studies__head { row-gap: 16px; }
.home-studies__intro { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
@media (min-width: 1024px) {
    .home-studies__head { align-items: end; }
    .home-studies__intro { gap: 22px; }
}

.home-series { margin-top: 24px; display: grid; grid-template-columns: minmax(0, 1fr); }
.home-ch { min-width: 0; border-bottom: 1px solid var(--rule-strong); }
.home-ch:first-child { border-top: 1px solid var(--rule-strong); }
.home-ch__link {
    display: grid; grid-template-columns: minmax(0, 1fr) 88px; column-gap: 14px; align-items: center;
    padding: 14px 0; color: var(--ink);
}
.home-ch__media { grid-column: 2; grid-row: 1; aspect-ratio: 1 / 1; }
.home-ch__head { grid-column: 1; grid-row: 1; display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 10px; align-items: start; }
.home-ch__n {
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 900;
    font-size: 44px; line-height: .8; color: var(--signal);
}
.home-ch__title {
    margin-top: 6px;
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 800;
    font-size: 20px; line-height: 1.02; letter-spacing: -.01em; text-wrap: balance;
}
.home-ch__link:hover .home-ch__title { color: var(--signal); }
@media (min-width: 640px) {
    .home-series { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; row-gap: 32px; margin-top: 32px; }
    .home-ch, .home-ch:first-child { border: 0; }
    .home-ch__link { display: flex; flex-direction: column; align-items: stretch; gap: 16px; padding: 0; }
    .home-ch__media { aspect-ratio: 16 / 9; }
    .home-ch__head { grid-template-columns: 50px minmax(0, 1fr); column-gap: 14px; }
    .home-ch__n { font-size: 56px; }
    .home-ch__title { font-size: 24px; line-height: 1; }
}
@media (min-width: 1024px) {
    .home-series { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 40px; margin-top: 48px; }
    .home-ch__link { gap: 18px; }
    .home-ch__media { aspect-ratio: auto; height: 210px; }
    .home-ch__n { font-size: 60px; }
    .home-ch__title { font-size: 26px; }
}

/* Rutas de estudio */
.home-routes { margin-top: 40px; border-top: 2px solid var(--ink); padding-top: 16px; }
.home-routes__grid { margin-top: 8px; display: grid; grid-template-columns: minmax(0, 1fr); }
.home-route { display: flex; flex-direction: column; gap: 6px; padding: 14px 0; border-bottom: 1px solid var(--rule-strong); color: var(--ink); }
.home-route:last-child { border-bottom: 0; }
.home-route__name {
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 800;
    font-size: 26px; line-height: .94; letter-spacing: -.01em;
}
.home-route__text { font-family: var(--font-body); font-size: 16px; line-height: 1.45; color: var(--copy-2); text-wrap: pretty; }
.home-route__cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font-family: var(--font-sans); font-size: 14px; font-weight: 700; color: var(--signal); }
.home-route:hover .home-route__cta { color: var(--signal-hover); }
@media (min-width: 640px) {
    .home-routes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
    .home-route { border-bottom: 0; padding: 14px 12px 14px 0; }
    .home-route__cta { margin-top: auto; padding-top: 4px; }
}
@media (min-width: 1024px) {
    .home-routes { margin-top: 56px; padding-top: 20px; }
    .home-routes__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 12px; }
    .home-route { gap: 10px; padding: 8px 12px 0 0; }
    .home-route__name { font-size: 30px; }
}

/* ── 7 · PREGUNTA A LA BIBLIA ─────────────────────────────────────────────── */
.home-faq__grid { row-gap: 28px; }
.home-faq__lede { margin-top: 14px; }
.home-faq__search { margin-top: 20px; display: flex; flex-direction: column; gap: 8px; }
.home-faq__icon { display: none; }
.home-faq__input { padding-left: 14px; }
.home-faq__btn { flex: none; width: 50px; padding: 0; }
.home-faq__btn-icon { display: block; }
.home-faq__hint { margin-top: 2px; }
.home-faq__topics { margin-top: 20px; }
.home-faq__chips { margin-top: 10px; }
.home-faq__empty { padding: 24px 0; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.home-faq__empty-title {
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 800;
    font-size: 30px; line-height: .94;
}
@media (max-width: 639.98px) {
    .home-faq__btn-label {
        position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
        overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
    }
}
@media (min-width: 640px) {
    .home-faq__icon { display: flex; }
    .home-faq__input { padding-left: 0; }
    .home-faq__btn { width: auto; padding: 0 22px; }
    .home-faq__btn-icon { display: none; }
}
@media (min-width: 1024px) {
    .home-faq__lede { margin-top: 20px; font-size: 19px; }
    .home-faq__search { margin-top: 28px; }
    .home-faq__topics { margin-top: 24px; }
}

/* ── 8 · VÍDEOS ───────────────────────────────────────────────────────────── */
.home-videos__head {
    display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 24px;
    padding-bottom: 24px; border-bottom: 1px solid var(--rule-dark);
}
.home-videos__title { margin-top: 10px; color: #FFFFFF; }
.home-videos__grid { margin-top: 24px; row-gap: 32px; }
.home-video { border: 1px solid var(--rule-dark); background-color: var(--ink-3); }
.home-video__link { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #FFFFFF; }
.home-video__link img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-video__link .play-btn { position: relative; z-index: 1; transition: background-color .15s ease, transform .15s ease; }
.home-video__link:hover .play-btn { background: var(--signal-hover); transform: scale(1.05); }
.home-video__link:focus-visible { outline-offset: -5px; }
.home-videos__label { margin-top: 18px; }
.home-videos__text { margin-top: 8px; }
.home-channels { list-style: none; margin: 10px 0 0; padding: 0; border-top: 1px solid var(--rule-dark); }
.home-channel {
    display: grid; grid-template-columns: 48px minmax(0, 1fr) 20px; gap: 14px; align-items: center;
    min-height: 72px; padding: 12px 0; border-bottom: 1px solid var(--rule-dark); color: var(--on-ink);
}
.home-channel__icon { width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid var(--rule-night); display: flex; align-items: center; justify-content: center; }
.home-channel__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.home-channel__name {
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 800;
    font-size: 24px; line-height: .94; color: #FFFFFF;
}
.home-channel__desc { color: var(--on-ink-muted); }
.home-channel:hover .home-channel__icon { border-color: var(--signal-soft); }
.home-channel:hover .home-channel__name { color: var(--signal-soft); }
.home-videos__quote { margin-top: 28px; }
.home-videos__quote .quote__text { color: var(--on-ink); }
@media (min-width: 1024px) {
    .home-videos__title { margin-top: 12px; }
    .home-videos__grid { margin-top: 36px; }
    .home-videos__text { max-width: 560px; }
}

/* ── 9 · BOLETÍN · TELEGRAM · APOYAR ──────────────────────────────────────── */
.home-band__grid { display: flex; flex-direction: column; }
.home-band__col { min-width: 0; }
.home-band__col + .home-band__col { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--rule-strong); }
.home-band__title {
    margin-top: 10px;
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 800;
    font-size: 32px; line-height: .94; letter-spacing: -.01em; text-wrap: balance;
}
.home-band__title--patreon { font-size: 28px; }
.home-band__text { margin-top: 10px; }
.home-band__form { margin-top: 16px; }
.home-band__submit { margin-top: 10px; }
.home-band__hint { display: block; margin-top: 10px; }
.home-band__cta { margin-top: 20px; }
.home-band__url { margin-top: 12px; color: var(--muted); overflow-wrap: anywhere; }
.home-band__quote { margin-top: 16px; }

.home-tg-desk { display: none; }
.home-tg-row { display: grid; grid-template-columns: 48px minmax(0, 1fr) 24px; gap: 14px; align-items: center; min-height: 64px; color: var(--ink); }
.home-tg-row__icon { width: 48px; height: 48px; border-radius: 50%; background: var(--ink); color: var(--paper); display: flex; align-items: center; justify-content: center; }
.home-tg-row__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.home-tg-row__name {
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 800;
    font-size: 24px; line-height: .94;
}
.home-tg-row:hover .home-tg-row__name { color: var(--signal); }

.home-tiers-full { display: none; margin-top: 20px; }
.home-tiers-compact { margin-top: 14px; }
.home-tier__name { font-family: var(--font-sans); font-size: 14px; font-weight: 700; }
.home-tiers-compact .tier__price { gap: 4px; }
.home-tiers-compact .tier__amount { font-size: 26px; }
.home-band__support { margin-top: 14px; display: flex; flex-direction: column; align-items: stretch; gap: 4px; }
.home-band__direct { align-self: flex-start; font-size: 14.5px; }

@media (min-width: 640px) {
    .home-tiers-full { display: block; }
    .home-tiers-compact { display: none; }
    .home-band__support { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 24px; margin-top: 20px; }
    .home-band__form { max-width: 520px; }
}
@media (min-width: 1024px) {
    .home-band__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); align-items: stretch; }
    .home-band__col + .home-band__col { margin-top: 0; padding-top: 0; border-top: 0; border-left: 1px solid var(--rule-strong); padding-left: 24px; }
    .home-band__col--news { grid-column: 1 / span 4; padding-right: 8px; }
    .home-band__col--tg { grid-column: 5 / span 3; }
    .home-band__col--patreon { grid-column: 8 / span 5; }
    .home-band__title, .home-band__title--patreon { margin-top: 14px; font-size: clamp(34px, 3.05vw, 44px); }
    .home-band__text { margin-top: 16px; }
    .home-band__form { margin-top: 24px; max-width: none; }
    .home-band__cta { margin-top: 24px; }
    .home-tg-desk { display: flex; flex-direction: column; align-items: flex-start; }
    .home-tg-row { display: none; }
    .home-band__quote .quote__text { font-size: 18px; }
    .home-band__col--patreon .home-band__text { margin-top: 14px; }
}

/* ── 10 · ¿ESTÁS LISTO? + ORACIÓN DE FE ───────────────────────────────────── */
.home-faith { position: relative; overflow: hidden; }
.home-faith__img { display: none; }
.home-faith__content { position: relative; max-width: 620px; }
.home-faith__title {
    margin-top: 10px;
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 800;
    font-size: clamp(34px, 4.45vw, 64px); line-height: .94; letter-spacing: -.01em; color: #FFFFFF; text-wrap: balance;
}
.home-faith__quote { margin-top: 14px; }
.home-faith__quote .quote__text { color: var(--on-ink); }
.home-faith__text { margin-top: 16px; }
.home-faith__actions { margin-top: 20px; }
.home-faith__more { color: var(--on-ink); }
@media (min-width: 1024px) {
    .home-faith__img { display: block; position: absolute; top: 0; right: 0; bottom: 0; width: min(640px, 44vw); background: var(--ink-2); }
    .home-faith__img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 60% 40%; }
    .home-faith__content { max-width: min(600px, calc(56vw - var(--gutter) - 48px)); }
    .home-faith__title { margin-top: 16px; }
    .home-faith__quote { margin-top: 24px; }
    .home-faith__quote .quote__text { font-size: 24px; }
    .home-faith__text { margin-top: 24px; font-size: 19px; }
    .home-faith__actions { margin-top: 32px; }
}

.home-prayer__grid { row-gap: 28px; align-items: start; }
.home-prayer__text { display: flex; flex-direction: column; gap: 14px; font-family: var(--font-body); font-size: 18px; line-height: 1.55; color: var(--copy); text-wrap: pretty; }
.home-prayer__text strong { font-weight: 700; color: var(--ink); }
.home-prayer__text .home-prayer__key { color: var(--signal); }
.home-prayer__ref { color: var(--signal); font-weight: 600; white-space: nowrap; }
.home-prayer__card { border-top: 4px solid var(--ink); padding-top: 18px; }
.home-prayer__title {
    font-family: var(--font-display); font-stretch: var(--stretch-display); font-weight: 800;
    font-size: clamp(26px, 2.4vw, 34px); line-height: .94; letter-spacing: -.01em;
}
.home-prayer__quote { margin-top: 16px; }
.home-prayer__quote .quote__text { font-size: 19px; line-height: 1.5; color: var(--ink); }
@media (min-width: 1024px) {
    .home-prayer__text { font-size: 20px; gap: 18px; }
    .home-prayer__card { padding-top: 24px; }
    .home-prayer__quote .quote__text { font-size: 22px; }
}
