/* VQ NEXUS 2.2.4.5 - sticky (non-overlay) footer, visible contact dock, compact services. */
/* Keep the footer at the viewport bottom on short public pages, after all content. */
html{min-height:100%}
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>.top-header{flex:0 0 auto}
body>main{flex:1 0 auto;min-width:0;width:100%}
body>.site-footer{flex:0 0 auto;width:100%;margin-top:auto;border-radius:0}
body>.site-footer .home-container{max-width:1450px}
/* Service media matches the *rendered card list*, never a fixed oversized height. */
.services-home-block .services-home-layout{display:grid;grid-template-columns:minmax(0,34%) minmax(0,1fr);gap:12px;align-items:stretch}
.services-home-block .services-home-left{position:relative;min-width:0;min-height:0;height:auto;align-self:stretch;border-radius:12px;overflow:hidden}
.services-home-block .services-home-left .v223-service-slides{position:absolute;inset:0;width:100%;height:100%;min-height:0;border-radius:inherit}
.services-home-block .services-home-left .v223-service-photo{width:100%;height:100%;object-fit:cover;object-position:center}
.services-home-block .services-home-left>.image-placeholder{height:100%;min-height:0;padding:30px 10px;text-align:center}
.services-home-block .services-home-right{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--service-rows,5),minmax(0,1fr));grid-auto-flow:column;gap:8px;align-items:stretch;min-width:0}
.services-home-block .v2245-service-card{display:grid;grid-template-columns:minmax(0,1fr) 51px;min-height:69px;overflow:hidden;align-items:stretch;border:1px solid #dfe5ee;border-radius:12px;background:var(--service-card-bg,#fff);box-shadow:0 1px 3px #17203b08;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.services-home-block .v2245-service-card:hover,.services-home-block .v2245-service-card:focus-visible{border-color:var(--service-header-start,var(--brand,#315aef));box-shadow:0 5px 14px #17203b19;transform:translateY(-1px);outline:0}
.services-home-block .v2245-service-card .service-content{min-width:0;padding:10px 11px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.services-home-block .v2245-service-card h3{margin:0;font-size:13px;line-height:1.34;font-weight:750;color:var(--service-text-color,#102348);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.services-home-block .v2245-service-card p{margin:0;color:var(--service-text-color,#516178);opacity:.76;font-size:11px;line-height:1.35;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block}
.services-home-block .v2245-service-card .service-icon{min-width:0;background:#f4f7fb;font-size:25px}
.services-home-block .v2245-service-card .service-icon i{font-size:25px}
@media(max-width:990px) and (min-width:681px){.services-home-block .services-home-layout{grid-template-columns:minmax(0,30%) minmax(0,1fr)}.services-home-block .v2245-service-card{grid-template-columns:minmax(0,1fr) 42px}.services-home-block .v2245-service-card .service-icon i{font-size:22px}}
@media(max-width:680px){
 .services-home-block .services-home-layout{display:flex;flex-direction:column;gap:9px}
 .services-home-block .services-home-left{height:205px;min-height:0;flex:none;margin:0}
 .services-home-block .services-home-right{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row;gap:7px}
 .services-home-block .v2245-service-card{grid-template-columns:minmax(0,1fr) 48px;min-height:64px}
 .services-home-block .v2245-service-card .service-content{padding:9px 11px}
 .services-home-block .v2245-service-card h3{font-size:13px}
 .services-home-block .v2245-service-card p{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.services-home-block .v2245-service-card{transition:none}}
