.cap-inner {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    gap: 56px;
    align-items: center;
}

.cap-intro .seccion-bajada { max-width: 44ch; }
.cap-parrafo { margin-top: 1.2rem; color: var(--texto-suave); font-size: .98rem; max-width: 44ch; }

.cap-flujo { position: relative; isolation: isolate; padding-block: 10px; }
.cap-arcos { position: absolute; inset: -40px 0; width: 100%; height: calc(100% + 80px); z-index: -1; }
.cap-arcos circle { fill: none; stroke: var(--linea-fuerte); stroke-width: 1.3; }
.cap-arcos .cap-arco-acento {
    stroke: rgba(94, 124, 184, .55);
    stroke-width: 1.7;
    filter: drop-shadow(0 0 5px rgba(94, 124, 184, .55));
}
.cap-arcos .cap-punto { fill: var(--texto); stroke: none; opacity: .35; }
.cap-arcos .cap-punto-acento { fill: var(--acento); opacity: 1; filter: drop-shadow(0 0 6px rgba(94, 124, 184, .9)); }

.cap-lista { list-style: none; display: flex; flex-direction: column; gap: 18px; }

.cap-card {
    background: var(--superficie);
    border: 1px solid var(--linea);
    border-radius: var(--radio-lg);
    box-shadow: var(--sombra-card);
    padding: 20px 22px;
    max-width: 420px;
    transition: transform .25s ease, border-color .25s ease;
}
.cap-card:hover { transform: translateY(-3px); border-color: var(--linea-fuerte); }
.cap-card:nth-child(1) { margin-left: 2%; }
.cap-card:nth-child(2) { margin-left: 15%; }
.cap-card:nth-child(3) { margin-left: 27%; }
.cap-card:nth-child(4) { margin-left: 15%; }

.cap-cabecera { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.cap-icono {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    background: var(--superficie-alta);
    border: 1px solid var(--linea);
    color: var(--texto);
}
.cap-icono .icono { width: 17px; height: 17px; }
.cap-card:hover .cap-icono { border-color: var(--acento); color: var(--acento); }

.cap-titulo { font-size: 1.08rem; color: var(--texto); }
.cap-texto { margin-top: .45rem; color: var(--texto-suave); font-size: .92rem; }

@media (max-width: 960px) {
    .cap-inner { grid-template-columns: 1fr; gap: 36px; }
    .cap-intro .seccion-bajada, .cap-parrafo { max-width: none; }
    .cap-card { max-width: none; }
    .cap-card:nth-child(n) { margin-left: 0; }
}
@media (max-width: 720px) {
    .cap-arcos { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .cap-card, .cap-card:hover { transform: none; transition: none; }
}
