.profile-wrapper[data-v-3b072e1d]{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:40px 20px;display:flex}.profile-name[data-v-3b072e1d]{margin:0;font-size:48px;font-weight:700}.profile-title[data-v-3b072e1d]{opacity:.8;margin:0;font-size:24px;font-weight:400}.profile-tagline[data-v-3b072e1d]{text-align:center;max-width:600px;font-size:18px;line-height:1.6}.profile-buttons[data-v-3b072e1d]{flex-wrap:wrap;justify-content:center}@media (width<=480px){.profile-name[data-v-3b072e1d]{font-size:36px}.profile-title[data-v-3b072e1d]{font-size:20px}.profile-tagline[data-v-3b072e1d]{font-size:16px}}.resume-card[data-v-5410d451]{padding:16px}.resume-company[data-v-5410d451],.resume-cert-name[data-v-5410d451]{font-size:16px}.resume-description[data-v-5410d451]{white-space:pre-line;font-size:14px}.resume-cert-issuer[data-v-5410d451],.resume-cert-date[data-v-5410d451]{opacity:.8;font-size:14px}.skills-category[data-v-84234f02]{margin-bottom:32px}.skills-category-title[data-v-84234f02]{margin-bottom:16px;font-size:20px;font-weight:600}.skills-tags[data-v-84234f02]{flex-wrap:wrap}.project-title[data-v-7f08944f]{margin:0;font-size:24px;font-weight:600}.project-description[data-v-7f08944f]{font-size:16px;line-height:1.5}.project-tags[data-v-7f08944f]{flex-wrap:wrap}.view-all-wrapper[data-v-7f08944f]{margin-top:24px}@media (width<=480px){.project-title[data-v-7f08944f]{font-size:20px}.project-description[data-v-7f08944f]{font-size:14px}}.miniatures-description[data-v-62e60e5c]{text-align:center;font-size:16px;line-height:1.6}.miniature-name[data-v-62e60e5c]{font-size:18px}.miniatures-button[data-v-62e60e5c]{margin-top:16px}@media (width<=480px){.miniatures-description[data-v-62e60e5c]{font-size:14px}}.contact-text[data-v-ae9b1d11]{font-size:16px}.contact-cards[data-v-ae9b1d11],.home-page[data-v-d59ef400]{width:100%}.home-section[data-v-d59ef400]{width:100%;position:relative}.home-section-alt[data-v-d59ef400]{background-color:#00000005}html.dark .home-section-alt[data-v-d59ef400]{background-color:#ffffff05}.back-to-top[data-v-5c65f21d]{z-index:999;transition:transform .2s;position:fixed;bottom:40px;right:40px;box-shadow:0 4px 12px #00000026}.back-to-top[data-v-5c65f21d]:hover{transform:translateY(-2px)}.fade-enter-active[data-v-5c65f21d],.fade-leave-active[data-v-5c65f21d]{transition:opacity .3s}.fade-enter-from[data-v-5c65f21d],.fade-leave-to[data-v-5c65f21d]{opacity:0}.app-layout[data-v-2e734fb2]{background-color:var(--n-color-background);min-height:100vh;color:var(--n-text-color)}.app-header[data-v-2e734fb2]{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--n-color);border-bottom:1px solid var(--n-divider-color);width:100%;position:fixed;top:0;box-shadow:0 1px 3px #0000001a}.header-inner[data-v-2e734fb2]{align-items:center;max-width:1200px;height:64px;margin:0 auto;padding:0 24px;display:flex}.header-logo[data-v-2e734fb2]{color:inherit;margin-right:auto;font-size:20px;font-weight:700;text-decoration:none}.header-menu[data-v-2e734fb2]{flex:1;justify-content:center}.mobile-menu-btn[data-v-2e734fb2]{margin-right:8px;display:none}.theme-toggle[data-v-2e734fb2]{margin-left:16px}.app-content[data-v-2e734fb2]{width:100%;max-width:1200px;margin:0 auto;padding-top:64px}.app-footer[data-v-2e734fb2]{text-align:center;color:var(--n-text-color-3);padding:16px;font-size:14px}.back-to-top[data-v-2e734fb2]{z-index:200;position:fixed;bottom:32px;right:32px}@media (width<=768px){.header-menu[data-v-2e734fb2]{display:none}.mobile-menu-btn[data-v-2e734fb2]{display:flex}.header-inner[data-v-2e734fb2]{padding:0 12px}}.fade-up-enter-active,.fade-up-leave-active{transition:all .4s}.fade-up-enter-from,.fade-up-leave-to{opacity:0;transform:translateY(20px)}.hero-section-wrapper{max-width:900px;margin:0 auto 40px;padding:80px 20px}.section-wrapper{max-width:1200px;margin:0 auto;padding:40px 24px}.hero-title{text-align:center;margin:0 0 24px;font-size:36px;font-weight:700}.section-title{margin:24px 0;font-size:24px;font-weight:600}.section-subtitle{margin-bottom:16px;font-size:20px;font-weight:600}.text-description{font-size:16px;line-height:1.6}.text-small{font-size:12px}.text-center{text-align:center}.card-hoverable{cursor:pointer;transition:transform .2s,box-shadow .2s}.card-hoverable:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.card-hoverable:focus-visible,.card-hoverable-subtle:focus-visible{outline:2px solid var(--n-primary-color,#2080f0);outline-offset:2px}.card-hoverable-subtle{cursor:default;transition:transform .2s,box-shadow .2s}.card-hoverable-subtle:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.image-cover{object-fit:cover;border-radius:8px;width:100%}.image-cover-sm{object-fit:cover;border-radius:8px;width:100%;height:180px}.image-cover-md{object-fit:cover;border-radius:8px;width:100%;height:200px}.image-cover-lg{object-fit:cover;border-radius:8px;width:100%;max-height:400px}.image-card-cover{object-fit:cover;border-radius:4px 4px 0 0;width:100%;height:200px}.color-swatch{border:2px solid #80808099;border-radius:4px;flex-shrink:0;width:24px;height:24px;box-shadow:inset 0 0 0 1px #ffffff4d,0 0 0 1px #0003}.btn-group{flex-wrap:wrap;gap:8px;display:flex}.btn-group-center{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.mt-sm{margin-top:8px}.mt-md{margin-top:12px}.mt-lg{margin-top:16px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:12px}.mb-lg{margin-bottom:16px}@media (width<=768px){.hero-section-wrapper{margin-bottom:32px;padding:60px 16px}.section-wrapper{padding:32px 16px}.hero-title{margin-bottom:16px;font-size:28px}.section-title{font-size:20px}.text-description{font-size:14px}.image-card-cover{height:180px}}@media (width<=480px){.hero-section-wrapper{margin-bottom:24px;padding:40px 12px}.section-wrapper{padding:24px 12px}.hero-title{font-size:24px}}@media (prefers-reduced-motion:reduce){.fade-up-enter-active,.fade-up-leave-active{transition:opacity .2s}.fade-up-enter-from,.fade-up-leave-to{transform:none}.card-hoverable,.card-hoverable-subtle{transition:none}.card-hoverable:hover,.card-hoverable-subtle:hover{transform:none}}
