:root{--radius-circle:50%;--font-family-inter:"Inter",sans-serif;--font-weight-light:300;--font-weight-regular:400;--font-weight-semibold:500;--font-weight-bold:600;--transition-timing-function:cubic-bezier(0.14,0.97,0.59,1);--transition-short:150ms var(--transition-timing-function);--transition-medium:250ms var(--transition-timing-function);--transition-long:500ms var(--transition-timing-function);--bg-light:#f0f2f5;--text-primary-light:rgba(0,0,0,.87);--text-secondary-light:rgba(0,0,0,.54);--primary-light:#3f51b5;--primary-light-hover:#2c387e;--surface-light:#fff;--surface-hover-bg-light:#d1d5db;--surface-hover-outline-light:rgba(31,35,40,.15);--chip-surface-light:#e0e0e0;--outline-light:rgba(0,0,0,.23);--bg-dark:#303030;--text-primary-dark:#fff;--text-secondary-dark:hsla(0,0%,100%,.7);--primary-dark:#3f51b5;--primary-dark-hover:#2c387e;--surface-dark:#424242;--surface-hover-bg-dark:#444c56;--surface-hover-outline-dark:#768390;--chip-surface-dark:#616161;--outline-dark:hsla(0,0%,100%,.23)}@media (prefers-color-scheme:light){:root{--bg:var(--bg-light);--text-primary:var(--text-primary-light);--text-secondary:var(--text-secondary-light);--primary:var(--primary-light);--primary-hover:var(--primary-light-hover);--surface:var(--surface-light);--surface-hover-bg-light:var(--surface-hover-bg-light);--surface-hover-outline-light:var(--surface-hover-outline-light);--chip-surface:var(--chip-surface-light);--outline:var(--outline-light);color-scheme:light}}@media (prefers-color-scheme:dark){:root{--bg:var(--bg-dark);--text-primary:var(--text-primary-dark);--text-secondary:var(--text-secondary-dark);--primary:var(--primary-dark);--primary-hover:var(--primary-dark-hover);--surface:var(--surface-dark);--surface-hover-bg:var(--surface-hover-bg-dark);--surface-hover-outline:var(--surface-hover-outline-dark);--chip-surface:var(--chip-surface-dark);--outline:var(--outline-dark);color-scheme:dark}}:root[data-theme=light]{--bg:var(--bg-light);--text-primary:var(--text-primary-light);--text-secondary:var(--text-secondary-light);--primary:var(--primary-light);--primary-hover:var(--primary-light-hover);--surface:var(--surface-light);--surface-hover-bg:var(--surface-hover-bg-light);--surface-hover-outline:var(--surface-hover-outline-light);--chip-surface:var(--chip-surface-light);--outline:var(--outline-light);color-scheme:light}:root[data-theme=dark]{--bg:var(--bg-dark);--text-primary:var(--text-primary-dark);--text-secondary:var(--text-secondary-dark);--primary:var(--primary-dark);--primary-hover:var(--primary-dark-hover);--surface:var(--surface-dark);--surface-hover-bg:var(--surface-hover-bg-dark);--surface-hover-outline:var(--surface-hover-outline-dark);--chip-surface:var(--chip-surface-dark);--outline:var(--outline-dark);color-scheme:dark}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background-color:var(--bg);color:var(--text-primary);display:grid;font-family:var(--font-family-inter);font-size:1rem;gap:1rem;grid-template-areas:"profile" "about" "main";line-height:1.5;margin-inline:auto;max-width:1920px;overflow-x:hidden;padding:.75rem;text-rendering:optimizeLegibility}@media screen and (min-width:48.0625rem){body{grid-template-areas:"profile about" "main main";grid-template-columns:20rem 1fr}}@media screen and (min-width:75.0625rem){body{grid-template-areas:"profile main main about";grid-template-columns:20rem 1fr 1fr 1fr}}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}a{color:var(--text-primary);text-decoration:none}a:hover{color:var(--text-secondary);text-decoration:underline}input[type=email],input[type=number],input[type=password],input[type=submit],input[type=text],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}canvas,img,picture,svg,video{display:block;max-width:100%}img{height:auto}input{background:none;border:none;font:inherit;width:100%}button{color:var(--text-primary);cursor:pointer}address{font-style:normal}p{color:var(--text-primary)}.card{background-color:var(--surface);border-radius:5px;box-shadow:0 0 0 0 transparent,0 0 0 0 transparent,0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);overflow:hidden;padding:1rem;position:relative}.card:has(img){display:grid;grid-template-rows:max-content;padding:0}.card:has(img) .projectLinks{display:flex;gap:1rem;justify-content:center}.card:has(img) .liveLink{background-color:var(--surface);border-radius:50%;display:grid;height:50px;margin-top:-14.2857142857px;place-items:center;position:relative;width:50px;z-index:99}.card:has(img) .card-content,.card:has(img) .card-footer{display:grid;justify-content:center}.card:has(img) .card-content{-webkit-padding-after:1rem;padding-block-end:1rem;padding-inline:1rem}.card:has(img) .card-footer{-webkit-padding-after:1.5rem;align-self:flex-end;padding-block-end:1.5rem}.card:has(img) .card-content{gap:.75rem;text-align:center}.card:has(img) .card-content h3{font-weight:var(--font-weight-bold);text-align:center}.card:has(img) .card-content>*{-webkit-margin-after:0;font-weight:var(--font-weight-regular);margin-block-end:0}.btn,.btn-primary{-webkit-tap-highlight-color:transparent;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:0;border-radius:0;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);color:inherit;cursor:pointer;display:inline-flex;justify-content:center;margin:0;outline:0;padding:0;position:relative;transition:background-color .25s cubic-bezier(.4,0,.2,1) 0ms,box-shadow .25s cubic-bezier(.4,0,.2,1) 0ms,border .25s cubic-bezier(.4,0,.2,1) 0ms;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.btn-primary:is(:hover,:focus,:active),.btn:is(:hover,:focus,:active){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);text-decoration:none}.btn,.btn-primary{border-radius:4px;box-sizing:border-box;font-size:.875rem;font-weight:var(--font-weight-semibold);letter-spacing:.02857em;line-height:1.75;min-width:64px;padding:6px 16px;text-transform:uppercase}.btn-primary:is(:hover),.btn:is(:hover){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:is(:hover,:focus){background-color:var(--primary-hover);color:#fff;text-decoration:none}.btn-theme{background-color:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-circle);cursor:pointer;display:inline-grid;height:48px;min-width:48px;place-items:center;transition:var(--transition-short);transition-property:background-color,border-color;width:48px}.btn-theme:where(:hover,:focus-visible):not(:active){background-color:var(--surface-hover-bg);border-color:var(--surface-hover-outline);text-decoration:none}.theme-controls{padding:1rem;position:absolute;right:0}.chip,.chip-outlined{background-color:var(--chip-surface);border:none;border-radius:16px;color:var(--text-primary);cursor:default;display:inline-grid;font-size:.625rem;justify-content:center;line-height:2;outline:0;overflow:hidden;padding:0;padding-inline:.75rem;place-items:center;text-decoration:none;text-overflow:ellipsis;text-transform:uppercase;vertical-align:middle;white-space:nowrap}.chip-outlined{background-color:transparent;border:1px solid var(--outline)}.avatar{display:grid;padding:1.5rem}.avatar .width-full{border-radius:var(--radius-circle);place-self:center;width:min(35vw,60%)}.tab{display:flex;overflow:hidden;position:sticky;top:0;z-index:999}.tab.card{border-radius:0;padding:0}.tab button{border:none;color:var(--text-primary);font-size:1.0625rem;outline:none;padding-block:1.25rem;padding-inline:1rem;position:relative}.tab button,.tab button.active{background-color:var(--surface)}.tab button.active:after{background-color:#22c55e;bottom:0;content:"";height:.1563rem;left:0;position:absolute;width:100%}.tab button:hover{background-color:var(--surface)}.tabContent{display:none}.tabContent.active{display:block}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:var(--font-weight-semibold);margin-top:0;min-height:0}.h4,h4{font-size:1.333rem;font-size:clamp(1rem,4.333vw + 1rem,1.333rem)}.h3,.h4,h3,h4{line-height:calc(4px + 2ex);margin-bottom:.65em}.h3,h3{font-size:1.776889rem;font-size:clamp(1.19051563rem,4.58637337vw + 1rem,1.776889rem)}.h2,h2{font-size:2.368593037rem;font-size:clamp(1.5869573348rem,4.7816357022vw + 1rem,2.368593037rem)}.h1,.h2,h1,h2{line-height:calc(4px + 2ex);margin-bottom:.65em}.h1,h1{font-size:3.1573345183rem;font-size:clamp(2.1154141273rem,5.041920391vw + 1rem,3.1573345183rem)}svg{aspect-ratio:1/1;width:1.5rem}.text-start{text-align:start}.text-center{text-align:center}.text-end{text-align:end}.text-light{font-weight:var(--font-weight-light)}.text-regular{font-weight:var(--font-weight-regular)}.text-semibold{font-weight:var(--font-weight-semibold)}.text-bold{font-weight:var(--font-weight-bold)}.profile{grid-area:profile}@media screen and (min-width:75.0625rem){.profile{height:60vh;position:sticky;top:.75rem}}.profile .card{display:grid}.profile a{text-decoration:none}.profile svg{width:1.125rem}.profile hgroup{-webkit-border-after:1px solid var(--outline);border-block-end:1px solid var(--outline)}.profile h1{-webkit-margin-after:0;margin-block-end:0}.profile .contact{display:inline-grid;gap:.75rem;justify-self:center;padding:1.5rem}@media screen and (min-width:30.0625rem){.profile .contact{grid-template-columns:1fr 1fr}}@media screen and (min-width:48.0625rem){.profile .contact{grid-template-columns:1fr}}.profile .resume{margin-block:1rem;text-align:center}.profile .resume a{gap:.75rem}.profile :is(.group,.group a){align-items:center;display:flex;gap:.5rem;line-height:1;place-self:flex-start}.profile [data-lang] svg{width:2rem}.main{grid-area:main}.main :is(.tab){-webkit-margin-after:1rem;margin-block-end:1rem}.main .card h3{-webkit-margin-after:0;margin-block-end:0}.main [data-projects-commercial],.main [data-projects-personal]{--min-grid-column-size:15rem;--grid-gap:1rem;display:grid;gap:var(--grid-gap);grid-template-columns:repeat(auto-fit,minmax(min(var(--min-grid-column-size),100%),1fr))}.about{grid-area:about}@media screen and (min-width:75.0625rem){.about{height:60vh;position:sticky;top:.75rem}}.about svg{width:1rem}.about .card{-webkit-margin-after:1rem;margin-block-end:1rem}.about :is(.group,.industry){display:grid}.about .group{-webkit-margin-after:1rem;gap:.25rem;margin-block-end:1rem}.about .title{font-weight:var(--font-weight-bold)}.about small{align-items:center;display:flex;gap:.625rem}.experience{grid-area:experience}
