:root{--graphic-background:color-mix(in srgb, var(--color-surface) 92%, transparent);--graphic-panel:color-mix(in srgb, var(--color-surface-elevated) 90%, transparent);--graphic-line:color-mix(in srgb, var(--color-border-strong) 48%, transparent);--graphic-line-strong:color-mix(in srgb, var(--color-accent) 58%, var(--color-border));--graphic-grid:color-mix(in srgb, var(--color-border) 58%, transparent);--graphic-glow:color-mix(in srgb, var(--color-accent) 16%, transparent);--graphic-text:var(--color-text-primary);--graphic-muted:var(--color-text-muted)}html[data-theme=dark]{--graphic-background:#121017;--graphic-panel:#19151f;--graphic-line:#3f3747;--graphic-line-strong:#7763d4;--graphic-grid:#231e29;--graphic-glow:#9278ff33;--graphic-text:#f5f0f4;--graphic-muted:#ada3b2}.signature-field{border:1px solid var(--graphic-line);background:linear-gradient(var(--graphic-grid) 1px, transparent 1px), linear-gradient(90deg, var(--graphic-grid) 1px, transparent 1px), radial-gradient(circle at 50% 48%, var(--graphic-glow), transparent 38%), var(--graphic-background);min-width:0;color:var(--graphic-text);isolation:isolate;background-size:3rem 3rem,3rem 3rem,auto,auto;margin:0;position:relative;overflow:hidden}.signature-field:after{z-index:0;opacity:.22;content:"";pointer-events:none;background-image:radial-gradient(circle,currentColor .45px,#0000 .55px);background-size:5px 5px;position:absolute;inset:0}.signature-field figcaption{z-index:2;padding:var(--space-3) var(--space-4);border-top:1px solid var(--graphic-line);color:var(--graphic-muted);font-family:var(--font-mono);font-size:var(--type-metadata);letter-spacing:.04em;position:relative}html[data-motion-ready=true] [data-motion-graphic][data-motion-state=pending]{opacity:0;transform:translateY(1.4rem)scale(.985)}html[data-motion-ready=true] [data-motion-graphic]{transition:opacity var(--duration-slow) var(--ease-enter), transform var(--duration-slow) var(--ease-enter), border-color var(--duration-normal) var(--ease-standard)}html[data-motion-ready=true] [data-motion-graphic][data-motion-state=visible]{opacity:1;transform:translateY(0)scale(1)}html[data-motion-ready=true] [data-motion-graphic] :is(.connected-system-graphic__core,.project-constellation__core){transition:opacity var(--duration-slow) var(--ease-enter), scale var(--duration-slow) var(--ease-enter), box-shadow var(--duration-slow) var(--ease-standard)}html[data-motion-ready=true] [data-motion-graphic][data-motion-state=pending] :is(.connected-system-graphic__core,.project-constellation__core){opacity:0;scale:.84}html[data-motion-ready=true] [data-motion-graphic] li>:is(a,div){transition-delay:calc(var(--graphic-index,0) * 65ms)}html[data-motion-ready=true] [data-motion-graphic][data-motion-state=pending] li>:is(a,div){opacity:0;translate:0 .8rem}html[data-motion-ready=true] [data-motion-graphic][data-motion-state=visible] li>:is(a,div){opacity:1;translate:0}html[data-motion-ready=true] [data-motion-graphic].signal-plot li i b{transform-origin:0;transition:scale var(--duration-slow) var(--ease-enter);transition-delay:calc(var(--graphic-index,0) * 55ms)}html[data-motion-ready=true] [data-motion-graphic].signal-plot[data-motion-state=pending] li i b{scale:0 1}.connected-system-graphic__diagram,.project-constellation__diagram{z-index:1;min-height:38rem;position:relative}.connected-system-graphic__diagram:before,.project-constellation__diagram:before{border:1px solid var(--graphic-line);content:"";box-shadow:0 0 0 3.5rem color-mix(in srgb, var(--graphic-line) 25%, transparent), 0 0 0 7rem color-mix(in srgb, var(--graphic-line) 15%, transparent);border-radius:50%;position:absolute;inset:14%}.connected-system-graphic__axis{background:linear-gradient(90deg, transparent, var(--graphic-line-strong), transparent);height:1px;position:absolute;inset:50% 8% auto}.connected-system-graphic__axis:after{background:linear-gradient(transparent, var(--graphic-line-strong), transparent);content:"";width:1px;height:38rem;position:absolute;top:calc(1px - 19rem);left:50%}.connected-system-graphic__core,.project-constellation__core{z-index:3;aspect-ratio:1;border:1px solid var(--graphic-line-strong);background:var(--graphic-panel);text-align:center;width:12rem;box-shadow:0 0 0 1.5rem color-mix(in srgb, var(--color-accent) 5%, transparent), 0 0 5rem var(--graphic-glow);border-radius:50%;place-content:center;justify-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.connected-system-graphic__core span,.project-constellation__core span,.connected-system-graphic li>:is(a,div)>span,.project-constellation li a>span{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--type-metadata);letter-spacing:.06em;text-transform:uppercase}.connected-system-graphic__core strong{max-width:9rem;font-size:1.3rem;font-weight:500;line-height:1.08}.connected-system-graphic ol,.project-constellation ol{inset:var(--space-6);margin:0;padding:0;list-style:none;position:absolute}.connected-system-graphic li,.project-constellation li{z-index:2;position:absolute}.connected-system-graphic li>:is(a,div),.project-constellation li a{min-width:10rem;max-width:14rem;padding:var(--space-3);border:1px solid var(--graphic-line);background:var(--graphic-panel);box-shadow:0 10px 30px color-mix(in srgb, var(--color-text-primary) 8%, transparent);transition:border-color .18s var(--ease-standard), transform .18s var(--ease-standard), background-color .18s var(--ease-standard);gap:.2rem;display:grid}.connected-system-graphic li>a:hover,.project-constellation li a:hover{border-color:var(--color-accent);background:color-mix(in srgb, var(--graphic-panel) 82%, var(--color-accent-soft));transform:translateY(-.2rem)}.connected-system-graphic li strong,.project-constellation li strong{font-size:var(--type-body-sm);font-weight:600}.connected-system-graphic li small,.project-constellation li small,.project-constellation__core small{color:var(--graphic-muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.6rem;line-height:1.4}.connected-system-graphic li:first-child{top:2%;left:4%}.connected-system-graphic li:nth-child(2){top:2%;right:4%}.connected-system-graphic li:nth-child(3){top:42%;right:-1%}.connected-system-graphic li:nth-child(4){bottom:2%;right:6%}.connected-system-graphic li:nth-child(5){bottom:2%;left:6%}.connected-system-graphic li:nth-child(6){top:42%;left:-1%}.connected-system-graphic li:nth-child(7){top:0;left:50%;transform:translate(-50%)}.connected-system-graphic li:nth-child(8){bottom:0;left:50%;transform:translate(-50%)}.connected-system-graphic--inverse{--graphic-background:#121017;--graphic-panel:#19151f;--graphic-line:#3f3747;--graphic-line-strong:#7763d4;--graphic-grid:#231e29;--graphic-glow:#9278ff33;--graphic-text:#f5f0f4;--graphic-muted:#ada3b2}.project-constellation--live .project-constellation__diagram{min-height:42rem;overflow:hidden}.project-constellation--live .project-constellation__diagram:before{display:none}.project-constellation__orbits,.project-constellation__particles{pointer-events:none;position:absolute;inset:0}.project-constellation__orbits i{aspect-ratio:1;border:1px solid var(--graphic-line);width:64%;box-shadow:0 0 4rem color-mix(in srgb, var(--color-accent) 6%, transparent) inset;border-radius:50%;animation:34s linear infinite portfolio-orbit-spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(10deg)}.project-constellation__orbits i:nth-child(2){border-color:color-mix(in srgb, var(--graphic-line-strong) 52%, transparent);width:82%;animation-duration:46s;animation-direction:reverse;transform:translate(-50%,-50%)rotate(-18deg)scaleY(.72)}.project-constellation__orbits i:nth-child(3){border-style:dashed;width:44%;animation-duration:27s;transform:translate(-50%,-50%)rotate(42deg)scaleY(.84)}.project-constellation__particles i{aspect-ratio:1;background:var(--color-accent);width:.3rem;box-shadow:0 0 1rem var(--color-accent);opacity:.24;border-radius:50%;animation:4.2s ease-in-out infinite alternate portfolio-particle-pulse;position:absolute;top:8%;left:7%}.project-constellation__particles i:nth-child(2){animation-delay:-1.2s;top:17%;left:72%}.project-constellation__particles i:nth-child(3){animation-delay:-2.1s;top:28%;left:29%}.project-constellation__particles i:nth-child(4){animation-delay:-.8s;top:42%;left:89%}.project-constellation__particles i:nth-child(5){animation-delay:-3.4s;top:53%;left:12%}.project-constellation__particles i:nth-child(6){animation-delay:-1.8s;top:66%;left:76%}.project-constellation__particles i:nth-child(7){animation-delay:-2.8s;top:79%;left:35%}.project-constellation__particles i:nth-child(8){animation-delay:-.3s;top:87%;left:91%}.project-constellation__particles i:nth-child(9){animation-delay:-3.8s;top:91%;left:8%}.project-constellation--live .project-constellation__core{aspect-ratio:auto;width:clamp(20rem,48%,27rem);min-height:12.5rem;padding:var(--space-5);background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--color-accent) 18%, transparent), transparent 48%), color-mix(in srgb, var(--graphic-panel) 94%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-accent) 25%, transparent), 0 1.5rem 5rem #00000038, 0 0 5rem var(--graphic-glow);backdrop-filter:blur(18px);border-radius:1.4rem;align-content:center}.project-constellation--live .project-constellation__core:before{z-index:-1;border-radius:inherit;background:conic-gradient(from 90deg, transparent 0 25%, var(--color-accent) 36%, transparent 47% 75%, var(--color-accent-hover) 86%, transparent 97%);content:"";opacity:.62;filter:blur(.5px);animation:9s linear infinite portfolio-core-scan;position:absolute;inset:-1px}.project-constellation--live .project-constellation__core:after{z-index:-1;background:var(--graphic-panel);content:"";border-radius:calc(1.4rem - 1px);position:absolute;inset:1px}.project-constellation--live .project-constellation__core strong{margin-block:var(--space-2);color:var(--graphic-text);font-family:var(--font-sans);letter-spacing:-.065em;text-shadow:0 0 2.5rem var(--graphic-glow);font-size:clamp(2.35rem,4.8vw,4.5rem);font-style:normal;font-weight:500;line-height:.95}.project-constellation--live .project-constellation__core>small{letter-spacing:.1em;font-size:.64rem}.project-constellation--live ol{inset:0}.project-constellation--live li{animation:portfolio-project-swim var(--swim-duration,16s) ease-in-out infinite;animation-delay:var(--swim-delay,0s)}.project-constellation--live li:focus-within,.project-constellation--live li:hover{z-index:6;animation-play-state:paused}.project-constellation--live li:first-child{--swim-duration:17s;--swim-delay:-4s;--swim-x-1:1rem;--swim-y-1:.65rem;--swim-x-2:-.55rem;--swim-y-2:1.1rem;top:4%;left:3%}.project-constellation--live li:nth-child(2){--swim-duration:19s;--swim-delay:-11s;--swim-x-1:-1.15rem;--swim-y-1:.85rem;--swim-x-2:.45rem;--swim-y-2:-.7rem;top:6%;right:3%}.project-constellation--live li:nth-child(3){--swim-duration:15s;--swim-delay:-7s;--swim-x-1:-.75rem;--swim-y-1:-1.05rem;--swim-x-2:.5rem;--swim-y-2:.7rem;top:37%;right:1%}.project-constellation--live li:nth-child(4){--swim-duration:21s;--swim-delay:-15s;--swim-x-1:.8rem;--swim-y-1:-.9rem;--swim-x-2:-1.1rem;--swim-y-2:.45rem;bottom:4%;right:7%}.project-constellation--live li:nth-child(5){--swim-duration:18s;--swim-delay:-9s;--swim-x-1:-.65rem;--swim-y-1:-1.15rem;--swim-x-2:1rem;--swim-y-2:.35rem;bottom:4%;left:7%}.project-constellation--live li:nth-child(6){--swim-duration:16s;--swim-delay:-2s;--swim-x-1:1.05rem;--swim-y-1:-.55rem;--swim-x-2:-.35rem;--swim-y-2:1rem;top:39%;left:1%}.project-constellation--live li:nth-child(7){--swim-duration:22s;--swim-delay:-17s;--swim-x-1:.55rem;--swim-y-1:1rem;--swim-x-2:-.85rem;--swim-y-2:-.5rem;top:3%;left:40%}.project-constellation--live li:nth-child(8){--swim-duration:20s;--swim-delay:-13s;--swim-x-1:-.8rem;--swim-y-1:-.7rem;--swim-x-2:.75rem;--swim-y-2:.65rem;bottom:3%;left:41%}.project-constellation--live li a{background:color-mix(in srgb, var(--graphic-panel) 88%, transparent);min-width:9.5rem;max-width:12.5rem;min-height:5rem;box-shadow:0 .8rem 2.5rem #00000029, 0 0 0 1px color-mix(in srgb, var(--color-accent) 8%, transparent);backdrop-filter:blur(14px);border-radius:.7rem;align-content:center;padding:.85rem}.project-constellation--live li a:hover,.project-constellation--live li a:focus-visible{box-shadow:0 1rem 3rem #0000003d, 0 0 0 1px var(--color-accent), 0 0 2rem var(--graphic-glow);transform:scale(1.035)}@keyframes portfolio-project-swim{0%,to{transform:translate(0,0)rotate(0)}34%{transform:translate3d(var(--swim-x-1), var(--swim-y-1), 0) rotate(.45deg)}68%{transform:translate3d(var(--swim-x-2), var(--swim-y-2), 0) rotate(-.4deg)}}@keyframes portfolio-orbit-spin{to{rotate:1turn}}@keyframes portfolio-core-scan{to{rotate:1turn}}@keyframes portfolio-particle-pulse{to{opacity:.72;scale:1.8}}.signal-plot{padding-top:var(--space-4)}.signal-plot__scale{padding:0 var(--space-4) var(--space-3) 9rem;color:var(--graphic-muted);font-family:var(--font-mono);justify-content:space-between;font-size:.58rem;display:flex}.signal-plot ol{border-top:1px solid var(--graphic-line);margin:0;padding:0;list-style:none}.signal-plot li>:is(a,div){min-height:3.65rem;padding-inline:var(--space-4);align-items:center;gap:var(--space-4);border-bottom:1px solid var(--graphic-line);grid-template-columns:7.5rem minmax(6rem,1fr) 2rem;display:grid}.signal-plot li>a:hover{background:color-mix(in srgb, var(--color-accent-soft) 45%, transparent)}.signal-plot li span,.signal-plot li strong{font-family:var(--font-mono);font-size:var(--type-metadata);text-transform:uppercase}.signal-plot li strong{color:var(--color-accent);text-align:right}.signal-plot li i{background:var(--graphic-line);height:.3rem;position:relative;overflow:hidden}.signal-plot li i b{width:var(--signal-width);background:linear-gradient(90deg, var(--color-accent), var(--color-accent-hover));position:absolute;inset:0 auto 0 0}@media (width<=56rem){.connected-system-graphic__diagram,.project-constellation__diagram{min-height:auto;padding:var(--space-5)}.project-constellation--live .project-constellation__diagram{min-height:auto}.connected-system-graphic__diagram:before,.project-constellation__diagram:before,.connected-system-graphic__axis,.project-constellation__orbits,.project-constellation__particles{display:none}.connected-system-graphic__core,.project-constellation__core{aspect-ratio:auto;border-radius:0;width:100%;min-height:9rem;position:static;transform:none}.project-constellation--live .project-constellation__core{border-radius:var(--radius-md);backdrop-filter:none;width:100%;min-height:11rem}.connected-system-graphic ol,.project-constellation ol{margin-top:var(--space-4);gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:static}.connected-system-graphic li,.project-constellation li{position:static;transform:none}.project-constellation--live li,.project-constellation--live .project-constellation__core:before{animation:none}.connected-system-graphic li>:is(a,div),.project-constellation li a{min-width:0;max-width:none;height:100%}.project-constellation--live li a{min-width:0;max-width:none}}@media (width<=36rem){.connected-system-graphic ol,.project-constellation ol{grid-template-columns:1fr}.signal-plot__scale{padding-left:var(--space-4)}.signal-plot li>:is(a,div){gap:var(--space-3);grid-template-columns:6rem minmax(4rem,1fr) 1.5rem}}@media (prefers-reduced-motion:reduce){[data-motion-graphic],[data-motion-graphic] :is(.connected-system-graphic__core,.project-constellation__core),[data-motion-graphic] li>:is(a,div),[data-motion-graphic].signal-plot li i b{opacity:1!important;transition:none!important;transform:translate(0,0)scale(1)!important}.connected-system-graphic li>:is(a,div),.project-constellation li a{transition:none}.connected-system-graphic li>a:hover,.project-constellation li a:hover{transform:none}.project-constellation--live li,.project-constellation__orbits i,.project-constellation__particles i,.project-constellation--live .project-constellation__core:before{animation:none!important}}html[data-reduced-effects=true] .project-constellation--live li,html[data-reduced-effects=true] .project-constellation__orbits i,html[data-reduced-effects=true] .project-constellation__particles i,html[data-reduced-effects=true] .project-constellation--live .project-constellation__core:before{animation:none!important}
