.page{z-index:1;color:#1a1a1a;background:radial-gradient(circle,#e5e6cf 0%,#fff 100%);min-height:100vh;position:relative}@media (min-width:768px){.page{height:100vh;overflow:hidden}}.page__inner{flex-direction:column;height:100%;display:flex}@media (min-width:768px){.page__inner{flex-direction:row}}.page__left-col{z-index:20;background:0 0;border-bottom:1px solid #0000001a;width:100%}@media (min-width:768px){.page__left-col{border-bottom:none;width:45%;height:100%;position:relative;overflow:hidden}.page__left-col:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(circle at bottom,#b7b9104d -10%,#ffffff0a 40%,#0000 100%);transition:opacity .25s;position:absolute;inset:0}.page__left-col:hover:after{opacity:1}}@media (min-width:1024px){.page__left-col{width:40%}}.page__left-col-scroll{scrollbar-width:none;-ms-overflow-style:none;width:100%;height:100%}.page__left-col-scroll::-webkit-scrollbar{display:none}@media (min-width:768px){.page__left-col-scroll{overflow-y:auto}}.page__left-inner{flex-direction:column;justify-content:space-between;min-height:100%;padding:1.5rem;display:flex}@media (min-width:768px){.page__left-inner{justify-content:flex-start;padding:3rem}}.page__right-col{scrollbar-width:none;-ms-overflow-style:none;background:0 0;width:100%}.page__right-col::-webkit-scrollbar{display:none}@media (min-width:768px){.page__right-col{width:55%;height:100%;overflow-y:auto}}@media (min-width:1024px){.page__right-col{width:60%}}.page__right-inner{padding:1.5rem 3rem}@media (min-width:768px){.page__right-inner{padding:8rem 3rem 3rem}}.page__cv-wrap{margin-bottom:48px}.page__footer{color:#a3a3a3;text-align:center;margin-top:12rem;padding-top:3rem;font-size:.75rem}
.about{padding-top:3rem;padding-bottom:3rem}.about__tech-title{text-transform:uppercase;letter-spacing:.1em;opacity:.5;margin-bottom:1.5rem;font-family:ui-monospace,monospace;font-size:.75rem;font-weight:500;display:block}.about__tech-grid{grid-template-columns:repeat(2,1fr);gap:2rem 1rem;font-family:ui-monospace,monospace;font-size:.75rem;display:grid}.about__tech-cell{flex-direction:column;gap:.75rem;display:flex}.about__tech-category{color:#a3a3a3;font-size:.75rem;display:block}.about__tech-badges{flex-wrap:wrap;gap:.25rem;display:flex}.about__tech-badge{color:#1a1a1a;background:0 0;border:1px solid #0000001a;border-radius:8px;padding:.25rem .5rem;font-family:ui-monospace,monospace;font-size:.75rem;line-height:1;display:inline-block}
.contact{border-top:1px solid #0000001a;padding-top:3rem}.contact__label{text-transform:uppercase;letter-spacing:.1em;opacity:.5;margin-bottom:1.5rem;font-family:ui-monospace,monospace;font-size:.75rem;display:block}.contact__grid{letter-spacing:.05em;grid-template-columns:1fr;gap:1.5rem;font-family:ui-monospace,monospace;font-size:.75rem;display:grid}.contact__field-label{opacity:.5;margin-bottom:.5rem;display:block}.contact__link{font-size:.75rem;display:block}.contact__link:hover{text-decoration:underline}.contact__links{flex-direction:column;gap:.25rem;margin-bottom:20px;font-size:.75rem;display:flex}.contact__links a:hover{text-decoration:underline}
.cv{padding-top:60px}.cv__block+.cv__block{margin-top:3rem}.cv__label{text-transform:uppercase;letter-spacing:.1em;opacity:.5;margin-bottom:1.5rem;font-family:ui-monospace,monospace;font-size:.75rem;display:block}.cv__list{flex-direction:column;gap:1rem;display:flex}.cv__item-header{justify-content:space-between;align-items:baseline;margin-bottom:.25rem;display:flex}.cv__item-role{font-size:.875rem;font-weight:500}.cv__item-year{color:#a3a3a3;font-family:ui-monospace,monospace;font-size:.75rem}.cv__item-company{color:#737373;font-size:.75rem}.cv__divider{border:none;border-top:1px solid #0000001a;margin:3rem 0}
.hero{z-index:10;margin-bottom:3rem;margin-left:24px;padding-top:1rem;padding-bottom:1rem;position:sticky;top:0}@media (min-width:768px){.hero{flex-direction:column;justify-content:center;min-height:5rem;margin-bottom:0;margin-left:3rem;display:flex}}.hero__title{margin-bottom:.25rem;font-size:.875rem;font-weight:500}
.works{border-top:1px solid #0000001a;padding-top:3rem}.works__block+.works__block{border-top:1px solid #0000001a;margin-top:3rem;padding-top:3rem}@media (min-width:768px){.works__block+.works__block{margin-top:3rem}}.works__label{text-transform:uppercase;letter-spacing:.1em;opacity:.5;margin-bottom:1.5rem;font-family:ui-monospace,monospace;font-size:.75rem}.works__list{flex-direction:column;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}@media (min-width:768px){.works__list{gap:1.5rem}}.works__list--projects{gap:3rem}.works__item:last-child{border-bottom:none;padding-bottom:0}.works__item-title{margin-bottom:.5rem;font-size:.875rem;font-weight:500}@media (min-width:768px){.works__item-title{margin-bottom:.5rem;font-size:.875rem}}.works__item-title-link{color:#1a1a1a;text-decoration:none}.works__item-title-link:hover{opacity:.85}.works__item-title-link:hover .works__item-title-text{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.works__item-title-text{text-decoration:none}.works__item-title-icon{margin-left:.2em;position:relative;top:1px}.works__item-date,.works__item-meta{color:#737373;margin-bottom:.5rem;font-family:ui-monospace,monospace;font-size:.75rem}.works__item-desc{color:#737373;margin-bottom:.5rem;font-size:.875rem;line-height:1.6}.works__item-role{color:#a3a3a3;font-family:ui-monospace,monospace;font-size:.75rem}
