/* =====================================================================
   Service pages: animated artwork banners (top card next to the service
   title + closing banner). Scenes are inline SVG from <template> elements.
   ===================================================================== */
.sv-art{position:absolute;inset:0;width:100%;height:100%;display:block;}
.service-page .svc-title-row{grid-template-columns:minmax(0,1fr) minmax(320px,1.35fr)!important;align-items:start!important;gap:26px!important;}
.gb-svc-top{margin:0!important;}
.gb-svc-top .gb-media{height:clamp(200px,17vw,250px);background:#eaf1fb;}
.gb-svc-top .gb-copy{padding:18px 22px 22px;}
.gb-svc-top .gb-title{font-size:clamp(19px,1.6vw,23px);}
.gb-svc-bottom{margin:40px 0 0!important;min-height:340px;}
.gb-svc-bottom .gb-media{min-height:340px;background:radial-gradient(rgba(21,41,79,.07) 1.1px,transparent 1.3px) 0 0/16px 16px,linear-gradient(180deg,#eaf1fb 0%,#f3f2f5 70%,#f8efe7 100%);}
.gb-svc-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;}
.gb-svc-bottom .gb-copy{padding:40px 34px!important;}
.gb-svc-bottom .gb-title{font-size:clamp(21px,2vw,27px);}
.gb-svc-bottom.gb-light::before{display:none;}
/* the service column is narrower than a full page: stack the closing banner earlier */
@media(max-width:1180px){
  .gb-svc-bottom{display:flex!important;flex-direction:column;min-height:0;}
  .gb-svc-bottom .gb-media{order:-1;min-height:0;height:clamp(220px,34vw,300px);}
  .gb-svc-bottom .gb-copy{padding:26px 26px 28px;}
}
@media(max-width:900px){
  .service-page .svc-title-row{grid-template-columns:minmax(0,1fr)!important;}
  .gb-svc-top{max-width:640px;}
}
@media(max-width:480px){
  .gb-svc-top .gb-media{height:200px;}
  .gb-svc-bottom .gb-media{height:220px;}
  .gb-svc-bottom .gb-copy{padding:22px 18px 24px;}
}
/* tablets in portrait (761-800px): the service list sits above the content instead of floating over it */
@media(max-width:800px){
  .service-page .svc-list{position:static!important;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 22px;}
  .service-page .svc-list a{transform:none!important;}
}
/* the editorial module now has no picture: points sit in two columns on wide screens */
@media(min-width:1000px){.service-editorial-list{grid-template-columns:1fr 1fr;}}
/* people who prefer less motion see the finished picture */
@media(prefers-reduced-motion:reduce){
  .sv-art *{animation:none!important;}
  .sv-art path,.sv-art ellipse{stroke-dashoffset:0!important;}
  .sv-art .svT{display:none!important;}
}

/* shared service-scene motion */
@keyframes svSway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@keyframes svTwinkle{0%,100%{opacity:.3;transform:scale(.75)}50%{opacity:1;transform:scale(1.08)}}
@keyframes svSteam{0%{opacity:0;transform:translateY(6px)}35%{opacity:.7}100%{opacity:0;transform:translateY(-12px)}}
@keyframes svFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes svBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes svPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.85}}
@keyframes svBlink{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes svEq{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}
@keyframes svBeat{0%,100%{transform:scale(1)}14%{transform:scale(1.12)}28%{transform:scale(1)}42%{transform:scale(1.07)}56%{transform:scale(1)}}
@keyframes svFlag{0%,100%{transform:skewY(0deg) scaleX(1)}50%{transform:skewY(-6deg) scaleX(.94)}}
@keyframes svCloud{0%{transform:translateX(-40px)}50%{transform:translateX(40px)}100%{transform:translateX(-40px)}}
@keyframes svSwing{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@keyframes svSpin{to{transform:rotate(360deg)}}
.eTst1{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 3.2s ease-in-out 0.4s infinite;}
.eTsp2{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 2.6s ease-in-out 1s infinite;}
.eTst3{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 3.2s ease-in-out 1.8s infinite;}
@keyframes eTmag4k{0%{transform:translate(0,0);opacity:0}4%{transform:translate(0,0);opacity:0}8%{transform:translate(0,0);opacity:1}62%{transform:translate(0,132px);opacity:1}67%{transform:translate(0,132px);opacity:0}100%{transform:translate(0,132px);opacity:0}}
.eTmag4{animation:eTmag4k 10s ease-in-out infinite both;}
@keyframes eTex9k{0%{opacity:0;transform:translate(0,4px) scale(0.6)}37%{opacity:0;transform:translate(0,4px) scale(0.6)}39.5%{opacity:1;transform:translate(0,0) scale(1)}51%{opacity:1;transform:translate(0,0) scale(1)}53.5%{opacity:0;transform:translate(0,-4px) scale(1)}100%{opacity:0;transform:translate(0,-4px) scale(1)}}
.eTex9{animation:eTex9k 10s linear infinite both;transform-box:fill-box;transform-origin:50% 50%;}
@keyframes eTstamp14k{0%{opacity:0;transform:translate(0,0px) scale(1.5)}71%{opacity:0;transform:translate(0,0px) scale(1.5)}74%{opacity:1;transform:translate(0,0) scale(1)}89%{opacity:1;transform:translate(0,0) scale(1)}92%{opacity:0;transform:translate(0,-4px) scale(1)}100%{opacity:0;transform:translate(0,-4px) scale(1)}}
.eTstamp14{animation:eTstamp14k 10s linear infinite both;transform-box:fill-box;transform-origin:50% 50%;}
.eTpl15{transform-box:fill-box;transform-origin:50% 100%;animation:svSway 7s ease-in-out infinite;}
.eTck5{stroke-dasharray:20.7 26.7;stroke-dashoffset:20.7;animation:eTck5w 10s linear infinite both;}
@keyframes eTck5w{0%,9%{stroke-dashoffset:20.7;opacity:0}9.2%{opacity:1}12%{stroke-dashoffset:0;opacity:1}89%{stroke-dashoffset:0;opacity:1}94%,100%{stroke-dashoffset:0;opacity:0}}
.eTck6{stroke-dasharray:20.7 26.7;stroke-dashoffset:20.7;animation:eTck6w 10s linear infinite both;}
@keyframes eTck6w{0%,18%{stroke-dashoffset:20.7;opacity:0}18.2%{opacity:1}21%{stroke-dashoffset:0;opacity:1}89%{stroke-dashoffset:0;opacity:1}94%,100%{stroke-dashoffset:0;opacity:0}}
.eTck7{stroke-dasharray:20.7 26.7;stroke-dashoffset:20.7;animation:eTck7w 10s linear infinite both;}
@keyframes eTck7w{0%,27%{stroke-dashoffset:20.7;opacity:0}27.2%{opacity:1}30%{stroke-dashoffset:0;opacity:1}89%{stroke-dashoffset:0;opacity:1}94%,100%{stroke-dashoffset:0;opacity:0}}
.eTred8{stroke-dasharray:70.2 76.2;stroke-dashoffset:70.2;animation:eTred8w 10s linear infinite both;}
@keyframes eTred8w{0%,35%{stroke-dashoffset:70.2;opacity:0}35.2%{opacity:1}39.5%{stroke-dashoffset:0;opacity:1}51%{stroke-dashoffset:0;opacity:1}54.5%,100%{stroke-dashoffset:0;opacity:0}}
.eTck10{stroke-dasharray:20.7 26.7;stroke-dashoffset:20.7;animation:eTck10w 10s linear infinite both;}
@keyframes eTck10w{0%,53%{stroke-dashoffset:20.7;opacity:0}53.2%{opacity:1}56.5%{stroke-dashoffset:0;opacity:1}89%{stroke-dashoffset:0;opacity:1}94%,100%{stroke-dashoffset:0;opacity:0}}
.eTck11{stroke-dasharray:20.7 26.7;stroke-dashoffset:20.7;animation:eTck11w 10s linear infinite both;}
@keyframes eTck11w{0%,45%{stroke-dashoffset:20.7;opacity:0}45.2%{opacity:1}48%{stroke-dashoffset:0;opacity:1}89%{stroke-dashoffset:0;opacity:1}94%,100%{stroke-dashoffset:0;opacity:0}}
.eTck12{stroke-dasharray:20.7 26.7;stroke-dashoffset:20.7;animation:eTck12w 10s linear infinite both;}
@keyframes eTck12w{0%,54%{stroke-dashoffset:20.7;opacity:0}54.2%{opacity:1}57%{stroke-dashoffset:0;opacity:1}89%{stroke-dashoffset:0;opacity:1}94%,100%{stroke-dashoffset:0;opacity:0}}
.eTck13{stroke-dasharray:20.7 26.7;stroke-dashoffset:20.7;animation:eTck13w 10s linear infinite both;}
@keyframes eTck13w{0%,63%{stroke-dashoffset:20.7;opacity:0}63.2%{opacity:1}66%{stroke-dashoffset:0;opacity:1}89%{stroke-dashoffset:0;opacity:1}94%,100%{stroke-dashoffset:0;opacity:0}}
.rTst1{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 3.2s ease-in-out 0.3s infinite;}
.rTst2{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 3.2s ease-in-out 1.6s infinite;}
.rTseal4{transform-box:fill-box;transform-origin:50% 50%;animation:svPulse 3.6s ease-in-out infinite;}
@keyframes rTmark5k{0%{opacity:0;transform:scale(1.25)}33.5%{opacity:0;transform:scale(1.25)}34.7%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
.rTmark5{animation:rTmark5k 10s linear infinite both;transform-box:fill-box;transform-origin:50% 50%;}
@keyframes rTstp6k{0%{transform:translate(0,0)}22%{transform:translate(0,0)}25.5%{transform:translate(0,-40px)}30%{transform:translate(-140px,-111px)}33.5%{transform:translate(-140px,-85px)}36.5%{transform:translate(-140px,-111px)}43%{transform:translate(0,-40px)}46.5%{transform:translate(0,0)}100%{transform:translate(0,0)}}
.rTstp6{animation:rTstp6k 10s ease-in-out infinite both;}
.rTsp7{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 2.6s ease-in-out 0.9s infinite;}
.rTsp8{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 2.6s ease-in-out 2.1s infinite;}
.rTpl9{transform-box:fill-box;transform-origin:50% 100%;animation:svSway 7s ease-in-out infinite;}
.rTsig3{stroke-dasharray:110 116;stroke-dashoffset:110;animation:rTsig3w 10s linear infinite both;}
@keyframes rTsig3w{0%,8%{stroke-dashoffset:110;opacity:0}8.2%{opacity:1}23%{stroke-dashoffset:0;opacity:1}90%{stroke-dashoffset:0;opacity:1}95%,100%{stroke-dashoffset:0;opacity:0}}

.yTsp1{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 2.6s ease-in-out 0.4s infinite;}
.yTst2{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 3.2s ease-in-out 1.5s infinite;}
@keyframes yTpg4k{0%{transform:scaleY(1);opacity:1}88%{transform:scaleY(1);opacity:1}92.5%{transform:scaleY(0);opacity:.4}93%{transform:scaleY(0);opacity:0}100%{transform:scaleY(0);opacity:0}}
.yTpg4{animation:yTpg4k 10s ease-in infinite both;transform-box:fill-box;transform-origin:50% 0%;}
@keyframes yTpg5k{0%{transform:scaleY(1);opacity:1}58%{transform:scaleY(1);opacity:1}62.5%{transform:scaleY(0);opacity:.4}63%{transform:scaleY(0);opacity:0}100%{transform:scaleY(0);opacity:0}}
.yTpg5{animation:yTpg5k 10s ease-in infinite both;transform-box:fill-box;transform-origin:50% 0%;}
@keyframes yTpg6k{0%{transform:scaleY(1);opacity:1}28%{transform:scaleY(1);opacity:1}32.5%{transform:scaleY(0);opacity:.4}33%{transform:scaleY(0);opacity:0}100%{transform:scaleY(0);opacity:0}}
.yTpg6{animation:yTpg6k 10s ease-in infinite both;transform-box:fill-box;transform-origin:50% 0%;}
@keyframes yTm7k{0%{opacity:0;transform:translate(0,8px) scale(0.9)}7%{opacity:0;transform:translate(0,8px) scale(0.9)}10.5%{opacity:1;transform:translate(0,0) scale(1)}88%{opacity:1;transform:translate(0,0) scale(1)}91.5%{opacity:0;transform:translate(0,-4px) scale(1)}100%{opacity:0;transform:translate(0,-4px) scale(1)}}
.yTm7{animation:yTm7k 10s linear infinite both;transform-box:fill-box;transform-origin:0% 100%;}
@keyframes yTty8k{0%{opacity:0;transform:translate(0,4px) scale(0.8)}15%{opacity:0;transform:translate(0,4px) scale(0.8)}17%{opacity:1;transform:translate(0,0) scale(1)}27%{opacity:1;transform:translate(0,0) scale(1)}29%{opacity:0;transform:translate(0,-4px) scale(1)}100%{opacity:0;transform:translate(0,-4px) scale(1)}}
.yTty8{animation:yTty8k 10s linear infinite both;transform-box:fill-box;transform-origin:100% 100%;}
@keyframes yTm9k{0%{opacity:0;transform:translate(0,8px) scale(0.9)}29%{opacity:0;transform:translate(0,8px) scale(0.9)}32.5%{opacity:1;transform:translate(0,0) scale(1)}88%{opacity:1;transform:translate(0,0) scale(1)}91.5%{opacity:0;transform:translate(0,-4px) scale(1)}100%{opacity:0;transform:translate(0,-4px) scale(1)}}
.yTm9{animation:yTm9k 10s linear infinite both;transform-box:fill-box;transform-origin:100% 100%;}
@keyframes yTht10k{0%{opacity:0;transform:translate(0,0px) scale(0.3)}34%{opacity:0;transform:translate(0,0px) scale(0.3)}36.5%{opacity:1;transform:translate(0,0) scale(1)}88%{opacity:1;transform:translate(0,0) scale(1)}90.5%{opacity:0;transform:translate(0,-4px) scale(1)}100%{opacity:0;transform:translate(0,-4px) scale(1)}}
.yTht10{animation:yTht10k 10s linear infinite both;transform-box:fill-box;transform-origin:50% 50%;}
@keyframes yTm11k{0%{opacity:0;transform:translate(0,8px) scale(0.9)}52%{opacity:0;transform:translate(0,8px) scale(0.9)}55.5%{opacity:1;transform:translate(0,0) scale(1)}88%{opacity:1;transform:translate(0,0) scale(1)}91.5%{opacity:0;transform:translate(0,-4px) scale(1)}100%{opacity:0;transform:translate(0,-4px) scale(1)}}
.yTm11{animation:yTm11k 10s linear infinite both;transform-box:fill-box;transform-origin:0% 100%;}
@keyframes yTm12k{0%{opacity:0;transform:translate(0,8px) scale(0.9)}66%{opacity:0;transform:translate(0,8px) scale(0.9)}69.5%{opacity:1;transform:translate(0,0) scale(1)}88%{opacity:1;transform:translate(0,0) scale(1)}91.5%{opacity:0;transform:translate(0,-4px) scale(1)}100%{opacity:0;transform:translate(0,-4px) scale(1)}}
.yTm12{animation:yTm12k 10s linear infinite both;transform-box:fill-box;transform-origin:100% 100%;}
.yTlb13{transform-box:view-box;transform-origin:486px 58px;animation:svSwing 5s ease-in-out infinite;}
.yTstm14{animation:svSteam 3.3s ease-in-out 0s infinite;}
.yTstm15{animation:svSteam 3.3s ease-in-out 1.1s infinite;}
.yTstm16{animation:svSteam 3.3s ease-in-out 2.2s infinite;}
.yTpl17{transform-box:fill-box;transform-origin:50% 100%;animation:svSway 7s ease-in-out infinite;}

.aTst1{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 3.2s ease-in-out 0.2s infinite;}
.aTsp2{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 2.6s ease-in-out 1.1s infinite;}
@keyframes aTflg6k{0%{opacity:0;transform:translate(0,6px) scale(0.6)}32%{opacity:0;transform:translate(0,6px) scale(0.6)}35.5%{opacity:1;transform:translate(0,0) scale(1)}88%{opacity:1;transform:translate(0,0) scale(1)}91.5%{opacity:0;transform:translate(0,-4px) scale(1)}100%{opacity:0;transform:translate(0,-4px) scale(1)}}
.aTflg6{animation:aTflg6k 10s linear infinite both;transform-box:fill-box;transform-origin:0% 100%;}
@keyframes aTsa8k{0%{transform:scaleY(1)}86%{transform:scaleY(.08)}100%{transform:scaleY(.08)}}
.aTsa8{animation:aTsa8k 10s linear infinite both;transform-box:fill-box;transform-origin:50% 100%;}
@keyframes aTsb9k{0%{transform:scaleY(.1)}86%{transform:scaleY(1)}100%{transform:scaleY(1)}}
.aTsb9{animation:aTsb9k 10s linear infinite both;transform-box:fill-box;transform-origin:50% 100%;}
@keyframes aTsm10k{0%{opacity:.9}85%{opacity:.9}87%{opacity:0}100%{opacity:0}}
.aTsm10{animation:aTsm10k 10s linear infinite both;}
@keyframes aThg7k{0%{transform:rotate(0deg)}89%{transform:rotate(0deg)}98%{transform:rotate(180deg)}100%{transform:rotate(180deg)}}
.aThg7{animation:aThg7k 10s ease-in-out infinite both;transform-box:fill-box;transform-origin:50% 50%;}
.aThh11{transform-box:view-box;transform-origin:490px 112px;animation:svSpin 40s linear infinite;}
.aTmh12{transform-box:view-box;transform-origin:490px 112px;animation:svSpin 5s linear infinite;}
.aTpl13{transform-box:fill-box;transform-origin:50% 100%;animation:svSway 7s ease-in-out infinite;}
.aTcirc3{stroke-dasharray:102.8 108.8;stroke-dashoffset:102.8;animation:aTcirc3w 10s linear infinite both;}
@keyframes aTcirc3w{0%,8%{stroke-dashoffset:102.8;opacity:0}8.2%{opacity:1}16%{stroke-dashoffset:0;opacity:1}88%{stroke-dashoffset:0;opacity:1}93%,100%{stroke-dashoffset:0;opacity:0}}
.aTarr4{stroke-dasharray:83.5 89.5;stroke-dashoffset:83.5;animation:aTarr4w 10s linear infinite both;}
@keyframes aTarr4w{0%,19%{stroke-dashoffset:83.5;opacity:0}19.2%{opacity:1}28%{stroke-dashoffset:0;opacity:1}88%{stroke-dashoffset:0;opacity:1}93%,100%{stroke-dashoffset:0;opacity:0}}
.aTah5{stroke-dasharray:19.7 25.7;stroke-dashoffset:19.7;animation:aTah5w 10s linear infinite both;}
@keyframes aTah5w{0%,28%{stroke-dashoffset:19.7;opacity:0}28.2%{opacity:1}30%{stroke-dashoffset:0;opacity:1}88%{stroke-dashoffset:0;opacity:1}93%,100%{stroke-dashoffset:0;opacity:0}}

.eBsp1{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 2.6s ease-in-out 1.1s infinite;}
.eBst2{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 3.2s ease-in-out 0.2s infinite;}
@keyframes eBcard3k{0%{transform:rotate(0deg)}5%{transform:rotate(0deg)}10%{transform:rotate(-16deg)}89%{transform:rotate(-16deg)}95%{transform:rotate(0deg)}100%{transform:rotate(0deg)}}
.eBcard3{animation:eBcard3k 10s cubic-bezier(.3,.7,.3,1) infinite both;transform-box:view-box;transform-origin:210px 260px;}
@keyframes eBcard4k{0%{transform:rotate(0deg)}14%{transform:rotate(0deg)}19%{transform:rotate(0deg)}89%{transform:rotate(0deg)}95%{transform:rotate(0deg)}100%{transform:rotate(0deg)}}
.eBcard4{animation:eBcard4k 10s cubic-bezier(.3,.7,.3,1) infinite both;transform-box:view-box;transform-origin:210px 260px;}
@keyframes eBcard5k{0%{transform:rotate(0deg)}23%{transform:rotate(0deg)}28%{transform:rotate(16deg)}89%{transform:rotate(16deg)}95%{transform:rotate(0deg)}100%{transform:rotate(0deg)}}
.eBcard5{animation:eBcard5k 10s cubic-bezier(.3,.7,.3,1) infinite both;transform-box:view-box;transform-origin:210px 260px;}
@keyframes eBok6k{0%{opacity:0;transform:translate(0,0px) scale(0.3)}36%{opacity:0;transform:translate(0,0px) scale(0.3)}39%{opacity:1;transform:translate(0,0) scale(1)}89%{opacity:1;transform:translate(0,0) scale(1)}92%{opacity:0;transform:translate(0,-4px) scale(1)}100%{opacity:0;transform:translate(0,-4px) scale(1)}}
.eBok6{animation:eBok6k 10s linear infinite both;transform-box:fill-box;transform-origin:50% 50%;}

.rBsp1{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 2.6s ease-in-out 0.4s infinite;}
.rBst2{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 3.2s ease-in-out 1.3s infinite;}
@keyframes rBrow3k{0%{transform:scaleX(0)}4%{transform:scaleX(0)}8%{transform:scaleX(1)}89%{transform:scaleX(1)}94%{transform:scaleX(0)}100%{transform:scaleX(0)}}
.rBrow3{animation:rBrow3k 10s ease-out infinite both;transform-box:fill-box;transform-origin:0% 50%;}
@keyframes rBrow4k{0%{transform:scaleX(0)}6.5%{transform:scaleX(0)}10.5%{transform:scaleX(1)}89%{transform:scaleX(1)}94%{transform:scaleX(0)}100%{transform:scaleX(0)}}
.rBrow4{animation:rBrow4k 10s ease-out infinite both;transform-box:fill-box;transform-origin:0% 50%;}
@keyframes rBrow5k{0%{transform:scaleX(0)}9%{transform:scaleX(0)}13%{transform:scaleX(1)}89%{transform:scaleX(1)}94%{transform:scaleX(0)}100%{transform:scaleX(0)}}
.rBrow5{animation:rBrow5k 10s ease-out infinite both;transform-box:fill-box;transform-origin:0% 50%;}
@keyframes rBrow6k{0%{transform:scaleX(0)}11.5%{transform:scaleX(0)}15.5%{transform:scaleX(1)}89%{transform:scaleX(1)}94%{transform:scaleX(0)}100%{transform:scaleX(0)}}
.rBrow6{animation:rBrow6k 10s ease-out infinite both;transform-box:fill-box;transform-origin:0% 50%;}
@keyframes rBrow7k{0%{transform:scaleX(0)}14%{transform:scaleX(0)}18%{transform:scaleX(1)}89%{transform:scaleX(1)}94%{transform:scaleX(0)}100%{transform:scaleX(0)}}
.rBrow7{animation:rBrow7k 10s ease-out infinite both;transform-box:fill-box;transform-origin:0% 50%;}
@keyframes rBrow8k{0%{transform:scaleX(0)}16.5%{transform:scaleX(0)}20.5%{transform:scaleX(1)}89%{transform:scaleX(1)}94%{transform:scaleX(0)}100%{transform:scaleX(0)}}
.rBrow8{animation:rBrow8k 10s ease-out infinite both;transform-box:fill-box;transform-origin:0% 50%;}
@keyframes rBseal9k{0%{transform:scale(1.6);opacity:0}23%{transform:scale(1.6);opacity:0}26%{transform:scale(.94);opacity:1}27.5%{transform:scale(1);opacity:1}89%{transform:scale(1);opacity:1}93%{transform:scale(1);opacity:0}100%{transform:scale(1.6);opacity:0}}
.rBseal9{animation:rBseal9k 10s linear infinite both;transform-box:fill-box;transform-origin:50% 40%;}
.rBsp10{transform-box:fill-box;transform-origin:50% 50%;animation:svTwinkle 2.6s ease-in-out 2.8s infinite;}

/* 2.12: tablets show the whole top scene (the card is wide there) */
@media(min-width:481px) and (max-width:900px){.gb-svc-top .gb-media{height:clamp(220px,40vw,320px)!important;}}

/* ===== 2.13 still pictures (editorial illustrations) ===== */
.sv-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;border:0;}
.sv-pic{position:absolute;inset:0;display:block;}

/* ===== 2.12 vector scenes (kept) ===== */
/* svcart-bot-packages */

/* svcart-bot-docprep */
@keyframes vdb-wrapK{0%{opacity:0;transform:translate(0,0)}3.5%{opacity:1;transform:translate(0,0)}86%{opacity:1;transform:translate(0,0);animation-timing-function:ease-in}92%{opacity:0;transform:translate(26px,-10px)}96%{opacity:0;transform:translate(0,0)}100%{opacity:0;transform:translate(0,0)}}
.vdb-wrap{animation:vdb-wrapK 10s linear infinite both;}
@keyframes vdb-floatK{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.vdb-float{transform-box:view-box;transform-origin:0 0;animation:vdb-floatK 3.4s ease-in-out infinite ;}
@keyframes vdb-oflapK{0%{transform:scaleY(1);opacity:1}32%{transform:scaleY(1);opacity:1;animation-timing-function:ease-in}35.5%{transform:scaleY(0);opacity:1}96%{transform:scaleY(0);opacity:1}96.2%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:1}}
.vdb-oflap{transform-box:fill-box;transform-origin:50% 100%;animation:vdb-oflapK 10s linear infinite both;}
@keyframes vdb-pp0K{0%{transform:translate(-21px,138px) rotate(-18deg);opacity:0}3%{transform:translate(-21px,138px) rotate(-18deg);opacity:0;animation-timing-function:cubic-bezier(.2,.8,.3,1)}12%{transform:translate(129px,98px) rotate(-2.2deg);opacity:1}19%{transform:translate(129px,98px) rotate(-2.2deg);opacity:1;animation-timing-function:cubic-bezier(.45,0,.3,1)}30%{transform:translate(132px,195.8px) rotate(-0.66deg);opacity:1}96%{transform:translate(132px,195.8px) rotate(-0.66deg);opacity:1}96.2%{transform:translate(-21px,138px) rotate(-18deg);opacity:0}100%{transform:translate(-21px,138px) rotate(-18deg);opacity:0}}
.vdb-pp0{transform-box:view-box;transform-origin:0 0;animation:vdb-pp0K 10s linear infinite both;}
@keyframes vdb-pp1K{0%{transform:translate(134px,-18px) rotate(8deg);opacity:0}5.5%{transform:translate(134px,-18px) rotate(8deg);opacity:0;animation-timing-function:cubic-bezier(.2,.8,.3,1)}14.5%{transform:translate(134px,92px) rotate(0deg);opacity:1}19%{transform:translate(134px,92px) rotate(0deg);opacity:1;animation-timing-function:cubic-bezier(.45,0,.3,1)}30%{transform:translate(134px,194px) rotate(0deg);opacity:1}96%{transform:translate(134px,194px) rotate(0deg);opacity:1}96.2%{transform:translate(134px,-18px) rotate(8deg);opacity:0}100%{transform:translate(134px,-18px) rotate(8deg);opacity:0}}
.vdb-pp1{transform-box:view-box;transform-origin:0 0;animation:vdb-pp1K 10s linear infinite both;}
@keyframes vdb-pp2K{0%{transform:translate(289px,126px) rotate(16deg);opacity:0}8%{transform:translate(289px,126px) rotate(16deg);opacity:0;animation-timing-function:cubic-bezier(.2,.8,.3,1)}17%{transform:translate(139px,96px) rotate(2deg);opacity:1}19%{transform:translate(139px,96px) rotate(2deg);opacity:1;animation-timing-function:cubic-bezier(.45,0,.3,1)}30%{transform:translate(136px,195.2px) rotate(0.6deg);opacity:1}96%{transform:translate(136px,195.2px) rotate(0.6deg);opacity:1}96.2%{transform:translate(289px,126px) rotate(16deg);opacity:0}100%{transform:translate(289px,126px) rotate(16deg);opacity:0}}
.vdb-pp2{transform-box:view-box;transform-origin:0 0;animation:vdb-pp2K 10s linear infinite both;}
@keyframes vdb-cflapK{0%{transform:scaleY(0)}35.5%{transform:scaleY(0);animation-timing-function:ease-out}39.5%{transform:scaleY(1)}96%{transform:scaleY(1)}96.2%{transform:scaleY(0)}100%{transform:scaleY(0)}}
.vdb-cflap{transform-box:fill-box;transform-origin:50% 0%;animation:vdb-cflapK 10s linear infinite both;}
@keyframes vdb-sealK{0%{transform:scale(0)}40.5%{transform:scale(0);animation-timing-function:cubic-bezier(.3,1.8,.5,1)}44.5%{transform:scale(1)}96%{transform:scale(1)}96.2%{transform:scale(0)}100%{transform:scale(0)}}
.vdb-seal{transform-box:fill-box;transform-origin:50% 50%;animation:vdb-sealK 10s linear infinite both;}
@keyframes vdb-stampK{0%{transform:scale(1.6) rotate(-14deg);opacity:0}46%{transform:scale(1.6) rotate(-14deg);opacity:0;animation-timing-function:cubic-bezier(.3,1.4,.5,1)}49.5%{transform:scale(1) rotate(-8deg);opacity:1}96%{transform:scale(1) rotate(-8deg);opacity:1}96.2%{transform:scale(1) rotate(-8deg);opacity:0}100%{transform:scale(1) rotate(-8deg);opacity:0}}
.vdb-stamp{transform-box:fill-box;transform-origin:50% 50%;animation:vdb-stampK 10s linear infinite both;}
@keyframes vdb-tw0K{0%,100%{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}
.vdb-tw0{transform-box:fill-box;transform-origin:50% 50%;animation:vdb-tw0K 3s ease-in-out 0.3s infinite ;}
@keyframes vdb-tw1K{0%,100%{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}
.vdb-tw1{transform-box:fill-box;transform-origin:50% 50%;animation:vdb-tw1K 3s ease-in-out 1.2s infinite ;}
@keyframes vdb-tw2K{0%,100%{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}
.vdb-tw2{transform-box:fill-box;transform-origin:50% 50%;animation:vdb-tw2K 3s ease-in-out 2.1s infinite ;}
