.inline-source {
    font-size: var(--text-xs);
    color: var(--muted);
    text-decoration: underline;
    text-decoration-color: #7776;
    text-underline-offset: 4px;
    white-space: normal
}

.inline-source:hover {
    color: var(--red)
}

.hero-source {
    color: #ddd;
    display: inline-block;
    min-width: 22px;
    text-align: center
}

.hero-next {
    display: block;
    font-size: var(--text-sm);
    color: #b5b8b8;
    margin-top: 6px
}

.intro-next {
    display: block;
    margin-top: 18px
}

.services {
    padding-top: 10px;
    padding-bottom: 80px
}

.service-layout {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 65px;
    border-top: 1px solid var(--line)
}

.service-overview {
    padding-top: 35px
}

.service-overview>p {
    font-size: clamp(2.2rem,3vw,3.3rem);
    line-height: 1.18;
    letter-spacing: -.035em;
    margin-top: 24px
}

.service-overview-note {
    display: block;
    max-width: 270px;
    font-size: var(--text-sm);
    color: var(--muted);
    margin-top: 25px
}

.service-overview .text-button {
    margin-top: 25px
}

.service-list>details {
    border-bottom: 1px solid var(--line)
}

.service-list summary {
    gap: 22px;
    padding: 24px 0;
    font-size: var(--text-lg);
    line-height: 1.35
}

.service-list summary>span:nth-child(2) {
    flex: 1
}

.service-list summary .service-no {
    font-size: var(--text-xs);
    color: var(--muted);
    min-width: 20px
}

.service-body {
    padding: 0 0 28px 42px
}

.service-body>p {
    font-size: var(--text-sm);
    color: var(--muted);
    line-height: 1.85
}

.service-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 20px 0 6px
}

.service-tags span {
    border: 1px solid var(--line);
    padding: 4px 10px;
    font-size: var(--text-xs);
    color: #555b59
}

.service-body .service-subnote {
    font-size: var(--text-xs);
    margin-top: 20px
}

.related-services {
    margin-top: 30px;
    border-block:1px solid var(--line)}

.related-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    padding: 5px 0 30px
}

.related-grid h3 {
    font-size: var(--text-lg);
    margin-bottom: 15px
}

.related-grid p {
    font-size: var(--text-sm);
    color: var(--muted);
    line-height: 1.8
}

.review-note {
    display: block;
    font-size: var(--text-xs);
    color: #776454;
    margin-top: 17px
}

.quality-review {
    margin-top: 25px;
    border-top: 1px solid var(--line)
}

.quality-review p {
    font-size: var(--text-sm);
    color: var(--muted);
    max-width: 850px;
    margin-bottom: 18px
}

.contact-links {
    display: flex;
    gap: 34px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 28px;
    font-size: var(--text-sm)
}

.contact-links>a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    border-bottom: 1px solid var(--line)
}

.approach .inline-source {
    color: #c7cbca
}

.hero p {
    max-width: 430px
}

nav {
    gap: 25px
}

.service-body .tooling-extra {
    border-block:1px solid var(--line);margin-top: 20px
}

.service-body .tooling-extra>summary {
    font-size: var(--text-sm);
    padding: 16px 0;
    gap: 16px
}

.service-body .tooling-extra>p:last-child {
    padding-bottom: 18px
}

details[open] .plus {
    transform: none
}

details[open]>summary .plus {
    transform: rotate(45deg)
}

@media(max-width: 1100px) {
    nav {
        gap:17px
    }

    .service-layout {
        gap: 35px
    }

    .hero p {
        max-width: 360px
    }
}

@media(max-width: 760px) {
    .hero-next {
        max-width:290px;
        margin-top: 10px
    }

    .hero {
        min-height: 800px
    }

    .hero p {
        max-width: 320px
    }

    .hero-content {
        padding-bottom: 275px
    }

    .hero-image {
        height: 49%
    }

    .services {
        padding-top: 0;
        padding-bottom: 45px
    }

    .service-layout {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .service-overview {
        padding-top: 25px
    }

    .service-overview>p {
        font-size: var(--text-xl);
        line-height: 1.3;
        margin-top: 15px
    }

    .service-overview>p br {
        display: none
    }

    .service-overview>p br::after {
        content: ' '
    }

    .service-overview-note {
        max-width: none;
        margin-top: 18px
    }

    .service-overview .text-button {
        margin-top: 12px
    }

    .service-list summary {
        font-size: var(--text-base);
        padding: 23px 0;
        gap: 12px
    }

    .service-body {
        padding-left: 32px
    }

    .service-list summary .service-no {
        min-width: 20px
    }

    .service-tags {
        gap: 6px
    }

    .related-grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .contact-links {
        gap: 12px;
        flex-direction: column;
        align-items: flex-start
    }

    .quality-review p {
        font-size: var(--text-sm)
    }

    .footer-brand span {
        line-height: 1.5;
        max-width: 285px
    }

    .profile-grid strong {
        max-width: 50%
    }
}
