/* v1.6: scoped public page design. Intentionally independent of Elementor/theme CSS. */
.hvsp-page{width:100%;max-width:none!important;margin:0!important;padding:0!important;color:#172d48;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}
.hvsp-page *{box-sizing:border-box}.hvsp-page .hvsp-container{width:100%;max-width:1320px;margin:0 auto;padding:0 30px}.hvsp-page h1,.hvsp-page h2,.hvsp-page p{margin-top:0}.hvsp-page h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(26px,2.7vw,34px);font-weight:800;line-height:1.2;color:#172d48;margin-bottom:12px}.hvsp-page .hvsp-rule{display:block;width:52px;height:3px;background:#e52931;margin:0 0 19px}.hvsp-page .hvsp-hero{min-height:515px;background-color:#102c49;background-image:linear-gradient(90deg,#102c49 0%,rgba(16,44,73,.97) 27%,rgba(16,44,73,.73) 43%,rgba(16,44,73,.04) 76%),var(--hvsp-hero-image);background-position:center;background-size:cover;color:#fff;display:flex;align-items:center}.hvsp-page .hvsp-hero-inner{padding-top:30px;padding-bottom:34px}.hvsp-page .hvsp-crumb{font-size:13px;margin-bottom:32px;color:#e5edf6}.hvsp-page .hvsp-crumb a{color:#e5edf6;text-decoration:none}.hvsp-page .hvsp-crumb span{margin:0 10px}.hvsp-page .hvsp-hero-copy{max-width:465px}.hvsp-page .hvsp-hero h1{font-family:Georgia,serif;font-weight:700;font-size:clamp(44px,5vw,66px);line-height:1.1;color:#fff;margin:0 0 16px}.hvsp-page .hvsp-hero-copy>p{font-size:18px;line-height:1.5;color:#fff;margin:0 0 24px}.hvsp-page .hvsp-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:23px}.hvsp-page .hvsp-benefits>div{text-align:center;font-size:12px;line-height:1.35;color:#fff}.hvsp-page .hvsp-benefit-icon{width:47px;height:47px;margin:0 auto 9px;border-radius:50%;background:#e62b33;display:flex;align-items:center;justify-content:center;color:white;font-size:25px;font-weight:700}.hvsp-page .hvsp-benefits strong{display:block}.hvsp-page .hvsp-red-btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:48px;padding:12px 24px;border-radius:5px;background:#e62b33;color:#fff!important;font-size:13px;font-weight:800;text-decoration:none!important;letter-spacing:.2px}.hvsp-page .hvsp-red-btn:hover{background:#bd1d26}.hvsp-page .hvsp-about{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-top:30px;padding-bottom:22px}.hvsp-page .hvsp-about p{line-height:1.7;font-size:16px}.hvsp-page .hvsp-feature-box{display:grid;grid-template-columns:1fr 1fr;gap:15px 20px;align-content:center;padding:23px 28px;border-radius:11px;background:#f5f6f8}.hvsp-page .hvsp-feature-box>div{display:flex;gap:13px;align-items:center;font-size:14px}.hvsp-page .hvsp-feature-box span{font-size:21px;color:#132f50;min-width:22px}.hvsp-page .hvsp-comparisons{padding-top:7px;padding-bottom:18px}.hvsp-page .hvsp-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hvsp-page .hvsp-compare{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:8px;height:225px}.hvsp-page .hvsp-compare-before,.hvsp-page .hvsp-compare-after{position:relative;min-width:0}.hvsp-page .hvsp-compare img{width:100%;height:100%;object-fit:cover}.hvsp-page .hvsp-compare span{position:absolute;top:10px;left:10px;padding:5px 12px;border-radius:3px;background:#142d48;color:#fff;font-size:12px}.hvsp-page .hvsp-compare-after span{left:auto;right:10px}.hvsp-page .hvsp-gallery{padding-top:15px;padding-bottom:28px}.hvsp-page .hvsp-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.hvsp-page .hvsp-filters{display:flex;flex-wrap:wrap;gap:7px}.hvsp-page .hvsp-filters button{border:0;border-radius:7px;background:#f1f3f6;padding:8px 12px;color:#172d48;cursor:pointer;font-size:12px}.hvsp-page .hvsp-filters button.active{background:#e62b33;color:#fff}.hvsp-page .hvsp-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.hvsp-page .hvsp-gallery-link{display:block;aspect-ratio:1.15;overflow:hidden;border-radius:7px;background:#e9eef2}.hvsp-page .hvsp-gallery-link[hidden]{display:none}.hvsp-page .hvsp-gallery-link img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}.hvsp-page .hvsp-gallery-link:hover img{transform:scale(1.04)}.hvsp-page .hvsp-bottom{background:#102c49;color:#fff;padding:35px 0}.hvsp-page .hvsp-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.hvsp-page .hvsp-bottom small{font-size:12px}.hvsp-page .hvsp-bottom h2{color:#fff;margin:4px 0;font-size:26px}.hvsp-page .hvsp-bottom p{margin:0;color:#fff;font-size:14px}.hvsp-lightbox[hidden]{display:none!important}.hvsp-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:999999;display:flex;align-items:center;justify-content:center}.hvsp-lightbox img{max-width:86vw;max-height:86vh;object-fit:contain}.hvsp-lightbox button{position:absolute;border:0;background:transparent;color:white;font-size:45px;cursor:pointer}.hvsp-close{top:15px;right:25px}.hvsp-prev{left:20px}.hvsp-next{right:20px}.hvsp-counter{position:absolute;bottom:18px;color:#fff}
@media(max-width:800px){.hvsp-page .hvsp-container{padding-left:18px;padding-right:18px}.hvsp-page .hvsp-hero{min-height:480px;background-position:center,right center}.hvsp-page .hvsp-about{gap:20px}.hvsp-page .hvsp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hvsp-page .hvsp-gallery-head{align-items:flex-start;flex-direction:column}.hvsp-page .hvsp-benefits{max-width:430px}}
@media(max-width:600px){.hvsp-page .hvsp-hero{min-height:560px;background-image:linear-gradient(90deg,rgba(16,44,73,.94),rgba(16,44,73,.70)),var(--hvsp-hero-image)}.hvsp-page .hvsp-hero h1{font-size:46px}.hvsp-page .hvsp-about{grid-template-columns:1fr;padding-top:30px}.hvsp-page .hvsp-feature-box{gap:12px;padding:17px}.hvsp-page .hvsp-compare-grid{grid-template-columns:1fr}.hvsp-page .hvsp-compare{height:180px}.hvsp-page .hvsp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.hvsp-page .hvsp-bottom-inner{align-items:flex-start;flex-direction:column}.hvsp-page .hvsp-benefits{gap:7px}.hvsp-page .hvsp-benefit-icon{width:42px;height:42px}.hvsp-page .hvsp-benefits>div{font-size:10px}}

/* v1.6.1 fixes: four distinct benefit cells, stronger full-bleed layout */
body .hvsp-page .hvsp-benefits{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;width:100%!important;max-width:460px!important;align-items:start!important}
body .hvsp-page .hvsp-benefits>div{display:flex!important;flex-direction:column!important;align-items:center!important;min-width:0!important;width:auto!important;max-width:none!important;text-align:center!important;line-height:1.35!important;overflow-wrap:normal!important;word-break:normal!important}
body .hvsp-page .hvsp-benefits strong{display:block!important;white-space:normal!important;max-width:100px!important;font-size:12px!important;line-height:1.35!important}
body .hvsp-page .hvsp-benefit-icon{flex:0 0 47px!important;width:47px!important;height:47px!important}
body .hvsp-page .hvsp-hero{background-position:center center!important;min-height:520px!important}
body .hvsp-page .hvsp-hero-copy{max-width:470px!important}
body .hvsp-page .hvsp-feature-box{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:600px){body .hvsp-page .hvsp-benefits{gap:6px!important}body .hvsp-page .hvsp-benefits strong{font-size:10px!important;max-width:75px!important}body .hvsp-page .hvsp-hero{min-height:580px!important}}

/* 1.6.2 layout refinements */
.hvsp-page .hvsp-hero{background-position:center,var(--hvsp-hero-position,center center);min-height:550px}
.hvsp-page .hvsp-hero-copy{max-width:480px}.hvsp-page .hvsp-hero-copy>p{max-width:390px}
.hvsp-page .hvsp-benefits{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:440px}
.hvsp-page .hvsp-benefits>div{min-width:0;overflow-wrap:normal;word-break:normal}
.hvsp-page .hvsp-benefit-icon svg{display:block;flex-shrink:0}
.hvsp-page .hvsp-about{padding-top:36px;padding-bottom:34px;gap:56px}
.hvsp-page .hvsp-comparisons{padding-top:12px;padding-bottom:28px}
.hvsp-page .hvsp-gallery{padding-top:18px;padding-bottom:42px}
.hvsp-page .hvsp-compare{height:245px}
@media(max-width:600px){.hvsp-page .hvsp-hero{min-height:570px;background-position:center,var(--hvsp-hero-position,center center)}.hvsp-page .hvsp-benefits{gap:8px}.hvsp-page .hvsp-benefits strong{font-size:11px}.hvsp-page .hvsp-compare{height:185px}}

.hvsp-page .hvsp-benefit-icon{width:var(--hvsp-circle-size,47px);height:var(--hvsp-circle-size,47px)}.hvsp-page .hvsp-benefit-icon svg{width:var(--hvsp-icon-size,23px);height:var(--hvsp-icon-size,23px)}.hvsp-page .hvsp-feature-box span{min-width:var(--hvsp-service-icon-size,21px);display:inline-flex;align-items:center;justify-content:center}.hvsp-page .hvsp-feature-box svg{width:var(--hvsp-service-icon-size,21px);height:var(--hvsp-service-icon-size,21px);flex:none}

.hvsp-page .hvsp-benefit-icon img.hvsp-custom-icon{width:var(--hvsp-icon-size,23px);height:var(--hvsp-icon-size,23px);object-fit:contain}.hvsp-page .hvsp-feature-box img.hvsp-custom-icon{width:var(--hvsp-service-icon-size,21px);height:var(--hvsp-service-icon-size,21px);object-fit:contain}
/* 1.6.5 full-frame interactive comparison */
.hvsp-page .hvsp-compare{position:relative;display:block;height:auto;aspect-ratio:1.9;overflow:hidden;border-radius:9px;background:#e9edf2;isolation:isolate}
.hvsp-page .hvsp-compare .hvsp-compare-base,.hvsp-page .hvsp-compare .hvsp-compare-overlay img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hvsp-page .hvsp-compare .hvsp-compare-overlay{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 calc(100% - var(--hvsp-split,50%)) 0 0)}
.hvsp-page .hvsp-compare .hvsp-before-label,.hvsp-page .hvsp-compare .hvsp-after-label{position:absolute;top:12px;left:12px;z-index:3;padding:5px 12px;border-radius:4px;background:#142d48;color:white;font-size:13px;pointer-events:none}
.hvsp-page .hvsp-compare .hvsp-after-label{left:auto;right:12px}
.hvsp-page .hvsp-compare .hvsp-compare-divider{position:absolute;z-index:3;top:0;bottom:0;left:var(--hvsp-split,50%);width:3px;transform:translateX(-50%);background:white;display:flex;align-items:center;justify-content:center;pointer-events:none;box-shadow:0 0 5px #0005}
.hvsp-page .hvsp-compare .hvsp-compare-divider span{position:static;display:flex;align-items:center;justify-content:center;min-width:42px;height:42px;border-radius:50%;background:white;color:#142d48;font-size:21px;font-weight:bold;box-shadow:0 1px 8px #0004}
.hvsp-page .hvsp-compare .hvsp-compare-range{position:absolute;inset:0;z-index:4;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
@media(max-width:600px){.hvsp-page .hvsp-compare{height:auto;aspect-ratio:1.4}}

/* v1.6.6: show the entire image and center the comparison handle precisely */
.hvsp-page .hvsp-compare{aspect-ratio:1.9;height:auto;background:#e7eaf0}
.hvsp-page .hvsp-compare .hvsp-compare-base,.hvsp-page .hvsp-compare .hvsp-compare-overlay img{object-fit:contain!important;object-position:center center!important}
.hvsp-page .hvsp-compare .hvsp-compare-overlay{clip-path:inset(0 calc(100% - var(--hvsp-split,50%)) 0 0)}
.hvsp-page .hvsp-compare .hvsp-compare-divider{left:var(--hvsp-split,50%)!important;top:0!important;bottom:0!important;width:2px!important;transform:translateX(-50%)!important;display:flex!important;align-items:center!important;justify-content:center!important;pointer-events:none}
.hvsp-page .hvsp-compare .hvsp-compare-divider .hvsp-compare-handle{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;display:flex!important;align-items:center!important;justify-content:center!important;width:46px!important;height:46px!important;min-width:46px!important;border-radius:50%!important;background:#fff!important;color:#142d48!important;box-shadow:0 2px 10px #0004!important;padding:0!important;line-height:1!important}
.hvsp-page .hvsp-compare .hvsp-compare-handle svg{display:block;flex:none}
@media(max-width:600px){.hvsp-page .hvsp-compare{aspect-ratio:1.4}}

.hvsp-detailed-services{padding-top:36px;padding-bottom:42px}
.hvsp-detailed-services h2{font-size:clamp(26px,3vw,36px);color:#142f4d;margin:0 0 12px}
.hvsp-detail-intro{max-width:900px;line-height:1.7;color:#243b53;margin:16px 0 25px}
.hvsp-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hvsp-detail-card{min-width:0;background:#f6f8fa;border-radius:9px;overflow:hidden}
.hvsp-detail-photo{display:block;width:100%;height:190px;object-fit:cover}
.hvsp-detail-body{padding:20px}
.hvsp-detail-body h3{font-size:21px;color:#142f4d;margin:0 0 9px}
.hvsp-detail-body p{line-height:1.6;margin:0 0 12px}
.hvsp-detail-body ul{padding:0;margin:0;list-style:none}
.hvsp-detail-body li{padding:5px 0 5px 25px;position:relative;line-height:1.5}
.hvsp-detail-body li:before{content:'✓';position:absolute;left:0;color:#e92b38;font-weight:700}
@media(max-width:800px){.hvsp-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.hvsp-detail-grid{grid-template-columns:1fr}.hvsp-detail-photo{height:210px}.hvsp-detailed-services{padding-top:26px;padding-bottom:30px}}

/* v1.6.13: Uniform, fixed-height detail-card photographs, isolated to this section. */
.hvsp-page .hvsp-detailed-services .hvsp-detail-grid .hvsp-detail-card > img.hvsp-detail-photo {
 display:block!important;
 width:100%!important;
 height:var(--hvsp-detail-image-height,220px)!important;
 min-height:var(--hvsp-detail-image-height,220px)!important;
 max-height:var(--hvsp-detail-image-height,220px)!important;
 aspect-ratio:auto!important;
 object-fit:cover!important;
 object-position:center center!important;
 margin:0!important;
 border:0!important;
}
.hvsp-page .hvsp-detailed-services .hvsp-detail-grid .hvsp-detail-card {
 display:flex;
 flex-direction:column;
 height:100%;
}
.hvsp-page .hvsp-detailed-services .hvsp-detail-grid .hvsp-detail-card .hvsp-detail-body {flex:1;}

/* v1.6.14: Isolated presentation-only sizing for detailed service cards. */
.hvsp-page .hvsp-detailed-services .hvsp-detail-body .hvsp-detail-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#123458;color:#fff;margin:-46px 0 12px;position:relative;z-index:1;border:3px solid #fff;box-sizing:border-box}
.hvsp-page .hvsp-detailed-services .hvsp-detail-body h3{font-size:22px;line-height:1.25;font-weight:700}
@media(max-width:580px){.hvsp-page .hvsp-detailed-services .hvsp-detail-body h3{font-size:18px}}
