/* AI Services: native implementation of the supplied design handoff. */
.aiPreview { margin-top: 26px; padding: min(30px, 3vw); border: 1px solid #cfd5d8; border-radius: 20px; background: linear-gradient(90deg, #f1f0f1, #d8e5ee); }
.aiPreview h3 { font-size: clamp(26px, 4.8vw, 34px); font-weight: 600; line-height: 1.18; letter-spacing: normal; }
.aiPreview-lead { max-width: 720px; padding-top: 18px; font-size: 14px; line-height: 1.9; text-wrap: pretty; }
.aiPreview-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px 14px; margin-top: 28px; }
.aiPreview-product { display: block; color: #1a212f; transition: opacity .2s; }
.aiPreview-product:hover { opacity: .8; }
.aiPreview-product img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 10px; box-shadow: 0 10px 24px rgba(20,40,80,.12); }
.aiPreview-name { display: flex; align-items: baseline; gap: 8px; margin-top: 12px; letter-spacing: normal; line-height: 1.4; }
.aiPreview-name span { font-size: 13px; font-weight: 600; color: #005fff; }
.aiPreview-name strong { font-size: 15px; font-weight: 700; overflow-wrap: anywhere; }
.aiPreview-summary { font-size: 12px; line-height: 1.7; color: #5b6472; letter-spacing: normal; margin-top: 5px; }
.aiPreview-more { display: flex; align-items: center; justify-content: flex-end; gap: 14px; width: fit-content; margin: 28px 0 0 auto; line-height: 1; color: #1a212f; }
.aiPreview-arrow { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #1a212f; color: #fff; font-size: 24px; letter-spacing: 0; }
.aiPreview-more:hover .aiPreview-arrow { background: #005fff; }

/* Client grid and seamless two-copy strip share the same logo catalog. */
.clientMarquee { padding-top: 90px; overflow: hidden; background: #f9fafb; }
.clientMarquee-track { display: flex; width: max-content; animation: client-logo-scroll 100s linear infinite; }
.clientMarquee-list { display: flex; align-items: center; flex: none; gap: 20px; padding-right: 20px; }
.clientMarquee-list li { display: flex; align-items: center; justify-content: center; flex: 0 0 176px; width: 176px; height: 99px; }
.clientMarquee img, .clientGrid img { display: block; width: auto; max-width: var(--logo-width, 100%); max-height: var(--logo-height, 100%); object-fit: contain; }
.clientMarquee:hover .clientMarquee-track { animation-play-state: paused; }
.clientGrid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 36px 20px; padding-top: 60px; }
.clientGrid li { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; min-width: 0; }
@keyframes client-logo-scroll { to { transform: translateX(-50%); } }

.aiServices { color: #1a212f; letter-spacing: normal; }
.aisInner { width: 90%; max-width: 1200px; margin: 0 auto; }
.aisHero { position: relative; isolation: isolate; padding: 172px 0 86px; background: #1a212f; overflow: hidden; color: #fff; }
.aisHero .aisInner { position: relative; z-index: 1; }
.aisBadge { display: inline-block; padding: 4px 14px; border-radius: 100px; font-size: 14px; font-weight: 600; line-height: 1.6; color: #fff; background: #005fff; }
.aisHero h1 { font-size: clamp(46px, 13vw, 112px); font-weight: 500; line-height: 1.04; margin-top: 16px; letter-spacing: normal; }
.aisHero-lead { margin-top: 22px; max-width: 700px; font-size: 17px; line-height: 2; color: rgba(255,255,255,.74); text-wrap: pretty; }
.aisMarquee { position: absolute; left: 0; bottom: -14px; display: flex; width: max-content; animation: client-logo-scroll 64s linear infinite; pointer-events: none; }
.aisMarquee span { flex: none; padding-right: 70px; font-family: 'Chillax',sans-serif; font-size: 200px; font-weight: 500; line-height: .9; white-space: nowrap; color: rgba(255,255,255,.05); }
.aisPicker { padding: 80px 0 20px; }
.aisPicker-inner { width: 90%; max-width: 1000px; margin: 0 auto; }
.aisPicker-heading { display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: baseline; justify-content: space-between; }
.aisPicker-heading h2 { font-size: 30px; font-weight: 700; line-height: 1.5; }
.aisPicker-heading p { font-size: 13px; color: #647080; }
.aisPicker-list { margin-top: 26px; border: 1px solid #e4e8ee; border-radius: 20px; overflow: hidden; }
.aisPicker-list li + li { border-top: 1px solid #eef1f5; }
.aisPicker-list a { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; padding: 18px min(28px,3vw); color: inherit; }
.aisPicker-list a:hover { background: #f1f5ff; }
.aisPicker-problem { flex: 1 1 260px; font-size: 15px; font-weight: 600; line-height: 1.6; }
.aisPicker-arrow { color: #005fff; }
.aisPicker-name { flex: none; padding: 7px 16px; font-size: 13px; font-weight: 700; color: #fff; background: #005fff; border-radius: 100px; line-height: 1.4; }
.aisProduct { padding: 80px 0; scroll-margin-top: 120px; }
.aisProduct-reverse { background: #f9fafb; }
.aisProduct-inner { display: flex; flex-wrap: wrap; align-items: center; gap: min(60px,5vw); }
.aisProduct-reverse .aisProduct-inner { flex-direction: row-reverse; }
.aisProduct-image { flex: 1 1 460px; min-width: 0; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 20px; background: #eef2f7; box-shadow: 0 24px 60px rgba(20,40,80,.14); }
.aisProduct-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.aisProduct-copy { flex: 1 1 360px; min-width: 0; }
.aisProduct-meta { display: flex; align-items: center; gap: 12px; color: #005fff; }
.aisProduct-meta span:first-child { font-size: 30px; font-weight: 600; line-height: 1; }
.aisProduct-meta span:last-child { font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.aisProduct h2 { margin-top: 14px; font-size: clamp(26px,6vw,36px); font-weight: 700; line-height: 1.4; }
.aisProduct h2 small { display: inline-block; padding-left: 12px; font-size: 16px; font-weight: 600; color: #5b6472; }
.aisProduct-tagline { margin-top: 8px; font-size: 18px; font-weight: 700; line-height: 1.7; text-wrap: pretty; }
.aisProduct-desc { margin-top: 14px; font-size: 14px; line-height: 1.95; color: #5b6472; text-wrap: pretty; }
.aisProduct-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.aisProduct-tags li { padding: 6px 12px; border-radius: 7px; background: #f1f5ff; color: #005fff; font-size: 12px; font-weight: 600; line-height: 1.4; }
.aisActions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.aisButton { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 14px 26px; border: 1px solid #1a212f; border-radius: 100px; background: #1a212f; color: #fff; font-size: 14px; font-weight: 700; line-height: 1.6; }
.aisButton:hover { background: #005fff; border-color: #005fff; color: #fff; }
.aisButton-secondary { background: #fff; color: #1a212f; border-color: #cfd5d8; }
.aisButton-secondary:hover { background: #fff; color: #005fff; }
.aisPipeline { padding: 90px 0; margin-bottom: 40px; background: #1a212f; color: #fff; }
.aisEyebrow { color: #5ecee5; font-size: 13px; font-weight: 700; letter-spacing: .14em; }
.aisPipeline h2 { font-size: clamp(24px,5.5vw,32px); font-weight: 700; line-height: 1.6; margin-top: 10px; text-wrap: pretty; }
.aisPipeline-list { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 6px; margin-top: 36px; }
.aisPipeline-list a { display: block; height: 100%; padding: 20px 16px 20px 30px; background: #2a3446; color: #fff; clip-path: polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%,18px 50%); }
.aisPipeline-list li:nth-child(2) a { background: #33456a; }
.aisPipeline-list li:nth-child(3) a { background: #2e5fb0; }
.aisPipeline-list li:nth-child(4) a { background: #1f6df0; }
.aisPipeline-list li:nth-child(5) a { background: #005fff; }
.aisPipeline-list a:hover { opacity: .85; }
.aisPipeline-list span { display: block; font-size: 11px; font-weight: 700; opacity: .8; letter-spacing: .1em; }
.aisPipeline-list strong { display: block; font-size: 15px; font-weight: 700; line-height: 1.6; margin-top: 4px; overflow-wrap: anywhere; }
.aisPipeline-note { max-width: 760px; font-size: 13px; line-height: 1.9; color: rgba(255,255,255,.7); margin-top: 24px; text-wrap: pretty; }
.aiServices a:focus-visible, .aiPreview a:focus-visible { outline: 3px solid #005fff; outline-offset: 4px; }

@media (max-width: 1000px) {
	.aiPreview-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.aisPipeline-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 600px) {
	.aiPreview { padding: 24px 18px; }
	.aiPreview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 12px; }
	.aiPreview-name { gap: 5px; }
	.aiPreview-name strong { font-size: 14px; }
	.clientMarquee { padding-top: 50px; }
	.clientMarquee-list li { flex-basis: 140px; width: 140px; height: 80px; }
	.clientGrid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px 14px; padding-top: 36px; }
	.aisHero { padding: 146px 0 64px; }
	.aisHero-lead { font-size: 15px; }
	.aisPicker { padding-top: 48px; }
	.aisPicker-heading h2 { font-size: 26px; }
	.aisProduct { padding: 50px 0; }
	.aisProduct-inner { gap: 30px; }
	.aisProduct-tagline { font-size: 17px; }
	.aisProduct-image { border-radius: 14px; }
	.aisPipeline { padding: 60px 0; }
	.aisPipeline-list { grid-template-columns: 1fr; gap: 8px; }
	.aisPipeline-list a { display: flex; align-items: center; gap: 20px; padding: 16px 30px; }
	.aisPipeline-list strong { margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.clientMarquee-track, .aisMarquee { animation: none; }
	.clientMarquee { overflow-x: auto; }
	.clientMarquee-list[aria-hidden="true"] { display: none; }
}
