@import url('./image-crops.css?v=4');
@font-face{font-family:Ruberoid;src:url('./assets/ruberoid-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Ruberoid;src:url('./assets/ruberoid-semibold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
:root{color-scheme:dark;--bg:#0f0f0e;--muted:#93938f;--line:#232321;--white:#fff;--u:clamp(10px,.8333333333cqw,16px);font-size:16px}
body{container-type:inline-size}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--white);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased;min-width:1200px}h1,h2,h3,p,ul,dl,dd{margin:0}ul{padding:0;list-style:none}img{display:block;max-width:none}address{font-style:normal}.page{--u:clamp(10px,.8333333333cqw,16px);position:relative;isolation:isolate;background:var(--bg);width:100%;max-width:1920px;margin:0 auto;overflow:hidden}.section{margin-left:calc(var(--u) * 5.625);margin-right:calc(var(--u) * 5.625)}.image-crop{display:block;position:relative;overflow:hidden}.image-crop>img{position:absolute;width:100%;height:100%;inset:0;object-fit:fill}h1,h2,.case-heading h3{font-family:Ruberoid,Arial,sans-serif;font-weight:500}h2{font-size:calc(var(--u) * 5.625);line-height:calc(var(--u) * 7.5625);letter-spacing:-.04em}::selection{background:#5a36ca;color:#fff}
/* Desktop composition, measured from the supplied 1920 × 4648 frame. */
.hero{position:relative;height:calc(var(--u) * 58.875);isolation:isolate;background:var(--bg)}.hero-texture{position:absolute;inset:0;z-index:-1;mix-blend-mode:color-dodge}.hero-texture>img{opacity:.55}.site-header{height:calc(var(--u) * 6.25);display:flex;align-items:flex-start;justify-content:space-between;padding:calc(var(--u) * 1.6875) calc(var(--u) * 5.8125) 0 calc(var(--u) * 5.625)}.brand{width:calc(var(--u) * 3.1875);height:calc(var(--u) * 2.5);display:flex;align-items:center;justify-content:center}.logo{width:calc(var(--u) * 2.709375);height:calc(var(--u) * 2.125)}.header-contacts{display:flex;align-items:center;gap:calc(var(--u) * 2.25);padding-top:calc(var(--u) * .5625);color:#8a8a86;font-size:calc(var(--u) * 1);line-height:calc(var(--u) * 1.375);white-space:nowrap}.telegram-label{display:flex;gap:calc(var(--u) * .5);align-items:center;line-height:calc(var(--u) * 2.25)}.telegram-label img{width:calc(var(--u) * 1.25);height:calc(var(--u) * 1.25)}.hero-content{position:absolute;top:calc(var(--u) * 29.4375);left:calc(var(--u) * 5.625)}.intro{display:flex;align-items:center;gap:calc(var(--u) * 1);height:calc(var(--u) * 5.25)}.avatar{width:calc(var(--u) * 5.25);height:calc(var(--u) * 5.25);border-radius:50%;outline:1.5px solid var(--muted);outline-offset:-1.5px}.intro p{font-size:calc(var(--u) * 1.25);line-height:calc(var(--u) * 1.625);letter-spacing:calc(var(--u) * -.0721875);color:var(--muted)}.intro p span,.hero-description span,.case-heading h3 span,.about-description p span{display:block;white-space:pre}.hero h1{font-size:calc(var(--u) * 7.5);font-weight:600;line-height:calc(var(--u) * 8.75);letter-spacing:-.02em;text-transform:uppercase;margin-top:calc(var(--u) * 2.25);margin-left:calc(var(--u) * -.375);white-space:nowrap}.hero-description{font-size:calc(var(--u) * 1.25);line-height:calc(var(--u) * 2);letter-spacing:calc(var(--u) * -.0721875);color:var(--muted);width:calc(var(--u) * 49.1875);margin-top:calc(var(--u) * .125)}.availability{position:absolute;right:calc(var(--u) * 5.625);top:calc(var(--u) * 43.9375);display:flex;flex-direction:column;align-items:flex-end;gap:calc(var(--u) * 1);color:#8a8a86;font-size:calc(var(--u) * 1);line-height:calc(var(--u) * 1.5)}.availability li{height:calc(var(--u) * 2);padding:calc(var(--u) * .25) calc(var(--u) * .5)}.availability li:first-child{padding-inline:calc(var(--u) * .75)}.availability .available{color:#05be59;display:flex;align-items:center;gap:calc(var(--u) * .625)}.available i{width:calc(var(--u) * .375);height:calc(var(--u) * .375);background:currentColor;border-radius:calc(var(--u) * .0625);margin-inline:calc(var(--u) * .3125) calc(var(--u) * .125)}
.skills{height:calc(var(--u) * 3.8125);border-block:1px solid #222221;overflow:hidden;color:var(--muted);display:flex;align-items:center}.skills-track{display:flex;align-items:center;gap:calc(var(--u) * 3.5);flex-shrink:0;transform:translateX(calc(var(--u) * -5));font-size:calc(var(--u) * 1);line-height:calc(var(--u) * 2);letter-spacing:calc(var(--u) * -.0721875);white-space:nowrap}.skills-track i{width:calc(var(--u) * .375);height:calc(var(--u) * .375);background:#62625e;border-radius:calc(var(--u) * .0625);flex-shrink:0}
.projects{padding-top:calc(var(--u) * 8.25)}.projects h2{margin-bottom:calc(var(--u) * 2.25)}.cases{display:flex;flex-direction:column;gap:calc(var(--u) * 2.75)}.case-card{height:calc(var(--u) * 34.875);position:relative;border:1px solid var(--line);border-radius:calc(var(--u) * 2);overflow:hidden;background:var(--bg)}.case-copy{position:relative;z-index:1;width:calc(var(--u) * 61.875);height:100%;padding:calc(var(--u) * 2.1875) calc(var(--u) * 2.4375)}.case-index{display:block;font-size:calc(var(--u) * 1);line-height:calc(var(--u) * 1.75);letter-spacing:calc(var(--u) * -.0721875);color:var(--muted)}.case-heading{position:absolute;top:calc(var(--u) * 5.875);left:calc(var(--u) * 2.4375)}.case-meta{font-size:calc(var(--u) * 1);font-weight:500;line-height:calc(var(--u) * 1.5);letter-spacing:calc(var(--u) * -.05);color:var(--muted)}.case-heading h3{font-size:calc(var(--u) * 3.875);line-height:calc(var(--u) * 4.875);letter-spacing:-.04em;margin-top:calc(var(--u) * .75)}.case-metrics{position:absolute;left:calc(var(--u) * 2.4375);top:calc(var(--u) * 25.25);display:flex;gap:calc(var(--u) * 3);color:var(--muted)}.metric dt{font-size:calc(var(--u) * 2.75);line-height:calc(var(--u) * 3.3125);font-weight:500}.metric dd{font-size:calc(var(--u) * 1);line-height:calc(var(--u) * 1.5);font-weight:500;margin-top:calc(var(--u) * .75);white-space:nowrap}.case-1 .case-metrics{gap:calc(var(--u) * 2.25)}.case-card>.image-crop{position:absolute;right:-1px;top:-1px;width:calc(var(--u) * 46.875);height:calc(var(--u) * 34.875)}.case-open{position:absolute;z-index:2;right:calc(var(--u) * 2.6875);bottom:calc(var(--u) * 2.6875);display:grid;place-items:center;width:calc(var(--u) * 3.5);height:calc(var(--u) * 3.5);border-radius:50%;background:rgba(217,217,217,.2)}.case-open svg{width:calc(var(--u) * 1.5625);height:calc(var(--u) * 1.5625);fill:none;stroke:#c6c7ca;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.about{position:relative;margin-top:calc(var(--u) * 10.625);min-height:calc(var(--u) * 35.5)}.about-copy{width:calc(var(--u) * 56.6875);position:relative;z-index:2}.about h2{margin-bottom:0}.about-description{font-size:calc(var(--u) * 1.25);line-height:calc(var(--u) * 2.4375);letter-spacing:calc(var(--u) * -.0721875)}.about-description p+p{margin-top:calc(var(--u) * .5)}.experience{margin-top:calc(var(--u) * 2.5)}.experience h3{font-size:calc(var(--u) * 1.25);font-weight:600;line-height:calc(var(--u) * 1.375);margin-bottom:calc(var(--u) * 1.75)}.jobs{display:flex;gap:calc(var(--u) * 6);align-items:center}.job{display:flex;height:calc(var(--u) * 3.25);align-items:center;position:relative;flex-shrink:0}.job-logo,.norbit-logo{width:calc(var(--u) * 3.25);height:calc(var(--u) * 3.25);flex-shrink:0}.norbit-logo{border-radius:calc(var(--u) * .75)}.job-title{margin-left:calc(var(--u) * 1);font-size:calc(var(--u) * 1);line-height:calc(var(--u) * 1.5);letter-spacing:calc(var(--u) * -.0721875);white-space:nowrap}.job-title p:first-child{color:var(--muted);margin-bottom:calc(var(--u) * .25)}.job-date{font-size:calc(var(--u) * 1);line-height:calc(var(--u) * 1.5);align-self:flex-end;margin-left:calc(var(--u) * 3.5);white-space:nowrap}.job-norbit:after{content:'';position:absolute;right:calc(var(--u) * -3.0625);top:0;height:calc(var(--u) * 3.25);width:1px;background:var(--line)}.about-actions{display:flex;align-items:center;gap:calc(var(--u) * 1.5);margin-top:calc(var(--u) * 3.625)}.button{height:calc(var(--u) * 2.75);padding:calc(var(--u) * .6875) calc(var(--u) * 1.5);display:flex;align-items:center;justify-content:center;gap:calc(var(--u) * .5);white-space:nowrap;border-radius:calc(var(--u) * 6.1875);font-size:calc(var(--u) * 1);line-height:calc(var(--u) * 1.375)}.button-primary{background:#fff;color:#10100f;width:calc(var(--u) * 15.9375)}.button-primary img{width:calc(var(--u) * 1.25);height:calc(var(--u) * 1.25)}.button-secondary{border:1px solid #8a8a86;color:#8a8a86;width:calc(var(--u) * 13.125)}.portrait-stack{position:absolute;right:0;top:calc(var(--u) * -.125);width:calc(var(--u) * 37.9375);height:calc(var(--u) * 35.4375)}.portrait-stack>.image-crop{position:absolute;border-radius:calc(var(--u) * 1.75);background:#fff}.portrait-main{left:0;top:0;width:calc(var(--u) * 24.625);height:calc(var(--u) * 35.4375);z-index:3}.portrait-indoor{left:calc(var(--u) * 10);top:calc(var(--u) * 2.4375);width:calc(var(--u) * 21.1875);height:calc(var(--u) * 30.5625);z-index:2}.portrait-indoor>img{width:calc(var(--u) * 22.9375);height:calc(var(--u) * 30.5625);left:calc(var(--u) * 2.75);filter:grayscale(1)}.portrait-mountains{left:calc(var(--u) * 20);top:calc(var(--u) * 4.8125);width:calc(var(--u) * 17.9375);height:calc(var(--u) * 25.8125);z-index:1}.portrait-mountains>img{width:calc(var(--u) * 20.375);height:calc(var(--u) * 36.1875);left:calc(var(--u) * -.375);top:calc(var(--u) * -3.5625);filter:grayscale(1)}
.footer{margin-top:calc(var(--u) * 9.625);border-top:1px solid var(--line);padding-top:calc(var(--u) * 2.1875);padding-bottom:calc(var(--u) * 2.625);position:relative;z-index:1}.footer-row{display:flex;justify-content:space-between;align-items:center;font-size:calc(var(--u) * 1.25);line-height:calc(var(--u) * 1.375);color:var(--muted)}.footer-contacts{display:flex;gap:calc(var(--u) * 2.25)}.footer-texture{position:absolute;z-index:-1;bottom:0;left:0;width:100%;height:calc(var(--u) * 77);transform:scaleX(-1);mix-blend-mode:color-dodge}.footer-texture>img{opacity:.3}
/* Mobile layout is deferred to the next iteration. */

/* Desktop motion and Telegram links. */
.availability li{display:flex;align-items:center;border:1px solid #232321;border-radius:999px;padding-block:0}.availability .available{border-color:#0a4c2a}.available i{border-radius:50%}
a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #05be59;outline-offset:5px}a:hover{color:#fff}.button-primary:hover{color:#10100f}
.site-header{position:fixed;z-index:100;top:0;left:max(0px,calc((100% - 1920px)/2));right:max(0px,calc((100% - 1920px)/2));transition:top .45s cubic-bezier(.4,0,.2,1),left .45s cubic-bezier(.4,0,.2,1),right .45s cubic-bezier(.4,0,.2,1),height .45s cubic-bezier(.4,0,.2,1),padding .45s cubic-bezier(.4,0,.2,1),border-radius .45s cubic-bezier(.4,0,.2,1),background .4s ease,box-shadow .4s ease,backdrop-filter .4s ease}
.site-header.is-scrolled{top:16px;left:22%;right:22%;height:calc(var(--u) * 4.25);align-items:center;padding:calc(var(--u) * .875) calc(var(--u) * 2.25);border-radius:100px;background:rgba(15,15,14,.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 4px 24px rgba(0,0,0,.25)}
.site-header.is-scrolled .header-contacts{padding-top:0}
@keyframes header-enter{from{opacity:0}to{opacity:1}}
.site-header .brand{animation:header-enter .7s ease-out both}.site-header .header-contacts{animation:header-enter .7s .12s ease-out both}
.skills-track{gap:0;transform:none;will-change:transform}.skills-group{display:flex;align-items:center;flex-shrink:0;gap:calc(var(--u) * 3.5);padding-right:calc(var(--u) * 3.5)}
.cursor-label{position:fixed;top:0;left:0;z-index:1000;display:flex;align-items:center;gap:6px;padding:5px 11px 5px 9px;border-radius:100px;background:#232322;color:#eee;font:600 12px/16px Inter,Arial,sans-serif;box-shadow:0 2px 8px #0005,inset 0 0 0 1px #ffffff12;white-space:nowrap;pointer-events:none;user-select:none;opacity:0;transition:opacity .15s ease;will-change:transform}.cursor-label.is-visible{opacity:1}.cursor-label i{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#ff4b19;transition:background .15s ease}.cursor-label.is-hovering i{background:#05be59}
@media(prefers-reduced-motion:reduce){.site-header,.cursor-label,.cursor-label i{transition:none}.site-header .brand,.site-header .header-contacts{animation:none}.skills-track{will-change:auto}}
@media(hover:none),(pointer:coarse){.cursor-label{display:none}}
.site-header .brand{mix-blend-mode:normal}.site-header .logo{background:transparent}.site-header .logo>img{mix-blend-mode:normal}
