:root{--project-title-font-family: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--project-title-font-weight: 300;--project-title-bold-weight: 600;--project-title-secondary-scale: 1;--project-summary-font-family: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--project-summary-font-weight: 400;--project-summary-letter-spacing: 0}.layout-container.svelte-owmu0v{position:relative;width:100%;height:100%;overflow:hidden}.content-wrapper.svelte-owmu0v{display:flex;align-items:center;height:100%;padding:0 max(calc(env(safe-area-inset-left,0px) + 6vw),3rem);gap:4vw}.text-block.svelte-owmu0v{flex:1;max-width:40%;z-index:2}h2.svelte-owmu0v{font-size:clamp(2.2rem,5vw,3.8rem);font-family:var(--project-title-font-family);font-weight:var(--project-title-font-weight);margin-bottom:1.5rem;letter-spacing:-.02em;line-height:1.1;text-shadow:0 3px 15px rgba(0,0,0,.3)}h2.svelte-owmu0v .headline-segment.bold:where(.svelte-owmu0v){font-weight:var(--project-title-bold-weight)}h2.svelte-owmu0v .headline-segment.secondary:where(.svelte-owmu0v){font-size:calc(1em * var(--project-title-secondary-scale))}p.svelte-owmu0v{font-size:clamp(1rem,1.8vw,1.15rem);font-family:var(--project-summary-font-family);font-weight:var(--project-summary-font-weight);letter-spacing:var(--project-summary-letter-spacing);color:#d4d4d8;line-height:1.8;margin-bottom:2rem;text-shadow:0 2px 8px rgba(0,0,0,.5)}.keyboard-buttons-wrapper.svelte-owmu0v{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--keyboard-key-base-size) * .01)}.button-row.svelte-owmu0v{display:flex;align-items:flex-start;gap:calc(var(--keyboard-key-base-size) * .01);flex-wrap:wrap}.keyboard-buttons-wrapper.svelte-owmu0v svg:where(.svelte-owmu0v){width:1.75rem;height:1.75rem;color:var(--keyboard-contrast)}.key-position.svelte-owmu0v{perspective:800px;transform:rotateY(.05turn) rotateX(-.1turn)}.key.svelte-owmu0v{position:relative;width:var(--keyboard-key-base-size);height:var(--keyboard-key-base-size);font-size:calc(var(--keyboard-key-base-size) / 2.2);border:.1rem solid var(--keyboard-background-3);border-radius:calc(var(--keyboard-key-base-size) * .2);background:var(--keyboard-background-2);color:var(--keyboard-contrast);box-shadow:.15rem .15rem 0 0 var(--keyboard-background-3),.3rem .3rem 0 0 var(--keyboard-background-3),.45rem .45rem 0 0 var(--keyboard-background-3),.6rem .6rem 0 0 var(--keyboard-background-3);transition:transform .2s ease,box-shadow .2s ease;display:flex;align-items:center;justify-content:center;text-decoration:none;transform-style:preserve-3d}.key.svelte-owmu0v:hover{cursor:pointer;transform:translate(.3rem,.3rem);box-shadow:0 0 0 0 var(--keyboard-background-3),0 0 0 0 var(--keyboard-background-3),.15rem .15rem 0 0 var(--keyboard-background-3),.3rem .3rem 0 0 var(--keyboard-background-3)}.key.svelte-owmu0v:active{cursor:grabbing;transform:translate(.6rem,.6rem);box-shadow:0 0 0 0 var(--keyboard-background-3),0 0 0 0 var(--keyboard-background-3),0 0 0 0 var(--keyboard-background-3),0 0 0 0 var(--keyboard-background-3)}.key.key-wide.svelte-owmu0v{width:auto;min-width:120px;padding:0 1rem;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.05rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;gap:.4rem}.key.key-wide.svelte-owmu0v svg{width:16px;height:16px;flex-shrink:0}.key-content.svelte-owmu0v{position:relative}.key-content.svelte-owmu0v:after{position:absolute;content:"";width:0;left:0;bottom:-4px;background:var(--keyboard-contrast);height:1.5px;transition:.3s ease-out}.key.svelte-owmu0v:hover .key-content:where(.svelte-owmu0v):after{width:100%}.key.key-primary.svelte-owmu0v{border-color:#00e5ff;box-shadow:.15rem .15rem #00b8d4,.3rem .3rem #00b8d4,.45rem .45rem #00b8d4,.6rem .6rem #00b8d4,0 0 20px #00e5ff4d,0 0 40px #00e5ff26}.key.key-primary.svelte-owmu0v:hover{box-shadow:0 0 #00b8d4,0 0 #00b8d4,.15rem .15rem #00b8d4,.3rem .3rem #00b8d4,0 0 25px #00e5ff66,0 0 50px #00e5ff33}.key.key-primary.svelte-owmu0v:active{box-shadow:0 0 #00b8d4,0 0 #00b8d4,0 0 #00b8d4,0 0 #00b8d4,0 0 15px #00e5ff4d}.key.key-primary.svelte-owmu0v .key-content:where(.svelte-owmu0v):after{background:#00e5ff}.preview-block.svelte-owmu0v{flex:1;display:flex;justify-content:center;align-items:center;z-index:1;min-height:clamp(400px,50vh,520px);margin-left:-5vw}.layout-container.mobile-layout.svelte-owmu0v{height:auto;min-height:100vh}.layout-container.mobile-layout.svelte-owmu0v .content-wrapper:where(.svelte-owmu0v){flex-direction:column;padding:1.5rem 4vw 3rem;gap:2rem;justify-content:flex-start}.layout-container.mobile-layout.svelte-owmu0v .text-block:where(.svelte-owmu0v){max-width:none;width:100%;text-align:left}.layout-container.mobile-layout.svelte-owmu0v h2:where(.svelte-owmu0v){font-size:clamp(1.8rem,8vw,2.5rem);margin-bottom:1rem}.layout-container.mobile-layout.svelte-owmu0v p:where(.svelte-owmu0v){font-size:.8rem;margin-bottom:1.5rem;line-height:1.7}.layout-container.mobile-layout.svelte-owmu0v .keyboard-buttons-wrapper:where(.svelte-owmu0v){gap:calc(var(--keyboard-key-base-size) * .01);--keyboard-key-base-size: 3rem}.layout-container.mobile-layout.svelte-owmu0v .button-row:where(.svelte-owmu0v){justify-content:center;gap:calc(var(--keyboard-key-base-size) * .01)}.layout-container.mobile-layout.svelte-owmu0v .key.key-wide:where(.svelte-owmu0v){min-width:auto;padding:0 .6rem;font-size:10px;height:calc(var(--keyboard-key-base-size) * .85);letter-spacing:.02rem}.layout-container.mobile-layout.svelte-owmu0v .key:where(.svelte-owmu0v) svg:where(.svelte-owmu0v){width:1.25rem;height:1.25rem}.layout-container.mobile-layout.svelte-owmu0v .preview-block:where(.svelte-owmu0v){width:100%;flex:none;min-height:clamp(340px,90vw,450px)}@media(max-width:768px){.layout-container.svelte-owmu0v{height:auto;min-height:100vh}.content-wrapper.svelte-owmu0v{flex-direction:column;padding:1.5rem 4vw 3rem;gap:2rem;justify-content:flex-start}.text-block.svelte-owmu0v{max-width:none;width:100%}h2.svelte-owmu0v{font-size:clamp(1.8rem,8vw,2.5rem);margin-bottom:1rem}p.svelte-owmu0v{font-size:.8rem;margin-bottom:1.5rem}.keyboard-buttons-wrapper.svelte-owmu0v{gap:.5rem;--keyboard-key-base-size: 3rem}.button-row.svelte-owmu0v{justify-content:center;gap:.5rem}.key.key-wide.svelte-owmu0v{min-width:auto;padding:0 .6rem;font-size:10px;height:calc(var(--keyboard-key-base-size) * .85)}.key.svelte-owmu0v svg:where(.svelte-owmu0v){width:1.25rem;height:1.25rem}.preview-block.svelte-owmu0v{width:100%;min-height:clamp(340px,90vw,450px)}}:root{--entry-zoom-duration: 5s;--image-total-lifetime: 8s;--image-crossfade-duration: 2.5s;--image-zoom-amount: 1.15}.project-section-wrapper.svelte-15xnzgu{position:relative;z-index:2;width:100%;height:100%;overflow:hidden;color:#f5f5f7;background-color:transparent}.background-zoom-target.svelte-15xnzgu{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;transform:scale(1);transform-origin:center center;will-change:transform}.bg-layer.svelte-15xnzgu{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;transform:scale(1);transform-origin:center center;will-change:transform,opacity}.bg-rgb.svelte-15xnzgu{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-repeat:no-repeat;background-position:center center;background-size:cover;will-change:opacity}.background-zoom-target.svelte-15xnzgu:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;content:"";background:linear-gradient(to top,rgba(9,9,11,.6),rgba(9,9,11,.2) 60%,transparent 100%)}.content-host.svelte-15xnzgu{position:relative;z-index:2;width:100%;height:100%}:root{--card-info-padding: 20px;--card-title-bottom-anchor: 15%;--card-description-bottom-anchor: 5%;--card-title-transition-duration: .8s;--card-title-hover-lift: -40px;--card-font-family: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--card-title-initial-weight: 400;--card-title-hover-weight: 620;--card-title-letter-spacing-base: .0125em;--card-title-letter-spacing-hover: .04em;--card-description-fade-duration: 1.5s;--card-description-slide-duration: 1.3s;--card-description-initial-offset: 100px}.card-wrap.svelte-1ohdbzf{margin:10px;transform:perspective(800px);transform-style:preserve-3d;cursor:pointer;-webkit-tap-highlight-color:transparent;will-change:transform}.card-wrap.svelte-1ohdbzf:hover .card-title:where(.svelte-1ohdbzf),.card-wrap.is-active.svelte-1ohdbzf .card-title:where(.svelte-1ohdbzf){font-weight:var(--card-title-hover-weight);letter-spacing:var(--card-title-letter-spacing-hover);transform:translateY(var(--card-title-hover-lift))}.card-wrap.svelte-1ohdbzf:hover .card-description:where(.svelte-1ohdbzf),.card-wrap.is-active.svelte-1ohdbzf .card-description:where(.svelte-1ohdbzf){opacity:1;transform:translateY(0)}.card-wrap.svelte-1ohdbzf:hover .card-bg:where(.svelte-1ohdbzf),.card-wrap.is-active.svelte-1ohdbzf .card-bg:where(.svelte-1ohdbzf){transition:.6s cubic-bezier(.23,1,.32,1),opacity 5s cubic-bezier(.23,1,.32,1);opacity:.8}.card-wrap.svelte-1ohdbzf:hover .card:where(.svelte-1ohdbzf),.card-wrap.is-active.svelte-1ohdbzf .card:where(.svelte-1ohdbzf){transition:transform .6s cubic-bezier(.23,1,.32,1),box-shadow 2s cubic-bezier(.23,1,.32,1);box-shadow:#fff3 0 0 40px 5px,#fff 0 0 0 1px,#000000a8 0 30px 60px,inset #333 0 0 0 5px,inset #fff 0 0 0 6px}.card.svelte-1ohdbzf{position:relative;width:100%;height:100%;background-color:#333;overflow:hidden;border-radius:10px;transition:transform 1s cubic-bezier(.445,.05,.55,.95),box-shadow 1s cubic-bezier(.445,.05,.55,.95);will-change:transform;contain:paint;container-type:inline-size}.card-bg.svelte-1ohdbzf{opacity:.5;position:absolute;top:-20px;left:-20px;width:calc(100% + 40px);height:calc(100% + 40px);background-repeat:no-repeat;background-position:center;background-size:cover;transition:1s cubic-bezier(.445,.05,.55,.95),opacity 5s 1s cubic-bezier(.445,.05,.55,.95);pointer-events:none;will-change:transform,opacity}.card-info.svelte-1ohdbzf{position:absolute;bottom:0;left:0;right:0;top:0;color:#fff;padding:var(--card-info-padding);text-align:center}.card-title.svelte-1ohdbzf{position:absolute;left:var(--card-info-padding);right:var(--card-info-padding);bottom:var(--card-title-bottom-anchor);font-size:13cqi;font-family:var(--card-font-family);text-shadow:rgba(0,0,0,.5) 0 10px 10px;letter-spacing:var(--card-title-letter-spacing-base);transform:translateY(0);font-weight:var(--card-title-initial-weight);transition:font-weight var(--card-title-transition-duration) ease,letter-spacing var(--card-title-transition-duration) ease,transform var(--card-title-transition-duration) cubic-bezier(.23,1,.32,1);white-space:pre-line}.card-description.svelte-1ohdbzf{position:absolute;left:var(--card-info-padding);right:var(--card-info-padding);bottom:var(--card-description-bottom-anchor);opacity:0;transform:translateY(var(--card-description-initial-offset));transition:opacity var(--card-description-fade-duration) cubic-bezier(.16,1,.3,1),transform var(--card-description-slide-duration) cubic-bezier(.16,1,.3,1);text-shadow:black 0 2px 3px;font-size:6cqi;line-height:1.5;font-family:var(--card-font-family)}:root{--frame-border-color: rgba(255, 255, 255, .55);--frame-border-inner: rgba(255, 255, 255, .15);--frame-caption-bg: transparent;--frame-caption-color: rgba(243, 244, 246, .94);--frame-shadow: 0 18px 50px -20px rgba(10, 13, 20, .75);--frame-active-shadow: 0 25px 60px -25px rgba(10, 13, 20, .9);--card-info-padding: 20px;--card-title-bottom-anchor: 15%;--card-description-bottom-anchor: 5%;--card-title-transition-duration: .8s;--card-title-hover-lift: -40px;--card-font-family: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--card-title-initial-weight: 400;--card-title-hover-weight: 620;--card-title-letter-spacing-base: .0125em;--card-title-letter-spacing-hover: .04em;--card-description-fade-duration: 1.5s;--card-description-slide-duration: 1.3s;--card-description-initial-offset: 100px}.frame-wrap.svelte-19mmyns{position:relative;display:flex;justify-content:center;align-items:center;transform-style:preserve-3d;perspective:1000px;transition:transform .55s cubic-bezier(.22,1,.36,1);will-change:transform}.frame.svelte-19mmyns{position:relative;width:100%;height:100%;border-radius:18px;overflow:hidden;background:radial-gradient(circle at top,#ffffff0a,#0c1018f2);box-shadow:var(--frame-shadow);transition:box-shadow .45s ease,transform .45s ease;will-change:transform,box-shadow}.frame-wrap.svelte-19mmyns:hover .frame:where(.svelte-19mmyns),.frame-wrap.is-active.svelte-19mmyns .frame:where(.svelte-19mmyns){box-shadow:var(--frame-active-shadow)}.image-layer.svelte-19mmyns{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:18px;transition:transform .35s ease;will-change:transform}.image.svelte-19mmyns{position:absolute;top:-6%;right:-6%;bottom:-6%;left:-6%;background-size:cover;background-position:center;background-repeat:no-repeat;filter:saturate(1.05) contrast(1.02);transition:transform .4s ease,filter .4s ease}.mask.svelte-19mmyns{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;pointer-events:none;box-shadow:inset 0 0 0 1px var(--frame-border-color),inset 0 0 0 4px #ffffff0f,inset 0 0 30px #080b1159}.frame.svelte-19mmyns:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;border:1px solid var(--frame-border-inner);opacity:.4;pointer-events:none}.caption.svelte-19mmyns{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--card-info-padding);background:var(--frame-caption-bg);color:#fff;display:block}.card-info.svelte-19mmyns{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.card-title.svelte-19mmyns{position:absolute;left:var(--card-info-padding);right:var(--card-info-padding);bottom:var(--card-title-bottom-anchor);margin:0;font-size:clamp(1.4rem,10vw,2rem);font-family:var(--card-font-family);text-shadow:rgba(0,0,0,.5) 0 10px 10px;letter-spacing:var(--card-title-letter-spacing-base);transform:translateY(0);font-weight:var(--card-title-initial-weight);transition:font-weight var(--card-title-transition-duration) ease,letter-spacing var(--card-title-transition-duration) ease,transform var(--card-title-transition-duration) cubic-bezier(.23,1,.32,1)}.card-description.svelte-19mmyns{position:absolute;left:var(--card-info-padding);right:var(--card-info-padding);bottom:var(--card-description-bottom-anchor);margin:0;opacity:0;transform:translateY(var(--card-description-initial-offset));transition:opacity var(--card-description-fade-duration) cubic-bezier(.16,1,.3,1),transform var(--card-description-slide-duration) cubic-bezier(.16,1,.3,1);text-shadow:black 0 2px 3px;font-size:.9rem;line-height:1.5;font-family:var(--card-font-family)}.frame-wrap.svelte-19mmyns:hover .card-title:where(.svelte-19mmyns),.frame-wrap.is-active.svelte-19mmyns .card-title:where(.svelte-19mmyns){font-weight:var(--card-title-hover-weight);letter-spacing:var(--card-title-letter-spacing-hover);transform:translateY(var(--card-title-hover-lift))}.frame-wrap.svelte-19mmyns:hover .card-description:where(.svelte-19mmyns),.frame-wrap.is-active.svelte-19mmyns .card-description:where(.svelte-19mmyns){opacity:1;transform:translateY(0)}@media(max-width:768px){.frame-wrap.svelte-19mmyns{width:100%;height:auto;min-height:320px}.frame.svelte-19mmyns{border-radius:20px}.card-title.svelte-19mmyns{font-size:clamp(1.35rem,7vw,1.75rem)}.card-description.svelte-19mmyns{font-size:clamp(.9rem,3.2vw,1rem)}}:root{--frame-border-color: rgba(255, 255, 255, .55);--frame-border-inner: rgba(255, 255, 255, .15);--frame-caption-bg: transparent;--frame-caption-color: rgba(243, 244, 246, .94);--frame-shadow: 0 18px 50px -20px rgba(10, 13, 20, .75);--frame-active-shadow: 0 25px 60px -25px rgba(10, 13, 20, .9);--card-info-padding: 18px;--card-title-bottom-anchor: 20%;--card-description-bottom-anchor: 8%;--card-title-transition-duration: .8s;--card-title-hover-lift: -32px;--card-font-family: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--card-title-initial-weight: 400;--card-title-hover-weight: 620;--card-title-letter-spacing-base: .0125em;--card-title-letter-spacing-hover: .04em;--card-description-fade-duration: 1.5s;--card-description-slide-duration: 1.3s;--card-description-initial-offset: 80px}.frame-wrap.svelte-f3mki9{position:relative;display:flex;justify-content:center;align-items:center;transform-style:preserve-3d;perspective:1000px;transition:transform .55s cubic-bezier(.22,1,.36,1);will-change:transform}.frame.svelte-f3mki9{position:relative;width:100%;height:100%;border-radius:16px;overflow:hidden;background:radial-gradient(circle at top,#ffffff0a,#0c1018f2);box-shadow:var(--frame-shadow);transition:box-shadow .45s ease,transform .45s ease;will-change:transform,box-shadow}.frame-wrap.svelte-f3mki9:hover .frame:where(.svelte-f3mki9),.frame-wrap.is-active.svelte-f3mki9 .frame:where(.svelte-f3mki9){box-shadow:var(--frame-active-shadow)}.image-layer.svelte-f3mki9{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:16px;transition:transform .35s ease;will-change:transform;background-position:center;background-size:cover}.image-picture.svelte-f3mki9{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.image.svelte-f3mki9{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center;filter:saturate(1.05) contrast(1.02);transition:transform .4s ease,filter .4s ease;z-index:0}.mask.svelte-f3mki9{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;pointer-events:none;box-shadow:inset 0 0 0 1px var(--frame-border-color),inset 0 0 0 4px #ffffff0f,inset 0 0 30px #080b1159}.frame.svelte-f3mki9:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;border:1px solid var(--frame-border-inner);opacity:.4;pointer-events:none}.caption.svelte-f3mki9{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--card-info-padding);background:var(--frame-caption-bg);color:#fff;display:block}.card-info.svelte-f3mki9{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.card-title.svelte-f3mki9{position:absolute;left:var(--card-info-padding);right:var(--card-info-padding);bottom:var(--card-title-bottom-anchor);margin:0;font-size:clamp(1.3rem,4.2vw,1.9rem);font-family:var(--card-font-family);text-shadow:rgba(0,0,0,.5) 0 10px 10px;letter-spacing:var(--card-title-letter-spacing-base);transform:translateY(0);font-weight:var(--card-title-initial-weight);transition:font-weight var(--card-title-transition-duration) ease,letter-spacing var(--card-title-transition-duration) ease,transform var(--card-title-transition-duration) cubic-bezier(.23,1,.32,1)}.card-description.svelte-f3mki9{position:absolute;left:var(--card-info-padding);right:var(--card-info-padding);bottom:var(--card-description-bottom-anchor);margin:0;opacity:0;transform:translateY(var(--card-description-initial-offset));transition:opacity var(--card-description-fade-duration) cubic-bezier(.16,1,.3,1),transform var(--card-description-slide-duration) cubic-bezier(.16,1,.3,1);text-shadow:black 0 2px 3px;font-size:clamp(.85rem,2.5vw,1.05rem);line-height:1.5;font-family:var(--card-font-family)}.frame-wrap.svelte-f3mki9:hover .card-title:where(.svelte-f3mki9),.frame-wrap.is-active.svelte-f3mki9 .card-title:where(.svelte-f3mki9){font-weight:var(--card-title-hover-weight);letter-spacing:var(--card-title-letter-spacing-hover);transform:translateY(var(--card-title-hover-lift))}.frame-wrap.svelte-f3mki9:hover .card-description:where(.svelte-f3mki9),.frame-wrap.is-active.svelte-f3mki9 .card-description:where(.svelte-f3mki9){opacity:1;transform:translateY(0)}@media(max-width:768px){.frame-wrap.svelte-f3mki9{width:100%;height:auto;min-height:200px}.frame.svelte-f3mki9{border-radius:18px}.card-title.svelte-f3mki9{font-size:clamp(1.25rem,6vw,1.6rem)}.card-description.svelte-f3mki9{font-size:clamp(.85rem,3vw,.95rem)}}.carousel-viewport.svelte-11jzn2r{--carousel-gap: clamp(16px, 6vw, 32px);--carousel-peek: clamp(24px, 10vw, 56px);display:flex;flex-direction:row;gap:var(--carousel-gap);overflow-x:auto;overflow-y:visible;padding:1.5rem var(--carousel-peek) 2.5rem;margin:0 -var(--carousel-peek);scroll-snap-type:x mandatory;scroll-padding:0 var(--carousel-peek);-webkit-overflow-scrolling:touch}.carousel-viewport.svelte-11jzn2r::-webkit-scrollbar{display:none}.carousel-item.svelte-11jzn2r{flex:0 0 var(--mobile-card-flex-basis, calc(100% - 2 * var(--carousel-peek)));max-width:var(--mobile-card-max-width, 480px);scroll-snap-align:center;scroll-snap-stop:always;display:flex;justify-content:center;align-items:stretch;transition:transform .4s ease,opacity .4s ease;opacity:.55}.carousel-item.svelte-11jzn2r .card-wrap,.carousel-item.svelte-11jzn2r .frame-wrap{margin:0;width:100%;height:auto;aspect-ratio:var(--mobile-card-aspect, 2 / 3)}.carousel-item.svelte-11jzn2r .frame-wrap[data-dynamic-aspect=true]{aspect-ratio:auto}.carousel-item.svelte-11jzn2r .card,.carousel-item.svelte-11jzn2r .frame{height:100%;box-shadow:inset #333 0 0 0 5px,inset #ffffff80 0 0 0 6px}.carousel-item.active.svelte-11jzn2r{opacity:1;transform:translateY(-14px)}.carousel-item.active.svelte-11jzn2r .card,.carousel-item.active.svelte-11jzn2r .frame{box-shadow:inset #333 0 0 0 5px,inset #ffffff80 0 0 0 6px}.carousel-item.active.svelte-11jzn2r .card-wrap,.carousel-item.active.svelte-11jzn2r .frame-wrap{pointer-events:auto}.carousel-item.svelte-11jzn2r:not(.active) .card-wrap,.carousel-item.svelte-11jzn2r:not(.active) .frame-wrap{pointer-events:none}.carousel-empty.svelte-11jzn2r{height:1px;width:100%}.desktop-carousel.svelte-e226j4{position:relative;display:grid;place-items:center;width:clamp(360px,44vw,760px);max-width:820px;height:clamp(380px,56vh,640px);margin-inline:auto;outline:none}.desktop-carousel.svelte-e226j4:focus-visible{box-shadow:0 0 0 3px #6366f173;border-radius:18px}.carousel-card.svelte-e226j4{position:absolute;top:50%;left:50%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.23,1,.32,1),opacity .5s ease,filter .5s ease;transform:translate(-50%,-50%) translate(var(--translation)) scale(var(--scale-factor));opacity:var(--fade-opacity);filter:brightness(var(--brightness));z-index:calc(100 - var(--distance));pointer-events:none}.carousel-card.hidden.svelte-e226j4{opacity:0}.carousel-card.active.svelte-e226j4{pointer-events:auto}.card-hit-area.svelte-e226j4{background:none;border:none;padding:0;cursor:pointer}.card-hit-area.svelte-e226j4 .frame-wrap{margin:0}.card-hit-area.svelte-e226j4 .frame{box-shadow:inset #151a268c 0 0 0 5px,inset #ffffff73 0 0 0 6px}.card-hit-area.svelte-e226j4:focus-visible .frame{box-shadow:#ffffff40 0 0 40px 5px,#000000a8 0 30px 60px,inset #151a2699 0 0 0 5px,inset #60a5fad9 0 0 0 7px}.card-hit-area.svelte-e226j4:focus-visible{outline:none}.carousel-empty.svelte-e226j4{width:100%;height:1px}@media(max-width:1024px){.desktop-carousel.svelte-e226j4{width:clamp(300px,60vw,520px);height:clamp(320px,58vh,460px)}}.desktop-vertical-carousel.svelte-5dyoqi{position:relative;display:grid;place-items:center;width:clamp(360px,38vw,680px);max-width:720px;height:clamp(420px,70vh,880px);margin-inline:auto;outline:none}.desktop-vertical-carousel.svelte-5dyoqi:focus-visible{box-shadow:0 0 0 3px #6366f173;border-radius:18px}.carousel-card.svelte-5dyoqi{position:absolute;top:50%;left:50%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.23,1,.32,1),opacity .5s ease,filter .5s ease;transform:translate(-50%,-50%) translateY(var(--translation)) scale(var(--scale-factor));opacity:var(--fade-opacity);filter:brightness(var(--brightness));z-index:calc(100 - var(--distance));pointer-events:none}.carousel-card.hidden.svelte-5dyoqi{opacity:0}.carousel-card.active.svelte-5dyoqi{pointer-events:auto}.card-hit-area.svelte-5dyoqi{background:none;border:none;padding:0;cursor:pointer}.card-hit-area.svelte-5dyoqi .frame-wrap{margin:0}.card-hit-area.svelte-5dyoqi .frame{box-shadow:inset #151a268c 0 0 0 4px,inset #ffffff73 0 0 0 5px}.card-hit-area.svelte-5dyoqi:focus-visible .frame{box-shadow:#ffffff40 0 0 40px 5px,#000000a8 0 30px 60px,inset #151a2699 0 0 0 4px,inset #60a5fad9 0 0 0 6px}.card-hit-area.svelte-5dyoqi:focus-visible{outline:none}.carousel-empty.svelte-5dyoqi{width:100%;height:1px}@media(max-width:1024px){.desktop-vertical-carousel.svelte-5dyoqi{width:clamp(320px,80vw,540px);height:clamp(360px,65vh,700px)}}:root{--read-more-font-family: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--read-more-font-weight-initial: 300;--read-more-font-weight-hover: 520;--read-more-letter-spacing-base: .015em;--read-more-letter-spacing-hover: .05em;--read-more-transition-duration: .8s;--read-more-transition-timing: ease;--read-more-shadow-transition-duration: .6s;--read-more-shadow-transition-timing: cubic-bezier(.19, 1, .22, 1);--project-title-font-family: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--project-title-font-weight: 300;--project-title-bold-weight: 600;--project-title-secondary-scale: 1;--project-summary-font-family: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--project-summary-font-weight: 400;--project-summary-letter-spacing: 0}.layout-container.svelte-1462r4j{position:relative;width:100%;height:100%;overflow:hidden}.text-block.svelte-1462r4j{position:absolute;bottom:12vh;left:max(calc(env(safe-area-inset-left,0px) + 8vw),3rem);width:40%;max-width:550px;z-index:2}@media(min-aspect-ratio:16/10){.text-block.wide-compact.svelte-1462r4j{width:min(36%,31rem);max-width:31rem}}h2.svelte-1462r4j{font-size:clamp(2.2rem,5vw,3.8rem);font-family:var(--project-title-font-family);font-weight:var(--project-title-font-weight);margin-bottom:1.5rem;letter-spacing:-.02em;line-height:1.1;text-shadow:0 3px 15px rgba(0,0,0,.3)}h2.svelte-1462r4j .headline-segment.bold:where(.svelte-1462r4j){font-weight:var(--project-title-bold-weight)}h2.svelte-1462r4j .headline-segment.secondary:where(.svelte-1462r4j){font-size:calc(1em * var(--project-title-secondary-scale))}p.svelte-1462r4j{font-size:clamp(1rem,1.8vw,1.15rem);font-family:var(--project-summary-font-family);font-weight:var(--project-summary-font-weight);letter-spacing:var(--project-summary-letter-spacing);color:#d4d4d8;line-height:1.8;margin-bottom:2.5rem;text-shadow:0 2px 8px rgba(0,0,0,.5)}.text-block.project-two.svelte-1462r4j{width:35%}.read-more-btn.svelte-1462r4j{position:relative;padding:.875rem 2rem;min-width:220px;background-color:transparent;font-family:var(--read-more-font-family);font-weight:var(--read-more-font-weight-initial);font-size:1rem;color:#fff;text-transform:uppercase;letter-spacing:var(--read-more-letter-spacing-base);border:none;cursor:pointer;transition:font-weight var(--read-more-transition-duration) var(--read-more-transition-timing),letter-spacing var(--read-more-transition-duration) var(--read-more-transition-timing),box-shadow var(--read-more-shadow-transition-duration) var(--read-more-shadow-transition-timing)}.read-more-btn.svelte-1462r4j span:where(.svelte-1462r4j){position:relative;z-index:1}.read-more-btn.svelte-1462r4j svg:where(.svelte-1462r4j){position:absolute;top:0;left:0;width:100%;height:100%}.read-more-btn.svelte-1462r4j rect:where(.svelte-1462r4j){fill:none;stroke:#ffffffb3;stroke-width:1px;stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset .8s cubic-bezier(.19,1,.22,1),stroke-width .4s ease,stroke .4s ease}.read-more-btn.svelte-1462r4j:hover,.read-more-btn.svelte-1462r4j:focus-visible{box-shadow:0 0 25px -5px #fff9;font-weight:var(--read-more-font-weight-hover);letter-spacing:var(--read-more-letter-spacing-hover)}.read-more-btn.svelte-1462r4j:hover rect:where(.svelte-1462r4j),.read-more-btn.svelte-1462r4j:focus-visible rect:where(.svelte-1462r4j){stroke-width:2px;stroke-dashoffset:0;stroke:#fff}.cards-block.svelte-1462r4j{position:absolute;top:50%;right:max(6vw,2rem);transform:translateY(-50%);width:50%;z-index:1;display:flex;justify-content:center;align-items:center;gap:2rem}.card-click-target.svelte-1462r4j{background:none;border:none;padding:0;cursor:pointer;border-radius:10px;transition:transform .3s ease,box-shadow .3s ease}.card-click-target.svelte-1462r4j .card{box-shadow:inset #333 0 0 0 5px,inset #ffffff80 0 0 0 6px}.card-click-target.svelte-1462r4j:hover{transform:translateY(-8px) scale(1.02)}.card-click-target.svelte-1462r4j:hover .card,.card-click-target.svelte-1462r4j:focus-visible .card{box-shadow:#fff3 0 0 40px 5px,#000000a8 0 30px 60px,inset #333 0 0 0 5px,inset #fff 0 0 0 6px}.card-click-target.svelte-1462r4j:focus-visible .card{box-shadow:#fff3 0 0 40px 5px,#000000a8 0 30px 60px,inset #333 0 0 0 5px,inset #6366f1 0 0 0 7px}@media(max-width:768px){.layout-container.svelte-1462r4j{height:auto;min-height:100vh}.text-block.svelte-1462r4j{position:static;left:auto;bottom:auto;width:auto;max-width:none;padding:2rem 4vw 1rem}.text-block.svelte-1462r4j h2:where(.svelte-1462r4j){margin-bottom:1rem}.text-block.svelte-1462r4j p:where(.svelte-1462r4j){margin-bottom:1.5rem}.text-block.project-two.svelte-1462r4j p:where(.svelte-1462r4j){font-size:.8rem}.cards-block.svelte-1462r4j{position:static;top:auto;right:auto;transform:none;width:100%;padding:0;display:block;overflow:visible}.cards-block.svelte-1462r4j .carousel-viewport{padding-top:1rem;padding-bottom:2.5rem}}.layout-container.mobile-layout.svelte-1462r4j{height:auto;min-height:100vh}.layout-container.mobile-layout.svelte-1462r4j .text-block:where(.svelte-1462r4j){position:static;left:auto;bottom:auto;width:auto;max-width:none;padding:2rem 4vw 1rem}.layout-container.mobile-layout.svelte-1462r4j .text-block:where(.svelte-1462r4j) h2:where(.svelte-1462r4j){margin-bottom:1rem}.layout-container.mobile-layout.svelte-1462r4j .text-block:where(.svelte-1462r4j) p:where(.svelte-1462r4j){margin-bottom:1.5rem}.layout-container.mobile-layout.svelte-1462r4j .cards-block:where(.svelte-1462r4j){position:static;top:auto;right:auto;transform:none;width:100%;padding:0;display:block;overflow:visible}.layout-container.mobile-layout.svelte-1462r4j .cards-block:where(.svelte-1462r4j) .carousel-viewport{padding-top:1rem;padding-bottom:2.5rem}.layout-container.mobile-layout.svelte-1462r4j .text-block.project-two:where(.svelte-1462r4j) p:where(.svelte-1462r4j){font-size:.8rem}:root{--image-crossfade-duration: 2.5s;--masked-rgb-solo-duration: 4.5s;--annotation-entry-delay: 2.2s;--annotation-exit-max-duration: .8s;--annotation-exit-lead-ratio: .35;--annotation-exit-lead-gap-min: .03s;--annotation-exit-lead-gap-max: .16s;--annotation-exit-tail-gap-min: 15ms;--annotation-exit-tail-gap-max: .07s;--annotation-exit-flash-duration-min: 18ms;--annotation-exit-flash-duration-max: 75ms;--annotation-exit-flash-gap-min: .01s;--annotation-exit-flash-gap-max: .08s;--annotation-exit-flicker-bursts-min: 1;--annotation-exit-flicker-bursts-max: 4;--annotation-exit-dim-opacity-min: .08;--annotation-exit-dim-opacity-max: .42;--masked-mask-fade-duration: 1s;--masked-mask-hold-duration: 4.5s;--image-zoom-amount: 1.15}.backdrop.svelte-1knde67,.bg-layer.svelte-1knde67,.bg-rgb.svelte-1knde67,.bg-mask.svelte-1knde67,.bg-annotations.svelte-1knde67{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.backdrop.svelte-1knde67{overflow:hidden;z-index:0;transform:scale(1);transform-origin:center;will-change:transform}.bg-layer.svelte-1knde67{overflow:hidden;transform:scale(1);transform-origin:center;will-change:transform,opacity}.bg-rgb.svelte-1knde67,.bg-mask.svelte-1knde67{background-size:cover;background-position:center;background-repeat:no-repeat;will-change:opacity}.bg-mask.svelte-1knde67{opacity:0;z-index:1}.bg-annotations.svelte-1knde67{z-index:2;pointer-events:none;opacity:0;will-change:opacity}.bg-annotations.svelte-1knde67 .anno-item{filter:drop-shadow(0 0 .5rem rgba(255,88,66,.45))}.bg-annotations.svelte-1knde67 .anno-label text{paint-order:stroke;stroke:#0006;stroke-width:2}.backdrop.svelte-1knde67:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(9,9,11,.6),rgba(9,9,11,.2) 60%,transparent 100%);z-index:1}:root{--read-more-font-family: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--read-more-font-weight-initial: 300;--read-more-font-weight-hover: 520;--read-more-letter-spacing-base: .015em;--read-more-letter-spacing-hover: .05em;--read-more-transition-duration: .8s;--project-title-font-family: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--project-title-font-weight: 300;--project-title-bold-weight: 600;--project-title-secondary-scale: 1;--project-summary-font-family: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--project-summary-font-weight: 400;--project-summary-letter-spacing: 0}.layout-container.svelte-1e3q6ua{position:relative;width:100%;height:100%;overflow:hidden;--project-four-selector-fallback-delay: .18s}.text-block.svelte-1e3q6ua{position:absolute;bottom:12vh;left:max(calc(env(safe-area-inset-left,0px) + 8vw),3rem);width:40%;max-width:550px;z-index:2}@media(min-aspect-ratio:16/10){.text-block.svelte-1e3q6ua{width:min(36%,31rem);max-width:31rem}}h2.svelte-1e3q6ua{font-size:clamp(2.2rem,5vw,3.8rem);font-family:var(--project-title-font-family);font-weight:var(--project-title-font-weight);margin-bottom:1.5rem;letter-spacing:-.02em;line-height:1.1;text-shadow:0 3px 15px rgba(0,0,0,.3)}h2.svelte-1e3q6ua span.bold:where(.svelte-1e3q6ua){font-weight:var(--project-title-bold-weight)}h2.svelte-1e3q6ua span.secondary:where(.svelte-1e3q6ua){font-size:calc(1em * var(--project-title-secondary-scale))}p.svelte-1e3q6ua{font-size:clamp(1rem,1.8vw,1.15rem);font-family:var(--project-summary-font-family);font-weight:var(--project-summary-font-weight);letter-spacing:var(--project-summary-letter-spacing);color:#d4d4d8;line-height:1.8;margin-bottom:2.5rem;text-shadow:0 2px 8px rgba(0,0,0,.5)}.read-more-btn.svelte-1e3q6ua{position:relative;padding:.875rem 2rem;min-width:220px;background:transparent;font-family:var(--read-more-font-family);font-weight:var(--read-more-font-weight-initial);font-size:1rem;color:#fff;text-transform:uppercase;letter-spacing:var(--read-more-letter-spacing-base);border:0;cursor:pointer;transition:font-weight var(--read-more-transition-duration) ease,letter-spacing var(--read-more-transition-duration) ease,box-shadow .6s cubic-bezier(.19,1,.22,1)}.read-more-btn.svelte-1e3q6ua span:where(.svelte-1e3q6ua){position:relative;z-index:1}.read-more-btn.svelte-1e3q6ua svg:where(.svelte-1e3q6ua){position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.read-more-btn.svelte-1e3q6ua rect:where(.svelte-1e3q6ua){fill:none;stroke:#ffffffb3;stroke-width:1px;stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset .8s cubic-bezier(.19,1,.22,1),stroke-width .4s ease,stroke .4s ease}.read-more-btn.svelte-1e3q6ua:hover,.read-more-btn.svelte-1e3q6ua:focus-visible{box-shadow:0 0 25px -5px #fff9;font-weight:var(--read-more-font-weight-hover);letter-spacing:var(--read-more-letter-spacing-hover)}.read-more-btn.svelte-1e3q6ua:hover rect:where(.svelte-1e3q6ua),.read-more-btn.svelte-1e3q6ua:focus-visible rect:where(.svelte-1e3q6ua){stroke-width:2px;stroke-dashoffset:0;stroke:#fff}.cards-block.svelte-1e3q6ua{position:absolute;top:50%;right:max(6vw,2rem);transform:translateY(-50%);width:50%;z-index:1;display:flex;justify-content:center;align-items:center;gap:2rem}.card-click-target.svelte-1e3q6ua{background:none;border:0;padding:0;cursor:pointer;border-radius:10px;transition:transform .3s ease,box-shadow .3s ease}.card-click-target.svelte-1e3q6ua .card{box-shadow:inset #333 0 0 0 5px,inset #ffffff80 0 0 0 6px}.card-click-target.svelte-1e3q6ua:hover,.card-click-target.is-selector-active.svelte-1e3q6ua{transform:translateY(-8px) scale(1.02)}.card-click-target.svelte-1e3q6ua:hover .card,.card-click-target.svelte-1e3q6ua:focus-visible .card{box-shadow:#fff3 0 0 40px 5px,#000000a8 0 30px 60px,inset #333 0 0 0 5px,inset #fff 0 0 0 6px}.card-click-target.svelte-1e3q6ua:focus-visible .card{box-shadow:#fff3 0 0 40px 5px,#000000a8 0 30px 60px,inset #333 0 0 0 5px,inset #6366f1 0 0 0 7px}.card-click-target.is-selector-active.svelte-1e3q6ua .card{box-shadow:#ff3b3080 0 0 24px 4px,#ff3b304d 0 0 52px 12px,#000000a8 0 30px 60px,inset #333 0 0 0 5px,inset #ff3b30f2 0 0 0 7px}.project-section-wrapper.svelte-1mwew9w{position:relative;width:100%;height:100%;overflow:hidden;z-index:2;color:#f5f5f7;background:transparent}.content-host.svelte-1mwew9w{position:relative;z-index:2;width:100%;height:100%}.hero-particle-container.svelte-6n75e5{width:100%;height:100%;position:absolute;top:0;left:0;background-color:#09090b;overflow:hidden;pointer-events:auto}.hero-section-wrapper.svelte-u8lqp0{width:100%;height:100%;position:relative}.github-activity-chart.svelte-1iy6jqu{width:100%;max-width:54rem;margin-top:0}.chart-header.svelte-1iy6jqu{margin-bottom:.5rem}.contributions-total.svelte-1iy6jqu{font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:clamp(.75rem,1.2vw,.875rem);color:#848d97;font-weight:400}.chart-scroll-container.svelte-1iy6jqu{overflow-x:auto;overflow-y:hidden;padding-bottom:.25rem;scrollbar-width:thin;scrollbar-color:rgba(110,118,129,.4) transparent}.chart-scroll-container.svelte-1iy6jqu::-webkit-scrollbar{height:4px}.chart-scroll-container.svelte-1iy6jqu::-webkit-scrollbar-track{background:transparent}.chart-scroll-container.svelte-1iy6jqu::-webkit-scrollbar-thumb{background:#6e768166;border-radius:2px}svg.w-heatmap.svelte-1iy6jqu{display:block;height:auto;overflow:visible;min-width:max-content}svg.w-heatmap.svelte-1iy6jqu rect:where(.svelte-1iy6jqu){shape-rendering:geometricPrecision;outline:none;cursor:default;transition:opacity .15s ease}svg.w-heatmap.svelte-1iy6jqu rect:where(.svelte-1iy6jqu):hover{stroke:#fff3;stroke-width:1px}.month-label.svelte-1iy6jqu,.day-label.svelte-1iy6jqu{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;fill:#848d97;-webkit-user-select:none;user-select:none;pointer-events:none}.chart-legend.svelte-1iy6jqu{display:flex;align-items:center;gap:.2rem;justify-content:flex-end;margin-top:.375rem}.legend-text.svelte-1iy6jqu{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:.625rem;color:#848d97;-webkit-user-select:none;user-select:none;padding:0 .15rem}.chart-skeleton.svelte-1iy6jqu{width:100%;height:6.5rem;background:linear-gradient(90deg,#161b2280 25%,#161b22cc,#161b2280 75%);background-size:200% 100%;border-radius:.375rem;animation:svelte-1iy6jqu-skeleton-shimmer 1.5s ease-in-out infinite}@keyframes svelte-1iy6jqu-skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.about-text-block.svelte-aaok7e{max-width:860px}.about-text-block.svelte-aaok7e>p:where(.svelte-aaok7e){font-size:clamp(1rem,1.8vw,1.15rem);font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.8;margin-bottom:2.5rem;color:#d4d4d8;opacity:0;visibility:hidden}.about-section-wrapper.mobile-layout .about-text-block.svelte-aaok7e>p:where(.svelte-aaok7e){margin-bottom:1vh}.mobile-chart-wrapper.svelte-aaok7e{margin-bottom:0vh;width:100%}.about-text-block.svelte-aaok7e h2:where(.svelte-aaok7e){font-size:clamp(2.2rem,5vw,3.8rem);font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin-bottom:1.5rem;font-weight:300;letter-spacing:-.02em;color:#f5f5f7;opacity:0;visibility:hidden}.keyboard-buttons-wrapper.svelte-aaok7e svg:where(.svelte-aaok7e){width:1.75rem;height:1.75rem;color:var(--keyboard-contrast)}.keyboard-buttons-wrapper.svelte-aaok7e{display:flex;align-items:flex-start;text-align:center;gap:calc(var(--keyboard-key-base-size) * .01)}.key-position.svelte-aaok7e{perspective:800px;transform:rotateY(.05turn) rotateX(-.1turn)}.key.call-to-action.svelte-aaok7e{width:140px;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.05rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.call-to-action-content.svelte-aaok7e{position:relative}.call-to-action-content.svelte-aaok7e:after{position:absolute;content:"";width:0;left:0;bottom:-4px;background:var(--keyboard-contrast);height:1.5px;transition:.3s ease-out}.key.call-to-action.svelte-aaok7e:hover .call-to-action-content:where(.svelte-aaok7e):after{width:100%}.key.svelte-aaok7e{position:relative;width:var(--keyboard-key-base-size);height:var(--keyboard-key-base-size);font-size:calc(var(--keyboard-key-base-size) / 2.2);border:.1rem solid var(--keyboard-background-3);border-radius:calc(var(--keyboard-key-base-size) * .2);background:var(--keyboard-background-2);color:var(--keyboard-contrast);box-shadow:.15rem .15rem 0 0 var(--keyboard-background-3),.3rem .3rem 0 0 var(--keyboard-background-3),.45rem .45rem 0 0 var(--keyboard-background-3),.6rem .6rem 0 0 var(--keyboard-background-3);transition:transform .2s ease,box-shadow .2s ease;display:flex;align-items:center;justify-content:center;text-decoration:none;transform-style:preserve-3d}.key.svelte-aaok7e span:where(.svelte-aaok7e){color:inherit;margin:0;padding:0}.key.svelte-aaok7e:hover{cursor:pointer;transform:translate(.3rem,.3rem);box-shadow:0 0 0 0 var(--keyboard-background-3),0 0 0 0 var(--keyboard-background-3),.15rem .15rem 0 0 var(--keyboard-background-3),.3rem .3rem 0 0 var(--keyboard-background-3)}.key.svelte-aaok7e:active{cursor:grabbing;transform:translate(.6rem,.6rem);box-shadow:0 0 0 0 var(--keyboard-background-3),0 0 0 0 var(--keyboard-background-3),0 0 0 0 var(--keyboard-background-3),0 0 0 0 var(--keyboard-background-3)}@media(max-width:640px){.keyboard-buttons-wrapper.svelte-aaok7e{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:calc(var(--keyboard-key-base-size) * .01)}.key-position-cta.svelte-aaok7e{flex-basis:100%;display:flex;justify-content:flex-start;margin-top:.25rem}.about-text-block.svelte-aaok7e{margin:0 auto}.about-text-block.svelte-aaok7e h2:where(.svelte-aaok7e),.about-text-block.svelte-aaok7e>p:where(.svelte-aaok7e){text-align:left}}.about-section-wrapper.svelte-1o30u11{width:100%;height:100%;padding:0;text-align:left;background-color:transparent;position:relative;overflow:hidden;display:flex;flex-direction:row;justify-content:space-between}.about-content-wrapper.svelte-1o30u11{position:relative;z-index:3;flex-grow:1;height:100%;display:flex;justify-content:flex-start;align-items:center;padding:3rem max(calc(env(safe-area-inset-left,0px) + 6vw),3rem);padding-right:2rem;box-sizing:border-box}@media(max-width:768px){.about-section-wrapper.svelte-1o30u11{flex-direction:column;justify-content:center;padding:2rem;align-items:stretch}.about-content-wrapper.svelte-1o30u11{flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;padding:1rem 1rem 2rem;padding-right:calc(1rem + clamp(32px,8vw,56px));width:100%;flex-grow:0;z-index:2}.about-section-wrapper.svelte-1o30u11 .image-pane{justify-content:center}.about-section-wrapper.svelte-1o30u11 .image-pane img{width:100vw;height:100vh;object-fit:cover}}.about-section-wrapper.mobile-layout.svelte-1o30u11{flex-direction:column;justify-content:center;padding:2rem;align-items:stretch}.about-section-wrapper.mobile-layout.svelte-1o30u11 .about-content-wrapper:where(.svelte-1o30u11){flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;padding:1rem 1rem 2rem;padding-right:calc(1rem + clamp(32px,8vw,56px));width:100%;flex-grow:0;z-index:2}.about-section-wrapper.mobile-layout.svelte-1o30u11 .image-pane{justify-content:center}.about-section-wrapper.mobile-layout.svelte-1o30u11 .image-pane img{width:100vw;height:100vh;object-fit:cover}.contact-section-wrapper.svelte-is2yti{width:100%;height:100%;position:relative;overflow:hidden;background:transparent}.contact-content.svelte-is2yti{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;display:flex;align-items:center;padding:3rem max(calc(env(safe-area-inset-left,0px) + 6vw),3rem) calc(3rem + env(safe-area-inset-bottom,0px));box-sizing:border-box}.contact-text-block.svelte-is2yti{max-width:860px;text-align:left}.contact-text-block.svelte-is2yti h2:where(.svelte-is2yti){font-size:clamp(2.2rem,5vw,3.8rem);font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin-bottom:1.5rem;font-weight:300;letter-spacing:-.02em;color:#f5f5f7;opacity:0;visibility:hidden}.contact-text-block.svelte-is2yti p:where(.svelte-is2yti){font-size:clamp(1rem,1.8vw,1.15rem);font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.8;margin-bottom:2.5rem;color:#d4d4d8;opacity:0;visibility:hidden}.contact-content:not(.mobile-layout) .contact-text-block.svelte-is2yti p:where(.svelte-is2yti){margin-bottom:1vh}.desktop-chart-wrapper.svelte-is2yti{margin-bottom:1.5vh;width:100%}.keyboard-buttons-wrapper.svelte-is2yti{display:flex;align-items:flex-start;gap:calc(var(--keyboard-key-base-size) * .01);flex-wrap:nowrap}.keyboard-buttons-wrapper.svelte-is2yti svg:where(.svelte-is2yti){width:1.75rem;height:1.75rem;color:var(--keyboard-contrast)}.key-position.svelte-is2yti{perspective:800px;transform:rotateY(.05turn) rotateX(-.1turn)}.key.svelte-is2yti{position:relative;width:var(--keyboard-key-base-size);height:var(--keyboard-key-base-size);font-size:calc(var(--keyboard-key-base-size) / 2.2);border:.1rem solid var(--keyboard-background-3);border-radius:calc(var(--keyboard-key-base-size) * .2);background:var(--keyboard-background-2);color:var(--keyboard-contrast);box-shadow:.15rem .15rem 0 0 var(--keyboard-background-3),.3rem .3rem 0 0 var(--keyboard-background-3),.45rem .45rem 0 0 var(--keyboard-background-3),.6rem .6rem 0 0 var(--keyboard-background-3);transition:transform .2s ease,box-shadow .2s ease;display:flex;align-items:center;justify-content:center;text-decoration:none;transform-style:preserve-3d}.key.svelte-is2yti:hover{cursor:pointer;transform:translate(.3rem,.3rem);box-shadow:0 0 0 0 var(--keyboard-background-3),0 0 0 0 var(--keyboard-background-3),.15rem .15rem 0 0 var(--keyboard-background-3),.3rem .3rem 0 0 var(--keyboard-background-3)}.key.svelte-is2yti:active{cursor:grabbing;transform:translate(.6rem,.6rem);box-shadow:0 0 0 0 var(--keyboard-background-3),0 0 0 0 var(--keyboard-background-3),0 0 0 0 var(--keyboard-background-3),0 0 0 0 var(--keyboard-background-3)}.key.call-to-action.svelte-is2yti{width:160px;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.05rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.call-to-action-content.svelte-is2yti{position:relative}.call-to-action-content.svelte-is2yti .desktop-text:where(.svelte-is2yti){display:inline}.call-to-action-content.svelte-is2yti .mobile-text:where(.svelte-is2yti){display:none}.call-to-action-content.svelte-is2yti:after{position:absolute;content:"";width:0;left:0;bottom:-4px;background:var(--keyboard-contrast);height:1.5px;transition:.3s ease-out}.key.call-to-action.svelte-is2yti:hover .call-to-action-content:where(.svelte-is2yti):after{width:100%}@media(max-width:640px){.contact-content.svelte-is2yti{padding:2.25rem 1.25rem calc(3.75rem + env(safe-area-inset-bottom,0px));flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:100%}.contact-text-block.svelte-is2yti{display:flex;flex-direction:column;flex:1;width:100%}.keyboard-buttons-wrapper.svelte-is2yti{flex-wrap:wrap;gap:calc(var(--keyboard-key-base-size) * .01);align-items:flex-start;justify-content:flex-start;width:100%;margin-top:auto;margin-bottom:4rem}.key-position-cta.svelte-is2yti{flex-basis:100%;display:flex;justify-content:flex-start;margin-top:0}.key.call-to-action.svelte-is2yti{width:auto;min-width:fit-content;padding-left:.75rem;padding-right:.75rem}.call-to-action-content.svelte-is2yti .desktop-text:where(.svelte-is2yti){display:none}.call-to-action-content.svelte-is2yti .mobile-text:where(.svelte-is2yti){display:inline}}.contact-content.mobile-layout.svelte-is2yti{padding:2.25rem 1.25rem calc(3.75rem + env(safe-area-inset-bottom,0px));flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:100%}.contact-content.mobile-layout.svelte-is2yti .contact-text-block:where(.svelte-is2yti){display:flex;flex-direction:column;flex:1;width:100%}.contact-content.mobile-layout.svelte-is2yti .keyboard-buttons-wrapper:where(.svelte-is2yti){flex-wrap:wrap;gap:calc(var(--keyboard-key-base-size) * .01);align-items:flex-start;justify-content:flex-start;width:100%;margin-top:auto;margin-bottom:4rem}.contact-content.mobile-layout.svelte-is2yti .key-position-cta:where(.svelte-is2yti){flex-basis:100%;display:flex;justify-content:flex-start;margin-top:0}.contact-content.mobile-layout.svelte-is2yti .key.call-to-action:where(.svelte-is2yti){width:auto;min-width:fit-content;padding-left:.75rem;padding-right:.75rem}.contact-content.mobile-layout.svelte-is2yti .call-to-action-content:where(.svelte-is2yti) .desktop-text:where(.svelte-is2yti){display:none}.contact-content.mobile-layout.svelte-is2yti .call-to-action-content:where(.svelte-is2yti) .mobile-text:where(.svelte-is2yti){display:inline}
