:root {
    color-scheme: light;
    --vcs-ink: #142d2b;
    --vcs-muted: #667674;
    --vcs-green: #17785e;
    --vcs-green-dark: #125c49;
    --vcs-lime: #d7ef86;
    --vcs-paper: #f4f6f2;
    --vcs-line: #e2e9e2;
    --vcs-white: #ffffff;
    --vcs-shadow: 0 24px 70px rgba(20, 45, 43, .12);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 88px; }

body.vstep-center-page {
    margin: 0;
    background: var(--vcs-paper);
    color: var(--vcs-ink);
    font-size: 15px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.vstep-center-page a { color: inherit; text-decoration: none; }
.vstep-center-page button, .vstep-center-page input, .vstep-center-page textarea { font: inherit; }
.vstep-center-page button { cursor: pointer; }
.vcs-container { width: min(1160px, calc(100% - 48px)); margin: 0 auto; }
.vcs-skip-link { position: fixed; z-index: 100; left: 16px; top: -60px; border-radius: 8px; background: #fff; padding: 10px 14px; color: var(--vcs-ink); box-shadow: var(--vcs-shadow); }
.vcs-skip-link:focus { top: 12px; }

.vcs-header { position: sticky; z-index: 30; top: 0; border-bottom: 1px solid rgba(20, 45, 43, .08); background: rgba(248, 250, 247, .91); backdrop-filter: blur(14px); }
.vcs-header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 78px; gap: 30px; }
.vcs-brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.vcs-brand-mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: var(--vcs-ink); color: var(--vcs-lime); font-size: 23px; font-weight: 850; letter-spacing: -.06em; }
.vcs-brand > span:last-child { display: grid; gap: 0; }
.vcs-brand b { font-size: 15px; font-weight: 800; line-height: 1.2; letter-spacing: -.035em; }
.vcs-brand small { margin-top: 3px; color: var(--vcs-muted); font-size: 10px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.vcs-nav { display: flex; align-items: center; gap: clamp(17px, 2.6vw, 36px); margin-left: auto; }
.vcs-nav a, .vcs-mobile-nav a { color: #506360; font-size: 12px; font-weight: 700; transition: color .2s ease; }
.vcs-nav a:hover, .vcs-mobile-nav a:hover { color: var(--vcs-green); }
.vcs-button { display: inline-flex; min-height: 49px; align-items: center; justify-content: center; gap: 14px; border: 1px solid var(--vcs-green); border-radius: 8px; background: var(--vcs-green); padding: 0 20px; color: #fff !important; font-size: 13px; font-weight: 750; box-shadow: 0 8px 20px rgba(23, 120, 94, .16); transition: background .18s ease, transform .18s ease, box-shadow .18s ease; }
.vcs-button:hover { transform: translateY(-2px); background: var(--vcs-green-dark); box-shadow: 0 12px 25px rgba(23, 120, 94, .22); }
.vcs-button span { font-size: 17px; line-height: 1; }
.vcs-header-cta { min-height: 42px; padding-inline: 16px; font-size: 12px; }
.vcs-menu-toggle, .vcs-mobile-nav { display: none; }

.vcs-hero { position: relative; overflow: hidden; background: radial-gradient(ellipse at 76% 29%, rgba(215, 239, 134, .17), transparent 31%), linear-gradient(112deg, #f4f6f2 0%, #f1f5ed 56%, #edf4e9 100%); padding: 82px 0 0; }
.vcs-hero::before { position: absolute; right: -190px; top: -320px; width: 660px; height: 660px; border: 1px solid rgba(23, 120, 94, .09); border-radius: 50%; content: ""; }
.vcs-hero::after { position: absolute; right: -105px; top: -235px; width: 490px; height: 490px; border: 1px solid rgba(23, 120, 94, .08); border-radius: 50%; content: ""; }
.vcs-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .93fr) minmax(480px, 1.07fr); align-items: center; gap: clamp(38px, 6vw, 82px); padding-bottom: 64px; }
.vcs-hero-copy { max-width: 550px; padding: 0 0 8px; }
.vcs-eyebrow, .vcs-kicker { display: flex; align-items: center; gap: 9px; margin: 0 0 17px; color: var(--vcs-green); font-size: 10px; font-weight: 800; letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; }
.vcs-eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: #83ae48; box-shadow: 0 0 0 4px rgba(131, 174, 72, .13); }
.vcs-hero h1 { max-width: 575px; margin: 0; color: var(--vcs-ink); font-size: clamp(41px, 5.2vw, 62px); font-weight: 760; letter-spacing: -.065em; line-height: 1.04; }
.vcs-hero h1 em, .vcs-section-heading h2 em, .vcs-white-label-copy h2 em, .vcs-process-intro h2 em, .vcs-fit-grid h2 em { color: var(--vcs-green); font-style: normal; }
.vcs-hero-lead { max-width: 500px; margin: 23px 0 0; color: #5a6c68; font-size: 15px; line-height: 1.8; }
.vcs-hero-lead strong { color: #274841; font-weight: 760; }
.vcs-price-highlight { display: inline-flex; align-items: center; gap: 18px; margin-top: 20px; border: 1px solid #bfd7b7; border-radius: 12px; background: rgba(255,255,255,.92); padding: 12px 16px; box-shadow: 0 10px 25px rgba(34, 75, 46, .08); }
.vcs-price-highlight > div { display: grid; gap: 2px; }
.vcs-price-highlight > div > span { color: #55784c; font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.vcs-price-highlight strong { color: #125c49; font-size: 25px; font-weight: 850; line-height: 1.2; white-space: nowrap; }
.vcs-price-highlight strong small { color: #53675a; font-size: 13px; font-weight: 700; }
.vcs-price-highlight > p { max-width: 160px; margin: 0; border-left: 1px solid #dce7d8; padding-left: 16px; color: #3f5b48; font-size: 13px; font-weight: 750; line-height: 1.45; }
.vcs-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 23px; margin-top: 27px; }
.vcs-secondary-link { color: #435a54; font-size: 12px; font-weight: 750; }
.vcs-secondary-link span { margin-left: 7px; color: var(--vcs-green); font-size: 17px; vertical-align: -1px; }
.vcs-hero-points { display: grid; gap: 10px; margin: 30px 0 0; padding: 0; list-style: none; }
.vcs-hero-points li { display: flex; align-items: center; gap: 9px; color: #526560; font-size: 12px; font-weight: 620; }
.vcs-hero-points li span { display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: #deebc3; color: #4d793c; font-size: 11px; font-weight: 850; }

.vcs-product-scene { position: relative; display: grid; min-height: 488px; place-items: center; isolation: isolate; }
.vcs-scene-halo { position: absolute; z-index: -1; border: 1px solid rgba(23, 120, 94, .12); border-radius: 50%; }
.vcs-scene-halo-one { width: 450px; height: 450px; }
.vcs-scene-halo-two { width: 360px; height: 360px; border-color: rgba(23, 120, 94, .1); }
.vcs-portal-shot { position: relative; z-index: 1; width: min(100%, 650px); margin: 0; overflow: hidden; border: 1px solid rgba(19, 55, 44, .14); border-radius: 13px; background: #fff; box-shadow: 0 32px 75px rgba(23, 59, 46, .2); transform: rotate(-1deg); }
.vcs-portal-shot img { display: block; width: 100%; height: auto; }
.vcs-browser-card { position: relative; z-index: 1; width: min(100%, 548px); overflow: hidden; border: 1px solid rgba(19, 55, 44, .13); border-radius: 13px; background: #fff; box-shadow: 0 32px 75px rgba(23, 59, 46, .19); transform: rotate(-1deg); }
.vcs-browser-bar { display: flex; height: 33px; align-items: center; gap: 5px; border-bottom: 1px solid #edf0eb; background: #fafbf9; padding: 0 12px; }
.vcs-browser-bar > span { width: 6px; height: 6px; border-radius: 50%; background: #c6d1c9; }
.vcs-browser-bar > span:first-child { background: #e7a496; }
.vcs-browser-bar > span:nth-child(2) { background: #e5ce8f; }
.vcs-browser-bar > span:nth-child(3) { background: #a8c996; }
.vcs-browser-bar small { min-width: 0; margin: 0 auto; overflow: hidden; border-radius: 5px; background: #f0f2ee; padding: 3px 27px; color: #8c9891; font: 8px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.vcs-browser-bar b { color: #a7b0aa; font-size: 9px; letter-spacing: 1px; }
.vcs-demo-topbar { display: flex; align-items: center; gap: 10px; border-bottom: 1px solid #f0f2ee; padding: 15px 20px; }
.vcs-center-logo { display: grid; width: 37px; height: 37px; flex: 0 0 auto; place-items: center; border-radius: 11px; background: #e7f0db; color: #4e7445; font-size: 12px; font-weight: 850; letter-spacing: -.06em; }
.vcs-demo-topbar > div:nth-child(2) { display: grid; gap: 2px; }
.vcs-demo-topbar > div:nth-child(2) b { color: #263b34; font-size: 9px; letter-spacing: .06em; }
.vcs-demo-topbar > div:nth-child(2) small { color: #88958d; font-size: 8px; }
.vcs-demo-profile { display: grid; width: 25px; height: 25px; place-items: center; margin-left: auto; border-radius: 50%; background: #e5edec; color: #54746d; font-size: 8px; font-weight: 800; }
.vcs-demo-welcome { padding: 22px 22px 12px; }
.vcs-demo-welcome > span, .vcs-demo-test-copy > span { color: #6e9470; font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.vcs-demo-welcome h2 { margin: 5px 0 3px; color: #223831; font-size: 23px; font-weight: 760; letter-spacing: -.055em; line-height: 1.15; }
.vcs-demo-welcome p { margin: 0; color: #87938c; font-size: 9px; }
.vcs-demo-test-card { display: flex; align-items: center; gap: 11px; margin: 11px 22px 14px; border: 1px solid #e6ece5; border-radius: 9px; background: linear-gradient(112deg, #fafcf9, #f7faf3); padding: 13px; }
.vcs-demo-test-icon { display: grid; width: 39px; height: 39px; flex: 0 0 auto; place-items: center; border-radius: 9px; background: #193e34; color: #d9eea0; font-size: 21px; font-weight: 850; }
.vcs-demo-test-copy { display: grid; gap: 2px; min-width: 0; }
.vcs-demo-test-copy > span { color: #95a18f; font-size: 7px; }
.vcs-demo-test-copy b { color: #263a33; font-size: 12px; }
.vcs-demo-test-copy small { color: #87938c; font-size: 8px; }
.vcs-demo-arrow { display: grid; width: 27px; height: 27px; flex: 0 0 auto; place-items: center; margin-left: auto; border-radius: 50%; background: #e5efdc; color: #4c7d54; font-size: 14px; }
.vcs-demo-skills { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; padding: 0 22px 15px; }
.vcs-demo-skills > span { display: flex; align-items: center; gap: 6px; border: 1px solid #edf0ec; border-radius: 6px; padding: 8px 6px; color: #697a72; font-size: 8px; font-weight: 700; }
.vcs-skill-dot { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; }
.vcs-dot-blue { background: #72a9bf; }.vcs-dot-green { background: #8bb66b; }.vcs-dot-orange { background: #d49b69; }.vcs-dot-purple { background: #a08cbd; }
.vcs-demo-footer { display: flex; align-items: center; gap: 7px; border-top: 1px solid #f0f2ee; padding: 10px 22px; color: #8c9991; font-size: 8px; }
.vcs-footer-shield { display: grid; width: 14px; height: 14px; place-items: center; border-radius: 50%; background: #e5efdc; color: #5e8b50; font-size: 8px; font-weight: 900; }
.vcs-float-note { position: absolute; z-index: 2; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(29, 61, 45, .09); border-radius: 9px; background: rgba(255, 255, 255, .96); padding: 10px 13px; box-shadow: 0 12px 30px rgba(32, 61, 46, .12); }
.vcs-float-note > span:last-child { display: grid; gap: 1px; }
.vcs-float-note b { color: #30483e; font-size: 9px; }
.vcs-float-note small { color: #849188; font-size: 8px; }
.vcs-float-icon, .vcs-route-icon { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; background: #edf4e1; color: #62874e; font-size: 15px; }
.vcs-route-icon { background: #e8f2f0; color: #3b8374; }
.vcs-float-note-top { top: 23px; right: -5px; transform: rotate(3deg); }
.vcs-float-note-bottom { bottom: 18px; left: -10px; transform: rotate(-2deg); }
.vcs-scene-caption { position: absolute; right: 2px; bottom: 1px; color: #89958d; font-size: 9px; font-style: italic; }
.vcs-value-strip { position: relative; z-index: 1; display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid rgba(20, 45, 43, .11); }
.vcs-value-strip span { color: #64746d; font-size: 10px; font-weight: 700; }
.vcs-value-strip i { width: 4px; height: 4px; border-radius: 50%; background: #a8ba9f; }

.vcs-section { padding: 100px 0; }
.vcs-problem-section { background: #fff; }
.vcs-section-heading { max-width: 740px; margin-bottom: 39px; }
.vcs-section-heading h2, .vcs-white-label-copy h2, .vcs-process-intro h2, .vcs-fit-grid h2, .vcs-faq-heading h2, .vcs-contact-copy h2 { margin: 0; color: var(--vcs-ink); font-size: clamp(32px, 4vw, 45px); font-weight: 740; letter-spacing: -.055em; line-height: 1.14; }
.vcs-section-heading > p:last-child, .vcs-body-copy, .vcs-faq-heading > p:not(.vcs-kicker) { max-width: 680px; margin: 15px 0 0; color: var(--vcs-muted); font-size: 13px; line-height: 1.8; }
.vcs-problem-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.vcs-problem-card { position: relative; min-height: 238px; border: 1px solid var(--vcs-line); border-radius: 10px; background: linear-gradient(148deg, #fff 20%, #fbfcf9); padding: 24px; }
.vcs-problem-number { position: absolute; right: 22px; top: 22px; color: #b4c2b9; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.vcs-problem-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; font-size: 19px; font-weight: 700; }
.vcs-icon-sand { background: #f6eedc; color: #af8953; }.vcs-icon-mint { background: #e3f0e8; color: #52856c; }.vcs-icon-lilac { background: #ede8f4; color: #826a9e; }
.vcs-problem-card h3 { margin: 20px 0 8px; color: #263e35; font-size: 15px; font-weight: 750; letter-spacing: -.025em; }
.vcs-problem-card p { max-width: 300px; margin: 0; color: #77847d; font-size: 12px; line-height: 1.75; }
.vcs-solution-callout { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 13px; margin-top: 20px; border: 1px solid #e1ead8; border-radius: 9px; background: #f4f8ed; padding: 17px 20px; }
.vcs-solution-callout > span { color: #799f51; font-size: 19px; }
.vcs-solution-callout p { margin: 0; color: #617065; font-size: 12px; line-height: 1.6; }
.vcs-solution-callout b { color: #304d3b; }
.vcs-solution-callout a, .vcs-inline-link { color: var(--vcs-green); font-size: 11px; font-weight: 800; white-space: nowrap; }
.vcs-solution-callout a span { margin-left: 4px; font-size: 15px; vertical-align: -1px; }

.vcs-white-label-section { overflow: hidden; background: #eef3e9; }
.vcs-white-label-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(55px, 8vw, 105px); }
.vcs-brand-preview { position: relative; display: grid; min-height: 450px; place-items: center; isolation: isolate; }
.vcs-preview-backdrop { position: absolute; z-index: -1; width: 390px; height: 390px; border-radius: 50%; background: radial-gradient(circle, #dce9cd 0, rgba(220, 233, 205, .42) 49%, rgba(220, 233, 205, 0) 70%); }
.vcs-preview-window { position: relative; z-index: 1; width: min(100%, 465px); overflow: hidden; border: 1px solid rgba(23, 64, 45, .12); border-radius: 12px; background: #fff; box-shadow: 0 24px 65px rgba(34, 66, 44, .16); transform: rotate(1.5deg); }
.vcs-preview-header { display: flex; align-items: center; gap: 11px; padding: 17px 20px; }
.vcs-center-logo-large { width: 42px; height: 42px; border-radius: 13px; font-size: 13px; }
.vcs-preview-header > div { display: grid; gap: 2px; }
.vcs-preview-header > div b { color: #304b3e; font-size: 9px; letter-spacing: .06em; }
.vcs-preview-header > div small { color: #8a968f; font-size: 8px; }
.vcs-preview-menu { margin-left: auto; color: #819188; font-size: 18px; }
.vcs-preview-banner { display: grid; gap: 3px; min-height: 147px; align-content: center; background: linear-gradient(115deg, #183f34, #28624c); padding: 23px 27px; color: #fff; }
.vcs-preview-banner small { color: #b7d19a; font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.vcs-preview-banner strong { font-size: 21px; letter-spacing: -.04em; }
.vcs-preview-banner span { color: rgba(255,255,255,.76); font-size: 9px; }
.vcs-preview-banner .vcs-preview-center-name { color: #d4e5c2; font-size: 12px; font-weight: 650; letter-spacing: 0; }
.vcs-preview-content { display: grid; gap: 12px; padding: 20px 25px 24px; }
.vcs-preview-chip { justify-self: start; border-radius: 20px; background: #eff5e8; padding: 5px 9px; color: #688451; font-size: 7px; font-weight: 800; letter-spacing: .09em; }
.vcs-preview-content > b { color: #30453c; font-size: 13px; }
.vcs-preview-line { display: block; width: 100%; height: 33px; border: 1px solid #edf0eb; border-radius: 6px; }
.vcs-preview-line-short { width: 76%; }
.vcs-brand-tag { position: absolute; z-index: 2; display: flex; align-items: center; gap: 8px; border: 1px solid rgba(37, 71, 45, .08); border-radius: 8px; background: rgba(255,255,255,.97); padding: 9px 12px; box-shadow: 0 10px 24px rgba(33, 63, 43, .11); color: #52675a; font-size: 9px; font-weight: 750; }
.vcs-brand-tag-logo { top: 36px; left: -2px; transform: rotate(-4deg); }
.vcs-brand-tag-logo span { color: #668e4e; font-size: 15px; }
.vcs-brand-tag-color { right: -10px; bottom: 38px; transform: rotate(3deg); }
.vcs-brand-tag-color span { width: 17px; height: 17px; border-radius: 5px; background: #28624c; }
.vcs-preview-orbit { position: absolute; right: 12px; top: 12px; z-index: -1; width: 90px; height: 90px; border: 1px solid rgba(23, 120, 94, .13); border-radius: 50%; }
.vcs-white-label-copy h2 { margin-bottom: 16px; }
.vcs-body-copy { margin: 0; }
.vcs-brand-feature-list { display: grid; gap: 17px; margin: 26px 0 20px; }
.vcs-brand-feature-list article { display: flex; gap: 12px; }
.vcs-check { display: grid; width: 21px; height: 21px; flex: 0 0 auto; place-items: center; margin-top: 1px; border-radius: 50%; background: #dcebc9; color: #537a43; font-size: 11px; font-weight: 900; }
.vcs-brand-feature-list h3 { margin: 0 0 3px; color: #2c4539; font-size: 12px; font-weight: 800; }
.vcs-brand-feature-list p { margin: 0; color: #718078; font-size: 11px; line-height: 1.65; }
.vcs-brand-feature-list code { border-radius: 4px; background: rgba(255,255,255,.8); padding: 2px 5px; color: #4c7258; font-size: 10px; }
.vcs-inline-link { display: inline-flex; align-items: center; gap: 8px; }
.vcs-inline-link span { font-size: 16px; }

.vcs-capabilities-section { background: #fff; }
.vcs-centered-heading { margin: 0 auto 40px; text-align: center; }
.vcs-centered-heading .vcs-kicker { justify-content: center; }
.vcs-centered-heading > p:last-child { margin-inline: auto; }
.vcs-capabilities-section .vcs-centered-heading > p:last-child { max-width: 900px; color: #465b4e; font-size: 16px; line-height: 1.75; }
.vcs-skill-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.vcs-skill-card { position: relative; min-height: 238px; overflow: hidden; border: 1px solid var(--vcs-line); border-radius: 9px; background: linear-gradient(150deg, #fbfcfa, #f6f8f4); padding: 20px; }
.vcs-skill-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; font-size: 18px; font-weight: 700; }
.vcs-skill-reading .vcs-skill-icon { background: #e3eef3; color: #53859a; }.vcs-skill-listening .vcs-skill-icon { background: #e9f1e0; color: #6b8c51; }.vcs-skill-writing .vcs-skill-icon { background: #f5eade; color: #ad8057; }.vcs-skill-speaking .vcs-skill-icon { background: #eee8f4; color: #816899; }
.vcs-skill-label { display: block; margin-top: 19px; color: #8b9990; font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.vcs-skill-ai-badge { display: table; margin: 5px 0 7px; border-radius: 999px; background: #e4f1e4; padding: 4px 8px; color: #286445; font-size: 10px; font-weight: 800; line-height: 1.35; }
.vcs-skill-card h3 { margin: 2px 0 5px; color: #263c33; font-size: 18px; font-weight: 800; letter-spacing: -.04em; }
.vcs-skill-card p { max-width: 230px; margin: 0; color: #4f6055; font-size: 14px; line-height: 1.6; }
.vcs-skill-accent { position: absolute; right: -26px; bottom: -42px; width: 110px; height: 110px; border: 1px solid rgba(72, 126, 84, .11); border-radius: 50%; }
.vcs-skill-disclaimer { margin: 18px 0 0; color: #536258; font-size: 12px; text-align: center; }

.vcs-process-section { background: #f3f6f0; }
.vcs-process-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; gap: clamp(55px, 9vw, 120px); }
.vcs-process-intro { position: sticky; top: 110px; }
.vcs-process-intro h2 { margin-bottom: 14px; }
.vcs-process-intro .vcs-body-copy { margin-bottom: 22px; }
.vcs-button-dark { border-color: var(--vcs-ink); background: var(--vcs-ink); box-shadow: none; }
.vcs-button-dark:hover { background: #21473b; }
.vcs-process-steps { display: grid; }
.vcs-process-steps article { position: relative; display: grid; grid-template-columns: 43px 1fr; gap: 15px; min-height: 104px; padding: 0 0 26px; }
.vcs-step-number { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #d9e3d6; border-radius: 11px; background: #fff; color: #668254; font-size: 10px; font-weight: 800; }
.vcs-process-steps h3 { margin: 3px 0 5px; color: #31473b; font-size: 14px; font-weight: 800; }
.vcs-process-steps p { max-width: 400px; margin: 0; color: #78857d; font-size: 11px; line-height: 1.65; }
.vcs-step-connector { position: absolute; left: 18px; top: 44px; bottom: 5px; width: 1px; background: #d5e1d0; }

.vcs-fit-section { background: #fff; }
.vcs-fit-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(55px, 8vw, 108px); }
.vcs-fit-grid h2 { margin-bottom: 13px; }
.vcs-fit-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.vcs-fit-list li { display: flex; align-items: center; gap: 15px; min-height: 59px; border-bottom: 1px solid #edf0eb; color: #52645b; font-size: 12px; font-weight: 680; }
.vcs-fit-list li:first-child { border-top: 1px solid #edf0eb; }
.vcs-fit-list li span { color: #99ad8d; font-size: 9px; font-weight: 850; letter-spacing: .1em; }

.vcs-faq-section { background: #f4f6f2; }
.vcs-faq-layout { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(55px, 10vw, 140px); }
.vcs-faq-heading h2 { margin-bottom: 13px; }
.vcs-faq-heading > p:not(.vcs-kicker) { margin-bottom: 19px; }
.vcs-faq-list { border-top: 1px solid #dfe7df; }
.vcs-faq-item { border-bottom: 1px solid #dfe7df; }
.vcs-faq-item summary { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 20px; color: #2c453a; cursor: pointer; font-size: 12px; font-weight: 760; list-style: none; }
.vcs-faq-item summary::-webkit-details-marker { display: none; }
.vcs-faq-item summary::marker { content: ""; }
.vcs-faq-item summary span { display: grid; width: 23px; height: 23px; flex: 0 0 auto; place-items: center; border: 1px solid #dbe4db; border-radius: 50%; color: #537c5e; font-size: 15px; font-weight: 500; transition: transform .2s ease; }
.vcs-faq-item[open] summary span { transform: rotate(45deg); }
.vcs-faq-item > p { max-width: 570px; margin: -1px 35px 18px 0; color: #728078; font-size: 11px; line-height: 1.75; }

.vcs-contact-section { position: relative; overflow: hidden; background: #183c32; padding: 82px 0; color: #fff; }
.vcs-contact-section::after { position: absolute; right: -180px; bottom: -470px; width: 680px; height: 680px; border: 1px solid rgba(215, 239, 134, .15); border-radius: 50%; content: ""; }
.vcs-contact-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, .85fr); align-items: center; gap: clamp(55px, 10vw, 135px); }
.vcs-contact-copy .vcs-kicker { color: #d7ef86; }
.vcs-contact-copy h2 { max-width: 480px; color: #fff; }
.vcs-contact-copy > p:not(.vcs-kicker) { max-width: 470px; margin: 16px 0 0; color: #e3eee7; font-size: 16px; line-height: 1.75; }
.vcs-contact-assurance { display: flex; gap: 11px; margin-top: 28px; border-top: 1px solid rgba(255,255,255,.17); padding-top: 18px; }
.vcs-contact-assurance > span { display: grid; width: 27px; height: 27px; flex: 0 0 auto; place-items: center; border-radius: 8px; background: rgba(215,239,134,.13); color: #d7ef86; }
.vcs-contact-assurance p { margin: 0; color: #e3eee7; font-size: 14px; line-height: 1.65; }
.vcs-contact-assurance b { color: #f2f7ec; }
.vcs-contact-channels { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.vcs-contact-channels a { display: inline-flex; min-height: 48px; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.48); border-radius: 8px; background: rgba(255,255,255,.06); padding: 10px 15px; color: #fff; font-size: 14px; font-weight: 750; transition: background .18s ease, border-color .18s ease; }
.vcs-contact-channels a:hover { border-color: rgba(215,239,134,.65); background: rgba(215,239,134,.1); }
.vcs-contact-channels a span { color: #d7ef86; font-size: 13px; }
.vcs-contact-form { border: 1px solid rgba(255,255,255,.1); border-radius: 11px; background: #fff; padding: 27px 28px 22px; color: var(--vcs-ink); box-shadow: 0 25px 70px rgba(5, 31, 22, .22); }
.vcs-form-heading { margin-bottom: 19px; }
.vcs-form-step { color: #426d4a; font-size: 11px; font-weight: 850; letter-spacing: .11em; }
.vcs-form-heading h3 { margin: 5px 0 3px; color: #243a32; font-size: 24px; font-weight: 780; letter-spacing: -.04em; }
.vcs-form-heading p { margin: 0; color: #56665c; font-size: 13px; }
.vcs-contact-form label { display: block; margin: 15px 0 7px; color: #304b3d; font-size: 14px; font-weight: 750; }
.vcs-contact-form label span { color: #c55a4f; }
.vcs-contact-form input, .vcs-contact-form textarea { display: block; width: 100%; border: 1px solid #cbd8cd; border-radius: 7px; outline: none; background: #fcfdfb; padding: 13px 14px; color: #2c4238; font-size: 15px; transition: border .18s ease, box-shadow .18s ease; }
.vcs-contact-form input::placeholder, .vcs-contact-form textarea::placeholder { color: #68776d; opacity: 1; }
.vcs-contact-form input:focus, .vcs-contact-form textarea:focus { border-color: #78a98c; box-shadow: 0 0 0 3px rgba(23,120,94,.1); }
.vcs-contact-form textarea { min-height: 100px; resize: vertical; }
.vcs-submit-button { width: 100%; min-height: 52px; margin-top: 17px; font-size: 15px; }
.vcs-submit-button:disabled { cursor: wait; opacity: .75; }
.vcs-form-status { min-height: 20px; margin: 10px 0 0; font-size: 13px; line-height: 1.5; }
.vcs-form-status.is-success { color: #287552; }
.vcs-form-status.is-error { color: #aa453b; }
.vcs-privacy-note { display: block; color: #5d6b62; font-size: 11px; line-height: 1.5; text-align: center; }

.vcs-footer { background: #112f28; padding: 23px 0; color: rgba(245, 250, 243, .76); }
.vcs-footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.vcs-footer-brand .vcs-brand-mark { width: 35px; height: 35px; border-radius: 10px; background: rgba(255,255,255,.12); font-size: 19px; }
.vcs-footer-brand b { color: #f2f8ed; font-size: 12px; }
.vcs-footer-brand small { color: rgba(245,250,243,.55); font-size: 8px; }
.vcs-footer-inner > p { margin: 0; color: rgba(245,250,243,.58); font-size: 9px; }
.vcs-footer-inner > div { display: flex; flex-wrap: wrap; gap: 19px; }
.vcs-footer-inner > div a { color: rgba(245,250,243,.76); font-size: 9px; }
.vcs-footer-inner > div a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

.vstep-center-page a:focus-visible, .vstep-center-page button:focus-visible, .vstep-center-page summary:focus-visible { outline: 3px solid #b9d980; outline-offset: 3px; }

@media (max-width: 1050px) {
    .vcs-container { width: min(100% - 42px, 900px); }
    .vcs-nav { gap: 17px; }
    .vcs-nav a { font-size: 11px; }
    .vcs-hero-grid { grid-template-columns: minmax(0, .9fr) minmax(410px, 1fr); gap: 32px; }
    .vcs-hero h1 { font-size: clamp(40px, 5vw, 53px); }
    .vcs-product-scene { min-height: 430px; }
    .vcs-demo-skills { grid-template-columns: repeat(2, 1fr); }
    .vcs-value-strip span { font-size: 9px; }
    .vcs-white-label-grid, .vcs-fit-grid { gap: 55px; }
}

@media (max-width: 800px) {
    .vcs-header-inner { min-height: 70px; }
    .vcs-nav { display: none; }
    .vcs-header-cta { margin-left: auto; }
    .vcs-menu-toggle { display: grid; width: 40px; height: 40px; align-content: center; justify-items: center; gap: 5px; border: 1px solid #dfe8df; border-radius: 8px; background: #fff; }
    .vcs-menu-toggle span { display: block; width: 16px; height: 1.5px; background: #36564a; transition: transform .2s ease; }
    .vcs-menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.25px) rotate(45deg); }
    .vcs-menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.25px) rotate(-45deg); }
    .vcs-mobile-nav:not([hidden]) { display: grid; gap: 0; border-top: 1px solid #e6ece5; background: #fbfcfa; padding: 8px 22px 15px; }
    .vcs-mobile-nav a { padding: 10px 0; }
    .vcs-hero { padding-top: 65px; }
    .vcs-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .vcs-hero-copy { max-width: 690px; }
    .vcs-hero h1 { max-width: 660px; font-size: clamp(43px, 7.5vw, 60px); }
    .vcs-hero-lead { max-width: 630px; }
    .vcs-product-scene { width: min(100%, 590px); min-height: 490px; justify-self: center; }
    .vcs-value-strip { justify-content: center; flex-wrap: wrap; padding: 18px 0; }
    .vcs-section { padding: 78px 0; }
    .vcs-white-label-grid, .vcs-process-layout, .vcs-fit-grid, .vcs-faq-layout, .vcs-contact-grid { grid-template-columns: minmax(0, 1fr); gap: 45px; }
    .vcs-brand-preview { width: min(100%, 540px); min-height: 420px; justify-self: center; }
    .vcs-white-label-copy { max-width: 650px; }
    .vcs-process-intro { position: static; max-width: 620px; }
    .vcs-process-steps { max-width: 650px; }
    .vcs-fit-grid { gap: 25px; }
    .vcs-faq-layout { gap: 28px; }
    .vcs-faq-heading { max-width: 560px; }
    .vcs-contact-grid { gap: 30px; }
    .vcs-contact-copy { max-width: 590px; }
    .vcs-contact-form { width: min(100%, 580px); }
    .vcs-footer-inner { flex-wrap: wrap; }
    .vcs-footer-inner > p { order: 3; width: 100%; }
}

@media (max-width: 560px) {
    html { scroll-padding-top: 72px; }
    .vcs-container { width: min(100% - 34px, 480px); }
    .vcs-header-inner { min-height: 65px; gap: 10px; }
    .vcs-brand { gap: 8px; }
    .vcs-brand-mark { width: 36px; height: 36px; border-radius: 11px; font-size: 20px; }
    .vcs-brand b { font-size: 13px; }
    .vcs-brand small { font-size: 8px; }
    .vcs-header-cta { min-height: 37px; gap: 7px; padding-inline: 10px; font-size: 10px; }
    .vcs-header-cta span { font-size: 14px; }
    .vcs-menu-toggle { width: 36px; height: 36px; }
    .vcs-hero { padding-top: 51px; }
    .vcs-hero-grid { gap: 24px; padding-bottom: 41px; }
    .vcs-eyebrow, .vcs-kicker { margin-bottom: 13px; font-size: 8px; letter-spacing: .1em; }
    .vcs-hero h1 { font-size: clamp(38px, 11vw, 49px); }
    .vcs-hero-lead { margin-top: 15px; font-size: 13px; line-height: 1.72; }
    .vcs-price-highlight { width: 100%; justify-content: space-between; gap: 10px; padding: 11px 12px; }
    .vcs-price-highlight > div > span { font-size: 9px; }
    .vcs-price-highlight strong { font-size: 22px; }
    .vcs-price-highlight strong small { font-size: 12px; }
    .vcs-price-highlight > p { max-width: 130px; padding-left: 10px; font-size: 11px; }
    .vcs-hero-actions { gap: 17px; margin-top: 20px; }
    .vcs-button { min-height: 45px; gap: 9px; padding: 0 14px; font-size: 11px; }
    .vcs-secondary-link { font-size: 10px; }
    .vcs-hero-points { gap: 8px; margin-top: 22px; }
    .vcs-hero-points li { font-size: 10px; }
    .vcs-product-scene { min-height: 354px; }
    .vcs-browser-card { border-radius: 9px; }
    .vcs-browser-bar { height: 28px; padding-inline: 8px; }
    .vcs-browser-bar small { max-width: 62%; padding-inline: 9px; font-size: 7px; }
    .vcs-demo-topbar { gap: 8px; padding: 10px 12px; }
    .vcs-center-logo { width: 31px; height: 31px; border-radius: 9px; font-size: 10px; }
    .vcs-demo-topbar > div:nth-child(2) b { font-size: 8px; }
    .vcs-demo-topbar > div:nth-child(2) small { font-size: 7px; }
    .vcs-demo-welcome { padding: 15px 14px 8px; }
    .vcs-demo-welcome h2 { font-size: 19px; }
    .vcs-demo-welcome p { max-width: 270px; font-size: 8px; }
    .vcs-demo-test-card { gap: 8px; margin: 8px 14px 11px; padding: 9px; }
    .vcs-demo-test-icon { width: 33px; height: 33px; font-size: 17px; }
    .vcs-demo-test-copy b { font-size: 10px; }
    .vcs-demo-test-copy small { max-width: 190px; font-size: 7px; }
    .vcs-demo-skills { gap: 5px; padding: 0 14px 11px; }
    .vcs-demo-skills > span { gap: 4px; padding: 6px 5px; font-size: 7px; }
    .vcs-demo-footer { padding: 8px 14px; font-size: 7px; }
    .vcs-float-note { gap: 6px; padding: 7px 9px; }
    .vcs-float-note b { font-size: 8px; }.vcs-float-note small { font-size: 7px; }
    .vcs-float-icon, .vcs-route-icon { width: 23px; height: 23px; font-size: 12px; }
    .vcs-float-note-top { top: 1px; right: -4px; }
    .vcs-float-note-bottom { bottom: 2px; left: -2px; }
    .vcs-scene-halo-one { width: 310px; height: 310px; }.vcs-scene-halo-two { width: 255px; height: 255px; }
    .vcs-scene-caption { bottom: -8px; font-size: 8px; }
    .vcs-value-strip { flex-wrap: wrap; justify-content: center; gap: 8px 11px; min-height: 62px; padding: 12px 0; }
    .vcs-value-strip span { font-size: 10px; }
    .vcs-value-strip i { width: 3px; height: 3px; }
    .vcs-section { padding: 62px 0; }
    .vcs-section-heading { margin-bottom: 27px; }
    .vcs-section-heading h2, .vcs-white-label-copy h2, .vcs-process-intro h2, .vcs-fit-grid h2, .vcs-faq-heading h2, .vcs-contact-copy h2 { font-size: clamp(29px, 8vw, 36px); }
    .vcs-section-heading > p:last-child, .vcs-body-copy, .vcs-faq-heading > p:not(.vcs-kicker) { font-size: 11px; }
    .vcs-capabilities-section .vcs-centered-heading > p:last-child { font-size: 15px; }
    .vcs-problem-grid { grid-template-columns: 1fr; gap: 10px; }
    .vcs-problem-card { min-height: 0; padding: 18px; }
    .vcs-problem-card h3 { margin: 14px 0 5px; font-size: 13px; }
    .vcs-problem-card p { font-size: 10px; }
    .vcs-problem-icon { width: 36px; height: 36px; font-size: 16px; }
    .vcs-solution-callout { grid-template-columns: 20px 1fr; gap: 8px; padding: 14px; }
    .vcs-solution-callout p { font-size: 10px; }
    .vcs-solution-callout a { grid-column: 2; justify-self: start; font-size: 10px; }
    .vcs-white-label-grid, .vcs-process-layout, .vcs-fit-grid, .vcs-faq-layout, .vcs-contact-grid { gap: 30px; }
    .vcs-brand-preview { min-height: 315px; }
    .vcs-preview-window { border-radius: 8px; }
    .vcs-preview-header { gap: 8px; padding: 12px; }
    .vcs-center-logo-large { width: 35px; height: 35px; font-size: 11px; }
    .vcs-preview-header > div b { font-size: 8px; }
    .vcs-preview-banner { min-height: 116px; padding: 16px 18px; }
    .vcs-preview-banner strong { font-size: 17px; }
    .vcs-preview-content { gap: 8px; padding: 14px 17px 17px; }
    .vcs-preview-line { height: 28px; }
    .vcs-brand-tag { gap: 6px; padding: 7px 9px; font-size: 8px; }
    .vcs-brand-tag-logo { top: 14px; left: -2px; }.vcs-brand-tag-color { right: -3px; bottom: 13px; }
    .vcs-brand-tag-color span { width: 13px; height: 13px; }
    .vcs-preview-backdrop { width: 280px; height: 280px; }
    .vcs-brand-feature-list { gap: 13px; margin: 19px 0 16px; }
    .vcs-brand-feature-list h3 { font-size: 11px; }.vcs-brand-feature-list p { font-size: 10px; }
    .vcs-skill-grid { grid-template-columns: repeat(2, 1fr); gap: 9px; }
    .vcs-skill-card { min-height: 225px; padding: 14px; }
    .vcs-skill-icon { width: 33px; height: 33px; font-size: 16px; }
    .vcs-skill-label { margin-top: 14px; font-size: 8px; }
    .vcs-skill-ai-badge { font-size: 9px; }
    .vcs-skill-card h3 { font-size: 16px; }.vcs-skill-card p { font-size: 13px; }
    .vcs-skill-disclaimer { font-size: 11px; line-height: 1.6; }
    .vcs-process-steps article { grid-template-columns: 36px 1fr; gap: 11px; min-height: 93px; padding-bottom: 19px; }
    .vcs-step-number { width: 33px; height: 33px; border-radius: 9px; font-size: 9px; }
    .vcs-step-connector { left: 16px; top: 38px; }
    .vcs-process-steps h3 { font-size: 12px; }.vcs-process-steps p { font-size: 10px; }
    .vcs-fit-list li { min-height: 55px; gap: 11px; font-size: 10px; }
    .vcs-faq-item summary { min-height: 55px; gap: 14px; font-size: 10px; }
    .vcs-faq-item > p { margin-right: 30px; font-size: 10px; }
    .vcs-contact-section { padding: 59px 0; }
    .vcs-contact-copy > p:not(.vcs-kicker) { font-size: 15px; }
    .vcs-contact-assurance p { font-size: 14px; }
    .vcs-contact-channels a { min-height: 48px; font-size: 14px; }
    .vcs-contact-form { padding: 21px 17px 17px; }
    .vcs-form-heading h3 { font-size: 22px; }
    .vcs-form-heading p { font-size: 13px; }
    .vcs-contact-form label { font-size: 14px; }
    .vcs-contact-form input, .vcs-contact-form textarea { padding: 12px; font-size: 16px; }
    .vcs-privacy-note { font-size: 11px; }
    .vcs-footer-inner { gap: 14px; }
    .vcs-footer-inner > p { font-size: 8px; }
    .vcs-footer-inner > div { gap: 9px 16px; }
    .vcs-footer-inner > div a { font-size: 8px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
