*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #ffffff;--color-bg-subtle: #f9fafb;--color-border: #e5e7eb;--color-text: #111827;--color-text-secondary: #6b7280;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", Menlo, monospace;--max-width: 780px;--spacing-section: 80px}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}nav{position:sticky;top:0;z-index:100;background:#ffffffe6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border);padding:0 24px}.nav-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:56px}.nav-name{font-size:14px;font-weight:600;letter-spacing:.01em;color:var(--color-text);text-decoration:none}.nav-links{display:flex;gap:28px;list-style:none}.nav-links a{font-size:13px;color:var(--color-text-secondary);text-decoration:none;font-weight:500;transition:color .15s}.nav-links a:hover{color:var(--color-text)}main{max-width:var(--max-width);margin:0 auto;padding:0 24px}.hero{padding:80px 0 64px;border-bottom:1px solid var(--color-border)}.hero-label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:18px}.hero h1{font-size:clamp(40px,7vw,58px);font-weight:700;letter-spacing:-.035em;line-height:1.08;margin-bottom:22px}.hero-desc{font-size:17px;color:var(--color-text-secondary);max-width:540px;line-height:1.7;margin-bottom:36px}.hero-contacts{display:flex;flex-wrap:wrap;gap:10px}.contact-link{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--color-text);text-decoration:none;padding:8px 14px;border:1px solid var(--color-border);border-radius:7px;transition:border-color .15s,background .15s}.contact-link:hover{background:var(--color-bg-subtle);border-color:#9ca3af}.contact-link svg{width:14px;height:14px;flex-shrink:0}.section{padding:var(--spacing-section) 0;border-bottom:1px solid var(--color-border)}.section:last-of-type{border-bottom:none}.section-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:32px}.about-text{font-size:16px;line-height:1.8;color:#374151}.about-text p+p{margin-top:16px}.experience-list{display:flex;flex-direction:column;gap:36px}.exp-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}.exp-company{font-size:15px;font-weight:600;color:var(--color-text)}.exp-date{font-size:12px;color:var(--color-text-secondary);white-space:nowrap;font-family:var(--font-mono);flex-shrink:0;padding-top:3px}.exp-desc{font-size:14px;line-height:1.75;color:#4b5563}.skills-groups{display:flex;flex-direction:column;gap:28px}.skill-group-name{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:10px}.skill-tags{display:flex;flex-wrap:wrap;gap:6px}.skill-tag{font-size:12px;font-weight:500;color:var(--color-text);background:var(--color-bg-subtle);border:1px solid var(--color-border);padding:4px 10px;border-radius:5px;font-family:var(--font-mono)}.edu-list{display:flex;flex-direction:column;gap:28px}.edu-degree{font-size:15px;font-weight:600;margin-bottom:3px}.edu-school{font-size:14px;color:var(--color-text-secondary)}.edu-date{font-size:12px;color:var(--color-text-secondary);font-family:var(--font-mono);margin-top:4px}.lang-list{display:flex;gap:8px;flex-wrap:wrap}.lang-item{font-size:13px;font-weight:500;padding:5px 14px;border:1px solid var(--color-border);border-radius:100px}.capabilities-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px}.capability-name{font-size:13px;font-weight:700;color:var(--color-text);margin-bottom:8px}.capability-desc{font-size:13px;line-height:1.75;color:#4b5563}@media (max-width: 640px){.capabilities-grid{grid-template-columns:1fr;gap:24px}}.blog-intro{font-size:15px;color:var(--color-text-secondary);line-height:1.7;margin-bottom:32px}.blog-intro strong{color:var(--color-text);font-weight:600}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.blog-card{border:1px solid var(--color-border);border-radius:10px;padding:24px;text-decoration:none;color:inherit;display:block;transition:border-color .15s,box-shadow .15s}.blog-card:not(.blog-coming-soon):hover{border-color:#9ca3af;box-shadow:0 4px 16px #0000000f}.blog-coming-soon{opacity:.45;pointer-events:none}.blog-card-top{display:flex;align-items:center;gap:8px;margin-bottom:12px}.blog-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary)}.blog-soon-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--color-bg-subtle);border:1px solid var(--color-border);color:var(--color-text-secondary);padding:2px 8px;border-radius:4px}.blog-title{font-size:15px;font-weight:600;line-height:1.4;margin-bottom:8px}.blog-excerpt{font-size:13px;color:var(--color-text-secondary);line-height:1.65}.blog-meta{margin-top:16px;font-size:12px;color:#9ca3af;font-family:var(--font-mono)}footer{padding:36px 24px;text-align:center;font-size:13px;color:var(--color-text-secondary);border-top:1px solid var(--color-border);max-width:var(--max-width);margin:0 auto}footer a{color:inherit}footer a:hover{color:var(--color-text)}@media (max-width: 640px){.nav-links{display:none}.exp-header{flex-direction:column;gap:4px}.exp-date{order:-1}.blog-grid{grid-template-columns:1fr}:root{--spacing-section: 56px}}
