/* Shared brand assets: flowing hero layers and stationary, irregular footer flanks. */
.ca-banner-gallery{position:absolute;pointer-events:none;overflow:hidden;z-index:0}
.ca-banner-track{display:grid;gap:12px}
.ca-banner-tile{display:flex;align-items:center;justify-content:center;position:relative;width:100%;aspect-ratio:13/10;min-width:0;padding:16px;overflow:hidden;border:0;border-radius:3px;box-shadow:none;opacity:.48;pointer-events:auto;transition:opacity 1s ease,box-shadow 1s ease}
.ca-brand-tile img{display:block;width:100%;height:48px;object-fit:contain}
.ca-brand-tile b{font:700 18px/1.25 Arial,sans-serif;text-align:center;overflow-wrap:anywhere;color:#fff}
.ca-brand-color-0{background:#335bba}.ca-brand-color-1{background:#6947ad}.ca-brand-color-2{background:#137965}.ca-brand-color-3{background:#a34452}.ca-brand-color-4{background:#24546c}.ca-brand-color-5{background:#8a571d}
.ca-banner-tile:hover,.ca-banner-tile:focus-visible,.ca-banner-tile.is-illuminated{opacity:1;box-shadow:0 0 24px #668fff70}
.ca-brand-tile.ca-brand-readable{background:#f7f3e8;opacity:.92;box-shadow:inset 0 0 0 1px #d9dfc8}
.ca-brand-readable b{color:#205b35}
.ca-brand-readable:hover,.ca-brand-readable:focus-visible,.ca-brand-readable.is-illuminated{opacity:1;box-shadow:0 0 24px #668fff70}
.ca-banner-tile:hover,.ca-banner-tile:focus-visible{transition-duration:.25s}
.ca-banner-tile:focus-visible{outline:3px solid #66c6ff;outline-offset:-3px}
.ca-banner-hero{top:120px;height:840px;width:clamp(0px,calc((100vw - 880px)/2),400px);mask-image:linear-gradient(transparent,#000 12%,#000 78%,transparent)}
.ca-blue-section>.ca-banner-hero{height:min(840px,calc(100% - 160px))}
.ca-banner-left{left:0;right:auto}.ca-banner-right{right:0;left:auto}
.ca-banner-hero .ca-banner-track{width:426px;grid-template-columns:repeat(3,130px);gap:12px;transform:rotate(-8deg);transform-origin:top right;padding:20px 0 60px 24px}
.ca-banner-hero.ca-banner-left .ca-banner-track{position:relative;left:calc(100% - 426px);transform:rotate(8deg);transform-origin:top left;padding:20px 24px 60px 0}
.ca-banner-column{display:flex;flex-direction:column;gap:12px;animation:ca-brand-flow 64s linear infinite}
.ca-banner-column:nth-child(2){margin-top:-65px;animation-duration:52s;animation-direction:reverse;animation-delay:-17s}
.ca-banner-column:nth-child(3){margin-top:32px;animation-duration:46s;animation-delay:-9s}
.ca-banner-left .ca-banner-column{animation-direction:reverse;animation-duration:71s;animation-delay:-11s}
.ca-banner-left .ca-banner-column:nth-child(2){animation-direction:normal;animation-duration:58s;animation-delay:-23s}
.ca-banner-left .ca-banner-column:nth-child(3){animation-duration:49s;animation-delay:-5s}
@keyframes ca-brand-flow{to{transform:translate3d(0,calc((-100% - 12px)/3),0)}}
.ca-banner-preview .ca-footer{min-height:750px;background:#fff;padding:100px 0 46px;border-radius:24px 24px 0 0}
.ca-banner-preview .ca-footer>.ca-wrap{width:calc(100% - 600px);max-width:1000px;margin-inline:auto}
.ca-banner-preview .ca-footer-grid{gap:36px;margin-top:52px;max-width:none}
.ca-banner-preview .ca-footer-grid a{line-height:1.8}
.ca-banner-preview .ca-footer-bottom{margin-top:80px;max-width:none}
.ca-banner-preview .ca-footer-company{margin-top:26px}
.ca-banner-footer{width:270px;top:0;height:100%;padding:38px 22px}
.ca-banner-footer .ca-banner-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;transform:none}
.ca-banner-footer .ca-banner-tile:nth-child(4n+1){translate:-4px 12px}
.ca-banner-footer .ca-banner-tile:nth-child(4n+2){translate:5px 55px}
.ca-banner-footer .ca-banner-tile:nth-child(4n+3){translate:3px 26px}
.ca-banner-footer .ca-banner-tile:nth-child(4n){translate:-2px 70px}
.ca-banner-footer.ca-banner-left{padding-top:71px}
.ca-banner-footer.ca-banner-left .ca-banner-tile:nth-child(4n+1){translate:2px 41px}
.ca-banner-footer.ca-banner-left .ca-banner-tile:nth-child(4n+2){translate:-3px 4px}
.ca-banner-footer.ca-banner-left .ca-banner-tile:nth-child(4n+3){translate:-5px 58px}
.ca-banner-footer.ca-banner-left .ca-banner-tile:nth-child(4n){translate:4px 20px}
@media(min-width:1800px){.ca-banner-footer{width:310px;padding-inline:30px}.ca-banner-preview .ca-footer>.ca-wrap{width:calc(100% - 700px)}}
@media(max-width:1199px) and (min-width:801px){.ca-banner-footer{width:175px;padding-inline:12px}.ca-banner-footer .ca-banner-track{gap:24px 12px}.ca-banner-footer .ca-brand-tile{padding:10px}.ca-banner-footer .ca-brand-tile b{font-size:12px}.ca-banner-preview .ca-footer>.ca-wrap{width:calc(100% - 390px)}.ca-banner-preview .ca-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.ca-banner-hero{display:none}}
@media(max-width:800px){.ca-banner-preview .ca-footer{padding:64px 20px 36px;min-height:0}.ca-banner-preview .ca-footer>.ca-wrap{width:100%;margin:36px 0 0}.ca-banner-footer{position:relative;left:auto;right:auto;top:auto;display:inline-block;vertical-align:top;width:calc(50% - 3px);height:auto;padding:8px 12px 36px;overflow:visible}.ca-banner-footer.ca-banner-left{padding-top:24px}.ca-banner-footer .ca-banner-track{gap:24px 14px}.ca-banner-footer .ca-banner-tile:nth-child(n+5){display:none}.ca-banner-footer .ca-brand-tile{padding:8px}.ca-brand-tile b{font-size:12px}.ca-banner-footer .ca-banner-tile:nth-child(n){translate:0 0}.ca-banner-footer .ca-banner-tile:nth-child(even){translate:0 16px}.ca-banner-footer.ca-banner-left .ca-banner-tile:nth-child(odd){translate:0 9px}.ca-banner-preview .ca-footer-grid{gap:28px}.ca-banner-preview .ca-footer-bottom{margin-top:48px}}
@media(prefers-reduced-motion:reduce){.ca-banner-column{animation:none!important}.ca-banner-tile,.ca-brand-tile.ca-brand-readable{transition:none;opacity:1}}
