/* Banner motion and compositions, keeping the source's 4:1 full-width geometry. */
.fidelity .hero-scenes,.fidelity .hero-scene{position:absolute;inset:0}
.fidelity .hero-scene{opacity:0;transition:opacity .5s ease;pointer-events:none}
.fidelity .hero-scene.active{opacity:1}
.fidelity .hero .hero-image{transform:none;filter:none}
.fidelity .hero-scene:not(:first-child){display:flex;align-items:center;justify-content:flex-end;gap:3%;padding:2% 9% 2% 42%}
.fidelity .scene-art{background:#eee7df}
.fidelity .scene-event{background:#eaf0f2}
.fidelity .hero-scene:not(:first-child)>img{height:94%;min-width:0;max-width:48%;object-fit:cover;box-shadow:0 14px 30px #29231b18;border-radius:5px}
.fidelity .scene-art>img:first-child{transform:rotate(-4deg)}
.fidelity .scene-art>img:last-child{transform:rotate(5deg);height:78%}
.fidelity .hero-scene.scene-event{gap:2%;padding-right:6%}
.fidelity .scene-event>img{max-width:31%;object-fit:contain!important;background:white}
.fidelity .scene-event>img:nth-child(2){transform:translateY(-5%)}
.fidelity .scene-event>img:nth-child(3){height:65%}
.fidelity .hero-shade{transition:background .5s}
.fidelity .hero.slide-1 .hero-shade{background:linear-gradient(90deg,#eee7df 15%,#eee7dff2 33%,#eee7df00 55%)}
.fidelity .hero.slide-2 .hero-shade{background:linear-gradient(90deg,#eaf0f2 15%,#eaf0f2f2 33%,#eaf0f200 55%)}
.fidelity .hero-copy.copy-animate{animation:bannerCopyFade .5s ease both}
.fidelity .hero-bottom{inset:0;pointer-events:none;z-index:3}
.fidelity .hero-bottom button{pointer-events:auto}
.fidelity .slide-tabs{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);gap:5px;padding:5px}
.fidelity .slide-tabs button,.fidelity .slide-tabs button.selected{background:#0003}
.fidelity .slide-tabs button.selected:after{animation:none;transform:scaleX(var(--slide-progress,0));background:#0005;transition:transform .1s linear}
.fidelity .slide-controls{position:static}
.fidelity .slide-controls>span{position:absolute;right:calc(var(--page-gutter) + 42px);bottom:20px;font-size:12px;color:#555}
.fidelity .slide-controls button[data-action="previous-slide"],.fidelity .slide-controls button[data-action="next-slide"]{position:absolute;top:calc(50% - 20px);width:40px;height:40px;background:#fff9;padding:10px;border-radius:50%}
.fidelity .slide-controls button[data-action="previous-slide"]{left:20px;transform:translateX(20px)}
.fidelity .slide-controls button[data-action="next-slide"]{right:20px;transform:translateX(-20px)}
.fidelity .hero:hover .slide-controls button,.fidelity .hero:focus-within .slide-controls button{transform:translateX(0)}
.fidelity #pause-slide{position:absolute;right:var(--page-gutter);bottom:18px}
@keyframes bannerCopyFade{from{opacity:0}to{opacity:1}}
@media(max-width:1536px) and (min-width:901px){
 .fidelity .hero-copy{padding-top:24px}
 .fidelity .hero h1{font-size:32px;margin:10px 0}
 .fidelity .hero-copy p{margin-bottom:12px}
 .fidelity .hero-tags{margin-top:9px}
}
@media(max-width:900px){
 .fidelity .hero-scene:not(:first-child){padding:6% 4% 6% 37%;opacity:0}
 .fidelity .hero-scene.active{opacity:1}
 .fidelity .slide-tabs{left:var(--page-gutter);transform:none}
 .fidelity .slide-controls button[data-action="previous-slide"],.fidelity .slide-controls button[data-action="next-slide"]{display:none}
}
@media(prefers-reduced-motion:reduce){
 .fidelity .hero-scene,.fidelity .hero-shade{transition:none}
 .fidelity .hero-copy.copy-animate{animation:none}
}
