.vihm-front{--vihm-navy:#091d34;--vihm-accent:#1174e8;--vihm-hero-height:630px;font-family:inherit;color:#142136;line-height:1.65}.vihm-front *{box-sizing:border-box}.vihm-front h1,.vihm-front h2,.vihm-front h3{font-family:inherit;letter-spacing:-.035em;line-height:1.14;margin:0 0 20px;font-weight:800;text-transform:none}.vihm-front p{margin:0 0 20px}.vihm-front a{text-decoration:none}.vihm-container{max-width:1200px;margin:auto;padding:0 30px}.vihm-hero{background:var(--vihm-navy);color:white;min-height:var(--vihm-hero-height);overflow:hidden}.vihm-hero-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:25px;align-items:center;min-height:var(--vihm-hero-height)}.vihm-hero h1{font-size:clamp(38px,4.5vw,66px);color:white}.vihm-hero p{font-size:19px;max-width:630px;color:#d8e7f6}.vihm-eyebrow{display:block;color:#83c8ff;font-size:12px;letter-spacing:.14em;font-weight:800;margin-bottom:20px}.vihm-hero small{display:block;color:#bed1e3;margin-top:22px}.vihm-actions{display:flex;gap:12px;flex-wrap:wrap}.vihm-button{display:inline-block;border:1px solid var(--vihm-accent);background:var(--vihm-accent);color:white!important;padding:13px 22px;border-radius:40px;font-weight:700;transition:transform .2s}.vihm-button:hover{transform:translateY(-2px)}.vihm-outline{background:transparent;border-color:#ffffffad}.vi4-hero-art{width:100%;height:490px;position:relative}.vi4-hero-art canvas{display:block;width:100%;height:100%}.vihm-section{padding:86px 0}.vihm-section-head{max-width:820px;margin-bottom:36px}.vihm-section-head h2{font-size:clamp(30px,3.5vw,51px);color:#142136}.vihm-section-head p{white-space:normal;color:#536476;font-size:16px}.vihm-cards{display:grid;grid-template-columns:repeat(var(--vihm-columns),minmax(0,1fr));gap:22px}.vihm-card{background:#fff;border:1px solid #e1e7ee;border-radius:15px;overflow:hidden;box-shadow:0 10px 24px #0c27420a;display:flex;flex-direction:column}.vihm-card-image{aspect-ratio:1.45;overflow:hidden;background:#e6eef5}.vihm-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.vihm-card:hover img{transform:scale(1.035)}.vihm-card-image button{width:100%;height:100%;border:0;padding:0;cursor:pointer;position:relative}.vihm-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#091d34c9;color:white;font-size:23px}.vihm-card-body{padding:23px;display:flex;flex-direction:column;flex:1}.vihm-card h3{font-size:23px;margin:0 0 12px;color:#142136}.vihm-card p{color:#506174;font-size:15px;flex:1}.vihm-card-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.vihm-card-actions a,.vihm-text-link{font-size:14px;font-weight:700;color:var(--vihm-accent);background:none;border:0;padding:0;cursor:pointer}.vihm-no-image{border:0;background:#e9f0f8;color:#142136;min-height:120px;font-size:18px;cursor:pointer}.vihm-contact .vihm-section-head h2{color:#fff}.vihm-contact .vihm-section-head p{color:#d1e1f1}.vihm-lightbox{position:fixed;inset:0;z-index:999999;background:#000e;display:flex;align-items:center;justify-content:center;padding:65px 20px 20px}.vihm-lightbox[hidden]{display:none}.vihm-lightbox video{width:min(100%,1100px);max-height:85vh;background:#000}.vihm-lightbox-close{position:absolute;right:25px;top:14px;background:none;border:0;color:white;font-size:46px;cursor:pointer}@media(max-width:1000px){.vihm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.vihm-hero-layout{grid-template-columns:1fr 1fr}}@media(max-width:767px){.vihm-container{padding:0 20px}.vihm-hero{min-height:auto}.vihm-hero-layout{display:block;min-height:auto;padding-top:95px;padding-bottom:85px}.vi4-hero-art{display:none}.vihm-hero h1{font-size:42px}.vihm-section{padding:65px 0}.vihm-cards{grid-template-columns:1fr}.vihm-section-head h2{font-size:34px}}
/* v1.1: modal is moved to body to escape WPBakery stacking/overflow contexts */
body>.vihm-lightbox{position:fixed!important;inset:0!important;z-index:2147483646!important;display:flex!important;align-items:center;justify-content:center;background:rgba(0,0,0,.91)!important;padding:65px 22px 25px!important;box-sizing:border-box}
body>.vihm-lightbox[hidden]{display:none!important}
body>.vihm-lightbox video{width:min(100%,1100px);max-height:calc(100vh - 110px);background:#000;object-fit:contain;outline:0}
body>.vihm-lightbox .vihm-lightbox-close{position:absolute;right:22px;top:12px;z-index:2;display:grid;place-items:center;width:54px;height:54px;background:rgba(255,255,255,.14);border:1px solid #ffffff55;border-radius:50%;color:white;font-size:38px;cursor:pointer}
body.vihm-video-playing{overflow:hidden}
@media(max-width:767px){body>.vihm-lightbox{padding:70px 10px 15px!important}body>.vihm-lightbox video{max-height:75vh}}

/* V1.4 multi-video navigation */
body>.vihm-lightbox .vihm-lightbox-player{width:min(100%,1100px);display:flex;flex-direction:column;align-items:center;gap:14px}
body>.vihm-lightbox .vihm-lightbox-player video{max-height:calc(100vh - 190px)}
body>.vihm-lightbox .vihm-video-navigation{display:flex;align-items:center;justify-content:center;gap:22px;color:#fff;font-size:15px;font-weight:700}
body>.vihm-lightbox .vihm-video-navigation button{border:1px solid #ffffff77;background:#fff;color:#091d34;padding:10px 22px;border-radius:8px;font-weight:700;cursor:pointer}
body>.vihm-lightbox .vihm-video-navigation button:disabled{opacity:.35;cursor:default}
@media(max-width:767px){body>.vihm-lightbox .vihm-video-navigation{gap:10px}body>.vihm-lightbox .vihm-video-navigation button{padding:9px 13px}}
/* V1.6: restore two-column gallery information panel */
body>.vihm-lightbox{padding:24px!important;background:rgba(6,17,31,.88)!important;overflow-y:auto}
body>.vihm-lightbox .vihm-dialog{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);width:min(1100px,100%);max-height:calc(100vh - 48px);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 24px 80px #0009}
body>.vihm-lightbox .vihm-lightbox-player{width:100%;min-width:0;background:#091728;display:flex;flex-direction:column;justify-content:center;gap:0}
body>.vihm-lightbox .vihm-lightbox-player video{display:block;width:100%;max-width:100%;height:min(65vh,600px);max-height:calc(100vh - 130px);object-fit:contain;background:#091728}
body>.vihm-lightbox .vihm-video-navigation{padding:15px 10px;gap:15px;flex-wrap:wrap;background:#091728}
body>.vihm-lightbox .vihm-lightbox-info{padding:46px 32px 32px;overflow-y:auto;color:#24364b;min-width:0}
body>.vihm-lightbox .vihm-info-category{font-size:11px;font-weight:800;letter-spacing:1.4px;color:#1375da}
body>.vihm-lightbox .vihm-info-title{font-size:29px!important;line-height:1.2!important;color:#11243d!important;margin:13px 0 18px!important;font-weight:800!important}
body>.vihm-lightbox .vihm-info-description{font-size:15px!important;line-height:1.8!important;color:#3e4c5e!important;white-space:pre-line;margin:0 0 24px!important}
body>.vihm-lightbox .vihm-info-extra,body>.vihm-lightbox .vihm-info-use{border-top:1px solid #e5eaf0;padding:15px 0}
body>.vihm-lightbox .vihm-info-extra[hidden],body>.vihm-lightbox .vihm-info-use[hidden]{display:none!important}
body>.vihm-lightbox .vihm-info-extra strong,body>.vihm-lightbox .vihm-info-use strong{font-size:11px;letter-spacing:1px;color:#63768d}
body>.vihm-lightbox .vihm-info-extra p,body>.vihm-lightbox .vihm-info-use p{font-size:14px;line-height:1.6;margin:7px 0 0}
body>.vihm-lightbox .vihm-info-contact{display:inline-block;background:#1179e8;color:#fff!important;text-decoration:none;padding:12px 18px;border-radius:8px;font-size:13px;font-weight:700;margin-top:18px}
body>.vihm-lightbox .vihm-lightbox-close{position:absolute;top:12px;right:12px;z-index:10;width:38px;height:38px;font-size:28px;background:#fff;color:#15253a;border:1px solid #dce4ec}
@media(max-width:760px){body>.vihm-lightbox{padding:10px!important;align-items:flex-start}body>.vihm-lightbox .vihm-dialog{grid-template-columns:1fr;max-height:calc(100vh - 20px);overflow-y:auto}body>.vihm-lightbox .vihm-lightbox-player video{height:36vh;min-height:200px;max-height:400px}body>.vihm-lightbox .vihm-lightbox-info{padding:25px 22px 30px;overflow:visible}body>.vihm-lightbox .vihm-info-title{font-size:24px!important}body>.vihm-lightbox .vihm-lightbox-close{right:10px;top:10px}}

/* Stable WPBakery cards: no new card layout or global typography overrides. */
.vi4 .vi20-missing-image{width:100%;min-height:210px;display:flex;align-items:center;justify-content:center;background:#e8eef4;color:#53677d;font-size:13px;}
@media(max-width:1000px){.vi4 .vi20-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.vi4 .vi20-cards{grid-template-columns:1fr!important}}
