.vhm-banner { background:#102b46; color:#fff; margin:0!important; padding:18px 0!important; border:0; }
.vhm-banner,.vhm-banner * { box-sizing:border-box; }
.vhm-banner__inner { width:min(1240px,calc(100% - 40px)); margin:0 auto; display:flex; align-items:center; gap:24px; }
.vhm-banner__slides { display:grid; flex:1; min-width:0; }
.vhm-banner__slide { grid-area:1/1; display:flex; align-items:center; justify-content:space-between; gap:20px; visibility:hidden; opacity:0; pointer-events:none; transition:opacity .28s ease; }
.vhm-banner__slide.is-active { visibility:visible; opacity:1; pointer-events:auto; }
.vhm-banner .vhm-banner__text { color:#fff!important; font:inherit; font-size:1rem!important; font-weight:600; line-height:1.5!important; margin:0!important; }
.vhm-banner .vhm-banner__link { color:#78dcd3!important; font-size:.9375rem; font-weight:600; line-height:1.5; text-decoration:underline; text-underline-offset:4px; flex-shrink:0; max-width:100%; overflow-wrap:anywhere; }
.vhm-banner__controls { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.vhm-banner [hidden] { display:none!important; }
.vhm-banner .vhm-banner__controls button { appearance:none; background:transparent; color:#fff; border:1px solid #7792a8; border-radius:6px; min-width:44px; min-height:44px; padding:7px 10px; font:inherit; font-size:.875rem; font-weight:600; line-height:1.2; cursor:pointer; }
.vhm-banner .vhm-banner__controls button:hover { background:#214461; }
.vhm-banner__controls button[data-vhm-pause] { min-width:95px; }
.vhm-banner__controls button span { font-size:1.5rem; }
.vhm-banner__count { min-width:34px; text-align:center; font-size:.75rem; color:#dce8f0; }
.vhm-banner :is(a,button):focus-visible { outline:3px solid #78dcd3; outline-offset:4px; }
.vhm-mobile { display:none; }
.vhm-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
/* Hover never changes dimensions or the existing equal-height layout. */
body.vhm-hover main :is(.nl-home-card,.nl-product-card,.nl-expertise-card) { transition:box-shadow .2s ease,border-color .2s ease; }
body.vhm-hover main :is(.nl-home-card,.nl-product-card,.nl-expertise-card):focus-within { box-shadow:0 7px 20px #102b4614; border-color:#087b7b!important; }
@media (hover:hover) and (pointer:fine) {
  body.vhm-hover main :is(.nl-home-card,.nl-product-card,.nl-expertise-card):hover { box-shadow:0 7px 20px #102b4614; border-color:#087b7b!important; }
  body.vhm-hover main .wp-block-button__link { transition:box-shadow .2s ease; }
  body.vhm-hover main .wp-block-button__link:hover { box-shadow:0 4px 12px #102b4620; }
}
/* The script starts a short Web Animation only after an element is visible.
   No default opacity:0: content stays readable if JS fails or is blocked. */
@media (max-width:1000px) {
  .vhm-banner__slide { align-items:flex-start; flex-direction:column; gap:6px; }
}
@media (max-width:600px) {
  .vhm-banner__inner { flex-direction:column; align-items:stretch; gap:12px; }
  .vhm-banner__slide { justify-content:center; }
  .vhm-desktop { display:none; }
  .vhm-mobile { display:inline; }
  .vhm-banner__controls { justify-content:flex-end; }
}
@media (prefers-reduced-motion:reduce) {
  .vhm-banner__slide,body.vhm-hover main :is(.nl-home-card,.nl-product-card,.nl-expertise-card,.wp-block-button__link) { transition:none!important; }
}
