.image-container.svelte-h3y8c1{width:100%;height:auto;display:block}.image-container.svelte-h3y8c1 img:where(.svelte-h3y8c1){-o-object-fit:contain;object-fit:contain;aspect-ratio:auto;width:100%;max-width:100%;height:auto;max-height:100%;aspect-ratio:var(--aspect-ratio,auto);display:block}.image-container.is-loading.svelte-h3y8c1{background-color:var(--s1m-color-skeleton)}.image-container.svelte-h3y8c1 img.fade:where(.svelte-h3y8c1){opacity:0;transition:opacity var(--motion-duration-base) var(--motion-ease-out)}.image-container.svelte-h3y8c1 img.fade.settled:where(.svelte-h3y8c1){opacity:1}html:not(.js) .image-container.svelte-h3y8c1 img.fade:where(.svelte-h3y8c1){opacity:1;transition:none}.image-container.svelte-h3y8c1 figcaption:where(.svelte-h3y8c1){text-align:center;font-size:var(--s1m-text-lg);margin-top:1.5rem}figure.image-container.svelte-h3y8c1{place-self:start;height:fit-content;min-height:auto;margin-top:4rem;padding:0;display:block}figure.image-container.svelte-h3y8c1 img:where(.svelte-h3y8c1){margin-bottom:0}@media (width<=48rem){figure.image-container.svelte-h3y8c1{margin-top:2rem}}.portfolio-card.svelte-1fwtop{border-radius:var(--s1m-radius-3xlarge);background:linear-gradient(135deg, var(--s1m-color-anthracite-500) 0%, var(--s1m-color-border-subtle) 50%, var(--s1m-color-border-subtle) 100%);margin:0;padding:1px;display:grid;overflow:hidden}@media (hover:none) and (pointer:coarse){.portfolio-card.svelte-1fwtop{will-change:auto;backface-visibility:hidden;perspective:1000px;transform-style:preserve-3d;transform:translateY(0)}}.portfolio-card.svelte-1fwtop{opacity:0;transform:translate3d(0, var(--motion-travel-lg), 0)}.portfolio-card.animate.svelte-1fwtop{opacity:1;transform:none}[data-reveal] .portfolio-card.svelte-1fwtop{transition:opacity var(--motion-duration-slow) var(--motion-ease-out), transform var(--motion-duration-slow) var(--motion-ease-out);transition-delay:calc(var(--motion-lead) + 0 * var(--motion-stagger-loose));transition-delay:calc(var(--motion-lead) + var(--reveal-index,0) * var(--motion-stagger-loose))}html:not(.js) .portfolio-card.svelte-1fwtop{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.portfolio-card.svelte-1fwtop,.portfolio-card.animate.svelte-1fwtop{opacity:1;transition:none;transform:none}}@media (hover:hover) and (pointer:fine){.portfolio-card.svelte-1fwtop:hover .image-container:where(.svelte-1fwtop),.portfolio-card.svelte-1fwtop:focus-within .image-container:where(.svelte-1fwtop){transform:scale(1.15)}}.portfolio-card-content.svelte-1fwtop{background:var(--s1m-color-surface);font-family:var(--font-primary-sans);border-radius:calc(var(--s1m-radius-3xlarge) - .9px);grid-template-rows:auto 1fr;align-items:start;gap:.75rem;padding:.75rem;overflow:hidden}.portfolio-image.svelte-1fwtop{background:var(--s1m-color-surface-elevated);border-radius:var(--s1m-radius-xxlarge);order:1;grid-template:"image"1fr/1fr;display:grid;overflow:hidden}.portfolio-image.svelte-1fwtop .image-container:where(.svelte-1fwtop){width:100%;height:100%;transition:transform var(--motion-duration-base) var(--motion-ease-out);grid-area:image}.portfolio-image.svelte-1fwtop .lock-badge:where(.svelte-1fwtop){opacity:1;z-index:2;transition:opacity var(--motion-duration-fast) var(--motion-ease-out);pointer-events:none;grid-area:image;place-self:start;margin:.75rem}.portfolio-image.svelte-1fwtop .lock-badge:where(.svelte-1fwtop) .lock-badge-inner:where(.svelte-1fwtop){background:var(--s1m-surface-bg);width:2.25rem;height:2.25rem;-webkit-backdrop-filter:blur(var(--s1m-backdrop-blur)) saturate(var(--s1m-backdrop-saturate));backdrop-filter:blur(var(--s1m-backdrop-blur)) saturate(var(--s1m-backdrop-saturate));color:var(--s1m-color-text-primary);border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover) and (pointer:fine){.portfolio-image.svelte-1fwtop:hover .portfolio-image:where(.svelte-1fwtop) .lock-badge:where(.svelte-1fwtop){opacity:0}}.portfolio-image.svelte-1fwtop .year-label:where(.svelte-1fwtop){opacity:1;z-index:2;transition:opacity var(--motion-duration-fast) var(--motion-ease-out);grid-area:image;place-self:start end;margin:.75rem}@media (hover:hover) and (pointer:fine){.portfolio-image.svelte-1fwtop:hover .portfolio-image:where(.svelte-1fwtop) .year-label:where(.svelte-1fwtop){opacity:0}}.portfolio-header.svelte-1fwtop{flex-direction:column;order:2;justify-content:flex-start;align-self:stretch;display:flex}.portfolio-header.svelte-1fwtop .portfolio-link:where(.svelte-1fwtop){color:inherit;border-radius:var(--s1m-radius-xxlarge);background:var(--s1m-color-surface-elevated);transition:background-color var(--motion-duration-fast) var(--motion-ease-out), color var(--motion-duration-fast) var(--motion-ease-out);white-space:normal;flex:1;grid-template-rows:auto 1fr;grid-template-columns:1fr auto;place-content:start space-between;padding:1rem 1rem 1rem 1.5rem;-webkit-text-decoration:none;text-decoration:none;display:grid}.portfolio-header.svelte-1fwtop .portfolio-link:where(.svelte-1fwtop) h3.portfolio-name:where(.svelte-1fwtop){font-family:var(--font-primary-serif);font-size:var(--s1m-text-4xl);font-weight:var(--s1m-font-weight-normal);color:var(--s1m-color-text-primary);transition:color var(--motion-duration-fast) var(--motion-ease-out);grid-area:1/1;margin:0;line-height:1.2}@media (width<=30rem){.portfolio-header.svelte-1fwtop .portfolio-link:where(.svelte-1fwtop) h3.portfolio-name:where(.svelte-1fwtop){font-size:var(--s1m-text-3xl)}}.portfolio-header.svelte-1fwtop .portfolio-link:where(.svelte-1fwtop) p.portfolio-description:where(.svelte-1fwtop){font-family:var(--font-primary-sans);font-size:1rem;font-weight:var(--s1m-font-weight-normal);color:var(--s1m-color-text-secondary);transition:color var(--motion-duration-fast) var(--motion-ease-out);grid-area:2/1;align-self:start;max-width:none;margin:.5rem 0 0;line-height:1.3}.portfolio-header.svelte-1fwtop .portfolio-link:where(.svelte-1fwtop):focus-visible h3:where(.svelte-1fwtop),.portfolio-header.svelte-1fwtop .portfolio-link:where(.svelte-1fwtop):focus-visible p:where(.svelte-1fwtop),.portfolio-header.svelte-1fwtop .portfolio-link:where(.svelte-1fwtop):focus-visible span:where(.svelte-1fwtop){color:var(--s1m-color-text-primary)}.card-overlay-link.svelte-1fwtop{z-index:10;border-radius:var(--s1m-radius-xxlarge);color:#0000;background:0 0;grid-area:image;-webkit-text-decoration:none;text-decoration:none}.s1m-button.svelte-1b800bk{border-radius:var(--s1m-radius-large);width:fit-content;font-family:var(--font-primary-sans);font-size:var(--s1m-text-lg);cursor:pointer;border:none;justify-content:center;align-items:center;-webkit-text-decoration:none;text-decoration:none;display:grid;overflow:hidden}@media (width<=30rem){.s1m-button.svelte-1b800bk{width:100%}}.s1m-button.svelte-1b800bk:not(.icon-only):not(.text-only){grid-template-columns:auto auto;grid-auto-flow:column;gap:.5rem}.s1m-button.icon-only.svelte-1b800bk{background:var(--s1m-surface-bg);-webkit-backdrop-filter:blur(var(--s1m-backdrop-blur)) saturate(var(--s1m-backdrop-saturate));backdrop-filter:blur(var(--s1m-backdrop-blur)) saturate(var(--s1m-backdrop-saturate));border:1px solid #ffffff14;grid-template-columns:1fr;justify-items:center}.s1m-button.svelte-1b800bk:focus-visible{outline:solid .125rem var(--s1m-color-anthracite);outline-offset:.125rem}.s1m-button.svelte-1b800bk:active{transform:scale(.97)}.s1m-button.small.svelte-1b800bk{font-size:var(--s1m-text-sm);padding:.5rem 1rem}.s1m-button.medium.svelte-1b800bk{font-size:var(--s1m-text-base);padding:.75rem 1.5rem}.s1m-button.large.svelte-1b800bk{font-size:var(--s1m-text-lg);padding:1rem 2rem}.s1m-button.primary.svelte-1b800bk{background:var(--s1m-color-anthracite);-webkit-backdrop-filter:blur(var(--s1m-backdrop-blur)) saturate(var(--s1m-backdrop-saturate));backdrop-filter:blur(var(--s1m-backdrop-blur)) saturate(var(--s1m-backdrop-saturate));color:var(--s1m-color-anthracite-100);border:1px solid #ffffff14}.s1m-button.primary.svelte-1b800bk:hover{background:var(--s1m-color-anthracite-600)}.s1m-button.primary.svelte-1b800bk:active{background:var(--s1m-color-anthracite-700)}.s1m-button.secondary.svelte-1b800bk{background:var(--s1m-surface-bg);-webkit-backdrop-filter:blur(var(--s1m-backdrop-blur)) saturate(var(--s1m-backdrop-saturate));backdrop-filter:blur(var(--s1m-backdrop-blur)) saturate(var(--s1m-backdrop-saturate));color:var(--s1m-color-text-primary);border:1px solid #ffffff14}.s1m-button.secondary.svelte-1b800bk:hover{background:var(--s1m-color-surface);border-color:var(--s1m-color-anthracite-400)}.s1m-button.secondary.svelte-1b800bk:active{background:var(--s1m-color-surface-elevated)}.s1m-button.ghost.svelte-1b800bk{color:var(--s1m-color-text-primary);background:0 0}.s1m-button.ghost.svelte-1b800bk:hover{background:var(--s1m-color-surface-elevated)}.s1m-button.ghost.svelte-1b800bk:active{background:var(--s1m-color-surface)}.s1m-button.icon-only.svelte-1b800bk{aspect-ratio:1;background:var(--s1m-surface-bg);width:2.5rem;height:2.5rem;-webkit-backdrop-filter:blur(var(--s1m-backdrop-blur)) saturate(var(--s1m-backdrop-saturate));backdrop-filter:blur(var(--s1m-backdrop-blur)) saturate(var(--s1m-backdrop-saturate));color:var(--s1m-color-text-primary);border:1px solid #ffffff14;border-radius:50%;padding:0}.s1m-button.icon-only.svelte-1b800bk:hover{background:var(--s1m-color-surface);border-color:var(--s1m-color-anthracite-400)}@media (hover:hover) and (pointer:fine){.s1m-button.icon-only.svelte-1b800bk:hover{transform:scale(1.05)}}.s1m-button.icon-only.svelte-1b800bk:active{background:var(--s1m-color-surface-elevated);transform:scale(.97)}.s1m-button.svelte-1b800bk>svg{justify-content:center;align-items:center;display:flex}.s1m-button.success-state.svelte-1b800bk{color:var(--s1m-color-green);border-color:var(--s1m-color-green);animation:success-pulse var(--motion-duration-slow) var(--motion-ease-out)}.dialog-content.svelte-1m66wz6{padding:1.25rem;padding:var(--dialog-padding,1.25rem);color:var(--s1m-color-text-primary);background:var(--s1m-color-light-gray);will-change:transform, opacity;opacity:0;transition:opacity var(--motion-duration-base) var(--ios-sheet-animation), transform var(--motion-duration-base) var(--ios-sheet-animation), overlay var(--motion-duration-base) allow-discrete, display var(--motion-duration-base) allow-discrete;border:none;margin:auto;overflow:hidden}.dialog-content.transparent.svelte-1m66wz6{background:0 0}.dialog-content.svelte-1m66wz6::backdrop{-webkit-backdrop-filter:blur(var(--s1m-backdrop-blur));backdrop-filter:blur(var(--s1m-backdrop-blur));opacity:0;transition:opacity var(--motion-duration-base) var(--motion-ease-out), overlay var(--motion-duration-base) allow-discrete, display var(--motion-duration-base) allow-discrete;background:#0009}.dialog-content[open].svelte-1m66wz6::backdrop{opacity:1}@starting-style{.dialog-content[open].svelte-1m66wz6::backdrop{opacity:0}}.dialog-content--dialog.svelte-1m66wz6{width:75vw;max-width:min(80vw,48rem);max-width:min(80vw, var(--dialog-max-width,48rem));max-height:80vh;max-height:min(80vh, var(--dialog-max-height,80vh));border-radius:var(--s1m-radius-xlarge);transform:scale(.95)}.dialog-content--dialog[open].svelte-1m66wz6{opacity:1;transform:scale(1)}@starting-style{.dialog-content--dialog[open].svelte-1m66wz6{opacity:0;transform:scale(.95)}}.dialog-content--sheet.svelte-1m66wz6{border-radius:var(--s1m-radius-xlarge) var(--s1m-radius-xlarge) 0 0;width:100vw;max-width:100vw;margin:auto auto 0;transform:translateY(100%)}.dialog-content--sheet[open].svelte-1m66wz6{opacity:1;transform:translateY(0)}@starting-style{.dialog-content--sheet[open].svelte-1m66wz6{opacity:0;transform:translateY(100%)}}.s1m-input__field.svelte-19ipq20{box-sizing:border-box;border:1px solid var(--input-border-color);border-radius:var(--s1m-radius-medium);background:var(--s1m-color-light-gray);width:100%;height:2.75rem;color:var(--s1m-color-text-primary);font-family:var(--font-primary-sans);font-size:var(--s1m-text-base);line-height:var(--s1m-text-base--line-height);padding-left:var(--input-padding-left);padding-right:var(--input-padding-right);transition:border-color var(--motion-duration-fast) var(--motion-ease-out)}.s1m-input__field.svelte-19ipq20::placeholder{color:var(--s1m-color-text-secondary)}@media (hover:hover) and (pointer:fine){.s1m-input__field.svelte-19ipq20:hover:not(:disabled){border-color:var(--s1m-color-anthracite-400)}}.s1m-input__field.svelte-19ipq20:focus-visible{outline:solid .125rem var(--s1m-color-anthracite);outline-offset:.125rem}.s1m-input__field.svelte-19ipq20:disabled{opacity:.5;cursor:not-allowed}.s1m-input__toggle.svelte-19ipq20{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;width:fit-content;display:grid}.s1m-input__toggle.svelte-19ipq20:focus-visible{outline:solid .125rem var(--s1m-color-anthracite);outline-offset:.125rem;border-radius:var(--s1m-radius-small)}.s1m-input__message-slot.svelte-19ipq20{transition:grid-template-rows var(--motion-duration-fast) var(--motion-ease-out);grid-template-rows:0fr;display:grid}.s1m-input__message-slot.is-open.svelte-19ipq20{grid-template-rows:1fr}.s1m-input__message-clip.svelte-19ipq20{overflow:hidden}.s1m-input__message.svelte-19ipq20{font-size:var(--s1m-text-sm);line-height:var(--s1m-text-sm--line-height);margin-top:.375rem}.s1m-input__message--error.svelte-19ipq20{color:var(--s1m-color-error)}.s1m-input__message--warning.svelte-19ipq20{color:var(--s1m-color-warning)}.button-container.svelte-cou6y{grid-auto-flow:column}@media (width<=22.5rem){.button-container.svelte-cou6y{grid-auto-flow:row;justify-self:stretch;width:100%}}
