.sub-con{font-size:1.125em}

.wrapper {
    max-width: 100%;
    margin: 40px auto;
}

/* 상단 */
.container {
    display: flex;
    gap: 20px;
}

/* 카드 */
.card {
    flex: 1;
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    border: 2px solid #4a90e2;
    position: relative;
}

.card.green { border-color: #2db36c; }
.card.navy { border-color: #3a5ba0; }

/* 내부 구조 */
.inner {
    display: flex;
    gap: 15px;
}

/* 좌측 정보주체 */
.subject {
    width: 80px;
    text-align: center;
    font-size: 13px;
}

.subject .icon {
    font-size: 30px;
}

.subject .label {
    margin-top: 5px;
    font-weight: bold;
}

/* 프로세스 */
.process {
    flex: 1;
    background: #f8f9fb;
    border-radius: 12px;
    padding: 12px;
}

/* 단계 */
.step {
    background: #e9edf2;
    border-radius: 8px;
    padding: 8px;
    margin: 8px 0;
    text-align: center;
    font-size: 13px;
}

/* 화살표 */
.arrow {
    text-align: center;
    font-size: 14px;
    color: #aaa;
}

/* 결과 강조 */
.result {
    background: #ffe3c7;
    font-weight: bold;
}

/* 🔥 흐름 라인 */
.flow-line {
    position: absolute;
    left: 70px;
    bottom: 60px;
    width: 60px;
    height: 80px;
    border-left: 2px solid #bbb;
    border-bottom: 2px solid #bbb;
}

.flow-line::after {
    content: "";
    position: absolute;
    top: -6px;
    left: -5px;
    border: 6px solid transparent;
    border-bottom-color: #bbb;
}

/* 하단 */
.bottom {
    display: flex;
    gap: 20px;
    margin-top: 20px;
}

.bottom div {
    flex: 1;
    background: #e9eaec;
    padding: 14px;
    text-align: center;
    border-radius: 10px;
    font-weight: bold;
}

/* 반응형 */
@media (max-width: 768px) {
    .container {
        flex-direction: column;
    }
    .bottom {
        flex-direction: column;
    }
}