/* Our Placements — independently scoped, responsive dual-direction marquees. */
.ct-placements{position:relative;isolation:isolate;overflow:hidden;padding:84px 0 90px;color:#0d1b3e;background:radial-gradient(ellipse at 8% 14%,rgba(0,194,232,.12),transparent 38%),radial-gradient(ellipse at 90% 88%,rgba(0,96,230,.085),transparent 38%),#f8fbff}
.ct-placements:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,96,230,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,96,230,.045) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;z-index:-1}
.ct-placements-heading{position:relative;max-width:820px;padding:0 24px;margin:0 auto 38px;text-align:center}
.ct-placements-kicker{display:inline-block;padding:7px 16px;border:1px solid #d6e8ff;border-radius:99px;background:#eaf4ff;color:#0060e6;font-size:11px;line-height:1.5;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.ct-placements-heading h2{font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(29px,3.6vw,44px);font-weight:800;letter-spacing:-.045em;line-height:1.17;margin:16px 0 12px;color:#0d1b3e}
.ct-placements-heading h2 span{color:#0060e6}
.ct-placements-heading p{font-size:clamp(14px,1.4vw,16px);line-height:1.7;color:#5a6a8a;margin:0}
.ct-placements-marquee{display:grid;gap:18px;width:100%;-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.ct-placements-row{overflow:hidden}
.ct-placements-track{display:flex;width:max-content;will-change:transform;animation:ct-placements-move-left 44s linear infinite}
.ct-placements-row--right .ct-placements-track{animation-name:ct-placements-move-right;animation-duration:40s}
.ct-placement-logo-set{display:flex;flex:none;gap:18px;padding-right:18px;align-items:center}
.ct-placement-logo-card{flex:0 0 232px;width:232px;height:120px;border:1px solid #e3ebf7;border-radius:17px;padding:12px;background:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(13,27,62,.055);transition:border-color .2s,box-shadow .2s,transform .2s}
.ct-placement-logo-card picture{width:100%;height:100%;display:grid;place-items:center}
.ct-placement-logo-card img{width:100%;height:100%;object-fit:contain;display:block}
.ct-placement-logo-card--dark picture{padding:4px;border-radius:10px;background:#17283c}
.ct-placement-logo-card:hover{border-color:#bcd9ff;box-shadow:0 12px 28px rgba(0,96,230,.11);transform:translateY(-2px)}
.ct-placements:hover .ct-placements-track{animation-play-state:paused}
@keyframes ct-placements-move-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes ct-placements-move-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:650px){.ct-placements{padding:58px 0 66px}.ct-placements-heading{margin-bottom:30px}.ct-placements-marquee{gap:12px;-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}.ct-placement-logo-set{gap:12px;padding-right:12px}.ct-placement-logo-card{flex-basis:185px;width:185px;height:105px;padding:10px;border-radius:14px}.ct-placements-row--right .ct-placements-track{animation-duration:36s}.ct-placements-row--left .ct-placements-track{animation-duration:42s}}
@media(prefers-reduced-motion:reduce){.ct-placements-marquee{-webkit-mask-image:none;mask-image:none}.ct-placements-row{overflow-x:auto;scrollbar-width:thin}.ct-placements-track{animation:none!important;will-change:auto}.ct-placement-logo-set[aria-hidden="true"]{display:none}.ct-placement-logo-card{transition:none}}
