.svc-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex: none;
    background: var(--c-dark);
    color: var(--c-white);
    font-size: var(--fs-xs);
    font-weight: 500;
    line-height: var(--lh-tight);
}

.svc-num--light {
    background: var(--c-white);
    color: var(--c-dark);
}


.svc-item {
    display: flex;
    gap: var(--sp-24);
    align-items: flex-start;
}

.svc-item__top {
    position: relative;
    flex: none;
    width: 60px;
    height: 60px;
}

.svc-item__icon {
    flex: none;
    width: 60px;
    height: 60px;
}

.svc-item__top .svc-num {
    position: absolute;
    left: -10px;
    top: 8px;
}

.svc-item__body {
    display: flex;
    flex-direction: column;
    gap: var(--sp-10);
}

.svc-item__body .h6 {
    line-height: var(--lh-mid);
}


.hero--page {
    min-height: 480px;
    align-items: flex-end;
    padding-bottom: 58px;
}

.hero--page::before {
    background-image:
        linear-gradient(180deg, rgba(33, 33, 33, 0.3) 0%, rgba(183, 183, 183, 0) 40%),
        linear-gradient(-90deg, rgba(0, 0, 0, 0) 52%, rgba(0, 0, 0, 0.5) 100%),
        linear-gradient(rgba(33, 33, 33, 0.2), rgba(33, 33, 33, 0.2)),
        var(--img-lg, url('../images/srv-hero.png'));
}

@media (max-width: 1279px) {
    .hero--page::before {
        background-image:
            linear-gradient(180deg, rgba(33, 33, 33, 0.3) 0%, rgba(183, 183, 183, 0) 40%),
            linear-gradient(-90deg, rgba(0, 0, 0, 0) 52%, rgba(0, 0, 0, 0.5) 100%),
            linear-gradient(rgba(33, 33, 33, 0.2), rgba(33, 33, 33, 0.2)),
            var(--img-md, var(--img-lg, url('../images/srv-hero.png')));
    }
}


.svc-cards__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--sp-48) var(--sp-24);
    max-width: var(--container);
    margin-inline: auto;
    padding: var(--sp-48) var(--gutter);
}

.svc-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--sp-24);
    padding: var(--sp-24);
    background: var(--c-light);
    transition: box-shadow var(--t-fast);
}

.svc-card {
    outline: 0 solid var(--c-black);
    outline-offset: -2px;
}

.svc-card:hover {
    outline-width: 2px;
}

.svc-card__top {
    width: 60px;
    height: 60px;
}

.svc-card .svc-num {
    position: absolute;
    left: -10px;
    top: 8px;
}

.svc-card__icon {
    width: 60px;
    height: 60px;
}

.svc-card__body {
    display: flex;
    flex-direction: column;
    gap: var(--sp-8);
}

.svc-card__body .h6 {
    line-height: var(--lh-mid);
}

.svc-card__link {
    align-self: flex-start;
}

.svc-card {
    cursor: pointer;
}

.svc-card__link::after {
    content: '';
    position: absolute;
    inset: 0;
}


.svc-lead {
    display: flex;
    align-items: stretch;
    width: 100%;
    max-width: var(--container);
    margin-inline: auto;
}

.svc-lead__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--sp-40);
    width: 50%;
    min-height: 795px;
    padding: var(--section-y) var(--gutter-lg);
}

.svc-lead__head {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--sp-16);
}

.svc-lead__title {
    position: relative;
}

.svc-num--lead {
    position: absolute;
    left: -56px;
    top: 17px;
    width: 24px;
    height: 24px;
}

.svc-lead__text .btn {
    align-self: flex-start;
}

.svc-lead__media {
    width: 50%;
    min-height: 795px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.svc-lead__media--full-arch {
    background-image:
        linear-gradient(180deg, rgba(102, 102, 102, 0) 0%, rgba(0, 0, 0, 0.3) 100%),
        url('../images/srv-full-arch.png');
}

.svc-lead__media--single {
    background-image:
        linear-gradient(180deg, rgba(102, 102, 102, 0) 0%, rgba(0, 0, 0, 0.3) 100%),
        url('../images/srv-single-implants.png');
}

.svc-lead__media--soft {
    background-image:
        linear-gradient(180deg, rgba(102, 102, 102, 0) 0%, rgba(0, 0, 0, 0.3) 100%),
        url('../images/srv-soft-tissue.png');
}

.svc-lead--reverse .svc-lead__text,
.svc-lead--reverse .svc-lead__media {
    min-height: 720px;
}

.svc-lead__media--surgical {
    background-color: var(--c-dark);
    background-image: url('../images/srv-surgical.png');
}


.fp-explained {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-inline: var(--gutter);
}

.fp-explained__intro {
    display: flex;
    flex-direction: column;
    gap: var(--sp-48);
    width: 100%;
    max-width: 660px;
    padding-block: var(--section-y);
}

.fp-explained__head {
    display: flex;
    flex-direction: column;
    gap: var(--sp-16);
}

.fp-panels-wrap {
    display: flex;
    justify-content: center;
    padding-inline: var(--gutter);
}

.fp-panels {
    display: flex;
    align-items: stretch;
    gap: var(--sp-24);
    width: 100%;
    max-width: 1344px;
}

.fp-panel {
    display: flex;
    flex-direction: column;
    gap: var(--sp-64);
    width: 50%;
    padding: var(--sp-48);
}

.fp-panel--dark {
    position: relative;
    z-index: 1;
    background: var(--c-dark);
    color: var(--c-white);
}

.fp-panel--light {
    background: var(--c-white);
}

.fp-panel__visual {
    position: relative;
    width: 100%;
    max-width: 544px;
    aspect-ratio: 544 / 272;
    border-radius: var(--r-card);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    overflow: hidden;
}

.fp-panel__visual--fp1 {
    background-image:
        radial-gradient(ellipse farthest-side at 50% 59%, rgba(24, 25, 26, 0) 0%, rgba(24, 25, 26, 1) 100%),
        url('../images/srv-fp1-bg.png');
}

.fp-panel__visual--fp3 {
    background-image:
        radial-gradient(ellipse farthest-side at 50% 63%, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%),
        url('../images/srv-fp3-bg.png');
}

.fp-panel__teeth {
    position: absolute;
    left: 20.92%;
    top: -0.35%;
    width: 58.44%;
    height: 45.8%;
}

.fp-panel__teeth--2 {
    left: 25%;
    top: 2.67%;
    width: 54.32%;
    height: 42%;
}

.fp-panel__figure {
    width: 100%;
    max-width: 544px;
}

.fp-panel__stamp {
    position: absolute;
    right: 16px;
    top: 16px;
    width: 123px;
    height: 123px;
}

.fp-panel__body {
    display: flex;
    flex-direction: column;
    gap: var(--sp-24);
}

.fp-panel__text {
    display: flex;
    flex-direction: column;
    gap: var(--sp-16);
}

.fp-panel__list {
    display: flex;
    flex-direction: column;
    gap: var(--sp-12);
}

.fp-list {
    display: flex;
    flex-direction: column;
    gap: var(--sp-12);
    margin: 0;
    padding: 0;
    list-style: none;
}

.fp-list li {
    position: relative;
    padding-left: 20px;
}

.fp-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 4px;
    height: 4px;
    background: var(--c-white);
}

.fp-list--dark li::before {
    background: var(--c-dark);
}

.fp-panel--light .fp-panel__body,
.fp-panel--light .note {
    color: var(--c-dark);
}

.fp-panel--dark > .note {
    margin-top: var(--sp-16);
}

.fp-panel--light > .note {
    margin-top: auto;
}


.choose {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--sp-64);
    padding: var(--section-y) var(--gutter-lg);
}

.choose__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--sp-16);
    text-align: center;
}

.choose__head .h6,
.choose__head .text {
    max-width: 648px;
}

.choose__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 400px));
    justify-content: center;
    gap: 72px;
    width: 100%;
    max-width: 1344px;
}


.flow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--sp-32);
    padding: var(--section-y) var(--gutter);
    background: linear-gradient(180deg, var(--c-dark) 0%, var(--c-grey-2) 100%);
    color: var(--c-white);
}

.flow__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--sp-16);
    text-align: center;
}

.flow__head .h6,
.flow__head .text {
    max-width: 648px;
}

.flow__map {
    position: relative;
    width: 100%;
    max-width: 1360px;
    aspect-ratio: 1360 / 570;
    margin-top: var(--sp-40);
}

.flow__path {
    position: absolute;
    left: 0;
    top: 1.282%;
    width: 100%;
    height: auto;
}

.flow__row {
    position: absolute;
    left: 6.47%;
    display: flex;
    gap: 8.108%;
    width: 87.06%;
}

.flow__row--1 {
    top: 0;
    justify-content: flex-end;
}

.flow__row--2 {
    top: 36.84%;
    flex-direction: row-reverse;
}

.flow__row--3 {
    top: 73.68%;
    justify-content: flex-start;
}

.flow__step {
    display: flex;
    flex-direction: column;
    gap: var(--sp-16);
    width: 18.92%;
}

.flow__step .h6 {
    line-height: var(--lh-mid);
}

.flow__step .text {
    color: var(--c-grey-5);
}

.flow__check {
    position: absolute;
    left: 72.65%;
    top: 72.63%;
    width: 32px;
    height: 32px;
}

.flow__cards {
    display: flex;
    align-items: stretch;
    gap: var(--sp-24);
    width: 100%;
    max-width: 1184px;
    margin-top: var(--sp-96);
}

.flow__card {
    display: flex;
    flex-direction: column;
    gap: var(--sp-12);
    width: 50%;
    padding: var(--sp-24);
    background: var(--c-surface-white-10);
    backdrop-filter: blur(2px);
}


.svc-notes {
    display: flex;
    justify-content: center;
    padding: var(--section-y) var(--gutter);
}

.svc-notes__inner {
    display: flex;
    flex-direction: column;
    gap: var(--sp-48);
    width: 100%;
    max-width: 660px;
}

.svc-notes__block {
    display: flex;
    flex-direction: column;
    gap: var(--sp-16);
}

.svc-steps {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-inline: var(--gutter-lg);
}

.svc-steps__line {
    width: 100%;
    max-width: 1344px;
    height: 1px;
    background: var(--c-grey-3);
}

.svc-steps__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 400px));
    gap: 72px;
    width: 100%;
    max-width: 1344px;
    padding-block: var(--section-y);
}


.svc-cols {
    display: flex;
    justify-content: center;
    padding: var(--section-y) var(--gutter-lg);
}

.svc-cols__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 78px;
    width: 100%;
    max-width: 1184px;
}


.grafts {
    padding: var(--section-y) var(--gutter);
    background: linear-gradient(180deg, var(--c-white) 0%, var(--c-grey-3) 100%);
}

.grafts__inner {
    display: flex;
    justify-content: space-between;
    gap: var(--sp-48);
    max-width: var(--container);
    margin-inline: auto;
}

.grafts__list {
    display: flex;
    flex-direction: column;
    gap: var(--sp-96);
    flex: 0 1 400px;
}

.svc-item--lg .svc-item__icon {
    align-self: flex-start;
}

.grafts__map {
    position: relative;
    align-self: flex-start;
    flex: 0 1 743px;
    max-width: 743px;
    aspect-ratio: 743 / 585;
}

.grafts__path {
    position: absolute;
    left: 0;
    top: 1.254%;
    width: 100%;
    height: auto;
}

.grafts__step {
    position: absolute;
    display: flex;
    flex-direction: column;
    gap: var(--sp-16);
    width: 30.15%;
}

.grafts__step .h6 {
    line-height: var(--lh-mid);
}

.grafts__step--1 { left: 58.01%; top: 0; }
.grafts__step--2 { left: 58.01%; top: 35.9%; }
.grafts__step--3 { left: 14.94%; top: 35.9%; }
.grafts__step--4 { left: 14.94%; top: 71.79%; }
.grafts__step--5 { left: 58.01%; top: 71.79%; }

.grafts__check {
    position: absolute;
    left: 95.69%;
    top: 70.77%;
    width: 32px;
    height: 32px;
}


.cta--services {
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)),
        linear-gradient(180deg, rgba(24, 25, 26, 0) 77%, rgba(24, 25, 26, 0.5) 100%),
        url('../images/srv-cta.png');
    background-size: cover, cover, 114% auto;
    background-position: center, center, center calc(100% + 157px);
}


@media (max-width: 1279px) {
    .svc-cards__grid,
    .svc-cols__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--sp-48) var(--sp-24);
    }

    .choose__grid,
    .svc-steps__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--sp-48);
    }

    .flow__path,
    .grafts__path {
        display: none;
    }

    .flow__check,
    .grafts__check {
        position: static;
        grid-column: 1 / -1;
        justify-self: center;
        order: 9;
    }

    .flow__step .svc-num::after,
    .grafts__step .svc-num::after {
        display: none;
    }

    .flow__map,
    .grafts__map {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--sp-40);
        width: 100%;
        max-width: none;
        aspect-ratio: auto;
        margin-top: 0;
    }

    .flow__row {
        position: static;
        display: contents;
    }

    .flow__step,
    .grafts__step {
        position: static;
        width: auto;
    }

    .grafts__inner {
        flex-direction: column;
        gap: var(--sp-64);
    }

    .grafts__list {
        flex: 1 1 auto;
    }
}


@media (max-width: 1023px) {
    .svc-lead {
        flex-direction: column-reverse;
    }

    .svc-lead--reverse {
        flex-direction: column;
    }

    .svc-lead__text,
    .svc-lead--reverse .svc-lead__text {
        width: 100%;
        min-height: 0;
        padding: var(--section-y) var(--gutter);
    }

    .svc-lead__media,
    .svc-lead--reverse .svc-lead__media {
        width: 100%;
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .svc-lead__title {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--sp-16);
    }

    .svc-num--lead {
        position: static;
    }

    .fp-panels {
        flex-direction: column;
    }

    .fp-panel {
        width: 100%;
    }

    .flow__cards {
        flex-direction: column;
        margin-top: var(--sp-48);
    }

    .flow__card {
        width: 100%;
    }
}


@media (max-width: 767px) {
    .hero--page {
        min-height: 628px;
        padding-bottom: 60px;
    }

    .hero--page::before {
        background-image:
            linear-gradient(180deg, rgba(33, 33, 33, 0.3) 0%, rgba(183, 183, 183, 0) 40%),
            linear-gradient(-90deg, rgba(0, 0, 0, 0) 52%, rgba(0, 0, 0, 0.5) 100%),
            linear-gradient(rgba(33, 33, 33, 0.2), rgba(33, 33, 33, 0.2)),
            var(--img-sm, var(--img-md, var(--img-lg, url('../images/srv-hero-mobile.png'))));
    }

    .svc-cards__grid {
        grid-template-columns: 1fr;
        gap: var(--sp-16);
        padding: var(--sp-24) var(--gutter);
    }

    .svc-card {
        gap: var(--sp-16);
        padding: var(--sp-16);
    }

    .svc-card__top,
    .svc-card__icon,
    .svc-item__top,
    .svc-item__icon {
        width: 50px;
        height: 50px;
    }

    .svc-lead__media,
    .svc-lead--reverse .svc-lead__media {
        aspect-ratio: 1 / 1;
    }

    .svc-lead__text,
    .svc-lead--reverse .svc-lead__text {
        gap: var(--sp-32);
    }

    .fp-explained__intro {
        gap: var(--sp-32);
        padding-block: 0 var(--sp-48);
    }

    .fp-panels {
        gap: var(--sp-16);
    }

    .fp-panel {
        gap: var(--sp-32);
        padding: var(--sp-48) var(--sp-16);
    }

    .fp-panel__body {
        gap: var(--sp-32);
    }

    .fp-panel__stamp {
        width: 91px;
        height: 91px;
    }

    .choose {
        gap: var(--sp-32);
    }

    .choose__grid,
    .svc-steps__grid,
    .svc-cols__grid,
    .grafts__map {
        grid-template-columns: 1fr;
        gap: var(--sp-48);
    }

    .svc-cols__grid {
        gap: var(--sp-32);
    }

    .flow {
        gap: var(--sp-48);
        padding-block: 36px;
    }

    .flow__map {
        gap: var(--sp-24);
    }

    .flow__cards {
        gap: var(--sp-16);
        margin-top: 0;
    }

    .svc-notes__block .h5,
    .svc-item--lg .h5 {
        font-size: 20px;
    }

    .grafts {
        padding-bottom: var(--sp-96);
    }

    .grafts__list {
        gap: var(--sp-32);
    }


    .cta--services {
        align-items: flex-start;
        padding: var(--sp-48) 0 0;
        background-size: auto, auto, 122% auto;
        background-position: center, center, center bottom;
    }

    .cta--services .cta__inner {
        padding-inline: var(--gutter);
    }
}


.svc-tabs {
    display: grid;
    grid-template-rows: 0fr;
    background: var(--c-white);
    color: var(--c-dark);
    transition: grid-template-rows var(--t-base);
}

.header.has-tabs .svc-tabs {
    grid-template-rows: 1fr;
}

.svc-tabs__wrap {
    overflow: hidden;
}

.svc-tabs__inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--sp-48) var(--sp-24);
    padding-block: var(--sp-16);
}

.svc-tab {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--sp-12);
    min-width: 0;
    padding: var(--sp-12) var(--sp-24);
    background: var(--c-light);
    outline: 0 solid var(--c-black);
    outline-offset: -2px;
    font-family: var(--font-head);
    font-size: var(--fs-h6);
    font-weight: 400;
    line-height: var(--lh-mid);
    transition: background var(--t-fast), outline-width var(--t-fast);
}

.svc-tab:hover {
    outline-width: 1px;
}

.svc-tab.is-active {
    background: var(--c-white);
    outline-width: 2px;
}

.svc-tab .svc-num {
    position: absolute;
    left: -10px;
    top: 8px;
}

.svc-tab__icon {
    width: 32px;
    height: 32px;
    flex: none;
    background: var(--c-white);
}

.svc-tab.is-active .svc-tab__icon {
    background: rgba(115, 116, 124, 0.1);
}

.svc-tabs__toggle {
    display: none;
}

.svc-tab__title {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.section[id] {
    scroll-margin-top: 161px;
}

@media (max-width: 1023px) {
    .svc-tabs__inner {
        position: relative;
        display: block;
        padding-block: var(--sp-8);
    }

    .svc-tab {
        display: none;
        gap: var(--sp-12);
        padding: var(--sp-12) 0;
        background: none;
        outline: 0;
        font-size: 18px;
    }

    .svc-tab.is-active,
    .svc-tabs.is-open .svc-tab {
        display: flex;
    }

    .svc-tabs.is-open .svc-tab + .svc-tab {
        border-top: 1px solid var(--c-grey-3);
    }

    .svc-tab:hover {
        outline: 0;
    }

    .svc-tab .svc-tab__icon {
        display: none;
    }

    .svc-tab .svc-num {
        position: static;
    }

    .svc-tab__title {
        white-space: normal;
    }

    .svc-tabs__toggle {
        display: block;
        position: absolute;
        right: var(--gutter);
        top: var(--sp-8);
        z-index: 1;
        width: 24px;
        height: 49px;
        background: url('../images/icons/chevron-right-dark.svg') center / 24px 24px no-repeat;
        transform: rotate(90deg);
        transition: transform var(--t-fast);
    }

    .svc-tabs.is-open .svc-tabs__toggle {
        transform: rotate(-90deg);
    }

    .section[id] {
        scroll-margin-top: 122px;
    }
}


.text.svc-lead__body,
.text.svc-notes__inner,
.text.fp-panel__body,
.text.choose__head,
.text.flow__head,
.text.flow__card,
.text.hero__lead {
    display: block;
}

.text.svc-lead__body > *,
.text.svc-notes__inner > *,
.text.fp-panel__body > *,
.text.choose__head > *,
.text.flow__head > *,
.text.flow__card > *,
.text.hero__lead > * {
    margin: var(--sp-16) 0 0;
}

.text.svc-lead__body > *:first-child,
.text.svc-notes__inner > *:first-child,
.text.fp-panel__body > *:first-child,
.text.choose__head > *:first-child,
.text.flow__head > *:first-child,
.text.flow__card > *:first-child,
.text.hero__lead > *:first-child {
    margin-top: 0;
}

.text.svc-lead__body > blockquote,
.text.svc-notes__inner > blockquote,
.text.fp-panel__body > blockquote {
    padding-left: var(--sp-16);
    border-left: 1px solid var(--c-grey-3);
}

.text.svc-lead__body blockquote > *,
.text.svc-notes__inner blockquote > *,
.text.fp-panel__body blockquote > * {
    margin: var(--sp-12) 0 0;
}

.text.svc-lead__body blockquote > *:first-child,
.text.svc-notes__inner blockquote > *:first-child,
.text.fp-panel__body blockquote > *:first-child {
    margin-top: 0;
}

.text.svc-lead__body blockquote p,
.text.svc-notes__inner blockquote p {
    color: var(--c-grey);
}

.svc-lead__head {
    position: relative;
}

.text.svc-lead__body > h2 {
    margin-top: 0;
    font-size: var(--fs-h1);
}

.text.svc-lead__body > h3,
.text.svc-lead__body blockquote > h3 {
    font-size: var(--fs-h6);
    line-height: var(--lh-mid);
}

.text.svc-lead__body > blockquote {
    margin-top: var(--sp-40);
}

.text.svc-notes__inner > h2,
.text.svc-notes__inner > blockquote {
    margin-top: var(--sp-48);
}

.text.svc-notes__inner > h2 {
    font-size: var(--fs-h3);
}

.text.svc-notes__inner > h3,
.text.svc-notes__inner blockquote > h3 {
    font-size: var(--fs-h6);
    line-height: var(--lh-mid);
}

.text.fp-panel__body > h2 {
    font-size: var(--fs-h5);
    line-height: var(--lh-mid);
}

.text.fp-panel__body > h3,
.text.fp-panel__body blockquote > h3 {
    font-size: var(--fs-h6);
    line-height: var(--lh-mid);
}

.text.fp-panel__body > h3 {
    margin-top: var(--sp-24);
}

.text.fp-panel__body > ul {
    margin-top: var(--sp-12);
}

.text.fp-panel__body > blockquote {
    margin-top: 80px;
}

.text.fp-panel__body ul {
    padding: 0;
    list-style: none;
}

.text.fp-panel__body li {
    position: relative;
    padding-left: 20px;
}

.text.fp-panel__body li + li {
    margin-top: var(--sp-12);
}

.text.fp-panel__body li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 4px;
    height: 4px;
    background: currentColor;
}

.fp-panel--dark .text.fp-panel__body > blockquote {
    border-left-color: var(--c-border-white-40);
}

.text.choose__head > h2,
.text.flow__head > h2 {
    font-size: var(--fs-h3);
}

.text.choose__head > h3,
.text.flow__head > h3 {
    font-size: var(--fs-h6);
    line-height: var(--lh-mid);
}

.text.choose__head > *,
.text.flow__head > * {
    max-width: 648px;
    margin-inline: auto;
}

.text.flow__card > * {
    margin-top: var(--sp-12);
}

.text.flow__card > h2,
.text.flow__card > h3 {
    font-size: var(--fs-h6);
    line-height: var(--lh-mid);
}

.text.flow__card > p {
    font-size: var(--fs-sm);
}

.text.hero__lead > h2 {
    max-width: 734px;
    font-size: var(--fs-h1);
}

.text.hero__lead > p {
    max-width: 530px;
}


.svc-lead__media {
    background-image:
        linear-gradient(180deg, rgba(102, 102, 102, 0) 0%, rgba(0, 0, 0, 0.3) 100%),
        var(--img-lg);
}

@media (max-width: 1279px) {
    .svc-lead__media {
        background-image:
            linear-gradient(180deg, rgba(102, 102, 102, 0) 0%, rgba(0, 0, 0, 0.3) 100%),
            var(--img-md, var(--img-lg));
    }
}

@media (max-width: 767px) {
    .svc-lead__media {
        background-image:
            linear-gradient(180deg, rgba(102, 102, 102, 0) 0%, rgba(0, 0, 0, 0.3) 100%),
            var(--img-sm, var(--img-md, var(--img-lg)));
    }
}


.svc-card__icon,
.svc-item__icon,
.svc-tab__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    color: var(--c-grey-2);
}

.svc-card__icon,
.svc-item__icon {
    background: rgba(115, 116, 124, 0.1);
}

.svc-card__icon svg,
.svc-item__icon svg,
.svc-tab__icon svg {
    display: block;
}

.svc-card__icon svg,
.svc-item__icon svg {
    width: 36px;
    height: 36px;
}

.svc-tab__icon svg {
    width: 19px;
    height: 19px;
}


.svc-notes--cols {
    padding-inline: var(--gutter-lg);
}

.text.svc-notes--cols .svc-notes__inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 78px;
    max-width: 1184px;
}

.svc-notes--cols .svc-notes__inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 78px;
    max-width: 1184px;
}

.svc-notes--cols .svc-notes__inner > blockquote {
    margin-top: 0;
}

@media (max-width: 1279px) {
    .svc-notes--cols .svc-notes__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--sp-48);
    }
}

@media (max-width: 767px) {
    .svc-notes--cols .svc-notes__inner {
        grid-template-columns: 1fr;
        gap: var(--sp-32);
    }
}


.flow__step .svc-num,
.grafts__step .svc-num {
    position: relative;
}

.flow__step .svc-num::after,
.grafts__step .svc-num::after {
    content: '';
    position: absolute;
    left: 21px;
    top: 0;
    width: 8px;
    height: 20px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.grafts__step .svc-num::after {
    background: rgba(24, 25, 26, 0.3);
}

.flow__step .svc-num::after {
    background: rgba(255, 255, 255, 0.3);
}


@media (min-width: 1280px) {
    .flow__row--2 .svc-num,
    .grafts__step--2 .svc-num,
    .grafts__step--3 .svc-num {
        margin-left: 9px;
    }

    .flow__row--2 .svc-num::after,
    .grafts__step--2 .svc-num::after,
    .grafts__step--3 .svc-num::after {
        left: -9px;
        clip-path: polygon(100% 0, 0 50%, 100% 100%);
    }
}

.flow__map--plain,
.grafts__map--plain {
    position: static;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sp-64) var(--sp-48);
    width: 100%;
    max-width: 1184px;
    aspect-ratio: auto;
}

.flow__map--plain .flow__row {
    display: contents;
}

.flow__map--plain .flow__step,
.grafts__map--plain .grafts__step {
    position: static;
    width: auto;
}

.flow__map--plain .svc-num,
.grafts__map--plain .svc-num {
    margin-left: 0;
}

.flow__map--plain .svc-num::after,
.grafts__map--plain .svc-num::after {
    display: none;
}

.grafts__map--plain {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: none;
}

@media (max-width: 1023px) {
    .flow__map--plain {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .flow__map--plain,
    .grafts__map--plain {
        grid-template-columns: 1fr;
    }
}
