.portfolio-card.svelte-mndgat{display:flex;flex-direction:column;overflow:hidden;height:100%;transform:translateZ(0);backface-visibility:hidden;transition:transform var(--transition-fast, .2s) ease,box-shadow var(--transition-fast, .2s) ease}@media(hover:hover){.portfolio-card.svelte-mndgat:hover{transform:translate3d(0,-4px,0);box-shadow:var(--shadow-lg, 0 10px 30px rgba(0, 0, 0, .15));will-change:transform}}@media(hover:none){.portfolio-card.svelte-mndgat:active{transform:translate3d(0,-2px,0)}}.portfolio-card.svelte-mndgat:focus-within{outline:2px solid var(--color-focus-ring, var(--pixels));outline-offset:2px}.portfolio-card__image.svelte-mndgat{width:100%;aspect-ratio:16 / 9;overflow:hidden;background:var(--color-bg-secondary, #f5f5f5);position:relative}.portfolio-card__image.svelte-mndgat img:where(.svelte-mndgat){width:100%;height:100%;object-fit:cover;display:block;transform:translateZ(0);backface-visibility:hidden;transition:transform var(--transition-normal, .3s) ease}@media(hover:hover){.portfolio-card.svelte-mndgat:hover .portfolio-card__image:where(.svelte-mndgat) img:where(.svelte-mndgat){transform:scale(1.05) translateZ(0);will-change:transform}}.portfolio-card__content.svelte-mndgat{display:flex;flex-direction:column;gap:var(--space-3, 12px);padding:var(--space-6, 24px);flex-grow:1}.portfolio-card__header.svelte-mndgat{display:flex;flex-direction:column;gap:var(--space-2, 8px)}.portfolio-card__title.svelte-mndgat{font-family:var(--font-title, "TT Trailers Trial", sans-serif);font-size:1.5rem;font-weight:700;line-height:1.2;color:var(--color-text-primary, var(--ink));margin:0}.portfolio-card__tag.svelte-mndgat{display:inline-block;padding:var(--space-1, 4px) var(--space-3, 12px);background:var(--color-brand-pixels, var(--pixels));color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-sm, 8px);width:fit-content}.portfolio-card__description.svelte-mndgat{font-size:1rem;line-height:1.6;color:var(--color-text-secondary, var(--text-muted));margin:0;flex-grow:1}.portfolio-card__link.svelte-mndgat{display:inline-flex;align-items:center;gap:var(--space-2, 8px);font-size:1rem;font-weight:600;color:var(--color-brand-pixels, var(--pixels));text-decoration:none;margin-top:auto;transition:color var(--transition-fast, .2s) ease;width:fit-content}.portfolio-card__link.svelte-mndgat:hover{color:var(--color-brand-pinot, var(--pinot));text-decoration:underline}.portfolio-card__link.svelte-mndgat:focus-visible{outline:2px solid var(--color-focus-ring, var(--pixels));outline-offset:2px;border-radius:2px}@media(prefers-reduced-motion:reduce){.portfolio-card.svelte-mndgat,.portfolio-card__image.svelte-mndgat img:where(.svelte-mndgat),.portfolio-card__link.svelte-mndgat{transition:none}.portfolio-card.svelte-mndgat:hover,.portfolio-card.svelte-mndgat:hover .portfolio-card__image:where(.svelte-mndgat) img:where(.svelte-mndgat){transform:none;will-change:auto}}.portfolio-filter.svelte-wl5ebl{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap;padding:var(--space-6) 0;margin:0 auto;max-width:1200px}.filter-btn.svelte-wl5ebl{padding:var(--space-2) var(--space-4);border:1px solid var(--ink);background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;border-radius:var(--space-1);min-height:44px;transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .2s ease,box-shadow .2s ease;transform:translateZ(0);backface-visibility:hidden;will-change:transform}.filter-btn.svelte-wl5ebl:hover{background:color-mix(in srgb,var(--ink) 10%,var(--bg));transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.filter-btn.svelte-wl5ebl:active{transform:translateY(0);box-shadow:0 1px 4px #0000001a}.filter-btn.svelte-wl5ebl:focus-visible{outline:2px solid var(--color-focus-ring, var(--pixels));outline-offset:2px}.filter-btn--active.svelte-wl5ebl{background:var(--pixels);color:#fff;border-color:var(--pixels);font-weight:600}.filter-btn--active.svelte-wl5ebl:hover{background:color-mix(in srgb,var(--pixels) 90%,black);border-color:color-mix(in srgb,var(--pixels) 90%,black);transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){.filter-btn.svelte-wl5ebl{transition:none;will-change:auto}.filter-btn.svelte-wl5ebl:hover,.filter-btn.svelte-wl5ebl:active{transform:none}}@media(max-width:767px){.portfolio-filter.svelte-wl5ebl{padding:var(--space-4) var(--space-2);gap:var(--space-1)}.filter-btn.svelte-wl5ebl{font-size:.85rem;padding:var(--space-2) var(--space-3)}}.sr-only.svelte-wl5ebl{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.portfolio-grid-wrapper.svelte-1y8v7sn{width:100%}.portfolio-grid.svelte-1y8v7sn{display:grid;grid-template-columns:1fr;gap:10px;padding:0 var(--space-2);margin:0 auto;max-width:1400px}@media(min-width:768px){.portfolio-grid.svelte-1y8v7sn{grid-template-columns:repeat(2,1fr);padding:0 var(--space-4)}}@media(min-width:1024px){.portfolio-grid.svelte-1y8v7sn{grid-template-columns:repeat(3,1fr);padding:0 var(--space-6)}}.portfolio-empty.svelte-1y8v7sn{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-text-secondary, var(--text-muted));font-family:var(--font-body);font-size:1.125rem}.portfolio-empty.svelte-1y8v7sn p:where(.svelte-1y8v7sn){margin:0}@media(prefers-reduced-motion:reduce){.portfolio-grid.svelte-1y8v7sn .portfolio-card{opacity:1!important;transform:none!important}}.sr-only.svelte-1y8v7sn{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.portfolio-page.svelte-1uo84gz{min-height:100vh;padding:var(--space-8) 0}.portfolio-container.svelte-1uo84gz{max-width:1400px;margin:0 auto;padding:0 var(--space-6)}.portfolio-header.svelte-1uo84gz{margin-bottom:var(--space-12)}.portfolio-title.svelte-1uo84gz{font-family:var(--font-title);font-size:64px;font-weight:700;line-height:.625em;text-align:center;color:var(--color-brand-both);margin:0;padding:var(--space-8) 0}@media(max-width:767px){.portfolio-title.svelte-1uo84gz{font-size:48px}}.portfolio-title.svelte-1uo84gz{opacity:0;visibility:hidden}@media(prefers-reduced-motion:reduce){.portfolio-title.svelte-1uo84gz{opacity:1!important;visibility:visible!important;transform:none!important}}.sr-only.svelte-1uo84gz{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
