:root{--accent:#1F4FD1}
body{margin:0;background:#FFFFFF}
a{color:#1F4FD1;text-decoration:none}a:not([class]):hover{color:#163BA3;text-decoration:underline}
.nb-nav a{color:#0A1A33;font-weight:600}
.nb-nav a:hover{color:#1F4FD1;text-decoration:none}
.nb-dark a{color:#C9D9FF}.nb-dark a:hover{color:#FFFFFF}
.nb-card{transition:box-shadow .2s, transform .2s}
.nb-card:hover{box-shadow:0 12px 32px rgba(10,26,51,.10);transform:translateY(-2px)}
details summary{cursor:pointer;list-style:none}
details summary::-webkit-details-marker{display:none}
a:focus-visible,summary:focus-visible{outline:3px solid #5B9BFF;outline-offset:2px;border-radius:6px}
.nb-marquee{width:max-content;animation:nb-scroll 45s linear infinite}
.nb-marquee-wrap:hover .nb-marquee{animation-play-state:paused}
.nb-marquee-wrap{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
@keyframes nb-scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.nb-marquee{animation:none;flex-wrap:wrap;width:auto;row-gap:16px}}
@media (max-width: 900px){.nb-flow{flex-direction:column;align-items:center}.nb-flow>li{max-width:420px!important;width:100%}.nb-flow .nb-conn{flex:0 0 56px!important;width:2px}.nb-flow .nb-conn>div{width:0!important;height:100%;border-top:none!important;border-left:2px dashed #8FA9D9}.nb-flow .nb-conn svg{right:auto!important;top:auto!important;bottom:0;transform:rotate(90deg)}.nb-flow .nb-conn span{top:auto!important;left:12px}}
@media (max-width: 760px){.nb-bento{grid-template-columns:1fr!important}}

/* Layout utilities for the ai-solutions service page. */
.ai-u-001{font-family: 'Manrope', system-ui, sans-serif; color: #0A1A33; background: #FFFFFF; width: 100%; font-size: 16px; line-height: 1.6}
.ai-u-002{background: #0A1A33; color: #C9D9FF; font-size: 13px}
.ai-u-003{max-width: 1240px; margin: 0 auto; padding: 8px 24px; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; align-items: center}
.ai-u-004{display: flex; gap: 20px; flex-wrap: wrap}
.ai-u-005{border-bottom: 1px solid #D6E2F5; background: #FFFFFF}
.ai-u-006{max-width: 1240px; margin: 0 auto; padding: 16px 24px; display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; justify-content: space-between}
.ai-u-007{display: flex; align-items: center; gap: 10px; color: #0A1A33; text-decoration: none}
.ai-u-008{font-family: 'Sora', sans-serif; font-weight: 700; font-size: 20px; letter-spacing: -0.02em}
.ai-u-009{color: #1F4FD1}
.ai-u-010{display: flex; flex-wrap: wrap; gap: 8px 28px; font-size: 15px}
.ai-u-011{display: flex; align-items: center; gap: 8px}
.ai-u-012{color: #0A1A33; padding: 12px 20px; font-weight: 700; font-size: 15px; text-decoration: none; min-height: 48px; box-sizing: border-box; display: inline-flex; align-items: center}
.ai-u-013{background: var(--accent); color: #FFFFFF; padding: 14px 28px; border-radius: 14px; font-weight: 700; font-size: 15px; text-decoration: none; min-height: 48px; box-sizing: border-box; display: inline-flex; align-items: center}
.ai-u-014{background: #F4F7FC; border-bottom: 1px solid #D6E2F5}
.ai-u-015{max-width: 1240px; margin: 0 auto; padding: 32px 24px 88px; display: flex; flex-direction: column; gap: 24px}
.ai-u-016{font-size: 14px; color: #46566F}
.ai-u-017{margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px}
.ai-u-018{color: #46566F}
.ai-u-019{color: #0A1A33; font-weight: 700}
.ai-u-020{display: flex; flex-wrap: wrap; gap: 48px 64px; align-items: center; padding-top: 24px}
.ai-u-021{flex: 1 1 500px; min-width: 0; display: flex; flex-direction: column; gap: 20px}
.ai-u-022{align-self: flex-start; background: #E3ECFF; color: #163BA3; font-weight: 700; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; padding: 6px 12px; border-radius: 999px}
.ai-u-023{margin: 0; font-family: 'Sora', sans-serif; font-weight: 700; font-size: clamp(36px, 4.8vw, 56px); line-height: 1.08; letter-spacing: -0.03em}
.ai-u-024{color: var(--accent)}
.ai-u-025{margin: 0; font-size: 19px; color: #46566F; max-width: 580px}
.ai-u-026{display: flex; flex-wrap: wrap; gap: 12px}
.ai-u-027{background: var(--accent); color: #FFFFFF; padding: 16px 28px; border-radius: 10px; font-weight: 700; font-size: 16px; text-decoration: none; min-height: 52px; box-sizing: border-box; display: inline-flex; align-items: center}
.ai-u-028{background: #FFFFFF; color: #0A1A33; padding: 16px 28px; border-radius: 10px; font-weight: 700; font-size: 16px; text-decoration: none; border: 1.5px solid #0A1A33; min-height: 52px; box-sizing: border-box; display: inline-flex; align-items: center}
.ai-u-029{margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 14px; font-weight: 600; color: #46566F}
.ai-u-030{display: flex; gap: 6px; align-items: center}
.ai-u-031{flex: 1 1 440px; min-width: 0; position: relative; height: 440px}
.ai-u-032{position: absolute; inset: 0 0 auto 0; margin: 0 auto; width: 100%; max-width: 500px; height: 380px; background: #DCE7FA; border-radius: 28px}
.ai-u-033{position: absolute; top: 44px; left: 7%; right: 7%; max-width: 440px; margin: 0 auto; background: #0A1A33; border-radius: 14px; padding: 10px; box-shadow: 0 30px 60px rgba(10,26,51,.22)}
.ai-u-034{display: flex; gap: 6px; padding: 2px 4px 10px}
.ai-u-035{width: 9px; height: 9px; border-radius: 50%; background: #3A4B6C}
.ai-u-036{background: #FFFFFF; border-radius: 8px; padding: 20px; display: flex; flex-direction: column; gap: 10px; font-size: 13px; color: #0A1A33; min-height: 220px; box-sizing: border-box}
.ai-u-037{display: flex; justify-content: space-between; align-items: center; gap: 10px; font-weight: 700; font-size: 14px}
.ai-u-038{display: flex; gap: 8px; align-items: center}
.ai-u-039{color: #46566F; font-weight: 600; font-size: 12px}
.ai-u-040{align-self: flex-end; background: #F4F7FC; border-radius: 12px 12px 2px 12px; padding: 7px 11px; max-width: 85%}
.ai-u-041{align-self: flex-start; background: #1F4FD1; color: #FFFFFF; border-radius: 12px 12px 12px 2px; padding: 7px 11px; max-width: 85%}
.ai-u-042{align-self: flex-end; background: #F4F7FC; border-radius: 12px 12px 2px 12px; padding: 7px 11px}
.ai-u-043{position: absolute; bottom: 18px; left: 10%; background: #FFFFFF; border-radius: 14px; padding: 12px 16px; display: flex; gap: 10px; align-items: center; box-shadow: 0 14px 34px rgba(10,26,51,.16)}
.ai-u-044{width: 34px; height: 34px; border-radius: 50%; background: #DCF5E7; display: flex; align-items: center; justify-content: center}
.ai-u-045{display: flex; flex-direction: column; font-size: 13px; line-height: 1.3}
.ai-u-046{color: #0A1A33}
.ai-u-047{background: #163BA3}
.ai-u-048{width: 100%; padding: 36px 0}
.ai-u-049{width: 100%; overflow: hidden}
.ai-u-050{margin: 0; padding: 0; list-style: none; display: flex; align-items: center}
.ai-u-051{display: flex; align-items: center; gap: 10px; margin-right: 44px; white-space: nowrap; font-size: 15px; font-weight: 700; color: #FFFFFF}
.ai-u-052{width: 28px; height: 28px; display: block; filter: brightness(0) invert(1)}
.ai-u-053{background: #FFFFFF}
.ai-u-054{max-width: 1240px; margin: 0 auto; padding: 96px 24px; display: flex; flex-direction: column; gap: 96px}
.ai-u-055{display: flex; flex-direction: column; gap: 14px; align-items: center; text-align: center}
.ai-u-056{margin: 0; font-family: 'Sora', sans-serif; font-size: clamp(30px, 3.8vw, 46px); line-height: 1.15; letter-spacing: -0.02em; max-width: 900px}
.ai-u-057{margin: 0; color: #46566F; font-size: 18px; max-width: 660px}
.ai-u-058{display: flex; flex-wrap: wrap; flex-direction: row; gap: 40px 72px; align-items: center}
.ai-u-059{flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 16px}
.ai-u-060{margin: 0; font-family: 'Sora', sans-serif; font-size: clamp(26px, 2.6vw, 32px); line-height: 1.22; letter-spacing: -0.01em}
.ai-u-061{margin: 0; color: #46566F; font-size: 17px}
.ai-u-062{margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; color: #46566F}
.ai-u-063{display: flex; gap: 10px; align-items: flex-start}
.ai-u-064{flex: 0 0 20px; margin-top: 3px}
.ai-u-065{flex: 1 1 460px; min-width: 0; height: 260px; background: #DCE7FA; border-radius: 20px; display: flex; justify-content: center; align-items: flex-start; overflow: hidden}
.ai-u-066{width: 78%; max-width: 440px; background: #FFFFFF; border-radius: 0 0 16px 16px; box-shadow: 0 12px 32px rgba(10,26,51,.12); padding: 22px 24px; box-sizing: border-box; display: flex; flex-direction: column; gap: 10px; color: #0A1A33; font-size: 13px}
.ai-u-067{display: flex; flex-wrap: wrap; flex-direction: row-reverse; gap: 40px 72px; align-items: center}
.ai-u-068{display: flex; gap: 8px; align-items: center; border-top: 1px solid #E3ECFF; padding-top: 8px}
.ai-u-069{margin-left: auto; color: #46566F; font-size: 11px}
.ai-u-070{display: flex; justify-content: space-between; align-items: center; gap: 10px; border-top: 1px solid #E3ECFF; padding-top: 8px}
.ai-u-071{background: #DCF5E7; color: #166534; border-radius: 99px; padding: 3px 9px; font-size: 11px; font-weight: 700; white-space: nowrap}
.ai-u-072{background: #FFEDD5; color: #9A3412; border-radius: 99px; padding: 3px 9px; font-size: 11px; font-weight: 700; white-space: nowrap}
.ai-u-073{max-width: 1240px; margin: 0 auto; padding: 96px 24px; display: flex; flex-direction: column; gap: 48px}
.ai-u-074{display: flex; flex-direction: column; gap: 12px; align-items: center; text-align: center}
.ai-u-075{font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #1F4FD1; color: #C9D9FF}
.ai-u-076{font-family: 'Sora', sans-serif; font-size: clamp(30px, 3.6vw, 42px); line-height: 1.15; letter-spacing: -0.02em; margin: 0; color: #FFFFFF; max-width: 760px}
.ai-u-077{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 36px 32px}
.ai-u-078{display: flex; gap: 16px; align-items: flex-start}
.ai-u-079{flex: 0 0 48px; height: 48px; border-radius: 12px; background: #2A55C9; display: flex; align-items: center; justify-content: center}
.ai-u-080{display: flex; flex-direction: column; gap: 4px}
.ai-u-081{margin: 0; font-family: 'Sora', sans-serif; font-size: 18px; color: #FFFFFF}
.ai-u-082{margin: 0; color: #DCE7FA; font-size: 15px}
.ai-u-083{background: #F4F7FC}
.ai-u-084{max-width: 1240px; margin: 0 auto; padding: 96px 24px; display: flex; flex-direction: column; gap: 44px}
.ai-u-085{font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #1F4FD1}
.ai-u-086{font-family: 'Sora', sans-serif; font-size: clamp(30px, 3.6vw, 42px); line-height: 1.15; letter-spacing: -0.02em; margin: 0; max-width: 760px}
.ai-u-087{margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 20px}
.ai-u-088{background: #FFFFFF; border: 1px solid #D6E2F5; border-radius: 16px; padding: 26px; display: flex; flex-direction: column; gap: 10px}
.ai-u-089{display: flex; justify-content: space-between; align-items: center}
.ai-u-090{font-family: 'Sora', sans-serif; font-weight: 700; font-size: 26px; color: #1F4FD1}
.ai-u-092{margin: 0; font-family: 'Sora', sans-serif; font-size: 20px}
.ai-u-093{margin: 0; color: #46566F}
.ai-u-094{max-width: 1240px; margin: 0 auto; padding: 96px 24px; display: flex; flex-direction: column; gap: 40px}
.ai-u-095{display: flex; flex-wrap: wrap; gap: 16px 48px; justify-content: space-between; align-items: flex-end}
.ai-u-096{display: flex; flex-direction: column; gap: 12px}
.ai-u-097{font-family: 'Sora', sans-serif; font-size: clamp(30px, 3.6vw, 42px); line-height: 1.15; letter-spacing: -0.02em; margin: 0}
.ai-u-098{font-weight: 700; color: #0A1A33}
.ai-u-099{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 24px}
.ai-u-100{background: #FFFFFF; border: 1px solid #D6E2F5; border-radius: 18px; overflow: hidden; display: flex; flex-direction: column}
.ai-u-101{height: 220px; background: #DCE7FA; display: flex; align-items: center; justify-content: center; color: #46566F; font-size: 14px}
.ai-u-102{padding: 26px; display: flex; flex-direction: column; gap: 8px}
.ai-u-103{font-size: 13px; font-weight: 700; color: #1F4FD1}
.ai-u-104{max-width: 920px; margin: 0 auto; padding: 96px 24px; display: flex; flex-direction: column; gap: 36px}
.ai-u-105{background: #FFFFFF; border: 1px solid #D6E2F5; border-radius: 14px; padding: 22px 26px}
.ai-u-106{font-family: 'Sora', sans-serif; font-weight: 600; font-size: 18px}
.ai-u-107{margin: 12px 0 0; color: #46566F}
.ai-u-108{background: var(--accent)}
.ai-u-109{max-width: 1240px; margin: 0 auto; padding: 80px 24px; display: flex; flex-wrap: wrap; gap: 28px 48px; align-items: center; justify-content: space-between}
.ai-u-110{flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 10px}
.ai-u-111{margin: 0; font-family: 'Sora', sans-serif; font-size: clamp(28px, 3.4vw, 40px); line-height: 1.15; letter-spacing: -0.02em; color: #FFFFFF}
.ai-u-112{margin: 0; color: #E3ECFF; font-size: 18px}
.ai-u-113{background: #FFFFFF; color: #0A1A33; padding: 16px 28px; border-radius: 12px; font-weight: 700; text-decoration: none; min-height: 52px; box-sizing: border-box; display: inline-flex; align-items: center}
.ai-u-114{background: transparent; color: #FFFFFF; padding: 16px 28px; border-radius: 12px; font-weight: 700; text-decoration: none; border: 1.5px solid #FFFFFF; min-height: 52px; box-sizing: border-box; display: inline-flex; align-items: center}
.ai-u-115{background: #0A1A33; color: #C9D9FF; font-size: 14px}
.ai-u-116{max-width: 1240px; margin: 0 auto; padding: 72px 24px 32px; display: flex; flex-direction: column; gap: 48px}
.ai-u-117{display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 32px}
.ai-u-118{display: flex; flex-direction: column; gap: 10px}
.ai-u-119{font-family: 'Sora', sans-serif; font-weight: 700; font-size: 18px; color: #FFFFFF}
.ai-u-120{font-style: normal; line-height: 1.7}
.ai-u-121{display: flex; flex-direction: column; gap: 8px}
.ai-u-122{color: #FFFFFF}
.ai-u-123{border-top: 1px solid #22406E; padding-top: 24px; display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: space-between}
.ai-u-124{display: flex; flex-wrap: wrap; gap: 20px}
