.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{overflow-y:scroll;scrollbar-gutter:stable}html.no-scroll{overflow:hidden}@media (min-width: 768px){html.no-scroll header{margin-right:var(--scrollbar-width, 0px)}}:root{--bg-opacity: .5;--color-primary: #15a7d9;--color-primary-rgb: 21, 167, 217;--color-secondary: #eeba10;--color-text: #405066;--color-text-light: #6b7280;--color-background: #ffffff;--color-background-rgb: 255, 255, 255;--color-border: #e5e7eb;--color-border-rgb: 200, 200, 200;--color-card: #f8fafc;--color-service-card: color-mix(in srgb, #f8fafc 50%, transparent);--color-work-card: color-mix(in srgb, #f8fafc 90%, transparent);--color-bg-skill: #f0f4fa;--color-background-services: rgba(100, 150, 180, var(--bg-opacity));--color-background-works: rgba(220, 240, 250, var(--bg-opacity));--color-background-experiences: rgba(240, 250, 250, var(--bg-opacity));--color-background-contact: rgba(220, 240, 250, var(--bg-opacity));--text-shadow-color: rgba(0, 0, 0, .3);--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 3rem;--border-radius: .375rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--header-height: 100px}[data-theme=dark]{--color-text: #e7e7e7;--color-text-light: #d1d5db;--color-background: #1f2937;--color-background-rgb: 31, 41, 55;--color-border: #374151;--color-border-rgb: 80, 80, 80;--color-card: #262f3d;--color-service-card: color-mix(in srgb, #262f3d 50%, transparent);--color-work-card: color-mix(in srgb, #262f3d 90%, transparent);--color-bg-skill: #25344b;--color-background-services: rgba(40, 61, 97, var(--bg-opacity));--color-background-works: rgba(26, 36, 51, var(--bg-opacity));--color-background-experiences: rgba(26, 36, 51, var(--bg-opacity));--color-background-contact: rgba(26, 36, 51, var(--bg-opacity));--text-shadow-color: rgba(255, 255, 255, .4)}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-background);line-height:1.5}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-md)}.gradient-text{background:linear-gradient(120deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--border-radius);background:none;color:var(--color-text);font:inherit;cursor:pointer;transition:all .2s ease;text-decoration:none;user-select:none}.btn:hover{color:var(--color-primary)}.btn.btn-primary{background-color:var(--color-primary);color:#fff}.btn.btn-primary:hover{opacity:.9;color:#fff}.btn-outline{border:2px solid var(--color-primary);color:var(--color-primary);background:transparent}.btn-outline:hover{background:var(--color-primary);color:#fff}html,body{width:100%;height:100%}main[data-astro-cid-sckkx6r4]{position:absolute;inset:0}.parallax.svelte-qw1gfc{transform:translateY(var(--parallax-offset, 0));will-change:transform}.section[data-astro-cid-sh445jdo]{display:grid;align-items:center;padding:calc(var(--space-xl) * 2) 0;min-height:100vh;min-height:100dvh;position:relative;overflow:hidden}h2[data-astro-cid-sh445jdo]{text-align:center;margin-bottom:calc(var(--space-xl) * 1.5);font-size:2.5rem;color:var(--color-text);text-shadow:0 2px 4px var(--text-shadow-color)}.section-background-container[data-astro-cid-sh445jdo]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;min-height:100vh}.section-background-wrapper[data-astro-cid-sh445jdo]{width:100%;min-height:100vh}.section-background[data-astro-cid-sh445jdo]{height:100%;width:100%;min-height:100vh}.section-content[data-astro-cid-sh445jdo]{width:100%;position:relative;z-index:1}.section[data-astro-cid-sh445jdo].large{padding:0;display:flex;align-items:center;justify-content:center}.container[data-astro-cid-sh445jdo]{max-width:50rem;margin:0 auto;padding:0 var(--space-lg)}.title-wrapper[data-astro-cid-sh445jdo]{position:relative;z-index:0}@media (max-width: 768px){.section[data-astro-cid-sh445jdo]{padding:var(--space-xl) 0;min-height:100vh;min-height:100dvh}.section[data-astro-cid-sh445jdo].large{padding:0}}.title[data-astro-cid-sh445jdo]{opacity:1;transition:opacity .3s .3s ease}.title[data-astro-cid-sh445jdo].fade-out{opacity:0;transition:opacity .3s ease}.cursor.svelte-qk1gaf{animation:svelte-qk1gaf-blink 1s step-end infinite}@keyframes svelte-qk1gaf-blink{0%,to{opacity:1}50%{opacity:0}}.icon-links.svelte-1gyiepv{display:flex;gap:calc(var(--space-md));justify-content:center;padding-bottom:var(--space-xl)}.icon-links.svelte-1gyiepv:not(.centered){justify-content:flex-start}.icon-link.svelte-1gyiepv{color:var(--color-text);text-decoration:none;transition:transform .2s ease,color .2s ease;padding:var(--space-sm)}.icon-link.svelte-1gyiepv:hover{color:var(--color-primary);transform:translateY(-2px)}.icon.svelte-1gyiepv{font-size:1.6rem}.svg-icon.svelte-1gyiepv{width:1.6rem;height:1.6rem;vertical-align:middle;display:inline-block;line-height:1;position:relative;top:-1px}.svg-icon.svelte-1gyiepv svg{width:100%;height:100%;display:block}.icon-link.svelte-1gyiepv .svg-icon:where(.svelte-1gyiepv){color:var(--color-text)}.icon-link.svelte-1gyiepv:hover .svg-icon:where(.svelte-1gyiepv){color:var(--color-primary)}.icon-links.small.svelte-1gyiepv .icon:where(.svelte-1gyiepv){font-size:1.2rem}.icon-links.small.svelte-1gyiepv .svg-icon:where(.svelte-1gyiepv){width:1.2rem;height:1.2rem}.icon-links.small.svelte-1gyiepv{gap:var(--space-sm)}.icon-links.large.svelte-1gyiepv .icon:where(.svelte-1gyiepv){font-size:2rem}.icon-links.large.svelte-1gyiepv .svg-icon:where(.svelte-1gyiepv){width:2rem;height:2rem}.sr-only.svelte-1gyiepv{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.section-title.svelte-10pm99a{font-size:1.25rem;color:var(--color-text);font-weight:400;font-style:italic;margin-bottom:var(--space-sm);opacity:.6}.items-list.svelte-10pm99a{display:flex;flex-direction:column}.item.svelte-10pm99a{transition:transform .2s ease}.item.svelte-10pm99a:hover{transform:translateY(-1px)}.item-link.svelte-10pm99a{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;color:var(--color-text);text-decoration:none;padding:var(--space-sm) 0;transition:all .2s ease}.item-link-content.svelte-10pm99a{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.item-link.svelte-10pm99a:hover{outline:none}.item-icon.svelte-10pm99a{font-size:1.25rem;color:var(--color-secondary);flex-shrink:0}.image-icon.svelte-10pm99a{width:1.25rem;height:1.25rem;object-fit:contain}.svg-icon.svelte-10pm99a{width:1.25rem;height:1.25rem;vertical-align:middle;display:inline-block;line-height:1}.svg-icon.svelte-10pm99a svg{width:100%;height:100%;display:block}.item-name.svelte-10pm99a{font-size:1.125rem;font-weight:600;color:var(--color-text);flex-shrink:0}.item-description.svelte-10pm99a{font-weight:200;line-height:1.4;flex:1;min-width:200px;opacity:.9}@media (max-width: 768px){.item-link.svelte-10pm99a{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.item-description.svelte-10pm99a{min-width:unset}}.hero[data-astro-cid-bbe6dxrz]{display:grid;place-items:center;position:relative;overflow:visible}.hero-content[data-astro-cid-bbe6dxrz]{text-align:left;position:relative;z-index:1;overflow:visible}.description[data-astro-cid-bbe6dxrz]{margin-bottom:var(--space-lg);font-size:1.5rem}h1[data-astro-cid-bbe6dxrz]{font-size:2.5rem;margin:0}.highlight[data-astro-cid-bbe6dxrz]{color:var(--color-primary)}.highlight-2[data-astro-cid-bbe6dxrz]{color:var(--color-secondary);font-weight:800}b{font-weight:600;color:var(--color-primary)}a{font-weight:600;color:var(--color-secondary);text-decoration:none}.about[data-astro-cid-bbe6dxrz]{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:calc(var(--space-xl) * .25);font-size:1.25rem}.contact-button-wrapper[data-astro-cid-bbe6dxrz]{display:flex;gap:var(--space-md);justify-content:center;position:relative;z-index:1}.contact-button[data-astro-cid-bbe6dxrz]{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);justify-content:center;--shadow-offset: var(--shadowOffset);--shadow-blur: var(--shadowBlur);box-shadow:0 var(--shadow-offset) var(--shadow-blur) rgba(0,0,0,var(--shadowOpacity));transition:transform .1s ease-out,box-shadow .1s ease-out;will-change:transform,box-shadow}.contact-button[data-astro-cid-bbe6dxrz]:hover{transform:translateY(-4px);box-shadow:0 20px 25px #0003;transition:transform .2s ease-out,box-shadow .3s ease-out,background-color .2s ease-out}.contact-button-wrapper[data-astro-cid-bbe6dxrz] i{font-size:1.1em}.intro[data-astro-cid-bbe6dxrz]{display:flex;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-lg)}.working-on-wrapper[data-astro-cid-bbe6dxrz]{padding-top:var(--space-xl)}.portrait-container[data-astro-cid-bbe6dxrz]{flex-shrink:0}.portrait[data-astro-cid-bbe6dxrz]{width:128px;height:128px;border-radius:50%;object-fit:cover;border:2px solid grey;box-shadow:0 2px 8px #0000001a}@media (max-width: 768px){.cta[data-astro-cid-bbe6dxrz]{justify-content:center}.hero[data-astro-cid-bbe6dxrz]{padding-top:var(--space-xl)}}.experience.svelte-sykmer{background-color:color-mix(in srgb,var(--color-card) 70%,transparent);border-radius:var(--border-radius);padding:var(--space-lg);cursor:pointer;transition:transform .2s ease-out,box-shadow .2s ease-out,background-color .2s ease-out}.expanded.experience.svelte-sykmer,.experience.svelte-sykmer:hover{background-color:var(--color-card);transform:translateY(-4px);box-shadow:0 10px 12px #0000001a}.header.svelte-sykmer{display:flex;justify-content:space-between;gap:var(--space-md)}.title-section.svelte-sykmer{flex:1}h3.svelte-sykmer{font-size:1.25rem;margin:0;color:var(--color-text)}.company-info.svelte-sykmer{display:flex;align-items:center;gap:var(--space-sm);margin-top:.25rem}.company.svelte-sykmer{color:var(--color-text-light);margin:0}.type.svelte-sykmer{display:inline-block;font-size:.875rem;padding:.25rem .5rem;color:var(--color-text-light);border:1px solid var(--color-border);border-radius:var(--border-radius)}.meta.svelte-sykmer{text-align:right;font-size:.875rem;color:var(--color-text-light)}.period.svelte-sykmer,.location.svelte-sykmer{margin:0;text-decoration:none;-webkit-text-decoration:none;color:inherit;pointer-events:none}.content.svelte-sykmer{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.63,.01,0,1.02)}.inner-content.svelte-sykmer{opacity:0;transition:opacity .3s ease-out;transition-delay:0s;margin-top:var(--space-md)}.expanded.svelte-sykmer .inner-content:where(.svelte-sykmer){opacity:1;transition-delay:.2s}.responsibilities.svelte-sykmer{margin-top:var(--space-md)}ul.svelte-sykmer{list-style-type:none;padding:0;margin:0}li.svelte-sykmer{margin-bottom:.5rem;color:var(--color-text);position:relative;padding-left:1.5rem}li.svelte-sykmer:before{content:"•";color:var(--color-primary);position:absolute;left:.5rem}.skills.svelte-sykmer{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md)}.skill.svelte-sykmer{font-size:.875rem;padding:.25rem .75rem;background-color:var(--color-bg-skill);color:var(--color-text-light);border-radius:var(--border-radius)}@media (max-width: 768px){.header.svelte-sykmer{flex-direction:column;gap:var(--space-sm)}.meta.svelte-sykmer{text-align:left}}.experiences.svelte-1svufyx{position:relative;opacity:1;transition:opacity .3s .3s ease;pointer-events:auto}.links.svelte-1svufyx{text-align:center;margin-bottom:var(--space-lg);color:var(--color-text-light)}.links.svelte-1svufyx a:where(.svelte-1svufyx){color:var(--color-text);text-decoration:none;transition:color .2s ease}.links.svelte-1svufyx a:where(.svelte-1svufyx):hover{color:var(--color-primary)}.separator.svelte-1svufyx{margin:0 var(--space-md)}.experience-content{display:grid;grid-template-columns:50px 1fr;gap:var(--space-sm)}.timeline.svelte-1svufyx{position:relative}.line.svelte-1svufyx{position:absolute;left:50%;width:2px;transform:translate(-50%);background-color:var(--color-border)}.marker.svelte-1svufyx{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);transform:translate(-25px,-50%)}.dot.svelte-1svufyx{width:12px;height:12px;border-radius:50%;background-color:var(--color-primary);border:2px solid var(--color-background);transform:translate(50%)}.date.svelte-1svufyx{font-size:.875rem;color:var(--color-text-light);text-align:right}.experience-list.svelte-1svufyx{display:flex;flex-direction:column;gap:var(--space-md)}.experience-wrapper.svelte-1svufyx{position:relative;transition:margin .3s ease}@media (max-width: 768px){.experience-content{grid-template-columns:1fr;gap:var(--space-sm)}.timeline.svelte-1svufyx{display:none}}.contact-wrapper.svelte-1iall7m{max-width:600px;margin:0 auto}.contact-inner.svelte-1iall7m{text-align:center}p.svelte-1iall7m{font-size:1.25rem;margin-bottom:var(--space-lg);color:var(--color-text)}.contact-buttons.svelte-1iall7m{display:flex;gap:var(--space-md);justify-content:center;margin-bottom:var(--space-xl)}.icon-links.svelte-1iall7m{display:flex;gap:calc(var(--space-md));justify-content:center;padding-bottom:var(--space-xl)}.icon-link.svelte-1iall7m{color:var(--color-text);text-decoration:none;transition:transform .2s ease,color .2s ease;padding:var(--space-sm)}.icon-link.svelte-1iall7m:hover{color:var(--color-primary);transform:translateY(-2px)}.icon.svelte-1iall7m{font-size:1.6rem}.svg-icon.svelte-1iall7m{width:1.6rem;height:1.6rem;vertical-align:middle;display:inline-block;line-height:1;position:relative;top:-1px}.svg-icon.svelte-1iall7m svg{width:100%;height:100%;display:block}a.svelte-1iall7m:hover{transform:translateY(-2px);transition:transform .2s ease-out,box-shadow .3s ease-out,background-color .3s ease-out}.sr-only.svelte-1iall7m{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 768px){.contact-buttons.svelte-1iall7m{flex-direction:column;align-items:stretch}.icon-links.svelte-1iall7m{gap:var(--space-lg);margin-top:calc(var(--space-xl) * 1.5)}}.theme-toggle.svelte-123eabl{background:none;border:none;cursor:pointer;padding:var(--space-sm);font-size:1.25rem;border-radius:var(--border-radius);transition:all .2s ease;color:var(--color-text);display:flex;align-items:center;justify-content:center}.theme-toggle.svelte-123eabl:hover{color:var(--color-primary);transform:translateY(-1px)}.theme-toggle.svelte-123eabl .icon:where(.svelte-123eabl){width:1.25rem;height:1.25rem;filter:brightness(0) saturate(100%)}.theme-toggle.svelte-123eabl .icon:where(.svelte-123eabl){filter:brightness(0) saturate(100%) invert(40%) sepia(10%) saturate(1000%) hue-rotate(200deg) brightness(1.2) contrast(.8)}.theme-toggle.svelte-123eabl:hover .icon:where(.svelte-123eabl){filter:brightness(0) saturate(100%) invert(60%) sepia(80%) saturate(1000%) hue-rotate(200deg) brightness(1) contrast(1)}header.svelte-pzgj4{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:rgba(var(--color-background-rgb),var(--header-bg-opacity));--squish-factor: 0;--header-bg-opacity: 0;user-select:none;height:calc(var(--header-height) * (1 - .4 * var(--squish-factor)));padding:calc(var(--space-lg) * (1 - .5 * var(--squish-factor)));pointer-events:auto}.container.svelte-pzgj4{display:flex;justify-content:space-between;align-items:center}nav.svelte-pzgj4{display:flex;justify-content:space-between;align-items:center}.logo.svelte-pzgj4{display:flex;align-items:center;gap:var(--space-sm);font-size:1.5rem;font-weight:700;text-decoration:none;background:none;border:none;padding:0;color:var(--color-text);cursor:pointer;text-shadow:0 2px 4px transparent;transition:color .2s ease,text-shadow .3s ease-out}.logo.svelte-pzgj4:hover{color:var(--color-primary);text-shadow:0 2px 4px rgba(var(--color-primary-rgb),.3)}.logo.svelte-pzgj4 img:where(.svelte-pzgj4){height:2rem;width:2rem;object-fit:contain;transition:transform .2s ease}.logo.svelte-pzgj4:hover img:where(.svelte-pzgj4){transform:scale(1.1)}ul.svelte-pzgj4{display:flex;gap:var(--space-md);list-style:none;align-items:center}button.svelte-pzgj4{background:none;border:none;padding:0;color:var(--color-text);cursor:pointer;font:inherit;transition:color .2s ease;user-select:none}button.svelte-pzgj4:hover{color:var(--color-primary)}button.btn.btn-primary.svelte-pzgj4{background:var(--color-primary);color:#fff;padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius);user-select:none}button.btn.btn-primary.svelte-pzgj4:hover{color:#fff;opacity:.9}.menu-button.svelte-pzgj4{display:none;padding:var(--space-sm);font-size:1.25rem;border:none;background:none;color:var(--color-text);cursor:pointer;transition:color .2s ease}.menu-button.svelte-pzgj4:hover{color:var(--color-primary)}@media (max-width: 768px){.menu-button.svelte-pzgj4{display:flex;align-items:center;justify-content:center}ul.svelte-pzgj4{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-background);padding:var(--space-lg) var(--space-md);flex-direction:column;border-bottom:1px solid var(--color-border);gap:var(--space-md)}ul.active.svelte-pzgj4{display:flex}ul.svelte-pzgj4 li:where(.svelte-pzgj4){width:100%}ul.svelte-pzgj4 li:where(.svelte-pzgj4) button:where(.svelte-pzgj4){width:100%;padding:var(--space-sm) var(--space-md);text-align:center}.logo.svelte-pzgj4 img:where(.svelte-pzgj4){height:1.75rem;width:1.75rem}}.nav-right.svelte-pzgj4{display:flex;align-items:center;gap:var(--space-md)}@media (max-width: 768px){.nav-right.svelte-pzgj4{gap:var(--space-sm)}}:root{--animation-duration: .5s;--animation-easing: cubic-bezier(.65, .05, .36, 1);--backdrop-blur-amount: 15px;--backdrop-opacity: .3}.backdrop.svelte-dabo60{position:fixed;inset:0;background-color:#0000;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);z-index:1999;opacity:0;animation:svelte-dabo60-fadeIn var(--animation-duration) var(--animation-easing) forwards}.backdrop.fadeOut.svelte-dabo60{animation:svelte-dabo60-fadeOut var(--animation-duration) var(--animation-easing) forwards}@keyframes svelte-dabo60-fadeIn{0%{opacity:0;background-color:#0000;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}to{opacity:1;background-color:rgba(0,0,0,var(--backdrop-opacity));backdrop-filter:blur(var(--backdrop-blur-amount));-webkit-backdrop-filter:blur(var(--backdrop-blur-amount))}}@keyframes svelte-dabo60-fadeOut{0%{opacity:1;background-color:rgba(0,0,0,var(--backdrop-opacity));backdrop-filter:blur(var(--backdrop-blur-amount));-webkit-backdrop-filter:blur(var(--backdrop-blur-amount))}to{opacity:0;background-color:#0000;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}}.card.svelte-dabo60{background-color:var(--card-background);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-md);cursor:default;user-select:none;position:relative;transform-origin:center;will-change:transform,box-shadow,background-color,width,height}.card.clickable.svelte-dabo60{cursor:pointer}.card.expanded.svelte-dabo60{cursor:default;box-shadow:var(--shadow-lg);overflow-y:auto;z-index:3000}.card.minimizing.svelte-dabo60{overflow:hidden}.card.animating.svelte-dabo60{position:fixed;z-index:2000;overflow:hidden}@keyframes svelte-dabo60-slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes svelte-dabo60-slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-10px)}}.card.parallax.svelte-dabo60{transform:translateY(calc(var(--parallax-offset, 0) + var(--hover-scale, 0) * -4px));box-shadow:var(--shadow-md),0 calc(var(--hover-scale, 0) * 20px) calc(var(--hover-scale, 0) * 15px) #0000001a;will-change:transform,box-shadow;transition:transform .2s ease-out,box-shadow .2s ease-out}.card.expanded.svelte-dabo60,.card.animating.svelte-dabo60,html.scrolling .card.svelte-dabo60,html.scrolling .card.svelte-dabo60:hover{transition:none!important}.shadow.svelte-dabo60{position:absolute;border-radius:inherit;transition:transform .1s ease-out;pointer-events:none;z-index:-1}html.scrolling .shadow.svelte-dabo60{transition:none!important}:root{--animation-duration: .5s;--animation-easing: cubic-bezier(.65, .05, .36, 1);--backdrop-blur-amount: 15px;--backdrop-opacity: .3;--hover-scale: 1.05;--image-height-normal: 200px;--image-height-expanded: 500px;--image-height-expanded-mobile: 300px}@keyframes svelte-180on9e-fadeIn{0%{opacity:0;background-color:#0000;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}to{opacity:1;background-color:rgba(0,0,0,var(--backdrop-opacity));backdrop-filter:blur(var(--backdrop-blur-amount));-webkit-backdrop-filter:blur(var(--backdrop-blur-amount))}}@keyframes svelte-180on9e-fadeOut{0%{opacity:1;background-color:rgba(0,0,0,var(--backdrop-opacity));backdrop-filter:blur(var(--backdrop-blur-amount));-webkit-backdrop-filter:blur(var(--backdrop-blur-amount))}to{opacity:0;background-color:#0000;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}}.back-button.svelte-180on9e{position:absolute;top:var(--space-lg);left:var(--space-lg);background:var(--color-background);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-md);color:var(--color-text);z-index:2001;animation:svelte-180on9e-slideIn var(--animation-duration) var(--animation-easing) forwards}.back-button.fadeOut.svelte-180on9e{animation:svelte-180on9e-slideOut var(--animation-duration) var(--animation-easing) forwards}@keyframes svelte-180on9e-slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes svelte-180on9e-slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-10px)}}.image-container.svelte-180on9e{width:100%;height:var(--image-height-normal);transition:height var(--animation-duration) var(--animation-easing);overflow:hidden;position:relative}.expanded.svelte-180on9e .image-container:where(.svelte-180on9e){height:var(--image-height-expanded);transition:height var(--animation-duration) var(--animation-easing)}.image-container.svelte-180on9e img:where(.svelte-180on9e){width:100%;height:100%;object-fit:cover;transition:transform var(--animation-duration) var(--animation-easing)}.image-container.svelte-180on9e video:where(.svelte-180on9e){width:100%;height:100%;object-fit:cover;transition:transform var(--animation-duration) var(--animation-easing)}.image-container.svelte-180on9e .video-overlay:where(.svelte-180on9e){position:absolute;top:0;left:0;opacity:0;animation:svelte-180on9e-videoFadeIn var(--animation-duration) var(--animation-easing) forwards;animation-delay:calc(var(--animation-duration) * .3)}.image-container.svelte-180on9e .video-overlay:where(.svelte-180on9e)::-webkit-media-controls-panel{background-color:#000c}.image-container.svelte-180on9e .video-overlay:where(.svelte-180on9e)::-webkit-media-controls-play-button,.image-container.svelte-180on9e .video-overlay:where(.svelte-180on9e)::-webkit-media-controls-volume-slider,.image-container.svelte-180on9e .video-overlay:where(.svelte-180on9e)::-webkit-media-controls-timeline{filter:brightness(.9)}.image-container.svelte-180on9e img:where(.svelte-180on9e){transition:opacity var(--animation-duration) var(--animation-easing)}.image-container.svelte-180on9e .image-fade:where(.svelte-180on9e){opacity:0}@keyframes svelte-180on9e-imageFadeOut{0%{opacity:1}to{opacity:0}}@keyframes svelte-180on9e-videoFadeIn{0%{opacity:0}to{opacity:1}}.content.svelte-180on9e{padding:var(--space-lg);transition:all var(--animation-duration) var(--animation-easing);overflow:hidden}.expanded.svelte-180on9e .content:where(.svelte-180on9e){max-width:800px;margin:0 auto;padding:var(--space-xl) var(--space-xl) calc(var(--space-xl) * 1.5);overflow:hidden}.expanded.svelte-180on9e:not(.animating) .content:where(.svelte-180on9e){overflow:visible}h3.svelte-180on9e{color:var(--color-text);margin-bottom:var(--space-sm);font-size:1.25rem;transition:all var(--animation-duration) var(--animation-easing);text-align:center;white-space:nowrap;width:0}.expanded.svelte-180on9e h3:where(.svelte-180on9e){font-size:2rem;width:100%;transition:all calc(var(--animation-duration) * .5) var(--animation-easing)}.description-wrapper.svelte-180on9e{display:flex;justify-content:flex-start;transition:justify-content .3s ease}.expanded.svelte-180on9e .description-wrapper:where(.svelte-180on9e),.minimizing.svelte-180on9e .description-wrapper:where(.svelte-180on9e){justify-content:center}.description.svelte-180on9e{font-size:1rem;line-height:1.5;color:var(--color-text-light);margin:var(--space-sm) 0 var(--space-md);text-align:left;transform-origin:left center;transition:transform var(--animation-duration) var(--animation-easing)}.maximizing.svelte-180on9e .description:where(.svelte-180on9e){animation:svelte-180on9e-description-maximize var(--animation-duration) var(--animation-easing) forwards}.expanded.svelte-180on9e .description:where(.svelte-180on9e){text-align:center}@keyframes svelte-180on9e-description-maximize{0%{text-align:left}20%{text-align:center}to{text-align:center}}.minimizing.svelte-180on9e .description:where(.svelte-180on9e){animation:svelte-180on9e-description-minimize var(--animation-duration) var(--animation-easing) forwards}@keyframes svelte-180on9e-description-minimize{0%{text-align:center}80%{text-align:left}to{text-align:left}}.summary.svelte-180on9e{color:var(--color-text-light);margin-bottom:var(--space-md);font-size:.95rem;line-height:1.5;opacity:0;transform:translateY(10px);animation:svelte-180on9e-fadeInUp var(--animation-duration) var(--animation-easing) forwards}@keyframes svelte-180on9e-fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.expanded.svelte-180on9e .summary:where(.svelte-180on9e){font-size:1.1rem;text-align:center;margin-top:var(--space-md)}.tags.svelte-180on9e{display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:center;transition:all var(--animation-duration) var(--animation-easing)}.tag.svelte-180on9e{background-color:var(--color-bg-skill);color:var(--color-primary);padding:.2rem .6rem;border-radius:var(--border-radius);font-size:.8rem}@media (max-width: 768px){.expanded.svelte-180on9e .image-container:where(.svelte-180on9e){height:var(--image-height-expanded-mobile)}.expanded.svelte-180on9e .content:where(.svelte-180on9e){padding:var(--space-lg)}.expanded.svelte-180on9e h3:where(.svelte-180on9e){font-size:1.5rem}.expanded.svelte-180on9e p:where(.svelte-180on9e){font-size:1rem}}.link.svelte-180on9e{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);color:var(--color-primary);text-decoration:none;margin-top:var(--space-lg);font-size:1.1rem;opacity:0;transform:translateY(10px);animation:svelte-180on9e-fadeInUp var(--animation-duration) var(--animation-easing) forwards;animation-delay:calc(var(--animation-duration) * .5)}.link.svelte-180on9e:hover{text-decoration:underline}.link.svelte-180on9e i:where(.svelte-180on9e){font-size:.9em}.works-grid.svelte-b613hu{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg)}@media (max-width: 768px){.works-grid.svelte-b613hu{grid-template-columns:1fr;gap:var(--space-md)}}
