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 case-study detail pages. */
.csd-u-001{font-family: 'Manrope', system-ui, sans-serif; color: #0A1A33; background: #FFFFFF; width: 100%; font-size: 16px; line-height: 1.6}
.csd-u-002{background: #0A1A33; color: #C9D9FF; font-size: 13px}
.csd-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}
.csd-u-004{display: flex; gap: 20px; flex-wrap: wrap}
.csd-u-005{border-bottom: 1px solid #D6E2F5; background: #FFFFFF}
.csd-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}
.csd-u-007{display: flex; align-items: center; gap: 10px; color: #0A1A33; text-decoration: none}
.csd-u-008{font-family: 'Sora', sans-serif; font-weight: 700; font-size: 20px; letter-spacing: -0.02em}
.csd-u-009{color: #1F4FD1}
.csd-u-010{display: flex; flex-wrap: wrap; gap: 8px 28px; font-size: 15px}
.csd-u-011{display: flex; align-items: center; gap: 8px}
.csd-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}
.csd-u-013{background: #E8F0FE}
.csd-u-014{max-width: 1240px; margin: 0 auto; padding: 48px 24px 64px; display: flex; flex-wrap: wrap; gap: 40px 72px; align-items: flex-start}
.csd-u-015{flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 24px}
.csd-u-016{font-size: 14px; font-weight: 700; color: #46566F}
.csd-u-017{margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px}
.csd-u-018{color: #46566F}
.csd-u-019{margin: 0; font-family: 'Sora', sans-serif; font-weight: 700; font-size: clamp(36px, 5vw, 60px); line-height: 1.08; letter-spacing: -0.03em; max-width: 760px}
.csd-u-020{margin: 0; font-size: 15px; color: #46566F}
.csd-u-021{color: #1F4FD1; font-weight: 700}
.csd-u-022{display: flex; gap: 12px; flex-wrap: wrap}
.csd-u-023{width: 40px; height: 40px; border-radius: 50%; background: #0A1A33; display: inline-flex; align-items: center; justify-content: center}
.csd-u-024{flex: 1 1 300px; min-width: 0; max-width: 360px; background: #FFFFFF; border: 1px solid #D6E2F5; border-radius: 16px; padding: 22px 24px}
.csd-u-025{font-family: 'Sora', sans-serif; font-size: 16px; display: block; padding-bottom: 8px}
.csd-u-026{display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid #D6E2F5; font-size: 14px}
.csd-u-027{text-align: right}
.csd-u-028{background: #FFFFFF}
.csd-u-029{max-width: 1240px; margin: 0 auto; padding: 72px 24px 96px; display: flex; flex-wrap: wrap; gap: 48px 72px; align-items: flex-start}
.csd-u-030{flex: 999 1 560px; min-width: 0; max-width: 760px; display: flex; flex-direction: column; gap: 22px}
.csd-u-031{margin: 0; color: #0A1A33; font-size: 17px; line-height: 1.7; scroll-margin-top: 24px}
.csd-u-032{margin: 0; color: #0A1A33; font-size: 17px; line-height: 1.7}
.csd-u-033{background: #F4F7FC; border: 1px solid #D6E2F5; border-radius: 14px; padding: 20px 24px; display: flex; flex-direction: column; gap: 10px}
.csd-u-034{font-family: 'Sora', sans-serif; font-size: 18px}
.csd-u-035{margin: 0; padding-left: 20px; color: #0A1A33; font-size: 16px}
.csd-u-036{margin-bottom: 8px}
.csd-u-037{margin: 0; font-family: 'Sora', sans-serif; font-size: 28px; line-height: 1.25; scroll-margin-top: 24px; padding-top: 16px}
.csd-u-038{margin: 0; padding-left: 22px; font-size: 17px; line-height: 1.7}
.csd-u-039{margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px}
.csd-u-040{display: flex; gap: 14px; align-items: flex-start}
.csd-u-041{flex: 0 0 34px; height: 34px; border-radius: 50%; background: #E3ECFF; color: #163BA3; font-weight: 700; display: flex; align-items: center; justify-content: center}
.csd-u-042{font-size: 17px; line-height: 1.6}
.csd-u-043{margin: 0; display: flex; flex-direction: column; gap: 10px}
.csd-u-044{background: #0A1A33; border-radius: 14px; padding: 10px; box-shadow: 0 24px 48px rgba(10,26,51,.16)}
.csd-u-045{display: flex; gap: 6px; align-items: center; padding: 2px 4px 10px}
.csd-u-046{width: 9px; height: 9px; border-radius: 50%; background: #3A4B6C}
.csd-u-047{margin-left: 10px; flex: 1; background: #1B2D4D; color: #B9CCEB; border-radius: 6px; padding: 3px 10px; font-size: 12px}
.csd-u-048{display: block; width: 100%; height: auto; max-height: 460px; object-fit: cover; object-position: top; border-radius: 6px; background: #DCE7FA}
.csd-u-049{font-size: 14px; color: #46566F}
.csd-u-050{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 14px}
.csd-u-051{border: 1px solid #D6E2F5; border-radius: 14px; padding: 18px 20px; display: flex; flex-direction: column; gap: 8px}
.csd-u-052{margin: 0; font-family: 'Sora', sans-serif; font-size: 17px}
.csd-u-053{margin: 0; color: #46566F; font-size: 15px; line-height: 1.6}
.csd-u-054{display: flex; flex-wrap: wrap; gap: 14px}
.csd-u-055{flex: 1 1 160px; background: #F4F7FC; border: 1px solid #D6E2F5; border-radius: 14px; padding: 18px}
.csd-u-056{font-family: 'Sora', sans-serif; font-size: 26px; font-weight: 700; color: #163BA3}
.csd-u-057{flex: 1 1 280px; min-width: 0; max-width: 340px; display: flex; flex-direction: column; gap: 24px}
.csd-u-058{display: flex; flex-direction: column; gap: 6px}
.csd-u-059{font-family: 'Sora', sans-serif; font-size: 16px}
.csd-u-060{margin: 0; padding: 0; list-style: none; font-size: 15px}
.csd-u-061{color: #46566F; text-decoration: none; display: block; padding: 6px 0}
.csd-u-062{background: #E8F0FE; border-radius: 16px; padding: 22px; display: flex; flex-direction: column; gap: 12px}
.csd-u-063{font-family: 'Sora', sans-serif; font-size: 17px}
.csd-u-064{margin: 0; color: #46566F; font-size: 15px}
.csd-u-065{background: #F4F7FC}
.csd-u-066{max-width: 1240px; margin: 0 auto; padding: 88px 24px; display: flex; flex-direction: column; gap: 32px}
.csd-u-067{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px}
.csd-u-068{margin: 0; font-family: 'Sora', sans-serif; font-size: clamp(28px, 3.2vw, 36px)}
.csd-u-069{font-weight: 700; color: #0A1A33}
.csd-u-070{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 24px}
.csd-u-071{background: #FFFFFF; border: 1px solid #D6E2F5; border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; text-decoration: none; color: #0A1A33}
.csd-u-072{display: block; width: 100%; height: 160px; object-fit: cover; object-position: top; background: #DCE7FA}
.csd-u-073{padding: 20px; display: flex; flex-direction: column; gap: 8px}
.csd-u-074{align-self: flex-start; background: #1F4FD1; color: #FFFFFF; border-radius: 99px; padding: 3px 10px; font-size: 12px; font-weight: 700}
.csd-u-075{font-weight: 700; color: #1F4FD1}
.csd-u-076{max-width: 1240px; margin: 0 auto; padding: 80px 24px; display: flex; flex-wrap: wrap; gap: 28px 48px; align-items: center; justify-content: space-between}
.csd-u-077{flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 10px}
.csd-u-078{margin: 0; font-family: 'Sora', sans-serif; font-size: clamp(28px, 3.4vw, 40px); line-height: 1.15; letter-spacing: -0.02em; color: #FFFFFF}
.csd-u-079{margin: 0; color: #E3ECFF; font-size: 18px}
.csd-u-080{display: flex; flex-wrap: wrap; gap: 12px}
.csd-u-081{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}
.csd-u-082{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}
.csd-u-083{background: #0A1A33; color: #C9D9FF; font-size: 14px}
.csd-u-084{max-width: 1240px; margin: 0 auto; padding: 72px 24px 32px; display: flex; flex-direction: column; gap: 48px}
.csd-u-085{display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 32px}
.csd-u-086{display: flex; flex-direction: column; gap: 10px}
.csd-u-087{font-family: 'Sora', sans-serif; font-weight: 700; font-size: 18px; color: #FFFFFF}
.csd-u-088{font-style: normal; line-height: 1.7}
.csd-u-089{display: flex; flex-direction: column; gap: 8px}
.csd-u-090{color: #FFFFFF}
.csd-u-091{border-top: 1px solid #22406E; padding-top: 24px; display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: space-between}
.csd-u-092{display: flex; flex-wrap: wrap; gap: 20px}
