.rt-sort-guide {
    position: relative;
    padding: 88px 0 96px;
    overflow: hidden;
    background: #fbfaf4;
}

.rt-sort-guide::before {
    position: absolute;
    top: -210px;
    left: -150px;
    width: 410px;
    height: 410px;
    content: "";
    border: 1px solid rgba(111, 159, 121, .17);
    border-radius: 50%;
    box-shadow: 0 0 0 52px rgba(111,159,121,.035), 0 0 0 104px rgba(111,159,121,.025);
}

.rt-sort-guide__intro { position: relative; max-width: 680px; margin-bottom: 38px; }
.rt-sort-guide__intro h2 { margin: 0 0 14px; color: #173f31; font-size: clamp(2.2rem, 4vw, 3.5rem); font-weight: 720; line-height: 1.04; letter-spacing: -.03em; }
.rt-sort-guide__intro p { max-width: 600px; margin: 0; color: #617169; font-size: 1.02rem; line-height: 1.7; }

.rt-sort-guide__shell { position: relative; overflow: hidden; background: #fff; border: 1px solid #dfe8e1; border-radius: 16px; box-shadow: 0 20px 46px rgba(36,91,69,.1); }
.rt-sort-guide__steps { display: grid; grid-template-columns: 1fr 32px 1fr 32px 1fr 32px 1fr; align-items: center; padding: 23px 27px; background: #eef6ed; border-bottom: 1px solid #dfe8e1; }
.rt-sort-line { height: 1px; background: #c8d9ca; }

.rt-sort-step { min-width: 0; display: grid; grid-template-columns: 38px 1fr; grid-template-rows: auto auto; column-gap: 10px; padding: 8px; color: #617169; text-align: left; background: transparent; border: 0; border-radius: 12px; cursor: pointer; transition: color .25s ease, background-color .25s ease; }
.rt-sort-step:hover { color: #245b45; background: rgba(255,255,255,.72); }
.rt-sort-step:focus-visible { outline: 3px solid rgba(111,159,121,.45); outline-offset: 2px; }
.rt-sort-step > span { width: 38px; height: 38px; grid-row: 1 / 3; display: grid; place-items: center; color: #245b45; background: #fff; border: 1px solid #cfe1d1; border-radius: 50%; font-size: .82rem; font-weight: 700; transition: color .25s ease, background-color .25s ease, box-shadow .25s ease; }
.rt-sort-step strong { align-self: end; color: inherit; font-size: .86rem; font-weight: 680; }
.rt-sort-step small { align-self: start; overflow: hidden; font-size: .69rem; white-space: nowrap; text-overflow: ellipsis; }
.rt-sort-step.is-active { color: #173f31; }
.rt-sort-step.is-active > span { color: #fff; background: #245b45; border-color: #245b45; box-shadow: 0 7px 15px rgba(36,91,69,.2); }

.rt-sort-guide__panel {
    min-height: 355px;
    display: grid;
    grid-template-columns: minmax(320px,.75fr) minmax(0,1.25fr);
    background: #fff;
}
.rt-sort-guide__visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    overflow: hidden;
    background-image: linear-gradient(rgba(23,63,49,.5), rgba(23,63,49,.5)), url('../../images/bak-bata-terawang.jpeg');
    background-position: center;
    background-size: cover;
}
.rt-sort-guide__visual::before, .rt-sort-guide__visual::after { position: absolute; content: ""; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }
.rt-sort-guide__visual::before,
.rt-sort-guide__visual::after { display: none; }
.rt-sort-guide__visual-icon, .rt-sort-guide__visual-bin { position: relative; z-index: 2; width: 94px; height: 94px; display: grid; place-items: center; border-radius: 50%; font-size: 2rem; }
.rt-sort-guide__visual-icon { color: #173f31; background: #d9ed9f; }
.rt-sort-guide__visual-bin { color: #245b45; background: #fff; }
.rt-sort-guide__visual-arrow { position: relative; z-index: 2; color: #d9ed9f; }

.rt-sort-guide__content { align-self: stretch; padding: 46px clamp(34px,5vw,72px); display: flex; flex-direction: column; justify-content: center; background: #fff; }
.rt-sort-guide__progress { display: block; margin-bottom: 11px; color: #6f9f79; font-size: .73rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.rt-sort-guide__content h3 { margin: 0 0 13px; color: #173f31; font-size: clamp(1.65rem,3vw,2.3rem); font-weight: 700; line-height: 1.15; letter-spacing: -.025em; }
.rt-sort-guide__content > p { max-width: 650px; margin: 0 0 23px; color: #617169; font-size: .97rem; line-height: 1.65; }
.rt-sort-guide__examples { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 26px; }
.rt-sort-guide__examples span { padding: 8px 11px; color: #245b45; background: #eef6ed; border-radius: 9px; font-size: .75rem; font-weight: 600; }
.rt-sort-guide__examples span.is-avoid { color: #8a4c3a; background: #fff1ec; }
.rt-sort-guide__examples b { font-weight: 600; }
.rt-sort-guide__examples i { margin-right: 6px; }

.rt-sort-next { min-height: 44px; padding: 0 17px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; color: #fff; background: #245b45; border: 0; border-radius: 11px; font-size: .8rem; font-weight: 650; cursor: pointer; transition: background-color .25s ease, transform .25s ease; }
.rt-sort-next:hover { background: #173f31; transform: translateY(-1px); }
.rt-sort-next:focus-visible { outline: 3px solid rgba(111,159,121,.45); outline-offset: 3px; }
.rt-sort-guide__tip { margin: 18px 0 0; color: #617169; font-size: .8rem; text-align: center; }
.rt-sort-guide__tip i { margin-right: 6px; color: #6f9f79; }

@media (max-width: 991.98px) {
    .rt-sort-guide__steps { grid-template-columns: repeat(4,1fr); gap: 7px; }
    .rt-sort-line { display: none; }
    .rt-sort-step { grid-template-columns: 1fr; grid-template-rows: auto auto; justify-items: center; text-align: center; }
    .rt-sort-step > span { grid-row: auto; margin-bottom: 5px; }
    .rt-sort-step small { display: none; }
    .rt-sort-guide__panel { grid-template-columns: minmax(270px,.8fr) minmax(0,1.2fr); }
    .rt-sort-guide__visual-icon, .rt-sort-guide__visual-bin { width: 76px; height: 76px; font-size: 1.65rem; }
}

@media (max-width: 767.98px) {
    .rt-sort-guide { padding: 64px 0 72px; }
    .rt-sort-guide__intro { margin-bottom: 28px; }
    .rt-sort-guide__steps { padding: 15px 10px; }
    .rt-sort-step { padding: 6px 2px; }
    .rt-sort-step > span { width: 34px; height: 34px; }
    .rt-sort-step strong { font-size: .69rem; }
    .rt-sort-guide__panel { min-height: 0; grid-template-columns: 1fr; }
    .rt-sort-guide__visual { min-height: 215px; }
    .rt-sort-guide__content { padding: 34px 24px 38px; }
    .rt-sort-next { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .rt-sort-step, .rt-sort-step > span, .rt-sort-next { transition-duration: .01ms !important; }
}
