@font-face{font-family:garet-book;src:url(/assets/garet-book-DwQN4ygH.woff)format("woff")}@font-face{font-family:garet-heavy;src:url(/assets/garet-heavy-BKvevcVi.woff)format("woff");font-weight:700}:root{--lgreen:#87c332;--dgreen:#608930;--dgray:#484a50;--lgray:#b7babb;--black:#000;--white:#fff;--backcolor:#222628;--backcolor-transparent:#222628a6;--skill-line:#2226284d;font-family:garet-book,system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--lgreen);background-color:var(--backcolor);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:garet-book,Verdana,sans-serif;line-height:1.4}.light-green{color:var(--lgreen)}.dark-green{color:var(--dgreen)}.about-text{flex:1 1 0;min-width:0;max-width:40vw}.about-text h2{color:var(--lgray)}.about-picture{border:.1em solid var(--dgreen);background-color:var(--lgreen);filter:grayscale();border-radius:999px;flex:none;max-width:28%;height:auto;margin:1em 1em 1em auto;transition:filter .3s}.about-picture:hover{filter:grayscale(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}#app{border-inline:0;width:1126px;max-width:100%;min-height:100svh;margin:0 auto}.site-header{z-index:10;background-color:var(--backcolor-transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #ffffff1f;border-radius:999px;justify-content:space-between;align-items:center;gap:24px;margin:12px 16px 0;padding:12px 24px;display:flex;position:sticky;top:12px}.site-brand{color:inherit;flex:none;gap:0;font-family:garet-heavy,garet-book,Verdana,sans-serif;font-size:24px;text-decoration:none;display:inline-flex}.site-brand span:first-child{color:var(--lgreen)}.site-brand span:last-child{color:var(--dgreen)}.site-nav{z-index:1;background-color:#2b3033;border:1px solid #ffffff1f;border-radius:0 999px 999px;flex-wrap:wrap;justify-content:flex-end;gap:8px 32px;max-width:1126px;margin:-13px -25px;padding:22px 24px 22px 32px;display:flex;position:relative}.site-nav a{color:var(--lgreen);font-size:16px;font-weight:600;text-decoration:none}.site-nav a:hover{color:var(--dgreen)}.site-nav a:focus-visible{outline:2px solid var(--lgreen);outline-offset:4px;border-radius:3px}.social-container{z-index:10;border:solid var(--dgreen);border-width:0 0 0 .15em;width:40px;padding-bottom:2em;position:fixed;bottom:0;left:20px;right:auto}.social-container ul{flex-direction:column;align-items:center;margin:0;padding:0;list-style-type:none;display:flex}.social-container li{margin-bottom:.5em}.social-container li a{color:var(--dgreen);display:block}.social-container li a:hover{color:var(--lgreen)}.social-container .icon{width:15px;height:15px}.site-footer{color:var(--lgray);text-align:center;padding:24px 32px 24px 80px;font-size:.85rem}.site-footer p{margin:0}.page-content{padding:0 32px 0 80px}.page-section{align-items:center;min-height:50svh;scroll-margin-top:80px;display:flex}.page-section h1{letter-spacing:-.04em;color:var(--lgreen);white-space:nowrap;align-items:center;width:100%;margin:8vh 0 5vh;font-family:garet-heavy;font-size:clamp(2rem,6vw,3.5rem);font-weight:600;line-height:1.25;display:flex;position:relative}.page-section h1:after{content:"";background-color:var(--lgray);width:100%;height:1px;margin-left:20px;display:block;position:relative;top:20px}#about h1:after{content:"";display:none}.skills-section{flex-direction:column;align-items:stretch;gap:24px;padding-block:36px}.skill-boxes{gap:16px;display:flex}.skill-box{border:1px solid var(--dgreen);background-color:#1c2022;border-radius:16px;flex:1 1 0;min-width:0;min-height:120px}.skill-box h2{color:var(--lgray);margin-top:32px;margin-left:32px}.skill-box ul{color:var(--dgreen);margin-bottom:32px;margin-left:32px}.experience-section{flex-direction:column;align-items:stretch;gap:24px;padding-block:36px}.experience-widget{min-height:260px;display:flex}.job-list{border:1px solid var(--dgreen);background-color:#1c2022;border-right:0;border-radius:16px 0 0 16px;flex-direction:column;flex:0 0 30%;gap:4px;padding:16px 32px 16px 16px;display:flex}.job-option{color:var(--lgray);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;padding:10px 12px}.job-option:hover,.job-option.job-selected{color:var(--lgreen);background-color:#60893033}.job-option:focus-visible,.job-details:focus-visible{outline:2px solid var(--lgreen);outline-offset:2px}.job-details{border:1px solid var(--dgreen);background-color:#2b3033;border-radius:0 16px 16px;flex:1;margin-left:-16px;padding:24px 32px 24px 48px}.job-title,.job-company,.job-term,.job-description{margin:0}.job-title{color:var(--white);font-size:1.5rem}.job-company{color:var(--lgreen);margin-top:4px;font-size:1.1rem}.job-term{color:var(--dgreen);margin-top:12px}.job-description{color:var(--lgray);margin-top:16px}.projects-section{flex-direction:column;align-items:stretch;gap:24px;padding-block:36px}.project-list{flex-direction:column;gap:24px;display:flex}.project{border:1px solid var(--dgreen);background-color:#1c2022;border-radius:16px;gap:24px;padding:20px;display:flex}.project-img-link{flex:0 0 35%}.project-img{border-radius:8px;width:100%;height:auto;display:block}.project-info{flex:1;min-width:0}.project-title{margin:0;font-size:1.5rem}.project-title a{color:var(--white);text-decoration:none}.project-title a:hover{color:var(--lgreen)}.project-desc{color:var(--lgray);margin:12px 0 0}.project-techs{flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.project-techs li{border:1px solid var(--dgreen);color:var(--dgreen);border-radius:999px;padding:2px 10px;font-size:.85rem}.project-links{gap:16px;margin-top:16px;display:flex}.project-link{color:var(--lgreen)}.project-link:hover{color:var(--dgreen)}.project-link:focus-visible{outline:2px solid var(--lgreen);outline-offset:4px;border-radius:3px}.contact-section{flex-direction:column;align-items:flex-start;gap:16px;padding-block:36px}.contact-hello{color:var(--white);margin:0;font-size:1.5rem}.contact-message{color:var(--lgray);margin:0}.contact-button{border:1px solid var(--dgreen);color:var(--lgreen);border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-weight:600;text-decoration:none;display:inline-flex}.contact-button .icon{width:15px;height:15px}.contact-button:hover{background-color:#60893033}.contact-button:focus-visible{outline:2px solid var(--lgreen);outline-offset:4px}@media (width<=800px){.skill-boxes{flex-direction:column}.skill-box{flex:none}.project{flex-direction:column}.project-img-link{flex:none}.skill-box ul{flex-wrap:wrap;gap:8px;margin-right:32px;padding:0;list-style:none;display:flex}.skill-box li{border:1px solid var(--dgreen);border-radius:999px;padding:2px 10px;font-size:.85rem}}@media (width<=700px){#about{flex-direction:column;align-items:stretch;padding-block:24px}.about-text{display:contents}.about-text h1{order:1}.about-picture{order:2;align-self:center;max-width:min(60%,260px);margin:16px auto}.about-text h2{order:3}.about-text p{order:4}.site-brand{font-size:clamp(15px,3vw - 3px,18px)}.site-nav{flex-wrap:nowrap;gap:8px 16px;padding:22px 20px 22px 24px}.site-nav a{font-size:clamp(13px,3vw - 5px,16px)}}@media (width<=600px){.site-header{border-radius:28px;flex-direction:column;align-items:stretch;gap:12px;margin:10px 12px 0;padding:12px 16px 0}.site-brand{align-self:center;font-size:16px}.site-nav{border-width:1px;border-radius:999px;justify-content:center;gap:8px 16px;margin:0 -16px -1px;padding:12px 16px}.site-nav a{font-size:14px}.page-content{padding:0 20px 0 80px}.experience-widget{flex-direction:column}.job-list{border:1px solid var(--dgreen);border-bottom:0;border-radius:16px 16px 0 0;flex:auto;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;display:grid}.job-details{border-radius:0 0 16px 16px;margin-left:0;padding:20px}}.icon{width:20px;height:20px;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;background-color:currentColor;display:inline-block}.icon-github{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12,0.296c-6.627,0-12,5.372-12,12c0,5.302,3.438,9.8,8.206,11.387c0.6,0.111,0.82-0.26,0.82-0.577c0-0.286-0.011-1.231-0.016-2.234c-3.338,0.726-4.043-1.416-4.043-1.416C4.421,18.069,3.635,17.7,3.635,17.7c-1.089-0.745,0.082-0.729,0.082-0.729c1.205,0.085,1.839,1.237,1.839,1.237c1.07,1.834,2.807,1.304,3.492,0.997C9.156,18.429,9.467,17.9,9.81,17.6c-2.665-0.303-5.467-1.332-5.467-5.93c0-1.31,0.469-2.381,1.237-3.221C5.455,8.146,5.044,6.926,5.696,5.273c0,0,1.008-0.322,3.301,1.23C9.954,6.237,10.98,6.104,12,6.099c1.02,0.005,2.047,0.138,3.006,0.404c2.29-1.553,3.297-1.23,3.297-1.23c0.653,1.653,0.242,2.873,0.118,3.176c0.769,0.84,1.235,1.911,1.235,3.221c0,4.609-2.807,5.624-5.479,5.921c0.43,0.372,0.814,1.103,0.814,2.222c0,1.606-0.014,2.898-0.014,3.293c0,0.319,0.216,0.694,0.824,0.576c4.766-1.589,8.2-6.085,8.2-11.385C24,5.669,18.627,0.296,12,0.296z'/%3E%3Cpath d='M4.545,17.526c-0.026,0.06-0.12,0.078-0.206,0.037c-0.087-0.039-0.136-0.121-0.108-0.18c0.026-0.061,0.12-0.078,0.207-0.037C4.525,17.384,4.575,17.466,4.545,17.526L4.545,17.526z'/%3E%3Cpath d='M5.031,18.068c-0.057,0.053-0.169,0.028-0.245-0.055c-0.079-0.084-0.093-0.196-0.035-0.249c0.059-0.053,0.167-0.028,0.246,0.056C5.076,17.903,5.091,18.014,5.031,18.068L5.031,18.068z'/%3E%3Cpath d='M5.504,18.759c-0.074,0.051-0.194,0.003-0.268-0.103c-0.074-0.107-0.074-0.235,0.002-0.286c0.074-0.051,0.193-0.005,0.268,0.101C5.579,18.579,5.579,18.707,5.504,18.759L5.504,18.759z'/%3E%3Cpath d='M6.152,19.427c-0.066,0.073-0.206,0.053-0.308-0.046c-0.105-0.097-0.134-0.234-0.068-0.307c0.067-0.073,0.208-0.052,0.311,0.046C6.191,19.217,6.222,19.355,6.152,19.427L6.152,19.427z'/%3E%3Cpath d='M7.047,19.814c-0.029,0.094-0.164,0.137-0.3,0.097C6.611,19.87,6.522,19.76,6.55,19.665c0.028-0.095,0.164-0.139,0.301-0.096C6.986,19.609,7.075,19.719,7.047,19.814L7.047,19.814z'/%3E%3Cpath d='M8.029,19.886c0.003,0.099-0.112,0.181-0.255,0.183c-0.143,0.003-0.26-0.077-0.261-0.174c0-0.1,0.113-0.181,0.256-0.184C7.912,19.708,8.029,19.788,8.029,19.886L8.029,19.886z'/%3E%3Cpath d='M8.943,19.731c0.017,0.096-0.082,0.196-0.224,0.222c-0.139,0.026-0.268-0.034-0.286-0.13c-0.017-0.099,0.084-0.198,0.223-0.224C8.797,19.574,8.925,19.632,8.943,19.731L8.943,19.731z'/%3E%3C/svg%3E")}.icon-envelope{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21,1H3A3,3,0,0,0,0,4V23H24V4A3,3,0,0,0,21,1ZM3,3H21a1,1,0,0,1,1,1v.667l-7.878,7.879a3.007,3.007,0,0,1-4.244,0L2,4.667V4A1,1,0,0,1,3,3ZM2,21V7.5L8.464,13.96a5.007,5.007,0,0,0,7.072,0L22,7.5V21Z'/%3E%3C/svg%3E")}.icon-external-link{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 490.2 490.2'%3E%3Cpath d='M341.1,34.3h90.5l-206.9,207c-6.7,6.7-6.7,17.6,0,24.3c3.3,3.3,7.7,5,12.1,5s8.8-1.7,12.1-5l207-207v90.5c0,9.5,7.7,17.2,17.1,17.2c9.5,0,17.2-7.7,17.2-17.2V17.2C490.2,7.7,482.5,0,473,0H341.1c-9.5,0-17.2,7.7-17.2,17.2C324,26.6,331.6,34.3,341.1,34.3z'/%3E%3Cpath d='M102.9,490.2h284.3c56.8,0,102.9-46.2,102.9-102.9V253.4c0-9.5-7.7-17.1-17.2-17.1s-17.1,7.7-17.1,17.1v133.8c0,37.8-30.8,68.6-68.6,68.6H102.9c-37.8,0-68.6-30.8-68.6-68.6V161.4V103c0-37.8,30.8-68.6,68.6-68.6h132.7c9.5,0,17.1-7.7,17.1-17.2S245,0,235.6,0H102.9C46.1,0,0,46.2,0,102.9v58.4v225.9C0,444,46.2,490.2,102.9,490.2z'/%3E%3C/svg%3E")}.icon-youtube{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498,6.186c-0.276-1.039-1.089-1.858-2.122-2.136C19.505,3.546,12,3.546,12,3.546s-7.505,0-9.377,0.504C1.591,4.328,0.778,5.146,0.502,6.186C0,8.07,0,12,0,12s0,3.93,0.502,5.814c0.276,1.039,1.089,1.858,2.122,2.136C4.495,20.454,12,20.454,12,20.454s7.505,0,9.377-0.504c1.032-0.278,1.845-1.096,2.122-2.136C24,15.93,24,12,24,12S24,8.07,23.498,6.186z M9.546,15.569V8.431L15.818,12L9.546,15.569z'/%3E%3C/svg%3E")}.icon-linkedin{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.002,21.584h0.227l-0.435-0.658l0,0c0.266,0,0.407-0.169,0.409-0.376c0-0.008,0-0.017-0.001-0.025c0-0.282-0.17-0.417-0.519-0.417h-0.564v1.476h0.212v-0.643h0.261L23.002,21.584z M22.577,20.774h-0.246v-0.499h0.312c0.161,0,0.345,0.026,0.345,0.237c0,0.242-0.186,0.262-0.412,0.262'/%3E%3Cpath d='M17.291,19.073h-3.007v-4.709c0-1.123-0.02-2.568-1.564-2.568c-1.566,0-1.806,1.223-1.806,2.487v4.79H7.908V9.389h2.887v1.323h0.04c0.589-1.006,1.683-1.607,2.848-1.564c3.048,0,3.609,2.005,3.609,4.612L17.291,19.073z M4.515,8.065c-0.964,0-1.745-0.781-1.745-1.745c0-0.964,0.781-1.745,1.745-1.745c0.964,0,1.745,0.781,1.745,1.745C6.26,7.284,5.479,8.065,4.515,8.065L4.515,8.065 M6.018,19.073h-3.01V9.389h3.01V19.073z M18.79,1.783H1.497C0.68,1.774,0.01,2.429,0,3.246V20.61c0.01,0.818,0.68,1.473,1.497,1.464H18.79c0.819,0.01,1.492-0.645,1.503-1.464V3.245c-0.012-0.819-0.685-1.474-1.503-1.463'/%3E%3Cpath d='M22.603,19.451c-0.764,0.007-1.378,0.633-1.37,1.397c0.007,0.764,0.633,1.378,1.397,1.37c0.764-0.007,1.378-0.633,1.37-1.397c-0.007-0.754-0.617-1.363-1.37-1.37H22.603 M22.635,22.059c-0.67,0.011-1.254-0.522-1.265-1.192c-0.011-0.67,0.523-1.222,1.193-1.233c0.67-0.011,1.222,0.523,1.233,1.193c0,0.007,0,0.013,0,0.02C23.81,21.502,23.29,22.045,22.635,22.059h-0.031'/%3E%3C/svg%3E")}.icon-figma{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M390.65,175.9c26.08-17.14,43.33-46.65,43.33-80.11C433.98,42.97,391,0,338.18,0H173.82C121,0,78.02,42.97,78.02,95.79c0,33.46,17.25,62.97,43.33,80.11c-26.08,17.13-43.33,46.64-43.33,80.1s17.25,62.97,43.33,80.11c-26.08,17.12-43.33,46.64-43.33,80.1c0,52.82,43.21,95.79,96.31,95.79c53.68,0,97.36-43.44,97.36-96.83v-88.34c17.02,15.51,39.63,24.96,64.41,24.96h2.08c52.82,0,95.8-42.97,95.8-95.79C433.98,222.54,416.73,193.03,390.65,175.9z M271.69,31.38h66.49c35.52,0,64.42,28.89,64.42,64.41s-28.9,64.42-64.42,64.42h-66.49V31.38z M109.4,95.79c0-35.52,28.9-64.41,64.42-64.41h66.49v128.83h-66.49C138.3,160.21,109.4,131.31,109.4,95.79z M109.4,256c0-35.52,28.9-64.41,64.42-64.41h66.49v128.83h-66.9C138.08,320.2,109.4,291.38,109.4,256z M240.31,415.17c0,36.09-29.6,65.45-65.98,65.45c-35.8,0-64.93-28.89-64.93-64.41s28.9-64.42,64.42-64.42h66.49V415.17z M338.18,320.42h-2.08c-35.52,0-64.41-28.9-64.41-64.42s28.89-64.41,64.41-64.41h2.08c35.52,0,64.42,28.89,64.42,64.41S373.7,320.42,338.18,320.42z'/%3E%3C/svg%3E")}.icon-twitter{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.543,7.104c0.014,0.211,0.014,0.423,0.014,0.636c0,6.507-4.954,14.01-14.01,14.01v-0.004C4.872,21.75,2.252,20.984,0,19.539c0.389,0.047,0.78,0.07,1.172,0.071c2.218,0.002,4.372-0.742,6.115-2.112c-2.107-0.04-3.955-1.414-4.6-3.42c0.738,0.142,1.498,0.113,2.223-0.084c-2.298-0.464-3.95-2.483-3.95-4.827c0-0.021,0-0.042,0-0.062c0.685,0.382,1.451,0.593,2.235,0.616C1.031,8.276,0.363,5.398,1.67,3.148c2.5,3.076,6.189,4.946,10.148,5.145c-0.397-1.71,0.146-3.502,1.424-4.705c1.983-1.865,5.102-1.769,6.967,0.214c1.103-0.217,2.16-0.622,3.127-1.195c-0.368,1.14-1.137,2.108-2.165,2.724C22.148,5.214,23.101,4.953,24,4.555C23.339,5.544,22.507,6.407,21.543,7.104z'/%3E%3C/svg%3E")}
