@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:root{--c-ink: #0c1220;--c-body: #334155;--c-subtle: #64748b;--c-faint: #94a3b8;--c-accent: #2563eb;--c-accent-soft: rgba(37, 99, 235, .08);--c-border: #e2e8f0;--c-border-soft: #f1f5f9;--c-surface: #ffffff;--c-page: #f0f2f5;--c-chip: #f1f5f9;--c-chip-hover: #e2e8f0;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--ease: cubic-bezier(.4, 0, .2, 1);--dur: .18s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}::selection{background:var(--c-accent-soft);color:var(--c-accent)}html{font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font);color:var(--c-ink);background:var(--c-page);line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:none}.resume{max-width:780px;margin:56px auto;background:var(--c-surface);border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px #0000000a,0 1px 2px #0000000a,0 4px 8px #0000000a,0 16px 32px #0000000f;animation:fadeIn .5s var(--ease) both}.resume:before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--c-accent) 0%,#7c3aed 50%,var(--c-accent) 100%);background-size:200% 100%}header{padding:40px 44px 28px}header .name{font-size:1.75rem;font-weight:760;letter-spacing:-.8px;color:var(--c-ink);line-height:1.15;margin:0 0 4px}header .title{font-size:.78rem;font-weight:420;color:var(--c-subtle);letter-spacing:.4px;margin:0 0 20px}header .contact-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px;font-size:.76rem}header .contact-item{display:inline-flex;align-items:center;gap:5px;color:var(--c-body);transition:color var(--dur) var(--ease)}header .contact-item:hover{color:var(--c-accent)}header .contact-item svg{width:13px;height:13px;flex-shrink:0;opacity:.4;transition:opacity var(--dur) var(--ease)}header .contact-item:hover svg{opacity:.75}.download-btn{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:580;color:var(--c-accent);border:1.5px solid var(--c-accent);border-radius:100px;padding:4px 13px 4px 11px;letter-spacing:.5px;text-transform:uppercase;transition:all var(--dur) var(--ease);cursor:pointer;background:transparent}.download-btn:hover{background:var(--c-accent);color:#fff;box-shadow:0 2px 8px #2563eb4d;transform:translateY(-1px)}.download-btn svg{width:11px;height:11px;opacity:1!important}main{padding:0 44px 36px}.section-divider{height:1px;background:var(--c-border);margin:0 0 28px;border:none}.summary{padding:28px 0;border-bottom:1px solid var(--c-border-soft);margin-bottom:28px}.summary p{font-size:.86rem;color:var(--c-body);line-height:1.8;font-weight:400}.section{margin-bottom:36px}.section:last-child{margin-bottom:0}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.section-heading h2{font-size:.66rem;font-weight:650;text-transform:uppercase;letter-spacing:2.5px;color:var(--c-ink);white-space:nowrap}.section-heading:after{content:"";flex:1;height:1px;background:var(--c-border)}.skills-compact{display:flex;flex-direction:column;gap:8px}.skill-row{display:flex;align-items:center;gap:14px;padding:4px 0}.skill-cat{font-size:.62rem;font-weight:620;text-transform:uppercase;letter-spacing:1px;color:var(--c-faint);min-width:100px;flex-shrink:0;text-align:right}.skill-tags{display:flex;flex-wrap:wrap;gap:5px}.skill-pill{font-size:.7rem;font-weight:480;color:var(--c-body);background:var(--c-chip);padding:3px 10px;border-radius:4px;letter-spacing:.1px;transition:all var(--dur) var(--ease);cursor:default;border:1px solid transparent}.skill-pill:hover{background:var(--c-accent-soft);color:var(--c-accent);border-color:#2563eb26}.experience-item{position:relative;margin-bottom:24px;padding-bottom:24px;padding-left:16px;border-left:2px solid var(--c-border-soft);border-bottom:none}.experience-item:before{content:"";position:absolute;left:-5px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--c-surface);border:2px solid var(--c-faint);transition:border-color var(--dur) var(--ease)}.experience-item:first-child:before{border-color:var(--c-accent);background:var(--c-accent)}.experience-item:last-child{margin-bottom:0;padding-bottom:8px;border-left-color:transparent}.experience-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-bottom:8px}.experience-left{display:flex;align-items:baseline;flex-wrap:wrap}.experience-role{font-weight:620;font-size:.86rem;color:var(--c-ink)}.experience-sep{margin:0 6px;color:var(--c-faint);font-weight:300}.experience-company{font-weight:420;font-size:.86rem;color:var(--c-subtle);transition:color var(--dur) var(--ease)}.experience-company:hover{color:var(--c-accent)}.experience-period{font-size:.72rem;color:var(--c-faint);font-weight:460;white-space:nowrap;letter-spacing:.3px}.experience-bullets{list-style:none;padding:0;margin:0 0 8px}.experience-bullets li{position:relative;padding-left:12px;font-size:.8rem;color:var(--c-body);line-height:1.7;margin-bottom:1px}.experience-bullets li:before{content:"";position:absolute;left:0;top:10px;width:3px;height:3px;border-radius:50%;background:var(--c-faint)}.experience-stack{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.experience-stack .tag{font-size:.62rem;font-weight:500;color:var(--c-faint);background:var(--c-chip);padding:2px 7px;border-radius:3px;letter-spacing:.15px;transition:all var(--dur) var(--ease)}.experience-stack .tag:hover{color:var(--c-body);background:var(--c-chip-hover)}.education-item{margin:0}.education-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-bottom:3px}.education-left{display:flex;align-items:baseline}.education-degree{font-weight:600;font-size:.86rem;color:var(--c-ink)}.education-sep{margin:0 6px;color:var(--c-faint);font-weight:300}.education-school{font-weight:420;font-size:.86rem;color:var(--c-subtle)}.education-period{font-size:.72rem;color:var(--c-faint);font-weight:460;white-space:nowrap;letter-spacing:.3px}.education-detail{font-size:.78rem;color:var(--c-faint);line-height:1.6;margin:0}footer{text-align:center;padding:14px 44px;font-size:.64rem;color:var(--c-faint);border-top:1px solid var(--c-border-soft);letter-spacing:.3px}footer p{margin:0}footer a{color:var(--c-faint);transition:color var(--dur) var(--ease)}footer a:hover{color:var(--c-accent)}@media print{html{font-size:12px}body{background:#fff}.resume{margin:0;box-shadow:none;border-radius:0;max-width:100%;animation:none}.resume:before{display:none}header{padding:18px 24px 14px}main{padding:0 24px 16px}footer{display:none}.no-print,.no-print *,.download-btn{display:none!important}.summary{padding:14px 0;margin-bottom:14px}.section{margin-bottom:14px}.section-heading{margin-bottom:12px}.experience-item{margin-bottom:10px;padding-bottom:10px;break-inside:avoid;page-break-inside:avoid;border-left:1.5px solid var(--c-border)}.experience-item:before{display:none}a{color:var(--c-ink)!important}.experience-item:last-child{border-left-color:transparent}.experience-stack .tag,.skill-pill{border:1px solid var(--c-border);background:transparent}}@media (max-width: 680px){.resume{margin:0;border-radius:0;box-shadow:none;min-height:100dvh}header{padding:32px 20px 22px}main{padding:0 20px 28px}footer{padding:14px 20px}header .name{font-size:1.45rem}header .contact-row{flex-direction:column;align-items:flex-start;gap:6px}.skill-cat{min-width:70px;text-align:left}.skill-row{flex-direction:column;gap:6px;align-items:flex-start}.experience-header,.education-header{flex-direction:column}}
