.resume-viewport{background:#e8e8ea;min-height:100vh;padding:2rem 1rem 3rem}.resume-print-actions{z-index:9999;pointer-events:auto;position:fixed;top:1rem;right:1rem}.cv2-document{color:#09090b;flex-direction:column;align-items:center;gap:2rem;font-family:inherit;display:flex}.resume-page{color:#09090b;box-sizing:border-box;background:#fff;width:210mm;min-height:297mm;padding:14mm 12mm 12mm;box-shadow:0 1px 2px #0000000a,0 8px 32px -6px #00000014}.cv2-p1{flex-direction:column;display:flex}.cv2-p1-layout{grid-template-columns:minmax(0,1fr) 30%;align-items:start;gap:2rem;display:grid}.cv2-p1-main{min-width:0}.cv2-identity{margin-bottom:1.25rem}.cv2-name{letter-spacing:-.03em;color:#09090b;margin:0;font-size:48px;font-weight:600;line-height:1}.cv2-title{letter-spacing:-.01em;color:#52525b;white-space:pre-line;margin:.75rem 0 0;font-size:18px;font-weight:500;line-height:1.5}.cv2-executive-summary{margin-bottom:2rem}.cv2-executive-summary-text{color:#52525b;max-width:58ch;margin:0;font-size:12px;line-height:1.65}.cv2-section-major{letter-spacing:-.025em;color:#09090b;margin:0 0 1.25rem;font-size:26px;font-weight:600;line-height:1.15}.cv2-section-minor{letter-spacing:-.02em;color:#09090b;margin:0 0 .75rem;font-size:18px;font-weight:600;line-height:1.2}.cv2-experience{margin-bottom:1.75rem}.cv2-experience-list{margin:0;padding:0;list-style:none}.cv2-experience-item{margin-top:1.75rem}.cv2-experience-item:first-child{margin-top:0}.cv2-experience-item--primary .cv2-company{font-size:18px}.cv2-experience-item--secondary{border-top:1px solid #f0f0f1;margin-top:1.5rem;padding-top:1.5rem}.cv2-experience-item--secondary .cv2-company{font-size:14px}.cv2-experience-head{grid-template-columns:1fr auto;align-items:start;gap:1.25rem;display:grid}.cv2-company{letter-spacing:-.02em;color:#09090b;margin:0;font-weight:600;line-height:1.25}.cv2-role{color:#52525b;margin:.375rem 0 0;font-size:12px;font-weight:500;line-height:1.45}.cv2-location{color:#a1a1aa;margin:.25rem 0 0;font-size:11px}.cv2-experience-lead{color:#71717a;max-width:54ch;margin:.625rem 0 0;font-size:12px;line-height:1.55}.cv2-period{font-variant-numeric:tabular-nums;color:#a1a1aa;white-space:nowrap;text-align:right;margin:0;padding-top:.125rem;font-size:11px;font-weight:500}.cv2-highlights{margin:.875rem 0 0;padding:0;list-style:none}.cv2-experience-item--primary .cv2-highlights li{font-size:12px;line-height:1.55}.cv2-experience-item--secondary .cv2-highlights li{font-size:11.5px;line-height:1.5}.cv2-highlights li{color:#52525b;margin-top:.375rem;padding-left:1rem;position:relative}.cv2-highlights li:first-child{margin-top:0}.cv2-highlights li:before{content:"—";color:#d4d4d8;position:absolute;left:0}.cv2-education{margin-top:.5rem}.cv2-education-list{margin:0;padding:0;list-style:none}.cv2-education-item{color:#52525b;font-size:12px;line-height:1.55}.cv2-education-degree{color:#3f3f46;font-weight:600}.cv2-education-school,.cv2-education-period{color:#71717a}.cv2-education-sep{color:#d4d4d8}.cv2-rail{min-width:0;padding-top:.5rem}.cv2-rail-section{margin-top:2.25rem}.cv2-rail-section:first-child{margin-top:0}.cv2-rail-label{letter-spacing:.08em;text-transform:uppercase;color:#737373;margin:0 0 .75rem;font-size:11px;font-weight:600}.cv2-rail-lines{margin:0;padding:0;list-style:none}.cv2-rail-lines li{color:#52525b;margin-top:.4375rem;font-size:12px;line-height:1.55}.cv2-rail-lines li:first-child{margin-top:0}.cv2-lang-name{color:#3f3f46;font-weight:500}.cv2-lang-level{color:#737373}.cv2-stack-list{margin:0;padding:0;list-style:none}.cv2-stack-group{margin-top:1rem}.cv2-stack-group:first-child{margin-top:0}.cv2-stack-category{letter-spacing:.06em;text-transform:uppercase;color:#a1a1aa;margin-bottom:.25rem;font-size:11px;font-weight:600;display:block}.cv2-stack-items{color:#52525b;font-size:12px;line-height:1.5;display:block}.cv2-competency-list{margin:0;padding:0;list-style:none}.cv2-competency-list li{color:#52525b;margin-top:.375rem;font-size:12px;line-height:1.6}.cv2-competency-list li:first-child{margin-top:0}.cv2-contact-block{break-inside:avoid;page-break-inside:avoid;background:#09090b;margin-top:2rem;padding:1.375rem 1.5rem}.cv2-contact-block-title{letter-spacing:.08em;text-transform:uppercase;color:#a1a1aa;margin:0 0 1.125rem;font-size:11px;font-weight:600}.cv2-contact-grid{grid-template-columns:repeat(3,1fr);gap:1.125rem 1.5rem;margin:0;display:grid}.cv2-contact-item{margin:0}.cv2-contact-label{letter-spacing:.06em;text-transform:uppercase;color:#737373;margin:0 0 .3125rem;font-size:10px;font-weight:600}.cv2-contact-value{color:#fafafa;margin:0;font-size:12px;font-weight:500;line-height:1.45}.cv2-p2{flex-direction:column;display:flex}.cv2-p2-title{letter-spacing:-.03em;color:#09090b;margin:0 0 2rem;font-size:28px;font-weight:600;line-height:1.1}.cv2-project-hero{margin-bottom:2rem}.cv2-project-hero-head{margin-bottom:1.5rem}.cv2-project-name{letter-spacing:-.025em;color:#09090b;margin:0;font-size:22px;font-weight:600;line-height:1.15}.cv2-project-meta{color:#737373;margin:.5rem 0 0;font-size:12px}.cv2-project-lead{color:#52525b;max-width:62ch;margin:.875rem 0 0;font-size:12px;line-height:1.6}.cv2-project-narrative{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1.5rem;display:grid}.cv2-project-label{letter-spacing:.06em;text-transform:uppercase;color:#09090b;margin:0 0 .5rem;font-size:11px;font-weight:600}.cv2-project-body{color:#52525b;margin:0;font-size:12px;line-height:1.6}.cv2-project-impact{break-inside:avoid;page-break-inside:avoid;background:#09090b;margin-bottom:1.5rem;padding:1.25rem 1.375rem}.cv2-project-impact-title{letter-spacing:.08em;text-transform:uppercase;color:#a1a1aa;margin:0 0 .875rem;font-size:11px;font-weight:600}.cv2-project-impact-list{grid-template-columns:1fr 1fr;gap:.5rem 1.5rem;margin:0;padding:0;list-style:none;display:grid}.cv2-project-impact-list li{color:#fafafa;font-size:12px;font-weight:500;line-height:1.45}.cv2-project-footer{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.cv2-project-footer-text{color:#52525b;margin:0;font-size:12px;line-height:1.55}.cv2-project-grid{border-top:1px solid #e4e4e7;margin-top:.25rem;padding-top:2rem}.cv2-project-grid .cv2-section-minor{margin-bottom:1rem;font-size:20px}.cv2-project-grid-list{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.cv2-project-card-name{letter-spacing:-.015em;color:#09090b;margin:0;font-size:15px;font-weight:600}.cv2-project-card-purpose{color:#3f3f46;margin:.4375rem 0 0;font-size:12px;line-height:1.55}.cv2-project-card-tech{color:#71717a;margin:.4375rem 0 0;font-size:11.5px;line-height:1.45}.cv2-project-card-relevance{color:#71717a;margin:.3125rem 0 0;font-size:11.5px;line-height:1.45}@media (max-width:840px){.resume-viewport{padding:1rem .5rem 2rem}.resume-page{width:100%;min-height:auto;box-shadow:none;padding:1.25rem 1rem}.cv2-p1-layout{grid-template-columns:1fr;gap:2rem}.cv2-name{font-size:36px}.cv2-section-major{font-size:22px}.cv2-experience-head{grid-template-columns:1fr;gap:.25rem}.cv2-period{text-align:left;white-space:normal}.cv2-project-narrative,.cv2-project-footer,.cv2-project-impact-list,.cv2-project-grid-list{grid-template-columns:1fr}.cv2-p2-title{font-size:24px}.cv2-contact-grid{grid-template-columns:1fr 1fr}}@page{size:A4 portrait;margin:8mm}@media print{html{font-size:14px}html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important}.resume-viewport{padding:0;background:#fff!important}.cv2-document{gap:0}.resume-page{width:auto;min-height:0;box-shadow:none;margin:0;padding:0}.resume-page[data-page="1"]{page-break-after:always;break-after:page}.resume-page[data-page="2"]{page-break-after:avoid;break-after:avoid}.resume-print-actions{display:none!important}.cv2-p1-layout{table-layout:fixed;border-collapse:collapse;width:100%;display:table}.cv2-p1-main,.cv2-rail{vertical-align:top;break-inside:avoid;page-break-inside:avoid;display:table-cell}.cv2-rail{width:30%;padding-top:.5rem;padding-left:1.5rem}.cv2-name{font-size:38px}.cv2-title{margin-top:.5rem;font-size:16px}.cv2-identity{margin-bottom:.75rem}.cv2-executive-summary{margin-bottom:1rem}.cv2-executive-summary-text{max-width:none;font-size:11.5px;line-height:1.55}.cv2-section-major{margin-bottom:.625rem;font-size:20px}.cv2-section-minor{margin-bottom:.5rem;font-size:16px}.cv2-experience{margin-bottom:.75rem}.cv2-experience-item{margin-top:.875rem}.cv2-experience-item--secondary{margin-top:.75rem;padding-top:.75rem}.cv2-experience-item--primary .cv2-company{font-size:16px}.cv2-experience-item--secondary .cv2-company{font-size:13px}.cv2-role{font-size:11px}.cv2-experience-lead{max-width:none;margin-top:.375rem;font-size:11px;line-height:1.45}.cv2-highlights li{margin-top:.1875rem;font-size:11px;line-height:1.5}.cv2-rail-section{margin-top:1.25rem}.cv2-rail-label{margin-bottom:.5rem;font-size:10px}.cv2-rail-lines li,.cv2-stack-items,.cv2-competency-list li{font-size:11px}.cv2-stack-group{margin-top:.75rem}.cv2-education{margin-top:0}.cv2-education-item{font-size:11px}.cv2-contact-block{margin-top:.875rem;padding:.875rem 1rem}.cv2-contact-block-title{margin-bottom:.75rem}.cv2-contact-grid{gap:.625rem 1.25rem}.cv2-contact-value{font-size:11px}.cv2-p2-title{margin-bottom:1.25rem;font-size:24px}.cv2-project-hero{margin-bottom:1.125rem}.cv2-project-hero-head{margin-bottom:.875rem}.cv2-project-name{font-size:20px}.cv2-project-lead{max-width:none;margin-top:.625rem;font-size:11.5px}.cv2-project-narrative{gap:1.25rem;margin-bottom:.875rem}.cv2-project-body{-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:11.5px;display:-webkit-box;overflow:hidden}.cv2-project-impact{margin-bottom:.875rem;padding:.875rem 1rem}.cv2-project-impact-list{gap:.3125rem 1rem}.cv2-project-impact-list li{font-size:11px}.cv2-project-footer{gap:1.25rem}.cv2-project-footer-text{font-size:11px}.cv2-project-grid{padding-top:1.125rem}.cv2-project-grid .cv2-section-minor{margin-bottom:.75rem;font-size:17px}.cv2-project-grid-list{gap:.875rem}.cv2-project-card-name{font-size:13px}.cv2-project-card-purpose{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;display:-webkit-box;overflow:hidden}.cv2-project-card-tech,.cv2-project-card-relevance{font-size:10.5px}.cv2-project-narrative-col,.cv2-project-impact,.cv2-project-card,.cv2-contact-block{break-inside:avoid;page-break-inside:avoid}}
