.card-2x1{grid-column:span 2}.card-1x2{grid-row:span 2}.card-2x2{grid-column:span 2;grid-row:span 2}.card.svelte-19pu4eq{position:relative;overflow:hidden;cursor:pointer;display:block;text-decoration:none;color:inherit}.card-svg.svelte-19pu4eq{width:100%;height:100%}.card-svg.svelte-19pu4eq svg{width:100%;height:100%;display:block}.svg-placeholder.svelte-19pu4eq{width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:20px 16px 16px;min-height:200px}.placeholder-cat.svelte-19pu4eq{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffffb3;margin-bottom:6px}.placeholder-title.svelte-19pu4eq{font-family:var(--font-heading);font-size:20px;color:#fff;line-height:1.1}.contact-overlay.svelte-19pu4eq{position:absolute;bottom:0;left:0;right:0;padding:36px 16px 16px;background:linear-gradient(transparent,#000000d1);color:#fff;transform:translateY(100%);transition:transform .22s ease}.card.svelte-19pu4eq:hover .contact-overlay:where(.svelte-19pu4eq){transform:translateY(0)}.cat-tag.svelte-19pu4eq{display:block;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin-bottom:4px}.overlay-title.svelte-19pu4eq{font-family:var(--font-heading);font-size:14px;font-weight:400;line-height:1.2;margin:0 0 8px}.overlay-contact.svelte-19pu4eq{display:flex;flex-direction:column;gap:2px}.overlay-line.svelte-19pu4eq{font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overlay-notes.svelte-19pu4eq{font-family:var(--font-body);font-size:10px;letter-spacing:normal;opacity:.7}
