/* Banner Studio has no theme or slider-engine dependency. */
.zbs{width:min(1200px,calc(100% - 64px));margin:24px auto 10px;color:#10213d;font-family:Manrope,Arial,sans-serif;position:relative;isolation:isolate}.zbs,.zbs *{box-sizing:border-box}.zbs [hidden]{display:none!important}.zbs a{color:inherit;text-decoration:none}.zbs button{font:inherit;cursor:pointer;box-shadow:none}.zbs button:focus-visible,.zbs a:focus-visible{outline:3px solid #168bff;outline-offset:4px}.zbs-viewport{position:relative;overflow:hidden;border-radius:12px}.zbs-slide{position:relative;display:grid;grid-template-columns:var(--zbs-text,46%) minmax(0,1fr);align-items:center;height:var(--zbs-h,460px);padding:28px 52px 38px;gap:16px;color:#10213d;overflow:hidden}.zbs-slide::before{content:"";position:absolute;inset:0 0 25px;background:var(--zbs-bg,#f0f3fa);border-radius:12px;z-index:-1}.zbs-copy{position:relative;z-index:2;min-width:0;padding-block:5px}.zbs .zbs-eyebrow{margin:0 0 17px;font-size:10px;line-height:1.5;font-weight:800;letter-spacing:2.1px;color:var(--zbs-accent,#075bfa)}.zbs .zbs-heading{margin:0;font-family:Manrope,Arial,sans-serif;font-size:52px;line-height:1.09;font-weight:800;letter-spacing:-2.4px;color:inherit;overflow-wrap:break-word}.zbs-font-chakra .zbs-heading{font-family:'Chakra Petch',Arial,sans-serif}.zbs-accent{display:block;color:var(--zbs-accent,#075bfa)}.zbs .zbs-description{font-size:13px;line-height:1.85;color:#667085;margin:18px 0 23px;max-width:360px;font-weight:400;letter-spacing:0}.zbs .zbs-button{display:inline-flex;align-items:center;gap:27px;background:var(--zbs-accent,#075bfa);border-radius:30px;color:#fff;padding:13px 21px;font-size:11px;line-height:1.5;font-weight:800;min-height:46px;transition:filter .2s,transform .2s;white-space:normal;max-width:100%}.zbs-button svg{flex-shrink:0;width:18px;height:18px}.zbs .zbs-button:hover{color:#fff;filter:brightness(.93);transform:translateY(-2px)}.zbs-visual{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;height:420px;z-index:1}.zbs-visual picture{position:relative;display:flex;width:100%;height:100%;align-items:center;justify-content:center;z-index:1}.zbs-product{display:block;width:100%;max-width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transform:translate(var(--zbs-x,0),var(--zbs-y,0)) scale(var(--zbs-scale,1));transform-origin:center;filter:drop-shadow(0 16px 12px #10213d0b)}.zbs-shape{position:absolute;inset:21% 12% 12%;background:var(--zbs-accent);opacity:.09;border-radius:40% 26% 35% 28%;transform:rotate(-14deg);z-index:0}.zbs-template-finance .zbs-visual{padding:65px 40px}.zbs-template-finance .zbs-shape{inset:11% 3%;border-radius:50%;opacity:.06}.zbs-template-finance .zbs-product{filter:none}.zbs-brand-placeholder{position:relative;font-family:'Chakra Petch',sans-serif;color:var(--zbs-accent);font-size:140px;font-weight:700;letter-spacing:-12px;line-height:1;z-index:1}.zbs-brand-placeholder>span{display:block;font-family:Manrope,sans-serif;font-size:12px;letter-spacing:5px;text-align:center;margin-top:12px}.zbs-dark{color:#fff}.zbs-dark .zbs-accent,.zbs-dark .zbs-eyebrow{color:#73bcff}.zbs-dark .zbs-description{color:#c0cde1}.zbs-dark .zbs-product{mix-blend-mode:normal}.zbs-navigation{display:flex;align-items:center;gap:20px;min-height:46px;padding-inline:7px;position:relative}.zbs-dots{display:flex;align-items:center;gap:7px}.zbs-dot{position:relative;padding:0;width:25px;height:36px;border:0;background:transparent;border-radius:0;display:grid;place-items:center}.zbs-dot::after{content:"";width:6px;height:6px;border-radius:50%;background:#cad2df;transition:width .2s,background .2s}.zbs-dot[aria-pressed=true]::after{width:23px;border-radius:5px;background:#075bfa}.zbs-counter{font-size:9px;letter-spacing:1.5px;color:#7b8798}.zbs-counter b{font-weight:800;color:#182b46}.zbs-controls{display:flex;align-items:center;gap:5px;margin-left:auto}.zbs-controls button{width:37px;height:37px;border:1px solid #e1e7ef;background:#fff;border-radius:50%;padding:0;display:grid;place-items:center;color:#10213d;font-size:13px;line-height:1}.zbs-controls button:hover{background:#f0f5ff;border-color:#bcd4ff}.zbs-controls [data-zbs-prev] svg{transform:rotate(180deg)}.zbs-controls svg{width:16px;height:16px}.zbs-controls [aria-pressed=true]{color:#075bfa;border-color:#97baff}.zbs-sr{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zbs[data-zbs-ready] .is-active[data-zbs-motion]:not([data-zbs-motion=none]) .zbs-copy{animation:zbs-enter .65s ease-out both}.zbs[data-zbs-ready] .is-active[data-zbs-motion=float] .zbs-product{animation:zbs-float 6s ease-in-out infinite}.zbs.zbs-paused .zbs-product{animation-play-state:paused!important}.zbs[data-zbs-ready] .is-active[data-zbs-motion=reveal] .zbs-product{animation:zbs-image-enter .8s ease-out both}@keyframes zbs-enter{from{opacity:.3;translate:-10px 0}to{opacity:1;translate:0 0}}@keyframes zbs-float{0%,100%{translate:0 0}50%{translate:0 -7px}}@keyframes zbs-image-enter{from{opacity:.3;translate:18px 0}to{opacity:1;translate:0 0}}
@media(max-width:1199px){.zbs-slide{padding-inline:38px;gap:12px}.zbs .zbs-heading{font-size:46px;letter-spacing:-2px}.zbs-visual{height:390px}.zbs .zbs-description{font-size:12px;max-width:320px}}
@media(max-width:900px){.zbs{width:calc(100% - 48px);margin-top:20px}.zbs-slide{padding-inline:30px;height:calc(var(--zbs-h,460px) - 30px)}.zbs .zbs-heading{font-size:39px;letter-spacing:-1.7px}.zbs .zbs-eyebrow{font-size:8px;letter-spacing:1.8px}.zbs .zbs-description{font-size:12px;margin-block:15px 20px}.zbs-visual{height:340px}.zbs .zbs-button{font-size:10px;padding-inline:18px;gap:19px}.zbs-template-finance .zbs-visual{padding:50px 20px}}
@media(max-width:640px){.zbs{width:calc(100% - 28px);margin:16px auto 5px}.zbs-slide{grid-template-columns:55% minmax(0,1fr);gap:0;height:var(--zbs-mh,350px);padding:23px 17px 36px}.zbs-slide::before{bottom:16px;border-radius:10px}.zbs .zbs-heading{font-size:29px;line-height:1.12;letter-spacing:-1.35px}.zbs .zbs-eyebrow{font-size:7px;letter-spacing:1.2px;margin-bottom:12px;line-height:1.6}.zbs .zbs-description{font-size:10px;line-height:1.75;margin:12px 0 16px;max-width:190px}.zbs .zbs-button{font-size:9px;min-height:40px;padding:10px 13px;gap:12px;line-height:1.5}.zbs-button svg{width:14px;height:14px}.zbs-visual{height:240px;align-self:center;transform:translateX(2px)}.zbs-visual picture{width:116%;min-width:116%;height:100%}.zbs-product{transform:translate(var(--zbs-mx,0),var(--zbs-my,0)) scale(var(--zbs-mscale,1));filter:drop-shadow(0 10px 6px #10213d0b)}.zbs-shape{inset:22% 1% 18%;opacity:.11;border-radius:34% 25% 40% 25%}.zbs-template-finance .zbs-visual{padding:35px 7px}.zbs-template-finance .zbs-visual picture{min-width:100%;width:100%}.zbs-template-finance .zbs-shape{inset:22% -2%}.zbs-brand-placeholder{font-size:74px;letter-spacing:-5px}.zbs-brand-placeholder>span{font-size:6px;letter-spacing:2px;margin-top:6px}.zbs-navigation{min-height:46px;gap:12px;padding-inline:3px}.zbs-dots{gap:3px}.zbs-dot{width:20px;height:38px}.zbs-dot[aria-pressed=true]::after{width:17px}.zbs-counter{font-size:8px;letter-spacing:1px}.zbs-controls{gap:3px}.zbs-controls button{width:33px;height:36px;border-radius:20px}.zbs-controls svg{width:14px;height:14px}}
@media(max-width:360px){.zbs-slide{padding-inline:14px;grid-template-columns:57% minmax(0,1fr)}.zbs .zbs-heading{font-size:25px;letter-spacing:-1px}.zbs .zbs-description{font-size:9px}.zbs .zbs-button{font-size:8px;padding-inline:11px;gap:8px}.zbs .zbs-eyebrow{font-size:6px}.zbs-visual{height:215px}.zbs-counter{display:none}.zbs-controls{gap:2px}.zbs-navigation{gap:8px}}
@media(prefers-reduced-motion:reduce){.zbs *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Elementor sets image height to auto; keep the product inside its stage. */
.zbs .zbs-product{height:100%;width:100%;object-fit:contain;max-height:100%}.zbs .zbs-copy{min-width:0}.zbs .zbs-description{overflow-wrap:anywhere}
@media(max-width:640px){.zbs .zbs-description{font-size:11px;line-height:1.65}.zbs .zbs-button{font-size:10px}.zbs .zbs-heading{font-size:28px}.zbs-visual picture{width:100%;min-width:100%}}
@media(max-width:360px){.zbs .zbs-heading{font-size:24px}.zbs .zbs-description{font-size:10px}.zbs .zbs-button{font-size:9px}}
.zbs-visual{mix-blend-mode:multiply}.zbs-dark .zbs-visual{mix-blend-mode:normal}
@media(max-width:640px){.zbs-slide{grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:8px}.zbs .zbs-description{max-width:100%}}
/* Banner proportions follow the Shop50 reference at each breakpoint. */
.zbs{width:min(1140px,calc(100% - 20px));margin:0 auto 48px}.zbs-viewport{overflow:visible;border-radius:8px}.zbs-slide{height:var(--zbs-h,480px);padding:32px 72px 32px 109px;grid-template-columns:var(--zbs-text,44%) minmax(0,1fr);gap:0;overflow:visible}.zbs-slide::before{inset:0;border-radius:8px}.zbs .zbs-heading{font-size:52px;line-height:1.03;letter-spacing:-2px}.zbs-template-brand .zbs-heading{font-size:48px;letter-spacing:-2.3px}.zbs .zbs-eyebrow{font-size:9px;margin-bottom:14px}.zbs .zbs-description{font-size:13px;line-height:1.8;margin-block:17px 22px;max-width:360px}.zbs-visual{height:448px;translate:0 29px;transform:none}.zbs-visual picture{width:100%;min-width:0}.zbs-template-finance .zbs-visual{padding:60px 42px}.zbs-navigation{position:absolute;left:0;right:0;bottom:-36px;height:28px;min-height:0;padding:0 4px;justify-content:center;gap:0}.zbs-counter{display:none}.zbs-dots{gap:5px}.zbs-dot{height:28px;width:21px}.zbs-dot::after{width:5px;height:5px}.zbs-dot[aria-pressed=true]::after{width:18px}.zbs-controls{margin:0}.zbs-controls [data-zbs-prev],.zbs-controls [data-zbs-next]{position:absolute;top:calc(-1 * var(--zbs-nav-offset,240px) - 14px);width:38px;height:38px;border-radius:50%;box-shadow:0 2px 2px #10213d08}.zbs-controls [data-zbs-prev]{left:-19px}.zbs-controls [data-zbs-next]{right:-19px}.zbs-controls [data-zbs-pause]{position:absolute;right:7px;top:0;width:28px;height:28px;border:0;font-size:10px}.zbs-shape{inset:22% 13% 15%;opacity:.06}
@media(max-width:1199px){.zbs-slide{padding-inline:7% 5%}.zbs .zbs-heading{font-size:44px}.zbs-template-brand .zbs-heading{font-size:42px}.zbs-visual{height:420px}.zbs-controls [data-zbs-prev]{left:-6px}.zbs-controls [data-zbs-next]{right:-6px}}
@media(max-width:991px){.zbs{margin-top:0;margin-bottom:32px;--zbs-nav-offset:200px}.zbs-slide{height:calc(var(--zbs-h,480px) * .833333);padding:28px 7% 28px 10%;grid-template-columns:var(--zbs-text,44%) minmax(0,1fr)}.zbs .zbs-heading{font-size:36px;letter-spacing:-1.5px}.zbs-template-brand .zbs-heading{font-size:34px}.zbs .zbs-description{font-size:12px}.zbs-visual{height:310px;translate:0 0}.zbs-template-finance .zbs-visual{padding:45px 20px}.zbs .zbs-button{font-size:11px}.zbs-navigation{bottom:-29px}}
@media(max-width:767px){.zbs{width:calc(100% - 20px);margin:0 auto 20px;--zbs-nav-offset:95px}.zbs-slide{height:var(--zbs-mh,190px);padding:18px 6% 18px 10%;grid-template-columns:57% minmax(0,43%);gap:4px}.zbs-slide::before{inset:0;border-radius:5px}.zbs .zbs-heading,.zbs-template-brand .zbs-heading{font-size:22px;line-height:1.06;letter-spacing:-.9px}.zbs .zbs-eyebrow,.zbs .zbs-description{display:none}.zbs .zbs-button{margin-top:13px;min-height:31px;font-size:9px;line-height:1.4;padding:8px 12px;gap:9px}.zbs-button svg{width:12px;height:12px}.zbs-visual{height:155px;translate:0 0;transform:none}.zbs-visual picture{width:100%;min-width:0;height:100%}.zbs-template-finance .zbs-visual{padding:22px 3px}.zbs-shape{inset:23% 3% 18%}.zbs-navigation{bottom:-20px;height:20px;min-height:0;padding:0}.zbs-dot{height:20px;width:16px}.zbs-dots{gap:2px}.zbs-dot::after{height:4px;width:4px}.zbs-dot[aria-pressed=true]::after{width:13px}.zbs-controls [data-zbs-prev],.zbs-controls [data-zbs-next]{top:calc(-1 * var(--zbs-nav-offset) - 2px);width:25px;height:28px;background:#fff;border-radius:16px}.zbs-controls [data-zbs-prev]{left:-6px}.zbs-controls [data-zbs-next]{right:-6px}.zbs-controls [data-zbs-pause]{top:0;width:22px;height:20px;font-size:9px}.zbs-controls svg{width:12px;height:12px}}
@media(max-width:360px){.zbs .zbs-heading,.zbs-template-brand .zbs-heading{font-size:19px;letter-spacing:-.7px}.zbs .zbs-button{font-size:8px;padding-inline:10px;gap:6px}.zbs-visual{height:140px}}

.zbs-navigation{z-index:5}

/* Explicit campaign choices coexist with the theme's default palette/type. */
.zbs .zbs-slide[data-zbs-colors="custom"] .zbs-accent,.zbs .zbs-slide[data-zbs-colors="custom"] .zbs-eyebrow{color:var(--zbs-accent)}
@media(max-width:767px){
.zbs .zbs-slide[data-zbs-mobile-text="custom"] .zbs-heading{font-size:var(--zbs-mobile-font-size,22px)!important;line-height:1.12;letter-spacing:-.025em;overflow-wrap:anywhere}
}

/* Native video keeps the source crop flush with the banner's lower edge. */
.zbs .zbs-slide[data-zbs-visual="video"]{overflow:hidden;border-radius:8px}
.zbs .zbs-visual[data-zbs-visual="video"]{position:absolute;right:4%;bottom:0;top:auto;left:auto;height:auto;width:calc(var(--zbs-video-height,90%) * .6);aspect-ratio:880/720;max-width:none;min-height:0;translate:none;transform:none;padding:0;mix-blend-mode:normal;overflow:hidden;display:block;z-index:1}
.zbs .zbs-visual[data-zbs-visual="video"] picture{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}
.zbs .zbs-visual[data-zbs-visual="video"] .zbs-product,.zbs .zbs-video{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:cover;object-position:left bottom;transform:none!important;translate:none;animation:none!important;filter:none;mix-blend-mode:normal;transition:none!important}
.zbs .zbs-visual[data-zbs-visual="video"] .zbs-shape{display:none}
.zbs .zbs-video{opacity:0;pointer-events:none;z-index:2;background:transparent}
.zbs .zbs-video[hidden]{display:none!important}
.zbs .zbs-visual[data-zbs-video-ready="true"] .zbs-video{opacity:1}
.zbs .zbs-visual[data-zbs-video-ready="true"] .zbs-product{opacity:0}
@media(max-width:767px){.zbs .zbs-visual[data-zbs-visual="video"]{right:3%;width:calc(var(--zbs-video-mobile-height,90%) * .6)}}

/* One continuous surface; the SVG animates complete shapes without sliced strips. */
.zbs-slide[data-zbs-visual="video"]::after{content:none}
.zbs-digital-cascade{position:absolute;inset:-8px 0;z-index:0;overflow:hidden;border-radius:inherit;clip-path:inset(0 round 8px);contain:paint layout;will-change:transform;transform:translateZ(0);animation:zbs-cascade-drift 6s ease-in-out infinite;pointer-events:none;background:url("images/digital-cascade-static.svg") center top/100% 100% no-repeat}
@media(max-width:767px){.zbs-digital-cascade{background-size:650px 100%}}

.zbs:has([data-zbs-pause][aria-pressed="true"]) .zbs-digital-cascade{background-image:url("images/digital-cascade-static.svg")}
@media(prefers-reduced-motion:reduce){.zbs-digital-cascade{background-image:url("images/digital-cascade-static.svg")}}

/* Initial composition is revealed as one surface after its critical assets settle. */
.zbs[data-zbs-initial="true"][data-zbs-ready] .is-active .zbs-copy{animation:none!important}

/* Move one cached texture instead of rerasterizing 78 animated SVG columns. */
@keyframes zbs-cascade-drift{0%,100%{opacity:.55;transform:translate3d(0,-2px,0)}50%{opacity:1;transform:translate3d(0,7px,0)}}
.zbs[data-zbs-load="pending"] .zbs-digital-cascade,.zbs:has([data-zbs-pause][aria-pressed="true"]) .zbs-digital-cascade{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.zbs-digital-cascade{animation:none!important;transform:none;opacity:1}}

/* A single entrance for the complete copy, once the initial composition is ready. */
@keyframes zbs-copy-slice{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translate3d(-22px,0,0)}to{opacity:1;clip-path:inset(0 0 0 0);transform:translate3d(0,0,0)}}
.zbs[data-zbs-initial="true"][data-zbs-ready] .is-active[data-zbs-visual="video"] .zbs-copy{animation:zbs-copy-slice 650ms cubic-bezier(.22,1,.36,1) backwards!important}
@media(prefers-reduced-motion:reduce){.zbs[data-zbs-initial="true"][data-zbs-ready] .is-active[data-zbs-visual="video"] .zbs-copy{animation:none!important;clip-path:none;transform:none;opacity:1}}

/* Safari/WebKit: Zonia's stacked-alpha video is shown through a WebGL canvas, never the raw video. */
.zbs .zbs-video-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left bottom;opacity:0;pointer-events:none;z-index:2;transition:none}
.zbs .zbs-visual[data-zbs-stacked="true"] .zbs-video{opacity:0!important}
.zbs .zbs-visual[data-zbs-stacked="true"][data-zbs-video-ready="true"] .zbs-video-canvas{opacity:1}
