:root{--purple:#733ca9;--brick:#a41720;--brick-hover:#c22430;--steel:#4682b4;--slate:#2c3539;--panel:#1a1f24;--field:#1c2126;--field-hover:#332945;--field-active:#402e57;--text:#f5f5f7;--key:#bdc4cc;--ink:var(--slate);--surface:var(--panel);--surface-2:var(--field);--subtle:var(--key);--muted:color-mix(in srgb, var(--key) 62%, var(--slate));--line:color-mix(in srgb, var(--key) 20%, transparent);--accent:var(--purple);--ready:var(--steel);--warning:var(--brick);--warning-hover:var(--brick-hover);--fast:.18s cubic-bezier(.2, .8, .2, 1);--step-0:clamp(.98rem, .94rem + .15vw, 1.08rem);--step-1:clamp(1.14rem, 1.04rem + .5vw, 1.48rem);--step-2:clamp(1.7rem, 1.34rem + 1.5vw, 2.9rem);--step-3:clamp(2.3rem, 1.75rem + 2.5vw, 4.3rem);--step-5:clamp(4.5rem, 3rem + 7vw, 10rem)}*,:before,:after{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth}body{background:var(--ink);min-inline-size:320px;color:var(--text);font:400 var(--step-0)/1.6 Inter, ui-sans-serif, system-ui, sans-serif;margin:0}body:before{content:"";z-index:-2;pointer-events:none;background-image:linear-gradient(color-mix(in oklab, var(--line) 55%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in oklab, var(--line) 55%, transparent) 1px, transparent 1px), radial-gradient(circle at 78% 12%, color-mix(in srgb, var(--steel) 22%, transparent), transparent 30rem), radial-gradient(circle at 26% 18%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 25rem);background-size:4.75rem 4.75rem,4.75rem 4.75rem,auto,auto;position:fixed;inset:0;mask-image:linear-gradient(#000,#0000 78%)}body:after{content:"";z-index:-1;pointer-events:none;opacity:.16;mix-blend-mode:soft-light;background:repeating-radial-gradient(circle at 20% 30%,#0000 0 1px,oklch(100% 0 0/.08) 1px 1.5px) 0 0/5px 5px;position:fixed;inset:0}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--key);outline-offset:4px}::selection{color:var(--ink);background:var(--accent)}.skip-link{z-index:10;background:var(--accent);color:var(--ink);transition:translate var(--fast);padding:.6rem .9rem;font-weight:700;position:fixed;inset:.8rem auto auto .8rem;translate:0 -160%}.skip-link:focus{translate:0}.site-header,main,footer{inline-size:min(100% - 2rem,1720px);margin-inline:auto}.site-header{z-index:5;border:1px solid var(--line);background:color-mix(in oklab, var(--surface) 84%, transparent);backdrop-filter:blur(16px);border-radius:.3rem;justify-content:space-between;align-items:center;min-block-size:3.5rem;padding-inline:1.1rem;display:flex;position:sticky;top:.75rem}.wordmark{letter-spacing:-.08em;font:700 1.25rem/1 ui-monospace,monospace;text-decoration:none}.wordmark span{color:var(--accent)}nav{gap:clamp(.75rem,2vw,1.8rem);display:flex}nav a,.menu-toggle{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;transition:color var(--fast);font:600 .72rem/1 ui-monospace,monospace;text-decoration:none}nav a:hover{color:var(--text)}.menu-toggle,.mobile-menu{display:none}.hero{grid-template-columns:minmax(0,.92fr) minmax(20rem,1.08fr);align-items:center;gap:clamp(2rem,7vw,9rem);min-block-size:min(76svh,780px);padding-block:5rem 3rem;display:grid}.eyebrow,.section-index,.project-topline p,.technology-grid>article>p,.visual-caption,footer,.status{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font:600 .7rem/1.2 ui-monospace,monospace}h1,h2,h3,p{margin-block:0}h1,h2,h3{text-wrap:balance}h1{font-size:var(--step-5);letter-spacing:-.07em;margin-block:1.25rem 1.5rem;line-height:.88;display:grid}h1 em{color:var(--subtle);font-style:normal;font-weight:400}.hero-summary{max-inline-size:42rem;color:var(--subtle);font-size:var(--step-1);text-wrap:pretty;line-height:1.5}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.35rem;margin-block-start:2.25rem;display:flex}.button{border:1px solid color-mix(in oklab, var(--accent) 55%, var(--line));background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--text);letter-spacing:.06em;text-transform:uppercase;transition:background var(--fast), transform var(--fast);align-items:center;gap:.7rem;padding:.85rem 1rem;font:650 .75rem/1 ui-monospace,monospace;text-decoration:none;display:inline-flex}.button:hover{background:color-mix(in oklab, var(--accent) 20%, transparent);transform:translateY(-2px)}.text-link{color:var(--subtle);font-size:.9rem}.hero-visual{border:1px solid var(--line);background:linear-gradient(145deg, color-mix(in oklab, var(--surface) 70%, transparent), var(--surface-2));isolation:isolate;min-block-size:28rem;position:relative;overflow:hidden}.hero-visual:before{content:"";z-index:-1;border:1px solid color-mix(in oklab, var(--line) 75%, transparent);filter:blur(2px);border-radius:50%;position:absolute;inset:10%}.topology{block-size:100%;min-block-size:28rem;inline-size:100%;color:var(--accent)}.topology-grid{stroke:var(--line);stroke-width:1px}.topology-orbit{fill:none;stroke:color-mix(in srgb, var(--accent) 24%, transparent);stroke-width:2px;stroke-dasharray:5 10;transform-origin:360px 260px;animation:24s linear infinite orbit}.topology-paths path{fill:none;stroke:color-mix(in oklab, var(--accent) 58%, var(--muted));stroke-width:1.4px}.signal path{fill:none;stroke:url(#signal);stroke-width:2px;stroke-dasharray:10 22;animation:4s linear infinite trace}.nodes{fill:var(--accent)}.nodes circle{stroke:var(--ink);stroke-width:5px}.anomaly{fill:var(--warning);stroke:var(--warning);stroke-width:1.5px}.anomaly path{fill:none;stroke-dasharray:3 4}.topology-labels{fill:var(--muted);letter-spacing:1.5px;font:600 11px ui-monospace,monospace}.visual-caption{justify-content:space-between;inline-size:calc(100% - 2rem);display:flex;position:absolute;inset:auto 1rem 1rem}.visual-caption span{color:var(--key)}.section{border-block-start:1px solid var(--line);padding-block:clamp(5rem,10vw,10rem)}.section-heading{grid-template-columns:4.3rem 1fr;align-items:start;gap:1rem;margin-block-end:2rem;display:grid}.section-heading h2{max-inline-size:14ch;font-size:var(--step-3);letter-spacing:-.05em;line-height:.98}.section-intro{max-inline-size:47rem;color:var(--subtle);font-size:var(--step-1);text-wrap:pretty;margin-inline-start:5.3rem}.projects{grid-template-columns:minmax(0,1fr);margin-block-start:3rem;display:grid;container-type:inline-size}.project{border:1px solid var(--line);background:color-mix(in oklab, var(--surface) 78%, transparent);transition:border-color var(--fast), background var(--fast);gap:1rem;padding:clamp(1.4rem,3.2vw,3rem);display:grid;position:relative}.project:hover{border-color:color-mix(in oklab, var(--accent) 45%, var(--line));background:var(--field-hover)}.project-topline{justify-content:space-between;align-items:center;gap:1rem;display:flex}.status{align-items:center;gap:.45rem;display:inline-flex}.status i{background:var(--muted);border-radius:50%;block-size:.42rem;inline-size:.42rem}.status.is-live i{background:var(--ready);box-shadow:0 0 .7rem var(--ready)}.project h3{max-inline-size:23ch;font-size:var(--step-2);letter-spacing:-.045em;line-height:1}.project-subtitle{color:var(--accent);font:600 .78rem/1.3 ui-monospace,monospace}.project-copy{max-inline-size:57rem;color:var(--subtle)}.tags{flex-wrap:wrap;gap:.45rem;margin:.3rem 0 0;padding:0;list-style:none;display:flex}.tags li{border:1px solid var(--line);color:var(--muted);padding:.35rem .48rem;font:550 .68rem/1.2 ui-monospace,monospace}.project-links{gap:1rem;display:flex}.project-links a{color:var(--text);font-size:.85rem}.technology-grid{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.technology-grid article{border:1px solid var(--line);min-block-size:12rem;padding:1.2rem}.technology-grid h3{margin-block:2.7rem .8rem;font-size:1.1rem}.technology-grid span{color:var(--subtle);font-size:.9rem}.about{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.about .section-heading{grid-column:1}.about-copy{color:var(--subtle);font-size:var(--step-1);text-wrap:pretty;grid-column:2;gap:1.2rem;display:grid}.contact-panel{border:1px solid var(--line);background:linear-gradient(110deg, var(--surface), var(--surface-2));font-size:var(--step-1);grid-template-columns:minmax(0,1fr) minmax(14rem,.6fr);gap:3rem;padding:clamp(1.5rem,5vw,4rem);display:grid}.contact-panel ul{margin:0;padding:0;list-style:none}.contact-panel li+li{margin-block-start:.65rem}.contact-panel a{color:var(--accent)}.muted{color:var(--muted)}footer{justify-content:space-between;gap:1rem;padding-block:1.5rem 3rem;display:flex}.not-found{place-content:center;gap:1.5rem;min-block-size:100svh;display:grid}.not-found h1{font-size:var(--step-3)}@keyframes trace{to{stroke-dashoffset:-128px}}@keyframes orbit{to{rotate:1turn}}@media (width<=760px){.site-header,main,footer{inline-size:min(100% - 1rem,1720px)}.site-header{min-block-size:3.25rem;padding-inline:.8rem;top:.35rem}nav{display:none}.menu-toggle{background:0 0;border:0;align-items:center;gap:.5rem;padding:.45rem;display:flex}.menu-toggle i{background:currentColor;block-size:1px;inline-size:1rem}.mobile-menu{border:1px solid var(--line);background:var(--surface);color:var(--text);margin:0;padding:.5rem;inset:4.25rem .5rem auto}.mobile-menu:popover-open{gap:.2rem;display:grid}.mobile-menu a{padding:.9rem;text-decoration:none}.hero{grid-template-columns:1fr;gap:2.5rem;min-block-size:0;padding-block:4.5rem 4rem}.hero-visual,.topology{min-block-size:21rem}.section-heading{grid-template-columns:2.6rem 1fr}.section-intro{margin-inline-start:3.6rem}.technology-grid{grid-template-columns:repeat(2,1fr)}.technology-grid article{min-block-size:10rem}.about{display:block}.about-copy{margin-inline-start:3.6rem}.contact-panel{grid-template-columns:1fr;gap:1.5rem}footer{flex-direction:column;align-items:flex-start}}@media (width<=420px){.technology-grid{grid-template-columns:1fr}.technology-grid article{min-block-size:0}.technology-grid h3{margin-block:1.3rem .55rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.signal path{animation:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
