/* 1. Hero chat: consistent 8/12/16 spacing rhythm */
.fsi-head{padding:20px 20px 0}
.fsi-tabs{margin:16px 20px 0}
.fsi-panel{padding:16px 20px 20px;gap:16px}
.fsi-thread{display:grid;gap:12px}
.fsi-thread .fsi-a{line-height:1.55}
.fsi-links{gap:8px}
.fsi-foot{padding:12px 20px}
/* 2. Robot stays visible on hover; subtle nudge instead of restarting the pop-in */
.spanny-pop:hover .sp-bot,.spanny-pop:focus-visible .sp-bot{animation:spPop .9s cubic-bezier(.2,.9,.3,1.35) .5s both,spHover 4.2s ease-in-out 1.5s infinite}
.spanny-pop .sp-flip{transition:translate .3s ease}
.spanny-pop:hover .sp-flip,.spanny-pop:focus-visible .sp-flip{animation:spNudge 1.2s ease-in-out infinite}
@keyframes spNudge{0%,100%{rotate:0deg;translate:0 0}50%{rotate:-5deg;translate:0 -4px}}
@media (prefers-reduced-motion:reduce){.spanny-pop:hover .sp-flip,.spanny-pop:focus-visible .sp-flip{animation:none}}
/* 3. AppExchange rating: space before the star */
.stat .v .st-star{margin-left:6px;font-size:.8em;vertical-align:.04em}
.appx-r span{margin-left:6px}
/* 4. Split section head: center the intro text against the heading */
.wrap>.section-head.sh-split>p{align-self:center;margin:0}
/* 5. Story card arrow: crisp, centered icon */
.h-ind2 .rl-go{font-size:0;flex:0 0 34px}
.h-ind2 .rl-go::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.h-ind2:hover .rl-go{transform:translateX(3px)}
/* 6. AI section robot: supporting size */
.h-ai-art img{max-height:240px;max-width:100%;height:auto}
/* 7. Floating chat: shadow and rounded edge on the scroll container so nothing is clipped */
.fsi-pop{border-radius:20px;border:1px solid #d5dee8;box-shadow:0 18px 48px rgba(13,30,66,.32),0 2px 6px rgba(13,30,66,.12);background:#fff}
.fsi-pop>.fsi{box-shadow:none;border-radius:0}
/* Mobile */
@media (max-width:600px){
 .section{padding-block:40px}
 .section.quote{padding-block:40px}
 .section-head{margin-bottom:24px}
 .cta-band .wrap{padding-block:44px;gap:20px}
 .logos-band .eyebrow{margin-bottom:18px!important}
 .h-ai-grid{gap:24px}
 .h-ai-art img{max-height:150px}
 main .btn{width:100%;justify-content:center;text-align:center}
 main .actions,main .h-ai-acts,.cta-band .wrap>div:last-child{width:100%}
 .fsi-links .btn,.fsi-form .btn{width:auto}
 .site-footer .news .btn,.site-footer .touch .btn{width:100%;justify-content:center;justify-self:stretch}
 .site-footer .values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 8px;justify-items:center;text-align:center}
 .site-footer .values .vt,.site-footer .values .appx{grid-column:1/-1}
 .site-footer .values .vt{font-size:20px}
 .val{flex-direction:column;gap:8px}
 .val-ic{width:56px;height:56px}
 .val-ic img{width:40px;height:40px}
 .val b{font-size:17px}
}
