:root{--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.333rem;--text-2xl: 1.777rem;--text-3xl: 2.369rem;--text-4xl: 3.157rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--primary-50: #f0f7f7;--primary-100: #dceae8;--primary-200: #badcd8;--primary-300: #8ec8c3;--primary-400: #5eafa9;--primary-500: #3d9690;--primary-600: #2d7471;--primary-700: #235a58;--primary-800: #1c4744;--primary-900: #173736;--neutral-50: #f9fafb;--neutral-100: #f2f4f7;--neutral-200: #e5e8ed;--neutral-300: #d1d6df;--neutral-400: #9ba5b7;--neutral-500: #667085;--neutral-600: #4d5871;--neutral-700: #384259;--neutral-800: #1e2a3b;--neutral-900: #121926;--accent-coral: #ff7a5c;--accent-gold: #f4b942;--accent-blue: #4ea5d9;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--line-tight: 1.2;--line-snug: 1.375;--line-normal: 1.5;--line-relaxed: 1.75;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 2px 6px rgba(16, 24, 40, .08);--shadow-lg: 0 8px 16px rgba(16, 24, 40, .1);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-full: 9999px;font-family:var(--font-sans);line-height:var(--line-normal);font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light;color:var(--neutral-800);background-color:var(--neutral-50)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0;min-width:320px;min-height:100vh;background-color:var(--neutral-100);color:var(--neutral-800)}a{font-weight:500;color:var(--primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-500);text-decoration:underline}h1,h2,h3,h4,h5,h6{margin-top:0;font-family:var(--font-display);font-weight:600;line-height:var(--line-tight);color:var(--neutral-900)}h1{font-size:var(--text-4xl);letter-spacing:-.02em}h2{font-size:var(--text-3xl);letter-spacing:-.01em}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}button{border-radius:var(--radius-md);border:1px solid transparent;padding:var(--space-2) var(--space-4);font-size:var(--text-base);font-weight:500;font-family:inherit;background-color:var(--primary-500);color:#fff;cursor:pointer;transition:background-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal)}button:hover{background-color:var(--primary-600);transform:translateY(-2px);box-shadow:var(--shadow-md)}button:focus,button:focus-visible{outline:2px solid var(--primary-300);outline-offset:2px}.text-center{text-align:center}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 var(--space-4)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-fadeIn{animation:fadeIn .5s ease forwards}.animate-slideUp{animation:slideUp .5s ease forwards}#root{max-width:1000px;margin:0 auto;padding:var(--space-8);background-color:var(--neutral-50);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg)}header{position:relative;margin-bottom:var(--space-12);padding-bottom:var(--space-6);border-bottom:1px solid var(--neutral-200);opacity:0;animation:fadeIn .6s ease-out forwards}header img.profile{position:absolute;top:var(--space-2);left:var(--space-2);width:96px;height:96px;border-radius:var(--radius-full);border:3px solid var(--primary-200);box-shadow:var(--shadow-md);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}header img.profile:hover{transform:scale(1.05);box-shadow:var(--shadow-lg)}header h1{margin:var(--space-2) 0;color:var(--neutral-900);font-weight:700;padding-left:120px}header p{font-size:var(--text-lg);color:var(--neutral-600);padding-left:120px;margin-top:var(--space-1)}main{text-align:left;opacity:0;animation:slideUp .8s ease-out .2s forwards}main section{margin-bottom:var(--space-12);padding:var(--space-6);background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}main section:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}main section h2{font-size:var(--text-2xl);margin-bottom:var(--space-4);color:var(--primary-700);position:relative;padding-bottom:var(--space-2);border-bottom:2px solid var(--primary-200)}main section p{font-size:var(--text-base);line-height:var(--line-relaxed);color:var(--neutral-700);max-width:65ch}main section#quick-links{background-color:var(--primary-50)}main ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-6);margin-top:var(--space-4)}main ul li{position:relative}main ul li a{display:inline-flex;align-items:center;padding:var(--space-3) var(--space-4);background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);font-weight:500;font-size:var(--text-base);color:var(--primary-600);text-decoration:none;transition:all var(--transition-normal)}main ul li a:hover{color:var(--primary-500);background-color:var(--primary-100);box-shadow:var(--shadow-md);transform:translateY(-2px);text-decoration:none}main section#about{border-left:4px solid var(--primary-400)}footer{margin-top:var(--space-8);padding:var(--space-4) 0;background-color:var(--neutral-800);background:linear-gradient(to right,var(--primary-800),var(--neutral-800));color:#fff;text-align:center;border-radius:0 0 var(--radius-lg) var(--radius-lg);opacity:0;animation:fadeIn .6s ease-out .8s forwards}footer p{margin:0;font-size:var(--text-sm)}@media (max-width: 768px){#root{padding:var(--space-4)}header{text-align:center;padding-top:110px}header img.profile{position:static;display:block;margin:0 auto var(--space-4)}header h1,header p{padding-left:0}main ul{justify-content:center}}@media (max-width: 480px){main section{padding:var(--space-4)}main ul{flex-direction:column;align-items:stretch;gap:var(--space-3)}main ul li a{display:block;text-align:center}}.resume-page{max-width:900px;margin:0 auto;padding:var(--space-8);color:var(--neutral-800);line-height:var(--line-normal);background-color:var(--neutral-50);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);opacity:0;animation:fadeIn .6s ease-out forwards}.resume-page ul{display:block;list-style-type:disc;margin-block-start:1em;margin-block-end:1em;margin-inline-start:0px;margin-inline-end:0px;padding-inline-start:40px}.resume-page li{display:list-item;text-align:-webkit-match-parent}.resume-page header{margin-bottom:var(--space-8);display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--primary-200);padding-bottom:var(--space-4);position:relative}.resume-page header:after{content:"";position:absolute;bottom:-2px;left:0;width:100px;height:2px;background-color:var(--primary-500)}.name-section{flex:1;display:flex;align-items:center}.nav-section{display:flex;align-items:center;gap:var(--space-6)}.resume-page h1{margin:0;font-size:var(--text-3xl);color:var(--neutral-900);text-align:left;font-weight:700;letter-spacing:-.02em}.subtle-download{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--primary-600);text-decoration:none;font-size:var(--text-sm);transition:all var(--transition-normal);border:none;background:var(--primary-50);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-family:inherit;font-weight:500;box-shadow:var(--shadow-sm)}.subtle-download:hover{color:var(--primary-500);background-color:var(--primary-100);box-shadow:var(--shadow-md);transform:translateY(-2px)}.download-icon{font-size:var(--text-sm)}.download-text{font-weight:500}.back-link{color:var(--neutral-600);text-decoration:none;font-size:var(--text-sm);transition:all var(--transition-normal);background-color:var(--neutral-100);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.back-link:hover{color:var(--neutral-900);background-color:var(--neutral-200);box-shadow:var(--shadow-md);transform:translateY(-2px)}.resume-page h2{color:var(--primary-700);margin:var(--space-6) 0 var(--space-4);border-bottom:1px solid var(--neutral-200);padding-bottom:var(--space-2);font-size:var(--text-2xl);letter-spacing:-.01em}.resume-page h3{margin:var(--space-4) 0 var(--space-2);color:var(--neutral-900);font-size:var(--text-xl)}.resume-summary{background-color:#fff;padding:var(--space-6);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--space-8);border-left:4px solid var(--primary-400);opacity:0;animation:slideUp .6s ease-out .2s forwards}.resume-summary p{color:var(--neutral-700);line-height:var(--line-relaxed);max-width:65ch}.resume-section{margin-bottom:var(--space-8);background-color:#fff;padding:var(--space-6);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);opacity:0;animation:slideUp .6s ease-out .4s forwards}.experience-item{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--neutral-200);transition:transform var(--transition-normal)}.experience-item:hover{transform:translateY(-2px)}.experience-item h3{font-size:var(--text-xl);margin-bottom:var(--space-1);color:var(--neutral-900);font-weight:600}.experience-item:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.company,.institution{font-style:italic;margin:var(--space-1) 0;color:var(--neutral-600);font-size:var(--text-base);display:inline-block;background-color:var(--primary-50);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm)}.degree-detail{margin:var(--space-1) 0;color:var(--neutral-800);font-weight:500;font-size:var(--text-base)}.location{margin:var(--space-1) 0;color:var(--neutral-600);font-size:var(--text-sm)}.year{color:var(--neutral-500);margin-top:0;margin-bottom:var(--space-3);font-size:var(--text-sm)}.competencies-container{display:flex;flex-wrap:wrap;gap:var(--space-6);margin-top:var(--space-4)}.competencies-list{flex:1;min-width:250px;margin:0;padding-left:var(--space-6);list-style-position:outside}.competencies-list li{margin-bottom:var(--space-3);line-height:var(--line-normal);position:relative;display:list-item;list-style-type:disc;text-align:left;color:var(--neutral-700);padding-left:var(--space-2)}.competencies-list li::marker{color:var(--primary-500)}.experience-list{padding-left:var(--space-6)!important;margin-top:var(--space-2)!important;list-style-type:disc!important;display:block!important;width:100%!important}.experience-list li{margin-bottom:var(--space-3)!important;line-height:var(--line-relaxed)!important;text-align:left!important;display:list-item!important;width:100%!important;position:relative!important;float:none!important;clear:both!important;color:var(--neutral-700)}.experience-list li::marker{color:var(--primary-500)}@media (max-width: 768px){.resume-page{padding:var(--space-4)}.resume-page header{flex-direction:column;align-items:flex-start}.name-section{margin-bottom:var(--space-3);width:100%}.nav-section{width:100%;justify-content:flex-start;gap:var(--space-3);margin-top:var(--space-2)}.resume-section,.resume-summary{padding:var(--space-4)}}@media (max-width: 480px){.resume-page h1{font-size:var(--text-2xl)}.resume-page h2{font-size:var(--text-xl)}.nav-section{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.nav-section>*{width:100%;text-align:center}.competencies-container{flex-direction:column;gap:var(--space-2)}.competencies-list{width:100%}}.blog-index{max-width:900px;margin:0 auto;padding:var(--space-8);background-color:var(--neutral-50);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);opacity:0;animation:fadeIn .6s ease-out forwards}.blog-index header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);padding-bottom:var(--space-4);border-bottom:2px solid var(--primary-200);position:relative}.blog-index header:after{content:"";position:absolute;bottom:-2px;left:0;width:100px;height:2px;background-color:var(--primary-500)}.blog-index h1{margin:0;font-size:var(--text-4xl);color:var(--neutral-900);font-weight:600}.back-link{color:var(--primary-600);text-decoration:none;font-weight:500;transition:color var(--transition-normal);padding:var(--space-2) var(--space-4);background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.back-link:hover{color:var(--primary-500);background-color:var(--primary-50);box-shadow:var(--shadow-md);transform:translateY(-2px)}.posts-list{display:flex;flex-direction:column;gap:var(--space-8)}.post-preview{padding:var(--space-6);background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal);border-left:4px solid var(--primary-400)}.post-preview:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.post-preview h2{margin:0 0 var(--space-2) 0;font-size:var(--text-2xl);line-height:var(--line-tight)}.post-preview h2 a{color:var(--neutral-900);text-decoration:none;transition:color var(--transition-normal)}.post-preview h2 a:hover{color:var(--primary-600)}.post-date{display:block;font-size:var(--text-sm);color:var(--neutral-500);margin-bottom:var(--space-4);font-weight:500}.post-excerpt{color:var(--neutral-700);line-height:var(--line-relaxed);margin:var(--space-4) 0;max-width:65ch}.read-more{color:var(--primary-600);text-decoration:none;font-weight:500;transition:color var(--transition-normal);display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background-color:var(--primary-50)}.read-more:hover{color:var(--primary-500);background-color:var(--primary-100);text-decoration:none}@media (max-width: 768px){.blog-index{padding:var(--space-4)}.blog-index header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.blog-index h1{font-size:var(--text-3xl)}.post-preview h2{font-size:var(--text-xl)}.post-preview{padding:var(--space-4)}}.blog-post{max-width:900px;margin:0 auto;padding:var(--space-8);background-color:var(--neutral-50);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);opacity:0;animation:fadeIn .6s ease-out forwards}.blog-post header{margin-bottom:var(--space-6);display:flex;justify-content:space-between;align-items:center}.blog-post article{background-color:#fff;padding:var(--space-8);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--space-6)}.blog-post h1{font-size:var(--text-4xl);color:var(--neutral-900);margin:0 0 var(--space-2) 0;line-height:var(--line-tight);font-weight:600}.post-date{display:block;font-size:var(--text-sm);color:var(--neutral-500);margin-bottom:var(--space-8);font-weight:500;padding-bottom:var(--space-4);border-bottom:2px solid var(--primary-200)}.back-link,.home-link,.back-link-footer{color:var(--primary-600);text-decoration:none;font-weight:500;transition:all var(--transition-normal);padding:var(--space-2) var(--space-4);background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:inline-block}.back-link:hover,.home-link:hover,.back-link-footer:hover{color:var(--primary-500);background-color:var(--primary-50);box-shadow:var(--shadow-md);transform:translateY(-2px);text-decoration:none}.post-content{line-height:var(--line-relaxed);color:var(--neutral-800);max-width:65ch}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin-top:var(--space-8);margin-bottom:var(--space-4);color:var(--neutral-900);font-weight:600;line-height:var(--line-tight)}.post-content h1{font-size:var(--text-3xl)}.post-content h2{font-size:var(--text-2xl);padding-bottom:var(--space-2);border-bottom:2px solid var(--primary-200)}.post-content h3{font-size:var(--text-xl)}.post-content h4{font-size:var(--text-lg)}.post-content p{margin:var(--space-4) 0;line-height:var(--line-relaxed)}.post-content a{color:var(--primary-600);text-decoration:none;transition:color var(--transition-normal);border-bottom:1px solid var(--primary-200)}.post-content a:hover{color:var(--primary-500);border-bottom-color:var(--primary-500)}.post-content ul,.post-content ol{margin:var(--space-4) 0;padding-left:var(--space-8)}.post-content li{margin:var(--space-2) 0;line-height:var(--line-relaxed)}.post-content blockquote{margin:var(--space-6) 0;padding:var(--space-4) var(--space-6);border-left:4px solid var(--primary-400);background-color:var(--primary-50);font-style:italic;border-radius:var(--radius-md)}.post-content code{background-color:var(--neutral-100);color:var(--neutral-800);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:Courier New,Monaco,monospace;font-size:var(--text-sm)}.post-content pre{background-color:var(--neutral-800);color:var(--neutral-100);padding:var(--space-6);border-radius:var(--radius-md);overflow-x:auto;margin:var(--space-6) 0}.post-content pre code{background-color:transparent;color:inherit;padding:0}.post-content hr{border:none;border-top:2px solid var(--neutral-200);margin:var(--space-8) 0}.post-content img{max-width:100%;height:auto;margin:var(--space-6) 0;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}@media (max-width: 768px){.blog-post{padding:var(--space-4)}.blog-post article{padding:var(--space-4)}.blog-post h1{font-size:var(--text-3xl)}.post-content{max-width:100%}.post-content h1{font-size:var(--text-2xl)}.post-content h2{font-size:var(--text-xl)}.post-content h3{font-size:var(--text-lg)}}.contact-page{max-width:900px;margin:0 auto;padding:var(--space-8);background-color:var(--neutral-50);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);opacity:0;animation:fadeIn .6s ease-out forwards}.contact-page header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);padding-bottom:var(--space-4);border-bottom:2px solid var(--primary-200);position:relative}.contact-page header:after{content:"";position:absolute;bottom:-2px;left:0;width:100px;height:2px;background-color:var(--primary-500)}.contact-page h1{margin:0;font-size:var(--text-4xl);color:var(--neutral-900);font-weight:600}.back-link{color:var(--primary-600);text-decoration:none;font-weight:500;transition:all var(--transition-normal);padding:var(--space-2) var(--space-4);background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.back-link:hover{color:var(--primary-500);background-color:var(--primary-50);box-shadow:var(--shadow-md);transform:translateY(-2px);text-decoration:none}.contact-intro{margin-bottom:var(--space-8);padding:var(--space-6);background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border-left:4px solid var(--primary-400)}.contact-intro p{font-size:var(--text-lg);color:var(--neutral-700);line-height:var(--line-relaxed);margin:0;max-width:65ch}.contact-form{background-color:#fff;padding:var(--space-8);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.form-group{margin-bottom:var(--space-6)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:500;color:var(--neutral-800);font-size:var(--text-base)}.required{color:var(--accent-coral)}.form-group input,.form-group textarea{width:100%;padding:var(--space-3);border:2px solid var(--neutral-300);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;transition:border-color var(--transition-normal),box-shadow var(--transition-normal);background-color:var(--neutral-50)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-500);background-color:#fff;box-shadow:0 0 0 3px var(--primary-100)}.form-group input.error,.form-group textarea.error{border-color:var(--accent-coral)}.error-message{display:block;margin-top:var(--space-2);color:var(--accent-coral);font-size:var(--text-sm);font-weight:500}.form-error{padding:var(--space-4);margin-bottom:var(--space-4);background-color:#fee;border:1px solid var(--accent-coral);border-radius:var(--radius-md);color:var(--accent-coral);font-weight:500}.submit-button{background-color:var(--primary-500);color:#fff;padding:var(--space-3) var(--space-8);border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:500;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.submit-button:hover{background-color:var(--primary-600);transform:translateY(-2px);box-shadow:var(--shadow-md)}.submit-button:active{transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.success-message{text-align:center;padding:var(--space-12);background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-top:var(--space-8);border:2px solid var(--primary-200)}.success-message h2{color:var(--primary-600);margin-bottom:var(--space-4);font-size:var(--text-3xl)}.success-message p{color:var(--neutral-700);font-size:var(--text-lg);margin-bottom:var(--space-8);line-height:var(--line-relaxed)}.btn-home{display:inline-block;background-color:var(--primary-500);color:#fff;padding:var(--space-3) var(--space-8);text-decoration:none;border-radius:var(--radius-md);font-weight:500;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.btn-home:hover{background-color:var(--primary-600);transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}@media (max-width: 768px){.contact-page{padding:var(--space-4)}.contact-page header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.contact-page h1{font-size:var(--text-3xl)}.contact-form{padding:var(--space-6)}.contact-intro{padding:var(--space-4)}}
