@keyframes rotate{to{transform:rotate(1turn)}}@keyframes focus-in{0%{filter:blur(16px)brightness(.45);transform:scale(1.12)}to{filter:blur()brightness(.7);transform:scale(1)}}@keyframes fill-text{to{background-position:0 0}}@keyframes fade-in{0%{opacity:.25}}@keyframes fade-out{to{opacity:0}}@keyframes fade-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:#0e1a17}body{color:#edeff6;-webkit-font-smoothing:antialiased;background:#0e1a17;margin:0;font-family:Geist,system-ui,-apple-system,sans-serif;font-size:18px;font-weight:400;line-height:1.55}h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit}.skip{z-index:20;background:#03674f;border-radius:999px;padding:10px 18px;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip:focus{transform:none}:focus-visible{outline-offset:3px;outline:2px solid #6fcf97}.app{position:relative;overflow-x:clip}.app:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(600px circle at var(--x,50%) var(--y,-300px), #6fcf971a, transparent 60%);position:fixed;inset:0}@media (hover:none){.app:before{display:none}}.app>:not(.nav,.skip){z-index:2;position:relative}.nav{z-index:10;-webkit-backdrop-filter:blur(12px);background:#f6f6f60d;border:1px solid #edeff624;border-radius:999px;align-items:center;gap:24px;padding:8px 8px 8px 20px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.nav__brand{letter-spacing:.08em;font-weight:600;text-decoration:none}.nav__links{gap:4px;display:flex}.nav__link{color:#9fb3aa;border-radius:999px;padding:6px 14px;font-size:.85rem;text-decoration:none;transition:color .2s,background-color .2s;display:block}.nav__link:hover,.nav__link[aria-current]{color:#edeff6;background:#f6f6f617}.nav__link[aria-current]{box-shadow:inset 0 0 0 1px #6fcf9759}.nav__lang{letter-spacing:.08em;color:#6fcf97;border:1px solid #6fcf9759;border-radius:999px;padding:6px 12px;font-size:.75rem;font-weight:600;text-decoration:none}.nav__lang:hover{background:#6fcf971f}@media screen and (width<=779px){.nav{gap:8px;padding-left:14px}.nav__link{padding:6px 8px;font-size:.75rem}}.pill{-webkit-backdrop-filter:blur(12px);background:#f6f6f60d;border:1px solid #edeff624;border-radius:999px;align-items:center;gap:10px;padding:12px 24px;font-size:.95rem;text-decoration:none;transition:background-color .2s,border-color .2s,box-shadow .2s,translate .25s ease-out;display:inline-flex}.pill:hover{background:#f6f6f617;border-color:#6fcf9780;box-shadow:0 0 24px #6fcf9726}.pill__icon{fill:currentColor;width:18px;height:18px}.pill--accent{background:#03674fb3;border-color:#6fcf9759}.pill--accent:hover{background:#03674f}.hero{view-timeline:--hero block;height:200vh}.hero__stage{text-align:center;place-items:center;height:100svh;display:grid;position:sticky;top:0;overflow:hidden}.hero__bg{filter:brightness(.7);background:-webkit-image-set(url(./forest-CETobecE.avif) 1x type("image/avif"),url(./forest-dt2hvJH-.jpg) 1x type("image/jpeg")) 50%/cover no-repeat;background:image-set("./forest-CETobecE.avif" 1x type("image/avif"),"./forest-dt2hvJH-.jpg" 1x type("image/jpeg")) 50%/cover no-repeat;position:absolute;inset:0}.hero__bg:after{content:"";background:linear-gradient(#0000 50%,#0e1a17);position:absolute;inset:0}.hero__content{max-width:760px;padding:0 16px;position:relative}.hero__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#9fb3aa;margin-bottom:16px;font-size:.85rem}.hero__title{letter-spacing:-.03em;font-size:clamp(3rem,11vw,7.5rem);font-weight:600;line-height:1}.hero__lead{color:#edeff6d9;max-width:520px;margin:24px auto 32px}.hero__actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.hero__hint{letter-spacing:.2em;text-transform:uppercase;color:#9fb3aa;font-size:.75rem;position:absolute;bottom:32px}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.hero__bg{animation:linear both focus-in;animation-timeline:--hero;animation-range:contain contain 60%}.hero__title{animation:linear both fade-in;animation-timeline:--hero;animation-range:contain contain 50%}.hero__hint{animation:linear both fade-out;animation-timeline:--hero;animation-range:contain contain 15%}}}.section{max-width:1080px;margin:0 auto;padding:120px 24px}.section__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#6fcf97;margin-bottom:12px;font-size:.8rem}.section__title{letter-spacing:-.02em;margin-bottom:56px;font-size:clamp(2rem,5vw,3.25rem);font-weight:500;line-height:1.1}@media screen and (width<=779px){.section{padding:80px 16px}}.about{grid-template-columns:260px 1fr;align-items:center;gap:72px;display:grid}.about__photo{aspect-ratio:1;background:url(./profile_photo-teBiWJbe.jpg) 50%/cover no-repeat;border-radius:50%;position:relative}.about__photo:before{content:"";z-index:-1;background:conic-gradient(#0000,#6fcf97b3,#0000 60%);border-radius:50%;position:absolute;inset:-6px}@media (prefers-reduced-motion:no-preference){.about__photo:before{animation:8s linear infinite rotate}}.about__text{font-size:clamp(1.25rem,2.4vw,1.75rem);font-weight:300;line-height:1.45}.about__aside{color:#9fb3aa;margin-top:24px}@media screen and (width<=779px){.about{grid-template-columns:1fr;gap:40px}.about__photo{width:180px}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.about__text{color:#0000;background:linear-gradient(#edeff6 40%,#edeff633 60%) 0 100%/100% 200%;-webkit-background-clip:text;background-clip:text;animation:linear both fill-text;animation-timeline:view();animation-range:entry 40% cover 55%}}}.skills{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.skills__group{-webkit-backdrop-filter:blur(12px);background:#f6f6f60d;border:1px solid #edeff624;border-radius:20px;padding:24px}.skills__name{letter-spacing:.14em;text-transform:uppercase;color:#9fb3aa;margin-bottom:16px;font-size:.8rem;font-weight:500}.skills__list{flex-wrap:wrap;gap:8px;display:flex}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.skills__group{animation:linear both fade-up;animation-timeline:view();animation-range:entry entry 80%}}}.timeline{gap:40px;display:grid;position:relative}.timeline:before{content:"";transform-origin:top;background:linear-gradient(#6fcf97,#6fcf971a);width:1px;position:absolute;top:8px;bottom:8px;left:190px}.timeline__item{position:relative}.timeline__item:before{content:"";background:#0e1a17;border:2px solid #6fcf97;border-radius:50%;width:11px;height:11px;position:absolute;top:30px;left:185px;box-shadow:0 0 12px #6fcf9799}@media screen and (width<=779px){.timeline:before{left:5px}.timeline__item:before{top:4px;left:0}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.timeline:before{animation:linear both grow-y;animation-timeline:view();animation-range:entry 20% cover 70%}.timeline__item{animation:linear both fade-up;animation-timeline:view();animation-range:entry entry 90%}}}.job{grid-template-columns:150px 1fr;gap:80px;display:grid}.job__period{color:#9fb3aa;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:24px;font-size:.85rem}.job__card{-webkit-backdrop-filter:blur(12px);transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));background:#f6f6f60d;border:1px solid #edeff624;border-radius:20px;padding:24px 28px;transition:border-color .25s,background-color .25s,box-shadow .25s,transform .3s ease-out}.job__card:hover{background:#f6f6f617;border-color:#6fcf9766;box-shadow:0 0 40px #6fcf9714}.job__role{font-size:1.2rem;font-weight:500}.job__company{color:#6fcf97;margin-top:2px;font-size:.95rem}.job__points{color:#edeff6cc;gap:8px;margin-top:16px;font-size:.95rem;display:grid}.job__points li{padding-left:18px;position:relative}.job__points li:before{content:"";background:#9fb3aa;width:6px;height:1px;position:absolute;top:.7em;left:0}.job__points strong{color:#edeff6;font-weight:500}.job__stack{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}@media screen and (width<=779px){.job{grid-template-columns:1fr;gap:8px;padding-left:28px}.job__period{text-align:left;padding-top:0}.job__card{padding:20px}}.tag{color:#6fcf97;background:#03674f40;border-radius:999px;padding:4px 12px;font-size:.78rem}.creds{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.creds__item{-webkit-backdrop-filter:blur(12px);background:#f6f6f60d;border:1px solid #edeff624;border-radius:20px;padding:24px;transition:border-color .25s,background-color .25s,translate .25s ease-out}.creds__item:hover{background:#f6f6f617;border-color:#6fcf9766;translate:0 -4px}.creds__name{font-size:1.05rem;font-weight:500}.creds__from{color:#9fb3aa;margin-top:6px;font-size:.88rem}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.creds__item{animation:linear both fade-up;animation-timeline:view();animation-range:entry entry 80%}}}.contacts{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.contacts__title{letter-spacing:-.02em;font-size:clamp(2.25rem,6vw,4rem);font-weight:500;line-height:1.1}.contacts__mail{align-items:center;gap:12px;margin:28px 0 40px;display:flex;position:relative}.contacts__copy{color:#9fb3aa;cursor:pointer;-webkit-backdrop-filter:blur(12px);background:#f6f6f60d;border:1px solid #edeff624;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid}.contacts__copy svg{fill:none;stroke:currentColor;stroke-width:2px;width:16px;height:16px}.contacts__copy:hover{color:#edeff6;border-color:#6fcf9780}.contacts__status{color:#6fcf97;font-size:.8rem;position:absolute;top:100%;left:50%;transform:translate(-50%,8px)}.contacts__email{color:#6fcf97;border-bottom:1px solid #6fcf9759;font-size:clamp(1.1rem,3vw,1.6rem);text-decoration:none;transition:border-color .2s;display:inline-block}.contacts__email:hover{border-color:#6fcf97}.contacts__links{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.footer{text-align:center;color:#9fb3aa;padding:32px 16px 48px;font-size:.8rem}@media print{@page{size:A4;margin:14mm}html,body{color:#111;background:#fff;font-size:11pt}*,:before,:after{box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;text-shadow:none!important;transition:none!important;animation:none!important}.app:before,.nav,.skip,.hero__bg,.hero__hint,.hero__actions,.about__photo,.about__aside,.contacts__copy,.contacts__status,.contacts__title,.timeline:before,.timeline__item:before,.footer{display:none!important}.hero{height:auto}.hero__stage{text-align:left;height:auto;display:block;position:static}.hero__content{max-width:none;padding:0}.hero__eyebrow{color:#03674f;margin:0 0 4pt}.hero__title{color:#111;font-size:26pt}.hero__lead{color:#333;max-width:none;margin:6pt 0 0}main{flex-direction:column;display:flex}.contacts{order:-1}.job__points strong{color:#111}.section{max-width:none;margin:0;padding:14pt 0 0}.section__eyebrow{display:none}.section__title{color:#03674f;border-bottom:1px solid #ccc;margin-bottom:8pt;padding-bottom:3pt;font-size:14pt;font-weight:600}.about{display:block}.about__text{font-size:11pt;font-weight:400;color:#111!important;background:0 0!important}.skills,.creds{grid-template-columns:repeat(2,1fr);gap:6pt 16pt}.skills__group,.creds__item,.job__card{background:0 0;border:0;padding:0;transform:none}.skills__name{color:#555;margin-bottom:3pt}.timeline{gap:10pt}.job{break-inside:avoid;grid-template-columns:90pt 1fr;gap:12pt;padding:0}.job__period{color:#555;padding:0}.job__company{color:#03674f}.job__points{color:#222;gap:2pt;margin-top:4pt}.job__stack{margin-top:4pt}.tag{color:#555;background:0 0;padding:0;font-size:9pt}.tag:not(:last-child):after{content:" ·"}.creds__from{color:#555}.contacts{text-align:left;min-height:0;padding-top:8pt;display:block}.contacts__mail{margin:0 0 4pt}.contacts__email{color:#111;border:0;font-size:11pt}.contacts__links{justify-content:flex-start;gap:4pt 12pt}.pill{color:#111;background:0 0;border:0;padding:0;font-size:10pt}.pill__icon{width:10pt;height:10pt}}
