:root{--color-white: hsl(0, 0%, 98%);--color-black: hsl(0, 0%, 20%);--color-gray-100: hsl(0, 0%, 94%);--color-gray-200: hsl(0, 0%, 84%);--color-gray-300: hsl(0, 0%, 78%);--color-gray-700: hsl(0, 0%, 70%);--color-gray-750: hsl(0, 0%, 40%);--color-gray-800: hsl(43, 9%, 30%);--color-gray-900: hsl(0, 0%, 30%);--color-gray-950: hsl(0, 0%, 12%);--color-gray-blue-100: hsl(220 5% 90%);--color-gray-blue-200: hsl(220 5% 88%);--color-gray-blue-800: hsl(220 5% 40%);--color-gray-blue-900: hsl(220 5% 30%);--color-gray-blue-950: hsl(220 5% 18%);--color-green-tangy: hsl(129, 100%, 56%);--color-green: hsl(126, 60%, 60%);--color-red: hsl(3, 100%, 63%);--color-blue: hsl(203, 92%, 50%);--color-purple: hsl(287, 58%, 60%);--color-orange: hsl(38, 100%, 50%);--color-yellow: hsl(50, 100%, 50%);--color-lemon: hsl(65, 90%, 80%);--color-online: var(--color-green);--color-offline: var(--color-gray-700);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-bold: 700;--font-weight-black: 900;--font-xs: clamp(.64rem, .617rem + .1023vw, .75rem);--font-s: clamp(.8rem, .771rem + .1279vw, .938rem);--font-m: clamp(1rem, .964rem + .1599vw, 1.172rem);--font-l: clamp(1.25rem, 1.205rem + .1999vw, 1.465rem);--font-xl: clamp(2.441rem, 2.354rem + .3903vw, 2.861rem);--font-2xl: clamp(3.052rem, 2.942rem + .4879vw, 3.576rem);--font-3xl: clamp(3.815rem, 3.677rem + .6099vw, 4.47rem);--space-2xs: clamp(.25rem, .2065rem + .2174vw, .375rem);--space-xs: clamp(.375rem, .3098rem + .3261vw, .5625rem);--space-s: clamp(.5rem, .413rem + .4348vw, .75rem);--space-m: clamp(.75rem, .6196rem + .6522vw, 1.125rem);--space-l: clamp(1rem, .8261rem + .8696vw, 1.5rem);--space-xl: clamp(1.5rem, 1.2391rem + 1.3043vw, 2.25rem);--space-2xl: clamp(2rem, 1.6522rem + 1.7391vw, 3rem);--space-3xl: clamp(3rem, 2.4783rem + 2.6087vw, 4.5rem);--space-4xl: clamp(4rem, 3.3043rem + 3.4783vw, 6rem);--space-5xl: clamp(6rem, 4.9565rem + 5.2174vw, 9rem);--border-radius: 100vw;--border-radius-s: 6px;--border-radius-m: 20px;--shadow-color: 210deg 2% 58%;--shadow-low: 0px 0px 6px hsl(var(--shadow-color) / .2);--shadow-medium: .3px .5px .9px hsl(var(--shadow-color) / 0), 1px 2.1px 3.5px hsl(var(--shadow-color) / .12), 2px 4.1px 6.8px hsl(var(--shadow-color) / .23), 4.1px 8.3px 13.9px hsl(var(--shadow-color) / .35);--transition-duration-instant: .1s;--transition-duration-fast: .15s;--transition-duration-base: .25s;--transition-duration-moderate: .5s;--transition-duration-slow: .6s;@media(prefers-reduced-motion:reduce){:root{--transition-duration-instant: 0ms;--transition-duration-fast: 0ms;--transition-duration-base: 0ms;--transition-duration-slow: 0ms;--transition-duration-slower: 0ms}}--transition-easing-bouncy: linear( 0, .016 .5%, .06 1%, .226 2%, 1.116 5.4%, 1.375 6.6%, 1.527 7.7%, 1.565 8.2%, 1.585 8.8%, 1.581 9.3%, 1.559 9.8%, 1.458 10.9%, .937 14.3%, .784 15.5%, .693 16.6%, .67 17.1%, .657 17.7%, .671 18.7%, .729 19.8%, 1.042 23.3%, 1.13 24.5%, 1.182 25.6%, 1.201 26.7%, 1.192 27.7%, 1.156 28.8%, .977 32.2%, .925 33.4%, .894 34.5%, .882 35.6%, .887 36.6%, .907 37.7%, 1.045 42.4%, 1.069 44.5%, 1.059 46.3%, .979 50.9%, .96 53.4%, .966 55.3%, 1.013 59.9%, 1.024 62.3%, .986 71.2%, 1.008 79.9%, .995 88.9%, 1 )}:root{color-scheme:light dark}:root,:root[data-theme=light]{--color-background: var(--color-gray-100);--color-text: var(--color-black);--color-text-light: var(--color-gray-750);--color-accent: var(--color-lemon);--button-neutral-color: var(--color-black);--button-neutral-color-active: var(--color-background);--button-neutral-background: var(--color-white);--button-neutral-background-hover: var(--color-gray-blue-200);--button-neutral-background-active: var(--color-black);--button-primary-color: var(--color-background);--button-primary-background: var(--color-black);--button-primary-background-hover: var(--color-gray-800);--button-primary-background-active: var(--color-black);--color-underline: var(--color-gray-700);--color-underline-hover: var(--color-black);--tag-color: var(--color-gray-blue-800);--tag-background: var(--color-white);--tag-border: var(--color-white);--rule-color: var(--color-gray-200)}@media(prefers-color-scheme:dark){:root:not([data-theme]){--color-background: var(--color-gray-950);--color-text: var(--color-gray-200);--color-text-light: var(--color-gray-300);--color-accent: var(--color-lemon);--button-neutral-color: var(--color-gray-200);--button-neutral-color-active: var(--color-background);--button-neutral-background: var(--color-gray-blue-950);--button-neutral-background-hover: var(--color-gray-blue-900);--button-neutral-background-active: var(--color-gray-100);--button-primary-color: var(--color-background);--button-primary-background: var(--color-gray-100);--button-primary-background-hover: var(--color-gray-200);--button-primary-background-active: var(--color-gray-100);--color-underline: var(--color-gray-900);--color-underline-hover: var(--color-gray-100);--tag-color: var(--color-gray-100);--tag-background: var(--color-black);--tag-border: var(--color-black);--shadow-color: 210deg 2% 28%}}:root[data-theme=dark]{--color-background: var(--color-gray-950);--color-text: var(--color-gray-200);--color-text-light: var(--color-gray-300);--color-accent: var(--color-lemon);--button-neutral-color: var(--color-gray-200);--button-neutral-color-active: var(--color-background);--button-neutral-background: var(--color-gray-blue-950);--button-neutral-background-hover: var(--color-gray-blue-900);--button-neutral-background-active: var(--color-gray-100);--button-primary-color: var(--color-background);--button-primary-background: var(--color-gray-100);--button-primary-background-hover: var(--color-gray-200);--button-primary-background-active: var(--color-gray-100);--color-underline: var(--color-gray-900);--color-underline-hover: var(--color-gray-100);--tag-color: var(--color-gray-100);--tag-background: var(--color-black);--tag-border: var(--color-black);--shadow-color: 210deg 2% 28%}@layer reset,base,utilities,components;@layer reset{*,*:before,*:after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;scrollbar-gutter:stable}*:not(dialog){margin:0}ul[role=list],ol[role=list]{list-style:none;padding:0;margin:0}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeSpeed;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p,li{text-wrap:pretty;max-width:65ch}a:not([class]){text-decoration-skip-ink:auto;text-underline-offset:.2ex;color:currentColor}button,input[type=submit],input[type=reset]{background:none;color:inherit;border:none;padding:0;margin:0;font:inherit;cursor:pointer;outline:inherit}button.link{background:none;border:none;padding:0;font:inherit;cursor:pointer}img,picture,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}}@layer base{body{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-family-base);font-weight:var(--font-weight-regular);font-size:var(--font-m);min-block-size:100svh;accent-color:var(--color-accent)}body::selection{background:var(--color-accent);color:var(--color-black)}main{min-block-size:100svh;padding-block:var(--space-3xl);display:flex;flex-direction:column;gap:var(--space-3xl)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold)}a,.link{color:inherit;text-decoration:2px solid underline;text-decoration-color:var(--color-underline);text-decoration-skip-ink:auto;text-underline-offset:.3ex;transition:text-decoration-color .3s ease}a:hover,.link:hover{text-decoration-color:var(--color-underline-hover)}a[target=_blank]{padding-right:.9em;position:relative}a[target=_blank]:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:.85em;height:.85em;background-color:currentColor;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='butt' stroke-linejoin='butt'%3E%3Cpath d='M7 17 L17 7 M7 7h10v10'/%3E%3C/svg%3E");mask-repeat:no-repeat;mask-size:contain}hr{color:var(--rule-color)}:focus{outline:none}:focus-visible{background:var(--color-accent)}}@layer utilities{.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.container{margin-inline:auto;max-inline-size:870px;padding-inline:var(--space-xl);@media(max-width:50em){padding-inline:var(--space-l)}}.font-headings{font-family:var(--font-base)}.text-bold{font-weight:var(--font-weight-bold)}.auto-grid{--min-col-size: 230px;display:grid;gap:var(--space-m);row-gap:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(var(--min-col-size),1fr))}.mark{background-color:var(--color-accent)}.scrollbar-hide{scrollbar-width:none}}@layer components{.btn{display:inline-flex;align-items:center;justify-content:center;background-color:var(--button-neutral-background);color:var(--button-neutral-color);border:1px solid transparent;border-radius:var(--border-radius);font-size:var(--font-s);font-weight:var(--font-weight-bold);line-height:1;min-width:1.5em;text-box:trim-both cap alphabetic;padding:.8em;vertical-align:top;block-size:44px;@media screen and (width<=50em){block-size:36px;padding:.6em;font-size:var(--font-xs)}}.btn--lg{font-size:var(--font-m)}.btn[aria-pressed=true],.btn[aria-selected=true],.btn[aria-pressed=true]:hover,.btn[aria-selected=true]:hover{background-color:var(--button-neutral-background-active);color:var(--button-neutral-color-active);border-color:transparent}.btn--active{background-color:var(--button-neutral-background-active);color:var(--button-neutral-color-active)}.btn--outline{background-color:var(--color-gray-light);color:var(--color-black);border:1px solid var(--color-black)}@media(hover:hover){.btn:hover{background-color:var(--button-neutral-background-hover);border-color:transparent}.btn--active:hover{background-color:var(--button-neutral-background-active);color:var(--button-neutral-color-active)}.btn--outline:hover{background-color:var(--color-black);color:var(--color-gray-light)}}.btn:focus-visible{background:var(--color-accent);color:var(--color-black)}.btn--circle{aspect-ratio:1;padding:.45em;min-width:36px;font-weight:var(--font-weight-bold)}.btn--squircle{border-radius:20px;gap:1rem;min-width:44px;font-weight:var(--font-weight-bold)}.tag-pill{font-size:var(--font-s);text-box:trim-both cap alphabetic;padding:.5em .8em;border:1px solid var(--tag-border);color:var(--tag-color);background:var(--tag-background);border-radius:var(--border-radius);white-space:nowrap}.tag-pill--ghost{background:transparent;border-color:var(--tag-color)}.tag{font-size:var(--font-s);font-weight:var(--font-weight-regular);color:var(--tag-color);margin-inline-end:.5em}.tag:before{content:"●";display:inline-block;color:var(--color-online);width:.5em;margin-inline-end:.2em}.tag[data-tag=web-app]:before,.tag[data-tag=cms-integration]:before{color:var(--color-blue)}.tag[data-tag=website]:before{color:var(--color-red)}.tag[data-tag=design-system]:before{color:var(--color-yellow)}.tag[data-tag=fintech]:before,.tag[data-tag=e-commerce]:before{color:var(--color-purple)}.tag[data-tag=portfolio]:before{color:var(--color-orange)}.tag[data-tag=social-impact]:before{color:var(--color-green)}.theme-icon--dark{display:none}:root[data-theme=dark] .theme-icon--light{display:none}:root[data-theme=dark] .theme-icon--dark{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme]) .theme-icon--light{display:none}:root:not([data-theme]) .theme-icon--dark{display:block}}}header[data-astro-cid-3ef6ksr2]{--header-gap: var(--space-m);--nav-button-size: 80px;--_transition-background-color: var(--transition-duration-instant);padding-block:var(--space-l);left:0;position:sticky;text-align:center;top:0;width:100%;z-index:20}header[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{text-decoration:none}header[data-astro-cid-3ef6ksr2] .options[data-astro-cid-3ef6ksr2] .ellipsis-svg[data-astro-cid-3ef6ksr2]{width:1.5rem}.nav__lang-toggle[data-astro-cid-3ef6ksr2]{width:var(--nav-button-size);transition:background-color var(--_transition-background-color) ease}.nav__lang-toggle[data-astro-cid-3ef6ksr2]:hover{background-color:var(--button-neutral-background-hover)}.nav__lang-toggle[data-astro-cid-3ef6ksr2] .lang[data-astro-cid-3ef6ksr2]{color:var(--color-gray-700);transition:color var(--_transition-background-color)}.nav__lang-toggle[data-astro-cid-3ef6ksr2]:hover .lang[data-astro-cid-3ef6ksr2]{color:var(--button-primary-background-hover)}.nav__theme-toggle[data-astro-cid-3ef6ksr2]{font-size:var(--font-m);transition:background-color var(--_transition-background-color)}.nav__theme-toggle[data-astro-cid-3ef6ksr2]:hover{background-color:var(--button-neutral-background-hover);color:var(--button-primary-background-hover)}.nav__home[data-astro-cid-3ef6ksr2]{font-size:var(--font-m);text-transform:uppercase;font-variation-settings:"wght" 900,"wdth" 85;position:relative;transition:background-color var(--_transition-background-color) ease,rotate 1.5s var(--transition-easing-bouncy)}@media(hover:hover){.nav__home[data-astro-cid-3ef6ksr2]:hover{background-color:var(--button-neutral-background-active);color:var(--button-neutral-color-active);rotate:-4deg}}nav[data-astro-cid-3ef6ksr2]{align-items:center;display:flex;gap:var(--header-gap);justify-content:space-between}h1[data-astro-cid-3ef6ksr2]{font-size:var(--font-m)}html:not([data-theme=dark]) nav[data-astro-cid-3ef6ksr2].scrolled>.btn[data-astro-cid-3ef6ksr2],html:not([data-theme=dark]) nav[data-astro-cid-3ef6ksr2].scrolled .options[data-astro-cid-3ef6ksr2]>.btn[data-astro-cid-3ef6ksr2]{background-color:var(--button-primary-background);color:var(--button-primary-color);box-shadow:var(--shadow-light)}nav[data-astro-cid-3ef6ksr2].scrolled>.btn[data-astro-cid-3ef6ksr2]:focus-visible{background-color:var(--color-accent);color:var(--color-black)}nav[data-astro-cid-3ef6ksr2].scrolled .nav__lang-toggle[data-astro-cid-3ef6ksr2]:hover .lang[data-astro-cid-3ef6ksr2],nav[data-astro-cid-3ef6ksr2].scrolled .nav__lang-toggle[data-astro-cid-3ef6ksr2]:hover .active-lang[data-astro-cid-3ef6ksr2]{color:var(--button-neutral-background)}@media(hover:hover){nav[data-astro-cid-3ef6ksr2].scrolled>.btn[data-astro-cid-3ef6ksr2]:hover,nav[data-astro-cid-3ef6ksr2].scrolled .options[data-astro-cid-3ef6ksr2]>.btn[data-astro-cid-3ef6ksr2]:hover{background-color:var(--button-primary-background-hover)}}.options[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--header-gap)}.lang-toggle[data-astro-cid-3ef6ksr2]{font-size:var(--font-s);padding-inline:var(--space-s)}.wrapper[data-astro-cid-jt6nnprn]{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-s);--clock-size: 6.25rem;--clock-color: var(--color-gray-800);--clock-face: var(--color-gray-blue-200)}.clock-face[data-astro-cid-jt6nnprn]{position:relative;width:var(--clock-size);height:var(--clock-size);border-radius:50%;border:2px solid var(--clock-face);background:var(--clock-face)}.clock-face[data-astro-cid-jt6nnprn]:before{inset-inline-start:50%;inset-block:4%;width:2px;transform:translate(-50%)}.clock-face[data-astro-cid-jt6nnprn]:after{inset-block-start:50%;inset-inline:4%;height:2px;transform:translateY(-50%)}.clock-hand[data-astro-cid-jt6nnprn]{position:absolute;inset-inline-start:50%;inset-block-start:50%;background:var(--clock-color);border-radius:2px;transform-origin:50% 100%;transition:transform .2s cubic-bezier(.4,2.3,.6,1)}.clock-hand--hour[data-astro-cid-jt6nnprn]{width:3px;height:28%;margin-inline-start:-1.5px;margin-block-start:-28%}.clock-hand--minute[data-astro-cid-jt6nnprn]{width:2px;height:40%;margin-inline-start:-1px;margin-block-start:-40%}.clock-center[data-astro-cid-jt6nnprn]{position:absolute;inset-inline-start:50%;inset-block-start:50%;width:8px;height:8px;background:var(--clock-color);border-radius:50%;transform:translate(-50%,-50%)}.clock-tag[data-astro-cid-jt6nnprn]{background-color:var(--tag-background);color:var(--color-text);box-shadow:var(--shadow-low);border-radius:12px;padding:.3em .85em;display:flex;flex-direction:row;gap:.3em;align-items:center;font-size:var(--font-xs);min-height:27px;text-box:trim-both cap alphabetic}.display-time[data-astro-cid-jt6nnprn]{position:absolute;top:10%;left:100%;translate:0 -50%}.timezone[data-astro-cid-jt6nnprn]{font-size:var(--font-xs)}.display-location[data-astro-cid-jt6nnprn]{position:absolute;top:50%;right:-80%;translate:0 -50%}.display-status[data-astro-cid-jt6nnprn]{position:absolute;bottom:-4%;right:-80%}.current-status[data-astro-cid-jt6nnprn][data-status=online]:before{content:"●";margin-right:.5em;color:var(--color-online)}.current-status[data-astro-cid-jt6nnprn][data-status=offline]:before{content:"●";margin-right:.5rem;color:var(--color-offline)}@media(max-width:50em){.clock-tag[data-astro-cid-jt6nnprn]{flex-direction:row;gap:.3em}.display-location[data-astro-cid-jt6nnprn]{top:.5rem;right:-5.75rem}.display-time[data-astro-cid-jt6nnprn]{top:50%;left:-110%}.display-status[data-astro-cid-jt6nnprn]{bottom:-1.5rem;right:-5.45rem}}.container[data-astro-cid-sz7xmlte]{border-top:1px solid var(--rule-color);padding-block:var(--space-3xl)}.grid[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-3xl) var(--space-s);align-items:center}h2[data-astro-cid-sz7xmlte]{margin-bottom:var(--space-xl)}.contacts[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:var(--space-s)}.social-links[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:.5rem}ul[data-astro-cid-sz7xmlte]{display:flex;gap:1rem;padding:0}.email-link[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:.5rem}.copyright[data-astro-cid-sz7xmlte]{grid-column:1 / -1;font-size:var(--font-s);color:var(--color-gray-dark);margin-top:var(--space-l)}@media(max-width:50em){footer[data-astro-cid-sz7xmlte]{padding-top:var(--space-m)}.grid[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:var(--space-3xl)}.contacts[data-astro-cid-sz7xmlte]{order:1}.footer-media[data-astro-cid-sz7xmlte]{order:2;justify-self:center}.copyright[data-astro-cid-sz7xmlte]{order:3;margin-top:0}}
