
/* Service detail and service index pages. */
.vault-home.vs-service-page .vs-header,
.vault-home.vs-services-index .vs-header,
.vault-home.vs-projects-index .vs-header { position: sticky; top: 0; z-index: 40; }
.vs-page-hero { padding: 64px 0 54px; border-bottom: 1px solid var(--vs-border); background: linear-gradient(180deg,rgba(5,10,16,.28),rgba(5,10,16,.7)); }
.vs-breadcrumbs { display:flex; flex-wrap:wrap; gap:9px; align-items:center; color:var(--vs-muted); font-size:13px; margin-bottom:30px; }
.vs-breadcrumbs a:hover { color:var(--vs-accent); }
.vs-breadcrumbs .material-symbols-outlined { font-size:15px; opacity:.7; }
.vs-page-hero-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr); gap:70px; align-items:end; }
.vs-page-hero h1 { font-size:clamp(34px,4.2vw,55px); line-height:1.12; letter-spacing:-.035em; margin:0 0 22px; max-width:820px; }
.vs-page-hero-copy { font-size:18px; line-height:1.75; margin:0; max-width:760px; }
.vs-page-hero-side { display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.vs-page-service-mark { display:flex; align-items:center; gap:14px; color:#d8e3eb; font-weight:550; }
.vs-page-service-mark .vs-icon-box { width:52px; height:52px; }
.vs-page-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.vs-service-content { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr); gap:42px; align-items:start; }
.vs-service-copy { padding:34px; }
.vs-service-copy p { font-size:17px; line-height:1.8; }
.vs-service-copy p:last-child { margin-bottom:0; }
.vs-service-scope { padding:32px; }
.vs-service-scope h3 { font-size:19px; margin-bottom:20px; }
.vs-service-scope .vs-check-list { margin-bottom:0; }
.vs-case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.vs-case-card { --vs-card-cut:20px; --vs-card-fill:var(--vs-surface); --vs-card-border:var(--vs-border); position:relative; isolation:isolate; background:var(--vs-card-border); clip-path:polygon(var(--vs-card-cut) 0,100% 0,100% calc(100% - var(--vs-card-cut)),calc(100% - var(--vs-card-cut)) 100%,0 100%,0 var(--vs-card-cut)); padding:27px; min-height:235px; }
.vs-case-card::before { content:''; position:absolute; inset:1px; z-index:0; background:var(--vs-card-fill); clip-path:polygon(calc(var(--vs-card-cut) - 1px) 0,100% 0,100% calc(100% - var(--vs-card-cut) + 1px),calc(100% - var(--vs-card-cut) + 1px) 100%,0 100%,0 calc(var(--vs-card-cut) - 1px)); }
.vs-case-card>*{position:relative;z-index:1}.vs-case-card>.material-symbols-outlined{color:var(--vs-accent);font-size:25px;margin-bottom:28px}.vs-case-card h3{font-size:19px;margin-bottom:11px}.vs-case-card p{font-size:15px;margin:0;line-height:1.7}
.vs-service-form-shell { padding:0 !important; overflow:hidden; }
.vs-service-form-head { padding:34px 36px; border-bottom:1px solid var(--vs-border); display:grid; grid-template-columns:1fr 1fr; gap:35px; align-items:end; }
.vs-service-form-head h2 { margin:0; font-size:clamp(26px,3vw,34px); }
.vs-service-form-head p { margin:0; }
.vs-service-selected { display:flex; align-items:center; gap:14px; padding:19px 36px; border-bottom:1px solid var(--vs-border); background:rgba(0,207,255,.035); }
.vs-service-selected small { display:block; color:var(--vs-muted); font-size:12px; margin-bottom:2px; }.vs-service-selected strong{font-size:16px}
.vs-service-form-body { padding:34px 36px 38px; }
.vs-service-form-hint { margin:0 0 25px; padding:15px 17px; border-left:2px solid var(--vs-accent); background:rgba(0,207,255,.045); color:#c4d2dc !important; font-size:14px; }
.vs-services-index-hero { padding-bottom:40px; }.vs-services-index-hero .vs-page-hero-grid{grid-template-columns:1fr}.vs-services-index-main{padding-top:70px;padding-bottom:90px}.vs-service-group+ .vs-service-group{padding-top:88px}.vs-service-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.vs-service-index-card{--vs-card-cut:22px;--vs-card-fill:var(--vs-surface);--vs-card-border:var(--vs-border);position:relative;isolation:isolate;background:var(--vs-card-border);clip-path:polygon(var(--vs-card-cut) 0,100% 0,100% calc(100% - var(--vs-card-cut)),calc(100% - var(--vs-card-cut)) 100%,0 100%,0 var(--vs-card-cut));padding:26px;display:grid;grid-template-columns:44px 1fr;gap:18px;min-height:245px}.vs-service-index-card::before{content:'';position:absolute;inset:1px;z-index:0;background:var(--vs-card-fill);clip-path:polygon(calc(var(--vs-card-cut) - 1px) 0,100% 0,100% calc(100% - var(--vs-card-cut) + 1px),calc(100% - var(--vs-card-cut) + 1px) 100%,0 100%,0 calc(var(--vs-card-cut) - 1px))}.vs-service-index-card>*{position:relative;z-index:1}.vs-service-index-card:hover{--vs-card-border:rgba(0,207,255,.45);--vs-card-fill:rgba(15,29,44,.96)}.vs-service-index-card h3{font-size:19px;margin:2px 0 10px}.vs-service-index-card p{font-size:14px;line-height:1.7;margin:0 0 18px}.vs-service-index-card .vs-service-more{margin-top:auto}
@media(max-width:991px){.vs-page-hero-grid{grid-template-columns:1fr;gap:32px}.vs-page-hero-side{max-width:650px}.vs-service-content{grid-template-columns:1fr}.vs-case-grid,.vs-service-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vs-service-form-head{grid-template-columns:1fr;gap:12px}}
@media(max-width:767px){.vs-page-hero{padding-top:42px}.vs-page-hero h1{font-size:36px}.vs-case-grid,.vs-service-index-grid{grid-template-columns:1fr}.vs-service-copy,.vs-service-scope{padding:25px}.vs-service-form-head,.vs-service-form-body{padding:28px 24px}.vs-service-selected{padding:17px 24px}.vs-service-index-card{min-height:auto}.vs-service-group+ .vs-service-group{padding-top:65px}}
@media(max-width:480px){.vs-page-hero h1{font-size:32px}.vs-page-actions{flex-direction:column;align-items:stretch}.vs-page-actions .vs-button{width:100%}.vs-service-form-head,.vs-service-form-body{padding-inline:20px}.vs-service-selected{padding-inline:20px}}
