:root{--bg:#05070f;--ink:#e8ecf5;--ink-dim:#a7afc8;--ink-muted:#6f7894;--accent:#8aa8ff;--line:hsla(0,0%,100%,.1);--line-strong:hsla(0,0%,100%,.16);--ease:cubic-bezier(0.22,1,0.36,1);--container:860px;--nav-h:64px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans),ui-sans-serif,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}body,html{overflow-x:hidden}body{min-height:100vh;line-height:1.6}a{text-decoration:none}a,button{color:inherit}button{border:0;background:none;font:inherit;cursor:pointer;padding:0}dd,dl,h1,h2,h3,p{margin:0}::selection{background:rgba(138,168,255,.4);color:#fff}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{position:fixed;top:12px;left:12px;z-index:200;padding:8px 14px;background:var(--bg);border:1px solid var(--accent);font-size:14px;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.scene-root{position:fixed;inset:0;z-index:0}.scene-root canvas{display:block;width:100%!important;height:100%!important}.overlay{background:radial-gradient(ellipse at 50% 50%,transparent 60%,rgba(0,0,0,.45) 100%)}.overlay,.scene-scrim{position:fixed;inset:0;z-index:1;pointer-events:none}.scene-scrim{background:rgba(5,7,15,.86);opacity:0;transition:opacity .6s var(--ease)}main{position:relative;z-index:2;padding-bottom:96px;pointer-events:none}main a,main button,main dd,main dt,main h1,main h2,main h3,main li,main p{pointer-events:auto}.container{max-width:var(--container);margin:0 auto;padding:0 32px}@media (max-width:760px){.container{padding:0 20px}}.section{padding:calc(var(--nav-h) + 56px) 0 40px}@media (max-width:760px){.section{padding:calc(var(--nav-h) + 28px) 0 32px}}.section__head{margin-bottom:32px}.section__idx{font-family:var(--font-mono);font-size:14px;font-weight:500;color:var(--accent);letter-spacing:.16em;text-transform:lowercase;line-height:1}.js-reveal{opacity:0;transition:opacity .5s var(--ease)}.js-reveal.is-in{opacity:1}.nav{position:fixed;top:0;left:0;right:0;z-index:40;height:var(--nav-h);padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid transparent;transition:background .3s var(--ease),border-color .3s var(--ease)}.nav.is-scrolled{background:rgba(5,7,15,.9);border-bottom-color:var(--line)}.nav__brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:15px;font-weight:600;letter-spacing:-.01em}.nav__mark{position:relative;width:16px;height:16px;border-radius:50%;background:linear-gradient(160deg,#8fb0ff,#2c4aa0 50%,#0d1a4a);box-shadow:inset -3px -3px 5px rgba(0,0,0,.55),0 0 12px rgba(138,168,255,.35)}.nav__mark:after{content:"";position:absolute;left:-5px;right:-5px;top:50%;height:5px;margin-top:-2.5px;border:1px solid rgba(185,200,238,.7);border-radius:50%;transform:rotate(-18deg)}.nav__cv{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid var(--line-strong);border-radius:8px;background:rgba(12,16,32,.7);font-size:14px;font-weight:500;transition:border-color .2s var(--ease),background .2s var(--ease)}.nav__cv.is-active,.nav__cv:hover{border-color:var(--accent);background:rgba(138,168,255,.1)}@media (max-width:760px){.nav{padding:0 16px}}.cta{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-width:240px;padding:14px 16px 14px 18px;border:1px solid var(--line-strong);border-radius:10px;background:rgba(12,16,32,.78);text-align:left;transition:border-color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease)}.cta:hover{border-color:rgba(138,168,255,.7);background:rgba(20,26,50,.9);transform:translateY(-1px)}.cta--primary{border-color:rgba(138,168,255,.55);background:rgba(32,44,88,.72)}.cta--primary:hover{background:rgba(40,54,108,.85)}.cta__text{display:flex;flex-direction:column;gap:2px}.cta__title{font-size:16px;font-weight:600;color:var(--ink)}.cta__meta{font-size:13px;color:var(--ink-muted)}.cta__chevron{flex-shrink:0;color:var(--ink-muted);transition:transform .2s var(--ease),color .2s var(--ease)}.cta:hover .cta__chevron{color:var(--ink);transform:translateX(2px)}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;padding:calc(var(--nav-h) + 40px) 0 120px}.hero .container{width:100%;max-width:1080px}.hero__name{font-size:clamp(40px,6.5vw,76px);font-weight:700;line-height:1.02;letter-spacing:-.03em}.hero__role{margin-top:12px;color:var(--accent)}.hero__intro,.hero__role{font-size:clamp(16px,1.8vw,19px)}.hero__intro{margin-top:8px;max-width:540px;color:var(--ink-dim)}.hero__photo{display:block;width:96px;height:96px;margin-bottom:20px;border-radius:50%;object-fit:cover;border:1px solid var(--line-strong)}.hero__location{margin-top:22px;display:inline-flex;align-items:center;gap:8px;font-size:15px;color:var(--ink-dim)}.links{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.link-btn{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 14px;border:1px solid var(--line-strong);border-radius:8px;background:rgba(12,16,32,.72);font-size:14px;color:var(--ink);transition:border-color .2s var(--ease),background .2s var(--ease)}.link-btn svg{color:var(--ink-muted);flex-shrink:0;transition:color .2s var(--ease)}.link-btn:hover{border-color:rgba(138,168,255,.7);background:rgba(20,26,50,.9)}.link-btn:hover svg{color:var(--accent)}.lb-short{display:none}@media (max-width:760px){.lb-short{display:inline}}.link-btn--flc strong{font-weight:600;color:var(--accent)}.hero__cta{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}@media (max-width:760px){.hero{padding-bottom:96px}.hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,rgba(5,7,15,.9) 0,rgba(5,7,15,.7) 50%,rgba(5,7,15,0) 80%)}.links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.link-btn{width:100%;justify-content:center;padding:0 8px;gap:7px}.lb-full,.link-btn--flc svg:last-child{display:none}.hero__cta{flex-direction:column;gap:10px}.hero__cta .cta{width:100%}}.group-title{margin:40px 0 4px;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.section__head+.group-title{margin-top:0}.rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:170px minmax(0,1fr);grid-gap:24px;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.row__aside{font-family:var(--font-mono);font-size:13px;color:var(--ink-muted);padding-top:3px}.row__aside--label{font-family:inherit;font-size:15px;font-weight:600;color:var(--ink);padding-top:0}.row__main{display:block;min-width:0}.row__title{font-size:17px;font-weight:600;line-height:1.35}.row__role{font-weight:400;color:var(--ink-muted)}.row__meta{margin-top:2px;font-size:15px;color:var(--ink)}.row__text{margin-top:4px;font-size:15px;color:var(--ink-dim)}dd.row__text{margin-top:0}.row--link .row__main:hover .row__title{color:var(--accent)}.row__link{color:var(--ink);border-bottom:1px solid var(--accent)}.row__link:hover{color:var(--accent)}@media (max-width:640px){.row{grid-template-columns:1fr;gap:4px;padding:16px 0}}.contact-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.contact-link{display:grid;grid-template-columns:40px 120px minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;min-height:60px;padding:10px 16px 10px 10px;border:1px solid var(--line-strong);border-radius:10px;background:rgba(12,16,32,.72);transition:border-color .2s var(--ease),background .2s var(--ease)}.contact-link:hover{border-color:rgba(138,168,255,.7);background:rgba(20,26,50,.9)}.contact-link__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:hsla(0,0%,100%,.05);color:var(--ink-dim)}.contact-link:hover .contact-link__icon{color:var(--accent)}.contact-link__label{font-size:14px;color:var(--ink-muted)}.contact-link__value{font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-link__go{display:inline-flex;align-items:center;font-size:13px;color:var(--ink-muted)}.contact-link:hover .contact-link__go{color:var(--ink)}@media (max-width:640px){.contact-link{grid-template-columns:40px minmax(0,1fr) auto;gap:12px}.contact-link__label{display:none}.contact-link__value{font-size:15px}}.next-step{margin-top:32px;display:flex;justify-content:flex-end}@media (max-width:640px){.next-step .cta{width:100%}}.footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;margin-top:64px;font-size:13px;color:var(--ink-muted)}.back-link{display:inline-block;margin-bottom:24px;padding:8px 0;font-size:15px;color:var(--ink-dim)}.back-link:hover{color:var(--ink)}.detail__title{font-size:clamp(30px,4vw,42px);font-weight:700;letter-spacing:-.02em;line-height:1.1}.detail__meta{margin-top:8px;font-family:var(--font-mono);font-size:13px;color:var(--ink-muted)}.detail__body{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);max-width:680px}.detail__body p{font-size:16px;line-height:1.75;color:var(--ink-dim)}.detail__body p+p{margin-top:18px}.detail__nav{margin-top:48px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:15px}.detail__nav a{padding:8px 0;color:var(--ink-dim)}.detail__nav a:hover{color:var(--ink)}.cv__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.cv__sheet{padding-top:24px;border-top:1px solid var(--line)}.cv__photo{float:right;width:84px;height:84px;border-radius:50%;object-fit:cover}.cv__name{font-size:clamp(28px,4vw,40px);font-weight:700;letter-spacing:-.02em;line-height:1.1}.cv__role{margin-top:4px;font-size:15px;color:var(--accent)}.cv__contact{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:2px 20px;font-size:15px;color:var(--ink-dim)}.cv__block{margin-top:28px}.cv__block h2{margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.cv__block>p{font-size:15px;color:var(--ink-dim)}.cv__cols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-gap:0 40px;gap:0 40px}.cv__list{list-style:none;margin:0;padding:0;display:grid;grid-gap:14px;gap:14px}.cv__list li{display:flex;flex-direction:column}.cv__date{font-family:var(--font-mono);font-size:12px;color:var(--ink-muted)}.cv__list strong{font-size:15px;font-weight:600}.cv__list p,.cv__org{font-size:14px}.cv__list p{color:var(--ink-dim)}.cv__skills{display:grid;grid-gap:6px;gap:6px}.cv__skills div{display:grid;grid-template-columns:220px minmax(0,1fr);grid-gap:12px;gap:12px;font-size:14px}.cv__skills dt{font-weight:600}.cv__skills dd{color:var(--ink-dim)}@media (max-width:760px){.cv__cols,.cv__skills div{grid-template-columns:1fr}.cv__skills div{gap:0}}.planet-label{padding:5px 10px;border:1px solid var(--line-strong);border-radius:6px;background:rgba(5,7,15,.85);font-size:12px;font-weight:500;color:var(--ink);white-space:nowrap}.dock{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:35;max-width:calc(100vw - 24px)}.dock__list{list-style:none;margin:0;padding:6px;display:flex;border:1px solid var(--line-strong);border-radius:14px;background:rgba(8,11,24,.88);box-shadow:0 12px 40px -12px rgba(0,0,0,.9)}.dock__item{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;width:84px;padding:9px 4px 7px;border-radius:10px;transition:background .2s var(--ease)}.dock__item:hover{background:hsla(0,0%,100%,.05)}.dock__item.is-active{background:rgba(138,168,255,.12)}.dock__planet{position:relative;width:24px;height:24px;transition:transform .25s var(--ease)}.dock__item.is-active .dock__planet,.dock__item:hover .dock__planet{transform:scale(1.12)}.dock__body{overflow:hidden}.dock__body,.dock__body:after{position:absolute;inset:0;border-radius:50%}.dock__body:after{content:"";background:radial-gradient(circle at 32% 28%,hsla(0,0%,100%,.35) 0,transparent 42%),radial-gradient(circle at 70% 75%,rgba(0,0,0,.7) 0,transparent 60%)}.dock__ring{position:absolute;left:-7px;right:-7px;top:50%;height:8px;margin-top:-4px;border:1.5px solid;border-radius:50%;transform:rotate(-16deg);opacity:.8}.dock__label{font-size:12px;line-height:1;color:var(--ink-muted);white-space:nowrap;transition:color .2s var(--ease)}.dock__item:hover .dock__label{color:var(--ink-dim)}.dock__item.is-active .dock__label{color:var(--ink)}@media (max-width:600px){.dock{bottom:10px}.dock__list{padding:4px;border-radius:12px}.dock__item{width:58px;padding:8px 2px 6px;gap:5px}.dock__planet{width:22px;height:22px}.dock__label{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{@page{size:A4;margin:10mm 12mm 10mm}:root{--ink:#111522;--ink-dim:#343b4e;--ink-muted:#5d6478;--accent:#2f4fc4;--line:#d9dde8;--line-strong:#c3c9d8}body,html{background:#fff!important;color:var(--ink)}.cv__bar,.dock,.nav,.next-step,.overlay,.scene-root,.scene-scrim,.skip-link{display:none!important}main{padding:0}.js-reveal{opacity:1!important;transform:none!important}.section{padding:0}.container{padding:0;max-width:none}.cv__sheet{padding:0;border:0}.cv__name{font-size:26pt}.cv__role{font-size:11pt}.cv__contact{font-size:10pt;margin-top:2mm}.cv__block{margin-top:4mm}.cv__block h2{font-size:9pt;margin-bottom:2.5mm;padding-bottom:1mm}.cv__block>p{font-size:10pt;line-height:1.5}.cv__cols{grid-template-columns:1.2fr 1fr;gap:0 8mm}.cv__list{gap:2.2mm}.cv__list li{page-break-inside:avoid;break-inside:avoid}.cv__list strong{font-size:10.5pt}.cv__date{font-size:8.5pt}.cv__list p,.cv__org{font-size:9pt;line-height:1.4}.cv__skills{gap:1mm}.cv__skills div{grid-template-columns:44mm 1fr;font-size:9pt;line-height:1.4;page-break-inside:avoid;break-inside:avoid}}@font-face{font-family:__Space_Grotesk_c219ed;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Grotesk_c219ed;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Space_Grotesk_c219ed;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Grotesk_Fallback_c219ed;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_c219ed{font-family:__Space_Grotesk_c219ed,__Space_Grotesk_Fallback_c219ed;font-style:normal}.__variable_c219ed{--font-sans:"__Space_Grotesk_c219ed","__Space_Grotesk_Fallback_c219ed"}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_Fallback_4dc837;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_4dc837{font-family:__JetBrains_Mono_4dc837,__JetBrains_Mono_Fallback_4dc837;font-style:normal}.__variable_4dc837{--font-mono:"__JetBrains_Mono_4dc837","__JetBrains_Mono_Fallback_4dc837"}