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

.rt-profile::after {
    position: absolute;
    right: -130px;
    bottom: -190px;
    width: 360px;
    height: 360px;
    border: 1px solid #dcebdd;
    border-radius: 50%;
    box-shadow: 0 0 0 46px rgba(220, 235, 221, .38), 0 0 0 92px rgba(220, 235, 221, .18);
    content: '';
    pointer-events: none;
}

.rt-profile .container { position: relative; z-index: 1; }

.rt-profile__layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
    align-items: center;
    gap: clamp(52px, 8vw, 112px);
}

.rt-profile__identity {
    margin-bottom: 28px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rt-profile__identity img {
    width: 50px;
    height: 62px;
    object-fit: contain;
}

.rt-profile__identity strong,
.rt-profile__identity span { display: block; }
.rt-profile__identity strong { color: #173f31; font-size: 1rem; font-weight: 720; }
.rt-profile__identity span { margin-top: 3px; color: #617169; font-size: .74rem; letter-spacing: .04em; }

.rt-profile__intro h2 {
    max-width: 600px;
    margin: 0 0 20px;
    color: #173f31;
    font-size: clamp(2.2rem, 4vw, 3.7rem);
    font-weight: 730;
    line-height: 1.04;
    letter-spacing: -.03em;
}

.rt-profile__intro > p {
    max-width: 68ch;
    margin: 0;
    color: #617169;
    font-size: 1rem;
    line-height: 1.75;
}

.rt-profile__vision {
    position: relative;
    min-height: 360px;
    padding: clamp(40px, 6vw, 72px);
    display: flex;
    align-items: flex-start;
    gap: 25px;
    overflow: hidden;
    color: #fff;
    background: #245b45;
    border-radius: 16px;
    box-shadow: 0 24px 52px rgba(36, 91, 69, .18);
}

.rt-profile__vision::after {
    position: absolute;
    right: -38px;
    bottom: -70px;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    box-shadow: 0 0 0 34px rgba(255, 255, 255, .05);
    content: '';
}

.rt-profile__vision > i {
    flex: 0 0 auto;
    margin-top: 4px;
    color: #d9ed9f;
    font-size: 1.5rem;
}

.rt-profile__vision h3 {
    margin: 0 0 18px;
    color: #d9ed9f;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.rt-profile__vision p {
    position: relative;
    z-index: 1;
    max-width: 31ch;
    margin: 0;
    color: #fff;
    font-size: clamp(1.45rem, 2.5vw, 2.15rem);
    font-weight: 570;
    line-height: 1.35;
    letter-spacing: -.02em;
}

.rt-profile__commitments {
    margin: 58px 0 0;
    padding: 27px 0 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
    border-top: 1px solid #dfe8e1;
    list-style: none;
}

.rt-profile__commitments li { display: flex; align-items: flex-start; gap: 14px; }
.rt-profile__commitments li > i { width: 36px; padding-top: 3px; color: #6f9f79; font-size: 1.05rem; text-align: center; }
.rt-profile__commitments span,
.rt-profile__commitments strong,
.rt-profile__commitments small { display: block; }
.rt-profile__commitments strong { color: #173f31; font-size: .9rem; font-weight: 700; }
.rt-profile__commitments small { margin-top: 5px; color: #617169; font-size: .76rem; line-height: 1.5; }

@media (max-width: 991.98px) {
    .rt-profile__layout { grid-template-columns: 1fr; gap: 42px; }
    .rt-profile__vision { min-height: 0; }
    .rt-profile__vision p { max-width: 36ch; }
}

@media (max-width: 767.98px) {
    .rt-profile { padding: 68px 0 64px; }
    .rt-profile::after { display: none; }
    .rt-profile__identity { margin-bottom: 22px; }
    .rt-profile__vision { padding: 34px 25px; gap: 17px; }
    .rt-profile__vision > i { font-size: 1.2rem; }
    .rt-profile__commitments { margin-top: 40px; grid-template-columns: 1fr; gap: 23px; }
}
