/* Constructor blocks 20–24. Match the site typography; keep component rules stronger than editorial .textpage rules. */
.nssd-platform.nssd-platform { --np-blue: #102950; --np-orange: #ff8900; --np-border: #c5dcfa; color: var(--np-blue); font-family: "Akrobat", sans-serif; }
.nssd-platform.nssd-platform *, .nssd-platform.nssd-platform *::before, .nssd-platform.nssd-platform *::after { box-sizing: border-box; }
.nssd-platform.nssd-platform h2, .nssd-platform.nssd-platform h3, .nssd-platform.nssd-platform p { margin: 0; font-family: inherit; }
.nssd-platform.nssd-platform h2, .nssd-platform.nssd-platform h3 { font-family: "Rubik", sans-serif; font-weight: 600; }
.nssd-platform.nssd-platform h2, .nssd-platform.nssd-platform h3, .nssd-platform.nssd-platform p, .nssd-platform.nssd-platform span, .nssd-platform.nssd-platform strong { overflow-wrap: anywhere; }
.nssd-platform.nssd-platform svg, .nssd-platform.nssd-platform img { display: block; width: 100%; height: 100%; object-fit: contain; }
.nssd-platform .nssd-platform__head { margin: 0 0 40px; text-align: left; }
.nssd-platform.nssd-platform .nssd-platform__title { text-align: center; font-weight: 600; color: #051d5e; }
.nssd-platform.nssd-platform .nssd-platform__lead { margin-top: 20px; font-size: 20px; line-height: 26px; color: #051d5e; }
.nssd-platform.nssd-platform .nssd-platform__lead p { margin: 0 0 16px; }
.nssd-platform.nssd-platform .nssd-platform__lead p:last-child { margin-bottom: 0; }
.nssd-platform .nssd-platform__lead b, .nssd-platform .nssd-platform__lead strong { font-weight: 700; }
.nssd-platform .nssd-platform__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.nssd-platform .nssd-platform__card { padding: 30px 32px 26px; border: 1px solid #d4e1f1; border-top: 4px solid var(--np-orange); border-radius: 10px; }
.nssd-platform .nssd-platform__card-top { display: flex; align-items: center; gap: 22px; margin-bottom: 24px; }
.nssd-platform .nssd-platform__card-icon { display: block; flex-shrink: 0; width: 76px; height: 76px; padding: 18px; border-radius: 50%; background: #edf6ff; color: #071c57; }
.nssd-platform .nssd-platform__card h2 { border-left: 5px solid var(--np-orange); padding-left: 20px; font-size: 18px; line-height: 24px; font-weight: 600; text-transform: uppercase; color: #091950; }
.nssd-platform .nssd-platform__card p { font-size: 20px; line-height: 26px; color: #051d5e; white-space: pre-line; }
.nssd-platform .nssd-platform__technologies { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 24px 0; border-radius: 11px; margin-top: 16px; background: #0c2d56; color: #fff; }
.nssd-platform .nssd-platform__technology { position: relative; display: flex; flex-direction: column; padding: 0 48px; }
.nssd-platform .nssd-platform__technology + .nssd-platform__technology::before { position: absolute; left: 0; top: 10px; bottom: 8px; width: 1px; background: #4e85b8; content: ''; }
.nssd-platform .nssd-platform__tech-icon { display: block; width: 74px; height: 74px; border-radius: 50%; background: #1c4676; padding: 17px; margin-bottom: 4px; }
.nssd-platform .nssd-platform__technology h3 { font-size: 18px; line-height: 24px; font-weight: 600; color: #fff; margin-bottom: 8px; }
.nssd-platform .nssd-platform__technology p { margin-top: auto; font-size: 20px; line-height: 26px; color: #8daecf; white-space: pre-line; }
.nssd-platform.nssd-platform-banner { position: relative; isolation: isolate; padding: 32px 40px; background: linear-gradient(130deg, #3b5386, #071d59); color: #fff; overflow: hidden; }
.nssd-platform.nssd-platform-banner::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(128deg, transparent 25%, #ffffff04 25% 49%, transparent 49%); }
.nssd-platform .nssd-platform-banner__inner { display: flex; align-items: center; gap: 40px; min-height: 200px; padding-right: 25%; }
.nssd-platform .nssd-platform-banner__content { min-width: 0; }
.nssd-platform .nssd-platform-banner__icon { display: block; flex: 0 0 144px; width: 144px; height: 144px; }
.nssd-platform.nssd-platform-banner--icon .nssd-platform-banner__inner { min-height: 168px; gap: 32px; }
.nssd-platform.nssd-platform.nssd-platform-banner--icon p { font-size: 22px; line-height: 28px; margin-bottom: 16px; }
.nssd-platform.nssd-platform-banner h2 { color: inherit; font-weight: 600; text-transform: uppercase; font-size: 38px; line-height: 44px; margin-bottom: 10px; }
.nssd-platform.nssd-platform-banner--icon h2 { font-size: 30px; line-height: 38px; }
.nssd-platform.nssd-platform.nssd-platform-banner p { color: #eef2f8; font-size: 24px; line-height: 32px; margin-bottom: 20px; white-space: pre-line; }
.nssd-platform.nssd-platform-banner .nssd-platform-banner__button { display: inline-flex; justify-content: center; align-items: center; gap: 40px; min-height: 54px; max-width: 100%; padding: 16px 30px; border-radius: 11px; background: linear-gradient(110deg, #ffae37, #ffa826); color: #06265b; font-size: 18px; line-height: 22px; font-weight: 600; text-align: center; text-decoration: none; }
.nssd-platform.nssd-platform-banner a.nssd-platform-banner__button:hover { background: #ffba50; }
.nssd-platform.nssd-platform-banner a:focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
.nssd-platform .nssd-platform-banner__button svg { flex: 0 0 30px; width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 2; }
.nssd-platform .nssd-platform-banner__art { position: absolute; z-index: -1; top: 0; bottom: 0; right: 0; width: 26%; }
.nssd-platform .nssd-platform-banner__art svg { object-fit: fill; }
.nssd-platform.nssd-platform-banner--simple .nssd-platform-banner__inner { min-height: 220px; }
.nssd-platform.nssd-platform-banner--simple h2 { font-size: 38px; }
.nssd-platform.nssd-platform-banner--simple p { margin-bottom: 36px; }
.nssd-platform.nssd-platform-banner--simple .nssd-platform-banner__button { min-width: 260px; font-size: 18px; font-weight: 600; }
.nssd-platform.nssd-platform-banner--white { background: #fff; color: #081f60; padding: 48px 0; }
.nssd-platform.nssd-platform-banner--white::before { display: none; }
.nssd-platform .nssd-platform-banner__arrows { position: absolute; z-index: -1; top: 24px; bottom: 24px; width: 18%; }
.nssd-platform .nssd-platform-banner__arrows--left { left: 2%; }
.nssd-platform .nssd-platform-banner__arrows--right { right: 2%; transform: scaleX(-1); }
.nssd-platform.nssd-platform-banner--white .nssd-platform-banner__inner { padding: 0 20%; gap: 28px; }
.nssd-platform.nssd-platform-banner--white h2 { font-size: 38px; text-transform: none; }
.nssd-platform.nssd-platform.nssd-platform-banner--white p { font-size: 24px; color: #142e68; margin-bottom: 16px; }
.nssd-platform.nssd-platform-banner--white .nssd-platform-banner__button { min-height: 54px; font-size: 18px; }
@media (max-width: 1199px) {
    .nssd-platform .nssd-platform__card { padding: 24px; }
    .nssd-platform .nssd-platform__card-top { gap: 16px; flex-direction: column; align-items: flex-start; }
    .nssd-platform .nssd-platform__card-icon { width: 64px; height: 64px; padding: 15px; }
    .nssd-platform .nssd-platform__card h2 { font-size: 18px; padding-left: 16px; }
    .nssd-platform .nssd-platform__card p, .nssd-platform .nssd-platform__technology p { font-size: 20px; }
    .nssd-platform .nssd-platform__technology { padding: 0 26px; }
    .nssd-platform .nssd-platform__technology h3 { font-size: 18px; }
    .nssd-platform .nssd-platform-banner__inner { gap: 24px; }
    .nssd-platform .nssd-platform-banner__icon { flex-basis: 112px; width: 112px; height: 112px; }
    .nssd-platform.nssd-platform-banner--white .nssd-platform-banner__inner { padding: 0 14%; }
    .nssd-platform .nssd-platform-banner__arrows { width: 12%; }
}
@media (max-width: 767px) {
    .nssd-platform .nssd-platform__head { margin-bottom: 24px; }
    .nssd-platform.nssd-platform .nssd-platform__lead { margin-top: 14px; font-size: 18px; line-height: 24px; }
    .nssd-platform .nssd-platform__cards, .nssd-platform .nssd-platform__technologies { grid-template-columns: 1fr; }
    .nssd-platform .nssd-platform__cards { gap: 16px; }
    .nssd-platform .nssd-platform__card-top { margin-bottom: 20px; flex-direction: row; align-items: center; }
    .nssd-platform .nssd-platform__card h2 { font-size: 18px; }
    .nssd-platform .nssd-platform__card p, .nssd-platform .nssd-platform__technology p { font-size: 18px; line-height: 24px; }
    .nssd-platform .nssd-platform__technologies { padding: 0 24px; }
    .nssd-platform .nssd-platform__technology { padding: 24px 0; }
    .nssd-platform .nssd-platform__technology + .nssd-platform__technology::before { top: 0; right: 0; bottom: auto; width: auto; height: 1px; }
    .nssd-platform .nssd-platform__tech-icon { margin-bottom: 14px; }
    .nssd-platform.nssd-platform-banner, .nssd-platform.nssd-platform-banner--white { padding: 24px; }
    .nssd-platform .nssd-platform-banner__inner, .nssd-platform.nssd-platform-banner--white .nssd-platform-banner__inner { padding: 0 16px 0 0; gap: 16px; flex-direction: column; align-items: flex-start; min-height: 0; }
    .nssd-platform.nssd-platform-banner--icon .nssd-platform-banner__inner { min-height: 0; gap: 16px; }
    .nssd-platform .nssd-platform-banner__icon { flex-basis: auto; width: 72px; height: 72px; }
    .nssd-platform.nssd-platform-banner h2, .nssd-platform.nssd-platform-banner--simple h2, .nssd-platform.nssd-platform-banner--white h2 { font-size: 22px; line-height: 28px; }
    .nssd-platform.nssd-platform.nssd-platform-banner p, .nssd-platform.nssd-platform.nssd-platform-banner--white p { font-size: 20px; line-height: 26px; }
    .nssd-platform.nssd-platform.nssd-platform-banner--icon p { font-size: 20px; line-height: 26px; }
    .nssd-platform.nssd-platform-banner .nssd-platform-banner__button, .nssd-platform.nssd-platform-banner--simple .nssd-platform-banner__button { font-size: 18px; min-height: 54px; min-width: 0; padding: 16px 20px; gap: 20px; }
    .nssd-platform .nssd-platform-banner__art { width: 35px; opacity: .6; }
    .nssd-platform .nssd-platform-banner__arrows--left { display: none; }
    .nssd-platform .nssd-platform-banner__arrows--right { width: 22px; right: 0; top: 32px; bottom: 32px; }
}

/* Platform overview: introduction and six independently editable cards. */
.nssd-platform .nssd-platform__overview { display: grid; grid-template-columns: .95fr 1.05fr; gap: 14px; }
.nssd-platform .nssd-platform__intro { position: relative; overflow: hidden; min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 76px 44px 56px 76px; border: 1px solid #c9cdd5; border-radius: 11px; background: #fff; }
.nssd-platform .nssd-platform__intro-arrow { position: absolute; display: block; left: 0; top: 0; width: 68px; height: 176px; pointer-events: none; }
.nssd-platform.nssd-platform p.nssd-platform__label { color: #ee951f; font-size: 18px; line-height: 24px; letter-spacing: 1.4px; text-transform: uppercase; margin-bottom: 22px; font-weight: 600; }
.nssd-platform.nssd-platform .nssd-platform__heading { color: #051d5e; font-size: 38px; line-height: 44px; font-weight: 600; }
.nssd-platform .nssd-platform__stat { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 22px 28px 28px; border-radius: 11px; margin-top: 38px; background: #f6f7fa; }
.nssd-platform .nssd-platform__stat strong { font-family: "Rubik", sans-serif; font-size: 58px; line-height: 1.2; font-weight: 600; letter-spacing: -2px; color: #ff941e; }
.nssd-platform .nssd-platform__stat > span { font-size: 20px; line-height: 26px; }
.nssd-platform .nssd-platform__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 1.12fr 1fr .75fr; gap: 14px; padding: 0; margin: 0; list-style: none; min-width: 0; }
.nssd-platform .nssd-platform__list li { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; padding: 20px 24px; border: 1px solid #c9cdd5; border-radius: 11px; color: #051d5e; font-size: 20px; line-height: 26px; }
.nssd-platform .nssd-platform__list li::before { display: none; }
.nssd-platform .nssd-platform__list li:nth-child(n+5) { flex-direction: row; align-items: center; gap: 14px; }
.nssd-platform .nssd-platform__icon { display: block; flex-shrink: 0; width: 74px; height: 74px; padding: 17px; border-radius: 50%; background: #f0f4f9; color: #071d59; margin-bottom: 8px; }
.nssd-platform .nssd-platform__list li:nth-child(n+5) .nssd-platform__icon { margin-bottom: 0; }
@media (min-width: 768px) and (max-width: 1199px) {
    .nssd-platform .nssd-platform__intro { padding: 60px 24px 36px 48px; }
    .nssd-platform .nssd-platform__stat { padding: 20px; }
    .nssd-platform .nssd-platform__stat strong { font-size: 44px; }
    .nssd-platform .nssd-platform__stat > span, .nssd-platform .nssd-platform__list li { font-size: 20px; line-height: 26px; }
    .nssd-platform .nssd-platform__list li { padding: 16px; }
    .nssd-platform .nssd-platform__list li:nth-child(n+5) { flex-direction: column; align-items: flex-start; gap: 8px; }
    .nssd-platform .nssd-platform__icon { width: 60px; height: 60px; padding: 14px; }
}
@media (max-width: 767px) {
    .nssd-platform .nssd-platform__overview { grid-template-columns: 1fr; }
    .nssd-platform .nssd-platform__intro { padding: 44px 24px 24px 40px; }
    .nssd-platform .nssd-platform__intro-arrow { width: 44px; height: 114px; }
    .nssd-platform.nssd-platform p.nssd-platform__label { font-size: 14px; line-height: 20px; margin-bottom: 14px; }
    .nssd-platform.nssd-platform .nssd-platform__heading { font-size: 22px; line-height: 28px; }
    .nssd-platform .nssd-platform__stat { margin-top: 24px; padding: 20px; }
    .nssd-platform .nssd-platform__stat strong { font-size: 38px; letter-spacing: -1px; }
    .nssd-platform .nssd-platform__stat > span { font-size: 18px; line-height: 24px; }
    .nssd-platform .nssd-platform__list { grid-template-rows: none; }
    .nssd-platform .nssd-platform__list li, .nssd-platform .nssd-platform__list li:nth-child(n+5) { flex-direction: column; align-items: flex-start; gap: 8px; padding: 18px; font-size: 18px; line-height: 24px; }
    .nssd-platform .nssd-platform__icon { width: 58px; height: 58px; padding: 13px; margin-bottom: 0; }
}
@media (max-width: 479px) {
    .nssd-platform .nssd-platform__list { grid-template-columns: 1fr; }
    .nssd-platform .nssd-platform__list li, .nssd-platform .nssd-platform__list li:nth-child(n+5) { flex-direction: row; align-items: center; gap: 14px; }
}
/* Follow the adjacent page headings and body text at the site's breakpoints. */
@media (min-width: 1621px) {
    .nssd-platform.nssd-platform .nssd-platform__heading { font-size: 40px; line-height: 50px; }
    .nssd-platform .nssd-platform__stat > span, .nssd-platform .nssd-platform__list li { font-size: 24px; line-height: 30px; }
}
@media (max-width: 1024px) {
    .nssd-platform.nssd-platform .nssd-platform__heading { font-size: 24px; line-height: 30px; }
    .nssd-platform .nssd-platform__stat > span, .nssd-platform .nssd-platform__list li { font-size: 16px; line-height: 22px; }
}
@media (max-width: 768px) {
    .nssd-platform.nssd-platform .nssd-platform__heading { font-size: 22px; line-height: 28px; }
}
