/* Services share the company page's base visual language. */
.vns-services .vs-intro__lead { color:#51627a; font-size:17px; line-height:2; }
.vns-services .vs-index { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px; }
.vns-services .vs-index a { position:relative;display:grid;gap:12px;padding:28px;border:1px solid #dce6ed;border-bottom:3px solid #1686b5;transition:background .2s; }
.vns-services .vs-index a:hover { background:#edf7fc; }
.vns-services .vs-index span { font:500 12px Inter,sans-serif;letter-spacing:.08em;color:#146bbc; }
.vns-services .vs-index strong { font-size:20px; }
.vns-services .vs-index b { position:absolute;right:24px;bottom:24px;color:#146bbc; }
.vns-services .vs-service--light,.vns-services .vs-media { background:#f3f8fc; }
.vns-services .vs-service__grid { display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:64px;align-items:center; }
.vns-services .vs-service--reverse .vs-service__copy { order:2; }
.vns-services .vs-service--reverse .vs-service__grid { grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); }
.vns-services .vs-service h2 { font-size:clamp(30px,3vw,42px);font-weight:700;margin:12px 0 26px!important;line-height:1.4; }
.vns-services .vs-service h3 { font-size:clamp(22px,2vw,29px);font-weight:700;line-height:1.65;margin-bottom:22px!important; }
.vns-services .vs-service__copy>p:not(.vns-eyebrow) { color:#51627a;font-size:15px;line-height:2.1; }
.vns-services .vs-tags { display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:24px 0 30px; }
.vns-services .vs-tags li { padding:5px 12px;background:#e4f1f7;color:#225574;font-size:12px;border-radius:3px; }
.vns-services .vs-screen { margin:0;min-width:0; }
.vns-services .vs-screen>a { display:block;border:1px solid #d5e2eb;border-radius:10px;overflow:hidden;box-shadow:0 22px 55px #102d461c;transition:transform .25s; }
.vns-services .vs-screen>a:hover { transform:translateY(-5px); }
.vns-services .vs-browser { display:flex;align-items:center;gap:5px;background:#eaf0f5;padding:13px 16px; }
.vns-services .vs-browser i { width:7px;height:7px;border-radius:50%;background:#a1b3c3; }
.vns-services .vs-browser span { flex:1;text-align:center;color:#496074;font:11px Inter,sans-serif; }
.vns-services .vs-screen img { width:100%;height:auto; }
.vns-services .vs-screen figcaption { margin-top:16px;text-align:center;color:#51627a;font-size:12px; }
.vns-services .vs-media__grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:40px; }
.vns-services .vs-media__card { background:white;border:1px solid #dce6ed;border-radius:8px;overflow:hidden;transition:box-shadow .2s; }
.vns-services .vs-media__card:hover { box-shadow:0 12px 35px #102d4620; }
.vns-services .vs-media__card>img { width:100%;height:auto;aspect-ratio:1.7;object-fit:cover;object-position:top;border-bottom:1px solid #dce6ed; }
.vns-services .vs-media__card>div { padding:30px; }
.vns-services .vs-media__card h3 { font-size:25px;font-weight:700;margin:10px 0 14px!important; }
.vns-services .vs-media__card h3 span { float:right;color:#146bbc; }
.vns-services .vs-media__card div>p:last-child { color:#51627a;font-size:14px; }
.vns-services .vs-process__grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;list-style:none;padding:0;margin:40px 0 0; }
.vns-services .vs-process__grid li { border-top:1px solid #c6dce9;padding-top:25px; }
.vns-services .vs-process__grid span { font:400 36px Inter,sans-serif;color:#007f9f; }
.vns-services .vs-process__grid h3 { font-size:20px;font-weight:700;margin:20px 0 14px!important; }
.vns-services .vs-process__grid p { font-size:14px;line-height:2;color:#51627a; }
@media(max-width:980px) { .vns-services .vs-service__grid,.vns-services .vs-service--reverse .vs-service__grid { gap:32px; } }
@media(max-width:780px) {
 .vns-services .vs-service__grid,.vns-services .vs-service--reverse .vs-service__grid,.vns-services .vs-media__grid,.vns-services .vs-process__grid,.vns-services .vs-index { grid-template-columns:minmax(0,1fr); }
 .vns-services .vs-service--reverse .vs-service__copy { order:0; }
 .vns-services .vs-index { gap:12px;margin-top:28px; }
 .vns-services .vs-index a { padding:20px;gap:8px; }
 .vns-services .vs-index strong { font-size:18px; }
 .vns-services .vs-intro__lead { font-size:15px; }
 .vns-services .vs-media__card>div { padding:24px; }
 .vns-services .vs-media__card h3 { font-size:23px; }
 .vns-services .vns-heading h2::after { display:none!important; }
 .vns-services .vs-service .vns-button { font-size:13px; }
}
