

.nf-gpu-infrastructure { padding:calc(123 * var(--nf-u)) 0 calc(128 * var(--nf-u)); color:#000; background:#fff; }
.nf-gpu-infrastructure__background { position:absolute; z-index:-1; left:0; top:0; width:100%; pointer-events:none; }
.nf-gpu-infrastructure__background img { display:block; width:100%; height:auto; }
.nf-gpu-infrastructure__heading { text-align:center; }
.nf-gpu-infrastructure__heading h2 { font-size:calc(48 * var(--nf-u)); line-height:calc(59 * var(--nf-u)); font-weight:700; }
.nf-gpu-infrastructure__heading p { width:calc(881 * var(--nf-u)); max-width:100%; min-height:calc(75 * var(--nf-u)); margin:calc(30 * var(--nf-u)) auto 0; font-size:calc(21 * var(--nf-u)); line-height:calc(25 * var(--nf-u)); color:#616161; }
.nf-gpu-infrastructure__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:calc(9 * var(--nf-u)); row-gap:calc(34 * var(--nf-u)); width:calc(1400 * var(--nf-u)); margin:calc(60 * var(--nf-u)) 0 0 calc(265 * var(--nf-u)); }
.nf-gpu-infrastructure__card { min-width:0; min-height:calc(481 * var(--nf-u)); padding:calc(40 * var(--nf-u)) calc(44 * var(--nf-u)) calc(49 * var(--nf-u)); border:1px solid #dddddd; background:#fff; }
.nf-gpu-infrastructure__icon { width:calc(218 * var(--nf-u)); height:calc(218 * var(--nf-u)); margin:0 auto; }
.nf-gpu-infrastructure__icon img { width:100%; height:100%; object-fit:contain; }
.nf-gpu-infrastructure__card h3 { margin-top:calc(25 * var(--nf-u)); font-size:calc(28 * var(--nf-u)); line-height:calc(44 * var(--nf-u)); font-weight:500; }
.nf-gpu-infrastructure__card p { margin-top:calc(18 * var(--nf-u)); font-size:calc(18 * var(--nf-u)); line-height:calc(25 * var(--nf-u)); color:#888; }

.nf-gpu-infrastructure__card:nth-child(n+4) .nf-gpu-infrastructure__icon { transform:translateY(calc(8 * var(--nf-u))); }
.nf-gpu-infrastructure__card--compute .nf-gpu-infrastructure__icon { transform:translateX(calc(9 * var(--nf-u))); }
.nf-gpu-infrastructure__card--distributed .nf-gpu-infrastructure__icon { transform:translate(calc(-7 * var(--nf-u)),calc(8 * var(--nf-u))); }

.nf-gpu-ecosystem { padding:calc(80 * var(--nf-u)) 0 calc(263 * var(--nf-u)); color:#000; background:#fff; }
.nf-gpu-ecosystem__curve { position:absolute; z-index:-1; top:calc(465 * var(--nf-u)); left:0; width:100%; pointer-events:none; }
.nf-gpu-ecosystem__curve img { display:block; width:100%; height:auto; }
.nf-gpu-ecosystem__title { text-align:center; font-size:calc(48 * var(--nf-u)); line-height:calc(59 * var(--nf-u)); font-weight:700; }
.nf-gpu-ecosystem__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:calc(29 * var(--nf-u)); row-gap:calc(37 * var(--nf-u)); width:calc(1402 * var(--nf-u)); margin:calc(50 * var(--nf-u)) 0 0 calc(265 * var(--nf-u)); }
.nf-gpu-ecosystem__card { min-width:0; }
.nf-gpu-ecosystem__image { height:calc(230 * var(--nf-u)); background:#d9d9d9; overflow:hidden; }
.nf-gpu-ecosystem__image img { width:100%; height:100%; object-fit:cover; }
.nf-gpu-ecosystem__body { min-height:calc(182 * var(--nf-u)); border:1px solid #dddddd; padding:calc(22 * var(--nf-u)) calc(27 * var(--nf-u)) calc(19 * var(--nf-u)); background:#fff; }
.nf-gpu-ecosystem__body h3 { font-size:calc(28 * var(--nf-u)); font-weight:500; line-height:calc(44 * var(--nf-u)); }
.nf-gpu-ecosystem__body p { margin-top:calc(20 * var(--nf-u)); font-size:calc(18 * var(--nf-u)); line-height:calc(25 * var(--nf-u)); color:#888; }
.nf-gpu-ecosystem__card:nth-child(3n+1) .nf-gpu-ecosystem__body { padding-left:calc(20 * var(--nf-u)); }

@media(max-width:1100px) {
 .nf-gpu-infrastructure { padding:75px 0 55px; }
 .nf-gpu-infrastructure__heading { padding:0 32px; }
 .nf-gpu-infrastructure__heading h2 { font-size:36px; line-height:1.4; }
 .nf-gpu-infrastructure__heading p { width:760px; min-height:0; margin-top:22px; font-size:17px; line-height:1.8; }
 .nf-gpu-infrastructure__grid { width:calc(100% - 64px); margin:42px auto 0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
 .nf-gpu-infrastructure__card { min-height:390px; padding:28px 28px 32px; }
 .nf-gpu-infrastructure__icon { width:180px; height:180px; }
 .nf-gpu-infrastructure__card h3 { margin-top:22px; font-size:25px; line-height:1.5; }
 .nf-gpu-infrastructure__card p { font-size:16px; line-height:1.8; margin-top:14px; }
 .nf-gpu-infrastructure__card:nth-child(n) .nf-gpu-infrastructure__icon { transform:none; }
 .nf-gpu-ecosystem { padding:45px 0 90px; }
 .nf-gpu-ecosystem__title { font-size:36px; line-height:1.4; }
 .nf-gpu-ecosystem__grid { width:calc(100% - 64px); margin:40px auto 0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 22px; }
 .nf-gpu-ecosystem__image { height:auto; aspect-ratio:446/230; }
 .nf-gpu-ecosystem__body,.nf-gpu-ecosystem__card:nth-child(3n+1) .nf-gpu-ecosystem__body { min-height:200px; padding:22px 24px 28px; }
 .nf-gpu-ecosystem__body h3 { font-size:25px; line-height:1.5; }
 .nf-gpu-ecosystem__body p { font-size:16px; line-height:1.8; margin-top:13px; }
 .nf-gpu-ecosystem__curve { top:auto; bottom:25px; }
}

@media(max-width:700px) {
 .nf-gpu-infrastructure { padding:52px 0 36px; }
 .nf-gpu-infrastructure__heading { padding:0 20px; }
 .nf-gpu-infrastructure__heading h2 { font-size:28px; }
 .nf-gpu-infrastructure__heading p { font-size:15px; line-height:1.9; margin-top:18px; }
 .nf-gpu-infrastructure__grid { width:calc(100% - 40px); grid-template-columns:1fr; gap:18px; margin-top:30px; }
 .nf-gpu-infrastructure__card { min-height:0; padding:22px 25px 30px; }
 .nf-gpu-infrastructure__icon { width:165px; height:165px; }
 .nf-gpu-infrastructure__card h3 { font-size:24px; margin-top:18px; }
 .nf-gpu-infrastructure__card p { font-size:15px; margin-top:12px; }
 .nf-gpu-ecosystem { padding:35px 0 65px; }
 .nf-gpu-ecosystem__title { font-size:28px; }
 .nf-gpu-ecosystem__grid { width:calc(100% - 40px); grid-template-columns:1fr; gap:24px; margin-top:30px; }
 .nf-gpu-ecosystem__body,.nf-gpu-ecosystem__card:nth-child(3n+1) .nf-gpu-ecosystem__body { min-height:0; padding:20px 23px 28px; }
 .nf-gpu-ecosystem__body h3 { font-size:24px; }
 .nf-gpu-ecosystem__body p { font-size:15px; margin-top:12px; }
}
