@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/big-shoulders-display-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/big-shoulders-display-latin-900-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/archivo-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/archivo-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/archivo-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/archivo-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/archivo-latin-800-normal.woff2) format('woff2')}
body{margin:0;background:#FFD21A}
a{color:#000}a:hover{color:#000}
a:focus-visible,button:focus-visible{outline:4px solid #FFFFFF;outline-offset:3px}
.vz-disp{font-family:'Big Shoulders Display',sans-serif;font-weight:900;text-transform:uppercase;line-height:.88}

@keyframes vz-strike{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes vz-rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
@keyframes vz-drop{from{opacity:0;transform:translateY(-40px) rotate(-8deg)}to{opacity:1;transform:rotate(-2deg)}}
@keyframes vz-stamp{0%{opacity:0;transform:scale(1.6) rotate(3deg)}70%{opacity:1;transform:scale(.95) rotate(3deg)}100%{opacity:1;transform:scale(1) rotate(3deg)}}
@keyframes vz-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes vz-marquee-r{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes vz-reveal{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes vz-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes vz-fade{0%{opacity:0}4%{opacity:1}25%{opacity:1}29%{opacity:0}100%{opacity:0}}
@keyframes vz-kb{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes vz-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes vz-sticky-in{from{transform:translateY(120%)}to{transform:none}}

.vz-word{position:relative;display:block;width:max-content;max-width:100%}
.vz-word .vz-line{position:absolute;left:-2%;right:-2%;top:52%;height:.11em;background:#000;transform-origin:left center;transform:scaleX(0);animation:vz-strike .45s cubic-bezier(.7,0,.2,1) forwards}
.vz-l1{animation-delay:.35s!important}
.vz-l2{animation-delay:.75s!important}
.vz-customers{display:block;opacity:0;animation:vz-rise .7s cubic-bezier(.2,.8,.2,1) 1.1s forwards}
.vz-hero-img{opacity:0;animation:vz-drop .9s cubic-bezier(.2,.8,.2,1) 1.4s forwards}
.vz-sticker{opacity:0;animation:vz-stamp .45s ease-out 2s forwards}
.vz-hero-copy{opacity:0;animation:vz-rise .7s cubic-bezier(.2,.8,.2,1) 1.25s forwards}

.vz-slides{position:relative;overflow:hidden}
.vz-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:vz-fade 16s linear infinite}
.vz-slides img:nth-child(1){animation-delay:0s}
.vz-slides img:nth-child(2){animation-delay:4s}
.vz-slides img:nth-child(3){animation-delay:8s}
.vz-slides img:nth-child(4){animation-delay:12s}

.vz-track{display:flex;width:max-content;animation:vz-marquee 32s linear infinite}
.vz-track-r{display:flex;width:max-content;animation:vz-marquee-r 46s linear infinite}
.vz-track-l{display:flex;width:max-content;animation:vz-marquee 40s linear infinite}
.vz-marquee:hover .vz-track,.vz-wall:hover .vz-track-r,.vz-wall:hover .vz-track-l{animation-play-state:paused}
.vz-wall img{transition:transform .4s cubic-bezier(.2,.8,.2,1),filter .4s;filter:saturate(1.05)}
.vz-wall img:hover{transform:scale(1.06) rotate(-1deg);position:relative;z-index:2}

.vz-btn{transition:transform .15s ease,box-shadow .15s ease}
.vz-btn:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 #000}
.vz-btn-y:hover{box-shadow:6px 6px 0 #FFD21A}
.vz-pulse{animation:vz-pulse 2.4s ease-in-out infinite}

.vz-case{scroll-snap-align:start}
.vz-case img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.vz-case:hover img{transform:scale(1.05)}

.vz-choice{transition:background .15s,color .15s,transform .15s}
.vz-choice:hover{transform:translateY(-2px)}

.vz-sticky{animation:vz-sticky-in .5s cubic-bezier(.2,.8,.2,1) 3s both}

.vz-js .vz-reveal{opacity:0;transform:translateY(56px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.vz-js .vz-reveal.vz-in{opacity:1;transform:none}
.vz-js li.vz-reveal:nth-child(2),.vz-js div.vz-reveal:nth-child(2),.vz-js figure.vz-reveal:nth-child(2){transition-delay:.12s}
.vz-js li.vz-reveal:nth-child(3),.vz-js div.vz-reveal:nth-child(3){transition-delay:.24s}
.vz-js li.vz-reveal:nth-child(4),.vz-js div.vz-reveal:nth-child(4){transition-delay:.36s}
.vz-js .vz-wipe{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1)}
.vz-js .vz-wipe.vz-in{clip-path:inset(0 0 0 0)}
.vz-js .vz-kb{transform:scale(1.15);transition:transform 6s ease-out}
.vz-js .vz-kb.vz-in{transform:scale(1)}
.vz-js .vz-slide-l{opacity:0;transform:translateX(-80px) rotate(-4deg);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.vz-js .vz-slide-l.vz-in{opacity:1;transform:rotate(-2deg)}
.vz-js .vz-slide-r{opacity:0;transform:translateX(80px) rotate(4deg);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.vz-js .vz-slide-r.vz-in{opacity:1;transform:rotate(2deg)}
.vz-js .vz-case{opacity:0;transform:translateX(60px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.vz-js .vz-case.vz-in{opacity:1;transform:none}
.vz-case:hover{transform:translateY(-6px) rotate(-.6deg)!important;transition:transform .3s ease!important}
.vz-js .vz-underline{background:linear-gradient(#000,#000) no-repeat 0 92%/0% .12em;transition:background-size 1s cubic-bezier(.7,0,.2,1) .3s}
.vz-js .vz-underline.vz-in{background-size:100% .12em}

@media (prefers-reduced-motion: reduce){
.vz-word .vz-line{animation:none;transform:scaleX(1)}
.vz-customers,.vz-hero-img,.vz-sticker,.vz-hero-copy,.vz-sticky{animation:none;opacity:1}
.vz-hero-img{transform:rotate(-2deg)}
.vz-sticker{transform:rotate(3deg)}
.vz-track,.vz-track-r,.vz-track-l,.vz-pulse,.vz-kb{animation:none}
.vz-slides img{animation:none}
.vz-slides img:first-child{opacity:1}
.vz-js .vz-reveal,.vz-js .vz-wipe,.vz-js .vz-kb,.vz-js .vz-slide-l,.vz-js .vz-slide-r,.vz-js .vz-case{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
.vz-btn,.vz-case img,.vz-wall img,.vz-choice{transition:none}
}

/* additions: pause control, mobile, header, nav */
.vz-paused .vz-track,.vz-paused .vz-track-l,.vz-paused .vz-track-r,.vz-paused .vz-slides img,.vz-paused .vz-pulse{animation-play-state:paused!important}
.vz-nav a{color:#FFFFFF;text-decoration:none}
.vz-nav a:hover{color:#FFD21A}
.vz-link{color:#FFD21A;text-decoration:none;border-bottom:2px solid #FFD21A}
.vz-link:hover{color:#FFFFFF;border-color:#FFFFFF}
.vz-arealink{display:block;padding:18px 0;border-bottom:3px solid #000;text-decoration:none;color:#000;font-weight:800;font-size:22px;transition:padding .2s}
.vz-arealink:hover{padding-left:12px}
.vz-hide-sm{}
@media (max-width: 760px){
  .vz-hide-sm{display:none!important}
  .vz-sticky{display:block}
}
@media (min-width: 761px){
  .vz-sticky-sm-only{display:none!important}
}
.vz-play{width:96px;height:96px;border-radius:50%;background:#FFD21A;display:flex;align-items:center;justify-content:center;transition:transform .2s}
.vz-reel:hover .vz-play{transform:scale(1.12)}
@keyframes vz-form{from{opacity:0;transform:translateX(80px) rotate(4deg)}to{opacity:1;transform:none}}
.vz-form{animation:vz-form .9s cubic-bezier(.2,.8,.2,1) .5s both}
.vz-strip img{display:block;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.vz-strip img:hover{transform:scale(1.05)}
h1.vz-customers{opacity:0}
.vz-js .vz-bar{transform:scaleX(0);transform-origin:left center;transition:transform 1.4s cubic-bezier(.2,.8,.2,1) .2s}
.vz-js .vz-bar.vz-in{transform:none}
.vz-chip{min-height:44px;padding:8px 14px;font:inherit;font-size:16px;font-weight:800;cursor:pointer;transition:transform .15s}
.vz-chip:hover{transform:translateY(-2px)}
@keyframes vz-pop{0%{transform:scale(.92);opacity:.4}100%{transform:none;opacity:1}}
.vz-pop{animation:vz-pop .45s cubic-bezier(.2,.8,.2,1) both}
@media (prefers-reduced-motion: reduce){.vz-js .vz-bar{transform:none;transition:none}.vz-pop{animation:none}}
/* wipe: hide with opacity (clip-path hides it from IntersectionObserver), then wipe in */
.vz-js .vz-wipe{clip-path:none;opacity:0;transition:none}
.vz-js .vz-wipe.vz-in{opacity:1;animation:vz-wipe 1.1s cubic-bezier(.7,0,.2,1) both}
@keyframes vz-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion: reduce){.vz-js .vz-wipe{opacity:1!important;animation:none!important}}

/* polish: comfortable tap targets in footer, safe wrapping for big display words */
footer .vz-link{display:inline-block;padding:6px 0}
.vz-disp{overflow-wrap:break-word}
