:root {
    --rt-service-forest: #1f634d;
    --rt-service-ink: #173c31;
    --rt-service-leaf: #6f9f79;
    --rt-service-mint: #eef6ee;
    --rt-service-cream: #fbf8ed;
    --rt-service-line: #dce8dc;
}

.rt-services-page,
.rt-services-home { color: var(--rt-service-ink); }

.rt-services-hero {
    padding: 180px 0 82px;
    background: var(--rt-service-mint);
}

.rt-services-hero__content { max-width: 760px; }
.rt-services-hero h1,
.rt-services-heading h2 {
    color: var(--rt-service-ink);
    letter-spacing: -.025em;
}
.rt-services-hero h1 { margin-bottom: 18px; font-size: clamp(2.35rem, 5vw, 4.5rem); }
.rt-services-hero p { max-width: 68ch; margin: 0; font-size: 1.12rem; line-height: 1.75; color: #47675c; }

.rt-services-list,
.rt-services-home { padding: 82px 0 58px; background: #fff; }
.rt-services-heading { max-width: 700px; margin-bottom: 38px; }
.rt-services-heading h2 { margin-bottom: 10px; font-size: clamp(1.9rem, 3vw, 2.75rem); }
.rt-services-heading p { margin: 0; font-size: 1.05rem; line-height: 1.7; color: #587268; }

.rt-service-item {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 17px;
    height: 100%;
    padding: 25px;
    background: var(--rt-service-cream);
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(31, 99, 77, .08);
}

.rt-service-item__icon {
    display: inline-flex;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
    color: var(--rt-service-forest);
    background: #dfeede;
    border-radius: 12px;
    font-size: 1.25rem;
}

.rt-service-item h3 { margin: 2px 0 8px; color: var(--rt-service-ink); font-size: 1.05rem; line-height: 1.4; }
.rt-service-item p { margin: 0; color: #5a7068; font-size: .94rem; line-height: 1.65; }

.rt-services-home__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 8px;
    padding: 22px 25px;
    background: var(--rt-service-mint);
    border-radius: 14px;
}
.rt-services-home__footer p { max-width: 66ch; margin: 0; color: #49675d; line-height: 1.6; }
.rt-services-link { flex: 0 0 auto; color: var(--rt-service-forest); font-weight: 700; text-decoration: none; }
.rt-services-link i { margin-left: 8px; }
.rt-services-link:hover { color: var(--rt-service-ink); text-decoration: underline; text-underline-offset: 4px; }
.rt-services-link:focus-visible { outline: 3px solid rgba(111, 159, 121, .45); outline-offset: 5px; }

.rt-service-flow { padding: 78px 0 88px; background: var(--rt-service-cream); }
.rt-service-flow__steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0 0 34px; padding: 0; list-style: none; counter-reset: service-step; }
.rt-service-flow__steps li { position: relative; padding: 58px 22px 22px 0; counter-increment: service-step; }
.rt-service-flow__steps li::before {
    content: counter(service-step);
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: #fff;
    background: var(--rt-service-forest);
    border-radius: 50%;
    font-weight: 700;
}
.rt-service-flow__steps li:not(:last-child)::after { content: ''; position: absolute; top: 20px; left: 50px; right: 10px; height: 1px; background: var(--rt-service-line); }
.rt-service-flow__steps strong,
.rt-service-flow__steps span { display: block; }
.rt-service-flow__steps strong { margin-bottom: 7px; color: var(--rt-service-ink); }
.rt-service-flow__steps span { color: #61766e; font-size: .9rem; line-height: 1.55; }

.rt-service-note { display: flex; align-items: flex-start; gap: 13px; padding: 20px 22px; color: #31594b; background: #e3f0e2; border-radius: 14px; }
.rt-service-note i { margin-top: 4px; color: var(--rt-service-forest); }
.rt-service-note p { margin: 0; line-height: 1.65; }

@media (max-width: 991.98px) {
    .rt-services-hero { padding: 150px 0 66px; }
    .rt-service-flow__steps { grid-template-columns: 1fr 1fr; gap: 18px 26px; }
    .rt-service-flow__steps li { padding-right: 0; }
    .rt-service-flow__steps li::after { display: none; }
}

@media (max-width: 575.98px) {
    .rt-services-hero { padding: 132px 0 52px; }
    .rt-services-list,
    .rt-services-home,
    .rt-service-flow { padding: 56px 0; }
    .rt-service-item { grid-template-columns: 46px 1fr; padding: 20px; }
    .rt-service-item__icon { width: 46px; height: 46px; }
    .rt-services-home__footer { align-items: flex-start; flex-direction: column; }
    .rt-service-flow__steps { grid-template-columns: 1fr; gap: 4px; }
}
