.project-card.svelte-17gbm4a{--card-hover-duration: .25s;--card-hover-lift: -7px;--card-hover-scale: 1.025;--thumbnail-hover-duration: .4s;--thumbnail-hover-scale: 1.055;--glow-in-duration: .35s;--glow-out-duration: .3s;--glow-ease: cubic-bezier(.22, 1, .36, 1);--glow-width: 145%;--glow-height: 105%;--glow-top: -15%;--glow-left: -22.5%;--glow-blur: 35px;--glow-opacity: 1;--glow-start-scale: .85;position:relative;isolation:isolate;display:block;min-width:0;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--card-shadow);transition:transform var(--card-hover-duration) var(--motion-ease),box-shadow var(--card-hover-duration) var(--motion-ease)}.card-glow.svelte-17gbm4a{position:absolute;top:var(--glow-top);left:var(--glow-left);width:var(--glow-width);height:var(--glow-height);border-radius:50%;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at center,rgba(var(--project-rgb),.65) 0%,rgba(var(--project-rgb),.4) 30%,rgba(var(--project-rgb),.15) 55%,transparent 75%);filter:blur(var(--glow-blur));opacity:0;transform:scale(var(--glow-start-scale));transition:opacity var(--glow-out-duration) ease-in,transform var(--glow-out-duration) ease-in}.card-decoration.svelte-17gbm4a{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:0}.card-decoration.svelte-17gbm4a:before,.card-decoration.svelte-17gbm4a:after{content:"";position:absolute;inset:0}.card-decoration.svelte-17gbm4a:before{background:linear-gradient(to bottom,var(--project-color),transparent 82%);opacity:var(--card-tint-opacity)}.card-decoration.svelte-17gbm4a:after{background:radial-gradient(ellipse at 50% 25%,rgba(var(--project-rgb),.65),transparent 75%);opacity:0;transition:opacity var(--card-hover-duration) var(--motion-ease)}.card-content.svelte-17gbm4a{position:relative;z-index:1;padding:.75rem}.thumbnail-frame.svelte-17gbm4a{overflow:hidden;border-radius:var(--radius-image);aspect-ratio:738 / 516}img.svelte-17gbm4a{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--thumbnail-hover-duration) var(--motion-ease)}.caption.svelte-17gbm4a{padding:.75rem .25rem .05rem;overflow-wrap:anywhere}h2.svelte-17gbm4a{font-size:1rem;font-weight:500;line-height:1.5}p.svelte-17gbm4a{font-size:.875rem;line-height:1.5;color:var(--text-secondary)}.project-card.svelte-17gbm4a:focus-visible{outline:2px solid var(--project-color);outline-offset:4px}.project-card.svelte-17gbm4a:focus-visible .card-glow:where(.svelte-17gbm4a){opacity:var(--glow-opacity);transform:scale(1)}.project-card.svelte-17gbm4a:focus-visible .card-decoration:where(.svelte-17gbm4a):after{opacity:.55}@media(hover:hover)and (pointer:fine){.project-card.svelte-17gbm4a:hover{transform:translateY(var(--card-hover-lift)) scale(var(--card-hover-scale))}.project-card.svelte-17gbm4a:hover img:where(.svelte-17gbm4a){transform:scale(var(--thumbnail-hover-scale))}.project-card.svelte-17gbm4a:hover .card-decoration:where(.svelte-17gbm4a):after{opacity:.55}.project-card.svelte-17gbm4a:hover .card-glow:where(.svelte-17gbm4a){opacity:var(--glow-opacity);transform:scale(1);transition:opacity var(--glow-in-duration) ease-out,transform var(--glow-in-duration) var(--glow-ease)}}@media(hover:none),(pointer:coarse){.project-card.svelte-17gbm4a{--glow-width: 110%;--glow-height: 85%;--glow-top: -5%;--glow-left: -5%;--glow-opacity: 0}.card-glow.svelte-17gbm4a{filter:none;opacity:var(--glow-opacity);transform:scale(1);transition:none;background:radial-gradient(ellipse at center,rgba(var(--project-rgb),.3) 0%,rgba(var(--project-rgb),.12) 45%,transparent 75%)}img.svelte-17gbm4a{transition:none}}@media(prefers-reduced-motion:reduce){.project-card.svelte-17gbm4a,.project-card.svelte-17gbm4a img:where(.svelte-17gbm4a),.card-glow.svelte-17gbm4a,.card-decoration.svelte-17gbm4a:after{transition:none!important}.project-card.svelte-17gbm4a:hover{transform:none}.project-card.svelte-17gbm4a:hover img:where(.svelte-17gbm4a){transform:none}.card-glow.svelte-17gbm4a{transform:scale(1)}}.project-grid.svelte-o5xgs{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}@media(min-width:640px){.project-grid.svelte-o5xgs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.project-grid.svelte-o5xgs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1280px){.project-grid.svelte-o5xgs{grid-template-columns:repeat(4,minmax(0,1fr))}}ol.svelte-zy0m1j{list-style:none;border-left:1px solid var(--border);padding-left:1.25rem}li.svelte-zy0m1j{position:relative;margin-bottom:1.5rem;color:var(--text-secondary)}li.svelte-zy0m1j:before{content:"";position:absolute;width:.5rem;height:.5rem;border-radius:50%;background:var(--text-muted);left:-1.53rem;top:.5rem}h3.svelte-zy0m1j{font-size:1.125rem;margin:.25rem 0}.period.svelte-zy0m1j{font-size:.875rem;color:var(--text-muted)}
