/* ZEPINDO V21 — smooth interaction layer; no editorial changes */
:root{--v21-ease:cubic-bezier(.22,1,.36,1);--v21-fast:180ms;--v21-mid:320ms;--v21-slow:520ms}
html{scroll-behavior:smooth}
body.v21-smooth{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* Avoid scroll-position jumps caused by intrinsic-size approximation on very long pages. */
body.v21-smooth .v20-content-section,
body.v21-smooth .v17-case-card,
body.v21-smooth .v16-gallery,
body.v21-smooth .v15-visual-list{content-visibility:visible!important;contain-intrinsic-size:auto!important}

/* Keep sticky UI light enough to stay fluid while scrolling. */
body.v21-smooth .v13-nav{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
body.v21-smooth .v19-section-nav{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
body.v21-smooth .v19-mobile-dock{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.v19-progress>i{width:100%!important;transform:scaleX(0);transform-origin:left center;transition:none!important;will-change:transform}
.v19-section-scroll,.v13-card-rail{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
body.v21-smooth .v13-card-rail{scroll-snap-type:x proximity!important}
body.v21-smooth .v13-marquee-track{will-change:transform;transform:translate3d(0,0,0)}

/* Smooth local interaction feedback. */
body.v21-smooth a,body.v21-smooth button,body.v21-smooth summary{-webkit-tap-highlight-color:transparent}
body.v21-smooth .v13-btn,
body.v21-smooth .v19-inline-cta a,
body.v21-smooth .v19-quick-dock button,
body.v21-smooth .v19-quick-dock a,
body.v21-smooth .v13-menu a,
body.v21-smooth .v13-backtop,
body.v21-smooth table.v18-price-cards tbody tr,
body.v21-smooth .v15-visual-card,
body.v21-smooth .v13-nav-card{transition-timing-function:var(--v21-ease)!important}
body.v21-smooth .v13-btn:active,
body.v21-smooth .v19-inline-cta a:active,
body.v21-smooth .v19-quick-dock button:active,
body.v21-smooth .v19-quick-dock a:active,
body.v21-smooth .v13-backtop:active{transform:scale(.97)!important}
body.v21-smooth table.v18-price-cards tbody tr:active,
body.v21-smooth .v15-visual-card:active,
body.v21-smooth .v13-nav-card:active{transform:translateY(-2px) scale(.992)!important}

/* FAQ opens/closes with height + opacity animation. */
body.v21-smooth .v17-faq-card{transition:border-color var(--v21-mid) var(--v21-ease),box-shadow var(--v21-mid) var(--v21-ease),background var(--v21-mid) var(--v21-ease)}
body.v21-smooth .v17-faq-card summary{transition:background var(--v21-fast) ease,color var(--v21-fast) ease}
body.v21-smooth .v17-faq-card summary:hover{background:rgba(8,42,75,.025)}
body.v21-smooth .v17-faq-card .v17-faq-answer{transform-origin:top;will-change:height,opacity}
body.v21-smooth .v17-faq-card.v21-animating .v17-faq-answer{overflow:hidden}
body.v21-smooth .v17-faq-card summary:after{transition:transform var(--v21-mid) var(--v21-ease)!important}

/* Lightbox fades/zooms instead of appearing/disappearing abruptly. */
body.v21-smooth .v16-lightbox{display:flex!important;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 280ms var(--v21-ease),visibility 0s linear 280ms!important;backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important}
body.v21-smooth .v16-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 280ms var(--v21-ease),visibility 0s!important}
body.v21-smooth .v16-lightbox img{opacity:0;transform:scale(.955);transition:opacity 300ms var(--v21-ease),transform 360ms var(--v21-ease)!important;will-change:transform,opacity}
body.v21-smooth .v16-lightbox.is-open img{opacity:1;transform:scale(1)}
body.v21-smooth .v16-lightbox-hint{opacity:0;transform:translate(-50%,8px);transition:opacity 260ms ease,transform 320ms var(--v21-ease)!important}
body.v21-smooth .v16-lightbox.is-open .v16-lightbox-hint{opacity:1;transform:translate(-50%,0)}

/* Smooth mobile menu without display:none jumps. */
@media(max-width:820px){
  body.v21-smooth .v13-menu{display:flex!important;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-9px) scale(.985);transform-origin:top right;max-height:0;overflow:hidden;transition:opacity 210ms ease,transform 300ms var(--v21-ease),max-height 360ms var(--v21-ease),visibility 0s linear 360ms!important;will-change:transform,opacity}
  body.v21-smooth .v13-menu.open{visibility:visible;opacity:1;pointer-events:auto;transform:none;max-height:72vh;transition:opacity 210ms ease,transform 300ms var(--v21-ease),max-height 360ms var(--v21-ease),visibility 0s!important}
}
@media(max-width:620px){
  body.v21-smooth .v13-nav,body.v21-smooth .v19-section-nav,body.v21-smooth .v19-mobile-dock{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(255,255,255,.985)!important}
  body.v21-smooth .v16-lightbox{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  body.v21-smooth *,body.v21-smooth *:before,body.v21-smooth *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
