:root{--void:#07080a;--void-2:#0e1014;--steel:#9aa3b2;--steel-dim:#9aa3b28c;--line:#ffffff14;--line-strong:#ffffff29;--white:#f4f5f7;--signal:#c8ff3d;--signal-ink:#0a0c08;--font-display:"Space Grotesk", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--pad:clamp(1.1rem, 3.5vw, 2.75rem);--max:78rem;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-display);color:var(--steel);background:var(--void);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:400;line-height:1.5}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}#app{z-index:1;width:min(100% - (var(--pad) * 2), var(--max));margin-inline:auto;padding-bottom:4.5rem;position:relative}.atmosphere{z-index:0;pointer-events:none;background:radial-gradient(80% 60% at 100% 0%, #c8ff3d12, transparent 50%), radial-gradient(70% 50% at 0% 100%, #5078ff0f, transparent 45%), linear-gradient(160deg, #0a0c10 0%, var(--void) 45%, #050608 100%);position:fixed;inset:0;overflow:hidden}.atmosphere__grid{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.55;background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 50% 30%,#000 20%,#0000 75%);mask-image:radial-gradient(80% 70% at 50% 30%,#000 20%,#0000 75%)}.atmosphere__beam{--mx:70%;--my:25%;background:radial-gradient(28rem 28rem at var(--mx) var(--my), #c8ff3d1f, transparent 55%);transition:background .4s;position:absolute;inset:-20%}.atmosphere__scan{opacity:.7;background:repeating-linear-gradient(0deg,#0000 0 3px,#ffffff04 3px 4px);animation:14s linear infinite scan-drift;position:absolute;inset:0}.atmosphere__noise{opacity:.18;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px;position:absolute;inset:0}@keyframes scan-drift{0%{transform:translateY(0)}to{transform:translateY(4px)}}.reveal{opacity:0;filter:blur(4px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),filter .7s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--d,0) * 80ms);transform:translateY(1.25rem)}html.is-ready .reveal{opacity:1;filter:none;transform:none}.site-header{justify-content:space-between;align-items:center;gap:1rem;padding:1.35rem 0 0;display:flex}.wordmark{letter-spacing:-.02em;color:var(--white);align-items:center;gap:.6rem;font-size:.9rem;font-weight:600;display:inline-flex}.wordmark__mark{background:var(--signal);width:.55rem;height:.55rem;animation:2.4s ease-in-out infinite pulse-mark;box-shadow:0 0 12px #c8ff3d8c}@keyframes pulse-mark{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.nav{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;gap:clamp(1rem,3vw,1.75rem);font-size:.72rem;font-weight:500;display:flex}.nav a{color:var(--steel-dim);transition:color .2s}.nav a:hover{color:var(--signal)}.hero{align-content:center;gap:clamp(1.5rem,4vh,2.5rem);min-height:calc(100svh - 4.5rem);padding:2.5rem 0 3.5rem;display:grid}.hero__meta{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--steel-dim);flex-wrap:wrap;align-items:center;gap:.65rem;font-size:.72rem;display:flex}.hero__dot{background:var(--signal);border-radius:50%;width:.28rem;height:.28rem}.hero__brand{letter-spacing:-.055em;color:var(--white);gap:0;margin:0;font-size:clamp(4.2rem,16vw,9.5rem);font-weight:700;line-height:.86;display:grid}.hero__line-a,.hero__line-b{display:block}.hero__line-b{color:#0000;-webkit-text-stroke:1.5px #f4f5f7b8}.hero__bottom{border-top:1px solid var(--line-strong);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem 2.5rem;max-width:100%;padding-top:.5rem;display:flex}.hero__line{max-width:28rem;color:var(--steel);margin:0;font-size:clamp(1rem,2vw,1.15rem);font-weight:400}.hero__ctas{flex-wrap:wrap;gap:.65rem;display:flex}.btn{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;padding:.85rem 1.25rem;font-size:.7rem;font-weight:500;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--signal);color:var(--signal-ink)}.btn--primary:hover{box-shadow:0 0 28px #c8ff3d59}.btn--ghost{border-color:var(--line-strong);color:var(--white);background:0 0}.btn--ghost:hover{border-color:var(--signal);color:var(--signal)}.work{padding:1rem 0 0}.work__head{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.25rem;padding:1.1rem 0;display:flex}.work__head h2{letter-spacing:-.01em;color:var(--white);align-items:center;gap:.55rem;margin:0;font-size:.85rem;font-weight:600;display:flex}.work__head h2 span{color:var(--signal);font-weight:700}.work__count{font-family:var(--font-mono);letter-spacing:.08em;color:var(--steel-dim);margin:0;font-size:.75rem}.project-list{margin:0;padding:0;list-style:none}.project{border-bottom:1px solid var(--line)}.project__link{grid-template-columns:3rem 1fr auto;align-items:start;gap:clamp(.85rem,2.5vw,1.75rem);padding:clamp(1.35rem,3vw,1.85rem) 0;transition:background .25s;display:grid;position:relative}.project__link:after{content:"";background:var(--signal);width:0;height:1px;transition:width .35s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-1px;left:0}.project__link:hover:after,.project__link:focus-visible:after{width:100%}.project__link:hover .project__names h3,.project__link:focus-visible .project__names h3{color:var(--signal)}.project__link:hover .project__go,.project__link:focus-visible .project__go{color:var(--signal);transform:translate(.2rem,-.2rem)}.project__index{font-family:var(--font-mono);letter-spacing:.06em;color:var(--steel-dim);padding-top:.45rem;font-size:.72rem}.project__names{flex-wrap:wrap;align-items:baseline;gap:.5rem .85rem;margin-bottom:.4rem;display:flex}.project__names h3{letter-spacing:-.035em;color:var(--white);margin:0;font-size:clamp(1.6rem,4vw,2.35rem);font-weight:700;transition:color .2s}.project__label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--steel-dim);border:1px solid var(--line);padding:.2rem .45rem;font-size:.68rem}.project__blurb{max-width:36rem;color:var(--steel-dim);margin:0;font-size:.95rem}.project__meta{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--steel-dim);white-space:nowrap;flex-direction:column;align-items:flex-end;gap:.55rem;padding-top:.4rem;font-size:.68rem;display:flex}.project__go{color:var(--white);font-size:1.1rem;transition:transform .25s cubic-bezier(.16,1,.3,1),color .2s}.site-footer{border-top:1px solid var(--line-strong);color:var(--steel-dim);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem 2rem;margin-top:3.5rem;padding-top:1.35rem;font-size:.9rem;display:flex}.site-footer p{margin:0}.footer-links{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:1rem 1.5rem;font-size:.7rem;display:flex}.footer-links a{color:var(--white);transition:color .2s}.footer-links a:hover{color:var(--signal)}@media (width<=640px){.project__link{grid-template-columns:2.25rem 1fr}.project__meta{flex-direction:row;grid-column:2;justify-content:space-between;align-items:center;width:100%;padding-top:.7rem}.site-header{flex-direction:column;align-items:flex-start}.hero__brand{font-size:clamp(3.4rem,18vw,5rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.atmosphere__scan,.wordmark__mark,.reveal{opacity:1!important;filter:none!important;transition:none!important;animation:none!important;transform:none!important}}
