[data-theme=dark] .ph-mesh{opacity:1}[data-theme=dark] .ph-network circle{fill:#0ea5e926}[data-theme=dark] .ph-network line{stroke:#38bdf80f}[data-theme=dark] .ph-pulse{border-color:#0ea5e91a}@media(prefers-color-scheme:dark){[data-theme=auto] .ph-mesh{opacity:1}[data-theme=auto] .ph-network circle{fill:#0ea5e926}[data-theme=auto] .ph-network line{stroke:#38bdf80f}[data-theme=auto] .ph-pulse{border-color:#0ea5e91a}}[data-theme=dark] .products-surface{background:radial-gradient(ellipse 800px 400px at 50% 400px,rgba(14,165,233,.06),transparent 70%),linear-gradient(180deg,#0c1929 0%,#0f2440 20%,#0f2440 35%,#0c1d33 50%,var(--bg-base) 65%,var(--bg-elevated) 100%)}[data-theme=dark] .products-surface:before{opacity:.15;mix-blend-mode:screen}[data-theme=dark] .products-surface:after{background:radial-gradient(ellipse 80% 60% at 25% 40%,rgba(14,165,233,.06) 0%,transparent 50%),radial-gradient(ellipse 60% 80% at 75% 70%,rgba(14,165,233,.04) 0%,transparent 50%);background-size:200% 200%,200% 200%}[data-theme=dark] .hero-sub-lead{color:#ffffffbf}@media(prefers-color-scheme:dark){[data-theme=auto] .hero-sub-lead{color:#ffffffbf}}[data-theme=dark] .product-card__terminal .ts{color:#4ade80}[data-theme=dark] .product-card__terminal .tc{color:#38bdf8}@media(prefers-color-scheme:dark){[data-theme=auto] .product-card__terminal .ts{color:#4ade80}[data-theme=auto] .product-card__terminal .tc{color:#38bdf8}[data-theme=auto] .products-surface{background:radial-gradient(ellipse 800px 400px at 50% 400px,rgba(14,165,233,.06),transparent 70%),linear-gradient(180deg,#0c1929 0%,#0f2440 20%,#0f2440 35%,#0c1d33 50%,var(--bg-base) 65%,var(--bg-elevated) 100%)}[data-theme=auto] .products-surface:before{opacity:.15;mix-blend-mode:screen}[data-theme=auto] .products-surface:after{background:radial-gradient(ellipse 80% 60% at 25% 40%,rgba(14,165,233,.06) 0%,transparent 50%),radial-gradient(ellipse 60% 80% at 75% 70%,rgba(14,165,233,.04) 0%,transparent 50%);background-size:200% 200%,200% 200%}}[data-theme=dark] .product-card__screenshot .img-light{display:none}[data-theme=dark] .product-card__screenshot .img-dark{display:block}@media(prefers-color-scheme:dark){[data-theme=auto] .product-card__screenshot .img-light{display:none}[data-theme=auto] .product-card__screenshot .img-dark{display:block}}.service-hero-icon{cursor:pointer;background:none;border:none;padding:0;font:inherit;color:inherit}.service-hero-icon .service-icon{position:relative}.service-hero-icon :global(svg){width:100%;height:100%;color:var(--accent)}.service-hero-icon .icon-default{display:flex;align-items:center;justify-content:center;transition:opacity .25s ease}.service-hero-icon .icon-hover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease}.service-hero-icon.animate .icon-default:has(~.icon-hover){opacity:0}.service-hero-icon.animate .icon-hover{opacity:1}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-frame{animation:wb-frame-pop .3s cubic-bezier(.22,1,.36,1) .05s forwards}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-pane-left{animation:wb-pane-open .3s ease-out .2s forwards}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-code{animation:wb-code-type .25s ease-out forwards}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-code-1{animation-delay:.3s}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-code-2{animation-delay:.4s}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-code-3{animation-delay:.5s}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-arrow{animation:wb-arrow-draw .4s ease-out .55s forwards}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-pane-right{animation:wb-pane-open .3s ease-out .5s forwards}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-output{animation:wb-output-pop .3s cubic-bezier(.22,1,.36,1) forwards}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-output-1{animation-delay:.65s}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-output-2{animation-delay:.75s}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-output-3{animation-delay:.85s}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-label{animation:wb-label-fade .25s ease-out forwards}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-label-1{animation-delay:.6s}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-label-2{animation-delay:.8s}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-badge{animation:wb-badge-pop .25s ease-out forwards}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-badge-1{animation-delay:.8s}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-badge-2{animation-delay:.9s}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-glow{animation:wb-glow-pulse 1.6s ease-in-out .5s infinite}.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-pulse{animation:wb-pulse-ring 2s ease-out .7s infinite}@media(prefers-reduced-motion:reduce){.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-frame,.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-pane,.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-code,.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-arrow,.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-output,.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-badge,.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-label,.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-glow,.service-hero-icon.animate .service-icon--products-hub .icon-hover .wb-pulse{animation:none!important}}.hero-products:where(.astro-ttgomkr6){min-height:auto;padding:10rem var(--content-padding) 6rem;position:relative;overflow-x:clip;overflow-y:visible}.ph-grid:where(.astro-ttgomkr6){position:absolute;inset:0;background:url(/images/patterns/services-pattern.svg) center / cover no-repeat;opacity:.45;pointer-events:none;z-index:0}.hero-products:where(.astro-ttgomkr6):after{content:"";position:absolute;top:-10%;left:50%;transform:translate(-50%);width:900px;height:500px;background:radial-gradient(ellipse,rgba(var(--accent-rgb),.1),transparent 70%);pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(to bottom,black 50%,transparent 100%);mask-image:linear-gradient(to bottom,black 50%,transparent 100%)}.hero-products:where(.astro-ttgomkr6)>:where(.astro-ttgomkr6){position:relative;z-index:1}.hero-products:where(.astro-ttgomkr6) .hero-content:where(.astro-ttgomkr6){position:relative;z-index:2;max-width:800px;margin:0 auto}.hero-products:where(.astro-ttgomkr6) h1:where(.astro-ttgomkr6){font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-bottom:1rem}.hero-products:where(.astro-ttgomkr6) .lead:where(.astro-ttgomkr6){max-width:620px;margin:0 auto}.hero-sub-lead:where(.astro-ttgomkr6){font-size:.95rem;color:var(--text-muted);line-height:1.65;max-width:640px;margin:.75rem auto 0}.products-hero-icon-wrap:where(.astro-ttgomkr6){position:relative;display:flex;align-items:center;justify-content:center;margin:1.5rem 0 1rem}.products-hero-icon__halo:where(.astro-ttgomkr6){position:absolute;width:calc(var(--icon-hero) + 3rem);height:calc(var(--icon-hero) + 3rem);border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.08) 0%,rgba(var(--accent-rgb),.03) 50%,transparent 70%);animation:phHaloBreath 4s ease-in-out infinite}@keyframes phHaloBreath{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.7}}@media(max-width:1024px){.products-hero-icon__halo:where(.astro-ttgomkr6){width:calc(96px + 2.5rem);height:calc(96px + 2.5rem)}}@media(max-width:768px){.products-hero-icon__halo:where(.astro-ttgomkr6){width:calc(72px + 2rem);height:calc(72px + 2rem)}}.hero-caps:where(.astro-ttgomkr6){display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:2rem}.hero-cap:where(.astro-ttgomkr6){display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border-radius:100px;font-size:.8rem;font-weight:500;text-decoration:none;color:var(--text-secondary);background:rgba(var(--accent-rgb),.06);border:1px solid rgba(var(--accent-rgb),.12);transition:all .2s ease;white-space:nowrap}.hero-cap:where(.astro-ttgomkr6):hover{color:var(--accent);background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.25);transform:translateY(-1px)}.hero-cap:where(.astro-ttgomkr6) :where(.astro-ttgomkr6)[data-icon]{color:var(--accent);opacity:.7}.hero-cap:where(.astro-ttgomkr6):hover :where(.astro-ttgomkr6)[data-icon]{opacity:1}.ph-mesh:where(.astro-ttgomkr6){position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 20% 50%,rgba(var(--accent-rgb),.16) 0%,transparent 50%),radial-gradient(ellipse 60% 80% at 80% 20%,rgba(var(--accent-rgb),.12) 0%,transparent 50%),radial-gradient(ellipse 70% 50% at 60% 80%,rgba(var(--accent-rgb),.1) 0%,transparent 50%),radial-gradient(ellipse 50% 70% at 40% 30%,rgba(var(--accent-rgb),.07) 0%,transparent 40%);background-size:200% 200%,200% 200%,200% 200%,200% 200%;animation:phMeshShift 20s ease-in-out infinite alternate;opacity:1;z-index:0;-webkit-mask-image:linear-gradient(to bottom,black 50%,transparent 100%);mask-image:linear-gradient(to bottom,black 50%,transparent 100%)}@keyframes phMeshShift{0%{background-position:0% 0%,100% 0%,50% 100%,30% 70%}33%{background-position:60% 40%,30% 70%,80% 20%,60% 10%}66%{background-position:30% 80%,70% 30%,20% 60%,90% 50%}to{background-position:100% 100%,0% 100%,80% 0%,10% 90%}}.ph-shape:where(.astro-ttgomkr6){position:absolute;pointer-events:none;z-index:0}.ph-shape--circle-1:where(.astro-ttgomkr6){width:180px;height:180px;border-radius:50%;border:1px solid rgba(var(--accent-rgb),.12);top:10%;left:8%;animation:phShapeDrift1 24s ease-in-out infinite alternate}.ph-shape--circle-2:where(.astro-ttgomkr6){width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.08) 0%,transparent 70%);bottom:15%;right:12%;animation:phShapeDrift2 18s ease-in-out infinite alternate}.ph-shape--diamond-1:where(.astro-ttgomkr6){width:60px;height:60px;border:1px solid rgba(var(--accent-rgb),.14);top:25%;right:20%;transform:rotate(45deg);animation:phShapeDrift3 22s ease-in-out infinite alternate}.ph-shape--diamond-2:where(.astro-ttgomkr6){width:40px;height:40px;background:rgba(var(--accent-rgb),.06);bottom:25%;left:18%;transform:rotate(45deg);animation:phShapeDrift4 16s ease-in-out infinite alternate}@keyframes phShapeDrift1{0%{transform:translate(0) scale(1);opacity:.5}50%{transform:translate(30px,-20px) scale(1.05);opacity:.8}to{transform:translate(-15px,25px) scale(.95);opacity:.4}}@keyframes phShapeDrift2{0%{transform:translate(0);opacity:.6}50%{transform:translate(-25px,15px);opacity:.9}to{transform:translate(20px,-30px);opacity:.5}}@keyframes phShapeDrift3{0%{transform:rotate(45deg) translate(0);opacity:.5}50%{transform:rotate(45deg) translate(15px,-10px);opacity:.8}to{transform:rotate(45deg) translate(-10px,20px);opacity:.4}}@keyframes phShapeDrift4{0%{transform:rotate(45deg) translate(0);opacity:.6}to{transform:rotate(45deg) translate(20px,12px);opacity:.3}}.ph-network:where(.astro-ttgomkr6){position:absolute;inset:0;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(to bottom,black 40%,transparent 95%);mask-image:linear-gradient(to bottom,black 40%,transparent 95%)}.ph-network:where(.astro-ttgomkr6) circle:where(.astro-ttgomkr6){fill:rgba(var(--accent-rgb),.28)}.ph-network:where(.astro-ttgomkr6) line:where(.astro-ttgomkr6){stroke:rgba(var(--accent-rgb),.16);stroke-width:1}.ph-node-drift:where(.astro-ttgomkr6){animation:phNodeDrift 18s ease-in-out infinite alternate}.ph-node-drift-2:where(.astro-ttgomkr6){animation:phNodeDrift2 22s ease-in-out infinite alternate}.ph-node-drift-3:where(.astro-ttgomkr6){animation:phNodeDrift3 15s ease-in-out infinite alternate}@keyframes phNodeDrift{0%{transform:translate(0)}25%{transform:translate(12px,-18px)}50%{transform:translate(-8px,14px)}75%{transform:translate(20px,6px)}to{transform:translate(-5px,-10px)}}@keyframes phNodeDrift2{0%{transform:translate(0)}33%{transform:translate(-15px,10px)}66%{transform:translate(10px,-20px)}to{transform:translate(5px,15px)}}@keyframes phNodeDrift3{0%{transform:translate(0)}50%{transform:translate(18px,12px)}to{transform:translate(-12px,-8px)}}.ph-pulse:where(.astro-ttgomkr6){position:absolute;border-radius:50%;border:1px solid rgba(var(--accent-rgb),.18);animation:phPulseExpand 6s ease-out infinite;pointer-events:none;z-index:0}.ph-pulse-1:where(.astro-ttgomkr6){width:300px;height:300px;top:30%;left:15%}.ph-pulse-2:where(.astro-ttgomkr6){width:400px;height:400px;top:10%;right:10%;animation-delay:2s}.ph-pulse-3:where(.astro-ttgomkr6){width:250px;height:250px;bottom:15%;left:50%;animation-delay:4s}@keyframes phPulseExpand{0%{transform:scale(.6);opacity:.5}to{transform:scale(1.8);opacity:0}}.ph-particles:where(.astro-ttgomkr6){position:absolute;inset:0;z-index:1;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,black 50%,transparent 100%);mask-image:linear-gradient(to bottom,black 50%,transparent 100%)}.products-surface:where(.astro-ttgomkr6) .section-divider:where(.astro-ttgomkr6){position:relative;z-index:1}.products-grid:where(.astro-ttgomkr6){display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media(max-width:1024px){.products-grid:where(.astro-ttgomkr6){grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.products-grid:where(.astro-ttgomkr6){grid-template-columns:1fr}}.product-card:where(.astro-ttgomkr6){display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer;transition:transform .3s var(--ease-out-expo),border-color .3s var(--ease-smooth),box-shadow .3s var(--ease-smooth)}.product-card:where(.astro-ttgomkr6):hover{transform:translateY(-3px);border-color:var(--border-accent);box-shadow:var(--shadow-lg),0 0 0 1px var(--border-accent),0 0 40px rgba(var(--accent-rgb),.06)}.product-card:where(.astro-ttgomkr6):after{display:none}.product-card__top:where(.astro-ttgomkr6){display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.product-card__icon:where(.astro-ttgomkr6){width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s var(--ease-out-expo)}.product-card:where(.astro-ttgomkr6):hover .product-card__icon:where(.astro-ttgomkr6){transform:scale(1.06)}.product-card:where(.astro-ttgomkr6) h3:where(.astro-ttgomkr6){margin-bottom:.5rem;font-size:1.1rem}.product-card__desc:where(.astro-ttgomkr6){color:var(--text-secondary);font-size:.9rem;line-height:1.6;flex-grow:1}.product-card__terminal:where(.astro-ttgomkr6){margin:1rem -1.5rem -1.5rem;background:var(--bg-card);border-top:1px solid var(--border-subtle);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:16px 1.5rem;font-family:var(--font-mono, "SF Mono", "Fira Code", Consolas, monospace);font-size:.68rem;line-height:1.7;color:var(--text-secondary);overflow-x:auto;height:200px;display:flex;flex-direction:column;justify-content:center}.tl:where(.astro-ttgomkr6){white-space:nowrap}.tp:where(.astro-ttgomkr6){color:var(--text-muted)}.tc:where(.astro-ttgomkr6){color:var(--accent, #38bdf8)}.tf:where(.astro-ttgomkr6){color:var(--text-muted)}.ts:where(.astro-ttgomkr6){color:#16a34a}.tm:where(.astro-ttgomkr6){color:var(--text-muted)}.product-card__screenshot:where(.astro-ttgomkr6){margin:1rem -1.5rem -1.5rem;overflow:hidden;border-top:1px solid var(--border-subtle);background:var(--bg-elevated);height:200px;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.product-card__screenshot:where(.astro-ttgomkr6) img:where(.astro-ttgomkr6){width:100%;height:100%;display:block;object-fit:cover;object-position:top left}.img-dark:where(.astro-ttgomkr6){display:none}.product-card__link:where(.astro-ttgomkr6){display:inline-flex;align-items:center;gap:.4rem;color:var(--blue-400);margin-top:1rem;font-size:.85rem;font-weight:600;transition:gap .2s ease}.product-card:where(.astro-ttgomkr6):hover .product-card__link:where(.astro-ttgomkr6){gap:.6rem}.products-surface:where(.astro-ttgomkr6){position:relative;background:radial-gradient(ellipse 800px 400px at 50% 400px,rgba(var(--accent-rgb),.08),transparent 70%),linear-gradient(180deg,#f5fbff 0%,#edf6ff 15%,#f8fbff 30%,var(--bg-base) 50%,var(--bg-elevated) 100%)}.products-surface:where(.astro-ttgomkr6):before{content:"";position:absolute;inset:0;background:url(/images/patterns/products-pattern.svg) center / cover no-repeat;opacity:.6;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,.6) 30%,rgba(0,0,0,.4) 60%,rgba(0,0,0,.4) 100%);mask-image:linear-gradient(to bottom,#000,#0009 30%,#0006 60% 100%)}.products-surface:where(.astro-ttgomkr6):after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 25% 20%,rgba(var(--accent-rgb),.08) 0%,transparent 50%),radial-gradient(ellipse 60% 80% at 75% 40%,rgba(var(--accent-rgb),.05) 0%,transparent 50%);background-size:200% 200%,200% 200%;animation:productsSurfaceMesh 30s ease-in-out infinite alternate;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,.3) 50%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,#000,#0000004d,#0000)}.products-surface:where(.astro-ttgomkr6)>.hero-products:where(.astro-ttgomkr6),.products-surface:where(.astro-ttgomkr6)>.section:where(.astro-ttgomkr6){position:relative;z-index:1;background:transparent}@keyframes productsSurfaceMesh{0%{background-position:0% 0%,100% 100%}50%{background-position:60% 30%,40% 60%}to{background-position:100% 100%,0% 0%}}@media(max-width:768px){.hero-products:where(.astro-ttgomkr6){padding:7rem var(--content-padding) 8rem}.product-card__screenshot:where(.astro-ttgomkr6),.product-card__terminal:where(.astro-ttgomkr6){display:none}}@media(prefers-reduced-motion:reduce){.product-card:where(.astro-ttgomkr6){transition:none}.product-card__icon:where(.astro-ttgomkr6){transition:none}.products-hero-icon__halo:where(.astro-ttgomkr6){animation:none}.ph-mesh:where(.astro-ttgomkr6){animation:none}.ph-shape:where(.astro-ttgomkr6){animation:none}.ph-pulse:where(.astro-ttgomkr6){animation:none;opacity:0}.ph-node-drift:where(.astro-ttgomkr6),.ph-node-drift-2:where(.astro-ttgomkr6),.ph-node-drift-3:where(.astro-ttgomkr6){animation:none}.products-surface:where(.astro-ttgomkr6):after{animation:none}}
