/* tardi · Model Foundry. Escala del sitio: apertura y cierre en --t-bloque, secciones en
   --t-titulo, fases en --t-grande, texto en --t-media y etapas en --t-base. */
.foundry b { color: var(--tinta); font-weight: 540; }

.foundry__cabeza { gap: 24px; }
.foundry__cabeza h1 { font-size: var(--t-bloque); line-height: 1.02; }
.foundry__bajada { max-width: 44rem; color: var(--tinta-2); font-size: var(--t-grande); line-height: 1.5; }

.foundry__frase p { max-width: 21em; margin-inline: auto; color: var(--tinta-2); font-size: var(--t-titulo); font-weight: 540; letter-spacing: -0.035em; line-height: 1.12; text-align: center; text-wrap: balance; }

/* El proceso: tres fases unidas por un riel; un pulso lo recorre de la entrada al Nano Model. */
.proceso { display: grid; gap: 20px; }
.proceso__extremo { display: flex; align-items: center; gap: 10px; color: var(--tinta-2); font: 500 var(--t-mini) var(--f-mono); letter-spacing: 0.06em; text-transform: uppercase; }
.proceso__extremo::before { content: ""; width: 9px; height: 9px; border: 1px solid var(--tinta-3); border-radius: 50%; }
.proceso__extremo.es-salida { justify-self: end; color: var(--musgo-texto); }
.proceso__extremo.es-salida::before { border-color: var(--musgo); background: var(--musgo); box-shadow: 0 0 12px var(--musgo); }
.proceso__fases { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); margin: 0; padding: 0; list-style: none; }
.proceso__fases::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, var(--linea-2), var(--musgo)); }
.proceso__fases::after { content: ""; position: absolute; top: -3px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--musgo); box-shadow: 0 0 12px var(--musgo); animation: proceso-pulso 6s cubic-bezier(0.6, 0, 0.4, 1) infinite; }
@keyframes proceso-pulso { 0% { left: 0; opacity: 0; } 6% { opacity: 1; } 94% { opacity: 1; } 100% { left: calc(100% - 7px); opacity: 0; } }
.proceso__fase { position: relative; padding-top: 32px; }
.proceso__fase::before { content: ""; position: absolute; top: -4px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--suelo); border: 1px solid var(--musgo); }
.proceso__num { color: var(--musgo-texto); font: 500 var(--t-mini) var(--f-mono); letter-spacing: 0.08em; text-transform: uppercase; }
.proceso__fase h3 { margin: 10px 0 22px; font-size: clamp(1.5rem, 1rem + 1vw, 2rem); font-weight: 540; letter-spacing: -0.02em; }
.proceso__etapas { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--linea); }
.proceso__etapas li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--linea); color: var(--tinta); font-size: var(--t-media); }
.proceso__etapas li span:first-child { color: var(--tinta-3); font: var(--t-mini) var(--f-mono); letter-spacing: 0.06em; }

/* Cierre: el lema a la escala del título de apertura, con la misión. */
.foundry__cierre { position: relative; z-index: 2; display: grid; justify-items: center; gap: 24px; padding: clamp(96px, 16vh, 180px) var(--margen); text-align: center; }
.foundry__cierre .ceja { margin-bottom: 0; }
.foundry__lema { font-size: var(--t-bloque); line-height: 1.02; }
.foundry__mision { max-width: 36rem; color: var(--tinta-2); font-size: var(--t-media); }
.foundry__trio { color: var(--musgo-texto); font: 500 var(--t-mini) var(--f-mono); letter-spacing: 0.08em; text-transform: uppercase; }
.foundry__trio i { margin: 0 0.5em; color: var(--tinta-3); font-style: normal; }
.foundry__acciones { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 8px; }

/* Pantalla ancha: cada sección ocupa la pantalla con su contenido centrado verticalmente. */
@media (min-width: 901px) {
  .foundry__cabeza, .foundry > section { min-height: calc(100svh - var(--cabecera)); align-content: center; }
  .foundry__cabeza { padding-top: var(--cabecera); padding-bottom: 0; }
  .foundry > .bloque { display: grid; }
  .foundry > .lamina, .foundry > .bloque { padding-block: clamp(40px, 8vh, 96px); }
}

/* Pantallas angostas: las fases se apilan y el riel pasa a ser vertical. */
@media (max-width: 900px) {
  .proceso__fases { grid-template-columns: minmax(0, 1fr); gap: 8px; padding-left: 24px; }
  .proceso__fases::before { top: 0; bottom: 0; left: 4px; right: auto; width: 1px; height: auto; background: linear-gradient(var(--linea-2), var(--musgo)); }
  .proceso__fases::after { display: none; }
  .proceso__fase { padding-top: 0; }
  .proceso__fase::before { top: 2px; left: -24px; }
  .proceso__extremo.es-salida { justify-self: start; }
}
@media (max-width: 767px) { .solo-ancho { display: none; } .foundry__bajada { font-size: var(--t-media); } }
@media (prefers-reduced-motion: reduce) { .proceso__fases::after { animation: none; opacity: 0; } }
