.pf-root{min-height:100vh;background:#f8fafc;font-family:Inter,system-ui,sans-serif;--pf-accent:#6366f1;position:relative}.pf-hero{position:relative;background:linear-gradient(135deg,#0f172a,#1e293b 60%,#0f172a);padding:100px 24px 0;overflow:hidden;min-height:60vh;display:flex;flex-direction:column;align-items:center}.pf-blob{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none}.pf-blob-1{width:500px;height:500px;top:-120px;right:-100px;animation:blobFloat1 14s ease-in-out infinite}.pf-blob-2{width:350px;height:350px;bottom:60px;left:-80px;animation:blobFloat2 18s ease-in-out infinite}.pf-blob-3{width:250px;height:250px;top:40%;left:50%;transform:translateX(-50%);animation:blobFloat3 10s ease-in-out infinite}@keyframes blobFloat1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-30px,30px) scale(1.05)}66%{transform:translate(20px,-20px) scale(.97)}}@keyframes blobFloat2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(40px,-30px) scale(1.08)}}@keyframes blobFloat3{0%,to{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.3);opacity:.6}}.pf-hero-inner{position:relative;z-index:1;text-align:center;max-width:760px;width:100%;padding-bottom:80px}.pf-avatar-wrap{margin-bottom:20px;text-align:center;animation:fadeUp .5s ease both}.pf-avatar{display:block;margin:0 auto;width:110px;height:110px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.2);box-shadow:0 8px 32px rgba(0,0,0,.35)}.pf-hero-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 14px;border-radius:20px;margin-bottom:24px;animation:fadeUp .6s ease both}.pf-hero-name{font-size:clamp(40px,6vw,72px);font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1.1;margin:0 0 16px;animation:fadeUp .6s ease .1s both}.pf-hero-title{font-size:clamp(16px,2.5vw,22px);font-weight:600;margin-bottom:28px;animation:fadeUp .6s ease .2s both}.pf-hero-contacts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:32px;animation:fadeUp .6s ease .3s both}.pf-contact-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.85);font-size:13px;padding:6px 14px;border-radius:20px;text-decoration:none;transition:background .2s,border-color .2s,transform .15s;backdrop-filter:blur(8px);cursor:default}a.pf-contact-pill{cursor:pointer}a.pf-contact-pill:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3);transform:translateY(-2px)}.pf-contact-icon{font-size:11px;opacity:.7}.pf-hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;animation:fadeUp .6s ease .4s both}.pf-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:700;border:none;cursor:pointer;transition:transform .15s,opacity .15s,box-shadow .2s;text-decoration:none}.pf-btn:hover{transform:translateY(-2px);opacity:.92}.pf-btn:active{transform:translateY(0)}.pf-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.pf-btn-primary{color:#fff;box-shadow:0 4px 20px rgba(var(--pf-accent-rgb),.35)}.pf-btn-ghost{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.9);backdrop-filter:blur(8px)}.pf-btn-ghost.copied{background:rgba(34,197,94,.2);border-color:rgba(34,197,94,.4);color:#86efac}.pf-wave{width:100%;line-height:0}.pf-wave svg{width:100%;height:80px}.pf-content{max-width:820px;margin:0 auto;padding:16px 24px 64px}.pf-section{margin-bottom:56px}.pf-fade-up{opacity:0;transform:translateY(32px);transition:opacity .6s ease,transform .6s ease}.pf-fade-up.pf-visible{opacity:1;transform:translateY(0)}.pf-section-label{display:flex;align-items:center;gap:14px;margin-bottom:24px}.pf-section-label span{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.pf-section-rule{height:2px;flex:1;border-radius:2px;opacity:.3}.pf-about-card{background:#fff;border-radius:16px;padding:28px 32px;box-shadow:0 2px 16px rgba(0,0,0,.06);position:relative}.pf-about-quote{font-size:80px;font-weight:900;line-height:.6;opacity:.18;position:absolute;top:24px;left:24px;pointer-events:none;font-family:Georgia,serif}.pf-about-text{font-size:15px;line-height:1.8;color:#374151;margin:0;position:relative;padding-left:8px}.pf-timeline{display:flex;flex-direction:column;gap:0}.pf-timeline-item{display:flex;gap:20px;position:relative;animation:fadeUp .5s ease both}.pf-timeline-item:not(:last-child):before{content:"";position:absolute;left:8px;top:18px;bottom:-24px;width:1px;background:#e2e8f0}.pf-timeline-dot{width:18px;height:18px;border-radius:50%;flex-shrink:0;margin-top:2px;box-shadow:0 0 0 4px rgba(var(--pf-accent-rgb),.15);position:relative;z-index:1}.pf-timeline-card{background:#fff;border-radius:14px;padding:20px 24px;box-shadow:0 2px 12px rgba(0,0,0,.06);flex:1;margin-bottom:24px;transition:box-shadow .2s,transform .2s}.pf-timeline-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.1);transform:translateY(-2px)}.pf-exp-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:8px}.pf-exp-title{font-size:15px;font-weight:700;color:#111827}.pf-exp-company{font-size:13px;font-weight:600;margin-top:2px}.pf-exp-dates{font-size:12px;color:#94a3b8;white-space:nowrap;font-weight:500}.pf-exp-bullets{margin:10px 0 0;padding-left:18px;color:#4b5563;font-size:13.5px;line-height:1.7}.pf-exp-bullets li{margin-bottom:4px}.pf-edu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.pf-edu-card{background:#fff;border-radius:14px;padding:20px 22px;box-shadow:0 2px 12px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s}.pf-edu-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,.1)}.pf-edu-degree{font-size:14px;font-weight:700;color:#111827;margin-bottom:4px}.pf-edu-inst{font-size:13px;font-weight:600;margin-bottom:6px}.pf-edu-meta{font-size:12px;color:#94a3b8}.pf-skills-grid{display:flex;flex-wrap:wrap;gap:10px}.pf-skill-pill{display:inline-block;font-size:13px;font-weight:600;padding:7px 16px;border-radius:20px;animation:popIn .4s ease both;transition:transform .15s,box-shadow .15s}.pf-skill-pill:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 4px 12px rgba(var(--pf-accent-rgb),.2)}@keyframes popIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.pf-lang-row{display:flex;flex-wrap:wrap;gap:12px}.pf-lang-item{background:#fff;border-radius:12px;padding:14px 20px;box-shadow:0 2px 8px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:4px;min-width:120px}.pf-lang-name{font-size:14px;font-weight:700;color:#111827}.pf-lang-level{font-size:12px;font-weight:600}.pf-proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.pf-proj-card{background:#fff;border-radius:14px;padding:20px 22px;box-shadow:0 2px 12px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s}.pf-proj-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,.1)}.pf-proj-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.pf-proj-name{font-size:15px;font-weight:700;color:#111827}.pf-proj-link{font-size:18px;text-decoration:none;line-height:1;transition:transform .15s}.pf-proj-link:hover{transform:translate(2px,-2px)}.pf-proj-desc{font-size:13px;color:#4b5563;line-height:1.6;margin:0 0 10px}.pf-proj-tech{display:flex;flex-wrap:wrap;gap:6px}.pf-proj-tag{font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 10px;border-radius:12px;background:rgba(var(--pf-accent-rgb),.08)}.pf-cert-list{display:flex;flex-direction:column;gap:12px}.pf-cert-item{display:flex;align-items:flex-start;gap:14px;background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.pf-cert-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:4px}.pf-cert-name{font-size:14px;font-weight:700;color:#111827}.pf-cert-issuer{font-size:12px;font-weight:600;margin-top:2px}.pf-fab{position:fixed;bottom:32px;right:32px;width:52px;height:52px;border-radius:50%;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.22),0 0 24px -4px var(--fab-accent,#6366f1);z-index:200;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.pf-fab:hover{transform:scale(1.12);box-shadow:0 10px 32px rgba(0,0,0,.28),0 0 40px -2px var(--fab-accent,#6366f1)}.pf-fab:active{transform:scale(1.04);transition-duration:.15s}.pf-fab:disabled{opacity:.7;cursor:not-allowed;transform:none}[dir=rtl] .pf-fab{right:auto;left:32px}@keyframes pf-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pf-not-found{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;background:#f8fafc}.pf-not-found h2{font-size:24px;font-weight:700;color:#1a1a2e;margin:16px 0 8px}.pf-not-found p{color:#64748b;font-size:14px;margin:0 0 24px}.pf-not-found a{display:inline-block;background:#6366f1;color:#fff;padding:10px 24px;border-radius:8px;font-weight:600;text-decoration:none;transition:opacity .15s}.pf-not-found a:hover{opacity:.88}.pf-contact-form{display:flex;flex-direction:column;gap:14px;max-width:600px}.pf-contact-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pf-contact-input,.pf-contact-textarea{width:100%;padding:12px 16px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:14px;font-family:inherit;color:#1a1a2e;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.pf-contact-input:focus,.pf-contact-textarea:focus{border-color:var(--pf-accent,#6366f1);box-shadow:0 0 0 3px rgba(99,102,241,.12)}.pf-contact-textarea{resize:vertical;min-height:110px}.pf-contact-btn{align-self:flex-start;padding:11px 28px;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.pf-contact-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.pf-contact-btn:disabled{opacity:.6;cursor:not-allowed}.pf-contact-success{padding:16px 20px;border-radius:10px;border:1.5px solid;font-size:14px;font-weight:600;max-width:600px}.pf-contact-error{color:#dc2626;font-size:13px;margin-top:-6px}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.pf-hero{padding:80px 16px 0}.pf-hero-name{font-size:36px}.pf-content{padding:16px 16px 48px}.pf-about-card{padding:20px}.pf-about-quote{font-size:56px}.pf-timeline-card{padding:16px}.pf-contact-row,.pf-edu-grid,.pf-proj-grid{grid-template-columns:1fr}}.pf-upgrade-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:rgba(10,10,20,.97);border-top:1px solid rgba(99,102,241,.35);padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;backdrop-filter:blur(8px)}.pf-upgrade-text{font-size:13px;color:rgba(255,255,255,.8);font-family:Inter,system-ui,sans-serif}.pf-upgrade-text strong{color:#a78bfa}.pf-upgrade-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.pf-upgrade-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:white;padding:6px 14px;border-radius:8px;font-weight:700;font-size:12px;text-decoration:none;font-family:Inter,system-ui,sans-serif;white-space:nowrap}.pf-upgrade-dismiss{background:none;border:none;color:rgba(255,255,255,.3);cursor:pointer;padding:4px 6px;font-size:16px;line-height:1}.pf-upgrade-dismiss:hover{color:rgba(255,255,255,.6)}@media print{.pf-content,.pf-fab,.pf-hero{display:none!important}}.cv-paper{background:#fff;width:794px;min-height:1123px;padding:48px 52px;box-shadow:0 4px 24px rgba(0,0,0,.12);position:relative;box-sizing:border-box;font-size:10pt;widows:3;orphans:3}[data-page-size=letter] .cv-paper{width:816px;min-height:1056px}[data-page-size=letter] .cv-empty{width:816px}[data-page-margin=narrow]{--cv-pad-outer-block:32px;--cv-pad-outer-inline:36px;--cv-pad-band-block:22px;--cv-pad-band-inline:30px}[data-page-margin=normal]{--cv-pad-outer-block:48px;--cv-pad-outer-inline:52px;--cv-pad-band-block:32px;--cv-pad-band-inline:42px}[data-page-margin=wide]{--cv-pad-outer-block:64px;--cv-pad-outer-inline:70px;--cv-pad-band-block:44px;--cv-pad-band-inline:56px}[data-page-margin=narrow] .cv-paper{padding:32px 36px}[data-page-margin=normal] .cv-paper{padding:48px 52px}[data-page-margin=wide] .cv-paper{padding:64px 70px}.cv-paper-bold,.cv-paper-editorial_prestige,.cv-paper-executive,.cv-paper-horizon_timeline,.cv-paper-luxe,.cv-paper-onyx,.cv-paper-quantum_minimalist,.cv-paper-sovereign,.cv-paper-split_pane_vignette,.cv-paper-vanguard_dashboard{padding:0!important}[data-photo-visible=false] .cv-header-photo,[data-photo-visible=false] .cv-header-photo-classic,[data-photo-visible=false] .cv-header-photo-minimal{display:none!important}[data-photo-size=sm] .cv-header-photo{width:56px;height:56px}[data-photo-size=sm] .cv-header-photo-classic{width:54px;height:54px}[data-photo-size=sm] .cv-header-photo-minimal{width:48px;height:48px}[data-photo-size=lg] .cv-header-photo{width:96px;height:96px}[data-photo-size=lg] .cv-header-photo-classic{width:92px;height:92px}[data-photo-size=lg] .cv-header-photo-minimal{width:84px;height:84px}.cv-paper-sidebar{padding:0;display:flex}.cv-paper-minimal{padding:52px 56px}[data-page-margin=narrow] .cv-paper-minimal{padding:36px 40px}[data-page-margin=wide] .cv-paper-minimal{padding:68px 74px}.cv-empty{background:#fff;width:794px;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(0,0,0,.12);gap:12px;color:#9ca3af;font-size:14px}.cv-empty-icon{font-size:48px}.cv-modern-header{display:flex;align-items:flex-start;gap:20px;padding-bottom:16px;margin-bottom:20px;overflow:hidden}.cv-name{margin:0 0 4px;letter-spacing:-.02em;font-size:1.95em;font-weight:800;word-break:break-word;overflow-wrap:anywhere}.cv-name-classic{text-align:center}.cv-name-classic,.cv-name-minimal{color:#111;font-size:2.1em;word-break:break-word}.cv-name-minimal{font-weight:900}.cv-name-sidebar{color:#fff;font-size:1.5em;font-weight:800;margin:0 0 4px;word-break:break-word}.cv-jobtitle{font-size:1.05em;font-weight:500;color:#555;margin-bottom:10px;word-break:break-word;overflow-wrap:anywhere}.cv-jobtitle-classic{font-size:.98em;color:#777;text-align:center;margin-bottom:8px;word-break:break-word}.cv-jobtitle-sidebar{color:rgba(255,255,255,.8);font-size:.9em;margin-bottom:16px;word-break:break-word}.cv-contacts{display:flex;flex-wrap:wrap;gap:12px;font-size:.86em;color:#555}.cv-contacts-classic{justify-content:center}.cv-classic-header{text-align:center;padding-bottom:16px;margin-bottom:20px;position:relative}.cv-minimal-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #e5e7eb}.cv-minimal-left{display:flex;align-items:center;gap:14px}.cv-minimal-right{text-align:right}.cv-contacts-minimal{display:flex;flex-direction:column;gap:2px;font-size:.83em;color:#888;margin-top:4px}.cv-sidebar-left{width:220px;min-height:1123px;flex-shrink:0;padding:36px 20px;box-sizing:border-box}.cv-sidebar-main{flex:1;padding:36px 32px;box-sizing:border-box;overflow:hidden}.cv-contacts-sidebar{display:flex;flex-direction:column;gap:4px;font-size:.79em;color:rgba(255,255,255,.75);margin-bottom:24px}.cv-sidebar-section{margin-bottom:20px}.cv-sidebar-section-title{font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6);margin-bottom:8px}.cv-sidebar-skill{font-size:.83em;color:rgba(255,255,255,.85);padding:3px 0;border-bottom:1px solid rgba(255,255,255,.1)}.cv-section{margin-bottom:20px}.cv-summary{font-size:.9em;color:#444;line-height:1.65;margin:0}.cv-section-heading,.cv-section-heading-classic,.cv-section-heading-minimal,[data-section-id]>:first-child{break-after:avoid;page-break-after:avoid}[data-section-id]>*{break-inside:avoid;page-break-inside:avoid}[data-section-id]>:has(ol>li:nth-child(5)),[data-section-id]>:has(ul>li:nth-child(5)){break-inside:auto;page-break-inside:auto}[data-cv-entries]{break-inside:auto;page-break-inside:auto}[data-cv-entries]>*{break-inside:avoid;page-break-inside:avoid}[data-cv-entries]>:has(ol>li:nth-child(5)),[data-cv-entries]>:has(ul>li:nth-child(5)){break-inside:auto;page-break-inside:auto}[data-section-id] ol,[data-section-id] ul{break-inside:auto;page-break-inside:auto}.cv-section-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:.98em;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.cv-section-line{flex:1;height:2px;border-radius:1px;opacity:.3}.cv-section-heading-classic{margin-bottom:10px}.cv-section-heading-classic span{font-size:.83em;font-weight:700;letter-spacing:.1em;color:#333}.cv-section-heading-classic .cv-section-line{height:1px;background:#333!important;opacity:.5}.cv-section-heading-minimal{font-size:.9em;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;padding-bottom:4px;border-bottom:1.5px solid;opacity:.7}[dir=rtl] .cv-section-heading,[dir=rtl] .cv-section-heading span,[dir=rtl] .cv-section-heading-classic span,[dir=rtl] .cv-section-heading-minimal,[dir=rtl] .cv-sidebar-section-title{letter-spacing:normal;text-transform:none}.cv-entry{margin-bottom:14px}.cv-entry:last-child{margin-bottom:0}.cv-entry-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}.cv-entry-title{font-size:.94em;font-weight:700;color:#111}.cv-entry-sub{font-size:.86em;font-weight:500;margin-top:1px}.cv-entry-date{font-size:.83em;color:#888;flex-shrink:0;white-space:nowrap}.cv-entry-gpa{font-size:.83em;color:#888;margin-top:2px}.cv-bullets{padding-left:14px;margin:4px 0 0;display:flex;flex-direction:column;gap:3px}.cv-bullets li{font-size:.86em;color:#333;line-height:1.55}.cv-skills{display:flex;flex-wrap:wrap;gap:6px}.cv-skill-tag{padding:3px 10px;border-radius:20px;border:1.5px solid;font-size:.83em;font-weight:500;background:transparent;word-break:break-word;overflow-wrap:anywhere;max-width:100%}.cv-skills-inline{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.cv-languages{display:flex;flex-direction:column;gap:4px}.cv-lang-item{font-size:.9em;color:#444}.cv-header-photo{width:76px;height:76px;flex-shrink:0}.cv-header-photo,.cv-header-photo-classic{border-radius:50%;object-fit:cover;border:2px solid #e5e7eb}.cv-header-photo-classic{width:72px;height:72px;display:block;margin:0 auto 10px}.cv-header-photo-minimal{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0;align-self:center;border:2px solid #e5e7eb}