.D3Visualization_container__BGLCc{width:100%;position:relative;min-height:200px}.D3Visualization_svg__U6qU6{display:block;width:100%;height:auto}.D3Visualization_loading__EA3uo{color:var(--color-text-muted)}.D3Visualization_error__m7b5U,.D3Visualization_loading__EA3uo{text-align:center;padding:var(--space-8);font-size:var(--text-sm)}.D3Visualization_error__m7b5U{color:var(--color-accent)}.PortfolioPage_container__0pDJ_{max-width:860px;margin:0 auto;padding:0 var(--space-6)}.PortfolioPage_back__G5E_l{display:inline-block;font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-8);transition:color var(--transition-fast),filter var(--transition-fast)}.PortfolioPage_back__G5E_l:hover{color:var(--color-accent);filter:brightness(.95)}.PortfolioPage_header__HImuq{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:3px solid var(--color-border)}.PortfolioPage_title__nSWhZ{font-size:var(--text-4xl);font-weight:800;letter-spacing:-.03em;margin-bottom:var(--space-2)}.PortfolioPage_period__LqvZi{font-size:var(--text-base);color:var(--color-text-muted)}.PortfolioPage_content__5zWKv{line-height:1.8}.PortfolioPage_content__5zWKv p{margin-bottom:var(--space-4);font-size:var(--text-base)}.PortfolioPage_content__5zWKv h2{font-size:var(--text-2xl);font-weight:700;margin:var(--space-10) 0 var(--space-4)}.PortfolioPage_content__5zWKv h3{font-size:var(--text-xl);font-weight:600;margin:var(--space-6) 0 var(--space-3)}.PortfolioPage_content__5zWKv ol,.PortfolioPage_content__5zWKv ul{padding-left:var(--space-6);margin-bottom:var(--space-4)}.PortfolioPage_content__5zWKv ul{list-style:disc}.PortfolioPage_content__5zWKv ol{list-style:decimal}.PortfolioPage_content__5zWKv li{margin-bottom:var(--space-2);font-size:var(--text-base)}.PortfolioPage_content__5zWKv a{text-decoration:underline}.PortfolioPage_content__5zWKv strong{font-weight:600}.PortfolioPage_content__5zWKv img{border-radius:6px;margin:var(--space-6) 0;box-shadow:var(--shadow-md)}.PortfolioPage_content__5zWKv figure{margin:var(--space-8) 0}.PortfolioPage_content__5zWKv figcaption{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2);text-align:center}.PortfolioPage_videoWrapper__4bmym{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:6px;margin:var(--space-8) 0;box-shadow:var(--shadow-md)}.PortfolioPage_videoWrapper__4bmym iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.PortfolioPage_pagination__W6EmB{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-16);padding-top:var(--space-8);border-top:3px solid var(--color-border)}.PortfolioPage_paginationPrev__WZp30{flex:1 1}.PortfolioPage_paginationNext__nCN9I{flex:1 1;text-align:right}.PortfolioPage_paginationLink__MKQxz{display:inline-flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-6);color:var(--color-text);background:var(--color-surface);border:3px solid var(--color-border);border-radius:8px;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),filter var(--transition-fast)}.PortfolioPage_paginationLink__MKQxz:hover{background:var(--color-bg);border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px);filter:brightness(.95)}.PortfolioPage_paginationLabel__gAc9K{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.PortfolioPage_paginationTitle__FkzFX{font-size:var(--text-sm);font-weight:500}.page_demo__Jj2mC{margin-bottom:var(--space-16)}.page_demo__Jj2mC h2{font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-3)}.page_demo__Jj2mC p{color:var(--color-text-muted);margin-bottom:var(--space-6)}.WatchmakerClock_wrapper__WHwIJ{display:flex;justify-content:center;padding:var(--space-4) 0}.WatchmakerClock_clock__zG4go{width:280px;height:280px;background-color:var(--color-accent);border-radius:50%;position:relative;box-shadow:var(--shadow-md)}.WatchmakerClock_hand__rs5vO{position:absolute;transform-origin:50% 100%;border-radius:2px}.WatchmakerClock_hour__AjejP{width:4px;height:70px;background:var(--color-text);bottom:138px;left:138px}.WatchmakerClock_minute__ZCaj4{width:3px;height:100px;background:var(--color-surface);bottom:138px;left:138.5px}.WatchmakerClock_second__h9z_L{width:2px;height:120px;background:color-mix(in srgb,var(--color-surface) 70%,transparent);bottom:138px;left:139px}.WatchmakerClock_center__y3g2t{width:12px;height:12px;background:var(--color-surface);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:var(--shadow-sm)}.IconBadge_wrapper__8qVHf{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.IconBadge_icon__TE99Y{width:32px;height:32px;flex-shrink:0;color:var(--color-text);opacity:.85}.IconBadge_placeholder___4I6g{display:block;width:32px;height:32px;flex-shrink:0}.IconBadge_badge__nVUVf{padding:var(--space-2) var(--space-3);background:var(--color-border);border-radius:6px;transition:background var(--transition-fast)}.IconBadge_wrapper__8qVHf:hover .IconBadge_badge__nVUVf{background:color-mix(in srgb,var(--color-accent) 12%,var(--color-border))}.IconBadge_label__4lHn6{font-size:var(--text-sm);font-weight:500;color:var(--color-text);white-space:nowrap;line-height:1}.page_grid__2Lffi{margin-top:var(--space-8);display:flex;flex-direction:column;gap:var(--space-8)}.page_category__3S7q7{display:flex;flex-direction:column;gap:var(--space-3)}.page_categoryHeading__Oc9_i{font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text);opacity:.5;margin:0}.page_badges__2wbyM{display:flex;flex-wrap:wrap;gap:var(--space-2)}.page_viewProjectBtn__5SqWR{display:inline-block;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:600;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--color-bg);background:var(--color-border);border:3px solid var(--color-border);border-radius:8px;text-decoration:none!important;transition:box-shadow var(--transition-fast),transform var(--transition-fast),filter var(--transition-fast)}.page_viewProjectBtn__5SqWR:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);color:var(--color-bg);filter:brightness(.95)}.page_projectHeader__Y1_8Y{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:var(--space-6) 0 var(--space-3)}.page_projectHeader__Y1_8Y h3{margin:0;font-size:var(--text-xl);font-weight:600}@media (max-width:640px){.page_projectHeader__Y1_8Y{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.page_projectHeader__Y1_8Y .page_viewProjectBtn__5SqWR{align-self:flex-end}}.page_headingLink__qqpHB{font-size:var(--text-sm);font-weight:400;color:var(--color-text-muted);margin-left:var(--space-2)}.page_projects__5mQR4{margin-top:var(--space-10)}.page_projectList__TpVRB{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.page_projectLink__n6VaO{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) var(--space-5);border:3px solid var(--color-border);border-radius:6px;color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),filter var(--transition-fast)}.page_projectLink__n6VaO:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px);text-decoration:none;filter:brightness(.95)}.page_projectTitle__AA9nR{font-size:var(--text-base);font-weight:600}.page_projectDescription__Xa09H{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.page_projects__KKsIl{margin-top:var(--space-10)}.page_projects__KKsIl .page_projectList__ZM_ia{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.page_projects__KKsIl .page_projectLink__i0A7c{display:flex;flex-direction:column;gap:var(--space-1);padding:16px;margin:auto;border:3px solid var(--color-border);border-radius:6px;color:var(--color-text);text-decoration:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),filter var(--transition-fast)}.page_projects__KKsIl .page_projectLink__i0A7c:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px);text-decoration:none;filter:brightness(.95)}.page_projectTitle__HmU9q{font-size:var(--text-base);font-weight:600}.page_projectDescription__eKsZh{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.page_projects__feU01{margin-top:var(--space-10)}.page_projects__feU01 .page_projectList__STok6{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.page_projects__feU01 .page_projectLink__cqnzy{display:flex;flex-direction:column;gap:var(--space-1);padding:16px;border:3px solid var(--color-border);border-radius:6px;color:var(--color-text);text-decoration:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),filter var(--transition-fast)}.page_projects__feU01 .page_projectLink__cqnzy:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px);text-decoration:none;filter:brightness(.95)}.page_projectTitle__grEyO{font-size:var(--text-base);font-weight:600}.page_projectDescription__1jm9z{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}