/* ---------- Barranco postcards ---------- */
.pc-section { margin-top: var(--space-section); padding: 0 var(--gutter); overflow-x: clip; }
.pc-head { max-width: 46rem; margin: 0 auto; }
.pc-stage { max-width: 76rem; margin: 0 auto; }

/* Sin animación (sin JS o con "reducir movimiento"): grilla simple */
.pc-deck { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; }
.pc-card { all: unset; display: block; width: 100%; cursor: pointer; background: #fff; box-shadow: var(--shadow-print); transition: box-shadow var(--duration-normal); }
.pc-card:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 4px; }
.pc-card img { width: 100%; height: auto; object-fit: cover; }
.pc-deck > li:has(.is-landscape) { display: grid; align-content: center; }
.pc-info { text-align: center; margin-top: 2rem; }
.pc-info h3 { font-size: var(--text-xl); }
.pc-meta { margin: 0.4rem 0 1.2rem; color: var(--color-ink-soft); font-style: italic; }
.pc-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; justify-content: center; align-items: center; }
.pc-hint { display: none; margin: 1.2rem 0 0; font-size: 0.95rem; color: var(--color-ink-soft); }

/* Con animación: escena fija mientras se recorre la sección */
.pc-section.is-animated { height: 330vh; }
.is-animated .pc-sticky { position: sticky; top: 4.8rem; height: calc(100vh - 4.8rem); display: grid; align-items: center; }
.is-animated .pc-stage { width: 100%; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; gap: 2rem; }
.is-animated .pc-deck { --deck-h: min(54vh, 28rem); display: block; position: relative; height: var(--deck-h); }
.is-animated .pc-deck > li { position: absolute; inset: 0; display: block; pointer-events: none; }
.is-animated .pc-card { width: auto; height: 100%; aspect-ratio: 900 / 1270; margin-left: 8%; pointer-events: auto; will-change: transform; transition: box-shadow var(--duration-normal); }
.is-animated .pc-card img { height: 100%; width: auto; }
/* Postales apaisadas: mismo lado largo que las verticales, centradas en la pila */
.is-animated .pc-card.is-landscape { height: calc(var(--deck-h) * 0.709); aspect-ratio: 1270 / 900; margin-top: calc(var(--deck-h) * 0.1455); }
.is-animated .pc-info { text-align: left; margin: 0; opacity: 0; transform: translateY(12px); transition: opacity var(--duration-normal), transform var(--duration-normal) var(--ease-out-expo); }
.is-animated .pc-info.is-visible { opacity: 1; transform: none; }
.is-animated .pc-actions { justify-content: flex-start; }
.is-animated .pc-hint { display: block; }
.pc-info.is-swap h3 { animation: pc-swap 500ms var(--ease-out-expo); }
@keyframes pc-swap { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

@media (max-width: 760px) {
  .pc-deck { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .pc-section.is-animated { height: 300vh; }
  .is-animated .pc-sticky { top: 4.4rem; height: calc(100vh - 4.4rem); align-items: start; padding-top: 1.5rem; }
  .is-animated .pc-stage { grid-template-columns: 1fr; gap: 1.2rem; }
  .is-animated .pc-deck { --deck-h: 42vh; height: var(--deck-h); }
  .is-animated .pc-card { margin: 0 auto; }
  .is-animated .pc-info { text-align: center; }
  .is-animated .pc-actions { justify-content: center; }
}

/* ---------- Bloques nuevos de la portada ---------- */
.intro-lede { max-width: 46ch; margin: -1.2rem auto 1.4rem; text-align: center; font-size: 1.25rem; color: var(--color-ink-soft); }
.tldr { list-style: none; padding: 0; margin: 0 auto 2.6rem; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; max-width: 60rem; }
.tldr li { padding: 0.3rem 0.9rem; border: 1px solid var(--color-line); border-radius: 99px; font-size: 1rem; }
.slide-banner { display: block; background: #fff; }
.slide-banner img { width: 100%; height: 100%; object-fit: contain; }
.slide-postcards img { width: 24%; height: auto; box-shadow: 0 18px 40px -16px rgb(0 0 0 / 0.45); }
.slide-postcards img:nth-child(1) { transform: rotate(-6deg) translateY(4%); }
.slide-postcards img:nth-child(3) { transform: rotate(5deg) translateY(6%); }
.faq { max-width: 52rem; margin-left: auto; margin-right: auto; }
.faq details { border-bottom: 1px solid var(--color-line); padding: 1rem 0; }
.faq summary { cursor: pointer; font-size: 1.35rem; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; font-size: 1.6rem; line-height: 1; transition: transform var(--duration-normal); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { margin: 0.8rem 0 0; color: var(--color-ink-soft); font-size: 1.15rem; max-width: 60ch; }
.nap { margin: 0 0 1rem; color: var(--color-ink-soft); }
.postcard-img img { width: 100%; height: auto; box-shadow: var(--shadow-print); }
.stage-postcard .postcard-img { width: 70%; }
@media (max-width: 560px) { .slide-postcards img { width: 60%; } .slide-postcards img:nth-child(n+2) { display: none; } }
