.Footer_footer__pQtti{border-top:1px solid var(--color-border);margin-top:var(--space-3xl)}.Footer_inner__vtL_T{max-width:var(--max-width);margin:0 auto;padding:var(--space-2xl) var(--content-padding);display:flex;justify-content:space-between;align-items:center}.Footer_left__F3Git{display:flex;flex-direction:column;gap:var(--space-xs)}.Footer_logo__fUEOF{font-size:14px;font-weight:600;color:var(--color-text)}.Footer_role__u8v1L{font-size:13px;color:var(--color-text-light)}.Footer_links__cFiYr{display:flex;gap:var(--space-lg)}.Footer_link__TBOP7{font-size:14px;color:var(--color-text-muted);transition:color var(--transition-base)}.Footer_link__TBOP7:hover{color:var(--color-text)}.Footer_copyright__j4atB{max-width:var(--max-width);margin:0 auto;padding:0 var(--content-padding) var(--space-xl);font-size:12px;color:var(--color-text-light)}@media (max-width:640px){.Footer_inner__vtL_T{flex-direction:column;gap:var(--space-lg);text-align:center}.Footer_copyright__j4atB{text-align:center}}.page_main__4biF_{padding:4rem 2rem;min-height:80vh}.page_article__p1HAz{max-width:800px;margin:0 auto}.page_header__TbIWB{margin-bottom:3rem}.page_backLink__RUEK1{color:#666;text-decoration:none;font-size:.9rem;display:block;margin-bottom:2rem}.page_backLink__RUEK1:hover{text-decoration:underline}.page_meta___OUFl{font-size:.9rem;color:#888;margin-bottom:1rem}.page_title__IJE1F{font-size:3rem;font-weight:800;line-height:1.1;margin-bottom:1rem}.page_excerpt__Wajg5{font-size:1.25rem;color:#555;line-height:1.6;margin-bottom:1.5rem}.page_tags__ffkBj{display:flex;gap:.5rem;flex-wrap:wrap}.page_tag__dHGOI{background:#f0f0f0;padding:.25rem .75rem;border-radius:999px;font-size:.8rem;color:#333}.page_content__GuKF8{display:flex;flex-direction:column;gap:2rem;font-size:1.1rem;line-height:1.8;color:#111}.page_textBlock__NtcOZ h2{margin-top:2rem;margin-bottom:1rem;font-size:1.8rem}.page_textBlock__NtcOZ h3{margin-top:1.5rem;margin-bottom:.75rem;font-size:1.4rem}.page_textBlock__NtcOZ li{margin-left:1.5rem;margin-bottom:.5rem}.page_codeBlock__hfL3p{background:#1e293b;border-radius:8px;overflow:hidden;margin:1rem 0}.page_codeHeader___a_t9{background:#0f172a;color:#94a3b8;padding:.5rem 1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.page_codeBlock__hfL3p pre{padding:1.5rem;overflow-x:auto;margin:0}.page_codeBlock__hfL3p code{font-family:Fira Code,monospace;color:#e2e8f0;font-size:.9rem}.page_imageBlock__cQFLk{margin:2rem 0;text-align:center}.page_imageBlock__cQFLk img{max-width:100%;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1)}.page_imageBlock__cQFLk figcaption{margin-top:.75rem;font-size:.9rem;color:#666;font-style:italic}.page_fileBlock__J1Xej{margin:1rem 0}.page_downloadBtn__WKlS_{display:inline-flex;align-items:center;background:#f0f9ff;color:#0284c7;padding:1rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:500;border:1px solid #bae6fd;transition:all .2s}.page_downloadBtn__WKlS_:hover{background:#e0f2fe;transform:translateY(-2px);box-shadow:0 4px 6px rgba(0,0,0,.05)}.page_embedBlock__sm4Yh{margin:2rem 0;border:1px solid #eee;border-radius:8px;overflow:hidden}.page_embedBlock__sm4Yh iframe{width:100%;display:block}.page_main__DjR8A{max-width:var(--max-width);margin:0 auto;padding:var(--space-3xl) var(--content-padding) var(--space-4xl);animation:page_fadeInUp__DS2M_ .5s ease-out}.page_pageHeader__8FGMx{margin-bottom:var(--space-3xl)}.page_pageTitle__XgZgs{font-family:var(--font-serif);font-size:48px;font-weight:400;letter-spacing:-.03em;margin:0 0 var(--space-md) 0}.page_pageDescription__SHGFD{font-size:18px;color:var(--color-text-muted);margin:0}.page_postList__2JZ5t{display:flex;flex-direction:column;gap:var(--space-sm)}@media (max-width:768px){.page_pageTitle__XgZgs{font-size:36px}}.page_container__G0OsO{max-width:1200px;margin:0 auto;padding:4rem 2rem}.page_header__pv_xI{text-align:center;margin-bottom:4rem}.page_title__P5r__{font-size:3rem;font-weight:800;margin-bottom:1rem;letter-spacing:-.02em}.page_subtitle__rm_WS{color:#666;font-size:1.2rem;max-width:600px;margin:0 auto}.page_grid__6Rclh{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));grid-gap:2rem;gap:2rem}.page_card__zupq_{background:#fff;border:1px solid #eaeaea;border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;height:100%}.page_card__zupq_:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.06);border-color:#000}.page_cardLink__ktGu_{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}.page_cardBody__GzokU{padding:2rem;flex-grow:1;display:flex;flex-direction:column}.page_date__N_9Qm{font-size:.85rem;color:#888;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.page_cardTitle__qle15{font-size:1.5rem;font-weight:700;margin-bottom:1rem;line-height:1.3}.page_cardExcerpt__Clafo{color:#555;line-height:1.6;margin-bottom:1.5rem;flex-grow:1}.page_tags__poOrr{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.page_tag__uyIS_{background:#f5f5f5;color:#444;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600}.page_main__68LTv{max-width:700px;margin:0 auto;padding:var(--space-3xl) var(--content-padding) var(--space-4xl);animation:page_fadeInUp__Ohmsn .5s ease-out}.page_header__cPZ1Z{margin-bottom:var(--space-3xl)}.page_backLink__h8SCE{display:inline-block;font-size:14px;color:var(--color-text-muted);margin-bottom:var(--space-xl);transition:color var(--transition-base)}.page_backLink__h8SCE:hover{color:var(--color-accent)}.page_meta__WCrlH{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.page_date__nB6LB{font-size:14px;color:var(--color-text-light)}.page_readTime__JUvkl{font-size:13px;color:var(--color-accent);font-weight:500}.page_title__p_bPA{font-family:var(--font-serif);font-size:40px;font-weight:400;letter-spacing:-.03em;line-height:1.2;margin:0}.page_content__ijNWj{font-size:18px;line-height:1.8;color:var(--color-text)}.page_content__ijNWj .page_h2__spZTA{font-family:var(--font-serif);font-size:26px;font-weight:400;margin:var(--space-3xl) 0 var(--space-lg) 0;letter-spacing:-.02em}.page_content__ijNWj .page_p__tEBRg{margin:0 0 var(--space-lg) 0}.page_content__ijNWj .page_bold__3E5Nm{font-weight:600}.page_content__ijNWj .page_li__6a7CV{margin:0 0 var(--space-sm) 0;margin-left:var(--space-lg)}@media (max-width:768px){.page_title__p_bPA{font-size:32px}.page_content__ijNWj{font-size:17px}}.page_main__nw1Wk{max-width:var(--max-width);margin:0 auto;padding:0 var(--content-padding)}.page_projectGrid___QL_D{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.page_postList__k1Ke5{display:flex;flex-direction:column;gap:var(--space-sm)}@media (max-width:768px){.page_projectGrid___QL_D{grid-template-columns:1fr}}.Header_header__KwdYD{position:-webkit-sticky;position:sticky;top:0;background-color:hsla(0,0%,98%,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);z-index:100}.Header_inner__DLT3k{max-width:var(--max-width);margin:0 auto;padding:var(--space-md) var(--content-padding);display:flex;justify-content:space-between;align-items:center}.Header_logo____uDV{display:flex;align-items:center;gap:10px}.Header_logoMark__IZn0U{font-size:18px;color:var(--color-accent)}.Header_logoText__xA8kS{font-size:16px;font-weight:600;color:var(--color-text);letter-spacing:-.02em}.Header_nav__tNWGY{display:flex;align-items:center;gap:var(--space-xl)}.Header_navLink__Rvw2c{font-size:14px;color:var(--color-text-muted);padding:var(--space-sm) 0;transition:color var(--transition-base)}.Header_navLink__Rvw2c:hover{color:var(--color-text)}.Header_navLink__Rvw2c.Header_active__c7HdO{color:var(--color-text);font-weight:500}.Header_contactBtn__vQ79T{font-size:14px;padding:10px 20px;background-color:var(--color-text);color:#fff;border-radius:var(--radius-md);font-weight:500;transition:background-color var(--transition-base)}.Header_contactBtn__vQ79T:hover{background-color:#333}@media (max-width:640px){.Header_nav__tNWGY{gap:var(--space-md)}.Header_contactBtn__vQ79T{padding:8px 16px;font-size:13px}}.Hero_hero__bqvNd{display:grid;grid-template-columns:1fr auto;grid-gap:60px;gap:60px;align-items:center;min-height:40vh;padding:60px 120px 60px 0}.Hero_content__WDVga{animation:Hero_fadeInUp__eGRou .6s ease-out}.Hero_label__VX83_{font-size:13px;font-weight:500;color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-md)}.Hero_title__h4PJ2{font-family:var(--font-serif);font-size:clamp(40px,8vw,64px);font-weight:400;line-height:1.1;letter-spacing:-.03em;margin:0 0 var(--space-lg) 0;color:var(--color-text)}.Hero_accent___7FV1{color:var(--color-accent)}.Hero_description__1ZEJN{font-size:18px;color:var(--color-text-muted);max-width:500px;margin-bottom:var(--space-2xl);line-height:1.7}.Hero_actions__yXeUX{display:flex;gap:var(--space-md)}.Hero_primaryBtn__iP4or{display:inline-flex;align-items:center;gap:var(--space-sm);padding:14px 28px;background-color:var(--color-text);color:#fff;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:500;transition:all var(--transition-base)}.Hero_primaryBtn__iP4or:hover{background-color:#333}.Hero_primaryBtn__iP4or:hover .Hero_arrow__9HQOS{transform:translateX(4px)}.Hero_arrow__9HQOS{transition:transform var(--transition-base)}.Hero_secondaryBtn__lJPVh{padding:14px 28px;background-color:transparent;color:var(--color-text);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);font-size:15px;font-weight:500;transition:all var(--transition-base)}.Hero_secondaryBtn__lJPVh:hover{border-color:var(--color-text)}.Hero_visual__Gy317{display:flex;justify-content:center;align-items:center;animation:Hero_fadeInUp__eGRou .6s ease-out .2s both}.Hero_imageWrapper__ivb5_{position:relative;display:inline-block;line-height:0;width:max-content}.Hero_imageWrapper__ivb5_:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background:linear-gradient(120deg,transparent 20%,hsla(0,0%,100%,.2) 40%,rgba(37,99,235,.3) 50%,hsla(0,0%,100%,.2) 60%,transparent 80%);background-size:200% 100%;mask-image:url(/me.png);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url(/me.png);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;animation:Hero_shineWash__jaxZW 15s linear infinite;pointer-events:none}@keyframes Hero_shineWash__jaxZW{0%{background-position:200% 0}to{background-position:-200% 0}}.Hero_profileImage__Wkddg{width:auto;height:auto;max-width:450px;max-height:450px;object-fit:contain;display:block}@media (max-width:900px){.Hero_hero__bqvNd{grid-template-columns:1fr;gap:var(--space-3xl);padding:var(--space-3xl) 0;padding-right:0;min-height:auto}.Hero_visual__Gy317{order:-1;justify-content:flex-start}.Hero_profileImage__Wkddg{max-width:250px}}.PostRow_row__Z_l6S{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-lg);border-radius:var(--radius-md);transition:background-color var(--transition-base);cursor:pointer;animation:PostRow_fadeInUp__zqUUM .5s ease-out both}.PostRow_row__Z_l6S:hover{background-color:rgba(0,0,0,.02)}.PostRow_info__qzuhI{flex:1 1;margin-right:var(--space-2xl)}.PostRow_title__Ts5Jy{font-size:18px;font-weight:600;margin:0 0 var(--space-sm) 0;letter-spacing:-.01em;color:var(--color-text)}.PostRow_excerpt__Ooh4K{font-size:14px;color:var(--color-text-muted);margin:0;line-height:1.5}.PostRow_meta__M1ERn{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs);flex-shrink:0}.PostRow_date__Svb8A{font-size:13px;color:var(--color-text-light)}.PostRow_readTime__NxpKx{font-size:12px;color:var(--color-accent);font-weight:500}@media (max-width:640px){.PostRow_row__Z_l6S{flex-direction:column;gap:var(--space-md)}.PostRow_info__qzuhI{margin-right:0}.PostRow_meta__M1ERn{flex-direction:row;align-items:center;gap:var(--space-md)}}.ProjectCard_card__ynzED{background-color:var(--color-bg-alt);border-radius:var(--radius-lg);padding:28px;transition:transform var(--transition-slow),box-shadow var(--transition-slow);animation:ProjectCard_fadeInUp__Q_dcq .5s ease-out both;cursor:pointer;box-shadow:var(--shadow-sm)}.ProjectCard_card__ynzED:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.ProjectCard_meta___zlZS{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.ProjectCard_date__6w186{font-size:13px;color:var(--color-text-light);font-weight:500}.ProjectCard_metrics__KVeC4{display:flex;gap:var(--space-sm)}.ProjectCard_metric__0xGDu{font-size:13px;font-weight:600;color:var(--color-accent);background-color:var(--color-accent-light);padding:4px 10px;border-radius:var(--radius-sm)}.ProjectCard_title__rP0_G{font-size:20px;font-weight:600;margin:0 0 12px;letter-spacing:-.02em;line-height:1.3;color:var(--color-text)}.ProjectCard_excerpt__4A0QZ{font-size:15px;color:var(--color-text-muted);margin:0 0 20px;line-height:1.6}.ProjectCard_tags__XdVcf{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.ProjectCard_tag__5dAJt{font-size:12px;font-weight:500;color:var(--color-text-muted);background-color:rgba(0,0,0,.04);padding:5px 10px;border-radius:var(--radius-sm)}.Section_section__rXxcK{padding:var(--space-4xl) 0;border-top:1px solid var(--color-border)}.Section_header__D1nq4{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-2xl)}.Section_title__3e7VL{font-family:var(--font-serif);font-size:32px;font-weight:400;letter-spacing:-.02em;margin:0}.Section_viewAll__ipOHQ{font-size:14px;color:var(--color-accent);font-weight:500;transition:opacity var(--transition-base)}.Section_viewAll__ipOHQ:hover{opacity:.8}