.nimbus-products{background-color:#0b0c10;background-image:radial-gradient(rgb(255 255 255 / 16%) .75px,transparent .75px),linear-gradient(180deg,#0b0c10 0%,#0b0c10 12%,#0100ff 100%);background-size:12px 12px,100% 100%;padding:100px 48px;scroll-margin-top:80px;color:#f4f4f7;font-family:var(--font-family);font-weight:450}
.nimbus-products-inner{max-width:1400px;width:100%;margin-inline:auto}
.nimbus-products-heading{display:flex;flex-direction:column;gap:8px}
.nimbus-products-heading h2,.nimbus-products-heading p{margin:0;font:450 48px/56px var(--font-family);letter-spacing:-.01em}
.nimbus-products-heading p{color:#a9adb8;line-height:52px}
.nimbus-products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:64px}
.nimbus-product{position:relative;isolation:isolate;background:rgb(21 23 29 / 48%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 2%);border-radius:24px;min-height:228px;padding:16px 24px;display:flex;flex-direction:column;gap:20px;min-width:0}
.nimbus-product h3{margin:0 0 8px;font:450 20px/26px var(--font-family);color:#f4f4f7;letter-spacing:-.01em}
.nimbus-product p{margin:0;font:450 16px/24px var(--font-family);color:#a9adb8;letter-spacing:-.01em}
.nimbus-product-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0}
.nimbus-product-icon svg{display:block;width:32px;height:32px}
.nimbus-product .icon-ink{animation:nimbus-icon-glint 4800ms ease-in-out infinite;animation-delay:var(--icon-delay);animation-play-state:paused}
.nimbus-product .icon-ink:nth-child(5n+2){animation-delay:calc(var(--icon-delay) + 60ms)}
.nimbus-product .icon-ink:nth-child(5n+3){animation-delay:calc(var(--icon-delay) + 120ms)}
.nimbus-product .icon-ink:nth-child(5n+4){animation-delay:calc(var(--icon-delay) + 180ms)}
.nimbus-product .icon-ink:nth-child(5n+5){animation-delay:calc(var(--icon-delay) + 240ms)}
.nimbus-product[data-motion="playing"] .icon-ink{animation-play-state:running}
@keyframes nimbus-icon-glint{0%,70%,100%{opacity:1}35%{opacity:.78}}
@media(max-width:1200px){.nimbus-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.nimbus-products{padding:72px 24px}.nimbus-products-heading h2,.nimbus-products-heading p{font-size:32px;line-height:38px}.nimbus-products-grid{margin-top:40px;gap:24px}}
@media(max-width:540px){.nimbus-products-grid{grid-template-columns:1fr}.nimbus-product{min-height:0}.nimbus-products-heading h2,.nimbus-products-heading p{font-size:28px;line-height:34px}}
@media(prefers-reduced-motion:reduce){.nimbus-product .icon-ink{animation:none}}

/* Recorded dotted ribbon field stays behind all copy and card surfaces. */
.nimbus-products{position:relative;isolation:isolate;overflow:hidden}
.nimbus-products-inner{position:relative;z-index:1}
.nimbus-products-motion{position:absolute;inset:0;pointer-events:none;z-index:0}
.nimbus-products-motion canvas{display:block;width:100%;height:100%}

/* The static page texture belongs to the grounds, not the glass cards. */
.nimbus-cta{background-image:radial-gradient(rgb(255 255 255 / 16%) .75px,transparent .75px);background-size:12px 12px}

/* Product introduction actions use the shared 48px Nimbus pill treatment. */
.nimbus-products-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.nimbus-products-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid rgb(255 255 255 / 2%);border-radius:999px;background:rgb(255 255 255 / 6%);color:#f4f4f7;font:450 16px/24px var(--font-family);letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:background-color var(--duration-quick,150ms) ease,color var(--duration-quick,150ms) ease}
.nimbus-products-actions .nimbus-products-primary{background:#0100ff;border-color:#0100ff;color:#fff}
.nimbus-products-actions .nimbus-products-secondary{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nimbus-products-actions a:focus-visible{outline:2px solid #a4b1ff;outline-offset:4px}
@media(hover:hover) and (pointer:fine){.nimbus-products-actions .nimbus-products-primary:hover{background:#1514ff}.nimbus-products-actions .nimbus-products-secondary:hover{background:rgb(255 255 255 / 12%)}}
@media(max-width:540px){.nimbus-products-actions{align-items:stretch}.nimbus-products-actions a{width:100%}}
@media(prefers-reduced-motion:reduce){.nimbus-products-actions a{transition:none}}
