:root {
    --sv-violet: #7f4cbf;
    --sv-ink: #17141b;
    --sv-paper: #f5f1e8;
    --sv-soft: #fbf8f1;
    --sv-line: #d8d0c2;
    --sv-muted: #68616b;
    --sv-lime: #d8f35a;
    --sv-display: "Outfit", "PingFang SC", "Microsoft YaHei", sans-serif;
    --sv-body: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
}

.barbot-services {
    background: var(--sv-paper);
    color: var(--sv-ink);
    font-family: var(--sv-body);
}

.barbot-services h1,
.barbot-services h2,
.barbot-services h3,
.barbot-services p {
    margin: 0;
}

.sv-shell {
    width: min(100% - 2rem, 1240px);
    margin-inline: auto;
}

.sv-index {
    color: var(--sv-violet);
    font: 700 .72rem/1 var(--sv-display);
    letter-spacing: .15em;
}

.sv-hero {
    padding: 9rem 0 5rem;
    background: var(--sv-soft);
    border-bottom: 1px solid var(--sv-ink);
}

.sv-hero-grid {
    display: grid;
    gap: 2rem;
}

.sv-hero h1 {
    max-width: 16ch;
    font: 690 clamp(2.8rem, 7vw, 5.8rem)/1.02 var(--sv-display);
    letter-spacing: -.05em;
}

.sv-lead {
    max-width: 46rem;
    margin-top: 1.6rem;
    color: var(--sv-muted);
    font-size: clamp(1.05rem, 2.4vw, 1.25rem);
    line-height: 1.85;
}

.sv-flow {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem .7rem;
    margin-top: 2rem;
}

.sv-flow span {
    padding: .45rem .8rem;
    border: 1px solid var(--sv-ink);
    background: #fff;
    font: 700 .78rem/1 var(--sv-display);
}

.sv-section {
    padding: clamp(4.5rem, 9vw, 8rem) 0;
    border-top: 1px solid var(--sv-line);
}

.sv-section h2 {
    margin-top: 1rem;
    font: 680 clamp(2.2rem, 5.5vw, 4.2rem)/1.05 var(--sv-display);
    letter-spacing: -.04em;
}

.sv-intro {
    max-width: 46rem;
    margin-top: 1.2rem;
    color: var(--sv-muted);
    line-height: 1.85;
}

.sv-train {
    display: grid;
    gap: 1.2rem;
    margin-top: 2.5rem;
}

.sv-card {
    padding: 1.5rem;
    border: 1px solid var(--sv-ink);
    background: #fff;
}

.sv-card h3 {
    font: 700 1.35rem/1.2 var(--sv-display);
    letter-spacing: -.03em;
}

.sv-card p,
.sv-card li {
    color: var(--sv-muted);
    line-height: 1.7;
}

.sv-card p {
    margin-top: .8rem;
}

.sv-card ul {
    margin: 1rem 0 0;
    padding-left: 1.1rem;
}

.sv-shared {
    margin-top: 2rem;
    padding: 1.5rem;
    background: var(--sv-ink);
    color: var(--sv-soft);
}

.sv-shared h3 {
    font: 700 1.1rem/1.3 var(--sv-display);
}

.sv-shared ul {
    display: grid;
    gap: .6rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.sv-shared li {
    padding-left: 1.2rem;
    position: relative;
    line-height: 1.6;
}

.sv-shared li::before {
    content: "→";
    position: absolute;
    left: 0;
    color: var(--sv-lime);
}

.sv-prep,
.sv-stages,
.sv-deliver,
.sv-success {
    display: grid;
    gap: 0;
    margin-top: 2.2rem;
    border-top: 1px solid var(--sv-ink);
}

.sv-item {
    padding: 1.3rem 0;
    border-bottom: 1px solid var(--sv-line);
}

.sv-item b {
    display: block;
    font: 700 1.15rem/1.3 var(--sv-display);
}

.sv-item p,
.sv-item li {
    margin-top: .65rem;
    color: var(--sv-muted);
    line-height: 1.7;
}

.sv-item ul {
    margin: .6rem 0 0;
    padding-left: 1.1rem;
}

.sv-stage-no {
    color: var(--sv-violet);
    font: 700 .72rem/1 var(--sv-display);
    letter-spacing: .12em;
}

.sv-dark {
    background: var(--sv-ink);
    color: var(--sv-soft);
    border-top: 1px solid var(--sv-ink);
}

.sv-dark .sv-index {
    color: #d8c4f5;
}

.sv-dark .sv-intro,
.sv-dark .sv-item p,
.sv-dark .sv-item li {
    color: #c8c0ca;
}

.sv-dark .sv-item {
    border-bottom-color: rgba(248, 244, 236, .16);
}

.sv-lime {
    background: var(--sv-lime);
    border-top: 1px solid var(--sv-ink);
}

.sv-lime .sv-item p,
.sv-lime .sv-item li {
    color: #3d3840;
}

.sv-cta {
    padding: clamp(4.5rem, 9vw, 8rem) 0;
    background: var(--sv-violet);
    color: var(--sv-soft);
}

.sv-cta .sv-index {
    color: #eadcfa;
}

.sv-cta h2 {
    color: var(--sv-soft);
}

.sv-cta-grid {
    display: grid;
    gap: 2rem;
}

.sv-button {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: .8rem 1.2rem;
    border: 1px solid var(--sv-soft);
    background: var(--sv-soft);
    color: var(--sv-ink);
    font: 700 .9rem/1 var(--sv-display);
    text-decoration: none;
}

@media (hover: hover) {
    .sv-button:hover {
        transform: translateY(-3px);
        color: var(--sv-violet);
    }
}

@media (min-width: 760px) {
    .sv-shell {
        width: min(100% - 4rem, 1240px);
    }

    .sv-hero-grid {
        grid-template-columns: 150px 1fr;
    }

    .sv-train {
        grid-template-columns: repeat(3, 1fr);
    }

    .sv-prep,
    .sv-deliver,
    .sv-success {
        grid-template-columns: repeat(2, 1fr);
        gap: 0 2.5rem;
    }

    .sv-cta-grid {
        grid-template-columns: 1.2fr .8fr;
        align-items: end;
    }

    .sv-button {
        justify-self: end;
    }
}

@media (max-width: 520px) {
    .sv-button {
        width: 100%;
    }
}
