.page-shell.svelte-1uha8ag{max-width:1500px;margin:0 auto}.has-banner.svelte-1uha8ag{padding-top:3rem!important}.tile-top.svelte-1uha8ag,.video-overlay.svelte-1uha8ag,.project-page-top.svelte-1uha8ag{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.eyebrow.svelte-1uha8ag,.tile-foot.svelte-1uha8ag,.tile-index.svelte-1uha8ag{letter-spacing:.15em;color:var(--color-muted);font-family:monospace;font-size:.62rem}.loading-screen.svelte-1uha8ag{z-index:50;background:var(--color-accent);color:var(--color-ink);place-items:center;display:grid;position:fixed;inset:0}.loading-screen.svelte-1uha8ag span:where(.svelte-1uha8ag){text-align:center;font-size:1.5rem}.mobile-banner.svelte-1uha8ag{z-index:40;background:var(--color-accent);color:var(--color-ink);text-align:center;letter-spacing:.1em;padding:.6rem 1rem;font-family:monospace;font-size:.7rem;position:fixed;top:0;left:0;right:0}.bento-grid.svelte-1uha8ag{perspective:1200px;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:8rem;gap:.75rem;min-height:40rem;display:grid}.tile.svelte-1uha8ag{border:1px solid var(--color-line);background:var(--color-surface);text-align:left;min-width:0;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(calc(var(--lift,0) * -.4rem));transform-style:preserve-3d;will-change:transform;padding:1.25rem;transition:border-color .25s,transform .22s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.tile.svelte-1uha8ag:hover,.tile.svelte-1uha8ag:focus-within{border-color:var(--color-accent)}.arrow.svelte-1uha8ag{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tile.svelte-1uha8ag:hover .arrow:where(.svelte-1uha8ag),.tile.svelte-1uha8ag:focus-within .arrow:where(.svelte-1uha8ag){transform:translate(.35rem,-.35rem)}.tile-top.svelte-1uha8ag{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tile.svelte-1uha8ag:hover .tile-top:where(.svelte-1uha8ag),.tile.svelte-1uha8ag:focus-within .tile-top:where(.svelte-1uha8ag){transform:translateZ(.4rem)}.eyebrow.svelte-1uha8ag{transition:color .22s}.tile.svelte-1uha8ag:hover .eyebrow:where(.svelte-1uha8ag),.tile.svelte-1uha8ag:focus-within .eyebrow:where(.svelte-1uha8ag){color:var(--color-accent)}.card-button.svelte-1uha8ag{width:100%;height:100%;color:inherit;text-align:left;z-index:0;flex-direction:column;justify-content:space-between;padding:1.25rem;display:flex;position:absolute;inset:0}.card-button.svelte-1uha8ag>:where(.svelte-1uha8ag){z-index:1;position:relative}.nav.svelte-1uha8ag{background:var(--color-accent);color:var(--color-ink)}.nav.svelte-1uha8ag .eyebrow:where(.svelte-1uha8ag),.nav.svelte-1uha8ag .tile-foot:where(.svelte-1uha8ag){color:#586522}.nav.svelte-1uha8ag .arrow:where(.svelte-1uha8ag){color:var(--color-ink)}.tile-title.svelte-1uha8ag{letter-spacing:-.07em;font-size:clamp(2rem,4vw,4rem);font-weight:500}.arrow.svelte-1uha8ag{float:right;color:var(--color-accent)}.about.svelte-1uha8ag{min-height:16rem}.about-bg-video.svelte-1uha8ag{object-fit:cover;opacity:.28;filter:saturate(.65)contrast(1.1);width:100%;height:100%;position:absolute;inset:0}.about-content.svelte-1uha8ag{z-index:1;position:relative}.card-content.svelte-1uha8ag{flex-direction:column;justify-content:space-between;height:100%;display:flex}.about.svelte-1uha8ag h2:where(.svelte-1uha8ag),.contact.svelte-1uha8ag h2:where(.svelte-1uha8ag){letter-spacing:-.07em;margin:.5rem 0 1rem;font-size:3rem;font-weight:500;line-height:.92}.about.svelte-1uha8ag p:where(.svelte-1uha8ag){max-width:18rem;color:var(--color-subtle);line-height:1.55}.accent-rule.svelte-1uha8ag{border-top:3px solid var(--color-accent);width:4rem;margin-top:.5rem}.video.svelte-1uha8ag{padding:0}.video.svelte-1uha8ag>video:where(.svelte-1uha8ag){object-fit:cover;opacity:.72;width:100%;height:100%}.media-card.svelte-1uha8ag{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.media-card.svelte-1uha8ag video:where(.svelte-1uha8ag){display:block}.video-overlay.svelte-1uha8ag{pointer-events:none;z-index:2;align-items:flex-start;padding:1.25rem;position:absolute;inset:0}.video-arrow.svelte-1uha8ag{color:var(--color-accent);font-size:1.5rem}.video-project-label.svelte-1uha8ag{color:var(--color-paper);letter-spacing:-.07em;opacity:0;font-size:clamp(1.5rem,3vw,3rem);font-weight:500;transition:opacity .35s,transform .35s;position:absolute;bottom:1.25rem;right:1.25rem;transform:translateY(.75rem)}.tile.svelte-1uha8ag:hover .video-project-label:where(.svelte-1uha8ag),.tile.svelte-1uha8ag:focus-within .video-project-label:where(.svelte-1uha8ag){opacity:1;transform:translateY(0)}.info.svelte-1uha8ag h2:where(.svelte-1uha8ag){letter-spacing:-.07em;margin:0;font-size:2rem;font-weight:500}.info-link.svelte-1uha8ag{border-bottom:1px solid var(--color-line);letter-spacing:.08em;justify-content:space-between;padding-bottom:.3rem;font-family:monospace;font-size:.68rem;display:flex}.info-link.svelte-1uha8ag:hover{color:var(--color-accent)}.text-content.svelte-1uha8ag h3:where(.svelte-1uha8ag){letter-spacing:-.04em;margin:.5rem 0;font-size:1.5rem;font-weight:500}.text-content.svelte-1uha8ag p:where(.svelte-1uha8ag){color:var(--color-subtle);font-size:.95rem;line-height:1.5}.video-text.svelte-1uha8ag{min-height:16rem}.video-text-bg.svelte-1uha8ag{object-fit:cover;opacity:.28;filter:saturate(.65)contrast(1.1);width:100%;height:100%;position:absolute;inset:0}.video-text-content.svelte-1uha8ag{z-index:1;position:relative}.video-text-content.svelte-1uha8ag h2:where(.svelte-1uha8ag){letter-spacing:-.07em;margin:.5rem 0 1rem;font-size:2.5rem;font-weight:500;line-height:.92}.video-text-content.svelte-1uha8ag p:where(.svelte-1uha8ag){max-width:18rem;color:var(--color-subtle);line-height:1.55}.failed.svelte-1uha8ag{background:#16180f;min-height:16rem}.failed.svelte-1uha8ag h2:where(.svelte-1uha8ag){letter-spacing:-.07em;margin:0;font-size:clamp(2rem,4vw,4rem);font-weight:500}.card-button.svelte-1uha8ag>.failed-bg-video:where(.svelte-1uha8ag),.card-button.svelte-1uha8ag>.failed-scrim:where(.svelte-1uha8ag){z-index:0;width:100%;height:100%;position:absolute;inset:0}.failed-bg-video.svelte-1uha8ag{object-fit:cover;opacity:.55;filter:saturate(.85)contrast(1.05);transition:opacity .35s}.tile.svelte-1uha8ag:hover .failed-bg-video:where(.svelte-1uha8ag),.tile.svelte-1uha8ag:focus-within .failed-bg-video:where(.svelte-1uha8ag){opacity:.7}.failed-scrim.svelte-1uha8ag{pointer-events:none;background:linear-gradient(#0000000d 0%,#0000008c 100%),#11110f26;transition:background .35s}.tile.svelte-1uha8ag:hover .failed-scrim:where(.svelte-1uha8ag),.tile.svelte-1uha8ag:focus-within .failed-scrim:where(.svelte-1uha8ag){background:linear-gradient(#0000000d 0%,#00000059 100%),#11110f0d}.failed-card.svelte-1uha8ag h2:where(.svelte-1uha8ag){transition:transform .28s cubic-bezier(.16,1,.3,1)}.tile.svelte-1uha8ag:hover .failed-card:where(.svelte-1uha8ag) h2:where(.svelte-1uha8ag),.tile.svelte-1uha8ag:focus-within .failed-card:where(.svelte-1uha8ag) h2:where(.svelte-1uha8ag){transform:translateZ(.5rem)}.contact.svelte-1uha8ag h2:where(.svelte-1uha8ag){margin:0}.statement.svelte-1uha8ag{background:var(--color-accent);color:var(--color-ink)}.statement.svelte-1uha8ag .eyebrow:where(.svelte-1uha8ag),.statement.svelte-1uha8ag .tile-foot:where(.svelte-1uha8ag){color:#586522}.statement-content.svelte-1uha8ag p:where(.svelte-1uha8ag){max-width:15rem;font-family:Georgia,serif;font-size:1.65rem;line-height:1}.project.svelte-1uha8ag{background:#16180f;min-height:16rem}.project.svelte-1uha8ag h2:where(.svelte-1uha8ag){letter-spacing:-.07em;margin:0;font-size:clamp(2rem,4vw,4rem);font-weight:500}.card-button.svelte-1uha8ag>.project-bg-video:where(.svelte-1uha8ag),.card-button.svelte-1uha8ag>.project-scrim:where(.svelte-1uha8ag){z-index:0;width:100%;height:100%;position:absolute;inset:0}.project-bg-video.svelte-1uha8ag{object-fit:cover;opacity:.55;filter:saturate(.85)contrast(1.05);transition:opacity .35s}.tile.svelte-1uha8ag:hover .project-bg-video:where(.svelte-1uha8ag),.tile.svelte-1uha8ag:focus-within .project-bg-video:where(.svelte-1uha8ag){opacity:.7}.project-scrim.svelte-1uha8ag{pointer-events:none;background:linear-gradient(#0000000d 0%,#0000008c 100%),#11110f26;transition:background .35s}.tile.svelte-1uha8ag:hover .project-scrim:where(.svelte-1uha8ag),.tile.svelte-1uha8ag:focus-within .project-scrim:where(.svelte-1uha8ag){background:linear-gradient(#0000000d 0%,#00000059 100%),#11110f0d}.project-card.svelte-1uha8ag h2:where(.svelte-1uha8ag){transition:transform .28s cubic-bezier(.16,1,.3,1)}.tile.svelte-1uha8ag:hover .project-card:where(.svelte-1uha8ag) h2:where(.svelte-1uha8ag),.tile.svelte-1uha8ag:focus-within .project-card:where(.svelte-1uha8ag) h2:where(.svelte-1uha8ag){transform:translateZ(.5rem)}.ambient.svelte-1uha8ag{min-height:8rem}.ambient.accent.svelte-1uha8ag{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-ink)}.ambient.accent.svelte-1uha8ag .eyebrow:where(.svelte-1uha8ag),.ambient.accent.svelte-1uha8ag button:where(.svelte-1uha8ag){color:#586522}.ambient.serif.svelte-1uha8ag p:where(.svelte-1uha8ag){letter-spacing:-.04em;font-family:Georgia,serif;font-size:1.65rem}.ambient.outline.svelte-1uha8ag{background:0 0;border:0}.ambient.outline.svelte-1uha8ag .ambient-content:where(.svelte-1uha8ag){justify-content:flex-end}.ambient-content.svelte-1uha8ag p:where(.svelte-1uha8ag){z-index:1;max-width:14rem;font-family:Georgia,serif;font-size:1.35rem;line-height:1.05;position:relative}.ambient.svelte-1uha8ag img:where(.svelte-1uha8ag){object-fit:cover;z-index:1;border-bottom-right-radius:1rem;border-bottom-left-radius:1rem;width:calc(100% + 2.5rem);height:7rem;position:relative}.project-markdown.svelte-1uha8ag{max-width:42rem;color:var(--color-subtle);font-size:1.05rem;line-height:1.65}.project-markdown.svelte-1uha8ag h2,.project-markdown.svelte-1uha8ag h3,.project-markdown.svelte-1uha8ag h4{color:var(--color-paper);letter-spacing:-.04em;margin:2rem 0 .75rem;font-weight:500}.project-markdown.svelte-1uha8ag h2{font-size:2rem}.project-markdown.svelte-1uha8ag h3{font-size:1.4rem}.project-markdown.svelte-1uha8ag h4{font-size:1.1rem}.project-markdown.svelte-1uha8ag p{margin:0 0 1rem}.project-markdown.svelte-1uha8ag li{margin-left:1.25rem;list-style:square}.project-markdown.svelte-1uha8ag strong{color:var(--color-accent)}.site-footer.svelte-1uha8ag{min-height:42vh;color:var(--color-accent);place-items:center;display:grid;overflow:hidden}.site-footer.svelte-1uha8ag span:where(.svelte-1uha8ag){letter-spacing:-.12em;white-space:nowrap;font-size:clamp(8rem,29vw,32rem);font-weight:500;line-height:.72}.detail-backdrop.svelte-1uha8ag{z-index:20;background:#0000008c;position:fixed;inset:0}.project-page.svelte-1uha8ag{z-index:21;border-top:1px solid var(--color-accent);background:var(--color-surface);min-height:65vh;max-height:85vh;padding:1.25rem 1.5rem 3rem;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -1rem 4rem #0000004d}.project-page-top.svelte-1uha8ag button:where(.svelte-1uha8ag){color:#000;background:var(--color-accent);letter-spacing:.12em;cursor:pointer;border:none;padding:.5rem 1rem;font-family:monospace;font-size:.7rem;font-weight:600;transition:background .2s}.project-page-top.svelte-1uha8ag button:where(.svelte-1uha8ag):hover{background:var(--color-paper);color:var(--color-ink)}.project-page-content.svelte-1uha8ag{max-width:58rem;margin:10vh auto 0}.project-page-content.svelte-1uha8ag h2:where(.svelte-1uha8ag){letter-spacing:-.09em;margin:.75rem 0 1.5rem;font-size:clamp(4rem,12vw,11rem);font-weight:500;line-height:.8}.project-description.svelte-1uha8ag{max-width:30rem;color:var(--color-subtle);font-size:1.1rem;line-height:1.5}.project-stack.svelte-1uha8ag{color:var(--color-accent);letter-spacing:.1em;margin-top:1.5rem;font-family:monospace;font-size:.7rem}@media (width<=70rem){.bento-grid.svelte-1uha8ag{flex-direction:column;gap:.75rem;min-height:auto;display:flex}.placed-tile.svelte-1uha8ag{min-height:14rem;grid-area:auto!important}.tile.about.svelte-1uha8ag,.tile.video.svelte-1uha8ag,.tile.project.svelte-1uha8ag,.tile.failed.svelte-1uha8ag{min-height:18rem}.tile.ambient.svelte-1uha8ag{min-height:10rem}.project-page.svelte-1uha8ag{min-height:75vh}.project-page-content.svelte-1uha8ag{margin-top:12vh}}@media (prefers-reduced-motion:reduce){.tile.svelte-1uha8ag,.tile.svelte-1uha8ag:before{transition:none}}.llm-context.svelte-1uha8ag{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
