@font-face{font-family:"Manrope";font-style:normal;font-weight:400 800;font-display:swap;src:url("../assets/fonts/manrope-latin-ext.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:"Manrope";font-style:normal;font-weight:400 800;font-display:swap;src:url("../assets/fonts/manrope-latin.woff2") format("woff2");unicode-range:U+0000-00FF,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}:root{--color-bg: #f5f6f8;--color-bg-alt: #eceff3;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-ink: #0d1b2a;--color-ink-soft: #33415c;--color-muted: #5c677d;--color-line: #dde2ea;--color-line-strong: #c5ccd8;--color-accent: #2457e6;--color-accent-strong: #1a43b8;--color-accent-soft: #e6edfd;--color-accent-ink: #ffffff;--color-success: #13804b;--color-panel: #0d1b2a;--color-panel-ink: #e9edf3;--color-panel-muted: #9fadc2;--color-panel-line: #24364d;--color-shadow: rgba(13, 27, 42, 0.08);--color-shadow-strong: rgba(13, 27, 42, 0.16);--color-grid-dot: rgba(13, 27, 42, 0.09);--color-photo-bg: #f7f8fa;--color-photo-bg-edge: #dfe4eb;color-scheme:light}@media(prefers-color-scheme: dark){:root:not([data-theme=light]){--color-bg: #0a111b;--color-bg-alt: #0e1724;--color-surface: #111c2b;--color-surface-raised: #152235;--color-ink: #e8edf4;--color-ink-soft: #c3ccd9;--color-muted: #92a0b4;--color-line: #1f2d40;--color-line-strong: #2c3e57;--color-accent: #6f97ff;--color-accent-strong: #9ab6ff;--color-accent-soft: #16264a;--color-accent-ink: #0a111b;--color-success: #3ccf8e;--color-panel: #121f31;--color-panel-ink: #e8edf4;--color-panel-muted: #92a0b4;--color-panel-line: #23344b;--color-shadow: rgba(0, 0, 0, 0.3);--color-shadow-strong: rgba(0, 0, 0, 0.5);--color-grid-dot: rgba(232, 237, 244, 0.07);--color-photo-bg: #22344d;--color-photo-bg-edge: #111c2b;color-scheme:dark}}:root[data-theme=dark]{--color-bg: #0a111b;--color-bg-alt: #0e1724;--color-surface: #111c2b;--color-surface-raised: #152235;--color-ink: #e8edf4;--color-ink-soft: #c3ccd9;--color-muted: #92a0b4;--color-line: #1f2d40;--color-line-strong: #2c3e57;--color-accent: #6f97ff;--color-accent-strong: #9ab6ff;--color-accent-soft: #16264a;--color-accent-ink: #0a111b;--color-success: #3ccf8e;--color-panel: #121f31;--color-panel-ink: #e8edf4;--color-panel-muted: #92a0b4;--color-panel-line: #23344b;--color-shadow: rgba(0, 0, 0, 0.3);--color-shadow-strong: rgba(0, 0, 0, 0.5);--color-grid-dot: rgba(232, 237, 244, 0.07);--color-photo-bg: #22344d;--color-photo-bg-edge: #111c2b;color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body,h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}:where(ul[class],ol[class]){padding:0;list-style:none}img,svg,picture{display:block;max-width:100%}img{height:auto}button,input{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit}html{scroll-behavior:smooth;scroll-padding-top:calc(4.25rem + 1rem)}body{min-height:100vh;font-family:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;line-height:1.65;font-weight:450;color:var(--color-ink-soft);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;overflow-wrap:break-word}@media(max-width: 47.99em){p,li,h1,h2,h3{-webkit-hyphens:auto;hyphens:auto}}h1,h2,h3,h4{color:var(--color-ink);line-height:1.15;font-weight:750;letter-spacing:-0.02em;text-wrap:balance}p{text-wrap:pretty}strong,b{color:var(--color-ink);font-weight:700}code{font-family:ui-monospace,"SFMono-Regular","SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:.875em;padding:.1em .35em;border-radius:.3em;background:var(--color-accent-soft);color:var(--color-ink)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:4px}::selection{background:var(--color-accent);color:var(--color-accent-ink)}.skip-link{position:absolute;top:.75rem;left:.75rem;z-index:100;padding:.6rem 1rem;border-radius:.5rem;background:var(--color-accent);color:var(--color-accent-ink);font-weight:700;text-decoration:none;transform:translateY(-200%);transition:transform .25s cubic-bezier(0.22, 1, 0.36, 1)}.skip-link:focus{transform:translateY(0)}.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.icon{width:1.125em;height:1.125em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon--fill{fill:currentColor;stroke:none}@media(prefers-reduced-motion: no-preference){.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(0.22, 1, 0.36, 1),transform .7s cubic-bezier(0.22, 1, 0.36, 1)}.js .reveal.is-visible{opacity:1;transform:none}}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.container{width:100%;max-width:calc(72rem + 2*clamp(1rem, 4vw, 2rem));margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.site-header{position:sticky;top:0;z-index:50;height:4.25rem;background:var(--color-bg);border-bottom:1px solid rgba(0,0,0,0);transition:border-color .25s,background-color .25s,box-shadow .25s}@supports(-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px)){.site-header{background:rgba(0,0,0,0)}.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--color-bg);opacity:.82;-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px)}}.site-header.is-scrolled{border-bottom-color:var(--color-line)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:100%}.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--color-ink);font-weight:750;letter-spacing:-0.01em;white-space:nowrap}.brand__mark{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.6rem;background:var(--color-panel);color:#fff;font-size:.8rem;font-weight:800;letter-spacing:.02em}.brand__name{display:none}@media(min-width: 36em){.brand__name{display:inline}}.header-actions{display:flex;align-items:center;gap:.5rem}.site-nav__list{display:flex;flex-direction:column;gap:.25rem}.site-nav__link{display:block;padding:.85rem .25rem;font-weight:650;font-size:1.125rem;text-decoration:none;color:var(--color-ink);border-bottom:1px solid var(--color-line);transition:color .25s}.site-nav__link:hover,.site-nav__link.is-active{color:var(--color-accent)}@media(max-width: 79.99em){.site-nav{position:fixed;top:4.25rem;left:0;right:0;bottom:0;padding:1rem clamp(1rem,4vw,2rem) 2rem;background:var(--color-bg);overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s cubic-bezier(0.22, 1, 0.36, 1),transform .25s cubic-bezier(0.22, 1, 0.36, 1),visibility 0s linear .25s}.site-nav.is-open{visibility:visible;opacity:1;transform:none;transition:opacity .25s cubic-bezier(0.22, 1, 0.36, 1),transform .25s cubic-bezier(0.22, 1, 0.36, 1),visibility 0s}}@media(min-width: 80em){.site-nav__list{flex-direction:row;gap:.25rem}.site-nav__link{position:relative;padding:.5rem .7rem;font-size:.9rem;font-weight:600;color:var(--color-muted);border:0}.site-nav__link:hover,.site-nav__link.is-active{color:var(--color-ink)}.site-nav__link.is-active::after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.1rem;height:2px;border-radius:2px;background:var(--color-accent)}}.nav-toggle{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.5rem;border:1px solid var(--color-line);color:var(--color-ink)}.nav-toggle__bars{position:relative;width:1.1rem;height:2px;background:currentColor;border-radius:2px;transition:background-color .25s}.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:absolute;left:0;width:100%;height:2px;background:currentColor;border-radius:2px;transition:transform .25s cubic-bezier(0.22, 1, 0.36, 1)}.nav-toggle__bars::before{transform:translateY(-6px)}.nav-toggle__bars::after{transform:translateY(6px)}.nav-toggle[aria-expanded=true] .nav-toggle__bars{background:rgba(0,0,0,0)}.nav-toggle[aria-expanded=true] .nav-toggle__bars::before{transform:rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle__bars::after{transform:rotate(-45deg)}@media(min-width: 80em){.nav-toggle{display:none}}body.nav-open{overflow:hidden}.section{padding-block:clamp(4rem,9vw,7rem)}.section--alt{background:var(--color-bg-alt)}.section__head{display:grid;gap:.9rem;max-width:44rem;margin-bottom:clamp(2.25rem,5vw,3.5rem)}.section__head>*{min-width:0}.section__eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:ui-monospace,"SFMono-Regular","SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.section__eyebrow::before{content:"";width:1.75rem;height:1px;background:currentColor}.section__title{font-size:clamp(1.5rem,3.6vw + .75rem,2.75rem)}.section__lead{font-size:clamp(1.02rem,1.6vw,1.15rem);color:var(--color-muted)}.site-footer{padding-block:2rem;border-top:1px solid var(--color-line);font-size:.875rem;color:var(--color-muted)}.site-footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}.site-footer__links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--color-ink);text-decoration:underline;text-underline-offset:3px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3rem;padding:.75rem 1.4rem;border:1px solid rgba(0,0,0,0);border-radius:999px;font-size:.95rem;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;transition:background-color .25s,border-color .25s,color .25s,transform .25s cubic-bezier(0.22, 1, 0.36, 1),box-shadow .25s}@media(min-width: 36em){.btn{white-space:nowrap}}.btn:hover{transform:translateY(-1px)}.btn:active{transform:none}.btn--primary{background:var(--color-accent);color:var(--color-accent-ink);box-shadow:0 8px 22px -10px var(--color-accent)}.btn--primary:hover{background:var(--color-accent-strong)}.btn--ghost{border-color:var(--color-line-strong);color:var(--color-ink);background:var(--color-surface)}.btn--ghost:hover{border-color:var(--color-ink)}.btn--light{background:#fff;color:#0d1b2a}.btn--light:hover{background:#e9edf3}.btn--small{min-height:2.5rem;padding:.5rem 1rem;font-size:.85rem}.btn__meta{white-space:nowrap;font-weight:500;opacity:.75;font-size:.85em}.theme-switch{position:relative;display:none;align-items:center;justify-content:space-between;width:4.25rem;height:2.25rem;padding:0 .55rem;border:1px solid var(--color-line);border-radius:999px;background:var(--color-surface);color:var(--color-muted);transition:border-color .25s,background-color .25s}.js .theme-switch{display:inline-flex}.theme-switch:hover{border-color:var(--color-line-strong)}.theme-switch__icon{position:relative;z-index:1;width:.95rem;height:.95rem;transition:color .25s}.theme-switch__thumb{position:absolute;top:.2rem;left:.2rem;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--color-ink);box-shadow:0 2px 6px var(--color-shadow-strong);transition:transform .3s cubic-bezier(0.22, 1, 0.36, 1)}.theme-switch__icon--sun{color:var(--color-bg)}.theme-switch[aria-checked=true] .theme-switch__thumb{transform:translateX(2rem)}.theme-switch[aria-checked=true] .theme-switch__icon--sun{color:var(--color-muted)}.theme-switch[aria-checked=true] .theme-switch__icon--moon{color:var(--color-bg)}.lang-switch{display:flex;align-items:center;padding:.2rem;border:1px solid var(--color-line);border-radius:999px}.lang-switch__link{display:grid;place-items:center;min-width:2.1rem;height:2rem;padding-inline:.45rem;border-radius:999px;font-size:.75rem;font-weight:750;letter-spacing:.04em;text-decoration:none;color:var(--color-muted);transition:color .25s,background-color .25s}.lang-switch__link:hover{color:var(--color-ink)}.lang-switch__link[aria-current=page]{background:var(--color-ink);color:var(--color-bg)}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem}.tag{display:inline-flex;align-items:center;padding:.35rem .75rem;border:1px solid var(--color-line);border-radius:999px;background:var(--color-surface);font-size:.85rem;font-weight:600;line-height:1.3;color:var(--color-ink-soft)}.tag--accent{border-color:rgba(0,0,0,0);background:var(--color-accent-soft);color:var(--color-ink)}.tag--small{padding:.2rem .6rem;font-size:.78rem;font-weight:600}.status{display:inline-flex;align-items:center;gap:.6rem;padding:.4rem .9rem .4rem .75rem;border:1px solid var(--color-line);border-radius:999px;background:var(--color-surface);font-size:.85rem;font-weight:650;color:var(--color-ink)}.status__dot{position:relative;width:.55rem;height:.55rem;border-radius:50%;background:var(--color-success)}@media(prefers-reduced-motion: no-preference){.status__dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--color-success);animation:pulse 2.2s ease-out infinite}}@keyframes pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(2.8);opacity:0}}.card{position:relative;padding:clamp(1.4rem,3vw,2rem);border:1px solid var(--color-line);border-radius:1.25rem;background:var(--color-surface);box-shadow:0 1px 2px var(--color-shadow);transition:border-color .25s,box-shadow .25s,transform .25s cubic-bezier(0.22, 1, 0.36, 1)}.card--hover:hover{border-color:var(--color-line-strong);box-shadow:0 18px 40px -24px var(--color-shadow-strong);transform:translateY(-2px)}.card__icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;margin-bottom:1.1rem;border-radius:.75rem;background:var(--color-accent-soft);color:var(--color-accent)}.card__icon .icon{width:1.35rem;height:1.35rem}.card__title{margin-bottom:.55rem;font-size:1.12rem;letter-spacing:-0.01em}.card__text{font-size:.97rem}.hero{position:relative;padding-block:clamp(2.5rem,7vw,5.5rem) clamp(3rem,6vw,4.5rem);overflow:hidden;isolation:isolate}.hero__backdrop{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(var(--color-grid-dot) 1px, transparent 1.4px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 70% 30%, #000 30%, transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 70% 30%, #000 30%, transparent 75%)}.hero__backdrop::after{content:"";position:absolute;top:-18rem;right:-12rem;width:42rem;height:42rem;border-radius:50%;background:radial-gradient(circle, var(--color-accent-soft) 0%, transparent 65%);opacity:.9}.hero__inner{display:grid;gap:clamp(2.5rem,6vw,4rem);align-items:center}@media(min-width: 48em){.hero__inner{grid-template-columns:minmax(0, 1fr) minmax(15rem, 20rem)}}@media(min-width: 64em){.hero__inner{grid-template-columns:minmax(0, 1fr) 23rem}}.hero__content{min-width:0;display:grid;justify-items:start;gap:1.4rem}.hero__title{font-size:clamp(2.9rem,8.2vw,5.6rem);line-height:.98;font-weight:800;letter-spacing:-0.045em}.hero__role{font-size:clamp(1.15rem,2.4vw,1.5rem);font-weight:700;letter-spacing:-0.015em;color:var(--color-ink)}.hero__role>span{color:var(--color-accent);white-space:nowrap}@media(max-width: 35.99em){.hero__role>span{display:block}}@media(max-width: 35.99em){.hero__role-sep{display:none}}.hero__lead{max-width:38rem;font-size:clamp(1.02rem,1.7vw,1.18rem);color:var(--color-muted)}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem}@media(max-width: 35.99em){.hero__actions{width:100%}.hero__actions .btn{flex:1 1 100%}}.hero__meta{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:.5rem;font-size:.9rem;font-weight:600;color:var(--color-muted)}.hero__meta li{display:inline-flex;align-items:center;gap:.45rem}.hero__meta .icon{color:var(--color-accent)}.hero__portrait{position:relative;justify-self:center;width:min(72%,16rem);order:-1;margin-right:.9rem}@media(min-width: 48em){.hero__portrait{order:0;width:100%;margin-right:0}}.hero__portrait img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:1.75rem;border:1px solid var(--color-line);box-shadow:0 30px 60px -30px var(--color-shadow-strong);background:radial-gradient(circle at 50% 38%, var(--color-photo-bg), var(--color-photo-bg-edge) 78%)}.hero__portrait::before{content:"";position:absolute;inset:.9rem -0.9rem -0.9rem .9rem;z-index:-1;border:1px solid var(--color-line-strong);border-radius:1.75rem}.hero__badge{position:absolute;left:-0.75rem;bottom:1.25rem;display:grid;gap:.1rem;padding:.7rem 1rem;border-radius:.875rem;background:var(--color-panel);color:var(--color-panel-ink);box-shadow:0 16px 30px -16px rgba(0,0,0,.5);font-size:.78rem;line-height:1.35}.hero__badge strong{color:#fff;font-size:.95rem}@media(min-width: 48em){.hero__badge{left:-1.5rem}}.stats{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));margin-top:clamp(3rem,7vw,4.5rem);border:1px solid var(--color-line);border-radius:1.25rem;background:var(--color-surface);overflow:hidden}@media(min-width: 64em){.stats{grid-template-columns:repeat(4, minmax(0, 1fr))}}.stats__item{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:.35rem;padding:clamp(1.1rem,3vw,1.75rem);border-color:var(--color-line);border-style:solid;border-width:0}.stats__item:nth-child(odd){border-right-width:1px}.stats__item:nth-child(-n+2){border-bottom-width:1px}@media(min-width: 64em){.stats__item{border-width:0 1px 0 0 !important}.stats__item:last-child{border-right-width:0 !important}}.stats__number{display:inline-block}.stats__value{font-size:clamp(1.9rem,4.5vw,2.6rem);font-weight:800;line-height:1;letter-spacing:-0.04em;color:var(--color-ink);font-variant-numeric:tabular-nums}.stats__value sup{font-size:.55em;vertical-align:.6em;color:var(--color-accent)}.stats__label{font-size:.86rem;line-height:1.4;color:var(--color-muted)}.projects-strip{display:grid;gap:.9rem;margin-top:1.5rem}@media(min-width: 48em){.projects-strip{grid-template-columns:auto 1fr;align-items:center;gap:1.5rem}}.projects-strip__label{font-family:ui-monospace,"SFMono-Regular","SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.projects-strip__list{display:flex;flex-wrap:wrap;gap:.6rem}.projects-strip__list li{flex:1 1 13rem}@media(min-width: 48em){.projects-strip__list li{flex:0 1 auto}}.projects-strip__link{display:flex;height:100%;flex-direction:column;gap:.05rem;padding:.55rem .95rem;border:1px solid var(--color-line);border-radius:.875rem;background:var(--color-surface);text-decoration:none;transition:border-color .25s,transform .25s cubic-bezier(0.22, 1, 0.36, 1)}.projects-strip__link strong{font-size:.92rem}.projects-strip__link span{font-size:.78rem;color:var(--color-muted)}.projects-strip__link:hover{border-color:var(--color-accent);transform:translateY(-1px)}.about__grid{display:grid;gap:2.5rem}@media(min-width: 64em){.about__grid{grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);gap:4rem;align-items:start}}.about__intro{display:grid;gap:1rem}@media(min-width: 64em){.about__intro{position:sticky;top:calc(4.25rem + 2rem)}}.about__intro .section__head{margin-bottom:.5rem}.about__text{font-size:1.08rem}.focus-list{display:grid;gap:1rem}@media(min-width: 36em){.focus-list{grid-template-columns:repeat(2, minmax(0, 1fr))}}.focus-list__number{display:block;margin-bottom:1.6rem;font-family:ui-monospace,"SFMono-Regular","SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:.8rem;color:var(--color-accent)}.timeline{position:relative;display:grid;gap:1.5rem}@media(min-width: 64em){.timeline{gap:2rem}.timeline::before{content:"";position:absolute;top:.5rem;bottom:.5rem;left:13.5rem;width:1px;background:linear-gradient(var(--color-line-strong), var(--color-line) 85%, transparent)}}.job{display:grid;gap:.9rem}@media(min-width: 64em){.job{grid-template-columns:12rem minmax(0, 1fr);gap:3rem}}.job__aside{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem}@media(min-width: 64em){.job__aside{flex-direction:column;align-items:flex-start;padding-top:1.85rem}.job__aside::after{content:"";position:absolute;top:2.15rem;right:-1.85rem;width:.75rem;height:.75rem;border-radius:50%;background:var(--color-bg);border:2px solid var(--color-line-strong)}}.job--current .job__aside::after{border-color:var(--color-accent);background:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-soft)}.job__period{font-size:.92rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-0.005em;color:var(--color-ink)}.job__type{font-size:.85rem;color:var(--color-muted)}.job__badge{display:inline-flex;align-items:center;gap:.4rem;padding:.15rem .6rem;border-radius:999px;background:var(--color-accent-soft);font-size:.72rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent)}.job__header{display:grid;gap:.3rem;margin-bottom:1rem}.job__title{font-size:clamp(1.15rem,2.2vw,1.35rem)}.job__company{font-size:.95rem;color:var(--color-muted)}.job__company strong{color:var(--color-ink)}.job__summary{margin-bottom:1.1rem}.job__highlights{display:grid;gap:.7rem;margin-bottom:1.4rem}.job__highlights li{position:relative;padding-left:1.3rem}.job__highlights li::before{content:"";position:absolute;left:0;top:.68em;width:.45rem;height:.45rem;border-radius:2px;background:var(--color-accent);transform:rotate(45deg)}.job__stack{padding-top:1.1rem;border-top:1px dashed var(--color-line)}.job__reference{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.1rem;font-size:.9rem;font-weight:700;color:var(--color-accent);text-decoration:none}.job__reference:hover{text-decoration:underline;text-underline-offset:3px}.text-link{color:var(--color-ink);font-weight:650;text-decoration:underline;text-decoration-color:var(--color-line-strong);text-underline-offset:3px;transition:text-decoration-color .25s,color .25s}.text-link:hover{color:var(--color-accent);text-decoration-color:currentColor}.text-plain{color:var(--color-ink);font-weight:650}.skills{display:grid;gap:1rem}@media(min-width: 48em){.skills{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 64em){.skills{grid-template-columns:repeat(6, minmax(0, 1fr))}.skills>*{grid-column:span 2}.skills>:nth-last-child(-n+2){grid-column:span 3}}@media(min-width: 48em)and (max-width: 63.99em){.skill-group:last-child:nth-child(even){grid-column:1/-1}}@media(min-width: 48em){.skill-group--featured{grid-column:1/-1}}@media(min-width: 64em){.skill-group--featured{grid-column:1/-1 !important}}.skill-group--featured .tag{font-size:.9rem;padding:.45rem .9rem}.skill-group__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.skill-group__title{font-size:1.05rem}.skill-group__count{font-family:ui-monospace,"SFMono-Regular","SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:.75rem;color:var(--color-muted)}.skill-group__note{margin-bottom:1.4rem;color:var(--color-muted);font-size:.97rem}.approach{display:grid;gap:1.25rem}@media(min-width: 64em){.approach{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5rem}}.approach__group{display:grid;align-content:start;gap:1.5rem}.approach__heading{display:flex;align-items:center;gap:.85rem;font-size:1.25rem}.approach__heading .card__icon{margin:0}.approach__list{display:grid;gap:1.4rem}.approach__item{padding-top:1.4rem;border-top:1px solid var(--color-line)}.approach__item h4{margin-bottom:.4rem;font-size:1rem;letter-spacing:-0.01em}.approach__item p{font-size:.97rem}.quotes{display:grid;gap:1rem}@media(min-width: 64em){.quotes{grid-template-columns:repeat(3, minmax(0, 1fr))}}.quote{display:flex;flex-direction:column;justify-content:space-between;gap:1.75rem}.quote__mark{width:2rem;height:2rem;margin-bottom:1rem;color:var(--color-accent)}.quote__text{font-size:1.02rem;line-height:1.65;color:var(--color-ink)}.quote__author{display:grid;gap:.1rem;padding-top:1.25rem;border-top:1px solid var(--color-line);font-size:.88rem;color:var(--color-muted)}.quote__author strong{font-size:.95rem}.quotes-note{margin-top:1.25rem;font-size:.85rem;color:var(--color-muted)}.background{display:grid;gap:1rem}@media(min-width: 48em){.background{grid-template-columns:repeat(2, minmax(0, 1fr))}}.background__list{display:grid;gap:1.1rem}.background__item{display:grid;gap:.15rem}.background__item strong{font-size:1rem}.background__item span{font-size:.95rem;color:var(--color-muted)}.language-list{display:grid}.language{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-block:.9rem;border-bottom:1px solid var(--color-line)}.language:first-child{padding-top:0}.language:last-child{border-bottom:0;padding-bottom:0}.language__name{font-weight:700;color:var(--color-ink)}.language__level{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--color-muted)}.language__bar{display:flex;gap:3px}.language__bar i{width:.9rem;height:.3rem;border-radius:2px;background:var(--color-line-strong)}.language__bar i.is-on{background:var(--color-accent)}.contact{position:relative;display:grid;gap:2.5rem;padding:clamp(1.75rem,6vw,4rem);border-radius:1.75rem;border:1px solid var(--color-panel-line);background:var(--color-panel);color:var(--color-panel-muted);overflow:hidden;isolation:isolate}.contact::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1.4px);background-size:22px 22px;-webkit-mask-image:linear-gradient(120deg, transparent 35%, #000);mask-image:linear-gradient(120deg, transparent 35%, #000)}@media(min-width: 64em){.contact{grid-template-columns:minmax(0, 6fr) minmax(0, 5fr);gap:4rem;align-items:center}}.contact>*{min-width:0}.contact__eyebrow{color:#8fb0ff}.contact__title{margin-block:.9rem 1.1rem;font-size:clamp(2rem,4.8vw,3.1rem);color:#fff}.contact__text{max-width:34rem;margin-bottom:1.75rem;font-size:1.05rem}.contact__availability{display:grid;gap:.5rem;margin-bottom:2rem;color:var(--color-panel-ink);font-weight:600}.contact__availability li{display:flex;align-items:flex-start;gap:.6rem}.contact__availability .icon{margin-top:.25em;color:#8fb0ff}.contact__channels{display:grid;gap:.75rem}.contact__channel{display:flex;align-items:center;gap:1rem;padding:1rem 1.15rem;border:1px solid var(--color-panel-line);border-radius:.875rem;background:hsla(0,0%,100%,.03);color:var(--color-panel-ink);text-decoration:none;transition:border-color .25s,background-color .25s}.contact__channel:is(a):hover{border-color:#8fb0ff;background:rgba(143,176,255,.08)}.contact__channel .icon{width:1.3rem;height:1.3rem;color:#8fb0ff}.contact__label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-panel-muted)}.contact__value{display:block;font-weight:700;color:#fff;overflow-wrap:anywhere}.legal{max-width:46rem}.legal h1{margin-bottom:2rem;font-size:clamp(2rem,5vw,3rem)}.legal h2{margin:2.5rem 0 .75rem;font-size:1.35rem}.legal p,.legal ul{margin-bottom:1rem}.legal ul{padding-left:1.2rem}.legal a{color:var(--color-accent)}.legal__back{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:2rem;font-weight:700;text-decoration:none}@media print{:root:root:root{--color-bg: #f5f6f8;--color-bg-alt: #eceff3;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-ink: #0d1b2a;--color-ink-soft: #33415c;--color-muted: #5c677d;--color-line: #dde2ea;--color-line-strong: #c5ccd8;--color-accent: #2457e6;--color-accent-strong: #1a43b8;--color-accent-soft: #e6edfd;--color-accent-ink: #ffffff;--color-success: #13804b;--color-panel: #0d1b2a;--color-panel-ink: #e9edf3;--color-panel-muted: #9fadc2;--color-panel-line: #24364d;--color-shadow: rgba(13, 27, 42, 0.08);--color-shadow-strong: rgba(13, 27, 42, 0.16);--color-grid-dot: rgba(13, 27, 42, 0.09);--color-photo-bg: #f7f8fa;--color-photo-bg-edge: #dfe4eb;color-scheme:light;--color-bg: #fff;--color-bg-alt: #fff;--color-surface: #fff;--color-ink: #000;--color-ink-soft: #222;--color-muted: #444;--color-line: #ccc;--color-panel: #fff;--color-panel-ink: #000;--color-panel-muted: #333}@page{size:A4;margin:12mm 14mm}html{font-size:11px}body{line-height:1.45}.site-header,.site-footer,.skip-link,.hero__backdrop,.hero__actions,.hero__badge,.nav-toggle,.contact .btn,.quote__mark,.card__icon,.status,.projects-strip,.focus-list__number,.section__eyebrow,.job__badge,.job__aside::after,.timeline::before{display:none !important}.section,.hero{padding-block:.9rem}.section__head{margin-bottom:.9rem;break-after:avoid;page-break-after:avoid}h2,h3{break-after:avoid;page-break-after:avoid}.skill-group,.approach__item,.contact{break-inside:avoid}.section__title,.contact__title{font-size:1.6rem}.hero__inner{grid-template-columns:minmax(0, 1fr) 32mm;gap:1.5rem}.hero__title{font-size:2.8rem}.hero__portrait{order:0;width:32mm;margin:0}.stats{grid-template-columns:repeat(4, minmax(0, 1fr));margin-top:1rem}.stats__item{border-width:0 1px 0 0 !important;padding:.7rem}.stats__value{font-size:1.6rem}.about__grid,.approach,.background,.contact{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1rem}.about__intro{position:static}.focus-list,.quotes{grid-template-columns:repeat(2, minmax(0, 1fr));gap:.5rem}.quotes{grid-template-columns:repeat(3, minmax(0, 1fr))}.skills{grid-template-columns:repeat(2, minmax(0, 1fr));gap:.5rem}.job{grid-template-columns:7.5rem minmax(0, 1fr);gap:1rem}.job__aside{flex-direction:column;align-items:flex-start;padding-top:.6rem}.card{padding:.8rem 1rem;border-radius:.5rem}.timeline{gap:.6rem}.tag{padding:.1rem .45rem;font-size:.78rem !important}a{text-decoration:none !important}.hero__portrait::before{display:none}.card,.stats,.contact__channel{box-shadow:none !important;border-color:#ccc !important}.contact{padding:0;color:#222}.contact__title,.contact__value{color:#000 !important}.job,.card,.quote{break-inside:avoid}.reveal{opacity:1 !important;transform:none !important}}
