.cvRoot{--cv-paper-bg:#fff;--cv-paper-text:#18212d;--cv-paper-muted:#5e6978;--cv-paper-border:#18212d1f;--cv-paper-accent:#2f3848;--cv-paper-sidebar:#eef1f5;--cv-paper-shadow:0 32px 80px #0f172a24;color:var(--cv-paper-text);justify-content:center;display:flex}.cvRoot--modal,.cvRoot--print,.cvRoot--modal{width:100%}.cvRoot--print{background:#e5e7eb;min-height:100svh;padding:1rem}.cvRoot--page{background:radial-gradient(circle at top,#94a3b838,#0000 34%),linear-gradient(#f8fafc 0%,#edf2f7 100%);min-height:100svh;padding:2rem 1rem 3rem}.cvPaperStack{justify-items:center;gap:1.5rem;width:100%;display:grid}.cvPaper{border:1px solid var(--cv-paper-border);background:var(--cv-paper-bg);width:min(100%,960px);box-shadow:var(--cv-paper-shadow);border-radius:1.6rem;overflow:hidden}.cvPaperSecondary{align-self:start}.cvHero{background:var(--cv-paper-accent);color:#fff;text-align:center;flex-direction:column;justify-content:center;height:8.25rem;padding:1.7rem 1.5rem 1.45rem;display:flex}.cvHeroEyebrow{letter-spacing:.18em;text-transform:uppercase;color:#ffffffb8;margin-bottom:.45rem;font-size:.72rem;font-weight:700}.cvHeroName{letter-spacing:-.05em;text-transform:uppercase;margin-bottom:.42rem;font-size:clamp(2.25rem,4vw,3.35rem);font-weight:800;line-height:.94}.cvHeroTitle{letter-spacing:.04em;color:#ffffffd6;max-width:42rem;margin:0 auto;font-size:1.02rem;font-weight:600;line-height:1.5}.cvDocumentGrid{grid-template-columns:minmax(220px,.78fr) minmax(0,1.72fr);align-items:start;display:grid}.cvSidebar{--cv-sidebar-heading-size:.94rem;--cv-sidebar-label-size:.74rem;--cv-sidebar-body-size:.92rem;--cv-sidebar-body-line-height:1.52;background:var(--cv-paper-sidebar);border-right:1px solid var(--cv-paper-border);min-width:0;height:100%;padding:1.3rem 1.15rem 1.45rem}.cvSidebarSection+.cvSidebarSection{margin-top:1.1rem}.cvSidebarHeading,.cvMainHeading{border-bottom:2px solid var(--cv-paper-accent);font-size:var(--cv-sidebar-heading-size);letter-spacing:.18em;text-transform:uppercase;color:#1f2937;margin-bottom:.82rem;padding-bottom:.42rem;font-weight:900;line-height:1.2}.cvContactList{gap:.54rem;list-style:none;display:grid}.cvContactRow{min-width:0}.cvMetaLabel{font-size:var(--cv-sidebar-label-size);letter-spacing:.16em;text-transform:uppercase;color:#485364;margin-bottom:.06rem;font-weight:800;line-height:1.3;display:block}.cvSidebarLink,.cvSidebarText{font-size:var(--cv-sidebar-body-size);font-weight:500;line-height:var(--cv-sidebar-body-line-height);color:#18212d;word-break:break-word}.cvSidebarList{gap:.28rem;padding-left:0;list-style:none;display:grid}.cvSidebarListCompact{flex-wrap:wrap;gap:.35rem .55rem;display:flex}.cvSidebarList li,.cvEducationDetails li{font-size:var(--cv-sidebar-body-size);line-height:var(--cv-sidebar-body-line-height);color:var(--cv-paper-text)}.cvSidebarListCompact li{color:var(--cv-paper-text);white-space:nowrap;font-size:.82rem;line-height:1.35}.cvEducationDetails li{padding-left:.8rem;position:relative}.cvEducationDetails li:before{content:"";background:color-mix(in srgb, var(--cv-paper-text) 72%, transparent);border-radius:999px;width:.24rem;height:.24rem;position:absolute;top:.62em;left:0}.cvSidebarEducation{gap:.85rem;display:grid}.cvEducationItem{min-width:0}.cvEducationItemSub{margin-top:-.15rem}.cvEducationSchool{font-size:var(--cv-sidebar-body-size);font-weight:700;line-height:var(--cv-sidebar-body-line-height);color:var(--cv-paper-text)}.cvEducationProgram,.cvEducationPeriod{font-size:var(--cv-sidebar-body-size);line-height:var(--cv-sidebar-body-line-height);color:var(--cv-paper-text)}.cvEducationProgram{padding-left:.8rem;font-weight:700;position:relative}.cvEducationProgram:before{content:"";background:var(--cv-paper-text);border-radius:999px;width:.28rem;height:.28rem;position:absolute;top:.62em;left:0}.cvEducationPeriod{color:var(--cv-paper-muted)}.cvEducationDetails{gap:.12rem;margin-top:.3rem;padding-left:0;list-style:none;display:grid}.cvMain{min-width:0;padding:1.2rem 1.4rem 1.45rem}.cvMainSection+.cvMainSection{margin-top:1.45rem}.cvPageHeader{background:var(--cv-paper-accent);color:#fff;text-align:center;flex-direction:column;justify-content:center;height:8.25rem;padding:1.7rem 1.5rem 1.45rem;display:flex}.cvPageEyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--cv-paper-muted);margin-bottom:.28rem;font-size:.72rem;font-weight:700}.cvPageTitle{letter-spacing:-.035em;color:#fff;font-size:clamp(2rem,3vw,2.65rem);font-weight:800;line-height:.96}.cvPageSubtitle{letter-spacing:.03em;color:#ffffffc7;margin-top:.45rem;font-size:1rem;font-weight:600;line-height:1.5}.cvPageBody{padding:1.2rem 1.4rem 1.45rem}.cvPageBodyProjects{padding-top:1.1rem}.cvMainSectionProjectsOnly{margin-top:0}.cvProfileText{color:var(--cv-paper-text);font-size:1.02rem;line-height:1.72}.cvProjectGrid{grid-template-columns:minmax(0,1fr);gap:.72rem;display:grid}.cvProjectGridStandalone{gap:.8rem}.cvProjectCard{border:1px solid var(--cv-paper-border);background:#fafbfc;border-radius:.95rem;min-width:0;padding:.82rem .9rem}.cvProjectCardButton{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}.cvProjectCardButton:hover{border-color:color-mix(in srgb, var(--cv-paper-accent) 28%, transparent);background:#fff;transform:translateY(-1px);box-shadow:0 12px 26px #0f172a14}.cvProjectCardButton:focus-visible{outline:2px solid var(--cv-paper-accent);outline-offset:3px}.cvProjectTitle,.cvExperienceCompany{color:var(--cv-paper-text);font-size:1.04rem;font-weight:700;line-height:1.3}.cvProjectSubtitle,.cvExperienceRole{color:var(--cv-paper-text);margin-top:.18rem;font-size:.95rem;line-height:1.5}.cvProjectStack,.cvExperiencePeriod{color:var(--cv-paper-muted);margin-top:.2rem;font-size:.84rem;line-height:1.4}.cvProjectSummary{color:var(--cv-paper-text);margin-top:.42rem;font-size:.9rem;line-height:1.56}.cvExperienceList{gap:.95rem;display:grid}.cvExperienceItem{border-left:1px solid #18212d29;padding-left:.95rem;position:relative}.cvExperienceItem:before{content:"";background:var(--cv-paper-accent);border-radius:999px;width:7px;height:7px;position:absolute;top:.3rem;left:-4px}.cvExperienceHeader{justify-content:space-between;align-items:flex-start;gap:.9rem;margin-bottom:.32rem;display:flex}.cvExperiencePeriod{white-space:nowrap;margin-top:0}.cvExperienceBullets{gap:.22rem;padding-left:.98rem;display:grid}.cvExperienceBullets li{color:var(--cv-paper-text);font-size:.95rem;line-height:1.58}@media (max-width:900px){.cvDocumentGrid{grid-template-columns:1fr}.cvSidebar{border-right:none;border-bottom:1px solid var(--cv-paper-border)}}@media (max-width:720px){.cvRoot--page{padding:1rem .5rem 2rem}.cvPaper{border-radius:1rem}.cvHero{padding:1.35rem 1rem 1.2rem}.cvMain,.cvSidebar{padding:1rem}.cvProjectGrid{grid-template-columns:1fr}.cvExperienceHeader{flex-direction:column;gap:.2rem}.cvExperiencePeriod{white-space:normal}}@page{size:A4;margin:10mm}@media print{html,body{background:#fff!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.cvRoot,.cvRoot--page,.cvRoot--print{display:block;background:#fff!important;padding:0!important}.cvPaper{width:auto;max-width:none;box-shadow:none;border:none;border-radius:0}.cvSidebarSection,.cvMainSection,.cvProjectCard,.cvExperienceItem,.cvEducationItem{break-inside:avoid}}
.appModalOverlay{z-index:120;-webkit-backdrop-filter:blur(14px);opacity:0;will-change:opacity;background:#000000c7;justify-content:center;align-items:center;padding:1rem;transition:opacity .34s,-webkit-backdrop-filter .38s,backdrop-filter .38s;display:flex;position:fixed;inset:0}.appModalOverlay[data-state=open]{opacity:1;animation:.26s both appModalOverlayEnter}.appModalOverlay[data-state=closed]{opacity:0}.appModalPanel{background:var(--bg);width:min(1100px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--text);overscroll-behavior:contain;opacity:0;will-change:opacity, transform;border-radius:1rem;flex-direction:column;transition:opacity .3s,transform .38s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;transform:translateY(.95rem)scale(.975);box-shadow:0 24px 80px #00000052}.appModalOverlay[data-state=open] .appModalPanel{opacity:1;animation:.3s cubic-bezier(.16,1,.3,1) both appModalPanelEnter;transform:translateY(0)scale(1)}.appModalOverlay[data-state=closed] .appModalPanel{opacity:0;transform:translateY(1.35rem)scale(.965)}@keyframes appModalOverlayEnter{0%{opacity:0}to{opacity:1}}@keyframes appModalPanelEnter{0%{opacity:0;transform:translateY(.95rem)scale(.975)}to{opacity:1;transform:translateY(0)scale(1)}}.appModalTopBar{justify-content:flex-end;align-items:center;padding:1rem 1rem 0;display:flex}.appModalTopBarContent{min-width:0}.appModalClose{border:1px solid color-mix(in srgb, var(--text) 16%, transparent);background:color-mix(in srgb, var(--bg) 86%, transparent);width:2.75rem;height:2.75rem;color:var(--text);cursor:pointer;border-radius:999px;place-items:center;padding:0;line-height:1;display:grid}.appModalCloseIcon{width:1.15rem;height:1.15rem;display:block}.appModalClose:hover{opacity:.8}.appModalBody{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:0 1rem 1rem;overflow:auto}@media (max-width:767px){.appModalOverlay{padding:.5rem}.appModalPanel{border-radius:.85rem;width:calc(100vw - 12px);max-height:calc(100vh - 12px)}.appModalTopBar{padding:.75rem .75rem 0}.appModalBody{padding:0 .75rem .75rem}}@media (prefers-reduced-motion:reduce){.appModalOverlay,.appModalPanel{transition:none;animation:none}.appModalPanel,.appModalOverlay[data-state=open] .appModalPanel,.appModalOverlay[data-state=closed] .appModalPanel{transform:none}}
