.resume-page{--font-serif:var(--font-fira-code),monospace;--font-sans:var(--font-fira-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--color-text:#2d2d2d;--color-text-medium:#555;--color-text-light:#767676;--color-border:#e2e2e2;--color-bg:#fafafa;--color-accent:#000;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--text-xs:.75rem;--text-sm:.85rem;--text-base:.9rem;--text-lg:1.1rem;--text-xl:1.4rem;--text-2xl:1.8rem;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.6;font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text);background-color:var(--color-bg);-moz-osx-font-smoothing:grayscale;z-index:1;background-image:radial-gradient(#e5e5e5 1px,#0000 1px);background-size:30px 30px;min-height:100vh;transition:background-color .5s,color .5s;position:relative}.resume-page *{box-sizing:border-box;margin:0;padding:0}.resume-page p{max-width:none}.resume-page ::selection{color:inherit;background:#00000014}.resume-page em,.resume-page i,.resume-page .job-title{font-style:normal!important}.resume-page .container{max-width:1050px;padding:var(--spacing-xl)var(--spacing-lg);margin:0 auto}@media (max-width:768px){.resume-page .container{padding:var(--spacing-lg)var(--spacing-md)}}.resume-page .header{text-align:center;padding-bottom:var(--spacing-xl);margin-bottom:var(--spacing-xl);flex-direction:column;align-items:center;width:100%;max-width:850px;margin-left:auto;margin-right:auto;display:flex}.resume-page .name{font-family:var(--font-serif);letter-spacing:-.01em;text-transform:uppercase;color:#1a1a1a;margin-bottom:.25rem;font-size:2.2rem;font-weight:700}.resume-page .title{font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;color:#666;text-align:center;margin-bottom:1.5rem;font-size:.9rem;font-weight:400}.resume-page .contact-info{font-family:var(--font-sans);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;width:100%;margin:0 auto;font-size:.65rem;line-height:1.4;display:flex}.resume-page .contact-icon{vertical-align:middle;stroke:currentColor;stroke-width:1.5px;width:12px;height:12px;margin-right:.4rem;transition:transform .2s;display:inline-block}.resume-page .contact-link{color:#444;white-space:nowrap;border-bottom:1px solid #0000;align-items:center;padding:2px 0;font-weight:400;text-decoration:none;transition:all .2s;display:inline-flex;font-family:var(--font-sans)!important}.resume-page .contact-link:hover{color:#000;text-decoration:underline}.resume-page .contact-link:hover .contact-icon{transform:translateY(-2px)}.resume-page .contact-line-break{display:none}.resume-page .separator{color:#888;margin:0 .75rem}@media (max-width:640px){.resume-page .contact-info{flex-direction:column;gap:.25rem}.resume-page .separator{display:none}}.resume-page .section{margin-bottom:var(--spacing-xl);page-break-inside:avoid}.resume-page .section-title{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.1em;color:#1a1a1a;border-bottom:1.5px solid #1a1a1a;width:100%;margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1rem;font-weight:700}.resume-page .section-content{font-family:var(--font-serif)}.resume-page .profile-text{margin-bottom:var(--spacing-sm);text-align:justify;font-size:.85rem;line-height:1.6;max-width:none!important}.resume-page .profile-text:last-child{margin-bottom:0}.resume-page .experience-item{margin-bottom:var(--spacing-lg);page-break-inside:avoid;transition:all .4s cubic-bezier(.16,1,.3,1)}.resume-page .experience-item.current-role .date{color:var(--color-accent);font-weight:600}.resume-page .experience-item:last-child{margin-bottom:0}.resume-page .experience-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);display:flex}.resume-page .company-name{font-family:var(--font-serif);font-size:var(--text-base);margin-bottom:.5rem;font-weight:700}.resume-page .job-title{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-light);font-style:normal;font-weight:500}.resume-page .promotion{color:var(--color-accent);font-weight:600}.resume-page .date-location{text-align:right;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.resume-page .date{font-family:var(--font-sans);font-size:var(--text-sm);margin-bottom:0;font-weight:400}.resume-page .location{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-light);margin-bottom:0}.resume-page .location:before{content:"•";color:var(--color-border);margin-right:.5rem}@media (max-width:640px){.resume-page .experience-header{gap:var(--spacing-xs);flex-direction:column}.resume-page .date-location{text-align:left;justify-content:flex-start}}.resume-page .achievements{margin-top:var(--spacing-sm);padding-left:1.25rem;list-style-type:disc;list-style-position:outside}.resume-page .achievements li{line-height:var(--leading-normal);cursor:default;margin-bottom:.5rem;transition:all .2s}.resume-page .achievements li strong{font-weight:400;transition:font-weight .2s}.resume-page .achievements li:hover strong{font-weight:700}.resume-page .achievements li:last-child{margin-bottom:0}.resume-page .projects-section{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.resume-page .projects-title{font-family:var(--font-sans);font-size:var(--text-base);margin-bottom:var(--spacing-md);font-weight:600}.resume-page .project-item{margin-bottom:var(--spacing-md)}.resume-page .project-item:last-child{margin-bottom:0}.resume-page .project-name{font-family:var(--font-sans);font-size:var(--text-sm);margin-bottom:.5rem;font-weight:600}.resume-page .education-item{margin-bottom:var(--spacing-sm)}.resume-page .education-item:last-child{margin-bottom:0}.resume-page .degree{margin-bottom:.25rem;font-size:.95rem;font-weight:600}.resume-page .institution{font-family:var(--font-sans);color:var(--color-text-light);font-size:.85rem}.resume-page .contribution-item{margin-bottom:var(--spacing-md)}.resume-page .contribution-item:last-child{margin-bottom:0}.resume-page .contribution-role{margin-bottom:.25rem;font-weight:600}.resume-page .contribution-desc{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-light)}.resume-page .publications{margin-top:var(--spacing-xs);padding-left:1.25rem;list-style-type:disc;list-style-position:outside}.resume-page .publications li{font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);cursor:default;margin-bottom:.375rem;transition:all .2s}.resume-page .publications li strong{font-weight:400;transition:font-weight .2s}.resume-page .publications li:hover strong{font-weight:700}.resume-page .publications li:last-child{margin-bottom:0}.resume-page .publications em{font-style:normal;font-weight:600}.resume-page .organization-item{margin-bottom:var(--spacing-xs);font-family:var(--font-sans);font-size:var(--text-sm)}.resume-page .organization-item:last-child{margin-bottom:0}.resume-page .org-name{font-weight:600}.resume-page .org-role{color:var(--color-text-light)}.resume-page .certifications-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.resume-page .cert-item{page-break-inside:avoid}.resume-page .cert-name{font-weight:600;font-size:var(--text-sm);margin-bottom:.25rem}.resume-page .cert-provider{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-light)}@media (max-width:640px){.resume-page .certifications-grid{grid-template-columns:1fr}}.resume-page .skills-text{text-align:justify;font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal)}.resume-page .tools-category{margin-bottom:var(--spacing-sm)}.resume-page .tools-category:last-child{margin-bottom:0}.resume-page .tools-label{font-weight:600;font-size:var(--text-sm);margin-bottom:.25rem}.resume-page .tools-list{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-light);line-height:var(--leading-normal)}.resume-page footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);text-align:center}.resume-page footer p{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-light)}@media (prefers-reduced-motion:no-preference){.resume-page .contact-link,.resume-page .section,.resume-page .experience-item,.resume-page .project-item{transition:all .4s cubic-bezier(.16,1,.3,1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.resume-page .header{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) .1s forwards fadeInUp}.resume-page .section{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.resume-page .section:first-of-type{animation-delay:.2s}.resume-page .section:nth-of-type(2){animation-delay:.3s}.resume-page .section:nth-of-type(3){animation-delay:.4s}.resume-page .section:nth-of-type(4){animation-delay:.5s}.resume-page .section:nth-of-type(5){animation-delay:.6s}.resume-page .section:nth-of-type(6){animation-delay:.7s}.resume-page .section:nth-of-type(7){animation-delay:.8s}.resume-page .section:nth-of-type(8){animation-delay:.9s}}.resume-page .typing:after{content:"▋";vertical-align:baseline;color:var(--color-accent);opacity:.6;margin-left:4px;font-size:.85em;animation:1s step-start infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}body.dark-theme .resume-page{--color-bg:#18181b;--color-text:#d4d4d8;--color-text-medium:#a1a1aa;--color-text-light:#71717a;--color-border:#27272a;--color-border-light:#3f3f46;--color-accent:#f4f4f5;color:var(--color-text);background-image:radial-gradient(#ffffff08 1px,#0000 1px);background-color:var(--color-bg)}body.dark-theme .resume-page .name,body.dark-theme .resume-page .section-title,body.dark-theme .resume-page .company-name,body.dark-theme .resume-page .degree,body.dark-theme .resume-page .contribution-role,body.dark-theme .resume-page .org-name,body.dark-theme .resume-page .cert-name,body.dark-theme .resume-page .tools-label{color:var(--color-accent)}body.dark-theme .resume-page .title,body.dark-theme .resume-page .contact-link,body.dark-theme .resume-page .job-title,body.dark-theme .resume-page .location,body.dark-theme .resume-page .institution,body.dark-theme .resume-page .contribution-desc,body.dark-theme .resume-page .org-role,body.dark-theme .resume-page .cert-provider,body.dark-theme .resume-page .tools-list,body.dark-theme .resume-page .achievements li,body.dark-theme .resume-page .profile-text,body.dark-theme .resume-page footer p{color:var(--color-text-medium)}body.dark-theme .resume-page .section-title{border-bottom-color:var(--color-border-light)}body.dark-theme .resume-page .contact-link:hover{color:var(--color-accent)}body.dark-theme .resume-page ::selection{background:#ffffff1a}body.dark-theme .resume-page .skill-tag:hover{color:var(--color-accent)}.resume-page .skill-tag{font-size:var(--text-xs);font-family:var(--font-serif);cursor:default;color:var(--color-text-medium);background-color:#0000;border:none;margin:0 2px 0 0;padding:0;transition:color .2s;display:inline-block}.resume-page .skill-tag:after{content:"/";color:var(--color-text-medium);opacity:.8;margin:0 1ch}.resume-page .skill-tag:last-child:after{display:none}.resume-page .skill-tag:hover{color:var(--color-accent)}@media print{.resume-page{padding-top:0;font-size:11pt}.resume-page .container{max-width:100%;padding:0}.resume-page .section{opacity:1!important;animation:none!important;transform:none!important}.resume-page .theme-toggle{display:none!important}}.resume-page .theme-toggle{width:3rem;height:3rem;color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;top:2rem;right:2rem}.resume-page .theme-toggle:hover{background:var(--color-text);color:var(--color-bg);transform:rotate(15deg)}body.dark-theme .resume-page .theme-toggle{background:#ffffff0d}body.dark-theme .resume-page .theme-toggle:hover{background:var(--color-accent);color:var(--color-bg)}
