:root{--bg: #FAFAFA;--bg-elevated: #FFFFFF;--fg: #09090B;--fg-muted: #52525B;--fg-subtle: #71717A;--primary: #18181B;--on-primary: #FFFFFF;--accent: #2563EB;--accent-hover: #1D4ED8;--border: #E4E4E7;--border-strong: #D4D4D8;--muted: #F4F4F5;--radius: 14px;--radius-sm: 8px;--shadow-sm: 0 1px 2px 0 rgba(9, 9, 11, .04);--shadow-md: 0 4px 16px -2px rgba(9, 9, 11, .06), 0 2px 6px -1px rgba(9, 9, 11, .04);--shadow-lg: 0 12px 40px -8px rgba(9, 9, 11, .12), 0 4px 12px -2px rgba(9, 9, 11, .06);--font-display: "Inter", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, monospace;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--container: 1200px}[data-theme=dark]{--bg: #09090B;--bg-elevated: #18181B;--fg: #FAFAFA;--fg-muted: #A1A1AA;--fg-subtle: #71717A;--primary: #FAFAFA;--on-primary: #09090B;--accent: #60A5FA;--accent-hover: #93C5FD;--border: #27272A;--border-strong: #3F3F46;--muted: #18181B}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #09090B;--bg-elevated: #18181B;--fg: #FAFAFA;--fg-muted: #A1A1AA;--fg-subtle: #71717A;--primary: #FAFAFA;--on-primary: #09090B;--accent: #60A5FA;--accent-hover: #93C5FD;--border: #27272A;--border-strong: #3F3F46;--muted: #18181B}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","ss02";transition:background .3s var(--ease-out),color .3s var(--ease-out)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin:0;color:var(--fg)}p{margin:0}a{color:inherit;text-decoration:none;transition:color .2s var(--ease-out)}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}::selection{background:var(--accent);color:#fff}.wrap{max-width:var(--container);margin:0 auto;padding:0 24px}.topbar{position:sticky;top:0;z-index:50;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);background:color-mix(in oklab,var(--bg) 80%,transparent);border-bottom:1px solid transparent;transition:border-color .3s var(--ease-out),background .3s var(--ease-out)}.topbar.is-scrolled{border-bottom-color:var(--border)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}.brand{min-width:0;flex-shrink:1}.brand-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-actions{flex-shrink:0}@media(max-width:720px){.wrap{padding:0 16px}.topbar-inner{height:56px;gap:12px}.brand-name,.topbar-actions .topbar-nav{display:none}.topbar-cta{padding:12px!important}.topbar-cta .cta-label{display:none}.topbar-cta svg{width:18px;height:18px;stroke-width:2}}@media(max-width:380px){.topbar-actions{gap:6px}.icon-btn{width:36px;height:36px}}.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:-.01em}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--primary);color:var(--on-primary);font-size:14px;font-weight:800;letter-spacing:0;flex-shrink:0}.topbar-actions{display:flex;align-items:center;gap:8px}.icon-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:var(--fg-muted);transition:background .2s var(--ease-out),color .2s var(--ease-out),transform .15s var(--ease-out)}.lang-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated)}.lang-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;padding:0 8px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--fg-subtle);border-radius:7px;transition:background .18s var(--ease-out),color .18s var(--ease-out)}.lang-switch a:hover{color:var(--fg);background:var(--muted)}.lang-switch a.is-active{color:var(--on-primary);background:var(--primary)}.icon-btn:hover{background:var(--muted);color:var(--fg)}.icon-btn:active{transform:scale(.96)}.icon-btn svg{width:18px;height:18px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;font-family:var(--font-body);font-weight:500;font-size:14px;letter-spacing:-.005em;transition:background .2s var(--ease-out),color .2s var(--ease-out),transform .15s var(--ease-out),box-shadow .2s var(--ease-out)}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0)}.btn-ghost{color:var(--fg-muted)}.btn-ghost:hover{background:var(--muted);color:var(--fg)}.btn svg{width:16px;height:16px}.reel{padding:0}.reel-video{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:var(--bg-elevated)}.reel--mobile .reel-video{aspect-ratio:9 / 16}@media(min-width:721px){.reel{margin-top:-64px}}.hero{position:relative;padding:0 0 64px;overflow:hidden}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(to right,var(--border) 1px,transparent 1px),linear-gradient(to bottom,var(--border) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 30%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 30%,transparent 70%);opacity:.5}.hero-inner{position:relative;display:grid;grid-template-columns:1fr;gap:48px}@media(max-width:720px){.hero{padding:32px 0 0}.hero-inner{gap:0}.hero-inner>.reveal{margin:24px 0 40px}}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:var(--bg-elevated)}.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e2e;animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.hero h1{font-size:clamp(48px,8vw,96px);font-weight:800;letter-spacing:-.045em;line-height:.95;margin-top:28px;margin-bottom:24px}.hero h1 .accent{display:inline-block;position:relative;color:var(--fg)}.hero h1 .accent:after{content:"";position:absolute;left:0;right:0;bottom:.08em;height:.18em;background:var(--accent);opacity:.22;border-radius:2px;z-index:-1}.hero-tagline{font-size:clamp(18px,2.2vw,22px);color:var(--fg-muted);max-width:720px;line-height:1.5;margin-bottom:36px}.hero-meta{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;font-size:14px;color:var(--fg-muted)}.hero-meta-item{display:inline-flex;align-items:center;gap:8px}.hero-meta svg{width:16px;height:16px;flex-shrink:0}.hero-meta a:hover{color:var(--accent)}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-top:56px}@media(min-width:720px){.stats{grid-template-columns:repeat(4,1fr)}}.stat{background:var(--bg-elevated);padding:28px 24px}.stat-num{font-family:var(--font-display);font-size:clamp(32px,4vw,44px);font-weight:800;letter-spacing:-.03em;color:var(--fg);line-height:1}.stat-num .unit{color:var(--accent);font-weight:700}.stat-label{margin-top:10px;font-size:13px;color:var(--fg-muted);letter-spacing:.02em}section{padding:96px 0}.section-head{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:48px;max-width:720px}@media(min-width:900px){.section-head{grid-template-columns:280px 1fr;gap:64px;max-width:none;align-items:baseline}}.section-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle);display:inline-flex;align-items:center;gap:12px}.section-eyebrow:before{content:"";display:inline-block;width:28px;height:1px;background:var(--border-strong)}.section-title{font-size:clamp(32px,4.6vw,52px);font-weight:700;letter-spacing:-.035em}.section-lede{margin-top:14px;color:var(--fg-muted);font-size:17px;line-height:1.6;max-width:640px}.looking{padding-top:56px;padding-bottom:56px}.looking-grid{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);overflow:hidden;margin:0}.looking-row{display:grid;grid-template-columns:1fr;gap:4px;padding:20px 24px;border-bottom:1px solid var(--border)}.looking-row:last-child{border-bottom:0}.looking-row dt{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle);margin:0}.looking-row dd{margin:0;font-size:16px;color:var(--fg);font-weight:500;line-height:1.5}@media(min-width:720px){.looking-row{grid-template-columns:200px 1fr;gap:32px;align-items:baseline;padding:22px 28px}}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e2e;margin-right:6px;vertical-align:middle}.about-grid{display:grid;grid-template-columns:1fr;gap:48px}@media(min-width:900px){.about-grid{grid-template-columns:1fr 1fr;gap:80px}}.about-text{font-size:18px;line-height:1.7;color:var(--fg-muted)}.about-text strong{color:var(--fg);font-weight:600}.skill-group{display:grid;grid-template-columns:1fr;gap:12px}.skill{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);align-items:baseline}.skill:last-child{border-bottom:0}.skill-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle);padding-top:2px}.skill-value{font-size:15px;color:var(--fg);font-weight:500;line-height:1.5}.timeline{display:flex;flex-direction:column;gap:28px}.role{display:grid;grid-template-columns:1fr;gap:20px;padding:32px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s var(--ease-out),transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}.role:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}@media(min-width:900px){.role{grid-template-columns:220px 1fr;gap:48px;padding:36px 40px}}.role-meta{display:flex;flex-direction:column;gap:8px}.role-period{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--fg-subtle)}.role-loc{font-size:13px;color:var(--fg-muted);display:inline-flex;align-items:center;gap:6px}.role-loc svg{width:13px;height:13px}.role-title{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}.role-company{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--accent);margin-bottom:18px;transition:gap .2s var(--ease-out)}.role-company:hover{gap:12px}.role-company svg{width:14px;height:14px}.role-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.role-list li{position:relative;padding-left:22px;font-size:15px;line-height:1.6;color:var(--fg-muted)}.role-list li:before{content:"";position:absolute;left:0;top:10px;width:12px;height:1px;background:var(--accent)}.project-grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:720px){.project-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.project-grid{grid-template-columns:repeat(3,1fr)}}.project{position:relative;display:flex;flex-direction:column;padding:24px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s var(--ease-out),transform .25s var(--ease-out),box-shadow .25s var(--ease-out)}.project:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 0%,transparent 60%,color-mix(in oklab,var(--accent) 10%,transparent) 100%);opacity:0;transition:opacity .3s var(--ease-out);pointer-events:none}.project:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:var(--shadow-lg)}.project:hover:before{opacity:1}.project:hover .project-arrow{transform:translate(2px,-2px);color:var(--accent)}.project--static{cursor:default}.project--static:hover{transform:none;box-shadow:var(--shadow-sm)}.project--static:hover:before{opacity:0}.project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.project-name{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.015em;line-height:1.25}.project-arrow{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--fg-subtle);background:var(--muted);transition:transform .22s var(--ease-out),color .22s var(--ease-out),background .22s var(--ease-out)}.project-arrow svg{width:14px;height:14px}.project-url{font-family:var(--font-mono);font-size:12px;color:var(--fg-subtle);margin-bottom:14px;display:block;word-break:break-all}.project-desc{font-size:14px;line-height:1.6;color:var(--fg-muted)}.project-tag{display:inline-block;margin-top:16px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle);padding:4px 9px;border:1px solid var(--border);border-radius:999px}.contact{position:relative;padding:96px 0;border-top:1px solid var(--border);background:radial-gradient(ellipse 60% 50% at 50% 0%,color-mix(in oklab,var(--accent) 8%,transparent),transparent 70%),var(--bg)}.contact-inner{text-align:center;max-width:720px;margin:0 auto}.contact h2{font-size:clamp(36px,6vw,64px);letter-spacing:-.04em;margin-bottom:18px}.contact h2 em{font-style:italic;font-family:Inter,serif;font-weight:500;color:var(--fg-muted)}.contact-lede{color:var(--fg-muted);font-size:18px;line-height:1.6;margin-bottom:36px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.contact-meta{margin-top:56px;padding-top:32px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-family:var(--font-mono);font-size:12px;color:var(--fg-subtle);letter-spacing:.04em}.contact-meta a:hover{color:var(--fg)}.contact .seo-keywords{margin:48px auto 0;max-width:760px;text-align:center;font-family:var(--font-body);font-size:14px;font-weight:400;line-height:1.6;letter-spacing:0;color:var(--fg-subtle)}.langs{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.lang{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;font-size:13px;color:var(--fg-muted);background:var(--bg-elevated)}.lang strong{color:var(--fg);font-weight:600}.lang-bar{display:inline-flex;gap:2px}.lang-bar i{width:4px;height:12px;border-radius:1px;background:var(--border-strong)}.lang-bar i.on{background:var(--accent)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.reveal.in{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);transition-delay:var(--d, 0ms)}.reveal-stagger.in>*{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal,.reveal-stagger>*{opacity:1!important;transform:none!important}}@page{size:A4;margin:9mm 10mm 8mm}@media print{:root{--bg: #FFFFFF;--bg-elevated: #FFFFFF;--fg: #09090B;--fg-muted: #3F3F46;--fg-subtle: #52525B;--border: #D4D4D8;--border-strong: #A1A1AA;--muted: #F6F6F7;--accent: #2563EB;--primary: #09090B}html,body{background:#fff!important;color:var(--fg);font-size:9pt;line-height:1.4;-webkit-print-color-adjust:exact;print-color-adjust:exact}.wrap{padding:0;max-width:none}.topbar,.hero-grid,.hero-cta,.stats,.langs,.contact-actions,.contact-meta,.seo-keywords,#themeToggle,.icon-btn,.topbar-actions,.project-arrow,.project-tag,.role-list li:before,.section-eyebrow:before,.contact{display:none!important}.reveal,.reveal-stagger>*{opacity:1!important;transform:none!important}a{color:var(--accent)!important;text-decoration:none!important}.hero{padding:0 0 4pt!important;overflow:visible;margin-bottom:6pt;border-bottom:1pt solid var(--border)}.hero-inner{display:block!important;gap:0!important}.eyebrow{font-size:6.5pt!important;padding:2pt 6pt!important;background:#fff!important;border:.5pt solid var(--border)!important;margin-bottom:4pt}.eyebrow .dot{width:4pt;height:4pt;box-shadow:none!important}.hero h1{font-size:26pt!important;line-height:1!important;letter-spacing:-.04em!important;margin:2pt 0 5pt!important}.hero h1 br{display:none}.hero h1 .accent:after{display:none}.hero-tagline{font-size:9pt!important;margin:0 0 6pt!important;max-width:100%!important;line-height:1.45}.hero-meta{font-size:8pt!important;gap:3pt 12pt!important;margin:0!important;color:var(--fg-muted)}.hero-meta a{color:var(--accent)!important}.hero-meta svg{width:10pt!important;height:10pt!important}section{padding:6pt 0 4pt!important;page-break-inside:auto;background:transparent!important}section#experience{background:transparent!important}.section-head{display:grid!important;grid-template-columns:80pt 1fr!important;gap:12pt!important;margin-bottom:5pt!important;max-width:none!important;align-items:baseline}.section-eyebrow{font-size:6.5pt!important;letter-spacing:.08em!important;color:var(--fg-subtle)}.section-title{font-size:13pt!important;letter-spacing:-.02em!important;margin:0!important}.section-title br{display:none}.section-lede{font-size:8.5pt!important;margin-top:2pt!important;max-width:100%!important;color:var(--fg-muted)}.looking{padding:4pt 0!important}.looking-grid{border:.5pt solid var(--border)!important;border-radius:4pt!important;background:var(--muted)!important;margin:0!important}.looking-row{display:grid!important;grid-template-columns:70pt 1fr!important;gap:8pt!important;padding:4pt 8pt!important;border-bottom:.5pt solid var(--border)!important;align-items:baseline!important}.looking-row dt{font-size:6.5pt!important;letter-spacing:.08em;color:var(--fg-subtle);margin:0}.looking-row dd{font-size:8.5pt!important;line-height:1.35!important;margin:0}.status-dot{width:5pt;height:5pt;box-shadow:none!important}.about-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14pt!important}.about-text{font-size:8.5pt;line-height:1.45;color:var(--fg-muted)}.about-text p{margin:0 0 4pt!important}.about-text strong{color:var(--fg)}.skill-group{gap:0!important}.skill{grid-template-columns:58pt 1fr!important;gap:8pt!important;padding:2.5pt 0!important;border-bottom:.4pt solid var(--border)}.skill-label{font-size:6.5pt!important;letter-spacing:.08em}.skill-value{font-size:8pt!important;line-height:1.35}.timeline{gap:5pt!important}.role{display:grid!important;grid-template-columns:110pt 1fr!important;gap:12pt!important;padding:6pt 8pt!important;background:#fff!important;border:.5pt solid var(--border)!important;border-radius:3pt!important;box-shadow:none!important;page-break-inside:avoid}.role-meta{gap:2pt!important}.role-period,.role-loc{font-size:7.5pt!important}.role-title{font-size:10pt!important;margin-bottom:1pt!important}.role-company{font-size:8.5pt!important;margin-bottom:3pt!important}.role-company svg{display:none}.role-list{gap:2pt!important}.role-list li{font-size:8pt!important;line-height:1.4!important;padding-left:8pt!important;position:relative}.role-list li:before{content:"·"!important;position:absolute;left:2pt;top:0;color:var(--accent);font-size:12pt;line-height:1;width:auto!important;height:auto!important;background:transparent!important}.project-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:3pt!important}.project{padding:3.5pt 5pt!important;page-break-inside:avoid;border:.5pt solid var(--border)!important;border-radius:3pt!important;background:#fff!important;box-shadow:none!important}.project:before{display:none}.project-head{margin-bottom:0!important}.project-name{font-size:8pt!important;line-height:1.15!important}.project-url{font-size:6pt!important;margin-bottom:1pt!important;color:var(--accent);word-break:break-all}.project-desc{font-size:7pt!important;line-height:1.3!important}#projects{padding-top:3pt!important}#projects .section-head{margin-bottom:3pt!important}#projects .section-lede,#projects .reveal[style*="text-align: center"]{display:none!important}}html[data-locale=uk]{--font-display: "Inter", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif}html[data-locale=uk] .contact h2 em{font-family:Inter,serif}
