@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}.page{--bg-primary: #fafafa;--bg-secondary: #f4f4f5;--bg-card: #ffffff;--text-primary: #18181b;--text-secondary: #3f3f46;--text-muted: #52525b;--text-faint: #71717a;--accent: #18181b;--accent-muted: #3f3f46;--accent-bg: #f4f4f5;--accent-border: #e4e4e7;--border: #e4e4e7;--border-muted: #f4f4f5;--dot-border: #d4d4d8;--font-body: "Inter", sans-serif;--font-heading: "Inter", sans-serif;--border-radius: 0;--card-shadow: none;--grain-opacity: 0}body{font-family:var(--font-body)}.page{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);transition:background-color .3s,color .3s}.page ::selection{background-color:var(--accent);color:var(--bg-primary)}.grain-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:var(--grain-opacity);z-index:50;background-image:url("data:image/svg+xml,%3Csvg viewBox=%220 0 256 256%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cfilter id=%22noise%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.9%22 numOctaves=%224%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22100%25%22 height=%22100%25%22 filter=%22url(%23noise)%22/%3E%3C/svg%3E")}.container{max-width:56rem;margin:0 auto;padding:4rem 1.5rem;position:relative}.header{margin-bottom:5rem;opacity:0;transform:translateY(2rem);transition:all .7s ease-out}.header.visible{opacity:1;transform:translateY(0)}.header-content{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}.name{font-size:3rem;font-weight:700;letter-spacing:-.025em;color:var(--text-primary);margin-bottom:.5rem;font-family:var(--font-heading)}@media (min-width: 768px){.name{font-size:3.75rem}}.title{font-size:1.25rem;color:var(--accent);font-weight:500}.contact-info{font-size:.875rem;color:var(--text-muted);text-align:left;display:flex;flex-direction:column;gap:.25rem}@media (min-width: 768px){.contact-info{text-align:right}}.contact-link{color:var(--text-secondary);cursor:pointer;transition:color .2s}.contact-link:hover{color:var(--accent)}.summary{margin-top:2.5rem;font-size:1.125rem;color:var(--text-secondary);line-height:1.75;max-width:42rem;border-left:2px solid var(--accent-border);padding-left:1.5rem}.section{margin-bottom:5rem;opacity:0;transform:translateY(2rem);transition:all .7s ease-out}.section.visible{opacity:1;transform:translateY(0)}.section-delay-1{transition-delay:.1s}.section-delay-2{transition-delay:.2s}.section-delay-3{transition-delay:.3s}.section-delay-4{transition-delay:.4s}.section-delay-5{transition-delay:.5s}.section-delay-6{transition-delay:.6s}.section-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.3em;color:var(--text-faint);margin-bottom:2rem;display:flex;align-items:center;gap:1rem;font-weight:400}.section-line{width:2rem;height:1px;background-color:var(--border)}.cert-list{display:flex;flex-wrap:wrap;gap:.75rem}.cert-tag{padding:.5rem 1rem;background-color:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent);font-size:.875rem;transition:all .2s;cursor:default;border-radius:var(--border-radius)}.cert-tag:hover{background-color:var(--accent-bg);border-color:var(--accent)}.skills-grid{display:grid;gap:2rem}@media (min-width: 768px){.skills-grid{grid-template-columns:repeat(2,1fr)}}.skill-category-title{font-size:.875rem;color:var(--text-muted);margin-bottom:.75rem;text-transform:capitalize;font-weight:400}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{padding:.375rem .75rem;background-color:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);font-size:.875rem;transition:all .2s;cursor:default;border-radius:var(--border-radius)}.skill-tag:hover{border-color:var(--accent-border);color:var(--accent)}.experience-list{display:flex;flex-direction:column;gap:3rem}.experience-item{position:relative;padding-left:1.5rem;border-left:1px solid var(--border);transition:border-color .2s}.experience-item:hover{border-left-color:var(--accent-border)}.experience-item:hover .timeline-dot{border-color:var(--accent)}.timeline-dot{position:absolute;left:-.375rem;top:.375rem;width:.75rem;height:.75rem;background-color:var(--bg-primary);border:2px solid var(--dot-border);transition:border-color .2s;border-radius:var(--border-radius)}.experience-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.experience-role{font-size:1.125rem;color:var(--text-primary);font-weight:500;font-family:var(--font-heading)}.experience-period{font-size:.875rem;color:var(--text-faint)}.experience-company{color:var(--accent-muted);font-size:.875rem;margin-bottom:.75rem}.experience-description{color:var(--text-secondary);margin-bottom:1rem;line-height:1.75}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{font-size:.75rem;color:var(--text-faint);border:1px solid var(--border);padding:.25rem .5rem;border-radius:var(--border-radius)}.education-list{display:flex;flex-direction:column;gap:2rem}.education-item{cursor:default}.education-item:hover .education-degree{color:var(--accent)}.education-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.education-degree{font-size:1.125rem;color:var(--text-primary);font-weight:500;transition:color .2s;font-family:var(--font-heading)}.education-period{font-size:.875rem;color:var(--text-faint)}.education-institution{color:var(--accent-muted);font-size:.875rem;margin-bottom:.5rem}.education-details{color:var(--text-muted);font-size:.875rem}.projects-grid{display:grid;gap:1.5rem}@media (min-width: 768px){.projects-grid{grid-template-columns:repeat(2,1fr)}}.project-card{padding:1.5rem;background-color:var(--bg-card);border:1px solid var(--border);transition:all .2s;cursor:pointer;border-radius:var(--border-radius);box-shadow:var(--card-shadow)}.project-card:hover{border-color:var(--accent-border);transform:translateY(-.25rem)}.project-card:hover .project-name,.project-card:hover .project-icon{color:var(--accent)}.project-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}.project-name{color:var(--text-primary);font-weight:500;transition:color .2s;font-family:var(--font-heading)}.project-icon{width:1rem;height:1rem;color:var(--dot-border);transition:color .2s}.project-description{color:var(--text-muted);font-size:.875rem;margin-bottom:1rem;line-height:1.75}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem}.project-tech-tag{font-size:.75rem;color:var(--text-faint)}.footer{padding-top:3rem;border-top:1px solid var(--border-muted);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;font-size:.875rem;color:var(--text-faint);opacity:0;transform:translateY(2rem);transition:all .7s ease-out}.footer.visible{opacity:1;transform:translateY(0)}.copyright{color:var(--text-faint)}.footer-links{display:flex;gap:1.5rem}.footer-link{color:var(--text-faint);text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--accent)}
