.zwws-wrap,
.zwws-wrap * { box-sizing: border-box; }

.zwws-wrap {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 18px 0 8px;
    background: transparent;
    color: inherit;
}

.zwws-main-title {
    margin: 0 0 40px !important;
    padding: 0 !important;
    text-align: center;
    color: var(--zwws-heading-color, #143f26) !important;
    font-size: 34px !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em;
}

.zwws-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 42px;
    align-items: start;
}

.zwws-step { position: relative; min-width: 0; }

.zwws-icon-wrap {
    position: relative;
    width: 94px;
    height: 94px;
    margin: 0 0 17px 0;
    border: 1px solid #d7ddd8;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.zwws-icon {
    display: block;
    width: 46px;
    height: 46px;
    object-fit: contain;
}

.zwws-step:not(:last-child) .zwws-icon-wrap::after {
    content: "";
    position: absolute;
    left: calc(100% + 22px);
    top: 50%;
    width: calc((1180px - 3 * 42px) / 4 - 94px - 44px);
    min-width: 36px;
    border-top: 2px dashed #c8cfca;
    transform: translateY(-50%);
}

.zwws-number {
    width: 31px;
    height: 31px;
    margin: 0 0 10px 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--zwws-number-bg, #1f5a2b);
    color: var(--zwws-number-color, #fff);
    font-size: var(--zwws-number-size, 13px);
    line-height: 1;
    font-weight: var(--zwws-number-weight, 700);
}

.zwws-step h3 {
    margin: 0 0 9px 0 !important;
    padding: 0 !important;
    font: inherit;
    font-size: var(--zwws-title-size, 16px) !important;
    line-height: 1.28 !important;
    font-weight: var(--zwws-title-weight, 700) !important;
    color: var(--zwws-title-color, #1f1f1f) !important;
}

.zwws-step p {
    margin: 0 !important;
    padding: 0 !important;
    font: inherit;
    font-size: var(--zwws-text-size, 14px) !important;
    line-height: 1.58 !important;
    color: var(--zwws-text-color, #5f655f) !important;
    font-weight: var(--zwws-text-weight, 400) !important;
}

.zwws-tagline {
    margin: 46px auto 0 !important;
    padding: 0 !important;
    max-width: 880px;
    text-align: center;
    color: var(--zwws-tagline-color, #314a3a) !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-style: italic;
    font-size: 23px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

@media (max-width: 980px) {
    .zwws-main-title { margin-bottom: 30px !important; }
    .zwws-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 46px; }
    .zwws-step .zwws-icon-wrap::after { display: none; }
    .zwws-tagline { margin-top: 36px !important; }
}

@media (max-width: 600px) {
    .zwws-wrap { padding-top: 10px; }
    .zwws-main-title { font-size: 28px !important; margin-bottom: 26px !important; }
    .zwws-grid { grid-template-columns: 1fr; gap: 30px; }
    .zwws-icon-wrap { width: 82px; height: 82px; }
    .zwws-icon { width: 40px; height: 40px; }
    .zwws-tagline { font-size: 19px !important; margin-top: 30px !important; }
}
