:root{--bg: #0b0b0c;--fg: rgba(255,255,255,.92);--muted: rgba(255,255,255,.62);--line: rgba(255,255,255,.12);--accent: rgba(220, 38, 38, .9);--accent-hover: rgba(220, 38, 38, 1);--max: 1120px;--pad: 20px;--serif: ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: "Playpen Sans", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--fg);text-decoration:none;border-bottom:1px solid transparent}a:hover{border-bottom-color:var(--line)}.container{max-width:var(--max);margin:0 auto;padding:28px var(--pad) 48px}.header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.headerRow{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px}.brand{display:flex;flex-direction:column;gap:6px;min-width:220px}.brand .name{font-size:18px;letter-spacing:.2px}.brand .role{font-size:14px;color:var(--muted);font-family:var(--sans)}.nav{display:flex;align-items:center;gap:18px;font-family:var(--sans);font-size:14px;color:var(--muted)}.nav a{color:var(--muted);border-bottom:1px solid transparent}.nav a:hover{color:var(--fg);border-bottom-color:var(--line)}.menuToggle{display:none;width:40px;height:40px;padding:0;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#ffffff05;cursor:pointer;align-items:center;justify-content:center;gap:4px}.menuBar{display:block;width:18px;height:2px;background:#ffffffb8;border-radius:999px;transition:transform .22s ease,opacity .18s ease,width .22s ease}.menuToggleOpen .menuBar:nth-child(1){transform:translateY(6px) rotate(45deg)}.menuToggleOpen .menuBar:nth-child(2){opacity:0;width:0}.menuToggleOpen .menuBar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.topline{margin-top:18px;border-top:1px solid var(--line)}.grid{display:grid;grid-template-columns:320px 1fr;gap:36px;padding-top:22px}.aboutGrid{grid-template-columns:360px 1fr}@media(max-width:900px){.grid{grid-template-columns:1fr;gap:24px}.aboutGrid{grid-template-columns:1fr}.sticky{position:static}.photoWrap{max-width:100%;margin:0 auto}.header{flex-direction:column;align-items:flex-start;gap:0px;position:relative}.nav{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:14px;flex-direction:column;align-items:flex-start;padding-top:6px;border-top:1px solid var(--line);max-height:0;opacity:0;transform:translateY(-6px);overflow:hidden;pointer-events:none;transition:max-height .26s ease,opacity .22s ease,transform .22s ease}.nav.navOpen{max-height:320px;opacity:1;transform:translateY(0);pointer-events:auto;margin-top:10px}.menuToggle{display:inline-flex;align-self:flex-start;margin-top:24px}.h1{font-size:28px}}@media(max-width:480px){.container{padding:20px 16px}.brand .name img{height:48px}.brand .role{font-size:12px}.brand .name{font-size:17px}.titleRow{flex-direction:column;gap:4px}.meta{margin-bottom:4px}.item{padding:15px 0}.linkRow{font-size:13px}}.left p{margin:0 0 12px;color:var(--muted);font-family:var(--sans);line-height:1.55;font-size:15px}.h1{font-size:34px;line-height:1.1;margin:0 0 10px}.lead{font-family:var(--sans);color:var(--muted);line-height:1.6;margin:0 0 18px}.links{display:flex;flex-direction:column;gap:10px;margin-top:14px;font-family:var(--sans);font-size:14px}.linkRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.linkRow .label{color:var(--muted)}.linkRow .value{color:var(--fg)}.arrow{opacity:.7}.photoCard{margin-top:18px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#ffffff05}.photoPlaceholder{aspect-ratio:4 / 5;display:flex;align-items:center;justify-content:center;color:#ffffff8c;font-family:var(--sans);font-size:13px;letter-spacing:.3px;padding:18px;text-align:center}.photoHint{padding:12px 14px;border-top:1px solid var(--line);color:var(--muted);font-family:var(--sans);font-size:12px;line-height:1.45}.section{padding-top:6px;overflow:visible}.sectionTitle{font-family:var(--sans);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}.rule{border-top:1px solid var(--line);margin:18px 0}.items{display:grid;grid-template-columns:1fr;gap:18px}.item{display:grid;grid-template-columns:220px 1fr;gap:22px;padding:10px 0}@media(max-width:900px){.item{grid-template-columns:1fr;gap:8px}}.meta{font-family:var(--sans);color:var(--muted);font-size:14px;line-height:1.45}.titleRow{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.job{font-size:18px;margin:0 0 6px}.company{font-family:var(--sans);font-size:14px;color:var(--muted)}.desc{margin:0;font-family:var(--sans);color:var(--muted);line-height:1.75;font-size:17px;max-width:820px}.pills{display:flex;flex-wrap:wrap;gap:8px;position:relative}.pill{font-family:var(--sans);font-size:14px;color:var(--muted);border:1px solid var(--line);padding:6px 10px;border-radius:999px;background:#ffffff05;transition:all .18s ease;display:inline-block}.pill:hover{background:#dc262626;border-color:#dc26264d;transform:translateY(-2px)}.langBar{display:flex;gap:6px;align-items:center}.langBtn{font-family:var(--sans);font-size:12px;color:var(--muted);border:1px solid var(--line);background:#ffffff05;padding:6px 10px;border-radius:999px;cursor:pointer}.langBtnActive{color:var(--fg);border-color:#ffffff47}.footer{margin-top:36px;border-top:1px solid var(--line);padding-top:14px;color:#ffffff6b;font-family:var(--sans);font-size:12px}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animPage{animation:fadeUp .42s ease both}.animBlock{animation:fadeUp .48s ease both}.animDelay1{animation-delay:60ms}.animDelay2{animation-delay:.12s}.animDelay3{animation-delay:.18s}.photoWrap{border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden;background:#ffffff05;transform:translateZ(0)}.photoMedia{width:100%;display:block;transform:scale(1);transition:transform .42s ease;will-change:transform}.photoWrap:hover .photoMedia{transform:scale(1.03)}.photoCaption{padding:10px 12px;border-top:1px solid rgba(255,255,255,.12);color:#ffffff8c;font-family:var(--sans);font-size:12px}.sticky{position:sticky;top:92px}@media(max-width:900px){.sticky{position:static;top:auto}}.nav a,.nav button{transition:color .18s ease,border-color .18s ease,opacity .18s ease}.modalCard{animation:fadeUp .22s ease both}.modalBackdrop{animation:fadeIn .18s ease both}.photoFrame{position:relative;width:100%;overflow:hidden}.photoFrame:before{content:"";display:block;padding-top:133.333%}@media(max-width:768px){.photoFrame{max-height:400px}.photoFrame:before{padding-top:100%}.left p{font-size:16px;line-height:1.6}}.photoImg{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);transition:transform .42s ease;will-change:transform}.photoWrap:hover .photoImg{transform:scale(1.04)}.item.project{border-left:2px solid rgba(220,38,38,.3);padding-left:14px}.projectLink{font-family:var(--sans);font-size:13px;color:#dc2626d9;border-bottom:1px solid transparent;transition:color .18s ease,border-color .18s ease}.projectLink:hover{color:#dc2626;border-bottom-color:#dc262680}.pillSmall{font-size:11px;padding:4px 10px}.item.cert{padding:12px 0;border-bottom:1px solid var(--line)}.item.cert:last-child{border-bottom:none}.certName{font-size:15px;font-weight:500;color:var(--fg);margin-bottom:4px}.certIssuer{font-family:var(--sans);font-size:13px;color:var(--muted);margin-bottom:6px}.desc.small{font-size:13px;margin-top:6px;margin-bottom:0}.item.language{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.item.language:last-child{border-bottom:none}.langName{font-size:15px;color:var(--fg);font-weight:500}.langLevel{font-family:var(--sans);font-size:13px;color:var(--muted)}@media(max-width:768px){.item.language{flex-direction:column;align-items:flex-start;gap:4px}}.statsBlock{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px}.statItem{text-align:center;padding:12px 8px}.statValue{font-size:32px;font-weight:600;color:#dc2626e6;margin-bottom:6px;font-family:var(--sans)}.statLabel{font-size:13px;color:var(--muted);font-family:var(--sans);text-transform:uppercase;letter-spacing:.05em}.keySkillsBlock{margin:32px 0;padding:24px;background:#ffffff05;border-left:3px solid rgba(220,38,38,.5);border-radius:8px}.subTitle{font-size:18px;font-weight:500;color:var(--fg);margin-bottom:16px;font-family:var(--sans)}.keySkillsList{display:flex;flex-direction:column;gap:12px}.keySkillItem{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.6}.keySkillIcon{color:#dc2626cc;font-size:18px;flex-shrink:0}.keySkillText{color:var(--fg)}.ctaBlock{margin-top:48px;padding:32px;background:#dc26260d;border:1px solid rgba(220,38,38,.2);border-radius:12px;text-align:center}.ctaTitle{font-size:24px;font-weight:600;color:var(--fg);margin-bottom:12px;font-family:var(--sans)}.ctaDesc{font-size:16px;color:var(--muted);margin-bottom:24px;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6}.ctaButtons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.ctaButton{padding:12px 24px;border-radius:8px;font-family:var(--sans);font-size:14px;font-weight:500;text-decoration:none;transition:all .2s ease;display:inline-block}.ctaButtonPrimary{background:#dc2626e6;border:1px solid rgba(220,38,38,1);color:#fff}.ctaButtonPrimary:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.ctaButtonSecondary{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:var(--fg)}.ctaButtonSecondary:hover{background:#ffffff14;border-color:#fff3}@media(max-width:768px){.statsBlock{grid-template-columns:1fr 1fr;gap:12px;padding:16px}.statValue{font-size:24px}.statLabel{font-size:11px}.keySkillsBlock{padding:20px}.ctaBlock{padding:24px 20px}.ctaTitle{font-size:20px}.ctaDesc{font-size:14px}.ctaButtons{flex-direction:column}.ctaButton{width:100%;text-align:center}}.contactForm{display:flex;flex-direction:column;gap:16px}.formGroup{display:flex;flex-direction:column;gap:6px}.formLabel{font-family:var(--sans);font-size:13px;color:var(--muted);font-weight:500}.formInput{width:100%;padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--fg);font-family:var(--serif);font-size:14px;transition:all .18s ease;outline:none}.formInput:focus{background:#ffffff0f;border-color:#dc262680;box-shadow:0 0 0 3px #dc26261a}.formInput:disabled{opacity:.5;cursor:not-allowed}.formInput::placeholder{color:#ffffff4d}.formTextarea{resize:vertical;min-height:100px;font-family:var(--sans);line-height:1.5}.formButton{padding:12px 24px;background:#dc262626;border:1px solid rgba(220,38,38,.3);border-radius:8px;color:#dc2626;font-family:var(--sans);font-size:14px;font-weight:500;cursor:pointer;transition:all .18s ease;outline:none}.formButton:hover:not(:disabled){background:#dc262640;border-color:#dc262680;transform:translateY(-1px)}.formButton:active:not(:disabled){transform:translateY(0)}.formButton:disabled{opacity:.6;cursor:not-allowed}.formMessage{padding:12px;border-radius:8px;font-family:var(--sans);font-size:13px;animation:slideIn .3s ease}.formSuccess{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.formError{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}html{scroll-behavior:smooth}.modalContent::-webkit-scrollbar{width:8px}.modalContent::-webkit-scrollbar-track{background:#ffffff05;border-radius:4px}.modalContent::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px;transition:background .18s ease}.modalContent::-webkit-scrollbar-thumb:hover{background:#fff3}.modalContent{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) rgba(255,255,255,.02)}.skillPill{position:relative;display:inline-block}.tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:#0f0f10fa;border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:10px 14px;font-family:var(--sans);font-size:12px;line-height:1.5;color:#ffffffd9;white-space:normal;max-width:220px;width:max-content;min-width:120px;text-align:center;z-index:1000;pointer-events:none;box-shadow:0 8px 24px #00000080;animation:tooltipFadeIn .2s ease}.tooltipArrow{position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(255,255,255,.16)}.tooltipArrow:after{content:"";position:absolute;top:-7px;left:-5px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid rgba(15,15,16,.98)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:768px){.tooltip{max-width:180px;font-size:11px;padding:8px 12px}}.photoWrap{transition:all .3s ease}.photoWrap:hover{border-color:#ffffff3d;box-shadow:0 8px 24px #0000004d}.skeleton{background:linear-gradient(90deg,#ffffff0a,#ffffff14,#ffffff0a);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeletonText{height:16px;margin-bottom:8px}.skeletonTitle{height:24px;width:60%;margin-bottom:12px}.skeletonImage{width:100%;padding-top:133.333%}
