.proj-rail.svelte-gygcht{z-index:60;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0}.proj-rail.svelte-gygcht i:where(.svelte-gygcht){background:var(--accent);transform-origin:0;height:100%;transition:transform .15s linear;display:block;transform:scaleX(0)}.proj-side.svelte-gygcht{z-index:55;pointer-events:none;mix-blend-mode:difference;position:fixed;top:50%;transform:translateY(-50%)}[data-theme=light] .proj-side.svelte-gygcht{mix-blend-mode:normal}.proj-side.left.svelte-gygcht{left:18px}.proj-side.right.svelte-gygcht{right:18px}.proj-side.svelte-gygcht a:where(.svelte-gygcht){pointer-events:auto;width:52px;color:var(--fg);flex-direction:column;align-items:center;gap:10px;display:flex}.proj-side.svelte-gygcht .ic:where(.svelte-gygcht){border:1px solid var(--line-strong);width:52px;height:52px;font-family:var(--font-mono);color:var(--fg);background:color-mix(in srgb, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(8px);transition:all .35s var(--ease-out);isolation:isolate;border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex;position:relative;overflow:hidden}.proj-side.svelte-gygcht .ic:where(.svelte-gygcht):before{content:"";z-index:-1;background:var(--accent);transition:transform .45s var(--ease-out);border-radius:50%;position:absolute;inset:0;transform:scale(0)}.proj-side.svelte-gygcht a:where(.svelte-gygcht):hover .ic:where(.svelte-gygcht){color:var(--bg);border-color:var(--accent);transform:scale(1.08)}.proj-side.svelte-gygcht a:where(.svelte-gygcht):hover .ic:where(.svelte-gygcht):before{transform:scale(1)}.proj-side.svelte-gygcht .lbl:where(.svelte-gygcht){letter-spacing:.2em;text-transform:uppercase;color:var(--fg-soft);opacity:0;transition:opacity .3s, transform .3s var(--ease-out);text-align:center;max-width:120px;font-size:9px;line-height:1.3;transform:translateY(-4px)}.proj-side.svelte-gygcht a:where(.svelte-gygcht):hover .lbl:where(.svelte-gygcht){opacity:1;transform:translateY(0)}.proj-side.svelte-gygcht .arr:where(.svelte-gygcht){transition:transform .45s var(--ease-out);display:block}.proj-side.left.svelte-gygcht a:where(.svelte-gygcht):hover .arr:where(.svelte-gygcht){transform:translate(-3px)}.proj-side.right.svelte-gygcht a:where(.svelte-gygcht):hover .arr:where(.svelte-gygcht){transform:translate(3px)}.proj-side.svelte-gygcht .num:where(.svelte-gygcht){letter-spacing:.18em;color:var(--fg-soft);font-size:10px}.proj-hero.svelte-gygcht{padding:140px var(--pad-x) 80px;align-items:flex-end;min-height:90vh;display:flex;position:relative;overflow:hidden}.bg-tint.svelte-gygcht{background:radial-gradient(60% 60% at 80% 30%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 60%);z-index:0;pointer-events:none;position:absolute;inset:0}.proj-hero-inner.svelte-gygcht{z-index:3;max-width:var(--container-max);grid-template-columns:1fr;gap:48px;width:100%;margin:0 auto;display:grid;position:relative}.proj-crumbs.svelte-gygcht{letter-spacing:.18em;text-transform:uppercase;color:var(--fg-soft);align-items:center;gap:14px;font-size:11px;display:flex}.proj-crumbs.svelte-gygcht a:where(.svelte-gygcht){color:var(--fg-soft);align-items:center;gap:8px;transition:color .25s;display:inline-flex}.proj-crumbs.svelte-gygcht a:where(.svelte-gygcht):hover{color:var(--accent)}.proj-crumbs.svelte-gygcht a:where(.svelte-gygcht) .dot:where(.svelte-gygcht){background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%;display:inline-block}.proj-crumbs.svelte-gygcht .sep:where(.svelte-gygcht){color:var(--dim)}.proj-meta-row.svelte-gygcht{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.proj-title.svelte-gygcht .italic{font-family:var(--font-serif);color:var(--fg-soft);font-style:italic;font-weight:400}.proj-sub.svelte-gygcht{max-width:760px;color:var(--fg);text-wrap:pretty;font-size:22px;line-height:1.45}.proj-links.svelte-gygcht{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.proj-link.svelte-gygcht{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;transition:color .25s, background .25s, border-color .25s, transform .25s var(--ease-out);border-radius:999px;align-items:center;gap:10px;padding:12px 22px;font-size:11px;display:inline-flex}.proj-link.svelte-gygcht .arr:where(.svelte-gygcht){transition:transform .3s var(--ease-out)}.proj-link.svelte-gygcht:hover{transform:translateY(-1px)}.proj-link.svelte-gygcht:hover .arr:where(.svelte-gygcht){transform:translate(2px,-2px)}.proj-link.primary.svelte-gygcht{background:var(--accent);color:var(--bg);border:1px solid var(--accent)}.proj-link.primary.svelte-gygcht:hover{color:var(--accent);background:0 0}.proj-link.ghost.svelte-gygcht{border:1px solid var(--line-strong);color:var(--fg);background:0 0}.proj-link.ghost.svelte-gygcht:hover{border-color:var(--accent);color:var(--accent)}.proj-key.svelte-gygcht{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin-top:32px;display:grid}.proj-key.svelte-gygcht .cell:where(.svelte-gygcht){background:var(--bg);padding:22px}.proj-key.svelte-gygcht .k:where(.svelte-gygcht){letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:10px}.proj-key.svelte-gygcht .v:where(.svelte-gygcht){font-family:var(--font-display);letter-spacing:-.01em;color:var(--fg);margin-top:8px;font-size:18px;font-weight:500}.proj-key.svelte-gygcht .v.mono:where(.svelte-gygcht){font-family:var(--font-mono);color:var(--fg-soft);text-transform:uppercase;letter-spacing:.1em;font-size:14px;font-weight:400}.proj-banner.svelte-gygcht{height:62vh;min-height:420px;margin:0 var(--pad-x);border:1px solid var(--line-strong);background:var(--surface);border-radius:14px;position:relative;overflow:hidden}.proj-banner.svelte-gygcht .ph:where(.svelte-gygcht){background-image:repeating-linear-gradient(45deg, #ffffff0a 0 14px, transparent 14px 28px), linear-gradient(135deg, var(--surface), var(--surface-2));position:absolute;inset:0}.proj-banner.svelte-gygcht .cover:where(.svelte-gygcht){object-fit:cover;object-position:top center;width:100%;height:100%;display:block;position:absolute;inset:0}.proj-banner.has-image.svelte-gygcht:after{content:"";background:linear-gradient(180deg, transparent 60%, color-mix(in srgb, var(--bg) 60%, transparent));pointer-events:none;position:absolute;inset:0}.proj-banner.svelte-gygcht .corners:where(.svelte-gygcht) i:where(.svelte-gygcht){border:1px solid var(--accent);width:18px;height:18px;position:absolute}.proj-banner.svelte-gygcht .corners:where(.svelte-gygcht) i.a:where(.svelte-gygcht){border-bottom:none;border-right:none;top:14px;left:14px}.proj-banner.svelte-gygcht .corners:where(.svelte-gygcht) i.b:where(.svelte-gygcht){border-bottom:none;border-left:none;top:14px;right:14px}.proj-banner.svelte-gygcht .corners:where(.svelte-gygcht) i.c:where(.svelte-gygcht){border-top:none;border-right:none;bottom:14px;left:14px}.proj-banner.svelte-gygcht .corners:where(.svelte-gygcht) i.d:where(.svelte-gygcht){border-top:none;border-left:none;bottom:14px;right:14px}.proj-banner.svelte-gygcht .label:where(.svelte-gygcht){letter-spacing:.18em;text-transform:uppercase;color:var(--fg-soft);font-size:11px;position:absolute;bottom:20px;left:24px}.proj-banner.svelte-gygcht .label:where(.svelte-gygcht) .accent:where(.svelte-gygcht){color:var(--accent)}.proj-banner.svelte-gygcht .ix:where(.svelte-gygcht){letter-spacing:.18em;text-transform:uppercase;color:var(--fg-soft);font-size:11px;position:absolute;top:24px;right:24px}.proj-body.svelte-gygcht{padding:120px var(--pad-x)}.proj-body-inner.svelte-gygcht{flex-direction:column;gap:96px;max-width:1080px;margin:0 auto;display:flex}.proj-stat-row.svelte-gygcht{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.proj-stat-row.svelte-gygcht .cell:where(.svelte-gygcht){background:var(--bg);padding:36px}.proj-stat-row.svelte-gygcht .cell:where(.svelte-gygcht) .v:where(.svelte-gygcht){font-family:var(--font-display);letter-spacing:-.04em;color:var(--fg);font-size:clamp(48px,7vw,96px);font-weight:500;line-height:1}.proj-stat-row.svelte-gygcht .cell:where(.svelte-gygcht) .k:where(.svelte-gygcht){letter-spacing:.18em;text-transform:uppercase;color:var(--fg-soft);margin-top:14px;font-size:11px}.proj-prose.svelte-gygcht{grid-template-columns:280px 1fr;align-items:start;gap:64px;display:grid}.proj-prose.svelte-gygcht .head:where(.svelte-gygcht){letter-spacing:.2em;text-transform:uppercase;color:var(--fg-soft);align-items:flex-start;gap:10px;font-size:11px;display:flex;position:sticky;top:90px}.proj-prose.svelte-gygcht .head:where(.svelte-gygcht) .dot:where(.svelte-gygcht){background:var(--accent);width:6px;height:6px;box-shadow:0 0 12px var(--accent);border-radius:50%;margin-top:5px;display:inline-block}.proj-prose.svelte-gygcht h3:where(.svelte-gygcht){font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg);margin:0 0 18px;font-size:clamp(28px,3.6vw,44px);font-weight:500;line-height:1.1}.proj-prose.svelte-gygcht p:where(.svelte-gygcht){color:var(--fg-soft);text-wrap:pretty;max-width:720px;margin:0;font-size:19px;line-height:1.55}.proj-figure.svelte-gygcht{border:1px solid var(--line-strong);background:var(--surface);border-radius:12px;position:relative;overflow:hidden}.proj-figure.svelte-gygcht .ph:where(.svelte-gygcht){background-image:repeating-linear-gradient(45deg, #ffffff0a 0 12px, transparent 12px 24px), linear-gradient(135deg, var(--surface), var(--surface-2));position:absolute;inset:0}.proj-figure.svelte-gygcht img:where(.svelte-gygcht){object-fit:cover;object-position:top center;width:100%;height:100%;display:block;position:absolute;inset:0}.proj-figure.svelte-gygcht .label:where(.svelte-gygcht){letter-spacing:.18em;text-transform:uppercase;color:var(--fg-soft);font-size:10px;position:absolute;bottom:14px;left:18px}.proj-figure.svelte-gygcht .corners:where(.svelte-gygcht) i:where(.svelte-gygcht){border:1px solid var(--accent);width:12px;height:12px;position:absolute}.proj-figure.svelte-gygcht .corners:where(.svelte-gygcht) i.a:where(.svelte-gygcht){border-bottom:none;border-right:none;top:10px;left:10px}.proj-figure.svelte-gygcht .corners:where(.svelte-gygcht) i.b:where(.svelte-gygcht){border-bottom:none;border-left:none;top:10px;right:10px}.proj-figure.svelte-gygcht .corners:where(.svelte-gygcht) i.c:where(.svelte-gygcht){border-top:none;border-right:none;bottom:10px;left:10px}.proj-figure.svelte-gygcht .corners:where(.svelte-gygcht) i.d:where(.svelte-gygcht){border-top:none;border-left:none;bottom:10px;right:10px}.proj-nav.svelte-gygcht{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 var(--pad-x);grid-template-columns:1fr 1fr;display:grid}.proj-nav.svelte-gygcht a:where(.svelte-gygcht){isolation:isolate;flex-direction:column;gap:18px;padding:48px 32px;transition:color .35s,background .35s;display:flex;position:relative;overflow:hidden}.proj-nav.svelte-gygcht a.next:where(.svelte-gygcht){text-align:right;border-left:1px solid var(--line);align-items:flex-end}.proj-nav.svelte-gygcht .lbl:where(.svelte-gygcht){letter-spacing:.2em;text-transform:uppercase;color:var(--fg-soft);align-items:center;gap:10px;font-size:11px;display:flex}.proj-nav.svelte-gygcht .ttl:where(.svelte-gygcht){font-family:var(--font-display);letter-spacing:-.03em;color:var(--fg);transition:transform .5s var(--ease-out), color .35s;font-size:clamp(36px,6vw,80px);font-weight:500;line-height:.95}.proj-nav.svelte-gygcht .ttl:where(.svelte-gygcht) em:where(.svelte-gygcht){font-family:var(--font-serif);color:var(--fg-soft);font-style:italic;font-weight:400}.proj-nav.svelte-gygcht a:where(.svelte-gygcht):before{content:"";z-index:-1;background:linear-gradient(120deg, transparent, color-mix(in srgb, var(--accent) 8%, transparent), transparent);transition:transform .7s var(--ease-out);position:absolute;inset:0;transform:translate(-101%)}.proj-nav.svelte-gygcht a:where(.svelte-gygcht):hover:before{transform:translate(0)}.proj-nav.svelte-gygcht a:where(.svelte-gygcht):hover .ttl:where(.svelte-gygcht){color:var(--accent);transform:translate(8px)}.proj-nav.svelte-gygcht a.next:where(.svelte-gygcht):hover .ttl:where(.svelte-gygcht){transform:translate(-8px)}.proj-cta.svelte-gygcht{padding:120px var(--pad-x) 160px;text-align:center;border-top:1px solid var(--line)}.proj-cta.svelte-gygcht .eyebrow:where(.svelte-gygcht){font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-soft);align-items:center;gap:10px;margin-bottom:22px;font-size:11px;display:inline-flex}.proj-cta.svelte-gygcht .eyebrow:where(.svelte-gygcht) .dot:where(.svelte-gygcht){background:var(--accent);width:6px;height:6px;box-shadow:0 0 12px var(--accent);border-radius:50%;display:inline-block}.proj-cta.svelte-gygcht h2:where(.svelte-gygcht){font-family:var(--font-display);letter-spacing:-.04em;max-width:14ch;margin:0 auto;font-size:clamp(48px,8vw,128px);font-weight:500;line-height:.95}.proj-cta.svelte-gygcht h2:where(.svelte-gygcht) .italic:where(.svelte-gygcht){font-family:var(--font-serif);color:var(--fg-soft);font-style:italic;font-weight:400}.proj-cta.svelte-gygcht .actions:where(.svelte-gygcht){flex-wrap:wrap;justify-content:center;gap:14px;margin-top:40px;display:flex}.proj-cta.svelte-gygcht .foot:where(.svelte-gygcht){padding:28px var(--pad-x);border-top:1px solid var(--line);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:80px;font-size:10px;display:flex}@media (width<=900px){.proj-hero.svelte-gygcht{padding:100px var(--pad-x) 60px}.proj-banner.svelte-gygcht{height:46vh;min-height:280px}.proj-body.svelte-gygcht{padding:80px var(--pad-x)}.proj-body-inner.svelte-gygcht{gap:64px}.proj-prose.svelte-gygcht{grid-template-columns:1fr;gap:18px}.proj-prose.svelte-gygcht .head:where(.svelte-gygcht){position:static}.proj-key.svelte-gygcht{grid-template-columns:repeat(2,1fr)}.proj-stat-row.svelte-gygcht,.proj-nav.svelte-gygcht{grid-template-columns:1fr}.proj-nav.svelte-gygcht a.next:where(.svelte-gygcht){border-left:none;border-top:1px solid var(--line);text-align:left;align-items:flex-start}.proj-nav.svelte-gygcht a.next:where(.svelte-gygcht):hover .ttl:where(.svelte-gygcht){transform:translate(8px)}.proj-cta.svelte-gygcht{padding:80px var(--pad-x) 120px}.proj-side.svelte-gygcht{mix-blend-mode:normal;justify-content:space-between;margin:0 18px 32px;display:flex;position:static;transform:none}.proj-side.left.svelte-gygcht,.proj-side.right.svelte-gygcht{left:auto;right:auto}.proj-side.svelte-gygcht a:where(.svelte-gygcht){flex-direction:row;width:auto}.proj-side.svelte-gygcht .lbl:where(.svelte-gygcht){opacity:1;transform:none}}
