body{margin:0}#root{min-height:100svh}:root{--text:#242424;--text-secondary:#6b6b6b;--text-light:#999;--bg:#fff;--border:#e6e6e6;--accent:#1a8917;--tag-bg:#f2f2f2;--max-width:800px;--font-serif:Georgia, Charter, "Times New Roman", serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-serif);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:18px;line-height:1.7}.topbar{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#fffffff2;position:sticky;top:0}.topbar-inner{max-width:var(--max-width);justify-content:space-between;align-items:center;height:56px;margin:0 auto;padding:0 24px;display:flex}.topbar-name{font-family:var(--font-sans);color:var(--text);letter-spacing:-.01em;font-size:15px;font-weight:600;text-decoration:none}.topbar-nav{gap:28px;list-style:none;display:flex}.topbar-nav a{font-family:var(--font-sans);color:var(--text-secondary);font-size:14px;font-weight:500;text-decoration:none;transition:color .15s}.topbar-nav a:hover,.topbar-nav a.active{color:var(--text)}.hamburger{width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;justify-content:center;gap:5px;padding:6px;transition:background .15s;display:none}.hamburger:hover{background:var(--tag-bg)}.hamburger-icon{color:inherit;transition:opacity .15s;display:block}.hamburger-x,.hamburger.is-open .hamburger-bars{display:none}.hamburger.is-open .hamburger-x{display:block}.drawer-overlay{z-index:150;background:#00000059;animation:.2s fade-in;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.drawer{z-index:200;background:var(--bg);flex-direction:column;width:260px;height:100%;padding:20px 0 32px;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-4px 0 24px #0000001f}.drawer.drawer-open{transform:translate(0)}.drawer-close{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-self:flex-end;align-items:center;margin-bottom:16px;margin-right:20px;font-size:18px;transition:background .15s,color .15s;display:flex}.drawer-close:hover{background:var(--tag-bg);color:var(--text)}.drawer-nav{flex-direction:column;list-style:none;display:flex}.drawer-nav a{font-family:var(--font-sans);color:var(--text);border-bottom:1px solid var(--border);padding:14px 28px;font-size:17px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:block}.drawer-nav a:hover,.drawer-nav a.active{background:var(--tag-bg);color:var(--accent)}.content{max-width:var(--max-width);margin:0 auto;padding:0 24px}.hero{border-bottom:1px solid var(--border);padding:64px 0 56px}.hero-avatar{object-fit:cover;border-radius:50%;width:96px;height:96px;margin-bottom:24px;display:block}.hero-name{font-family:var(--font-sans);color:var(--text);letter-spacing:-.02em;margin-bottom:6px;font-size:28px;font-weight:600;line-height:1.2}.hero-subtitle{font-family:var(--font-sans);color:var(--text-secondary);margin-bottom:16px;font-size:16px;font-weight:400}.hero-location{font-family:var(--font-sans);color:var(--text-light);margin-bottom:24px;font-size:14px}.hero-links{flex-wrap:wrap;gap:16px;display:flex}.hero-link{font-family:var(--font-sans);color:var(--accent);align-items:center;gap:5px;font-size:14px;font-weight:500;text-decoration:none;transition:opacity .15s;display:flex}.hero-link:hover{opacity:.75}.section{border-bottom:1px solid var(--border);padding:48px 0}.section-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);margin-bottom:24px;font-size:12px;font-weight:600}.about-text{color:var(--text);margin-bottom:28px;font-size:18px;line-height:1.75}.about-text p+p{margin-top:16px}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{font-family:var(--font-sans);color:var(--text-secondary);background:var(--tag-bg);border-radius:4px;padding:4px 10px;font-size:13px;font-weight:500}.experience-list{flex-direction:column;gap:36px;display:flex}.exp-item{grid-template-columns:1fr;gap:4px;display:grid}.exp-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.exp-company{font-family:var(--font-sans);color:var(--text);margin-bottom:2px;font-size:15px;font-weight:600}.exp-role{font-family:var(--font-sans);color:var(--text-secondary);margin-bottom:2px;font-size:14px;font-weight:500}.exp-meta{font-family:var(--font-sans);color:var(--text-light);white-space:nowrap;text-align:right;flex-shrink:0;font-size:13px}.exp-desc{color:var(--text-secondary);margin-top:8px;font-size:16px;line-height:1.7}.edu-item{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.edu-school{font-family:var(--font-sans);color:var(--text);margin-bottom:2px;font-size:15px;font-weight:600}.edu-degree{font-family:var(--font-sans);color:var(--text-secondary);font-size:14px}.edu-year{font-family:var(--font-sans);color:var(--text-light);white-space:nowrap;font-size:13px}.grid-2col{grid-template-columns:1fr 1fr;gap:32px;display:grid}.grid-subsection-title{font-family:var(--font-sans);color:var(--text-light);text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;font-size:13px;font-weight:600}.lang-list,.cert-list{flex-direction:column;gap:10px;list-style:none;display:flex}.lang-list li,.cert-list li{font-family:var(--font-sans);color:var(--text);justify-content:space-between;align-items:center;font-size:14px;display:flex}.lang-level{color:var(--text-light);font-size:13px}.footer{border-top:1px solid var(--border);padding:40px 0}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px}.footer-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:24px;display:grid}.footer-col-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.07em;color:var(--text-light);margin-bottom:8px;font-size:12px;font-weight:600}.footer-links{flex-direction:column;gap:6px;list-style:none;display:flex}.footer-links a{font-family:var(--font-sans);color:var(--text-secondary);font-size:14px;font-weight:400;text-decoration:none;transition:color .15s}.footer-links a:hover{color:var(--text)}.footer-copy{font-family:var(--font-sans);color:var(--text-light);font-size:13px}.app-cards{flex-direction:column;gap:20px;display:flex}.app-card{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:16px;padding:24px;display:flex}.app-card-body{align-items:flex-start;gap:16px;display:flex}.app-card-icon{object-fit:cover;border-radius:13px;flex-shrink:0;width:60px;height:60px;display:block}.app-card-info{flex-direction:column;gap:4px;display:flex}.app-card-name{font-family:var(--font-sans);color:var(--text);font-size:16px;font-weight:600}.app-card-tagline{font-family:var(--font-sans);color:var(--text-secondary);font-size:14px}.app-card-platforms{gap:6px;margin-top:4px;display:flex}.app-platform-tag{font-family:var(--font-sans);color:var(--accent);background:#1a891714;border-radius:20px;padding:2px 8px;font-size:12px;font-weight:500}.app-card-desc{color:var(--text-secondary);font-size:15px;line-height:1.65}.app-store-badge{line-height:0;transition:opacity .15s;display:inline-block}.app-store-badge:hover{opacity:.8}.app-store-badge img{width:auto;height:40px}.product-card{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:20px;padding:32px;display:flex}.product-card-header{align-items:flex-start;gap:20px;display:flex}.product-card-icon{object-fit:cover;border-radius:18px;flex-shrink:0;width:80px;height:80px;display:block}.product-card-meta{flex-direction:column;gap:6px;display:flex}.product-card-name{font-family:var(--font-sans);color:var(--text);letter-spacing:-.01em;font-size:22px;font-weight:600}.product-card-tagline{font-family:var(--font-sans);color:var(--text-secondary);font-size:15px}.product-card-platforms{gap:6px;margin-top:2px;display:flex}.product-card-desc{color:var(--text-secondary);font-size:17px;line-height:1.7}.home-hero{border-bottom:1px solid var(--border);padding:80px 0 64px}.home-hero-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:16px;font-size:12px;font-weight:600}.home-hero-title{font-family:var(--font-sans);color:var(--text);letter-spacing:-.02em;margin-bottom:16px;font-size:36px;font-weight:600;line-height:1.2}.home-hero-desc{color:var(--text-secondary);max-width:600px;font-size:18px;line-height:1.75}.fade-in-target{opacity:0;transition:opacity .4s,transform .4s;transform:translateY(20px)}.fade-in-target.fade-in-visible{opacity:1;transform:translateY(0)}.product-banner{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:16px;padding:32px;display:flex}.product-banner-header{align-items:center;gap:16px;display:flex}.product-banner-icon{object-fit:cover;border-radius:12px;flex-shrink:0;width:56px;height:56px;display:block}.product-banner-meta{flex-direction:column;gap:6px;display:flex}.product-banner-name{font-family:var(--font-sans);color:var(--text);letter-spacing:-.01em;font-size:20px;font-weight:600}.product-banner-platforms{gap:6px;display:flex}.product-banner-tagline{color:var(--text-secondary);max-width:560px;font-size:16px;line-height:1.65}.product-banner-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;display:flex}.btn-primary{font-family:var(--font-sans);color:#fff;background:var(--text);border-radius:6px;padding:9px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-block}.btn-primary:hover{opacity:.8}.btn-secondary{font-family:var(--font-sans);color:var(--text);background:var(--tag-bg);border-radius:6px;padding:9px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s;display:inline-block}.btn-secondary:hover{background:var(--border)}.all-products-row{margin-top:20px}.all-products-link{font-family:var(--font-sans);color:var(--text-secondary);font-size:14px;font-weight:500;text-decoration:none;transition:color .15s}.all-products-link:hover{color:var(--text)}.contact-section{border-bottom:1px solid var(--border);padding:64px 0}.contact-lead{color:var(--text-secondary);max-width:560px;margin-bottom:32px;font-size:18px;line-height:1.75}.contact-link-row{align-items:center;gap:12px;margin-bottom:16px;display:flex}.contact-link-label{font-family:var(--font-sans);color:var(--text-light);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;width:60px;font-size:13px}.contact-link{font-family:var(--font-sans);color:var(--accent);font-size:15px;font-weight:500;text-decoration:none;transition:opacity .15s}.contact-link:hover{opacity:.75}@media (width<=768px){body{font-size:clamp(17px,21.1px - .53vw,19px)}.about-text,.exp-desc{font-size:inherit}.hamburger{display:flex}.topbar-nav-desktop{display:none}.hero{padding:40px 0}.hero-name{font-size:clamp(20px,24px - .52vw,22px)}.exp-company{font-size:17px}.exp-role{font-size:16px}.section-title{font-size:14px}.tag{font-size:15px}.exp-meta{text-align:left;white-space:normal;font-size:15px}.lang-list li,.cert-list li{font-size:17px}.lang-level{font-size:15px}.edu-school{font-size:17px}.edu-degree{font-size:16px}.footer-grid{grid-template-columns:1fr;gap:20px;margin-bottom:20px}.footer-links a{font-size:15px}.footer-copy{font-size:14px}.exp-header{flex-direction:column;gap:4px}.grid-2col{grid-template-columns:1fr;gap:24px}.app-card-desc{font-size:inherit}.app-card-name{font-size:clamp(16px,20px - .52vw,18px)}.app-card-tagline{font-size:16px}.app-platform-tag{font-size:14px}.home-hero{padding:48px 0 40px}.home-hero-title{font-size:clamp(24px,32px - 1vw,30px)}.home-hero-desc{font-size:inherit}.product-banner{padding:24px}.product-banner-tagline{font-size:inherit}.product-card{padding:24px}.product-card-name{font-size:18px}.product-card-desc{font-size:inherit}.contact-section{padding:40px 0}.contact-lead{font-size:inherit}}@media (width>=769px){.hamburger{display:none}.drawer,.drawer-overlay{display:none!important}}
