/* Full-width AI image banners: sky blue prism reveal and staggered copy. */
.banner-slider{position:relative;background:#eaf6fd;isolation:isolate;overflow:hidden;--slide-duration:4000ms;outline-offset:-5px}.banner-slides{position:relative;height:clamp(610px,46vw,740px)}.banner-slide{position:absolute;inset:0;opacity:0;visibility:hidden;z-index:0;overflow:hidden;transition:opacity .55s ease,visibility .55s;pointer-events:none}.banner-slide.is-active{opacity:1;visibility:visible;z-index:2;pointer-events:auto}.banner-slide.is-leaving{visibility:visible;z-index:1}.banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.035);filter:saturate(.94)}.banner-slide.is-active .banner-image{animation:bannerDrift 5s ease-out both}.banner-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,252,255,.96) 0%,rgba(242,250,255,.92) 23%,rgba(238,249,255,.68) 39%,rgba(233,246,255,.15) 61%,transparent 76%)}.banner-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:30px;padding-bottom:95px;z-index:2}.banner-content .eyebrow{font-size:10px;margin-bottom:23px}.banner-title{font-size:clamp(42px,4.6vw,68px);font-weight:800;line-height:1.14;letter-spacing:-2.7px;max-width:670px}.banner-line{display:block;overflow:hidden;padding-bottom:7px;margin-bottom:-7px}.banner-line>span{display:block;transform:translateY(115%);opacity:0;filter:blur(6px)}.banner-slide.is-active .banner-line>span{animation:bannerTextUp .5s cubic-bezier(.18,.72,.2,1) both;animation-delay:.08s}.banner-slide.is-active .banner-line:nth-child(2)>span{animation-delay:.14s}.banner-slide.is-active .banner-line:nth-child(3)>span{animation-delay:.2s}.banner-description{max-width:445px;font-size:15px;line-height:1.85;margin-top:25px;color:#4e6b80}.banner-actions{display:flex;align-items:center;gap:29px;margin-top:29px}.banner-signature{display:flex;align-items:center;gap:11px;font-size:8px;font-weight:600;letter-spacing:1.35px;color:#4d7893;margin-top:33px}.banner-signature>span{color:var(--brand);font-size:21px;line-height:1}.banner-enter{opacity:0;transform:translateY(16px)}.banner-slide.is-active .banner-enter{animation:bannerFadeUp .45s ease both;animation-delay:.1s}.banner-slide.is-active .banner-description{animation-delay:.24s}.banner-slide.is-active .banner-actions{animation-delay:.3s}.banner-slide.is-active .banner-signature{animation-delay:.36s}.banner-controls{position:absolute;z-index:5;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;min-height:86px;border-top:1px solid #bcdcea80}.banner-tabs{display:flex;gap:28px;align-self:stretch}.banner-tab{position:relative;display:flex;gap:11px;align-items:center;border:0;background:transparent;color:#637f93;font-size:12px;font-weight:600;padding:10px 0;min-width:128px;text-align:left}.banner-tab .tab-number{font-size:9px;color:#87a2b5}.banner-tab.is-active{color:var(--primary)}.banner-tab i{height:2px;background:#b9d9e9;position:absolute;bottom:18px;left:0;right:0;overflow:hidden}.banner-tab i:after{content:'';position:absolute;inset:0;background:var(--brand);transform:scaleX(0);transform-origin:left}.banner-tab.is-active i:after{transform:scaleX(var(--progress,0))}.banner-navigation{display:flex;align-items:center;gap:10px}.slide-counter{font-size:10px;letter-spacing:1px;color:#7c98ac;margin-right:13px}.slide-counter b{color:var(--primary);font-weight:700}.banner-navigation button{height:36px;width:36px;border:1px solid #a9d0e4;border-radius:50%;background:#ffffffa6;font-size:17px;color:var(--primary);display:grid;place-items:center;transition:background .25s,color .25s,transform .25s}.banner-navigation button:hover{background:var(--primary);color:white;transform:translateY(-2px)}.banner-navigation .banner-pause{border:0;background:transparent;width:26px;font-size:15px}.banner-prism{position:absolute;z-index:4;top:-15%;bottom:-15%;left:-45%;width:32%;background:linear-gradient(90deg,transparent,#ffffff88 45%,#77cdf24d 52%,transparent);transform:skewX(-19deg);pointer-events:none;opacity:0}.banner-slider.is-switching .banner-prism{animation:prismSweep .65s cubic-bezier(.26,.5,.42,1) both}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes bannerDrift{from{transform:scale(1.045) translateX(8px)}to{transform:scale(1.005) translateX(0)}}@keyframes bannerTextUp{from{opacity:0;transform:translateY(115%);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes bannerFadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes prismSweep{0%{left:-45%;opacity:0}15%{opacity:1}85%{opacity:.8}100%{left:115%;opacity:0}}
@media(min-width:1650px){.banner-shade{background:linear-gradient(90deg,#f6fcfff5,#f2faffdd 24%,#eef9ff70 43%,transparent 65%)}.banner-title{font-size:68px}}
@media(max-width:1100px){.banner-title{font-size:51px;max-width:540px}.banner-description{max-width:390px;font-size:14px}.banner-shade{background:linear-gradient(90deg,#f6fcfffa,#f2faffeb 26%,#eef9ff8c 48%,transparent 80%)}.banner-tab{min-width:112px;font-size:11px}.banner-tabs{gap:20px}}
@media(max-width:900px){.banner-slides{height:620px}.banner-title{font-size:45px;max-width:490px;letter-spacing:-2px}.banner-description{max-width:355px}.banner-image{object-position:60% center}.banner-controls{min-height:80px}.banner-tabs{gap:17px}.banner-tab{min-width:94px;font-size:10px}.banner-tab .tab-number{font-size:8px}.banner-navigation{gap:7px}.slide-counter{margin-right:4px}.banner-navigation button{width:31px;height:31px}.banner-actions{gap:20px}.banner-actions .text-link{font-size:11px}}
@media(max-width:640px){.banner-slides{height:750px}.banner-image{height:100%;object-position:69% bottom}.banner-shade{background:linear-gradient(180deg,#f5fbfffa 0%,#f2fafff5 24%,#f0faffeb 43%,#edf8ff3d 70%,#edf8ffb3 100%)}.banner-content{justify-content:flex-start;padding-top:39px;padding-bottom:0}.banner-title{font-size:clamp(32px,8.1vw,45px);line-height:1.17;letter-spacing:-1.7px}.banner-content .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:20px}.banner-description{font-size:13px;line-height:1.8;max-width:360px;margin-top:21px}.banner-actions{gap:18px;margin-top:23px}.banner-actions .button{font-size:11px;padding:13px 15px;gap:17px}.banner-actions .text-link{font-size:10px;gap:7px}.banner-signature{font-size:6px;letter-spacing:.9px;margin-top:23px}.banner-controls{min-height:94px;align-items:center;gap:10px}.banner-tabs{gap:13px;flex:1;min-width:0}.banner-tab{min-width:0;gap:5px;flex-direction:column;align-items:start;justify-content:center;font-size:8px;line-height:1.4;flex:1;padding-bottom:20px}.banner-tab i{bottom:16px}.banner-navigation{gap:5px;flex-wrap:wrap;width:110px;justify-content:end}.slide-counter{display:none}.banner-navigation button{width:30px;height:30px;font-size:15px}.banner-navigation .banner-pause{width:23px}.banner-prism{width:55%}}
@media(max-width:380px){.banner-slides{height:720px}.banner-title{font-size:31px}.banner-description{font-size:12px}.banner-actions{gap:13px}.banner-tabs{gap:9px}}
@media(prefers-reduced-motion:reduce){.banner-slide,.banner-image,.banner-line>span,.banner-enter,.banner-prism{animation:none!important;transition:none!important}.banner-slide.is-active .banner-line>span,.banner-slide.is-active .banner-enter{opacity:1;transform:none;filter:none}.banner-prism{display:none}}
