*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth;text-rendering:optimizeLegibility}body{-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%;pointer-events:none;-webkit-touch-callout:none}img:after{content:"The image didn’t load"}p,h1,h2,h3,h4,h5,h6{overflow-wrap:normal}p{text-wrap:pretty}button{cursor:pointer}ul,ol{list-style:none}:where(a),:where(a):hover,:where(a):visited,:where(a):link,:where(a):active{text-decoration:none;color:inherit}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@property --z-index-physics-canvas{syntax: "<number>"; initial-value: 1; inherits: false;}@property --z-index-drain-hole{syntax: "<number>"; initial-value: 2; inherits: false;}@property --z-index-gravity-chute{syntax: "<number>"; initial-value: 3; inherits: false;}@property --z-index-high{syntax: "<number>"; initial-value: 4; inherits: false;}@property --z-index-highest{syntax: "<number>"; initial-value: 5; inherits: false;}[data-theme=light]{--clr-primary: oklch(.8703 .176 91.91);--clr-bg-base: hsl(48, 100%, 96%);--clr-bg-raised: hsl(48, 100%, 97%);--clr-bg-overlay: hsl(48, 100%, 98%);--clr-bg: oklch(.9899 .0164 95.22);--clr-txt-strong: oklch(.1339 .0026 106.74);--clr-txt-weak: oklch(.2652 .0079 84.59);--clr-stroke-strong: hsl(48, 50%, 65%);--clr-stroke-weak: hsl(48, 29%, 80%);--shadow-elevation-1: 0 2px 3px -1px hsla(48, 69%, 26%, .3), 0 -.5px 1px hsla(48, 69%, 10%, .1);--shadow-elevation-3: 0 4px 8px -1px hsla(48, 20%, 30%, .15), 0 2px 3px -1px hsla(48, 20%, 16%, .4);--shadow-elevation-4: 0px 1px 8px -4px hsla(48, 20%, 18%, .3);--shadow-elevation-5: 0 10px 18px 5px hsla(0, 0%, 30%, .4);--shadow-inset-1: inset 0 -5px 6px hsla(48, 69%, 10%, .17), inset 0 -1.5px 10px 3px hsla(48, 69%, 10%, .1)}:root{--clr-ball-default: oklch(.6153 .2075 25.22)}:root[data-theme=dark]{--clr-primary: oklch(.8715 .174 92.47);--clr-bg-base: oklch(.1961 .0039 95.26);--clr-bg-raised: hsl(48, 6%, 12%);--clr-bg-overlay: hsl(48, 6%, 16%);--clr-bg: oklch(.1961 .0042 84.59);--clr-stroke-strong: hsl(48, 60%, 20%);--clr-stroke-weak: hsl(48, 60%, 15%);--clr-txt-strong: oklch(.9875 .0026 106.45);--clr-txt-weak: oklch(.9299 .0084 95.14)}:root{--space-4px: 4px;--space-8px: 8px;--space-12px: 12px;--space-16px: 16px;--space-24px: 24px;--space-32px: 32px;--space-48px: 48px;--space-64px: 64px;--space-96px: 96px;--space-4-8px: clamp(4px, 3.0291px + .2589vw, 8px);--space-8-12px: clamp(8px, 7.0291px + .2589vw, 12px);--space-12-16px: clamp(12px, 11.0291px + .2589vw, 16px);--space-16-24px: clamp(16px, 14.0583px + .5178vw, 24px);--space-24-32px: clamp(24px, 22.0583px + .5178vw, 32px);--space-32-48px: clamp(32px, 28.1165px + 1.0356vw, 48px);--space-48-64px: clamp(48px, 44.1165px + 1.0356vw, 64px);--space-64-96px: clamp(64px, 56.233px + 2.0712vw, 96px);--space-96-152px: clamp(96px, 82.4078px + 3.6246vw, 152px);--radius-2px: 2px;--radius-4px: 4px;--radius-8px: 8px;--radius-16px: 16px;--radius-50px: 50px}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;src:url(/fonts/Geologica_VF.woff2) format("woff2-variations")}@font-face{font-family:Adjusted Arial Fallback;src:local(Arial);size-adjust:106%;ascent-override:normal;descent-override:24%;line-gap-override:normal}:root{--fs-s: clamp(.83rem, .01vi + .83rem, .85rem);--fs-p: clamp(1rem, .13vi + .97rem, 1.13rem);--fs-h6: clamp(1.2rem, .31vi + 1.13rem, 1.5rem);--fs-h5: clamp(1.44rem, .57vi + 1.31rem, 1.99rem);--fs-h4: clamp(1.73rem, .95vi + 1.51rem, 2.65rem);--fs-h3: clamp(2.07rem, 1.5vi + 1.72rem, 3.52rem);--fs-h2: clamp(2.49rem, 2.27vi + 1.96rem, 4.68rem);--fs-h1: clamp(2.99rem, 3.36vi + 2.2rem, 6.23rem)}:where(span){font-size:var(--fs-s)}:where(p){font-size:var(--fs-p)}:where(h6){font-size:var(--fs-h6)}:where(h5){font-size:var(--fs-h5)}:where(h4){font-size:var(--fs-h4)}:where(h3){font-size:var(--fs-h3)}:where(h2){font-size:var(--fs-h2)}:where(h1){font-size:var(--fs-h1)}:where(h6,h5,h4,h3,h2,h1){font-family:Geologica Variable,Adjusted Arial Fallback,sans-serif;font-weight:700;font-variation-settings:"SHRP" 50}:where(p,ul,ol,li,a,button,label,input,textarea){font-size:var(--fs-p);font-family:Geologica Variable,Adjusted Arial Fallback,sans-serif;font-weight:400}button{font-weight:550}:where(h6,h5,h4,h3,h2,h1){line-height:1.1;user-select:none;-webkit-user-select:none}:where(p){line-height:1.5}html,body{overflow-x:hidden;width:100%;max-width:100vw}body{background-color:var(--clr-bg-base);color:var(--clr-txt-strong);transition:background-color .4s ease,color .3s ease}p::selection,ol::selection,ul::selection{background-color:var(--clr-primary)}.section-title{opacity:0;letter-spacing:-.5em;transition:all .4s ease}.section-title.animate-in-view{padding-bottom:var(--space-8-12px);opacity:1;letter-spacing:0em}.theme-toggle.svelte-78i67e{background:none;border:none;cursor:pointer;border-radius:var(--radius-4px);display:flex;align-items:center;justify-content:center;transition:all .3s ease;min-width:var(--space-32px);min-height:var(--space-32px);color:var(--clr-txt-strong)}.theme-toggle.svelte-78i67e:hover{transform:rotate(25deg);scale:1.2}.theme-toggle.svelte-78i67e:focus-visible{outline:3px solid var(--clr-primary)}.toggle-icon.svelte-78i67e{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:100%}.icon.svelte-78i67e{width:32px;height:32px;padding:var(--space-8px);position:absolute;top:0;left:0;opacity:0;--icon-scale: 1;transform:rotate(-180deg) scale(calc(.3 * var(--icon-scale)));transition:all .3s ease-in-out}.icon.visible.svelte-78i67e{opacity:1;transform:rotate(0) scale(var(--icon-scale))}.sun-icon.svelte-78i67e{--icon-scale: 1.2}dialog.svelte-ei2wyz{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;border:none;background:transparent;z-index:var(--z-index-highest)}dialog.svelte-ei2wyz::backdrop{background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:svelte-ei2wyz-backdrop-fade-in .4s ease-out}@keyframes svelte-ei2wyz-backdrop-fade-in{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}dialog[open].svelte-ei2wyz{display:flex;align-items:center;justify-content:center}.confirmation-container.svelte-ei2wyz{position:relative;display:flex;flex-direction:column;gap:var(--space-8-12px);background:var(--clr-bg-overlay);padding:var(--space-16-24px);border:1px solid var(--clr-stroke-weak);border-radius:var(--radius-8px);color:var(--clr-txt-strong);box-shadow:var(--shadow-elevation-5)}.confirmation-container.opening.svelte-ei2wyz{animation:svelte-ei2wyz-iris-open .4s ease-in forwards}.confirmation-container.closing.svelte-ei2wyz{animation:svelte-ei2wyz-iris-close .4s ease-out forwards}@keyframes svelte-ei2wyz-iris-close{0%{clip-path:circle(1000px at 50% 50%)}70%{clip-path:circle(32px at 50% 50%)}to{clip-path:circle(0px at 50% 50%)}}@keyframes svelte-ei2wyz-iris-open{0%{clip-path:circle(0px at 50% 50%)}30%{clip-path:circle(32px at 50% 50%)}to{clip-path:circle(1000px at 50% 50%)}}.button-container.svelte-ei2wyz{margin-top:var(--space-12-16px);display:flex;justify-content:space-evenly}button.svelte-ei2wyz{border-radius:var(--radius-2px);border:none;box-shadow:var(--shadow-elevation-1);background-color:var(--clr-primary);color:#000;padding:var(--space-8-12px) var(--space-16-24px);min-width:128px;transition:all .3s ease}button.svelte-ei2wyz:focus-visible{outline:3px solid var(--clr-txt-strong);border-radius:var(--radius-2px)}@media (hover: hover){button.svelte-ei2wyz:hover{transform:rotate(-3deg)}}button.svelte-ei2wyz:active{transform:rotate(-3deg)}.hanging-header.svelte-v5jcpe{position:fixed;left:0;right:0;z-index:var(--z-index-high)}.suspension-system.svelte-v5jcpe{position:absolute;top:0;left:50%;transform:translate(-50%);width:min(75%,320px);height:32px}.string.svelte-v5jcpe{position:absolute;top:0;width:var(--space-4px);height:var(--space-24px);background:linear-gradient(to bottom,#0808074d,#08080799);box-shadow:var(--shadow-elevation-1)}.left-string.svelte-v5jcpe{left:15%}.right-string.svelte-v5jcpe{right:15%}.sign-board.svelte-v5jcpe{position:absolute;top:var(--space-16px);left:50%;transform:translate(-50%);width:fit-content;display:flex;justify-content:center;padding-block:var(--space-12px);padding-inline:var(--space-16-24px);gap:var(--space-12px);border-radius:var(--radius-16px);background:var(--clr-bg-overlay);border:1px solid var(--clr-stroke-weak);box-shadow:var(--shadow-elevation-3);transition:all .3s ease}.nav-links.svelte-v5jcpe{display:flex;align-items:center;gap:var(--space-16-24px)}.nav-link.svelte-v5jcpe a:where(.svelte-v5jcpe){font-size:var(--fs-h6)}.nav-link.svelte-v5jcpe a:where(.svelte-v5jcpe):focus-visible{outline:3px solid var(--clr-primary);border-radius:var(--radius-2px)}.nav-link.svelte-v5jcpe{transition:transform .3s ease}@media (hover: hover){.nav-link.svelte-v5jcpe:hover{transform:rotate(-3deg);text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:var(--clr-primary)}}.nav-link.svelte-v5jcpe:active,.nav-link.is-active.svelte-v5jcpe{transform:rotate(-3deg)}.nav-link.is-active.svelte-v5jcpe a:where(.svelte-v5jcpe){text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:var(--clr-primary)}.cv-item.svelte-v5jcpe{display:flex;align-items:center;gap:var(--space-8px);font-size:var(--fs-h6);margin-left:var(--space-4px)}.cv-item.svelte-v5jcpe:focus-visible{outline:3px solid var(--clr-primary);border-radius:var(--radius-2px)}@media (hover: hover){.cv-item.svelte-v5jcpe:hover{transform:rotate(-2deg);text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:var(--clr-primary)}}.cv-item.svelte-v5jcpe:active{transform:rotate(-3deg)}.download-icon.svelte-v5jcpe{width:22px;height:22px;fill:currentColor;transition:fill .3s ease,transform .3s ease,scale .3s ease}@media (hover: hover){.cv-item.svelte-v5jcpe:hover .download-icon:where(.svelte-v5jcpe){transform:translateY(-2px);transform:rotate(6deg);scale:1.15}}.gravity-chute.svelte-drizgh{position:absolute;transform:translate(-50%);width:calc(var(--chute-width) + var(--wall-thickness) * 2);padding:var(--space-4px);height:var(--chute-height);pointer-events:none;translate:0 0;transition:translate .4s 2.5s ease-in;overflow:visible}@starting-style{.gravity-chute.svelte-drizgh{translate:0 -75%}}.gravity-chute.svelte-drizgh:after{content:"";position:absolute;top:0;left:48%;transform:translate(-50%);width:125%;height:105%;background-image:url(/assets/Pipe.svg);background-position:bottom center;background-size:100% 165%;background-repeat:no-repeat;z-index:var(--z-index-gravity-chute);pointer-events:none;filter:drop-shadow(1px 3px 1px hsla(48,69%,26%,.15))}.ball-container.svelte-drizgh{position:absolute;top:0;left:50%;transform:translate(-50%);pointer-events:none}.queued-ball.svelte-drizgh{position:absolute;transform:translate(-50%);width:calc(var(--ball-radius) * 2);height:calc(var(--ball-radius) * 2);transition:all .3s ease}.ball-visual.svelte-drizgh{width:91%;height:91%;border-radius:50%;background:var(--ball-color);box-shadow:0 3px 8px #0000001a,0 1px 2px #0000004d}.drain-hole.svelte-1ivd4d5{position:absolute;transform:translate(-50%,-50%);width:var(--pipe-length);height:calc(var(--pipe-width) + var(--wall-thickness) * 2);z-index:var(--z-index-drain-hole);pointer-events:none}.drain-hole.svelte-1ivd4d5:after{transform-origin:center center;content:"";position:absolute;bottom:5px;width:100%;height:100%;background-image:url(/assets/Pipe_drain.svg);background-repeat:no-repeat;background-position:right;background-size:cover;background-size:150% 100%;z-index:var(--z-index-gravity-chute);pointer-events:none}.physics-canvas.svelte-sa5gst{position:absolute;inset:0;z-index:var(--z-index-physics-canvas);width:100%;height:100%;pointer-events:none;overflow:hidden}.drain-hole,.gravity-chute{position:absolute}.pushable.svelte-13yf4zo{margin-top:var(--space-32-48px);position:relative;border:none;background:transparent;padding:0;outline-offset:4px;border-radius:50%;opacity:1;scale:1;transition:opacity .4s 3.2s ease-in,scale .4s 3.2s ease-in,filter .25s}@starting-style{.pushable.svelte-13yf4zo{opacity:0;scale:0}}.pushable.svelte-13yf4zo:focus-visible{outline:4px solid var(--clr-primary);outline-offset:5px}.button-shadow.svelte-13yf4zo{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:#564e2f59;will-change:transform;transform:translateY(2px);transition:transform .6s ease-in-out}.button-edge.svelte-13yf4zo{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:linear-gradient(to left,#7b0f11,#a81517 12% 88%,#7b0f11)}.button-front.svelte-13yf4zo{display:flex;align-items:center;justify-content:center;position:relative;width:156px;aspect-ratio:1.1;padding:var(--space-16px);border-radius:50%;font-size:var(--fs-h6);color:#fff;background:var(--clr-ball-default);will-change:transform;transform:translateY(-8px);transition:transform .6s ease-in-out;-webkit-user-select:none;user-select:none}.pushable.svelte-13yf4zo:hover{filter:brightness(105%)}.pushable.svelte-13yf4zo:hover .button-front:where(.svelte-13yf4zo){transform:translateY(-16px);transition:transform .25s ease-in-out}.pushable.svelte-13yf4zo:active .button-front:where(.svelte-13yf4zo){transform:translateY(-4px);transition:transform .1s}.pushable.svelte-13yf4zo:hover .button-shadow:where(.svelte-13yf4zo){transform:translateY(8px);transition:transform .25s ease-in-out}.pushable.svelte-13yf4zo:active .button-shadow:where(.svelte-13yf4zo){transform:translateY(3px);transition:transform .1s}.pushable.svelte-13yf4zo:focus:not(:focus-visible){outline:none}.hero-section.svelte-b79wo6{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;padding-top:var(--space-96-152px);padding-bottom:var(--space-64-96px)}.hero-heading.svelte-b79wo6{padding-bottom:var(--space-12-16px);translate:0 0;transition:transform .5s .5s ease,scale .5s .5s ease}@starting-style{.hero-heading.svelte-b79wo6{translate:0 -100%;scale:0}}.hero-heading-bottom.svelte-b79wo6{font-size:var(--fs-h1);margin-bottom:var(--space-12px);transition:transform .5s 1.5s ease,scale .5s 1.5s ease;scale:1;translate:0 0}@starting-style{.hero-heading-bottom.svelte-b79wo6{translate:0 100%;scale:0}}@media (max-width: 568px){.hero-heading.svelte-b79wo6{padding-block:var(--space-32px);margin-bottom:0;max-width:6ch}.hero-heading-bottom.svelte-b79wo6{margin-top:-48px;max-width:226px}}.project-card.svelte-1ptjxep{width:100%;min-height:0;border-radius:var(--radius-8px);transition:transform .3s ease-in-out;box-shadow:var(--shadow-elevation-4);background-color:var(--clr-bg-raised);border:1px solid var(--clr-stroke-weak);container-type:inline-size;overflow:hidden}.read-more-button.svelte-1ptjxep{background:none;border:none;color:var(--clr-txt-strong);margin-top:var(--space-12-16px);font-size:var(--fs-h6);text-decoration:underline;cursor:pointer;transition:color .3s ease,transform .3s ease}.read-more-button.svelte-1ptjxep:focus-visible{outline:3px solid var(--clr-primary);border-radius:var(--radius-2px)}.read-more-button.svelte-1ptjxep:hover{transform:rotate(-3deg);text-decoration-thickness:3px;text-decoration-color:var(--clr-primary)}.read-more-button.svelte-1ptjxep:active{transform:rotate(-3deg)}.project-card-content.svelte-1ptjxep{padding:var(--space-32-48px);width:100%;height:100%;display:grid;justify-items:center;align-items:center;text-align:center;grid-template-columns:1fr 1fr;grid-template-rows:1fr;transition:transform .3s ease-in-out}.rotated.svelte-1ptjxep .project-card-content:where(.svelte-1ptjxep){transform:rotate(-15deg);grid-template-rows:1fr}.rotated.svelte-1ptjxep .project-card-text:where(.svelte-1ptjxep){max-width:100%;overflow:hidden}.rotated.svelte-1ptjxep h3:where(.svelte-1ptjxep){padding-top:12px;font-size:var(--fs-h4)}.project-card-content.svelte-1ptjxep p:where(.svelte-1ptjxep){margin-top:var(--space-16-24px);font-size:var(--fs-h6)}.project-card-illustration.svelte-1ptjxep{border-radius:var(--radius-8px);max-width:320px;border:1px solid var(--clr-stroke-weak);filter:saturate(.8);-webkit-user-select:none;user-select:none}@container (max-width: 668px){.project-card-content.svelte-1ptjxep{padding-inline:var(--space-24-32px);padding-block:var(--space-32-48px);grid-template-columns:1fr;gap:var(--space-24-32px);grid-template-rows:1fr}}@container (max-width: 400px){.project-card-illustration.svelte-1ptjxep{max-width:240px}.rotated.svelte-1ptjxep h3:where(.svelte-1ptjxep){font-size:var(--fs-h5)}}.lightbox-backdrop.svelte-14kciqs{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:calc(var(--z-index-highest) + 1)}.lightbox-container.svelte-14kciqs{position:relative;max-width:90vw;max-height:90vh;display:flex;justify-content:center;align-items:center}.lightbox-close.svelte-14kciqs{position:absolute;top:-3.5rem;right:0;background-color:var(--clr-ball-default);color:#fff;width:var(--space-32-48px);height:var(--space-32-48px);border-radius:50%;border:none;font-size:var(--fs-h4);line-height:1;transition:transform .3s ease}.lightbox-close.svelte-14kciqs:hover{transform:rotate(-90deg)}.lightbox-close.svelte-14kciqs:focus-visible{outline:4px solid var(--clr-primary);outline-offset:3px}.lightbox-figure.svelte-14kciqs{display:flex;flex-direction:column;align-items:center}.lightbox-image.svelte-14kciqs{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:var(--radius-8px)}.lightbox-caption.svelte-14kciqs{margin-top:var(--space-16px);color:#fff;font-size:var(--fs-h6);text-align:center;background:#000000b3;padding:var(--space-8px) var(--space-16px);border-radius:var(--radius-4px)}@media (max-width: 768px){.lightbox-close.svelte-14kciqs{top:-3rem}.lightbox-image.svelte-14kciqs{max-width:95vw}}.sr-only.svelte-d3k40d{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal-backdrop.svelte-d3k40d{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:var(--z-index-highest)}.modal-container.svelte-d3k40d{background:var(--clr-bg-base);border-radius:var(--radius-8px);width:min(98%,1024px);max-height:95svh;overflow-y:auto;overscroll-behavior:contain;position:relative;padding:var(--space-24-32px);clip-path:circle(3000px at 50% 50%)}.modal-container.svelte-d3k40d:focus{outline:none}.modal-container.opening.svelte-d3k40d{animation:svelte-d3k40d-iris-open .6s ease-in forwards}.modal-container.closing.svelte-d3k40d{animation:svelte-d3k40d-iris-close .6s ease-out forwards}@keyframes svelte-d3k40d-iris-close{0%{clip-path:circle(3000px at 50% 50%)}70%{clip-path:circle(64px at 50% 50%)}to{clip-path:circle(0px at 50% 50%)}}@keyframes svelte-d3k40d-iris-open{0%{clip-path:circle(0px at 50% 50%)}30%{clip-path:circle(64px at 50% 50%)}to{clip-path:circle(3000px at 50% 50%)}}.close-button.svelte-d3k40d{position:absolute;top:var(--space-8-12px);right:var(--space-8-12px);background-color:var(--clr-ball-default);color:#fff;width:var(--space-32-48px);height:var(--space-32-48px);border-radius:50%;border:none;font-size:var(--fs-h4);line-height:1.05;transition:transform .3s ease}.close-button.svelte-d3k40d:hover{transform:rotate(-90deg)}.close-button.svelte-d3k40d:focus-visible{outline:4px solid var(--clr-primary);outline-offset:3px}.case-study-grid.svelte-d3k40d{display:grid;grid-template-columns:3fr 1fr;grid-template-rows:auto auto auto auto;gap:var(--space-12-16px);grid-template-areas:"overview tools" "process process" "challenges challenges" "lessons lessons"}.overview-content.svelte-d3k40d{display:grid;grid-template-rows:auto auto;gap:var(--space-24-32px)}.overview-main.svelte-d3k40d{display:flex;flex-direction:column}.overview-title-container.svelte-d3k40d{display:flex;gap:var(--space-16-24px);align-items:center;margin-bottom:.5em}.live-link.svelte-d3k40d{display:inline-flex;align-items:center;gap:var(--space-8px);background-color:var(--clr-bg-overlay);color:var(--clr-text-strong);font-size:var(--fs-body);border:none;transition:all .3s ease;width:fit-content;cursor:pointer;border-radius:var(--radius-2px)}.live-link.svelte-d3k40d:focus-visible{outline:3px solid var(--clr-primary)}.live-link.svelte-d3k40d svg:where(.svelte-d3k40d){min-width:48px}.overview-description.svelte-d3k40d{max-width:75ch}.section-content.svelte-d3k40d{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24-32px);align-items:start}.section-text.svelte-d3k40d{max-width:60ch}.section-text.svelte-d3k40d ul:where(.svelte-d3k40d) li:where(.svelte-d3k40d){list-style-position:outside;list-style-type:square;margin-bottom:.5em}.section-text.svelte-d3k40d ol:where(.svelte-d3k40d) li:where(.svelte-d3k40d){list-style-position:outside;list-style-type:decimal;margin-bottom:.5em}.section-image.svelte-d3k40d{max-width:400px}.section-image.svelte-d3k40d figure:where(.svelte-d3k40d){margin:0}.image-button.svelte-d3k40d{background:none;border:none;padding:0;cursor:pointer;width:100%;display:block;transition:filter .3s ease;border-radius:var(--radius-4px)}.image-button.svelte-d3k40d:focus-visible{outline:3px solid var(--clr-primary);outline-offset:2px}.image-button.svelte-d3k40d:hover{filter:invert(80%) grayscale(20%)}.image-button.svelte-d3k40d img:where(.svelte-d3k40d){width:100%;max-height:300px;object-fit:contain;border-radius:var(--radius-4px);display:block}.section-image.svelte-d3k40d figcaption:where(.svelte-d3k40d){margin-top:var(--space-12px);font-size:var(--fs-caption);color:var(--clr-text-secondary);text-align:center}.section.svelte-d3k40d{padding-block:var(--space-24-32px);padding-inline:40px;background-color:var(--clr-bg-overlay);border-radius:var(--radius-8px);border:1px solid var(--clr-stroke-weak)}.overview-section.svelte-d3k40d{grid-area:overview}.process-section.svelte-d3k40d{grid-area:process}.tools-section.svelte-d3k40d{grid-area:tools;max-width:250px}.challenges-section.svelte-d3k40d{grid-area:challenges}.lessons-section.svelte-d3k40d{grid-area:lessons}h1.svelte-d3k40d{font-size:var(--fs-h3)}h2.svelte-d3k40d{font-size:var(--fs-h4);margin-bottom:.5em}.tools-grid.svelte-d3k40d{display:grid;justify-items:start;justify-content:start;margin-left:var(--space-8px);margin-top:var(--space-8px);gap:var(--space-12-16px)}.tool-icon.svelte-d3k40d{min-width:116px;padding-block:4px}.svelte-d3k40d::-webkit-scrollbar{width:var(--space-8-12px);background-color:var(--clr-bg-base);border-radius:0 var(--radius-8px) var(--radius-8px) 0}.svelte-d3k40d::-webkit-scrollbar-thumb{background-color:var(--clr-stroke-weak);border-radius:var(--radius-8px)}.svelte-d3k40d::-webkit-scrollbar-thumb:hover{background-color:var(--clr-primary)}@media (max-width: 768px){.case-study-grid.svelte-d3k40d{grid-template-columns:1fr;grid-template-areas:"overview" "process" "tools" "challenges" "lessons"}.overview-content.svelte-d3k40d,.section-content.svelte-d3k40d{grid-template-columns:1fr;grid-template-rows:auto auto;gap:var(--space-16px)}.section-image.svelte-d3k40d{max-width:100%;justify-self:center}.tools-section.svelte-d3k40d{max-width:100%}.tools-grid.svelte-d3k40d{grid-template-columns:1fr 1fr}}.projects-section.svelte-19pss37{padding-inline:6%;padding-bottom:var(--space-64-96px)}.section-title-container.svelte-19pss37{margin-block:var(--space-32-48px)}.projects-title.svelte-19pss37{width:fit-content;transition:letter-spacing .4s 4s ease,opacity .4s 4s ease}.projects-container.svelte-19pss37{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr 1fr 1fr;gap:var(--space-64-96px);grid-template-areas:"item1 item1 item2" "item3 item5 item2" "item3 item4 item4"}.project-cell.svelte-19pss37{display:flex}.project-cell[style*=item1].svelte-19pss37{grid-area:item1}.project-cell[style*=item2].svelte-19pss37{grid-area:item2}.project-cell[style*=item3].svelte-19pss37{grid-area:item3}.project-cell[style*=item4].svelte-19pss37{grid-area:item4}.project-cell[style*=item5].svelte-19pss37{grid-area:item5;aspect-ratio:1;justify-self:center}@media (max-width: 1200px) and (min-width: 769px){.projects-container.svelte-19pss37{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:4fr 4fr 1fr;grid-template-areas:"item1 item1 item2 item2" "item3 item3 item4 item4" ".  item5 item5 ."}.project-cell[style*=item5].svelte-19pss37{max-width:280px}}@media (max-width: 768px){.projects-container.svelte-19pss37{grid-template-columns:1fr;grid-template-rows:repeat(5,auto);grid-template-areas:"item1" "item2" "item3" "item4" "item5";min-height:auto}.project-cell.svelte-19pss37>*{max-width:88%}.project-cell[style*=item5].svelte-19pss37{width:100%;max-height:184px}}.skill-item.svelte-xqv7ql{max-width:512px;flex-shrink:0;padding:var(--space-32-48px);aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background-color:var(--clr-bg-raised);transition:all .3s ease;border:1px solid var(--clr-stroke-weak);box-shadow:var(--shadow-elevation-4)}.skill-item.svelte-xqv7ql h3:where(.svelte-xqv7ql){margin-bottom:.5em}.skill-item.svelte-xqv7ql p:where(.svelte-xqv7ql){font-size:var(--fs-h6);max-width:30ch;width:100%;word-wrap:break-word;overflow-wrap:break-word}@media (max-width: 518px){.skill-item.svelte-xqv7ql h3:where(.svelte-xqv7ql){font-size:var(--fs-h4)}.skill-item.svelte-xqv7ql p:where(.svelte-xqv7ql){font-size:var(--fs-p)}}.skills-section.svelte-1cxzh79{width:100%;padding-inline:6%;padding-bottom:var(--space-64-96px)}.section-title-container.svelte-1cxzh79{margin-block:var(--space-32-48px)}.skills-title.svelte-1cxzh79{width:fit-content}.skills-wrapper-top.svelte-1cxzh79,.skills-wrapper-middle.svelte-1cxzh79,.skills-wrapper-bottom.svelte-1cxzh79{display:flex;flex-direction:row;align-items:center;gap:var(--space-32px)}.skills-wrapper-top.svelte-1cxzh79,.skills-wrapper-bottom.svelte-1cxzh79{justify-content:space-between;gap:var(--space-64-96px)}.skills-wrapper-middle.svelte-1cxzh79{justify-content:center}@media (max-width: 1100px){.skills-wrapper-top.svelte-1cxzh79,.skills-wrapper-middle.svelte-1cxzh79,.skills-wrapper-bottom.svelte-1cxzh79{flex-direction:column;gap:0}.skills-wrapper-top.svelte-1cxzh79>*,.skills-wrapper-bottom.svelte-1cxzh79>*,.skills-wrapper-middle.svelte-1cxzh79>*{width:min(90%,420px)}.skills-wrapper-top.svelte-1cxzh79>*:nth-child(odd){align-self:flex-start;margin-bottom:var(--space-96px)}.skills-wrapper-top.svelte-1cxzh79>*:nth-child(2n){align-self:flex-end;margin-bottom:var(--space-96px)}.skills-wrapper-middle.svelte-1cxzh79>*:nth-child(1){align-self:flex-start;margin-bottom:var(--space-96px)}.skills-wrapper-bottom.svelte-1cxzh79>*:nth-child(odd){align-self:flex-end;margin-bottom:var(--space-96px)}.skills-wrapper-bottom.svelte-1cxzh79>*:nth-child(2n){align-self:flex-start}}.cta-section.svelte-1cer3el{width:100%;padding-block:var(--space-64-96px);padding-inline:6%;display:flex;flex-direction:column;align-items:center}.section-title-container.svelte-1cer3el{position:relative;width:100%}.cta-title.svelte-1cer3el{width:fit-content}.triangle.svelte-1cer3el{position:absolute;right:-7%;top:-9%;width:var(--space-64-96px);aspect-ratio:1;background:var(--clr-ball-default);clip-path:polygon(100% 0,15% 50%,100% 100%);transition:transform .3s ease}.cta-heading.svelte-1cer3el{width:fit-content;font-size:var(--fs-h3);font-weight:700;margin-top:var(--space-64-96px);margin-bottom:var(--space-32-48px);text-shadow:0 0 none;transition:all .3s ease;transform:translateY(0);-webkit-user-select:none;user-select:none}.cta-heading.svelte-1cer3el:focus-visible{outline:3px solid var(--clr-primary);border-radius:var(--radius-2px)}.cta-heading.svelte-1cer3el.animate-in-view{padding-bottom:var(--space-8-12px);--shadow-color: orange;text-shadow:0 3px 12px var(--shadow-color);transform:translateY(-8px);animation:svelte-1cer3el-shadowPulse 3s ease-in-out infinite}@keyframes svelte-1cer3el-shadowPulse{0%,to{text-shadow:0 3px 15px var(--shadow-color)}50%{text-shadow:0 6px 36px var(--shadow-color)}}.footer-section.svelte-iesri4{max-width:1920px;margin-inline:auto;display:flex;gap:10%;padding-inline:6%;padding-block:var(--space-48-64px);background-color:#0e0d0c;color:#fbfaf9}h3.svelte-iesri4{justify-self:center;margin-bottom:.75em;transition:all .3s ease}.contact-column.svelte-iesri4 h3.highlight:where(.svelte-iesri4){--shadow-color: var(--clr-primary);animation:svelte-iesri4-contactHighlight 2s ease-out}@keyframes svelte-iesri4-contactHighlight{0%{text-shadow:0 0px 3px var(--shadow-color)}70%{text-shadow:0 1px 25px var(--shadow-color)}90%{text-shadow:0 1px 5px var(--shadow-color)}to{text-shadow:none}}.about-column.svelte-iesri4,.contact-column.svelte-iesri4{flex:1;max-width:560px;margin-inline:auto}.about-column.svelte-iesri4 p:where(.svelte-iesri4):nth-child(2),.about-column.svelte-iesri4 p:where(.svelte-iesri4):nth-child(3){margin-bottom:.5em}a.svelte-iesri4{text-decoration:underline;transition:all .3 ease-in-out}a.svelte-iesri4:focus-visible{outline:3px solid var(--clr-primary);border-radius:var(--radius-2px)}@media (hover: hover){a.svelte-iesri4:hover{color:var(--clr-primary);text-decoration:none}}.contact-list.svelte-iesri4{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-32-48px)}.contact-list.svelte-iesri4 li:where(.svelte-iesri4){max-width:270px;display:flex;align-items:center;gap:var(--space-12-16px)}.contact-icon.svelte-iesri4{position:relative;width:var(--space-48-64px);height:var(--space-48-64px);display:flex;align-items:center;justify-content:center}.icon.svelte-iesri4{overflow:visible;fill:#fff;transition:all .3s ease}.email-icon.svelte-iesri4,.email-icon-hover.svelte-iesri4{transform:scale(1.2)}.email-icon-hover.svelte-iesri4{position:absolute;top:-16px;left:0;opacity:0;transition:all .3s ease}.contact-list.svelte-iesri4 li:where(.svelte-iesri4):hover .email-icon-hover:where(.svelte-iesri4){fill:var(--clr-primary);transform:rotate(3deg);scale:1.2}.contact-list.svelte-iesri4 li:where(.svelte-iesri4):hover .icon-linkedin:where(.svelte-iesri4){fill:var(--clr-primary);transform:rotate(-3deg);scale:1.1}.contact-list.svelte-iesri4 li:where(.svelte-iesri4):hover .icon-github:where(.svelte-iesri4){fill:var(--clr-primary);transform:rotate(-6deg);scale:1.1}.contact-list.svelte-iesri4 li:where(.svelte-iesri4):hover .icon-whatsapp:where(.svelte-iesri4){fill:var(--clr-primary);transform:rotate(6deg);scale:1.1}.contact-list.svelte-iesri4 li:where(.svelte-iesri4):hover .email-icon-hover:where(.svelte-iesri4){opacity:1}.contact-list.svelte-iesri4 li:where(.svelte-iesri4):hover .email-icon:where(.svelte-iesri4){opacity:0;transition:opacity .3s ease}@media (max-width: 991px){.footer-section.svelte-iesri4{flex-direction:column;gap:var(--space-48px)}.about-column.svelte-iesri4,.contact-column.svelte-iesri4{width:100%}}main.svelte-1rpqg3e{position:relative;max-width:1920px;margin-inline:auto}
