/* MODELO DE DOS FLUJOS */
.modelo { background: var(--blanco) }
.modelo-header { text-align: center; max-width: 640px; margin: 0 auto 4rem }
.modelo-header .section-subtitle { margin: 0 auto }

.modelo-flujo { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0; align-items: center; max-width: 1000px; margin: 0 auto }

.modelo-lado { background: var(--beige); border-radius: 22px; padding: 2.2rem 2rem; border: 1px solid rgba(74,103,65,.1) }
.modelo-lado-label { font-family: 'DM Mono', monospace; font-size: .65rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; padding: .3rem .85rem; border-radius: 100px; display: inline-block; margin-bottom: 1.2rem }
.modelo-lado-a .modelo-lado-label { background: var(--bosque); color: var(--beige) }
.modelo-lado-b .modelo-lado-label { background: var(--oliva); color: var(--beige) }
.modelo-lado h3 { font-family: 'Playfair Display', serif; font-size: 1.1rem; font-weight: 700; color: var(--oscuro); margin-bottom: .5rem }
.modelo-lado p { font-size: .88rem; line-height: 1.7; color: var(--muted) }
.modelo-lado-list { list-style: none; margin-top: 1.1rem; display: flex; flex-direction: column; gap: .4rem }
.modelo-lado-list li { font-size: .82rem; color: var(--muted); padding-left: 1.2rem; position: relative }
.modelo-lado-list li::before { content: '→'; position: absolute; left: 0; color: var(--salvia); font-size: .75rem }

.modelo-centro { display: flex; flex-direction: column; align-items: center; gap: 0; padding: 0 1.5rem; position: relative }
.modelo-flecha { width: 36px; height: 36px; border-radius: 50%; background: var(--bosque); display: flex; align-items: center; justify-content: center; color: var(--beige); font-size: .8rem; flex-shrink: 0 }
.modelo-linea { width: 1px; height: 40px; background: linear-gradient(to bottom, rgba(45,74,39,.3), transparent) }
.modelo-linea-up { background: linear-gradient(to top, rgba(45,74,39,.3), transparent) }
.modelo-badge { background: var(--oscuro); border-radius: 16px; padding: 1.4rem 1.2rem; text-align: center; min-width: 120px }
.modelo-badge-icon { font-size: 1.8rem }
.modelo-badge h4 { font-family: 'DM Mono', monospace; font-size: .68rem; color: var(--salvia); letter-spacing: .08em; text-transform: uppercase; margin-top: .6rem; line-height: 1.4 }

/* Nota de transparencia */
.modelo-nota { max-width: 820px; margin: 3rem auto 0; background: rgba(74,103,65,.06); border: 1px solid rgba(74,103,65,.15); border-radius: 16px; padding: 1.6rem 2rem; display: flex; gap: 1.2rem; align-items: flex-start }
.modelo-nota-icon { font-size: 1.3rem; flex-shrink: 0; margin-top: .1rem }
.modelo-nota p { font-size: .875rem; line-height: 1.75; color: var(--muted) }
.modelo-nota p strong { color: var(--bosque); font-weight: 600 }

@media (max-width: 860px) {
  .modelo-flujo { grid-template-columns: 1fr; gap: 0 }
  .modelo-centro { flex-direction: row; padding: 1rem 0; gap: .8rem }
  .modelo-linea { width: 40px; height: 1px; background: linear-gradient(to right, rgba(45,74,39,.3), transparent) }
  .modelo-linea-up { background: linear-gradient(to left, rgba(45,74,39,.3), transparent) }
  .modelo-badge { display: none }
  .modelo-flecha { width: 28px; height: 28px; font-size: .7rem }
}
@media (max-width: 640px) {
  .modelo-nota { flex-direction: column; gap: .6rem }
}
